.device-onboarding{position:fixed;z-index:40;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));width:min(400px,calc(100% - 2rem));max-height:75dvh;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:20px;padding:1rem;color:var(--text);background:var(--surface);box-shadow:0 12px 60px #002d1938}.device-onboarding>header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-weight:800;color:var(--brand)}.device-onboarding .onboarding-close{flex:none;padding:.25rem;min-width:44px;font-size:1.5rem}.device-onboarding .device-card{padding:0;border:0;box-shadow:none;border-radius:0}.device-onboarding .device-card h2{font-size:1.25rem}.device-onboarding p,.device-onboarding li{font-size:.9rem;line-height:1.5}.device-onboarding ol{padding-left:1.25rem}.device-onboarding li+li{margin-top:.55rem}.device-onboarding>footer{display:flex;align-items:center;gap:.75rem;margin-top:.8rem}.device-onboarding footer small{color:var(--muted);line-height:1.4}.device-onboarding footer button{flex:none}.device-card li{margin-block:.5rem}.pwa-update-notice{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:max(.8rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .8rem max(1rem,env(safe-area-inset-left));color:var(--text);background:#fff8df;border-bottom:1px solid #e2d5a1}.pwa-update-notice strong{color:var(--brand)}.pwa-update-notice p{margin:.3rem 0 0;font-size:.9rem;line-height:1.4}.pwa-update-actions{display:flex;flex-wrap:wrap;gap:.5rem}.pwa-update-actions button{min-height:44px}:root{--brand: #005930;--brand-dark: #003c21;--background: #f5f7f5;--surface: #fff;--text: #18201c;--muted: #5d6962;--line: #dbe1dd;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--background);font-synthesis:none;text-rendering:optimizeLegibility}.device-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem;margin:1.5rem 0}.device-card{padding:1.25rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 8px 24px #003c210f}.device-card h2{margin-top:0;font-size:1.1rem}.device-state{color:var(--brand-dark);font-weight:650}.device-card button{min-height:44px}.manager-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;align-items:end}.manager-form-row{display:flex;gap:1rem;align-items:end;margin:1rem 0}.manager-form-grid label,.manager-form-row label{display:grid;gap:.4rem;font-weight:600}.manager-form-grid input,.manager-form-grid select,.manager-form-row input,.manager-form-row select{min-height:44px;padding:.65rem;border:1px solid var(--line, #d8d8d2);border-radius:.5rem}.booking-subject-selector{display:flex;flex-wrap:wrap;gap:.75rem;min-width:0;padding:.75rem;border:1px solid var(--line);border-radius:12px}.booking-subject-selector legend{padding:0 .25rem;font-weight:700}.manager-form-grid .booking-subject-selector label{display:flex;align-items:center;gap:.4rem;font-weight:600}.manager-form-grid .booking-subject-selector input{min-height:auto;padding:0}.guest-name-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.25rem;row-gap:1rem}.guest-name-fields label,.guest-name-fields input{min-width:0;width:100%}.guest-name-fields small{grid-column:1 / -1;color:var(--muted)}.manager-booking-customer{margin:1.5rem 0 2rem}.manager-booking-customer .manager-form-grid{margin-top:1.25rem}.manager-booking-customer .booking-subject-selector{grid-column:1 / -1;background:#f8faf8}.manager-booking-customer .panel-heading>span{max-width:32rem;color:var(--muted);line-height:1.5}.manager-manual-booking-layout{display:grid;gap:1.5rem;align-items:start}.manager-manual-availability{min-width:0;padding-bottom:2rem}.manager-manual-booking-layout .date-control{width:100%}.manager-manual-booking-layout .date-strip{flex:1 1 auto;min-width:0}.manager-manual-booking-layout .booking-panel{min-width:0}.booking-hint{padding:.75rem;border-radius:12px;color:var(--brand-dark);background:var(--brand-soft);font-size:.88rem;line-height:1.45}.manager-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line, #ddd)}.hours-row{display:grid;gap:1rem;padding:1.25rem;margin:1rem 0;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.hours-row header,.hours-row footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.hours-status{padding:.25rem .65rem;border-radius:999px;background:#f5e8e8;color:#7a2632;font-size:.75rem;font-weight:800;letter-spacing:.05em}.hours-status.is-open{background:#e4f2eb;color:var(--brand)}.hours-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.hours-inputs label{display:grid;gap:.4rem;color:var(--muted);font-size:.9rem;font-weight:650}.hours-inputs input{width:100%;min-height:44px;padding:.65rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text)}.hours-row footer{justify-content:flex-start}.hours-row button:disabled{cursor:wait;opacity:.55}.hours-toggle{background:transparent}.manager-list article div{display:grid}.slot-picker{display:grid;gap:.5rem;margin:1.5rem 0}.slot-picker label{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--line, #ddd);border-radius:.5rem}.calendar-operations{display:flex;gap:.75rem;margin-bottom:1rem}.primary-link{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;background:#173f32;color:#fff;border-radius:.5rem;text-decoration:none}.manager-panel time{display:block;color:#667;font-size:.85rem}@media(max-width:650px){.manager-form-row,.manager-list article,.hours-row footer{align-items:stretch;flex-direction:column}.hours-inputs{grid-template-columns:1fr}.guest-name-fields{grid-template-columns:1fr;row-gap:1.25rem}.manager-booking-customer{padding:1rem;margin:1.25rem 0 1.75rem}.manager-booking-customer .booking-subject-selector{display:grid}.manager-booking-customer .booking-subject-selector label{min-height:44px}.manager-manual-booking-layout .court-card{padding:1rem}.calendar-operations{position:sticky;top:0;z-index:2;background:#fff;padding:.5rem 0}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button,a{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}a{color:var(--brand-dark)}:focus-visible{outline:3px solid #087344;outline-offset:3px}.app-shell,.public-route{min-height:100vh}.auth-route{display:grid;min-height:100vh;padding:clamp(1rem,5vw,4rem);place-items:center}.manager-route{min-height:100vh}.manager-shell{min-height:100vh;background:#f4f6f4}.manager-sidebar{display:none}.manager-mobile-header{position:sticky;top:0;z-index:10;padding:.8rem 1rem;background:#fff;border-bottom:1px solid var(--line)}.manager-mobile-header>strong{color:var(--brand)}.manager-mobile-header nav{display:flex;gap:.5rem;margin-top:.65rem}.manager-mobile-header a,.manager-sidebar nav a{min-height:44px;display:flex;align-items:center;padding:.65rem .9rem;border-radius:12px;text-decoration:none;font-weight:700}.manager-mobile-header a[aria-current=page],.manager-sidebar nav a[aria-current=page]{color:#fff;background:var(--brand)}.manager-workspace{min-width:0;padding:clamp(1rem,4vw,3rem)}.manager-page{width:min(100%,1280px);margin:auto}.manager-page-heading p,.calendar-heading p,.panel-heading p{margin:0 0 .4rem;color:var(--brand);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.manager-page-heading h1,.calendar-heading h1{margin:0;font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.04em}.manager-page-heading>span,.calendar-heading>div>span{display:block;margin-top:.6rem;color:var(--muted)}.metric-grid{display:grid;gap:1rem;margin:2rem 0;grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card,.manager-panel,.manager-state,.cancelled-panel{padding:clamp(1rem,3vw,1.6rem);border:1px solid #e2e7e3;border-radius:22px;background:#fff;box-shadow:0 16px 45px #1432230f}.metric-card{display:grid;gap:.45rem}.metric-card span{min-height:2.5em;color:var(--muted);font-weight:650}.metric-card strong{font-size:2.25rem}.metric-card small{color:var(--muted)}.panel-heading,.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.panel-heading h2{margin:0}.next-booking{display:grid;grid-template-columns:70px 1fr;gap:.35rem 1rem;padding:1rem 0;border-top:1px solid var(--line)}.next-booking em{color:var(--brand);font-style:normal;font-weight:700}.manager-empty{color:var(--muted)}.date-actions{display:flex;flex-wrap:wrap;gap:.5rem}.date-actions button,.date-actions input,.court-tabs button{min-height:44px;padding:.55rem .8rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font-weight:700}.court-tabs{display:flex;gap:.5rem;overflow-x:auto;margin:1.5rem 0 .75rem}.court-tabs button[aria-selected=true]{background:var(--brand);color:#fff}.calendar-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;overflow:visible}.court-lane{display:none;min-height:430px;padding:1rem;border:1px solid var(--line);border-radius:22px;background:repeating-linear-gradient(#fff 0 58px,#edf0ee 59px 60px)}.court-lane.selected{display:block}.court-lane h2{margin:0}.lane-hours{color:var(--muted)}.schedule-card{display:grid;width:100%;min-height:84px;margin:.6rem 0;padding:.75rem;text-align:left;border:1px solid #a9c8b7;border-left:5px solid var(--brand);border-radius:13px;background:#f3faf6;color:var(--text);cursor:pointer}.schedule-card.block{border-color:#9da8a1;border-left-style:double;background:#f1f2f1}.schedule-card small{margin-top:.3rem;color:var(--muted)}.cancelled-panel{margin-top:1rem}.cancelled-panel article{display:grid;gap:.25rem;padding:.8rem 0;border-top:1px solid var(--line)}.cancelled-panel em{color:var(--muted);font-style:normal}.schedule-detail{position:fixed;z-index:20;right:1rem;bottom:1rem;width:min(calc(100% - 2rem),420px);padding:1.5rem;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 20px 70px #001e0f33}.schedule-detail>button{float:right;min-width:44px;min-height:44px;border:0;border-radius:50%;font-size:1.5rem}@media(min-width:900px){.manager-shell{display:grid;grid-template-columns:240px minmax(0,1fr)}.manager-sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:2rem 1.25rem;background:#fff;border-right:1px solid var(--line)}.manager-brand{color:var(--brand);font-size:1.1rem;font-weight:850;text-decoration:none}.manager-sidebar nav{display:grid;gap:.35rem;margin-top:2.5rem}.manager-sidebar>.manager-booking-return{display:flex;align-items:center;min-height:44px;margin-top:1rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:12px;color:var(--brand-dark);background:var(--brand-soft)}.manager-sidebar nav p{display:flex;justify-content:space-between;padding:.7rem .9rem;color:#8a928d}.manager-sidebar nav small{font-size:.65rem}.manager-account{display:grid;gap:.6rem;margin-top:auto}.manager-account button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#fff}.manager-mobile-header{display:none}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.next-booking{grid-template-columns:70px repeat(4,1fr);align-items:center}.court-tabs{display:none}.calendar-grid{grid-template-columns:repeat(var(--court-count),minmax(240px,1fr));overflow-x:auto}.court-lane,.court-lane.selected{display:block}}.public-page{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 85% 9%,#fff 0 9rem,transparent 27rem),var(--background)}.public-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(100% - 2rem,1180px);min-height:84px;margin:auto}.brand{display:flex;align-items:center;gap:.7rem;color:var(--text);font-size:.94rem;font-weight:720;text-decoration:none}.brand-mark{width:34px;filter:drop-shadow(0 6px 6px rgb(23 43 33/15%))}.public-header nav{display:flex;align-items:center;gap:.5rem}.nav-link,.nav-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem .9rem;border-radius:14px;font-size:.9rem;font-weight:700;text-decoration:none}.nav-primary{background:var(--brand);color:#fff;box-shadow:0 8px 18px #0059302e,inset 0 1px #ffffff47}.nav-primary:hover{background:var(--brand-dark);transform:translateY(-1px)}.public-main{width:min(100% - 2rem,1180px);margin:auto}.hero{display:grid;align-items:center;min-height:390px;padding:2.2rem 0 3.4rem}.hero-label,.section-kicker{margin:0 0 .85rem;color:var(--brand);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hero h1{max-width:9ch;margin:0;font-size:clamp(3rem,9.5vw,6.4rem);font-weight:720;letter-spacing:-.065em;line-height:.92}.hero-copy{max-width:33rem;margin:1.45rem 0 0;color:var(--muted);font-size:clamp(1rem,2vw,1.18rem);line-height:1.7}.hero-visual{display:none}.availability{padding-bottom:4rem}.section-heading{display:flex;flex-direction:column;gap:1.4rem;margin-bottom:1.75rem}.section-heading h2{margin:0;font-size:clamp(1.65rem,4vw,2.35rem);letter-spacing:-.035em}.selected-date{margin:.5rem 0 0;color:var(--muted);font-size:.92rem;text-transform:capitalize}.date-control{display:flex;align-items:stretch;gap:.75rem;min-width:0}.date-strip{display:flex;gap:.6rem;max-width:100%;padding:.35rem .25rem .7rem;overflow-x:auto;scrollbar-width:thin}.date-button{display:grid;flex:0 0 64px;min-height:70px;padding:.55rem;border:0;border-radius:18px;background:#fbfcfb;color:var(--muted);box-shadow:6px 7px 16px #1b2d2317,-5px -5px 12px #fff;cursor:pointer}.date-button span{font-size:.72rem;font-weight:700;text-transform:capitalize}.date-button strong{align-self:end;color:var(--text);font-size:1.18rem}.date-button[aria-pressed=true]{background:var(--brand);color:#dbece3;box-shadow:inset 3px 4px 8px #00231347,inset -2px -2px 4px #ffffff26}.date-button[aria-pressed=true] strong{color:#fff}.date-button:disabled,.calendar-picker:has(input:disabled){cursor:not-allowed;opacity:.55}.calendar-picker{position:relative;display:grid;flex:0 0 54px;align-items:center;align-self:.35rem;justify-items:center;width:54px;height:70px;border:1px solid #e1e5e2;border-radius:18px;background:#fff;box-shadow:6px 7px 16px #1b2d2314,-5px -5px 12px #fff;overflow:hidden}.calendar-picker svg{width:22px;fill:none;stroke:var(--brand);stroke-width:1.8}.calendar-picker input{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer}.court-grid{display:grid;gap:1.25rem}.court-grid.is-loading{opacity:.55}.court-card{min-width:0;padding:1.4rem;border:1px solid rgb(216 223 218/70%);border-radius:28px;background:var(--surface);box-shadow:12px 15px 32px #182d2217,-9px -9px 20px #ffffffeb,inset 0 1px #fff}.court-card>header{display:flex;align-items:center;gap:.95rem;padding-bottom:1.2rem;border-bottom:1px solid #edf0ee}.court-icon-wrap{display:grid;width:62px;height:58px;padding:.6rem;border-radius:18px;background:#f5f7f5;box-shadow:inset 2px 2px 5px #1d302612,inset -2px -2px 5px #fff}.court-card h3{margin:0 0 .28rem;font-size:1.25rem}.court-card header p{margin:0;color:var(--muted);font-size:.85rem}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:.7rem;padding:1.35rem 0}.slot{display:grid;place-items:center;width:100%;min-height:48px;padding:.5rem .35rem;border:1px solid #dde3df;border-radius:14px;background:#fafbfa;color:var(--text);font-variant-numeric:tabular-nums;font-weight:750;box-shadow:4px 5px 10px #1e2f2612,-3px -3px 8px #fff;cursor:pointer}.slot.is-selected{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:inset 3px 4px 8px #00231347}.slot:disabled{cursor:not-allowed;box-shadow:none}.slot.is-past{opacity:.48;text-decoration:line-through}.slot.is-unpriced{border-style:dashed;background:#f1f3f1;color:#66716b;opacity:.78;text-decoration:none}.booking-layout{display:grid;gap:1.5rem;align-items:start}.booking-panel{padding:1.4rem;border:1px solid rgb(216 223 218/70%);border-radius:28px;background:#fff;box-shadow:12px 15px 32px #182d221a,-9px -9px 20px #fff}.booking-panel h2{margin:0 0 1rem;font-size:1.35rem}.booking-panel.empty{color:var(--muted)}.draft-list{display:grid;gap:1rem}.draft-item{padding-bottom:1rem;border-bottom:1px solid var(--line)}.draft-item>div,.my-booking-row>div{display:grid;gap:.25rem}.draft-item span,.my-booking-row span{color:var(--muted);font-size:.83rem;text-transform:capitalize}.draft-item fieldset{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.8rem 0;border:0}.draft-item .duration-selector{display:block;padding-top:0}.duration-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.45rem}.duration-options button{display:grid;gap:.2rem;place-items:center;min-width:0;min-height:58px;padding:.55rem .35rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);cursor:pointer}.duration-options button.is-selected{border:2px solid var(--brand);background:#edf6f1;color:var(--brand-dark)}.duration-options button.is-unavailable{border-style:dashed;background:#f1f3f1;color:#66716b;opacity:.55;cursor:not-allowed}.duration-options button.is-unavailable strong{text-decoration:line-through}.duration-options button small{grid-column:auto;font-size:.7rem;line-height:1.2}.draft-item legend{font-size:.75rem;font-weight:700}.draft-item label{display:grid;grid-template-columns:auto 1fr;gap:.1rem .35rem;min-height:48px;padding:.5rem;border:1px solid var(--line);border-radius:12px;align-items:center;cursor:pointer}.draft-item label:has(input:checked){border:2px solid var(--brand);background:#edf6f1}.draft-item label.is-disabled{opacity:.45;cursor:not-allowed}.draft-item small{grid-column:2}@media(max-width:380px){.duration-options{grid-template-columns:1fr}}.remove-slot{border:0;background:transparent;color:#7a2632;text-decoration:underline;cursor:pointer}.preview-total{display:flex;justify-content:space-between;font-size:1.05rem}.confirm-booking{width:100%;min-height:52px;border:0;border-radius:15px;background:var(--brand);color:#fff;font-weight:800;cursor:pointer}.confirm-booking:disabled{opacity:.55;cursor:wait}.booking-error{padding:.8rem;border-left:4px solid #a33;background:#fff4f4}.auth-gate{padding:1rem;border-radius:16px;background:#f3f7f5}.booking-access-notice{display:grid;gap:.35rem;padding:1rem;margin-bottom:1.25rem;border:1px solid #cdded4;border-radius:18px;background:#edf6f1}.booking-access-notice strong{color:var(--brand-dark);font-size:1.05rem}.booking-access-notice p{margin:0;color:var(--muted)}.booking-access-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}.booking-access-actions a{color:var(--brand-dark);font-weight:750}.auth-gate h3{margin:0}.panel-actions{display:flex;align-items:center;gap:1rem;margin-top:1rem}.bookings-page{width:min(100% - 2rem,900px);margin:auto;padding:3rem 0}.bookings-page h1{font-size:clamp(2.4rem,8vw,4.5rem);margin:.5rem 0 2rem}.bookings-page section{margin:2rem 0}.my-booking-card{padding:1.3rem;margin:1rem 0;border-radius:24px;background:#fff;box-shadow:10px 12px 28px #182d2217}.my-booking-row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.my-booking-card footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:1rem}.cancelled-badge{display:inline-block;margin-left:.75rem;padding:.25rem .6rem;border-radius:999px;background:#edf4f0;color:var(--brand);font-size:.75rem}.booking-cancel-button,.cancellation-confirmation button{min-height:44px;padding:.7rem 1rem;border:1px solid #9d3c3c;border-radius:12px;background:#fff;color:#8b2525;font-weight:700;cursor:pointer}.booking-cancel-button{margin-top:1rem}.cancellation-confirmation{padding:1rem;margin-top:1rem;border-radius:16px;background:#fff4f4}.cancellation-confirmation div{display:flex;flex-wrap:wrap;gap:.75rem}.cancellation-confirmation button:last-child{border-color:var(--line);color:var(--text)}.cancellation-confirmation button:disabled{cursor:wait;opacity:.6}.cancellation-closed{color:var(--muted);font-size:.9rem}.slot:hover,.slot:focus-visible{border-color:#7ba590;color:var(--brand);box-shadow:6px 8px 14px #0059301c;transform:translateY(-1px)}.slot.is-selected:hover,.slot.is-selected:focus-visible{border-color:var(--brand);color:#fff}.password-control{display:grid;gap:.35rem}.auth-card .password-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.5rem}.auth-card .password-field input{min-width:0;width:100%}.auth-card .password-toggle{min-width:5.25rem;min-height:44px;margin:0;padding:.35rem .65rem}.support-information{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:18px}.support-information textarea{width:100%}.price-area{min-height:36px;padding-top:1rem;border-top:1px solid #edf0ee;color:var(--muted);font-size:.8rem}.price-area dl{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;margin:0}.price-area dd{margin:0;color:var(--text);font-weight:750}.court-empty{display:flex;align-items:center;gap:.8rem;min-height:126px;padding:1rem 0;color:var(--muted);line-height:1.45}.court-empty svg{width:38px;flex:0 0 auto;opacity:.65}.court-skeleton{height:330px;border-radius:28px;background:linear-gradient(100deg,#fff 30%,#edf1ee,#fff 70%);background-size:250% 100%;box-shadow:12px 15px 32px #182d2212;animation:skeleton 1.6s infinite}.error-state,.no-courts{padding:2rem;border-radius:28px;background:#fff;box-shadow:12px 15px 32px #182d2214;text-align:center}.error-state h3,.no-courts h3{margin-top:0}.error-state p,.no-courts p{color:var(--muted)}.error-state button{min-height:44px;padding:.7rem 1.1rem;border:0;border-radius:14px;background:var(--brand);color:#fff;font-weight:750;cursor:pointer}.coming-soon{margin:1.3rem .25rem 0;color:var(--muted);font-size:.8rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap;border:0}.auth-card{width:min(100%,42rem);padding:clamp(1.5rem,6vw,3.5rem);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 1.25rem 3rem #1d443414}.auth-card h1{margin-top:0}.auth-card form{display:grid;gap:1rem;margin:1.5rem 0}.auth-card label{display:grid;gap:.35rem;font-weight:650}.auth-card input{min-height:44px;padding:.65rem;border:1px solid #9eb1a5;border-radius:8px}.auth-card button{min-height:44px;padding:.7rem 1rem;border:0;border-radius:8px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}.auth-card nav{display:flex;flex-wrap:wrap;gap:1rem}.auth-card .registration-confirmation{display:flex;gap:.7rem;align-items:flex-start;font-weight:550;line-height:1.45}.auth-card .registration-confirmation input{flex:0 0 auto;width:1.2rem;min-height:1.2rem;margin-top:.15rem;padding:0;accent-color:var(--brand)}.auth-card form>small{margin-top:-.65rem;color:var(--muted);line-height:1.4}.auth-card .privacy-link{min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--brand-dark);font:inherit;text-decoration:underline}.privacy-notice{width:min(100%,56rem);padding:clamp(1.25rem,4vw,3rem);border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:0 1.25rem 3rem #1d443414}.privacy-back{display:inline-flex;gap:.45rem;align-items:center;min-height:44px;padding:.55rem .85rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--brand-dark);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.privacy-notice-header{padding:1.5rem 0 1rem;border-bottom:1px solid var(--line)}.privacy-notice-header h1{max-width:22ch;margin:.35rem 0 .75rem;font-size:clamp(1.75rem,5vw,2.8rem);line-height:1.08}.privacy-notice>section{padding-top:1.25rem}.privacy-notice h2{margin:0 0 .65rem;font-size:clamp(1.05rem,3vw,1.3rem)}.privacy-notice p,.privacy-notice li{line-height:1.65}.privacy-notice ul{display:grid;gap:.55rem;padding-left:1.25rem}.privacy-summary,.privacy-child-summary,.privacy-contact-card{padding:1rem 1.1rem;border-radius:14px}.privacy-summary{margin-top:1.25rem;background:#eef6f1}.privacy-child-summary{margin-top:1rem;background:#fff7dd}.privacy-contact-card{display:grid;gap:.35rem;margin-top:1.5rem;border:1px solid var(--line);font-style:normal}.privacy-version{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.privacy-version code{overflow-wrap:anywhere}@keyframes skeleton{to{background-position-x:-250%}}@media(min-width:760px){.public-header{min-height:100px}.public-main{width:min(100% - 4rem,1180px)}.hero{grid-template-columns:1.05fr .95fr;min-height:490px}.hero-visual{display:block}.hero-visual svg{width:100%;overflow:visible}.section-heading{align-items:flex-end;justify-content:space-between;flex-direction:row}.date-control{max-width:590px}.court-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.court-card{padding:1.75rem}.no-courts,.error-state{grid-column:1/-1}}@media(min-width:1040px){.booking-layout{grid-template-columns:minmax(0,1fr) minmax(370px,410px)}.booking-panel{position:sticky;top:1.5rem}.booking-layout .section-heading{align-items:stretch;flex-direction:column}.booking-layout .date-control{width:100%;max-width:none}.booking-layout .date-strip{flex:1 1 auto}}@media(max-width:430px){.brand span{max-width:145px;font-size:.82rem}.nav-link,.nav-primary{padding:.6rem .7rem;font-size:.82rem}.hero{min-height:340px}.date-strip{margin-left:-.2rem}.court-card{border-radius:24px}}.finance-period{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1.25rem}.finance-period label{display:grid;gap:.25rem;color:var(--muted);font-size:.85rem}.finance-period button,.finance-period input,.finance-row button,.manager-form-grid button{min-height:42px;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;background:#fff}.finance-metrics .metric-card strong{font-size:clamp(1.25rem,3vw,2rem)}.finance-page .manager-panel{margin-top:1.25rem}.finance-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.finance-row>div:first-child{display:grid;flex:1 1 240px;gap:.25rem}.finance-row span{color:var(--muted);font-size:.9rem}.finance-row.voided{opacity:.6}.payment-allocation-controls{display:grid;flex:1 1 320px;gap:.75rem}.payment-quick-actions{display:flex;flex-wrap:wrap;gap:.5rem}.payment-split-panel{display:grid;gap:.65rem;padding:.85rem;border:1px solid var(--line);border-radius:12px;background:#f8faf8}.payment-split-panel label{display:grid;gap:.35rem;font-weight:650}.payment-split-panel input,.payment-split-panel select{min-height:42px;padding:.55rem;border:1px solid #9eb1a5;border-radius:9px;background:#fff}.payment-split-panel p{margin:0;color:var(--muted)}.reminder-settings{padding-top:1rem;margin-top:1rem;border-top:1px solid var(--line)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.statistics-period{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1.25rem}.statistics-period label{display:grid;gap:.25rem;color:var(--muted);font-size:.85rem}.statistics-period button,.statistics-period input{min-height:44px;padding:.65rem .8rem;border:1px solid var(--line);border-radius:10px;background:#fff}.statistics-summary{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.25rem}.stat-card{display:grid;gap:.35rem;padding:1.25rem;border:1px solid var(--line);border-radius:18px;background:#fff}.stat-card span,.stat-card small,.occupancy-row span,.analytics-note{color:var(--muted)}.stat-card strong{font-size:clamp(1.25rem,4vw,2rem)}.statistics-page .manager-panel{margin-top:1.25rem}.court-stat-grid,.time-band-list{display:grid;gap:.75rem}.occupancy-row{display:grid;gap:.65rem;padding:1rem;border:1px solid var(--line);border-radius:14px}.occupancy-row>div:first-child{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}.occupancy-track{height:9px;overflow:hidden;border-radius:999px;background:#e5ebe7}.occupancy-track span{display:block;height:100%;border-radius:inherit;background:var(--brand)}.analytics-note{max-width:70ch;font-size:.85rem;line-height:1.5}@media(min-width:700px){.statistics-summary,.court-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.statistics-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}:root{--brand-soft: #e8f4ed;--ink: #111814;--subtle: #718078;--danger: #a52b2b;--shadow: 0 18px 55px rgb(26 55 40 / 8%);--radius: 20px}button,.button{min-height:44px;border:1px solid var(--line);border-radius:12px;padding:.7rem 1rem;background:var(--surface);color:var(--ink);font-weight:750;cursor:pointer;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center}.button-primary,.book-now-link{color:#fff;background:var(--brand);border-color:var(--brand)}.button-secondary:hover,button:hover{background:#f0f5f2}.page-heading{margin-bottom:2rem}.page-heading p,.eyebrow{color:var(--brand);font-size:.75rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.page-heading h1{margin:.25rem 0;font-size:clamp(2.1rem,5vw,3.5rem);letter-spacing:-.05em}.page-heading span{color:var(--muted)}.user-shell{min-height:100vh;background:#f5f7f5}.user-sidebar{display:none}.user-mobile-nav{position:sticky;top:0;z-index:20;background:#fffffff0;border-bottom:1px solid var(--line);padding:.8rem 1rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.user-mobile-nav nav{display:flex;overflow:auto;gap:.4rem;margin-top:.65rem}.user-mobile-nav a{white-space:nowrap;padding:.55rem .75rem;border-radius:10px;text-decoration:none;font-weight:700}.user-mobile-nav a[aria-current=page]{color:#fff;background:var(--brand)}.user-workspace{padding:clamp(1.2rem,5vw,4rem)}.user-page,.bookings-page{width:min(100%,1050px);margin:auto}.user-overview-grid{display:grid;gap:1rem}.next-card,.due-card,.summary-strip,.quick-links a,.profile-card,.profile-details,.payment-history article,.state-panel,.info-banner{border:1px solid #e2e8e4;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.next-card{min-height:260px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.25rem,4vw,2.25rem);background:linear-gradient(140deg,#fff 35%,#eaf6ef)}.next-card h2{margin:.6rem 0 .2rem;font-size:clamp(1.5rem,4vw,2.4rem)}.due-card{padding:1.5rem}.due-card>strong{display:block;margin:.4rem 0 -.4rem;font-size:4rem;letter-spacing:-.06em}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:1rem 0;padding:1rem}.summary-strip div{display:grid;text-align:center;gap:.25rem}.summary-strip strong{font-size:clamp(1.15rem,3vw,1.8rem)}.summary-strip span{color:var(--muted);font-size:.8rem}.quick-links{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.quick-links a{display:grid;padding:1.25rem;text-decoration:none}.quick-links span{margin-top:.35rem;color:var(--muted)}.profile-card{display:flex;align-items:center;gap:1rem;padding:1.5rem}.profile-avatar,.user-identity>span{display:grid;place-items:center;width:58px;aspect-ratio:1;border-radius:18px;color:#fff;background:var(--brand);font-weight:800}.profile-card h2{margin:0 0 .5rem}.profile-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:1rem 0;padding:1.5rem}.profile-details div{padding:1rem}.profile-details dt{color:var(--muted);font-size:.8rem}.profile-details dd{margin:.35rem 0;font-weight:750}.profile-details small{display:block;margin-top:.35rem;color:var(--muted);font-weight:400}.status-chip{display:inline-flex;width:max-content;padding:.3rem .6rem;border-radius:999px;background:#edf1ee;font-size:.75rem;font-weight:800}.status-pending{color:#775300;background:#fff1c7}.status-paid{color:#075b32;background:#dff3e8}.status-refunded{color:#61536e;background:#eee8f3}.info-banner{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.2rem;margin-bottom:1rem;border-color:#b7dcc7;background:var(--brand-soft)}.info-banner span{color:#365344}.payment-history{display:grid;gap:.8rem}.payment-history article{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.25rem}.payment-history h2{margin:.3rem 0}.payment-history article>div:last-child{display:grid;justify-items:end;gap:.4rem}.payment-history article>div:last-child>strong{font-size:1.4rem}.payment-history small{color:var(--muted)}.state-panel{padding:1.5rem}.manager-sidebar nav small{margin:1.4rem .8rem .35rem;color:#91a097;font-size:.65rem;font-weight:800;letter-spacing:.12em}.manager-sidebar nav i{display:grid;width:24px;margin-right:.6rem;font-style:normal;text-align:center}.dashboard-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}.month-calendar{margin:2rem 0 1rem;padding:clamp(.75rem,2vw,1.5rem);border:1px solid #e2e8e4;border-radius:24px;background:#fff;box-shadow:var(--shadow)}.month-calendar header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.month-calendar header p,.day-detail-heading p{margin:0;color:var(--brand);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.month-calendar h2,.day-detail-heading h2{margin:.15rem 0;text-transform:capitalize}.month-calendar header div:last-child{display:flex;gap:.35rem}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(45px,1fr))}.month-weekdays span{padding:.5rem;color:var(--muted);font-size:.72rem;text-align:center}.month-grid>button{display:flex;flex-direction:column;align-items:flex-start;min-height:82px;margin:-1px 0 0 -1px;padding:.5rem;border-radius:0;background:#fff}.month-grid>button.outside{color:#aab2ad;background:#fafbfa}.month-grid>button.selected{position:relative;z-index:1;border:2px solid var(--brand);background:var(--brand-soft)}.month-grid>button.today time{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#fff;background:var(--brand)}.event-dot{display:inline-block;width:7px;height:7px;margin-top:auto;border-radius:50%;background:var(--brand)}.month-grid small{color:var(--muted);font-size:.63rem}.calendar-legend{color:var(--muted);font-size:.78rem}.calendar-legend .event-dot{margin:0 .3rem 0 0}.day-detail-heading{display:flex;justify-content:space-between;align-items:end;margin:1.5rem 0 .75rem}.day-detail-heading span{color:var(--muted);font-size:.85rem}.finance-mix{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin:1rem 0 2rem}.trend-chart{margin-top:2rem}.chart-bars{min-height:190px;display:flex;align-items:end;gap:.5rem;overflow:auto;padding:1rem 0;border-bottom:1px solid var(--line)}.chart-column{display:grid;flex:1 0 60px;justify-items:center;gap:.4rem}.bar-stack{display:flex;flex-direction:column;justify-content:flex-end;width:min(44px,80%);overflow:hidden;border-radius:8px 8px 2px 2px;background:#edf1ee}.bar-card{background:#75a6d7}.bar-cash{background:var(--brand)}.chart-column small{font-size:.65rem}.chart-table{display:grid;gap:.4rem;margin-top:1rem}.chart-table>div{display:grid;grid-template-columns:1fr repeat(3,auto);gap:1rem;padding:.6rem;border-radius:8px;background:#f7f9f7;font-size:.78rem}.workspace-route,.user-shell,.manager-shell{width:100%;min-width:0}.user-workspace,.manager-page,.user-page,.booking-layout>*,.manager-form-grid>*,.finance-row>*,.public-header>*{min-width:0}input,select,textarea{max-width:100%;font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.club-brand-content{display:flex;align-items:center;gap:.65rem;font-size:.9rem;line-height:1.35}.club-brand-content img,.brand-mark{flex:none;border-radius:12px;object-fit:contain}.club-brand-content strong{display:block;color:var(--brand)}.manager-brand,.user-brand{text-decoration:none;color:var(--text)}.manager-sidebar,.user-sidebar{overflow-y:auto;overscroll-behavior:contain}.workspace-navigation .navigation-group{display:grid;gap:.25rem}.workspace-navigation .navigation-group>p{margin:1rem 0 .35rem;padding:0 .7rem;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.workspace-navigation a{min-height:44px;display:flex;align-items:center;padding:.7rem;border-radius:12px;text-decoration:none;font-weight:700}.manager-mobile-header,.user-mobile-nav{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;padding:max(.7rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .7rem max(1rem,env(safe-area-inset-left))}.workspace-mobile-top{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.workspace-role{font-size:.7rem;color:var(--muted);text-align:right}.workspace-mobile-menu summary{cursor:pointer;min-height:44px;padding:.75rem .5rem;font-size:.85rem;font-weight:750}.workspace-mobile-panel{position:absolute;top:100%;left:.75rem;right:.75rem;max-height:65dvh;overflow-y:auto;padding:.5rem 1rem 1rem;background:#fff;border:1px solid var(--line);border-radius:0 0 18px 18px;box-shadow:var(--shadow)}.workspace-mobile-panel>nav{display:grid;margin:0;overflow:visible}.workspace-mobile-panel>button{width:100%;margin-top:1rem}.workspace-shortcuts{margin:0!important;justify-content:flex-end;gap:.2rem!important;overflow:visible!important}.workspace-shortcuts a{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:.5rem!important;font-size:.8rem;text-align:center;white-space:normal}.workspace-shortcuts a:last-child{background:var(--brand-soft);color:var(--brand-dark)}.manager-booking-return{font-weight:800;text-decoration:none}.manager-mobile-header .workspace-shortcuts{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.settings-section{margin:.85rem 0;border:1px solid var(--line);border-radius:16px;background:#fff;scroll-margin-top:10rem}.settings-section>summary{display:flex;align-items:center;gap:1rem;cursor:pointer;padding:1.2rem;list-style:none}.settings-section>summary::-webkit-details-marker{display:none}.settings-section>summary:after{content:"+";margin-left:auto;font-size:1.5rem;color:var(--brand)}.settings-section[open]>summary:after{content:"−"}.settings-section summary strong{font-size:1.05rem}.settings-section summary small{display:block;margin-top:.35rem;color:var(--muted);line-height:1.4}.settings-section[open]>summary{border-bottom:1px solid var(--line)}.settings-section-body{padding:1.2rem}.settings-section-body .device-settings{margin:0}.court-icon-wrap svg{width:28px;height:52px;color:var(--brand)}.finance-row,.panel-heading,.calendar-heading,.date-actions{flex-wrap:wrap}.manager-panel,.metric-card,.profile-details,.next-booking{overflow-wrap:anywhere}.button-primary:hover,.confirm-booking:hover{color:#fff;background:var(--brand-dark)}@media(min-width:900px){.manager-mobile-header,.user-mobile-nav{display:none}.user-shell{grid-template-columns:260px minmax(0,1fr)}.manager-shell{grid-template-columns:270px minmax(0,1fr)}}@media(max-width:650px){input,select,textarea{font-size:16px;min-width:0}.manager-workspace,.user-workspace{padding:1rem max(1rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.public-header{flex-wrap:wrap;padding:.9rem 0;gap:.6rem}.public-header .brand{flex:1 0 100%}.public-header .brand span{max-width:none}.public-header nav{width:100%;flex-wrap:wrap}.public-header nav a{flex:1;text-align:center}.hero{min-height:auto;padding:1.5rem 0 2rem}.hero h1{max-width:12ch;font-size:clamp(2.7rem,12vw,4rem)}.manager-page-heading h1,.page-heading h1{font-size:clamp(1.75rem,8vw,2.5rem)}.dashboard-actions{display:grid;grid-template-columns:1fr}.metric-grid{gap:.65rem;margin:1.25rem 0}.metric-card{padding:.85rem}.date-actions{gap:.3rem}.date-actions input{flex:1;width:8rem}.settings-section-body,.settings-section>summary{padding:1rem}.finance-period label,.statistics-period label{flex:1 1 120px;min-width:0}.finance-period input,.statistics-period input{width:100%}}@media(min-width:900px){.user-shell{display:grid;grid-template-columns:260px minmax(0,1fr)}.user-sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:1.4rem;border-right:1px solid var(--line);background:#fff}.user-mobile-nav{display:none}.user-brand{margin-bottom:2rem;color:var(--ink);text-decoration:none}.user-brand strong{display:block;color:var(--brand)}.user-identity{display:flex;align-items:center;gap:.7rem;padding:1rem 0;border-block:1px solid var(--line)}.user-identity>span{width:40px;border-radius:12px}.user-identity div{display:grid}.user-identity small{color:var(--muted)}.user-sidebar nav{display:grid;gap:.25rem;margin:1.2rem 0 auto}.user-sidebar nav a{display:flex;align-items:center;min-height:46px;padding:.7rem;border-radius:12px;text-decoration:none;font-weight:700}.user-sidebar nav a[aria-current=page]{color:var(--brand);background:var(--brand-soft)}.user-sidebar nav i{width:28px;font-style:normal}.book-now-link{padding:.8rem;border-radius:12px;text-align:center;text-decoration:none;font-weight:800}.user-overview-grid{grid-template-columns:2fr 1fr}.manager-sidebar{width:270px}.manager-shell{grid-template-columns:270px minmax(0,1fr)}}@media(max-width:650px){.month-calendar{padding:.5rem;border-radius:16px}.month-calendar header{padding:.5rem}.month-grid>button{min-height:60px;padding:.3rem}.month-grid small{display:none}.chart-table>div{grid-template-columns:1fr 1fr}.summary-strip{grid-template-columns:1fr;gap:1rem}.summary-strip div{padding-bottom:.8rem;border-bottom:1px solid var(--line)}.day-detail-heading span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media(min-width:1280px){.manager-manual-booking-layout{grid-template-columns:minmax(0,1fr) minmax(300px,340px)}.manager-manual-booking-layout .court-grid{grid-template-columns:1fr}.manager-manual-booking-layout .booking-panel{position:sticky;top:1.5rem}}@media(min-width:1700px){.manager-manual-booking-layout .court-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.draft-item .member-participants{display:grid;gap:.75rem;padding:1rem;border:1px solid #c4dacb;border-radius:12px;background:#f2f8f3;grid-template-columns:minmax(0,1fr)}.member-participants p,.member-participants small{margin:0}.member-participants .member-checkbox{display:flex;align-items:center;gap:.6rem}.member-selection-row{display:flex;align-items:end;gap:.6rem;min-width:0}.member-selection-row label{display:grid;grid-template-columns:minmax(0,1fr);padding:0;border:0;gap:.4rem;flex:1;min-width:0}.member-selection-row select{width:100%;min-width:0;min-height:44px}.member-selection-row button{min-height:44px}.member-participants small{grid-column:1 / -1}.member-discounts-toggle{display:flex;align-items:center;gap:.8rem;margin:1rem 0;padding:1rem;border:1px solid #c4dacb;border-radius:14px;background:#f2f8f3}.member-discounts-toggle>input{width:1.35rem;height:1.35rem;margin:0;accent-color:var(--brand)}.member-discounts-toggle>span{display:grid;gap:.25rem}.member-discounts-toggle small{color:var(--muted)}:root{--glass-surface: rgb(255 255 255 / 68%);--glass-surface-strong: rgb(255 255 255 / 86%);--glass-line: rgb(255 255 255 / 82%);--manager-canvas: #f5f7f5;--glass-shadow: 0 30px 76px rgb(0 0 0 / 26%), 0 10px 26px rgb(0 0 0 / 17%), 0 2px 5px rgb(0 0 0 / 12%), inset 0 1.5px 0 rgb(255 255 255 / 94%), inset 0 -1px 0 rgb(0 32 17 / 9%);--glass-shadow-soft: 0 24px 55px rgb(0 0 0 / 17%), 0 7px 18px rgb(0 0 0 / 10%), 0 2px 4px rgb(0 0 0 / 8%), inset 0 1.5px 0 rgb(255 255 255 / 94%), inset 0 -1px 0 rgb(0 37 20 / 8%);--glass-shadow-row: 0 14px 30px rgb(0 0 0 / 13%), 0 4px 10px rgb(0 0 0 / 8%), inset 0 1px 0 rgb(255 255 255 / 88%);--motion-spring: cubic-bezier(.22, 1, .36, 1)}body{background:radial-gradient(circle at 8% 4%,rgb(210 234 220 / 55%),transparent 30rem),radial-gradient(circle at 92% 80%,rgb(221 238 227 / 60%),transparent 34rem),var(--background)}.app-icon{display:block;width:24px;height:24px;flex:none;filter:drop-shadow(0 3px 4px rgb(0 35 19 / 18%))}.glass-navigation{border:1px solid var(--glass-line);background:linear-gradient(145deg,rgb(255 255 255 / 38%),transparent 54%),#f4faf6b8;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(30px) saturate(165%) contrast(104%);backdrop-filter:blur(30px) saturate(165%) contrast(104%)}.glass-card,.manager-panel,.metric-card,.booking-panel,.court-card,.profile-card,.profile-details,.state-panel,.settings-section,.next-card,.due-card,.summary-strip,.quick-links a,.payment-history article,.auth-card,.device-card,.my-booking-card,.draft-item,.payment-split-panel,.cancelled-panel,.statistics-summary,.stat-card,.bar-card,.privacy-summary,.privacy-child-summary,.privacy-contact-card,.manager-state,.info-banner,.foundation-card,.privacy-notice,.booking-access-notice,.pwa-update-notice{border-color:#fffc;background:linear-gradient(145deg,#ffffff94,#ffffff1f),var(--glass-surface);box-shadow:var(--glass-shadow-soft);-webkit-backdrop-filter:blur(26px) saturate(155%) contrast(103%);backdrop-filter:blur(26px) saturate(155%) contrast(103%)}.finance-row,.schedule-card,.hours-row,.manager-form-row,.occupancy-row,.next-booking,.news-manager-list>article,.member-participants,.member-discounts-toggle,.my-booking-row,.news-publish-toggle{border-color:#ffffffc2;box-shadow:var(--glass-shadow-row)}.manager-user-search,.finance-row,.settings-section#tariffe .pricing-row{padding:1rem;border:1px solid rgb(255 255 255 / 84%);border-radius:20px;background:radial-gradient(circle at 100% 0,rgb(205 231 216 / 50%),transparent 44%),linear-gradient(145deg,#ffffffd1,#edf6f1a8);box-shadow:var(--glass-shadow-row);-webkit-backdrop-filter:blur(22px) saturate(150%) contrast(102%);backdrop-filter:blur(22px) saturate(150%) contrast(102%)}.manager-user-search{margin:1.25rem 0}.manager-user-search label{min-width:min(100%,18rem)}.manager-user-search input,.settings-section#tariffe .pricing-row input{width:100%;background:#ffffffd1;box-shadow:inset 0 1px #fffffff0}.manager-user-search button,.settings-section#tariffe .pricing-row button{border-radius:13px;box-shadow:0 8px 18px #00231317,inset 0 1px #ffffffeb}.finance-row{margin-top:.75rem}.settings-section#tariffe .pricing-row{margin:.8rem 0}.statistics-summary{padding:1rem;border:1px solid rgb(255 255 255 / 86%);border-radius:26px;background:radial-gradient(circle at 100% 0,rgb(201 229 214 / 54%),transparent 40%),linear-gradient(145deg,#ffffffbd,#eaf4ee8f);box-shadow:var(--glass-shadow-soft);-webkit-backdrop-filter:blur(26px) saturate(155%) contrast(103%);backdrop-filter:blur(26px) saturate(155%) contrast(103%)}.statistics-summary .stat-card{min-width:0;border-color:#ffffffe0;border-radius:20px;background:linear-gradient(145deg,#ffffffe0,#eff7f2ad);box-shadow:0 14px 30px #0023131f,inset 0 1px #fffffff5}.metric-card,.manager-panel,.booking-panel,.court-card,.profile-card,.profile-details,.settings-section,.next-card,.due-card,.auth-card,.device-card,.my-booking-card,.stat-card,.news-card{transition:box-shadow .35s ease,border-color .35s ease,transform .35s var(--motion-spring)}.booking-summary-panel{display:grid;gap:1rem;overflow:hidden;padding:1.15rem;border:1px solid rgb(255 255 255 / 92%);border-radius:30px;background:radial-gradient(circle at 100% 0,rgb(201 229 214 / 62%),transparent 42%),linear-gradient(145deg,#ffffffe0,#f1f8f4b8);box-shadow:0 30px 68px #00231338,0 10px 24px #00231321,inset 0 1.5px #fffffffa,inset 0 -1px #00371e1a}.booking-summary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.booking-summary-heading .section-kicker{margin:0 0 .55rem}.booking-summary-panel .booking-summary-heading h2{margin:0;font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.08}.booking-ready-state{flex:none;padding:.42rem .68rem;border:1px solid rgb(116 93 49 / 18%);border-radius:999px;color:#715b32;background:#f4ecd7d1;box-shadow:0 7px 16px #2a200c1a,inset 0 1px #ffffffc7;font-size:.68rem;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.booking-ready-state.is-ready{border-color:#00593024;color:var(--brand-dark);background:#dcf0e5e0}.booking-summary-intro{margin:-.25rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.5}.booking-summary-panel .draft-list{gap:1rem}.booking-summary-panel .draft-item{display:grid;gap:0;overflow:hidden;padding:1rem;border:1px solid rgb(255 255 255 / 94%);border-radius:22px;background:linear-gradient(145deg,#fffffff0,#f1f7f3c2);box-shadow:0 18px 38px #0023132b,0 5px 13px #0023131a,inset 0 1.5px #fff,inset 0 -1px #00371e14;animation:content-enter .45s var(--motion-spring) both}.draft-item-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:center;padding-bottom:.9rem;border-bottom:1px solid rgb(0 75 41 / 10%)}.draft-item-heading>div{display:grid;min-width:0;gap:.18rem}.draft-item-heading>div>strong{color:var(--text);font-size:1.08rem;line-height:1.2}.draft-item .draft-item-heading>div>span{color:var(--muted);font-size:.76rem;line-height:1.35}.draft-item .draft-item-number{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgb(255 255 255 / 76%);border-radius:12px;color:#fff;background:linear-gradient(145deg,#087344,var(--brand-dark));box-shadow:0 9px 17px #00331c3d,inset 0 1px #ffffff57;font-size:.78rem;font-weight:850}.booking-summary-panel .remove-slot{min-height:34px;padding:.38rem .58rem;border:1px solid rgb(122 38 50 / 13%);border-radius:11px;color:#7a2632;background:#fff0f2c7;box-shadow:inset 0 1px #ffffffd6;text-decoration:none;font-size:.72rem;font-weight:760;transition:background .2s ease,transform .2s var(--motion-spring)}.booking-summary-panel .remove-slot:hover,.booking-summary-panel .remove-slot:focus-visible{background:#ffe7ea;transform:translateY(-1px)}.booking-summary-panel .draft-item>fieldset{margin:0;padding:1rem 0 0}.booking-summary-panel .draft-item>fieldset+fieldset{margin-top:.95rem;border-top:1px solid rgb(0 75 41 / 9%)}.booking-summary-panel .draft-item legend{padding:0;color:var(--brand-dark);font-size:.78rem;font-weight:850;letter-spacing:.01em}.booking-summary-panel .draft-item>fieldset:first-of-type{grid-template-columns:1fr;gap:.65rem;margin-top:.65rem}.booking-summary-panel .draft-item>fieldset:first-of-type>label{grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;min-width:0;min-height:76px;padding:.68rem;border:1px solid rgb(0 75 41 / 13%);border-radius:16px;background:#ffffffa3;box-shadow:0 8px 18px #002d1814,inset 0 1px #ffffffe5;transition:border-color .22s ease,background .22s ease,box-shadow .25s ease,transform .25s var(--motion-spring)}.booking-summary-panel .draft-item>fieldset:first-of-type>label:hover{transform:translateY(-1px)}.booking-summary-panel .draft-item>fieldset:first-of-type>label:has(input:checked){border:2px solid var(--brand);background:linear-gradient(145deg,#f3faf6,#e4f2e9);box-shadow:0 10px 22px #00452524,inset 0 1px #fff}.booking-summary-panel .draft-item input[type=radio]{width:18px;height:18px;margin:0;accent-color:var(--brand)}.draft-item .game-type-copy,.draft-item .game-type-price{display:grid;min-width:0;gap:.18rem;color:var(--text);text-transform:none}.draft-item .game-type-copy strong,.draft-item .game-type-price strong{color:var(--text);font-size:.9rem}.draft-item .game-type-price{text-align:right}.draft-item .game-type-price strong{color:var(--brand-dark);white-space:nowrap}.draft-item .game-type-copy small,.draft-item .game-type-price small{grid-column:auto;color:var(--muted);font-size:.66rem;line-height:1.2}.booking-summary-panel .duration-options{gap:.55rem;margin-top:.65rem}.booking-summary-panel .duration-options button{min-height:72px;padding:.55rem .3rem;border-color:#004b2921;border-radius:16px;background:#ffffffa3;box-shadow:0 8px 18px #002d1814,inset 0 1px #ffffffe5;transition:border-color .22s ease,background .22s ease,box-shadow .25s ease,transform .25s var(--motion-spring)}.booking-summary-panel .duration-options button:not(:disabled):hover{transform:translateY(-2px)}.booking-summary-panel .duration-options button.is-selected{border:2px solid var(--brand);background:linear-gradient(145deg,#f3faf6,#e4f2e9);color:var(--brand-dark);box-shadow:0 10px 22px #00452524,inset 0 1px #fff}.booking-summary-panel .member-participants{padding:1rem;border:1px solid rgb(0 89 48 / 13%);border-radius:18px;background:linear-gradient(145deg,#f0f9f4f0,#e7f3eb);box-shadow:0 10px 22px #00321b1a,inset 0 1px #fff}.booking-price-card{margin-top:1rem;overflow:hidden;padding:.9rem;border:1px solid rgb(0 89 48 / 14%);border-radius:18px;background:radial-gradient(circle at 100% 0,rgb(185 220 201 / 56%),transparent 48%),linear-gradient(145deg,#eff8f3f5,#deeee5d6);box-shadow:0 12px 26px #00311b21,inset 0 1.5px #ffffffe0,inset 0 -1px #00412314}.booking-price-card>header{display:grid;grid-template-columns:minmax(0,1fr);gap:.2rem;align-items:start;padding-bottom:.7rem}.booking-price-card>header>*{grid-column:1}.draft-item .booking-price-card>header>span{color:var(--brand-dark);font-size:.8rem;font-weight:850;letter-spacing:.01em}.booking-price-card>header>small{color:var(--muted);font-size:.68rem}.booking-summary-panel .price-breakdown{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;margin:0}.booking-summary-panel .price-breakdown dt,.booking-summary-panel .price-breakdown dd{min-width:0;margin:0;padding:.58rem 0;border-top:1px solid rgb(0 75 41 / 9%);font-size:.76rem;line-height:1.35}.booking-summary-panel .price-breakdown dt{padding-right:.6rem;color:var(--muted)}.booking-summary-panel .price-breakdown dd{color:var(--text);text-align:right;font-weight:760}.booking-summary-panel .price-breakdown .price-discount{color:#087142}.booking-summary-panel .price-breakdown .price-total-label,.booking-summary-panel .price-breakdown .price-total-value{padding-top:.8rem;color:var(--brand-dark);font-weight:900}.booking-summary-panel .price-breakdown .price-total-value{font-size:1.1rem}.booking-summary-panel .preview-total{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0;padding:1rem;border:1px solid rgb(255 255 255 / 24%);border-radius:20px;color:#fff;background:linear-gradient(135deg,rgb(255 255 255 / 11%),transparent 48%),linear-gradient(145deg,#087344,var(--brand-dark));box-shadow:0 18px 34px #00351d47,inset 0 1.5px #ffffff3d}.booking-summary-panel .preview-total>span{display:grid;gap:.16rem;color:#fff;text-transform:none}.booking-summary-panel .preview-total>span>strong{font-size:.88rem}.booking-summary-panel .preview-total small{grid-column:auto;color:#ffffffb8;font-size:.68rem}.booking-summary-panel .preview-total>strong{flex:none;color:#fff;font-size:1.35rem;letter-spacing:-.03em}.booking-summary-panel .confirm-booking{min-height:56px;border:1px solid rgb(255 255 255 / 22%);border-radius:18px;background:linear-gradient(145deg,#087344,var(--brand-dark));box-shadow:0 15px 28px #00361d40,inset 0 1.5px #ffffff3d;transition:background .22s ease,box-shadow .25s ease,transform .25s var(--motion-spring)}.booking-summary-panel .confirm-booking:not(:disabled):hover,.booking-summary-panel .confirm-booking:not(:disabled):focus-visible{background:linear-gradient(145deg,#00683a,#002e19);box-shadow:0 18px 34px #00361d4f,inset 0 1.5px #ffffff47;transform:translateY(-2px)}.user-shell{display:block;min-height:100dvh;background:transparent}.user-app-header{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px;padding:max(.65rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .65rem max(1rem,env(safe-area-inset-left));border-bottom:1px solid rgb(255 255 255 / 65%);background:#f7faf8c7;box-shadow:0 8px 24px #0027150f;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}.user-app-header .user-brand{margin:0}.user-app-header .user-identity{display:flex;align-items:center;gap:.65rem;padding:0;border:0}.user-app-header .user-identity>span{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgb(255 255 255 / 75%);border-radius:14px;color:#fff;background:linear-gradient(145deg,#087142,var(--brand-dark));box-shadow:0 8px 18px #00311b38;font-size:.78rem;font-weight:850}.user-app-header .user-identity div{display:grid}.user-app-header .user-identity small{color:var(--muted)}.user-workspace{padding:clamp(1.2rem,4vw,3.5rem) clamp(1rem,5vw,4.5rem) 9rem}.public-page.has-user-dock{padding-bottom:8.5rem}.user-dock{position:fixed;z-index:45;right:auto;bottom:max(1rem,env(safe-area-inset-bottom));left:50%;display:grid;grid-template-columns:repeat(5,minmax(66px,1fr));width:min(calc(100% - 2rem),660px);min-height:76px;padding:.5rem .7rem;border-radius:28px;transform:translate(-50%);animation:dock-rise .7s var(--motion-spring) both}.user-dock a{position:relative;display:grid;min-width:0;min-height:58px;place-items:center;align-content:center;gap:.2rem;padding:.35rem;border-radius:20px;color:#657269;text-decoration:none;font-size:.68rem;font-weight:780}.user-dock a:hover,.user-dock a:focus-visible,.user-dock a[aria-current=page]{color:var(--brand-dark);background:#ffffffb8;box-shadow:0 9px 22px #00311b21,inset 0 1px #fff;transform:translateY(-2px)}.user-dock .dock-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:13px;transition:transform .3s var(--motion-spring),box-shadow .3s ease}.user-dock a[aria-current=page] .dock-icon{transform:scale(1.08)}.user-dock .user-dock-primary{align-self:end;overflow:visible;color:var(--brand-dark);background:transparent;box-shadow:none;transform:none}.user-dock .user-dock-primary .dock-icon{width:62px;height:62px;margin-top:-31px;border:4px solid rgb(244 249 246 / 94%);border-radius:50%;color:#fff;background:linear-gradient(145deg,#0a7545,var(--brand-dark));box-shadow:0 16px 30px #00301a57,0 4px 9px #00301a3b,inset 0 1px #fff6}.user-dock .user-dock-primary .app-icon{width:28px;height:28px;filter:drop-shadow(0 3px 5px rgb(0 20 10 / 28%))}.user-dock .user-dock-primary:hover,.user-dock .user-dock-primary:focus-visible,.user-dock .user-dock-primary[aria-current=page]{background:transparent;box-shadow:none;transform:translateY(-2px)}.user-dock .user-dock-primary:hover .dock-icon,.user-dock .user-dock-primary:focus-visible .dock-icon,.user-dock .user-dock-primary[aria-current=page] .dock-icon{transform:translateY(-3px) scale(1.06);box-shadow:0 20px 36px #00301a61,0 5px 11px #00301a3d,inset 0 1px #ffffff7a}.manager-mobile-dock{position:fixed;z-index:45;right:max(.65rem,env(safe-area-inset-right));bottom:max(.65rem,env(safe-area-inset-bottom));left:max(.65rem,env(safe-area-inset-left));padding:.55rem;border-radius:24px;background:#004b29eb;animation:mobile-dock-rise .7s var(--motion-spring) both}.manager-mobile-dock .workspace-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}.manager-mobile-dock .navigation-group{display:contents}.manager-mobile-dock .navigation-group>p{display:none}.manager-mobile-dock .workspace-navigation a{display:grid;min-width:0;min-height:58px;place-items:center;align-content:center;gap:.22rem;padding:.35rem .15rem;border:1px solid transparent;border-radius:16px;color:#ffffffc7;text-align:center;font-size:.59rem;line-height:1.1}.manager-mobile-dock .workspace-navigation a[aria-current=page]{color:var(--brand-dark);border-color:#ffffffb8;background:var(--background);box-shadow:0 14px 28px #00000047,0 4px 10px #0000002e,inset 0 1px #ffffffe0;transform:translateY(-2px)}.manager-mobile-dock .app-icon{width:22px;height:22px}.manager-mobile-header{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:max(.65rem,env(safe-area-inset-top)) max(.9rem,env(safe-area-inset-right)) .65rem max(.9rem,env(safe-area-inset-left));border-bottom:1px solid rgb(255 255 255 / 64%);background:#f8fbf9d1;box-shadow:0 8px 22px #00271512;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}.manager-mobile-header .workspace-mobile-top{min-width:0}.manager-mobile-actions{display:flex;gap:.35rem}.manager-mobile-actions a,.manager-mobile-actions button{display:flex;align-items:center;gap:.3rem;min-height:42px;padding:.45rem .6rem;border:1px solid var(--line);border-radius:13px;background:#ffffffc2;color:var(--brand-dark);text-decoration:none;font-size:.72rem;font-weight:780}.manager-mobile-actions .app-icon{width:18px;height:18px}.manager-workspace{padding-bottom:11rem}.news-feed{display:grid;gap:1rem}.news-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:1.2rem;overflow:hidden;padding:1.2rem;border-radius:24px;animation:content-enter .55s var(--motion-spring) both}.news-card:nth-child(2){animation-delay:.06s}.news-card:nth-child(3){animation-delay:.12s}.news-card-accent,.news-empty-mark{display:grid;min-height:92px;place-items:center;border-radius:20px;color:#fff;background:linear-gradient(145deg,rgb(255 255 255 / 16%),transparent),var(--brand);box-shadow:0 14px 26px #003d2140,inset 0 1px #ffffff59;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.news-card time{color:var(--brand);font-size:.76rem;font-weight:800;text-transform:capitalize}.news-card h2{margin:.35rem 0 .55rem;font-size:clamp(1.2rem,3vw,1.7rem)}.news-card p,.news-manager-list article p{margin:0;color:var(--muted);line-height:1.65;white-space:pre-wrap}.news-empty{display:grid;justify-items:center;padding:2rem;border-radius:26px;text-align:center}.news-empty-mark{width:84px;min-height:84px}.news-empty h2{margin-bottom:0}.news-editor,.news-manager-list{margin-top:1.25rem}.news-editor form{display:grid;gap:1rem;margin-top:1.25rem}.news-editor form>label:not(.news-publish-toggle){display:grid;gap:.4rem;font-weight:700}.news-editor input,.news-editor textarea{width:100%;padding:.85rem .95rem;border:1px solid #cfdad3;border-radius:14px;background:#ffffffc7;color:var(--text)}.news-editor textarea{resize:vertical;line-height:1.55}.news-publish-toggle{display:flex;align-items:center;gap:.75rem;padding:.85rem;border:1px solid #c8d9ce;border-radius:16px;background:#e8f4edbf}.news-publish-toggle input{width:1.35rem;height:1.35rem;accent-color:var(--brand)}.news-publish-toggle span{display:grid}.news-publish-toggle small,.news-manager-list time,.news-manager-status{color:var(--muted)}.news-manager-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line)}.news-manager-list h3{margin:.45rem 0}.news-status{display:inline-flex;margin-right:.55rem;padding:.25rem .55rem;border-radius:999px;color:#6b5740;background:#f1eadf;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.news-status.is-published{color:var(--brand-dark);background:var(--brand-soft)}.news-manager-actions{display:flex;align-items:start;gap:.4rem}.bookings-page-intro{max-width:60ch;margin-top:-.5rem;color:var(--muted)}.user-workspace>*,.manager-workspace>*{animation:content-enter .48s var(--motion-spring) both}.info-banner[role=status]{animation:success-arrive .65s var(--motion-spring) both}.button:active,button:active,.confirm-booking:active,.user-dock a:active,.workspace-navigation a:active{transform:scale(.96)}@keyframes dock-rise{0%{opacity:0;transform:translate(-50%,24px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes content-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-dock-rise{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes success-arrive{0%{opacity:0;transform:translateY(12px) scale(.96)}70%{transform:translateY(-2px) scale(1.01)}to{opacity:1;transform:none}}@keyframes sidebar-selection{0%{transform:scale(.92)}to{transform:none}}@media(min-width:900px){.manager-shell{display:block;min-height:100dvh;background:var(--manager-canvas)}.manager-sidebar{position:fixed;z-index:50;top:.9rem;bottom:.9rem;left:.9rem;display:flex;width:76px;height:auto;overflow:hidden;flex-direction:column;padding:.8rem;border:1px solid rgb(255 255 255 / 25%);border-radius:28px;color:#fff;background:linear-gradient(160deg,rgb(255 255 255 / 9%),transparent 45%),#004d2af2;box-shadow:0 34px 82px #0000005c,0 12px 30px #0000003d,0 3px 8px #0000002e,inset 0 1.5px #ffffff47,inset -1px 0 #ffffff1f;transition:width .36s var(--motion-spring);-webkit-backdrop-filter:blur(30px) saturate(165%) contrast(106%);backdrop-filter:blur(30px) saturate(165%) contrast(106%)}.manager-sidebar:hover,.manager-sidebar:has(:focus-visible){width:286px}.manager-sidebar .manager-brand{display:flex;width:100%;min-width:0;align-items:center;margin:0 0 .65rem;color:#fff}.manager-sidebar .club-brand-content{min-width:250px}.manager-sidebar .club-brand-content img{width:48px;height:48px;border:2px solid rgb(255 255 255 / 25%);box-shadow:0 8px 17px #00140b3d}.manager-sidebar .club-brand-content>span{opacity:0;transform:translate(-8px);transition:.28s ease .03s}.manager-sidebar:hover .club-brand-content>span,.manager-sidebar:has(:focus-visible) .club-brand-content>span{opacity:1;transform:none}.manager-sidebar .club-brand-content strong{color:#fff}.manager-sidebar .workspace-navigation{display:grid;width:100%;min-width:0;gap:0;margin:.25rem 0}.manager-sidebar .workspace-navigation .navigation-group{display:grid;width:100%;min-width:0;gap:0}.manager-sidebar .navigation-group>p{height:0;margin:0;padding:0 .7rem;overflow:hidden;color:#ffffff8f;opacity:0;white-space:nowrap;transform:translateY(-5px);transition:height .3s var(--motion-spring),margin .3s var(--motion-spring),opacity .18s ease,transform .3s var(--motion-spring)}.manager-sidebar:hover .navigation-group>p,.manager-sidebar:has(:focus-visible) .navigation-group>p{height:20px;margin:.35rem 0 .1rem;opacity:1;transform:none}.manager-sidebar .workspace-navigation a,.manager-sidebar>.manager-booking-return,.manager-account button{display:flex;width:100%;min-height:48px;align-items:center;gap:.8rem;padding:.7rem;border:1px solid transparent;border-radius:16px;color:#fffc;background:transparent;box-shadow:none;text-decoration:none;transition:color .22s ease,background .28s ease,box-shadow .3s ease,transform .3s var(--motion-spring)}.manager-sidebar .workspace-navigation a:hover,.manager-sidebar>.manager-booking-return:hover,.manager-account button:hover{color:#fff;background:#ffffff1a;transform:translate(2px)}.manager-sidebar .workspace-navigation a[aria-current=page]{color:var(--brand-dark);border-color:transparent;border-radius:16px;background:var(--manager-canvas);box-shadow:0 10px 22px #0000002e,inset 0 1px #ffffffb8;animation:sidebar-selection .42s var(--motion-spring) both}.manager-sidebar:not(:hover):not(:has(:focus-visible)) :is(.workspace-navigation a,.manager-booking-return,.manager-account button){width:48px;min-width:48px;max-width:48px;height:48px;justify-self:center;justify-content:center;gap:0;padding:0}.manager-sidebar:not(:hover):not(:has(:focus-visible)) .navigation-label{display:none}.manager-sidebar .app-icon{width:24px;height:24px;flex:0 0 24px}.manager-sidebar .navigation-label{min-width:0;overflow:hidden;opacity:0;white-space:nowrap;transform:translate(-8px);transition:.25s ease .04s}.manager-sidebar:hover .navigation-label,.manager-sidebar:has(:focus-visible) .navigation-label{opacity:1;transform:none}.manager-sidebar>.manager-booking-return{margin-top:.4rem;border-color:#ffffff21;background:#ffffff12}.manager-account{display:grid;width:100%;gap:.35rem;margin-top:auto;color:#ffffffa8}.manager-account>span{padding-left:.8rem;font-size:.76rem}.manager-mobile-header,.manager-mobile-dock{display:none}.manager-workspace{min-height:100dvh;margin-left:96px;padding:clamp(1.5rem,4vw,3.5rem);background:var(--manager-canvas)}.user-app-header{padding-inline:clamp(1.5rem,4vw,4rem)}.user-workspace{padding-bottom:9rem}}@media(max-width:899px){.manager-sidebar{display:none}.manager-shell{display:block}}@media(max-width:650px){.club-brand-content{gap:.45rem;font-size:.75rem}.club-brand-content img{width:40px;height:40px}.user-app-header .user-identity div,.manager-mobile-header .workspace-role{display:none}.user-workspace{padding:1.1rem max(1rem,env(safe-area-inset-right)) 8.75rem max(1rem,env(safe-area-inset-left))}.public-page.has-user-dock{padding-bottom:8rem}.user-dock{bottom:max(.65rem,env(safe-area-inset-bottom));grid-template-columns:repeat(5,minmax(0,1fr));width:calc(100% - 1.2rem);min-height:70px;padding:.45rem;border-radius:24px}.user-dock a{min-height:55px;padding-inline:.1rem;font-size:.58rem}.user-dock .dock-icon{width:30px;height:30px}.user-dock .app-icon{width:21px;height:21px}.user-dock .user-dock-primary .dock-icon{width:58px;height:58px;margin-top:-29px}.booking-summary-panel{gap:.85rem;padding:.85rem;border-radius:24px;scroll-margin-top:max(1rem,env(safe-area-inset-top));box-shadow:0 22px 46px #0023132e,0 7px 18px #0023131c,inset 0 1.5px #fffffffa}.booking-summary-panel .booking-summary-heading h2{font-size:1.28rem}.booking-ready-state{padding:.38rem .55rem;font-size:.6rem}.booking-summary-panel .draft-item{padding:.85rem;border-radius:19px}.draft-item-heading{grid-template-columns:auto minmax(0,1fr);gap:.65rem}.booking-summary-panel .remove-slot{grid-column:1 / -1;width:100%}.booking-summary-panel .draft-item>fieldset:first-of-type{grid-template-columns:1fr}.booking-summary-panel .draft-item>fieldset:first-of-type>label{min-height:68px}.booking-price-card{padding:.8rem;border-radius:16px}.booking-summary-panel .preview-total{padding:.9rem;border-radius:17px}.booking-summary-panel .preview-total>strong{font-size:1.2rem}.manager-mobile-header .manager-brand .club-brand-content>span{display:none}.manager-mobile-actions a,.manager-mobile-actions button{padding-inline:.5rem}.manager-workspace{padding-bottom:10.5rem}.news-card{grid-template-columns:1fr;padding:1rem}.news-card-accent{min-height:64px}.news-manager-list>article{grid-template-columns:1fr}.news-manager-actions{align-items:stretch}.news-manager-actions button{flex:1}}@media(max-width:430px){.booking-summary-panel .duration-options{grid-template-columns:1fr}.booking-summary-panel .duration-options button{min-height:58px}}@media(prefers-reduced-motion:reduce){.user-dock,.manager-mobile-dock,.news-card,.user-workspace>*,.manager-workspace>*,.info-banner[role=status]{animation:none}.manager-sidebar,.manager-sidebar *,.user-dock *,button,a{scroll-behavior:auto;transition-duration:.01ms!important}}.manager-user-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:1.25rem 0;padding:.45rem;border:1px solid rgb(255 255 255 / 82%);border-radius:20px;background:linear-gradient(145deg,#ffffffc2,#f1f8f49e);box-shadow:0 18px 36px #0023131f,inset 0 1px #fffffff2}.manager-user-tabs button{min-width:0;min-height:46px;padding:.65rem .5rem;border:1px solid transparent;border-radius:15px;background:transparent;color:var(--muted)}.manager-user-tabs button[aria-pressed=true]{border-color:#0059302e;color:#fff;background:linear-gradient(145deg,rgb(255 255 255 / 13%),transparent),var(--brand);box-shadow:0 9px 20px #00341c3d,inset 0 1px #ffffff40}@media(max-width:650px){.manager-shell{--mobile-content-gutter: clamp(1rem, 5vw, 1.25rem);--mobile-card-radius: clamp(19px, 5.5vw, 22px);--mobile-card-shadow: 0 clamp(10px, 3.4vw, 14px) clamp(22px, 7vw, 30px) rgb(0 35 19 / 13%), 0 3px 9px rgb(0 35 19 / 7%), inset 0 1px 0 rgb(255 255 255 / 92%)}.manager-workspace{padding:1.1rem max(var(--mobile-content-gutter),env(safe-area-inset-right)) calc(10.5rem + env(safe-area-inset-bottom)) max(var(--mobile-content-gutter),env(safe-area-inset-left))}.manager-page-heading,.calendar-heading{gap:.8rem;margin-bottom:1rem}.manager-page-heading h1,.calendar-heading h1{font-size:clamp(2rem,10vw,2.65rem);line-height:.98}.manager-page-heading>span,.calendar-heading>div>span{margin-top:.45rem;font-size:.92rem;line-height:1.4}.manager-page-heading p,.calendar-heading p,.panel-heading p{font-size:.7rem;letter-spacing:.1em}.manager-mobile-header{padding:max(.5rem,env(safe-area-inset-top)) max(.7rem,env(safe-area-inset-right)) .5rem max(.7rem,env(safe-area-inset-left))}.manager-mobile-header .club-brand-content img{width:38px;height:38px}.manager-mobile-actions a,.manager-mobile-actions button{min-height:40px;padding:.4rem .48rem;border-radius:12px;font-size:.72rem}.manager-mobile-dock{right:max(.5rem,env(safe-area-inset-right));bottom:max(.5rem,env(safe-area-inset-bottom));left:max(.5rem,env(safe-area-inset-left));padding:.4rem;border-radius:22px}.manager-mobile-dock .workspace-navigation{gap:.2rem}.manager-mobile-dock .workspace-navigation a{min-height:50px;gap:.16rem;padding:.28rem .08rem;border-radius:14px;font-size:.68rem;line-height:1.05}.manager-mobile-dock .workspace-navigation a[aria-current=page]{box-shadow:0 10px 22px #0000003d,inset 0 1px #ffffffe0;transform:translateY(-1px)}.manager-mobile-dock .app-icon{width:20px;height:20px}.manager-panel,.metric-card,.manager-state,.cancelled-panel,.settings-section,.stat-card,.hours-row,.device-card{border-radius:var(--mobile-card-radius);box-shadow:var(--mobile-card-shadow)}.manager-panel,.cancelled-panel,.manager-state{padding:1rem}.metric-grid,.statistics-summary{gap:.65rem;margin:1.15rem 0}.metric-card,.stat-card{min-height:122px;padding:.9rem}.metric-card span,.stat-card span{min-height:0;font-size:.82rem;line-height:1.25}.metric-card strong,.stat-card strong,.finance-metrics .metric-card strong{font-size:clamp(1.4rem,7vw,1.85rem);line-height:1}.metric-card small,.stat-card small{font-size:.74rem;line-height:1.3}.dashboard-actions{gap:.55rem}.dashboard-actions .button{min-height:46px;border-radius:15px}.panel-heading{align-items:start}.panel-heading h2,.manager-panel>h2,.day-detail-heading h2{font-size:1.25rem;line-height:1.15}.date-actions{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;width:100%;min-width:0;max-width:100%;gap:.4rem}.date-actions label{grid-column:1 / -1;width:100%;min-width:0;max-width:100%}.date-actions input{display:block;width:100%;min-width:0;max-width:100%}.date-actions>label,.expense-form>label:first-child{contain:inline-size;width:100%;min-width:0;max-width:100%}.manager-shell :is(.date-actions,.expense-form) input[type=date]{display:block;width:100%;width:-webkit-fill-available;min-width:0;max-width:100%;inline-size:-webkit-fill-available;max-inline-size:100%;margin-inline:0;-webkit-appearance:none;appearance:none}.manager-shell :is(.date-actions,.expense-form) input[type=date]::-webkit-date-and-time-value{display:block;width:100%;min-width:0;margin:0;text-align:center}.month-calendar{border-radius:var(--mobile-card-radius);box-shadow:var(--mobile-card-shadow)}.day-detail-heading{align-items:start;margin:1.25rem 0 .7rem}.calendar-operations{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0 0 1rem;padding:.55rem;border:1px solid rgb(255 255 255 / 82%);border-radius:19px;background:linear-gradient(145deg,#ffffffc7,#eff7f2ab);box-shadow:var(--mobile-card-shadow)}.calendar-operations .primary-link,.calendar-operations button{width:100%;min-height:46px;justify-content:center;border-radius:14px;text-align:center;font-size:.82rem}.court-tabs{gap:.35rem;margin:1rem 0 .65rem;padding:.38rem;border:1px solid rgb(255 255 255 / 80%);border-radius:17px;background:#f4f9f6bf;box-shadow:0 10px 24px #0023131c}.court-tabs button{flex:1 0 auto;border-color:transparent;border-radius:13px;background:transparent}.court-lane,.court-lane.selected{min-height:350px;padding:.9rem;border-color:#ffffffd1;border-radius:var(--mobile-card-radius);background:linear-gradient(#ffffffc2,#f5faf7b8),repeating-linear-gradient(transparent 0 57px,#00593012 58px 59px);box-shadow:var(--mobile-card-shadow)}.schedule-card{min-height:78px;border-radius:16px;box-shadow:0 10px 22px #0023131f,inset 0 1px #fffc}.schedule-detail{right:.7rem;bottom:calc(7.3rem + env(safe-area-inset-bottom));left:.7rem;width:auto;max-height:calc(100dvh - 9rem);overflow-y:auto;padding:1rem;border-radius:22px}.manager-user-tabs{gap:.3rem;margin:1rem 0;padding:.35rem;border-radius:18px}.manager-user-tabs button{min-height:44px;padding:.5rem .2rem;border-radius:13px;font-size:.72rem;line-height:1.1}.approve-all-button{width:100%;min-height:46px;border-color:var(--brand);border-radius:15px;color:#fff;background:var(--brand)}.manager-user-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem;padding:.75rem;border:1px solid rgb(255 255 255 / 82%);border-radius:18px;background:#f8fbf9c2;box-shadow:var(--mobile-card-shadow)}.manager-user-search label,.manager-user-search input{width:100%;min-width:0}.manager-list{display:grid;gap:.7rem;margin-top:1rem}.manager-list article{gap:.7rem;padding:.9rem;border:1px solid rgb(255 255 255 / 82%);border-radius:18px;background:linear-gradient(145deg,#ffffffc7,#f1f8f4a6);box-shadow:var(--mobile-card-shadow)}.manager-list article>button,.manager-list article>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:13px}.finance-period,.statistics-period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.55rem;margin:1rem 0 1.25rem;padding:.65rem;border:1px solid rgb(255 255 255 / 82%);border-radius:20px;background:linear-gradient(145deg,#ffffffc7,#eff7f2a8);box-shadow:var(--mobile-card-shadow)}.finance-period>button,.statistics-period>button{min-width:0;min-height:44px;padding:.55rem .35rem;border-radius:13px;white-space:normal;font-size:.72rem;line-height:1.15}.finance-period>button:nth-of-type(3),.statistics-period>button:nth-of-type(3){grid-column:1 / -1}.finance-period label,.statistics-period label{width:100%;min-width:0;font-size:.74rem;font-weight:750}.finance-period input,.statistics-period input{width:100%;min-width:0;min-height:44px;padding:.5rem;border-radius:12px}.finance-page .manager-panel,.statistics-page .manager-panel{margin-top:1rem}.finance-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.65rem;margin-top:.75rem;padding:.85rem;border:1px solid rgb(255 255 255 / 82%);border-radius:17px;background:linear-gradient(145deg,#ffffffd6,#edf6f1a8);box-shadow:0 12px 27px #0023131f,inset 0 1px #ffffffe5}.finance-row>div:first-child{min-width:0;gap:.35rem}.finance-row>div:first-child span{font-size:.78rem;line-height:1.45}.finance-row>.payment-allocation-controls,.finance-row>button{grid-column:1 / -1;width:100%}.payment-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.payment-quick-actions button{min-width:0;padding-inline:.4rem;border-radius:12px;font-size:.74rem}.payment-quick-actions button:last-child{grid-column:1 / -1}.payment-split-panel{padding:.75rem;border-radius:15px}.statistics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.occupancy-row{padding:.8rem;border-radius:15px}.chart-table>div{gap:.45rem;padding:.55rem;font-size:.72rem}.settings-section{margin:.75rem 0;overflow:hidden}.settings-section>summary,.settings-section-body{padding:.9rem}.settings-section summary strong{font-size:.98rem}.settings-section summary small{font-size:.76rem}.settings-section-body{display:grid;gap:.75rem}.settings-section-body>p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.settings-section-body .manager-form-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.7rem;margin:0;padding:.8rem;border:1px solid rgb(255 255 255 / 82%);border-radius:17px;background:linear-gradient(145deg,#ffffffd1,#eef7f2a8);box-shadow:0 12px 26px #0023131f,inset 0 1px #ffffffeb}.settings-section-body .manager-form-row label{min-width:0;font-size:.82rem}.settings-section-body .manager-form-row input,.settings-section-body .manager-form-row select{width:100%;border-radius:12px;background:#ffffffd1}.settings-section-body .manager-form-row button{width:100%;border-radius:13px}.member-discounts-toggle{padding:.8rem;border-radius:17px}.hours-row{padding:.9rem;margin:0}.news-manager-list>article{padding:.9rem;border:1px solid rgb(255 255 255 / 82%);border-radius:18px;background:#f8fbf9bd}}@media(max-width:380px){.manager-user-search,.calendar-operations,.statistics-summary{grid-template-columns:1fr}}@media(max-width:650px){.manager-shell{max-width:100%;overflow-x:clip}.manager-workspace,.manager-page,.finance-page,.statistics-page{max-width:100%;overflow:visible}.calendar-grid,.court-lane,.court-lane.selected{width:100%;min-width:0}.month-calendar{overflow:hidden}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.28rem}.month-weekdays span{min-width:0;padding:.35rem 0;font-size:.68rem}.month-grid>button{align-items:center;min-width:0;min-height:54px;margin:0;padding:.3rem .08rem;border:1px solid rgb(0 89 48 / 10%);border-radius:12px;background:#ffffffc7;box-shadow:0 7px 16px #00231314,inset 0 1px #ffffffeb}.month-grid>button.outside{background:#f4f8f59e}.month-grid>button.selected{border:2px solid var(--brand);background:var(--brand-soft);box-shadow:0 9px 18px #00341c24,inset 0 1px #ffffffdb}.month-grid>button.today time{width:24px;height:24px}.finance-period input[type=date],.statistics-period input[type=date]{inline-size:100%;min-inline-size:0;-webkit-appearance:none;appearance:none}.expense-form,.reminder-settings,.club-settings-form{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.7rem;margin:.9rem 0;padding:.8rem;border:1px solid rgb(255 255 255 / 84%);border-radius:18px;background:linear-gradient(145deg,#ffffffd1,#edf6f1a8);box-shadow:0 13px 28px #0023131f,inset 0 1px #fffffff0}.expense-form label,.reminder-settings label,.club-settings-form label{min-width:0;font-size:.82rem}.expense-form input,.reminder-settings input,.club-settings-form input{width:100%;border-radius:12px;background:#ffffffdb}.expense-form button,.reminder-settings button,.club-settings-form button{width:100%;min-height:46px;border-radius:13px}.reminder-settings p{margin:0;padding:.1rem;color:var(--muted);font-size:.78rem;line-height:1.5}.finance-filter-toggle,.registration-mode-toggle{display:flex;align-items:center;gap:.65rem;min-height:44px;padding:.65rem .75rem;border:1px solid rgb(0 89 48 / 12%);border-radius:14px;background:#f6faf7cc;box-shadow:0 8px 18px #00231314,inset 0 1px #ffffffe5;font-size:.8rem;font-weight:750}.finance-filter-toggle input,.registration-mode-toggle input{flex:none;width:20px;height:20px}.registration-mode-help{margin:0;padding-inline:.1rem;color:var(--muted);font-size:.8rem;line-height:1.5}.settings-audit-row{display:grid;gap:.3rem;padding:.8rem;border:1px solid rgb(255 255 255 / 82%);border-radius:16px;background:linear-gradient(145deg,#ffffffd1,#eff7f2a6);box-shadow:0 11px 24px #0023131a,inset 0 1px #ffffffeb;font-size:.82rem;line-height:1.45}.settings-audit-row time{color:var(--muted);font-size:.76rem}.hours-row,.hours-inputs,.hours-inputs label{width:100%;min-width:0;max-width:100%}.hours-inputs{grid-template-columns:minmax(0,1fr);gap:.7rem;padding:.7rem;border:1px solid rgb(0 89 48 / 9%);border-radius:16px;background:#f6faf7ad}.hours-inputs label{font-size:.8rem}.hours-inputs input:not([type=checkbox]){display:block;width:100%;min-width:0;max-width:100%;border-radius:12px;background:#ffffffe0}.hours-inputs .hours-lunch-toggle{display:flex;align-items:center;gap:.55rem}.hours-inputs .hours-lunch-toggle input{flex:0 0 22px;width:22px;min-width:22px;height:22px;min-height:22px}.hours-row footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.55rem}.hours-row footer button{width:100%;min-width:0;min-height:44px;padding-inline:.4rem;border-radius:13px;white-space:normal;font-size:.78rem;line-height:1.2}}@media(max-width:380px){.month-weekdays,.month-grid{gap:.18rem}.month-grid>button{min-height:50px;border-radius:10px}.hours-row footer{grid-template-columns:1fr}}@media(max-width:650px){.user-shell{max-width:100%;overflow-x:clip}.user-workspace,.user-page,.bookings-page{max-width:100%;overflow:visible}.user-app-header{top:.45rem;min-height:62px;margin:.45rem .65rem 0;padding:.55rem .65rem;border:1px solid rgb(255 255 255 / 88%);border-radius:20px;background:linear-gradient(145deg,#ffffffdb,#ebf5efc2);box-shadow:0 15px 34px #00231329,0 4px 11px #00231317,inset 0 1px #fffffff5}.user-app-header .user-identity>span{width:38px;height:38px;border-radius:13px}.user-workspace{padding:1rem max(var(--mobile-user-gutter),env(safe-area-inset-right)) calc(9.75rem + env(safe-area-inset-bottom)) max(var(--mobile-user-gutter),env(safe-area-inset-left))}.page-heading{margin:.25rem 0 1.15rem;padding-inline:.15rem}.page-heading p,.section-kicker{margin:0 0 .38rem;font-size:.7rem;letter-spacing:.1em}.page-heading h1,.bookings-page h1{margin:0;font-size:clamp(2rem,10vw,2.65rem);line-height:.98}.page-heading>span,.bookings-page-intro{display:block;margin-top:.55rem;font-size:.88rem;line-height:1.45}.user-overview-grid{gap:.75rem}.next-card,.due-card,.summary-strip,.quick-links a,.profile-card,.profile-details,.user-page .device-card,.state-panel,.my-booking-card,.booking-panel,.news-card,.news-empty{border:1px solid rgb(255 255 255 / 86%);border-radius:22px;background:linear-gradient(145deg,#ffffffd1,#f0f8f3ad),#f5faf7c2;box-shadow:0 18px 38px #00231326,0 5px 14px #00231314,inset 0 1px #fffffff0;-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}.next-card{min-height:0;gap:1.15rem;padding:1.05rem}.next-card h2{margin:.55rem 0 .25rem;font-size:1.45rem;line-height:1.08}.next-card p{margin:.3rem 0;color:var(--muted)}.next-card .button{width:100%;min-height:48px;border-radius:15px}.due-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem .75rem;padding:1rem}.due-card .eyebrow{grid-column:1 / -1}.due-card>strong{grid-row:2 / 4;grid-column:2;margin:0;color:var(--brand-dark);font-size:3rem;line-height:1}.due-card p{margin:0;color:var(--muted);font-size:.82rem}.due-card a{width:max-content;margin-top:.25rem;font-size:.82rem;font-weight:750}.summary-strip{grid-template-columns:1fr;gap:.5rem;margin:.75rem 0;padding:.55rem}.summary-strip div{grid-template-columns:minmax(64px,auto) 1fr;align-items:center;gap:.7rem;padding:.7rem;border:1px solid rgb(0 89 48 / 9%);border-radius:15px;background:#ffffff94;text-align:left;box-shadow:inset 0 1px #ffffffe0}.summary-strip div:last-child{padding-bottom:.7rem;border-bottom:1px solid rgb(0 89 48 / 9%)}.summary-strip strong{color:var(--brand-dark);font-size:1.25rem}.summary-strip span{font-size:.78rem}.quick-links{grid-template-columns:1fr;gap:.65rem}.quick-links a{min-height:76px;padding:.9rem 1rem}.quick-links strong{font-size:1rem}.quick-links span{font-size:.8rem}.profile-card{gap:.85rem;padding:1rem}.profile-avatar{width:54px;border-radius:16px;box-shadow:0 12px 24px #00311b3d,inset 0 1px #ffffff4d}.profile-card h2{margin-bottom:.4rem;font-size:1.25rem;line-height:1.15}.profile-details{grid-template-columns:1fr;gap:.5rem;margin:.75rem 0;padding:.55rem}.profile-details div{min-width:0;padding:.75rem;border:1px solid rgb(0 89 48 / 9%);border-radius:15px;background:#ffffff94;box-shadow:inset 0 1px #ffffffe0}.profile-details dt{font-size:.72rem}.profile-details dd{overflow-wrap:anywhere;font-size:.9rem}.user-page .device-settings{grid-template-columns:1fr;gap:.7rem;margin:.75rem 0}.user-page .device-card{padding:1rem}.user-page .device-card button,.user-page>.button-secondary{width:100%;border-radius:14px}.bookings-page{width:100%;padding:.25rem 0 0}.bookings-page h1{margin-bottom:.55rem}.bookings-page section{margin:1.3rem 0}.bookings-page section>h2{margin:0 0 .65rem;padding-inline:.15rem;color:var(--brand-dark);font-size:1rem}.my-booking-card{margin:.7rem 0;padding:.85rem}.my-booking-card>h3{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 .7rem;font-size:1.05rem}.cancelled-badge{margin-left:0}.my-booking-row{display:grid;gap:.65rem;margin-top:.55rem;padding:.75rem;border:1px solid rgb(0 89 48 / 9%);border-radius:16px;background:#ffffff94;box-shadow:inset 0 1px #ffffffe0}.my-booking-row>div{display:grid;min-width:0;gap:.25rem}.my-booking-row>div:first-child span,.my-booking-row>div:last-child>span,.my-booking-row small{color:var(--muted);font-size:.77rem;line-height:1.45}.my-booking-row>div:last-child{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.35rem .7rem}.my-booking-row>div:last-child small{grid-column:1 / -1;overflow-wrap:anywhere}.my-booking-row>div:last-child>strong{grid-column:2;grid-row:1;color:var(--brand-dark);font-size:1.05rem}.my-booking-card footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;margin-top:.65rem;padding:.75rem;border:1px solid rgb(0 89 48 / 10%);border-radius:16px;background:#e2f1e9ad}.my-booking-card footer span{color:var(--muted);font-size:.76rem;line-height:1.35}.my-booking-card footer>strong{color:var(--brand-dark);font-size:1.05rem}.booking-cancel-button{width:100%;min-height:46px;border-radius:14px}.cancellation-closed{margin-bottom:0;padding:.7rem;border-radius:14px;background:#f5f0e6b8;font-size:.78rem;line-height:1.45}.cancellation-confirmation{padding:.8rem;border:1px solid rgb(139 37 37 / 12%);border-radius:16px;box-shadow:0 10px 22px #4c161617}.cancellation-confirmation div{display:grid;grid-template-columns:1fr;gap:.5rem}.cancellation-confirmation button{width:100%}.news-feed{gap:.75rem}.news-card{grid-template-columns:1fr;gap:.8rem;padding:.85rem}.news-card-accent{min-height:58px;border-radius:16px}.news-card h2{margin:.3rem 0 .45rem;font-size:1.2rem;line-height:1.15}.news-card p{font-size:.84rem;line-height:1.55}.news-empty{padding:1.25rem}.state-panel,.booking-panel.empty{padding:1rem}.state-panel button,.booking-panel.empty a{width:100%;min-height:46px;justify-content:center;border-radius:14px}}@media(max-width:380px){.user-app-header{margin-inline:.45rem}.user-workspace{padding-inline:.7rem}.my-booking-card footer{grid-template-columns:1fr}.my-booking-card footer>strong{justify-self:start}}@media(max-width:650px){.public-header{width:calc(100% - 1.3rem);min-height:64px;margin:.45rem auto 0;padding:.6rem .7rem;border:1px solid rgb(255 255 255 / 88%);border-radius:20px;background:linear-gradient(145deg,#ffffffdb,#ebf5efbd);box-shadow:0 15px 34px #00231326,0 4px 11px #00231314,inset 0 1px #fffffff5;-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}.public-header .brand{flex:1 1 auto}.public-header .brand span{max-width:170px;line-height:1.2}.public-header nav{width:auto;flex:none}.public-header nav a{flex:none;min-height:42px;border:1px solid rgb(0 89 48 / 10%);border-radius:13px;background:#ffffff9e;box-shadow:inset 0 1px #ffffffe5}.public-main{width:calc(100% - var(--mobile-user-gutter) - var(--mobile-user-gutter));overflow:visible}.availability .section-heading{gap:1rem;margin-bottom:1rem;padding:1rem;border:1px solid rgb(255 255 255 / 86%);border-radius:22px;background:radial-gradient(circle at 100% 0,rgb(201 229 214 / 48%),transparent 44%),linear-gradient(145deg,#ffffffd1,#eff7f2ad);box-shadow:0 18px 38px #00231324,0 5px 14px #00231314,inset 0 1px #fffffff2;-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}.availability .section-heading h2{font-size:1.75rem;line-height:1.02}.availability .date-control{gap:.45rem;width:100%;padding:.5rem;border:1px solid rgb(0 89 48 / 9%);border-radius:18px;background:#ffffff94;box-shadow:0 10px 22px #00231317,inset 0 1px #ffffffeb}.availability .date-strip{flex:1 1 auto;gap:.45rem;padding:.1rem}.availability .date-button{flex-basis:58px;min-height:66px;border:1px solid rgb(0 89 48 / 8%);border-radius:15px;background:#ffffffb8;box-shadow:0 7px 16px #00231314,inset 0 1px #fffffff0}.availability .date-button.is-selected{border-color:#fff3;color:#fff;background:linear-gradient(145deg,rgb(255 255 255 / 14%),transparent),var(--brand);box-shadow:0 12px 24px #00341c40,inset 0 1px #ffffff47}.availability .calendar-button{flex:0 0 48px;min-width:48px;border-radius:15px;background:#ffffffc2;box-shadow:0 7px 16px #00231317,inset 0 1px #fffffff0}.court-card{padding:1rem;border-radius:22px;background:radial-gradient(circle at 100% 0,rgb(218 238 226 / 44%),transparent 42%),linear-gradient(145deg,#ffffffd6,#f0f8f3ad);box-shadow:0 20px 42px #00231329,0 6px 15px #00231317,inset 0 1px #fffffff5}.court-card>header{padding:.7rem;border:1px solid rgb(0 89 48 / 8%);border-radius:17px;background:#ffffff8f;box-shadow:inset 0 1px #ffffffeb}.court-icon-wrap{width:54px;height:54px;border-radius:15px}.slots{gap:.55rem;padding:.85rem 0 .75rem}.slot{min-height:48px;border-radius:13px;background:#ffffffad;box-shadow:0 7px 15px #00231314,inset 0 1px #ffffffeb}.price-area{min-height:0;padding:.75rem;border:1px solid rgb(0 89 48 / 8%);border-radius:15px;background:#ffffff8a;box-shadow:inset 0 1px #ffffffe5}.draft-item .member-participants{padding:.8rem;border:1px solid rgb(255 255 255 / 84%);border-radius:16px;background:linear-gradient(145deg,#ffffffc2,#e5f2ebad);box-shadow:0 10px 22px #0023131a,inset 0 1px #fffffff0}.member-selection-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem}.member-selection-row select{width:100%;min-width:0;border-radius:12px;background:#ffffffd6}.bookings-page>section{margin:1rem 0;padding:.7rem;border:1px solid rgb(255 255 255 / 82%);border-radius:21px;background:linear-gradient(145deg,#ffffff8a,#eaf4ee70);box-shadow:0 14px 30px #0023131a,inset 0 1px #ffffffe0;-webkit-backdrop-filter:blur(20px) saturate(145%);backdrop-filter:blur(20px) saturate(145%)}.bookings-page>section>h2{margin:0;padding:.25rem .2rem .45rem}.bookings-page>section .my-booking-card:last-child{margin-bottom:0}.settings-section-body>.device-settings,.settings-section-body>.manager-list,.manager-panel>.manager-form-grid,.statistics-page .court-stat-grid,.statistics-page .time-band-list,.chart-table{padding:.7rem;border:1px solid rgb(255 255 255 / 82%);border-radius:18px;background:linear-gradient(145deg,#fff9,#ebf5ef7a);box-shadow:0 13px 28px #0023131a,inset 0 1px #ffffffe5}.settings-section-body>.manager-list{margin-top:0}.occupancy-row,.chart-table>div{margin:0;padding:.75rem;border:1px solid rgb(0 89 48 / 9%);border-radius:15px;background:#ffffff9e;box-shadow:0 8px 18px #00231314,inset 0 1px #ffffffeb}.chart-table{gap:.55rem;margin-top:.8rem}.chart-table>div{gap:.4rem;font-size:.7rem}.payment-split-panel,.cancellation-confirmation,.booking-access-notice,.error-state,.no-courts{border:1px solid rgb(255 255 255 / 84%);border-radius:18px;box-shadow:0 13px 28px #0023131f,inset 0 1px #ffffffeb}.auth-card{padding:1.15rem;border-radius:22px}.auth-card form{gap:.75rem;margin:1rem 0;padding:.8rem;border:1px solid rgb(0 89 48 / 8%);border-radius:17px;background:#ffffff85;box-shadow:inset 0 1px #ffffffe5}.auth-card input,.auth-card button{border-radius:13px}}@media(max-width:380px){.public-header .brand span{display:none}.public-header nav a{padding-inline:.55rem;font-size:.76rem}.member-selection-row{grid-template-columns:1fr}.member-selection-row button{width:100%}}@media(max-width:768px){.public-page,.public-route,.user-shell,.auth-route{--mobile-user-gutter: clamp(1rem, 5vw, 1.25rem);--mobile-user-card-radius: clamp(19px, 5.5vw, 22px);--mobile-user-card-shadow: 0 clamp(10px, 3.4vw, 14px) clamp(22px, 7vw, 30px) rgb(0 35 19 / 13%), 0 3px 9px rgb(0 35 19 / 7%), inset 0 1px 0 rgb(255 255 255 / 94%);width:100%;max-width:100%;overflow-x:clip}.public-main,.user-workspace,.auth-route>*,.booking-layout,.booking-layout>*,.availability,.court-grid,.court-card,.booking-panel{min-width:0;max-width:100%}.hero{min-height:0;margin:.75rem 0 1rem;padding:clamp(1.15rem,5vw,1.6rem);border:1px solid rgb(255 255 255 / 88%);border-radius:24px;background:radial-gradient(circle at 100% 0,rgb(201 229 214 / 54%),transparent 45%),linear-gradient(145deg,#ffffffd6,#eff7f2ad);box-shadow:var(--mobile-user-card-shadow);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}.hero h1{max-width:10ch;font-size:clamp(2.55rem,13vw,4.5rem);line-height:.94;overflow-wrap:anywhere}.hero-copy{margin-top:1rem;font-size:.94rem;line-height:1.55}.booking-layout,.court-grid{grid-template-columns:minmax(0,1fr)}.booking-layout{gap:.9rem}.court-grid{gap:.8rem}}@media(max-width:650px){.public-page :is(input,select,textarea),.user-shell :is(input,select,textarea),.auth-route :is(input,select,textarea){max-width:100%;font-size:16px}.info-banner,.payment-history article,.state-panel,.profile-card,.profile-details,.user-page .device-card,.booking-access-notice,.booking-panel,.court-card,.error-state,.no-courts,.auth-card,.privacy-notice,.support-information,.news-card,.news-empty{width:100%;min-width:0;border:1px solid rgb(255 255 255 / 88%);border-radius:var(--mobile-user-card-radius);background:radial-gradient(circle at 100% 0,rgb(209 233 219 / 44%),transparent 44%),linear-gradient(145deg,#ffffffd6,#eff7f2ad);box-shadow:var(--mobile-user-card-shadow);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}.user-app-header,.public-header{max-width:calc(100% - .9rem)}.user-app-header .club-brand-content,.public-header .brand{min-width:0}.user-app-header .club-brand-content>span,.public-header .brand>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability{padding-bottom:1rem}.availability .section-heading{overflow:hidden}.availability .section-heading>div,.date-control,.date-strip{min-width:0}.selected-date{overflow-wrap:anywhere}.booking-access-notice,.auth-gate,.support-information,.auth-card form,.auth-card .registration-confirmation,.booking-error,.availability>p[role=alert],.auth-card>p[role=alert],.auth-card>p[role=status],.user-page>p[role=status]{padding:.8rem;border:1px solid rgb(255 255 255 / 84%);border-radius:17px;background:#ffffff9e;box-shadow:0 10px 22px #00231317,inset 0 1px #ffffffeb}.booking-error{border-color:#8b252529;color:#72222d;background:#fff4f4d1}.booking-access-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;width:100%;margin-top:.45rem}.booking-access-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem;border:1px solid rgb(0 89 48 / 13%);border-radius:13px;background:#ffffffc2;text-align:center;text-decoration:none}.booking-access-actions a:first-child{border-color:var(--brand);color:#fff;background:var(--brand)}.booking-summary-panel,.booking-summary-panel .draft-item,.booking-price-card,.booking-summary-panel .preview-total,.draft-item .member-participants{min-width:0;max-width:100%}.booking-summary-panel .panel-actions{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.6rem}.booking-summary-panel .panel-actions>*{width:100%;min-width:0}.payment-history{gap:.7rem}.payment-history article{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;padding:.9rem}.payment-history article>div{min-width:0}.payment-history article>div:last-child{grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-items:start;width:100%;padding-top:.75rem;border-top:1px solid rgb(0 89 48 / 9%)}.payment-history article>div:last-child>strong{justify-self:end;font-size:1.15rem}.payment-history article>div:last-child>small{grid-column:1 / -1;overflow-wrap:anywhere}.payment-history h2{font-size:1.2rem;line-height:1.15;overflow-wrap:anywhere}.info-banner,.state-panel{padding:.95rem}.state-panel p,.info-banner span{line-height:1.5;overflow-wrap:anywhere}.state-panel button,.state-panel a{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;border-radius:13px}.auth-route{align-items:start;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.auth-card,.privacy-notice{padding:1rem}.auth-card h1,.privacy-notice-header h1{font-size:clamp(1.8rem,9vw,2.35rem);line-height:1.05;overflow-wrap:anywhere}.auth-card form{width:100%;margin:.9rem 0}.auth-card form>small{margin:0;padding-inline:.1rem}.auth-card label,.password-control,.password-field{min-width:0}.auth-card nav{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;margin-top:.8rem}.auth-card nav a,.auth-card>a,.privacy-back{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:.6rem;border:1px solid rgb(0 89 48 / 12%);border-radius:13px;background:#ffffffad;text-align:center;text-decoration:none}.auth-card .privacy-link{display:inline;width:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;text-align:inherit;text-decoration:underline}.auth-card .registration-confirmation{width:100%;margin:0}.privacy-notice-header{padding-top:1rem}.privacy-notice>section{min-width:0;padding-top:1rem}.privacy-notice p,.privacy-notice li,.privacy-contact-card{overflow-wrap:anywhere}.privacy-summary,.privacy-child-summary,.privacy-contact-card{padding:.85rem;border:1px solid rgb(255 255 255 / 82%);border-radius:16px;box-shadow:inset 0 1px #ffffffe5}.support-information textarea{min-height:8rem;resize:vertical}}@media(max-width:380px){.user-app-header .club-brand-content>span{display:none}.booking-access-actions,.payment-history article>div:last-child{grid-template-columns:minmax(0,1fr)}.payment-history article>div:last-child>strong{justify-self:start}.auth-card .password-field{grid-template-columns:minmax(0,1fr)}.auth-card .password-toggle{width:100%;min-width:0}.hero h1{font-size:clamp(2.35rem,14vw,3.3rem)}}@media(max-width:650px){.dashboard-agenda .next-booking{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.42rem .85rem;min-width:0;margin-top:.75rem;padding:.9rem 1rem;overflow:hidden;border:1px solid rgb(255 255 255 / 84%);border-radius:20px;background:radial-gradient(circle at 100% 0,rgb(205 231 216 / 46%),transparent 46%),linear-gradient(145deg,#ffffffd6,#eef7f2ad);box-shadow:var(--mobile-card-shadow),inset 0 1px #ffffffeb;-webkit-backdrop-filter:blur(22px) saturate(150%) contrast(102%);backdrop-filter:blur(22px) saturate(150%) contrast(102%)}.dashboard-agenda .next-booking>*{min-width:0}.dashboard-agenda .next-booking strong{grid-column:1;grid-row:1;font-size:1rem;line-height:1.2}.dashboard-agenda .next-booking span:nth-of-type(1){grid-column:2;grid-row:1;font-weight:750;text-align:right}.dashboard-agenda .next-booking span:nth-of-type(2){grid-column:1;grid-row:2;overflow-wrap:anywhere}.dashboard-agenda .next-booking span:nth-of-type(3){grid-column:2;grid-row:2;text-align:right}.dashboard-agenda .next-booking em{grid-column:1 / -1;grid-row:3;justify-self:start;margin-top:.12rem;padding:.38rem .68rem;border:1px solid rgb(0 105 58 / 12%);border-radius:999px;background:#dcefe4b8;box-shadow:inset 0 1px #ffffffc7;font-size:.78rem;line-height:1.15;overflow-wrap:normal;white-space:nowrap}}
