:root{--primary-50:#f0f4f8;--primary-100:#d9e2ec;--primary-200:#bcccdc;--primary-300:#9fb3c8;--primary-400:#829ab1;--primary-500:#627d98;--primary-600:#486581;--primary-700:#334e68;--primary-800:#243b53;--primary-900:#1a2f44;--accent-50:#fce8ec;--accent-100:#f8d4db;--accent-400:#ec7a93;--accent-500:#d4627a;--accent-600:#b8506a;--accent-700:#9a3d55;--bg-primary:#f0f4f8;--bg-secondary:#fff;--bg-tertiary:#d9e2ec;--bg-header:#fffffff7;--bg-overlay:#ffffffd9;--bg-overlay-light:#ffffff80;--text-primary:#1a2f44;--text-secondary:#486581;--text-muted:#829ab1;--border-color:#d9e2ec;--border-light:#e8eff5;--shadow-color:#243b5314;--shadow-hover:#243b5326;--accent-color:#627d98;--accent-hover:#486581;--accent-secondary:#d4627a;--error-bg:#fce8ec;--error-text:#b8506a;--success-bg:#dcfce7;--success-text:#16a34a;--card-bg:#fff;--input-bg:#fff;--table-hover:#f0f4f8;--footer-bg:#1a2f44}html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f4f8;background-color:var(--bg-primary);color:#1a2f44;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh;transition:background-color .3s ease,color .3s ease}#root,body{display:flex;flex-direction:column}#root{flex:1 1}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.container{margin:0 auto;max-width:1200px}.btn{background-color:#627d98;background-color:var(--accent-color);border-radius:6px;color:#fff;font-size:16px;font-weight:600;padding:12px 24px;transition:background-color .3s}.btn:hover{background-color:#486581;background-color:var(--accent-hover)}.btn:disabled{background-color:#829ab1;background-color:var(--text-muted)}.card{background:#fff;background:var(--card-bg);box-shadow:0 2px 4px #243b5314;margin-bottom:20px;padding:20px;transition:background-color .3s ease,box-shadow .3s ease}.activity-card{border-left:4px solid #627d98;border-left:4px solid var(--accent-color);transition:transform .2s,background-color .3s ease}.activity-card:hover{box-shadow:0 4px 8px #243b5326;box-shadow:0 4px 8px var(--shadow-hover);transform:translateY(-2px)}.loading{color:#486581;color:var(--text-secondary);padding:40px;text-align:center}.error{background-color:#fce8ec;background-color:var(--error-bg);border-radius:4px;color:#b8506a;color:var(--error-text);margin:10px 0;padding:12px}input,select,textarea{background-color:#fff;background-color:var(--input-bg);border-color:#d9e2ec;border-color:var(--border-color);color:#1a2f44;color:var(--text-primary);font-size:16px!important;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.theme-toggle{align-items:center;background:#ffffffd9;background:var(--bg-overlay);border:1px solid #d9e2ec;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:8px 12px;transition:background-color .3s ease,transform .2s ease}.theme-toggle:hover{background:#ffffff80;background:var(--bg-overlay-light);transform:scale(1.05)}.App{display:flex;flex-direction:column;min-height:100vh;position:relative;text-align:center}.App>.container{display:flex;flex:1 1;flex-direction:column}.App>.container>main{display:flex;flex:1 1;flex-direction:column}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.App .container{position:relative;z-index:1}.App-header{background-attachment:scroll;background-image:linear-gradient(var(--bg-header),var(--bg-header)),url(/static/media/tlo_menu.e635c6ebd044be7f0025.jpg);background-size:cover;box-shadow:0 2px 4px var(--shadow-color);color:var(--text-primary);transition:background-color .3s ease}.App-header .container{align-items:center;display:flex;justify-content:space-between}.App-header h1{font-size:2rem;font-weight:700;margin:0}main{padding-bottom:40px;padding-top:5px;text-align:left}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.stat-card{box-shadow:0 2px 4px var(--shadow-color);padding:20px;transition:background-color .3s ease}.stat-card h3{color:var(--text-secondary);font-size:.9rem;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.stat-card .value{color:var(--accent-color);font-size:2rem;font-weight:700;margin:0}.activity-filters{background:var(--card-bg);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);margin-bottom:20px;padding:20px;transition:background-color .3s ease}.activity-filters input,.activity-filters select{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:14px;margin-right:10px;padding:8px 12px}@media (max-width:600px){.container{max-width:100vw;padding:8px}.card{border-radius:6px;margin-bottom:12px;padding:10px}.btn{font-size:15px;padding:10px 0;width:100%}.activity-filters,.stats-grid{grid-template-columns:1fr!important;padding:10px}h1,h2{font-size:1.2rem}.App .container>div{flex-direction:column!important;gap:8px!important}header .top-bar{flex-direction:column;gap:15px}header .user-actions{flex-direction:column;gap:10px}header nav{flex-wrap:wrap;justify-content:center}header .welcome-message{background-color:var(--bg-overlay)}.activity-header{align-items:stretch!important;flex-direction:column!important;gap:15px!important}.activity-header h2{margin:0;text-align:center}.activity-header>div{justify-content:center!important}.activity-title{align-items:stretch!important;flex-direction:column!important;gap:10px!important}.activity-title>div:first-child{min-width:auto!important}.activity-title h3{font-size:14px!important}.activity-stats{gap:10px!important;grid-template-columns:repeat(2,1fr)!important}.activity-stats>div{padding:8px 4px}.activity-stats>div>div:first-child{font-size:16px!important}.activity-stats>div>div:last-child{font-size:11px!important}.activity-heartrate{flex-direction:column!important;gap:8px!important;text-align:center}.card ul{padding-left:15px!important}.card li{margin-bottom:5px}}.navigation-menu{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.nav-button{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .3s,color .3s}.nav-button:hover{background-color:var(--bg-tertiary)}.nav-button.active{background-color:var(--accent-color);border-color:var(--accent-color);color:#fff}header{border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;padding:15px 0}header .top-bar{justify-content:space-between;margin-bottom:15px;padding:0 10px;width:100%}header .logo,header .top-bar{align-items:center;display:flex}header .logo{background-color:var(--bg-overlay-light);border-radius:8px;gap:10px;padding:5px 10px}header .logo img{filter:grayscale(100%)}header .welcome-message{background-color:var(--bg-overlay);border-radius:8px;color:var(--text-primary);padding:5px 10px}header .logo h1{font-size:24px;margin:0}header .user-actions{align-items:center;display:flex;gap:15px;padding:10px}header .btn-logout{background-color:var(--accent-secondary);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}header nav{display:flex;gap:10px;justify-content:center;width:100%}header nav button{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s ease,color .3s ease}header nav button.active{background-color:var(--accent-color);border-color:var(--accent-color);color:#fff}.clickable-rows tbody tr:hover{background-color:var(--table-hover)}.unread-indicator{background-color:#ff4d4f;font-size:12px;font-weight:700;height:20px;line-height:20px;width:20px}.app-footer{align-items:center;background:var(--footer-bg);border-top:1px solid var(--border-light);color:#ffffffb3;display:flex;font-size:.9rem;justify-content:space-between;margin-top:auto;padding:18px 30px 12px;transition:background-color .3s ease,color .3s ease;width:100%}.footer-left{text-align:left}.footer-right{text-align:right}@media (max-width:768px){.app-footer{flex-direction:column;gap:8px}.app-footer,.footer-left,.footer-right{text-align:center}}.card{box-shadow:0 2px 4px var(--shadow-color);text-align:center}.container{background-color:var(--bg-primary);border-radius:12px}.activity-heartrate{background-color:var(--primary-50)}.activity-heartrate,h2{color:var(--text-primary)}h2{border-bottom:2px solid var(--border-light);font-size:1.8rem;margin-top:0;padding-bottom:12px}h3{color:var(--text-primary);font-size:1.4rem;margin-top:24px}h4{color:var(--text-secondary);font-size:1.2rem;margin-top:16px}.profile-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr}@media (min-width:768px){.profile-grid{grid-template-columns:1fr 1fr}}.user-info-table{border-collapse:collapse;margin-top:15px;width:100%}.user-info-table td{padding:8px 0;text-align:left}.user-info-table td:first-child{color:var(--text-primary);font-weight:700;padding-right:15px}.user-info-grid{grid-gap:10px 20px;align-items:center;display:grid;gap:10px 20px;grid-template-columns:max-content 1fr}.user-info-label{color:var(--text-primary);font-weight:700}.user-info-value{color:var(--text-secondary)}.form-group label,.user-info p{color:var(--text-secondary);font-size:1rem}.user-info strong{color:var(--text-primary)}.form-group label{font-weight:700}.form-group input,.form-group select{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:1rem;padding:10px;transition:border-color .2s,background-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--accent-secondary);outline:none}.btn{font-size:1rem;font-weight:700;padding:12px;transition:background-color .2s;width:100%}.btn-primary{background-color:var(--accent-secondary);color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-primary:disabled{background-color:var(--text-muted);cursor:not-allowed}.btn-danger{background-color:#dc3545}.btn-danger:hover{background-color:#c82333}.oauth-actions-container{display:flex;justify-content:center;margin-top:20px}.oauth-button-group{align-items:center;display:flex;gap:10px}.oauth-btn,.oauth-button-group .btn{font-size:.9rem;min-width:120px;padding:8px 16px;width:auto}.status-indicator{border:1px solid;border-radius:4px;cursor:default;font-size:.9rem;font-weight:700;min-width:120px;padding:8px 16px;text-align:center;-webkit-user-select:none;user-select:none}.status-indicator.connected{background-color:var(--success-bg);border-color:var(--success-text);color:var(--success-text)}.status-indicator.disconnected{background-color:var(--error-bg);border-color:var(--error-text);color:var(--error-text)}.strava-status{border-radius:5px;font-weight:700;margin-bottom:20px;padding:15px;text-align:center}.strava-connected{background-color:var(--success-bg);border:1px solid var(--success-text);color:var(--success-text)}.strava-disconnected{background-color:var(--error-bg);border:1px solid var(--error-text);color:var(--error-text)}.strava-actions{align-items:center;display:flex;margin-top:20px}.strava-actions .btn{font-size:.8rem;height:38px;padding:8px 16px;width:auto}.strava-actions .strava-status{align-items:center;border-radius:4px;box-sizing:border-box;display:inline-flex;font-size:.9rem;font-weight:700;height:38px;margin-bottom:0;margin-right:10px;padding:8px 16px;text-align:center}.recommendations-section{margin-top:24px}.recommendations-section h3{margin-bottom:12px}.recommendations-section textarea{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:1rem;min-height:150px;padding:10px;resize:vertical;width:100%}.profile-delete-account{border:2px solid #dc3545;margin-top:40px;overflow:hidden}.danger-zone-header{background-color:#dc3545;color:#fff;padding:12px 20px;text-align:center}.danger-zone-header h4{color:#fff;font-size:1.2rem;font-weight:700;margin:0}.danger-zone-content{background-color:var(--card-bg);padding:20px;text-align:center}.delete-account-btn{background-color:#dc3545;border:2px solid #dc3545;color:#fff;font-size:1.1rem;font-weight:700;min-width:200px;padding:12px 24px}.delete-account-btn:hover{background-color:#c82333;border-color:#c82333}.delete-account-modal{background-color:#fff3cd;border:2px solid #ffc107;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{background-color:#ffc107;border-bottom:1px solid #ffc107;color:#856404;padding:15px 20px}.modal-header h4{color:#856404;font-size:1.3rem;font-weight:700;margin:0}.delete-warning{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-weight:700;margin-bottom:20px;padding:15px;text-align:center}.modal-actions{justify-content:center}.final-delete-btn{background-color:#dc3545;border:2px solid #dc3545;color:#fff;font-size:1rem;font-weight:700;min-width:180px;padding:12px 20px}.final-delete-btn:hover{background-color:#c82333;border-color:#c82333}.btn-secondary{border:2px solid #6c757d;font-size:1rem;font-weight:700;min-width:100px;padding:12px 20px}.btn-secondary:hover{background-color:#5a6268;border-color:#5a6268}.error-message,.success-message{margin:10px 0;text-align:center}.success-message{background-color:var(--success-bg);border:1px solid var(--success-text);border-radius:4px;color:var(--success-text);padding:10px}.activities-grid{grid-gap:20px;display:grid;gap:20px;grid-auto-rows:1fr;grid-template-columns:repeat(4,1fr)}.map-modal-overlay{animation:fadeIn .2s ease}.map-modal-content{animation:slideUp .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.activity-tile{display:flex!important;flex-direction:column!important;height:100%!important;transition:transform .2s ease,box-shadow .2s ease}.activity-tile .activity-buttons{margin-top:auto}.activity-tile:hover{box-shadow:0 4px 12px var(--shadow-hover);transform:translateY(-2px)}@media (max-width:1200px){.activities-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.activities-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.activities-grid{grid-template-columns:1fr}}.modal-content{border-radius:8px;box-shadow:0 4px 20px var(--shadow-hover);width:90%}.delete-user-modal .modal-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:20px 20px 0}.delete-user-modal .modal-header h3{color:#d32f2f;margin:0}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:24px}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px}.warning-section{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;margin-bottom:20px;padding:15px}.warning-icon{font-size:24px;margin-bottom:10px}.warning-section h4{color:#856404;margin:0 0 10px}.warning-section p{color:#856404;margin:5px 0}.user-info{background-color:var(--bg-tertiary);border-radius:4px;color:var(--text-primary);margin:10px 0;padding:10px;text-align:center}.warning-section ul{color:#856404;margin:10px 0;padding-left:20px}.form-group{margin-bottom:15px}.form-group label{margin-bottom:5px}.form-group input{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:14px;padding:10px;width:100%}.form-group input:focus{border-color:var(--accent-secondary);box-shadow:0 0 0 2px #007bff40;outline:none}.help-text{color:var(--text-secondary);display:block;font-size:12px;margin-top:5px}.error-message{background-color:var(--error-bg);border:1px solid var(--error-text);border-radius:4px;color:var(--error-text);margin-bottom:15px;padding:10px}.modal-actions{gap:10px;margin-top:20px}.btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-danger{background-color:#d32f2f;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c62828}.card{margin-top:20px;transition:background-color .3s ease}.admin-users h2{border-bottom:none;color:var(--text-primary);font-size:1.8rem;margin-bottom:0;margin-top:0;padding-bottom:0}.admin-users-header{margin-bottom:12px}.admin-users-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.admin-filter-input{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.85rem;padding:7px 12px;width:260px}.admin-filter-input::placeholder{color:var(--text-muted)}.admin-filter-select{background:var(--card-bg);color:var(--text-primary);font-size:.85rem;padding:7px 10px}.admin-filter-clear,.admin-filter-select{border:1px solid var(--border-color);border-radius:6px;cursor:pointer}.admin-filter-clear{background:var(--bg-tertiary);color:var(--text-secondary);font-size:.8rem;padding:7px 14px;transition:background-color .15s}.admin-filter-clear:hover{background:var(--border-color)}.admin-users-table-wrap{overflow-x:auto}.admin-users-table{border-collapse:collapse;font-size:.85rem;width:100%}.admin-users-table th{background-color:var(--bg-tertiary);border-bottom:2px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.03em;padding:10px 12px;text-align:left;text-transform:uppercase;transition:background-color .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-users-table th:hover{background-color:var(--border-light)}.admin-users-table td{border-bottom:1px solid var(--border-light);color:var(--text-primary);padding:8px 12px;vertical-align:middle}.admin-users-table tbody tr:hover{background-color:#00000005;background-color:var(--table-hover,#00000005)}.col-id{text-align:center;width:50px}.col-username{font-weight:600}.col-email{max-width:200px;word-break:break-all}.col-flag{text-align:center;width:60px}.col-tags{min-width:160px}.col-actions{cursor:default!important;width:140px}.col-actions:hover{background-color:var(--bg-tertiary)!important}.flag-yes{background:#e8f5e9;border-radius:4px;color:#2e7d32;display:inline-block;font-size:.7rem;font-weight:700;padding:2px 6px}.flag-no{color:var(--text-muted);font-size:.8rem}.tags-cell{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.tag-pill{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;color:#374151;display:inline-flex;font-size:.7rem;font-weight:600;gap:2px;padding:2px 8px}.tag-remove{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:.8rem;line-height:1;padding:0 2px;transition:color .15s}.tag-remove:hover{color:#dc3545}.tag-add-btn{align-items:center;background:none;border:1px dashed #9ca3af;border-radius:50%;color:#9ca3af;cursor:pointer;display:inline-flex;font-size:.8rem;height:20px;justify-content:center;transition:all .15s;width:20px}.tag-add-btn:hover{background:#f9fafb;border-color:#6b7280;color:#6b7280}.tag-input-wrap{align-items:center;display:inline-flex;gap:2px}.tag-input{background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.75rem;padding:2px 6px;width:80px}.tag-cancel,.tag-confirm{background:none;border:none;cursor:pointer;font-size:.85rem;line-height:1;padding:0 2px}.tag-confirm{color:#28a745}.tag-cancel{color:#dc3545}.actions-cell{display:flex;gap:4px}.btn-sm{border:1px solid #0000;border-radius:4px;cursor:pointer;font-size:.72rem;font-weight:600;padding:4px 8px;transition:background-color .15s;white-space:nowrap}.btn-grant{background-color:#28a745;border-color:#28a745;color:#fff}.btn-grant:hover{background-color:#218838}.btn-revoke{background-color:#6b7280;border-color:#6b7280;color:#fff}.btn-revoke:hover{background-color:#4b5563}.btn-delete{background-color:#d32f2f;border-color:#d32f2f;color:#fff!important}.btn-delete:hover{background-color:#b71c1c;border-color:#b71c1c}.btn-sm:disabled{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-muted);cursor:not-allowed}.table-empty{color:var(--text-secondary);font-style:italic;padding:24px!important;text-align:center}.btn-admin{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 12px;transition:all .2s ease}.btn-admin:disabled{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-muted);cursor:not-allowed}.check-icon{color:#28a745;font-size:1.2rem}.profile-grid-main{display:flex;flex-direction:column;gap:40px}.profile-top-row{grid-gap:40px;align-items:flex-start;display:grid;gap:40px;grid-template-columns:1fr 1fr}.profile-user-info{background:var(--card-bg);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);padding:20px}.profile-oauth-column{display:flex;flex-direction:column;gap:24px}.profile-google-section,.profile-strava-section{background:var(--card-bg);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);padding:20px}.profile-second-row{grid-gap:40px;align-items:flex-start;display:grid;gap:40px;grid-template-columns:1fr 1fr}.profile-change-password,.profile-delete-account,.profile-personal-info{background:var(--card-bg);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);padding:20px}.profile-delete-account{margin:0 auto;max-width:400px;text-align:center}@media (max-width:900px){.profile-second-row,.profile-top-row{gap:20px;grid-template-columns:1fr}.admin-users-filters{flex-direction:column}.admin-filter-input,.admin-filter-select{width:100%}}.webhook-events-container{padding:0}.webhook-stats{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.stat-card{min-width:100px;padding:16px 24px}.stat-value{font-size:1.8rem}.stat-label{font-size:.85rem}.webhook-filters{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.filter-group select{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.9rem;padding:8px 12px}.btn-refresh{background-color:var(--accent-color);border:none;color:#fff}.btn-refresh:hover{background-color:var(--accent-hover)}.webhook-table{border-collapse:collapse;font-size:.9rem;width:100%}.webhook-table td,.webhook-table th{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:10px 12px;text-align:left;white-space:nowrap}.webhook-table th{background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:.8rem;font-weight:600;position:sticky;text-transform:uppercase;top:0}.webhook-table tbody tr:hover{background-color:var(--table-hover)}.id-cell{color:var(--text-muted);font-family:monospace}.object-id-cell{font-family:monospace;font-weight:600}.user-cell{max-width:200px}.user-name{color:var(--text-muted);font-size:.85rem}.unknown-user{color:var(--text-muted);font-style:italic}.date-cell{font-size:.85rem}.attempts-cell{font-weight:600;text-align:center}.error-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis}.error-text{color:#dc3545;cursor:help;font-size:.85rem}.action-badge,.status-badge,.type-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.type-activity{background-color:#007bff26;color:#007bff}.type-athlete{background-color:#6f42c126;color:#6f42c1}.action-create{background-color:#28a74526;color:#28a745}.action-update{background-color:#ffc10726;color:#d39e00}.action-delete{background-color:#dc354526;color:#dc3545}@media (max-width:768px){.webhook-stats{justify-content:center}.stat-card{min-width:80px;padding:12px 16px}.stat-value{font-size:1.4rem}.webhook-filters{align-items:stretch;flex-direction:column}.filter-group{width:100%}.filter-group select{flex:1 1}.btn-refresh{width:100%}.webhook-table{font-size:.8rem}.webhook-table td,.webhook-table th{padding:8px}}.youtube-admin-container{padding:0}.youtube-admin-container .card{background-color:#fff;border:1px solid #d9e2ec;border-radius:8px;margin-bottom:20px;padding:20px}.youtube-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.header-content{align-items:center;display:flex;gap:12px}.header-content h2{margin:0}.canary-badge{background-color:#ffc10733;border:1px solid #ffc10780;border-radius:4px;color:#d39e00;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.header-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-action{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s ease}.btn-action:disabled{cursor:not-allowed;opacity:.6}.btn-action.btn-primary{background-color:#627d98!important;border:none!important;color:#fff!important}.btn-action.btn-primary:hover:not(:disabled){background-color:#486581!important}.btn-action.btn-secondary{background-color:#f0f4f8!important;border:1px solid #d9e2ec!important;color:#1a2f44!important}.btn-action.btn-secondary:hover:not(:disabled){background-color:#d9e2ec!important}.btn-action.btn-outline{background-color:initial!important;border:1px solid #627d98!important;color:#627d98!important}.btn-action.btn-outline:hover:not(:disabled){background-color:#627d98!important;color:#fff!important}.youtube-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.stat-card{background-color:var(--bg-secondary);min-width:90px;padding:14px 20px}.stat-card.stat-success{background-color:#28a7451a;border-color:#28a745}.stat-card.stat-warning{background-color:#ffc1071a;border-color:#ffc107}.stat-card.stat-info{background-color:#17a2b81a;border-color:#17a2b8}.stat-card.stat-secondary{background-color:#6c757d1a;border-color:#6c757d}.stat-card.stat-danger{background-color:#dc35451a;border-color:#dc3545}.stat-value{font-size:1.6rem}.stat-label{font-size:.8rem;margin-top:2px}.youtube-filters{flex-wrap:wrap;gap:16px;margin-bottom:20px}.filter-group,.youtube-filters{align-items:center;display:flex}.filter-group{gap:8px}.filter-group label{color:var(--text-secondary);font-size:.9rem;font-weight:600}.filter-group input[type=text],.filter-group select{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9rem;padding:8px 12px}.filter-group input[type=text]{width:200px}.btn-refresh{background-color:#627d98!important;border:none!important;border-radius:6px;color:#fff!important;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:background-color .2s ease}.btn-refresh:hover{background-color:#486581!important}.youtube-admin-container .section-header{align-items:center;border-bottom:1px solid #d9e2ec;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.youtube-admin-container .section-header h3{color:#1a2f44;font-size:1.1rem;margin:0}.youtube-table{border-collapse:collapse;font-size:.85rem;width:100%}.youtube-table td,.youtube-table th{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:10px 12px;text-align:left}.youtube-table th{background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:.75rem;font-weight:600;position:sticky;text-transform:uppercase;top:0;white-space:nowrap}.youtube-table tbody tr:hover{background-color:var(--table-hover)}.channel-id{color:var(--text-muted);font-family:monospace;font-size:.7rem}.active-indicator{font-size:1.2rem}.active-indicator.active{color:#28a745}.active-indicator.inactive{color:#dc3545}.mode-badge{background-color:#6c757d26;border-radius:4px;color:#6c757d;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px}.patterns-cell{max-width:200px}.patterns-list{display:flex;flex-wrap:wrap;gap:4px}.pattern-chip{background-color:#007bff1a;border-radius:3px;color:#007bff;display:inline-block;font-size:.7rem;padding:2px 6px;white-space:nowrap}.pattern-chip.exclude{background-color:#dc35451a;color:#dc3545}.pattern-more{color:var(--text-muted);font-size:.7rem}.channels-table textarea{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.8rem;min-width:150px;padding:6px;resize:vertical;width:100%}.channels-table input[type=number],.channels-table input[type=text],.channels-table select{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.85rem;padding:4px 8px}.title-cell a{color:var(--text-primary);text-decoration:none}.title-cell a:hover{color:var(--accent-color);text-decoration:underline}.video-id{font-family:monospace}.stage-info,.video-id{color:var(--text-muted);font-size:.7rem}.stage-info{margin-top:2px}.quality-cell .quality-score{font-weight:600}.quality-score.good{color:#28a745}.quality-score.bad{color:#dc3545}.skip-reason{background-color:#6c757d26;border-radius:3px;color:#6c757d;cursor:help;display:inline-block;font-size:.7rem;font-weight:600;padding:2px 6px}.article-link{color:var(--accent-color);font-weight:600;text-decoration:none}.article-link:hover{text-decoration:underline}.date-cell{color:var(--text-secondary);font-size:.8rem;white-space:nowrap}.no-data{color:var(--text-muted);padding:40px!important;text-align:center}.status-badge{font-size:.7rem;padding:4px 8px;text-transform:uppercase}.badge-success{background-color:#28a74526;color:#28a745}.badge-warning{background-color:#ffc10726;color:#d39e00}.badge-info{background-color:#17a2b826;color:#17a2b8}.badge-danger{background-color:#dc354526;color:#dc3545}.badge-secondary{background-color:#6c757d26;color:#6c757d}.action-buttons{display:flex;flex-wrap:wrap;gap:4px}.btn-small{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.75rem;padding:4px 8px;transition:all .2s ease}.btn-small:hover:not(:disabled){background-color:var(--bg-tertiary)}.btn-small:disabled{cursor:not-allowed;opacity:.5}.btn-edit{border-color:var(--accent-color);color:var(--accent-color)}.btn-edit:hover{background-color:var(--accent-color);color:#fff}.btn-save{background-color:#28a745}.btn-save:hover:not(:disabled){background-color:#218838}.btn-cancel{background-color:var(--bg-secondary);color:var(--text-secondary)}.btn-skip{border-color:#dc3545;color:#dc3545}.btn-skip:hover:not(:disabled){background-color:#dc3545;color:#fff}.btn-unskip{border-color:#28a745;color:#28a745}.btn-unskip:hover:not(:disabled){background-color:#28a745;color:#fff}.btn-delete{border-color:#dc3545;color:#dc3545}.btn-delete:hover:not(:disabled){background-color:#dc3545;color:#fff}.btn-danger{background-color:#dc3545!important;border:none!important;border-radius:6px;color:#fff!important;cursor:pointer;font-weight:600;padding:8px 16px}.btn-danger:hover:not(:disabled){background-color:#c82333!important}.btn-danger:disabled{cursor:not-allowed;opacity:.6}.pagination{margin-top:24px;padding-top:16px}.pagination button{background-color:var(--bg-secondary);border-radius:6px;font-weight:500;transition:all .2s ease}.pagination button:hover:not(:disabled){background-color:var(--accent-color);border-color:var(--accent-color);color:#fff}.page-info{color:var(--text-secondary);font-size:.9rem}.modal-overlay{background-color:#00000080}.modal{background-color:var(--card-bg);border-radius:12px;box-shadow:0 4px 20px #0003;max-width:500px;min-width:400px;padding:24px}.modal h3{color:var(--text-primary);margin:0 0 20px}.modal-content{margin-bottom:20px}.form-group label{font-size:.9rem}.form-group input[type=text],.form-group select{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.95rem;padding:10px 12px;width:100%}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-color);outline:none}.form-group textarea{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.95rem;padding:10px 12px;width:100%}.form-group .hint{font-size:.8rem}.modal-actions button{border-radius:6px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s ease}.modal-actions .btn-cancel{background-color:#f0f4f8!important;border:1px solid #d9e2ec!important;color:#1a2f44!important}.modal-actions .btn-cancel:hover{background-color:#d9e2ec!important}.modal-actions .btn-primary{background-color:#627d98!important;border:none!important;color:#fff!important}.modal-actions .btn-primary:hover:not(:disabled){background-color:#486581!important}.modal-actions .btn-primary:disabled{cursor:not-allowed;opacity:.6}.toast-container{display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;top:20px;z-index:1100}.toast{box-shadow:0 4px 12px #00000026;font-size:.9rem;font-weight:500}.toast-success{background-color:#28a745;color:#fff}.toast-error{background-color:#dc3545;color:#fff}.toast-info{background-color:#17a2b8;color:#fff}@media (max-width:768px){.youtube-header{align-items:stretch}.header-actions,.youtube-header{flex-direction:column}.header-actions button{width:100%}.youtube-stats{justify-content:center}.stat-card{min-width:70px;padding:10px 14px}.stat-value{font-size:1.3rem}.youtube-filters{align-items:stretch;flex-direction:column}.filter-group{width:100%}.filter-group input[type=text],.filter-group select{flex:1 1;width:auto}.btn-refresh{width:100%}.youtube-table{font-size:.75rem}.youtube-table td,.youtube-table th{padding:8px 6px}.modal{margin:20px;min-width:auto;width:calc(100% - 40px)}}.modal-wide{max-width:700px;width:100%}.test-result{border:1px solid;border-radius:8px;margin-top:16px;padding:16px}.test-result.success{background-color:#28a74514;border-color:#28a7454d}.test-result.error{background-color:#dc354514;border-color:#dc35454d}.result-header{align-items:center;display:flex;flex-wrap:wrap;font-size:.9rem;gap:12px;margin-bottom:12px}.result-badge{border-radius:4px;font-size:.75rem;font-weight:700;padding:4px 10px;text-transform:uppercase}.result-badge.success{background-color:#28a745;color:#fff}.result-badge.error{background-color:#dc3545;color:#fff}.result-preview{margin-top:12px}.result-preview label{color:#334e68;display:block;font-weight:600;margin-bottom:8px}.result-preview pre{background-color:#f8f9fa;border:1px solid #d9e2ec;border-radius:4px;color:#334e68;font-size:.8rem;margin:0;max-height:200px;overflow-y:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.result-message{background-color:#dc35451a;border-radius:4px;color:#a61d2a;font-size:.9rem;padding:8px 12px}.admin-mobile{padding:20px}.admin-mobile-loading{align-items:center;color:var(--text-secondary);display:flex;height:200px;justify-content:center}.admin-mobile-stats{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.stat-card{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;display:flex;flex:1 1;flex-direction:column;min-width:140px;padding:16px;text-align:center}.stat-card.success{border-left:4px solid #28a745}.stat-card.danger{border-left:4px solid #dc3545}.stat-value{color:var(--text-primary);font-size:28px;font-weight:700}.stat-label{color:var(--text-secondary);font-size:12px;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.admin-mobile-tabs{border-bottom:1px solid var(--border-color);display:flex;gap:8px;margin-bottom:24px;padding-bottom:8px}.admin-mobile-tabs .tab{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.admin-mobile-tabs .tab:hover{color:var(--text-primary)}.admin-mobile-tabs .tab.active{border-bottom-color:var(--accent-color);color:var(--accent-color)}.admin-mobile-tabs .test-btn{background:var(--accent-color);border-bottom:none;border-radius:4px;color:#fff;margin-left:auto}.admin-mobile-tabs .test-btn:hover{background:var(--accent-hover);color:#fff}.admin-mobile-tabs .test-btn:disabled{cursor:not-allowed;opacity:.5}.settings-list{display:flex;flex-direction:column;gap:16px}.setting-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:20px;transition:opacity .2s}.setting-card.disabled{opacity:.6}.setting-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.setting-title h3{color:var(--text-primary);font-size:16px;margin:0 0 4px}.setting-type-badge{background:var(--bg-secondary);border-radius:4px;color:var(--text-muted);font-family:monospace;font-size:11px;padding:2px 8px}.setting-actions{display:flex;gap:8px}.toggle-btn{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 16px;transition:all .2s}.toggle-btn.on{background:#28a745;color:#fff}.toggle-btn.off{background:var(--bg-tertiary);color:var(--text-secondary)}.toggle-btn:disabled{cursor:wait;opacity:.5}.edit-btn{background:#0000;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.edit-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.setting-details{display:flex;flex-direction:column;gap:8px}.detail-row{align-items:baseline;display:flex;gap:8px}.detail-row.template{flex-direction:column;gap:4px}.detail-label{color:var(--text-secondary);font-size:13px;min-width:100px}.detail-value{color:var(--text-primary);font-size:13px}.detail-value code,code.detail-value{background:var(--bg-secondary);border-radius:4px;display:block;font-family:monospace;font-size:12px;overflow-x:auto;padding:4px 8px}.logs-section{display:flex;flex-direction:column;gap:16px}.logs-filters{display:flex;flex-wrap:wrap;gap:12px}.logs-filters select{font-size:14px;padding:8px 12px}.logs-filters select,.refresh-btn{background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary)}.refresh-btn{cursor:pointer;padding:8px 16px;transition:all .2s}.refresh-btn:hover{background:var(--bg-secondary)}.devices-table,.logs-table{background:var(--card-bg);border:1px solid var(--border-color);border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.devices-table th,.logs-table th{background:var(--bg-tertiary);color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.devices-table td,.logs-table td{border-top:1px solid var(--border-light);color:var(--text-primary);font-size:13px;padding:12px}.devices-table tr:hover,.logs-table tr:hover{background:var(--table-hover)}.devices-table .empty,.logs-table .empty{color:var(--text-muted);padding:40px;text-align:center}.logs-table .date{color:var(--text-secondary);font-family:monospace;font-size:12px;white-space:nowrap}.type-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:500;padding:2px 8px}.type-badge.new_activity{background:#e7f5ff;color:#1971c2}.type-badge.weekly_summary{background:#fff3bf;color:#e67700}.type-badge.new_article{background:#d3f9d8;color:#2f9e44}.type-badge.workout_reminder{background:#ffe8cc;color:#e8590c}.type-badge.test{background:#f3f0ff;color:#7048e8}.title-cell{max-width:300px}.log-title{font-weight:500;margin-bottom:2px}.log-body{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{border-radius:4px;font-size:11px;font-weight:500}.status-badge.delivered,.status-badge.sent{background:#d3f9d8;color:#2f9e44}.status-badge.failed{background:#ffe3e3;color:#e03131}.status-badge.active{background:#d3f9d8;color:#2f9e44}.status-badge.inactive{background:var(--bg-secondary);color:var(--text-muted)}.error-msg{color:#e03131;font-size:11px;margin-top:4px}.pagination{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:16px;justify-content:center;padding:16px 0}.pagination button{background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;padding:8px 16px}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination span{color:var(--text-secondary);font-size:13px}.devices-section{overflow-x:auto}.platform-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.platform-badge.ios{background:#f8f9fa;color:#495057}.platform-badge.android{background:#e8f5e9;color:#388e3c}.stat-value.platform-counts{font-size:20px}.platform-count-item,.stat-value.platform-counts{align-items:center;display:flex;gap:4px}.platform-count-divider{color:var(--text-muted);font-weight:300}.platform-icon{border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.3px;padding:1px 4px}.platform-icon.ios-icon{background:#f8f9fa;color:#495057}.platform-icon.android-icon{background:#e8f5e9;color:#388e3c}.test-platforms{display:flex;gap:8px;margin-bottom:16px}.club-badge{border-radius:4px;display:inline-block;font-size:11px;padding:2px 8px}.club-badge.yes{background:#d3f9d8;color:#2f9e44}.club-badge.no{background:var(--bg-secondary);color:var(--text-muted)}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--card-bg);border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;width:100%}.modal-content h2{color:var(--text-primary);font-size:18px;margin:0 0 20px}.test-modal .test-info{background:var(--bg-secondary);border-radius:6px;color:var(--text-secondary);font-size:13px;margin-bottom:20px;padding:12px}.form-group{margin-bottom:16px}.form-group label{color:var(--text-secondary);font-size:13px;font-weight:500;margin-bottom:6px}.form-group.checkbox label{align-items:center;cursor:pointer;display:flex;gap:8px}.form-group.checkbox input{cursor:pointer;height:18px;width:18px}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;padding:10px 12px;width:100%}.form-group .hint{color:var(--text-muted);display:block;font-size:11px;margin-top:4px}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1 1}.modal-actions{border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.cancel-btn{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:10px 20px}.cancel-btn:hover{background:var(--bg-secondary)}.save-btn{background:var(--accent-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.save-btn:hover{background:var(--accent-hover)}.save-btn:disabled{cursor:wait;opacity:.6}.toast{animation:slideIn .3s ease;border-radius:8px;color:#fff;font-size:14px;padding:12px 20px;position:fixed;right:20px;top:20px;z-index:2000}.toast.success{background:#28a745}.toast.error{background:#dc3545}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.admin-mobile{padding:12px}.admin-mobile-stats{flex-direction:column}.stat-card{flex-direction:row;justify-content:space-between;min-width:100%}.stat-value{font-size:24px}.admin-mobile-tabs{flex-wrap:wrap}.admin-mobile-tabs .test-btn{flex:1 1;margin-left:0;margin-top:8px;min-width:100%}.setting-header{flex-direction:column;gap:12px}.setting-actions{justify-content:flex-end;width:100%}.logs-filters{flex-direction:column}.logs-filters select,.refresh-btn{width:100%}.devices-table,.logs-table{font-size:12px}.devices-table td,.devices-table th,.logs-table td,.logs-table th{padding:8px}.title-cell{max-width:150px}.modal-content{max-width:100%}}.admin-clubs{display:flex;gap:24px;margin-top:20px}.admin-clubs-sidebar{max-width:300px;min-width:260px}.admin-clubs-sidebar h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 12px}.club-list-item{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:6px;padding:10px 14px;transition:background-color .15s}.club-list-item:hover{background-color:var(--table-hover)}.club-list-item.active{background-color:var(--bg-tertiary);border-color:#6b7280}.club-list-item.inactive{opacity:.55}.club-list-item .club-name{color:var(--text-primary);font-weight:600}.club-inactive-badge{background:#f8d7da;border-radius:8px;color:#721c24;display:inline-block;font-size:.65rem;font-weight:600;margin-left:6px;padding:1px 6px;vertical-align:middle}.club-list-item .club-count{background:var(--bg-tertiary);border-radius:10px;color:var(--text-secondary);font-size:.8rem;padding:2px 8px}.admin-clubs-main{flex:1 1}.admin-clubs-main h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 16px}.club-members-table td,.club-members-table th{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:10px 12px;text-align:left}.club-members-table th{background-color:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;text-transform:uppercase}.club-members-table tbody tr:hover{background-color:var(--table-hover)}.btn-remove{background:#dc3545;border:1px solid #dc3545;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;padding:4px 10px;transition:background-color .15s}.btn-remove:hover{background:#c82333}.add-member-section{align-items:flex-start;display:flex;gap:8px;margin-bottom:16px;position:relative}.add-member-section input{color:var(--text-primary);font-size:.9rem;padding:8px 12px}.add-member-section input,.search-results-dropdown{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;width:280px}.search-results-dropdown{box-shadow:0 4px 12px var(--shadow-color);left:0;max-height:200px;overflow-y:auto;position:absolute;top:38px;z-index:10}.search-result-item{border-bottom:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;font-size:.85rem;padding:8px 12px}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:var(--table-hover)}.search-result-item .search-result-name{font-weight:600}.search-result-item .search-result-email{color:var(--text-secondary);font-size:.8rem}.no-club-selected{color:var(--text-secondary);font-style:italic;margin-top:40px}.status-badge{border-radius:10px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px}.status-badge.active{background:#d4edda;color:#155724}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.banned{background:#f8d7da;color:#721c24}.club-header{margin-bottom:16px}.club-header-row{align-items:center;display:flex;justify-content:space-between}.club-header-row h3{margin:0}.club-short-name{color:var(--text-secondary);font-size:.9rem;font-weight:400;margin-left:6px}.club-header-actions{display:flex;gap:8px}.btn-cancel,.btn-deactivate,.btn-edit,.btn-reactivate,.btn-save{border:1px solid #0000;border-radius:5px;cursor:pointer;font-size:.8rem;font-weight:600;padding:5px 12px;transition:background-color .15s}.btn-edit{background:#6b7280;border-color:#6b7280}.btn-edit:hover{background:#4b5563}.btn-deactivate{background:#dc3545;border-color:#dc3545;color:#fff}.btn-deactivate:hover{background:#c82333}.btn-reactivate{background:#28a745;border-color:#28a745;color:#fff}.btn-reactivate:hover{background:#218838}.btn-save{background:#28a745;border-color:#28a745;color:#fff}.btn-save:hover{background:#218838}.btn-cancel{background:var(--bg-tertiary);border-color:var(--border-color)}.btn-cancel:hover{background:var(--table-hover)}.club-edit-form{display:flex;flex-direction:column;gap:10px}.club-edit-fields{display:flex;gap:12px}.club-edit-fields label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.8rem;font-weight:600;gap:4px}.club-edit-fields input{background:var(--card-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);font-size:.9rem;padding:6px 10px}.club-edit-actions{display:flex;gap:8px}.role-badge{border-radius:10px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px}.role-badge.admin{background:#cce5ff;color:#004085}.role-badge.member{background:#e2e8f0;color:#4a5568}.member-actions{display:flex;gap:6px}.btn-role{border:1px solid #0000;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:600;padding:4px 10px;transition:background-color .15s}.btn-grant-role{background:#28a745;border-color:#28a745;color:#fff}.btn-grant-role:hover{background:#218838}.btn-revoke-role{background:#ffc107;border-color:#ffc107;color:#333}.btn-revoke-role:hover{background:#e0a800}.admin-panel{width:100%}.admin-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:8px;margin-bottom:20px;padding-bottom:0}.admin-tab{background-color:initial;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:-2px;padding:12px 24px;transition:all .2s ease}.admin-tab:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.admin-tab.active{border-bottom-color:var(--accent-color);color:var(--accent-color);font-weight:600}.admin-content{margin-top:0}@media (max-width:600px){.admin-tabs{flex-direction:column;gap:0}.admin-tab{border-bottom:none;border-left:3px solid #0000;text-align:left}.admin-tab.active{border-bottom:none;border-left-color:var(--accent-color)}}.chat-container{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;height:500px;margin-top:20px;overflow:hidden;transition:background-color .3s ease,border-color .3s ease}.chat-container h3{background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);color:var(--text-primary);margin:0;padding:10px}.messages-list{background-color:var(--bg-secondary);display:flex;flex-direction:column;flex-grow:1;gap:10px;overflow-y:auto;padding:10px}.message{word-wrap:break-word;border-radius:18px;max-width:70%;padding:8px 12px}.message.sent{align-self:flex-end;background-color:var(--primary-100);color:var(--primary-900)}.message.received{align-self:flex-start;background-color:var(--bg-tertiary);color:var(--text-primary)}.message .timestamp{color:var(--text-muted);display:block;font-size:.75em;margin-top:4px;text-align:right}.message-form{background-color:var(--bg-tertiary);border-top:1px solid var(--border-color);display:flex;padding:10px}.message-form input{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:18px;color:var(--text-primary);flex-grow:1;margin-right:10px;padding:8px}.message-form button{background-color:var(--accent-secondary);border:none;border-radius:18px;color:#fff;cursor:pointer;padding:8px 16px}.message-form button:hover{background-color:#0056b3}.trainee-detail-container{display:flex;gap:20px;margin-bottom:20px}.chat-panel,.recommendations-panel{flex:1 1;min-width:0}.recommendations-panel textarea{background-color:var(--input-bg);border:1px solid var(--border-color);box-sizing:border-box;color:var(--text-primary);margin-bottom:10px;width:100%}.activity-panel{margin-top:20px}.segments-table{border-collapse:collapse;margin-top:20px;width:100%}.segments-table td,.segments-table th{border:1px solid var(--border-color);color:var(--text-primary);padding:12px;text-align:left;white-space:nowrap}.segments-table th{background-color:var(--bg-tertiary);font-weight:700}.segments-table tbody tr:nth-child(2n){background-color:var(--bg-secondary)}.segments-table tbody tr:hover{background-color:var(--table-hover)}.pagination-controls{align-items:center;display:flex;justify-content:space-between;margin-top:15px}.card{background-color:var(--card-bg);border-radius:8px;box-shadow:0 4px 12px var(--shadow-color);margin-bottom:24px;padding:24px;transition:all .3s ease}.card h2{border-bottom:2px solid var(--border-light);color:var(--text-primary);font-size:1.5rem;margin-bottom:16px;margin-top:0;padding-bottom:12px}.table-container{overflow-x:auto}.user-table{border-collapse:collapse;margin-top:16px;width:100%}.user-table td,.user-table th{border-bottom:1px solid var(--border-light);color:var(--text-primary);padding:12px 16px;text-align:left}.user-table th{background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:.85rem;font-weight:600;text-transform:uppercase}.user-table tbody tr:hover{background-color:var(--table-hover)}.clickable-rows tbody tr{cursor:pointer}.button-accept,.button-reject{border:none;border-radius:6px;cursor:pointer;font-weight:600;margin-right:8px;padding:8px 16px;transition:all .2s ease}.button-accept{background-color:#28a745;color:#fff}.button-accept:hover{background-color:#218838}.button-reject{background-color:#dc3545;color:#fff}.button-reject:hover{background-color:#c82333}.unread-indicator{background-color:var(--accent-secondary);border-radius:50%;color:#fff;display:inline-block;font-size:.8rem;min-width:20px;padding:4px 8px;text-align:center}.trainers-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;padding:20px}.trainer-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:16px;text-align:center;transition:background-color .3s ease,border-color .3s ease;width:200px}.trainer-image{border-radius:50%;height:150px;margin-bottom:10px;object-fit:cover;width:150px}.trainer-name{color:var(--text-primary);font-size:1.2em;font-weight:700}.trainer-dashboard{display:flex;gap:20px;padding:20px}.trainer-info-panel{background-color:var(--bg-tertiary);color:var(--text-primary);flex:1 1;padding:20px;transition:background-color .3s ease,border-color .3s ease}.trainer-chat-panel,.trainer-info-panel{border:1px solid var(--border-color);border-radius:8px}.trainer-chat-panel{background-color:var(--card-bg);flex:2 1;overflow:hidden}.recommendations-section{border-top:1px solid var(--border-light);margin-top:20px;padding-top:20px}@media (max-width:768px){.trainer-dashboard{flex-direction:column}.trainer-chat-panel,.trainer-info-panel{margin-bottom:18px;padding:12px;width:100%}}.blog-card{background:var(--card-bg);border-radius:12px;box-shadow:0 4px 12px var(--shadow-color);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.blog-card:hover{box-shadow:0 8px 24px var(--shadow-hover);transform:translateY(-5px)}.blog-card-image{height:180px;overflow:hidden;width:100%}.blog-card-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.blog-card:hover .blog-card-image img{transform:scale(1.05)}.blog-card-content{display:flex;flex-direction:column;flex-grow:1;padding:20px}.blog-card-status{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;margin-bottom:10px;padding:4px 10px;text-transform:uppercase;width:fit-content}.blog-card-status.draft{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-muted)}.blog-card-status.published{background-color:var(--success-bg);color:var(--success-text)}.blog-card-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;line-height:1.3;margin:0 0 12px}.blog-card-excerpt{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;flex-grow:1;font-size:.95rem;line-height:1.5;margin:0 0 15px;overflow:hidden}.blog-card-meta{align-items:center;color:var(--text-muted);display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:12px}.blog-card-author{font-weight:500}.blog-card-date{font-style:italic}.blog-card-read-more{color:var(--accent-color);font-size:.9rem;font-weight:600;transition:color .2s ease}.blog-card:hover .blog-card-read-more{color:var(--accent-hover)}@media (max-width:768px){.blog-card-title{font-size:1.1rem}.blog-card-content{padding:15px}.blog-card-meta{align-items:flex-start;flex-direction:column;gap:5px}}.my-articles{margin:0 auto;max-width:1200px;padding:20px}.my-articles-empty,.my-articles-loading{background:var(--card-bg);border-radius:12px;color:var(--text-secondary);padding:60px 20px;text-align:center}.my-articles-header{border-bottom:1px solid var(--border-color);gap:15px;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.header-left,.my-articles-header{align-items:center;display:flex;flex-wrap:wrap}.header-left{gap:20px}.header-right{align-items:center;display:flex;gap:15px}.my-articles-header h2{color:var(--text-primary);margin:0}.blog-tabs{background:var(--bg-secondary);border-radius:8px;display:flex;gap:5px;padding:4px}.tab-btn{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s ease}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{background:var(--primary-700);color:#fff}.status-filter{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.9rem;padding:8px 12px}.blog-admin-table{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.blog-admin-table table{border-collapse:collapse;width:100%}.blog-admin-table td,.blog-admin-table th{border-bottom:1px solid var(--border-color);padding:15px;text-align:left}.blog-admin-table th{color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.blog-admin-table tbody tr:hover,.blog-admin-table th{background:var(--bg-secondary)}.blog-admin-table tbody tr:last-child td{border-bottom:none}.article-title-cell{max-width:300px}.article-title-link{color:var(--accent-color);cursor:pointer;font-weight:500}.article-title-link:hover{text-decoration:underline}.status-select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.85rem;padding:6px 10px}.status-select.draft{border-color:#f59e0b;color:#f59e0b}.status-select.published{border-color:#10b981;color:#10b981}.actions-cell{white-space:nowrap}.btn-delete-small,.btn-edit-small{font-size:.85rem;margin-right:8px;padding:6px 12px}.btn-edit-small{background:var(--accent-secondary);border:none;color:#fff}.btn-edit-small:hover{background:var(--accent-600)}.btn-delete-small{background:#0000;border:1px solid var(--error-text);color:var(--error-text)}.btn-delete-small:hover{background:var(--error-bg)}.delete-confirm-inline{display:inline-flex;gap:5px}.btn-confirm-no,.btn-confirm-yes{border:none;border-radius:6px;font-size:.85rem;padding:6px 12px}.btn-confirm-yes{background:var(--error-text);color:#fff}.btn-confirm-no{background:var(--bg-secondary);color:var(--text-primary)}.btn-create{background:var(--primary-700);color:#fff;font-weight:600}.btn-create:hover{background:var(--primary-800)}.my-articles-error{background:var(--error-bg);border-radius:8px;color:var(--error-text);margin-bottom:20px;padding:15px}.public-articles-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.article-card-wrapper{display:flex;flex-direction:column}.article-card-wrapper .blog-card{flex:1 1}.article-card-wrapper .btn-copy-link{margin-top:10px}.public-articles-grid .blog-card{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.public-articles-grid .blog-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.btn-copy-link{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.85rem;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.btn-copy-link:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.my-article-actions .btn-copy-link{padding:10px 15px}.my-articles-list{display:flex;flex-direction:column;gap:25px}.my-article-item{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr auto}.my-article-item .blog-card{cursor:pointer}.my-article-actions{display:flex;flex-direction:column;gap:10px;min-width:100px}.btn-edit{background:var(--accent-secondary);border:none;color:#fff;font-size:.9rem;padding:10px 15px}.btn-edit:hover{background:var(--accent-600)}.btn-delete{background:#0000;border:1px solid var(--error-text);color:var(--error-text);font-size:.9rem;padding:10px 15px}.btn-delete:hover,.delete-confirm{background:var(--error-bg)}.delete-confirm{border-radius:8px;display:flex;flex-direction:column;gap:5px;padding:10px;text-align:center}.delete-confirm span{color:var(--error-text);font-size:.85rem;font-weight:600}.btn-confirm-delete{background:var(--error-text);border:none;color:#fff;font-size:.85rem;padding:8px}.btn-cancel-delete{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.85rem;padding:8px}.my-articles-pagination{align-items:center;display:flex;gap:20px;justify-content:center;margin-top:40px;padding:20px 0}.btn-pagination{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-weight:500;padding:10px 20px}.btn-pagination:hover:not(:disabled){background:var(--accent-color);border-color:var(--accent-color);color:#fff}.btn-pagination:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:var(--text-secondary);font-size:.95rem}@media (max-width:768px){.my-articles{padding:15px}.my-articles-header{align-items:flex-start;flex-direction:column;gap:15px}.my-article-item{gap:15px;grid-template-columns:1fr}.my-article-actions{flex-direction:row;width:100%}.my-article-actions .btn{flex:1 1}.delete-confirm{align-items:center;flex-direction:row;justify-content:space-between}.my-articles-pagination{flex-direction:column;gap:15px}}.blog-editor{margin:0 auto;max-width:900px;padding:20px}.blog-editor-loading{background:var(--card-bg);border-radius:12px;color:var(--text-secondary);padding:60px 20px;text-align:center}.blog-editor-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.blog-editor-header h2{color:var(--text-primary);margin:0}.blog-editor-actions{display:flex;gap:10px}.btn-preview{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-preview:hover{background:var(--accent-secondary);border-color:var(--accent-secondary);color:#fff}.btn-cancel{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-cancel:hover{border-color:var(--error-text)}.blog-editor-error,.btn-cancel:hover{background:var(--error-bg);color:var(--error-text)}.blog-editor-error{border-radius:8px;margin-bottom:20px;padding:15px}.blog-editor-form{background:var(--card-bg);border-radius:12px;box-shadow:0 2px 10px var(--shadow-color);padding:25px}.form-group{margin-bottom:25px}.form-group label{color:var(--text-primary);display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.form-group input,.form-group textarea{background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:12px 15px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-color);outline:none}.form-group textarea{font-family:inherit;min-height:100px;resize:vertical}.form-group textarea#content{font-family:Fira Code,Consolas,monospace;font-size:.95rem;line-height:1.6}.char-count{font-size:.8rem;margin-top:5px;text-align:right}.char-count,.markdown-hint{color:var(--text-muted);display:block}.markdown-hint{font-size:.85rem;font-style:italic;margin-top:8px}.blog-editor-footer{border-top:1px solid var(--border-color);display:flex;gap:15px;justify-content:flex-end;margin-top:25px;padding-top:20px}.btn-draft{background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary)}.btn-draft:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-muted)}.btn-publish{background:var(--success-text);border:none;color:#fff}.btn-publish:hover:not(:disabled){background:#218838}.blog-editor-preview{background:var(--card-bg);border-radius:12px;box-shadow:0 2px 10px var(--shadow-color);padding:30px}.blog-editor-preview h1{color:var(--text-primary);font-size:2rem;margin:0 0 20px}.blog-editor-preview .preview-image{border-radius:8px;margin-bottom:25px;max-height:300px;object-fit:cover;width:100%}.blog-editor-preview .preview-content{color:var(--text-primary);font-size:1.1rem;line-height:1.8}.blog-editor-preview .preview-content h1,.blog-editor-preview .preview-content h2,.blog-editor-preview .preview-content h3{color:var(--text-primary);margin-top:1.5em}.blog-editor-preview .preview-content p{margin-bottom:1em}.blog-editor-preview .preview-content a{color:var(--accent-color)}.blog-editor-preview .preview-content blockquote{border-left:4px solid var(--accent-color);color:var(--text-secondary);font-style:italic;margin:1em 0;padding-left:15px}.blog-editor-preview .preview-content code{background:var(--bg-tertiary);border-radius:4px;padding:2px 6px}.blog-editor-preview .preview-content pre{background:var(--bg-tertiary);border-radius:8px;overflow-x:auto;padding:15px}@media (max-width:768px){.blog-editor{padding:15px}.blog-editor-header{align-items:flex-start;flex-direction:column;gap:15px}.blog-editor-form{padding:20px}.blog-editor-footer{flex-direction:column}.blog-editor-footer .btn{width:100%}}.reaction-bar{border-top:1px solid var(--border-light);gap:16px;padding:8px 0}.reaction-bar,.reaction-btn{align-items:center;display:flex}.reaction-btn{background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;gap:4px;padding:4px 8px;transition:background-color .15s,color .15s}.reaction-btn:hover{background-color:var(--bg-primary)}.reaction-btn.active{color:var(--accent-secondary);font-weight:600}.reaction-btn .reaction-icon{font-size:1.1rem}.reaction-btn .reaction-count{font-size:.8rem;min-width:12px}.reaction-bar .recent-reactors{align-items:center;display:flex;margin-left:auto}.recent-reactors .reactor-avatar{border:2px solid var(--bg-secondary);border-radius:50%;height:22px;margin-left:-6px;object-fit:cover;width:22px}.recent-reactors .reactor-avatar:first-child{margin-left:0}.reaction-bar .ai-preview{color:var(--text-muted);font-size:.75rem;font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comments-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.comments-modal{background:var(--bg-secondary);border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:70vh;max-width:520px;width:90%}.comments-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:16px 20px}.comments-header h3{color:var(--text-primary);font-size:1rem;margin:0}.comments-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.4rem;line-height:1;padding:0}.comments-close-btn:hover{color:var(--text-primary)}.comments-list{flex:1 1;overflow-y:auto;padding:12px 20px}.comments-empty{color:var(--text-muted);font-size:.9rem;padding:24px 0;text-align:center}.comment-item{display:flex;gap:10px;margin-bottom:14px}.comment-avatar{object-fit:cover}.comment-avatar,.comment-avatar-placeholder{border-radius:50%;flex-shrink:0;height:32px;width:32px}.comment-avatar-placeholder{align-items:center;background:var(--bg-tertiary);color:var(--text-muted);display:flex;font-size:.75rem;justify-content:center}.comment-body{flex:1 1;min-width:0}.comment-author{color:var(--text-primary);font-size:.8rem;font-weight:600}.comment-author .ai-badge{color:var(--text-muted);font-size:.7rem;font-weight:400;margin-left:4px}.comment-text{color:var(--text-secondary);font-size:.85rem;margin-top:2px;word-break:break-word}.comment-meta{align-items:center;display:flex;gap:8px;margin-top:2px}.comment-delete-btn,.comment-time{color:var(--text-muted);font-size:.7rem}.comment-delete-btn{background:none;border:none;cursor:pointer;padding:0}.comment-delete-btn:hover{color:var(--error-text)}.comments-compose{border-top:1px solid var(--border-light);display:flex;gap:8px;padding:12px 20px}.comments-compose input{background:var(--input-bg);border:1px solid var(--border-color);border-radius:20px;color:var(--text-primary);flex:1 1;font-size:.85rem;outline:none;padding:8px 14px}.comments-compose input:focus{border-color:var(--accent-color)}.comments-compose button{background:var(--accent-color);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 16px;white-space:nowrap}.comments-compose button:hover{background:var(--accent-hover)}.comments-compose button:disabled{cursor:not-allowed;opacity:.5}.feed-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:10px;margin-bottom:16px;overflow:hidden}.feed-card-header{align-items:center;display:flex;gap:10px;padding:14px 16px 8px}.feed-card-avatar{object-fit:cover}.feed-card-avatar,.feed-card-avatar-placeholder{border-radius:50%;flex-shrink:0;height:40px;width:40px}.feed-card-avatar-placeholder{align-items:center;background:var(--bg-tertiary);color:var(--text-muted);display:flex;font-size:.9rem;font-weight:600;justify-content:center}.feed-card-user-info{flex:1 1;min-width:0}.feed-card-menu-wrapper{flex-shrink:0;position:relative}.feed-card-menu-btn{background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:1.2rem;line-height:1;padding:4px 8px}.feed-card-menu-btn:hover{background:var(--bg-tertiary)}.feed-card-menu{background:var(--card-bg);border:1px solid var(--border-light);border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:160px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10}.feed-card-menu-item{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:.85rem;padding:10px 14px;text-align:left;width:100%}.feed-card-menu-item:hover{background:var(--bg-tertiary)}.feed-card-menu-item--danger{color:#dc2626}.feed-card-user-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.feed-card-meta{align-items:center;color:var(--text-muted);display:flex;font-size:.75rem;gap:6px}.feed-card-datetime{color:var(--text-muted);font-size:.7rem;margin-top:1px}.feed-card-activity-name{color:var(--text-primary);font-size:.95rem;font-weight:600;padding:0 16px 4px}.feed-card-description{color:var(--text-secondary);font-size:.85rem;line-height:1.4;padding:0 16px 8px;white-space:pre-line}.feed-card-gear{color:var(--text-muted);display:flex;font-size:.75rem;gap:12px;padding:0 16px 8px}.feed-card-stats{display:flex;flex-wrap:wrap;gap:12px;padding:6px 16px 10px}.feed-card-stat{align-items:center;display:flex;flex-direction:column}.feed-card-stat-value{color:var(--text-primary);font-size:.9rem;font-weight:600}.feed-card-stat-label{color:var(--text-muted);font-size:.65rem;letter-spacing:.5px;text-transform:uppercase}.feed-card-map{height:200px;width:100%}.feed-card-photos{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.feed-card-photos::-webkit-scrollbar{display:none}.feed-card-photo{cursor:pointer;flex-shrink:0;height:200px;object-fit:cover}.feed-card-photo:only-child{width:100%}.feed-card-reactions{padding:0 16px 10px}.feed-card-voice-note{padding:4px 16px 8px}.voice-note-player{align-items:center;background:var(--bg-primary);border-radius:8px;display:flex;gap:8px;padding:8px 12px}.voice-note-play-btn{align-items:center;background:var(--accent-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.8rem;height:32px;justify-content:center;width:32px}.voice-note-play-btn:hover{background:var(--accent-hover)}.voice-note-progress{background:var(--border-color);border-radius:2px;flex:1 1;height:4px;overflow:hidden}.voice-note-progress-fill{background:var(--accent-color);border-radius:2px;height:100%;transition:width .1s}.voice-note-duration{color:var(--text-muted);font-size:.75rem;white-space:nowrap}.ride-story-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:10px;cursor:pointer;margin-bottom:16px;overflow:hidden;transition:box-shadow .2s ease}.ride-story-card:hover{box-shadow:0 2px 12px #00000014}.ride-story-cover{height:180px;overflow:hidden;position:relative;width:100%}.ride-story-cover-img{height:100%;object-fit:cover;width:100%}.ride-story-cover-fallback{background:linear-gradient(135deg,#d1d5db,#9ca3af 50%,#6b7280);height:100%;width:100%}.ride-story-badge{align-items:center;background:#0009;border-radius:12px;color:#fff;display:flex;font-size:.72rem;font-weight:600;gap:5px;left:12px;letter-spacing:.5px;padding:4px 10px;position:absolute;text-transform:uppercase;top:12px}.ride-story-content{padding:12px 16px 8px}.ride-story-title{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.3;margin-bottom:4px}.ride-story-summary-line{color:var(--text-secondary);font-size:.82rem;margin-bottom:4px}.ride-story-meta{align-items:center;color:var(--text-muted);display:flex;font-size:.75rem;gap:6px}.ride-story-action{align-items:center;color:var(--accent-color);display:flex;gap:4px;justify-content:flex-end;padding:6px 16px 12px}.ride-story-view-btn{font-size:.8rem;font-weight:500}.story-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.story-modal{background:var(--card-bg);border-radius:12px;max-height:85vh;max-width:600px;overflow-y:auto;position:relative;width:100%}.story-modal-close{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:12px;top:12px;width:32px;z-index:10}.story-modal-close:hover{background:#000000b3}.story-modal-error,.story-modal-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 20px}.story-loading-spinner{animation:story-spin .7s linear infinite;border:3px solid var(--border-light);border-radius:50%;border-top-color:var(--accent-color);height:28px;width:28px}@keyframes story-spin{to{transform:rotate(1turn)}}.story-modal-error button{background:var(--accent-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 20px}.story-cover-section{border-radius:12px 12px 0 0;height:200px;overflow:hidden;position:relative;width:100%}.story-cover-image{height:100%;object-fit:cover;width:100%}.story-cover-fallback{background:linear-gradient(135deg,#d1d5db,#9ca3af 50%,#6b7280);height:100%;width:100%}.story-cover-overlay{background:linear-gradient(#0000,#000000a6);bottom:0;left:0;padding:24px 20px 16px;position:absolute;right:0}.story-cover-title{color:#fff;font-size:1.3rem;font-weight:700;line-height:1.3;margin:0}.story-summary-stats{border-bottom:1px solid var(--border-light);display:flex;justify-content:space-around;padding:16px 12px}.story-stat{align-items:center;display:flex;flex-direction:column;gap:2px}.story-stat-value{color:var(--text-primary);font-size:.95rem;font-weight:600}.story-stat-label{color:var(--text-muted);font-size:.65rem;letter-spacing:.5px;text-transform:uppercase}.story-timeline{padding:16px 20px}.story-timeline-title{color:var(--text-primary);font-size:.9rem;font-weight:600;margin:0 0 16px}.story-timeline-item{display:flex;gap:12px;padding-bottom:20px;position:relative}.story-timeline-item:last-child{padding-bottom:0}.story-timeline-item:before{background:var(--border-light);bottom:0;content:"";left:5px;position:absolute;top:14px;width:1px}.story-timeline-item:last-child:before{display:none}.story-timeline-dot{background:var(--accent-color);border-radius:50%;flex-shrink:0;height:11px;margin-top:4px;width:11px}.story-timeline-content{flex:1 1;min-width:0}.story-item-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.story-item-avatar{object-fit:cover}.story-item-avatar,.story-item-avatar-placeholder{border-radius:50%;flex-shrink:0;height:28px;width:28px}.story-item-avatar-placeholder{align-items:center;background:var(--bg-tertiary);color:var(--text-muted);display:flex;font-size:.7rem;font-weight:600;justify-content:center}.story-item-user-info{align-items:center;display:flex;gap:6px}.story-item-user-name{color:var(--text-primary);font-size:.82rem;font-weight:600}.story-item-time{color:var(--text-muted);font-size:.72rem}.story-item-body{padding-left:36px}.story-item-image{border-radius:8px;margin-bottom:4px;max-height:300px;object-fit:cover;width:100%}.story-item-text{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0}.story-item-transcript{color:var(--text-secondary);font-size:.82rem;font-style:italic;line-height:1.4;margin:6px 0 0}.story-audio-player{align-items:center;background:var(--bg-primary);border-radius:8px;display:flex;gap:8px;margin-bottom:4px;padding:8px 12px}.story-audio-play-btn{align-items:center;background:var(--accent-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;height:30px;justify-content:center;width:30px}.story-audio-play-btn:hover{background:var(--accent-hover)}.story-audio-progress{background:var(--border-color);border-radius:2px;flex:1 1;height:4px;overflow:hidden}.story-audio-progress-fill{background:var(--accent-color);border-radius:2px;height:100%;transition:width .1s}.story-audio-duration{color:var(--text-muted);font-size:.72rem;white-space:nowrap}.story-participants{border-top:1px solid var(--border-light);padding:12px 20px 20px}.story-participants-title{color:var(--text-primary);font-size:.9rem;font-weight:600;margin:0 0 10px}.story-participant-row{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:6px 0}.story-participant-row:last-child{border-bottom:none}.story-participant-name{color:var(--text-primary);font-size:.85rem;font-weight:500}.story-participant-stats{color:var(--text-muted);font-size:.8rem}@media (max-width:640px){.story-modal-overlay{align-items:flex-end;padding:0}.story-modal{border-radius:12px 12px 0 0;max-height:95vh;max-width:100%}}.feed-sidebar-profile{background:var(--card-bg);border:1px solid var(--border-light);border-radius:10px;padding:20px 16px}.sidebar-profile-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;padding-bottom:16px;text-align:center}.sidebar-profile-avatar{border-radius:50%;height:64px;margin-bottom:10px;object-fit:cover;width:64px}.sidebar-profile-initials{align-items:center;background:var(--bg-tertiary);color:var(--text-secondary);display:flex;font-size:1.2rem;font-weight:600;justify-content:center}.sidebar-profile-name{color:var(--text-primary);font-size:1rem;font-weight:600}.sidebar-profile-meta{color:var(--text-muted);font-size:.8rem;margin-top:4px}.sidebar-meta-dot{margin:0 4px}.sidebar-profile-section{padding-top:14px}.sidebar-section-title{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.sidebar-stats-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr}.sidebar-stat{text-align:center}.sidebar-stat-value{color:var(--text-primary);font-size:.85rem;font-weight:600}.sidebar-stat-label{color:var(--text-muted);font-size:.7rem;margin-top:2px}.sidebar-trend{border-radius:4px;font-size:.75rem;margin-top:8px;padding:4px 8px;text-align:center}.sidebar-trend.trend-up{background:#f0fdf4;color:#16a34a}.sidebar-trend.trend-down{background:var(--bg-tertiary);color:#9ca3af}.sidebar-rides-list{display:flex;flex-direction:column;gap:10px}.sidebar-ride-item{background:var(--bg-secondary);border-radius:6px;padding:8px 10px}.sidebar-ride-name{color:var(--text-primary);font-size:.82rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-ride-meta{color:var(--text-muted);font-size:.72rem;margin-top:2px}.sidebar-profile-skeleton{align-items:center;display:flex;flex-direction:column;gap:10px;padding:20px}.sidebar-profile-skeleton .skeleton-circle{animation:shimmer 1.5s infinite;background:var(--bg-tertiary);border-radius:50%;height:64px;width:64px}.sidebar-profile-skeleton .skeleton-line{animation:shimmer 1.5s infinite;background:var(--bg-tertiary);border-radius:4px;height:12px}.sidebar-profile-skeleton .skeleton-line.medium{width:70%}.sidebar-profile-skeleton .skeleton-line.short{width:40%}.feed-sidebar-articles{background:var(--card-bg);border:1px solid var(--border-light);border-radius:10px;padding:20px 16px}.feed-sidebar-articles .sidebar-section-title{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.sidebar-articles-list{display:flex;flex-direction:column;gap:2px}.sidebar-article-item{border-radius:6px;cursor:pointer;padding:10px;transition:background .15s}.sidebar-article-item:hover{background:var(--bg-secondary)}.sidebar-article-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:.82rem;font-weight:500;line-height:1.3;overflow:hidden}.sidebar-article-meta{color:var(--text-muted);font-size:.7rem;margin-top:3px}.sidebar-articles-empty{color:var(--text-muted);font-size:.82rem;padding:16px 0;text-align:center}.sidebar-articles-view-all{background:none;border:1px solid var(--border-light);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:block;font-size:.8rem;font-weight:500;margin-top:12px;padding:8px;transition:background .15s,color .15s;width:100%}.sidebar-articles-view-all:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-articles-skeleton{display:flex;flex-direction:column;gap:12px}.sidebar-article-skeleton-item .skeleton-line{animation:shimmer 1.5s infinite;background:var(--bg-tertiary);border-radius:4px;height:10px}.sidebar-article-skeleton-item .skeleton-line.long{margin-bottom:6px;width:100%}.sidebar-article-skeleton-item .skeleton-line.short{width:50%}.feed-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:260px 1fr 260px;margin:0 auto;max-width:1200px;padding:16px 16px 0}.feed-main{min-width:0}.feed-sidebar{align-self:start;position:sticky;top:16px}@media (max-width:1024px){.feed-layout{gap:0;grid-template-columns:1fr;padding:0}.feed-sidebar{display:none}}.club-feed{margin:0 auto;max-width:600px;padding:0 8px}.club-feed-header{align-items:center;display:flex;justify-content:space-between;margin:16px 0 12px}.club-feed-title-row{align-items:center;display:flex;gap:10px}.club-feed-header .club-feed-title{margin:0}.feed-mode-switcher{position:relative}.feed-mode-btn{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;color:#374151;cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:4px;padding:5px 12px;transition:background .15s,border-color .15s;white-space:nowrap}.feed-mode-btn:hover{background:#e5e7eb;border-color:#d1d5db}.feed-mode-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001f;left:0;min-width:180px;overflow:hidden;position:absolute;top:calc(100% + 6px);z-index:10}.feed-mode-dropdown-item{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:.88rem;gap:8px;justify-content:space-between;padding:10px 14px;text-align:left;transition:background .12s;width:100%}.feed-mode-dropdown-item:hover{background:#f9fafb}.feed-mode-dropdown-item.active{color:#111;font-weight:600}.feed-onboarding{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin:24px 0;padding:60px 24px;text-align:center}.feed-onboarding-title{color:#111;color:var(--text-primary,#111);font-size:1.3rem;font-weight:700;margin:0 0 10px}.feed-onboarding-subtitle{color:#6b7280;font-size:.95rem;line-height:1.5;margin:0 0 24px}.feed-onboarding-btn{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:11px 24px;transition:background .15s}.feed-onboarding-btn:hover{background:#4b5563}.feed-onboarding-create{color:#9ca3af;font-size:.85rem;margin:14px 0 0}.club-feed-title{color:var(--text-primary);font-size:1.2rem;font-weight:700;margin:16px 0 12px}.compose-toggle-btn{align-items:center;background:#fff;background:var(--card-bg,#fff);border:2px solid #d1d5db;border:2px solid var(--border-color,#d1d5db);border-radius:50%;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.compose-toggle-btn:hover{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border-color:#6b7280;border-color:var(--accent-color,#6b7280);color:#6b7280;color:var(--accent-color,#6b7280)}.compose-toggle-btn.active{border-color:#9ca3af;border-color:var(--text-muted,#9ca3af);color:#9ca3af;color:var(--text-muted,#9ca3af);transform:rotate(45deg)}.compose-form{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-light,#e5e7eb);border-radius:10px;margin-bottom:16px;padding:12px}.compose-textarea{background:#0000;border:none;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:.9rem;line-height:1.5;outline:none;resize:none;width:100%}.compose-textarea::placeholder{color:#9ca3af;color:var(--text-muted,#9ca3af)}.compose-image-preview{border-radius:8px;margin:8px 0;max-height:250px;overflow:hidden;position:relative}.compose-image-preview img{border-radius:8px;display:block;max-height:250px;object-fit:cover;width:100%}.compose-image-remove{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;line-height:1;position:absolute;right:6px;top:6px;width:28px}.compose-image-remove:hover{background:#000c}.compose-actions{align-items:center;border-top:1px solid #e5e7eb;border-top:1px solid var(--border-light,#e5e7eb);display:flex;justify-content:space-between;margin-top:8px;padding-top:8px}.compose-actions-left{align-items:center;display:flex;gap:10px}.compose-actions-right{align-items:center;display:flex;gap:8px}.compose-photo-btn{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;font-size:.8rem;gap:4px;padding:4px 8px}.compose-photo-btn:hover{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);color:var(--text-primary)}.compose-char-count{color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:.75rem}.compose-char-count.over{color:#ef4444}.compose-cancel-btn{background:none;border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:6px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;font-size:.8rem;padding:5px 14px}.compose-cancel-btn:hover{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6)}.compose-submit-btn{background:#6b7280;background:var(--accent-color,#6b7280);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:5px 18px}.compose-submit-btn:hover:not(:disabled){opacity:.9}.compose-submit-btn:disabled{cursor:not-allowed;opacity:.5}.compose-error{color:#ef4444;font-size:.8rem;margin-top:6px}.club-feed-empty{color:var(--text-muted);padding:48px 20px;text-align:center}.club-feed-empty h3{color:var(--text-secondary);font-size:1.1rem;margin:0 0 8px}.club-feed-empty p{font-size:.9rem;margin:0}.club-feed-error{color:var(--error-text);padding:32px 20px;text-align:center}.club-feed-error button{background:var(--accent-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;margin-top:12px;padding:8px 20px}.club-feed-error button:hover{background:var(--accent-hover)}.club-feed-loading{color:var(--text-muted);font-size:.85rem;padding:20px;text-align:center}.club-feed-skeleton{background:var(--card-bg);border:1px solid var(--border-light);border-radius:10px;margin-bottom:16px;padding:16px}.skeleton-line{animation:shimmer 1.5s infinite;background:var(--bg-tertiary);border-radius:4px;height:12px;margin-bottom:10px}.skeleton-line.short{width:40%}.skeleton-line.medium{width:70%}.skeleton-line.long{width:100%}.skeleton-line.map{height:160px;margin-top:8px}@keyframes shimmer{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.ai-chat{display:flex;flex-direction:column;height:calc(100vh - 220px);min-height:400px}.ai-chat-empty{align-items:center;color:#9ca3af;display:flex;flex:1 1;flex-direction:column;gap:12px;justify-content:center}.ai-chat-empty-icon{font-size:48px;opacity:.5}.ai-chat-empty h3{color:#6b7280;font-size:16px;margin:0}.ai-chat-empty p{font-size:13px;margin:0}.ai-chat-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.ai-chat-chip{background:#fff;border:1px solid #d1d5db;border-radius:16px;color:#374151;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s}.ai-chat-chip:hover{background:#f3f4f6;border-color:#9ca3af}.ai-chat-messages{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:16px 0}.ai-chat-message{display:flex;gap:10px;max-width:85%}.ai-chat-message.user{align-self:flex-end;flex-direction:row-reverse}.ai-chat-message.assistant{align-self:flex-start}.ai-chat-avatar{align-items:center;background:#e5e7eb;border-radius:50%;display:flex;flex-shrink:0;font-size:14px;height:28px;justify-content:center;width:28px}.ai-chat-message.assistant .ai-chat-avatar{background:#374151;color:#fff}.ai-chat-bubble{border-radius:12px;font-size:14px;line-height:1.5;padding:10px 14px}.ai-chat-message.user .ai-chat-bubble{background:#374151;border-bottom-right-radius:4px;color:#fff}.ai-chat-message.assistant .ai-chat-bubble{background:#f3f4f6;border-bottom-left-radius:4px;color:#111827}.ai-chat-bubble p{margin:0 0 8px}.ai-chat-bubble p:last-child{margin-bottom:0}.ai-chat-bubble ol,.ai-chat-bubble ul{margin:4px 0;padding-left:20px}.ai-chat-bubble li{margin:2px 0}.ai-chat-bubble code{background:#e5e7eb;border-radius:3px;font-size:12px;padding:1px 4px}.ai-chat-bubble pre{background:#1f2937;border-radius:6px;color:#e5e7eb;font-size:12px;margin:8px 0;overflow-x:auto;padding:10px}.ai-chat-bubble pre code{background:none;color:inherit;padding:0}.ai-chat-bubble strong{font-weight:600}.ai-chat-bubble h1,.ai-chat-bubble h2,.ai-chat-bubble h3,.ai-chat-bubble h4{font-size:14px;font-weight:600;margin:12px 0 4px}.ai-chat-bubble h1{font-size:16px}.ai-chat-bubble h2{font-size:15px}.ai-chat-bubble table{border-collapse:collapse;font-size:13px;margin:8px 0}.ai-chat-bubble td,.ai-chat-bubble th{border:1px solid #d1d5db;padding:4px 8px}.ai-chat-bubble th{background:#e5e7eb;font-weight:600}.ai-chat-image-preview{border-radius:8px;margin-top:6px;max-height:150px;max-width:200px}.ai-chat-tools{display:flex;flex-wrap:wrap;gap:6px;overflow-x:auto;padding:4px 0}.tool-pill{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;color:#6b7280;display:inline-flex;font-size:11px;gap:5px;padding:3px 10px;white-space:nowrap}.tool-pill.running{border-color:#9ca3af}.tool-pill.completed{background:#f0fdf4;border-color:#86efac;color:#166534}.tool-pill.failed{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.tool-pill-spinner{animation:spin .8s linear infinite;border:1.5px solid #9ca3af;border-radius:50%;border-top-color:#0000;height:10px;width:10px}@keyframes spin{to{transform:rotate(1turn)}}.tool-pill-duration{font-size:10px;opacity:.7}.workout-draft-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin:8px 0;max-width:340px;padding:12px}.workout-draft-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.workout-draft-action{color:#6b7280;font-size:12px;font-weight:600;text-transform:uppercase}.workout-draft-action.create{color:#166534}.workout-draft-action.delete{color:#991b1b}.workout-draft-action.update{color:#92400e}.workout-draft-timer{color:#9ca3af;font-size:11px}.workout-draft-title{font-size:14px;font-weight:600;margin-bottom:4px}.workout-draft-details{color:#6b7280;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;margin-bottom:8px}.workout-draft-warnings{color:#92400e;font-size:11px;margin-bottom:8px}.workout-draft-buttons{display:flex;gap:8px}.workout-draft-buttons button{border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:12px;padding:5px 14px;transition:all .15s}.workout-draft-approve{background:#166534;border-color:#166534!important;color:#fff}.workout-draft-approve:hover{background:#15803d}.workout-draft-reject{background:#fff;color:#6b7280}.workout-draft-reject:hover{background:#f3f4f6}.workout-draft-expired{opacity:.5;pointer-events:none}.ai-chat-input-area{border-top:1px solid #e5e7eb;padding:12px 0}.ai-chat-image-strip{display:flex;gap:8px;margin-bottom:8px}.ai-chat-image-thumb{position:relative}.ai-chat-image-thumb img{border-radius:6px;height:48px;object-fit:cover;width:48px}.ai-chat-image-thumb button{align-items:center;background:#374151;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:10px;height:16px;justify-content:center;line-height:1;position:absolute;right:-4px;top:-4px;width:16px}.ai-chat-input-row{align-items:flex-end;display:flex;gap:8px}.ai-chat-input-row textarea{border:1px solid #d1d5db;border-radius:10px;flex:1 1;font-family:inherit;font-size:14px;line-height:1.4;max-height:120px;min-height:40px;outline:none;padding:10px 12px;resize:none;transition:border-color .15s}.ai-chat-input-row textarea:focus{border-color:#9ca3af}.ai-chat-input-row textarea:disabled{background:#f9fafb}.ai-chat-btn-image{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;transition:all .15s;width:36px}.ai-chat-btn-image:hover{background:#f3f4f6}.ai-chat-btn-send{align-items:center;background:#374151;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;transition:all .15s;width:36px}.ai-chat-btn-send:hover{background:#1f2937}.ai-chat-btn-send:disabled{background:#d1d5db;cursor:not-allowed}.ai-chat-status{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:8px;padding:6px 0}.ai-chat-status-spinner{animation:spin .8s linear infinite;border:2px solid #d1d5db;border-radius:50%;border-top-color:#6b7280;height:12px;width:12px}.ai-chat-cancel{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;font-size:11px;margin-left:auto;padding:2px 10px}.ai-chat-cancel:hover{background:#f3f4f6}.ai-chat-scroll-btn{align-items:center;align-self:center;background:#fff;border:1px solid #d1d5db;border-radius:50%;bottom:8px;box-shadow:0 2px 4px #0000001a;color:#6b7280;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;position:sticky;width:32px;z-index:5}.ai-chat-scroll-btn:hover{background:#f3f4f6}.ai-calendar{padding:16px 0}.ai-calendar-header{justify-content:space-between;margin-bottom:16px}.ai-calendar-header,.ai-calendar-nav{align-items:center;display:flex;gap:8px}.ai-calendar-nav button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .15s}.ai-calendar-nav button:hover{background:#f3f4f6}.ai-calendar-title{color:#111827;font-size:16px;font-weight:600;min-width:160px;text-align:center}.ai-calendar-view-toggle{border:1px solid #d1d5db;border-radius:6px;display:flex;gap:0;overflow:hidden}.ai-calendar-view-toggle button{background:#fff;border:none;color:#6b7280;cursor:pointer;font-size:12px;padding:6px 14px;transition:all .15s}.ai-calendar-view-toggle button.active{background:#374151;color:#fff}.ai-calendar-actions{display:flex;gap:8px}.ai-calendar-add-btn{background:#374151;border:1px solid #374151;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s}.ai-calendar-add-btn:hover{background:#1f2937}.ai-calendar-grid{grid-gap:1px;background:#e5e7eb;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.ai-calendar-day-header{background:#f9fafb;color:#6b7280;font-size:11px;font-weight:600;padding:8px 4px;text-align:center;text-transform:uppercase}.ai-calendar-day{background:#fff;cursor:pointer;min-height:72px;padding:4px;transition:background .15s}.ai-calendar-day:hover{background:#f9fafb}.ai-calendar-day.other-month{background:#f9fafb;opacity:.5}.ai-calendar-day.today{background:#fefce8}.ai-calendar-day-number{color:#374151;font-size:12px;font-weight:500;margin-bottom:2px}.ai-calendar-day.today .ai-calendar-day-number{color:#111827;font-weight:700}.ai-calendar-day-workouts{display:flex;flex-direction:column;gap:1px;overflow:hidden}.ai-calendar-day-label{align-items:center;border-radius:3px;display:flex;gap:3px;overflow:hidden;padding:1px 3px}.ai-calendar-day-label.completed{opacity:.45}.ai-calendar-label-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.ai-calendar-label-dot.endurance{background:#3b82f6}.ai-calendar-label-dot.tempo{background:#eab308}.ai-calendar-label-dot.intervals{background:#22c55e}.ai-calendar-label-dot.recovery{background:#a855f7}.ai-calendar-label-dot.race{background:#ef4444}.ai-calendar-label-dot.strength{background:#f97316}.ai-calendar-label-dot.rest{background:#6b7280}.ai-calendar-label-text{color:#374151;font-size:10px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-calendar-day-more{color:#9ca3af;font-size:9px;padding:0 3px}.ai-calendar-day.selected{background:#f0f0f0;box-shadow:inset 0 0 0 2px #374151}.ai-calendar-day-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:12px;padding:12px 16px}.ai-calendar-day-panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.ai-calendar-day-panel-title{color:#111827;font-size:14px;font-weight:600}.ai-calendar-day-panel-actions{align-items:center;display:flex;gap:8px}.ai-calendar-day-panel-add{background:#374151;border:1px solid #374151;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:4px 10px;transition:background .15s}.ai-calendar-day-panel-add:hover{background:#1f2937}.ai-calendar-day-panel-close{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;width:24px}.ai-calendar-day-panel-close:hover{background:#f3f4f6;color:#374151}.ai-calendar-day-panel-empty{color:#9ca3af;font-size:13px;padding:16px;text-align:center}.ai-calendar-day-panel-list{display:flex;flex-direction:column;gap:6px}.ai-calendar-day-panel-edit{background:#fff;border:1px solid #d1d5db;border-radius:5px;color:#374151;cursor:pointer;flex-shrink:0;font-size:11px;padding:4px 10px}.ai-calendar-day-panel-edit:hover{background:#f3f4f6}.ai-calendar-day-panel-delete{background:#fff;border:1px solid #fca5a5;border-radius:5px;color:#dc2626;cursor:pointer;flex-shrink:0;font-size:11px;padding:4px 10px}.ai-calendar-day-panel-delete:hover{background:#fef2f2}.ai-calendar-week{display:flex;flex-direction:column;gap:8px}.ai-calendar-week-day{align-items:flex-start;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;min-height:48px;padding:8px}.ai-calendar-week-day.today{background:#fefce8;border-color:#fde68a}.ai-calendar-week-day-label{color:#6b7280;flex-shrink:0;font-size:12px;font-weight:600;padding-top:2px;width:48px}.ai-calendar-week-day-date{color:#9ca3af;font-size:11px;font-weight:400}.ai-calendar-week-workouts{display:flex;flex:1 1;flex-direction:column;gap:6px}.ai-calendar-workout-card{align-items:center;background:#f3f4f6;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:6px 10px;transition:all .15s}.ai-calendar-workout-card:hover{background:#e5e7eb}.ai-calendar-workout-card.completed{opacity:.6}.ai-calendar-workout-type-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.ai-calendar-workout-type-dot.endurance{background:#3b82f6}.ai-calendar-workout-type-dot.tempo{background:#eab308}.ai-calendar-workout-type-dot.intervals{background:#22c55e}.ai-calendar-workout-type-dot.recovery{background:#a855f7}.ai-calendar-workout-type-dot.race{background:#ef4444}.ai-calendar-workout-type-dot.strength{background:#f97316}.ai-calendar-workout-type-dot.rest{background:#6b7280}.ai-calendar-workout-info{color:#374151;flex:1 1;font-size:13px}.ai-calendar-workout-info .title{font-weight:500}.ai-calendar-workout-info .meta{color:#9ca3af;font-size:11px}.ai-calendar-workout-check{align-items:center;background:#fff;border:1.5px solid #d1d5db;border-radius:4px;color:#166534;cursor:pointer;display:flex;flex-shrink:0;font-size:11px;height:18px;justify-content:center;width:18px}.ai-calendar-workout-check.checked{background:#dcfce7;border-color:#86efac}.workout-modal-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.workout-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000026;max-height:80vh;max-width:90vw;overflow-y:auto;padding:24px;width:420px}.workout-modal h3{color:#111827;font-size:16px;font-weight:600;margin:0 0 16px}.workout-modal-field{margin-bottom:12px}.workout-modal-field label{color:#6b7280;display:block;font-size:12px;font-weight:500;margin-bottom:4px}.workout-modal-field input,.workout-modal-field select,.workout-modal-field textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:13px;outline:none;padding:8px 10px;width:100%}.workout-modal-field input:focus,.workout-modal-field select:focus,.workout-modal-field textarea:focus{border-color:#9ca3af}.workout-modal-field textarea{min-height:60px;resize:vertical}.workout-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.workout-modal-actions button{border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .15s}.workout-modal-save{background:#374151;border-color:#374151!important;color:#fff}.workout-modal-save:hover{background:#1f2937}.workout-modal-delete{background:#fff;border-color:#fca5a5!important;color:#dc2626}.workout-modal-delete:hover{background:#fef2f2}.workout-modal-cancel{background:#fff;color:#6b7280}.workout-modal-cancel:hover{background:#f3f4f6}.ai-calendar-empty{color:#9ca3af;font-size:13px;padding:32px;text-align:center}.ai-settings{display:flex;flex-direction:column;gap:24px;padding:16px 0}.ai-settings-section{border:1px solid #e5e7eb;border-radius:10px;padding:16px}.ai-settings-section h3{color:#111827;font-size:14px;font-weight:600;margin:0 0 12px}.ai-settings-styles{display:flex;flex-direction:column;gap:8px}.ai-settings-style-option{align-items:center;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:all .15s}.ai-settings-style-option:hover{background:#f9fafb}.ai-settings-style-option.active{background:#f3f4f6;border-color:#374151}.ai-settings-style-radio{align-items:center;border:2px solid #d1d5db;border-radius:50%;display:flex;flex-shrink:0;height:16px;justify-content:center;width:16px}.ai-settings-style-option.active .ai-settings-style-radio{border-color:#374151}.ai-settings-style-radio-dot{background:#374151;border-radius:50%;height:8px;width:8px}.ai-settings-style-info{flex:1 1}.ai-settings-style-name{color:#111827;font-size:13px;font-weight:500}.ai-settings-style-desc{color:#9ca3af;font-size:11px}.ai-settings-sessions{display:flex;flex-direction:column;gap:6px}.ai-settings-session-item{align-items:center;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;font-size:13px;gap:10px;padding:8px 10px;transition:all .15s}.ai-settings-session-item:hover{background:#f9fafb}.ai-settings-session-summary{color:#374151;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-settings-session-meta{color:#9ca3af;font-size:11px;white-space:nowrap}.ai-settings-session-badge{background:#dcfce7;border-radius:10px;color:#166534;font-size:10px;font-weight:500;padding:2px 8px}.ai-settings-new-session{align-self:flex-start;background:#374151;border:1px solid #374151;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;margin-top:8px;padding:8px 16px}.ai-settings-new-session:hover{background:#1f2937}.ai-settings-facts{display:flex;flex-direction:column;gap:6px}.ai-settings-fact-item{align-items:center;border:1px solid #e5e7eb;border-radius:6px;display:flex;font-size:13px;gap:8px;padding:8px 10px}.ai-settings-fact-content{color:#374151;flex:1 1}.ai-settings-fact-category{color:#9ca3af;font-size:10px;text-transform:uppercase}.ai-settings-fact-status{border-radius:10px;font-size:10px;font-weight:500;padding:2px 8px}.ai-settings-fact-status.pending{background:#fef3c7;color:#92400e}.ai-settings-fact-status.confirmed{background:#dcfce7;color:#166534}.ai-settings-fact-actions{display:flex;gap:4px}.ai-settings-fact-actions button{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;font-size:11px;padding:3px 8px}.ai-settings-fact-actions button:hover{background:#f3f4f6}.ai-settings-fact-actions button.danger{border-color:#fca5a5;color:#dc2626}.ai-settings-fact-actions button.danger:hover{background:#fef2f2}.ai-settings-fact-actions button.confirm{border-color:#86efac;color:#166534}.ai-settings-fact-actions button.confirm:hover{background:#f0fdf4}.ai-settings-forget-all{align-self:flex-start;background:#fff;border:1px solid #fca5a5;border-radius:6px;color:#dc2626;cursor:pointer;font-size:12px;margin-top:8px;padding:6px 14px}.ai-settings-forget-all:hover{background:#fef2f2}.ai-settings-goals{display:flex;flex-direction:column;gap:6px}.ai-settings-goal-item{border:1px solid #e5e7eb;border-radius:6px;padding:8px 10px}.ai-settings-goal-title{color:#374151;font-size:13px;font-weight:500}.ai-settings-goal-meta{color:#9ca3af;font-size:11px;margin-top:2px}.ai-settings-add-goal{align-self:flex-start;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:12px;margin-top:8px;padding:6px 14px}.ai-settings-add-goal:hover{background:#f3f4f6}.ai-settings-empty{color:#9ca3af;font-size:13px;padding:8px 0}.ai-settings-goal-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:12px}.ai-settings-goal-form input,.ai-settings-goal-form select{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:13px;padding:6px 10px}.ai-settings-goal-form-actions{display:flex;gap:8px}.ai-settings-goal-form-actions button{border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:12px;padding:6px 14px}.ai-settings-goal-form-actions .save{background:#374151;border-color:#374151;color:#fff}.ai-settings-goal-form-actions .cancel{background:#fff;color:#6b7280}.ai-coach-container{margin:0 auto;max-width:900px;padding:0 16px}.ai-coach-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:0;margin-bottom:0}.ai-coach-tabs button{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .15s}.ai-coach-tabs button:hover{color:#374151}.ai-coach-tabs button.active{border-bottom-color:#374151;color:#111827}.ai-coach-content{min-height:500px}.club-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.club-modal-card{background:#fff;background:var(--bg-primary,#fff);border-radius:8px;box-shadow:0 8px 32px #0000002e;max-width:480px;padding:28px 28px 24px;width:100%}.club-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.club-modal-title{color:#111;color:var(--text-primary,#111);font-size:1.2rem;font-weight:600;margin:0}.club-modal-close{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1.5rem;line-height:1;padding:0 4px}.club-modal-close:hover{color:#111;color:var(--text-primary,#111)}.club-modal-form{display:flex;flex-direction:column;gap:16px}.club-modal-field{display:flex;flex-direction:column;gap:6px}.club-modal-label{color:#374151;color:var(--text-primary,#374151);font-size:.85rem;font-weight:500}.club-modal-input,.club-modal-textarea{background:#fff;background:var(--bg-primary,#fff);border:1px solid #d1d5db;border-radius:6px;color:#111;color:var(--text-primary,#111);font-family:inherit;font-size:.95rem;outline:none;padding:10px 12px;resize:vertical;transition:border-color .15s}.club-modal-input:focus,.club-modal-textarea:focus{border-color:#6b7280}.club-modal-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.85rem;padding:8px 12px}.club-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.club-modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:9px 18px;transition:background .15s,opacity .15s}.club-modal-btn:disabled{cursor:not-allowed;opacity:.5}.club-modal-btn-cancel{background:#f3f4f6;color:#374151}.club-modal-btn-cancel:hover:not(:disabled){background:#e5e7eb}.club-modal-btn-submit{background:#6b7280;color:#fff}.club-modal-btn-submit:hover:not(:disabled){background:#4b5563}.club-detail{margin:0 auto;max-width:860px;padding:16px}.club-detail-error,.club-detail-loading{padding:32px 16px}.club-detail-skeleton{animation:skeleton-pulse 1.2s ease-in-out infinite;background:#f3f4f6;border-radius:4px;height:24px;margin-bottom:12px}.club-detail-skeleton.short{width:60%}.club-detail-back{background:none;border:none;color:#6b7280;cursor:pointer;display:block;font-size:.9rem;margin-bottom:16px;padding:0}.club-detail-back:hover{color:#111;color:var(--text-primary,#111)}.club-detail-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.club-detail-info{flex:1 1}.club-detail-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.club-detail-name{color:#111;color:var(--text-primary,#111);font-size:1.4rem;font-weight:700;margin:0}.club-detail-short{background:#f3f4f6;border-radius:12px;color:#6b7280;font-size:.85rem;padding:2px 8px}.club-detail-meta{align-items:center;color:#6b7280;display:flex;font-size:.85rem;gap:10px;margin-top:6px}.club-role-badge{border-radius:10px;font-size:.75rem;font-weight:500;letter-spacing:.03em;padding:2px 8px;text-transform:uppercase}.club-role-admin{background:#e5e7eb;color:#374151}.club-role-member{background:#f9fafb;border:1px solid #e5e7eb;color:#6b7280}.club-detail-leave{background:none;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.85rem;padding:7px 14px;transition:border-color .15s,color .15s;white-space:nowrap}.club-detail-leave:hover{border-color:#9ca3af;color:#374151}.club-detail-tabs{border-bottom:1px solid #e5e7eb;display:flex;gap:0;margin-bottom:20px}.club-detail-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:.9rem;gap:6px;margin-bottom:-1px;padding:10px 18px;transition:color .15s,border-color .15s}.club-detail-tab.active,.club-detail-tab:hover{color:#111;color:var(--text-primary,#111)}.club-detail-tab.active{border-bottom-color:#6b7280;font-weight:500}.club-tab-badge{background:#6b7280;border-radius:10px;color:#fff;font-size:.75rem;font-weight:600;padding:1px 6px}.club-info-tab{display:flex;flex-direction:column;gap:14px}.club-info-row{align-items:flex-start;color:#374151;color:var(--text-primary,#374151);display:flex;font-size:.9rem;gap:8px}.club-info-label{color:#6b7280;font-weight:500;min-width:80px}.club-info-description{color:#374151;color:var(--text-primary,#374151);line-height:1.5;margin:0}.club-members-table{border-collapse:collapse;font-size:.88rem;width:100%}.club-members-table th{border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.8rem;font-weight:500;padding:8px 10px;text-align:left}.club-members-table td{border-bottom:1px solid #f3f4f6;padding:10px;vertical-align:middle}.club-members-table tr:last-child td{border-bottom:none}.club-member-avatar{border-radius:50%;height:32px;object-fit:cover;width:32px}.club-member-initials{align-items:center;background:#e5e7eb;border-radius:50%;color:#6b7280;display:flex;font-size:.75rem;font-weight:600;height:32px;justify-content:center;width:32px}.club-member-username{color:#9ca3af}.club-member-date{color:#9ca3af;font-size:.82rem}.club-member-actions{display:flex;flex-wrap:wrap;gap:6px}.club-no-requests{color:#9ca3af;font-size:.9rem;padding:32px 0;text-align:center}.club-requests-list{display:flex;flex-direction:column;gap:12px}.club-request-row{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:12px 16px}.club-request-info{display:flex;flex-direction:column;gap:2px}.club-request-name{color:#111;color:var(--text-primary,#111);font-size:.9rem;font-weight:500}.club-request-username{color:#9ca3af;font-size:.82rem}.club-request-message{color:#6b7280;font-size:.85rem;font-style:italic}.club-request-date{color:#9ca3af;font-size:.8rem}.club-request-actions{display:flex;flex-shrink:0;gap:8px}.club-action-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:5px;color:#374151;cursor:pointer;font-size:.82rem;padding:5px 12px;transition:background .15s;white-space:nowrap}.club-action-btn:hover:not(:disabled){background:#e5e7eb}.club-action-btn:disabled{cursor:not-allowed;opacity:.5}.club-action-btn-danger{border-color:#fecaca;color:#dc2626}.club-action-btn-danger:hover:not(:disabled){background:#fef2f2}.club-action-btn-approve{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.club-action-btn-approve:hover:not(:disabled){background:#dcfce7}.club-invite-section{margin-bottom:16px}.club-invite-toggle{background:none;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.85rem;padding:7px 14px;transition:border-color .15s,color .15s}.club-invite-toggle:hover{border-color:#9ca3af;color:#111;color:var(--text-primary,#111)}.club-invite-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:12px;padding:14px}.club-invite-input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.88rem;outline:none;padding:8px 12px;width:100%}.club-invite-input:focus{border-color:#9ca3af}.club-invite-msg{color:#6b7280;font-size:.85rem;margin:8px 0 0}.club-invite-results{display:flex;flex-direction:column;gap:6px;margin-top:10px}.club-invite-row{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:12px;justify-content:space-between;padding:8px 10px}.club-invite-user{align-items:center;display:flex;font-size:.88rem;gap:8px}.club-invite-no-results{color:#9ca3af;font-size:.85rem;margin:10px 0 0;text-align:center}.clubs-list-view{margin:0 auto;max-width:860px;padding:16px}.clubs-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.clubs-list-title{color:#111;color:var(--text-primary,#111);font-size:1.4rem;font-weight:700;margin:0}.clubs-create-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:500;padding:9px 16px;transition:background .15s}.clubs-create-btn:hover{background:#4b5563}.clubs-search-section{margin-bottom:24px;position:relative}.clubs-search-input{background:#fff;background:var(--bg-primary,#fff);border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#111;color:var(--text-primary,#111);font-size:.95rem;outline:none;padding:10px 14px;transition:border-color .15s;width:100%}.clubs-search-input:focus{border-color:#6b7280}.clubs-search-loading{color:#9ca3af;font-size:.9rem;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.clubs-search-results{margin-bottom:28px}.clubs-section-title{color:#6b7280;font-size:.85rem;font-weight:600;letter-spacing:.06em;margin:0 0 12px;text-transform:uppercase}.clubs-search-card{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px;padding:12px 16px}.clubs-search-card-info{display:flex;flex-direction:column;gap:2px}.clubs-search-card-name{color:#111;color:var(--text-primary,#111);font-size:.95rem;font-weight:500}.clubs-search-card-count{color:#9ca3af;font-size:.82rem}.clubs-search-card-action{align-items:center;display:flex;flex-shrink:0;gap:8px}.clubs-invitations-section{margin-bottom:24px}.clubs-invitation-card{align-items:center;background:#fff;background:var(--card-bg,var(--bg-primary,#fff));border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-left:3px solid #6b7280;border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px;padding:14px 16px}.clubs-invitation-info{display:flex;flex-direction:column;gap:3px;min-width:0}.clubs-invitation-name{color:#111;color:var(--text-primary,#111);font-size:.95rem;font-weight:600}.clubs-invitation-short{align-self:flex-start;background:#f3f4f6;border-radius:8px;color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:.78rem;padding:1px 6px}.clubs-invitation-by{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.82rem}.clubs-invitation-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.clubs-my-section{margin-top:4px}.clubs-loading{display:flex;flex-direction:column;gap:12px}.clubs-skeleton-card{animation:skeleton-pulse 1.2s ease-in-out infinite;background:#f3f4f6;border-radius:8px;height:90px}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.clubs-error{color:#dc2626;font-size:.9rem}.clubs-empty{color:#6b7280;padding:48px 16px;text-align:center}.clubs-empty p{margin:0 0 6px}.clubs-empty-subtitle{color:#9ca3af;font-size:.88rem}.clubs-card-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.clubs-card{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;padding:16px 18px;transition:border-color .15s,box-shadow .15s}.clubs-card:hover{border-color:#9ca3af;box-shadow:0 2px 8px #0000000f}.clubs-card-top{align-items:center;display:flex;gap:8px;margin-bottom:8px}.clubs-card-name{color:#111;color:var(--text-primary,#111);font-size:1rem;font-weight:600}.clubs-card-short{background:#f3f4f6;border-radius:8px;color:#9ca3af;font-size:.78rem;padding:1px 6px}.clubs-card-bottom{align-items:center;display:flex;justify-content:space-between}.clubs-card-count{color:#9ca3af;font-size:.82rem}.clubs-card-badges{align-items:center;display:flex;gap:6px}.clubs-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.83rem;line-height:1.4;margin:8px 0 0;overflow:hidden}.clubs-role-badge{border-radius:10px;font-size:.72rem;font-weight:500;letter-spacing:.04em;padding:2px 7px;text-transform:uppercase}.clubs-role-admin{background:#e5e7eb;color:#374151}.clubs-role-member{background:#f9fafb;border:1px solid #e5e7eb;color:#6b7280}.clubs-pending-badge{align-items:center;background:#6b7280;border-radius:50%;color:#fff;display:flex;font-size:.72rem;font-weight:600;height:20px;justify-content:center;width:20px}.clubs-badge{border-radius:10px;font-size:.78rem;font-weight:500;padding:3px 9px}.clubs-badge-pending{background:#fef3c7;color:#92400e}.clubs-badge-joined{background:#d1fae5;color:#065f46}.clubs-action-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.82rem;padding:6px 13px;transition:background .15s,opacity .15s}.clubs-action-btn:hover:not(:disabled){background:#4b5563}.clubs-action-btn:disabled{cursor:not-allowed;opacity:.5}.clubs-action-btn-cancel{background:none;border:1px solid #d1d5db;color:#6b7280}.clubs-action-btn-cancel:hover:not(:disabled){background:#f3f4f6}.clubs-rides-section{margin-bottom:1.5rem}.clubs-ride-card{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;margin-bottom:.5rem;padding:.75rem 1rem;transition:background-color .15s}.clubs-ride-card:hover{background-color:#f9fafb}.clubs-ride-card-title{color:#111;color:var(--text-primary,#111);font-size:.95rem;font-weight:600}.clubs-ride-card-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:.85rem;gap:1rem;margin-top:.25rem}@media (max-width:640px){.clubs-card-grid{grid-template-columns:1fr}.clubs-list-header{align-items:flex-start;flex-direction:column;gap:12px}}.create-group-ride{margin:0 auto;max-width:640px;padding:20px}.create-group-ride-header{align-items:center;display:flex;gap:16px;margin-bottom:24px}.create-group-ride-header h2{color:#1f2937;color:var(--text-primary,#1f2937);font-size:1.4rem;font-weight:600;margin:0}.create-group-ride-back{background:none;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;font-size:.85rem;padding:6px 14px;transition:background-color .15s}.create-group-ride-back:hover{background-color:#f3f4f6}.create-group-ride-success{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534}.create-group-ride-error,.create-group-ride-success{font-size:.9rem;margin-bottom:16px;padding:12px 16px}.create-group-ride-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b}.create-group-ride-form{display:flex;flex-direction:column;gap:18px}.create-group-ride-form .form-group{display:flex;flex-direction:column;gap:6px}.create-group-ride-form .form-group label:first-child{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.85rem;font-weight:500}.create-group-ride-form input[type=datetime-local],.create-group-ride-form input[type=text],.create-group-ride-form select,.create-group-ride-form textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;color:var(--text-primary,#1f2937);font-family:inherit;font-size:.95rem;padding:10px 12px;transition:border-color .15s}.create-group-ride-form input:focus,.create-group-ride-form select:focus,.create-group-ride-form textarea:focus{border-color:#9ca3af;box-shadow:0 0 0 2px #9ca3af33;outline:none}.create-group-ride-form textarea{min-height:72px;resize:vertical}.form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}@media (max-width:520px){.form-row{grid-template-columns:1fr}}.radio-group{display:flex;flex-wrap:wrap;gap:16px}.radio-label{align-items:center;color:#1f2937;color:var(--text-primary,#1f2937);cursor:pointer;display:flex;font-size:.9rem;gap:6px}.radio-label input[type=radio]{accent-color:#6b7280;height:16px;width:16px}.create-group-ride-submit{background-color:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:6px;padding:12px 24px;transition:background-color .15s}.create-group-ride-submit:hover:not(:disabled){background-color:#4b5563}.create-group-ride-submit:disabled{cursor:not-allowed;opacity:.5}.group-ride-route{background:var(--card-bg);border:1px solid var(--border-light);border-radius:10px;overflow:hidden}.group-ride-route-header{align-items:center;display:flex;justify-content:space-between;padding:12px 16px 8px}.group-ride-route-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.group-ride-route-source-badge{align-items:center;background:var(--bg-tertiary);border-radius:12px;color:var(--text-muted);display:inline-flex;font-size:.7rem;font-weight:500;gap:4px;padding:2px 8px}.group-ride-route-map{height:200px;width:100%}.group-ride-route-stats{display:flex;gap:16px;padding:10px 16px}.group-ride-route-stat{align-items:center;display:flex;flex-direction:column}.group-ride-route-stat-value{color:var(--text-primary);font-size:.9rem;font-weight:600}.group-ride-route-stat-label{color:var(--text-muted);font-size:.65rem;letter-spacing:.5px;text-transform:uppercase}.group-ride-route-actions{display:flex;gap:8px;padding:8px 16px 12px}.group-ride-route-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:6px;padding:6px 12px;text-decoration:none;transition:background .15s}.group-ride-route-btn:hover{background:var(--bg-tertiary)}.group-ride-route-btn-icon{font-size:.85rem}.group-ride-route-empty{color:var(--text-muted);font-size:.85rem;padding:20px 16px;text-align:center}.group-ride-route-end-location{align-items:center;display:flex;font-size:.85rem;gap:6px;padding:8px 16px 12px}.group-ride-route-end-icon{font-size:.9rem}.group-ride-route-end-label{color:var(--text-muted);font-weight:500}.group-ride-route-end-name{color:var(--text-primary)}.slideshow-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.slideshow-modal{background:var(--card-bg);border-radius:12px;max-height:85vh;max-width:600px;overflow-y:auto;position:relative;width:100%}.slideshow-modal-close{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:12px;top:12px;width:32px;z-index:10}.slideshow-modal-close:hover{background:#000000b3}.slideshow-modal-error,.slideshow-modal-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 20px}.slideshow-loading-spinner{animation:slideshow-spin .7s linear infinite;border:3px solid var(--border-light);border-radius:50%;border-top-color:var(--accent-color);height:28px;width:28px}@keyframes slideshow-spin{to{transform:rotate(1turn)}}.slideshow-modal-error button{background:var(--accent-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 20px}.slideshow-header-section{border-radius:12px 12px 0 0;height:200px;overflow:hidden;position:relative;width:100%}.slideshow-header-image{height:100%;object-fit:cover;width:100%}.slideshow-header-fallback{background:linear-gradient(135deg,#d1d5db,#9ca3af 50%,#6b7280);height:100%;width:100%}.slideshow-header-overlay{background:linear-gradient(#0000,#000000a6);bottom:0;left:0;padding:24px 20px 16px;position:absolute;right:0}.slideshow-header-title{color:#fff;font-size:1.3rem;font-weight:700;line-height:1.3;margin:0}.slideshow-header-date{color:#fffc;font-size:.82rem;margin:4px 0 0}.slideshow-summary-stats{border-bottom:1px solid var(--border-light);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-around;padding:16px 12px}.slideshow-stat{align-items:center;display:flex;flex-direction:column;gap:2px}.slideshow-stat-value{color:var(--text-primary);font-size:.95rem;font-weight:600}.slideshow-stat-label{color:var(--text-muted);font-size:.65rem;letter-spacing:.5px;text-transform:uppercase}.slideshow-timeline{padding:16px 20px}.slideshow-timeline-title{color:var(--text-primary);font-size:.9rem;font-weight:600;margin:0 0 16px}.slideshow-timeline-item{display:flex;gap:12px;padding-bottom:20px;position:relative}.slideshow-timeline-item:last-child{padding-bottom:0}.slideshow-timeline-item:before{background:var(--border-light);bottom:0;content:"";left:5px;position:absolute;top:14px;width:1px}.slideshow-timeline-item:last-child:before{display:none}.slideshow-timeline-dot{background:var(--accent-color);border-radius:50%;flex-shrink:0;height:11px;margin-top:4px;width:11px}.slideshow-timeline-content{flex:1 1;min-width:0}.slideshow-item-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.slideshow-item-avatar{border-radius:50%;flex-shrink:0;height:28px;object-fit:cover;width:28px}.slideshow-item-avatar-placeholder{align-items:center;background:var(--bg-tertiary);border-radius:50%;color:var(--text-muted);display:flex;flex-shrink:0;font-size:.7rem;font-weight:600;height:28px;justify-content:center;width:28px}.slideshow-item-user-info{align-items:center;display:flex;gap:6px}.slideshow-item-user-name{color:var(--text-primary);font-size:.82rem;font-weight:600}.slideshow-item-time{color:var(--text-muted);font-size:.72rem}.slideshow-item-body{padding-left:36px}.slideshow-item-image{border-radius:8px;margin-bottom:4px;max-height:300px;object-fit:cover;width:100%}.slideshow-item-text{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0}.slideshow-item-transcript{color:var(--text-secondary);font-size:.82rem;font-style:italic;line-height:1.4;margin:6px 0 0}.slideshow-audio-player{align-items:center;background:var(--bg-primary);border-radius:8px;display:flex;gap:8px;margin-bottom:4px;padding:8px 12px}.slideshow-audio-play-btn{align-items:center;background:var(--accent-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;height:30px;justify-content:center;width:30px}.slideshow-audio-play-btn:hover{background:var(--accent-hover)}.slideshow-audio-progress{background:var(--border-color);border-radius:2px;flex:1 1;height:4px;overflow:hidden}.slideshow-audio-progress-fill{background:var(--accent-color);border-radius:2px;height:100%;transition:width .1s}.slideshow-audio-duration{color:var(--text-muted);font-size:.72rem;white-space:nowrap}@media (max-width:640px){.slideshow-modal-overlay{align-items:flex-end;padding:0}.slideshow-modal{border-radius:12px 12px 0 0;max-height:95vh;max-width:100%}}.group-ride-detail{margin:0 auto;max-width:680px;padding:16px}.group-ride-detail-header{align-items:center;display:flex;gap:12px;margin-bottom:20px}.group-ride-detail-back{background:none;border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.85rem;padding:6px 12px;transition:background .15s}.group-ride-detail-back:hover{background:var(--bg-tertiary)}.group-ride-detail-title{color:var(--text-primary);font-size:1.3rem;font-weight:600;margin:0}.group-ride-detail-info{background:var(--card-bg);border:1px solid var(--border-light);border-radius:10px;margin-bottom:16px;padding:16px}.group-ride-detail-meta{align-items:center;display:flex;gap:12px;margin-bottom:10px}.group-ride-detail-date{color:var(--text-primary);font-size:.9rem;font-weight:500}.group-ride-detail-time{color:var(--text-muted);font-size:.85rem}.group-ride-detail-location{display:flex;font-size:.85rem;gap:6px;margin-bottom:8px}.group-ride-detail-location-label{color:var(--text-muted);font-weight:500}.group-ride-detail-description{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:10px 0}.group-ride-detail-participants{color:var(--text-muted);font-size:.8rem;margin-top:8px}.group-ride-detail-slideshow-btn{background:none;border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);cursor:pointer;display:inline-block;font-size:.85rem;margin-top:12px;padding:8px 16px;transition:background .15s}.group-ride-detail-slideshow-btn:hover{background:var(--bg-tertiary)}.group-ride-detail-error,.group-ride-detail-loading{color:var(--text-muted);font-size:.9rem;padding:40px 16px;text-align:center}
/*# sourceMappingURL=main.fbd2c622.css.map*/