@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;600;700;800&display=swap";:root{--bg: #0a0b0e;--surface: #131519;--surface-2: #181b21;--surface-3: #1f232a;--surface-inset: rgba(255, 255, 255, .02);--overlay: rgba(6, 7, 9, .66);--text: #e8eaee;--text-strong: #f6f7f9;--text-muted: rgba(232, 234, 238, .64);--text-subtle: rgba(232, 234, 238, .44);--text-faint: rgba(232, 234, 238, .3);--muted-color: rgba(232, 234, 238, .64);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--border-subtle: rgba(255, 255, 255, .05);--accent: #10b981;--accent-hover: #34d399;--accent-strong: #059669;--accent-fg: #04130d;--accent-subtle: rgba(16, 185, 129, .12);--accent-subtle-hover: rgba(16, 185, 129, .18);--accent-border: rgba(16, 185, 129, .3);--accent-glow: rgba(16, 185, 129, .22);--success: #10b981;--success-subtle: rgba(16, 185, 129, .12);--success-border: rgba(16, 185, 129, .28);--warning: #f59e0b;--warning-subtle: rgba(245, 158, 11, .13);--warning-border: rgba(245, 158, 11, .28);--danger: #f87171;--danger-strong: #ef4444;--danger-subtle: rgba(239, 68, 68, .13);--danger-border: rgba(239, 68, 68, .28);--info: #60a5fa;--info-subtle: rgba(96, 165, 250, .13);--info-border: rgba(96, 165, 250, .28);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 22px rgba(0, 0, 0, .34);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .5);--shadow-accent: 0 6px 20px rgba(16, 185, 129, .2);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-pill: 999px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .12s;--dur: .18s;--dur-slow: .28s;--focus-ring: 0 0 0 3px rgba(16, 185, 129, .32);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--bg: #fbfbfd;--surface: #ffffff;--surface-2: #f6f7f9;--surface-3: #eceef2;--surface-inset: rgba(15, 23, 42, .018);--overlay: rgba(15, 23, 42, .34);--text: #1a1d23;--text-strong: #0b0d11;--text-muted: rgba(26, 29, 35, .64);--text-subtle: rgba(26, 29, 35, .5);--text-faint: rgba(26, 29, 35, .38);--muted-color: rgba(26, 29, 35, .64);--border: rgba(15, 23, 42, .1);--border-strong: rgba(15, 23, 42, .17);--border-subtle: rgba(15, 23, 42, .06);--accent: #059669;--accent-hover: #047857;--accent-strong: #047857;--accent-fg: #ffffff;--accent-subtle: rgba(5, 150, 105, .1);--accent-subtle-hover: rgba(5, 150, 105, .16);--accent-border: rgba(5, 150, 105, .26);--accent-glow: rgba(5, 150, 105, .16);--success: #059669;--success-subtle: rgba(5, 150, 105, .11);--success-border: rgba(5, 150, 105, .26);--warning: #b45309;--warning-subtle: rgba(245, 158, 11, .15);--warning-border: rgba(217, 119, 6, .3);--danger: #dc2626;--danger-strong: #dc2626;--danger-subtle: rgba(220, 38, 38, .1);--danger-border: rgba(220, 38, 38, .26);--info: #2563eb;--info-subtle: rgba(37, 99, 235, .1);--info-border: rgba(37, 99, 235, .26);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 6px 22px rgba(15, 23, 42, .08);--shadow-lg: 0 18px 50px rgba(15, 23, 42, .14);--shadow-accent: 0 6px 20px rgba(5, 150, 105, .16);--focus-ring: 0 0 0 3px rgba(5, 150, 105, .28);color:var(--text);background-color:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(ellipse 70% 48% at -8% -12%,var(--accent-glow),transparent 60%),radial-gradient(ellipse 55% 55% at 112% 6%,rgba(16,185,129,.05),transparent 55%),var(--bg);background-attachment:fixed}:root[data-theme=light] body{background:radial-gradient(ellipse 70% 48% at -8% -12%,var(--accent-glow),transparent 60%),radial-gradient(ellipse 60% 50% at 110% 4%,rgba(5,150,105,.05),transparent 55%),var(--bg)}h1,h2,h3,h4{font-family:Inter,system-ui,sans-serif;letter-spacing:-.022em;font-weight:700;color:var(--text-strong)}button{font-family:inherit}#root{min-height:100vh}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}::selection{background:var(--accent-subtle-hover);color:var(--text-strong)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:999px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#ffffff2e;background-clip:padding-box}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:#0f172a29;background-clip:padding-box}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0f172a42;background-clip:padding-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app{display:grid;grid-template-columns:272px 1fr;min-height:100vh;gap:0}.sidebar{background:var(--surface-inset);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--border);padding:24px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px;overflow-y:auto}.sidebar-footer{margin-top:auto;display:flex}.settings-button{width:100%;justify-content:center}.brand{display:flex;align-items:center;gap:13px;padding:2px 6px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius);background:linear-gradient(145deg,var(--accent),var(--accent-strong));color:var(--accent-fg);font-weight:800;font-size:13px;letter-spacing:.04em;box-shadow:var(--shadow-accent),inset 0 1px #ffffff2e}.brand-title{font-size:1.05rem;font-weight:700;margin:0;color:var(--text-strong);letter-spacing:-.02em}.brand-gym{color:var(--text-strong)}.brand-nexus{color:var(--accent)}.brand-subtitle{margin:2px 0 0;color:var(--text-subtle);font-size:.78rem;letter-spacing:.01em}.nav{display:flex;flex-direction:column;gap:3px}.nav-link{position:relative;text-align:left;background:transparent;border:1px solid transparent;padding:9px 13px;border-radius:var(--radius-sm);font-weight:500;font-size:.88rem;color:var(--text-muted);cursor:pointer;transition:color var(--dur) var(--ease),background var(--dur) var(--ease);letter-spacing:.01em}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--accent-subtle);border-color:var(--accent-border);color:var(--accent);font-weight:600}.nav-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--accent);border-radius:0 3px 3px 0}.sidebar-card{margin-top:auto;padding:16px 18px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);color:var(--text);display:grid;gap:8px}.sidebar-card h4{margin:0;font-size:1rem}.main{padding:36px 44px 64px;display:flex;flex-direction:column;gap:22px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.topbar h1{margin:4px 0 0;font-size:clamp(1.6rem,2.6vw,2.2rem);letter-spacing:-.035em;line-height:1.15;color:var(--text-strong);font-weight:700}.topbar-actions{display:flex;gap:10px;align-items:center}.user-chip{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.user-chip:hover{border-color:var(--border-strong)}.user-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent-strong));color:var(--accent-fg);font-weight:700;font-size:.72rem;display:grid;place-items:center;letter-spacing:.03em;flex-shrink:0}.user-chip-info{display:flex;flex-direction:column;gap:1px}.user-chip-name{font-size:.8rem;font-weight:600;color:var(--text);line-height:1.2;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip-role{font-size:.68rem;color:var(--text-subtle);text-transform:capitalize;line-height:1.2}.content{display:flex;flex-direction:column;gap:20px;animation:fadeUp .42s var(--ease-out)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.stats-grid.compact{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{padding:18px 20px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--accent),transparent);opacity:.6}.stat-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md)}button.stat-card.clickable{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;display:block}button.stat-card.clickable:hover{border-color:var(--accent-border);transform:translateY(-2px)}button.stat-card.clickable:active{transform:translateY(0)}.stat-card.status-expiring:before{background:linear-gradient(90deg,var(--warning),transparent)}.stat-card.status-expired:before{background:linear-gradient(90deg,var(--danger-strong),transparent)}.status-modal{width:min(560px,94vw);max-height:82vh;display:flex;flex-direction:column}.modal-threshold{margin:0 0 4px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--warning-subtle);border:1px solid var(--warning-border)}.modal-threshold-note{margin:0 0 8px;font-size:.8rem}.status-member-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;margin-top:8px}.status-member-row{display:grid;grid-template-columns:1fr auto auto 14px;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--surface-inset);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.status-member-row:hover{background:var(--accent-subtle);border-color:var(--accent-border)}.status-member-name{font-weight:600;font-size:.9rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-member-meta{font-size:.78rem;color:var(--text-muted)}.status-member-secondary{font-size:.78rem;font-weight:600;color:var(--text-muted);white-space:nowrap}:root[data-theme=light] .status-member-row{background:#00000005}:root[data-theme=light] .status-member-row:hover{background:#05966912;border-color:#05966933}.stat-card h2{margin:8px 0 4px;font-size:1.85rem;color:var(--text-strong);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.panel{background:var(--surface);border-radius:var(--radius-lg);padding:20px 22px;border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px}.panel.compact-panel{padding:14px 16px;gap:10px}.panel.wide{width:100%}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.chip{background:var(--surface-2);color:var(--text-muted);padding:4px 10px;border-radius:var(--radius-pill);font-size:.73rem;font-weight:600;letter-spacing:.02em;border:1px solid var(--border-subtle)}.list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.list-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-inset);border:1px solid var(--border-subtle);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.list-row:hover{background:var(--surface-2);border-color:var(--border)}.list-title{font-weight:600;margin:0;color:var(--text-strong);font-size:.9rem}.time{font-weight:500;color:var(--text-subtle);font-size:.82rem;font-variant-numeric:tabular-nums}.bars{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:140px 1fr 60px;align-items:center;gap:12px}.bar{height:7px;border-radius:999px;background:#ffffff14;position:relative;overflow:hidden}.bar span{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:inherit;transition:width .4s ease}.table{display:grid;gap:6px}.table-row{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr;align-items:center;padding:10px 13px;border-radius:var(--radius-sm);background:var(--surface-inset);font-size:.88rem;border:1px solid var(--border-subtle);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.table-row:not(.table-head):hover{background:var(--surface-2);border-color:var(--border)}.table-head{background:transparent;border-color:transparent;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--text-faint);font-weight:600}.pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.02em}.members-row .pill{display:inline-block;padding:2px 6px;font-size:.71rem;max-width:70px;text-align:center;line-height:1.1;white-space:normal;word-break:break-word}.pill.inline{margin-left:8px}.pill.active{background:var(--success-subtle);color:var(--success);border:1px solid var(--success-border)}.pill.past-due{background:var(--warning-subtle);color:var(--warning);border:1px solid var(--warning-border)}.pill.canceled{background:var(--danger-subtle);color:var(--danger);border:1px solid var(--danger-border)}.pill.paused{background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border)}.pill.unknown{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.placeholder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.placeholder-card{padding:18px;border-radius:14px;border:1px dashed rgba(255,255,255,.15);background:#10121899}.trend-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:end;min-height:180px}.chart-tabs{display:flex;flex-wrap:wrap;gap:6px}.chart-tab{border-radius:999px;padding:5px 13px;font-size:.75rem;font-weight:500;border:1px solid rgba(232,234,237,.15);background:transparent;color:var(--text-subtle);cursor:pointer;transition:all .15s ease}.chart-tab:hover{border-color:var(--text-faint);color:var(--text)}.chart-tab.active{border-color:#10b98180;background:#10b9811f;color:#10b981;font-weight:600}.chart-legend{display:flex;gap:14px;align-items:center;font-size:.75rem;color:var(--text-muted)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:999px;background:#10b981}.legend-dot.canceled{background:#ff8a65}.metric-chart{display:grid;grid-auto-flow:column;gap:12px;align-items:end;min-height:180px;overflow-x:auto;padding-bottom:4px}.metric-column{display:grid;gap:6px;justify-items:center;min-width:44px}.metric-bars{display:flex;gap:6px;align-items:flex-end;height:120px}.metric-bars.dual{gap:4px}.metric-bar{width:12px;border-radius:6px 6px 4px 4px;background:#10b981;transition:opacity .15s ease}.metric-bar:hover{opacity:.8}.metric-bar.purchased{background:#10b981}.metric-bar.canceled{background:#ff8a65}.metric-bar.member-bar{background:#60a5fa}.metric-bar.busy-bar{background:#a78bfa}.metric-column.clickable{cursor:pointer;border-radius:6px;padding:2px;transition:background .12s}.metric-column.clickable:hover{background:#ffffff0a}:root[data-theme=light] .metric-column.clickable:hover{background:#0000000a}.membership-status-panel{margin-bottom:16px}.threshold-control{display:flex;align-items:center;gap:6px;font-size:.82rem}.threshold-control label{color:var(--text-muted);font-weight:500}.threshold-control input{width:60px;padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#0a0b0f80;color:var(--text);font-size:.85rem;text-align:center;font-weight:600}:root[data-theme=light] .threshold-control input{background:#fff;border-color:#0000001f;color:#1e2329}.status-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px}.status-card{padding:16px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:#ffffff06;position:relative}.status-card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 4px 4px 0}.status-card.good:before{background:#10b981}.status-card.warning:before{background:#f59e0b}.status-card.danger:before{background:#ef4444}.status-count{margin:0;font-size:2rem;font-weight:700;line-height:1.1}.status-card.good .status-count{color:#10b981}.status-card.warning .status-count{color:#f59e0b}.status-card.danger .status-count{color:#ef4444}.status-label{margin:2px 0 0;font-size:.85rem;font-weight:600;color:var(--text)}.status-sub{margin:4px 0 0;font-size:.72rem}.status-proportion-bar{display:flex;height:10px;width:100%;border-radius:6px;overflow:hidden;margin-top:16px;background:#ffffff0f}.status-segment.good{background:#10b981}.status-segment.warning{background:#f59e0b}.status-segment.danger{background:#ef4444}.plan-status-list{display:flex;flex-direction:column;gap:8px}.plan-status-row{display:grid;grid-template-columns:180px 1fr 90px;gap:14px;align-items:center;padding:6px 0}.plan-status-name{display:flex;flex-direction:column;gap:1px;min-width:0}.plan-name-label{font-size:.86rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-total{font-size:.7rem}.plan-status-bar{display:flex;height:8px;border-radius:5px;overflow:hidden;background:#ffffff0f}.plan-status-counts{display:flex;justify-content:flex-end;gap:8px;font-size:.78rem;font-weight:700}.status-num.good{color:#10b981}.status-num.warning{color:#f59e0b}.status-num.danger{color:#ef4444}:root[data-theme=light] .status-card{background:#fff;border-color:#00000014}:root[data-theme=light] .status-proportion-bar,:root[data-theme=light] .plan-status-bar{background:#0000000f}@media(max-width:720px){.status-cards{grid-template-columns:1fr}.plan-status-row{grid-template-columns:1fr;gap:6px}.plan-status-counts{justify-content:flex-start}}.anchor-nav{display:flex;align-items:center;gap:8px;padding:6px 0 10px;flex-wrap:wrap}.anchor-label{font-size:.85rem;font-weight:600;color:var(--text);min-width:140px}.anchor-today{margin-left:6px;font-size:.78rem;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:3px 9px}:root[data-theme=light] .anchor-today{border-color:#0000001a}.chart-drill{margin-top:14px;padding:12px;border-radius:10px;background:#ffffff08;border:1px dashed rgba(255,255,255,.08)}.chart-drill-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.chart-drill-title{font-size:.86rem;font-weight:600;color:var(--text);flex:1}:root[data-theme=light] .chart-drill{background:#00000006;border-color:#00000014}.metric-value{font-weight:600;font-size:.78rem;font-variant-numeric:tabular-nums}.metric-value.dual{display:flex;gap:4px;align-items:center}.metric-value.purchased{color:#6ee7b7}.metric-value.canceled{color:#ffb199}.metric-divider{color:var(--text-subtle)}.metric-label{font-size:.64rem;color:var(--text-subtle);text-align:center;line-height:1.1}.coach-roster{display:flex;flex-direction:column;gap:12px;margin-top:4px}.coach-card{border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:14px 16px;background:#ffffff05}.coach-card-head{display:flex;align-items:center;gap:12px}.coach-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#6366f1,#4f46e5);color:#fff;font-weight:700;font-size:.75rem;display:grid;place-items:center;flex-shrink:0}.coach-name{font-size:.85rem;font-weight:600;color:var(--text);margin:0;line-height:1.3}.coach-role-tag{font-size:.68rem;color:var(--text-subtle);margin:0}.coach-client-list{list-style:none;padding:10px 0 0 48px;margin:0;display:flex;flex-direction:column;gap:6px}.coach-client-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-muted)}.coach-client-cards{display:flex;flex-direction:column;gap:10px;margin-top:4px}.client-card{border:1px solid rgba(255,255,255,.07);border-radius:12px;overflow:hidden;transition:border-color .15s ease}.client-card.expanded{border-color:#6366f159}.client-card-head{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.client-card-head:hover{background:#ffffff05}.client-card-info{flex:1}.client-meta,.client-gym{font-size:.72rem;color:var(--text-subtle);margin:2px 0 0}.client-gym .gym-na{color:var(--text-faint);font-style:italic}:root[data-theme=light] .client-gym{color:#1113188c}:root[data-theme=light] .client-gym .gym-na{color:#11131866}.coach-section-picker{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;margin-bottom:12px}.coach-section-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);font-weight:700}.coach-section-select{padding:6px 10px;border-radius:7px;border:1px solid rgba(255,255,255,.1);background:#0a0b0fb3;color:var(--text);font-size:.9rem;font-weight:600;cursor:pointer;min-width:160px}.coach-section-current{margin-left:auto;font-size:.78rem;color:var(--text-subtle);font-weight:600}:root[data-theme=light] .coach-section-picker{background:#00000006;border-color:#00000012}:root[data-theme=light] .coach-section-label{color:#11131873}:root[data-theme=light] .coach-section-select{background:#fff;border-color:#0000001f;color:#1e2329}:root[data-theme=light] .coach-section-current{color:#1113188c}.pill.coach-status-active{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.pill.coach-status-paused{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.pill.coach-status-cancelled{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.3)}.pill.coach-status-none{background:#ffffff0a;color:var(--text-subtle);border:1px solid rgba(255,255,255,.08)}:root[data-theme=light] .pill.coach-status-active{background:#0596691f;color:#059669;border-color:#0596694d}:root[data-theme=light] .pill.coach-status-paused{background:#d977061f;color:#b45309;border-color:#d977064d}:root[data-theme=light] .pill.coach-status-cancelled{background:#dc26261a;color:#b91c1c;border-color:#dc26264d}:root[data-theme=light] .pill.coach-status-none{background:#0000000a;color:#11131873;border-color:#00000014}.plans-layout{display:flex;flex-direction:column;gap:12px}.plan-form{display:flex;flex-direction:column;gap:10px;padding:14px;margin-bottom:14px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#ffffff05}.plan-form label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--text-muted)}.plan-form input,.plan-form select,.plan-form textarea{padding:7px 10px;border-radius:7px;border:1px solid rgba(255,255,255,.1);background:#0a0b0f99;color:var(--text);font-size:.88rem;font-family:inherit}.plan-form-row{display:flex;gap:12px}.plan-list{display:flex;flex-direction:column;gap:10px}.plan-card{border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#ffffff05;overflow:hidden}.plan-card-head{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;transition:background .12s}.plan-card-head:hover{background:#ffffff06}.plan-info{flex:1;min-width:0}.plan-name{margin:0 0 2px;font-weight:700;font-size:.95rem;color:var(--text)}.plan-meta{margin:0;font-size:.76rem;color:var(--text-subtle)}.plan-desc{margin:4px 0 0;font-size:.8rem}.plan-actions{display:flex;align-items:center;gap:8px}.plan-chevron{color:var(--text-subtle);font-size:.9rem;margin-left:4px}.plan-card-body{padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.06);background:#00000026}.plan-sub-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.plan-sub-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:7px;background:#ffffff05}.plan-sub-name{flex:1;font-size:.84rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-sub-status{padding:3px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#0a0b0f99;font-size:.75rem;font-weight:600;cursor:pointer}.plan-sub-status.coach-status-active{color:#10b981;border-color:#10b9814d}.plan-sub-status.coach-status-paused{color:#f59e0b;border-color:#f59e0b4d}.plan-sub-status.coach-status-cancelled{color:#f87171;border-color:#ef44444d}.plan-assign-row{display:flex;gap:8px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.06)}.plan-assign-row select{flex:1;padding:6px 10px;border-radius:7px;border:1px solid rgba(255,255,255,.1);background:#0a0b0f99;color:var(--text);font-size:.85rem}:root[data-theme=light] .plan-form{background:#00000005;border-color:#00000014}:root[data-theme=light] .plan-form label{color:#111318b3}:root[data-theme=light] .plan-form input,:root[data-theme=light] .plan-form select,:root[data-theme=light] .plan-form textarea{background:#fff;border-color:#0000001f;color:#1e2329}:root[data-theme=light] .plan-card{background:#fff;border-color:#00000014}:root[data-theme=light] .plan-card-head:hover{background:#00000006}:root[data-theme=light] .plan-name{color:#1e2329}:root[data-theme=light] .plan-meta{color:#1113188c}:root[data-theme=light] .plan-card-body{background:#00000006;border-top-color:#00000014}:root[data-theme=light] .plan-sub-row{background:#00000005}:root[data-theme=light] .plan-sub-status,:root[data-theme=light] .plan-assign-row select{background:#fff;border-color:#0000001f;color:#1e2329}.client-chevron{font-size:.6rem;color:var(--text-faint);flex-shrink:0}.client-card-body{padding:0 16px 16px;border-top:1px solid rgba(255,255,255,.06)}.notes-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.note-item{background:#ffffff08;border-radius:8px;padding:10px 12px}.note-text{font-size:.82rem;color:var(--text);margin:0 0 4px;line-height:1.5}.note-date{font-size:.68rem;color:var(--text-subtle);margin:0}.note-add{display:flex;flex-direction:column;gap:8px;margin-top:12px}.note-input{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-size:.82rem;padding:10px 12px;resize:vertical;font-family:inherit;line-height:1.5}.note-input:focus{outline:none;border-color:#6366f180}button.ghost.small{font-size:.72rem;padding:4px 10px}.area-chart{display:block;width:100%;height:auto;min-height:100px;overflow:visible}.analytics-kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.hbar-list{display:flex;flex-direction:column;gap:14px;padding:4px 0 8px}.hbar-row{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:12px}.hbar-label{font-size:.8rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-track{height:8px;border-radius:4px;background:#ffffff12;overflow:hidden}.hbar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#10b981,#059669);transition:width .4s ease;min-width:4px}.hbar-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.hbar-amount{font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums;color:#6ee7b7}.hbar-count{font-size:.68rem;color:var(--text-subtle)}.trend-bar-item{display:grid;gap:6px;justify-items:center}.trend-bar{height:120px;width:100%;border-radius:10px;background:#ffffff0f;position:relative;overflow:hidden;display:flex;align-items:end}.trend-bar span{display:block;width:100%;background:linear-gradient(180deg,#10b981,#059669);border-radius:10px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:700;color:var(--text-faint);margin:0}.muted{color:var(--text-muted);margin:0;font-size:.88rem}.primary,.ghost{border-radius:var(--radius-sm);padding:9px 18px;font-weight:600;font-size:.88rem;border:1px solid transparent;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);display:inline-flex;align-items:center;gap:6px}.primary{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-accent)}.primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-accent),0 0 0 4px var(--accent-subtle);transform:translateY(-1px)}.primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.ghost{background:transparent;border-color:var(--border-strong);color:var(--text-muted)}.ghost:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}.ghost:active{transform:translateY(0)}.ghost:disabled{opacity:.5;cursor:not-allowed;transform:none}.ghost.active{background:var(--accent-subtle);border-color:var(--accent-border);color:var(--accent)}.ghost.active:hover{background:var(--accent-subtle-hover);color:var(--accent)}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%);background:var(--surface);border-radius:var(--radius-lg);padding:30px;border:1px solid var(--border);box-shadow:var(--shadow-lg);display:grid;gap:18px}.auth-card.loading{text-align:center}.auth-header h2{margin:8px 0}.auth-form{display:grid;gap:12px}.auth-form label{display:grid;gap:6px;font-weight:500;font-size:.88rem;color:var(--text-muted)}.auth-form input{border-radius:var(--radius-sm);border:1px solid var(--border-strong);padding:11px 13px;font-size:.95rem;background:var(--surface-2);color:var(--text);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.auth-form input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.auth-message{margin:0;color:var(--danger);font-weight:500;font-size:.88rem}.auth-switch{justify-self:center}.data-error{color:var(--danger);font-weight:500}.member-form{display:grid;gap:12px}.member-form label{display:grid;gap:6px;font-weight:500;font-size:.88rem;color:var(--text-muted)}.member-form input,.member-form select,.member-search{border-radius:var(--radius-sm);border:1px solid var(--border-strong);padding:10px 12px;font-size:.92rem;background:var(--surface-2);color:var(--text);font-family:inherit;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.member-form input:focus,.member-form select:focus,.member-search:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.member-form input::placeholder,.member-search::placeholder{color:var(--text-faint)}.member-form.grid-two{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px 18px;align-items:start}.member-form.grid-two button,.member-form.grid-two .ghost{justify-self:start}@media(max-width:960px){.member-form.grid-two{grid-template-columns:1fr}}.member-search{width:100%}.members-head,.members-row{grid-template-columns:1.2fr 1fr .8fr .8fr .8fr .8fr .9fr .7fr .9fr 1.2fr .9fr;align-items:start}.checkins-head,.checkins-row{grid-template-columns:1.6fr .8fr 1fr .9fr;column-gap:14px}.members-row>span,.members-row .list-title,.members-row .contract-field{min-width:0;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.plans-head,.plans-row{grid-template-columns:1.2fr .8fr .8fr .9fr .8fr .8fr 1fr}.staff-head,.staff-row{grid-template-columns:1.2fr 1.6fr 1.1fr .8fr 1.4fr;column-gap:14px;align-items:start}.staff-row>span{min-width:0;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.audit-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:6px}.audit-controls input{border-radius:10px;border:1px solid rgba(232,234,237,.14);padding:8px 10px;background:#080a0ecc;color:var(--text);font-size:.88rem;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.audit-controls input:focus{outline:none;border-color:#10b98173;box-shadow:0 0 0 3px #10b98112}.audit-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.audit-entry{display:grid;grid-template-columns:4px 1fr;border-radius:10px;border:1px solid rgba(232,234,237,.08);overflow:hidden;background:#0c0e1499;transition:border-color .15s}.audit-entry:hover{border-color:#e8eaed24}.audit-stripe{width:4px}.audit-stripe.create{background:#10b981b3}.audit-stripe.update{background:#4d9ef7b3}.audit-stripe.delete{background:#e05252b3}.audit-body{padding:14px 16px;display:flex;flex-direction:column;gap:8px}.audit-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.audit-action{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.audit-action.create{color:#34d399}.audit-action.update{color:#4d9ef7}.audit-action.delete{color:#e05252}.audit-time{font-size:.76rem;color:var(--muted-color);white-space:nowrap;font-variant-numeric:tabular-nums}.audit-actor{display:flex;align-items:center;gap:8px}.audit-avatar{width:22px;height:22px;border-radius:50%;background:#10b9811f;border:1px solid rgba(16,185,129,.25);color:#34d399;font-size:9px;font-weight:700;display:grid;place-items:center;flex-shrink:0;letter-spacing:.03em}.audit-actor-name{font-size:.82rem;font-weight:600;color:#cdd1d6}.audit-actor-role{font-size:.73rem;color:var(--muted-color)}.audit-entity{font-size:.8rem;color:var(--text-subtle)}.audit-entity strong{color:var(--text);font-weight:600}.audit-changes{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.audit-change-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(232,234,237,.1);font-size:.74rem;color:var(--text-muted)}.audit-change-pill .field{font-weight:600;color:var(--text)}.audit-change-pill .old{text-decoration:line-through;opacity:.55}.audit-change-pill .arrow{opacity:.4;font-size:.7rem}.audit-change-pill .new{color:#34d399;font-weight:600}.members-row select,.inline-actions select{border-radius:9px;border:1px solid rgba(232,234,237,.14);padding:7px 9px;background:#080a0ecc;color:var(--text);font-size:.88rem;font-family:inherit;transition:border-color .15s ease}.members-row select:focus,.inline-actions select:focus{outline:none;border-color:#10b98173}.inline-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row-action{padding:6px 12px;font-size:.82rem;border-radius:8px}.row-action-group{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.row-action.danger{border-color:#ff64644d;color:#ff9a9a}.row-action.danger:hover{background:#ff64641a;border-color:#ff646480}.settings-panel{gap:18px}.settings-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.settings-card{background:#ffffff08;border-radius:14px;padding:16px 18px;border:1px solid rgba(255,255,255,.07);display:grid;gap:8px}.settings-actions{display:flex;justify-content:flex-start}.stacked-line{display:block;line-height:1.1}.auth-link{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.auth-link input{border-radius:9px;border:1px solid rgba(232,234,237,.14);padding:8px 10px;background:#080a0ecc;color:var(--text);font-size:.85rem;font-family:inherit}.checkin-summary{display:grid;gap:4px;margin-bottom:12px}.checkin-summary h2{margin:0;font-size:2.2rem;letter-spacing:-.04em}.checkin-timeline{display:grid;grid-auto-flow:column;gap:6px;align-items:end;height:120px}.checkin-bar{width:10px;border-radius:5px 5px 3px 3px;background:linear-gradient(180deg,#10b981,#059669);transition:height .25s ease,opacity .15s ease}.checkin-bar:hover{opacity:.75}.checkin-bar-wrap{display:grid;gap:4px;align-items:end;justify-items:center;font-size:.64rem;color:var(--text-subtle)}.checkin-count{font-weight:600}.checkin-hour{font-variant-numeric:tabular-nums}.checkin-hour,.checkin-count,.checkin-summary h2,.panel-header h3,.topbar h1,.list-title,.stat-card h2{color:var(--text-strong)}.checkin-meridiem{margin-left:2px;font-size:.58rem;text-transform:uppercase}.scroll-list{max-height:260px;overflow:hidden}.scroll-list .scroll-body{max-height:160px;overflow-y:auto;padding-right:6px}.search-results{display:grid;gap:6px;padding:4px 0 6px;max-height:160px;overflow-y:auto}.search-result{display:grid;gap:2px;text-align:left;padding:8px 11px;border-radius:10px;border:1px solid rgba(232,234,237,.1);background:#101218d9;cursor:pointer;transition:all .15s ease}.search-result:hover{background:#101218f2;border-color:var(--text-faint)}.search-result.active{border-color:var(--text-faint);box-shadow:0 4px 14px #0000004d}:root[data-theme=light] .sidebar{background:#fffffff7;border-right:1px solid rgba(0,0,0,.07)}:root[data-theme=light] .brand-mark{background:linear-gradient(145deg,#1a2518,#0f1a0f)}:root[data-theme=light] .brand-title,:root[data-theme=light] .brand-gym,:root[data-theme=light] .checkin-hour,:root[data-theme=light] .checkin-count,:root[data-theme=light] .checkin-summary h2,:root[data-theme=light] .panel-header h3,:root[data-theme=light] .topbar h1,:root[data-theme=light] .list-title,:root[data-theme=light] .stat-card h2{color:#111318}:root[data-theme=light] .brand-subtitle{color:#11131873}:root[data-theme=light] .nav-link{color:#1113188c}:root[data-theme=light] .nav-link:hover{background:#0000000a;color:#111318e0}:root[data-theme=light] .nav-link.active{background:#10b9811a;border-color:#10b98133;color:#059669}:root[data-theme=light] .nav-link.active:before{background:#059669}:root[data-theme=light] .stat-card,:root[data-theme=light] .panel,:root[data-theme=light] .auth-card{background:#fffffff2;border:1px solid rgba(0,0,0,.07);box-shadow:0 1px 3px #0000000f,0 8px 24px #0000000f}:root[data-theme=light] .stat-card:before{opacity:.35}:root[data-theme=light] .chip{background:#00000012;color:#11131899}:root[data-theme=light] .table-row,:root[data-theme=light] .list-row{background:#00000006;border-color:#0000000d}:root[data-theme=light] .table-row:not(.table-head):hover,:root[data-theme=light] .list-row:hover{background:#0000000b;border-color:#00000014}:root[data-theme=light] .table-head,:root[data-theme=light] .eyebrow,:root[data-theme=light] .muted,:root[data-theme=light] .time{color:#11131880}:root[data-theme=light] .member-form input,:root[data-theme=light] .member-form select,:root[data-theme=light] .member-search,:root[data-theme=light] .auth-form input,:root[data-theme=light] .audit-controls input,:root[data-theme=light] .members-row select,:root[data-theme=light] .inline-actions select,:root[data-theme=light] .auth-link input{background:#fff;color:#111318;border:1px solid rgba(0,0,0,.15)}:root[data-theme=light] .ghost{border-color:#0000002e;color:#111318bf}:root[data-theme=light] .ghost:hover{background:#0000000d;border-color:#0000004d;color:#111318}:root[data-theme=light] .placeholder-card,:root[data-theme=light] .settings-card{background:#ffffffbf;border-color:#0000001f}:root[data-theme=light] .bar{background:#00000014}:root[data-theme=light] .trend-bar{background:#00000012}:root[data-theme=light] .search-result{background:#fff;border-color:#0000001a}:root[data-theme=light] .search-result:hover,:root[data-theme=light] .search-result.active{border-color:#0003;box-shadow:0 4px 12px #00000012}:root[data-theme=light] .chart-tab{border-color:#00000026;color:#11131899}:root[data-theme=light] .chart-tab:hover{border-color:#00000047;color:#111318}:root[data-theme=light] .chart-tab.active{border-color:#10b98180;background:#10b9811f;color:#1a7a41}:root[data-theme=light] .chart-legend,:root[data-theme=light] .metric-label{color:#1113188c}:root[data-theme=light] .metric-value.purchased{color:#047857}:root[data-theme=light] .metric-value.canceled{color:#c05434}:root[data-theme=light] .metric-divider{color:#11131866}:root[data-theme=light] .coach-card{background:#00000005;border-color:#0000001a}:root[data-theme=light] .coach-name{color:#111318e6}:root[data-theme=light] .coach-role-tag{color:#11131873}:root[data-theme=light] .coach-client-row{color:#111318b3}:root[data-theme=light] .client-card{border-color:#0000001a}:root[data-theme=light] .client-meta{color:#11131873}:root[data-theme=light] .note-item{background:#00000008}:root[data-theme=light] .note-text{color:#111318d9}:root[data-theme=light] .note-date{color:#11131866}:root[data-theme=light] .note-input{background:#fff;border-color:#00000026;color:#111318}:root[data-theme=light] .user-chip{background:#0000000a;border-color:#0000001a}:root[data-theme=light] .user-chip-name{color:#111318e6}:root[data-theme=light] .user-chip-role{color:#11131873}:root[data-theme=light] .hbar-track{background:#00000014}:root[data-theme=light] .hbar-label{color:#111318d9}:root[data-theme=light] .hbar-amount{color:#047857}:root[data-theme=light] .hbar-count{color:#11131873}:root[data-theme=light] .preview-selector select{background:#fff;color:#111318;border-color:#00000026}:root[data-theme=light] .role-pill{border-color:#0000002e;color:#1113188c}:root[data-theme=light] .role-pill:hover{border-color:#00000052;color:#111318}.preview-selector{display:flex;align-items:center;gap:8px}.preview-label{font-size:.78rem;color:var(--text-subtle);white-space:nowrap}.preview-selector select{border-radius:9px;border:1px solid rgba(232,234,237,.18);padding:6px 10px;background:#080a0ecc;color:var(--text);font-size:.84rem;cursor:pointer;font-family:inherit;transition:border-color .15s ease}.preview-selector select:focus{outline:none;border-color:#10b98173}.preview-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:11px 18px;border-radius:10px;background:#f6c56c14;border:1px solid rgba(246,197,108,.28);color:#f6c56c;font-size:.88rem}.preview-banner strong{font-weight:700}.preview-banner-dismiss{flex-shrink:0;font-size:.78rem;padding:3px 9px;border-color:#f6c56c59;color:#f6c56c;border-radius:8px}.role-filter-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.role-pill{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid rgba(232,234,237,.14);background:transparent;color:var(--text-subtle);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.role-pill:hover{border-color:var(--text-faint);color:var(--text)}.role-pill.active{background:#10b981;border-color:#10b981;color:#071410}.role-pill-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:#ffffff26;font-size:.72rem;font-weight:700;padding:0 4px}.role-pill.active .role-pill-count{background:#0000002e}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.app{grid-template-columns:1fr}.sidebar{height:auto;position:relative}}@media(max-width:680px){.main{padding:24px 18px 44px}.table-row{grid-template-columns:1fr;gap:6px}.bar-row{grid-template-columns:1fr}}.coach-subtabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:0}.coach-subtab{padding:9px 20px;border:none;background:transparent;color:var(--text-subtle);font-size:.88rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:0;transition:color .15s,border-color .15s}.coach-subtab:hover{color:var(--text)}.coach-subtab.active{color:#10b981;border-bottom-color:#10b981}.programs-layout{display:flex;flex-direction:column;gap:20px}.program-list{display:flex;flex-direction:column;gap:12px}.program-card{border:1px solid rgba(255,255,255,.07);border-radius:12px;overflow:hidden;background:#ffffff05}.program-card-head{display:flex;align-items:center;padding:14px 18px;cursor:pointer;transition:background .15s;gap:12px}.program-card-head:hover{background:#ffffff0a}.program-name{font-weight:600;font-size:.95rem;color:var(--text);margin:0 0 2px}.program-meta{font-size:.8rem;color:var(--text-subtle);margin:0}.program-card-body{padding:0 18px 16px;border-top:1px solid rgba(255,255,255,.06)}.program-desc{font-size:.85rem;color:var(--text-muted);margin:12px 0;font-style:italic}.program-day{border:1px solid rgba(255,255,255,.07);border-radius:8px;margin-top:10px;overflow:hidden}.program-day-head{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .15s;background:#ffffff05}.program-day-head:hover{background:#ffffff0d}.day-label{font-weight:600;font-size:.85rem;color:var(--text);flex:1}.day-ex-count{font-size:.78rem;color:var(--text-subtle)}.program-day-body{padding:12px 14px}.exercise-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-bottom:10px}.exercise-table th{text-align:left;padding:6px 10px;color:var(--text-subtle);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,.07)}.exercise-table td{padding:7px 10px;color:var(--text);border-bottom:1px solid rgba(255,255,255,.04)}.exercise-table tr:last-child td{border-bottom:none}.exercise-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 2fr;gap:8px;margin-top:10px;padding:12px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.07)}.exercise-form input{padding:6px 10px;font-size:.82rem}.schedule-layout{display:flex;flex-direction:column;gap:20px}.cal-panel{padding:0!important;overflow:hidden}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#ffffff0f;border-radius:10px;overflow:hidden}.cal-dow{background:#ffffff08;text-align:center;padding:10px 0;font-size:.7rem;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.07em}.cal-cell{background:#0a0b0ff7;min-height:90px;padding:8px;vertical-align:top;position:relative;display:flex;flex-direction:column;gap:2px}.cal-cell.empty{background:#0a0b0f8c;opacity:.5}.cal-cell.clickable{cursor:pointer;transition:background .12s}.cal-cell.clickable:hover{background:#ffffff09}.cal-cell.today{background:#10b98112}.cal-day-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:.78rem;font-weight:500;color:var(--text-subtle);margin-bottom:5px;border-radius:50%;flex-shrink:0}.cal-cell.today .cal-day-num{background:#10b981;color:#0a0a0a;font-weight:700}.cal-overflow{font-size:.65rem;color:var(--text-muted);padding:1px 4px;margin-top:1px;opacity:.7}.cal-session-chip{background:#10b98126;border:1px solid rgba(16,185,129,.25);border-radius:4px;padding:2px 6px;font-size:.7rem;color:#10b981;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.session-list{display:flex;flex-direction:column;gap:1px}.session-row{display:flex;align-items:flex-start;gap:16px;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.05)}.session-row:last-child{border-bottom:none}.session-date-col{display:flex;flex-direction:column;gap:2px;min-width:150px}.session-day{font-size:.85rem;font-weight:600;color:var(--text)}.session-time{font-size:.78rem;color:var(--text-subtle)}.session-info{flex:1}.session-title{font-weight:600;font-size:.9rem;color:var(--text);margin:0 0 2px}.session-client{font-size:.8rem;color:#10b981;margin:0 0 2px}.modal-overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:overlayIn var(--dur) var(--ease);padding:24px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:480px;box-shadow:var(--shadow-lg);animation:modalIn var(--dur-slow) var(--ease-out)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-header h3{margin:0;font-size:1rem;color:var(--text-strong)}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}:root[data-theme=light] .coach-subtab{color:#1e232d73}:root[data-theme=light] .coach-subtab:hover{color:#1e2329}:root[data-theme=light] .coach-subtab.active{color:#059669;border-bottom-color:#059669}:root[data-theme=light] .program-card{background:#fff;border-color:#00000014}:root[data-theme=light] .program-card-head:hover{background:#00000008}:root[data-theme=light] .program-name{color:#1e2329}:root[data-theme=light] .program-meta{color:#1e232d80}:root[data-theme=light] .program-card-body{border-top-color:#00000012}:root[data-theme=light] .program-day{border-color:#00000014}:root[data-theme=light] .program-day-head{background:#00000005}:root[data-theme=light] .program-day-head:hover{background:#0000000d}:root[data-theme=light] .day-label{color:#1e2329}:root[data-theme=light] .exercise-table th{color:#1e232d80;border-bottom-color:#00000014}:root[data-theme=light] .exercise-table td{color:#1e2329;border-bottom-color:#0000000d}:root[data-theme=light] .exercise-form{background:#00000008;border-color:#00000014}:root[data-theme=light] .cal-grid{background:#00000014}:root[data-theme=light] .cal-dow{background:#00000008;color:#1e232d73}:root[data-theme=light] .cal-cell{background:#fff}:root[data-theme=light] .cal-cell.empty{background:#00000008}:root[data-theme=light] .cal-cell.clickable:hover{background:#00000006}:root[data-theme=light] .cal-cell.today{background:#0596690f}:root[data-theme=light] .cal-cell.today .cal-day-num{background:#059669;color:#fff}:root[data-theme=light] .cal-day-num{color:#1e232d66}:root[data-theme=light] .cal-session-chip{background:color-mix(in srgb,var(--chip-color, #059669) 12%,transparent);border-color:color-mix(in srgb,var(--chip-color, #059669) 30%,transparent);color:color-mix(in srgb,var(--chip-color, #059669) 85%,#000)}:root[data-theme=light] .session-day{color:#1e2329}:root[data-theme=light] .session-title{color:#1e2329}:root[data-theme=light] .session-client{color:#059669}:root[data-theme=light] .session-row{border-bottom-color:#0000000f}:root[data-theme=light] .modal{background:#fff;border-color:#0000001a}.client-list-rows{display:flex;flex-direction:column;gap:2px;margin-top:8px}.client-list-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:10px;cursor:pointer;transition:background .15s;border:1px solid transparent}.client-list-row:hover{background:#ffffff0a}.client-list-row.selected{background:#10b98112;border-color:#10b98133}.client-row-info{flex:1;min-width:0}.add-client-inline{display:flex;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:12px;flex-wrap:wrap}.add-client-inline select,.add-client-inline input{flex:1;min-width:180px}.coach-avatar.large{width:48px;height:48px;font-size:1.2rem;flex-shrink:0}.coach-avatar.small{width:28px;height:28px;font-size:.72rem;flex-shrink:0}.client-detail-modal{max-width:680px;width:100%}.client-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:20px}.detail-program-row{padding:8px 10px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);margin-top:6px}.detail-session-row{padding:8px 10px;border-radius:8px;background:#10b9810d;border:1px solid rgba(16,185,129,.12);margin-top:6px}.programs-split{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start}.programs-client-list{background:#ffffff05;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:12px 8px;position:sticky;top:20px}.prog-client-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .15s;border:1px solid transparent;margin-bottom:2px}.prog-client-row:hover{background:#ffffff0d}.prog-client-row.selected{background:#10b98114;border-color:#10b98133}.programs-detail-panel{min-width:0}.set-continuation .ex-name-cell{opacity:0}.set-num{color:var(--text-faint);font-size:.75rem;font-weight:700;width:32px;text-align:center}.exercise-add-form{margin-top:12px;padding:14px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.07)}.exercise-header-row{display:flex;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.exercise-input-table td input{width:100%;padding:4px 8px;font-size:.8rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:var(--text)}.exercise-input-table td input:focus{outline:none;border-color:#10b98173}:root[data-theme=light] .client-list-row:hover{background:#00000008}:root[data-theme=light] .client-list-row.selected{background:#05966912;border-color:#05966933}:root[data-theme=light] .add-client-inline{border-bottom-color:#00000012}:root[data-theme=light] .programs-client-list{background:#f5f7fa;border-color:#00000014}:root[data-theme=light] .prog-client-row:hover{background:#0000000a}:root[data-theme=light] .prog-client-row.selected{background:#05966914;border-color:#05966933}:root[data-theme=light] .exercise-add-form{background:#00000008;border-color:#00000014}:root[data-theme=light] .exercise-input-table td input{background:#fff;border-color:#00000026;color:#1e2329}:root[data-theme=light] .detail-program-row{background:#00000008;border-color:#00000012}:root[data-theme=light] .detail-session-row{background:#0596690d;border-color:#0596691f}:root[data-theme=light] .set-num{color:#1e232d66}.new-program-form{display:flex;flex-direction:column;gap:10px;padding:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;margin-bottom:16px}.new-program-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.date-range-field{display:flex;flex-direction:column;gap:4px}.date-range-label{font-size:.75rem;color:var(--text-subtle);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin:0}.date-range-hint{font-size:.78rem;color:#10b981;align-self:flex-end;margin:0;padding-bottom:6px}.week-block{margin-top:16px}.week-label{font-size:.72rem;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px}.week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.week-day-cell{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;cursor:pointer;transition:all .15s;position:relative;min-height:62px;justify-content:center}.week-day-cell:hover{background:#ffffff0f;border-color:#ffffff24}.week-day-cell.has-exercises{border-color:#10b98133;background:#10b9810d}.week-day-cell.active{background:#10b9811f;border-color:#10b98166}.week-day-name{font-size:.68rem;font-weight:700;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em}.week-day-num{font-size:1rem;font-weight:700;color:var(--text);line-height:1}.week-day-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:#10b981;color:#071410;font-size:.68rem;font-weight:700;padding:0 4px}.range-day-detail{margin-top:16px;padding:14px;background:#ffffff08;border:1px solid rgba(16,185,129,.15);border-radius:10px}:root[data-theme=light] .new-program-form{background:#f5f7fa;border-color:#00000014}:root[data-theme=light] .date-range-label{color:#1e232d80}:root[data-theme=light] .date-range-hint{color:#059669}:root[data-theme=light] .week-day-cell{background:#fff;border-color:#00000014}:root[data-theme=light] .week-day-cell:hover{background:#f0f4f8;border-color:#00000026}:root[data-theme=light] .week-day-cell.has-exercises{background:#0596690f;border-color:#05966933}:root[data-theme=light] .week-day-cell.active{background:#0596691f;border-color:#05966966}:root[data-theme=light] .week-day-name{color:#1e232d66}:root[data-theme=light] .week-day-num{color:#1e2329}:root[data-theme=light] .week-day-badge{background:#059669;color:#fff}:root[data-theme=light] .range-day-detail{background:#00000005;border-color:#05966926}.cal-session-chip{display:flex;align-items:center;gap:4px}.cal-session-chip .chip-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-remove{flex-shrink:0;background:none;border:none;color:#10b98199;cursor:pointer;font-size:.65rem;padding:0 2px;line-height:1;display:none;border-radius:3px}.cal-session-chip.removable:hover .chip-remove{display:inline}.time-row{display:flex;gap:12px}.time-row label{display:flex;flex-direction:column;gap:4px}.schedule-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:4px}.schedule-nav{display:flex;align-items:center;gap:8px;flex:1;min-width:200px}.schedule-period{font-weight:600;font-size:.95rem;white-space:nowrap}.schedule-view-toggle{display:flex;gap:4px}.view-toggle-btn{background:none;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;padding:4px 12px;border-radius:6px;font-size:.82rem;transition:background .15s,color .15s,border-color .15s}.view-toggle-btn.active{background:#10b981;border-color:#10b981;color:#0a0a0a;font-weight:600}.view-toggle-btn:hover:not(.active){border-color:#10b981;color:#10b981}.filter-client-select{padding:5px 10px;border-radius:7px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.84rem;cursor:pointer}.today-btn{border:1px solid var(--border);border-radius:6px;font-size:.82rem;padding:4px 12px;white-space:nowrap}.cal-session-chip{background:color-mix(in srgb,var(--chip-color, #10b981) 14%,transparent);border-color:color-mix(in srgb,var(--chip-color, #10b981) 35%,transparent);color:var(--chip-color, #10b981)}.chip-remove{color:color-mix(in srgb,var(--chip-color, #10b981) 55%,transparent)}.chip-remove:hover{color:#ef4444}.cal-session-chip.compact{font-size:.67rem;padding:2px 5px;min-height:0;border-radius:3px;line-height:1.3}.panel.no-pad{padding:0}.week-schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);min-height:260px;border-radius:10px;overflow:hidden}.week-schedule-col{border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:260px}.week-schedule-col:last-child{border-right:none}.week-schedule-col.today{background:#10b9810a}.week-schedule-head{padding:8px 6px 6px;border-bottom:1px solid var(--border);text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px}.week-schedule-head.clickable{cursor:pointer}.week-schedule-head.clickable:hover{background:#ffffff0a}.week-schedule-head.today{background:#10b98114}.week-schedule-dow{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.week-schedule-date{font-size:1.1rem;font-weight:700;color:var(--text);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}.week-schedule-date.today{background:var(--accent);color:#0a0a0a}.week-schedule-sessions{flex:1;padding:6px 4px;display:flex;flex-direction:column;gap:3px}.week-empty-day{color:var(--text-muted);font-size:.75rem;text-align:center;display:block;padding-top:8px;opacity:.4}.day-schedule-sessions{display:flex;flex-direction:column;gap:8px}.day-session-row{display:flex;align-items:center;gap:12px}.day-session-time{display:flex;flex-direction:column;align-items:flex-end;min-width:64px;font-size:.82rem;font-weight:600;color:var(--text-muted);flex-shrink:0}.upcoming-chart{padding:8px 0 4px;overflow-x:auto}.upcoming-chart svg{display:block;min-width:420px}.session-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 14px;min-width:160px;max-width:260px;box-shadow:0 8px 24px #00000059;font-size:.82rem}.tooltip-title{font-weight:600;color:var(--text);margin:0 0 4px}.tooltip-time{color:var(--text-muted);margin:0 0 4px;font-size:.78rem}.tooltip-notes{color:var(--text-muted);margin:4px 0 0;font-style:italic;font-size:.78rem;border-top:1px solid var(--border);padding-top:4px}:root[data-theme=light] .session-tooltip{box-shadow:0 4px 16px #00000026}:root[data-theme=light] .view-toggle-btn.active{background:#059669;border-color:#059669;color:#fff}:root[data-theme=light] .week-schedule-date.today{color:#fff}
