@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#143b35;background:#f4f1e9;font-synthesis:none}.book-page{margin:auto;max-width:1180px;padding:58px 35px 80px}.book-layout{align-items:start;display:grid;gap:28px;grid-template-columns:minmax(0,1.5fr) minmax(290px,.7fr)}.booking-picker{min-width:0}.booking-courts{display:grid;gap:15px;margin-top:24px}.booking-summary{background:var(--panel);box-shadow:var(--shadow);padding:25px;position:sticky;top:24px}.summary-heading h2{font-family:Space Grotesk;font-size:25px;margin:9px 0 25px}.summary-row,.summary-total{align-items:center;border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:15px 0}.summary-row span,.summary-total span{color:var(--muted);font-size:12px}.summary-row strong{font-size:12px}.summary-total{margin-top:8px}.summary-total strong{font-family:Space Grotesk;font-size:24px}.profile-feedback{margin-top:18px}@media(max-width:900px){.book-layout{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)}}@media(max-width:640px){.book-page{padding:35px 20px 55px}.book-layout{display:block}.booking-summary{margin-top:25px;position:static}}.admin-profile-button{background:transparent;border:0;text-align:left}.topbar-popover{background:#fff;border:1px solid #dfe7e0;box-shadow:0 15px 35px #193c3424;position:absolute;right:35px;top:68px;z-index:10}.notifications-popover{padding:18px;width:250px}.notifications-popover strong{display:block;font-family:Space Grotesk;margin-bottom:12px}.notifications-popover p{border-top:1px solid #e4ebe5;display:grid;gap:4px;margin:0;padding:12px 0}.notifications-popover b{font-size:11px}.notifications-popover small{color:#789087;font-size:10px}.profile-popover{display:grid;min-width:130px;padding:7px}.profile-popover a,.profile-popover button{background:transparent;border:0;color:#45665b;font-size:11px;padding:10px;text-align:left}.profile-popover a:hover,.profile-popover button:hover{background:#edf4ee}.court-link-button{background:transparent;border:0;font-size:16px}.court-card-actions{align-items:center;display:flex;gap:18px;justify-content:space-between}.admin-feedback{align-items:center;background:#e0eee4;color:#428255;display:flex;justify-content:space-between;margin-bottom:15px;padding:11px 15px}.admin-feedback button{background:transparent;border:0;color:inherit;font-size:17px}.booking-amount-preview{background:#edf4ee;color:#45665b;font-size:12px;padding:12px}.error-message{color:#c45c44;font-size:11px}.customer-booking-actions{display:grid;gap:14px}.customer-booking-actions .empty-panel{padding:15px}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.app-shell{min-height:100vh;overflow:hidden}.navbar{align-items:center;display:flex;justify-content:space-between;max-width:1240px;margin:auto;padding:28px 5vw}.brand,.nav-links{align-items:center;display:flex;gap:12px}.brand{font-family:Space Grotesk,sans-serif;font-weight:700}.brand-mark{align-items:center;background:#f4c95d;border-radius:50%;display:inline-flex;height:34px;justify-content:center;object-fit:cover;transform:rotate(-12deg);width:34px}.nav-links{gap:30px;font-size:14px;font-weight:700}.hero{display:grid;grid-template-columns:1fr 1fr;margin:40px auto 0;max-width:1240px;min-height:480px;padding:0 5vw}.hero-copy{align-self:center;max-width:570px;padding-bottom:50px}.eyebrow,.label{color:#e06d4e;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}h1,h2{font-family:Space Grotesk,sans-serif}h1{font-size:clamp(58px,7vw,96px);letter-spacing:-4px;line-height:.92;margin:22px 0}h1 em{color:#e06d4e;font-style:normal}.hero-text{color:#54716a;line-height:1.7;max-width:410px}.hero-actions{align-items:center;display:flex;gap:24px;margin-top:32px}.button{background:#143b35;border:1px solid #143b35;border-radius:3px;color:#fff;font-weight:700;padding:14px 20px}.button:not(:disabled){cursor:pointer}.button:not(:disabled):hover{background:#0f2c27;border-color:#0f2c27}.button:disabled{background:#e4e8e2;border-color:#d9e1d8;color:#93a49c;cursor:not-allowed}.button:focus-visible{outline:3px solid rgba(23,61,55,.35);outline-offset:2px}.button.outline{background:transparent;color:#143b35;padding:9px 16px}.text-link{border-bottom:1px solid #143b35;font-size:14px;font-weight:700;padding-bottom:4px}.hero-art{align-items:center;background:#dce9df;display:flex;justify-content:center;min-height:440px;position:relative;transform:rotate(2deg)}.court-lines{border:3px solid #143b35;height:70%;position:relative;width:65%}.court-lines:before,.court-lines:after{border:2px solid #143b35;content:"";height:42%;left:0;position:absolute;right:0;top:28%}.court-lines:after{border:0;border-left:2px solid #143b35;left:50%}.net{background:#143b35;bottom:-14px;left:-18px;position:absolute;right:-18px;height:8px}.ball{color:#e06d4e;font-size:58px;position:absolute;right:12%;top:18%}.hero-art p{bottom:7%;font-family:Space Grotesk;font-size:11px;left:8%;letter-spacing:.13em;line-height:1.7;position:absolute}.hero-art strong{font-size:17px;letter-spacing:0}.booking-strip{align-items:center;background:#fffdf7;display:flex;gap:40px;justify-content:space-between;margin:0 auto;max-width:1140px;padding:25px 35px;position:relative}.booking-strip strong{display:block;font-family:Space Grotesk;font-size:21px;margin-top:7px}.date-picker{display:flex;gap:8px}.date-picker button{background:transparent;border:1px solid #d8ded4;border-radius:3px;color:#54716a;padding:10px 13px}.date-picker button.active{background:#dce9df;border-color:#dce9df;color:#143b35;font-weight:700}.feature-row{display:grid;gap:50px;grid-template-columns:repeat(3,1fr);margin:80px auto;max-width:1140px;padding:0 35px}.feature-row article{border-top:1px solid #c8d2c8;padding-top:17px}.feature-number{color:#e06d4e;font-family:Space Grotesk;font-size:13px}.feature-row h2{font-size:22px;margin:24px 0 10px}.feature-row p{color:#54716a;line-height:1.6;margin:0}@media(max-width:720px){.nav-links a{display:none}.hero{grid-template-columns:1fr;margin-top:15px}.hero-copy{padding-bottom:35px}.hero-art{min-height:300px}.booking-strip{align-items:flex-start;flex-direction:column;gap:18px;margin:0 20px}.feature-row{gap:35px;grid-template-columns:1fr;margin-top:55px}}:root{--ink: #173d37;--muted: #668078;--paper: #f8f6ef;--panel: #fffdf8;--line: #d9e1d8;--coral: #e87555;--yellow: #f2cb62;--mint: #dcebe2;--shadow: 0 18px 50px rgba(23, 61, 55, .08)}body{background:var(--paper);color:var(--ink)}.site-header{align-items:center;display:flex;gap:36px;justify-content:space-between;margin:auto;max-width:1280px;padding:26px 5vw}.site-header .brand{flex-shrink:0}.brand-short{display:none}.public-nav{display:flex;gap:28px;margin-left:auto}.public-nav a,.header-login{color:var(--muted);font-size:13px;font-weight:700}.header-actions{align-items:center;display:flex;gap:20px}.nav-toggle{display:none}.site-header .button{padding:11px 16px}.public-page{min-height:calc(100vh - 90px)}.site-footer{align-items:flex-end;border-top:1px solid var(--line);display:flex;gap:32px;justify-content:space-between;margin:100px auto 0;max-width:1280px;padding:32px 5vw 42px}.site-footer .brand{font-size:14px}.site-footer p,.site-footer small{color:var(--muted);font-size:12px}.footer-links{display:flex;gap:24px;font-size:13px;font-weight:700}.home-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;margin:30px auto 95px;max-width:1280px;min-height:510px;padding:0 5vw}.home-hero .hero-copy{align-self:center;padding:0}.home-hero h1,.page-intro h1,.auth-panel h1{font-size:clamp(56px,7vw,96px);letter-spacing:-4px;line-height:.91;margin:20px 0}.home-hero h1 em,.page-intro h1 em,.auth-panel h1 em,.intro-section h2 em,.pricing-teaser h2 em,.dashboard-note h2 em{color:var(--coral);font-style:normal}.home-hero .hero-copy>p:not(.eyebrow){color:var(--muted);line-height:1.7;max-width:390px}.home-hero .hero-art{align-self:center;min-height:500px;transform:rotate(2.5deg)}.home-hero .hero-art:after{background:var(--yellow);content:"";height:100px;position:absolute;right:-30px;top:32px;width:100px;z-index:-1}.intro-section,.home-section,.availability-preview,.pricing-teaser{margin:0 auto 120px;max-width:1140px;padding:0 35px}.intro-section{display:grid;gap:70px;grid-template-columns:1fr 1fr}.section-index{color:var(--coral);font-size:11px;font-weight:700;letter-spacing:.12em}.intro-section h2,.section-heading h2,.availability-preview h2,.pricing-teaser h2{font-family:Space Grotesk;font-size:clamp(32px,4vw,53px);letter-spacing:-2px;line-height:1;margin:20px 0}.intro-section>p{color:var(--muted);line-height:1.8;margin-top:55px;max-width:390px}.section-heading{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-heading.small{align-items:center;margin-bottom:20px}.section-heading.small h2{font-size:27px;letter-spacing:-1px}.section-heading.small .eyebrow{font-size:10px}.arrow-link{border-bottom:1px solid var(--ink);font-size:13px;font-weight:700;padding-bottom:5px;white-space:nowrap}.court-grid{display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.court-card{background:var(--panel);box-shadow:var(--shadow)}.court-card-art{align-items:flex-end;display:flex;height:170px;justify-content:space-between;overflow:hidden;padding:20px 24px;position:relative}.court-card-art:before{border:2px solid rgba(23,61,55,.8);content:"";height:120px;left:18%;position:absolute;top:24px;transform:skew(-10deg);width:64%}.court-card-art:after{border-bottom:2px solid rgba(23,61,55,.8);content:"";left:8%;position:absolute;right:8%;top:85px}.court-card.sunset .court-card-art{background:#f6d2bb}.court-card.mint .court-card-art{background:#cae4d6}.court-number{color:#173d3733;font-family:Space Grotesk;font-size:90px;font-weight:700;line-height:.7;position:relative;z-index:1}.court-badge{background:var(--panel);font-size:9px;font-weight:700;letter-spacing:.11em;padding:7px 9px;position:relative;z-index:1}.court-card-content{padding:24px}.court-card h3{font-family:Space Grotesk;font-size:25px;margin:10px 0}.court-card p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.court-card-footer{align-items:center;border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:28px;padding-top:18px}.court-option{background:var(--panel);border:1px solid var(--line);margin-top:18px;padding:20px}.court-option.selected{border-color:var(--coral);box-shadow:0 0 0 1px var(--coral)}.court-option-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:17px}.court-option-header span{color:var(--coral);font-size:11px;font-weight:700}.court-card-footer strong{font-family:Space Grotesk;font-size:20px}.court-card-footer small,.price-card h2 small{color:var(--muted);font-family:DM Sans;font-size:11px;font-weight:400}.availability-preview{align-items:center;background:var(--ink);color:#f9f4e8;display:grid;gap:70px;grid-template-columns:.8fr 1.2fr;max-width:none;padding:75px max(35px,calc((100vw - 1070px)/2))}.availability-preview p{color:#a9c2b8;line-height:1.6;max-width:300px}.availability-preview .button.light{background:var(--yellow);border-color:var(--yellow);color:var(--ink);margin-top:15px}.availability-mini{background:#2d554c;padding:25px}.mini-head{border-bottom:1px solid #4b7066;display:flex;justify-content:space-between;padding-bottom:17px}.mini-head span,.mini-row span,.availability-mini small{color:#a9c2b8;font-size:11px}.mini-row{align-items:center;display:grid;gap:8px;grid-template-columns:1fr repeat(4,1fr);padding:18px 0}.mini-row b{background:#dcebe2;color:var(--ink);font-size:11px;padding:9px 7px;text-align:center}.mini-row b.booked{background:#d77b64;color:#fff;text-decoration:line-through}.availability-mini small{display:flex;gap:7px;margin-top:10px}.dot{background:currentColor;border-radius:50%;display:inline-block;height:7px;margin-right:3px;width:7px}.dot.open{color:#78c393}.dot.taken{color:#d77b64}.dot.past{color:#a0a8a0}.pagination{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:18px}.pagination .button{padding:8px 14px;font-size:12px}.pagination-pages{display:flex;gap:4px}.page-number{background:transparent;border:1px solid #dce6de;border-radius:8px;cursor:pointer;font-size:12px;min-width:32px;padding:6px 8px}.page-number.active{background:var(--ink, #1f3934);border-color:var(--ink, #1f3934);color:#fff}.pricing-teaser{text-align:center}.pricing-teaser h2{margin:20px auto 13px}.pricing-teaser>p{color:var(--muted)}.pricing-teaser>strong{display:block;font-family:Space Grotesk;font-size:32px;margin:24px 0}.pricing-teaser>strong small{color:var(--muted);font-family:DM Sans;font-size:13px;font-weight:400}.page-wrap{margin:auto;max-width:1140px;padding:70px 35px 30px}.page-intro{margin-bottom:65px;max-width:660px}.page-intro.compact h1{font-size:clamp(48px,6vw,76px)}.page-intro p{color:var(--muted);line-height:1.7;max-width:420px}.info-band{align-items:center;border-top:1px solid var(--line);display:grid;gap:50px;grid-template-columns:1fr 2fr;margin-top:100px;padding-top:22px}.info-band p{color:var(--muted);line-height:1.7;max-width:460px}.availability-toolbar{align-items:flex-end;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:22px}.availability-toolbar label,.date-field,.duration-field{color:var(--muted);display:grid;font-size:11px;font-weight:700;gap:8px;letter-spacing:.08em;text-transform:uppercase}.booking-controls{align-items:end;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.booking-controls select,.booking-controls input{font-size:15px;min-height:48px;width:100%}@media(max-width:520px){.booking-controls{grid-template-columns:minmax(0,1fr)}}input,textarea,select{background:var(--panel);border:1px solid var(--line);border-radius:2px;color:var(--ink);font:inherit;padding:12px 14px}.availability-board{background:var(--panel);margin-top:25px;overflow:hidden}.court-row{border-bottom:1px solid var(--line);display:grid;grid-template-columns:130px 1fr;padding:25px}.court-row-name{display:grid;gap:5px;align-content:start}.court-row-name small{color:var(--muted);font-size:11px}.slot-grid{display:grid;gap:8px;grid-template-columns:repeat(5,1fr)}.time-slot{background:var(--mint);border:1px solid transparent;border-radius:2px;color:var(--ink);display:grid;gap:4px;padding:10px 4px}.time-slot small{color:#518263;font-size:9px}.time-slot:disabled{background:#eef0ea;color:#a5b0a8;cursor:not-allowed}.time-slot:disabled{background:#eef0ea;border-color:transparent;color:#a5b0a8;cursor:not-allowed}.time-slot:disabled small{color:#b7beb7}.time-slot.booked{background:#fbe3da;border-color:#f0c3b1;color:#b3542e}.time-slot.booked small{color:#c0422a;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.time-slot.booked:hover{background:#f6d3c6}.time-slot.past{background:#eff1ec;border-color:transparent;color:#99a29a;cursor:not-allowed}.time-slot.past small{color:#a7b0a8;font-weight:700;text-transform:uppercase}.time-slot.selected,.time-slot:not(:disabled):hover{background:var(--coral);color:#fff}.time-slot.selected small,.time-slot:not(:disabled):hover small{color:#ffe3d9}.pricing-page{max-width:920px}.price-card{align-items:center;background:var(--ink);color:#fff;display:grid;gap:50px;grid-template-columns:1fr 1fr;padding:48px}.price-card .eyebrow{color:var(--yellow)}.price-card h2{font-family:Space Grotesk;font-size:60px;letter-spacing:-3px;margin:16px 0 8px}.price-card p,.price-card li{color:#bad0c7;font-size:13px;line-height:1.6}.price-card ul{border-left:1px solid #46685e;list-style:none;margin:0;padding:0 0 0 32px}.price-card li{border-bottom:1px solid #46685e;padding:14px 0}.price-card .button{grid-column:1 / -1;justify-self:start}.fine-print{color:var(--muted);font-size:12px;margin-top:20px}.fine-print a{border-bottom:1px solid var(--ink);color:var(--ink)}.contact-grid{display:grid;gap:100px;grid-template-columns:.7fr 1.3fr}.contact-details{display:grid;gap:15px;align-content:start}.contact-details strong{font-family:Space Grotesk;font-size:21px;margin-top:18px}.contact-details p{color:var(--muted);line-height:1.8;margin:0 0 25px}.form-card{background:var(--panel);box-shadow:var(--shadow);display:grid;gap:17px;padding:28px}.form-card label{color:var(--muted);display:grid;font-size:11px;font-weight:700;gap:8px;letter-spacing:.06em;text-transform:uppercase}.form-card .button{justify-self:start;margin-top:8px}.auth-page{display:grid;gap:60px;grid-template-columns:minmax(0,480px) minmax(0,1fr);margin:auto;max-width:1100px;min-height:670px;padding:65px 35px}.auth-page:not(:has(.auth-art)){grid-template-columns:minmax(0,480px);justify-content:center}.auth-panel{align-self:center;min-width:0;width:100%}.auth-panel>p{color:var(--muted);line-height:1.6;max-width:350px}.auth-panel .form-card{margin-top:28px}.auth-art{align-items:center;background:var(--coral);color:#fff6e9;display:flex;font-family:Space Grotesk;font-size:70px;font-weight:700;justify-content:center;line-height:.82;transform:rotate(2deg)}.auth-art em{color:var(--yellow);font-style:normal}.form-meta{align-items:center;display:flex;justify-content:space-between}.form-meta a,.auth-switch a{border-bottom:1px solid var(--ink);color:var(--ink);font-size:12px;font-weight:700}.check-label{align-items:center;display:flex!important;flex-direction:row;font-size:11px!important;letter-spacing:0!important;text-transform:none!important}.check-label input{accent-color:var(--ink)}.auth-switch{font-size:12px;text-align:center}.form-grid{grid-template-columns:1fr 1fr}.form-grid>*{min-width:0}.form-grid .span-two,.form-grid .button{grid-column:1 / -1}.form-grid input,.form-grid select{max-width:100%;min-width:0;width:100%}.auth-panel .form-card{gap:20px;padding:32px}.auth-panel .form-card label{font-size:12px;gap:9px}.auth-panel .form-card.form-grid{grid-template-columns:minmax(0,1fr)}.auth-panel .form-card input{font-size:15px;min-height:48px;padding:13px 15px;text-transform:none}.auth-panel .form-card .button{font-size:14px;justify-self:stretch;margin-top:6px;padding:15px 20px;width:100%}.auth-panel .form-card .error-message,.auth-panel .auth-switch{font-size:13px}@media(max-width:560px){.form-grid{grid-template-columns:1fr}.auth-panel .form-card{padding:24px}}.customer-shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.customer-sidebar{background:var(--ink);color:#fff;display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:34px 24px;position:sticky;top:0;z-index:10}.sidebar-label{color:#8eaea2;font-size:10px;font-weight:700;letter-spacing:.14em;margin:50px 12px 20px}.customer-sidebar nav{display:grid;gap:5px}.customer-sidebar nav a{border-left:2px solid transparent;color:#abc2b9;font-size:13px;padding:12px}.customer-sidebar nav a.active,.customer-sidebar nav a:hover{background:#285147;border-left-color:var(--yellow);color:#fff}.sidebar-logout{background:transparent;border:0;border-top:1px solid #365e54;color:#abc2b9;font-size:13px;margin-top:auto;padding:20px 12px 0;text-align:left}.customer-content{min-width:0}.mobile-customer-header,.sidebar-ico{display:none}.dashboard-page{margin:auto;max-width:1120px;padding:62px 6vw}.dashboard-heading{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:45px}.dashboard-heading h1{font-family:Space Grotesk;font-size:40px;letter-spacing:-2px;margin:15px 0 8px}.dashboard-heading p{color:var(--muted);margin:0}.stat-grid{display:grid;gap:15px;grid-template-columns:repeat(3,1fr);margin-bottom:55px}.stat-card{background:var(--panel);border-top:3px solid var(--coral);box-shadow:var(--shadow);display:grid;gap:13px;padding:20px}.stat-card span,.stat-card small{color:var(--muted);font-size:11px}.stat-card strong{font-family:Space Grotesk;font-size:32px}.dashboard-grid{display:grid;gap:40px;grid-template-columns:1.4fr .8fr}.booking-card{background:var(--panel);box-shadow:var(--shadow);padding:23px}.booking-card-top,.booking-card-main{align-items:center;display:flex;justify-content:space-between}.booking-date{color:var(--muted);font-size:12px}.booking-card h3{font-family:Space Grotesk;font-size:25px;margin:9px 0}.booking-card p{color:var(--muted);font-size:12px;margin:0}.booking-card-main>strong{font-family:Space Grotesk;font-size:20px}.status{border-radius:20px;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;padding:5px 8px;text-transform:uppercase}.status-completed{background:#dcebe2;color:#446b5c}.status-cancelled{background:#f5d9d0;color:#b4563e}.dashboard-note{background:var(--yellow);min-height:250px;padding:28px}.dashboard-note h2{font-family:Space Grotesk;font-size:28px;line-height:1;margin:25px 0 12px}.dashboard-note p{color:#6b5b2a;font-size:13px;line-height:1.6}.empty-panel,.success-message,.loading-state{background:var(--panel);color:var(--muted);padding:28px}.empty-panel a{border-bottom:1px solid var(--ink);color:var(--ink)}.table-wrap{background:var(--panel);box-shadow:var(--shadow);overflow-x:auto}.booking-table{border-collapse:collapse;min-width:750px;width:100%}.booking-table th{color:var(--muted);font-size:10px;letter-spacing:.08em;padding:18px 20px;text-align:left;text-transform:uppercase}.booking-table td{border-top:1px solid var(--line);font-size:12px;padding:18px 20px}.booking-table td strong{font-size:11px}.booking-table td small{color:var(--muted);line-height:1.8}.payment-status{text-transform:capitalize}.text-button{background:transparent;border:0;color:var(--coral);font-size:11px;font-weight:700}.filter-tabs{border-bottom:1px solid var(--line);display:flex;gap:23px;margin-bottom:25px}.filter-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:12px;padding:0 0 12px;text-transform:capitalize}.filter-tabs button.active{border-color:var(--coral);color:var(--ink);font-weight:700}.profile-card{background:var(--panel);box-shadow:var(--shadow);display:flex;gap:50px;padding:35px}.avatar{align-items:center;background:var(--yellow);border-radius:50%;display:flex;flex-shrink:0;font-family:Space Grotesk;font-size:23px;height:80px;justify-content:center;width:80px}.profile-fields{display:grid;gap:18px;grid-template-columns:1fr 1fr;width:100%}.profile-fields label{color:var(--muted);display:grid;font-size:10px;gap:7px;letter-spacing:.08em;text-transform:uppercase}.profile-fields label:first-child{grid-column:1 / -1}.password-row{align-items:center;border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:50px;padding-top:25px}.password-row h2{font-size:20px;margin:12px 0 5px}.password-row p{color:var(--muted);font-size:12px}.full-width{width:100%}@media(max-width:760px){.site-header{flex-wrap:nowrap;gap:12px;padding:12px 16px;position:relative}.site-header .brand{flex-shrink:1;font-size:14px;gap:8px;min-width:0}.site-header .brand .brand-full{display:none}.site-header .brand .brand-short{display:inline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-header .brand-mark{flex-shrink:0;height:28px;width:28px}.public-nav{display:none}.public-nav.open{background:#f6f5effa;border-bottom:1px solid var(--line);border-top:1px solid var(--line);box-shadow:0 18px 30px #173d3714;display:flex;flex-direction:column;gap:2px;left:0;margin:0;padding:6px 16px 10px;position:absolute;right:0;top:100%;z-index:20}.public-nav.open a{display:block;font-size:15px;padding:13px 10px}.public-nav.open a.active{background:#edf1e9}.header-actions{align-items:center;flex-shrink:0;gap:8px;margin-left:auto}.header-login{font-size:12px;padding:8px 2px;white-space:nowrap}.nav-toggle{align-items:center;background:transparent;border:1px solid var(--line);border-radius:9px;color:var(--ink);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;padding:0;width:40px}.site-header .button{font-size:12px;padding:10px 13px;white-space:nowrap}.site-header .button span[aria-hidden=true]{display:none}.site-footer{align-items:flex-start;flex-direction:column;margin-top:60px;padding:28px 20px}.footer-links{display:grid;gap:12px 20px;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));order:3;width:100%}.home-hero{display:block;margin:10px auto 70px;padding:0 20px}.home-hero .hero-copy{padding:55px 0 45px}.home-hero h1,.page-intro h1,.auth-panel h1{font-size:58px}.home-hero .hero-art{min-height:320px;transform:none}.home-hero .hero-art:after{right:-10px;top:18px}.intro-section,.contact-grid{display:block}.intro-section,.home-section,.pricing-teaser{margin-bottom:75px;padding:0 20px}.intro-section>p{margin-top:30px}.section-heading{align-items:flex-start;flex-direction:column;gap:15px}.court-grid{grid-template-columns:1fr}.availability-preview{display:block;padding:55px 20px}.availability-mini{margin-top:35px;padding:15px}.mini-row{grid-template-columns:1fr repeat(4,1fr)}.page-wrap{padding:50px 20px 20px}.page-intro{margin-bottom:40px}.availability-toolbar{align-items:flex-start;flex-direction:column;gap:18px}.court-row{display:block;padding:18px 12px}.court-row-name{margin-bottom:15px}.slot-grid{grid-template-columns:repeat(3,1fr)}.price-card{display:block;padding:28px}.price-card ul{border-left:0;border-top:1px solid #46685e;margin:25px 0;padding:8px 0 0}.contact-grid{margin-top:35px}.contact-details{margin-bottom:45px}.auth-page{display:block;min-height:auto;padding:50px 20px}.auth-art{display:none}.form-grid{grid-template-columns:1fr}.form-grid .span-two,.form-grid .button{grid-column:auto}.customer-shell{display:block}.customer-content{padding-bottom:78px}.customer-sidebar{box-shadow:0 -10px 30px #08221d73;display:flex;flex-direction:row;height:auto;inset:auto 0 0;padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));position:fixed;z-index:60}.sidebar-label{display:none}.customer-shell .customer-sidebar nav{display:flex;flex:1;gap:4px;margin:0;overflow-x:auto;padding-right:0;scrollbar-width:none}.customer-shell .customer-sidebar nav::-webkit-scrollbar{display:none}.customer-shell .customer-sidebar nav a{align-items:center;background:transparent;border:0;border-radius:12px;color:#abc2b9;display:flex;flex:1 0 64px;flex-direction:column;font-size:10px;gap:4px;justify-content:center;line-height:1.15;min-height:52px;padding:8px 6px;text-align:center}.customer-shell .customer-sidebar nav a:hover{background:#ffffff12;color:#fff;padding:8px 6px}.customer-shell .customer-sidebar nav a.active{background:#f3cc632e;color:#fff}.customer-shell .sidebar-ico{display:block;font-size:18px;line-height:1}.customer-shell .sidebar-logout{align-items:center;align-self:stretch;background:transparent;border:0;border-radius:12px;color:#abc2b9;display:flex;flex:0 0 64px;flex-direction:column;font-size:10px;gap:4px;justify-content:center;line-height:1.15;margin:0;min-height:52px;padding:8px 6px;text-align:center;width:auto}.mobile-customer-header{align-items:center;display:flex;font-family:Space Grotesk;font-size:15px;gap:8px;padding:22px 20px 0}.mobile-customer-header .brand-mark{height:26px;width:26px}.dashboard-page{padding:35px 20px}.dashboard-heading{align-items:flex-start;flex-direction:column;gap:20px}.dashboard-heading h1{font-size:33px}.stat-grid{grid-template-columns:1fr 1fr;margin-bottom:35px}.stat-card:last-child{grid-column:1 / -1}.dashboard-grid{display:block}.dashboard-note{margin-top:30px}.profile-card{display:block;padding:24px}.profile-fields{display:block;margin-top:25px}.profile-fields label{margin-top:15px}.password-row{align-items:flex-start;flex-direction:column;gap:15px}.booking-card-main>strong{font-size:17px}.form-card{padding:22px}}.admin-shell{background:#f4f6f3;color:#1f3934;display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.admin-sidebar{background:#153d36;color:#d5e5dc;display:flex;flex-direction:column;height:100vh;min-height:100vh;overflow-y:auto;padding:28px 16px 20px;position:sticky;top:0;z-index:10}.admin-brand{align-items:center;color:#fff;display:flex;font-family:Space Grotesk;font-size:15px;gap:10px;line-height:1.05;padding:0 14px 35px}.admin-brand strong{color:#f3cc63;font-size:18px}.admin-brand-mark{align-items:center;background:#f3cc63;border-radius:50%;display:flex;height:39px;justify-content:center;object-fit:cover;width:39px}.admin-nav-groups{display:grid;gap:25px}.admin-nav-group{display:grid;gap:4px}.admin-nav-label{color:#789d90;font-size:9px;font-weight:700;letter-spacing:.14em;padding:0 14px 7px}.admin-nav-group a{align-items:center;border-left:3px solid transparent;color:#abc5b8;display:flex;font-size:13px;gap:11px;padding:11px 14px}.admin-nav-group a.active,.admin-nav-group a:hover{background:#275349;border-left-color:#f3cc63;color:#fff}.admin-nav-icon{align-items:center;color:#86aa9d;display:inline-flex;font-size:17px;height:18px;justify-content:center;width:18px}.admin-nav-group a.active .admin-nav-icon{color:#f3cc63}.admin-logout{background:transparent;border:0;border-top:1px solid #386256;color:#abc5b8;font-size:13px;margin-top:auto;padding:20px 14px 0;text-align:left}.admin-logout span{color:#f3cc63;font-size:17px;margin-right:8px}.admin-main{min-width:0}.admin-topbar-logo{display:none}.admin-topbar{align-items:center;background:#fff;border-bottom:1px solid #dfe6e0;display:flex;justify-content:space-between;min-height:86px;padding:18px 42px}.admin-topbar h1{color:#1f3934;font-family:Space Grotesk;font-size:21px;letter-spacing:-.5px;margin:5px 0 0}.admin-top-actions{align-items:center;display:flex;gap:25px}.admin-today{color:#7c9289;font-size:12px}.notification-button{background:transparent;border:0;color:#58756b;font-size:22px;position:relative}.notification-badge{align-items:center;background:#e06f50;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:9px;height:17px;justify-content:center;line-height:1;min-width:17px;padding:0 4px;position:absolute;right:-5px;top:-5px;z-index:1}.admin-profile{align-items:center;border-left:1px solid #dfe6e0;display:flex;gap:10px;padding-left:22px}.admin-profile strong,.admin-profile small{display:block}.admin-profile strong{font-size:12px}.admin-profile small{color:#82978f;font-size:10px;margin-top:3px}.admin-page{margin:auto;max-width:1440px;padding:38px 42px 70px}.admin-page-heading{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:30px}.admin-page-heading h2{font-family:Space Grotesk;font-size:31px;letter-spacing:-1px;margin:8px 0}.admin-page-heading p{color:#789087;font-size:13px;margin:0}.admin-kicker{color:#e06f50;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.result-count{color:#638078;font-size:11px}.live-pill{background:#e0eee4;border-radius:20px;color:#3d8555;font-size:11px;padding:8px 12px}.live-pill i{background:#54a96e;border-radius:50%;display:inline-block;height:7px;margin-right:7px;width:7px}.admin-stat-grid{display:grid;gap:15px;grid-template-columns:repeat(4,1fr);margin-bottom:35px}.admin-stat-grid .stat-card{background:#fff;border:1px solid #e2e9e3;border-top:3px solid #e06f50;box-shadow:0 9px 25px #1f39340a;display:grid;gap:12px;padding:20px}.admin-stat-grid .stat-card:nth-child(2){border-top-color:#f3cc63}.admin-stat-grid .stat-card:nth-child(3){border-top-color:#75b58b}.admin-stat-grid .stat-card:nth-child(4){border-top-color:#789bca}.admin-stat-grid .stat-card span,.admin-stat-grid .stat-card small{color:#81968e;font-size:11px}.admin-stat-grid .stat-card strong{font-family:Space Grotesk;font-size:29px}.admin-stat-grid .stat-card small{font-size:10px}.admin-section{margin-top:35px}.admin-section-heading{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:15px}.admin-section-heading h3{font-family:Space Grotesk;font-size:20px;margin:7px 0 0}.admin-inline-link{border-bottom:1px solid #1f3934;font-size:11px;font-weight:700;padding-bottom:4px}.court-status-grid{display:grid;gap:15px;grid-template-columns:repeat(2,1fr)}.admin-court-status{align-items:center;background:#fff;border:1px solid #e2e9e3;display:flex;justify-content:space-between;padding:19px 22px}.admin-court-status>div{align-items:center;display:flex;gap:15px}.admin-court-visual{align-items:center;background:#dcebe2;color:#5a9580;display:flex;font-family:Space Grotesk;font-size:25px;height:58px;justify-content:center;width:65px}.admin-court-status:nth-child(2) .admin-court-visual{background:#f5e2d9;color:#d77b61}.admin-court-status strong{display:block;font-family:Space Grotesk;font-size:16px;margin-bottom:8px}.court-arrow{color:#96aaa2}.court-status{align-items:center;color:#428255;display:flex;font-size:10px;gap:5px;text-transform:capitalize}.court-status i{background:#5cb276;border-radius:50%;height:7px;width:7px}.court-status small{color:#829890;font-size:10px;margin-left:5px}.court-status.status-occupied,.court-status.status-maintenance{color:#c45c44}.court-status.status-occupied i,.court-status.status-maintenance i{background:#dc765c}.admin-filters{align-items:center;background:#fff;border:1px solid #e2e9e3;display:grid;gap:10px;grid-template-columns:1.6fr repeat(4,1fr);margin-bottom:18px;padding:13px}.admin-filters input,.admin-filters select{background:#f7f9f6;border-color:#e1e8e2;font-size:11px;min-width:0;padding:10px}.admin-filters.single-filter{grid-template-columns:minmax(250px,380px)}.table-wrap{background:#fff;border:1px solid #e2e9e3;overflow-x:auto}.admin-table{border-collapse:collapse;min-width:1050px;width:100%}.admin-table th{color:#80958c;font-size:9px;letter-spacing:.08em;padding:17px 15px;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-table td{border-top:1px solid #e5ebe6;font-size:11px;padding:15px;vertical-align:middle}.admin-table td strong,.admin-table td small{display:block}.admin-table td small{color:#889d94;font-size:10px;margin-top:4px}.status-confirmed,.status-paid,.status-active{background:#dceee2;color:#428255}.status-expired{background:#f8dcd3;color:#b0472c}.status-pending{background:#fbefcf;color:#a87923}.status-refunded,.status-inactive{background:#e9e9e4;color:#78857f}.row-actions{display:flex;gap:9px}.row-actions button,.row-link{background:transparent;border:0;color:#d36d52;font-size:10px;font-weight:700;padding:0;white-space:nowrap}.row-link+.row-link{margin-left:10px}.modal-backdrop{align-items:center;background:#0e26228f;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100;overflow-y:auto}.modal{background:#f7f9f5;max-height:90vh;max-width:700px;display:flex;flex-direction:column;padding:30px;position:relative;width:100%;margin:auto}.modal>form,.modal>.form-card{overflow-y:auto;min-height:0}.modal>h2{font-family:Space Grotesk;font-size:23px;margin:0 0 22px;flex-shrink:0;padding-right:56px}.modal .form-card{gap:20px;padding:0;background:transparent;box-shadow:none}.modal .form-card label{font-size:12px;gap:9px}.modal .form-card input,.modal .form-card select{font-size:15px;min-height:48px;padding:13px 15px}.modal .form-card .guest-booking-hint{font-size:12px}.modal .form-card .button{justify-self:stretch;margin-top:6px;padding:15px 20px;width:100%}.modal-close{align-items:center;background:#f7f9f5;border:1px solid var(--line);border-radius:8px;color:#668078;display:inline-flex;flex-shrink:0;font-size:22px;height:36px;justify-content:center;line-height:1;position:absolute;right:18px;top:18px;width:36px;z-index:1}.modal-close:hover{background:#eef2ec;color:var(--ink)}.booking-details{background:#fff;border:1px solid #e2e9e3;padding:22px}.details-id{align-items:flex-end;border-bottom:1px solid #e5ebe6;display:flex;justify-content:space-between;padding-bottom:16px}.details-id strong{font-family:Space Grotesk}.details-grid{display:grid;gap:22px;grid-template-columns:1fr 1fr;padding:24px 0}.details-grid>div{display:grid;gap:5px}.details-grid small{color:#84978f;font-size:10px;text-transform:uppercase}.details-grid strong,.details-grid span{font-size:12px}.details-grid span:not(.status){color:#799088}.details-actions{border-top:1px solid #e5ebe6;display:flex;flex-wrap:wrap;gap:10px;padding-top:18px}.button.danger{background:#c95f48;border-color:#c95f48}.confirm-dialog p{color:#668078;line-height:1.7}.confirm-dialog>div{display:flex;gap:10px;margin-top:22px}.admin-calendar-grid{--calendar-time-col: 100px;--calendar-court-col: minmax(180px, 1fr);background:#fff;border:1px solid #e0e8e1;display:grid;grid-template-columns:100px repeat(2,minmax(180px,1fr));overflow:hidden}.calendar-corner,.calendar-court-head{background:#edf4ee;border-bottom:1px solid #dce6de;color:#6c887d;font-size:10px;font-weight:700;padding:18px}.calendar-court-head{border-left:1px solid #dce6de;color:#1f3934;font-size:13px}.calendar-court-head small{color:#829a90;display:block;font-size:10px;font-weight:400;margin-top:5px}.calendar-row{display:contents}.calendar-row>strong{background:#fafcf9;border-bottom:1px solid #e7ece8;color:#80968d;font-size:11px;padding:23px 18px}.calendar-row>.time-slot{border-bottom:1px solid #e7ece8;border-left:1px solid #e7ece8;border-radius:0;padding:22px 10px}.calendar-legend{align-items:center;color:#799088;display:flex;font-size:11px;gap:20px;margin:-10px 0 18px}.calendar-legend span:last-child{margin-left:auto}.calendar-filter-note{align-items:center;background:#fff;border:1px solid #e0e8e1;border-radius:10px;color:#6c887d;display:flex;font-size:12px;gap:10px;margin-bottom:14px;padding:10px 14px}.calendar-filter-note strong{color:#1f3934}.modal-form{box-shadow:none;padding:0}.modal-form p{color:#668078;font-size:12px;line-height:1.6}.admin-court-grid{display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}.managed-court-card{background:#fff;border:1px solid #e2e9e3}.managed-court-art{align-items:center;display:flex;height:160px;justify-content:center;overflow:hidden;position:relative}.managed-court-art:before,.managed-court-art:after{border:2px solid rgba(31,57,52,.5);content:"";height:105px;position:absolute;transform:skew(-10deg);width:55%}.managed-court-art:after{border-bottom:2px solid rgba(31,57,52,.5);border-top:0;height:0}.managed-court-art.sunset{background:#f5d2bb}.managed-court-art.mint{background:#cae4d6}.managed-court-art span{background:transparent;color:#1f393433;font-size:82px;height:auto;position:relative;width:auto;z-index:1}.managed-court-body{padding:23px}.managed-court-heading{align-items:start;display:flex;justify-content:space-between}.managed-court-heading h3{font-family:Space Grotesk;font-size:22px;margin:7px 0 0}.managed-court-body p{color:#789087;font-size:12px;line-height:1.6}.managed-court-meta{align-items:center;border-bottom:1px solid #e3ebe4;border-top:1px solid #e3ebe4;display:flex;justify-content:space-between;margin:20px 0;padding:15px 0}.managed-court-meta strong{font-family:Space Grotesk;font-size:20px}.managed-court-meta small,.managed-court-meta span{color:#7c9289;font-size:10px}.court-edit-form{display:grid;gap:18px}.toggle-row{align-items:center;border-bottom:1px solid #e4ebe5;display:flex;font-size:12px;justify-content:space-between;padding-bottom:15px}.toggle-row input{accent-color:#1f3934;height:18px;width:18px}.customer-details-head{align-items:center;display:flex;gap:13px}.customer-details-head h3{font-family:Space Grotesk;margin:0 0 5px}.customer-details-head p{color:#799088;font-size:11px;line-height:1.6;margin:0}.customer-stat-row{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:25px 0}.customer-stat-row>div{background:#edf4ee;display:grid;gap:6px;padding:15px}.customer-stat-row small{color:#799088;font-size:10px}.customer-stat-row strong{font-family:Space Grotesk;font-size:20px}.payment-detail{background:#fff;padding:24px}.payment-detail p{color:#668078;font-size:12px;line-height:1.7}.payment-total{border-bottom:1px solid #e3ebe4;border-top:1px solid #e3ebe4;display:flex;font-family:Space Grotesk;font-size:25px;justify-content:space-between;margin:20px 0;padding:18px 0}.payment-total span{color:#789087;font-family:DM Sans;font-size:11px}.report-filters{display:flex;gap:8px}.report-filters input{font-size:10px;padding:9px}.report-section{margin-bottom:35px}.subscription-section{background:#fff;border:1px solid #e2e9e3;margin-bottom:20px;padding:24px}.subscription-section .admin-section-heading{margin-bottom:6px}.renewal-banner{align-items:center;background:#153d36;color:#f4f1e9;display:flex;gap:24px;justify-content:space-between;margin-bottom:20px;padding:26px 28px}.renewal-banner h3{color:#f3cc63;font-family:Space Grotesk;font-size:22px;margin:8px 0}.renewal-banner p{color:#d5e5dc;font-size:13px;margin:0;max-width:640px}.renewal-fee{background:#f3cc63;color:#153d36;display:grid;gap:4px;min-width:170px;padding:14px 18px;text-align:center}.renewal-fee span{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.renewal-fee strong{font-family:Space Grotesk;font-size:26px}.subscription-grid{display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-top:18px}.subscription-grid>div{background:#f4f6f3;border:1px solid #e2e9e3;display:grid;gap:6px;padding:14px}.subscription-grid span{color:#81968e;font-size:10px;text-transform:uppercase}.subscription-grid strong{font-size:13px}.settings-note{color:#789087;font-size:12px;margin-top:16px}.renewal-steps{display:grid;gap:10px;margin:14px 0 0;padding-left:20px}.renewal-steps li{font-size:13px;line-height:1.6}.renewal-banner-slim{margin-bottom:16px;padding:12px 18px}.renewal-banner-slim p{font-size:12px;margin:0}.renewal-banner-slim a{color:#f3cc63;font-weight:700}.subscription-expired-note{background:#f8dcd3;color:#b0472c!important;font-size:11px;font-weight:700;margin-top:10px;padding:10px 14px}.report-stat-grid,.revenue-grid{display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.report-stat-grid>div,.revenue-grid>div{background:#fff;border:1px solid #e2e9e3;display:grid;gap:11px;padding:18px}.report-stat-grid span,.revenue-grid span{color:#81968e;font-size:10px}.report-stat-grid strong,.revenue-grid strong{font-family:Space Grotesk;font-size:23px}.revenue-grid{grid-template-columns:repeat(3,1fr)}.report-bottom{display:grid;gap:18px;grid-template-columns:1.2fr .8fr}.gap-summary{display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:14px}.gap-summary>div{background:#f7faf8;border:1px solid #e2e9e3;display:grid;gap:7px;padding:14px 16px}.gap-summary span{color:#81968e;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.gap-summary strong{font-family:Space Grotesk;font-size:20px}.gap-good{color:#2f7d4f}.gap-warn{color:#b3822a}.gap-callout{background:#fdf8ec;border-left:3px solid #e8c55c;color:#5c6b63;font-size:12px;line-height:1.6;margin:0 0 16px;padding:11px 14px}.gap-callout-muted{background:#f7faf8;border-left-color:#cfdcd3;margin:14px 0 0}.chart-empty{color:#81968e;font-size:12px;padding:26px 0;text-align:center}.trend-chart{width:100%}.trend-svg{display:block;height:auto;width:100%}.chart-legend{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:6px}.chart-key{align-items:center;color:#5c6b63;display:flex;font-size:11px;gap:7px}.chart-key:before{border-radius:999px;content:"";height:9px;width:9px}.chart-key-collected:before{background:#75ad88}.chart-key-outstanding:before{background:#e8c55c}.chart-key strong{font-family:Space Grotesk;font-size:12px}.chart-grid{stroke:#e9efe9;stroke-width:1}.chart-axis{fill:#81968e;font-size:9px}.chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.chart-line-collected{stroke:#75ad88}.chart-line-outstanding{stroke:#e8c55c;stroke-dasharray:4 3}.chart-area{stroke:none}.chart-area-collected{fill:#75ad8829}.chart-area-outstanding{fill:#e8c55c24}.chart-dot{stroke:#fff;stroke-width:1}.chart-dot-collected{fill:#75ad88}.chart-dot-outstanding{fill:#e8c55c}.chart-dot:hover{r:4.5}.demand-hours{align-items:end;display:flex;gap:6px;height:140px;padding:10px 0 0}.demand-hour{align-items:center;display:flex;flex:1;flex-direction:column;gap:7px;height:100%;justify-content:end;min-width:0}.demand-bar{background:linear-gradient(#75ad88,#a8cdb4);border-radius:3px 3px 0 0;display:block;max-height:100%;min-height:2px;width:100%}.demand-hour small{color:#81968e;font-size:9px;white-space:nowrap}.demand-weekdays{border-top:1px solid #e9efe9;display:grid;gap:9px;grid-template-columns:repeat(7,1fr);margin-top:16px;padding-top:14px}.demand-weekday{align-items:center;display:grid;gap:5px;justify-items:center;position:relative}.demand-weekday-fill{background:#cfdcd3;border-radius:3px;display:block;height:6px;min-width:3px}.demand-weekday-label{color:#81968e;font-size:10px}.demand-weekday strong{font-family:Space Grotesk;font-size:12px}.demand-note{color:#81968e;font-size:11px;line-height:1.6;margin:16px 0 0}.chart-card,.performance-card{background:#fff;border:1px solid #e2e9e3;padding:22px}.bar-chart{align-items:end;display:flex;gap:15px;height:180px;padding:18px 12px 0}.bar-column{align-items:center;display:flex;flex:1;flex-direction:column;gap:10px;height:100%;justify-content:end}.bar-column span{background:#75ad88;display:block;max-height:100%;min-height:12px;width:100%}.bar-column small{color:#81968e;font-size:10px}.performance-row{border-bottom:1px solid #e4ebe5;display:grid;gap:6px;grid-template-columns:1fr auto;padding:14px 0}.performance-row span,.performance-row strong{font-size:11px}.performance-row strong{color:#668078}.performance-row i{background:#e8c55c;display:block;grid-column:1 / -1;height:4px}.settings-grid{display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}.settings-card{background:#fff;border:1px solid #e2e9e3;display:grid;gap:15px;padding:24px}.settings-card h3{font-family:Space Grotesk;font-size:18px;margin:0 0 5px}.settings-card label{color:#789087;display:grid;font-size:10px;gap:7px;letter-spacing:.05em;text-transform:uppercase}.settings-card:nth-child(3){grid-column:1 / -1;grid-template-columns:1fr 1fr auto;align-items:end}.settings-save{align-items:center;display:flex;gap:15px;justify-content:flex-end;margin-top:25px}.settings-save .success-message{background:transparent;color:#428255;padding:0}@media(max-width:900px){.admin-shell{grid-template-columns:205px minmax(0,1fr)}.admin-topbar{padding:18px 25px}.admin-page{padding:30px 25px 55px}.admin-today{display:none}.admin-stat-grid,.admin-filters{grid-template-columns:repeat(2,1fr)}.admin-filters input{grid-column:1 / -1}.report-bottom{grid-template-columns:1fr}}@media(max-width:640px){.admin-shell{display:block}.admin-main{padding-bottom:88px}.admin-sidebar{align-items:center;box-shadow:0 -10px 30px #061e1973;flex-direction:row;gap:4px;height:auto;inset:auto 0 0;min-height:auto;padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));position:fixed;z-index:60}.admin-brand{display:none}.admin-brand-mark{height:31px;width:31px}.admin-nav-groups{display:flex;flex:1 1 auto;gap:4px;min-width:0;overflow-x:auto;padding-bottom:0;scrollbar-width:none}.admin-nav-groups::-webkit-scrollbar{display:none}.admin-nav-group{display:contents}.admin-nav-label{display:none}.admin-nav-group a{align-items:center;background:transparent;border:0;border-radius:12px;display:flex;flex:1 0 64px;flex-direction:column;font-size:10px;gap:4px;justify-content:center;min-height:52px;padding:8px 6px;text-align:center}.admin-nav-group a:hover{background:#ffffff12;color:#fff}.admin-nav-group a.active{background:#f3cc632e;color:#fff}.admin-nav-icon{font-size:18px;width:auto}.admin-logout{align-items:center;align-self:stretch;background:transparent;border:0;border-radius:12px;color:#abc2b9;display:flex;flex:0 0 auto;flex-direction:column;font-size:10px;gap:4px;justify-content:center;margin:0;min-height:52px;min-width:44px;padding:8px 6px;text-align:center}.admin-logout:hover{background:#ffffff12;color:#fff}.admin-logout span{margin:0}.admin-topbar-logo{border-radius:8px;display:block;height:34px;object-fit:cover;width:34px}.admin-topbar>div:first-child{align-items:center;display:flex;gap:10px}.admin-topbar{min-height:70px;padding:15px 20px}.admin-topbar h1{font-size:18px}.admin-top-actions{gap:12px}.admin-profile{padding-left:12px}.admin-profile>span:last-child{display:none}.admin-page{padding:25px 16px 45px}.admin-page-heading{align-items:flex-start;flex-direction:column;gap:15px}.admin-page-heading h2{font-size:28px}.admin-stat-grid{gap:9px}.admin-stat-grid .stat-card{padding:15px}.admin-stat-grid .stat-card strong{font-size:23px}.court-status-grid,.admin-court-grid,.settings-grid{grid-template-columns:1fr}.settings-card:nth-child(3){grid-column:auto;display:grid;grid-template-columns:1fr}.admin-filters{grid-template-columns:1fr}.admin-filters input{grid-column:auto}.admin-calendar-grid{--calendar-time-col: 62px;--calendar-court-col: minmax(110px, 1fr);overflow-x:auto}.calendar-corner,.calendar-court-head,.calendar-row>strong{padding:14px 8px}.calendar-row>.time-slot{padding:16px 5px}.calendar-legend{align-items:flex-start;flex-wrap:wrap;gap:10px}.calendar-legend span:last-child{margin-left:0;width:100%}.report-stat-grid{grid-template-columns:repeat(2,1fr)}.revenue-grid{grid-template-columns:1fr}.gap-summary{grid-template-columns:repeat(2,1fr)}.demand-weekdays{gap:5px}.demand-hour small{font-size:8px}.details-grid{grid-template-columns:1fr}.modal{padding:22px 16px}.details-actions{display:grid}.details-actions .button{width:100%}.table-wrap{margin-right:-16px}.report-filters{width:100%}.report-filters input{flex:1;min-width:0}}@media(max-width:640px){.table-wrap:has(.booking-table){background:transparent;box-shadow:none;overflow:visible}.booking-table,.booking-table tbody{display:block;width:100%}.booking-table{min-width:0}.booking-table thead{display:none}.booking-table tbody tr{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:block;margin:0 0 14px;padding:14px 16px}.booking-table tbody td{align-items:center;border:0;display:flex;gap:10px;justify-content:space-between;padding:7px 2px}.booking-table tbody td:before{color:var(--muted);content:attr(data-label);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.booking-table tbody td.table-action-cell:before{display:none}.booking-table tbody td.table-action-cell button{min-height:44px;padding:12px 0 14px;width:100%}}@media(max-width:640px){.admin-table,.admin-table tbody{display:block;width:100%}.admin-table{min-width:0}.admin-table thead{display:none}.admin-table tbody tr{background:#fff;border:1px solid #e2e9e3;border-radius:14px;box-shadow:0 2px 10px #193c341f;display:block;margin:0 0 14px;padding:14px 16px}.admin-table tbody td{align-items:center;border:0;display:flex;gap:10px;justify-content:space-between;padding:6px 2px}.admin-table tbody td:before{color:#80958c;content:attr(data-label);font-size:9px;letter-spacing:.05em;text-transform:uppercase}.admin-table tbody td.table-action-cell:before{display:none}.admin-table tbody td.table-action-cell{border-top:1px solid #e2e9e3;display:block;padding:8px 2px 4px}.row-actions{flex-wrap:wrap;gap:9px}.row-actions button,.row-link{font-size:12px;min-height:44px;padding:8px 12px}}@media(max-width:640px){.admin-calendar-grid{--calendar-time-col: 52px;--calendar-court-col: minmax(140px, 1fr);overflow-x:auto}.calendar-corner,.calendar-court-head,.calendar-row>strong{padding:12px 6px}.calendar-court-head{font-size:12px}.calendar-row>.time-slot{min-height:56px;padding:16px 5px}}@media(max-width:760px){.time-slot{min-height:48px}.filter-tabs button{min-height:44px;padding:8px 10px 12px}.topbar-popover a,.topbar-popover button{min-height:44px;padding:13px 10px}}@media(max-width:380px){.home-hero h1,.page-intro h1,.auth-panel h1{font-size:40px;letter-spacing:-1.6px}.home-hero .hero-copy{padding:38px 0 30px}.page-wrap{padding:40px 12px 16px}.book-page{padding:26px 14px 40px}.dashboard-page{padding:26px 14px}.admin-page{padding:20px 12px 40px}}.qr-heading-actions{align-items:center;display:flex;gap:10px}.qr-stat-row{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.qr-stat{background:#fff;border:1px solid #e2e9e3;border-top:3px solid #143b35;padding:17px 18px}.qr-stat strong{display:block;font-family:Space Grotesk,sans-serif;font-size:27px}.qr-stat span{color:#81968e;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.qr-stat:nth-child(2){border-top-color:#75b58b}.qr-stat:nth-child(3){border-top-color:#f3cc63}.qr-stat:nth-child(4){border-top-color:#789bca}.qr-preview-cell{align-items:center;display:grid;gap:8px;grid-template-columns:56px minmax(96px,1fr)}.qr-preview{background:#fff;border:1px solid #e4ebe5;display:block;height:56px;padding:3px;width:56px}.qr-remaining{color:#c45c44;font-family:Space Grotesk,sans-serif;font-size:13px}.paddle-table .row-actions{flex-wrap:wrap}.qr-regenerate-row{margin-top:16px;width:100%}.qr-link-help{color:#668078;font-size:12px;line-height:1.6;margin:0 0 18px}.qr-link-error{display:block;margin-bottom:12px}.qr-link-list{display:grid;gap:10px;max-height:46vh;overflow-y:auto}.qr-link-row{align-items:center;background:#fff;border:1px solid #e4ebe5;display:flex;gap:12px;justify-content:space-between;padding:13px 15px}.qr-link-row strong{display:block;font-size:12px}.qr-link-row small{color:#889d94;display:block;font-size:10px;line-height:1.5;margin-top:4px}.qr-link-row button[disabled]{cursor:not-allowed;opacity:.55}.qr-print-preview{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 22px}.qr-print-sheet{display:none}@media print{body *{visibility:hidden}.qr-print-sheet,.qr-print-sheet *{visibility:visible}.qr-print-sheet{display:block;left:0;position:absolute;top:0}.qr-print-card{break-inside:avoid;margin:8pt;width:250pt}}.qr-print-card{align-items:center;background:#fff;border:1.5pt solid #143b35;border-radius:10pt;display:flex;flex-direction:column;justify-content:center;padding:16pt;text-align:center}.qr-print-kicker{color:#c06a4c;font-size:9pt;font-weight:700;letter-spacing:.14em;margin:0}.qr-print-title{font-family:Space Grotesk,sans-serif;font-size:21pt;margin:6pt 0 12pt}.qr-print-code{height:150pt;width:150pt}.qr-print-caption{color:#4f6c63;font-size:8.5pt;letter-spacing:.05em;margin-top:12pt}.paddle-status-page{align-items:center;background:radial-gradient(120% 120% at 50% 0%,#1f5b4e,#0e2e28 60%);display:flex;justify-content:center;min-height:100vh;padding:20px}.paddle-status-card{background:#fff;border-radius:20px;box-shadow:0 26px 70px #081e1973;max-width:430px;padding:36px 28px 32px;text-align:center;width:100%}.paddle-status-mark{border-radius:50%;height:56px;object-fit:cover;width:56px}.paddle-status-card h1{font-family:Space Grotesk,sans-serif;font-size:44px;letter-spacing:-1.5px;margin:12px 0 2px}.paddle-status-name{color:#789087;font-size:13px;margin:0 0 22px}.paddle-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:15px;gap:8px;justify-content:center;padding:12px 24px}.paddle-status-badge.available{background:#dceee2;color:#2e7d4f}.paddle-status-badge.in-use{background:#fbe3da;color:#c0422a}.paddle-status-badge.reserved{background:#fbefcf;color:#a87923}.paddle-status-badge.disabled{background:#e9e9e4;color:#78857f}.paddle-status-headline{color:#668078;font-size:12px;margin:13px 0 0}.paddle-status-times{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:28px}.paddle-status-times>div{background:#f4f7f2;border-radius:12px;padding:14px}.paddle-status-times small{color:#81968e;display:block;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.paddle-status-times strong{display:block;font-family:Space Grotesk,sans-serif;font-size:21px;margin-top:4px}.paddle-status-countdown{align-items:center;display:flex;flex-direction:column;margin-top:28px}.paddle-status-countdown small{color:#81968e;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.paddle-status-countdown strong{font-family:Space Grotesk,sans-serif;font-size:46px;letter-spacing:-1px}.paddle-status-countdown.live strong{color:#c0422a}.paddle-status-cta{color:#668078;font-size:13px;line-height:1.6;margin:26px 0 0}.paddle-status-loading{color:#d5e5dc;font-size:14px}@media(max-width:640px){.qr-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.paddle-status-card{padding:30px 20px 26px}.paddle-status-card h1{font-size:38px}.paddle-status-countdown strong{font-size:40px}}.guest-booking{margin:0 auto 120px;max-width:1140px;padding:0 35px}.guest-booking-page{padding-bottom:40px}.guest-booking-page .guest-booking{margin:0;max-width:none;padding:0}.guest-booking-heading{max-width:560px}.guest-booking-heading h2{font-family:Space Grotesk;font-size:clamp(32px,4vw,53px);letter-spacing:-2px;line-height:1;margin:16px 0}.guest-booking-heading h2 em{color:var(--coral);font-style:normal}.guest-booking-heading p{color:var(--muted);line-height:1.7;margin:0;max-width:470px}.guest-booking .book-layout,.guest-booking .guest-booking-confirmation,.guest-booking .guest-booking-note{margin-top:45px}.guest-booking-page .guest-booking>.book-layout,.guest-booking-page .guest-booking>.guest-booking-confirmation,.guest-booking-page .guest-booking>.guest-booking-note{margin-top:0}.guest-booking-note{align-items:center;background:var(--panel);border:1px solid var(--line);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:26px 28px}.guest-booking-note p{color:var(--muted);line-height:1.7;margin:8px 0 0;max-width:480px}.guest-booking-hint{color:var(--muted);font-size:11px;line-height:1.6;margin:0}.guest-booking-confirmation{background:var(--panel);box-shadow:var(--shadow);display:grid;gap:40px;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);padding:34px}.confirmation-copy h3{font-family:Space Grotesk;font-size:34px;letter-spacing:-1px;margin:12px 0 10px}.confirmation-copy>p{color:var(--muted);line-height:1.7;margin:0 0 22px;max-width:490px}.booking-reference{background:var(--mint);display:grid;gap:4px;margin-bottom:10px;padding:16px 18px}.booking-reference small{color:#518263;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.booking-reference strong{font-family:Space Grotesk;font-size:30px;letter-spacing:-1px}.confirmation-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.create-account-cta{align-items:center;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-top:26px;padding-top:22px}.customer-cell{display:grid;gap:4px}.customer-name{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}.booking-source{border-radius:999px;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;padding:4px 8px;text-transform:uppercase}.booking-source.guest{background:#fbefcf;color:#a87923}.booking-source.account{background:#dceee2;color:#2e7d4f}.manage-booking-page{padding-bottom:60px}.manage-booking-card{background:var(--panel);box-shadow:var(--shadow);padding:30px}.manage-booking-head{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-bottom:18px}.manage-booking-reference{display:block;font-family:Space Grotesk;font-size:32px;letter-spacing:-1.2px;margin-top:6px}.manage-booking-card .success-message,.manage-booking-card .error-message{margin-top:20px}.manage-booking-card .details-actions{margin-top:24px}.manage-booking-lookup{align-items:start;display:grid;gap:50px;grid-template-columns:1fr 1fr}.manage-booking-lookup h2{font-family:Space Grotesk;font-size:clamp(26px,3vw,36px);letter-spacing:-1px;margin:14px 0 10px}.manage-booking-lookup p{color:var(--muted);line-height:1.7;max-width:390px}.manage-booking-lookup .form-card .text-button{justify-self:start}.manage-booking-lookup .form-card{gap:20px;padding:30px}.manage-booking-lookup .form-card label{font-size:12px;gap:9px}.manage-booking-lookup .form-card input{font-size:15px;min-height:48px;padding:13px 15px}.manage-booking-lookup .form-card .button{justify-self:stretch;margin-top:4px;padding:15px 20px;width:100%}.create-account-cta p{color:var(--muted);font-size:12px;line-height:1.7;margin:6px 0 0;max-width:430px}.booking-qr{align-items:center;background:#f4f7f2;display:grid;gap:12px;justify-items:center;margin:0;padding:24px;text-align:center}.booking-qr-canvas{background:#fff;border-radius:10px}.booking-qr figcaption{color:var(--ink);font-size:11px;font-weight:700}.booking-qr small{color:var(--muted);font-size:11px;line-height:1.6}@media(max-width:900px){.guest-booking-confirmation{grid-template-columns:1fr}.manage-booking-lookup{gap:30px;grid-template-columns:1fr}}@media(max-width:640px){.guest-booking{margin-bottom:70px;padding:0 20px}.guest-booking-confirmation{gap:26px;padding:22px}.manage-booking-card{padding:22px}.booking-reference strong,.manage-booking-reference{font-size:26px}}@media(max-width:360px){.site-header{gap:8px;padding:10px 12px}.site-header .brand{font-size:13px}.header-actions{gap:6px}.header-login{font-size:11px;padding:6px 0}.nav-toggle{height:36px;width:36px}.site-header .button{font-size:11px;padding:9px 10px}}.error-boundary-page{align-items:center;display:flex;justify-content:center;min-height:70vh;padding:48px 20px}.error-boundary-card{background:var(--panel, #fffdf8);border:1px solid rgba(23,61,55,.12);border-radius:14px;box-shadow:0 18px 40px #173d3714;max-width:520px;padding:40px;text-align:left;width:100%}.error-boundary-card h1{font-size:30px;line-height:1.15;margin:12px 0 14px}.error-boundary-card h1 em{color:var(--ink);font-style:italic}.error-boundary-card p{color:var(--muted);margin-bottom:24px}.error-boundary-actions{display:flex;flex-wrap:wrap;gap:12px}:root{--ink: #0f332c;--muted: #5f7a71;--paper: #f6f5ef;--panel: #ffffff;--line: #e3e9e2;--coral: #e87555;--coral-deep: #d55c3b;--yellow: #f2cb62;--mint: #dcebe2;--radius-lg: 10px;--radius-md: 8px;--radius-sm: 5px;--shadow-sm: 0 2px 8px rgba(15, 51, 44, .06);--shadow: 0 12px 32px rgba(15, 51, 44, .09);--shadow-lg: 0 24px 60px rgba(15, 51, 44, .14);--ease: cubic-bezier(.22, .61, .36, 1)}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@keyframes riseIn{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:translateY(0)}.home-page>section,.page-wrap>*,.auth-page,.book-page>*,.dashboard-page>*{animation:riseIn .65s var(--ease) both}.home-page>section:nth-child(2){animation-delay:.08s}.home-page>section:nth-child(3){animation-delay:.14s}.home-page>section:nth-child(4){animation-delay:.2s}.home-page>section:nth-child(5){animation-delay:.26s}@media(max-width:400px){.court-card-art{height:180px}.court-number{font-size:46px}.time-slot{padding:12px 4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}.button{align-items:center;background:linear-gradient(135deg,#16453c,#0f332c);border:1px solid transparent;border-radius:8px;box-shadow:var(--shadow-sm);display:inline-flex;gap:10px;letter-spacing:.01em;padding:14px 26px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease)}.button:hover{box-shadow:0 14px 30px #0f332c3d;transform:translateY(-2px)}.button:active{transform:translateY(0)}.button>span[aria-hidden]{display:inline-block;transition:transform .25s var(--ease)}.button:hover>span[aria-hidden]{transform:translate(4px)}.button.outline{background:var(--panel);border-color:var(--line);color:var(--ink)}.button.outline:hover{border-color:var(--ink)}.button.light{background:var(--yellow);color:var(--ink)}.button.light:hover{box-shadow:0 14px 30px #f2cb6259}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}.text-link,.arrow-link{border-bottom:1px solid transparent;position:relative;transition:color .25s var(--ease)}.text-link:after,.arrow-link:after{background:var(--coral);bottom:-2px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);width:100%}.text-link:hover:after,.arrow-link:hover:after{transform:scaleX(1)}.arrow-link>span[aria-hidden],.text-link>span[aria-hidden]{display:inline-block;transition:transform .25s var(--ease)}.arrow-link:hover>span[aria-hidden]{transform:translate(4px)}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f5efd9;box-shadow:var(--shadow-sm);padding:16px 5vw;position:sticky;top:0;z-index:40}.brand{transition:transform .25s var(--ease)}.brand:hover{transform:scale(1.02)}.brand-mark{background:linear-gradient(135deg,#f6d47c,#eebd45);box-shadow:0 4px 12px #f2cb6273;transition:transform .4s var(--ease)}.public-nav a,.header-login{padding:6px 2px;position:relative;transition:color .25s var(--ease)}.public-nav a:after{background:var(--coral);border-radius:2px;bottom:-2px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);width:100%}.public-nav a.active:after,.public-nav a:hover:after{transform:scaleX(1)}.public-nav a.active,.public-nav a:hover,.header-login:hover{color:var(--ink)}.home-hero{align-items:center;gap:5vw;margin:25px auto 100px;min-height:540px}.eyebrow{align-items:center;display:inline-flex;gap:8px}.eyebrow:before{background:var(--coral);border-radius:50%;content:"";display:inline-block;height:7px;width:7px}.home-hero h1{letter-spacing:-3px}.home-hero .hero-text{font-size:16px}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:24px;margin-top:36px}.hero-actions .button{padding:16px 30px;font-size:15px}.hero-stats{display:flex;gap:34px;margin-top:46px;padding-top:28px;border-top:1px solid var(--line)}.hero-stats strong{display:block;font-family:Space Grotesk,sans-serif;font-size:26px}.hero-stats small{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.hero-art{background:linear-gradient(160deg,#dcead9,#c4ddca 55%,#b1d2bd);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-height:480px;overflow:hidden;transform:none}.hero-art:before{background:radial-gradient(circle at 78% 18%,rgba(242,203,98,.5),transparent 42%);content:"";inset:0;position:absolute}.court-lines{border:3px solid rgba(15,51,44,.75);border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff59,0 20px 40px #0f332c2e}.court-lines:before{border-radius:2px}.hero-art p{background:#fffdf8eb;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:12px 16px}.ball{color:transparent;font-size:0;right:auto;top:auto}.court-grid{gap:32px}.court-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.court-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}.court-card-art{align-items:flex-end;display:flex;height:300px;justify-content:space-between;padding:22px 26px;position:relative}.court-card-art:before{border:2.5px solid rgba(255,255,255,.85);border-radius:3px;height:64%;left:16%;top:16%;transform:skew(-8deg);width:68%}.court-card-art:after{border-bottom:2.5px solid rgba(255,255,255,.85);left:6%;right:6%;top:62%}.court-card-art .court-net{background:repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0 2px,transparent 2px 7px),linear-gradient(#0f332c33,#0f332c33);border-bottom:3px solid rgba(15,51,44,.55);height:34px;left:0;position:absolute;right:0;top:46%;transform-origin:bottom}.court-card:hover .court-net{animation:floatY 1.6s ease-in-out infinite}.court-card-art .court-ball{background:radial-gradient(circle at 32% 30%,#f7906e,var(--coral-deep) 70%);border-radius:50%;box-shadow:0 8px 16px #781e0a59;height:30px;position:absolute;right:20%;top:24%;transition:transform .5s var(--ease);width:30px;z-index:2}.court-card:hover .court-ball{transform:translate(-60px,-26px) rotate(300deg)}.court-card.sunset .court-card-art{background:radial-gradient(circle at 82% 12%,rgba(255,214,140,.55),transparent 45%),linear-gradient(160deg,#f8d8bf,#eeae8b)}.court-card.mint .court-card-art{background:radial-gradient(circle at 82% 12%,rgba(255,255,255,.5),transparent 45%),linear-gradient(160deg,#cfe8d8,#9ccdb2)}.court-card-art .court-badge{background:#fffdf8f0;border-radius:6px;box-shadow:var(--shadow-sm);color:var(--ink);padding:8px 14px;position:relative;z-index:2}.court-number{color:#ffffffe6;font-size:110px;text-shadow:0 10px 30px rgba(15,51,44,.25);transition:transform .5s var(--ease)}.court-card:hover .court-number{transform:translateY(-6px) scale(1.04)}.court-card-content{background:var(--panel);padding:26px 28px 28px}.court-card h3{font-size:27px}.court-card-footer{margin-top:26px;padding-top:20px}.court-card-footer .arrow-link{background:var(--ink);border-radius:6px;border-bottom:0;color:#fff;font-size:13px;padding:11px 20px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease)}.court-card-footer .arrow-link:hover{background:var(--coral-deep);box-shadow:0 12px 24px #d55c3b59;transform:translateY(-2px)}.court-card-footer .arrow-link:after{display:none}.availability-preview{background:radial-gradient(circle at 85% 15%,rgba(242,203,98,.16),transparent 40%),linear-gradient(150deg,#14453c,#0c2b25);border-radius:0}.availability-mini,.mini-row b,.mini-row b.booked{border-radius:var(--radius-md)}.availability-mini{background:#ffffff12;box-shadow:inset 0 0 0 1px #ffffff1f;padding:26px}.mini-row b{background:#dcebe2eb;color:var(--ink);transition:transform .2s var(--ease)}.mini-row b:hover{transform:translateY(-2px)}.mini-row b.booked{background:#d77b64eb;color:#fff}.availability-board .court-row,.court-option,.table-wrap,.form-card,.profile-card,.stat-card,.booking-card,.empty-panel,.success-message,.loading-state,.price-card{border-radius:var(--radius-lg)}.court-row{transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.court-row:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.time-slot{border-radius:var(--radius-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease)}.time-slot:not(:disabled):hover{box-shadow:var(--shadow);transform:translateY(-3px)}.time-slot.selected{animation:scaleIn .25s var(--ease);box-shadow:0 10px 24px #e8755559}.court-option{transition:border-color .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease)}.court-option:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.court-option.selected{animation:scaleIn .3s var(--ease);border-color:var(--coral);box-shadow:0 0 0 1px var(--coral),0 14px 30px #e875552e}.customer-sidebar{background:radial-gradient(circle at 0% 0%,rgba(242,203,98,.12),transparent 45%),linear-gradient(180deg,#123f36,#0b2a24)}.customer-sidebar nav a{border-left:2px solid transparent;border-radius:0 6px 6px 0;color:#abc2b9;font-size:13.5px;padding:13px 14px;transition:background .25s var(--ease),color .25s var(--ease),padding-left .25s var(--ease),border-color .25s var(--ease)}.customer-sidebar nav a:hover{background:#ffffff12;color:#fff;padding-left:19px}.customer-sidebar nav a.active{background:#ffffff1a;border-left-color:var(--yellow);color:#fff}.sidebar-logout:hover{color:#ffb49d}.stat-card{border:1px solid var(--line);border-top:3px solid var(--coral);padding:24px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.stat-card:nth-child(2){border-top-color:var(--yellow)}.stat-card:nth-child(3){border-top-color:#4d9e6f}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.stat-card strong{font-size:34px}.dashboard-note{background:linear-gradient(150deg,#f6d381,#eebd5c);border-radius:var(--radius-lg);box-shadow:var(--shadow);position:relative;overflow:hidden}.dashboard-note:after{background:radial-gradient(circle at 80% 90%,rgba(255,255,255,.4),transparent 55%);content:"";inset:0;pointer-events:none;position:absolute}.booking-card{border:1px solid var(--line);margin-bottom:16px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}.booking-card:hover{border-color:#e8755566;box-shadow:var(--shadow-lg);transform:translateY(-3px)}.booking-card h3{font-size:24px}.booking-card-main>strong{font-size:21px}.status{border-radius:6px;font-size:10px;padding:6px 12px}.booking-table th{border-bottom:1px solid var(--line)}.booking-table tbody tr{transition:background .2s var(--ease)}.booking-table tbody tr:hover{background:#f6f4ec}.avatar{box-shadow:0 10px 22px #eeb04a73}.text-button{border-bottom:1px solid transparent;padding:2px 0;transition:border-color .2s var(--ease),color .2s var(--ease)}.text-button:hover{border-color:var(--coral);color:var(--coral-deep)}.filter-tabs button{transition:color .2s var(--ease),border-color .2s var(--ease)}.filter-tabs button:hover{color:var(--ink)}.button{border-radius:6px;box-shadow:0 10px 24px #0f332c2e;letter-spacing:.01em;padding:15px 28px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)}.button:hover{background:#0d2f28;box-shadow:0 16px 34px #0f332c47;transform:translateY(-2px)}.button:active{transform:translateY(0) scale(.98)}.button.light:hover{background:#f8d884;box-shadow:0 16px 34px #eeb04a73}.button.outline{box-shadow:none}.button.outline:hover{background:#0f332c0f;transform:translateY(-2px)}.button.light,.button.outline{animation:none}.button.light{animation:ctaPulse 2.8s ease-in-out infinite}.text-link,.arrow-link{transition:color .2s var(--ease),border-color .2s var(--ease)}.arrow-link{position:relative}.arrow-link:after{content:"→";display:inline-block;margin-left:7px;transition:transform .25s var(--ease)}.arrow-link:hover:after{transform:translate(5px)}.nav-links a{border-bottom:2px solid transparent;padding-bottom:3px;transition:color .2s var(--ease),border-color .2s var(--ease)}.nav-links a:hover{border-color:var(--coral);color:var(--coral-deep)}.nav-links a.active{border-color:var(--ink)}.brand-mark{transition:transform .4s var(--ease)}.brand:hover .brand-mark{transform:rotate(12deg) scale(1.08)}.form-card input,.form-card select,.profile-fields input,.admin-filters input,.admin-filters select{border:1.5px solid var(--line);border-radius:var(--radius-sm);font:inherit;padding:12px 14px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.form-card input:focus,.form-card select:focus,.profile-fields input:focus,.admin-filters input:focus,.admin-filters select:focus{border-color:var(--coral);box-shadow:0 0 0 3px #e8755526;outline:none}.auth-art{background:linear-gradient(160deg,var(--coral),var(--coral-deep));border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;position:relative}.auth-art-video{height:100%;inset:0;object-fit:cover;position:absolute;-webkit-user-select:none;user-select:none;width:100%;z-index:0}.auth-art:after{background:linear-gradient(160deg,var(--coral),var(--coral-deep));content:"";inset:0;opacity:.45;pointer-events:none;position:absolute;z-index:1}.auth-art>span{position:relative;text-shadow:0 2px 10px rgba(120,30,10,.45);z-index:2}.auth-panel .form-card{border-radius:var(--radius-lg)}.loading-state{align-items:center;color:var(--muted);display:grid;gap:14px;justify-items:center;padding:55px 30px}.loading-state:before{animation:spin .9s linear infinite;border:3px solid var(--line);border-radius:50%;border-top-color:var(--coral);content:"";height:34px;width:34px}.empty-panel{animation:fadeUp .5s var(--ease) both;text-align:center}.success-message{animation:fadeUp .45s var(--ease) both;border-left:4px solid #4d9e6f}.error-message{animation:shake .4s var(--ease)}.profile-feedback .success-message{border-radius:var(--radius-md)}@keyframes scaleIn{0%{transform:scale(.92);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes fadeUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}@keyframes ctaPulse{0%,to{box-shadow:0 10px 24px #eeb04a59}50%{box-shadow:0 14px 36px #eeb04a99}}.reveal{opacity:0;transform:translateY(28px)}.reveal.is-visible{animation:revealUp .75s var(--ease) both}@keyframes revealUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.home-hero .hero-art,.hero-art{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform:none}.hero-art{background:radial-gradient(circle at 85% 10%,rgba(255,255,255,.35),transparent 45%),linear-gradient(160deg,#d9e9dc,#b3d4bf);overflow:hidden}.hero-art:after{display:none}.court-lines{border-radius:6px}.hero-art--showcase{background:transparent;box-shadow:none;min-height:0;overflow:visible;padding:0;position:relative}.hero-art--showcase:before{display:none}.hero-showcase{position:relative;width:100%}.showcase-frame{aspect-ratio:4 / 5;background:var(--ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:560px;overflow:hidden;position:relative;width:100%}.showcase-img{height:100%;inset:0;object-fit:cover;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.showcase-shade{background:linear-gradient(180deg,#0000 40%,#000000c7);inset:0;pointer-events:none;position:absolute;z-index:1}.showcase-copy{bottom:24px;color:#fff;left:24px;position:absolute;right:24px;z-index:2}.showcase-eyebrow{align-items:center;display:flex;font-size:11px;gap:10px;letter-spacing:.28em;text-transform:uppercase}.showcase-eyebrow:before{background:var(--coral);content:"";height:2px;width:26px}.showcase-label{display:block;font-size:clamp(30px,3.6vw,48px);font-weight:800;letter-spacing:-1.5px;line-height:1.02;margin-top:10px;text-transform:uppercase}.showcase-copy p{font-size:14px;letter-spacing:.02em;margin-top:12px;max-width:340px;opacity:.9}.showcase-badge{background:#0b0b0b;color:#fff;display:inline-block;padding:12px 18px;position:absolute;right:18px;text-align:center;text-transform:uppercase;top:18px;z-index:2}.showcase-badge strong{display:block;font-size:20px;font-weight:800;letter-spacing:-.5px;line-height:1}.showcase-badge{font-size:10px;letter-spacing:.24em}@media(max-width:900px){.court-grid{grid-template-columns:1fr}.court-card-art{height:240px}}@media(max-width:640px){.stat-grid{grid-template-columns:1fr}.court-card-art{height:210px;padding:16px 18px}.court-number{font-size:58px}.court-card-content{padding:20px 20px 22px}.court-card h3{font-size:22px}.hero-art{min-height:280px}.hero-art--showcase{min-height:0}.showcase-frame{aspect-ratio:auto;height:340px;max-height:none}.hero{min-height:auto}.availability-mini{padding:18px}.mini-row b{font-size:10px;padding:7px 4px}.form-card,.profile-card{padding:20px}.profile-card{flex-direction:column;gap:22px}.booking-card{padding:18px}.booking-card h3{font-size:20px}.hero-actions{flex-wrap:wrap;gap:14px}.button{padding:13px 20px;justify-content:center}.dashboard-heading h1{font-size:32px;letter-spacing:-1px}}@media(max-width:760px){.site-header{gap:10px}.site-header .button{font-size:12px;padding:9px 12px}.brand{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.time-slot,.stat-card,.booking-card,.court-card,.managed-court-card,.button,.status,.bar-column span,.performance-row i{opacity:1;transform:none;box-shadow:none}}:root{--ink: #0d2f28;--ink-soft: #16453c;--muted: #5f7a71;--muted-2: #7c948b;--paper: #f5f4ee;--paper-2: #eef1ea;--panel: #ffffff;--line: #e4eae3;--line-strong: #d3ddd3;--coral: #e87555;--coral-deep: #d55c3b;--yellow: #f2cb62;--mint: #dcebe2;--teal: #1f7a68;--grad-brand: linear-gradient(135deg, #1a4d43 0%, #0d2f28 100%);--grad-coral: linear-gradient(135deg, #ef8a6a 0%, #d55c3b 100%);--grad-mint: linear-gradient(135deg, #eaf4ee 0%, #dcebe2 100%);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(13, 47, 40, .06);--shadow-sm: 0 2px 10px rgba(13, 47, 40, .07);--shadow: 0 14px 38px rgba(13, 47, 40, .1);--shadow-lg: 0 28px 70px rgba(13, 47, 40, .16);--shadow-focus: 0 0 0 4px rgba(31, 122, 104, .22);--ease: cubic-bezier(.22, .61, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--container: 1180px}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);overflow-x:hidden}*{min-width:0}:where(h1,h2,h3,h4){letter-spacing:-.015em;line-height:1.12}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-sm)}::selection{background:#1f7a6833}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}*::-webkit-scrollbar{height:10px;width:10px}*::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid transparent;background-clip:content-box;border-radius:var(--radius-pill)}*::-webkit-scrollbar-thumb:hover{background:var(--muted-2);background-clip:content-box}.button{border-radius:var(--radius-pill);font-weight:600;gap:var(--space-2);padding:13px 24px;transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease);white-space:nowrap}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0) scale(.99)}.button.outline{background:var(--panel);border:1.5px solid var(--line-strong);color:var(--ink)}.button.outline:hover{border-color:var(--teal);color:var(--teal);box-shadow:var(--shadow-sm)}.button.danger{background:var(--grad-coral);border-color:transparent}.button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.button.full-width{justify-content:center;width:100%}.text-button,.row-link,.row-actions button{border-radius:var(--radius-sm);transition:background .2s var(--ease),color .2s var(--ease)}.ui-alert{align-items:center;border-radius:var(--radius-md);display:flex;font-size:13.5px;gap:var(--space-3);line-height:1.45;margin:0;padding:12px 15px}.ui-alert-dot{border-radius:var(--radius-pill);flex:0 0 auto;height:8px;width:8px}.ui-alert-error{background:#fdecea;border:1px solid #f6cfc8;color:#a33522}.ui-alert-error .ui-alert-dot{background:#d55c3b}.ui-alert-success{background:#e8f5ee;border:1px solid #c6e6d4;color:#1c6b4c}.ui-alert-success .ui-alert-dot{background:#1f9d63}.error-message{background:#fdecea;border:1px solid #f6cfc8;border-radius:var(--radius-md);color:#a33522;display:block;font-size:13.5px;padding:12px 15px}.success-message{background:#e8f5ee;border:1px solid #c6e6d4;border-radius:var(--radius-md);color:#1c6b4c;display:block;font-size:13.5px;padding:12px 15px}.ui-loading{align-items:center;color:var(--muted);display:flex;gap:var(--space-3);font-size:14px;justify-content:center;padding:var(--space-6) var(--space-4)}.ui-loading-inline{justify-content:flex-start;padding:0}.ui-spinner{animation:ui-spin .7s linear infinite;border:2.5px solid var(--line-strong);border-radius:var(--radius-pill);border-top-color:var(--teal);display:inline-block;height:20px;width:20px}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-skeleton{animation:ui-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#eef1ea,#f6f7f2,#eef1ea 80%);background-size:400px 100%;display:block;max-width:100%}@keyframes ui-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.loading-state{color:var(--muted);font-size:14px;padding:var(--space-5) var(--space-4);text-align:center}.ui-empty{align-items:center;background:var(--panel);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-7) var(--space-5);text-align:center}.ui-empty-compact{padding:var(--space-5)}.ui-empty-icon{align-items:center;background:var(--grad-mint);border-radius:var(--radius-pill);color:var(--teal);display:inline-flex;height:48px;justify-content:center;margin-bottom:var(--space-1);width:48px}.ui-empty-title{color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:17px}.ui-empty-text{color:var(--muted);font-size:13.5px;margin:0;max-width:42ch}.ui-empty-action{margin-top:var(--space-3)}.empty-panel{background:var(--panel);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--muted);font-size:13.5px;padding:var(--space-6) var(--space-5);text-align:center}.form-card{border-radius:var(--radius-lg)}label{color:var(--ink-soft);font-weight:600}input,select,textarea{border-radius:var(--radius-sm);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:var(--shadow-focus);outline:none}input::placeholder,textarea::placeholder{color:var(--muted-2)}.site-header{backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);background:#f6f5efd1;border-bottom:1px solid rgba(227,233,226,.9);box-shadow:0 2px 20px #0d2f280d;padding:14px clamp(16px,5vw,64px)}.public-nav a,.header-login{font-weight:600}.nav-toggle{align-items:center;border-radius:var(--radius-sm);justify-content:center;transition:background .2s var(--ease);height:44px;width:44px}.nav-toggle:hover{background:var(--mint)}@media(max-width:860px){.nav-toggle{display:inline-flex}}.public-nav{border-radius:var(--radius-lg);transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s}@media(max-width:860px){.public-nav{padding:var(--space-3)}.public-nav.open{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg);overflow:hidden}.public-nav a{border-radius:var(--radius-sm);padding:13px 16px;transition:background .2s var(--ease)}.public-nav a:hover,.public-nav a.active{background:var(--mint)}.public-nav a:after{display:none}}.customer-sidebar nav a{border-radius:var(--radius-sm);transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.customer-sidebar nav a:hover{transform:translate(2px)}.admin-sidebar{scrollbar-width:thin}.admin-sidebar a,.admin-sidebar button{border-radius:var(--radius-sm);transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.admin-sidebar a:hover{transform:translate(2px)}.admin-topbar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffdb!important;border-bottom:1px solid var(--line)}.topbar-popover{animation:ui-pop .18s var(--ease-out) both;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}@keyframes ui-pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-popover a,.profile-popover button{border-radius:var(--radius-sm);transition:background .18s var(--ease)}.profile-popover a:hover,.profile-popover button:hover{background:var(--mint)}.mobile-customer-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid var(--line)}.modal-backdrop{animation:ui-backdrop .25s var(--ease) both;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#091e1980}@keyframes ui-backdrop{0%{opacity:0}to{opacity:1}}.modal{animation:ui-modal-in .32s var(--ease-out) both;background:var(--panel);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal>h2{letter-spacing:-.02em}.modal-close{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);height:40px;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);width:40px}.modal-close:hover{background:#f3ded9;color:var(--coral-deep);transform:rotate(90deg)}@media(max-width:560px){.modal-backdrop{padding:0;align-items:flex-end}.modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:92vh;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));width:100%;animation:ui-sheet-in .34s var(--ease-out) both}@keyframes ui-sheet-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal>h2{font-size:20px;padding-right:48px}}@media(max-width:560px){.modal:before{background:var(--line-strong);border-radius:var(--radius-pill);content:"";height:4px;left:50%;position:absolute;top:10px;transform:translate(-50%);width:40px}.modal>h2{margin-top:6px}}.court-option,.managed-court-card,.stat-card,.settings-card,.profile-card,.booking-details,.payment-detail,.customer-details,.admin-section,.court-status-grid>*{border-radius:var(--radius-lg);transition:box-shadow .28s var(--ease),transform .28s var(--ease),border-color .28s var(--ease)}.court-option:hover,.managed-court-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.court-option.selected{box-shadow:0 0 0 2px var(--teal) inset,var(--shadow)}.admin-stat-grid .stat-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}.admin-stat-grid .stat-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.slot-grid{gap:10px}.time-slot{border-radius:var(--radius-sm);font-weight:600;min-height:46px;padding:12px 6px;transition:background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}.time-slot:not(:disabled){cursor:pointer}.time-slot:not(:disabled):hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.time-slot.selected{box-shadow:0 8px 20px #e8755559;transform:translateY(-2px)}@media(max-width:560px){.slot-grid{grid-template-columns:repeat(3,1fr)}.time-slot{min-height:50px;padding:12px 4px}.time-slot small{font-size:10px}}.table-wrap{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{border-collapse:separate;border-spacing:0}.admin-table th{font-weight:700;letter-spacing:.02em;text-transform:uppercase}.admin-table tbody tr{transition:background .16s var(--ease)}.admin-table tbody tr:hover{background:#dcebe266}.admin-table tbody tr:last-child td{border-bottom:0}.row-actions button,.row-link{border-radius:var(--radius-sm);padding:6px 10px}.row-link:hover,.row-actions button:hover{background:var(--mint)}.admin-calendar-grid{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.calendar-corner,.calendar-court-head{font-weight:700}.admin-calendar-grid .time-slot{border-radius:var(--radius-xs);min-height:44px}.admin-filters{border-radius:var(--radius-lg)}.admin-filters input,.admin-filters select{border-radius:var(--radius-sm)}.status{border-radius:var(--radius-pill);font-weight:700;letter-spacing:.02em;padding:5px 11px}.booking-source{border-radius:var(--radius-pill)}.result-count,.admin-kicker{font-weight:700;letter-spacing:.08em}.admin-page,.customer-content,.public-page,.page-wrap,.book-page,.dashboard-page,.auth-panel,.main-content{max-width:100%}.admin-table td,.customer-name,.manage-booking-reference,.booking-reference strong{overflow-wrap:anywhere;word-break:break-word}@media(max-width:720px){.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}.admin-table tr{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3)}.admin-table td{align-items:center;border:0;display:flex;gap:var(--space-3);justify-content:space-between;padding:9px 0;text-align:right}.admin-table td+td{border-top:1px solid var(--line)}.admin-table td:before{content:attr(data-label);color:var(--muted);flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.04em;text-align:left;text-transform:uppercase}.admin-table td.table-action-cell{justify-content:flex-end}.table-wrap{background:transparent;box-shadow:none;overflow:visible}}@media(max-width:640px){.admin-filters{display:grid;gap:var(--space-3);grid-template-columns:1fr}.admin-filters input,.admin-filters select,.admin-filters .button{width:100%}.admin-page-heading{flex-direction:column;gap:var(--space-3);align-items:flex-start}}@media(hover:none)and (pointer:coarse){.button,.nav-toggle,.time-slot,.row-actions button,.row-link,.public-nav a{min-height:44px}.admin-table td{padding:12px 0}}@supports (padding: env(safe-area-inset-bottom)){.admin-sidebar,.customer-sidebar{padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:640px){input,select,textarea{font-size:16px}}@media(max-width:560px){.home-hero{min-height:auto;margin-bottom:var(--space-7)}.book-page,.page-wrap{padding-left:clamp(16px,5vw,35px);padding-right:clamp(16px,5vw,35px)}}.admin-page,.dashboard-page{gap:var(--space-5)}.admin-section{box-shadow:var(--shadow-sm)}.admin-page-heading h2,.dashboard-heading h1{letter-spacing:-.02em;margin-bottom:var(--space-1)}@media(prefers-reduced-motion:reduce){.modal,.modal-backdrop,.topbar-popover,.court-option,.managed-court-card{animation:none!important;transition:none!important}}.route-loading{align-items:center;display:flex;justify-content:center;min-height:60vh}.ui-loading.ui-page-loader{min-height:60vh}body>#root>.ui-loading{min-height:70vh}.auth-page{min-height:100dvh}@media(max-width:900px){.auth-art{display:none}}@media(max-width:640px){.auth-panel .form-card input,.auth-panel .form-card select,.modal .form-card input,.modal .form-card select,.manage-booking-lookup .form-card input,.form-card select,.form-card textarea,.admin-filters input,.admin-filters select,.date-field input,.duration-field select,.booking-controls input,.booking-controls select{font-size:16px}}.renewal-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-4) 0}.renewal-cta .button{flex:0 1 auto}@media(max-width:560px){.renewal-cta{flex-direction:column}.renewal-cta .button{justify-content:center;width:100%}}:root{--page-max: 1140px;--page-gutter: 35px}.home-hero,.intro-section,.home-section,.availability-preview,.pricing-teaser,.guest-booking,.page-wrap,.auth-page,.site-footer{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--page-max);padding-left:var(--page-gutter);padding-right:var(--page-gutter);width:100%}.site-header{box-sizing:border-box;margin-left:0;margin-right:0;max-width:none;padding-left:max(var(--page-gutter),calc((100vw - 1070px)/2));padding-right:max(var(--page-gutter),calc((100vw - 1070px)/2));width:100%}@media(max-width:760px){:root{--page-gutter: 20px}.home-hero,.intro-section,.home-section,.availability-preview,.pricing-teaser,.guest-booking,.page-wrap,.auth-page,.site-header,.site-footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}}
