:root{--bg:#071D17;--bg2:#0e1b18;--surface:#12221e;--surface-2:#192c25;--lime:#B7FF3C;--lime2:#9BE32F;--teal:#77ddc7;--text:#f1f7ec;--muted:#9aaea6;--dim:#63796f;--border:#2a3b34;--danger:#ff897f;--ring:rgba(213,250,112,.27);--radius:19px;--shadow:0 25px 75px rgba(0,0,0,.22);font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;min-height:100vh;line-height:1.55}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}input,select,textarea{min-width:0}a{text-decoration:none;color:inherit}::selection{background:var(--lime);color:#101c17}:focus-visible{outline:2px solid var(--lime);outline-offset:3px}[hidden]{display:none!important}.container{width:min(1260px,calc(100% - 64px));margin:0 auto}h1,h2,h3,p{margin-top:0}.customer-body{position:relative;overflow-x:hidden;background:radial-gradient(ellipse 80% 22% at 50% 0,rgba(56,92,66,.15),transparent 90%),var(--bg)}.ambient{position:absolute;pointer-events:none;z-index:0;border-radius:50%;filter:blur(90px);opacity:.18}.ambient-one{top:230px;right:-250px;width:570px;height:570px;background:#579f4e}.ambient-two{top:1280px;left:-250px;width:450px;height:450px;background:#436d59}header,main,footer{position:relative}.site-header{height:84px;border-bottom:1px solid rgba(182,220,180,.1);background:rgba(8,18,15,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);position:sticky;top:0;z-index:25}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(213,250,112,.5);border-radius:12px;background:#1d3024;color:var(--lime);font-size:24px}.brand-mark svg{width:27px;height:27px}.brand-text,.footer-brand{font-size:17px;font-weight:900;letter-spacing:-.8px}.brand-em,.footer-brand span{color:var(--lime);margin-left:2px}.header-nav{display:flex;align-items:center;gap:38px;color:#b9c9bf;font-size:13px;font-weight:600}.header-nav a:hover,.nav-link:hover,.footer-links a:hover,.text-button:hover{color:var(--lime)}.nav-link,.text-button{background:transparent;border:0;color:inherit;font-size:inherit;padding:0}.nav-cta{background:#1b2d23;border:1px solid #334a35;border-radius:11px;padding:11px 16px;font-size:13px;font-weight:750;transition:background .2s}.nav-cta span{color:var(--lime);padding-left:12px}.nav-cta:hover{background:#293d2b}.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:7%;align-items:center;padding-top:88px;padding-bottom:115px;min-height:605px}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--lime)}.eyebrow{display:inline-flex;align-items:center;gap:10px;border:1px solid #354d37;background:#1a2a21;border-radius:40px;padding:10px 15px;letter-spacing:1.15px}.online-pulse,.live-dot,.tiny-dot,.visual-dot{width:7px;height:7px;flex:0 0 7px;border-radius:100%;background:var(--lime);box-shadow:0 0 0 4px rgba(213,250,112,.1)}.online-pulse{animation:pulse 2.5s infinite}.hero h1{font-size:clamp(58px,5.8vw,86px);line-height:.99;letter-spacing:-4.6px;margin:28px 0 23px;font-weight:950}.hero h1 span{color:var(--lime)}.hero-copy>p{color:#a9bbb1;font-size:16px;max-width:470px;line-height:1.85}.hero-actions{display:flex;gap:25px;align-items:center;margin:31px 0 45px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:11px;padding:15px 20px;font-weight:850;font-size:13px;border:1px solid transparent;transition:transform .18s,background .18s,opacity .18s;white-space:nowrap;min-height:49px}.button:not(:disabled):hover{transform:translateY(-2px)}.button:not(:disabled):active{transform:translateY(0) scale(.99)}.button-primary{background:var(--lime);color:#14210f;border-color:var(--lime);box-shadow:0 7px 20px rgba(213,250,112,.08)}.button-primary:not(:disabled):hover{background:#e5ff9a}.button:disabled{opacity:.45;box-shadow:none}.button-quiet{background:#1b2b24;color:#d6e3d8;border:1px solid #334b3b}.button-small{min-height:40px;padding:10px 15px}.button.full-width,.full-width{width:100%}.hero-note{display:flex;gap:11px;align-items:center;color:#bdc8ba;font-size:12px}.hero-metrics{display:flex;gap:38px}.hero-metrics>div{display:flex;flex-direction:column;border-right:1px solid #263d30;padding-right:37px}.hero-metrics>div:last-child{border:0}.hero-metrics strong{font-size:28px;line-height:1.2;letter-spacing:-1px;font-weight:900}.metric-small{font-size:13px;letter-spacing:0}.hero-metrics span:not(.metric-small){color:var(--dim);font-size:12px}.hero-frame{position:relative;border-radius:24px;border:1px solid #3f5840;background:linear-gradient(140deg,#172b21,#0f251c 65%,#091c16);padding:22px;min-height:410px;transform:rotate(-1.3deg);box-shadow:var(--shadow),0 0 85px rgba(135,199,91,.08);overflow:hidden}.hero-frame::before{content:'';position:absolute;inset:0;background:linear-gradient(140deg,rgba(181,254,108,.07),transparent 42%);pointer-events:none}.hero-topline,.hero-bottomline{display:flex;justify-content:space-between;color:#9eb19c;font-size:10px;letter-spacing:1.5px;font-weight:750}.hero-topline span:first-child{display:flex;gap:10px;align-items:center}.visual-dot{width:5px;height:5px;flex-basis:5px}.hero-bottomline{margin-top:15px;color:#5d836d}.court-illustration{position:relative;margin:21px auto 15px;width:87%;height:293px;background:repeating-linear-gradient(90deg,transparent 0,transparent 55px,rgba(0,0,0,.025) 56px),linear-gradient(130deg,#285d44,#377d55 52%,#22513d);border:9px solid #153323;border-radius:4px;transform:perspective(750px) rotateX(17deg) rotateZ(-6deg);box-shadow:0 18px 55px rgba(0,0,0,.4),inset 0 0 60px rgba(0,0,0,.22)}.court-line{position:absolute;background:#c7e6b9}.court-outer{inset:8% 7%;background:transparent;border:2px solid #d6edc7}.court-inner{inset:8% 13%;background:transparent;border-left:2px solid #d6edc7;border-right:2px solid #d6edc7}.court-center{top:50%;left:7%;right:7%;height:2px;background:#e9f3d3}.court-side1{top:8%;bottom:8%;left:50%;width:2px}.court-side2{top:50%;left:7%;right:7%;height:2px;background:#e9f3d3}.court-service1{left:7%;right:7%;top:32%;height:2px}.court-service2{left:7%;right:7%;top:68%;height:2px}.court-mid{display:none}.net-shadow{position:absolute;left:0;right:0;top:49%;height:7px;background:repeating-linear-gradient(90deg,#12251b 0,#12251b 2px,rgba(255,255,255,.35) 3px,rgba(255,255,255,.35) 7px);opacity:.85}.floating-ticket{position:absolute;right:8px;bottom:52px;display:flex;align-items:center;gap:12px;background:#e0ff98;border:1px solid #f1ffbd;border-radius:12px;padding:12px 15px;color:#1b2a17;box-shadow:0 15px 28px rgba(0,0,0,.2);transform:rotate(2deg);animation:floatTicket 4s ease-in-out infinite}.tiny-dot{background:#3e7142;box-shadow:0 0 0 3px #add573}.floating-ticket div{display:flex;flex-direction:column}.floating-ticket div span{font-size:8px;font-weight:850;letter-spacing:1px}.floating-ticket strong{font-size:18px;letter-spacing:-.8px}.ticket-arrow{margin-left:10px;font-size:24px}.booking-section{padding-bottom:120px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:32px}.section-heading h2,.how-header h2{font-size:clamp(31px,3.1vw,44px);letter-spacing:-1.9px;line-height:1.16;margin:11px 0}.section-heading h2 em,.how-header h2 em{color:var(--lime);font-style:normal}.section-heading p{color:var(--muted);font-size:14px;margin:0}.step-progress{font-size:10px;letter-spacing:1.4px;color:#89988a;display:flex;align-items:center;gap:10px;font-weight:800;white-space:nowrap}.step-progress>span:not(.dash){color:var(--lime)}.step-progress .dash{width:20px;height:1px;background:#5d7664}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 322px;gap:22px;align-items:start}.booking-workspace{display:flex;flex-direction:column;gap:18px}.step-section,.summary-card,.panel,.how-grid article{background:linear-gradient(130deg,#14241f,#10201b);border:1px solid #263b31;border-radius:var(--radius)}.step-section{padding:29px 28px 30px}.step-title{display:flex;align-items:center;gap:15px;margin-bottom:23px}.step-number{display:grid;place-items:center;border:1px solid #526643;border-radius:11px;background:#253928;color:var(--lime);font-size:12px;font-weight:900;width:41px;height:41px}.step-title h3{font-size:18px;letter-spacing:-.6px;margin:0}.step-title p{font-size:12px;color:#89a095;margin:2px 0 0}.court-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.court-card{position:relative;display:flex;align-items:center;gap:15px;text-align:left;border:1px solid #30453a;background:#182a23;border-radius:14px;padding:14px;min-width:0;color:var(--text);transition:background .18s,border-color .18s,transform .18s}.court-card:hover{background:#20382b;transform:translateY(-2px)}.court-card.selected{background:#223928;border-color:var(--lime);box-shadow:inset 0 0 0 1px rgba(213,250,112,.14)}.court-card.selected:after{content:'✓';position:absolute;top:9px;right:11px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--lime);color:#182a12;font-size:11px;font-weight:900}.court-thumb{width:79px;height:73px;border-radius:8px;overflow:hidden;flex:0 0 79px;background:linear-gradient(135deg,#347b4f,#235c43);display:grid;place-items:center;border:1px solid #436b4c}.court-thumb.teal{background:linear-gradient(130deg,#266c68,#1e5947)}.thumb-mark{width:61px;height:44px;border:2px solid #cae4c6;position:relative}.thumb-mark:before{content:'';position:absolute;inset:0;border-left:2px solid #cae4c6;border-right:2px solid #cae4c6;margin:0 6px}.thumb-mark:after{content:'';position:absolute;left:0;right:0;top:50%;height:2px;background:#cae4c6;box-shadow:0 -10px 0 rgba(202,228,198,.55),0 10px 0 rgba(202,228,198,.55)}.court-details{display:flex;flex-direction:column;min-width:0;padding-right:6px}.court-details strong{font-size:14px}.court-details small{color:#9db2a6;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.court-rate{color:var(--lime);font-size:12px;font-weight:850;margin-top:7px}.court-rate small{color:#aabaae}.picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.picker-heading strong{font-size:13px}.date-input-wrap{color:var(--lime);font-size:12px;font-weight:700;display:flex;align-items:center;gap:8px}.date-input-wrap input{color:var(--text);background:#1e3228;border:1px solid #34503b;border-radius:8px;padding:6px 5px;width:143px;font-size:12px;color-scheme:dark}.date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.date-day{border-radius:11px;border:1px solid #30483b;background:#1a2b24;color:var(--text);min-width:0;min-height:88px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:background .18s,border-color .18s}.date-day:hover{background:#2a422e}.date-day.selected{background:var(--lime);color:#1a2d13;border-color:var(--lime)}.date-day .weekday{font-size:9px;letter-spacing:.8px;font-weight:750;color:#98ae9f}.date-day.selected .weekday{color:#526338}.date-day strong{font-size:21px;line-height:1.05;letter-spacing:-.8px}.date-day .month{font-size:10px;color:#9caf9d}.date-day.selected .month{color:#526338}.duration-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px}.control-label{font-size:10px;font-weight:850;letter-spacing:1.25px;color:#98af9b}.segmented{display:flex;background:#0d1c16;border-radius:10px;padding:4px;border:1px solid #2d4535}.segmented button{padding:9px 15px;color:#93a59b;background:transparent;border:0;border-radius:7px;font-weight:750;font-size:12px}.segmented button.selected{background:#314630;color:var(--lime)}.times-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px}.times-meta #slotsCaption{font-size:12px;color:var(--lime);font-weight:800}.slot-legend{display:flex;gap:16px;color:#8ea398;font-size:10px}.slot-legend span{display:flex;align-items:center;gap:6px}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.legend-dot.available{background:var(--lime)}.legend-dot.occupied{background:#627368}.slots-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.slot-button{border:1px solid #39513c;background:#1b3025;color:#e0eee0;border-radius:10px;min-height:48px;font-size:12px;font-weight:800;transition:background .18s,border-color .18s,transform .18s}.slot-button:not(:disabled):hover{background:#2b4831;transform:translateY(-1px)}.slot-button.selected{border-color:var(--lime);background:var(--lime);color:#15230e}.slot-button:disabled{background:#12221b;color:#536a5b;border-color:#25372b;text-decoration:line-through}.slot-footnote{font-size:10px;color:#789084;line-height:1.7;margin:19px 0 0;display:flex;gap:8px}.slot-footnote span{color:var(--lime);font-size:12px}.skeleton{grid-column:1/-1;background:#192b22;border-radius:12px;padding:27px;color:#95ab9d;font-size:13px;text-align:center}.summary-card{position:sticky;top:103px;padding:24px 22px;background:linear-gradient(140deg,#1c2e24,#12231d);box-shadow:0 22px 50px rgba(0,0,0,.14)}.summary-topline{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#9fb3a2;font-weight:900;letter-spacing:1.25px}.summary-status{color:var(--lime);display:flex;align-items:center;gap:9px}.summary-card h3{font-size:24px;letter-spacing:-1px;margin:22px 0 1px}.summary-sub{font-size:12px;color:#8da398;margin-bottom:18px}.summary-court-visual{border-radius:12px;height:119px;background:linear-gradient(135deg,#2e694d,#1b503a);border:1px solid #467452;position:relative;overflow:hidden;display:grid;place-items:center}.mini-court{width:180px;height:72px;border:2px solid #b6ddbe;position:relative;transform:perspective(420px) rotateX(14deg) rotateZ(-8deg)}.mini-inner{position:absolute;inset:0 12px;border-left:2px solid #b6ddbe;border-right:2px solid #b6ddbe}.mini-net{position:absolute;left:0;right:0;top:49%;height:3px;background:#d9ecce;box-shadow:0 -19px 0 rgba(218,238,207,.6),0 19px 0 rgba(218,238,207,.6)}.summary-court-label{position:absolute;bottom:8px;left:11px;font-size:8px;letter-spacing:.8px;color:#d5e9cf;font-weight:750}.summary-fields{margin:25px 0 20px}.summary-fields>div{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #2c4034}.summary-fields span{font-size:10px;color:#8ea196;letter-spacing:1px;font-weight:750}.summary-fields strong{font-size:12px;font-weight:800;text-align:right;max-width:185px}.summary-total{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.summary-total>div{display:flex;flex-direction:column}.summary-total span{font-size:10px;font-weight:850;letter-spacing:1px}.summary-total small{color:#8fa398;font-size:10px}.summary-total strong{font-size:23px;color:var(--lime);letter-spacing:-1px;white-space:nowrap}.summary-submit{width:100%;justify-content:space-between}.summary-assurance{color:#8b9f92;text-align:center;font-size:10px;margin-top:13px}.how-section{padding-bottom:112px}.how-header{margin-bottom:23px}.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.how-grid article{padding:27px}.how-num{font-size:11px;color:var(--lime);font-weight:850}.how-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:#2b3f2a;color:var(--lime);font-size:29px;margin:29px 0 24px}.how-grid h3{margin:0 0 10px;font-size:17px;letter-spacing:-.5px}.how-grid p{color:#8eaa9a;font-size:12px;margin:0;line-height:1.85}.footer{border-top:1px solid #23372b;padding:30px 0 36px;background:#0b1712}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-brand{font-size:18px}.footer-inner p{margin:3px 0;color:#799386;font-size:11px}.footer-links{display:flex;gap:27px;font-size:12px;color:#a8b8aa}.copyright{color:#718a7a;font-size:10px;letter-spacing:1px}.mobile-checkout{display:none}
/* Modal and common controls */
.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;background:rgba(2,9,7,.79);backdrop-filter:blur(9px);z-index:100;padding:20px;overflow-y:auto}.modal{position:relative;background:#152720;border:1px solid #416044;border-radius:22px;width:min(555px,100%);max-height:min(90dvh,850px);overflow-y:auto;padding:30px;box-shadow:0 30px 120px #0009;animation:modalIn .2s ease-out}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:20px}.modal h2{font-size:26px;letter-spacing:-1px;margin:7px 0 0}.modal h3{margin:0}.close-button{width:34px;height:34px;background:#263c2c;color:var(--text);border:1px solid #456247;border-radius:10px;font-size:22px;line-height:1;display:grid;place-items:center}.modal-booking{border:1px solid #3e5d3b;background:#233b29;border-radius:12px;display:flex;justify-content:space-between;gap:12px;padding:15px 17px;margin-bottom:20px;font-size:12px}.modal-booking strong{color:var(--lime)}form label{display:block;color:#c8d9c8;font-size:12px;font-weight:750}form label input:not([type=checkbox]),form label textarea,form label select,.filters-row input,.filters-row select{display:block;width:100%;border:1px solid #385340;background:#0f2118;color:var(--text);border-radius:10px;min-height:45px;padding:11px 12px;margin-top:7px;font-size:13px;outline:none}form label input:focus,form label textarea:focus,form label select:focus,.filters-row input:focus{border-color:var(--lime);box-shadow:0 0 0 3px var(--ring)}form label textarea{resize:vertical;min-height:70px}.modal form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.optional{color:#8ba28f;font-weight:500}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px}.modal-actions p{color:#8fa899;font-size:11px;margin:0;max-width:185px}.inline-error{font-size:12px;color:var(--danger);min-height:0;margin:0}.inline-error:empty{display:none}.success-modal{text-align:center;max-width:465px}.floating-close{position:absolute;top:16px;right:16px}.success-glyph{height:69px;width:69px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:#20310f;font-size:33px;font-weight:850;margin:8px auto 19px}.success-modal>p{color:#a5b9a8;font-size:13px;line-height:1.75}.success-details{border:1px solid #38563c;background:#1c3325;border-radius:12px;text-align:left;padding:16px;font-size:12px;margin:18px 0}.success-details>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.success-details>div:last-child{margin:0}.success-details span{color:#90a996}.success-details strong{text-align:right}.copy-panel{text-align:left;background:#0e2016;border:1px dashed #55784a;border-radius:12px;padding:14px 17px;margin-bottom:13px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px}.copy-panel span{font-size:9px;color:#8baa96;letter-spacing:1px;grid-column:1/-1}.copy-panel strong{font-size:19px;letter-spacing:1px;color:var(--lime)}.copy-panel button{background:#2d472e;border:1px solid #507049;border-radius:8px;color:#d6efd5;font-weight:750;font-size:11px;padding:7px 10px}.success-modal .button-quiet{margin-top:10px}.muted{font-size:12px;color:#9db09f;line-height:1.7}.toast{position:fixed;z-index:150;bottom:26px;left:50%;transform:translateX(-50%);background:#d8ff81;border:1px solid #edffa7;color:#1a2d16;padding:13px 20px;border-radius:11px;font-weight:750;box-shadow:0 15px 40px #0006;font-size:12px;max-width:calc(100vw - 28px);text-align:center}
/* Admin dashboard */
.admin-body{background:#0e1814}.login-screen{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse 47% 52% at 50% 20%,#253d24,transparent 90%),#0b1511;padding:25px}.login-card{width:min(420px,100%);background:#152820;border:1px solid #314836;border-radius:22px;padding:36px;box-shadow:var(--shadow)}.login-card>.brand{margin-bottom:47px}.login-icon{display:grid;place-items:center;background:#29412b;border:1px solid #57784b;width:52px;height:52px;border-radius:15px;color:var(--lime);font-size:28px;margin-bottom:22px}.login-card h1{font-size:34px;letter-spacing:-1.4px;margin:6px 0}.login-card>p{color:var(--muted);font-size:13px;margin-bottom:27px}.login-card form{display:flex;flex-direction:column;gap:14px}.return-link{color:#a9c0a8;font-size:12px;display:inline-block;margin-top:21px}.return-link:hover{color:var(--lime)}.admin-layout{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100dvh}.admin-sidebar{background:#111e18;border-right:1px solid #2b3c31;padding:25px 16px;display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:0;height:100dvh}.sidebar-top>.brand{padding:0 12px}.sidebar-label{font-size:10px;letter-spacing:1.5px;color:#637f6d;font-weight:850;display:block;margin:50px 14px 15px}.sidebar-nav{display:flex;flex-direction:column;gap:7px}.sidebar-nav button,.sidebar-bottom button,.sidebar-bottom a{display:flex;align-items:center;gap:13px;background:transparent;color:#a9bbae;border:1px solid transparent;border-radius:10px;text-align:left;font-size:12px;padding:12px 13px;font-weight:750;width:100%}.sidebar-nav button span,.sidebar-bottom span{font-size:17px;width:19px;text-align:center}.sidebar-nav button:hover,.sidebar-bottom a:hover,.sidebar-bottom button:hover{background:#1e3427;color:var(--text)}.sidebar-nav button.active{color:var(--lime);background:#263d29;border-color:#3d5b39}.sidebar-bottom{border-top:1px solid #293d2e;padding-top:14px}.admin-main-wrap{min-width:0}.admin-topbar{min-height:74px;background:#111e18;border-bottom:1px solid #2a3e31;padding:0 37px;display:flex;justify-content:space-between;align-items:center;gap:16px}.admin-topbar>div{display:flex;align-items:center;gap:16px}.admin-breadcrumb{font-size:10px;letter-spacing:1.3px;color:#728e79;font-weight:850}.admin-breadcrumb span{margin:0 7px;color:#47684b}.admin-breadcrumb strong{color:#d9ecd9}.topbar-right{gap:23px!important}.admin-online{display:flex;align-items:center;gap:10px;color:#a4bb9f;font-size:10px;font-weight:850;letter-spacing:.65px}.admin-avatar{display:grid;place-items:center;width:35px;height:35px;background:#304a30;border:1px solid #668457;border-radius:10px;color:var(--lime);font-weight:900;font-size:11px}.menu-toggle{display:none;background:#223829;border:1px solid #3d5b3d;color:#d8ebd2;padding:8px 12px;border-radius:8px}.admin-content{padding:37px;max-width:1700px;margin:0 auto}.admin-page-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:28px}.admin-page-heading h1{margin:7px 0 1px;font-size:32px;letter-spacing:-1.3px}.admin-page-heading p{font-size:13px;color:#8ba494;margin:0}.dashboard-date{border:1px solid #344d38;background:#1a2a20;border-radius:9px;padding:10px 13px;font-size:11px;color:#c4d9c1;white-space:nowrap}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:24px}.stat-card{position:relative;border:1px solid #304536;background:linear-gradient(130deg,#1a2e22,#14251d);border-radius:15px;padding:23px 20px;min-width:0;overflow:hidden}.stat-card:nth-child(3){background:linear-gradient(120deg,#304d27,#1a3825);border-color:#6b8853}.stat-card>span:first-child{display:block;color:#a1b5a1;font-size:9px;letter-spacing:1px;font-weight:850}.stat-card strong{display:block;font-size:clamp(25px,2.8vw,39px);font-weight:950;letter-spacing:-1.5px;margin:13px 0 0;white-space:nowrap}.stat-card:nth-child(3) strong{color:var(--lime)}.stat-card small{font-size:10px;color:#7f9a83}.stat-symbol{position:absolute;right:14px;bottom:15px;color:#446547;font-size:30px}.stat-card:nth-child(3) .stat-symbol{color:#84a965}.panel{padding:24px;margin-bottom:22px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.panel-title h2{font-size:18px;letter-spacing:-.5px;margin:0}.panel-title p{font-size:11px;color:#829d8b;margin:4px 0 0}.secondary-button{color:#d9edd7;border:1px solid #3d563e;background:#263b2a;border-radius:9px;padding:9px 13px;font-size:11px;font-weight:750;white-space:nowrap}.secondary-button:hover{border-color:#8abb6d}.secondary-button:disabled{opacity:.4}.small-chip{font-size:10px;letter-spacing:.7px;background:#2a3d2b;border:1px solid #476343;color:var(--lime);border-radius:7px;padding:8px 11px}.table-scroll{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px;text-align:left}thead{background:#203226}th{font-size:10px;color:#86a08f;font-weight:850;letter-spacing:1px;padding:13px 12px}tbody td{padding:15px 12px;border-bottom:1px solid #293d31;color:#d7e4d5}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#1e3226}.cell-title{font-weight:850;color:#f0f8ed}.cell-sub{font-size:10px;color:#8a9f8e;margin-top:3px}.status-pill{display:inline-block;padding:5px 8px;border-radius:6px;font-size:10px;font-weight:850;background:#344b30;color:var(--lime)}.status-pill.cancelled{background:#4a302c;color:#ffb2a5}.status-pill.unpaid{background:#4d3d29;color:#f2cd82}.status-pill.paid{background:#314d39;color:#9af0a3}.table-action{border:1px solid #49654c;background:#2a442f;color:#d8ead6;font-size:10px;font-weight:750;padding:7px 10px;border-radius:7px;margin-right:5px}.table-action.danger{border-color:#74534b;color:#ffc3b2;background:#452e29}.table-action:disabled{opacity:.4}.empty-state{padding:40px 18px;color:#9db3a1;text-align:center;font-size:13px}.filters-row{display:flex;gap:11px;align-items:end;flex-wrap:wrap;margin-bottom:17px}.filters-row label{font-size:11px;color:#9daf9e;flex:0 1 175px}.filters-row label:nth-child(3){flex:1 1 190px}.filters-row .secondary-button{height:44px}.filters-row input,.filters-row select{color-scheme:dark}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-top:17px;color:#a2bca6;font-size:11px}.admin-court-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.admin-court-card{border:1px solid #354e3b;border-radius:13px;background:#1a2f23;padding:16px}.admin-court-card.inactive{opacity:.6}.admin-court-card .court-thumb{width:100%;height:115px;margin-bottom:13px}.admin-court-card .thumb-mark{width:140px;height:82px}.admin-court-card>div:nth-child(2){display:flex;justify-content:space-between;gap:5px;align-items:start}.admin-court-card h3{font-size:15px;margin-bottom:2px}.admin-court-card p{font-size:11px;color:#8ba591;min-height:35px}.admin-court-card .table-action{width:100%;margin-top:12px}.two-col-admin{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.1fr);gap:18px}.stack-form{display:flex;flex-direction:column;gap:18px}.stack-form .button{align-self:start}.stack-form .full-width{align-self:stretch}.check-label{display:flex;align-items:center;gap:9px}.check-label input{accent-color:var(--lime);width:17px;height:17px}.block-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #2d4132}.block-item:last-child{border:0}.block-item strong{font-size:12px}.block-item p{margin:2px 0 0;color:#91a994;font-size:10px}.settings-panel{max-width:620px}.info-strip{padding:14px;background:#233729;border:1px solid #3b5539;border-radius:10px;color:#a8bfaa;font-size:11px;line-height:1.7}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(213,250,112,.08)}50%{box-shadow:0 0 0 8px rgba(213,250,112,0)}}@keyframes floatTicket{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes modalIn{from{opacity:0;transform:translateY(9px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:1120px){.container{width:min(100% - 44px,1250px)}.hero{gap:3%;padding:72px 0 85px}.hero h1{font-size:clamp(49px,6.4vw,73px)}.booking-layout{grid-template-columns:minmax(0,1fr) 290px;gap:15px}.step-section{padding:24px 20px}.court-card{gap:9px;padding:10px}.court-thumb{width:65px;height:68px;flex-basis:65px}.thumb-mark{width:49px;height:38px}.slots-grid{grid-template-columns:repeat(4,1fr)}.admin-court-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.header-nav{display:none}.site-header{height:71px}.hero{grid-template-columns:1fr;min-height:unset;gap:42px;padding:58px 0 73px}.hero-copy>p{max-width:600px}.hero-visual{max-width:640px;width:100%}.hero-frame{min-height:355px}.court-illustration{height:245px}.hero-metrics{margin-top:27px}.booking-layout{grid-template-columns:1fr}.summary-card{position:static}.summary-court-visual{height:145px}.summary-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 19px}.summary-card{display:none}.booking-section{padding-bottom:86px}.mobile-checkout{position:fixed;z-index:24;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(16,30,22,.96);border-top:1px solid #405b40;backdrop-filter:blur(13px);padding:11px max(21px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(21px,env(safe-area-inset-left));box-shadow:0 -10px 35px #0004}.mobile-checkout>div{display:flex;flex-direction:column;min-width:0}.mobile-checkout>div>span{color:#99b09e;font-size:9px;letter-spacing:1.1px;font-weight:850}.mobile-checkout strong{color:var(--lime);font-size:22px;line-height:1.2}.mobile-checkout small{color:#96aa97;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45vw}.mobile-checkout .button{padding:13px 17px}.footer{padding-bottom:110px}.admin-layout{display:block}.admin-sidebar{position:fixed;z-index:35;top:0;left:0;bottom:0;width:254px;transform:translateX(-100%);transition:transform .22s;box-shadow:20px 0 80px #0008}.admin-sidebar.open{transform:none}.admin-sidebar.open:after{content:'';position:fixed;top:0;bottom:0;left:253px;width:calc(100vw - 253px);background:#0008}.admin-sidebar.open .sidebar-top,.admin-sidebar.open .sidebar-bottom{position:relative;z-index:1}.menu-toggle{display:block}.admin-topbar{padding:0 24px}.admin-content{padding:28px 24px}}
@media(max-width:580px){.container{width:calc(100% - 34px)}.brand-text{font-size:15px}.brand-mark{width:34px;height:34px}.nav-cta{font-size:11px;padding:9px 12px}.site-header{height:66px}.hero{padding-top:46px;padding-bottom:55px}.eyebrow{font-size:9px;letter-spacing:.5px}.hero h1{font-size:clamp(49px,12.3vw,71px);line-height:1.02;letter-spacing:-3.2px;margin:22px 0}.hero-copy>p{font-size:13px;line-height:1.8}.hero-actions{gap:15px;margin:24px 0 31px}.hero-actions .button{padding:13px 15px;min-height:46px}.hero-note{font-size:10px}.hero-metrics{gap:14px}.hero-metrics>div{padding-right:15px}.hero-metrics strong{font-size:23px}.hero-metrics span:not(.metric-small){font-size:9px}.hero-frame{padding:14px;min-height:285px;border-radius:18px}.court-illustration{height:200px;margin:12px auto 8px;width:90%;border-width:5px}.hero-topline,.hero-bottomline{font-size:8px;letter-spacing:.5px}.floating-ticket{right:0;bottom:36px;padding:8px 10px;gap:6px}.floating-ticket strong{font-size:13px}.floating-ticket div span{font-size:6px}.ticket-arrow{font-size:19px;margin-left:0}.booking-section{padding-bottom:78px}.section-heading{align-items:start}.section-heading h2,.how-header h2{font-size:30px;letter-spacing:-1.2px}.section-heading p{font-size:11px;max-width:270px;line-height:1.7}.step-progress{display:none}.booking-layout,.booking-workspace{gap:13px}.step-section{padding:20px 16px}.step-title{gap:11px;margin-bottom:18px}.step-title h3{font-size:16px}.step-title p{font-size:11px}.step-number{width:36px;height:36px;font-size:11px}.court-grid{gap:8px}.court-card{padding:10px;gap:7px;flex-direction:column;align-items:stretch}.court-thumb{width:100%;flex-basis:auto;height:78px}.thumb-mark{width:80px;height:51px}.court-details strong{font-size:12px}.court-details small{font-size:9px}.court-rate{font-size:11px;margin-top:4px}.picker-heading{align-items:start;gap:7px}.picker-heading strong{font-size:11px}.date-input-wrap{font-size:0}.date-input-wrap input{font-size:11px;width:132px;padding:5px}.date-strip{gap:4px}.date-day{min-height:72px;border-radius:8px}.date-day strong{font-size:18px}.date-day .weekday{font-size:8px}.date-day .month{font-size:8px}.duration-wrap{flex-direction:column;align-items:stretch;gap:8px;margin-top:20px}.segmented{width:100%}.segmented button{flex:1;padding:10px 5px}.times-meta{align-items:start;flex-direction:column}.slots-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.slot-button{font-size:12px;min-height:44px}.how-section{padding-bottom:75px}.how-grid{grid-template-columns:1fr;gap:10px}.how-grid article{padding:20px}.how-icon{margin:14px 0}.footer-inner{align-items:start;flex-wrap:wrap}.footer-links{flex-wrap:wrap;gap:12px 17px}.copyright{width:100%}.modal-backdrop{padding:9px}.modal{padding:23px 19px;border-radius:18px;max-height:94dvh}.modal h2{font-size:23px}.form-row{grid-template-columns:1fr;gap:15px}.modal-actions{flex-direction:column;align-items:stretch}.modal-actions p{max-width:none}.success-modal>p{font-size:12px}.copy-panel strong{font-size:16px}.admin-topbar{min-height:65px;padding:0 16px}.admin-breadcrumb{font-size:9px;letter-spacing:.5px}.admin-online{display:none}.admin-content{padding:24px 15px}.admin-page-heading{align-items:start;flex-direction:column;margin-bottom:20px}.admin-page-heading h1{font-size:27px}.dashboard-date{font-size:10px;padding:8px}.stats-grid{gap:9px}.stat-card{padding:17px 13px}.stat-card strong{font-size:28px}.stat-card>span:first-child{font-size:8px}.stat-symbol{font-size:22px}.panel{padding:16px}.panel-title{align-items:start}.panel-title h2{font-size:17px}.panel-title .secondary-button{font-size:10px}.admin-court-grid{grid-template-columns:1fr}.two-col-admin{grid-template-columns:1fr}.filters-row label{flex:1 1 45%}.filters-row label:nth-child(3){flex:1 1 100%}.filters-row .secondary-button{align-self:end}.login-card{padding:26px 22px}.login-card>.brand{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Decorative glows must never extend the layout viewport on mobile. */
.ambient-one{right:0}.ambient-two{left:0}
@media(max-width:580px){.site-header .brand-text{max-width:174px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.ambient-one{width:min(570px,100vw)}.ambient-two{width:min(450px,100vw)}

/* V2.8 legacy admin password visibility */
.password-wrap{display:block;position:relative}.password-wrap input{width:100%;padding-right:4rem!important}.password-eye{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);padding:.4rem .55rem;border:1px solid #5b6d70;border-radius:.5rem;background:#1f343a;color:#e3f9ee;cursor:pointer;z-index:1}

/* SHUTTLOOP brand on legacy direct-court routes. */
.brand-text,.footer-brand{font-family:"Space Grotesk",Inter,system-ui,sans-serif;letter-spacing:-.055em;text-transform:none}
.brand-mark{background:transparent;border:0;overflow:visible}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-em,.footer-brand span{color:#B7FF3C}
