:root{--bg:#0e1116;--surface:#171c22;--surface-2:#1d242d;--border:#2b3642;--text:#ffffff;--muted:#b6bdc7;--muted-2:#7f8996;--brand:#46d369;--brand-2:#22b2a6;--brand-gradient:linear-gradient(180deg,#46d369,#22b2a6);--brand-ink:#04210f;--on-brand:var(--brand-ink);--success:#46d369;--danger:#ff5d5d;--warning:#ffb84d;--info:#5b8def;--chart-1:#46d369;--chart-2:#22b2a6;--chart-neutral:#5b6470;--page-narrow:640px;--page-default:860px;--page-wide:1100px;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--text-xs:11px;--text-sm:13px;--text-md:14px;--text-lg:16px;--text-h2:20px;--text-h1:28px;--radius-card:20px;--radius-xs:4px;--radius-sm:8px;--radius-btn:12px;--radius-input:12px;--radius-pill:999px;--shadow-sm:0 8px 24px rgba(0,0,0,0.18);--shadow-md:0 20px 60px rgba(0,0,0,0.22);--shadow-glow:0 8px 28px rgba(70,211,105,0.22);--font-sans:var(--font-geist),"Geist","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--ease:cubic-bezier(0.22,1,0.36,1)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-feature-settings:"tnum" 1;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}[role=tab]:focus-visible,a:focus-visible,button:focus-visible,input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;line-height:1.2;font-weight:600}h1{font-weight:700;line-height:1.05}p{line-height:1.6}.text-gradient{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.container{max-width:var(--page-default);margin:0 auto;padding:var(--space-6)}.container.narrow{max-width:var(--page-narrow)}.container.wide{max-width:var(--page-wide)}.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border)}.nav>.row{margin-left:auto;justify-content:flex-end;flex-wrap:nowrap;flex-shrink:0}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--text-h2);white-space:nowrap;letter-spacing:-.02em}.brand,.brand svg{flex-shrink:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease)}.row{display:flex;align-items:center;flex-wrap:wrap}.grid,.row{gap:var(--space-3)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--space-3)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--brand-gradient);color:var(--on-brand);border:none;border-radius:var(--radius-btn);padding:var(--space-3) var(--space-5);font-weight:600;cursor:pointer;font-size:var(--text-md);letter-spacing:-.01em;transition:transform .2s var(--ease),box-shadow .2s var(--ease),opacity .2s var(--ease)}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.btn.secondary:hover:not(:disabled){background:var(--surface);box-shadow:none}.btn.danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn.danger:hover:not(:disabled){background:rgba(255,93,93,.1);box-shadow:none}input,select,textarea{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-input);padding:var(--space-2-5) var(--space-3);font-size:var(--text-md);font-family:var(--font-sans);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 15%,transparent)}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--surface)}label{display:block;font-size:var(--text-sm);margin-bottom:var(--space-1-5)}.muted,label{color:var(--muted)}.badge{display:inline-block;padding:var(--space-0-5) var(--space-2-5);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;border:1px solid var(--border)}.badge.confirmed{color:var(--brand);border-color:var(--brand)}.badge.pending{color:var(--warning);border-color:var(--warning)}.badge.cancelled{color:var(--danger);border-color:var(--danger)}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}.error{color:var(--danger)}.error,.slot-btn{font-size:var(--text-md)}.slot-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:var(--space-2-5);cursor:pointer}.slot-btn:hover{border-color:var(--brand)}.slot-cell{display:flex;flex-direction:column;gap:var(--space-1-5)}.slot-cell .slot-btn{width:100%}.slot-court{width:100%;padding:var(--space-2);font-size:var(--text-sm)}.court-loading{align-items:center;padding:var(--space-2) var(--space-3);color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.court-loading,.court-warning{display:flex;gap:var(--space-2);margin:var(--space-1) 0 var(--space-2);font-size:var(--text-sm)}.court-warning{align-items:flex-start;padding:var(--space-2-5) var(--space-3);line-height:1.45;color:var(--warning);background:rgba(255,184,77,.1);border:1px solid rgba(255,184,77,.3);border-radius:10px}.court-warning-icon{flex:0 0 auto;margin-top:var(--space-0-5);color:var(--warning)}.court-refresh-row{display:flex;align-items:center;gap:var(--space-2-5);flex-wrap:wrap;margin:var(--space-1) 0 var(--space-2)}.court-refresh-btn{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:background .15s ease,border-color .15s ease}.court-refresh-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--text)}.court-refresh-btn:disabled{opacity:.6;cursor:default}.court-refresh-spin{display:inline-block;animation:court-refresh-spin .8s linear infinite}@keyframes court-refresh-spin{to{transform:rotate(1turn)}}.cal-toolbar{margin-bottom:var(--space-3);flex-wrap:wrap}.cal-toolbar .btn.secondary{padding:var(--space-1-5) var(--space-3);min-width:40px;justify-content:center}.daycal{display:grid;grid-template-columns:64px 1fr;grid-gap:0;gap:0;padding:var(--space-3)}.daycal-gutter,.daycal-hour{position:relative}.daycal-hour{text-align:right;padding-right:var(--space-2);box-sizing:border-box}.daycal-hour span{position:absolute;right:8px;top:-7px;font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.daycal-track{position:relative;border-left:1px solid var(--border)}.daycal-line{position:absolute;left:0;right:0;border-top:1px solid var(--border)}.daycal-slot{position:absolute;left:4px;right:6px;display:flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:6px;background:color-mix(in srgb,var(--brand) 22%,transparent);border:1px solid var(--brand);color:var(--text);text-decoration:none;font-size:var(--text-sm);font-weight:600;overflow:hidden;box-sizing:border-box;transition:background .12s ease}.daycal-slot:hover{background:color-mix(in srgb,var(--brand) 36%,transparent)}.daycal-slot-time{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daycal-slot.joinable{background:color-mix(in srgb,var(--warning) 26%,transparent);border-color:var(--warning);color:var(--warning)}.daycal-slot.joinable:hover{background:color-mix(in srgb,var(--warning) 42%,transparent)}.joinable-btn{background:var(--warning);border-color:var(--warning);color:var(--bg)}.joinable-btn:hover{background:color-mix(in srgb,var(--warning) 85%,var(--bg))}.cal-dot.shared{background:color-mix(in srgb,var(--warning) 22%,transparent);color:var(--warning)}.daycal-busy{position:absolute;left:4px;right:6px;border-radius:6px;background:color-mix(in srgb,var(--muted) 16%,transparent);border:1px solid var(--border);box-sizing:border-box}.daycal-busy-label{position:absolute;top:4px;left:8px;font-size:var(--text-xs);color:var(--muted)}.cal-month-head{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-btn) var(--radius-btn) 0 0;overflow:hidden}.cal-month-dow{padding:var(--space-2) var(--space-1);text-align:center;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface);border-right:1px solid var(--border)}.cal-month-dow:last-child{border-right:none}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(72px,1fr);border:1px solid var(--border);border-radius:0 0 12px 12px;overflow:hidden}.cal-month-cell{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1-5);padding:var(--space-1-5);background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text);min-height:72px}.cal-month-cell:hover{background:var(--surface-2)}.cal-month-cell.muted-month{opacity:.45}.cal-month-cell.is-today .cal-month-date{color:var(--brand-ink);background:var(--brand);border-radius:var(--radius-pill);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.cal-month-date{font-size:var(--text-sm);font-weight:600}.cal-month-dots{display:flex;gap:var(--space-1);flex-wrap:wrap}.cal-dot{font-size:var(--text-xs);font-weight:700;padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-pill);border:1px solid transparent}.cal-dot.avail{color:var(--brand);border-color:var(--brand);background:color-mix(in srgb,var(--brand) 15%,transparent)}.cal-dot.book{color:var(--warning);border-color:var(--warning);background:color-mix(in srgb,var(--warning) 15%,transparent)}.cal-dot.busy{color:var(--muted);border-color:var(--muted);background:color-mix(in srgb,var(--muted) 15%,transparent)}@media (max-width:640px){.cal-toolbar{flex-direction:column;align-items:stretch;gap:var(--space-2-5)}.cal-toolbar>strong{text-align:center;font-size:var(--text-lg)}.cal-toolbar .row{width:100%;flex-wrap:wrap;justify-content:center}.cal-toolbar .btn.secondary{flex:1 1;padding:var(--space-2-5) var(--space-3);min-height:40px}.cal-month-grid{grid-auto-rows:minmax(58px,1fr)}.cal-month-cell{min-height:58px;padding:var(--space-1)}.cal-dot{font-size:var(--text-xs);padding:var(--space-0-5) var(--space-1-5)}}.auth-wrap{max-width:420px;margin:0 auto;padding-top:var(--space-8)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-7);box-shadow:var(--shadow-md)}.auth-head{text-align:center;margin-bottom:var(--space-6)}.auth-head h1{font-size:var(--text-h1);margin:0 0 var(--space-1-5)}.auth-logo{display:block;margin:0 auto var(--space-3)}.auth-head .brand-dot{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.auth-head p{margin:0;color:var(--muted);font-size:var(--text-md)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-1);gap:var(--space-1);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:var(--space-1);margin-bottom:var(--space-5)}.auth-tab{background:transparent;border:none;color:var(--muted);font-weight:600;font-size:var(--text-md);padding:var(--space-2) 0;border-radius:7px;cursor:pointer;transition:background .15s ease,color .15s ease}.auth-tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.3)}.auth-field{margin-bottom:var(--space-3)}.auth-field input{width:100%;padding:var(--space-3)}.auth-field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 15%,transparent)}.auth-password{position:relative}.auth-password input{padding-right:var(--space-8)}.auth-password-toggle{position:absolute;top:4px;right:4px;bottom:4px;width:36px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:var(--muted-2);cursor:pointer;transition:color .2s var(--ease)}.auth-password-toggle:hover{color:var(--text)}.auth-password-toggle svg{width:18px;height:18px}.auth-hint{font-size:var(--text-sm);color:var(--muted);margin:var(--space-1-5) 0 0}.auth-link{background:none;border:none;color:var(--brand);cursor:pointer;padding:0;font:inherit;font-weight:600}.auth-link:hover{text-decoration:underline}.wh-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.wh-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2-5) var(--space-3);border:1px solid var(--border);border-radius:10px;background:var(--surface-2);flex-wrap:wrap}.wh-row.closed{opacity:.6}.wh-toggle{display:flex;align-items:center;gap:var(--space-2-5);margin:0;font-size:var(--text-md);color:var(--text);font-weight:600;cursor:pointer;min-width:130px}.wh-toggle input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.wh-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.wh-controls input[type=time],.wh-controls select{padding:var(--space-2);font-size:var(--text-sm)}.wh-closed-label{font-size:var(--text-sm)}.wh-durations{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.wh-duration-option{display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:0;padding:var(--space-1-5) var(--space-3);min-height:32px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);font-size:var(--text-sm);cursor:pointer;transition:border-color .15s var(--ease),color .15s var(--ease)}.wh-duration-option:hover{border-color:var(--brand);color:var(--text)}.wh-duration-option:has(input:checked){border-color:var(--brand);color:var(--brand)}@media (max-width:520px){.wh-row{flex-direction:column;align-items:flex-start}}.next-avail{border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding:var(--space-3);margin-top:var(--space-3)}.wh-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:var(--space-4) 0 var(--space-1)}.wh-field{display:flex;flex-direction:column;gap:var(--space-1-5);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface-2)}.wh-field>label{font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin:0}.wh-field select{width:100%}.wh-hint{font-size:var(--text-sm);line-height:1.4;color:var(--muted);margin:var(--space-0-5) 0 0}.wh-stepper{display:inline-flex;align-items:stretch;align-self:flex-start;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.wh-stepper-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;border:none;background:transparent;color:var(--text);font-size:var(--text-h2);line-height:1;cursor:pointer;transition:background .12s ease}.wh-stepper-btn:hover:not(:disabled){background:var(--surface-2)}.wh-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.wh-stepper input[type=number]{width:52px;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);border-radius:0;text-align:center;font-weight:600;font-size:var(--text-md);padding:var(--space-2) var(--space-1);-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.wh-stepper input[type=number]::-webkit-inner-spin-button,.wh-stepper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.wh-stepper-unit{display:inline-flex;align-items:center;padding:0 var(--space-2-5) 0 var(--space-2);font-size:var(--text-sm);color:var(--muted)}.cal-conn-head{display:flex;align-items:center;gap:var(--space-2-5);flex-wrap:wrap}.cal-conn-badge{font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--border)}.cal-conn-badge.ok{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 40%,transparent);background:color-mix(in srgb,var(--brand) 12%,transparent)}.cal-conn-badge.off,.evt-source{color:var(--muted);background:var(--surface-2)}.evt-source{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:var(--space-0-5) var(--space-1-5);border-radius:var(--radius-pill);border:1px solid var(--border)}.evt-source.google{color:#1a73e8;border-color:color-mix(in srgb,#1a73e8 40%,transparent);background:color-mix(in srgb,#1a73e8 12%,transparent)}.evt-source.microsoft{color:#0078d4;border-color:color-mix(in srgb,#0078d4 40%,transparent);background:color-mix(in srgb,#0078d4 12%,transparent)}.evt-source.caldav{color:#8e8e93}.evt-source.ics{color:#34a853;border-color:color-mix(in srgb,#34a853 40%,transparent);background:color-mix(in srgb,#34a853 12%,transparent)}.ics-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.ics-item{justify-content:space-between;gap:var(--space-3);padding:var(--space-2-5) var(--space-3);border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.ics-form,.ics-item{display:flex;align-items:center}.ics-form{gap:var(--space-2);flex-wrap:wrap}.nav-balance{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:var(--space-1-5) var(--space-3);font-weight:700;font-size:var(--text-sm);color:var(--brand)}.nav-cart{position:relative;font-size:var(--text-h2);padding:var(--space-1) var(--space-1-5)}.nav-cart,.nav-cart-badge{display:inline-flex;align-items:center}.nav-cart-badge{position:absolute;top:-4px;right:-6px;background:var(--brand);color:var(--brand-ink);font-size:var(--text-xs);font-weight:700;border-radius:var(--radius-pill);min-width:16px;height:16px;justify-content:center;padding:0 var(--space-1)}.nav-menu,.nav-menu-trigger{position:relative;display:inline-flex}.nav-menu-trigger{align-items:center;justify-content:center;width:38px;height:38px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;padding:0}.nav-menu-trigger:hover{border-color:var(--muted)}.nav-menu-icon{font-size:var(--text-h2);line-height:1}.nav-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.4);padding:var(--space-1-5);z-index:50}.nav-menu-dropdown,.nav-menu-identity{display:flex;flex-direction:column;gap:var(--space-0-5)}.nav-menu-identity{padding:var(--space-2) var(--space-2-5);border-bottom:1px solid var(--border);margin-bottom:var(--space-1)}.nav-menu-identity strong{font-size:var(--text-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.nav-menu-identity .muted{font-size:var(--text-sm)}.nav-menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2-5);width:100%;background:none;border:none;color:var(--text);font-size:var(--text-md);font-weight:500;text-align:left;padding:var(--space-2-5);border-radius:7px;cursor:pointer}.nav-menu-item:hover{background:var(--surface-2)}.nav-menu-item.danger{color:var(--danger)}.nav-menu-count{background:var(--brand);color:var(--brand-ink);border-radius:var(--radius-pill);min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-1)}.nav-menu-count,.nav-menu-tag{font-size:var(--text-xs);font-weight:700}.nav-menu-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 40%,transparent);border-radius:6px;padding:var(--space-0-5) var(--space-1-5)}.nav-menu-section{display:flex;flex-direction:column;gap:var(--space-0-5)}.nav-menu-divider{height:1px;background:var(--border);margin:var(--space-1)}.coming-soon{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-btn);padding:var(--space-6)}.coming-soon-head{display:flex;gap:var(--space-4);align-items:center}.coming-soon-icon{flex-shrink:0;width:52px;height:52px;border-radius:var(--radius-btn);display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--brand) 14%,transparent);border:1px solid color-mix(in srgb,var(--brand) 30%,transparent);color:var(--brand)}.coming-soon-icon svg{width:26px;height:26px;display:block}.coming-soon-heading{display:flex;flex-direction:column}.coming-soon-badge{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand);background:color-mix(in srgb,var(--brand) 15%,transparent);border:1px solid color-mix(in srgb,var(--brand) 35%,transparent);padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-pill)}.coming-soon-list{margin:var(--space-4) 0 0;padding-left:var(--space-5);display:grid;grid-gap:var(--space-2);gap:var(--space-2);color:var(--muted);font-size:var(--text-md)}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-5)}.plan-card{position:relative;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-btn);padding:var(--space-4);display:flex;flex-direction:column}.plan-card.highlight{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.plan-tag{position:absolute;top:-10px;left:18px;font-size:var(--text-xs);font-weight:700;color:var(--brand-ink);background:var(--brand);padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-pill)}.plan-price{font-size:var(--text-h1);font-weight:800}.plan-period{font-size:var(--text-sm);font-weight:500;color:var(--muted)}.plan-blurb{margin:var(--space-1) 0 0;font-size:var(--text-sm)}.plan-inherits{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-sm);font-weight:700;color:var(--text)}.plan-features{list-style:none;padding:0;margin:var(--space-3) 0 var(--space-4);display:grid;grid-gap:var(--space-2);gap:var(--space-2);font-size:var(--text-sm)}.plan-features li{padding-left:var(--space-5);position:relative;color:var(--muted)}.plan-features li:before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:700}.plan-card .btn{margin-top:auto}.slot-btn.in-cart{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-weight:700}.cart-bar{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--brand);border-radius:10px;background:color-mix(in srgb,var(--brand) 8%,transparent);font-weight:600}.cart-bar,.cart-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.cart-item{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.cart-item:last-child{border-bottom:none}.cart-balance-toggle{align-items:center;gap:var(--space-2-5);color:var(--text);font-size:var(--text-md)}.cart-balance-toggle,.cart-summary{display:flex;margin-bottom:var(--space-4)}.cart-summary{flex-direction:column;gap:var(--space-2)}.cart-total{border-top:1px solid var(--border);padding-top:var(--space-2-5);font-size:var(--text-lg)}.wallet-summary-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.wallet-balance{text-align:center}.wallet-amount{font-size:var(--text-h1);font-weight:800;color:var(--brand)}.wallet-tiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.wallet-tier{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-1);margin-bottom:0}.wallet-tier-value{font-size:var(--text-h1);font-weight:800}.wallet-tier-bonus{color:var(--brand);font-weight:700;margin-top:var(--space-0-5)}.wallet-tier-bonus.none{color:var(--muted);font-weight:500}.wallet-tier .btn{width:100%;margin-top:var(--space-3);justify-content:center}.wallet-txn{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2-5) 0;border-bottom:1px solid var(--border)}.wallet-txn:last-child{border-bottom:none}.wallet-credit{color:var(--brand);font-weight:700}.wallet-debit{color:var(--muted);font-weight:700}.auth-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-5)}.auth-actions .btn{width:100%;justify-content:center;min-height:44px}.btn.google{background:#fff;color:#1f1f1f;border:1px solid #dadce0}.btn.google:hover{background:#f7f8f8}.btn.google svg{width:18px;height:18px}.auth-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-4);color:var(--muted);font-size:var(--text-sm)}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-error{background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid var(--danger);color:color-mix(in srgb,var(--danger) 55%,var(--text));border-radius:8px}.auth-error,.auth-success{padding:var(--space-2-5) var(--space-3);font-size:var(--text-sm);margin-top:var(--space-4)}.auth-success{background:color-mix(in srgb,var(--brand) 12%,transparent);border:1px solid var(--brand);color:color-mix(in srgb,var(--brand) 55%,var(--text));border-radius:8px}.auth-magic-link{width:100%;justify-content:center}@media (max-width:480px){.auth-wrap{padding-top:var(--space-7)}.auth-card{padding:var(--space-6) var(--space-5)}.auth-actions{grid-template-columns:1fr}}.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.conn-indicators{display:flex;gap:var(--space-2);flex-wrap:wrap}.conn-chip{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-pill);padding:var(--space-1-5) var(--space-3);font-size:var(--text-sm);font-weight:600;cursor:pointer}.conn-chip .conn-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.conn-chip.ok .conn-dot{background:var(--brand)}.conn-chip.warn{border-color:var(--warning)}.conn-chip.warn .conn-dot{background:var(--warning)}.conn-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;background:color-mix(in srgb,var(--warning) 10%,transparent);border:1px solid var(--warning);border-radius:10px;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-md)}.conn-banner.success{background:color-mix(in srgb,var(--brand) 10%,transparent);border-color:var(--brand)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-5)}.tab{background:none;color:var(--muted);font-size:var(--text-lg);font-weight:600;padding:var(--space-2-5) var(--space-4);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-var(--space-0-5);display:inline-flex;align-items:center;gap:var(--space-2);transition:color .15s ease,border-color .15s ease}.tab.active,.tab:hover{color:var(--text)}.tab.active{border-image:var(--brand-gradient) 1;border-bottom:2px solid var(--brand)}.tab-badge{background:var(--brand-gradient);color:var(--on-brand);font-size:var(--text-xs);font-weight:700;border-radius:var(--radius-pill);min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-1)}.ach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-4)}.ach-stat{text-align:center;margin-bottom:0}.ach-value{font-size:var(--text-h1);font-weight:700;color:var(--brand);line-height:1.1;margin-bottom:var(--space-1)}@media (max-width:720px){.ach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.progress-evaluation-panel{margin-top:var(--space-3)}.progress-evaluation-panel h2,.progress-evaluation-panel h3,.progress-evaluation-panel p{margin-top:0}.progress-evaluation-card-heading,.progress-evaluation-editor-heading,.progress-evaluation-heading,.progress-evidence-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.progress-evaluation-heading h2{margin-bottom:var(--space-1)}.progress-evaluation-eyebrow{margin-bottom:var(--space-1);color:var(--brand);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.progress-evidence-summary{align-items:center;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.progress-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-2-5);gap:var(--space-2-5);margin-top:var(--space-3)}.progress-evidence-topic{min-width:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface-2)}.progress-evidence-topic.selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 28%,transparent)}.progress-evidence-topic>label{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer}.progress-evidence-topic>label span{min-width:0}.progress-evidence-topic>label small{display:block;margin-top:var(--space-0-5);color:var(--muted)}.progress-evidence-counts{display:flex;flex-wrap:wrap;gap:var(--space-1-5);margin:var(--space-2) 0}.progress-evidence-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:650;white-space:nowrap}.progress-evidence-badge.personal{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 38%,var(--border));background:color-mix(in srgb,var(--brand) 9%,transparent)}.progress-evidence-badge.exposure{color:var(--muted);background:var(--surface)}.progress-evaluation-sources,.progress-evidence-topic details{font-size:var(--text-sm)}.progress-evaluation-sources summary,.progress-evidence-topic summary{color:var(--muted);cursor:pointer}.progress-evidence-source{margin-top:var(--space-2);padding:var(--space-2);border-left:2px solid var(--brand);background:var(--surface)}.progress-evidence-source.exposure{border-left-color:var(--muted-2)}.progress-evidence-source p,.progress-evidence-source small{display:block;margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-xs)}.progress-evaluation-editor,.progress-evaluation-observation{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-4)}.progress-evaluation-observation>span{font-size:var(--text-sm);font-weight:650}.progress-evaluation-editor textarea,.progress-evaluation-observation textarea{box-sizing:border-box;width:100%;resize:vertical;font-family:inherit}.progress-evaluation-editor{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface-2)}.progress-evaluation-history{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.progress-evaluation-list{display:grid;grid-gap:var(--space-2-5);gap:var(--space-2-5)}.progress-evaluation-card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface-2)}.progress-evaluation-card-heading .muted{margin-top:var(--space-1);font-size:var(--text-xs)}.progress-evaluation-copy{margin:var(--space-3) 0 0;white-space:pre-wrap;font-family:inherit;font-size:var(--text-sm)}.progress-evaluation-sources{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.progress-evaluation-sources>.muted{margin:var(--space-2) 0;font-size:var(--text-xs)}.progress-source-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-xs)}.progress-evaluation-source-group,.progress-source-row{border-top:1px solid var(--border)}.progress-evaluation-source-group .progress-source-row{border-top:none}.progress-evaluation-frozen-source{margin:0 0 var(--space-2) var(--space-3);padding-left:var(--space-2-5);border-left:2px solid var(--brand);font-size:var(--text-xs)}.progress-evaluation-frozen-source.exposure{border-left-color:var(--muted-2)}.progress-evaluation-frozen-source p{margin:var(--space-1) 0 0;color:var(--muted)}@media (max-width:720px){.progress-evidence-grid{grid-template-columns:1fr}.progress-evaluation-card-heading,.progress-evaluation-heading,.progress-source-row{align-items:flex-start;flex-direction:column}}.ach-kw-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.ach-kw-field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm)}.ach-kw-field input{padding:var(--space-2) var(--space-2-5);border:1px solid var(--border);border-radius:8px;font-size:var(--text-md)}@media (max-width:720px){.ach-kw-form{grid-template-columns:minmax(0,1fr)}}.rate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-2-5);gap:var(--space-2-5)}.rate-field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm)}.rate-field span{color:var(--muted)}.rate-field input{padding:var(--space-2) var(--space-2-5);border:1px solid var(--border);border-radius:8px;font-size:var(--text-md);width:100%}@media (max-width:560px){.rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.player-count-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.player-count-row .btn{flex:1 1 auto;min-width:96px}.slot-price{opacity:.85;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.joinable-section{margin-top:var(--space-5);padding:var(--space-4);background:color-mix(in srgb,var(--warning) 10%,transparent);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);border-radius:10px}.slot-btn.joinable{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-0-5);border-color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning)}.slot-btn.joinable.in-cart{background:var(--warning);color:var(--bg);border-color:var(--warning)}.slot-spots{font-size:var(--text-sm);font-weight:600;opacity:.9}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:var(--space-4);gap:var(--space-4);align-items:start}.cal-card{margin-bottom:0}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.cal-month{font-size:var(--text-h2);font-weight:700}.cal-nav{padding:var(--space-2) var(--space-3);font-size:var(--text-lg);line-height:1}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:var(--space-1-5);gap:var(--space-1-5)}.cal-weekdays{margin-bottom:var(--space-1-5)}.cal-weekday{text-align:center;font-size:var(--text-xs);font-weight:600;color:var(--muted);padding:var(--space-1) 0}.cal-day{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;min-height:84px;padding:var(--space-1-5);text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:var(--space-1);overflow:hidden;color:var(--text)}.cal-day:hover{border-color:var(--muted)}.cal-day.out{opacity:.4}.cal-day.today .cal-day-num{background:var(--brand);color:var(--brand-ink);border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.cal-day.selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}.cal-day-num{font-size:var(--text-sm);font-weight:600}.cal-pill{font-size:var(--text-xs);line-height:1.3;padding:var(--space-0-5) var(--space-1-5);border-radius:6px;background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-pill.pending{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}.cal-pill.cancelled{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.cal-more{font-size:var(--text-xs);color:var(--muted)}.cal-detail{margin-bottom:0}.cal-detail-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2-5);flex-wrap:wrap;padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.cal-detail-item:last-child{border-bottom:none;padding-bottom:0}.cal-session-item{align-items:flex-start}.cal-session-copy{min-width:0;flex:1 1 150px}.cal-session-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.cal-pickleball-tag{display:inline-block;margin-left:var(--space-2);padding:var(--space-0-5) var(--space-2);font-size:var(--text-xs);font-weight:600;line-height:1.5;vertical-align:middle;color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,transparent);border:1px solid color-mix(in srgb,var(--brand) 35%,transparent);border-radius:var(--radius-pill)}@media (max-width:800px){.cal-layout{grid-template-columns:1fr}.cal-day{min-height:64px}.cal-pill{display:none}.cal-day.has-sessions:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand);margin-top:var(--space-0-5)}.cal-session-actions{width:100%;align-items:stretch}}.recap-dialog{width:min(820px,calc(100vw - 32px));max-width:820px;max-height:min(880px,calc(100vh - 32px));margin:auto;padding:0;border:none;border-radius:var(--radius-card);background:transparent;color:var(--text);box-shadow:var(--shadow-md)}.recap-dialog::-webkit-backdrop{background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.recap-dialog::backdrop{background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.recap-dialog-panel{max-height:min(880px,calc(100vh - 32px));overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.recap-dialog-header{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.recap-dialog-header h2,.recap-dialog-header p{margin:0}.recap-dialog-header .muted{margin-top:var(--space-1);font-size:var(--text-sm)}.recap-eyebrow{margin-bottom:var(--space-1)!important;color:var(--brand);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.recap-close{width:36px;height:36px;flex:0 0 auto;border:1px solid var(--border);border-radius:50%;background:var(--surface-2);color:var(--text);font-size:var(--text-h2);line-height:1;cursor:pointer}.recap-close:hover{border-color:var(--muted)}.recap-dialog-body{display:grid;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-4)}.recap-section{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface-2)}.recap-section h3,.recap-section p{margin-top:0}.recap-section h3{margin-bottom:var(--space-1)}.recap-section .muted{margin-bottom:var(--space-3);font-size:var(--text-sm)}.recap-section input,.recap-section select,.recap-section textarea{box-sizing:border-box}.recap-section textarea{width:100%;resize:vertical;font-family:inherit}.recap-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.recap-email-add,.recap-topic-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-3)}.recap-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-2-5)}.recap-topic{display:flex;align-items:flex-start;gap:var(--space-2);min-width:0;padding:var(--space-2-5);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}.recap-topic:has(input:checked){border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,var(--surface))}.recap-topic span{min-width:0}.recap-topic small{display:block;margin-top:var(--space-0-5);overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.recap-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.recap-copy{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1-5) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer}.recap-copy svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.recap-copy:hover{border-color:var(--brand);color:var(--brand)}.recap-recipients{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;border:none}.recap-recipients legend{width:100%;margin-bottom:var(--space-2);color:var(--muted);font-size:var(--text-xs)}.recap-recipients label{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);cursor:pointer}.recap-email-chips{margin-top:var(--space-2-5)}.recap-deliveries{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-3)}.recap-delivery-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--border)}.recap-delivery-row small{grid-column:1/-1}.recap-message{margin:0;padding:var(--space-3) var(--space-4) var(--space-4);color:var(--muted);font-size:var(--text-sm)}.recap-message.error{color:var(--danger)}@media (max-width:680px){.recap-dialog{width:100vw;max-width:none;max-height:100dvh;margin:auto 0 0}.recap-dialog,.recap-dialog-panel{border-radius:var(--radius-card) var(--radius-card) 0 0}.recap-dialog-panel{max-height:94dvh}.recap-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recap-actions .btn{flex:1 1 145px;justify-content:center}}@media (max-width:430px){.recap-email-add,.recap-topic-filters,.recap-topic-grid{grid-template-columns:1fr}.recap-section-heading{flex-direction:column}}html{text-size-adjust:100%}body{overflow-wrap:break-word}img,svg{max-width:100%}@media (max-width:768px){.container{padding:var(--space-4)}h1{font-size:24px}h2{font-size:18px}.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.wallet-tiers{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;flex:0 0 auto}}@media (max-width:640px){.nav{padding:var(--space-3) var(--space-4);flex-wrap:nowrap}.nav,.nav .row{gap:var(--space-2)}input,select,textarea{font-size:var(--text-lg)}.cart-bar,.cart-item,.dash-head,.wallet-summary-card,.wallet-txn{flex-direction:column;align-items:stretch}.cart-bar .btn,.wallet-summary-card .btn{width:100%;justify-content:center}.conn-indicators{width:100%}.conn-chip{flex:1 1 auto;justify-content:center}}@media (max-width:420px){.container{padding:var(--space-3)}.brand{font-size:var(--text-lg)}h1{font-size:22px}.container>.row{flex-wrap:wrap}.container>.row .btn{flex:1 1 auto;justify-content:center}.wallet-amount{font-size:var(--text-h1)}}.profile-avatar-row{display:flex;gap:var(--space-4);align-items:flex-start;margin:var(--space-3) 0 var(--space-4);flex-wrap:wrap}.profile-avatar-preview{width:84px;height:84px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.profile-avatar-preview img{width:100%;height:100%;object-fit:cover}.profile-avatar-fallback{font-size:var(--text-h1);font-weight:700;color:var(--muted)}.profile-avatar-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-2);max-width:420px}.avatar-choice{padding:0;border:2px solid transparent;border-radius:50%;background:none;cursor:pointer;overflow:hidden;aspect-ratio:1;transition:border-color .12s ease,transform .12s ease}.avatar-choice img{width:100%;height:100%;display:block}.avatar-choice:hover{transform:scale(1.06)}.avatar-choice.selected{border-color:var(--brand)}.profile-field{display:block;margin-top:var(--space-3)}.profile-field>span{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-1-5)}.profile-field input,.profile-field textarea{width:100%;box-sizing:border-box}.profile-field textarea{resize:vertical;font-family:inherit}.profile-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}@media (max-width:560px){.profile-grid-2{grid-template-columns:1fr}}.tag-input{display:flex;flex-wrap:wrap;gap:var(--space-1-5);padding:var(--space-1-5);border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.tag-input input{flex:1 1;min-width:120px;border:none;background:none;color:var(--text);outline:none;padding:var(--space-1)}.tag-row{display:flex;flex-wrap:wrap;margin-top:var(--space-2)}.tag-chip,.tag-row{gap:var(--space-1-5)}.tag-chip{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2-5);background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--text);border:1px solid color-mix(in srgb,var(--brand) 40%,transparent);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600}.tag-chip.static{background:var(--surface-2);border-color:var(--border)}.tag-chip button{border:none;background:none;color:var(--muted);cursor:pointer;font-size:var(--text-lg);line-height:1;padding:0}.tag-chip button:hover{color:var(--danger)}.social-row{display:flex;gap:var(--space-2-5);flex-wrap:wrap;margin-top:var(--space-2-5)}.social-link{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1-5) var(--space-3);border:1px solid var(--border);border-radius:8px;font-size:var(--text-sm);font-weight:600;color:var(--text);text-decoration:none}.social-link:hover{border-color:var(--brand)}.coach-card{display:block}.coach-card-head{display:flex;align-items:center;gap:var(--space-3)}.coach-card-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.coach-card-avatar.fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border);font-weight:700;color:var(--muted)}.coach-card-bio{margin:var(--space-2-5) 0 0;font-size:var(--text-sm);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.metrics{display:flex;flex-direction:column;gap:var(--space-5)}.metric-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.metric-stat{padding:var(--space-5)}.metric-stat-value{font-size:var(--text-h1);font-weight:700;letter-spacing:-.02em;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.metric-stat-label{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--muted)}.metric-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-5);gap:var(--space-5)}.metric-title{margin:0 0 var(--space-4);font-size:var(--text-lg);font-weight:600}.metric-bars{display:flex;align-items:flex-end;gap:var(--space-1-5);height:180px}.metric-bars.short{height:120px}.performance-filters{display:flex;flex-wrap:wrap;gap:var(--space-3)}.performance-filters>.field{flex:1 1 180px;min-width:0}.stat{flex:1 1 130px;min-width:130px}.stat-value{font-size:var(--text-h1);font-weight:700;line-height:1.1}.stat-value.hero{font-weight:750;line-height:1}.stat-note{font-size:var(--text-xs);margin-top:var(--space-0-5)}.compare-col{flex:1 1 250px;padding:var(--space-3);border-radius:var(--radius-sm)}.compare-col,.result-chip{background:var(--surface-2)}.result-chip{display:inline-block;border:1px solid var(--border);width:22px;height:22px;line-height:22px;text-align:center;font-size:var(--text-xs);font-weight:700;border-radius:var(--radius-xs);color:var(--muted)}.result-chip.won{background:var(--brand);color:var(--bg);border:none}.row.stretch{align-items:stretch}.metric-bar-col{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:var(--space-1-5)}.metric-bar{width:100%;min-height:2px;border-radius:6px 6px 0 0;background:var(--brand-gradient)}.metric-bar-label{font-size:var(--text-xs);color:var(--muted-2);white-space:nowrap}.metric-funnel{display:flex;flex-direction:column;gap:var(--space-3)}.metric-funnel-row{display:grid;grid-template-columns:150px 1fr 60px;align-items:center;grid-gap:var(--space-3);gap:var(--space-3)}.metric-funnel-name{font-size:var(--text-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-funnel-track{height:10px;background:var(--surface-2);border-radius:var(--radius-pill);overflow:hidden}.metric-funnel-fill{height:100%;min-width:2px;border-radius:var(--radius-pill);background:var(--brand-gradient)}.metric-funnel-count{font-size:var(--text-sm);font-weight:600;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-footer{font-size:var(--text-sm);margin:0}@media (max-width:720px){.metric-stats{grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:1fr}.metric-funnel-row{grid-template-columns:110px 1fr 48px}}.obs{display:flex;flex-direction:column;gap:var(--space-5)}.obs-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border);padding-bottom:0}.obs-tab-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-size:var(--text-md);font-weight:600;padding:var(--space-2-5) var(--space-3);cursor:pointer;transition:color .2s var(--ease)}.obs-tab-btn:hover{color:var(--text)}.obs-tab-btn-active{color:var(--text);border-bottom-color:var(--brand)}.obs-badge{background:var(--danger);color:#fff;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-1)}.obs-tab{display:flex;flex-direction:column;gap:var(--space-5)}.obs-filters{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.obs-filter-group{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:var(--space-1);gap:var(--space-0-5)}.obs-chip{background:none;border:none;color:var(--muted);font-size:var(--text-sm);font-weight:600;padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-pill);cursor:pointer;transition:color .2s var(--ease),background .2s var(--ease)}.obs-chip:hover{color:var(--text)}.obs-chip-active{background:var(--brand-gradient);color:var(--on-brand)}.obs-loading{font-size:var(--text-sm)}.retention-scroll{overflow-x:auto}.obs-table,.retention-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);white-space:nowrap}.obs-table td,.obs-table th,.retention-table td,.retention-table th{text-align:left;padding:var(--space-2) var(--space-2-5);border-bottom:1px solid var(--border);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.obs-table th,.retention-table th{color:var(--muted-2);font-size:var(--text-sm);font-weight:600}.retention-week{color:var(--muted)}.retention-size{font-weight:600}.retention-cell{display:inline-block;min-width:42px;text-align:center;padding:var(--space-1) var(--space-1-5);border-radius:6px;background:var(--brand);color:var(--on-brand);font-weight:600;font-size:var(--text-sm)}.retention-cell-empty{background:none;color:var(--muted-2);font-weight:400}.obs-strong{font-weight:700}.obs-pos{color:var(--success);font-weight:600}.obs-neg{color:var(--danger);font-weight:600}.obs-cost-form{display:flex;flex-direction:column;gap:var(--space-3)}.obs-cost-form label{display:flex;flex-direction:column;gap:var(--space-1-5);font-size:var(--text-sm);color:var(--muted)}.obs-cost-form .btn{align-self:flex-start}.obs-error{color:var(--danger);font-size:var(--text-sm);margin:0}.obs-cost-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2-5)}.obs-cost-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-md);border-bottom:1px solid var(--border);padding-bottom:var(--space-2-5)}.obs-cost-list li:last-child{border-bottom:none;padding-bottom:0}.obs-link-btn{background:none;border:none;color:var(--danger);font-size:var(--text-sm);font-weight:600;cursor:pointer;padding:0}.obs-incident,.obs-incidents{display:flex;flex-direction:column;gap:var(--space-3)}.obs-incident-head{display:flex;align-items:center;gap:var(--space-2-5);flex-wrap:wrap}.obs-sev,.obs-status{font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;border-radius:6px;padding:var(--space-1) var(--space-2)}.obs-sev-critical{background:rgba(255,93,93,.15);color:var(--danger)}.obs-sev-error{background:rgba(255,184,77,.15);color:var(--warning)}.obs-sev-warning{background:var(--surface-2);color:var(--muted)}.obs-status-open{background:rgba(255,93,93,.15);color:var(--danger)}.obs-status-acknowledged{background:rgba(255,184,77,.15);color:var(--warning)}.obs-status-resolved{background:rgba(70,211,105,.15);color:var(--success)}.obs-incident-title{background:none;border:none;color:var(--text);font-size:var(--text-md);font-weight:600;cursor:pointer;padding:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;flex:1 1;min-width:200px}.obs-incident-meta{font-size:var(--text-sm);color:var(--muted-2)}.obs-incident-body{display:flex;flex-direction:column;gap:var(--space-2)}.obs-incident-pre,.obs-incident-row{margin:0;font-size:var(--text-sm)}.obs-incident-pre{padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-input);white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto}.obs-incident-actions{display:flex;gap:var(--space-2-5)}.obs-incident-actions .btn{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.fleet-overall{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-md);font-weight:600}.fleet-dot{display:inline-block;width:10px;height:10px;border-radius:var(--radius-pill);flex-shrink:0;background:var(--muted-2)}.fleet-dot-up{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 20%,transparent)}.fleet-dot-degraded{background:var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 20%,transparent)}.fleet-dot-down{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 20%,transparent)}.fleet-dot-unknown{background:var(--muted-2)}.fleet-list{display:flex;flex-direction:column;gap:var(--space-0-5)}.fleet-row{display:grid;grid-template-columns:14px minmax(160px,1.4fr) 2fr auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-2-5) 0;border-bottom:1px solid var(--border)}.fleet-row:last-child{border-bottom:none}.fleet-name{font-size:var(--text-md);font-weight:600}.fleet-detail{font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--space-0-5);min-width:0}.fleet-facts{font-size:var(--text-sm);color:var(--muted-2)}.fleet-latency{font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;white-space:nowrap}.fleet-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.fleet-chip{font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-pill);border:1px solid var(--border)}.fleet-chip-on{background:rgba(70,211,105,.12);color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.fleet-chip-off{background:var(--surface-2);color:var(--muted-2)}@media (max-width:720px){.obs-tabs{overflow-x:auto}.fleet-row{grid-template-columns:14px 1fr auto;row-gap:var(--space-1)}.fleet-detail{grid-column:2/-1}}.legal{max-width:760px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-8)}.legal-head{margin-bottom:var(--space-8)}.legal-brand{display:inline-block;font-weight:700;font-size:var(--text-lg);color:var(--text);text-decoration:none;margin-bottom:var(--space-6)}.legal-brand span{color:var(--brand-2)}.legal-head h1{font-size:var(--text-h1);line-height:1.2;margin:0 0 var(--space-3)}.legal-updated{color:var(--muted-2);font-size:var(--text-sm);margin:0}.legal-body{color:var(--muted);font-size:var(--text-lg);line-height:1.7}.legal-body h2{color:var(--text);font-size:var(--text-h2);line-height:1.35;margin:var(--space-8) 0 var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--border)}.legal-body h3{color:var(--text);font-size:var(--text-lg);margin:var(--space-6) 0 var(--space-2)}.legal-body li,.legal-body p,.legal-body ul{margin:0 0 var(--space-4)}.legal-body ul{padding-left:var(--space-5)}.legal-body strong{color:var(--text);font-weight:600}.legal-body a{color:var(--brand)}.legal-table-wrap{overflow-x:auto;margin:0 0 var(--space-5);border:1px solid var(--border);border-radius:var(--radius-btn)}.legal-table{width:100%;border-collapse:collapse;font-size:var(--text-md);min-width:520px}.legal-table td,.legal-table th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:top}.legal-table th{color:var(--text);font-weight:600;background:var(--surface);white-space:nowrap}.legal-table tr:last-child td{border-bottom:none}.legal-note{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--radius-btn);padding:var(--space-5);margin:0 0 var(--space-5)}.legal-note p:last-child{margin-bottom:0}.legal-foot{display:flex;flex-wrap:wrap;gap:var(--space-5);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border);font-size:var(--text-sm)}.legal-foot a{color:var(--muted-2);text-decoration:none}.legal-foot a:hover{color:var(--text)}@media (max-width:640px){.legal{padding:var(--space-6) var(--space-4) var(--space-8)}.legal-head h1{font-size:24px}}.legal-inline{color:var(--muted-2);text-decoration:none}.legal-inline:hover{color:var(--text);text-decoration:underline}.setup-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid var(--danger);border-left-width:3px;border-radius:10px;padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);font-size:var(--text-md)}.setup-banner strong{display:block;color:var(--text);margin-bottom:var(--space-2)}.setup-banner ul{margin:0;padding-left:var(--space-5);color:var(--muted)}.setup-banner li{margin-bottom:var(--space-1)}.setup-banner-note{margin:var(--space-3) 0 0;color:var(--muted-2);font-size:var(--text-sm)}.setup-banner .btn{flex-shrink:0}.pref-list{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-4)}.pref-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.pref-row:last-child{border-bottom:none}.pref-copy{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.pref-copy strong{color:var(--text);font-size:var(--text-md)}.pref-copy span{font-size:var(--text-sm);line-height:1.5}.pref-switches{display:flex;gap:var(--space-4);flex-shrink:0;padding-top:var(--space-0-5)}.pref-switch{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pref-switch input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.pref-switch input:disabled{cursor:progress;opacity:.5}@media (max-width:640px){.pref-row{flex-direction:column;gap:var(--space-3)}.pref-switches{padding-top:0}}.heat-wrap{overflow-x:auto;padding-bottom:var(--space-1)}.heat{display:grid;grid-gap:var(--space-1);gap:var(--space-1);min-width:min-content}.heat-day,.heat-hour{font-size:var(--text-xs);color:var(--muted-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.heat-hour{text-align:center;padding-bottom:var(--space-0-5)}.heat-day{text-align:right;padding-right:var(--space-2);line-height:26px}.heat-cell{min-width:26px;height:26px;padding:0;border:none;border-radius:4px;cursor:pointer;background:var(--surface-2);transition:transform .12s var(--ease)}.heat-cell:focus-visible,.heat-cell:hover{transform:scale(1.12)}.heat-cell:focus-visible{outline:2px solid var(--text);outline-offset:1px}.heat-cell.idle{background:color-mix(in srgb,var(--warning) 12%,transparent);border:1px solid var(--warning)}.heat-legend{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3);font-size:var(--text-xs);color:var(--muted-2)}.heat-swatch{width:16px;height:16px;border-radius:4px;display:inline-block}.heat-swatch.idle{background:color-mix(in srgb,var(--warning) 12%,transparent);border:1px solid var(--warning)}.heat-readout{margin-top:var(--space-3);min-height:20px;font-size:var(--text-sm);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.club-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.club-row.bare,.club-row:last-child{border-bottom:none}.club-row.bare{padding:0}.list-item{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:none}.list-item.flagged{border-left:3px solid var(--brand);padding-left:var(--space-2-5)}.club-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}@media (max-width:720px){.heat-cell{min-width:22px;height:22px}.heat-day{line-height:22px}}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-h2{font-size:var(--text-h2)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-brand{color:var(--brand)}.text-muted-2{color:var(--muted-2)}.flush{margin:0}.flush-top{margin-top:0}.block{display:block}.nowrap{white-space:nowrap}.pointer{cursor:pointer}.caption-left{text-align:left;padding-bottom:var(--space-2);font-size:var(--text-sm)}.pre-block{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-input);padding:var(--space-4);font-size:var(--text-sm);white-space:pre-wrap;margin:0}.w-full{width:100%}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.stack.tight{gap:var(--space-2)}.stack.loose{gap:var(--space-5)}.row.between{justify-content:space-between}.row.top{align-items:flex-start}.row.tight{gap:var(--space-2)}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.btn.sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.btn.lg{padding:var(--space-4) var(--space-6);font-size:var(--text-lg)}.btn.block{width:100%;justify-content:center}.btn.block.start{justify-content:flex-start;text-align:left}.btn.ghost{background:transparent;color:var(--muted);border:1px solid transparent;box-shadow:none}.btn.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text);transform:none;box-shadow:none}.btn.danger-solid{background:var(--danger);color:var(--bg);border:1px solid var(--danger)}.btn.danger-solid:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,white);box-shadow:none}.btn.icon{padding:0;width:44px;height:44px;justify-content:center;flex-shrink:0}.btn.icon.sm{width:32px;height:32px}.btn[data-loading=true]{position:relative;color:transparent;pointer-events:none}.btn[data-loading=true]>*{visibility:hidden}.btn[data-loading=true]:after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;border-radius:var(--radius-pill);border:2px solid;border-top:2px solid transparent;color:var(--on-brand);animation:ui-spin .6s linear infinite}.btn.danger[data-loading=true]:after,.btn.ghost[data-loading=true]:after,.btn.secondary[data-loading=true]:after{color:var(--text)}@keyframes ui-spin{to{transform:rotate(1turn)}}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.card-head:last-child{margin-bottom:0}.card-head.center{align-items:center}.card-title{margin:0;font-size:var(--text-h2);font-weight:600;letter-spacing:-.02em}.card-sub{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--muted);line-height:1.5}.card-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.card.flat{box-shadow:none;background:transparent;border-color:transparent;padding:0}.card.accent{border-color:var(--brand)}.card.warn{border-color:var(--warning)}.link-btn{background:none;border:none;padding:0;color:var(--brand);cursor:pointer;font:inherit;text-decoration:underline}fieldset.plain{border:none;padding:0;margin:0}.input-short{width:96px}.input-short.wide{width:176px}.card.sunken,.choice-tile{background:var(--surface-2)}.choice-tile{padding:var(--space-2-5);cursor:pointer}.choice-tile.locked{cursor:default;opacity:.6}.pre-prose{white-space:pre-wrap;font-family:inherit;font-size:var(--text-md);margin:0}.disclosure>summary,.pre-prose.sm{font-size:var(--text-sm)}.disclosure>summary{color:var(--muted);cursor:pointer}.card-foot{margin-top:var(--space-4);border-top:1px solid var(--border);padding-top:var(--space-3)}.list-tight{margin:var(--space-2) 0 0;padding-left:var(--space-5);font-size:var(--text-sm)}.is-off{opacity:.5}.is-busy{opacity:.6}.list-plain{list-style:none;padding:0;margin:0}.input-group{display:flex;align-items:stretch;flex-wrap:nowrap}.input-prefix{display:inline-flex;align-items:center;padding:0 var(--space-2-5);background:var(--surface-2);border:1px solid var(--border);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);font-size:var(--text-sm);color:var(--muted);white-space:nowrap}.input-group>input{border-radius:0 var(--radius-sm) var(--radius-sm) 0;flex:1 1;min-width:0}.eyebrow{display:block;font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-2)}.field{display:block;margin-bottom:var(--space-4)}.field:last-child{margin-bottom:0}.field>.field-label{display:block;font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-1);font-weight:500}.field-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.field-row>*{flex:1 1 180px;min-width:0}.field-row>.field{margin-bottom:0}.field-row.top{align-items:flex-start}.field-row>.wide{flex:2 1 240px}.field-required{color:var(--danger);margin-left:var(--space-1)}.field>input,.field>select,.field>textarea{width:100%}.field-hint{display:block;color:var(--muted-2)}.field-error,.field-hint{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.5}.field-error{color:var(--danger)}.field.invalid>input,.field.invalid>select,.field.invalid>textarea{border-color:var(--danger)}.field.invalid>input:focus,.field.invalid>select:focus,.field.invalid>textarea:focus{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 15%,transparent)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-btn);border:1px solid var(--border);background:var(--surface-2);font-size:var(--text-sm);line-height:1.5;color:var(--text)}.alert+.alert{margin-top:var(--space-2)}.alert-icon{flex-shrink:0;line-height:1.5}.alert-body{min-width:0;flex:1 1}.alert-body>:first-child{margin-top:0}.alert-body>:last-child{margin-bottom:0}.alert.error{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.alert.success{border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success)}.alert.warning{border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning) 10%,transparent);color:var(--warning)}.alert.info{border-color:color-mix(in srgb,var(--info) 45%,var(--border));background:color-mix(in srgb,var(--info) 10%,transparent);color:var(--info)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);border:1px dashed var(--border);border-radius:var(--radius-card);color:var(--muted)}.empty.inline{padding:var(--space-6) var(--space-4);border-style:solid;background:var(--surface-2)}.empty-icon{color:var(--muted-2);line-height:0}.empty-title{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--text)}.empty-body{margin:0;font-size:var(--text-sm);color:var(--muted);max-width:46ch;line-height:1.6}.spinner{display:inline-block;width:16px;height:16px;border:2px solid;border-top:2px solid transparent;border-radius:var(--radius-pill);animation:ui-spin .6s linear infinite;flex-shrink:0}.spinner.lg{width:28px;height:28px;border-width:3px}.loading-row{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-7) var(--space-4);color:var(--muted);font-size:var(--text-sm)}.skeleton{display:block;border-radius:var(--radius-btn);background:linear-gradient(90deg,var(--surface-2) 25%,color-mix(in srgb,var(--surface-2) 60%,var(--border)) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:ui-shimmer 1.4s ease infinite}.skeleton+.skeleton{margin-top:var(--space-2)}@keyframes ui-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion:reduce){.btn[data-loading=true]:after,.skeleton,.spinner{animation-duration:.01ms;animation-iteration-count:1}.skeleton{background:var(--surface-2)}}.ui-dialog{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);color:var(--text);padding:0;width:min(460px,calc(100vw - var(--space-7)));box-shadow:var(--shadow-md)}.ui-dialog::-webkit-backdrop{background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ui-dialog::backdrop{background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ui-dialog-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.ui-dialog-title{margin:0;font-size:var(--text-h2);font-weight:600}.ui-dialog-text{margin:0;font-size:var(--text-md);color:var(--muted);line-height:1.6}.ui-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table td,.table th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);white-space:nowrap}.table th{color:var(--muted-2);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.table tr:last-child td{border-bottom:none}.table td.wrap,.table th.wrap{white-space:normal}.list-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.list-row:last-child{border-bottom:none}.badge.neutral{color:var(--muted);border-color:var(--border)}.badge.info{color:var(--info);border-color:var(--info)}.badge.solid{background:var(--brand-gradient);color:var(--on-brand);border-color:transparent}.tabs.scrollable{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.tabs.scrollable::-webkit-scrollbar{display:none}.tabs.scrollable .tab{flex-shrink:0}@media (pointer:coarse){.btn,.slot-btn,.tab{min-height:44px}.btn.sm{min-height:36px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-var(--space-0-5);overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:640px){.ui-dialog{width:calc(100vw - var(--space-5))}.ui-dialog-actions{flex-direction:column-reverse}.ui-dialog-actions .btn{width:100%;justify-content:center}.empty{padding:var(--space-7) var(--space-4)}.card-head{gap:var(--space-3)}}.note-prose{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:0}.note-actions,.note-topics{margin-top:var(--space-3)}.note-review{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.history-stack{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.history-stack h2,.history-stack h3,.history-stack p{margin:0}.history-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));grid-gap:var(--space-3);gap:var(--space-3)}.history-row{border-top:1px solid var(--border);padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.history-editor{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4)}.history-student-options{display:flex;flex-wrap:wrap;gap:var(--space-3);max-height:240px;overflow:auto}.history-student-options label{display:flex;align-items:center;gap:var(--space-2)}