.default-container-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:24px;background-color:var(--color-background-grey)}.login-container{max-width:400px;width:100%;box-sizing:border-box;padding:24px;border-radius:16px;background-color:#fff;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:12px;align-items:center}.login-container label{width:100%;text-align:left}.login-container input{width:100%;padding:10px;border:1px solid var(--color-grey);border-radius:8px;font-size:16px;box-sizing:border-box}.password-input{width:100%;position:relative}.password-toggle-icon{position:absolute;height:16px;right:48px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--color-grey)}.forgot-password{width:100%;text-align:right;color:var(--color-neon-blue);font-size:14px;cursor:pointer;margin-top:5px}.login-container button{width:100%;padding:12px 24px;background-color:var(--color-black);color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:12px}.login-container button:hover{background-color:var(--color-dark-blue)}.login-container button:disabled{background-color:var(--color-grey);cursor:not-allowed}.or-text{color:var(--color-grey)}.help-text{color:var(--color-grey);font-style:italic;margin-top:12px}.login-container button svg{font-size:16px}.password-toggle-link{color:var(--color-grey);font-size:13px;cursor:pointer;margin:0}.password-toggle-link:hover{color:var(--color-neon-blue, #007bff);text-decoration:underline}.login-section{width:100%;display:flex;flex-direction:column;gap:12px;align-items:center}.login-divider{width:100%;display:flex;align-items:center;gap:12px;margin:4px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background-color:var(--color-grey);opacity:.4}.login-divider span{color:var(--color-grey);font-size:14px;white-space:nowrap}.magic-link-button{background-color:var(--color-dark-blue, #1a1a2e)!important}.magic-link-button:hover{opacity:.9}.magic-link-sent{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.magic-link-sent h2{margin:0}.magic-link-icon{font-size:48px;color:var(--color-neon-blue, #007bff)}.magic-link-hint{color:var(--color-grey);font-size:14px;line-height:1.5}.back-link{color:var(--color-neon-blue, #007bff);cursor:pointer;font-size:14px;margin-top:8px}.back-link:hover{text-decoration:underline}.magic-link-callback{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.magic-link-callback h2{margin:0;color:#28a745}.callback-info{font-size:15px;line-height:1.5;margin:0}.code-display{font-family:SF Mono,Fira Code,Courier New,monospace;font-size:36px;font-weight:700;letter-spacing:6px;padding:16px 24px;background-color:var(--color-background-grey, #f5f5f5);border-radius:12px;margin:8px 0;-webkit-user-select:all;user-select:all;cursor:pointer;display:flex;align-items:center;gap:12px;transition:background-color .15s ease}.code-display:active{background-color:var(--color-grey, #ccc)}.copy-icon{font-size:20px;color:var(--color-grey);display:flex;align-items:center}.copied-feedback{color:#28a745;font-size:13px;margin:0;font-weight:600}.callback-hint{color:var(--color-grey);font-size:13px;font-style:italic;line-height:1.5}.page-container{min-height:100vh;background-color:var(--color-off-white);font-family:var(--font-body-new)}.auth-initial-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-off-white);padding:24px}.auth-initial-loading-text{margin:0;font-size:17px;font-weight:600;color:var(--color-dark-blue);font-family:var(--font-body-new)}.navbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background-color:var(--color-off-white);border-bottom:1px solid var(--color-cream);position:sticky;top:0;z-index:100}.navbar-profile{display:flex;align-items:center;gap:10px}.navbar-profile-image{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--color-neon-blue)}.navbar-profile-fallback{width:40px;height:40px;border-radius:50%;background:var(--gradient-blue);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;text-transform:uppercase}.navbar-profile-name{font-size:14px;font-weight:600;color:var(--color-dark-blue)}.navbar-title{font-size:18px;font-family:var(--font-primary);color:var(--color-dark-blue);margin:0;position:absolute;left:50%;transform:translate(-50%)}.navbar-logout{background-color:transparent;color:var(--color-grey);border:none;padding:8px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:color .2s ease}.navbar-logout:hover{color:var(--color-negative)}.page-content{padding:24px;max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.nav-button-container{display:flex;justify-content:center}.nav-button{background-color:var(--color-neon-blue);color:var(--color-white);border:none;padding:16px 32px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;width:100%;max-width:400px;box-shadow:0 4px 12px #3859ff4d}.nav-button:hover{background-color:var(--color-dark-blue);transform:translateY(-2px);box-shadow:0 6px 16px #3859ff66}.dashboard-card{background-color:var(--color-white);border-radius:16px;padding:24px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:12px}.dashboard-card h3{font-size:16px;font-weight:700;font-family:var(--font-body-new);color:var(--color-dark-blue);margin:0;padding-bottom:12px;border-bottom:1px solid var(--color-background-grey)}.dashboard-card p{font-size:14px;color:var(--color-dark-grey);margin:0;line-height:1.5}.dashboard-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.empty-state{text-align:center;padding:24px;color:var(--color-grey)}.sessions-toggle{display:flex;background-color:var(--color-background-grey);border-radius:10px;padding:4px;gap:4px}.toggle-btn{flex:1;padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:var(--font-body-new);cursor:pointer;transition:all .2s ease;background-color:transparent;color:var(--color-grey)}.toggle-btn:hover{color:var(--color-dark-blue)}.toggle-btn.active{background-color:var(--color-white);color:var(--color-dark-blue);box-shadow:0 2px 4px #0000001a}.workouts-container{display:flex;flex-direction:column;gap:24px}.workout-day-group{display:flex;flex-direction:column;gap:12px}.workout-day-header{font-size:14px;font-weight:600;color:var(--color-dark-blue);margin:0;padding-bottom:8px;border-bottom:1px solid var(--color-cream)}.workout-day-list{display:flex;flex-direction:column;gap:8px}.workout-row{display:grid;grid-template-columns:60px 1fr 28px 50px 36px;gap:12px;align-items:center;background-color:var(--color-white);padding:14px 16px;border-radius:12px;box-shadow:0 1px 3px #00000014}.workout-time{font-size:16px;font-weight:700;color:var(--color-dark-blue);font-family:var(--font-body-new)}.workout-details{display:flex;flex-direction:column;gap:2px;min-width:0}.workout-location{font-size:14px;font-weight:600;color:var(--color-dark-blue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-timer{font-size:12px;color:var(--color-grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-spots{font-size:13px;font-weight:600;color:var(--color-dark-blue);font-family:var(--font-body-new);text-align:center}.workout-playlist-indicator{display:flex;justify-content:center;align-items:center}.playlist-icon{font-size:18px}.playlist-icon.has-playlist{color:var(--color-positive)}.playlist-icon.no-playlist{color:var(--color-dark-grey)}.workout-row.clickable{cursor:pointer;transition:all .15s ease}.workout-row.clickable:hover{background-color:var(--color-light-blue);transform:translate(4px)}.workout-row.clickable:active{transform:translate(2px)}.navbar-back{background:none;border:none;font-size:20px;font-weight:300;color:var(--color-dark-blue);cursor:pointer;padding:0 8px;line-height:1;transition:color .2s ease;display:flex;align-items:center;justify-content:center}.navbar-back:hover{color:var(--color-neon-blue)}.navbar-spacer{width:60px}.workout-detail-header{background-color:var(--color-white);border-radius:16px;padding:20px 24px;box-shadow:0 2px 4px #0000001a;text-align:center}.workout-detail-date{font-size:18px;font-weight:700;color:var(--color-dark-blue);margin-bottom:8px}.workout-detail-info{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.workout-detail-time{font-size:16px;font-weight:600;color:var(--color-neon-blue)}.workout-detail-separator{color:var(--color-grey)}.workout-detail-location,.workout-detail-format{font-size:14px;color:var(--color-dark-grey)}.workout-location-info-section{background-color:var(--color-white);border-radius:16px;padding:20px 24px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.workout-location-info-title{font-size:16px;font-weight:700;color:var(--color-dark-blue);padding-bottom:12px;border-bottom:1px solid var(--color-cream)}.workout-location-info-content{display:flex;flex-direction:column;gap:12px;margin-top:12px}.workout-location-info-row{display:flex;align-items:center;gap:8px;font-size:14px}.workout-location-info-label{color:var(--color-dark-grey);min-width:180px}.workout-location-info-value{font-weight:600;color:var(--color-dark-blue)}.workout-location-info-link{display:inline-flex;align-items:center;gap:6px;color:var(--color-neon-blue);font-weight:600;text-decoration:none;transition:color .2s ease}.workout-location-info-link:hover{color:var(--color-dark-blue)}.workout-playlist-section{background-color:var(--color-white);border-radius:16px;padding:20px 24px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.workout-playlist-header{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.workout-playlist-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--color-dark-blue);padding-bottom:12px;border-bottom:1px solid var(--color-cream)}.workout-playlist-edit-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:var(--color-neon-blue);color:var(--color-white);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.workout-playlist-edit-btn:hover{background-color:var(--color-dark-blue)}.workout-playlist-content{padding-top:8px}.workout-playlist-info{display:flex;flex-direction:column;gap:8px}.workout-playlist-name{margin:0;font-size:15px;font-weight:600;color:var(--color-dark-blue)}.workout-playlist-mode{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;width:fit-content}.workout-playlist-mode svg{font-size:11px}.workout-playlist-mode.order{background-color:#e3f2fd;color:#1976d2}.workout-playlist-mode.shuffle{background-color:#f3e5f5;color:#7b1fa2}.workout-playlist-loading,.workout-playlist-empty{margin:0;font-size:14px;color:var(--color-grey);font-style:italic}.bookings-section{background-color:var(--color-white);border-radius:16px;padding:20px 24px;box-shadow:0 2px 4px #0000001a}.bookings-section-title{font-size:16px;font-weight:700;color:var(--color-dark-blue);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--color-cream)}.bookings-section-title.no-show-title{color:var(--color-negative)}.bookings-list{display:flex;flex-direction:column;gap:8px}.booking-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px 12px;align-items:center;padding:12px 16px;background-color:var(--color-off-white);border-radius:10px}.booking-card.no-show{background-color:#ffebee;opacity:.8}.booking-card.no-show .booking-name{color:var(--color-negative)}.booking-name{font-size:15px;font-weight:600;color:var(--color-dark-blue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;justify-self:start;text-align:left}.booking-flag{font-size:1.15rem;line-height:1;flex-shrink:0}.booking-total{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:2.25rem;font-size:13px;font-weight:700;color:var(--color-dark-blue);font-variant-numeric:tabular-nums}.booking-total-value{font-variant-numeric:tabular-nums}.booking-total-first .booking-total-value{color:var(--color-neon-blue)}.booking-total-anniversary .booking-total-value{color:var(--color-positive)}.booking-milestone-icon{font-size:10px;flex-shrink:0}.booking-milestone-star{color:#f9a825}.booking-milestone-trophy{color:var(--color-positive)}.booking-numbers{display:flex;align-items:baseline;gap:5px;font-variant-numeric:tabular-nums;flex-shrink:0}.booking-num-global{font-size:14px;font-weight:700;color:var(--color-dark-blue);min-width:1.25rem;text-align:right}.booking-numbers-sep{font-size:12px;font-weight:600;color:var(--color-grey);opacity:.7}.booking-num-trainer{font-size:13px;font-weight:600;color:var(--color-grey);min-width:1.25rem}.error-text{color:var(--color-negative);text-align:center;padding:24px}.notification-warning-card{background:linear-gradient(135deg,#fff8e1,#ffecb3);border:2px solid #f9a825;box-shadow:0 4px 12px #f9a82540}.notification-warning-header{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(249,168,37,.3)}.notification-warning-header h3{margin:0;padding:0;border:none;color:#e65100;font-size:16px}.warning-icon{font-size:24px;color:#f9a825}.notification-warning-content{display:flex;flex-direction:column;gap:12px}.notification-warning-content p{color:#5d4037;font-weight:500;line-height:1.6}.notification-blocked{color:var(--color-negative)!important;font-weight:600!important}.enable-notifications-btn{background-color:#f9a825;color:#5d4037;border:none;padding:14px 24px;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease;align-self:flex-start;box-shadow:0 2px 8px #f9a82566}.enable-notifications-btn:hover{background-color:#f57c00;color:var(--color-white);transform:translateY(-1px);box-shadow:0 4px 12px #f9a82580}.enable-notifications-btn{display:flex;align-items:center;gap:8px}.notification-warning-card.notification-denied{background:linear-gradient(135deg,#ffebee,#ffcdd2);border:2px solid #ef5350;box-shadow:0 4px 12px #ef535040}.notification-warning-card.notification-denied .notification-warning-header{border-bottom-color:#ef53504d}.notification-warning-card.notification-denied .notification-warning-header h3{color:#c62828}.notification-warning-card.notification-denied .warning-icon,.notification-warning-card.notification-denied .denied-icon{color:#ef5350}.notification-instructions{background:#ffffffb3;border-radius:8px;padding:16px;margin-top:8px}.notification-instructions .instructions-title{font-weight:700!important;color:#c62828!important;margin-bottom:8px;font-size:14px}.notification-instructions ol{margin:0;padding-left:20px;color:#5d4037;font-size:14px;line-height:1.8}.notification-instructions li{margin-bottom:4px}.notification-unsupported-card{background:linear-gradient(135deg,#f5f5f5,#e0e0e0);border:2px solid #9e9e9e;box-shadow:0 4px 12px #9e9e9e40}.notification-unsupported-card .notification-warning-header{border-bottom-color:#9e9e9e4d}.notification-unsupported-card .notification-warning-header h3{color:#616161}.notification-unsupported-card .warning-icon{color:#9e9e9e}.notification-unsupported-card .notification-warning-content p{color:#757575}.navbar-actions{display:flex;align-items:center;gap:12px}.navbar-notification-indicator{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;transition:all .2s ease}.navbar-notification-indicator .notification-icon{font-size:18px}.navbar-notification-indicator.notifications-enabled{background:#4caf5026}.navbar-notification-indicator.notifications-enabled .notification-icon{color:#4caf50}.navbar-notification-indicator.notifications-denied{background:#ef535026;animation:pulse-denied 2s infinite}.navbar-notification-indicator.notifications-denied .notification-icon{color:#ef5350}@keyframes pulse-denied{0%,to{box-shadow:0 0 #ef535066}50%{box-shadow:0 0 0 8px #ef535000}}.navbar-notification-indicator.notifications-default{background:#f9a82526;cursor:pointer}.navbar-notification-indicator.notifications-default:hover{background:#f9a8254d;transform:scale(1.1)}.navbar-notification-indicator.notifications-default .notification-icon{color:#f9a825}.profile-hero{background:var(--gradient-blue);border-radius:20px;padding:32px 24px;color:var(--color-white);display:flex;flex-direction:column;gap:24px}.profile-hero-content{display:flex;flex-direction:column}.profile-hero-label{font-size:12px;text-transform:uppercase;letter-spacing:1px;opacity:.8;margin-bottom:4px}.profile-hero-title{font-size:28px;font-family:var(--font-primary);margin:0 0 8px}.profile-hero-subtitle{font-size:16px;opacity:.9;font-family:var(--font-secondary);font-style:italic}.profile-stats{display:flex;gap:24px;flex-wrap:wrap}.profile-stat{background:#ffffff26;border-radius:12px;padding:16px 20px;flex:1;min-width:120px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;opacity:.8;margin-bottom:4px}.profile-stat-value{font-size:32px;font-weight:700;line-height:1}.profile-stat-unit{font-size:14px;font-weight:400;opacity:.8;margin-left:4px}.profile-section{background-color:var(--color-white);border-radius:16px;padding:24px;box-shadow:0 2px 4px #0000001a}.profile-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--color-background-grey)}.profile-section-title{font-size:18px;font-weight:700;color:var(--color-dark-blue);margin:0}.profile-edit-btn{background-color:transparent;color:var(--color-neon-blue);border:1.5px solid var(--color-neon-blue);padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.profile-edit-btn:hover{background-color:var(--color-neon-blue);color:var(--color-white)}.profile-button-group{display:flex;gap:12px}.profile-save-btn{background-color:var(--color-neon-blue);color:var(--color-white);border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.profile-save-btn:hover{background-color:var(--color-dark-blue)}.profile-save-btn:disabled{opacity:.6;cursor:not-allowed}.profile-cancel-btn{background-color:var(--color-grey);color:var(--color-white);border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.profile-cancel-btn:hover{background-color:var(--color-dark-grey)}.profile-data-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.profile-field{display:flex;flex-direction:column;gap:6px}.profile-field.full-width{grid-column:1 / -1}.profile-field-label{font-size:12px;font-weight:600;color:var(--color-grey);text-transform:uppercase;letter-spacing:.5px}.profile-field-value{font-size:15px;color:var(--color-dark-blue);margin:0}.profile-field-input{padding:10px 12px;border:1.5px solid var(--color-background-grey);border-radius:8px;font-size:15px;font-family:var(--font-body-new);color:var(--color-dark-blue);transition:border-color .2s ease}.profile-field-input:focus{outline:none;border-color:var(--color-neon-blue)}.location-multiselect{position:relative}.location-multiselect-trigger{padding:10px 12px;border:1.5px solid var(--color-background-grey);border-radius:8px;font-size:15px;font-family:var(--font-body-new);color:var(--color-dark-blue);background-color:var(--color-white);cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:44px}.location-multiselect-trigger:hover{border-color:var(--color-grey)}.location-multiselect-trigger.open{border-color:var(--color-neon-blue);border-bottom-left-radius:0;border-bottom-right-radius:0}.location-multiselect-placeholder{color:var(--color-grey)}.location-multiselect-arrow{font-size:12px;color:var(--color-grey);transition:transform .2s ease}.location-multiselect-arrow.open{transform:rotate(180deg)}.location-multiselect-dropdown{position:absolute;top:100%;left:0;right:0;background-color:var(--color-white);border:1.5px solid var(--color-neon-blue);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 4px 12px #0000001a}.location-multiselect-option{padding:12px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background-color .15s ease}.location-multiselect-option:hover,.location-multiselect-option.selected{background-color:var(--color-light-blue)}.location-multiselect-option.disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-background-grey)}.location-multiselect-checkbox{width:18px;height:18px;border:2px solid var(--color-grey);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.location-multiselect-checkbox.checked{background-color:var(--color-neon-blue);border-color:var(--color-neon-blue);color:var(--color-white);font-size:12px}.location-multiselect-label{font-size:14px;color:var(--color-dark-blue)}.location-tags{display:flex;flex-wrap:wrap;gap:8px}.location-tag{background-color:var(--color-light-blue);color:var(--color-dark-blue);padding:6px 10px;border-radius:6px;font-size:13px;display:flex;align-items:center;gap:6px}.location-tag-remove{cursor:pointer;font-size:14px;color:var(--color-grey);line-height:1}.location-tag-remove:hover{color:var(--color-negative)}.location-limit-note{font-size:12px;color:var(--color-grey);margin-top:4px}.alert{padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500}.alert-error{background-color:#ffebee;color:#c62828;border:1px solid #ffcdd2}.alert-success{background-color:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.invoices-placeholder{text-align:center;padding:40px 20px;color:var(--color-grey)}.invoices-placeholder-icon{font-size:48px;margin-bottom:12px}.loading-text{color:var(--color-grey);font-style:italic}@media screen and (max-width: 768px){.navbar{padding:12px 16px}.navbar-profile-name{display:none}.navbar-title{font-size:16px}.page-content{padding:16px 12px;gap:16px}.nav-button{padding:14px 24px;font-size:15px}.dashboard-content{grid-template-columns:1fr;gap:12px}.dashboard-card{padding:20px 16px}.profile-hero{padding:24px 20px}.profile-hero-title{font-size:24px}.profile-stats{flex-direction:column;gap:12px}.profile-stat{min-width:unset}.profile-data-grid{grid-template-columns:1fr;gap:16px}.profile-section-header{flex-direction:column;gap:12px;align-items:stretch}.profile-edit-btn{width:auto;align-self:flex-start;text-align:center}.profile-button-group{flex-direction:column;width:100%}.profile-save-btn,.profile-cancel-btn{width:100%;text-align:center}.notification-warning-header h3{font-size:14px}.enable-notifications-btn{width:100%;text-align:center}.toggle-btn{padding:8px 12px;font-size:13px}.workout-row{padding:12px 14px;grid-template-columns:50px 1fr 24px 45px 32px;gap:8px}.workout-row.practice-booking-row{grid-template-columns:50px 1fr auto}.workout-time{font-size:15px}.workout-location{font-size:13px}.workout-timer{font-size:11px}.workout-spots{font-size:12px}.workout-detail-header{padding:16px 20px}.workout-detail-date{font-size:16px}.workout-detail-info{gap:6px}.workout-detail-time{font-size:14px}.workout-detail-location,.workout-detail-format{font-size:13px}.booking-card{grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px 10px;padding:10px 12px}.booking-name{font-size:14px}.booking-flag{font-size:1.05rem}.booking-total{font-size:12px}.booking-milestone-icon{font-size:9px}.booking-num-global{font-size:13px}.booking-num-trainer{font-size:12px}}@media screen and (max-width: 375px){.page-content{padding:12px 8px}.navbar-logout{font-size:12px;padding:6px 10px}.profile-hero-title{font-size:20px}.profile-stat-value{font-size:28px}.dashboard-card{padding:16px 12px}}.availability-comment-container{margin-bottom:24px}.availability-prompt{font-size:14px;color:var(--color-dark-grey);margin:0 0 16px;line-height:1.5}.availability-comment-field{margin-bottom:20px}.availability-comment-display{display:flex;align-items:flex-start;gap:12px;padding:16px;background-color:var(--color-off-white);border-radius:12px;border:1px solid var(--color-background-grey)}.availability-comment-text{flex:1;margin:0;font-size:14px;color:var(--color-dark-blue);line-height:1.6;white-space:pre-wrap}.availability-comment-edit-btn{background:none;border:none;color:var(--color-neon-blue);cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.availability-comment-edit-btn:hover{background-color:var(--color-light-blue)}.availability-comment-edit{display:flex;flex-direction:column;gap:12px}.availability-comment-textarea{width:100%;padding:12px 16px;border:1.5px solid var(--color-background-grey);border-radius:12px;font-size:14px;font-family:var(--font-body-new);color:var(--color-dark-blue);resize:vertical;min-height:100px;line-height:1.6;box-sizing:border-box}.availability-comment-textarea:focus{outline:none;border-color:var(--color-neon-blue)}.availability-comment-textarea::placeholder{color:var(--color-grey)}.availability-comment-actions{display:flex;gap:12px}.availability-comment-save,.availability-comment-cancel{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.availability-comment-save{background-color:var(--color-neon-blue);color:var(--color-white);border:none}.availability-comment-save:hover{background-color:var(--color-dark-blue)}.availability-comment-save:disabled{opacity:.6;cursor:not-allowed}.availability-comment-cancel{background-color:var(--color-grey);color:var(--color-white);border:none}.availability-comment-cancel:hover{background-color:var(--color-dark-grey)}.availability-button-container{margin-top:8px}.availability-button{background-color:var(--color-dark-blue)}.availability-button:hover{background-color:var(--color-neon-blue)}.availability-last-updated{font-size:12px;color:var(--color-grey);text-align:center;padding:8px 16px;background-color:var(--color-white);border-radius:8px}.availability-location-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}.availability-days-section{display:flex;flex-direction:column;gap:8px}.availability-day-container{background-color:var(--color-white);border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.availability-day-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;background-color:var(--color-white);border:none;cursor:pointer;font-family:var(--font-body-new);transition:background-color .15s ease}.availability-day-header:hover{background-color:var(--color-off-white)}.availability-day-info{display:flex;align-items:center;gap:12px}.availability-day-name{font-size:16px;font-weight:600;color:var(--color-dark-blue)}.availability-day-count{font-size:12px;font-weight:600;color:var(--color-neon-blue);background-color:var(--color-light-blue);padding:4px 10px;border-radius:12px}.availability-day-header svg{color:var(--color-grey);font-size:18px}.availability-slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 16px 16px}.availability-slot{padding:12px 8px;border:2px solid var(--color-background-grey);border-radius:10px;background-color:var(--color-white);color:var(--color-dark-blue);font-size:14px;font-weight:600;font-family:var(--font-body-new);cursor:pointer;transition:all .15s ease}.availability-slot:hover{border-color:var(--color-neon-blue);background-color:var(--color-off-white)}.availability-slot.active{background-color:var(--color-neon-blue);border-color:var(--color-neon-blue);color:var(--color-white)}.availability-slot.active:hover{background-color:var(--color-dark-blue);border-color:var(--color-dark-blue)}.availability-slot.saving{opacity:.6;cursor:not-allowed}.availability-instructions{padding:16px;background-color:var(--color-white);border-radius:12px;margin-top:8px}.availability-instructions p{margin:0;font-size:13px;color:var(--color-grey);line-height:1.5;text-align:center}@media screen and (max-width: 768px){.availability-slots-grid{grid-template-columns:repeat(4,1fr);gap:6px}.availability-slot{padding:10px 6px;font-size:13px}.availability-day-header{padding:14px 16px}.availability-day-name{font-size:15px}.availability-comment-actions{flex-direction:column}}@media screen and (max-width: 375px){.availability-slots-grid{grid-template-columns:repeat(3,1fr)}}.playlist-select-content{display:flex;flex-direction:column;gap:16px;padding-bottom:20px}.playlist-select-search{position:relative;box-sizing:border-box}.playlist-select-search-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--color-grey);font-size:18px;z-index:1}.playlist-select-search-input{width:100%;padding:14px 40px 14px 44px;border:1.5px solid var(--color-background-grey);border-radius:12px;font-size:15px;font-family:var(--font-body-new);color:var(--color-dark-blue);background-color:var(--color-off-white);box-sizing:border-box}.playlist-select-search-input:focus{outline:none;border-color:var(--color-neon-blue)}.playlist-select-clear{position:absolute;right:32px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-grey);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;z-index:1}.playlist-select-clear:hover{color:var(--color-dark-blue)}.playlist-select-bubbles{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.playlist-select-bubbles::-webkit-scrollbar{display:none}.playlist-select-bubble{flex-shrink:0;padding:10px 18px;border:1.5px solid var(--color-background-grey);border-radius:20px;background-color:var(--color-white);color:var(--color-dark-blue);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.playlist-select-bubble:hover{border-color:var(--color-neon-blue);background-color:var(--color-off-white)}.playlist-select-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.playlist-select-card{display:flex;flex-direction:column;background-color:var(--color-white);border-radius:16px;padding:12px;box-shadow:0 2px 4px #0000001a;border:1px solid var(--color-background-grey);transition:all .2s ease}.playlist-select-card:hover{border-color:var(--color-neon-blue);box-shadow:0 4px 8px #3859ff26}.playlist-select-card-image{width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;background-color:var(--color-background-grey);margin-bottom:12px}.playlist-select-card-image img{width:100%;height:100%;object-fit:cover}.playlist-select-card-image-placeholder{display:flex;align-items:center;justify-content:center;color:var(--color-grey);font-size:32px}.playlist-select-card-name{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--color-dark-blue);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;min-height:36px}.playlist-select-card-actions{display:flex;flex-direction:column;gap:8px}.playlist-select-action-btn{width:100%;padding:14px 20px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:none;letter-spacing:0;min-height:48px}.playlist-select-action-order{background-color:var(--color-background-grey);color:var(--color-dark-blue)}.playlist-select-action-order:hover{background-color:var(--color-grey);color:var(--color-white)}.playlist-select-action-order:active{transform:scale(.98)}.playlist-select-action-shuffle{background-color:var(--color-neon-blue);color:var(--color-white)}.playlist-select-action-shuffle:hover{background-color:var(--color-dark-blue)}.playlist-select-action-shuffle:active{transform:scale(.98)}.playlist-select-loading,.playlist-select-empty{padding:40px 20px;text-align:center;color:var(--color-grey)}.playlist-select-warning{padding:12px 20px;border:1px dashed var(--color-dark-grey);border-radius:8px}.playlist-select-warning p{margin:0;font-size:13px;color:#5d4037}@media screen and (max-width: 480px){.playlist-select-grid{gap:12px}.playlist-select-card{padding:10px}.playlist-select-card-name{font-size:13px;min-height:32px}.playlist-select-action-btn{padding:12px 14px;font-size:13px;min-height:44px}}.nav-button-row{display:flex;gap:12px;justify-content:center}.nav-button-half{flex:1;max-width:200px;padding:14px 16px;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}.nav-button-third{flex:1;max-width:160px;padding:14px 10px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px}.covers-button-row{display:flex;gap:12px;width:100%}.covers-button-half{flex:1;padding:14px 16px;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}.nav-button-icon{font-size:16px;flex-shrink:0}.cover-requests-btn{background-color:var(--color-dark-blue)}.cover-requests-btn:hover{background-color:var(--color-neon-blue)}.covers-find-btn{background-color:var(--color-white);color:var(--color-neon-blue);border:1.5px solid var(--color-neon-blue);box-shadow:none}.covers-find-btn:hover{background-color:var(--color-neon-blue);color:var(--color-white)}.cover-mode-banner{display:flex;align-items:center;gap:10px;padding:14px 20px;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid var(--color-neon-blue);border-radius:12px;color:var(--color-dark-blue);font-size:15px;font-weight:600}.cover-mode-icon{font-size:22px;color:var(--color-neon-blue)}.cover-mode-toggle-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:400px;margin:0 auto;padding:12px 24px;background-color:transparent;color:var(--color-neon-blue);border:1.5px solid var(--color-neon-blue);border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.cover-mode-toggle-btn:hover{background-color:var(--color-neon-blue);color:var(--color-white)}.workout-row.selectable{cursor:pointer;grid-template-columns:36px 60px 1fr 28px 50px 36px;transition:all .15s ease}.workout-row.selectable:hover{background-color:var(--color-light-blue)}.workout-row.selected{background-color:var(--color-light-blue);border:2px solid var(--color-neon-blue)}.workout-select-checkbox{display:flex;align-items:center;justify-content:center}.checkbox-indicator{width:22px;height:22px;border:2px solid var(--color-grey);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--color-white);transition:all .15s ease}.checkbox-indicator.checked{background-color:var(--color-neon-blue);border-color:var(--color-neon-blue)}.workout-cover-indicator{display:flex;align-items:center;justify-content:center}.cover-pending-badge{display:flex;align-items:center;justify-content:center;color:#e65100;font-size:18px}.workout-row.has-cover-request,.workout-row.has-cover-request:hover{background-color:#fce3e3}.workout-row.has-practice-workout{background-color:#fef9c3}.workout-row.has-practice-workout:hover{background-color:#fef3c7}.practice-workout-badge{display:flex;align-items:center;justify-content:center;color:#d4a017;font-size:16px}.workout-row.practice-booking-row{grid-template-columns:60px 1fr auto}.workout-trainer-name{flex:1;display:flex;align-items:center;justify-content:flex-end;text-align:right;padding-right:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workout-trainer-name span{font-size:13px;color:#374151}.onboarding-welcome-card{text-align:center;padding:24px 16px}.onboarding-welcome-title{margin:0 0 8px;font-size:18px}.onboarding-welcome-text{color:var(--color-dark-blue);margin:0 0 16px}.practice-workout-card{padding:20px 16px}.practice-workout-card-title{margin:0 0 12px;font-size:16px;display:flex;align-items:center;gap:8px}.practice-workout-icon{color:#d4a017}.practice-workout-datetime{margin-bottom:8px}.practice-workout-location{color:#6b7280;margin-bottom:4px}.practice-workout-location a{color:#2563eb;text-decoration:underline}.practice-workout-trainer{color:#6b7280;margin-bottom:16px}.practice-workout-info-box{background:#fef9c3;border-radius:10px;padding:14px 16px;font-size:14px;line-height:1.6;color:#78350f}.practice-booking-title{margin:0 0 12px;font-size:16px}.practice-booking-subtitle{color:#6b7280;margin:0 0 16px;font-size:14px}.practice-booking-empty{color:#6b7280;font-size:14px}.inline-icon{margin-right:4px;font-size:12px}.practice-workout-section{border-left:4px solid #d4a017;background:#fffde7}.practice-workout-section .workout-location-info-title{display:flex;align-items:center;gap:8px}.practice-workout-section a.bounti-link{color:#2563eb}.tasks-icon{margin-right:6px}.cover-mode-panel{position:sticky;bottom:0;left:0;right:0;background-color:var(--color-white);border-top:1px solid var(--color-cream);box-shadow:0 -4px 12px #0000001a;border-radius:16px 16px 0 0;padding:20px 24px;z-index:50}.cover-mode-panel-content{display:flex;flex-direction:column;gap:16px}.cover-mode-selection-count{font-size:15px;font-weight:600;color:var(--color-dark-blue);margin:0;text-align:center}.cover-mode-trainer-select{display:flex;flex-direction:column;gap:8px}.cover-mode-label{font-size:13px;font-weight:600;color:var(--color-grey);text-transform:uppercase;letter-spacing:.5px}.trainer-searchable-dropdown{position:relative}.trainer-search-input{width:100%;padding:12px 40px 12px 16px;border:1.5px solid var(--color-background-grey);border-radius:10px;font-size:15px;font-family:var(--font-body-new);color:var(--color-dark-blue);background-color:var(--color-white);box-sizing:border-box}.trainer-search-input::placeholder{color:var(--color-grey)}.trainer-search-input:focus{outline:none;border-color:var(--color-neon-blue)}.trainer-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:20px;color:var(--color-grey);cursor:pointer;padding:0 4px;line-height:1}.trainer-dropdown-list{position:absolute;bottom:100%;left:0;right:0;max-height:220px;overflow-y:auto;background:var(--color-white);border:1.5px solid var(--color-background-grey);border-radius:10px;margin:0 0 6px;padding:4px 0;list-style:none;box-shadow:0 -4px 16px #0000001a;z-index:100;-webkit-overflow-scrolling:touch}.trainer-dropdown-item{padding:10px 16px;font-size:15px;font-family:var(--font-body-new);color:var(--color-dark-blue);cursor:pointer;transition:background-color .15s}.trainer-dropdown-item:active,.trainer-dropdown-item:hover{background-color:var(--color-background-grey)}.trainer-dropdown-item.selected{font-weight:600;color:var(--color-neon-blue)}.trainer-dropdown-item.no-results{color:var(--color-grey);font-style:italic;cursor:default}.trainer-dropdown-item.no-results:hover{background-color:transparent}.cover-mode-actions{display:flex;gap:12px}.cover-mode-cancel-btn{flex:1;padding:14px 20px;background-color:var(--color-background-grey);color:var(--color-dark-blue);border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.cover-mode-cancel-btn:hover{background-color:var(--color-grey);color:var(--color-white)}.cover-mode-confirm-btn{flex:2;padding:14px 20px;background-color:var(--color-neon-blue);color:var(--color-white);border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #3859ff4d}.cover-mode-confirm-btn:hover:not(:disabled){background-color:var(--color-dark-blue)}.cover-mode-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.cover-request-warning{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #e65100;border-radius:16px;padding:20px 24px;display:flex;flex-direction:column;gap:12px}.cover-request-warning-header{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(230,81,0,.2)}.cover-request-warning-header h3{margin:0;padding:0;border:none;font-size:16px;font-weight:700;color:#bf360c}.cover-request-warning-icon{font-size:20px;color:#e65100;flex-shrink:0}.cover-request-target-trainer{font-size:14px;color:#e65100;margin:0 0 6px}.cover-request-warning-text{font-size:14px;color:#4e342e;line-height:1.6;margin:0}.cover-request-cancel-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background-color:#e65100;color:var(--color-white);border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.cover-request-cancel-btn:hover:not(:disabled){background-color:#bf360c}.cover-request-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.location-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.location-filter-chip{padding:6px 14px;border-radius:20px;border:1.5px solid var(--color-neon-blue);background:var(--color-white);color:var(--color-neon-blue);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.location-filter-chip.active{background:var(--color-neon-blue);color:var(--color-white)}.location-filter-chip:hover:not(.active){background:#eef2ff}.cover-request-card{display:flex;flex-direction:column;gap:12px;background-color:var(--color-white);padding:16px;border-radius:12px;box-shadow:0 1px 3px #00000014}.cover-request-info{display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center}.cover-request-trainer{display:flex;flex-direction:column;align-items:flex-end}.cover-request-trainer-name{font-size:13px;font-weight:600;color:var(--color-grey)}.cover-request-accept-btn{width:100%;padding:12px 20px;background-color:var(--color-neon-blue);color:var(--color-white);border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.cover-request-accept-btn:hover{background-color:var(--color-dark-blue)}.cover-request-confirm{display:flex;flex-direction:column;gap:10px;padding:12px;background-color:var(--color-off-white);border-radius:10px}.cover-request-confirm-text{font-size:15px;font-weight:600;color:var(--color-dark-blue);margin:0;text-align:center}.cover-request-confirm-actions{display:flex;gap:10px}.cover-request-confirm-yes{flex:2;padding:12px 16px;background-color:var(--color-positive);color:var(--color-white);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.cover-request-confirm-yes:hover:not(:disabled){opacity:.9}.cover-request-confirm-yes:disabled{opacity:.6;cursor:not-allowed}.cover-request-confirm-no{flex:1;padding:12px 16px;background-color:var(--color-background-grey);color:var(--color-dark-blue);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.cover-request-confirm-no:hover{background-color:var(--color-grey);color:var(--color-white)}@media screen and (max-width: 768px){.nav-button-row{gap:8px}.nav-button-half{max-width:none;padding:12px;font-size:13px}.workout-row{grid-template-columns:50px 1fr 24px 45px 32px;gap:8px}.workout-row.practice-booking-row{grid-template-columns:50px 1fr auto}.workout-row.selectable{grid-template-columns:32px 50px 1fr 24px 45px 32px;gap:8px}.cover-mode-panel{padding:16px}.cover-mode-actions{flex-direction:column}.cover-request-info{grid-template-columns:50px 1fr;gap:8px}.cover-request-trainer{grid-column:1 / -1;align-items:flex-start}.cover-request-confirm-actions{flex-direction:column}}.nav-button.has-notification{position:relative;padding-right:36px}.nav-button-notification-badge{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:linear-gradient(135deg,#ff4d4d,#e60000);color:#fff;font-size:11px;font-weight:700;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 1px 4px #e6000073}.section-title-notification-badge{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff4d4d,#ed0000);color:#fff;font-size:11px;font-weight:700;width:20px;height:20px;border-radius:50%;margin-left:8px;vertical-align:middle;line-height:1;box-shadow:0 1px 4px #e6000073}.availability-stale-warning{display:flex;align-items:flex-start;gap:12px;padding:16px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:16px}.availability-stale-icon{flex-shrink:0;color:#856404;font-size:20px;margin-top:2px}.availability-stale-warning p{margin:0;color:#856404;font-size:14px;line-height:1.5}.nav-button.availability-button.needs-review{background:linear-gradient(135deg,#ff4d4d,#e60000);box-shadow:0 2px 6px #e6000059}.nav-button.availability-button.needs-review:hover{background:linear-gradient(135deg,#f33,#c00)}.availability-confirm-container{display:flex;flex-direction:column;gap:12px;padding:20px;background:linear-gradient(135deg,#fff3cd,#ffeeba);border:1px solid #ffc107;border-radius:12px;margin-bottom:20px}.availability-confirm-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background-color:var(--color-neon-blue);color:var(--color-white);border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.availability-confirm-button:hover:not(:disabled){background-color:var(--color-dark-blue)}.availability-confirm-button:disabled{opacity:.7;cursor:not-allowed}.availability-confirm-text{margin:0;color:#856404;font-size:14px;text-align:center;line-height:1.5}@media screen and (max-width: 480px){.availability-stale-warning{padding:12px}.availability-stale-warning p{font-size:13px}.availability-confirm-container{padding:16px}.availability-confirm-button{padding:12px 20px;font-size:15px}.availability-confirm-text{font-size:13px}}.tasks-container{display:flex;flex-direction:column;gap:10px;margin-top:16px}.task-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px;transition:border-color .2s,box-shadow .2s}.task-card.task-overdue{background:#fef2f2;border-color:#fecaca}.task-card.task-completed{opacity:.7;background:#f9fafb}.task-card.task-clickable{cursor:pointer}.task-card.task-clickable:hover{border-color:var(--color-neon-blue);box-shadow:0 2px 8px #3859ff1f}.task-card-main{display:flex;align-items:flex-start;gap:12px}.task-action{flex-shrink:0;margin-top:2px}.task-check-btn{width:28px;height:28px;border-radius:50%;border:2px solid #d1d5db;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#9ca3af;transition:all .2s;padding:0}.task-check-btn:hover{border-color:#22c55e;color:#22c55e;background:#f0fdf4}.task-check-btn:disabled{opacity:.5;cursor:not-allowed}.task-check-done{width:28px;height:28px;border-radius:50%;background:#22c55e;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px}.task-check-auto,.task-check-admin{width:28px;height:28px;border-radius:50%;border:2px solid #e5e7eb;background:#f9fafb;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:16px}.task-check-loading{width:14px;height:14px;border:2px solid #d1d5db;border-top-color:#22c55e;border-radius:50%;animation:spin .6s linear infinite}.task-content{flex:1;min-width:0}.task-title{font-size:15px;font-weight:600;color:#111827;margin:0 0 4px}.task-title-link{background:none;border:none;padding:0;font:inherit;color:#3b82f6;cursor:pointer;text-align:left;display:inline-flex;align-items:center}.task-title-link:hover{text-decoration:underline}.task-completed .task-title{text-decoration:line-through;color:#6b7280}.task-description{font-size:13px;color:#6b7280;margin:0 0 6px;line-height:1.4}.task-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.task-due{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.task-due.overdue{color:#ef4444;font-weight:600}.task-auto-hint{display:flex;align-items:center;gap:4px;font-size:12px;color:#3b82f6}.task-completed-date{font-size:12px;color:#9ca3af}.documents-section{margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.documents-grid{display:flex;flex-direction:column;gap:12px}.document-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb}.document-info{flex:1}.document-label{font-size:14px;font-weight:600;color:#111827;margin:0 0 2px}.document-status{font-size:12px;color:#6b7280}.document-status.uploaded{color:#22c55e}.document-status.missing{color:#ef4444}.document-upload-btn{padding:8px 16px;background:#111827;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer}.document-upload-btn:disabled{opacity:.5;cursor:not-allowed}.document-upload-input{display:none}.document-view-link{color:#3b82f6;text-decoration:none;font-size:13px;margin-left:8px}.signature-section{margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.signature-pad-container{border:2px dashed #d1d5db;border-radius:12px;background:#fff;margin:12px 0;position:relative;touch-action:none}.signature-pad-canvas{width:100%;height:200px;display:block}.signature-actions{display:flex;gap:10px;margin-top:10px}.signature-clear-btn{padding:8px 16px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:13px;cursor:pointer}.signature-submit-btn{padding:8px 20px;background:#111827;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;flex:1}.signature-submit-btn:disabled{opacity:.5;cursor:not-allowed}.description-textarea{width:100%;min-height:100px;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box}.description-textarea:focus{outline:none;border-color:#111827}.profile-pic-upload{display:flex;align-items:center;gap:16px;margin-bottom:20px}.profile-pic-preview{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb}.profile-pic-fallback{width:80px;height:80px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;color:#6b7280;border:2px solid #e5e7eb}.profile-pic-upload-btn{padding:8px 16px;background:#111827;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer}.bounti-open-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 20px;margin-top:16px;background:var(--color-neon-blue);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3859ff4d}.bounti-open-button:hover{background:var(--color-dark-blue);transform:translateY(-1px);box-shadow:0 4px 12px #3859ff66}.bounti-open-icon{font-size:18px}.bounti-open-external{font-size:12px;opacity:.7}.checklist-container{margin-top:24px}.checklist-title{font-size:18px;font-weight:700;color:var(--color-black);margin-bottom:16px}.checklist-loading{text-align:center;color:#6b7280;padding:24px 0}.checklist-category{background:#fff;border-radius:12px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb}.checklist-category-header{display:flex;flex-direction:column;gap:8px;width:100%;padding:14px 16px;background:none;border:none;cursor:pointer;text-align:left}.checklist-category-info{display:flex;align-items:center;gap:8px;width:100%}.checklist-category-name{font-size:14px;font-weight:600;color:var(--color-black);flex:1}.checklist-category-count{font-size:12px;font-weight:600;color:#6b7280;flex-shrink:0}.checklist-category-chevron{display:flex;align-items:center;color:#9ca3af;font-size:14px;flex-shrink:0}.checklist-progress-bar{width:100%;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.checklist-progress-fill{height:100%;background:#22c55e;border-radius:2px;transition:width .3s ease}.bounti-learn-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-neon-blue);color:#fff;border-radius:6px;font-size:14px;cursor:pointer;transition:transform .15s ease}.bounti-learn-button:hover{transform:scale(1.1)}.checklist-course-badge{padding:6px 16px;font-size:11px;font-weight:600;color:#92400e;background:#fef3c7;border-top:1px solid #fde68a}.checklist-items{border-top:1px solid #f3f4f6}.checklist-item{padding:12px 16px;border-bottom:1px solid #f9fafb}.checklist-item:last-child{border-bottom:none}.checklist-item--audit-fail{background:#fef2f2;border-left:3px solid #ef4444}.checklist-item-label{display:flex;align-items:center;gap:12px;cursor:pointer}.checklist-checkbox{flex-shrink:0;width:22px;height:22px;border:2px solid #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.checklist-checkbox.checked{background:#22c55e;border-color:#22c55e}.checklist-checkbox.disabled{opacity:.5;cursor:not-allowed}.checklist-check-icon{color:#fff;font-size:12px}.checklist-fail-icon{color:#ef4444;font-size:12px}.checklist-item-text{font-size:13px;color:#374151;line-height:1.4}.checklist-item-text.checked{color:#9ca3af}.checklist-audit-comment{margin:6px 0 0 34px;font-size:11px;color:#b45309;font-style:italic;line-height:1.3}@media (max-width: 480px){.nav-button-third{max-width:none;padding:12px 8px;font-size:12px;gap:4px}}.candidate-welcome-card{text-align:left}.candidate-welcome-greeting{margin:0 0 12px;font-size:24px;font-weight:700;font-family:var(--font-body-new);color:var(--color-dark-blue);line-height:1.3}.candidate-welcome-body{margin:0 0 12px;font-size:14px;line-height:1.55;color:var(--color-dark-blue)}.candidate-welcome-body:last-of-type{margin-bottom:16px}.candidate-recruiting-link-row{margin-bottom:16px}.candidate-cancel-btn{margin-top:12px;background:#fff!important;color:#dc2626!important;border:1px solid #dc2626!important}.candidate-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.candidate-limit-message{margin-bottom:1rem}.workout-row.candidate-full{opacity:.5;cursor:not-allowed}.candidate-workout-list .workout-row.candidate-workout-list-row{grid-template-columns:60px 1fr 52px auto auto}.candidate-workout-list .workout-row.clickable:hover{transform:none;background-color:var(--color-white)}.candidate-workout-list .workout-row.clickable:active{transform:none}.candidate-workout-list .candidate-spots-col{font-size:13px;font-weight:600;color:var(--color-dark-blue);font-family:var(--font-body-new);text-align:center;min-width:36px}.candidate-workout-list .candidate-trainer-col{font-size:16px;font-weight:600;color:var(--color-dark-blue);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;justify-self:end}.candidate-workout-list .workout-status-badge{display:flex;align-items:center;min-width:44px;justify-content:flex-start}.candidate-workout-list .badge-full{font-size:11px;font-weight:700;color:var(--color-dark-blue);background:transparent;padding:0;text-transform:uppercase;letter-spacing:.04em}.candidate-workout-row-shell-wrap{margin-bottom:8px}.candidate-workout-row-shell{border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #00000014;background:var(--color-white)}.candidate-workout-row-shell .workout-row{box-shadow:none;border-radius:0;margin-bottom:0}.candidate-workout-row-shell.is-expanded .workout-row{border-radius:0}.candidate-workout-row-panel{padding:6px 16px 14px;background:var(--color-white);border-top:none}.candidate-workout-row-panel-buttons{display:flex;gap:10px}.candidate-confirm-primary{flex:1;padding:10px 16px;border:none;border-radius:8px;background:#16a34a;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.candidate-confirm-primary:disabled{opacity:.55;cursor:not-allowed}.candidate-confirm-secondary{flex:1;padding:10px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer}.candidate-booked-summary-date{margin:0 0 10px;font-size:14px;color:var(--color-dark-blue)}.candidate-booked-summary-grid{display:grid;grid-template-columns:60px 1fr 52px auto auto;gap:12px;align-items:start;margin-bottom:16px}.candidate-booked-summary-badge{display:flex;align-items:center;min-height:24px}.candidate-booked-summary-badge .badge-full{font-size:11px;font-weight:700;color:var(--color-dark-blue);background:transparent;padding:0;text-transform:uppercase;letter-spacing:.04em}.candidate-booked-summary-time{font-size:16px;font-weight:700;color:var(--color-dark-blue);font-family:var(--font-body-new)}.candidate-booked-summary-grid .candidate-spots-col{text-align:center;color:var(--color-dark-blue)}.candidate-booked-summary-grid .candidate-trainer-col{max-width:none;font-size:16px;color:var(--color-dark-blue)}@media screen and (max-width: 768px){.candidate-workout-list .workout-row.candidate-workout-list-row{grid-template-columns:50px 1fr 44px auto auto;gap:8px;padding:12px 14px}.candidate-workout-list .candidate-trainer-col{max-width:100px;font-size:15px}.candidate-booked-summary-grid{grid-template-columns:48px 1fr 44px auto auto;gap:8px}}.banking-details-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--color-background-grey)}.banking-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.banking-details-title{font-size:16px;font-weight:600;color:var(--color-dark-blue);margin:0}.banking-edit-btn{background-color:transparent;color:var(--color-neon-blue);border:1.5px solid var(--color-neon-blue);padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.banking-edit-btn:hover{background-color:var(--color-neon-blue);color:var(--color-white)}.banking-button-group{display:flex;gap:8px}.banking-save-btn{background-color:var(--color-neon-blue);color:var(--color-white);border:none;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.banking-save-btn:hover:not(:disabled){background-color:var(--color-dark-blue)}.banking-save-btn:disabled{opacity:.5;cursor:not-allowed}.banking-cancel-btn{background-color:var(--color-grey);color:var(--color-white);border:none;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.banking-cancel-btn:hover:not(:disabled){background-color:var(--color-dark-grey)}.banking-alert{padding:10px 14px;border-radius:6px;font-size:13px;font-weight:500;margin-bottom:16px}.banking-alert-error{background-color:#ffebee;color:#c62828;border:1px solid #ffcdd2}.banking-alert-success{background-color:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.banking-form{display:flex;flex-direction:column;gap:16px}.banking-field{display:flex;flex-direction:column;gap:6px}.banking-field-label{font-size:12px;font-weight:600;color:var(--color-grey);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.banking-validation-icon{font-size:14px;font-weight:700}.banking-validation-icon.valid{color:var(--color-positive)}.banking-validation-icon.invalid{color:var(--color-negative)}.banking-field-input{padding:12px 14px;border:1.5px solid var(--color-background-grey);border-radius:8px;font-size:15px;font-family:SF Mono,Consolas,Monaco,monospace;color:var(--color-dark-blue);transition:all .2s ease;letter-spacing:.5px}.banking-field-input:focus{outline:none;border-color:var(--color-neon-blue);box-shadow:0 0 0 3px #3859ff1a}.banking-field-input.valid{border-color:var(--color-positive)}.banking-field-input.invalid{border-color:var(--color-negative)}.banking-field-input::placeholder{color:var(--color-grey);opacity:.6}.banking-field-error{font-size:12px;color:var(--color-negative)}.banking-field-hint{font-size:11px;color:var(--color-grey);font-style:italic}.banking-checkbox-field{padding:12px 0}.banking-checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;color:var(--color-dark-blue);line-height:1.4}.banking-checkbox-label input[type=checkbox]{width:18px;height:18px;margin:0;flex-shrink:0;cursor:pointer;accent-color:var(--color-neon-blue)}.banking-checkbox-label span{-webkit-user-select:none;user-select:none}.banking-checkbox-hint{margin-top:4px;margin-left:28px}.banking-display{display:flex;flex-direction:column;gap:12px}.banking-display-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:var(--color-off-white);border-radius:8px}.banking-display-label{font-size:12px;font-weight:600;color:var(--color-grey);text-transform:uppercase;letter-spacing:.5px}.banking-display-value{font-size:14px;font-family:SF Mono,Consolas,Monaco,monospace;color:var(--color-dark-blue);letter-spacing:.5px}.banking-empty-state{text-align:center;padding:24px 16px;background-color:var(--color-off-white);border-radius:12px}.banking-empty-icon{font-size:36px;display:block;margin-bottom:8px}.banking-empty-state p{margin:0;color:var(--color-grey);font-size:14px}.banking-empty-hint{font-size:12px!important;margin-top:4px!important}.banking-loading{text-align:center;padding:20px;color:var(--color-grey);font-style:italic}@media screen and (max-width: 768px){.banking-details-header{flex-direction:column;gap:12px;align-items:stretch}.banking-edit-btn{width:100%;text-align:center}.banking-button-group{flex-direction:column;width:100%}.banking-save-btn,.banking-cancel-btn{width:100%;text-align:center;padding:10px}.banking-display-row{flex-direction:column;gap:4px;align-items:flex-start}.banking-display-value{font-size:13px}}.invoices-section{display:flex;flex-direction:column;gap:16px}.invoices-alert{padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500}.invoices-alert-error{background-color:#ffebee;color:#c62828;border:1px solid #ffcdd2}.invoices-alert-success{background-color:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.invoices-generate-btn{background-color:var(--color-neon-blue);color:var(--color-white);border:none;padding:16px 24px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;box-shadow:0 4px 12px #3859ff40}.invoices-generate-btn:hover:not(:disabled){background-color:var(--color-dark-blue);transform:translateY(-1px);box-shadow:0 6px 16px #3859ff59}.invoices-generate-btn:disabled{background-color:var(--color-grey);cursor:not-allowed;box-shadow:none}.invoices-no-banking{background-color:#fff8e1;border:1.5px solid #f9a825;border-radius:12px;padding:20px;text-align:center}.invoices-warning-icon{font-size:24px;display:block;margin:0 auto 8px;color:#f9a825}.invoices-no-banking p{margin:0;color:#5d4037;font-weight:500}.invoices-generate-form{background-color:var(--color-off-white);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px}.invoices-generate-form h4{margin:0;font-size:16px;font-weight:600;color:var(--color-dark-blue)}.invoices-form-field{display:flex;flex-direction:column;gap:6px}.invoices-form-field label{font-size:12px;font-weight:600;color:var(--color-grey);text-transform:uppercase;letter-spacing:.5px}.invoices-form-field input,.invoices-form-field select{padding:12px 14px;border:1.5px solid var(--color-background-grey);border-radius:8px;font-size:15px;font-family:var(--font-body-new);color:var(--color-dark-blue);background-color:var(--color-white)}.invoices-form-field input:focus,.invoices-form-field select:focus{outline:none;border-color:var(--color-neon-blue)}.invoices-form-hint{font-size:11px;color:var(--color-grey);font-style:italic}.invoices-form-buttons{display:flex;gap:12px;margin-top:8px}.invoices-form-generate-btn{flex:1;background-color:var(--color-neon-blue);color:var(--color-white);border:none;padding:12px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.invoices-form-generate-btn:hover:not(:disabled){background-color:var(--color-dark-blue)}.invoices-form-generate-btn:disabled{opacity:.5;cursor:not-allowed}.invoices-form-cancel-btn{flex:1;background-color:var(--color-grey);color:var(--color-white);border:none;padding:12px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.invoices-form-cancel-btn:hover:not(:disabled){background-color:var(--color-dark-grey)}.invoices-list{display:flex;flex-direction:column;gap:12px}.invoices-empty{text-align:center;padding:32px 20px;background-color:var(--color-off-white);border-radius:12px}.invoices-empty-icon{font-size:40px;display:block;margin:0 auto 8px;color:var(--color-grey)}.invoices-empty p{margin:0;color:var(--color-grey)}.invoices-empty-hint{font-size:13px!important;margin-top:4px!important}.invoices-loading{text-align:center;padding:24px;color:var(--color-grey);font-style:italic}.invoice-card{background-color:var(--color-white);border-radius:12px;padding:16px;box-shadow:0 2px 8px #00000014;transition:all .2s ease}.invoice-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--color-background-grey)}.invoice-card-period{font-size:16px;font-weight:700;color:var(--color-dark-blue)}.invoice-card-status{font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:4px}.invoice-card-status.draft{background-color:#fff8e1;color:#f57c00}.invoice-card-status.submitted{background-color:#e8f5e9;color:#2e7d32}.invoice-card-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.invoice-card-row{display:flex;justify-content:space-between;align-items:center}.invoice-card-label{font-size:12px;color:var(--color-grey);text-transform:uppercase;letter-spacing:.3px}.invoice-card-value{font-size:14px;color:var(--color-dark-blue);font-weight:500}.invoice-card-amount{font-size:16px;font-weight:700;color:var(--color-neon-blue)}.invoice-card-actions{display:flex;gap:8px;flex-wrap:wrap}.invoice-action-btn{flex:1 1 auto;min-width:0;padding:10px 12px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.invoice-download-btn{background-color:var(--color-off-white);color:var(--color-dark-blue);border:1.5px solid var(--color-background-grey)}.invoice-download-btn:hover{background-color:var(--color-background-grey)}.invoice-regenerate-btn{background-color:#fff8e1;color:#f57c00;border:1.5px solid #ffe082}.invoice-regenerate-btn:hover:not(:disabled){background-color:#ffe082}.invoice-regenerate-btn:disabled{opacity:.5;cursor:not-allowed}.invoice-submit-btn{background-color:var(--color-neon-blue);color:var(--color-white)}.invoice-submit-btn:hover:not(:disabled){background-color:var(--color-dark-blue)}.invoice-submit-btn:disabled{opacity:.6;cursor:not-allowed}@media screen and (max-width: 768px){.invoices-generate-btn{padding:14px 20px;font-size:14px}.invoices-form-buttons{flex-direction:column}.invoice-card{padding:14px}.invoice-card-period{font-size:15px}.invoice-card-actions{flex-direction:column}.invoice-action-btn{width:100%}}:root{--color-black: #000000;--color-grey: #8396a6;--color-background-grey: #f3f0f0;--color-white: #ffffff;--color-off-white: #fffcf7;--color-rose: #ffede0;--color-cream: #eaded4;--color-light-blue: #e3eef7;--color-dark-blue: #282e53;--color-neon-blue: #3859ff;--color-neon-yellow: #effeb4;--color-yellow: #FFD700;--color-brown: #a57a55;--color-dark-grey: #687886;--color-negative: #b23c3c;--color-positive: #3cb258;--gradient-blue: linear-gradient(to top right, #0024d8, #3859ff);--gradient-beige: linear-gradient(to top right, #e3c8b2, #eaded4);--gradient-grey: linear-gradient(to top right, #6e757b, #8396a6);--gradient-dark-blue: linear-gradient(to top right, #282e53, #2e3b8e);--box-elevation: 0 0 16px rgba(0, 0, 0, .25);--font-primary: "PPNikkeiMaru", sans-serif;--font-secondary: "PPEditorialNew", serif;--font-body: "PT Sans", sans-serif;--font-body-new: "Montserrat", sans-serif}:root{font-family:var(--font-body-new);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:inherit}a:hover{color:var(--color-neon-blue)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.unauthorized-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center}.unauthorized-container h1{color:#e53e3e;margin-bottom:1rem}.unauthorized-container p{margin-bottom:.5rem}.login-link{display:inline-block;margin-top:2rem;padding:.75rem 1.5rem;background-color:#4361ee;color:#fff;text-decoration:none;border-radius:4px;font-weight:500}.login-link:hover{background-color:#3a56d4}
