:root{color-scheme:dark;--ink:#f6f4ef;--muted:#a9ada8;--line:#303532;--panel:#171a18;--acid:#c8ff32;--danger:#ff7a72;--bg:#0d0f0e;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(circle at 80% 0,#203027 0,transparent 34rem),var(--bg);color:var(--ink);min-height:100vh}.topbar{display:flex;justify-content:space-between;gap:2rem;align-items:flex-end;padding:2rem clamp(1rem,5vw,5rem);border-bottom:1px solid var(--line)}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.8rem,4vw,3.8rem);letter-spacing:-.05em;line-height:.95;max-width:13ch}h2{font-size:clamp(1.35rem,2.5vw,2rem);letter-spacing:-.035em}h3{font-size:1rem}.eyebrow,.kicker{font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--acid);margin-bottom:.55rem}.badges{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.badges span{border:1px solid #4b5a52;border-radius:999px;padding:.42rem .65rem;font-size:.68rem;font-weight:750;color:#d9e1dc}main{width:min(1180px,calc(100% - 2rem));margin:2rem auto 5rem}.panel{background:color-mix(in srgb,var(--panel) 95%,transparent);border:1px solid var(--line);border-radius:1.1rem;padding:clamp(1rem,3vw,2rem);box-shadow:0 20px 80px #0004}.auth-panel{max-width:430px;margin:7vh auto}.auth-panel h2{margin-bottom:1.2rem}form{display:grid;gap:1rem}label{display:grid;gap:.4rem;font-size:.78rem;color:var(--muted);font-weight:650}input,select{width:100%;border:1px solid #3b403d;border-radius:.7rem;background:#0e100f;color:var(--ink);padding:.78rem;font:inherit}button{appearance:none;border:0;border-radius:.7rem;background:var(--acid);color:#0b0d0c;font-weight:800;padding:.78rem 1rem;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.48;cursor:not-allowed}.secondary{background:#282e2a;color:var(--ink)}.quiet{background:transparent;color:var(--muted)}.session-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.session-bar>div{display:flex;align-items:center;gap:.7rem}.session-bar strong{display:block}.muted{color:var(--muted);font-size:.78rem}.hero{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1rem}.hero>p{max-width:45ch;color:var(--muted);line-height:1.6}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.class-card{border:1px solid var(--line);border-radius:1rem;background:#121513;padding:1.15rem;display:grid;gap:1rem}.class-card header{display:flex;justify-content:space-between;gap:.8rem}.class-card h3{font-size:1.15rem}.class-card .time{color:var(--muted);font-size:.83rem;margin-top:.3rem}.availability{font-size:.75rem;border:1px solid #405046;border-radius:999px;padding:.3rem .5rem;height:max-content;white-space:nowrap}.availability.full{color:#ffd99c;border-color:#66532f}.facts{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.fact{background:#0d100e;border-radius:.7rem;padding:.7rem}.fact strong,.fact span{display:block}.fact span{font-size:.7rem;color:var(--muted);margin-top:.25rem}.booking-actions{display:grid;grid-template-columns:1fr auto;gap:.7rem}.booking-actions select{min-width:5rem}.reserved{color:var(--acid);font-size:.86rem;font-weight:750}.section-gap{margin-top:1rem}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.session-picker{min-width:260px}.activity-list,.roster,.stack{display:grid;gap:.65rem}.activity-row,.roster-row,.ops-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;border-top:1px solid var(--line);padding-top:.75rem}.activity-row:first-child,.roster-row:first-child,.ops-row:first-child{border-top:0}.activity-row p,.roster-row p,.ops-row p{color:var(--muted);font-size:.8rem;margin-top:.25rem}.status{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--acid)}.danger{background:#3b211f;color:#ffb6b1}.empty{color:var(--muted);padding:1rem 0}.ops-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:1.5rem}.dense-form,.compact-form{border:1px solid var(--line);border-radius:.9rem;padding:1rem;background:#111412;height:max-content}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.check-label{display:flex;align-items:center;gap:.55rem}.check-label input{width:auto}.dense-form details{border:1px solid var(--line);border-radius:.7rem;padding:.7rem}.dense-form summary{cursor:pointer;color:var(--muted);font-size:.8rem}.dense-form details .form-pair{margin-top:.75rem}.inline-form{grid-template-columns:1fr auto;align-items:end}.inline-form button{height:max-content}.ops-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.ops-actions button{padding:.55rem .7rem;font-size:.75rem}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.health-card{background:#0e110f;border:1px solid var(--line);border-radius:.8rem;padding:.9rem}.health-card h3{text-transform:capitalize;margin-bottom:.65rem}.metric{display:flex;justify-content:space-between;gap:.6rem;color:var(--muted);font-size:.78rem;padding:.2rem 0}.metric strong{color:var(--ink)}dialog{width:min(520px,calc(100% - 2rem));border:1px solid var(--line);border-radius:1rem;background:#121513;color:var(--ink);padding:0;box-shadow:0 24px 90px #000b}dialog::backdrop{background:#050706cc;backdrop-filter:blur(3px)}.action-form{padding:1.25rem}.dialog-copy{color:var(--muted);font-size:.88rem;line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:.65rem}.dialog-actions button{min-width:8rem}.check-in-code{display:block;font:700 .95rem/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em;color:var(--acid);word-break:break-all;grid-column:1/-1;background:#0e120f;border:1px solid #405046;border-radius:.6rem;padding:.55rem}#toast{position:fixed;right:1rem;bottom:1rem;max-width:min(420px,calc(100% - 2rem));background:#e9eee9;color:#121412;padding:.85rem 1rem;border-radius:.7rem;box-shadow:0 10px 45px #0008;transform:translateY(150%);transition:transform .2s;z-index:20}#toast.show{transform:translateY(0)}#toast.error{background:var(--danger);color:#190403}@media(max-width:780px){.topbar,.hero,.section-heading{align-items:flex-start;flex-direction:column}.badges{justify-content:flex-start}.session-bar{align-items:flex-start}.activity-row,.roster-row,.ops-row{grid-template-columns:1fr auto}.activity-row button,.roster-row button{grid-column:1/-1}.booking-actions,.ops-layout,.form-pair,.inline-form{grid-template-columns:1fr}.session-picker{min-width:100%}.ops-actions{grid-column:1/-1;justify-content:flex-start}}