@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-cyrillic-ext-wght-normal-DLWmRmaW.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-cyrillic-wght-normal-C8sJyxwB.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-vietnamese-wght-normal-Tdf5mmdl.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-latin-ext-wght-normal-Dj_1K-Kw.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-latin-wght-normal-CzS3kehr.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Oswald Variable", "Oswald", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--control-h:44px;--r-pill:999px;--court-hard:#3f7987;--court-clay:#b0563c;--court-grass:#4f8852;--court-artificial:#39856d;--swatch-scoreboard:#2f9a5a;--swatch-hard:#3b82d6}@media (width>=1024px){:root{--control-h:40px}}:root,:root[data-theme=scoreboard]{--bg:#f5f7f2;--surface:#fff;--thead:#f8faf6;--wash:#f7fbf2;--ink:#14201a;--muted:#5f6d64;--line:#e1e6dd;--line-strong:#cfd7cb;--board:#0e2a1c;--board-raised:#1d4630;--board-line:#ffffff1f;--board-chip:#ffffff14;--on-board:#eef5f0;--on-board-muted:#eef5f0a8;--board-accent:#cfe94f;--board-accent-soft:#e4f58c;--ball:#cfe94f;--on-ball:#0b1f14;--primary:#cfe94f;--on-primary:#0b1f14;--primary-hover:#e4f58c;--highlight:#e4f58c;--on-highlight:#0b1f14;--accent:#2f7a4b;--accent-strong:#28653f;--accent-tint:#2f7a4b1f;--ink-tint:#0e2a1c12;--focus:#2f7a4b;--focus-ring:#2f7a4b52;--select-bg:#eef6e3;--select-ink:#1f5a37;--danger:#a33b35;--on-danger:#fff;--danger-soft:#f3d9d6;--danger-wash:#fff4f2;--danger-line:#e2b8b4;--ok-bg:#e3f2d0;--ok-ink:#2c5e1c;--wait-bg:#f7f0cf;--wait-ink:#7a5a10;--wait-line:#e9d98e;--info:#2f6ea8;--info-soft:#e6eff8;--chip-neutral:#eef1ec;--money:#14201a;--slot-free:#fff;--slot-busy:#0e2a1c;--on-slot-busy:#eef5f0;--coach-bg:#e6eff8;--coach-ink:#24578a;--scrim:#0819108c;--shadow:0 1px 2px #0e2a1c0d;--shadow-pop:0 12px 32px #0e2a1c24;--r-sm:10px;--r-md:14px;--r-lg:18px;--heading-case:none;--heading-track:-.2px;--heading-weight:600}:root[data-theme=hard]{--bg:#f3f5f8;--surface:#fff;--thead:#f7f9fb;--wash:#f1f5fa;--ink:#15202b;--muted:#576574;--line:#e0e5ec;--line-strong:#cbd3de;--board:#102a43;--board-raised:#1d4670;--board-line:#ffffff1f;--board-chip:#ffffff14;--on-board:#eef4fa;--on-board-muted:#eef4faa8;--board-accent:#8fbcf2;--board-accent-soft:#c9ddf6;--ball:#d6ee55;--on-ball:#102a43;--primary:#1f5fae;--on-primary:#fff;--primary-hover:#1a5096;--highlight:#e8f0fa;--on-highlight:#17406f;--accent:#1f5fae;--accent-strong:#174a8a;--accent-tint:#1f5fae1f;--ink-tint:#102a4312;--focus:#1f5fae;--focus-ring:#1f5fae52;--select-bg:#e8f0fa;--select-ink:#1f5fae;--danger:#b42318;--on-danger:#fff;--danger-soft:#fbe0dd;--danger-wash:#fef3f2;--danger-line:#f0c0bb;--ok-bg:#e2f3e8;--ok-ink:#1d6b3d;--wait-bg:#fff1d6;--wait-ink:#7c5300;--wait-line:#f1d39a;--info:#1f5fae;--info-soft:#e8f0fa;--chip-neutral:#eef1f5;--money:#15202b;--slot-free:#fff;--slot-busy:#102a43;--on-slot-busy:#eef4fa;--coach-bg:#efe9fb;--coach-ink:#5b3fa3;--scrim:#0916268c;--shadow:0 1px 2px #102a430f;--shadow-pop:0 14px 36px #102a4329;--r-sm:6px;--r-md:10px;--r-lg:12px;--heading-case:uppercase;--heading-track:.02em;--heading-weight:600}*,:before,:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--bg);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;line-height:22px}#root{min-height:100vh}h1,h2,h3,h4,p,figure,blockquote{margin:0}h1,h2{font-family:var(--font-display);font-weight:var(--heading-weight);letter-spacing:var(--heading-track);text-transform:var(--heading-case)}h1{font-size:clamp(28px,1.35rem + 1.6vw,36px);line-height:1.2}h2{font-size:clamp(22px,1.15rem + .8vw,26px);line-height:1.27}h3{font-size:17px;font-weight:700;line-height:24px}small{font-size:13px;line-height:18px}a{color:var(--accent)}button,input,select,textarea{font:inherit;font-family:inherit}input,select,textarea{font-size:max(16px,1em)}button{color:inherit}button:not(:disabled){cursor:pointer}img,svg,video{max-width:100%}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}:root{--tabbar-height:calc(51px + max(10px, env(safe-area-inset-bottom)))}@media (width>=1024px){:root{--tabbar-height:0px}}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:0}.eyebrow{color:var(--accent);font-family:var(--font-display);letter-spacing:1.6px;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:600;line-height:1.4}.eyebrow--light{color:var(--board-accent-soft)}.primary-button{border-radius:var(--r-sm);min-height:52px;color:var(--on-primary);background:var(--primary);border:0;justify-content:space-between;align-items:center;gap:16px;margin-top:9px;padding:0 20px 0 22px;font-size:15px;font-weight:700;transition:transform .16s,background .16s;display:inline-flex}.primary-button:not(:disabled):hover{background:var(--primary-hover);transform:translateY(-1px)}.primary-button:disabled{opacity:.48}.primary-link,.secondary-link{border-radius:var(--r-sm);justify-content:center;align-items:center;min-width:190px;min-height:44px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.primary-link{color:var(--on-primary);background:var(--primary)}.secondary-link{color:var(--accent)}.logout-button,.icon-button{border-radius:var(--r-sm);color:#ffffff9e;background:#ffffff14;border:0;place-items:center;width:44px;height:44px;display:grid}.action-bar{z-index:20;bottom:var(--tabbar-height);margin:20px calc(-1 * var(--action-bar-gutter,16px)) calc(-1 * var(--action-bar-gutter,16px));padding:12px var(--action-bar-gutter,16px);border-top:1px solid var(--line);border-radius:0 0 var(--r-md) var(--r-md);background:var(--surface);gap:8px;display:grid;position:sticky}@media (width>=1024px){.action-bar{border-radius:0;position:static}}.panel{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:20px}.panel__header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.panel h2{letter-spacing:var(--heading-track);margin:0;font-size:20px}.panel__link{color:var(--accent);flex:none;align-items:center;gap:6px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}@media (width>=768px){.panel{padding:24px}}.panel__badge{color:var(--on-highlight);background:var(--highlight);letter-spacing:.7px;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700}.profile-inline-state,.profile-inline-empty{border:1px dashed var(--line);border-radius:var(--r-md);min-height:84px;color:var(--muted);background:var(--bg);align-items:center;gap:12px;padding:16px;font-size:14px;line-height:1.45;display:flex}.profile-inline-empty{flex-wrap:wrap}.profile-inline-empty>span{border-radius:var(--r-sm);width:44px;height:44px;color:var(--accent);background:var(--surface);flex:none;place-items:center;display:grid}.profile-inline-empty>div{flex:190px;gap:3px;min-width:0;display:grid}.profile-inline-empty strong{color:var(--ink);font-size:15px;font-weight:600;line-height:1.3}.profile-inline-empty small{color:var(--muted);font-size:13px;line-height:1.45}.profile-inline-empty>a{border:1px solid var(--line);border-radius:var(--r-sm);min-height:44px;color:var(--accent);background:var(--surface);white-space:nowrap;flex:none;align-items:center;margin-left:auto;padding:0 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.control,.field-action .field-action__field>input,.select>button.select__trigger{width:100%;min-width:0;height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--r-sm);min-height:0;color:var(--ink);background:var(--surface);box-shadow:none;align-items:center;gap:8px;margin:0;padding:0 12px;font-size:max(16px,1em);line-height:1.2;display:flex}.control:focus-visible,.field-action .field-action__field>input:focus-visible,.select>button.select__trigger:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.control:disabled,.select>button.select__trigger:disabled{color:var(--muted);background:var(--bg);cursor:not-allowed}.select{min-width:0;position:relative}.select>button.select__trigger{text-align:left;cursor:pointer;font-weight:500}.select>button.select__trigger:disabled{cursor:not-allowed}.select--open>button.select__trigger{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring)}.select .select__value{min-width:0;color:inherit;font:inherit;text-overflow:ellipsis;text-transform:none;letter-spacing:normal;white-space:nowrap;flex:1;display:block;overflow:hidden}.select .select__value--placeholder{color:var(--muted)}.select .select__chevron{color:var(--muted);flex:none;transition:transform .16s}.select--open .select__chevron{transform:rotate(180deg)}.select>.select__menu{z-index:60;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);min-width:max(100%,180px);max-height:min(320px,60vh);box-shadow:var(--shadow-pop);overscroll-behavior:contain;margin:0;padding:4px;list-style:none;display:grid;position:absolute;left:0;right:0;overflow-y:auto}.select>.select__menu--down{top:calc(100% + 6px)}.select>.select__menu--up{bottom:calc(100% + 6px)}.select .select__option{border-radius:calc(var(--r-sm) - 2px);min-height:44px;color:var(--ink);cursor:pointer;align-items:center;gap:8px;padding:8px 10px;font-size:15px;font-weight:500;line-height:1.3;display:flex}.select .select__option-label{overflow-wrap:anywhere;flex:1;min-width:0}.select .select__option-hint{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:400}.select .select__check{color:var(--select-ink);flex:none}.select .select__option--active{background:var(--bg)}.select .select__option--selected{color:var(--select-ink);background:var(--select-bg);font-weight:600}.select .select__option[aria-disabled=true]{color:var(--muted);cursor:not-allowed;opacity:.6}@media (width>=1024px){.select .select__option{min-height:36px;font-size:14px}}.btn{height:var(--control-h);border-radius:var(--r-sm);white-space:nowrap;border:1px solid #0000;flex:none;justify-content:center;align-items:center;gap:8px;margin:0;padding:0 16px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:background .16s,border-color .16s;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.48}.btn--sm{height:36px;padding:0 12px;font-size:13px}.btn--lg{height:52px;padding:0 22px;font-size:15px}.btn--block{width:100%}.btn.btn--primary{color:var(--on-primary);background:var(--primary)}.btn.btn--primary:not(:disabled):hover{background:var(--primary-hover)}.btn.btn--ghost{border-color:var(--line-strong);color:var(--ink);background:var(--surface)}.btn.btn--ghost:not(:disabled):hover{border-color:var(--accent)}.btn.btn--danger{color:var(--on-danger);background:var(--danger)}.btn.btn--danger-soft{border-color:var(--danger-line);color:var(--danger);background:var(--surface)}.btn.btn--danger-soft:not(:disabled):hover{background:var(--danger-wash)}.field-action{align-items:stretch;gap:8px;min-width:0;display:flex}.field-action>.field-action__field{flex:1;min-width:0;display:grid}.field-action>.btn{height:var(--control-h);margin:0}:root{--page-gutter:16px;--page-top:20px;--page-bottom:calc(var(--tabbar-height) + 32px);--page-max:1440px}@media (width>=768px){:root{--page-gutter:24px;--page-top:28px}}@media (width>=1024px){:root{--page-gutter:clamp(32px, 3vw, 48px);--page-top:32px;--page-bottom:64px}}.page-container{width:min(100%, var(--page-max));min-width:0;padding:var(--page-top) var(--page-gutter) var(--page-bottom);margin:0 auto}.modal-backdrop{z-index:90;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:end;display:grid;position:fixed;inset:0}.modal{width:100%;max-height:92svh;padding:20px 16px max(20px, env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface);box-shadow:var(--shadow-pop);gap:14px;display:grid;position:relative;overflow-y:auto}.modal__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.modal__title{font-family:var(--font-display);font-size:22px;font-weight:var(--heading-weight);letter-spacing:var(--heading-track);text-transform:var(--heading-case);margin:0;line-height:1.2}.modal__close{border:1px solid var(--line);border-radius:var(--r-sm);width:36px;height:36px;color:var(--muted);background:var(--surface);flex:none;place-items:center;display:grid}.modal__actions{flex-wrap:wrap;gap:8px;display:flex}@media (width>=641px){.modal-backdrop{place-items:center;padding:16px}.modal{border-radius:var(--r-lg);width:min(100%,560px);max-height:calc(100svh - 32px);padding:22px}}.kv{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0;display:grid}.kv>div{gap:2px;min-width:0;display:grid}.kv dt{color:var(--muted);font-size:12px}.kv dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.form-error{border:1px solid var(--danger-line);border-radius:var(--r-sm);color:var(--danger);background:var(--danger-wash);padding:11px 13px;font-size:13px;line-height:1.45}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin:0 0 16px;display:flex}.page-head__copy{flex:320px;gap:8px;min-width:0;display:grid}.page-head__copy>*{margin:0}.page-head h1{overflow-wrap:anywhere;margin:0;line-height:1.1}.page-head h1 a{color:inherit;text-decoration:none}.page-head .eyebrow{margin:0}.page-head__sub{max-width:72ch;color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:15px;line-height:1.5;display:flex}.page-head__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width>=768px){.page-head{margin-bottom:24px}}.chip{border-radius:var(--r-pill);min-height:24px;color:var(--muted);background:var(--chip-neutral);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.3;display:inline-flex}.chip--ok,.chip--wait,.chip--danger{padding-left:9px}.chip--ok:before,.chip--wait:before,.chip--danger:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.chip--ok{color:var(--ok-ink);background:var(--ok-bg)}.chip--wait{color:var(--wait-ink);background:var(--wait-bg)}.chip--danger{color:var(--danger);background:var(--danger-wash)}.chip--info{color:var(--info);background:var(--info-soft)}.chip--outline{color:var(--muted);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.chip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.money{color:var(--money);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-weight:600}.segmented{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);flex-wrap:wrap;gap:4px;min-width:0;margin:0;padding:4px;display:flex}.segmented>label{min-width:max-content;min-height:calc(var(--control-h) - 10px);border-radius:calc(var(--r-sm) - 2px);color:var(--muted);text-align:center;cursor:pointer;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:600;line-height:1.2;display:flex;position:relative}.segmented>label>input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.segmented>label:hover{color:var(--ink)}.segmented>label:has(input:checked){color:var(--select-ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line), var(--shadow)}.segmented>label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}@media (width<=639px){.segmented--grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.segmented--grid>label{min-width:0}}@media (width<=1023px){.segmented>label{min-height:40px}}.field{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.field>label,.field>legend{color:var(--ink);padding:0;font-size:13px;font-weight:600}.field>label small,.field>legend small{color:var(--muted);font-weight:400}.field>small{color:var(--muted);font-size:12px;line-height:1.45}textarea.control{resize:vertical;height:auto;min-height:88px;padding:10px 12px;line-height:1.45}.brand{color:inherit;align-items:center;gap:11px;display:inline-flex}.brand__mark{background:var(--ball);border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:relative;overflow:hidden;box-shadow:0 7px 22px #04130a26}.brand__mark:before,.brand__mark:after{content:"";border:1.5px solid #10291d94;border-radius:50%;width:25px;height:40px;position:absolute}.brand__mark:before{left:-16px}.brand__mark:after{right:-16px}.brand__name{font-family:var(--font-display);letter-spacing:.2px;text-transform:uppercase;font-size:18px;font-weight:600}.brand__name span{opacity:.7;margin-left:4px;font-weight:300}.login-page{background:var(--surface);grid-template-rows:auto 1fr;align-content:start;min-height:100svh;display:grid}.login-story{padding:calc(18px + env(safe-area-inset-top)) 16px 20px;color:var(--wash);isolation:isolate;background:var(--board);flex-direction:column;gap:16px;display:flex;position:relative;overflow:hidden}.login-story:after,.login-story__glow,.court-lines,.login-story__footer{display:none}.login-story__content h1{color:var(--on-board);margin:0 0 8px}.login-story__content h1 span{color:var(--board-accent)}.login-story__content>p:last-child{max-width:46ch;color:var(--on-board-muted);margin:0;font-size:15px;line-height:22px}.login-panel{padding:26px 16px calc(26px + env(safe-area-inset-bottom));background:var(--surface);flex-direction:column;display:flex}.login-card{width:min(100%,440px);margin:0 auto}.login-card h2{color:var(--ink);margin:0 0 12px}.login-card__lead{max-width:42ch;color:var(--muted);margin:0 0 24px;font-size:15px;line-height:22px}.login-card__lead strong{color:var(--ink)}.login-card form{gap:11px;display:grid}.login-card label{color:var(--ink);letter-spacing:.2px;font-size:13px;font-weight:700}.input-shell{border:1px solid var(--line-strong);border-radius:var(--r-sm);min-height:52px;color:var(--muted);background:var(--surface);align-items:center;gap:12px;padding:0 14px;transition:border-color .16s,box-shadow .16s;display:flex}.input-shell:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring)}.input-shell input{width:100%;height:50px;color:var(--ink);letter-spacing:.2px;background:0 0;border:0;outline:0;font-size:16px;font-weight:600}.input-shell input[type=tel]{font-variant-numeric:tabular-nums}.input-shell__valid{color:var(--accent);flex:none}.login-tabs{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);grid-template-columns:1fr 1fr;gap:3px;margin:0 0 20px;padding:4px;display:grid}.login-tabs button{border-radius:var(--r-sm);min-height:44px;color:var(--muted);background:0 0;border:0;padding:0 16px;font-size:14px;font-weight:700}.login-tabs button[aria-selected=true]{color:var(--ink);background:var(--surface);box-shadow:0 3px 9px var(--ink-tint)}.google-button-shell{justify-content:center;min-height:44px;margin-top:14px;display:flex}.login-card__dev{justify-items:center;margin-top:4px;display:grid}.login-card__dev .link-button{min-height:44px;color:var(--accent);background:0 0;border:0;align-items:center;padding:0 8px;font-size:13px;font-weight:700;text-decoration:underline;display:inline-flex}.login-card__hint{color:var(--muted);text-align:center;margin:18px 0 0;font-size:13px;line-height:18px}.demo-login{border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--bg);gap:12px;width:min(100%,440px);margin:24px auto 0;padding:16px;display:grid}.demo-login__head{gap:2px;display:grid}.demo-login__title{color:var(--muted);font-family:var(--font-display);letter-spacing:1.6px;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.demo-login__head small{color:var(--muted);font-size:12px}.demo-login__roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.demo-login__role{height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--r-sm);min-width:0;color:var(--ink);background:var(--surface);text-align:left;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:600;transition:border-color .16s,background .16s;display:flex}.demo-login__icon{border-radius:calc(var(--r-sm) - 2px);width:26px;height:26px;color:var(--select-ink);background:var(--select-bg);flex:none;place-items:center;display:grid}.demo-login__role:hover:not(:disabled){border-color:var(--accent)}.demo-login__role:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.demo-login__role:disabled{opacity:.55}.login-panel__legal{width:min(100%,440px);color:var(--muted);text-align:center;margin:28px auto 0;font-size:12px;line-height:18px}.back-button{min-height:44px;color:var(--muted);background:0 0;border:0;align-items:center;gap:6px;margin:0 0 16px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.dev-code{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--board);background:var(--highlight);grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin:0 0 20px;padding:12px 14px;font-size:13px;display:grid}.dev-code strong{font-variant-numeric:tabular-nums;letter-spacing:3px;font-size:16px}.code-input{border:1px solid var(--line);border-radius:var(--r-sm);width:100%;height:64px;color:var(--ink);background:var(--surface);font-variant-numeric:tabular-nums;letter-spacing:10px;text-align:center;text-indent:10px;font-size:26px;font-weight:600}@media (width>=768px){.login-story{padding:calc(24px + env(safe-area-inset-top)) 24px 26px}.login-panel{padding:36px 24px calc(36px + env(safe-area-inset-bottom))}.login-tabs{grid-template-columns:auto auto;width:fit-content}}@media (width>=1024px){.login-page{grid-template-rows:none;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr)}.login-story{background:radial-gradient(circle at 77% 8%, color-mix(in srgb, var(--board-accent) 15%, transparent), transparent 28%), var(--board);gap:0;min-height:100vh;padding:clamp(36px,4.4vw,68px)}.login-story:after{z-index:-1;aspect-ratio:1;content:"";border:1px solid color-mix(in srgb, var(--board-accent) 10%, transparent);width:70%;box-shadow:0 0 0 80px color-mix(in srgb, var(--board-accent) 2.5%, transparent), 0 0 0 160px color-mix(in srgb, var(--board-accent) 1.8%, transparent);border-radius:50%;display:block;position:absolute;bottom:-31%;right:-12%}.login-story__glow{z-index:-1;background:color-mix(in srgb, var(--board-accent) 7%, transparent);filter:blur(6px);border-radius:50%;width:390px;height:390px;display:block;position:absolute;top:-160px;right:-130px}.login-story__content{width:min(590px,92%);margin:auto 0;padding:72px 0 150px}.login-story__content h1{letter-spacing:-2.6px;margin:0 0 24px;font-size:clamp(46px,4.4vw,74px);line-height:1.02}.login-story__content>p:last-child{max-width:470px;font-size:16px;line-height:1.7}.login-story__footer{color:#f3f9eb73;letter-spacing:.5px;margin:0;font-size:12px;display:block}.court-lines{opacity:.38;border:1px solid color-mix(in srgb, var(--board-accent) 43%, transparent);width:min(400px,50vw);height:190px;display:block;position:absolute;bottom:74px;right:clamp(30px,6vw,100px);transform:perspective(500px)rotateX(58deg)rotate(-8deg)}.court-lines:before,.court-lines:after{content:"";border-right:1px solid color-mix(in srgb, var(--board-accent) 38%, transparent);position:absolute;top:0;bottom:0}.court-lines:before{left:26%}.court-lines:after{right:26%}.court-lines__net{border-top:2px solid color-mix(in srgb, var(--board-accent) 56%, transparent);position:absolute;top:50%;left:0;right:0}.court-lines__ball{background:var(--ball);width:18px;height:18px;box-shadow:0 0 25px color-mix(in srgb, var(--ball) 55%, transparent);border-radius:50%;position:absolute;top:20%;left:17%}.login-panel{justify-content:center;align-items:center;min-height:100vh;padding:54px clamp(34px,5vw,88px) 32px}.login-card h2{font-size:30px}}.app-layout{background:var(--bg);grid-template-columns:258px 1fr;min-height:100vh;display:grid}.sidebar{z-index:20;width:258px;padding:28px 18px max(18px, env(safe-area-inset-bottom));color:var(--wash);background:var(--board);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar__brand{gap:16px;padding:0 9px 30px;display:grid}.sidebar__eyebrow{color:#fff6;font-family:var(--font-display);letter-spacing:1.6px;text-transform:uppercase;margin:0 10px 10px;font-size:11px;font-weight:600}.sidebar__nav{gap:4px;display:grid}.nav-item{border-radius:var(--r-sm);color:#ffffffa8;text-align:left;background:0 0;border:0;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;min-height:44px;padding:0 12px;font-size:15px;text-decoration:none;display:grid}.nav-item:hover{background:var(--board-raised)}.nav-item--active{color:var(--on-board);background:var(--board-raised)}.nav-item--active svg{color:var(--board-accent)}.nav-item small{color:#fff6;letter-spacing:.4px;text-transform:uppercase;font-size:11px}.sidebar__footer{border-top:1px solid var(--board-line);align-items:center;gap:8px;margin-top:auto;padding-top:16px;display:flex}.sidebar-user{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.sidebar-user__avatar{width:36px;height:36px;color:var(--on-ball);background:var(--ball);font-family:var(--font-display);letter-spacing:.5px;border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:600;display:grid}.sidebar-user>span:last-child{gap:2px;min-width:0;display:grid}.sidebar-user strong{font-size:13px}.sidebar-user small{color:#ffffff80;text-overflow:ellipsis;font-size:12px;overflow:hidden}.app-main{grid-column:2;min-width:0}.dashboard{width:min(100%,1240px);margin:0 auto}.hero-card{border-radius:var(--r-md);color:var(--wash);background:var(--board);margin-bottom:16px;display:grid;position:relative;overflow:hidden}.hero-card__copy{z-index:2;padding:22px 18px 132px}.hero-card__pill{color:var(--board-accent-soft);font-family:var(--font-display);letter-spacing:1.4px;text-transform:uppercase;background:#cfe94f1a;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex}.hero-card h2{color:var(--wash);margin:14px 0 10px;font-size:clamp(24px,1.2rem + 1.4vw,34px)}.hero-card p{color:#eff6e9a8;max-width:46ch;margin:0 0 20px;font-size:15px;line-height:22px}.hero-card__button{border-radius:var(--r-sm);min-height:48px;color:var(--on-primary);background:var(--primary);border:0;align-items:center;gap:14px;padding:0 18px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.mini-court{opacity:.68;border:1px solid #cfe94f47;width:78%;height:46%;position:absolute;bottom:-14%;right:-10%;transform:perspective(800px)rotateX(50deg)rotate(-14deg)}.mini-court__line,.mini-court__service{background:#cfe94f45;position:absolute}.mini-court__line--vertical{width:1px;top:0;bottom:0;left:50%}.mini-court__line--horizontal{height:2px;top:50%;left:0;right:0}.mini-court__service{width:1px;top:22%;bottom:22%}.mini-court__service--left{left:25%}.mini-court__service--right{right:25%}.mini-court__ball{background:var(--ball);border-radius:50%;width:16px;height:16px;position:absolute;top:25%;left:18%;box-shadow:0 0 30px #cfe94fb3}.dashboard-grid{gap:16px;display:grid}.dashboard-column{align-content:start;gap:16px;min-width:0;display:grid}.quick-actions{display:grid}.quick-tile{color:inherit;text-decoration:none}.quick-tile:hover .feature-row__copy strong{color:var(--accent)}.quick-tile>svg{color:var(--muted);flex:none}.feature-row{border-top:1px solid var(--line);min-height:64px;color:var(--ink);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;text-decoration:none;display:grid}.feature-row>svg{color:var(--muted)}.feature-row:hover .feature-row__copy strong{color:var(--accent)}.feature-row:focus-visible{border-radius:var(--r-sm);outline:2px solid var(--focus);outline-offset:2px}.feature-row:first-child{border-top:0}.feature-row__icon{border-radius:var(--r-sm);width:44px;height:44px;color:var(--accent);background:var(--wash);place-items:center;display:grid}.feature-row__copy{gap:2px;min-width:0;display:grid}.feature-row__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.feature-row__copy small{color:var(--muted);font-size:13px;line-height:18px}.profile-panel{text-align:center}.profile-panel__avatar{width:64px;height:64px;color:var(--on-ball);background:var(--ball);box-shadow:0 0 0 7px var(--wash);border-radius:50%;place-items:center;margin:4px auto 16px;font-size:20px;font-weight:600;display:grid}.profile-panel h2{font-size:20px}.role-chip{color:var(--accent);background:var(--wash);border-radius:999px;align-items:center;gap:5px;margin-top:10px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.profile-panel__meta{border-top:1px solid var(--line);text-align:left;gap:14px;margin-top:22px;padding-top:18px;display:grid}.profile-panel__meta>div{color:var(--accent);align-items:center;gap:10px;display:flex}.profile-panel__meta span{min-width:0;color:var(--ink);gap:2px;font-size:15px;font-weight:600;display:grid}.profile-panel__meta small{color:var(--muted);font-size:12px;font-weight:500;line-height:16px}@media (width>=768px){.hero-card{border-radius:var(--r-lg);margin-bottom:20px}.hero-card__copy{padding:32px 26px 150px}.dashboard-grid,.dashboard-column{gap:20px}}@media (width>=1024px){.hero-card{grid-template-columns:1.05fr .95fr;min-height:280px;margin-bottom:24px}.hero-card__copy{padding:42px 20px 42px 44px}.mini-court{width:48%;height:154%;top:-27%;bottom:auto;right:-5%}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr);gap:24px}.dashboard-column{gap:24px}}.mobile-header,.bottom-nav,.sidebar-backdrop{display:none}@media (width<=1023px){.app-layout{padding:calc(60px + env(safe-area-inset-top)) 0 calc(64px + env(safe-area-inset-bottom));display:block}.mobile-header{z-index:30;height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;border-bottom:1px solid var(--line);color:var(--ink);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#f5f7f2eb;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.mobile-header .icon-button{color:var(--board);background:var(--ink-tint)}.sidebar{z-index:40;width:min(310px,86vw);padding-top:max(28px, env(safe-area-inset-top));transition:transform .22s;transform:translate(-105%)}.sidebar--open{transform:translate(0)}.sidebar-backdrop{z-index:35;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:0;display:block;position:fixed;inset:0}.app-main{display:block}.bottom-nav{z-index:25;padding:6px 4px max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--board-line);background:var(--board);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button,.bottom-nav a{border-radius:var(--r-sm);color:#ffffff8f;text-align:center;background:0 0;border:0;align-content:center;justify-items:center;gap:4px;min-height:44px;padding:4px 2px;font-size:11px;font-weight:500;line-height:1.2;text-decoration:none;display:grid}.bottom-nav__item--active{color:var(--board-accent)!important}}.admin-page{width:min(100%,1320px);min-width:0;margin:0 auto}.admin-page.admin-calendar-page{width:min(100%,1420px)}.admin-section-nav{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);max-width:100%;box-shadow:var(--shadow);scrollbar-width:none;gap:4px;margin-bottom:20px;padding:4px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 26px),#0000)}.admin-section-nav::-webkit-scrollbar{display:none}.admin-section-nav a{border-radius:var(--r-sm);min-height:40px;color:var(--muted);white-space:nowrap;flex:none;align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background .14s,color .14s;display:inline-flex}.admin-section-nav a:hover{color:var(--ink);background:var(--bg)}.admin-section-nav a.admin-section-nav__active{color:var(--select-ink);background:var(--select-bg)}@media (width<=1023px){.admin-section-nav a{min-height:44px}}@media (width>=1024px){.admin-section-nav{width:fit-content;-webkit-mask-image:none;mask-image:none}}.admin-heading{gap:16px;margin-bottom:20px;display:grid}.admin-heading h1{margin:0}.admin-heading__lead{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0;font-size:15px;line-height:1.5;display:flex}.admin-heading__lead svg{flex:none}.admin-heading__actions{flex-wrap:wrap;align-items:flex-end;gap:10px;min-width:0;display:flex}.admin-heading__actions>.btn{flex:auto}@media (width>=768px){.admin-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px}.admin-heading__actions{justify-content:flex-end}.admin-heading__actions>.btn{flex:none}}.admin-org-picker{gap:6px;width:100%;min-width:0;display:grid}.admin-org-picker__label,.admin-field>label,.admin-field__label{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:1.3;display:inline-flex}.admin-field>label small,.admin-field__label small{font-weight:400}.admin-org-picker--single>strong{height:var(--control-h);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);background:var(--bg);align-items:center;padding:0 12px;font-weight:600;display:flex}@media (width>=768px){.admin-org-picker{width:260px}}.admin-field{align-content:start;gap:6px;min-width:0;display:grid}.admin-field textarea,textarea.admin-textarea{resize:vertical;border:1px solid var(--line-strong);border-radius:var(--r-sm);width:100%;min-height:88px;color:var(--ink);background:var(--surface);font:inherit;outline:0;padding:10px 12px;font-size:max(16px,1em);line-height:1.45}.admin-field textarea:focus-visible,textarea.admin-textarea:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring)}.admin-field__error{color:var(--danger);font-size:13px;line-height:1.45}.admin-field__hint{color:var(--muted);font-size:13px;line-height:1.45}.admin-field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:0;box-shadow:var(--shadow)}.admin-card__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:14px 16px 12px;display:flex}.admin-card__head h2{font-family:var(--font-body);letter-spacing:0;text-transform:none;margin:0;font-size:16px;font-weight:600}.admin-card__head small{color:var(--muted);font-size:13px}.admin-card>.admin-state--compact{border:0;border-top:1px solid var(--line);border-radius:0 0 var(--r-md) var(--r-md);background:0 0;min-height:180px}.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}@media (width<=767px){.admin-kpis>.admin-kpi:last-child:nth-child(odd){grid-column:1/-1}}@media (width>=768px){.admin-kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}}.admin-kpi{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:0;box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:4px 10px;padding:14px 16px;display:grid}.admin-kpi__label{color:var(--muted);grid-column:1;font-size:12px;font-weight:600;line-height:1.35}.admin-kpi__value{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:24px;font-weight:700;line-height:1.15;overflow:hidden}.admin-kpi__hint{color:var(--muted);grid-column:1/-1;font-size:13px;line-height:1.4}.admin-kpi__icon{border-radius:var(--r-sm);width:36px;height:36px;color:var(--accent);background:var(--bg);grid-area:1/2/3;place-items:center;display:grid}.admin-kpi--ok .admin-kpi__icon{color:var(--ok-ink);background:var(--ok-bg)}.admin-kpi--wait .admin-kpi__icon{color:var(--wait-ink);background:var(--wait-bg)}.admin-kpi--danger .admin-kpi__icon{color:var(--danger);background:var(--danger-wash)}.admin-kpi--info .admin-kpi__icon{color:var(--info);background:var(--info-soft)}@media (width<=479px){.admin-kpi{padding:12px}.admin-kpi__value{font-size:20px}.admin-kpi__icon{width:32px;height:32px}}.admin-chip{border-radius:var(--r-pill);width:fit-content;height:24px;color:var(--muted);background:var(--chip-neutral);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-style:normal;font-weight:600;line-height:1;display:inline-flex}.admin-chip:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.admin-chip--ok{color:var(--ok-ink);background:var(--ok-bg)}.admin-chip--wait{color:var(--wait-ink);background:var(--wait-bg)}.admin-chip--danger{color:var(--danger);background:var(--danger-wash)}.admin-chip--info{color:var(--info);background:var(--info-soft)}.guest-badge{border-radius:var(--r-pill);width:fit-content;height:20px;color:var(--muted);background:var(--chip-neutral);white-space:nowrap;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.admin-table-scroll{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.admin-table thead th{border-bottom:1px solid var(--line);color:var(--muted);background:var(--thead);font-family:var(--font-body);letter-spacing:0;text-align:left;text-transform:none;white-space:nowrap;padding:9px 16px;font-size:12px;font-weight:600}.admin-table tbody th,.admin-table td{border-bottom:1px solid var(--line);color:var(--ink);text-align:left;vertical-align:middle;padding:12px 16px;font-size:14px;font-weight:400}.admin-table tbody th{font-weight:600}.admin-table tbody tr:last-child th,.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:var(--wash)}.admin-table th.num,.admin-table td.num{text-align:right}.admin-state,.infrastructure-state,.schedule-state,.calendar-state{min-height:50vh;color:var(--accent);text-align:center;place-content:center;justify-items:center;gap:10px;padding:24px 16px;display:grid}.admin-state--compact,.infrastructure-state--compact,.schedule-state--compact,.calendar-state--compact{border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface);min-height:200px;padding:24px}.admin-state>strong,.infrastructure-state strong,.schedule-state strong,.calendar-state strong{color:var(--ink);font-size:16px;font-weight:600}.admin-state>span,.infrastructure-state span,.schedule-state span,.calendar-state span{max-width:42ch;color:var(--muted);font-size:14px;line-height:1.5}.admin-state>a{border:1px solid var(--line-strong);border-radius:var(--r-sm);min-height:44px;color:var(--ink);background:var(--surface);align-items:center;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.admin-notice{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--accent);background:var(--wash);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.admin-notice>svg{flex:none;margin-top:1px}.admin-notice>span{min-width:0;color:var(--ink);gap:2px;display:grid}.admin-notice small{color:var(--muted);font-size:13px}.admin-notice--ok{color:var(--ok-ink);background:var(--ok-bg);border-color:#0000}.admin-notice--ok>span{color:var(--ok-ink);font-weight:600}.admin-notice--warn{border-color:var(--wait-line);color:var(--wait-ink);background:var(--wait-bg)}.admin-notice--danger{border-color:var(--danger-line);color:var(--danger);background:var(--danger-wash)}.admin-modal.modal{gap:16px}.admin-modal--wide.modal{width:min(100%,760px)}.admin-modal__heading{gap:4px;min-width:0;display:grid}.admin-modal__kicker{color:var(--muted);margin:0;font-size:13px;font-weight:600}.admin-modal__lead{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:14px;line-height:1.5;display:flex}.admin-modal__lead svg{flex:none}.admin-form{gap:14px;min-width:0;display:grid}.admin-form fieldset{border:0;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;display:flex}.admin-form legend{color:var(--muted);margin-bottom:6px;padding:0;font-size:12px;font-weight:600}.admin-check{min-height:44px;color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.admin-check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:0}.admin-check span{align-items:center;gap:6px;display:inline-flex}.admin-modal .modal__actions,.admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}@media (width<=640px){.admin-modal .modal__actions>.btn,.admin-actions>.btn{flex:1 1 0}}.admin-presets{flex-wrap:wrap;gap:8px;display:flex}.admin-filters{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr);align-items:end;gap:12px;margin-bottom:16px;padding:14px;display:grid}@media (width>=640px){.admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filters__reset.btn{width:fit-content}}@media (width>=1024px){.admin-filters{grid-template-columns:repeat(4,minmax(0,1fr)) auto}}.admin-booking-list{border-top:1px solid var(--line);display:grid}.admin-booking-list__header{display:none}.admin-booking-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:var(--surface);font:inherit;text-align:left;cursor:pointer;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 14px;margin:0;padding:14px 16px;transition:background .13s;display:grid}.admin-booking-row:last-child{border-radius:0 0 var(--r-md) var(--r-md);border-bottom:0}.admin-booking-row:hover{background:var(--wash)}.admin-booking-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.admin-booking-row>span{gap:2px;min-width:0;display:grid}.admin-booking-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.admin-booking-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.admin-booking-row__player small{white-space:normal;flex-wrap:wrap;align-items:center;gap:2px 6px;display:flex;overflow:visible}.admin-booking-row__amount strong{color:var(--money)}.admin-booking-row__chevron{color:var(--muted);display:none}.admin-booking-row__court,.admin-booking-row__player,.admin-booking-row__amount{grid-column:1/-1}.admin-booking-row__status{grid-area:1/2;align-self:start}.admin-booking-row__amount{grid-auto-flow:column;justify-content:start;align-items:baseline;gap:8px}@media (width>=1024px){.admin-booking-list__header,.admin-booking-row{grid-template-columns:1.1fr 1.1fr 1.3fr 1fr .8fr 18px;align-items:center;gap:16px;display:grid}.admin-booking-list__header{border-bottom:1px solid var(--line);min-height:36px;color:var(--muted);background:var(--thead);padding:0 16px;font-size:12px;font-weight:600}.admin-booking-row{padding:11px 16px}.admin-booking-row__court,.admin-booking-row__player,.admin-booking-row__amount,.admin-booking-row__status{grid-area:auto;align-self:center}.admin-booking-row__amount,.admin-booking-list__amount{text-align:right;justify-items:end}.admin-booking-row__amount{grid-auto-flow:row;justify-content:end;gap:2px}.admin-booking-row__chevron{display:block}}.admin-detail-layout{align-items:start;gap:16px;display:grid}.admin-detail-main{gap:16px;min-width:0;display:grid}.admin-chip.admin-chip--lg{height:32px;padding:0 14px;font-size:13px}.admin-detail-card,.admin-cancellation-card,.admin-payment-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:0;box-shadow:var(--shadow);padding:18px}.admin-detail-card h2,.admin-cancellation-card h2,.admin-detail-card .booking-participants h2{font-family:var(--font-body);letter-spacing:0;text-transform:none;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:flex}.admin-detail-card h2 svg{color:var(--accent);flex:none}.admin-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.admin-detail-facts strong{white-space:normal}.admin-detail-facts>span{border:1px solid var(--line);border-radius:var(--r-sm);min-width:0;color:var(--accent);background:var(--wash);grid-template-columns:24px minmax(0,1fr);gap:2px 8px;padding:12px 14px;display:grid}.admin-detail-facts svg{grid-row:1/3}.admin-detail-facts small,.admin-player-card small{color:var(--muted);font-size:12px;font-weight:600}.admin-player-card small.num{font-size:13px;font-weight:400}.admin-detail-facts strong,.admin-player-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.admin-player-card{border:1px solid var(--line);border-radius:var(--r-sm);flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding:14px;display:flex}.admin-player-card>span:not(.guest-badge){width:44px;height:44px;color:var(--accent);background:var(--bg);border-radius:50%;flex:none;place-items:center;display:grid}.admin-player-card>div{flex:140px;gap:2px;min-width:0;display:grid}.admin-player-card>a.btn{margin-left:auto}.admin-cancellation-card__heading{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:16px;display:grid}.admin-cancellation-card__heading>span{border-radius:var(--r-sm);width:44px;height:44px;color:var(--danger);background:var(--bg);place-items:center;display:grid}.admin-cancellation-card__heading p{color:var(--muted);margin:5px 0 0;font-size:14px;line-height:1.5}.admin-refund-choice{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:16px;display:grid}@media (width>=640px){.admin-refund-choice{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-refund-choice button{border:1px solid var(--line);border-radius:var(--r-sm);min-height:72px;color:var(--muted);background:var(--surface);text-align:left;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:14px;display:grid}.admin-refund-choice button>span{place-items:center;display:grid}.admin-refund-choice button>div{gap:3px;min-width:0;display:grid}.admin-refund-choice button strong{color:var(--ink);font-size:15px;font-weight:600}.admin-refund-choice button small{color:var(--muted);font-size:13px;line-height:1.4}.admin-refund-choice button.admin-refund-choice--selected{border-color:var(--focus);color:var(--select-ink);background:var(--select-bg)}.admin-refund-choice button.admin-refund-choice--danger{border-color:var(--danger-line);color:var(--danger);background:var(--danger-wash)}.admin-cancellation-card form>label{color:var(--muted);flex-wrap:wrap;gap:6px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.admin-cancellation-card form>label small{color:var(--muted);font-weight:500}.admin-cancel-submit.btn{margin-top:14px}.admin-payment-card__heading{color:var(--accent);align-items:center;gap:10px;display:flex}.admin-payment-card__heading>div{gap:2px;min-width:0;display:grid}.admin-payment-card__heading small{color:var(--muted);font-size:12px;font-weight:600}.admin-payment-card__heading strong{color:var(--ink);font-size:17px}.admin-payment-id{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin-top:14px;font-size:13px;display:flex}.admin-offline-payment{border-top:1px solid var(--line);gap:10px;margin-top:16px;padding-top:16px;display:grid}.admin-offline-payment p{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.admin-offline-payment p svg{flex:none}.admin-offline-payment .admin-offline-payment--paid{color:var(--ok-ink);font-weight:600}.admin-cancellation-result{color:var(--muted);background:var(--wash);grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;display:grid}.admin-cancellation-result>span{border-radius:var(--r-sm);background:var(--surface);place-items:center;width:44px;height:44px;display:grid}.admin-cancellation-result p{color:var(--muted);margin:5px 0;font-size:14px;line-height:1.5}.admin-cancellation-result strong{color:var(--ink);font-size:15px}@media (width>=1024px){.admin-detail-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.4fr);gap:20px}.admin-detail-card,.admin-cancellation-card,.admin-payment-card{padding:24px}}@media (width<=1023px){.admin-payment-card{order:-1}}.my-bookings-page,.booking-details-page{width:min(100%,1180px);margin:0 auto}.booking-overview{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);align-items:center;gap:16px;margin-bottom:16px;padding:16px;display:flex}.booking-overview>span{border-radius:var(--r-sm);width:44px;height:44px;color:var(--accent);background:var(--bg);flex:none;place-items:center;display:grid}.booking-overview>div{gap:1px;display:grid}.booking-overview strong{font-size:20px;font-weight:600}.booking-overview small{color:var(--muted);font-size:12px;line-height:1.35}.booking-overview i{border-left:1px solid var(--line);height:34px}.booking-tabs{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);gap:4px;margin-bottom:16px;padding:4px;display:flex}.booking-tabs button{border-radius:calc(var(--r-sm) - 2px);min-height:40px;color:var(--muted);background:0 0;border:0;flex:1;padding:0 16px;font-size:14px;font-weight:600}.booking-tabs button:hover{color:var(--ink)}.booking-tabs button.booking-tab--active{color:var(--select-ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line), var(--shadow)}.booking-tabs button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.booking-list{gap:8px;display:grid}.booking-list-card{border:1px solid var(--line);border-radius:var(--r-md);min-width:0;color:var(--ink);background:var(--surface);grid-template-columns:48px minmax(0,1fr);align-items:start;gap:12px;padding:14px;text-decoration:none;transition:border-color .15s,transform .15s;display:grid}.booking-list-card:hover{border-color:var(--accent);transform:translateY(-1px)}.booking-list-card__date{border-radius:var(--r-md);width:48px;height:48px;color:var(--accent);background:var(--bg);place-items:center;display:grid}.booking-list-card__main{min-width:0}.booking-list-card__title{gap:8px;margin-bottom:12px;display:grid}.booking-list-card__title>div{gap:3px;min-width:0;display:grid}.booking-list-card__title>div>strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.booking-list-card__title>div>span{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:flex}.booking-status{border:1px solid var(--line);min-height:26px;color:var(--muted);background:var(--bg);letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.booking-status--confirmed{color:var(--ok-ink);background:var(--ok-bg);border-color:#0000}.booking-status--cancelled,.booking-status--expired{color:var(--danger)}.booking-list-card__meta{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.booking-list-card__meta>span{color:var(--accent);align-items:center;gap:6px;display:flex}.booking-list-card__meta strong{color:var(--ink);font-size:14px;font-weight:600}.booking-list-card__meta small{color:var(--muted);font-size:12px}.booking-list-card__arrow{color:var(--muted);display:none}.bookings-state{border:1px dashed var(--line-strong);border-radius:var(--r-md);min-height:240px;color:var(--accent);background:var(--surface);text-align:center;align-content:center;place-items:center;gap:8px;padding:32px 24px;display:grid}.bookings-state--error{color:var(--danger)}.bookings-state strong{color:var(--ink);font-size:17px}.bookings-state span,.bookings-state p{max-width:360px;color:var(--muted);margin:0;font-size:14px;line-height:1.5}.bookings-state--empty>span{width:64px;height:64px;color:var(--accent);background:var(--bg);border-radius:50%;place-items:center;display:grid}.bookings-state a,.bookings-state button{height:var(--control-h);border-radius:var(--r-sm);color:var(--on-primary);background:var(--primary);border:0;align-items:center;margin-top:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.bookings-state--error button{border:1px solid var(--line-strong);color:var(--ink);background:var(--surface)}.details-back{min-height:44px;color:var(--muted);align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.booking-details-layout{align-items:start;gap:16px;display:grid}.booking-details-card,.booking-receipt{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:0}.booking-details-card{padding:16px}.booking-receipt{grid-row:1;padding:16px}.booking-details-card__heading,.booking-receipt__heading{align-items:center;gap:12px;display:flex}.booking-details-card__heading>span,.booking-receipt__heading>svg{border-radius:var(--r-sm);width:44px;height:44px;color:var(--accent);background:var(--bg);padding:11px;display:grid}.booking-details-card__heading>div,.booking-receipt__heading>div{gap:2px;display:grid}.booking-details-card__heading small,.booking-receipt__heading small{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:11px;font-weight:700}.booking-details-card__heading strong,.booking-receipt__heading strong{font-size:16px;font-weight:600}.booking-detail-facts{border:1px solid var(--line);border-radius:var(--r-md);background:var(--line);gap:1px;margin:18px 0;display:grid;overflow:hidden}.booking-detail-facts>span{min-width:0;color:var(--accent);background:var(--surface);grid-template-columns:24px minmax(0,1fr);gap:3px 8px;padding:14px;display:grid}.booking-detail-facts svg{grid-row:1/3}.booking-detail-facts small{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:11px;font-weight:700}.booking-detail-facts strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.details-notice,.details-cancellation-policy{border-radius:var(--r-md);grid-template-columns:40px minmax(0,1fr);align-items:start;gap:12px;margin-top:14px;padding:14px;display:grid}.details-notice{color:var(--ink);background:var(--bg)}.details-notice>div,.details-cancellation-policy>div{gap:5px;display:grid}.details-notice strong,.details-cancellation-policy strong{color:var(--ink);font-size:15px;font-weight:600}.details-notice span,.details-notice small,.details-cancellation-policy p,.details-cancellation-policy small{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.details-notice a{border-radius:var(--r-sm);width:fit-content;min-height:44px;color:var(--on-primary);background:var(--primary);grid-column:2;align-items:center;padding:0 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.details-notice--cancelled{color:var(--muted);background:var(--bg)}.details-cancellation-policy{color:var(--accent);background:var(--bg)}.details-cancellation-policy>span{border-radius:var(--r-sm);background:var(--surface);place-items:center;width:40px;height:40px;display:grid}.details-cancellation-policy>.btn{grid-column:2;width:fit-content}.booking-receipt__lines{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:9px;margin:16px 0 12px;padding:16px 0;display:grid}.booking-receipt__lines>span,.booking-receipt__total{justify-content:space-between;gap:14px;display:flex}.booking-receipt__lines small{color:var(--muted);font-size:13px}.booking-receipt__lines strong{font-size:14px;font-weight:600}.booking-receipt__lines.booking-receipt__lines--services{border-top:0;margin-top:-12px;padding-top:0}.order-card__price-lines.booking-receipt__lines--services{border-top:1px dashed var(--line);margin-top:8px;padding-top:8px}.booking-receipt__total{color:var(--muted);align-items:baseline;margin-bottom:16px;font-size:14px}.booking-receipt__total strong{color:var(--ink);letter-spacing:-.4px;font-size:24px;font-weight:600}.booking-receipt__payment{border-radius:var(--r-sm);color:var(--accent);background:var(--bg);align-items:center;gap:10px;padding:12px;display:flex}.booking-receipt__payment span{gap:2px;display:grid}.booking-receipt__payment small{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:11px;font-weight:700}.booking-receipt__payment strong{color:var(--ink);font-size:14px;font-weight:600}.booking-details-state{min-height:60svh;color:var(--accent);text-align:center;place-content:center;justify-items:center;gap:10px;display:grid}.booking-details-state strong{color:var(--ink);font-size:17px}.booking-details-state span{color:var(--muted);font-size:14px;line-height:1.5}.booking-details-state a{min-height:44px;color:var(--accent);align-items:center;font-size:14px;font-weight:700;display:inline-flex}.cancel-modal__lead{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.cancel-modal__form{gap:16px;display:grid}.cancel-modal__validation{color:var(--danger)}.cancel-modal .modal__actions>.btn{flex:200px}.refund-preview{border-radius:var(--r-sm);color:var(--danger);background:var(--bg);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;padding:12px;display:grid}.refund-preview--positive{color:var(--accent)}.refund-preview>span{place-items:center;display:grid}.refund-preview>div{gap:3px;display:grid}.refund-preview strong{color:var(--ink);font-size:15px;font-weight:600}.refund-preview small{color:var(--muted);font-size:13px;line-height:1.45}@media (width>=640px){.booking-detail-facts{grid-template-columns:repeat(3,1fr)}}@media (width>=768px){.booking-tabs{width:fit-content}.booking-tabs button{flex:none;min-width:110px}.booking-list-card{grid-template-columns:52px minmax(0,1fr) 28px;align-items:center;gap:16px;padding:16px 18px}.booking-list-card__date{width:52px;height:52px}.booking-list-card__title{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.booking-list-card__meta>span:last-child{margin-left:auto}.booking-list-card__arrow{display:block}.booking-details-card,.booking-receipt{padding:24px}}@media (width>=1024px){.booking-details-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:20px}.booking-receipt{grid-column:2}}.booking-page,.checkout-page{width:min(100%,1320px);margin:0 auto}.page-heading{gap:14px;margin-bottom:20px;display:grid}.page-heading h1,.checkout-card h1,.payment-result h1{margin:0 0 6px}.page-heading>div>p:last-child,.checkout-card__lead{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.booking-steps{flex:none;align-items:center;margin-top:8px;display:none}.booking-steps span{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:13px;font-style:normal;font-weight:600;display:grid}.booking-steps span.booking-steps__active,.booking-steps span.booking-steps__complete{border-color:var(--board);color:var(--on-board);background:var(--board)}.booking-steps span.booking-steps__complete{border-color:var(--primary);color:var(--on-primary);background:var(--primary)}.booking-steps i{border-top:1px solid var(--line);width:28px}.booking-steps i.booking-steps__line--complete{border-color:var(--accent)}.booking-layout{align-items:start;gap:16px;display:grid}.booking-content{gap:16px;min-width:0;display:grid}.booking-section,.booking-summary,.checkout-card,.order-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.booking-section{min-width:0;padding:16px}.booking-section__heading{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.section-number{border-radius:var(--r-sm);width:34px;height:34px;color:var(--board-accent);background:var(--board);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.booking-section h2,.booking-summary h2,.order-card h2{margin:0 0 4px;font-size:20px}.booking-section__heading p{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.venue-filters{gap:12px;margin-bottom:16px;display:grid}.court-grid{gap:10px;display:grid}.court-card{border:1px solid var(--line);border-radius:var(--r-md);min-width:0;min-height:76px;color:var(--ink);background:var(--surface);text-align:left;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 10px 9px 9px;transition:border-color .15s,box-shadow .15s;display:grid}.court-card:hover,.court-card--selected{border-color:var(--accent)}.court-card--selected{box-shadow:0 0 0 3px var(--focus-ring)}.court-card__visual{border-radius:var(--r-sm);width:56px;height:56px;display:block;position:relative;overflow:hidden}.court-card__visual>span{width:20px;height:20px;color:var(--on-ball);background:var(--ball);border-radius:50%;place-items:center;display:grid;position:absolute;top:5px;right:5px}.court-visual{background-color:var(--court-hard);background-image:linear-gradient(90deg,#0000 48%,#f0fae8a6 49% 51%,#0000 52%),linear-gradient(#0000 48%,#f0fae8a6 49% 51%,#0000 52%);position:absolute;inset:0;transform:rotate(-7deg)scale(1.08)}.court-visual:before{content:"";border:1px solid #f0fae88c;position:absolute;inset:9px 6px}.court-visual--clay{background-color:var(--court-clay)}.court-visual--grass{background-color:var(--court-grass)}.court-visual--artificial-grass{background-color:var(--court-artificial)}.court-card__copy{gap:3px;min-width:0;display:grid}.court-card__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.court-card__copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.court-card>svg{color:var(--muted)}.court-catalog-empty{border:1px dashed var(--line);border-radius:var(--r-md);min-height:76px;color:var(--accent);background:var(--bg);text-align:left;grid-column:1/-1;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex}.court-catalog-empty>span{gap:3px;display:grid}.court-catalog-empty strong{color:var(--ink);font-size:15px}.court-catalog-empty small{color:var(--muted);font-size:13px;line-height:1.45}.date-row{align-items:flex-start;gap:8px;min-width:0;display:flex}.date-strip{overscroll-behavior-x:contain;scrollbar-width:thin;flex:1;grid-auto-columns:62px;grid-auto-flow:column;gap:8px;width:100%;min-width:0;padding-bottom:6px;display:grid;overflow-x:auto}.date-strip>button{border:1px solid var(--line);border-radius:var(--r-sm);min-height:74px;color:var(--muted);background:var(--surface);text-align:center;place-content:center;gap:2px;display:grid}.date-strip>button small{text-transform:uppercase;font-size:11px;font-weight:700}.date-strip>button strong{color:var(--ink);font-size:20px;font-weight:600}.date-strip>button span{font-size:12px}.date-strip>button.date-chip--active{border-color:var(--board);color:#ffffffb8;background:var(--board)}.date-strip>button.date-chip--active strong{color:var(--on-board)}.calendar-picker{flex:0 0 62px;position:relative}.calendar-picker__toggle{border:1px dashed var(--line);border-radius:var(--r-sm);width:100%;min-height:74px;color:var(--accent);background:var(--bg);cursor:pointer;place-items:center;gap:2px;display:grid}.calendar-picker__toggle--picked{border-style:solid;border-color:var(--board);color:#ffffffb8;background:var(--board)}.calendar-picker__toggle--picked small{text-transform:uppercase;font-size:12px;font-weight:500}.calendar-picker__toggle--picked strong{color:var(--on-board);font-size:19px;font-weight:600}.calendar-picker__toggle--picked span{font-size:12px}.calendar-popover{z-index:20;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);width:300px;max-width:calc(100vw - 32px);padding:12px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 44px #04130a2e}.calendar-popover__head{grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;margin-bottom:10px;display:grid}.calendar-popover__head strong{color:var(--ink);text-align:center;text-transform:capitalize;font-size:15px;font-weight:600}.calendar-popover__head button{border:1px solid var(--line);border-radius:var(--r-sm);width:34px;height:34px;color:var(--accent);background:var(--surface);cursor:pointer;place-items:center;display:grid}.calendar-popover__head button:disabled{color:var(--muted);opacity:.5;cursor:default}.calendar-popover__weekdays,.calendar-popover__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-popover__weekdays{color:var(--muted);text-align:center;text-transform:uppercase;margin-bottom:4px;font-size:11px}.calendar-popover__day{border-radius:var(--r-sm);min-height:36px;color:var(--ink);background:var(--bg);cursor:pointer;border:1px solid #0000;place-items:center;font-size:14px;display:grid}.calendar-popover__day:not(:disabled):hover,.calendar-popover__day--today{border-color:var(--accent)}.calendar-popover__day.is-selected{border-color:var(--board);color:var(--on-board);background:var(--board)}.calendar-popover__day:disabled{color:var(--muted);opacity:.55;cursor:default;background:0 0}.calendar-popover__day-empty{min-height:36px}.slot-legend{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin:18px 0 12px;font-size:13px;display:flex}.slot-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{border:1px solid var(--line);background:var(--surface);border-radius:50%;width:9px;height:9px}.legend-dot--selected{border-color:var(--board);background:var(--board)}.legend-dot--busy{border-color:var(--line);background:var(--line)}.legend-dot--coach-open{border-color:var(--coach-ink);background:var(--coach-ink)}.legend-dot--coach-taken{border-color:var(--coach-bg);background:var(--coach-bg)}.time-slots{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;display:grid}.time-slots button{border:1px solid var(--line);border-radius:var(--r-sm);min-height:56px;color:var(--ink);background:var(--surface);text-align:center;place-content:center;gap:2px;display:grid}.time-slots button strong{font-size:15px;font-weight:600}.time-slots button small{color:var(--muted);font-size:12px}.time-slots button:not(:disabled):hover{border-color:var(--accent)}.time-slots button.time-slot--selected{border-color:var(--board);color:var(--on-board);background:var(--board)}.time-slots button.time-slot--selected small{color:var(--board-accent-soft)}.time-slots button:disabled{border-color:var(--line);color:var(--muted);background:var(--bg);opacity:.75;text-decoration:line-through}.time-slots button:disabled small{text-decoration:none}.time-slots button.time-slot--coach-open{border-color:var(--coach-ink);color:var(--coach-ink);background:var(--coach-bg)}.time-slots button.time-slot--coach-open small{color:var(--coach-ink)}.time-slots button.time-slot--coach-open:hover{border-color:var(--coach-ink);box-shadow:inset 0 0 0 1px var(--coach-ink)}.time-slots button.time-slot--coach-taken:disabled{border-color:var(--coach-bg);color:var(--coach-ink);background:var(--coach-bg);opacity:.65;text-decoration:none}.time-slots button.time-slot--coach-taken:disabled small{color:var(--coach-ink)}.booking-summary{padding:16px}.booking-summary__top{border-bottom:1px solid var(--line);padding-bottom:14px}.booking-summary__details{gap:14px;padding:16px 0;display:grid}.summary-row{grid-template-columns:40px minmax(0,1fr);align-items:flex-start;gap:12px;display:grid}.summary-row__icon{border-radius:var(--r-sm);width:40px;height:40px;color:var(--accent);background:var(--bg);place-items:center;display:grid}.summary-row__copy{gap:2px;min-width:0;padding-top:2px;display:grid}.summary-row__copy>small{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:11px;font-weight:700}.summary-row__copy strong{font-size:15px;font-weight:600;line-height:1.35}.summary-row__copy strong:first-letter{text-transform:uppercase}.summary-row__copy>small:last-child:not(:first-child){color:var(--muted);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;text-transform:none;font-size:13px;font-weight:400;overflow:hidden}.summary-row__copy>small.booking-summary__hint{color:var(--danger);letter-spacing:0;text-transform:none;white-space:normal;font-size:13px;font-weight:600}.booking-summary__empty{min-height:150px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:6px;padding:20px 8px;display:grid}.booking-summary__empty svg{color:var(--accent);margin-bottom:6px}.booking-summary__empty strong{color:var(--ink);font-size:15px}.booking-summary__empty span{max-width:260px;font-size:13px;line-height:1.45}.booking-rules{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);gap:10px;margin-top:14px;padding:12px 14px;display:flex}.booking-rules svg{color:var(--accent);flex:none}.booking-rules>span{gap:3px;display:grid}.booking-rules strong{font-size:14px}.booking-rules small{color:var(--muted);white-space:pre-line;font-size:13px;line-height:1.5}.location-amenities{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.location-amenity{color:var(--muted);background:var(--bg);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.location-amenity svg{color:var(--accent);flex:none}.booking-amenities{margin-top:14px}.booking-lesson-cta{margin-top:16px}.booking-lesson-cta svg{color:var(--accent);flex:none}.service-options{gap:8px;display:grid}.service-option{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;align-items:center;gap:12px;min-height:56px;padding:12px 14px;display:flex}.service-option--selected{border-color:var(--accent);background:var(--bg)}.service-option__copy{flex:auto;gap:2px;min-width:0;display:grid}.service-option__copy strong{font-size:15px;font-weight:600}.service-option__copy small{color:var(--muted);font-size:13px}.service-option__price{font-size:15px;font-weight:600}.service-included{color:var(--muted);align-items:center;gap:8px;margin:10px 0 0;font-size:13px;display:flex}.booking-summary__lines{border-top:1px solid var(--line);gap:8px;padding:14px 0;display:grid}.booking-summary__lines>span{justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-summary__lines small{color:var(--muted);font-size:13px}.booking-summary__lines strong{font-size:14px;font-weight:600}.booking-summary__price{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:14px;padding:16px 0;display:flex}.booking-summary__price>span{gap:4px;display:grid}.booking-summary__price small{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:11px;font-weight:700}.booking-summary__price strong{letter-spacing:-.6px;font-size:28px;font-weight:600}.booking-summary__button{text-align:left;white-space:normal;justify-content:space-between;height:auto;min-height:52px;padding-top:8px;padding-bottom:8px;line-height:1.25}.booking-summary__note,.payment-security{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:8px;margin:12px 0 0;font-size:13px;line-height:1.45;display:flex}.booking-summary__note svg,.payment-security svg{flex:none}.loading-block,.closed-day,.inline-error{min-height:110px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.loading-block svg{animation:1s linear infinite spin}.closed-day{border:1px dashed var(--line);border-radius:var(--r-md);background:var(--bg);text-align:center;flex-direction:column;padding:24px 16px}.closed-day svg{color:var(--accent)}.closed-day strong{color:var(--ink);font-size:15px}.closed-day span{max-width:330px;font-size:13px;line-height:1.45}.closed-day button,.inline-error button{border:1px solid var(--line);border-radius:var(--r-sm);min-height:44px;color:var(--accent);background:var(--surface);white-space:nowrap;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.inline-error{border:1px solid var(--danger-soft);border-radius:var(--r-sm);min-height:auto;color:var(--danger);background:var(--danger-soft);text-align:left;flex-wrap:wrap;justify-content:space-between;padding:12px 14px}@media (width>=640px){.venue-filters,.court-grid{grid-template-columns:1fr 1fr}}@media (width>=768px){.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px;display:flex}.booking-steps{display:flex}.booking-layout,.booking-content{gap:20px}.booking-section,.booking-summary{padding:24px}.date-strip{grid-auto-columns:minmax(62px,1fr)}}@media (width>=1024px){.booking-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.63fr)}.booking-summary{position:sticky;top:24px}}.checkout-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.checkout-header>a{min-height:44px;color:var(--muted);align-items:center;gap:8px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.checkout-layout{align-items:start;gap:16px;width:100%;margin:0 auto;display:grid}.checkout-card,.order-card{--action-bar-gutter:16px;padding:var(--action-bar-gutter)}.order-card{grid-row:1}.checkout-card h1{margin-bottom:8px}.payment-timer{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;margin:20px 0 16px;padding:14px;display:grid;position:relative;overflow:hidden}.payment-timer>span{border-radius:var(--r-sm);width:44px;height:44px;color:var(--on-highlight);background:var(--highlight);place-items:center;display:grid}.payment-timer>div{gap:2px;display:grid}.payment-timer small{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:11px;font-weight:700}.payment-timer strong{letter-spacing:.5px;font-size:26px;font-weight:600}.payment-timer>i{background:linear-gradient(90deg, var(--accent) var(--progress), var(--line) var(--progress));height:3px;position:absolute;bottom:0;left:0;right:0}.payment-timer--expired{border-color:var(--danger-soft);background:var(--danger-soft)}.payment-timer--expired>span{color:var(--danger);background:var(--danger-soft)}.mock-payment-box{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;padding:14px;display:grid}.mock-payment-box__icon{border-radius:var(--r-sm);width:44px;height:44px;color:var(--accent);background:var(--surface);place-items:center;display:grid}.mock-payment-box>div{gap:3px;display:grid}.mock-payment-box strong{font-size:15px;font-weight:600}.mock-payment-box small{color:var(--muted);font-size:13px;line-height:1.4}.mock-payment-box__badge{color:var(--on-highlight);background:var(--highlight);letter-spacing:.6px;font-variant-numeric:tabular-nums;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600}.checkout-pay{justify-content:space-between}.checkout-pay>span{align-items:center;gap:8px;display:inline-flex}.fail-payment-button:disabled{opacity:.48}.fail-payment-button{width:100%;min-height:44px;color:var(--muted);background:0 0;border:0;font-size:13px;text-decoration:underline}.order-card__header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.order-card__header>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.order-card h2{margin-top:8px}.order-card>p{color:var(--muted);margin:0;font-size:14px}.order-card__details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:14px;margin:18px 0;padding:18px 0;display:grid}.order-card__details>div{color:var(--accent);grid-template-columns:26px minmax(0,1fr);align-items:flex-start;gap:10px;display:grid}.order-card__details span{gap:2px;display:grid}.order-card__details small{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:11px;font-weight:700}.order-card__details strong{color:var(--ink);font-size:15px;font-weight:600;line-height:1.4}.order-card__details strong:first-letter{text-transform:uppercase}.order-card__price-lines{gap:8px;display:grid}.order-card__price-lines span,.order-card__total{justify-content:space-between;align-items:center;gap:12px;display:flex}.order-card__price-lines small{color:var(--muted);font-size:13px}.order-card__price-lines strong{font-size:14px;font-weight:600}.order-card__total{border-top:1px solid var(--line);color:var(--muted);margin-top:14px;padding-top:14px;font-size:14px}.order-card__total strong{color:var(--ink);letter-spacing:-.4px;font-size:22px;font-weight:600}.order-card__total--share{border-top:0;margin-top:8px;padding-top:0}.order-card__total--share strong{font-size:17px}.payment-shares{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);gap:10px;margin:16px 0;padding:14px;display:grid}.payment-shares__heading{color:var(--ink);align-items:center;gap:8px;font-size:14px;display:flex}.payment-shares__hint{color:var(--muted);font-size:13px;line-height:1.45}.payment-share-row{color:var(--ink);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;font-size:14px;display:grid}.payment-share-row>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.payment-share-row>strong{font-variant-numeric:tabular-nums;font-weight:600}.share-status{color:var(--muted);background:var(--surface);white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.share-status--paid{color:var(--ok-ink);background:var(--ok-bg)}.share-status--failed,.share-status--expired,.share-status--cancelled{color:var(--danger);background:var(--danger-soft)}.share-status--refunded{color:var(--muted);background:var(--line)}.split-deadline-note,.split-waiting-note{border:1px dashed var(--line);border-radius:var(--r-md);color:var(--muted);align-items:center;gap:12px;margin:16px 0;padding:14px;font-size:13px;line-height:1.5;display:flex}.split-deadline-note svg,.split-waiting-note svg{flex:none}.split-waiting-note{border-style:solid;border-color:var(--line);color:var(--ink);background:var(--bg)}.checkout-page--centered,.payment-result{width:min(100% - 32px,570px);min-height:calc(100svh - 160px);color:var(--accent);text-align:center;place-content:center;justify-items:center;gap:10px;margin:0 auto;display:grid}.checkout-page--centered strong{color:var(--ink);font-size:17px}.checkout-page--centered span{color:var(--muted);font-size:14px;line-height:1.5}.payment-result__icon{border-radius:50%;place-items:center;width:78px;height:78px;margin-bottom:18px;display:grid}.payment-result__icon--success{color:var(--ok-ink);background:var(--ok-bg);box-shadow:0 0 0 10px var(--bg)}.payment-result__icon--failed{color:var(--danger);background:var(--danger-soft);box-shadow:0 0 0 10px var(--danger-soft)}.payment-result h1{color:var(--ink)}.payment-result>p:not(.eyebrow){max-width:430px;color:var(--muted);margin:0 0 18px;font-size:15px;line-height:1.55}.payment-result__ticket{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);grid-template-columns:1fr 1fr;width:min(100%,380px);margin-bottom:16px;padding:16px;display:grid}.payment-result__ticket span{gap:5px;display:grid}.payment-result__ticket span+span{border-left:1px solid var(--line)}.payment-result__ticket small{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:11px;font-weight:700}.payment-result__ticket strong{color:var(--ink);font-size:16px;font-weight:600}.payment-result__action{width:min(100%,320px)}@media (width>=768px){.checkout-header{margin-bottom:24px}.checkout-layout{gap:20px}.checkout-card,.order-card{--action-bar-gutter:28px}}@media (width>=1024px){.checkout-layout{grid-template-columns:minmax(0,1.08fr) minmax(310px,.72fr);width:min(100%,940px)}.order-card{grid-area:1/2}}.admin-notice.infrastructure-note{margin-bottom:16px}.infrastructure-list{gap:16px;display:grid}.infrastructure-location{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:0;box-shadow:var(--shadow);overflow:hidden}.infrastructure-location--inactive{opacity:.78}.infrastructure-location__header{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(0,1fr);align-items:start;gap:12px;padding:16px;display:grid}.infrastructure-location__icon{border-radius:var(--r-sm);width:48px;height:48px;color:var(--accent);background:var(--bg);place-items:center;display:grid}.infrastructure-location__header>div:nth-child(2){min-width:0}.infrastructure-location__header h2{margin:8px 0 4px}.infrastructure-location__header p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;margin:0;font-size:14px;line-height:1.45;display:flex}.infrastructure-location__actions{grid-column:1/-1;gap:8px;display:flex}.infrastructure-location__actions>.btn{flex:1}@media (width>=768px){.infrastructure-location__header{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;padding:20px 22px}.infrastructure-location__actions{grid-column:auto}.infrastructure-location__actions>.btn{flex:none}}.infrastructure-location__summary{border-bottom:1px solid var(--line);background:var(--thead);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:10px 16px;display:flex}.infrastructure-location__summary>span{align-items:baseline;gap:6px;display:flex}.infrastructure-location__summary strong{font-size:15px;font-weight:700}.infrastructure-location__summary small{color:var(--muted);font-size:13px}.infrastructure-location__summary i{border-left:1px solid var(--line);height:14px}@media (width>=768px){.infrastructure-location__summary{padding:12px 22px}}.infrastructure-court-grid{grid-template-columns:minmax(0,1fr);gap:10px;padding:16px;display:grid}@media (width>=640px){.infrastructure-court-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.infrastructure-court-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 22px 22px}}.infrastructure-court-shell{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);min-width:0;display:grid;overflow:hidden}.infrastructure-court{min-width:0;min-height:80px;color:var(--ink);background:var(--surface);text-align:left;border:0;border-radius:0;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.infrastructure-court:hover{background:var(--wash)}.infrastructure-court--inactive,.infrastructure-court--maintenance{background:var(--bg)}.infrastructure-court__visual{border-radius:var(--r-sm);width:56px;height:56px;display:block;position:relative;overflow:hidden}.infrastructure-court__copy{gap:4px;min-width:0;display:grid}.infrastructure-court__copy>strong,.infrastructure-court__copy>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.infrastructure-court__copy>strong{font-size:15px;font-weight:600}.infrastructure-court__copy>span{color:var(--muted);font-size:13px}.infrastructure-court>svg{color:var(--muted)}.infrastructure-services{border-top:1px solid var(--line);gap:8px;padding:16px;display:grid}.infrastructure-services h3,.infrastructure-managers h3{align-items:center;gap:7px;margin:0;font-size:15px;font-weight:600;display:flex}.infrastructure-services>p{color:var(--muted);margin:0;font-size:13px}.infrastructure-services__list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.infrastructure-services__list li{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.infrastructure-services__item--hidden{opacity:.55}.infrastructure-services__copy{flex:200px;gap:2px;display:grid}.infrastructure-services__copy strong{font-size:14px}.infrastructure-services__copy small{font-size:13px;font-weight:600}.infrastructure-services__free{color:var(--muted);text-transform:none}.infrastructure-services__copy>span{color:var(--muted);font-size:12px}.infrastructure-services__toggle.admin-check{color:var(--muted);font-size:13px}.admin-icon-button.btn{width:36px;padding:0}.infrastructure-services__edit{flex-wrap:wrap;flex:100%;align-items:center;gap:8px;display:flex}.infrastructure-services__edit .control{flex:160px;width:auto}.infrastructure-services__edit .control.infrastructure-services__edit-price{flex:0 110px}.infrastructure-services__edit-actions{gap:6px;display:inline-flex}.infrastructure-services__edit .form-error{flex:100%}.infrastructure-services__form{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.infrastructure-services__form>.admin-field{flex:180px}.infrastructure-services__form>.infrastructure-services__price{flex:0 200px}.infrastructure-services__form .admin-field>label{white-space:nowrap}@media (width<=639px){.infrastructure-services__form>.admin-field,.infrastructure-services__form>.infrastructure-services__price,.infrastructure-services__form>.btn{flex:100%}}.infrastructure-services__rules{border-top:1px solid var(--line);justify-items:start;margin-top:6px;padding-top:12px}.infrastructure-services__rules small{color:var(--muted);font-size:12px}@media (width>=1024px){.infrastructure-services{padding:18px 22px}}.infrastructure-managers{border-top:1px solid var(--line);background:var(--wash);gap:8px;padding:16px;display:grid}.infrastructure-managers>p{color:var(--muted);margin:0;font-size:13px}.infrastructure-managers__note{color:var(--muted);font-size:13px}.infrastructure-managers__note--error{color:var(--danger)}.infrastructure-managers__list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.infrastructure-managers__list li{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.infrastructure-managers__list strong{flex:auto;font-size:14px}.infrastructure-managers__list small{color:var(--muted);font-size:12px}.infrastructure-managers__confirm{gap:6px;display:inline-flex}.infrastructure-managers form{max-width:480px}@media (width>=1024px){.infrastructure-managers{padding:18px 22px 22px}}.infrastructure-court-config{border:0;border-top:1px solid var(--line);min-height:44px;color:var(--accent);background:var(--thead);justify-content:center;align-items:center;gap:7px;font-size:14px;font-weight:600;display:inline-flex}.infrastructure-court-config:hover{background:var(--accent-tint)}.infrastructure-courts-state{min-height:90px;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:14px;display:flex}.infrastructure-courts-state--error{color:var(--danger)}.infrastructure-location__public{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;margin-top:4px;font-size:14px;display:flex}.infrastructure-location__public a{color:var(--accent);font-weight:700;text-decoration:none}.infrastructure-location__public span{font-style:italic}@media (width<=639px){.admin-field-row.admin-field-row--stack{grid-template-columns:minmax(0,1fr)}}.infrastructure-dialog__step-check ul{color:var(--ink);margin:4px 0;padding-left:18px;font-size:13px;line-height:1.5}.infrastructure-dialog__step-check a{color:var(--accent);justify-self:start;font-size:13px;font-weight:600}.profile-edit-modal{width:min(100%,640px)}.profile-edit-modal__lead{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.profile-edit-modal__form,.profile-edit-modal__grid{gap:16px;display:grid}@media (width>=641px){.profile-edit-modal{width:min(100%,640px)}.profile-edit-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile-edit-modal__actions{justify-content:flex-end}@media (width<=640px){.profile-edit-modal__actions>.btn{flex:1 1 0}}.schedule-court-selector{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr);align-items:end;gap:12px;margin-bottom:16px;padding:14px;display:grid}.schedule-court-selector__status{justify-items:start;gap:4px;display:grid}.schedule-court-selector__status small{color:var(--muted);font-size:13px}@media (width>=768px){.schedule-court-selector{grid-template-columns:repeat(2,minmax(0,280px)) minmax(0,1fr)}.schedule-court-selector__status{text-align:right;justify-items:end}}.schedule-presets{border:1px solid var(--line);border-radius:var(--r-md);color:var(--accent);background:var(--wash);gap:12px;margin-bottom:16px;padding:12px 16px;display:grid}.schedule-presets>div{align-items:flex-start;gap:10px;min-width:0;display:flex}.schedule-presets>div>svg{flex:none}.schedule-presets>div span{gap:2px;display:grid}.schedule-presets strong{color:var(--ink);font-size:15px;font-weight:600}.schedule-presets small{color:var(--muted);font-size:13px;line-height:1.4}@media (width>=640px){.schedule-presets{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.schedule-presets>div{align-items:center}}.weekly-schedule-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow)}.weekly-schedule-card>header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px;display:flex}.weekly-schedule-card>header>span{border-radius:var(--r-sm);width:44px;height:44px;color:var(--accent);background:var(--bg);flex:none;place-items:center;display:grid}.weekly-schedule-card h2{font-family:var(--font-body);letter-spacing:0;text-transform:none;margin:0 0 3px;font-size:16px;font-weight:600}.weekly-schedule-card header p{color:var(--muted);margin:0;font-size:14px;line-height:1.4}.schedule-table-heading{display:none}.schedule-day{border-top:1px solid var(--line);gap:12px;padding:16px;display:grid}.schedule-days .schedule-day:first-child{border-top:0}.schedule-day--closed{background:var(--thead)}.schedule-days .schedule-day:last-child{border-radius:0 0 var(--r-md) var(--r-md)}.day-toggle{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex}.day-toggle input{opacity:0;position:absolute}.day-toggle>i{background:var(--line);border-radius:999px;flex:none;width:44px;height:26px;transition:background .15s;position:relative}.day-toggle>i:after{content:"";background:var(--surface);border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #142b1b2e}.day-toggle input:checked+i{background:var(--ok-ink)}.day-toggle input:checked+i:after{transform:translate(18px)}.day-toggle input:focus-visible+i{outline:3px solid var(--focus-ring);outline-offset:2px}.day-toggle>span{gap:2px;min-width:0;display:grid}.day-toggle strong{font-size:15px;font-weight:600}.day-toggle small{color:var(--muted);font-size:13px;line-height:1.4}.operating-range,.price-period{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.operating-range>span,.price-period>span{color:var(--muted);font-size:13px}.select.time-select{flex:none;width:96px}.select.time-select .select__trigger{font-variant-numeric:tabular-nums;padding:0 10px}.price-periods{gap:8px;min-width:0;display:grid}.price-period{min-width:0}.price-input{width:120px;position:relative}.price-input>input.control{padding-right:30px;font-weight:600}.price-input>span{color:var(--muted);pointer-events:none;font-size:15px;font-weight:600;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.price-period>.admin-icon-button.btn{width:var(--control-h);height:var(--control-h);color:var(--danger)}.add-price-period.btn{border-style:dashed;width:fit-content}.closed-day-label{min-height:44px;color:var(--muted);align-items:center;font-size:14px;display:flex}@media (width>=1024px){.schedule-table-heading,.schedule-day{grid-template-columns:190px 230px minmax(0,1fr);align-items:start;gap:16px;display:grid}.schedule-table-heading{border-bottom:1px solid var(--line);color:var(--muted);background:var(--thead);padding:9px 22px;font-size:12px;font-weight:600}.schedule-days .schedule-day:first-child{border-top:0}.schedule-day{min-height:70px;padding:14px 22px}}.schedule-validation,.schedule-success{border-radius:var(--r-sm);align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;display:flex}.schedule-validation>svg,.schedule-success>svg{flex:none}.schedule-validation{border:1px solid var(--danger-line);color:var(--danger);background:var(--danger-wash)}.schedule-validation>div{gap:3px;display:grid}.schedule-validation strong,.schedule-success strong{color:var(--ink);font-size:14px;font-weight:600}.schedule-validation span,.schedule-success span{font-size:14px;line-height:1.45}.schedule-success{color:var(--ok-ink);background:var(--ok-bg)}.schedule-save-bar{z-index:20;bottom:calc(var(--tabbar-height) + 12px);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-pop);gap:12px;margin-top:16px;padding:14px 16px;display:grid;position:sticky}.schedule-save-bar>div{min-width:0;color:var(--accent);align-items:flex-start;gap:10px;display:flex}.schedule-save-bar>div>svg{flex:none}.schedule-save-bar span{gap:2px;display:grid}.schedule-save-bar strong{color:var(--ink);font-size:15px;font-weight:600}.schedule-save-bar small{color:var(--muted);font-size:13px;line-height:1.4}@media (width>=640px){.schedule-save-bar{grid-auto-flow:column;justify-content:space-between;align-items:center}.schedule-save-bar>div{align-items:center}}.calendar-controls{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);gap:12px;margin-bottom:12px;padding:14px;display:grid}.calendar-date-navigation label{height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--accent);background:var(--surface);align-items:center;gap:8px;padding:0 12px;display:flex}.calendar-date-navigation input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:16px;font-weight:600}.calendar-date-navigation{align-items:center;gap:8px;display:flex}.calendar-date-navigation label{flex:1}.calendar-date-navigation>button{width:var(--control-h);height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--ink);background:var(--surface);flex:none;place-items:center;display:grid}.calendar-date-navigation>button:not(:disabled):hover{border-color:var(--accent)}.calendar-date-navigation>button:disabled{color:var(--muted);background:var(--bg);cursor:not-allowed}@media (width>=1024px){.calendar-controls{grid-auto-flow:column;justify-content:space-between;align-items:end}.calendar-controls__field{width:360px;max-width:100%}.calendar-date-navigation label{flex:none;width:180px}}.calendar-date-strip{scrollbar-width:none;grid-auto-columns:68px;grid-auto-flow:column;gap:8px;margin-bottom:12px;padding-bottom:4px;display:grid;overflow-x:auto}.calendar-date-strip::-webkit-scrollbar{display:none}.calendar-date-strip button{border:1px solid var(--line);border-radius:var(--r-sm);min-width:0;min-height:64px;color:var(--ink);background:var(--surface);text-align:center;place-content:center;gap:2px;display:grid}.calendar-date-strip button:not(:disabled):hover{border-color:var(--accent)}.calendar-date-strip small,.calendar-date-strip span{color:var(--muted);font-size:11px;line-height:15px}.calendar-date-strip strong{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.calendar-date-strip button.calendar-date-strip__active{border-color:var(--board);color:var(--on-board);background:var(--board)}.calendar-date-strip__active small,.calendar-date-strip__active span{color:var(--on-board-muted)}.calendar-date-strip button:disabled{opacity:.45}@media (width>=768px){.calendar-date-strip{grid-auto-columns:minmax(0,1fr);overflow-x:visible}}.calendar-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px;font-size:13px;display:flex}.calendar-legend span{align-items:center;gap:6px;display:inline-flex}.calendar-legend i{border:1px solid var(--line);border-radius:4px;width:12px;height:12px}.calendar-legend--available{border-style:dashed;border-color:var(--line-strong);background:var(--slot-free)}.calendar-legend--booked{border-color:var(--slot-busy);background:var(--slot-busy)}.calendar-legend--held{border-color:var(--wait-line);background:var(--wait-bg)}.calendar-legend--blocked{border-color:var(--danger-line);background:var(--danger-wash)}.calendar-legend--coach{border-color:var(--coach-bg);background:var(--coach-bg)}.calendar-legend--unavailable{background:var(--bg)}.calendar-action-success{border-radius:var(--r-sm);color:var(--ok-ink);background:var(--ok-bg);align-items:flex-start;gap:8px;margin-bottom:12px;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.45;display:flex}.court-grid{--calendar-sticky-bg:var(--surface);--calendar-sticky-head-bg:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow-x:auto}.court-grid__table{border-collapse:separate;border-spacing:0;width:100%}.court-grid__time-head,.court-grid__time{z-index:2;border-right:1px solid var(--line);width:66px;min-width:66px;color:var(--muted);background:var(--calendar-sticky-bg);text-align:left;white-space:nowrap;padding:8px 10px;font-size:13px;font-weight:600;position:sticky;left:0}.court-grid__time-head{z-index:3;border-bottom:1px solid var(--line);background:var(--calendar-sticky-head-bg);font-family:var(--font-display);letter-spacing:1.2px;text-transform:uppercase;vertical-align:bottom;font-size:11px;font-weight:600}.court-grid__court{border-bottom:1px solid var(--line);background:var(--calendar-sticky-head-bg);text-align:left;vertical-align:bottom;min-width:152px;padding:12px 10px}.court-grid__court>*{display:block}.court-grid__court strong{margin-top:6px;font-size:15px;font-weight:700}.court-grid__court small{color:var(--muted);font-size:13px;font-weight:400;line-height:17px}.court-grid__counts{color:var(--muted);margin-top:4px;font-size:13px;font-weight:400}.court-grid__note{color:var(--muted);margin-top:6px;font-size:13px;font-weight:400;line-height:17px}.court-grid__note--error{color:var(--danger)}.court-grid__cell{border-bottom:1px solid var(--line);vertical-align:middle;padding:3px}.court-grid__table tbody tr:last-child .court-grid__cell,.court-grid__table tbody tr:last-child .court-grid__time{border-bottom:0}.court-grid__time{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.calendar-slot{border-radius:var(--r-sm);text-align:center;border:1px solid #0000;place-content:center;width:100%;min-height:44px;padding:6px 4px;font-size:13px;font-weight:600;display:grid}.calendar-slot>span{text-overflow:ellipsis;white-space:nowrap;max-width:128px;overflow:hidden}.calendar-slot--available{border-style:dashed;border-color:var(--line-strong);color:var(--muted);background:var(--slot-free);cursor:pointer}.calendar-slot--available:hover{border-style:solid;border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.calendar-slot:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.calendar-slot--booked{color:var(--on-slot-busy);background:var(--slot-busy)}.calendar-slot--held{color:var(--wait-ink);border-color:var(--wait-line);background:var(--wait-bg)}.calendar-slot--blocked{border-color:var(--danger-line);color:var(--danger);background:var(--danger-wash)}.calendar-slot--coach{color:var(--coach-ink);background:var(--coach-bg)}.calendar-slot--past,.calendar-slot--unavailable,.calendar-slot--empty{color:var(--muted);background:var(--bg)}.calendar-slot--empty{background:0 0}.court-timeline{--timeline-court-width:136px;--timeline-slot-width:30px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);max-height:72svh;box-shadow:var(--shadow);overscroll-behavior-x:contain;overflow:auto}.court-timeline:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.court-timeline__table{width:100%;min-width:calc(var(--timeline-court-width) + var(--timeline-slots,1) * var(--timeline-slot-width));table-layout:fixed;border-collapse:separate;border-spacing:0}.court-timeline__corner,.court-timeline__time{z-index:2;border-bottom:1px solid var(--line);height:34px;color:var(--muted);background:var(--thead);text-align:left;vertical-align:middle;white-space:nowrap;padding:0 0 0 4px;font-size:12px;font-weight:600;position:sticky;top:0}.court-timeline__corner{z-index:4;width:var(--timeline-court-width);border-right:1px solid var(--line);padding:0 12px;left:0}.court-timeline__time{border-left:1px solid var(--line);font-variant-numeric:tabular-nums}.court-timeline__court{z-index:3;width:var(--timeline-court-width);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);text-align:left;vertical-align:middle;padding:6px 12px;font-weight:400;position:sticky;left:0}.court-timeline__court>*{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.court-timeline__court strong{color:var(--ink);font-size:14px;font-weight:700}.court-timeline__court small,.court-timeline__counts,.court-timeline__note{color:var(--muted);font-size:12px;line-height:16px}.court-timeline__note--error{color:var(--danger)}.court-timeline__cell{border-bottom:1px solid var(--line);vertical-align:middle;padding:3px 1px}.court-timeline__table tbody tr:last-child .court-timeline__cell,.court-timeline__table tbody tr:last-child .court-timeline__court{border-bottom:0}.court-timeline .calendar-slot{border-radius:var(--r-sm);min-width:0;min-height:48px;padding:4px 2px;font-size:12px;line-height:1.25}.court-timeline .calendar-slot>span,.court-timeline .calendar-slot>small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.court-timeline .calendar-slot--booked>span,.court-timeline .calendar-slot--held>span{-webkit-line-clamp:2;line-clamp:2;letter-spacing:-.01em;white-space:normal;overflow-wrap:normal;-webkit-box-orient:vertical;font-size:11px;display:-webkit-box}.court-timeline .calendar-slot--booked,.court-timeline .calendar-slot--held{padding-inline:1px}@media (width<=639px){.court-timeline{--timeline-court-width:108px}}.court-timeline .calendar-slot--available{padding:4px 0}.calendar-slot__hint{opacity:.8;font-size:11px;font-weight:500}.court-grid-coaches{margin-top:20px}.court-grid-coaches>h2{font-family:var(--font-body);letter-spacing:0;text-transform:none;margin:0 0 12px;font-size:16px;font-weight:600}.court-grid-coaches__court{margin-bottom:16px}.court-grid-coaches__court h3{color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:600}.admin-modal__date{align-items:center;gap:6px;margin-top:-6px;display:flex}.admin-modal .kv>.admin-kv-wide{grid-column:1/-1}.admin-booking-dialog .admin-modal__lead .admin-chip{margin-left:4px}.admin-booking-dialog .admin-detail-layout{grid-template-columns:minmax(0,1fr)}.admin-booking-dialog .admin-payment-card{order:0}.admin-booking-dialog__state{color:var(--muted);align-items:center;gap:10px;padding:28px 0;display:flex}.admin-confirmation-card{border-color:var(--wait-line);background:var(--wait-bg)}.admin-confirmation-card h2 svg{color:var(--wait-ink)}.admin-confirmation-card p,.admin-no-show-card p{color:var(--muted);margin:8px 0 12px;font-size:14px}.player-profile-page{align-content:start;gap:16px;width:min(100%,1240px);margin:0 auto;display:grid}.player-profile-page>.page-head{margin-bottom:0}@media (width>=768px){.player-profile-page{gap:24px}}.profile-completeness{border:1px solid var(--line);border-radius:var(--r-pill);width:fit-content;min-height:36px;color:var(--muted);background:var(--surface);align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.profile-completeness svg{color:var(--accent)}.profile-completeness b{color:var(--ink)}.player-profile-hero{border-radius:var(--r-lg);color:var(--on-board);background:var(--board);gap:16px;padding:24px 16px;display:grid}@media (width>=768px){.player-profile-hero{gap:24px;padding:24px}}.player-profile-identity{align-items:flex-start;gap:16px;min-width:0;display:flex}.player-profile-avatar{border-radius:var(--r-lg);width:60px;height:60px;color:var(--on-ball);background:var(--ball);flex:none;place-items:center;font-size:22px;font-weight:600;display:grid}.player-profile-identity>div{min-width:0}.player-profile-identity .eyebrow{align-items:center;gap:6px;margin-bottom:4px;display:flex}.player-profile-identity h2{margin:0 0 8px;font-size:22px;line-height:1.2}.player-profile-identity p{color:var(--on-board-muted);align-items:center;gap:8px;margin:8px 0 0;font-size:14px;display:flex}.player-profile-identity p svg{flex:none}.player-profile-links{flex-wrap:wrap;gap:8px;display:flex}.profile-section-title{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.profile-section-title>span:first-child{border-radius:var(--r-sm);width:40px;height:40px;color:var(--accent-strong);background:var(--wash);flex:none;place-items:center;display:grid}.profile-section-title>div{min-width:0}.profile-section-title small{color:var(--accent);font-family:var(--font-display);letter-spacing:1.6px;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.profile-section-title h2,.profile-section-title h3{color:var(--ink);letter-spacing:var(--heading-track);margin:0;font-size:20px}.profile-section-title>button,.profile-section-title>a{height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--ink);background:var(--surface);white-space:nowrap;align-items:center;gap:8px;margin-left:auto;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.profile-section-title>button:hover,.profile-section-title>a:hover{border-color:var(--accent)}.profile-section-title>button svg,.profile-section-title>a svg{color:var(--accent)}.profile-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:0;padding:16px}@media (width>=768px){.profile-card{border-radius:var(--r-lg);padding:24px}}.profile-action-message{border-radius:var(--r-sm);color:var(--ok-ink);background:var(--ok-bg);align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px;font-size:14px;font-weight:600;line-height:1.45;display:flex}.profile-action-message--error{color:var(--danger);background:var(--danger-wash)}.invitation-count{border-radius:var(--r-pill);min-width:28px;height:28px;color:var(--on-highlight);background:var(--highlight);place-items:center;margin-left:auto;padding:0 8px;font-size:13px;font-weight:600;display:inline-grid}.friend-request-row__actions{flex-wrap:wrap;gap:8px;display:flex}.profile-bookings-card .profile-section-title{margin-bottom:16px}.profile-bookings-list{gap:8px;display:grid}.profile-booking-row{border:1px solid var(--line);border-radius:var(--r-sm);min-width:0;color:var(--ink);background:var(--surface);grid-template-columns:40px minmax(0,1fr);align-items:center;gap:6px 12px;padding:12px;text-decoration:none;display:grid}@media (width>=768px){.profile-booking-row{grid-template-columns:40px minmax(0,1fr) minmax(120px,auto) auto 20px}}.profile-booking-row>span:first-child{border-radius:var(--r-sm);width:40px;height:40px;color:var(--accent);background:var(--bg);place-items:center;display:grid}.profile-booking-row>div{gap:2px;min-width:0;display:grid}.profile-booking-row>div:nth-of-type(2){grid-column:2/-1}.profile-booking-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.profile-booking-row>div:nth-of-type(2) strong{text-overflow:clip;white-space:normal;overflow:visible}.profile-booking-row small{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:flex}.profile-booking-row .profile-booking-row__status{grid-column:2/-1;justify-self:start}.profile-booking-row>svg{color:var(--muted);display:none}@media (width>=768px){.profile-booking-row>div:nth-of-type(2),.profile-booking-row .profile-booking-row__status{grid-area:auto}.profile-booking-row>svg{display:block}}.profile-lower-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=1024px){.profile-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}.staff-account-form{margin-top:16px}.staff-account-clubs{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.staff-account-clubs li{border:1px solid var(--line);border-radius:var(--r-sm);gap:4px;padding:12px;display:grid}.staff-account-clubs strong{color:var(--ink)}.staff-account-clubs small,.staff-account-clubs span{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.staff-account-settings{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.staff-account-settings>.profile-section-title{flex:auto}.error-boundary-fallback,.not-found-page{width:min(100%,570px);min-height:100svh;padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));text-align:center;place-content:center;justify-items:center;gap:12px;margin:0 auto;display:grid}.error-boundary-fallback h1,.not-found-page h1{color:var(--ink);margin:0}.error-boundary-fallback p,.not-found-page p{max-width:42ch;color:var(--muted);margin:0;font-size:15px;line-height:22px}.not-found-page .not-found-page__code{color:var(--accent);letter-spacing:.06em;font-size:56px;font-weight:600;line-height:1}.error-boundary-fallback .primary-button{width:auto;min-width:190px}.profile-section-title p{color:var(--muted);margin:4px 0 0;font-size:14px;line-height:1.45}.onboarding-page{min-height:100svh;padding:calc(16px + env(safe-area-inset-top)) 16px calc(48px + env(safe-area-inset-bottom));background:var(--bg);align-content:start;gap:24px;display:grid}.onboarding-page__header{justify-content:space-between;align-items:center;display:flex}.onboarding-page .logout-button{color:var(--board);background:var(--ink-tint)}.onboarding-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);width:min(100%,560px);margin:0 auto;padding:24px 16px}.onboarding-card .eyebrow{margin-bottom:8px}.onboarding-card h1{color:var(--ink);margin:0 0 8px}.onboarding-card__lead{color:var(--muted);margin:0 0 24px;font-size:15px;line-height:1.5}.onboarding-form,.onboarding-form__names{gap:16px;display:grid}.onboarding-form__submit{margin-top:8px}@media (width<=767px){.onboarding-form__submit{width:100%}}@media (width>=560px){.onboarding-form__names{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.onboarding-page{padding:calc(24px + env(safe-area-inset-top)) 24px 64px;gap:32px}.onboarding-card{padding:32px}.onboarding-form__submit{justify-self:start;min-width:240px}}.payment-mode-selector{border:0;gap:8px;margin:16px 0 0;padding:0;display:grid}.payment-mode-selector legend{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;margin-bottom:8px;padding:0;font-size:11px;font-weight:700}.payment-mode-option{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;min-height:52px;padding:12px;display:grid}.payment-mode-option input{width:20px;height:20px;accent-color:var(--accent);margin:1px 0 0}.payment-mode-option span{gap:3px;display:grid}.payment-mode-option strong{color:var(--ink);font-size:15px;font-weight:600}.payment-mode-option small{color:var(--muted);font-size:13px;line-height:1.45}.payment-mode-option--selected{border-color:var(--accent);background:var(--bg)}.payment-mode-badge{border:1px solid var(--line);min-height:26px;color:var(--muted);background:var(--surface);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.booking-list-card__badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.payment-settings-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);gap:14px;margin-bottom:16px;padding:16px;display:grid}.payment-settings-card__heading{align-items:center;gap:12px;display:flex}.payment-settings-card__heading>span:first-child{border-radius:var(--r-sm);width:44px;height:44px;color:var(--accent);background:var(--bg);flex:none;place-items:center;display:grid}.payment-settings-card__heading>div{gap:3px;min-width:0;display:grid}.payment-settings-card__heading strong{color:var(--ink);font-size:17px;font-weight:700}.payment-settings-card__heading span{color:var(--muted);font-size:14px;line-height:1.45}.payment-settings-card__toggles{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=768px){.payment-settings-card__toggles{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.payment-settings-card .day-toggle{border:1px solid var(--line);border-radius:var(--r-sm);align-items:flex-start;padding:12px}.public-page{background:var(--bg);grid-template-rows:auto 1fr auto;align-content:start;min-height:100svh;display:grid}.public-header{z-index:30;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.public-header__brand{min-width:0;color:var(--ink);text-decoration:none}@media (width<=479px){.public-header__brand .brand__name{display:none}}.public-header__actions{flex:none;align-items:center;gap:4px;display:flex}.public-header__link{height:var(--control-h);border-radius:var(--r-sm);color:var(--muted);align-items:center;padding:0 12px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.public-header__link:hover{color:var(--ink);background:var(--bg)}.public-main.public-main--in-shell{padding:0}.public-main{align-content:start;gap:24px;width:min(100%,1120px);min-width:0;margin:0 auto;padding:20px 16px 40px;display:grid}@media (width>=768px){.public-header{padding:calc(12px + env(safe-area-inset-top)) 24px 12px}.public-main{gap:32px;padding:32px 24px 56px}}@media (width>=1024px){.public-header{padding:calc(14px + env(safe-area-inset-top)) 40px 14px}.public-main{padding:40px 40px 72px}}.public-hero{gap:8px;display:grid}.public-hero .eyebrow{margin:0}.public-hero h1{color:var(--ink);margin:0}.public-hero>p:not(.eyebrow){max-width:62ch;color:var(--muted);margin:0;font-size:15px;line-height:22px}.public-hero .eyebrow a{color:inherit;text-decoration:none}.public-hero .eyebrow a:hover{text-decoration:underline}.public-hero--board{border-radius:var(--r-lg);color:var(--on-board);background:var(--board);gap:10px;padding:24px 16px}.public-hero--board h1{color:var(--on-board)}.public-hero--board .eyebrow{color:var(--board-accent-soft)}.public-hero--board>p:not(.eyebrow){color:var(--on-board-muted)}@media (width>=768px){.public-hero--board{padding:32px}}.public-state{color:var(--muted);align-items:center;gap:9px;margin:0;font-size:15px;display:flex}.public-state a{color:var(--accent);font-weight:600}.public-slots h2,.public-courts h2,.public-services h2,.public-rules h2,.public-coaches h2{color:var(--ink);align-items:center;gap:10px;margin:0 0 12px;font-size:22px;display:flex}.public-slots h2 svg,.public-courts h2 svg,.public-services h2 svg,.public-rules h2 svg,.public-coaches h2 svg{color:var(--accent);flex:none}.public-city-grid,.public-location-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=640px){.public-city-grid,.public-location-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}}.public-city-card,.public-location-card{border:1px solid var(--line);border-radius:var(--r-md);color:inherit;background:var(--surface);box-shadow:var(--shadow);text-decoration:none;transition:border-color .16s}.public-city-card:hover,.public-location-card:hover{border-color:var(--accent)}.public-city-card:focus-visible,.public-location-card:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.public-city-card{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:12px 16px;display:grid}.public-city-card>span:first-child{border-radius:var(--r-sm);width:44px;height:44px;color:var(--select-ink);background:var(--select-bg);place-items:center;display:grid}.public-city-card>svg{color:var(--accent)}.public-city-card strong{color:var(--ink);font-size:16px;font-weight:600;display:block}.public-city-card small{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:flex}.public-location-card{flex-direction:column;gap:8px;padding:16px;display:flex}.public-location-card>strong{color:var(--ink);font-size:16px;font-weight:600}.public-location-card>small{color:var(--muted);align-items:flex-start;gap:6px;font-size:13px;line-height:18px;display:flex}.public-location-card>small svg{flex:none;margin-top:2px}.public-location-card__surfaces{flex-wrap:wrap;flex:1;align-content:flex-start;gap:6px;display:flex}.public-chip{border-radius:var(--r-pill);height:26px;color:var(--muted);background:var(--chip-neutral);white-space:nowrap;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.public-location-card .location-amenity{background:var(--chip-neutral);height:26px;padding:0 10px;font-size:12px}.public-location-card__footer{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:8px 12px;margin-top:4px;padding-top:12px;font-size:13px;display:flex}.public-location-card__footer>span{align-items:center;gap:5px;display:inline-flex}.public-location-card__footer strong{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px;font-weight:500}.public-location-card__footer strong .num{color:var(--money);font-size:15px;font-weight:700}.public-location-card__footer>svg{color:var(--accent);flex:none}.public-location-facts{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:4px;font-size:14px;display:flex}.public-location-facts>span,.public-location-facts>a{color:inherit;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.public-location-facts>a{min-height:44px;color:var(--accent);font-weight:600}.public-location-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}@media (width<=479px){.public-location-actions>.btn{flex:100%}}.public-courts__grid{gap:16px;display:grid}@media (width>=1024px){.public-courts__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.public-court{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);align-content:start;gap:12px;padding:16px;display:grid}.public-court__heading{gap:4px 12px;display:grid}@media (width>=640px){.public-court__heading{grid-template-columns:minmax(0,1fr) auto;align-items:center}.public-court__heading strong{grid-column:1}.public-court__heading>span{grid-area:2/1}.public-court__book{grid-area:1/2/span 2}}.public-court__heading strong{color:var(--ink);font-size:17px;font-weight:600}.public-court__heading>span{color:var(--muted);font-size:13px}@media (width<=639px){.public-court__book{width:100%;margin-top:8px}}.public-court__description,.public-court__empty{color:var(--muted);margin:0;font-size:14px;line-height:20px}.public-court__table{border-top:1px solid var(--line);margin:0;display:grid}.public-court__row{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(0,1fr);gap:4px 12px;padding:10px 0;font-size:14px;display:grid}.public-court__row:last-child{border-bottom:0}.public-court__row dt{color:var(--ink);font-weight:600}.public-court__row dd{color:var(--ink);margin:0}.public-court__prices{grid-column:2;gap:2px;display:grid}@media (width>=480px){.public-court__row{grid-template-columns:64px 104px minmax(0,1fr)}.public-court__prices{grid-column:auto}}.public-court__prices>span{color:var(--muted);justify-content:space-between;gap:12px;display:flex}.public-court__prices b{color:var(--money);white-space:nowrap;font-weight:600}.public-map{border:1px solid var(--line);border-radius:var(--r-md);width:100%;height:clamp(240px,38vh,360px)}.public-map__pin span{border:3px solid var(--surface);background:var(--accent);border-radius:50%;width:18px;height:18px;display:block;box-shadow:0 3px 10px #08191059}.public-footer{border-top:1px solid var(--line);background:var(--surface)}.public-footer__inner{width:min(100%,1120px);padding:24px 16px calc(24px + env(safe-area-inset-bottom));gap:20px;margin:0 auto;display:grid}@media (width>=768px){.public-footer__inner{padding:32px 24px calc(32px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:32px}}@media (width>=1024px){.public-footer__inner{padding-inline:40px}}.public-footer__about{color:var(--ink);justify-items:start;gap:10px;display:grid}.public-footer__about small{max-width:52ch;color:var(--muted);font-size:13px;line-height:19px}.public-footer__cities{gap:6px;display:grid}.public-footer__cities strong{color:var(--muted);font-family:var(--font-display);letter-spacing:1.6px;text-transform:uppercase;font-size:11px;font-weight:600}.public-footer__cities ul{flex-wrap:wrap;gap:0 16px;margin:0;padding:0;list-style:none;display:flex}.public-footer__cities a{min-height:44px;color:var(--accent);align-items:center;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.public-footer__cities a:hover{text-decoration:underline}.friends-board{gap:16px;display:grid}.friends-board .profile-section-title{margin-bottom:16px}.friends-card__description{color:var(--muted);margin:0 0 16px;font-size:14px;line-height:1.5}.friends-request-form{gap:6px;display:grid}.friends-request-form label{color:var(--ink);font-size:13px;font-weight:600}.friends-list,.friends-request-list,.friends-suggestion-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.friend-row{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);grid-template-columns:44px minmax(0,1fr);gap:12px;padding:12px;display:grid}@media (width>=640px){.friend-row{grid-template-columns:44px minmax(0,1fr) auto;align-items:center}}.friend-row__avatar{border-radius:var(--r-md);width:44px;height:44px;color:var(--accent);background:var(--bg);font-family:var(--font-display);letter-spacing:.5px;place-items:center;font-size:15px;font-weight:600;display:grid}.friend-row__body{min-width:0}.friend-row__body strong{font-size:15px;font-weight:600}.friend-row__body small{color:var(--muted);margin-top:4px;font-size:13px;display:block}.friend-row__phone{min-height:44px;color:var(--accent);align-items:center;gap:6px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.friend-row__remove,.friend-row__confirm{grid-column:1/-1}@media (width>=640px){.friend-row__remove,.friend-row__confirm{grid-column:auto}}.friend-row__confirm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.friend-row__confirm span{color:var(--muted);font-size:14px;font-weight:600}.friends-requests-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=1024px){.friends-requests-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.friend-request-row,.friend-suggestion-row{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.friend-request-row>div,.friend-suggestion-row>div{min-width:0}.friend-request-row strong,.friend-suggestion-row strong{font-size:15px;font-weight:600}.friend-request-row small,.friend-suggestion-row small{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:13px;display:flex}.friend-suggestion-row__reason{border-radius:var(--r-pill);min-height:24px;color:var(--info);background:var(--info-soft);align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.player-profile-link{border:1px solid var(--board-line);min-height:40px;color:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.player-profile-identity p small{opacity:.75;font-size:inherit}.admin-players-table{min-width:420px}.admin-players-table th,.admin-players-table td{white-space:nowrap}.admin-players-table thead th:first-child,.admin-players-table tbody th{z-index:1;box-shadow:1px 0 0 var(--line);position:sticky;left:0}.admin-players-table tbody th{background:var(--surface)}.admin-players-table tbody tr:hover th{background:var(--wash)}.coach-page{gap:16px;width:min(100%,1240px);margin:0 auto;display:grid}@media (width>=768px){.coach-page{gap:20px}}.coach-panel{gap:16px;display:grid}.coach-panel--loading{color:var(--muted);align-items:center;gap:10px;font-size:15px;display:flex}.coach-panel__title{align-items:center;gap:11px;min-width:0;display:flex}.coach-panel__icon{border-radius:var(--r-sm);width:39px;height:39px;color:var(--accent-strong);background:var(--wash);flex:none;place-items:center;display:grid}.coach-panel__title h2{letter-spacing:var(--heading-track);margin:0 0 4px;font-size:20px;font-weight:620}.coach-panel__title p{max-width:62ch;color:var(--muted);margin:0;font-size:15px;line-height:1.55}.coach-summary__facts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0;display:grid}.coach-summary__facts>div{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);padding:13px 15px}.coach-summary__facts dt{color:var(--muted);font-family:var(--font-display);letter-spacing:1.6px;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 6px;font-size:11px;font-weight:600;display:flex}.coach-summary__facts dd{margin:0;font-size:15px;font-weight:600}.coach-summary__facts a{color:var(--accent)}.coach-summary__facts code{word-break:break-all;font-size:14px}.coach-summary__facts small{color:var(--muted);margin-top:4px;font-size:13px;font-weight:400;line-height:1.45;display:block}.coach-form{gap:14px;display:grid}.coach-form label,.coach-form__field{align-content:start;gap:6px;min-width:0;font-size:15px;display:grid}.coach-form label>span,.coach-form__field>label{color:var(--ink);font-size:13px;font-weight:600}.coach-form label>small{color:var(--muted);font-size:13px;line-height:1.5}.coach-form:not(.coach-block-form__grid){max-width:640px}.coach-page>.page-heading{margin-bottom:4px}.coach-form .coach-form__toggle,.coach-form .coach-form__mode{align-items:flex-start;gap:10px;display:flex}.coach-form .coach-form__textarea{height:auto;min-height:96px;font:inherit;resize:vertical;padding:10px 12px;font-size:max(16px,1em);line-height:1.5}.coach-form__submit{justify-self:start}.coach-form__actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=639px){.coach-form__submit,.coach-form__actions>.btn{width:100%}}.coach-block-form__grid{grid-template-columns:minmax(0,1fr);gap:16px}@media (width>=640px){.coach-block-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.coach-block-form__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.coach-block-form__wide{grid-column:1/-1}.coach-form__modes{border:0;gap:8px;margin:0;padding:0;display:grid}.coach-form__modes legend{margin-bottom:8px;padding:0;font-size:15px;font-weight:600}.coach-form__mode{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);cursor:pointer;align-items:flex-start;gap:10px;min-height:44px;padding:12px 14px;display:flex}.coach-form .coach-form__mode input,.coach-form .coach-form__toggle input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:2px 0 0;padding:0}.coach-form__mode strong{font-size:15px;font-weight:600;display:block}.coach-form__mode small{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.5;display:block}.coach-entry-card .profile-section-title>div{flex:240px}.coach-entry-card__link{margin-top:16px}.coach-entry-card__link svg{color:var(--accent)}.coach-summary__actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:16px;display:flex}@media (width<=639px){.coach-summary__actions>.btn{flex:100%}}.coach-home-locations__note{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.coach-home-locations__city{border:0;gap:6px;margin:0;padding:0;display:grid}.coach-home-locations__city legend{color:var(--muted);font-family:var(--font-display);letter-spacing:1.6px;text-transform:uppercase;padding:0;font-size:11px;font-weight:600}.coach-home-locations__city label{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;align-items:center;gap:10px;min-height:48px;padding:8px 14px;display:flex}.coach-home-locations__city label:has(input:disabled){color:var(--muted);cursor:not-allowed}.coach-home-locations__city label span{gap:2px;display:grid}.coach-home-locations__city label small{color:var(--muted);font-size:13px}.coach-home-locations__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.coach-home-locations__counter{color:var(--muted);margin-right:auto;font-size:14px;font-weight:700}.coach-summary__actions>.btn[aria-expanded=true]:not(.btn--primary){border-color:var(--accent);color:var(--select-ink);background:var(--select-bg)}.coach-week__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.coach-week__header>div:first-child{flex:220px;min-width:0}.coach-week__header h2{margin:0 0 6px;font-size:20px}.coach-week__fill{color:var(--accent);margin:0;font-size:14px;font-weight:700}.coach-week__nav{flex:none;gap:8px;display:flex}.coach-week__step.btn{width:var(--control-h);padding:0}.coach-week__loading{color:var(--muted);align-items:center;gap:9px;font-size:15px;display:flex}.coach-week__days{gap:10px;margin:0;padding:0;list-style:none;display:grid}.coach-day{border-top:1px solid var(--line);gap:8px;padding:12px 0;display:grid}@media (width>=768px){.coach-day{grid-template-columns:112px minmax(0,1fr);align-items:start;gap:12px}}.coach-day:first-child{border-top:0}.coach-day__label{align-items:baseline;gap:8px;display:flex}@media (width>=768px){.coach-day__label{display:block}}.coach-day__label strong{font-size:15px;font-weight:600}.coach-day__label span{color:var(--muted);font-size:13px}@media (width>=768px){.coach-day__label span{margin-top:2px;display:block}}.coach-day__empty{color:var(--muted);margin:0;font-size:14px}.coach-day__blocks{gap:9px;display:grid}.coach-block{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.coach-block__head{border-bottom:1px solid var(--line);background:var(--thead);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 12px;display:flex}.coach-block__head strong{font-size:15px;font-weight:600}.coach-block__place{color:var(--muted);align-items:center;gap:5px;margin-top:3px;font-size:13px;display:flex}.coach-block__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.coach-block__private{min-height:28px;color:var(--muted);background:var(--surface);border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.coach-block__lessons{margin:0;padding:0;list-style:none;display:grid}.coach-lesson{border-top:1px solid var(--line);border-left:3px solid #0000;flex-direction:column;gap:8px;padding:10px 12px 10px 10px;font-size:14px;display:flex}.coach-lesson__head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.coach-lesson__time{min-width:64px}.coach-block__lessons>.coach-lesson:first-child{border-top:0}.coach-lesson--open{border-left-color:var(--line)}.coach-lesson--full{border-left-color:var(--accent)}.coach-lesson--cancelled{border-left-color:var(--line);color:var(--muted);text-decoration:line-through}.coach-lesson__time{align-items:center;gap:6px;font-weight:600;display:inline-flex}.coach-lesson__fill{color:var(--muted)}.coach-lesson__price{color:var(--money);margin-left:auto;font-weight:700}.coach-lesson__locked{border-radius:var(--r-pill);height:24px;color:var(--muted);background:var(--chip-neutral);white-space:nowrap;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.coach-lesson__people{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.coach-participant{border-radius:var(--r-sm);background:var(--bg);gap:6px 10px;padding:8px 10px;font-size:14px;display:grid}@media (width>=768px){.coach-participant{grid-template-columns:minmax(120px,auto) minmax(0,1fr) auto;align-items:center}}.coach-participant--paid{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.coach-participant--paid .coach-participant__money{color:var(--ok-ink)}.coach-participant--refunded{color:var(--muted)}.coach-participant__name{font-weight:600}.coach-participant__money{color:var(--muted)}.coach-participant__actions{flex-wrap:wrap;gap:6px;display:inline-flex}@media (width>=768px){.coach-participant__actions{justify-content:flex-end}}.coach-participant__flag{color:var(--muted);font-size:13px}.coach-lesson__tools{flex-wrap:wrap;flex:100%;gap:8px;display:flex}.coach-lesson__tools>.btn{flex:auto}@media (width>=768px){.coach-lesson__tools{flex:none;justify-content:flex-end}.coach-lesson__tools>.btn{flex:none}}.coach-lesson__add{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);gap:8px;padding:12px;display:grid}.coach-lesson__add-row{gap:8px;display:grid}.coach-lesson__add-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=640px){.coach-lesson__add-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.coach-lesson__add-actions{display:flex}}.coach-week__money{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:6px 0 0;font-size:14px;display:flex}.coach-week__money span{align-items:baseline;gap:6px;display:inline-flex}.coach-week__money b{color:var(--ink);font-weight:600}.coach-form__toggle{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.coach-form__toggle strong{align-items:center;gap:6px;font-size:15px;font-weight:600;display:inline-flex}.coach-form__toggle small{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.5;display:block}.coach-modal{max-width:480px}.coach-modal__text{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.coach-modal__warning{border:1px solid var(--danger-line);border-radius:var(--r-sm);color:var(--danger);background:var(--danger-wash);margin:0;padding:12px;font-size:14px;line-height:1.5}.coach-modal__actions{flex-direction:column-reverse}.coach-modal__actions>.btn{width:100%}@media (width>=480px){.coach-modal__actions{flex-direction:row;justify-content:flex-end}.coach-modal__actions>.btn{width:auto}}.coach-public-hero{border-radius:var(--r-lg);color:var(--on-board);background:var(--board);grid-template-columns:56px minmax(0,1fr);align-items:start;gap:16px;padding:20px 16px;display:grid}@media (width>=640px){.coach-public-hero{grid-template-columns:72px minmax(0,1fr);gap:20px;padding:24px}}.coach-public-hero__body{gap:8px;min-width:0;display:grid}.coach-public-hero__body .eyebrow{margin:0}.coach-public-hero h1{color:var(--on-board);margin:0;font-size:28px;line-height:1.15}.coach-public-hero__photo{width:56px;height:56px;color:var(--on-ball);background:var(--ball);letter-spacing:.02em;border-radius:50%;place-items:center;font-size:19px;font-weight:700;display:grid;overflow:hidden}@media (width>=640px){.coach-public-hero__photo{width:72px;height:72px;font-size:24px}}.coach-public-hero__photo img{object-fit:cover;width:100%;height:100%}.coach-public-hero__rate{color:var(--board-accent);margin:0;font-size:16px;font-weight:700}.coach-public-hero__home{color:var(--on-board-muted);align-items:flex-start;gap:8px;margin:0;font-size:14px;line-height:20px;display:flex}.coach-public-hero__home svg{flex:none;margin-top:2px}.coach-public-hero__home a{color:var(--on-board);text-decoration:underline;-webkit-text-decoration-color:var(--board-line);text-decoration-color:var(--board-line);text-underline-offset:3px;font-weight:600}.coach-public-hero__home a:hover{text-decoration-color:currentColor}.coach-public-hero__bio{max-width:62ch;color:var(--on-board-muted);margin:0;font-size:15px;line-height:1.5}.coach-public-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.coach-public-controls__week{align-items:center;gap:8px;display:inline-flex}.coach-public-controls__step.btn{width:var(--control-h);padding:0}.coach-public-controls__range{min-width:128px;color:var(--ink);text-align:center;font-size:15px;font-weight:600}.coach-public-controls__toggle{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.coach-public-controls__toggle input{width:18px;height:18px;accent-color:var(--accent);margin:0}.coach-public-empty{border:1px dashed var(--line-strong);border-radius:var(--r-md);color:var(--muted);background:var(--surface);text-align:center;margin:0;padding:24px 16px;font-size:15px}.coach-public-days{gap:16px;margin:0;padding:0;list-style:none;display:grid}.coach-public-day{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.coach-public-day h2{border-bottom:1px solid var(--line);background:var(--thead);font-family:var(--font-body);letter-spacing:0;text-transform:none;align-items:baseline;gap:8px;margin:0;padding:12px 16px;font-size:15px;font-weight:600;display:flex}.coach-public-day h2 .num{color:var(--muted);font-weight:500}.coach-public-day__hours{margin:0;padding:0;list-style:none;display:grid}.coach-public-hour{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"time fill fill""place place place""price price cta";align-items:center;gap:8px 12px;padding:12px 16px;font-size:14px;display:grid}.coach-public-day__hours>.coach-public-hour:first-child{border-top:0}@media (width>=768px){.coach-public-hour{grid-template-columns:72px 96px minmax(0,1fr) 120px 124px;grid-template-areas:"time fill place price cta";gap:16px;min-height:64px}}.coach-public-hour__time{color:var(--ink);grid-area:time;align-items:center;gap:6px;font-size:15px;font-weight:600;display:inline-flex}.coach-public-hour__time svg{color:var(--muted)}.coach-public-hour__fill{border-radius:var(--r-pill);white-space:nowrap;grid-area:fill;justify-self:start;align-items:center;gap:6px;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.coach-public-hour__fill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.coach-public-hour__fill--open{color:var(--ok-ink);background:var(--ok-bg)}.coach-public-hour__fill--taken{color:var(--muted);background:var(--chip-neutral)}.coach-public-hour__place{min-width:0;color:var(--muted);grid-area:place;align-items:flex-start;gap:6px;font-size:13px;line-height:18px;display:flex}.coach-public-hour__place svg{flex:none;margin-top:2px}.coach-public-hour__price{grid-area:price;gap:1px;line-height:1.2;display:grid}.coach-public-hour__price b{color:var(--money);font-size:16px;font-weight:700}.coach-public-hour__price small{color:var(--muted);font-size:12px}@media (width>=768px){.coach-public-hour__price{text-align:right}}.coach-public-hour__cta{grid-area:cta;justify-self:end}@media (width>=768px){.coach-public-hour__cta{width:100%}}.coach-public-hour--busy .coach-public-hour__time{color:var(--muted)}.public-services__list{gap:12px;display:grid}@media (width>=768px){.public-services__list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.public-service{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 12px;padding:14px 16px;display:grid}.public-service strong{color:var(--ink);font-size:15px;font-weight:600}.public-service__price{color:var(--money);white-space:nowrap;font-size:15px;font-weight:700}.public-service__free{color:var(--ok-ink);white-space:nowrap;font-size:13px;font-weight:600}.public-service p{color:var(--muted);grid-column:1/-1;margin:0;font-size:13px;line-height:1.5}.public-rules__text{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);color:var(--ink);white-space:pre-line;margin:0;padding:16px;font-size:14px;line-height:1.6}.public-coaches__list{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);display:grid;overflow:hidden}.public-coach{border-top:1px solid var(--line);color:inherit;gap:4px;padding:14px 16px;font-size:14px;text-decoration:none;display:grid}.public-coach:first-child{border-top:0}@media (width>=768px){.public-coach{grid-template-columns:minmax(160px,1.2fr) minmax(0,1fr) minmax(0,1.3fr) auto 16px;align-items:center;gap:16px}}.public-coach:hover{background:var(--wash)}.public-coach:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.public-coach strong{color:var(--ink);font-size:15px;font-weight:600}.public-coach svg{color:var(--accent);display:none}@media (width>=768px){.public-coach svg{display:block}}.public-coach__schedule,.public-coach__nearest{color:var(--muted);font-size:13px}.public-coach__resident,.book-lesson-dialog__resident{border-radius:var(--r-pill);height:20px;color:var(--coach-ink);background:var(--coach-bg);vertical-align:2px;align-items:center;margin-left:8px;padding:0 8px;font-size:11px;font-style:normal;font-weight:600;display:inline-flex}.book-lesson-dialog{max-width:600px}.book-lesson-dialog__heading{gap:6px;min-width:0;display:grid}.book-lesson-dialog__heading p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.book-lesson-dialog__state{border:1px dashed var(--line-strong);border-radius:var(--r-sm);color:var(--muted);background:var(--bg);align-items:center;gap:8px;margin:0;padding:16px;font-size:14px;display:flex}.book-lesson-dialog__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.book-lesson-dialog__list li{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px;display:grid}@media (width>=560px){.book-lesson-dialog__list li{grid-template-columns:40px minmax(0,1fr) auto auto}}.book-lesson-dialog__photo{object-fit:cover;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.book-lesson-dialog__photo--empty{color:var(--on-ball);background:var(--ball);font-size:14px;font-weight:700}.book-lesson-dialog__copy{gap:2px;min-width:0;display:grid}.book-lesson-dialog__copy strong{font-size:15px;font-weight:600}.book-lesson-dialog__copy small{color:var(--muted);font-size:13px}.book-lesson-dialog__price{color:var(--muted);white-space:nowrap;font-size:13px}.book-lesson-dialog__price b{color:var(--money);font-size:15px;font-weight:700}@media (width<=559px){.book-lesson-dialog__price{grid-column:2}}.book-lesson-dialog__cta{justify-self:end}.public-coach__price{color:var(--muted);white-space:nowrap;font-size:13px}.public-coach__price b{color:var(--money);font-size:15px;font-weight:700}.coach-band{gap:10px;margin-bottom:12px;display:grid}.coach-band__block{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-sm);background:var(--bg);overflow:hidden}.coach-band__block header{align-items:center;gap:10px;padding:10px 12px;display:flex}.coach-band__block header a{color:var(--accent);font-size:14px;font-weight:700}.coach-band__block header small{color:var(--muted);font-size:12px;display:block}.coach-band__icon{border-radius:var(--r-sm);width:34px;height:34px;color:var(--accent);background:var(--surface);justify-content:center;align-items:center;display:inline-flex}.coach-band__private{color:var(--muted);padding:0 12px 10px;font-size:13px}.coach-band__lessons{margin:0;padding:0;list-style:none}.coach-band__lesson{border-top:1px solid var(--line);grid-template-columns:68px minmax(0,1fr);align-items:center;gap:6px 8px;padding:10px 12px;font-size:14px;display:grid}@media (width>=640px){.coach-band__lesson{grid-template-columns:72px minmax(0,1fr) auto}}.coach-band__lesson span:first-child{align-items:center;gap:5px;font-weight:600;display:inline-flex}.coach-band__lesson--full{color:var(--muted)}.coach-band__price{flex-direction:column;grid-column:1/-1;font-weight:700;display:flex}@media (width>=640px){.coach-band__price{text-align:right;grid-column:auto}}.coach-band__price small{color:var(--muted);font-family:var(--font-body);font-size:13px;font-weight:400}.calendar-slot--coach{background:var(--coach-bg);color:var(--coach-ink);border-color:#0000}.lesson-booking-page{flex-direction:column;gap:16px;width:min(100%,720px);margin:0 auto;display:flex}.lesson-booking-hero{margin-bottom:0}.lesson-booking-hero h1 a:hover{color:var(--accent)}.lesson-booking-hero__meta{flex-direction:column;align-items:flex-start;font-size:14px}.lesson-booking-hero__meta span{align-items:center;gap:8px;display:inline-flex}.lesson-booking-hero__meta svg{color:var(--accent);flex:none}.lesson-booking-hero__price{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);gap:2px;margin:0;padding:12px 16px;display:grid}.lesson-booking-hero__price strong{font-size:26px;line-height:1.15}.lesson-booking-hero__price small{color:var(--muted);font-size:13px}.lesson-booking-form,.lesson-booking-done,.lesson-booking-blocked{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-direction:column;gap:16px;padding:16px;display:flex}@media (width>=640px){.lesson-booking-form,.lesson-booking-done,.lesson-booking-blocked{padding:24px}}.lesson-booking-note{color:var(--muted);margin:0;font-size:13px;font-weight:400;line-height:1.5}.lesson-booking-preview{border-radius:var(--r-sm);background:var(--bg);color:var(--ink);margin:0;padding:12px 16px;font-size:16px;font-weight:500;line-height:1.5}.lesson-booking-preview b{font-size:18px}.lesson-booking-form__submit{align-self:flex-start}@media (width<=639px){.lesson-booking-form__submit{align-self:stretch}}.lesson-booking-done,.lesson-booking-blocked{text-align:center;align-items:center}.lesson-booking-done span{color:var(--accent)}.lesson-booking-done strong,.lesson-booking-blocked strong{font-size:20px;font-weight:600}.lesson-booking-done p,.lesson-booking-blocked p{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.lesson-list{flex-direction:column;gap:8px;margin-top:32px;display:flex}.lesson-list h2{align-items:center;gap:8px;margin:0 0 8px;font-size:20px;display:flex}.lesson-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-direction:column;gap:12px;padding:16px;display:flex}.lesson-card__title{flex-direction:column;align-items:flex-start;gap:10px;display:flex}@media (width>=640px){.lesson-card__title{flex-flow:wrap;justify-content:space-between}}.lesson-card__title>div{flex-direction:column;gap:3px;min-width:0;display:flex}.lesson-card__title strong{font-size:16px;font-weight:600}.lesson-card__title a{color:inherit;text-decoration:none}.lesson-card__title span{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.lesson-card__meta{flex-wrap:wrap;gap:8px 18px;font-size:14px;display:flex}.lesson-card__meta span{align-items:center;gap:6px;display:inline-flex}.lesson-card__meta strong{font-weight:600}.lesson-card__meta small{color:var(--muted);font-size:12px}.lesson-card__company{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.lesson-card__note{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.lesson-card__note--locked{color:var(--ink);font-weight:600}.lesson-card__cancel{align-self:flex-start}.lesson-card__pay{border-radius:var(--r-sm);background:var(--primary);min-height:48px;color:var(--on-primary);align-self:flex-start;align-items:center;padding:0 18px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.lesson-card__pay--topup{color:var(--on-highlight);background:var(--highlight)}.lesson-checkout-page{flex-direction:column;gap:16px;width:min(100%,720px);margin:0 auto;display:flex}.lesson-checkout-hero{border-radius:var(--r-lg);color:var(--on-board);background:var(--board);flex-direction:column;gap:14px;padding:20px 16px;display:flex}@media (width>=640px){.lesson-checkout-hero{flex-direction:row;justify-content:space-between;padding:20px 24px}}.lesson-checkout-hero h2{margin:2px 0 8px;font-size:20px}.lesson-checkout-hero__meta{color:#ffffffb8;flex-direction:column;gap:6px;margin:0;font-size:14px;display:flex}.lesson-checkout-hero__meta span{align-items:center;gap:8px;display:inline-flex}.lesson-checkout-hero__meta svg{flex:none}.lesson-checkout-hero__price{flex-direction:column;gap:2px;margin:0;display:flex}@media (width>=640px){.lesson-checkout-hero__price{text-align:right;align-items:flex-end}}.lesson-checkout-hero__price strong{color:var(--board-accent);font-size:24px;font-weight:600}.lesson-checkout-hero__price small{color:#fff9;font-size:13px}.lesson-checkout-card{--action-bar-gutter:16px;padding:var(--action-bar-gutter);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-direction:column;gap:14px;display:flex}@media (width>=768px){.lesson-checkout-card{--action-bar-gutter:24px}}.lesson-checkout-card h1{margin:0;font-size:22px}.lesson-checkout-card__lead{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.lesson-checkout-card__lead b{color:var(--ink);font-weight:600}.lesson-checkout-shares{border-radius:var(--r-sm);background:var(--bg);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.lesson-checkout-shares__row{justify-content:space-between;gap:10px;font-size:15px;display:flex}.lesson-checkout-shares__row span{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.lesson-checkout-shares__row strong{font-weight:600}.lesson-booking-secondary{min-height:44px;color:var(--muted);align-items:center;font-size:15px;text-decoration:underline;display:inline-flex}.lesson-card__confirm{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);flex-direction:column;gap:12px;padding:16px;font-size:14px;line-height:1.45;display:flex}.lesson-card__confirm>p{margin:0}.lesson-card__confirm--costly{border-color:var(--danger-line);background:var(--danger-wash)}.lesson-card__confirm>div{flex-wrap:wrap;gap:8px;display:flex}.lesson-card__confirm .btn{flex:160px}.coach-directory-page{gap:16px;width:min(100%,1240px);margin:0 auto;display:grid}.coach-directory-page>.page-heading{margin-bottom:4px}.coach-directory-filters{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;padding:16px;display:grid}.coach-directory-filters__field{align-content:start;gap:6px;min-width:0;display:grid}.coach-directory-filters__field>span,.coach-directory-filters__field>label{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:16px;display:flex}.coach-directory-filters>.coach-directory-filters__field:first-child,.coach-directory-filters__reset{grid-column:1/-1}.coach-directory-filters__reset:disabled{display:none}@media (width>=1024px){.coach-directory-filters{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr)) auto}.coach-directory-filters>.coach-directory-filters__field:first-child,.coach-directory-filters__reset{grid-column:auto}.coach-directory-filters__reset:disabled{display:inline-flex}}.coach-directory__count,.coach-directory__empty{color:var(--muted);margin:0;font-size:14px}.coach-directory__empty{border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface);text-align:center;padding:24px 16px}.coach-directory{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.coach-directory>li{min-width:0;display:grid}.coach-directory-card{border:1px solid var(--line);border-radius:var(--r-md);min-width:0;color:inherit;background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:16px;text-decoration:none;transition:border-color .16s;display:flex}.coach-directory-card:hover{border-color:var(--accent)}.coach-directory-card:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.coach-directory-card__head{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;display:grid}.coach-directory-card__photo{width:48px;height:48px;color:var(--on-ball);background:var(--ball);letter-spacing:.02em;border-radius:50%;place-items:center;font-size:16px;font-weight:700;display:grid;overflow:hidden}.coach-directory-card__photo img{object-fit:cover;width:100%;height:100%}.coach-directory-card__who{gap:4px;min-width:0;display:grid}.coach-directory-card__who strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;line-height:1.3;overflow:hidden}.coach-directory-card__home{min-width:0;color:var(--muted);align-items:flex-start;gap:6px;font-size:13px;line-height:18px;display:flex}.coach-directory-card__home svg{flex:none;margin-top:2px}.coach-directory-card__bio{min-height:3em;color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.coach-directory-card__bio--empty{color:var(--muted)}.coach-directory-card__foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.coach-directory-card__price{align-items:baseline;gap:6px;display:inline-flex}.coach-directory-card__price b{color:var(--money);font-size:18px;font-weight:700}.coach-directory-card__price small{color:var(--muted);font-size:13px}.coach-directory-card__more{color:var(--accent);align-items:center;gap:4px;font-size:14px;font-weight:600;display:inline-flex}.coach-directory-card__more svg{transition:transform .16s}.coach-directory-card:hover .coach-directory-card__more svg{transform:translate(2px)}.home-bookings{background:var(--wash)}.theme-toggle{border-radius:var(--r-pill);background:var(--board-chip);gap:2px;width:max-content;padding:3px;display:flex}.theme-toggle__option{border-radius:var(--r-pill);cursor:pointer;background:0 0;border:0;place-items:center;width:32px;height:32px;padding:0;display:grid}.theme-toggle__option:hover{background:var(--board-chip)}.theme-toggle__swatch{border-radius:var(--r-pill);width:16px;height:16px;box-shadow:0 0 0 1px var(--board-line)}.theme-toggle__swatch--scoreboard{background:var(--swatch-scoreboard)}.theme-toggle__swatch--hard{background:var(--swatch-hard)}.theme-toggle__option--active .theme-toggle__swatch{box-shadow:0 0 0 2px var(--board), 0 0 0 4px var(--on-board)}.eyebrow--community{color:var(--info)}.eyebrow--coach{color:var(--coach-ink)}.eyebrow--payment{color:var(--info)}.eyebrow--booking{color:var(--wait-ink)}.booking-participants{border-top:1px solid var(--line);gap:14px;margin-top:18px;padding-top:16px;display:grid}.admin-detail-card>.booking-participants{border-top:0;margin-top:0;padding-top:0}.booking-participants__heading{align-items:center;gap:12px;display:flex}.booking-participants__heading>span{border-radius:var(--r-sm);width:40px;height:40px;color:var(--accent);background:var(--bg);place-items:center;display:grid}.booking-participants__heading small{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:11px;font-weight:700}.booking-participants__heading h2{margin:0;font-size:16px;font-weight:600}.booking-participants__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.booking-participants__list li{align-items:center;gap:10px;min-width:0;display:flex}.booking-participants__list strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.booking-participants__list small{color:var(--muted);font-size:12px}.booking-participants__avatar,.guests-chip{width:32px;height:32px;color:var(--ink);background:var(--bg);border-radius:999px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.guests-chip{border:1px dashed var(--line);background:var(--surface)}.booking-participants__remove{border:1px solid var(--line);border-radius:var(--r-sm);width:36px;height:36px;color:var(--muted);background:var(--surface);place-items:center;margin-left:auto;display:grid}.booking-participants__count{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.booking-participants__count>span{font-size:14px;font-weight:600}.booking-participants__count>small{width:100%;color:var(--muted);font-size:12px}.players-stepper{align-items:center;gap:12px;display:inline-flex}.players-stepper button{border:1px solid var(--line);border-radius:var(--r-sm);width:40px;height:40px;color:var(--ink);background:var(--surface);place-items:center;display:grid}.players-stepper button:disabled,.booking-participants__remove:disabled{opacity:.45}.players-stepper strong{text-align:center;min-width:20px;font-size:18px;font-weight:600}.booking-participants__add{gap:10px;display:grid}.booking-participants__add-modes{flex-wrap:wrap;gap:8px;display:flex}.booking-participants__add-modes button,.booking-participants__leave{border:1px solid var(--line);border-radius:var(--r-sm);min-height:44px;color:var(--ink);background:var(--surface);align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.booking-participants__add-modes button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.booking-participants__leave{width:fit-content}.booking-participants__leave--danger{border-color:var(--danger);color:var(--on-board);background:var(--danger)}.booking-participants__friends{gap:6px;display:grid}.booking-participants__friends small{color:var(--muted);font-size:13px}.booking-participants__friends ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.booking-participants__friends li{justify-content:space-between;align-items:center;gap:10px;min-width:0;font-size:14px;display:flex}.booking-participants__friends li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking-participants__friends li button{border-radius:var(--r-sm);min-height:40px;color:var(--on-primary);background:var(--primary);flex:none;padding:0 14px;font-weight:700}.booking-participants__phone{gap:6px;display:grid}.booking-participants__phone label{font-size:13px;font-weight:600}.booking-participants__validation{color:var(--danger);font-size:13px}.booking-role-badge{min-height:26px;color:var(--info);background:var(--info-soft);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.booking-summary__players{gap:6px;padding:12px 0;display:grid}.booking-summary__players label{font-size:13px;font-weight:600}.booking-summary__players label small,.booking-summary__players>small{color:var(--muted);font-size:12px;font-weight:400}.booking-summary__price .booking-summary__payment-caption{color:var(--accent);letter-spacing:0;text-transform:none}.details-notice--confirmed{color:var(--accent)}.checkout-on-site-total{width:min(100%,320px)}.checkout-on-site-total small{color:var(--muted);font-size:12px;display:block}.tennis-passport-card .profile-section-title{margin-bottom:16px}.tennis-passport-card__facts{gap:12px;margin:0;display:grid}.tennis-passport-card__facts>div{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding-bottom:12px;display:flex}.tennis-passport-card__facts>div:last-child{border-bottom:0;padding-bottom:0}.tennis-passport-card__facts dt{color:var(--muted);font-size:14px}.tennis-passport-card__facts dd{color:var(--ink);margin:0;font-size:14px;font-weight:600}.tennis-passport-form{gap:16px;display:grid}.tennis-passport-form__grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=560px){.tennis-passport-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.tennis-passport-form legend{margin-bottom:8px;padding:0;font-size:13px;font-weight:600;display:block}.tennis-passport-form__surfaces{border:0;margin:0;padding:0}.tennis-passport-form__surfaces>div{flex-wrap:wrap;gap:8px;display:flex}.tennis-passport-form__surfaces button{border:1px solid var(--line-strong);border-radius:var(--r-pill);min-height:44px;color:var(--ink);background:var(--surface);padding:0 16px;font-size:14px;font-weight:600}.tennis-passport-form__surfaces button[aria-pressed=true]{border-color:var(--focus);color:var(--select-ink);background:var(--select-bg)}.tennis-passport-form__surfaces button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tennis-passport-form__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.coach-tabs{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);grid-template-columns:1fr 1fr;gap:3px;max-width:420px;padding:4px;display:grid}.coach-tabs button{border-radius:var(--r-sm);min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 16px;font-size:14px;font-weight:700}.coach-tabs button[aria-selected=true]{color:var(--ink);background:var(--surface);box-shadow:0 3px 9px var(--ink-tint)}.coach-lesson__modes{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}@media (width>=640px){.coach-lesson__modes{grid-template-columns:repeat(3,auto);width:fit-content}}.coach-lesson__modes button{border-radius:calc(var(--r-sm) - 2px);min-height:36px;color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:0 12px;font-size:13px;font-weight:600}.coach-lesson__modes button[aria-pressed=true]{color:var(--select-ink);background:var(--select-bg)}.coach-sport-form{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.coach-sport-form h3,.coach-students__heading{margin:0;font-size:16px}.coach-form__problem{color:var(--danger)}.coach-students__search{color:var(--muted);display:block;position:relative}.coach-students__search>svg{pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.coach-students__search>input.control{padding-left:38px}.coach-students__list,.coach-students__history{gap:8px;margin:0;padding:0;list-style:none;display:grid}.coach-students__row{border:1px solid var(--line);border-radius:var(--r-sm);width:100%;min-height:56px;color:inherit;background:var(--surface);text-align:left;cursor:pointer;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 14px;display:grid}.coach-students__row .num{color:var(--muted)}.coach-students__row small{color:var(--muted);grid-column:1/-1}.coach-students__row:hover{border-color:var(--accent)}.coach-students__back{justify-self:start}.coach-students__next{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.coach-students__invite{align-items:end;gap:8px 12px;display:grid}@media (width>=640px){.coach-students__invite{grid-template-columns:minmax(0,1fr) auto}}.coach-students__invite-field{gap:6px;min-width:0;display:grid}.coach-students__invite-field>label{font-size:13px;font-weight:600}.coach-students__invite>:is(.form-error,.coach-students__done){grid-column:1/-1}.coach-students__done{color:var(--ok-ink);margin:0}.coach-students__history li{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px 12px;padding:10px 0;display:flex}.coach-students__history small{color:var(--muted)}.home-next__card{gap:12px;display:grid}.home-next__actions{flex-wrap:wrap;gap:8px;display:flex}.home-rebook{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.home-rebook .eyebrow{margin-bottom:8px}.home-rebook h2{margin:0 0 8px;font-size:18px}.home-rebook p{color:var(--muted);align-items:center;gap:6px;margin:0;display:flex}.home-list{display:grid}.home-club .eyebrow{margin-bottom:8px}.home-club h2{align-items:center;gap:8px;margin:0 0 8px;font-size:18px;display:flex}.home-note{color:var(--muted);margin:0;line-height:1.5}.booking-rebook-hint{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);background:var(--bg);margin:0 0 12px;padding:10px 14px}.analytics-controls{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:16px;padding:14px;display:flex}.analytics-presets{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);flex-wrap:wrap;gap:2px;padding:3px;display:flex}.analytics-presets button{min-height:calc(var(--control-h) - 8px);border-radius:calc(var(--r-sm) - 3px);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:14px;font-weight:600}.analytics-presets button:hover{color:var(--ink)}.analytics-presets button[aria-pressed=true]{color:var(--select-ink);background:var(--surface);box-shadow:var(--shadow)}.analytics-custom{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.analytics-custom .admin-field{width:160px}.analytics-custom__error{width:100%;color:var(--danger);font-size:13px}.analytics-location{width:min(100%,240px)}.analytics-compare.admin-check{min-height:var(--control-h)}.analytics-export.btn{margin-left:auto}@media (width<=639px){.analytics-presets,.analytics-location,.analytics-custom .admin-field{width:100%}.analytics-presets{grid-template-columns:1fr 1fr 1fr 1.5fr;display:grid}.analytics-presets button{white-space:nowrap;padding:0 6px}.analytics-custom{width:100%}.analytics-custom .admin-field{flex:140px;width:auto}.analytics-export.btn{width:100%;margin-left:0}}.analytics-period{margin:0 0 12px;font-weight:600}.analytics-period small{color:var(--muted);font-weight:500}.analytics-tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px;display:grid}.analytics-tile{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:0;box-shadow:var(--shadow);align-content:start;gap:4px;padding:14px 16px;display:grid}.analytics-tile h2{color:var(--muted);font-family:var(--font-body);letter-spacing:0;text-transform:none;margin:0;font-size:12px;font-weight:600}.analytics-tile strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.15}.analytics-tile__delta{color:var(--muted);align-items:center;gap:4px;margin:0;font-size:13px;display:inline-flex}.analytics-tile__delta--good{color:var(--ok-ink)}.analytics-tile__delta--bad{color:var(--danger)}.analytics-section-title h2{font-family:var(--font-body);letter-spacing:0;text-transform:none;margin:0;font-size:16px;font-weight:600}.analytics-section-title p{color:var(--muted);margin:4px 0 12px;font-size:14px}.analytics-heatmap,.analytics-resources{margin-bottom:16px}.analytics-heatmap{padding:16px 18px 18px}.analytics-resources .analytics-section-title{padding:16px 18px 0}.analytics-resources>.home-note{margin:0;padding:0 18px 18px}.analytics-heatmap__scroll{max-width:100%;overflow-x:auto}.analytics-heatmap__grid{width:100%;min-width:calc(var(--heatmap-hours,12) * 34px + 44px);table-layout:fixed;border-collapse:separate;border-spacing:3px}.analytics-heatmap__grid thead th:first-child{width:44px}.analytics-heatmap th{color:var(--muted);padding:0 4px;font-size:13px;font-weight:600}.analytics-heatmap thead th{text-align:center;padding-bottom:4px}.analytics-heatmap tbody th{text-align:left}.analytics-heatmap td{height:clamp(36px,3.6vw,48px);color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;border-radius:6px;font-size:clamp(12px,1.1vw,15px);font-weight:600}.analytics-heatmap [data-level="0"]{background:color-mix(in oklab, var(--accent) 6%, var(--surface))}.analytics-heatmap [data-level="1"]{background:color-mix(in oklab, var(--accent) 22%, var(--surface))}.analytics-heatmap [data-level="2"]{background:color-mix(in oklab, var(--accent) 45%, var(--surface))}.analytics-heatmap [data-level="3"]{background:color-mix(in oklab, var(--accent) 72%, var(--surface));color:var(--surface)}.analytics-heatmap [data-level="4"]{background:var(--accent);color:var(--surface)}.analytics-heatmap td[data-level="3"],.analytics-heatmap td[data-level="4"]{color:var(--surface)}.analytics-heatmap .is-closed,.analytics-legend .is-closed{background:repeating-linear-gradient(45deg, transparent 0 4px, var(--line) 4px 6px)}.analytics-legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:12px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.analytics-legend li{align-items:center;gap:6px;display:inline-flex}.analytics-legend i{border:1px solid var(--line);border-radius:4px;width:16px;height:16px;display:inline-block}@media (width>=761px){.admin-table-scroll.analytics-resources__scroll{overflow:visible}}.analytics-table{table-layout:fixed;min-width:640px}.analytics-table th:first-child{width:26%}.analytics-table th,.analytics-table td{white-space:nowrap}.analytics-table tbody th{text-overflow:ellipsis;overflow:hidden}.analytics-table thead th{vertical-align:bottom}.analytics-table th.num,.analytics-table td{text-align:right}.analytics-hint{align-items:center;gap:2px;display:inline-flex;position:relative}.analytics-hint__button{width:24px;height:24px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;margin:-4px -6px -4px 0;padding:0;display:inline-grid}.analytics-hint__button:hover,.analytics-hint__button:focus-visible{color:var(--accent)}.analytics-hint__tooltip{z-index:5;border-radius:var(--r-sm);background:var(--ink);width:max-content;max-width:240px;color:var(--surface);text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;padding:8px 10px;font-size:13px;font-weight:400;line-height:1.4;transition:opacity .12s,visibility .12s;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 6px 18px #0000002e}.analytics-hint:hover .analytics-hint__tooltip,.analytics-hint:focus-within .analytics-hint__tooltip{opacity:1;visibility:visible}.calendar-slot--no-show{outline:2px dashed var(--danger);outline-offset:-3px}.calendar-attendance{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);margin-top:16px;padding:16px}.calendar-attendance h2{font-family:var(--font-body);letter-spacing:0;text-transform:none;margin:0;font-size:16px;font-weight:600}.calendar-attendance p{color:var(--muted);margin:4px 0 10px}.calendar-attendance ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.calendar-attendance li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 0;display:flex}.calendar-attendance li:last-child{border-bottom:0}.calendar-attendance li>.btn{margin-left:auto}.calendar-attendance__badge{border-radius:var(--r-pill);color:var(--danger);background:var(--danger-wash);padding:2px 8px;font-size:12px;font-weight:600}.notifications-card__toggle{cursor:pointer;align-items:center;gap:12px;min-height:44px;margin-top:16px;font-size:15px;font-weight:600;display:flex}.notifications-card__toggle input{border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--chip-neutral);appearance:none;cursor:pointer;flex:none;width:44px;height:26px;margin:0;transition:background .16s;position:relative}.notifications-card__toggle input:after{background:var(--surface);content:"";border-radius:50%;width:20px;height:20px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.notifications-card__toggle input:checked{border-color:var(--accent);background:var(--accent)}.notifications-card__toggle input:checked:after{transform:translate(18px)}.notifications-card__toggle input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.notifications-card__toggle input:disabled{cursor:progress;opacity:.6}.notifications-card__empty{color:var(--muted);margin:16px 0 0}.notifications-card__list{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.notifications-card__list a,.notifications-card__list li>div{border:1px solid var(--line);border-radius:var(--r-sm);color:inherit;grid-template-columns:1fr auto;gap:4px 12px;padding:12px;text-decoration:none;display:grid}.notifications-card__list a:hover{border-color:var(--accent)}.notifications-card__list a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.notifications-card__list a>svg{color:var(--muted);grid-area:1/2/span 3;align-self:center}.notifications-card__list strong{font-size:15px;font-weight:600}.notifications-card__list span,.notifications-card__list small{grid-column:1;line-height:1.45}.notifications-card__list span{color:var(--ink);font-size:14px}.notifications-card__list small{color:var(--muted);font-size:13px}.notifications-card__list .is-unread a,.notifications-card__list .is-unread>div{background:var(--select-bg);border-color:#0000}.notifications-card__list .is-unread strong:before{background:var(--accent);vertical-align:2px;content:"";border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.details-notice--reception a{color:var(--accent);font-weight:700}.series-toolbar{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;padding:14px;display:flex}.series-toolbar__location{width:min(100%,320px)}@media (width<=639px){.series-toolbar>.btn{width:100%}}.series-list ul,.series-occurrences,.series-conflicts ul{margin:0;padding:0;list-style:none}.series-list ul,.series-list__header{border-top:1px solid var(--line)}.series-list__header{display:none}.series-row{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:var(--surface);font:inherit;text-align:left;cursor:pointer;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;margin:0;padding:12px 16px;font-size:14px;transition:background .13s;display:grid}.series-list li:last-child .series-row{border-radius:0 0 var(--r-md) var(--r-md);border-bottom:0}.series-row:hover{background:var(--wash)}.series-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.series-row__who{gap:2px;display:grid}.series-row__who strong{font-weight:600}.series-row__who small,.series-row__count small{color:var(--muted);font-size:13px}.series-row__status{grid-area:1/2}.series-row__chevron{color:var(--muted);display:none}.series-row--cancelled,.series-row--cancelled .series-row__who strong{color:var(--muted)}@media (width>=900px){.series-list__header,.series-row{grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.2fr) 90px 110px 18px;align-items:center;gap:14px;display:grid}.series-list__header{border-bottom:1px solid var(--line);min-height:36px;color:var(--muted);background:var(--thead);padding:0 16px;font-size:12px;font-weight:600}.series-list__header+ul{border-top:0}.series-list__count,.series-row__count{text-align:right}.series-row__count small{display:none}.series-row__status{grid-area:auto}.series-row__chevron{display:block}}.admin-modal__kicker svg{vertical-align:-2px}.series-conflicts{border:1px solid var(--danger-line);border-radius:var(--r-sm);background:var(--danger-wash);gap:8px;padding:12px 14px;display:grid}.series-conflicts p{color:var(--danger);align-items:center;gap:6px;margin:0;font-weight:600;display:flex}.series-conflicts li{grid-template-columns:auto auto minmax(0,1fr);gap:10px;padding:4px 0;font-size:14px;display:grid}.series-created{gap:12px;display:grid}.series-created .admin-notice>span{font-weight:400}.series-occurrences{border:1px solid var(--line);border-radius:var(--r-sm);max-height:320px;display:grid;overflow-y:auto}.series-occurrence{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:8px 12px;font-size:14px;display:grid}.series-occurrence:last-child{border-bottom:0}@media (width>=560px){.series-occurrence{grid-template-columns:110px 110px minmax(0,1fr) auto}}.series-occurrence--cancelled>.num,.series-occurrence--released>.num{color:var(--muted);text-decoration:line-through}.series-confirm,.series-cancel{gap:8px;display:grid}.series-confirm{border:1px solid var(--danger-line);border-radius:var(--r-sm);background:var(--danger-wash);padding:12px 14px}.series-confirm p{margin:0;font-size:14px;line-height:1.5}.series-confirm>label,.series-cancel>label{color:var(--muted);font-size:12px;font-weight:600}.series-cancel{border-top:1px solid var(--line);padding-top:14px}.series-cancel h3{margin:0;font-size:15px;font-weight:600}.calendar-slot--series{border-style:dashed;position:relative}.calendar-slot__series{color:var(--muted);letter-spacing:.02em;font-size:11px;font-weight:700}.coach-block__series{min-height:28px;color:var(--on-highlight);background:var(--highlight);border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.coach-block__club-cancels{color:var(--muted);cursor:help;font-size:13px;font-weight:600}.coach-week__filter.btn[aria-pressed=true]{border-color:var(--accent);color:var(--select-ink);background:var(--select-bg)}.games-feed{gap:16px;display:grid}.games-feed__filter{max-width:320px}.booking-summary__open-game>label:not(.booking-summary__checkbox),.booking-open-game label{color:var(--ink);font-size:13px;font-weight:600}.games-list{gap:8px;display:grid}.game-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);gap:12px;min-width:0;padding:16px;display:grid}@media (width>=640px){.game-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}}.game-card__main{gap:8px;min-width:0;display:grid}.game-card__title{min-width:0;color:var(--ink);align-items:center;gap:8px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.game-card__title svg{color:var(--accent);flex:none}.game-card__title:hover{color:var(--accent)}.game-card__when,.game-card__players{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.game-card__players{color:var(--ink);font-weight:600}.game-card__meta{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.game-card__action .btn{min-width:140px}@media (width<=639px){.game-card__action .btn{width:100%}}.game-form{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);gap:16px;padding:16px;display:grid}@media (width>=768px){.game-form{gap:24px;padding:24px}}.game-form__row{gap:16px;display:grid}@media (width>=640px){.game-form__row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.game-form__legend{color:var(--ink);font-size:13px;font-weight:600}.game-form__hint{color:var(--muted);margin-top:-8px;font-size:12px}.game-form__players{max-width:320px}.game-form__submit{justify-self:start}@media (width<=639px){.game-form__submit{justify-self:stretch}}.game-details-card{gap:16px;display:grid}.game-details-card__note{color:var(--ink);align-items:flex-start;gap:8px;margin:0;font-size:14px;line-height:1.5;display:flex}.game-details-card__join,.game-details-card__leave,.game-details-card__cancel{justify-self:start}.game-details-card__confirm{border:1px solid var(--danger-line);border-radius:var(--r-md);background:var(--danger-wash);gap:12px;padding:16px;font-size:14px;font-weight:600;display:grid}.game-details-card__confirm>div{flex-wrap:wrap;gap:8px;display:flex}.game-invitation__actions{flex-wrap:wrap;grid-column:2;gap:8px;display:flex}.booking-open-game .select{max-width:260px}.booking-open-game>.btn{grid-column:2;width:fit-content}.booking-summary__open-game{gap:6px;padding:12px 0;display:grid}.booking-summary__checkbox{min-height:44px;color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.booking-summary__checkbox input{width:18px;height:18px;accent-color:var(--accent)}.booking-summary__open-game>small{color:var(--muted);font-size:12px}.public-slots__body{gap:12px;min-width:0;display:grid}.public-slots .slot-legend{margin:0}.public-slots .date-strip{grid-auto-columns:66px}.public-slots .date-strip>button small{letter-spacing:0;font-size:10px}@media (width>=768px){.public-slots .date-strip{grid-auto-columns:minmax(66px,1fr)}}@media (width<=639px){.public-slot-grid__court{width:112px}}.legend-dot--closed{background:0 0;border-style:dashed}.public-slot-grid.court-grid{overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);max-height:min(70vh,720px);box-shadow:var(--shadow);display:block;overflow:auto}.public-slot-grid .court-grid__table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.public-slot-grid .court-grid__time-head{z-index:4;background:var(--thead);width:64px;position:sticky;top:0;left:0}.public-slot-grid .court-grid__time{width:64px;min-width:64px;color:var(--muted);background:var(--surface);padding:4px 10px;font-size:13px}.public-slot-grid__court{z-index:3;border-bottom:1px solid var(--line);background:var(--thead);text-align:left;vertical-align:bottom;width:128px;padding:10px 8px;position:sticky;top:0}.public-slot-grid__court>*{display:block}.public-slot-grid__court strong{color:var(--ink);font-size:14px;font-weight:600}.public-slot-grid__court small{color:var(--muted);font-size:12px;font-weight:400;line-height:16px}.public-slot-grid__closed{margin-top:4px}.public-slot-grid .court-grid__cell{border-bottom:1px solid var(--line);padding:3px 4px}.public-slot{border-radius:calc(var(--r-sm) - 2px);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;border:1px solid #0000;place-content:center;width:100%;min-height:36px;padding:0 4px;font-size:13px;font-weight:600;text-decoration:none;display:grid}.public-slot--free{border-color:var(--line-strong);color:var(--ink);background:var(--slot-free);transition:border-color .16s,background .16s}.public-slot--free:hover,.public-slot--free:focus-visible{border-color:var(--accent);color:var(--select-ink);background:var(--select-bg);outline:none}.public-slot--busy{color:var(--muted);background:var(--chip-neutral);font-weight:500}.public-slot--closed{color:var(--muted);background:0 0;font-weight:400}
