:root{--court-ink-950:#071a2b;--court-ink-900:#102a43;--court-ink-700:#294a63;--slate-600:#52677a;--slate-200:#d9e2ec;--cloud-50:#f6f8fb;--white:#fff;--beam-mint-500:#22d3a5;--beam-mint-700:#087a60;--danger-700:#b42318}*{box-sizing:border-box}body,html{background:var(--cloud-50)}body{margin:0;color:var(--court-ink-900);font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:500;line-height:1.5}a{color:inherit;text-decoration:none}.app-shell{max-width:1264px;margin:0 auto;padding:24px 32px 64px}.topbar{display:flex;align-items:center;gap:40px;min-height:52px}.topbar nav{display:flex;gap:24px;margin-right:auto}.topbar nav a{font-size:14px;color:var(--slate-600)}.topbar nav a:first-child{color:var(--court-ink-900);font-weight:700}.avatar{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--slate-200);border-radius:50%;font-size:11px;font-weight:800}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;border-top:1px solid var(--slate-200);margin-top:24px;padding:56px 0 40px}.eyebrow{margin:0 0 10px;color:var(--beam-mint-700);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.empty-state h2,.page-header h1,.state-page h1{margin:0;letter-spacing:-.035em;line-height:1.15}.page-header h1{font-size:clamp(32px,4vw,46px);max-width:670px}.page-header>div>p:last-child{max-width:570px;margin:16px 0 0;color:var(--slate-600)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 16px;border:1px solid transparent;border-radius:8px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s ease,background .15s ease}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--beam-mint-500);outline-offset:3px}.button-primary{background:var(--court-ink-900);color:var(--white)}.button-dark:hover,.button-primary:hover{background:var(--court-ink-700);transform:translateY(-1px)}.button-dark{background:var(--court-ink-950);color:var(--white)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:16px;gap:16px;margin:0 0 24px}.metric{min-height:168px;padding:20px;border:1px solid var(--slate-200);border-radius:12px;background:var(--white)}.metric p{margin:0;color:var(--slate-600);font-size:14px}.metric strong{display:block;margin:27px 0 8px;font-size:32px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.035em;line-height:1}.metric span{color:var(--slate-600);font-size:12px}.empty-state{padding:40px;max-width:780px;border:1px solid #a9ebd8;border-radius:12px;background:linear-gradient(135deg,#edfffa,#fff 70%)}.empty-state h2{font-size:28px}.empty-state>p:not(.eyebrow){max-width:600px;margin:12px 0 24px;color:var(--court-ink-700)}.state-page{max-width:560px;margin:10vh auto;padding:32px}.state-page p{color:var(--slate-600)}.field{display:grid;grid-gap:6px;gap:6px;font-size:14px;font-weight:700}.field small{font-weight:500;color:var(--slate-600)}.field small[role=alert]{color:var(--danger-700)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (max-width:720px){.app-shell{padding:16px 18px 40px}.topbar{gap:16px}.topbar nav{display:none}.page-header{align-items:flex-start;flex-direction:column;padding:40px 0 28px}.metric-grid{grid-template-columns:repeat(2,1fr);gap:12px}.metric{min-height:154px;padding:16px}.metric strong{font-size:28px}.empty-state{padding:28px 24px}}@media (max-width:420px){.metric-grid{grid-template-columns:1fr}.button{width:100%}}.login-page{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);grid-gap:clamp(48px,10vw,160px);gap:clamp(48px,10vw,160px);align-items:center;max-width:1120px;min-height:100vh;margin:auto;padding:48px 32px}.login-brand h1{max-width:620px;margin:24px 0 16px;font-size:clamp(38px,5vw,56px);letter-spacing:-.045em;line-height:1.08}.login-brand>p:last-child{max-width:470px;color:var(--slate-600)}.login-card{padding:32px;border:1px solid var(--slate-200);border-radius:12px;background:var(--white)}.login-card h2{margin:0 0 28px;font-size:22px;letter-spacing:-.025em}.sign-in-form{display:grid;grid-gap:18px;gap:18px}.action-row select,.field input,.field select,.field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--slate-200);border-radius:8px;color:var(--court-ink-900);font:inherit;font-weight:500}.field textarea{min-height:96px;resize:vertical}.action-row select:disabled,.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--cloud-50);cursor:not-allowed}.button-secondary{border-color:var(--slate-200);background:var(--white);color:var(--court-ink-900)}.workspace-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:18px}.dashboard-grid,.workspace-grid{display:grid;gap:18px;margin:0 0 24px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:18px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.surface{padding:28px;border:1px solid var(--slate-200);border-radius:8px;background:var(--white)}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.surface-subsection{padding:16px;border:1px solid var(--slate-200);border-radius:10px;background:var(--cloud-50)}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px}.check-card{display:flex;gap:10px;align-items:center;min-height:44px;padding:10px 12px;border:1px solid var(--slate-200);border-radius:10px;background:var(--white);color:var(--court-ink-900);font-size:14px;font-weight:700}.check-card input{width:16px;height:16px;accent-color:var(--court-ink-900)}.surface h2{margin:0 0 18px;font-size:22px;letter-spacing:0}.surface>p:not(.eyebrow){margin:0 0 18px;color:var(--slate-600)}.csv-box{width:100%;min-height:180px;margin:0 0 16px;padding:12px;border:1px solid var(--slate-200);border-radius:8px;font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.action-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.report-strip{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin:18px 0 0}.report-strip div{min-width:0;padding:12px;border:1px solid var(--slate-200);border-radius:8px;background:var(--cloud-50)}.report-strip dt{color:var(--slate-600);font-size:12px}.report-strip dd{overflow:hidden;margin:2px 0 0;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.directory-toolbar{display:flex;align-items:flex-end;gap:12px;margin:0 0 18px}.directory-toolbar .field{min-width:min(420px,100%)}.player-card{display:flex;flex-direction:column;gap:14px}.player-card strong{margin:12px 0 0;font-size:24px;line-height:1.1}.player-card .action-row{margin-top:auto}.consent-shell{max-width:1040px}.waiver-copy,.waiver-review{margin:0 0 18px}.waiver-copy{max-height:320px;overflow:auto;padding:18px;border:1px solid var(--slate-200);border-radius:8px;background:var(--cloud-50);color:var(--court-ink-700);white-space:pre-wrap}.stack-list{display:grid;grid-gap:12px;gap:12px}.stack-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--slate-200)}.stack-row span{color:var(--court-ink-700);font-size:14px}.list-row{display:flex;justify-content:space-between;gap:16px;align-items:center;width:100%;padding:14px;border:1px solid var(--slate-200);border-radius:10px;background:var(--white);color:inherit;font:inherit;text-align:left}.list-row small,.list-row strong{display:block}.list-row small{margin-top:4px;color:var(--slate-600);font-size:13px}button.list-row{cursor:pointer}button.list-row:hover{border-color:var(--court-ink-700);box-shadow:0 10px 24px rgba(15,23,42,.08)}.text-button{justify-self:start;padding:0;border:0;background:none;color:var(--info-600,#1d4ed8);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.or{display:flex;align-items:center;gap:12px;color:var(--slate-600);font-size:12px}.or:after,.or:before{content:"";flex:1 1;border-top:1px solid var(--slate-200)}.form-message{margin:0;color:var(--slate-600);font-size:14px}.portal-shell{--portal-accent:var(--beam-mint-500);--portal-ink:var(--court-ink-900);max-width:1080px;min-height:100vh;margin:0 auto;padding:18px 18px 56px}.portal-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--portal-accent) 20%,#d9e2ec);background:color-mix(in srgb,var(--cloud-50) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.portal-brand{display:inline-flex;align-items:center;gap:10px;color:var(--portal-ink);font-weight:900}.portal-header nav{display:flex;gap:12px;color:var(--court-ink-700);font-size:14px;font-weight:800}.portal-hero{display:grid;grid-gap:18px;gap:18px;margin:28px 0 18px;padding:clamp(28px,8vw,72px);border:1px solid color-mix(in srgb,var(--portal-accent) 35%,#d9e2ec);border-radius:28px;background:radial-gradient(circle at 85% 20%,color-mix(in srgb,var(--portal-accent) 28%,transparent),transparent 34%),linear-gradient(135deg,#fff,#f6f8fb 72%)}.portal-flow h1,.portal-hero h1,.portal-state h1{max-width:760px;margin:0;color:var(--portal-ink);font-size:clamp(40px,11vw,86px);letter-spacing:-.07em;line-height:.95}.portal-card p,.portal-flow>div>p,.portal-hero>p:not(.eyebrow),.portal-review p,.portal-state p{max-width:650px;margin:0;color:var(--slate-600)}.portal-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.portal-card,.portal-review,.portal-state{padding:22px;border:1px solid var(--slate-200);border-radius:18px;background:var(--white)}.portal-card h2,.portal-review h2{margin:0 0 10px;color:var(--portal-ink);font-size:24px;letter-spacing:-.035em}.portal-flow{display:grid;grid-gap:18px;gap:18px;max-width:860px;margin:34px auto 0}.portal-picker{display:grid;grid-template-columns:1fr 180px;grid-gap:12px;gap:12px}.portal-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));grid-gap:10px;gap:10px}.portal-review{display:grid;grid-gap:16px;gap:16px;border-color:color-mix(in srgb,var(--portal-accent) 45%,#d9e2ec);box-shadow:0 22px 50px rgb(16 42 67/8%)}.portal-state{max-width:560px;margin:18vh auto 0}.portal-card.sign-in-form{gap:14px}.portal-card .waiver-copy{margin-top:12px}.policy-note{display:grid;grid-gap:2px;gap:2px;padding:12px;border:1px solid var(--slate-200);border-radius:12px;background:var(--cloud-50)}.policy-note small,.policy-note span{color:var(--slate-600)}.checkbox-row{display:flex;align-items:flex-start;gap:10px;color:var(--court-ink-700);font-size:14px;font-weight:700}.checkbox-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--portal-accent)}.calendar-workspace{grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr)}.calendar-form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.calendar-columns{display:grid;grid-gap:14px;gap:14px}.calendar-column{padding:14px;border:1px solid var(--slate-200);border-radius:10px;background:var(--cloud-50)}.calendar-column h3{margin:0 0 12px;font-size:16px}.calendar-booking{display:grid;grid-gap:14px;gap:14px;padding:16px;border:1px solid var(--slate-200);border-left:4px solid var(--beam-mint-500);border-radius:10px;background:var(--white)}.calendar-booking-cancelled{border-left-color:var(--danger-700);opacity:.72}.calendar-booking strong{display:block;margin:0 0 4px;font-size:16px}.calendar-booking p{margin:0 0 6px;color:var(--court-ink-700)}.calendar-booking span{color:var(--slate-600);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}@media (max-width:760px){.portal-shell{padding:12px 14px 44px}.portal-header{align-items:flex-start;flex-direction:column}.portal-header nav{width:100%;justify-content:space-between}.portal-card-grid,.portal-picker{grid-template-columns:1fr}.portal-card,.portal-review,.portal-state{padding:18px;border-radius:16px}.calendar-form-row,.workspace-grid{grid-template-columns:1fr}.directory-toolbar{align-items:stretch;flex-direction:column}.login-page{grid-template-columns:1fr;gap:32px;align-items:start;min-height:auto;padding:32px 20px 48px}.login-brand h1{font-size:38px}.login-card{padding:24px}}