: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;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{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}.setup-checklist{margin:0 0 24px;padding:24px;border:1px solid var(--slate-200);border-radius:12px;background:var(--white)}.setup-checklist-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--slate-200)}.setup-checklist-header h2{margin:0;letter-spacing:-.025em}.setup-checklist-header p:last-child{margin:6px 0 0;color:var(--slate-600);font-size:14px}.setup-checklist-list{display:grid;grid-gap:2px;gap:2px;margin-top:10px}.setup-checklist-item{display:grid;grid-template-columns:28px 1fr auto;align-items:center;grid-gap:12px;gap:12px;min-height:64px;padding:10px 0}.setup-checklist-item p{margin:2px 0 0;color:var(--slate-600);font-size:13px}.setup-checklist-mark{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--slate-200);border-radius:50%;color:var(--slate-600);font-weight:800}.setup-checklist-item.is-complete .setup-checklist-mark{border-color:#a9ebd8;background:#edfffa;color:var(--beam-mint-700)}.portal-preview-frame{display:block;width:min(100%,430px);height:700px;margin-top:24px;border:1px solid var(--slate-200);border-radius:16px;background:var(--cloud-50)}.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}.setup-checklist{padding:20px}.setup-checklist-header{flex-direction:column}.setup-checklist-header .button{width:100%}.setup-checklist-item{grid-template-columns:28px 1fr}.setup-checklist-item .text-button{grid-column:2;justify-self:start}}:root{--court-ink-950:#081c2d;--court-ink-900:#102b43;--court-ink-700:#345269;--slate-600:#607386;--slate-300:#c4d0da;--slate-200:#e1e8ee;--cloud-50:#f7fafc;--beam-mint-500:#21cfa3;--beam-mint-700:#08785e;--surface-shadow:0 16px 40px rgb(16 43 67/6%)}body{color:var(--court-ink-900);background:radial-gradient(circle at 10% -10%,rgb(33 207 163/7%),transparent 30rem),var(--cloud-50);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app-shell{max-width:1320px;padding:30px 40px 72px}.page-header{margin-top:18px;padding:48px 0 34px;border-top:0}.page-header h1{font-size:clamp(34px,4.2vw,52px);letter-spacing:-.055em}.eyebrow{margin-bottom:12px;font-size:11px;font-weight:800;letter-spacing:.1em}.button{min-height:46px;padding:11px 17px;border-radius:10px;box-shadow:inset 0 1px 0 rgb(255 255 255/12%);transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.button-dark,.button-primary{background:var(--court-ink-900);box-shadow:0 8px 18px rgb(16 43 67/12%)}.button-dark:hover,.button-primary:hover{background:var(--court-ink-700);box-shadow:0 12px 24px rgb(16 43 67/16%)}.button-secondary:hover{border-color:var(--slate-300);background:#fbfdfe;transform:translateY(-1px)}.dashboard-grid,.metric-grid,.workspace-grid{gap:16px}.login-card,.metric,.portal-availability-panel,.portal-card,.portal-review,.portal-selection-empty,.portal-state,.setup-checklist,.surface{border-color:var(--slate-200);border-radius:16px;box-shadow:var(--surface-shadow)}.metric{min-height:154px}.metric strong{margin-top:24px;font-size:30px}.surface{padding:26px}.section-heading{align-items:center}.action-row select,.field input,.field select,.field textarea{min-height:48px;border-color:var(--slate-200);border-radius:10px;background:var(--white);transition:border-color .15s ease,box-shadow .15s ease}.action-row select:hover,.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--slate-300)}.action-row select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--beam-mint-700);box-shadow:0 0 0 4px rgb(33 207 163/13%);outline:0}.login-page{position:relative;grid-template-columns:minmax(0,1fr) minmax(390px,460px);gap:clamp(56px,9vw,150px);max-width:1180px;padding:56px 40px}.login-brand>[role=img]{margin-bottom:24px}.login-brand h1{max-width:680px;margin:0 0 20px;color:var(--court-ink-950);font-size:clamp(42px,5.2vw,68px);font-weight:800;letter-spacing:-.07em;line-height:.99}.login-brand>p:last-child{max-width:540px;margin:0;font-size:17px;line-height:1.6}.login-card{padding:34px;border-radius:20px;background:rgb(255 255 255/96%);box-shadow:0 24px 64px rgb(16 43 67/10%)}.login-card h2{margin:0;font-size:25px;letter-spacing:-.045em}.start-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.start-card-heading .eyebrow{margin-bottom:8px}.start-card-badge{flex:0 0 auto;padding:7px 9px;border:1px solid #a9ebd8;border-radius:999px;background:#edfffa;color:var(--beam-mint-700);font-size:11px;font-weight:800}.start-card-lead{margin:12px 0 24px;color:var(--slate-600);line-height:1.55}.self-serve-proof{gap:10px;margin-top:28px}.self-serve-proof span{padding:8px 11px;font-size:11px;letter-spacing:.01em}.self-serve-page .sign-in-form{gap:16px}.self-serve-page .sign-in-form .button,.self-serve-page>.login-card>.button{width:100%}.self-serve-page .or{margin:4px 0}.self-serve-link-sent{margin-top:4px;border-radius:14px}.self-serve-staff-link{margin-top:26px;line-height:1.5}.text-button{color:var(--beam-mint-700);text-decoration:underline;-webkit-text-decoration-color:rgb(8 120 94/25%);text-decoration-color:rgb(8 120 94/25%);text-underline-offset:3px}.or{font-size:11px;font-weight:700}.public-pricing{max-width:1120px;padding:28px 40px 84px}.public-pricing-header{min-height:44px}.public-pricing-hero{max-width:920px;margin-top:12vh}.public-pricing-hero h1{font-size:clamp(46px,7vw,76px);letter-spacing:-.075em}.public-pricing-hero .self-serve-plans{gap:14px}.self-serve-plan{min-height:190px;padding:18px;border-radius:14px;box-shadow:0 8px 20px rgb(16 43 67/4%)}.self-serve-plan.is-selected,.self-serve-plan:hover{box-shadow:0 0 0 4px rgb(33 207 163/11%)}.self-serve-plan:not(button){cursor:default}.admin-shell{grid-template-columns:264px minmax(0,1fr);background:#f7fafc}.admin-sidebar{padding:26px 18px 20px;border-right-color:var(--slate-200);background:#fff}.admin-sidebar-brand{padding:2px 10px 24px;border-bottom-color:var(--slate-200)}.admin-sidebar nav{gap:26px;margin-top:28px}.admin-nav-group a{min-height:40px;padding:9px 11px;border-radius:9px}.admin-player-link{border-radius:10px}.overview-next-step{margin-bottom:20px;padding:26px;box-shadow:var(--surface-shadow)}.setup-checklist{padding:26px}.portal-shell{max-width:1180px;padding:18px 24px 64px}.portal-header{padding:14px 0}.portal-header nav{gap:18px}.portal-header nav a{padding:8px 0;border-bottom:2px solid transparent}.portal-header nav a:focus-visible,.portal-header nav a:hover{border-bottom-color:var(--beam-mint-500)}.portal-hero{gap:20px;margin-top:32px;padding:clamp(30px,6vw,70px);border-radius:24px;box-shadow:var(--surface-shadow)}.portal-flow h1,.portal-hero h1,.portal-state h1{font-size:clamp(40px,7vw,76px);letter-spacing:-.075em}.portal-card-grid{gap:16px}.portal-availability-panel,.portal-card,.portal-review,.portal-selection-empty,.portal-state{padding:26px}.portal-card h2,.portal-review h2{font-size:23px}.portal-booking-layout{gap:20px}.portal-review{top:18px}.onboarding{width:min(760px,calc(100% - 40px));margin:0 auto;padding:68px 0 80px}.onboarding>header{max-width:650px;margin-bottom:28px}.onboarding>header h1{margin:0;color:var(--court-ink-950);font-size:clamp(36px,6vw,58px);letter-spacing:-.065em;line-height:1}.onboarding>header>p:last-child{max-width:560px;margin:16px 0 0;color:var(--slate-600);font-size:17px}.onboard-form,.portal-preview{display:grid;grid-gap:18px;gap:18px;padding:28px;border:1px solid var(--slate-200);border-radius:18px;background:var(--white);box-shadow:var(--surface-shadow)}.portal-preview h2{margin:0;font-size:26px;letter-spacing:-.045em}.portal-preview p:not(.eyebrow){margin:0;color:var(--slate-600)}.onboarding>footer{display:flex;justify-content:space-between;gap:16px;margin-top:18px}@media (max-width:760px){.app-shell{padding:22px 18px 48px}.page-header{padding:36px 0 26px}.login-page{gap:36px;padding:34px 20px 52px}.login-brand h1{font-size:clamp(42px,12vw,58px)}.login-card{padding:26px 22px}.start-card-heading{align-items:flex-start}.public-pricing{padding:20px 18px 52px}.public-pricing-hero{margin-top:64px}.admin-mobile-header{min-height:68px;padding:12px 18px}.portal-shell{padding-inline:16px}.portal-availability-panel,.portal-card,.portal-review,.portal-selection-empty,.portal-state{padding:20px}.onboarding{width:min(100% - 36px,760px);padding:42px 0 54px}.onboard-form,.portal-preview{padding:22px 18px}}@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);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}.self-serve-page .login-brand>p:last-child{font-size:17px;line-height:1.55}.self-serve-proof{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.self-serve-proof span{padding:7px 10px;border:1px solid #9ce8d3;border-radius:999px;background:#edfffa;color:var(--beam-mint-700);font-size:12px;font-weight:800}.self-serve-plans{display:grid;grid-gap:10px;gap:10px;margin:0 0 14px}.self-serve-plan{display:grid;grid-gap:4px;gap:4px;width:100%;padding:14px;border:1px solid var(--slate-200);border-radius:10px;background:var(--white);color:var(--court-ink-900);font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.self-serve-plan.is-selected,.self-serve-plan:hover{border-color:var(--beam-mint-500);background:#f4fffc;box-shadow:0 0 0 3px rgba(34,211,165,.13)}.self-serve-plan>span:not(.self-serve-plan-heading){color:var(--slate-600);font-size:12px}.self-serve-plan-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px}.self-serve-plan-heading small{color:var(--beam-mint-700);font-size:11px;font-weight:800}.self-serve-plan-price{font-size:20px;font-weight:900;letter-spacing:-.03em}.self-serve-link-sent{display:grid;grid-gap:10px;gap:10px;padding:16px;border:1px solid #9ce8d3;border-radius:10px;background:#edfffa}.self-serve-link-sent h3{margin:0;font-size:18px}.self-serve-link-sent p,.self-serve-staff-link{margin:0;color:var(--slate-600);font-size:13px}.self-serve-staff-link{text-align:center}.self-serve-staff-link a{color:var(--court-ink-900);font-weight:800}.self-serve-trial-note{margin:0 0 24px;padding:20px 24px;border:1px solid #9ce8d3;border-radius:12px;background:#edfffa}.self-serve-trial-note h2{margin:0;font-size:22px}.self-serve-trial-note p:last-child{margin:6px 0 0;color:var(--slate-600)}.public-pricing{max-width:1040px;min-height:100vh;margin:0 auto;padding:24px 28px 72px}.public-pricing-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.public-pricing-hero{max-width:820px;margin:10vh auto 0;text-align:center}.public-pricing-hero h1{margin:18px 0 14px;font-size:clamp(42px,7vw,72px);letter-spacing:-.06em}.public-pricing-hero>p:not(.eyebrow){max-width:620px;margin:0 auto 28px;color:var(--slate-600);font-size:17px;line-height:1.55}.public-pricing-hero .self-serve-plans{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 18px;text-align:left}.public-pricing-note{max-width:700px;margin:0 auto 24px!important;font-size:13px!important}.public-pricing-hero>.button{min-width:150px}.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-brand-copy{display:grid;grid-gap:1px;gap:1px}.portal-brand-copy strong{font-size:14px;line-height:1.2}.portal-brand-copy small{color:var(--slate-600);font-size:11px;line-height:1.2}.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-account-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.portal-account-header>div>p:last-child{margin:12px 0 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-week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));grid-gap:12px;gap:12px;overflow-x:auto}.calendar-week-grid .calendar-column{min-width:150px}.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}.portal-account-header{align-items:flex-start;flex-direction:column}.portal-account-header .button{width:100%}.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}}:root{--rally-coral-500:#ff6b4a;--rally-coral-700:#b93d27;--info-600:#1d4ed8;--warning-700:#a85400}.admin-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.admin-sidebar{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;min-height:100vh;padding:24px 16px 18px;border-right:1px solid var(--slate-200);background:var(--white)}.admin-sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 10px 28px;border-bottom:1px solid var(--slate-200)}.admin-workspace-switcher{display:grid;grid-gap:6px;gap:6px;margin:16px 10px 0;color:var(--slate-600);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-workspace-switcher select{width:100%;min-width:0;padding:8px 9px;border:1px solid var(--slate-200);border-radius:7px;background:var(--white);color:var(--court-ink-900);font-size:12px;font-weight:700;letter-spacing:normal;text-transform:none}.admin-workspace-error{display:grid;grid-gap:7px;gap:7px;margin:14px 10px 0;padding:10px;border:1px solid #f0c7c7;border-radius:7px;background:#fff8f8;color:#8b2c2c;font-size:11px;line-height:1.35}.admin-workspace-error button{justify-self:start;padding:0;border:0;background:transparent;color:inherit;font-size:11px;font-weight:800;text-decoration:underline}.admin-account-link,.admin-player-link,.admin-sidebar-brand-copy,.admin-sidebar-footer{display:flex}.admin-sidebar-brand-copy{flex-direction:column;min-width:0}.admin-account-link strong,.admin-player-link strong,.admin-sidebar-brand-copy strong{font-size:13px;line-height:1.25}.admin-account-link small,.admin-player-link small,.admin-sidebar-brand-copy small{margin-top:3px;color:var(--slate-600);font-size:11px}.admin-sidebar nav{display:grid;grid-gap:23px;gap:23px;margin-top:27px}.admin-nav-group{display:grid;grid-gap:3px;gap:3px}.admin-nav-group>p{margin:0 10px 7px;color:var(--slate-600);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.admin-nav-group a{display:flex;align-items:center;gap:10px;min-height:38px;padding:8px 10px;border-radius:7px;color:var(--slate-600);font-size:13px;font-weight:700;transition:background .15s ease,color .15s ease}.admin-nav-group a:hover{background:var(--cloud-50);color:var(--court-ink-900)}.admin-nav-group a.is-active{background:#edfffa;color:var(--beam-mint-700)}.admin-nav-icon{flex:0 0 auto;color:currentColor}.admin-sidebar-footer{display:grid;grid-gap:8px;gap:8px;margin-top:auto;padding-top:18px;border-top:1px solid var(--slate-200)}.admin-account-link,.admin-player-link{align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:8px}.admin-account-link>span:last-child,.admin-player-link>span:first-child{display:flex;flex-direction:column;min-width:0;gap:3px}.admin-player-link>svg{flex:0 0 auto}.admin-player-link{background:var(--court-ink-900);color:var(--white)}.admin-player-link small{margin-top:0;color:#b7d1df}.admin-account-link small{margin-top:0}.admin-player-link:hover{background:var(--court-ink-700)}.admin-account-link{justify-content:flex-start;color:var(--court-ink-900)}.admin-account-link:hover{background:var(--cloud-50)}.admin-account-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--slate-200);color:var(--court-ink-700);font-size:10px;font-weight:800}.admin-content{min-width:0}.admin-content>.app-shell{max-width:1220px}.admin-mobile-header{display:none}.overview-next-step{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 24px;padding:24px;border:1px solid #9ce8d3;border-radius:12px;background:linear-gradient(105deg,#edfffa 0,var(--white) 78%)}.overview-next-step h2{margin:0;font-size:22px;letter-spacing:-.035em}.overview-next-step p:last-child{max-width:640px;margin:6px 0 0;color:var(--slate-600);font-size:14px}.portal-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.74fr);grid-gap:18px;gap:18px}.portal-availability-panel,.portal-selection-empty{padding:22px;border:1px solid var(--slate-200);border-radius:18px;background:var(--white)}.portal-review-step,.portal-step-label{margin:0;color:var(--slate-600);font-size:12px;font-weight:800;letter-spacing:.02em}.portal-picker{margin-top:15px}.portal-slots .button{justify-content:space-between;min-height:50px;text-align:left}.portal-slots .button span:last-child{color:var(--slate-600);font-size:12px;font-weight:800}.portal-slots .button-primary span:last-child{color:#b7f6e5}.portal-review{position:-webkit-sticky;position:sticky;top:24px;scroll-margin-top:28px}.portal-review .portal-review-step{margin-top:-10px}.portal-review>.button{width:100%}.portal-selection-empty{min-height:250px;border-style:dashed;background:transparent}.portal-selection-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:34px;border-radius:9px;background:var(--court-ink-900);color:var(--beam-mint-500);font-weight:800}.portal-selection-empty h2{margin:0 0 8px;font-size:22px;letter-spacing:-.035em}.portal-selection-empty p:last-child{color:var(--slate-600);font-size:14px}@media (max-width:980px){.admin-shell{grid-template-columns:212px minmax(0,1fr)}.admin-sidebar{padding-inline:10px}.admin-sidebar-brand{padding-inline:7px}}@media (max-width:760px){.admin-shell{display:block}.admin-sidebar{display:none}.admin-mobile-header{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:10px 18px;border-bottom:1px solid var(--slate-200);background:var(--white)}.admin-mobile-menu{position:relative}.admin-mobile-menu summary{min-height:36px;padding:8px 12px;border:1px solid var(--slate-200);border-radius:7px;color:var(--court-ink-900);cursor:pointer;font-size:13px;font-weight:800;list-style:none}.admin-mobile-menu summary::-webkit-details-marker{display:none}.admin-mobile-menu>nav{position:absolute;top:46px;right:0;z-index:20;display:grid;min-width:230px;padding:12px;border:1px solid var(--slate-200);border-radius:10px;background:var(--white);box-shadow:0 16px 36px rgb(16 42 67/14%)}.admin-mobile-menu .admin-nav-group{gap:1px}.admin-mobile-menu .admin-nav-group+.admin-nav-group{margin-top:14px}.admin-mobile-player-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:var(--beam-mint-700);font-size:13px;font-weight:800}.admin-content>.app-shell{padding-top:10px}.overview-next-step{align-items:flex-start;flex-direction:column}.overview-next-step .button{width:100%}.portal-booking-layout{grid-template-columns:1fr}.portal-review{position:static}.portal-selection-empty{min-height:170px}.portal-selection-icon{margin-bottom:18px}}@media (max-width:720px){.login-page{grid-template-columns:1fr;min-height:auto;padding:32px 18px 48px}.self-serve-page .login-brand h1{font-size:42px}.public-pricing{padding:18px 18px 48px}.public-pricing-hero{margin-top:72px}.public-pricing-hero .self-serve-plans{grid-template-columns:1fr}}.login-page{grid-template-columns:minmax(0,1fr) minmax(380px,430px);gap:clamp(64px,8vw,112px);max-width:1160px;padding:64px 40px}.login-brand h1{max-width:580px;font-size:clamp(40px,4.4vw,58px);letter-spacing:-.045em;line-height:1.05}.self-serve-page .login-brand h1{max-width:540px}.login-brand>p:last-child{line-height:1.65}.login-card{padding:40px 40px 32px;border-radius:18px}.login-card h2{line-height:1.2}.start-card-lead{max-width:330px;margin:18px 0 30px;font-size:14px;line-height:1.6}.self-serve-page .sign-in-form{gap:20px}.self-serve-page .field{gap:8px}.self-serve-page .field small{font-size:12px;line-height:1.45}.self-serve-page .or{margin:10px 0}.self-serve-page .self-serve-staff-link{margin-top:26px;padding-top:20px;border-top:1px solid var(--slate-200)}.google-sign-in{min-height:46px;border-color:#747775;background:#fff;color:#1f1f1f;font-family:Arial,sans-serif;font-size:14px;font-weight:600;box-shadow:none}.google-sign-in:hover{border-color:#5f6368;background:#f8fafd;box-shadow:0 1px 2px rgb(60 64 67/18%);transform:none}.google-mark{display:block;flex:0 0 auto}.app-shell{padding-top:36px}.page-header{padding:58px 0 38px}.page-header h1{max-width:620px;line-height:1.08}.page-header>div>p:last-child{max-width:620px;font-size:16px;line-height:1.65}.admin-shell{grid-template-columns:272px minmax(0,1fr)}.admin-sidebar{padding:28px 20px 22px}.admin-sidebar nav{gap:30px}.admin-nav-group a{min-height:42px;padding:9px 12px}.admin-nav-group a.is-active{box-shadow:inset 3px 0 0 var(--beam-mint-500)}.metric-grid{gap:14px}.metric{min-height:148px;padding:22px}.metric strong{margin-top:20px;font-size:28px}.overview-next-step{padding:28px;border-radius:16px}.overview-next-step h2{font-size:24px;line-height:1.2}.setup-checklist{padding:28px;border-radius:16px}.setup-checklist-header h2{max-width:460px;line-height:1.2}.setup-checklist-item{min-height:70px}.portal-flow{margin-top:30px}.portal-booking-intro{display:grid;grid-gap:16px;gap:16px;max-width:700px}.portal-booking-intro .eyebrow{margin-bottom:0}.portal-booking-intro h1{max-width:700px;font-size:clamp(46px,7vw,78px);letter-spacing:-.065em}.portal-booking-intro .portal-booking-lede{color:var(--slate-600);font-size:16px;line-height:1.55}.portal-availability-panel{display:grid;grid-gap:18px;gap:18px;padding:24px}.portal-picker{gap:16px;margin-top:0}.portal-slots-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.portal-slots-heading .portal-step-label{color:var(--court-ink-700)}.portal-availability-legend{display:flex;align-items:center;gap:12px;color:var(--slate-600);font-size:11px;font-weight:800}.portal-availability-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.portal-slot-legend-mark{width:7px;height:7px;border-radius:50%}.portal-slot-legend-available{background:var(--beam-mint-500)}.portal-slot-legend-unavailable{background:var(--slate-300)}.portal-slots{gap:12px;padding-top:2px}.portal-slots .button{min-height:48px}.portal-slots .button:disabled{border-color:var(--slate-200);background:var(--cloud-50);color:var(--slate-500);cursor:not-allowed;opacity:1}.portal-slot-status{display:inline-grid;place-items:center;width:20px;height:20px;flex:0 0 auto;border-radius:50%}.portal-slot-status-available{background:#d8faef;color:var(--beam-mint-700)}.portal-slot-status-unavailable{background:var(--slate-200);color:var(--slate-500)}.portal-slots .button-primary .portal-slot-status-available{background:var(--beam-mint-500);color:var(--court-ink-900)}.portal-review .portal-review-step{margin-top:-6px}.portal-picker{grid-template-columns:1fr}.portal-picker>.field{max-width:260px}.portal-sport-filter{display:grid;grid-gap:8px;gap:8px}.portal-filter-label{color:var(--court-ink-700);font-size:12px;font-weight:800}.portal-filter-options{display:flex;flex-wrap:wrap;gap:8px}.portal-filter-option{min-height:38px;padding:8px 13px;border:1px solid var(--slate-200);border-radius:999px;background:var(--white);color:var(--court-ink-700);cursor:pointer;font:inherit;font-size:13px;font-weight:800}.portal-filter-option:hover{border-color:var(--slate-300);background:var(--cloud-50)}.portal-filter-option.is-selected{border-color:var(--court-ink-900);background:var(--court-ink-900);color:var(--white)}.portal-availability-count{color:var(--slate-600);font-size:12px;font-weight:800}.portal-time-group{display:grid;grid-gap:10px;gap:10px;padding:14px 0;border-top:1px solid var(--slate-200)}.portal-time-group:first-child{padding-top:0;border-top:0}.portal-time-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.portal-time-heading strong{color:var(--court-ink-900);font-size:20px;letter-spacing:-.03em}.portal-time-heading span{color:var(--slate-600);font-size:12px;font-weight:800}.portal-time-options{display:grid;grid-gap:8px;gap:8px}.portal-court-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:10px 12px;border:1px solid var(--slate-200);border-radius:10px;background:var(--white);color:var(--court-ink-900);cursor:pointer;font:inherit;text-align:left}.portal-court-option:hover{border-color:var(--beam-mint-700);background:#f5fffc}.portal-court-option.is-selected{border-color:var(--beam-mint-700);background:#edfffa;box-shadow:0 0 0 2px rgb(34 211 165/15%)}.portal-court-option small,.portal-court-option strong{display:block}.portal-court-option small{margin-top:3px;color:var(--slate-600);font-size:12px;text-transform:capitalize}.portal-court-option-action{flex:0 0 auto;color:var(--beam-mint-700);font-size:12px;font-weight:800}.portal-review-sport{margin:-8px 0 0;color:var(--beam-mint-700);font-size:13px;font-weight:800;text-transform:capitalize}.portal-verified-contact{margin:-4px 0 0;padding:10px 12px;border-radius:10px;background:var(--cloud-50);color:var(--slate-600);font-size:13px;line-height:1.45}@media (max-width:760px){.portal-flow{gap:20px;margin-top:26px}.portal-booking-intro{gap:14px}.portal-booking-intro h1{font-size:clamp(44px,12vw,64px)}.portal-booking-layout{gap:16px}.portal-availability-panel{gap:16px;padding:20px}.portal-slots-heading{align-items:flex-start;flex-direction:column;gap:8px}.portal-availability-legend{gap:10px}.portal-time-options{grid-template-columns:1fr}.portal-time-heading{align-items:flex-start;flex-direction:column;gap:4px}.login-page{grid-template-columns:1fr;gap:42px;min-height:auto;padding:40px 20px 56px}.login-card{padding:32px 26px 28px}.app-shell{padding:28px 20px 56px}.page-header{padding:42px 0 30px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:18px}}@media (max-width:480px){.self-serve-page .login-brand h1{font-size:clamp(38px,10vw,52px);letter-spacing:-.04em;line-height:1.04}.metric-grid{grid-template-columns:1fr}.overview-next-step,.setup-checklist{padding:22px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.portal-shell{width:min(100%,1240px);max-width:none;padding:20px 28px 64px}.portal-header{min-height:58px}.portal-flow{width:100%;max-width:1120px;margin-top:36px}.portal-booking-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;max-width:none}.portal-booking-intro>div:first-child{max-width:680px}.portal-booking-intro h1{max-width:640px;font-size:clamp(44px,5.4vw,68px);letter-spacing:-.06em;line-height:.98}.portal-booking-intro .portal-booking-lede{max-width:560px;margin-top:18px}.portal-booking-location{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-column-gap:8px;column-gap:8px;min-width:188px;padding:13px 15px;border:1px solid var(--slate-200);border-radius:12px;background:rgb(255 255 255/72%);color:var(--court-ink-900);font-size:14px;font-weight:800}.portal-booking-location svg{grid-row:span 2;color:var(--beam-mint-700)}.portal-booking-location small{grid-column:2;color:var(--slate-600);font-size:11px;font-weight:700}.portal-booking-steps{display:flex;align-items:center;gap:24px;margin:4px 0 0;padding:0;color:var(--slate-600);list-style:none}.portal-booking-steps li{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800}.portal-booking-steps li+li:before{width:28px;margin-right:16px;border-top:1px solid var(--slate-200);content:""}.portal-booking-steps li>span,.portal-step-number{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid var(--slate-300);border-radius:50%;color:var(--slate-600);font-size:12px;font-weight:800}.portal-booking-steps .is-current{color:var(--court-ink-900)}.portal-booking-steps .is-current>span,.portal-step-number{border-color:var(--court-ink-900);background:var(--court-ink-900);color:var(--white)}.portal-booking-layout{grid-template-columns:minmax(0,1fr) minmax(296px,340px);gap:24px;align-items:start}.portal-availability-panel{min-width:0;padding:clamp(20px,3vw,30px);overflow:hidden}.portal-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.portal-panel-heading h2{margin:6px 0 0;color:var(--portal-ink);font-size:clamp(22px,3vw,28px);letter-spacing:-.04em;line-height:1.1}.portal-booking-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 0 18px;border-bottom:1px solid var(--slate-200)}.portal-date-control{display:flex;align-items:flex-end;gap:8px}.portal-date-control .field{min-width:190px}.portal-date-arrow,.portal-today-button{min-height:44px;border:1px solid var(--slate-200);border-radius:9px;background:var(--white);color:var(--court-ink-900);cursor:pointer;font:inherit;font-size:13px;font-weight:800}.portal-date-arrow{display:grid;place-items:center;width:44px}.portal-date-arrow:hover,.portal-today-button:hover{border-color:var(--beam-mint-700);background:#f5fffc}.portal-today-button{padding:0 14px}.portal-sport-filter{gap:10px;margin-top:18px}.portal-filter-label{font-size:13px}.portal-filter-options{gap:7px}.portal-filter-option{min-height:36px;padding:7px 12px;font-size:12px}.portal-availability-help{margin:16px 0 0;color:var(--slate-600);font-size:12px}.portal-slots{min-width:0;gap:0;margin-top:4px}.portal-time-group{min-width:0;padding:18px 0}.portal-time-options{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.portal-court-option{min-width:0;min-height:66px;padding:11px 12px}.portal-court-option-main{display:flex;align-items:center;min-width:0;gap:10px}.portal-court-option-main>span:last-child{min-width:0}.portal-court-option small,.portal-court-option strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-court-option-status{display:inline-grid;place-items:center;width:24px;height:24px;flex:0 0 auto;border-radius:50%;background:#d8faef;color:var(--beam-mint-700)}.portal-court-option.is-selected .portal-court-option-status{background:var(--beam-mint-500);color:var(--court-ink-900)}.portal-court-option-side{display:inline-flex;align-items:center;flex:0 0 auto;gap:8px;color:var(--slate-600)}.portal-court-option-price{color:var(--court-ink-700);font-size:12px;font-weight:800}.portal-selection-column{display:grid;min-width:0;grid-gap:12px;gap:12px;position:-webkit-sticky;position:sticky;top:84px}.portal-selection-empty,.portal-selection-summary{min-width:0;padding:22px;border:1px solid var(--slate-200);border-radius:16px;background:var(--white)}.portal-selection-empty{min-height:252px;background:linear-gradient(155deg,#fff,#f7fafc)}.portal-selection-empty h2,.portal-selection-summary h2{margin:0 0 10px;color:var(--portal-ink);font-size:23px;letter-spacing:-.04em;line-height:1.12}.portal-selection-empty p:last-child{max-width:250px;margin:0}.portal-selection-summary{border-color:color-mix(in srgb,var(--portal-accent) 45%,#d9e2ec);box-shadow:0 18px 36px rgb(16 42 67/7%)}.portal-selection-time{display:flex;align-items:center;gap:7px;margin:0 0 20px;color:var(--court-ink-900)}.portal-selection-time svg{color:var(--beam-mint-700)}.portal-selection-time strong{font-size:24px;letter-spacing:-.04em}.portal-selection-time span{color:var(--slate-600);font-size:12px;font-weight:700}.portal-selection-details{display:grid;grid-gap:12px;gap:12px;margin:0}.portal-selection-details div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--slate-200)}.portal-selection-details dt{color:var(--slate-600);font-size:12px}.portal-selection-details dd{margin:0;color:var(--court-ink-900);font-size:12px;font-weight:800;text-align:right;text-transform:capitalize}.portal-selection-continue{width:100%}.portal-book-step-flow{max-width:980px}.portal-step-page-heading{display:grid;grid-gap:12px;gap:12px;max-width:650px}.portal-step-page-heading h1{max-width:620px;font-size:clamp(42px,5vw,62px);line-height:1}.portal-step-page-heading>p:last-child{max-width:540px;margin:0;color:var(--slate-600)}.portal-back-link{display:inline-flex;align-items:center;gap:5px;width:-moz-fit-content;width:fit-content;color:var(--court-ink-700);font-size:13px;font-weight:800}.portal-back-link:hover{color:var(--beam-mint-700)}.portal-booking-step-layout{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);grid-gap:24px;gap:24px;align-items:start}.portal-auth-panel,.portal-confirm-panel,.portal-step-summary{min-width:0;padding:24px;border:1px solid var(--slate-200);border-radius:16px;background:var(--white)}.portal-step-summary{display:grid;grid-gap:12px;gap:12px}.portal-step-summary .portal-selection-summary{padding:0;border:0;box-shadow:none}.portal-step-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.portal-step-heading h2{margin:4px 0 0;color:var(--portal-ink);font-size:24px;letter-spacing:-.04em}.portal-auth-panel .portal-auth-form{padding:0;border:0;box-shadow:none}.portal-auth-panel .portal-auth-form>div:first-child{display:none}.portal-auth-success{display:grid;grid-template-columns:auto 1fr;align-items:start;grid-gap:12px;gap:12px;padding:16px;border-radius:12px;background:#edfffa}.portal-auth-success strong{display:block;margin-top:2px}.portal-auth-success p{margin:4px 0 0;color:var(--slate-600);font-size:13px}.portal-auth-success .button{grid-column:2;width:-moz-fit-content;width:fit-content}.portal-confirm-panel{display:grid;grid-gap:16px;gap:16px}.portal-confirm-panel .portal-step-heading{margin-bottom:0}.portal-confirm-lede{margin:0;color:var(--slate-600)}.policy-payment-methods,.portal-payment-methods{display:grid;grid-gap:10px;gap:10px;margin:0;padding:14px 16px 16px;border:1px solid var(--slate-200);border-radius:12px}.policy-payment-methods legend,.portal-payment-methods legend{padding:0 4px;color:var(--court-ink-900);font-size:14px;font-weight:800}.policy-payment-methods label,.portal-payment-methods label{display:flex;align-items:center;gap:9px;color:var(--court-ink-900);font-size:14px;font-weight:700}.policy-payment-methods input,.portal-payment-methods input{accent-color:var(--beam-mint-700)}.policy-payment-methods small{color:var(--slate-600);font-size:12px;font-weight:500;line-height:1.45}.portal-confirm-panel>.button{width:100%}.portal-verified-contact{display:flex;align-items:center;gap:7px;margin:0}.portal-verified-contact svg{flex:0 0 auto;color:var(--beam-mint-700)}@media (max-width:860px){.portal-shell{padding-inline:20px}.portal-booking-intro{align-items:flex-start;flex-direction:column;gap:20px}.portal-booking-location{width:100%}.portal-booking-layout,.portal-booking-step-layout{grid-template-columns:1fr}.portal-selection-column{position:static}.portal-selection-column.has-selection{position:-webkit-sticky;position:sticky;bottom:0;z-index:5;padding-top:12px;background:var(--cloud-50)}.portal-selection-column.has-selection .portal-selection-summary{padding:16px}.portal-selection-column.has-selection .portal-selection-summary h2,.portal-selection-column.has-selection .portal-selection-summary>.eyebrow{display:none}.portal-selection-column.has-selection .portal-selection-time{margin-bottom:12px}.portal-selection-column.has-selection .portal-selection-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.portal-selection-column.has-selection .portal-selection-details div{display:grid;grid-gap:2px;gap:2px;padding-top:8px}.portal-selection-column.has-selection .portal-selection-details dd{text-align:left}}@media (max-width:600px){.portal-shell{padding:12px 14px 40px}.portal-header{align-items:flex-start;flex-direction:column}.portal-header nav{width:100%;justify-content:space-between;gap:8px;font-size:13px}.portal-flow{margin-top:26px}.portal-booking-intro h1,.portal-step-page-heading h1{font-size:clamp(40px,12vw,54px)}.portal-booking-steps{gap:10px}.portal-booking-steps li{font-size:12px}.portal-booking-steps li+li:before{width:14px;margin-right:4px}.portal-booking-controls{align-items:stretch;flex-direction:column}.portal-date-control{width:100%}.portal-date-control .field{min-width:0;flex:1 1}.portal-today-button{width:100%}.portal-panel-heading{align-items:flex-start;flex-direction:column;gap:8px}.portal-time-options{grid-template-columns:1fr}.portal-time-heading{align-items:flex-start;flex-direction:column;gap:4px}.portal-auth-panel,.portal-confirm-panel,.portal-step-summary{padding:20px}}.portal-selected-sport-heading{display:inline-flex;align-items:center;gap:8px}.portal-filter-option svg,.portal-selected-sport-heading svg,.portal-selection-sport svg{flex:0 0 auto}.portal-filter-option{display:inline-flex;align-items:center;justify-content:center;gap:7px}.portal-filter-option:disabled{border-color:var(--slate-200);background:var(--cloud-50);color:var(--slate-400);cursor:not-allowed;opacity:1}.portal-duration-filter{display:grid;grid-gap:10px;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--slate-200)}.portal-duration-filter>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.portal-duration-filter small{color:var(--slate-600);font-size:12px}.portal-slots{grid-template-columns:1fr}.portal-time-group{grid-column:1}.portal-time-options{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.portal-court-option small{display:inline-flex;align-items:center;gap:4px}.portal-loading-message{margin:0;padding:10px 12px;border-radius:9px;background:#f5fffc;color:var(--slate-600);font-size:12px;font-weight:700}.portal-selection-sport{display:inline-flex;align-items:center;gap:5px}@media (max-width:600px){.portal-duration-filter>div:first-child{align-items:flex-start;flex-direction:column;gap:4px}.portal-time-options{grid-template-columns:1fr}}.portal-shell{width:min(100%,1200px);padding:24px 32px 72px}.portal-header{min-height:72px;padding:16px 0 18px;gap:24px;border-bottom-color:color-mix(in srgb,var(--portal-accent) 16%,var(--slate-200))}.portal-brand{min-width:0;gap:14px}.portal-club-logo{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid color-mix(in srgb,var(--portal-ink) 12%,var(--slate-200));border-radius:12px;background:var(--white);object-fit:contain}.portal-club-logo-fallback{border-color:transparent;background:var(--portal-ink);color:var(--white);font-size:13px;font-weight:800;letter-spacing:.04em}.portal-brand-copy{gap:4px;min-width:0}.portal-brand-copy strong{font-size:16px;letter-spacing:-.02em;line-height:1.15}.portal-brand-copy small,.portal-brand-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-brand-copy small{font-size:12px;font-weight:700;line-height:1.3}.portal-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px}.portal-powered-by{display:inline-flex;align-items:center;gap:7px;padding-right:18px;border-right:1px solid var(--slate-200);color:var(--slate-600);font-size:11px;font-weight:700;white-space:nowrap}.portal-powered-by>span{letter-spacing:.01em}.portal-header nav{align-items:center;gap:4px;font-size:13px}.portal-header nav a{min-height:36px;padding:8px 10px;border:1px solid transparent;border-radius:8px;color:var(--court-ink-700);line-height:1.2}.portal-header nav a:focus-visible,.portal-header nav a:hover{border-color:var(--slate-200);background:var(--white);color:var(--portal-ink)}.portal-header nav .portal-nav-primary{padding-inline:14px;border-color:var(--portal-ink);background:var(--portal-ink);color:var(--white);box-shadow:0 4px 12px rgb(16 42 67/12%)}.portal-header nav .portal-nav-primary:focus-visible,.portal-header nav .portal-nav-primary:hover{border-color:var(--court-ink-700);background:var(--court-ink-700);color:var(--white)}.portal-header nav .portal-nav-account{border-color:var(--slate-200);background:var(--white)}.portal-hero{margin-top:40px;padding:clamp(36px,6vw,64px);border-radius:22px}.portal-hero h1{max-width:720px;font-size:clamp(48px,6.2vw,72px);letter-spacing:-.055em;line-height:1.02}.portal-flow{gap:24px;margin-top:40px}.portal-flow>h1,.portal-state h1{font-size:clamp(40px,5vw,58px);letter-spacing:-.035em;line-height:1.06}.portal-account-header{gap:32px}.portal-account-header h1{max-width:740px;font-size:clamp(40px,5vw,56px);letter-spacing:-.025em;line-height:1.08}.portal-account-header>div>p:last-child{margin-top:16px;font-size:16px;line-height:1.55}.portal-availability-panel,.portal-card,.portal-review,.portal-selection-empty,.portal-state{border-radius:14px;box-shadow:var(--surface-shadow)}.portal-card h2,.portal-review h2{font-size:22px;letter-spacing:-.025em;line-height:1.2}.portal-card p,.portal-review p,.portal-state p{line-height:1.55}.portal-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:980px){.portal-header-actions{gap:12px}.portal-powered-by{padding-right:12px}.portal-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.portal-shell{padding:16px 18px 48px}.portal-header{gap:14px;padding-top:12px}.portal-header,.portal-header-actions{align-items:stretch;flex-direction:column}.portal-header-actions{gap:10px}.portal-powered-by{align-self:flex-start;padding-right:0;border-right:0}.portal-header nav{width:100%;justify-content:flex-start;gap:4px;overflow-x:auto;padding-bottom:2px}.portal-header nav a{flex:0 0 auto}.portal-hero{margin-top:28px;padding:32px 24px;border-radius:18px}.portal-hero h1{font-size:clamp(44px,12vw,60px)}.portal-flow{gap:20px;margin-top:28px}.portal-account-header h1,.portal-flow>h1,.portal-state h1{font-size:clamp(38px,11vw,52px)}.portal-home-grid{grid-template-columns:1fr}}