: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}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;transition:background-color .3s ease,color .3s ease}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{min-height:100vh;position:relative;text-align:center}@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:40px;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,h3{color:var(--text-primary)}h3{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)}.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)}.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 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}.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}h2{border-bottom:2px solid var(--border-light);color:var(--text-primary);font-size:1.8rem;margin-top:0;padding-bottom:12px}.user-list-table{border-collapse:collapse;margin-top:20px;width:100%}.user-list-table td,.user-list-table th{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:12px 15px;text-align:left}.user-list-table th{background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:.85rem;font-weight:600;text-transform:uppercase}.user-list-table tbody tr:hover{background-color:var(--table-hover)}.user-list-table .actions{display:flex;gap:8px}.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-grant{background-color:#28a745;border-color:#28a745;color:#fff}.btn-grant:hover{background-color:#218838}.btn-revoke{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-revoke:hover{background-color:#c82333}.btn-delete{background-color:#d32f2f;border-color:#d32f2f;color:#fff!important}.btn-delete:hover{background-color:#b71c1c;border-color:#b71c1c}.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}}.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;font-weight:600;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;border-color:#28a745;color:#fff}.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;display:inline-block;font-size:11px;font-weight:500;padding:2px 8px}.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:#d3f9d8;color:#2f9e44}.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{background:#00000080;padding:20px}.modal-content{border-radius:12px;max-width:500px;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-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)}}body.alps-epic-background .App-header{background-color:initial;background-image:none;box-shadow:none}body.alps-epic-background{background-attachment:fixed;background-image:var(--bg-image);background-position:50%;background-repeat:no-repeat;background-size:cover}.alps-epic-container{background-color:var(--bg-overlay);font-family:Roboto,sans-serif;padding:5px 20px;transition:background-color .3s ease}.timeline{margin:0 auto;max-width:1200px;position:relative}.timeline:after{background:linear-gradient(to bottom,var(--primary-300),var(--primary-500));border-radius:3px;bottom:0;content:"";left:50%;margin-left:-3px;position:absolute;top:0;width:6px;z-index:1}.timeline-item{background-color:inherit;padding:20px 40px;position:relative;width:50%;z-index:2}.timeline-item.left{left:0}.timeline-item.right{left:50%}.timeline-item:not(:last-child){margin-bottom:-140px}.timeline-item:after{background-color:var(--card-bg);border:4px solid var(--primary-500);border-radius:50%;content:"";height:25px;position:absolute;right:-17px;top:35px;width:25px;z-index:2}.timeline-item.right:after{left:-16px}.timeline-item.disabled{filter:grayscale(.2);opacity:.9;pointer-events:none}.day-card{background-color:var(--card-bg);border-radius:12px;border-top:5px solid var(--primary-500);box-shadow:0 10px 30px var(--shadow-color);padding:25px;position:relative;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.day-card:hover{box-shadow:0 15px 40px var(--shadow-hover);transform:translateY(-5px)}.day-card .day-number{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:5px}.day-card .day-title{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:15px}.stats{list-style:none;margin:0 0 15px;padding:0}.stats li{align-items:center;color:var(--text-secondary);display:flex;font-size:1rem;margin-bottom:8px}.stats i{color:var(--primary-500);font-size:1.2rem;margin-right:12px;text-align:center;width:20px}.short-version-info{background-color:var(--bg-tertiary);border-left:3px solid var(--primary-400);border-radius:6px;color:var(--text-secondary);font-size:.9rem;padding:8px}.timeline-item.tdf-stage .day-card{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-top-color:#f59e0b;transform:scale(1.05)}.timeline-item.tdf-stage .day-card:hover{box-shadow:0 20px 50px #f59e0b4d;transform:scale(1.08) translateY(-5px)}.timeline-item.tdf-stage:after{background-color:#fef3c7;border-color:#f59e0b}.timeline-item.tdf-stage .stats i{color:#f59e0b}.tdf-badge{background:#f59e0b;border-radius:20px;box-shadow:0 4px 10px #f59e0b66;color:#fff;font-size:.85rem;font-weight:700;padding:6px 12px;position:absolute;right:15px;top:-15px}@media screen and (max-width:768px){.timeline:after{left:31px}.timeline-item{padding-left:70px;padding-right:25px;width:100%}.timeline-item.left,.timeline-item.right{left:0}.timeline-item:after{left:15px}.timeline-item.tdf-stage .day-card{transform:scale(1)}.timeline-item:not(:last-child){margin-bottom:-10px}}@media (max-width:768px){body.alps-epic-background{background-color:var(--bg-primary)!important;background-image:none!important}body.alps-epic-background .App-header{background-attachment:scroll!important;background-color:initial!important;background-image:url(/static/media/tlo_menu.e635c6ebd044be7f0025.jpg)!important;background-size:cover!important;box-shadow:0 2px 4px var(--shadow-color)!important}}.modal-overlay{align-items:center;background-color:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--card-bg);border-radius:15px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;padding:30px;position:relative;width:90%}.modal-close-button{background:#0000;border:none;color:var(--text-muted);cursor:pointer;font-size:2.5rem;line-height:1;position:absolute;right:15px;top:15px}.modal-title{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:20px;margin-top:0}.modal-tdf-badge{background:#f59e0b;border-radius:15px;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;margin-bottom:20px;padding:5px 10px}.modal-body{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr 1fr}.modal-section{background-color:var(--bg-tertiary);border-radius:10px;padding:20px}.modal-section h3{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:1.2rem;margin-bottom:15px;margin-top:0;padding-bottom:10px}.modal-section p{color:var(--text-secondary);margin:0 0 10px}.cols-list{list-style-type:none;padding:0}.cols-list li{background-color:var(--bg-secondary);border-radius:5px;color:var(--text-primary);margin-bottom:5px;padding:8px 12px}.image-gallery{text-align:center}.main-image{border-radius:10px;margin-bottom:15px;width:100%}.image-controls{align-items:center;display:flex;gap:15px;justify-content:center}.image-controls button{background:#6b7280;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1.2rem;padding:8px 15px}.image-controls button:disabled{background:var(--text-muted);cursor:not-allowed}@media screen and (max-width:768px){.modal-body{grid-template-columns:1fr}}.fullscreen-image-overlay{align-items:center;background:#000000f2;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.fullscreen-image{border-radius:0;box-shadow:0 0 40px #000000b3;max-height:100vh;max-width:100vw;object-fit:contain}.fullscreen-close{background:#0000;line-height:1;position:fixed;right:32px;top:24px}.fullscreen-arrow,.fullscreen-close{border:none;color:#fff;cursor:pointer;font-size:3rem;z-index:2100}.fullscreen-arrow{background:#00000080;border-radius:50%;padding:0 18px;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s;-webkit-user-select:none;user-select:none}.fullscreen-arrow:disabled{cursor:not-allowed;opacity:.3}.fullscreen-arrow-left{left:24px}.fullscreen-arrow-right{right:24px}@media (max-width:768px){.fullscreen-image{height:100vh;max-height:100vh;max-width:100vw;object-fit:contain;width:100vw}.fullscreen-close{font-size:2.2rem;right:16px;top:12px}.fullscreen-arrow{font-size:2.2rem;padding:0 10px}.fullscreen-arrow-left{left:8px}.fullscreen-arrow-right{right:8px}}.strava-routes-section{background-color:var(--bg-tertiary);border-left:4px solid #fc4c02;border-radius:12px;margin-top:30px;padding:20px}.strava-routes-section h3{align-items:center;color:var(--text-primary);display:flex;font-size:1.3rem;font-weight:600;gap:10px;margin-bottom:20px}.strava-routes-section h3 i{color:#fc4c02;font-size:1.4rem}.strava-routes-container{display:flex;flex-direction:column;gap:25px}.strava-route-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px var(--shadow-color);padding:15px}.route-title{color:var(--text-secondary);font-size:1.1rem;font-weight:500;margin-bottom:15px;text-align:center}.strava-embed-placeholder{border-radius:6px;min-height:300px;overflow:hidden;width:100%}@media screen and (max-width:768px){.strava-routes-section{margin-top:20px;padding:15px}.strava-routes-section h3{font-size:1.1rem}.strava-route-item{padding:10px}.strava-embed-placeholder{min-height:250px}}.alps-epic-title{color:#6b7280;font-family:Montserrat,Oswald,Roboto Slab,Arial,sans-serif;font-size:2.8rem;font-weight:900;letter-spacing:.12em;text-shadow:0 2px 8px #1e1e3c1f;text-transform:uppercase}@media (max-width:600px){.alps-epic-title{font-size:1.4rem}}.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}}.blog-list{padding:20px 0}.blog-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.blog-list-empty,.blog-list-error,.blog-list-loading{background:var(--card-bg);border-radius:12px;color:var(--text-secondary);padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-color);height:40px;margin:0 auto 15px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.blog-view-all{margin-top:30px;text-align:center}.blog-view-all .btn-secondary{background:#0000;border:2px solid var(--primary-700);color:var(--primary-700);font-weight:600;padding:12px 30px}.blog-view-all .btn-secondary:hover{background:var(--primary-700);color:#fff}.blog-pagination{align-items:center;display:flex;gap:20px;justify-content:center;margin-top:40px;padding:20px 0}.btn-pagination:hover:not(:disabled){background:var(--primary-700);border-color:var(--primary-700)}.btn-secondary{background:var(--bg-secondary);border:2px solid var(--accent-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--accent-color);color:#fff}@media (max-width:768px){.blog-grid{gap:20px;grid-template-columns:1fr}.blog-pagination{flex-direction:column;gap:15px}}.blog-article{margin:0 auto;max-width:800px;padding:20px}.blog-article-error,.blog-article-loading{background:var(--card-bg);border-radius:12px;color:var(--text-secondary);padding:60px 20px;text-align:center}.blog-article-header{margin-bottom:30px}.blog-back-button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s ease}.blog-back-button:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.blog-article-content{background:var(--card-bg);border-radius:12px;box-shadow:0 4px 20px var(--shadow-color);overflow:hidden}.blog-article-image{max-height:400px;overflow:hidden;width:100%}.blog-article-image img{height:100%;object-fit:cover;width:100%}.blog-article-title{color:var(--text-primary);font-size:2.2rem;font-weight:800;line-height:1.2;margin:30px 30px 20px}.blog-article-meta{border-bottom:1px solid var(--border-color);color:var(--text-muted);display:flex;font-size:.95rem;gap:20px;margin-bottom:30px;padding:0 30px 20px}.blog-article-author{font-weight:500}.blog-article-date{font-style:italic}.blog-article-body{color:var(--text-primary);font-size:1.1rem;line-height:1.8;padding:0 30px 30px;text-align:left}.blog-article-body h1,.blog-article-body h2,.blog-article-body h3,.blog-article-body h4{color:var(--text-primary);margin-bottom:.5em;margin-top:1.5em}.blog-article-body h2{border-bottom:2px solid var(--border-color);font-size:1.6rem;padding-bottom:10px}.blog-article-body h3{font-size:1.3rem}.blog-article-body p{margin-bottom:1.2em}.blog-article-body a{color:var(--accent-color);text-decoration:underline}.blog-article-body a:hover{color:var(--accent-hover)}.blog-article-body ol,.blog-article-body ul{margin-bottom:1.2em;padding-left:25px}.blog-article-body li{margin-bottom:.5em}.blog-article-body blockquote{background:var(--bg-tertiary);border-left:4px solid var(--accent-color);color:var(--text-secondary);font-style:italic;margin:1.5em 0;padding:15px 20px}.blog-article-body pre{background:var(--bg-tertiary);border-radius:8px;margin:1.5em 0;overflow-x:auto;padding:20px}.blog-article-body code{background:var(--bg-tertiary);border-radius:4px;font-family:Fira Code,Consolas,monospace;font-size:.9em;padding:2px 6px}.blog-article-body pre code{background:none;padding:0}.blog-article-body img{border-radius:8px;height:auto;margin:1.5em 0;max-width:100%}.blog-article-body hr{border:none;border-top:1px solid var(--border-color);margin:2em 0}@media (max-width:768px){.blog-article{padding:15px}.blog-article-title{font-size:1.6rem;margin:20px 20px 15px}.blog-article-meta{flex-direction:column;gap:5px;padding:0 20px}.blog-article-body{font-size:1rem;padding:0 20px 20px}}.auth-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.auth-modal{background:var(--card-bg);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:450px;overflow-y:auto;padding:40px;position:relative;width:100%}.auth-modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:2rem;line-height:1;padding:5px 10px;position:absolute;right:15px;top:15px}.auth-modal-close:hover{color:var(--text-primary)}.auth-modal h2{color:var(--accent-color);font-size:1.8rem;margin:0 0 10px;text-align:center}.auth-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:25px;text-align:center}.auth-divider{color:var(--text-muted);font-weight:500;margin:20px 0;text-align:center}.form-group{margin-bottom:15px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.form-group input.error{border-color:var(--error-text)}.form-group textarea{min-height:80px}.field-error{color:var(--error-text);display:block;font-size:.8rem;margin-top:5px}.captcha-group{display:flex;justify-content:center}.checkbox-group{text-align:left}.checkbox-group label{align-items:flex-start;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;gap:10px}.checkbox-group input{margin-top:3px;width:auto}.checkbox-group a{color:var(--accent-color);text-decoration:underline}.btn-submit{background:var(--accent-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:14px;transition:background .2s ease;width:100%}.btn-submit:hover:not(:disabled){background:var(--accent-hover)}.btn-submit:disabled{background:var(--text-muted);cursor:not-allowed}.btn-google{align-items:center;background:#4285f4;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:10px;justify-content:center;padding:14px;transition:background .2s ease;width:100%}.btn-google:hover{background:#3367d6}.auth-links{display:flex;flex-direction:column;gap:10px;margin-top:20px;text-align:center}.link-button{background:none;border:none;color:var(--accent-color);cursor:pointer;font-size:.95rem;padding:5px;text-decoration:underline}.link-button:hover{color:var(--accent-hover)}.auth-message{border-radius:8px;font-size:.95rem;margin-top:20px;padding:12px 15px;text-align:center}.auth-message.success{background:var(--success-bg);border:1px solid var(--success-text);color:var(--success-text)}.auth-message.error{background:var(--error-bg);border:1px solid var(--error-text);color:var(--error-text)}@media (max-width:480px){.auth-modal{padding:30px 20px}.form-row{grid-template-columns:1fr}.auth-modal h2{font-size:1.5rem}}.homepage{background-color:var(--bg-primary);min-height:100vh}.homepage-hero-header{background-position:50%;background-repeat:no-repeat;background-size:cover;padding-bottom:60px;position:relative}.hero-header-overlay{background:linear-gradient(180deg,#0009,#0006 50%,#000000b3);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.homepage-hero-header .homepage-header{background:#0000;box-shadow:none;position:relative;z-index:10}.homepage-hero-header .homepage-logo img{filter:brightness(0) invert(1)}.homepage-hero-header .btn-login{border-color:#fff;color:#fff}.homepage-hero-header .btn-login:hover{background:#fff;color:var(--accent-color)}.homepage-hero-header .theme-toggle-hp{background:#ffffff26;border-color:#ffffff4d;color:#fff}.hero-header-content{padding:40px 30px 20px;position:relative;text-align:center;z-index:10}.hero-header-title{color:#fff;font-family:Montserrat,Arial,sans-serif;font-size:3rem;font-weight:900;letter-spacing:.12em;margin:0 0 15px;text-shadow:2px 2px 8px #00000080;text-transform:uppercase}.hero-header-subtitle{color:#ffffffe6;font-size:1.3rem;font-style:italic;margin:0;text-shadow:1px 1px 4px #0006}.homepage-logged-in .homepage-blog-only{margin:0 auto;max-width:1200px;min-height:calc(100vh - 200px);padding:30px}.homepage-logged-in .homepage-blog-only h2{display:none}.homepage-blog-public{margin:0 auto;max-width:1200px;min-height:calc(100vh - 200px);padding:40px 30px}.homepage-blog-public h2{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:40px;text-align:center}.homepage-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;box-shadow:0 2px 20px #00000014;display:flex;justify-content:space-between;padding:15px 30px;position:sticky;top:0;z-index:100}.homepage-logo img{height:70px;transition:transform .3s ease;width:auto}.homepage-logo img:hover{transform:scale(1.05)}.homepage-nav{align-items:center;display:flex;gap:12px}.user-greeting{color:var(--text-secondary);font-weight:500;padding:0 10px}.theme-toggle-hp{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:1.1rem;padding:8px 12px;transition:all .2s ease}.theme-toggle-hp:hover{background:var(--bg-tertiary);transform:scale(1.05)}.btn-login{background:#0000;border:2px solid var(--accent-color);border-radius:8px;color:var(--text-primary);font-weight:600;padding:10px 25px;transition:all .2s ease}.btn-login:hover{background:var(--accent-color);color:#fff}.btn-about{background:#0000;border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-weight:600;padding:10px 25px;transition:all .2s ease;white-space:nowrap}.homepage-hero-header .btn-about{border-color:#fff9;color:#fff}.btn-about:hover{background:#0000001a}.homepage-hero-header .btn-about:hover{background:#fff3;border-color:#fff}.btn-register{background:#0000;border:2px solid var(--accent-color);border-radius:8px;color:var(--text-primary);font-weight:600;padding:10px 25px;transition:all .2s ease}.homepage-hero-header .btn-register{border-color:#fff;color:#fff}.btn-register:hover{background:var(--accent-color);color:#fff}.homepage-hero-header .btn-register:hover{background:#fff;color:var(--accent-color)}.btn-primary-hp{background:var(--accent-color);border:none;border-radius:8px;color:#fff;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn-primary-hp:hover{background:var(--accent-hover);transform:translateY(-2px)}.btn-logout-hp{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-weight:500;padding:10px 20px;transition:all .2s ease}.btn-logout-hp:hover{background:var(--bg-tertiary)}.btn-back{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-weight:500;padding:10px 20px}.homepage-main{padding:0}.homepage-hero{align-items:center;background-color:var(--primary-900);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;justify-content:center;min-height:70vh;overflow:hidden;position:relative}@media (min-width:769px){.homepage-hero{background-attachment:fixed}}.hero-overlay{background:linear-gradient(135deg,#00000080,#0000004d 50%,#00000080);bottom:0;left:0;position:absolute;right:0;top:0}.hero-content{max-width:900px;padding:40px;position:relative;text-align:center;z-index:2}.hero-title{animation:fadeInUp .8s ease-out;color:#fff;font-family:Montserrat,Arial,sans-serif;font-size:4rem;font-weight:900;letter-spacing:.15em;margin:0 0 20px;text-shadow:3px 3px 6px #0006;text-transform:uppercase}.hero-subtitle{animation:fadeInUp .8s ease-out .2s both;color:#fffffff2;font-size:1.6rem;font-style:italic;margin:0 0 40px;text-shadow:2px 2px 4px #0000004d}.hero-buttons{animation:fadeInUp .8s ease-out .4s both;display:flex;flex-wrap:wrap;gap:20px;justify-content:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.btn-large{border-radius:10px;font-size:1.1rem;font-weight:600;padding:16px 40px;transition:all .3s ease}.btn-primary{background:var(--primary-700);border:none;box-shadow:0 4px 15px #243b534d;color:#fff}.btn-primary:hover{background:var(--primary-800);box-shadow:0 6px 20px #243b5366;transform:translateY(-3px)}.btn-secondary{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:2px solid #fff;color:#fff}.btn-secondary:hover{background:#fff;color:var(--primary-800)}.btn-outline{background:#0000;border:2px solid #ffffff80;color:#fff}.btn-outline:hover{background:#ffffff1a;border-color:#fff}.homepage-features{background:var(--bg-secondary);padding:80px 30px}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:1200px}.feature-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;padding:40px 30px;text-align:center;transition:all .3s ease}.feature-card:hover{box-shadow:0 20px 40px #0000001a;transform:translateY(-8px)}.feature-icon{font-size:3rem;margin-bottom:20px}.feature-card h3{color:var(--text-primary);font-size:1.3rem;font-weight:700;margin:0 0 15px}.feature-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0}.homepage-blog{background:var(--bg-primary);margin:0 auto;max-width:1200px;padding:80px 30px}.homepage-blog h2{color:var(--text-primary);font-size:2.2rem;font-weight:700;margin-bottom:50px;text-align:center}.all-articles-section{background:var(--bg-primary);margin:0 auto;max-width:1200px;min-height:calc(100vh - 200px);padding:60px 30px}.all-articles-section h2{color:var(--text-primary);font-size:2rem;margin-bottom:40px;text-align:center}.homepage-about{background:var(--primary-800);padding:100px 30px;text-align:center}.about-wrapper{margin:0 auto;max-width:800px}.homepage-about h2{color:#fff;font-size:2.2rem;font-weight:700;margin-bottom:30px}.about-content{color:#ffffffd9;font-size:1.15rem;line-height:1.9}.about-content p{margin-bottom:20px}.homepage-about .btn-primary{background:#fff;border:none;box-shadow:0 4px 20px #ffffff26;color:var(--primary-800);margin-top:30px}.homepage-about .btn-primary:hover{background:var(--primary-50);box-shadow:0 6px 25px #ffffff40;transform:translateY(-3px)}.homepage-footer{align-items:center;background:var(--primary-900);border-top:none;color:#ffffffb3;display:flex;font-size:.9rem;justify-content:space-between;padding:40px 30px}.homepage-footer .footer-left{text-align:left}.homepage-footer .footer-right{text-align:right}@media (max-width:768px){.homepage-footer{flex-direction:column;gap:10px}.homepage-footer,.homepage-footer .footer-left,.homepage-footer .footer-right{text-align:center}}@media (max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.homepage-header{flex-wrap:wrap;gap:10px;padding:10px 15px}.homepage-logo img{height:50px}.homepage-nav{flex-wrap:wrap;gap:8px;justify-content:center}.user-greeting{display:none}.btn-about,.btn-login,.btn-logout-hp,.btn-primary-hp,.btn-register{font-size:.85rem;padding:8px 15px}.homepage-hero{background-attachment:scroll;min-height:60vh}.hero-title{font-size:2.2rem;letter-spacing:.08em}.hero-subtitle{font-size:1.1rem}.hero-content{padding:20px}.hero-buttons{align-items:center;flex-direction:column}.btn-large{max-width:280px;padding:14px 30px;width:100%}.features-grid{gap:20px;grid-template-columns:1fr}.feature-card{padding:30px 25px}.homepage-about,.homepage-blog,.homepage-features{padding:50px 20px}.homepage-about h2,.homepage-blog h2{font-size:1.6rem}.hero-header-title{font-size:2rem;letter-spacing:.08em}.hero-header-subtitle{font-size:1rem}.hero-header-content{padding:30px 20px 10px}}@media (max-width:480px){.hero-header-title{font-size:1.6rem}.hero-header-subtitle{font-size:.9rem}.hero-title{font-size:1.8rem}.hero-subtitle{font-size:1rem}.feature-icon{font-size:2.5rem}.feature-card h3{font-size:1.1rem}}.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%}}
/*# sourceMappingURL=main.ced4b497.css.map*/