.schedule-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start;color:#f1f5ff}.schedule-week-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.schedule-picker-card{padding:18px;border:1px solid rgba(99,102,241,.25);border-radius:16px;background:linear-gradient(170deg,#1e294ccc,#090e21eb);box-shadow:0 14px 34px #080f2873;display:flex;flex-direction:column;gap:16px}.schedule-sidebar{padding:18px;border:1px solid rgba(99,102,241,.25);border-radius:16px;background:linear-gradient(170deg,#1e294ccc,#090e21eb);display:flex;flex-direction:column;gap:18px;box-shadow:0 14px 34px #080f2873}.schedule-sidebar-title{font-weight:600;font-size:16px;color:#fff}.schedule-sidebar-section{border-top:1px solid rgba(148,163,255,.2);padding-top:16px}.schedule-sidebar-subheader{font-weight:600;font-size:14px;margin-bottom:8px;color:#e0e7ff}.schedule-week-list{display:flex;flex-direction:column;gap:10px}.schedule-week-item{border:1px solid rgba(148,163,255,.18);border-radius:12px;padding:12px 14px;text-align:left;background:#0f172a9e;box-shadow:inset 0 0 0 1px #ffffff08;transition:all .15s ease;cursor:pointer;color:#e2e8ff}.schedule-week-item:hover{border-color:#818cf899;box-shadow:0 8px 22px #4f46e540}.schedule-week-item.active{border-color:#818cf8e6;background:linear-gradient(150deg,#6366f147,#1e7cff33);color:#fff}.schedule-week-label{display:block;font-weight:600;font-size:14px}.schedule-week-meta{font-size:12px;color:#e2e8ffb3}.schedule-empty,.schedule-error{border:1px dashed rgba(148,163,255,.3);border-radius:12px;padding:16px;font-size:14px;color:#e2e8ffd9;background:#0f172ab3}.schedule-error{border-color:#f8717199;color:#fee2e2;background:#450a0abf}.schedule-success{border:1px solid rgba(74,222,128,.6);border-radius:12px;padding:12px 14px;font-size:14px;color:#bbf7d0;background:#16a34a2e}.schedule-form{display:flex;flex-direction:column;gap:12px}.schedule-form.inline{flex-direction:row;align-items:center;gap:12px}.schedule-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#e2e8ffe6}.schedule-form input[type=date],.schedule-form input[type=time],.schedule-form input[type=text],.schedule-form select{border:1px solid rgba(129,140,248,.35);border-radius:10px;padding:9px 12px;font-size:14px;background:#0f172ae6;color:#f8fbff;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-shadow:inset 0 1px #ffffff0d}.schedule-form input[type=date]:focus,.schedule-form input[type=time]:focus,.schedule-form input[type=text]:focus,.schedule-form select:focus{border-color:#6366f1e6;box-shadow:0 0 0 3px #6366f140}.schedule-form input::placeholder,.schedule-form select::placeholder{color:#cbd5ff99}.schedule-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:#e2e8ffd9}.schedule-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#6366f1}.schedule-content{display:flex;flex-direction:column;gap:24px}.schedule-toolbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.schedule-week-info{display:flex;flex-direction:column;gap:2px;color:#e2e8ff}.schedule-week-title{font-size:18px;font-weight:600;color:#fff}.schedule-week-subtitle{font-size:14px;color:#e2e8ffb3}.schedule-toolbar-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.schedule-week-settings{margin-top:12px;padding:12px;border:1px solid rgba(148,163,255,.18);border-radius:14px;background:#050b1c59;display:flex;flex-direction:column;gap:12px}.schedule-week-settings-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.schedule-public-link-banner{display:flex;justify-content:flex-end;margin-bottom:16px}.schedule-public-link-banner .btn{white-space:nowrap}.schedule-slots{display:flex;flex-direction:column;gap:24px}.schedule-day{display:flex;flex-direction:column;gap:12px}.schedule-day-header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;font-weight:600;color:#f1f5ff;text-transform:capitalize;background:#1e294cbf;border:1px solid rgba(99,102,241,.35);border-radius:12px;padding:10px 14px;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none}.schedule-day-header:hover{border-color:#818cf8b3;box-shadow:0 8px 16px #6366f133}.schedule-day-header.collapsed{background:#0f172aa6;border-color:#818cf840}.schedule-day-icon{font-size:12px;width:16px}.schedule-day-header.collapsed .schedule-day-icon{transform:translateY(1px)}.schedule-day-count{font-size:12px;padding:2px 8px;border-radius:999px;background:#4f46e559;color:#c7d2fe}.schedule-day-slots{display:flex;flex-direction:column;gap:12px}.schedule-slot-card{border:1px solid rgba(148,163,255,.28);border-radius:16px;background:#0f172ad1;padding:16px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 40px #0c163773}.schedule-slot-card.collapsed{gap:0;padding:14px 18px}.schedule-slot-summary{display:flex;align-items:flex-start;gap:14px;background:none;border:none;color:inherit;cursor:pointer;width:100%;text-align:left;padding:0}.schedule-slot-summary:hover .schedule-slot-meta{color:#e2e8fff2}.schedule-slot-summary.collapsed .schedule-slot-meta{color:#e2e8ff99}.schedule-slot-arrow{font-size:12px;width:16px;flex-shrink:0}.schedule-slot-time{font-weight:600;font-size:16px;color:#fff;white-space:nowrap}.schedule-slot-meta{font-size:14px;color:#e2e8ffbf;transition:color .15s ease}.schedule-slot-summary-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.schedule-slot-instructor{font-size:13px;color:#c7d2fed9}.schedule-slot-stats{display:flex;flex-direction:column;gap:2px;margin-top:4px;font-size:12px;text-transform:uppercase;letter-spacing:.02em}.schedule-slot-stats .occupied{color:#f87171e6}.schedule-slot-stats .free{color:#7dd3fcf2}.schedule-slot-body{display:flex;flex-direction:column;gap:12px}.schedule-slot-details{display:flex;gap:6px;font-size:13px;color:#cbd5ffbf}.schedule-slot-detail-label{font-weight:600;color:#e2e8ffd9}.schedule-slot-detail-value{color:#e2e8ffc7}.schedule-slot-header-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.schedule-slot-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.schedule-slot-form input,.schedule-slot-form select{min-width:120px}.schedule-reservations{display:flex;flex-direction:column;gap:10px;margin-top:4px}.schedule-reservation{display:grid;grid-template-columns:minmax(200px,2fr) minmax(140px,1fr) 120px auto;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:#1e293bbf;border:1px solid rgba(129,140,248,.15)}.schedule-reservation-stand{font-weight:600;font-size:14px;color:#f8fbff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-reservation-name{font-size:13px;color:#e2e8ffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-reservation-status{font-size:13px;color:#0f172a;padding:4px 10px;border-radius:999px;background:linear-gradient(135deg,#60a5fae6,#818cf8d9);text-transform:capitalize;justify-self:flex-start}.schedule-reservation-actions{display:flex;gap:6px}.schedule-reservation input,.schedule-reservation select{width:100%;background:#0f172ad9;color:#f8fbff;border:1px solid rgba(148,163,255,.35);border-radius:8px;padding:7px 10px}.schedule-reservation input::placeholder{color:#cbd5ff99}.schedule-reservation-editable .schedule-reservation-stand{align-self:flex-start;padding-top:6px}.schedule-form.slot-create{border:1px dashed rgba(148,163,255,.4);border-radius:16px;padding:18px;background:#4f46e52e;color:#e2e8ff}.schedule-form.slot-create h3{margin:0 0 8px;font-size:16px}.slot-create-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.schedule-hint{font-size:12px;color:#f8bd59d9;margin-top:4px}.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.schedule-grid-column{display:flex;flex-direction:column;gap:8px;background:#0b1224bf;border:1px solid rgba(148,163,255,.2);border-radius:14px;padding:10px;box-shadow:inset 0 0 0 1px #ffffff0a}.schedule-grid-day-header{display:flex;flex-direction:column;gap:2px;padding-bottom:4px;border-bottom:1px solid rgba(148,163,255,.2)}.schedule-grid-day-title{display:flex;justify-content:space-between;font-weight:600;color:#eef1ff;text-transform:uppercase;letter-spacing:.05em}.schedule-grid-day-meta{display:flex;gap:8px;font-size:12px;color:#d1d5ffbf}.schedule-grid-day-body{display:flex;flex-direction:column;gap:6px}.schedule-grid-slot{border-radius:14px;border:1px solid rgba(148,163,255,.2);background:#11182bbf;overflow:hidden}.schedule-grid-slot-summary{width:100%;border:none;background:none;display:flex;gap:6px;align-items:center;padding:10px 12px;color:inherit;cursor:pointer;text-align:left}.schedule-grid-slot-summary:hover{background:#6366f124}.schedule-grid-slot-info{display:flex;flex-direction:column;gap:2px}.schedule-grid-slot-time{font-weight:600;color:#eef1ff;white-space:nowrap}.schedule-grid-slot-meta{font-size:12px;color:#d6dbffcc}.schedule-grid-slot-tag{display:inline-flex;align-items:center;gap:6px;margin-top:2px;padding:4px 8px;border-radius:8px;background:#6366f126;border:1px solid rgba(99,102,241,.35);color:#e0e7ff;font-size:12px}.schedule-grid-slot-instructor{font-size:12px;color:#c7d2fed9}.schedule-grid-slot-stats{display:flex;flex-direction:column;gap:1px;font-size:11px;text-transform:uppercase;letter-spacing:.02em}.schedule-grid-slot-stats .occupied{color:#f87171e6}.schedule-grid-slot-stats .free{color:#7dd3fcf2}.schedule-grid-slot-arrow{font-size:12px;color:#d6dbffe6}.schedule-grid-slot-body{padding:8px 10px;border-top:1px solid rgba(148,163,255,.18);display:flex;flex-direction:column;gap:8px;background:#0a0f20bf;align-items:flex-start}.schedule-grid-slot-clients{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.schedule-grid-slot-client{padding:4px 8px;border-radius:8px;border:1px solid rgba(148,163,255,.25);background:#ffffff08;font-size:12px;width:100%;text-align:left}.schedule-grid-slot-client.today-client-link{display:block;color:inherit;text-decoration:none}.schedule-grid-slot-client.today-client-link:hover{background:#94a3ff1a;border-color:#94a3ff73}.today-panel .schedule-grid-slot-clients{flex-direction:column;flex-wrap:nowrap;gap:8px}.schedule-grid-slot-body .btn.primary{padding:6px 8px;font-size:11px;width:100%;text-align:center}.schedule-grid-slot .schedule-reservation{grid-template-columns:minmax(180px,2fr) minmax(120px,1fr) 90px}.schedule-grid-slot .schedule-reservation-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-grid-slot .schedule-reservation-status{justify-self:end}@media (max-width: 1280px){.schedule-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 960px){.schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 720px){.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.schedule-grid{grid-template-columns:1fr}}.btn{border:none;border-radius:10px;padding:9px 16px;font-size:14px;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,background .1s ease;font-weight:500}.btn.primary{background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff;box-shadow:0 10px 28px #6366f159}.btn.primary:hover{transform:translateY(-1px);box-shadow:0 14px 32px #6366f173}.btn.ghost{background:#0f172a99;color:#e2e8ff;border:1px solid rgba(148,163,255,.3)}.btn.ghost:hover{background:#94a3ff2e}.btn.danger{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.slot-seating-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.race-summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:14px 0 18px}.race-summary-stat{border:1px solid rgba(148,163,255,.22);border-radius:14px;padding:12px 14px;background:#0f172a99}.race-summary-stat-label{font-size:12px;color:#cbd5f5d9}.race-summary-stat-value{margin-top:6px;font-size:20px;font-weight:750;color:#ebf0fff2;line-height:1}.race-summary-clusters{margin:10px 0 18px}.race-summary-clusters-header{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px}.race-summary-clusters-title{font-weight:700;color:#ebf0fff2}.race-summary-clusters-hint{font-size:12px;color:#cbd5f5bf}.race-summary-clusters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.race-summary-cluster-card{border:1px solid rgba(148,163,255,.18);border-radius:14px;padding:12px 14px;background:#0f172a8c;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.race-summary-cluster-title{display:flex;align-items:baseline;gap:6px;font-weight:650;color:#ebf0ffeb;line-height:1.2;min-width:0;flex:1 1 auto}.race-summary-cluster-time{font-weight:500;color:#cbd5f5b3;font-size:12px}.race-summary-cluster-metrics{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.race-summary-cluster-chip{min-width:34px;text-align:center;padding:4px 8px;border-radius:999px;font-weight:700;font-size:12px;border:1px solid rgba(148,163,255,.18);background:#0c12228c;color:#ebf0ffeb;white-space:nowrap}.race-summary-cluster-chip.ok{border-color:#22c55e59;background:#22c55e1f}.race-summary-cluster-chip.warn{border-color:#facc1559;background:#facc151f}.race-summary-cluster-chip.mode{border-color:#94a3ff47;background:#94a3ff14;color:#ebf0ffe6}.slot-seating-meta{display:flex;flex-direction:column;gap:4px}.slot-seating-title{font-size:18px;font-weight:700}.slot-seating-subtitle{color:#cbd5f5;font-size:14px}.slot-meta-controls{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.slot-meta-controls .btn{width:100%;display:block}.slot-meta-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:10px;align-items:end}.slot-meta-form label{display:flex;flex-direction:column;gap:6px;font-size:.95rem;color:#e2e8ffd9}.slot-meta-form input,.slot-meta-form select{padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,255,.35);background:#0f172abf;color:#e2e8f0}.slot-meta-section{display:flex;flex-direction:column;gap:8px;margin:0 0 1px}.slot-meta-panel{border:1px solid rgba(148,163,255,.35);border-radius:12px;padding:12px;background:#0f172acc;display:flex;flex-direction:column;gap:10px}.slot-meta-actions{display:flex;justify-content:flex-end}.slot-accounts-section{display:flex;flex-direction:column;gap:6px;margin:12px 0 4px}.slot-accounts-note{color:#cbd5f5;font-size:13px}.slot-seating-grid{display:grid;grid-template-columns:1fr;gap:20px}.today-panel .panel-body{padding:0}.today-panel .schedule-grid{grid-template-columns:1fr}.today-nav{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.today-panel .schedule-grid-slot-info{flex:1 1 auto;min-width:0;width:100%}.today-panel .schedule-grid-slot-clients{width:100%}.slot-copy-section{display:flex;flex-direction:column;gap:8px;margin:0}.slot-copy-panel{border:1px solid rgba(148,163,255,.35);border-radius:12px;padding:12px;background:#0f172acc;display:flex;flex-direction:column;gap:10px}.slot-copy-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.slot-copy-filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#e2e8ff}.slot-copy-filters select,.slot-copy-filters input[type=time]{padding:6px 10px;border-radius:8px;border:1px solid rgba(148,163,255,.35);background:#0f172a99;color:#e2e8ff}@media (max-width: 768px){.slot-seating-header{flex-direction:column;align-items:flex-start}.slot-seating-title{font-size:1.1rem}.slot-meta-form{grid-template-columns:1fr}.slot-copy-section,.slot-meta-controls,.slot-meta-section,.slot-copy-panel,.slot-meta-panel,.slot-meta-form,.slot-meta-controls .btn{width:100%}}.slot-copy-weekdays{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.slot-copy-weekdays-title{font-size:13px;color:#e2e8ff;margin-right:4px}.slot-copy-weekday{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:8px;border:1px solid rgba(148,163,255,.25);background:#ffffff08;font-size:13px}.slot-copy-weekday input[type=checkbox]{accent-color:#6366f1}.slot-copy-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.slot-copy-item{display:flex;gap:10px;padding:10px;border-radius:10px;border:1px solid rgba(148,163,255,.25);background:#ffffff08;align-items:flex-start}.slot-copy-item input[type=checkbox]{margin-top:4px;accent-color:#6366f1}.slot-copy-item-title{font-weight:600;color:#e2e8ff}.slot-copy-item-meta{font-size:12px;color:#cbd5f5}.slot-copy-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.slot-stands-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.slot-stand-tile{background:#ffffff05;border:1px dashed rgba(148,163,255,.4);border-radius:12px;padding:12px;min-height:120px;transition:border-color .2s ease,background .2s ease;display:flex;flex-direction:column;gap:8px}.slot-stand-tile.active{border-color:#8b5cf6;background:#8b5cf614}.slot-stand-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.slot-stand-title{font-weight:700;font-size:18px}.slot-stand-code.subtle{font-size:12px;color:#e2e8ffbf}.slot-stand-bike{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:#cbd5f5}.slot-stand-bike-title{font-weight:600;color:#e2e8ff}.slot-stand-bike-meta{padding:2px 8px;border-radius:999px;border:1px solid rgba(148,163,255,.3);background:#ffffff08}.slot-stand-title{font-weight:600}.slot-stand-code{font-size:12px;color:#cbd5f5}.slot-stand-empty{font-size:13px;color:#94a3b8}.slot-stand-tile .slot-seat-card{width:100%}.slot-assign{margin-top:8px;display:flex;flex-direction:column;gap:8px}.slot-assign-panel{display:flex;flex-direction:column;gap:6px;background:#ffffff0a;border:1px solid rgba(148,163,255,.3);border-radius:10px;padding:8px}.slot-assign-panel input[type=search]{width:100%;padding:8px 10px;border-radius:8px;border:1px solid rgba(148,163,255,.4);background:#0f172a66;color:#e2e8ff}.slot-assign-results{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.slot-assign-option{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid rgba(148,163,255,.3);background:#ffffff08;color:#e2e8ff;text-align:left;cursor:pointer}.slot-assign-option:hover{border-color:#8b5cf6;background:#8b5cf61a}.slot-assign-name{font-weight:600}.slot-assign-meta{font-size:12px;color:#cbd5f5}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-weight:600;font-size:12px;text-transform:none;background:#94a3ff26;border:1px solid rgba(148,163,255,.35)}.status-chip.approved{background:#22c55e26;border-color:#22c55e66;color:#d1fae5}.status-chip.pending{background:#fbbf2426;border-color:#fbbf2466;color:#fef9c3}.status-chip.rejected{background:#f8717126;border-color:#f8717166;color:#fee2e2}.slot-seat-card{padding:10px 12px;border-radius:10px;background:linear-gradient(135deg,#6366f126,#8b5cf633);border:1px solid rgba(148,163,255,.4);cursor:grab;-webkit-user-select:none;user-select:none}.slot-seat-card .slot-seat-name{font-weight:700}.slot-seat-meta{font-size:12px;color:#cbd5f5}.slot-seat-status{font-size:12px;color:#e0e7ff;margin-top:6px}.slot-seat-card.available{background:#22c55e24;border-color:#22c55e80}.slot-seat-card.pending,.slot-seat-card.waitlist,.slot-seat-card.hold{background:#fbbf241f;border-color:#fbbf2480}.slot-seat-card.cancelled,.slot-seat-card.blocked{background:#f871711f;border-color:#f8717166}.slot-unassigned{border-style:solid}.slot-unassigned-list{display:grid;gap:8px;margin-top:8px}.slot-seating-hint{margin-top:12px;color:#cbd5f5;font-size:13px}.slot-danger-zone{margin-top:18px;padding-top:14px;border-top:1px solid rgba(148,163,255,.2);display:flex;justify-content:flex-end}.messaging-page{max-width:800px;margin:0 auto;padding:20px}.messaging-stats{margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#1e2846b3,#141932b3);border:1px solid rgba(79,155,255,.2);border-radius:12px;padding:20px;text-align:center}.stat-label{font-size:14px;color:#a0a8c8;margin-bottom:8px}.stat-value{font-size:28px;font-weight:600;color:#4f9bff;line-height:1}.messaging-form{background:linear-gradient(135deg,#1e2846b3,#141932b3);border:1px solid rgba(79,155,255,.2);border-radius:12px;padding:24px;margin-bottom:30px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#e0e4ff}.collapsible summary{cursor:pointer;color:#e0e4ff;font-weight:600;display:flex;align-items:center;gap:8px}.collapsible .summary-hint{font-weight:400;color:#a0a8c8}.collapsible-content{margin-top:10px}.form-group input[type=checkbox]{margin-right:8px}.form-hint{font-size:13px;color:#a0a8c8;margin-top:4px;font-weight:400}.form-group textarea{width:100%;min-height:120px;padding:12px;background:#0a0f1e99;border:1px solid rgba(79,155,255,.3);border-radius:8px;color:#f4f6ff;font-family:inherit;resize:vertical;transition:border-color .2s}.form-group textarea:focus{outline:none;border-color:#4f9bff;box-shadow:0 0 0 2px #4f9bff33}.form-group select,.form-group input[type=search]{width:100%;padding:10px 12px;background:#0a0f1e99;border:1px solid rgba(79,155,255,.3);border-radius:8px;color:#f4f6ff;margin-top:6px}.form-group select:focus,.form-group input[type=search]:focus{outline:none;border-color:#4f9bff;box-shadow:0 0 0 2px #4f9bff33}.char-count{text-align:right;font-size:12px;color:#a0a8c8;margin-top:4px}.scheduled-time-input{margin-top:12px;padding:16px;background:#0a0f1e66;border-radius:8px;border:1px solid rgba(79,155,255,.1)}.scheduled-time-input label{display:block;margin-bottom:8px;font-weight:500;color:#e0e4ff}.scheduled-time-input input[type=datetime-local]{width:100%;padding:10px;background:#0a0f1e99;border:1px solid rgba(79,155,255,.3);border-radius:8px;color:#f4f6ff;font-family:inherit}.scheduled-time-input input[type=datetime-local]:focus{outline:none;border-color:#4f9bff;box-shadow:0 0 0 2px #4f9bff33}.scheduled-preview{margin-top:8px;font-size:14px;color:#a0a8c8}.form-actions{margin-top:30px}.button.primary{background:linear-gradient(135deg,#4f9bff,#7c53ff);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:500;cursor:pointer;transition:opacity .2s}.button.primary:hover:not(:disabled){opacity:.9}.button.primary:disabled{opacity:.5;cursor:not-allowed}.form-message{margin-top:16px;padding:12px;border-radius:8px;text-align:center}.form-message.success{background:#43d29f26;border:1px solid rgba(67,210,159,.3);color:#43d29f}.form-message.error{background:#ff6b8b26;border:1px solid rgba(255,107,139,.3);color:#ff6b8b}.recipient-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.recipient-summary{color:#a0a8c8;font-size:14px}.filter-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 12px}.filter-section{margin-top:10px}.filter-section-title{font-size:13px;font-weight:600;color:#e0e4ff;margin-bottom:6px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;align-items:center}.radio-row{display:inline-flex;align-items:center;gap:8px;color:#e0e4ff;font-size:14px}.filter-grid input[type=date],.filter-grid select{width:100%;padding:9px 12px;background:#0a0f1e99;border:1px solid rgba(79,155,255,.3);border-radius:8px;color:#f4f6ff}.button.toggle{background:#0a0f1e99;color:#e0e4ff;border:1px solid rgba(79,155,255,.3);padding:8px 12px;border-radius:8px;cursor:pointer;transition:border-color .2s,color .2s,background .2s,box-shadow .2s}.button.toggle.active{background:#4f9bff26;border-color:#4f9bffb3;color:#fff;box-shadow:0 0 0 2px #4f9bff26}.button.toggle:hover:not(:disabled){border-color:#4f9bff;color:#4f9bff}.button.toggle:disabled{opacity:.5;cursor:not-allowed}.recipient-buttons{display:flex;gap:8px}.button.ghost{background:transparent;color:#e0e4ff;border:1px solid rgba(79,155,255,.5);padding:8px 12px;border-radius:8px;cursor:pointer;transition:border-color .2s,color .2s}.button.ghost:hover:not(:disabled){border-color:#4f9bff;color:#4f9bff}.button.ghost:disabled{opacity:.5;cursor:not-allowed}.recipient-search{width:100%;padding:10px 12px;background:#0a0f1e99;border:1px solid rgba(79,155,255,.3);border-radius:8px;color:#f4f6ff;margin-bottom:12px}.recipient-list{max-height:240px;overflow:auto;background:#0a0f1e66;border:1px solid rgba(79,155,255,.1);border-radius:8px;padding:8px}.recipient-row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:6px;color:#e0e4ff;cursor:pointer;transition:background .2s,border-color .2s}.recipient-row:hover{background:#4f9bff0d}.recipient-row input[type=checkbox]{width:16px;height:16px}.recipient-meta{display:flex;flex-direction:column}.recipient-name{font-weight:500}.recipient-sub{font-size:12px;color:#a0a8c8}.recipient-empty{padding:16px;text-align:center;color:#a0a8c8}.filter-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.filter-badge{background:#4f9bff26;border:1px solid rgba(79,155,255,.35);color:#e0e4ff;padding:4px 10px;border-radius:12px;font-size:12px}.messaging-info{background:linear-gradient(135deg,#1e2846b3,#141932b3);border:1px solid rgba(79,155,255,.2);border-radius:12px;padding:24px}.messaging-info h3{margin-top:0;margin-bottom:16px;color:#e0e4ff}.messaging-info ul{margin:0;padding-left:20px}.messaging-info li{margin-bottom:8px;color:#a0a8c8}.messaging-info li:last-child{margin-bottom:0}.messaging-info strong{color:#4f9bff}.upload-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.file-chip{display:inline-flex;align-items:center;gap:8px;background:#4f9bff1a;border:1px solid rgba(79,155,255,.3);border-radius:999px;padding:6px 10px;color:#e0e4ff}.chip-close{background:transparent;border:none;color:#e0e4ff;cursor:pointer;font-size:14px;line-height:1}.chip-close:disabled{opacity:.5;cursor:not-allowed}.file-name{font-size:14px}.image-preview{margin-top:12px;position:relative;display:inline-block}.image-preview img{max-width:240px;border-radius:8px;border:1px solid rgba(79,155,255,.3);box-shadow:0 4px 12px #0000004d}.image-preview .chip-close{position:absolute;top:6px;right:6px;background:#0a0f1e99;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:26px;height:26px;display:grid;place-items:center}.settings-page{display:flex;flex-direction:column;gap:1.4rem}.settings-hero{display:grid;grid-template-columns:2fr 1fr;gap:1.25rem;padding:1.4rem 1.6rem;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 20% 20%,rgba(79,155,255,.08),transparent 35%),radial-gradient(circle at 80% 0%,rgba(0,255,188,.12),transparent 40%),linear-gradient(135deg,#0e1528,#0a1020,#0e172a);box-shadow:0 10px 40px #00000059}.settings-hero h1{margin:.2rem 0 .4rem;font-size:1.8rem}.settings-kicker{letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;font-size:.85rem;margin:0}.settings-lead{color:#c5d2ff;max-width:680px;line-height:1.5;margin:0 0 .8rem}.settings-actions{display:flex;flex-wrap:wrap;gap:.5rem}.settings-actions .btn{border:1px solid rgba(255,255,255,.12)}.settings-hero-meta{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.75rem}.settings-pill{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;padding:.4rem .75rem;border-radius:999px;background:#4f9bff26;color:#d5e3ff;width:fit-content}.settings-pill--muted{background:#ffffff0d;color:#fffc}.settings-checklist{display:grid;grid-template-columns:auto 1fr;gap:.5rem .75rem;align-items:center;padding:.55rem .75rem;border-radius:12px;background:#00000040;border:1px solid rgba(255,255,255,.05);color:#e6edff}.settings-checklist span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#00ffbc1f;color:#aef4db;font-weight:700}.settings-check-title{font-weight:600}.settings-check-sub{color:#e6edffb3;font-size:.92rem}.settings-stack{display:flex;flex-direction:column;gap:.9rem}.settings-section{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:linear-gradient(180deg,#ffffff05,#0c1224cc);overflow:hidden;scroll-margin-top:90px}.settings-section-header{width:100%;background:transparent;color:inherit;border:none;display:flex;justify-content:space-between;align-items:center;padding:.95rem 1rem;text-align:left;cursor:pointer}.settings-section-header:hover{background:#ffffff0a}.settings-section-title{font-weight:700;font-size:1.05rem}.settings-section-subtitle{color:#e6edffb3;font-size:.95rem}.settings-section-toggle{font-size:1.1rem;color:#d5e3ff}.settings-section-body{padding:0 1rem 1rem}@media (max-width: 1024px){.settings-hero{grid-template-columns:1fr}.settings-lead{max-width:none}}.app-shell{display:grid;grid-template-columns:220px 1fr;width:100%;background:transparent}.app-shell--full{display:block}.sidebar{background:#0c1120d9;border-right:1px solid rgba(255,255,255,.06);padding:1.2rem 1rem;display:flex;flex-direction:column;gap:1.2rem;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.brand{display:flex;align-items:center;gap:.7rem}.brand-accent{width:12px;height:48px;border-radius:999px;background:linear-gradient(180deg,#4f9bff,#7c53ff);box-shadow:0 0 20px #4f9bff99}.brand-title{font-size:1.1rem;font-weight:700;letter-spacing:.05em}.brand-sub{font-size:.7rem;color:#c4cce8b3;letter-spacing:.08em;text-transform:uppercase}.nav{display:flex;flex-direction:column;gap:.35rem}.nav-link{padding:.55rem .7rem;border-radius:12px;font-weight:600;color:#c8d2f0bf;transition:background .15s ease,color .15s ease,transform .15s ease;font-size:.95rem;text-decoration:none}.nav-link:hover{color:#f0f5ff;background:#4f9bff26}.nav-link.active{color:#0c1425;background:linear-gradient(135deg,#4f9bffd9,#7852ffd9);box-shadow:0 12px 28px #4f9bff59}.nav-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.35rem}.nav-section-title{margin-bottom:.2rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#c8d2f080}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:1rem}.user-card{display:flex;align-items:center;gap:.8rem;background:#11182ad9;border-radius:14px;border:1px solid rgba(255,255,255,.05);padding:.75rem}.avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#4f9bff40;color:#1a2745;font-weight:700}.avatar img{width:100%;height:100%;object-fit:cover}.user-name{font-weight:600}.user-meta{font-size:.75rem;color:#c8d2f099;text-transform:uppercase;letter-spacing:.05em}.logout-button{border:none;border-radius:12px;padding:.65rem .9rem;font-weight:600;color:#0b1020;background:linear-gradient(135deg,#ff6b8b,#ff8da8);box-shadow:0 12px 24px #ff6b8b4d;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.logout-button:hover{transform:translateY(-1px);box-shadow:0 16px 30px #ff6b8b66}.main-area{display:flex;flex-direction:column;padding:1.8rem 2rem;gap:1.6rem;position:relative}.app-shell--full .main-area{padding:2rem 2.6rem}.main-area--full .main-header{display:none}.main-area--full{padding:2rem 2.6rem}.main-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.main-header h1{margin:0;font-size:2rem;font-weight:700;letter-spacing:.04em}.header-actions{display:flex;align-items:center}.header-actions .btn{padding:.55rem .9rem}.main-meta{color:#c8d2f0b3;font-size:.95rem}.main-content{display:flex;flex-direction:column;gap:1.8rem}.clients-panel{padding:1.1rem}.clients-panel .panel-header{margin-bottom:.85rem}.clients-panel .panel-body{gap:.75rem}.clients-panel .clients-toolbar{margin-top:0;gap:.5rem}.clients-panel .table-container{margin-top:0}.panel{background:#11182ad1;border-radius:18px;border:1px solid rgba(255,255,255,.05);padding:1.75rem;box-shadow:0 24px 60px #080c188c;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);position:relative;overflow:hidden}.panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1px solid rgba(255,255,255,.04);pointer-events:none}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.4rem}.panel-header.panel-header-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.panel-header.panel-header-clickable:focus-visible{outline:2px solid rgba(148,163,255,.7);outline-offset:6px;border-radius:12px}.panel.panel-collapsed .panel-header{margin-bottom:0}.panel-header h2{margin:0;font-size:1.35rem;font-weight:700}.panel-header p{margin:.4rem 0 0;color:#c8d2f099;font-size:.95rem}.panel-extra{display:flex;align-items:center;gap:.6rem}.panel-body{display:flex;flex-direction:column;gap:1.2rem}.panel-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.collapse-toggle{display:flex;align-items:center;gap:.35rem;padding:.5rem .85rem;font-size:.95rem}.collapse-toggle .chevron{font-size:.95rem}.instructors-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:24px}.instructors-section{display:flex;flex-direction:column;gap:16px;background:#050b1c66;border:1px solid rgba(148,163,255,.2);border-radius:16px;padding:18px;box-shadow:inset 0 0 0 1px #ffffff0a}.section-heading{margin:0;font-size:16px;font-weight:600;color:#e2e8ffd9}.instructors-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.instructor-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0c1630a6;border:1px solid rgba(99,102,241,.25);border-radius:12px;padding:10px 14px}.instructor-name{font-weight:600;color:#f3f4ff}.instructors-form{display:flex;flex-direction:column;gap:12px}.templates-layout{display:grid;grid-template-columns:minmax(220px,320px) minmax(220px,320px) 1fr;gap:24px;align-items:start}.templates-section{display:flex;flex-direction:column;gap:16px;background:#050b1c66;border:1px solid rgba(148,163,255,.2);border-radius:16px;padding:18px;box-shadow:inset 0 0 0 1px #ffffff0a}.templates-section--wide{min-width:0}.template-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.template-card{width:100%;border:1px solid rgba(99,102,241,.25);background:#0c1630a6;border-radius:12px;padding:10px 14px;color:#f3f4ff;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.template-card[data-selected=true]{border-color:#6366f1b3;box-shadow:0 0 0 3px #6366f12e}.template-card-main{flex:1;min-width:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;background:transparent;border:none;padding:0;color:inherit}.template-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.template-card[data-selected=true] .template-card-title{color:#fff}.template-card-title{font-weight:600;color:#f3f4fff2}.template-card-meta{font-size:13px;color:#e2e8ffb3}.template-detail{display:flex;flex-direction:column;gap:14px;min-width:0}.template-detail-title{font-size:16px;font-weight:600;color:#f3f4fff2}.template-detail-notes{font-size:14px;color:#e2e8ffbf;line-height:1.4}.template-slots{display:flex;flex-direction:column;gap:14px}.template-day-title{font-size:14px;font-weight:600;color:#e2e8ffd9;margin-bottom:8px}.template-slot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.template-slot{display:flex;flex-wrap:wrap;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(99,102,241,.18);background:#0a12288c}.template-slot-time{font-weight:600;color:#f3f4fff2}.template-slot-meta{font-size:13px;color:#e2e8ffbf}.template-form{display:flex;flex-direction:column;gap:10px}.template-form-row{display:flex;gap:10px;align-items:center}.template-form-row input[type=text]{flex:1}.template-slot-editor{display:flex;flex-direction:column;gap:10px}.template-slot-editor-row{display:grid;grid-template-columns:110px 110px 160px 1fr auto;gap:10px;align-items:center}.template-week-slot-editor-row{display:grid;grid-template-columns:70px 110px 110px 160px 220px 1fr auto;gap:10px;align-items:center}.template-slot-editor-row input[type=text]{min-width:0}@media (max-width: 720px){.template-form-row{flex-direction:column;align-items:stretch}.template-slot-editor-row{grid-template-columns:1fr}}.instructors-form input{border:1px solid rgba(129,140,248,.35);border-radius:10px;padding:9px 12px;font-size:14px;background:#0c132ae6;color:#f1f5ff}.instructors-form input::placeholder{color:#c1caff99}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.2rem}.summary-card{border-radius:16px;border:1px solid rgba(79,155,255,.18);padding:1.2rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.summary-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(255,255,255,.08),transparent 55%);pointer-events:none}.summary-label{font-size:.9rem;color:#c8d2f0b3;text-transform:uppercase;letter-spacing:.08em}.summary-value{font-size:2.1rem;font-weight:700;margin-top:.4rem}.table-container{margin-top:.5rem;border-radius:16px;border:1px solid rgba(255,255,255,.05);background:#0b1120a6;overflow-x:auto;position:relative}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-thumb{background:#4f9bff66;border-radius:999px}.data-table{width:100%;min-width:720px;border-collapse:collapse}.data-table thead,.data-table__head--sticky{background:#151e34e6}.data-table__head--sticky th{position:sticky;top:0;z-index:2;box-shadow:0 2px #00000040;background:linear-gradient(180deg,#151e34f5,#101628f5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.data-table th,.data-table td{padding:.9rem 1rem;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:top}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:#c5d0f2d9}.data-table tbody tr{transition:background .15s ease,box-shadow .15s ease}.data-table tbody tr:hover{background:#3c4a6e2e}.data-table td .primary{font-size:1.05rem;font-weight:650}.data-table td .muted{font-size:.85rem;color:#c4cdee99}.data-table td .metric{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.55rem}.data-table td .metric .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#96aad7cc}.data-table td .metric:last-child{margin-bottom:0}.selection-col,.selection-cell{width:48px;text-align:center}.sortable-col{cursor:pointer;-webkit-user-select:none;user-select:none}.th-label{display:inline-flex;align-items:center;gap:.3rem}.sort-indicator{font-size:.8rem;color:#c5d0f2d9}.cell-id{width:70px}.compact-table th,.compact-table td{padding:.55rem .6rem}.clients-table th{padding:.5rem .65rem}.clients-table td{padding:0}.clients-table .cell-name{max-width:240px}.clients-table .cell-pedals{max-width:200px}.clients-table .cell-date{width:170px}.bikes-table{min-width:860px}.bikes-table .cell-bike{max-width:340px}.bikes-table .cell-size{width:220px}.bikes-table .cell-spec{max-width:320px}.trainers-table{min-width:860px}.trainers-table .cell-trainer,.trainers-table .cell-bike{max-width:320px}.trainers-table .cell-spec{width:220px}.table-container--sticky{max-height:70vh;overflow:auto}.data-table__row--clickable{cursor:pointer}.data-table__row--clickable:hover{background:#4f9bff14;box-shadow:inset 0 1px #ffffff0f}.is-active-row{background:#4f9bff0f;box-shadow:inset 0 0 0 1px #4f9bff4d}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;background:#4f9bff1f;color:#e6edff;font-weight:600;letter-spacing:.01em}.pill-accent{background:#7c53ff26;color:#f0e9ff}.pill-muted{background:#ffffff0f;color:#e6edffcc}.pill-danger{background:#ff6b8b33;color:#ffd5de;border:1px solid rgba(255,107,139,.35)}.pill-action{gap:.4rem}.segmented-control{display:inline-flex;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;background:#ffffff0a}.segmented-control__item{border:none;background:transparent;color:#e9f1ffe6;padding:.5rem .9rem;cursor:pointer;font-weight:600;letter-spacing:.01em;border-right:1px solid rgba(255,255,255,.06)}.segmented-control__item:last-child{border-right:none}.segmented-control__item.is-active{background:#4f9bff2e;color:#e9f1ff}.chip-row{display:flex;flex-wrap:wrap;gap:.45rem;margin:.35rem 0 .75rem}.link-button{background:transparent;border:none;color:#e6edffcc;cursor:pointer;padding:0;font:inherit}.link-button:hover{color:#fff}.table-cell-link{display:block;width:100%;height:100%;padding:.5rem .65rem;color:inherit;text-decoration:none}.table-cell-link:hover{text-decoration:underline;text-underline-offset:2px}.table-cell-link:focus-visible{outline:2px solid rgba(79,155,255,.6);outline-offset:-2px;border-radius:8px}.cell-content-ellipsis{max-width:100%}.muted{color:#c4cdeea6}.compact-table td{font-size:.9rem}.id-chip{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .65rem;border-radius:999px;background:#4f9bff33;border:1px solid rgba(79,155,255,.35);color:#d4e2ff;font-weight:600;font-size:.8rem}.input-compact{width:120px!important;max-width:120px}.input-compact-wide{width:180px!important;max-width:180px}.client-cell{display:flex;flex-direction:column;gap:.15rem}.client-cell-inline{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.cell-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.65rem}.cell-bike,.cell-goal,.cell-metrics,.cell-date{min-width:160px}.actions-col,.actions-cell{width:150px;text-align:right}.actions-cell{display:flex;flex-direction:column;gap:.45rem;align-items:flex-end}.empty-state{padding:1rem;text-align:center;color:#c4cdeea6}.row-form{display:flex;flex-direction:column;gap:.5rem}.row-actions{display:flex;flex-direction:row;gap:.35rem;align-items:center}.row-actions.inline-actions .row-form{flex-direction:row;gap:.35rem;align-items:center}.row-actions.inline-actions .row-form input{width:auto;max-width:140px}.trainers-layout,.bikes-layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:1.5rem;align-items:stretch}.trainers-list,.bikes-list{background:#0b1120b3;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:.75rem;display:flex;flex-direction:column;max-height:100%;min-height:0}.trainers-list-items,.bikes-list-items{display:flex;flex-direction:column;gap:.6rem;overflow-y:auto;padding-right:.25rem}.trainer-list-item,.bike-list-item{border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:.75rem;background:#161e348c;display:flex;flex-direction:column;gap:.25rem;text-align:left;color:inherit;cursor:pointer;transition:transform .15s ease,background .15s ease,border .15s ease,box-shadow .15s ease}.trainer-list-item:hover,.bike-list-item:hover{transform:translateY(-1px);border-color:#4f9bff80;box-shadow:0 12px 24px #4f9bff26}.trainer-list-item.active,.bike-list-item.active{background:linear-gradient(135deg,#4f9bffd9,#7852ffd9);border-color:#4f9bffe6;box-shadow:0 16px 30px #4f9bff59;color:#0b1020}.trainer-list-item.active .trainer-list-meta,.trainer-list-item.active .trainer-list-bike,.bike-list-item.active .bike-list-meta,.bike-list-item.active .bike-list-height{color:#0d1324bf}.trainer-list-title,.bike-list-title{font-weight:600;font-size:1rem}.trainer-list-meta,.bike-list-meta{font-size:.82rem;color:#c4cdeea6}.trainer-list-bike,.bike-list-height{font-size:.8rem;color:#c4cdee8c}.bike-list-item.create-entry{border-style:dashed;background:#161e3459;font-style:normal}.bike-list-item.create-entry:hover{border-color:#7852ff99}.bike-list-item.create-entry.active{background:#7852ff33;color:inherit}.trainer-details,.bike-details{background:#0b1120b8;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem;min-height:0}.races-layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:1.5rem;align-items:flex-start}.races-list{background:#0b1120b8;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:.75rem;display:flex;flex-direction:column;gap:.75rem;max-height:100%}.races-list-items{display:flex;flex-direction:column;gap:.6rem}.race-list-item{border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:.85rem;background:#161e348c;text-align:left;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:.35rem;position:relative;transition:transform .15s ease,border .15s ease,background .15s ease}.race-list-item.active{border-color:#4f9bffcc;background:linear-gradient(135deg,#4f9bffd9,#7852ffd9);color:#0b1020;box-shadow:0 14px 28px #4f9bff59}.race-list-title{font-weight:600}.race-list-meta{font-size:.85rem;color:#c4cdeeb3}.race-list-item.active .race-list-meta{color:#0b1120b3}.race-list-tag{position:absolute;top:.6rem;right:.6rem;font-size:.75rem;padding:.2rem .5rem;border-radius:999px;background:#ffffff26;text-transform:uppercase;letter-spacing:.04em}.race-details{background:#0b1120b8;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.race-form{display:flex;flex-direction:column;gap:1rem}.race-form h3{margin:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.race-form-grid{grid-template-columns:1fr;max-width:760px}.checkbox-field{display:flex;align-items:flex-start;justify-content:flex-start;gap:.6rem;margin-top:0;padding-top:.35rem;max-width:760px}.checkbox-field input[type=checkbox]{margin-top:.2rem}.checkbox-field-text{display:flex;flex-direction:column;gap:.15rem}.checkbox-field-hint{font-size:.85rem;color:#c8d0ebc7;font-weight:400}.race-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.92rem}.race-details details.collapsible{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.55rem .7rem;background:#0c122273}.race-details details.collapsible>summary{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:.6rem;font-weight:650;color:#ebf0ffeb}.race-details details.collapsible>summary::-webkit-details-marker{display:none}.race-details details.collapsible>summary:after{content:"▾";margin-left:auto;opacity:.7;transform:rotate(0);transition:transform .15s ease}.race-details details.collapsible[open]>summary:after{transform:rotate(180deg)}.race-details details.collapsible>summary .summary-hint{font-weight:450;color:#c8d0ebc7}.race-details details.collapsible .collapsible-content{margin-top:.75rem}.race-details details.collapsible--button:not([open]){padding:0;border:0;background:transparent}.race-details details.collapsible--button:not([open])>summary{padding:.6rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#11182d59}.race-details details.collapsible--button:not([open])>summary:hover{border-color:#4f9bff73}.clusters-section{border:1px dashed rgba(255,255,255,.12);border-radius:12px;padding:.85rem;display:flex;flex-direction:column;gap:.75rem;background:#11182d59}.clusters-section-header{display:flex;flex-direction:column;gap:.15rem;font-weight:600}.clusters-section-subtitle{font-size:.85rem;color:#c8d0ebc7}.clusters-editor{display:flex;flex-direction:column;gap:.6rem}.cluster-row{display:grid;grid-template-columns:1.2fr .6fr .6fr .6fr .6fr 110px;gap:.5rem;align-items:center}.cluster-row input{width:100%}.clusters-empty{color:#dce1f5cc;font-size:.9rem}.race-slot-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.race-slot-result{border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.75rem;background:#121a3099;display:flex;flex-direction:column;gap:.35rem}.race-form-header{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.race-form-header-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.race-slug-link{font-size:.9rem;color:#76bafff2;text-decoration:none;border-bottom:1px dashed rgba(118,186,255,.6)}.race-slug-link:hover{color:#9fd8ff;border-bottom-color:#9fd8ff}.race-form input,.race-form textarea,.race-registration-controls input,.race-registration-controls select{border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0d1324a6;color:#e3e9fff2;padding:.55rem .7rem;font-size:.95rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e1a99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem}.modal-card{background:#0f1729;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1.2rem 1.4rem;max-width:440px;width:100%;box-shadow:0 20px 60px #00000059}.modal-card--wide{max-width:920px}.modal-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.modal-card-header h3{margin:0}.modal-card h3{margin:0 0 .35rem}.modal-card p{margin:0;color:#e2e8f0d1;line-height:1.4}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.race-registrations{display:flex;flex-direction:column;gap:1rem}.race-registrations-table-wrap{width:100%;overflow-x:auto;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#0f15268c;padding:.4rem}.race-registrations-table{width:100%;border-collapse:collapse;font-size:.9rem}.race-registrations-table thead th{text-align:left;font-weight:650;font-size:.82rem;color:#c8d0ebd9;padding:.45rem .6rem;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}.race-registrations-table tbody td{padding:.45rem .6rem;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top;white-space:nowrap}.race-registrations-row{cursor:pointer}.race-registrations-row:hover{background:#4f9bff14}.race-registrations-row:focus-visible{outline:2px solid rgba(79,155,255,.6);outline-offset:-2px}.race-registrations-cell-primary{min-width:220px;white-space:normal}.race-registrations-name{font-weight:600;color:#ebf0fff2;line-height:1.2}.race-registrations-sub{margin-top:.1rem;font-size:.8rem;color:#c8d0eba6}.race-registrations-list{display:flex;flex-direction:column;gap:1rem}.race-registration-row{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1rem;background:#0f1526b3;display:flex;flex-direction:column;gap:.8rem}.race-registration-name{font-weight:600;font-size:1rem}.race-registration-meta{font-size:.85rem;color:#c4cdeea6}.meta-subtle{color:#c4cdee99;font-size:.85rem;margin-top:.1rem}.race-cluster-block{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.75rem;background:#0f15268c;margin-bottom:1rem}.race-cluster-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.35rem .5rem}.race-cluster-header h4{margin:0;font-size:1.1rem}.race-registration-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;align-items:end}.race-registration-controls button{justify-self:flex-start}.inline-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;align-items:end;margin-bottom:1rem}.inline-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.race-share{margin-top:1rem;padding:1rem;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#0f1526a6;display:flex;flex-direction:column;gap:.6rem}.race-share-label{font-size:.9rem;color:#c4cdeeb3}.race-share code{padding:.4rem .6rem;border-radius:8px;background:#00000040;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.85rem;word-break:break-all}.race-share .button{align-self:flex-start}.trainer-form,.bike-form{display:flex;flex-direction:column;gap:1.2rem}.read-value{display:block;padding:.55rem .75rem;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0d132499;color:#d7e0ffd9}.trainer-hint{font-size:.85rem;color:#c4cdeea6}.inventory-create-button{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem}.inventory-create-button.active{background:#7852ff33;color:#f4f6ff}.form-error{border-radius:12px;padding:.7rem .9rem;background:#ff6b8b26;border:1px solid rgba(255,107,139,.35);color:#ffcdd7;font-size:.9rem}@media (max-width: 960px){.trainers-layout,.bikes-layout,.races-layout{grid-template-columns:1fr}.trainers-list,.bikes-list,.races-list{max-height:280px;overflow:hidden}.trainers-list-items,.bikes-list-items,.races-list-items{max-height:240px}}.detail-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.detail-card{background:#0b1120cc;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.detail-card__header{display:flex;align-items:center;gap:.5rem}.detail-card__header--clickable{cursor:pointer}.detail-card__controls{display:flex;gap:.5rem;align-items:center}.detail-card__controls--right{margin-left:auto}.chevron-button{padding:4px 8px;min-height:auto;line-height:1;font-size:.9rem}.detail-card h3{margin:0;font-size:1.1rem;font-weight:600}.profile-identity{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.profile-main{display:flex;gap:.75rem;align-items:center}.profile-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#233152,#1a2138);display:flex;align-items:center;justify-content:center;font-weight:700;color:#dfe6ff}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-meta{display:flex;flex-direction:column;gap:4px}.profile-name{font-weight:600}.profile-links{display:flex;gap:8px;flex-wrap:wrap}.profile-link{color:#8fb0ff;text-decoration:none;font-size:.9rem}.profile-link:hover{text-decoration:underline}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;text-align:right}.profile-stat__value{font-weight:800;font-size:1.4rem}.detail-card dl{margin:0;display:grid;gap:.75rem}.detail-card dt{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#c8d2f099}.detail-card dd{margin:0;font-weight:600}.form-grid{display:grid;gap:1rem}.edit-form-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:start}.form-column{display:grid;gap:1rem}.form-subgrid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.form-grid label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:#c8d2f0d9}.form-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.edit-form-grid .form-actions{grid-column:1 / -1}.form-actions--inline{padding-top:.25rem}.form-subsection{border:1px solid rgba(255,255,255,.08);background:#121a2c99;border-radius:12px;padding:1rem;display:grid;gap:.75rem}.form-subsection__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.form-subsection__title{font-weight:600}.form-subsection__hint{font-size:.85rem;color:#c8d2f0b3}.form-subsection__message{font-size:.9rem;color:#8fb0ff}.clients-toolbar{display:flex;flex-direction:column;gap:.65rem;margin-top:.25rem}.clients-filter-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.clients-filter-row--chips{justify-content:space-between;align-items:center}.clients-search-input{flex:1 1 260px;min-width:240px}.select-group{display:flex;flex-wrap:wrap;gap:.65rem}.select-group label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#c8d2f0cc}.select-group select{min-width:150px}.clients-toolbar-actions{display:flex;gap:.5rem;flex-wrap:wrap}.chip-group{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.chip-label{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:#bec8e6b3}.filter-chip{padding:.4rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#e9efff;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.filter-chip.active{background:#4f9bff26;border-color:#4f9bff66;color:#d6e5ff}.filter-chip:hover{background:#ffffff12}.add-client-button{white-space:nowrap}.client-actions-menu{position:relative;display:inline-flex;justify-content:flex-end}.client-actions-trigger{background:#ffffff0a;color:#e6edff;padding:.35rem .6rem;border-radius:10px;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:background .12s ease,border-color .12s ease}.client-actions-trigger:hover{background:#ffffff14;border-color:#ffffff29}.client-actions-popover{position:absolute;right:0;top:calc(100% + 6px);min-width:160px;background:#0e1220fa;border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 20px 40px #00000059;padding:.25rem;z-index:4}.client-actions-item{width:100%;text-align:left;padding:.55rem .75rem;border-radius:10px;background:none;color:#e9efff;border:none;cursor:pointer;transition:background .12s ease,color .12s ease}.client-actions-item:hover{background:#4f9bff1f;color:#d6e5ff}.client-actions-item.danger{color:#ffb5c9}.client-actions-item.danger:hover{background:#c94a6b29;color:#ffe8ef}.client-drawer{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;z-index:60}.client-drawer__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#04060c8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.client-drawer__panel{position:relative;width:min(420px,90vw);background:linear-gradient(135deg,#0c1222f7,#0a0e1af0);border-left:1px solid rgba(255,255,255,.06);box-shadow:-12px 0 40px #0006;padding:1.2rem;display:flex;flex-direction:column;gap:1rem}.client-drawer__header{display:flex;justify-content:space-between;align-items:center}.client-drawer__title{font-size:1.25rem;font-weight:700}.client-drawer__eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#c8d2f0a6}.client-drawer__close{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#e9efff;padding:.35rem .55rem;cursor:pointer}.client-drawer__body{display:flex;flex-direction:column;gap:1rem}.client-drawer__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem}.client-drawer__stat{padding:.65rem .75rem;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.client-drawer__stat .label{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#c8d2f099}.client-drawer__stat .value{margin-top:.2rem;font-weight:700}.client-drawer__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem 1rem;margin:0}.client-drawer__details .detail{padding:.55rem .65rem;border-radius:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.04)}.client-drawer__details dt{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#c8d2f0a6;margin:0 0 .15rem}.client-drawer__details dd{margin:0;font-weight:600}.client-drawer__actions{display:flex;gap:.5rem;justify-content:flex-start}.reservations-grid{display:flex;flex-direction:column;gap:.8rem}.reservations-stats{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.reservations-stat{padding:.6rem .75rem;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:#ffffff08;min-width:120px}.reservations-list{display:flex;flex-direction:column;gap:.6rem}.reservation-row{display:grid;grid-template-columns:120px 1fr;gap:.8rem;padding:.65rem .75rem;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:#ffffff05}.reservation-row__meta{display:flex;flex-direction:column;gap:.2rem;color:#dce6ffd9;font-weight:650}.reservation-row__primary{font-size:1rem}.reservation-row__secondary{color:#c4cdeeb3;font-size:.9rem}.reservation-row__body{display:flex;flex-direction:column;gap:.35rem}.reservation-row__title{font-weight:700;color:#f1f5ff}.reservation-row__info{display:flex;flex-wrap:wrap;gap:.35rem}.reservation-row__notes{color:#c4cdeebf;font-size:.9rem}@media (max-width: 768px){.clients-filter-row--chips{flex-direction:column;align-items:flex-start;gap:.5rem}.clients-toolbar-actions{width:100%;justify-content:flex-start}}.button.secondary,button.secondary{background:#4f9bff26;color:#d5e3ff;box-shadow:none}.button.secondary:hover,button.secondary:hover{background:#4f9bff40;box-shadow:none;transform:none}.import-page .import-form{display:flex;flex-direction:column;gap:1rem}.import-page input[type=file]{margin-top:.5rem;color:#e6edff}.import-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0;align-items:center}.import-log{margin-top:.6rem;background:#070c1abf;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:.75rem;color:#dfe8ff;font-family:ui-monospace,SFMono-Regular,SFMono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:pre-wrap;max-height:240px;overflow:auto}.import-log--error{border-color:#ff6b8b73;background:#ff6b8b14}.pagination-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.pagination-controls--bottom{justify-content:flex-end;margin-top:.75rem}.pagination-controls .page-indicator{color:#d2dcf5d9;font-weight:650}.icon-button{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:.3rem .45rem;transition:transform .15s ease,color .15s ease}.icon-button:hover{transform:translateY(-1px);color:#ff6b6b}.icon-button:active{transform:translateY(0)}.activity-detail{display:flex;flex-direction:column;gap:1.2rem}.activity-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.action-button{display:inline-flex;align-items:center;gap:.4rem}.action-hint{font-size:.9rem;color:#cbd5ff}.action-hint--success{color:#b7f9c0}.action-hint--error{color:#ffc6c6}.activity-client-edit{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.activity-client-edit label{display:flex;flex-direction:column;gap:.3rem;color:#bec8e6d9}.activity-client-edit input{border:1px solid rgba(129,140,248,.35);border-radius:10px;padding:.5rem .75rem;background:#0f1426e6;color:#f3f6ff;min-width:160px}.activity-client-search{display:flex;flex-direction:column;gap:.5rem}.activity-client-search input{border:1px solid rgba(129,140,248,.35);border-radius:10px;padding:.5rem .75rem;background:#0f1426e6;color:#f3f6ff}.activity-client-search-results{display:flex;flex-wrap:wrap;gap:.5rem}.client-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(129,140,248,.35);border-radius:999px;padding:.35rem .75rem;background:#0f1426cc;color:#f3f6ff;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.client-chip:hover{border-color:#818cf8cc;transform:translateY(-1px)}.client-chip-name{font-weight:600}.client-chip-id{opacity:.7;font-size:.85rem}.activity-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.meta-card{background:#0f1426e6;border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:.75rem .95rem;box-shadow:inset 0 1px #ffffff0a}.meta-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#bec8e6b3}.meta-value{margin-top:.25rem;font-size:1rem;font-weight:650;color:#f3f6ff}.flag-row{display:flex;flex-wrap:wrap;gap:.5rem}.flag-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .7rem;border-radius:12px;background:#17203ae6;border:1px solid rgba(255,255,255,.05)}.flag-icon{font-size:1rem}.flag-label{font-size:.9rem;color:#d7def5e6}.activity-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.stat-card{background:linear-gradient(135deg,#4f9bff1f,#7852ff14);border:1px solid rgba(79,155,255,.2);border-radius:14px;padding:.9rem 1rem;box-shadow:0 10px 24px #4f9bff1f}.stat-card--primary{background:linear-gradient(135deg,#68e09b29,#4f9bff1f);border-color:#68e09b4d;box-shadow:0 10px 28px #68e09b29}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.month-switcher{margin:.5rem 0 1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.month-switcher__label{display:flex;flex-direction:column;gap:.15rem}.month-label{text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;color:#b9c8eb99}.month-title{font-size:1.25rem;font-weight:700}.month-switcher__controls{display:flex;align-items:center;gap:.5rem}.month-select{background:#ffffff0a;color:#e8edff;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.55rem .85rem;font-weight:600}.month-select:focus{outline:none;border-color:#4f9bff99;box-shadow:0 0 0 3px #4f9bff26}.week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;margin-top:.75rem}.week-card{border-radius:14px;border:1px solid rgba(255,255,255,.07);background:linear-gradient(135deg,#ffffff05,#4f9bff0f);padding:.9rem 1rem}.week-label{font-weight:700;letter-spacing:.01em}.week-metrics{margin-top:.45rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.week-metric span{display:block;font-size:.82rem;color:#b9c8ebb3}.week-metric strong{display:block;font-size:1.05rem;margin-top:.15rem}.stat-label{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#b9c8ebb3}.stat-value{margin-top:.35rem;font-size:1.2rem;font-weight:700;color:#f7f9ff}.subscription-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.subscription-layout{display:grid;gap:1rem;grid-template-columns:minmax(320px,360px) 1fr;align-items:start}@media (max-width: 960px){.subscription-layout{grid-template-columns:1fr}}.subscription-form{background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.subscription-list{display:grid;gap:1rem}.subscription-card{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;background:#0f162899;display:grid;gap:.75rem}.subscription-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.subscription-title{font-weight:700;font-size:1rem}.subscription-meta{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.subscription-actions{display:grid;gap:.5rem}.subscription-actions__quick{display:flex;gap:.5rem;flex-wrap:wrap}.subscription-adjust-form{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.subscription-adjustments{display:grid;gap:.35rem}.balance-training{display:grid;gap:.5rem}.balance-training-wrapper{margin-top:.5rem;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.75rem .9rem;background:#ffffff08}.balance-training__list{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.5rem .75rem;max-height:220px;overflow:auto;display:grid;gap:.35rem}.checkbox-row{display:flex;gap:.5rem;align-items:center;font-size:.95rem}.positive{color:#56d364;font-weight:700}.negative{color:#ff7b7b;font-weight:700}.sync-content{display:flex;flex-direction:column;gap:.75rem}.sync-row{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.sync-status{padding:.45rem .75rem;border-radius:12px;font-weight:700;border:1px solid rgba(255,255,255,.08)}.sync-status--idle{background:#4f9bff1a;color:#9ac6ff}.sync-status--running{background:#ffbf471f;color:#ffd27a}.sync-status--done{background:#3ecf8e1f;color:#8ff0c3}.sync-status--error{background:#ff5b5b1f;color:#ff9f9f}.sync-log{background:#0e1423e6;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:.75rem;color:#d9e6ff;white-space:pre-wrap;font-family:SFMono-Regular,ui-monospace,monospace;font-size:.9rem}.strava-list{display:flex;flex-direction:column;gap:.65rem}.strava-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem .85rem;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:#0e1423d9;flex-wrap:wrap}.strava-check{display:flex;align-items:center;gap:.5rem;font-weight:600}.strava-name{color:#f2f6ff}.strava-meta{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.strava-pill{padding:.25rem .6rem;border-radius:999px;background:#4f9bff26;color:#cfe3ff;font-weight:700;font-size:.85rem}.client-link-block{background:#0f1426e6;border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:0 10px 24px #4f9bff14}.client-link{font-weight:700;color:#79a8ff;text-decoration:none}.client-link:hover{text-decoration:underline}.meta-hint{font-size:.85rem;color:#c8d2f0b3}.pagination-controls .button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.page-indicator{font-size:.9rem;color:#c8d2f0b3}.admin-form{display:flex;align-items:center;gap:.6rem}.admin-form input{width:150px}.admin-actions{display:flex;gap:.5rem;align-items:center}.admin-actions--inline{justify-content:flex-end}.button.small{padding:6px 10px;min-height:32px}.state-screen{display:grid;place-items:center;width:100%;padding:4rem 1rem}.state-card{background:#11182ae0;border-radius:18px;border:1px solid rgba(255,255,255,.08);padding:2.5rem 2rem;max-width:420px;text-align:center;box-shadow:0 25px 60px #050a1899}.state-card h2{margin:0 0 .75rem}.state-card p{margin:0;color:#c8d2f0b3}.state-action{margin-top:1.5rem}.login-screen{display:grid;place-items:center;min-height:100vh;width:100%;padding:2rem}.login-card{background:#0c1222e6;border-radius:20px;border:1px solid rgba(79,155,255,.2);padding:2.5rem 2.8rem;text-align:center;box-shadow:0 35px 80px #050a18a6;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);max-width:460px;width:100%}.login-card h1{margin:0 0 .75rem;letter-spacing:.06em}.login-card p{margin:0 0 1.5rem;color:#c8d2f0b3}.login-widget{display:flex;justify-content:center;margin-bottom:1.5rem}.login-error{border-radius:14px;padding:.8rem 1rem;background:#ff6b8b33;border:1px solid rgba(255,107,139,.35);color:#ffcdd7;font-weight:600}input[type=text],input[type=number],input[type=search],textarea,select{width:100%;padding:.5rem .75rem;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0d1324d9;color:#f7f9ff;transition:border .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:#4f9bffcc;box-shadow:0 0 0 3px #4f9bff40}.button,button{padding:.6rem 1.2rem;border-radius:12px;border:none;font-weight:600;letter-spacing:.02em;cursor:pointer;background:linear-gradient(135deg,#4f9bff,#7c53ff);color:#0d1324;box-shadow:0 15px 30px #4f9bff59;transition:transform .15s ease,box-shadow .15s ease}.button.primary,button.primary{background:linear-gradient(135deg,#325fa1,#274b7d);color:#e8efff;box-shadow:0 12px 26px #325fa159}.button.ghost,button.ghost{background:#ffffff0d;color:#d5def3;border:1px solid rgba(255,255,255,.08);box-shadow:none}.button.icon-only,button.icon-only{padding:.45rem .65rem}.button:hover,button:hover{transform:translateY(-1px);box-shadow:0 18px 36px #4f9bff66}.button.ghost:hover,button.ghost:hover{background:#ffffff1a;box-shadow:none}.button.danger,button.danger{background:linear-gradient(135deg,#c94a6b,#a53c5e);color:#ffe8ef;box-shadow:0 12px 24px #c94a6b52}@media (max-width: 1024px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;gap:1.5rem;justify-content:space-between}.nav{flex-direction:row;flex-wrap:wrap}.sidebar-footer{flex-direction:row;align-items:center}.main-area{padding:1.5rem}}@media (max-width: 960px){.instructors-layout,.templates-layout{grid-template-columns:1fr}}@media (max-width: 720px){.sidebar{flex-direction:column;align-items:flex-start}.nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.nav-section{margin-top:0;padding-top:0;border-top:none;gap:.25rem;display:contents}.nav-section-title{display:none}.nav-link{width:100%;padding:.65rem .8rem;text-align:left}.sidebar-footer{width:100%}}:root{color-scheme:dark;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top left,#0d162e,#070b18 55%,#060810);color:#f4f6ff}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4f9bff99,#7852ff99);border-radius:999px}::-webkit-scrollbar-track{background:#0a0f1e99}#root{display:flex;min-height:100vh}
