@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#f4f3ed;--ink:#19251f;--green:#234a39;--lime:#d5f46a;--muted:#758077}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}header{height:88px;padding:0 5%;display:flex;align-items:center;gap:55px;border-bottom:1px solid #dcded5}.logo{font-size:29px;font-weight:800;letter-spacing:-2px;color:var(--ink);text-decoration:none}.logo span{color:#819f35}.logo .dot{color:#234a39}nav{display:flex;gap:24px;flex:1}.nav{background:none;border:0;padding:12px 0;color:#778076}.nav.active{color:var(--ink);border-bottom:2px solid var(--ink);font-weight:700}.demo{font-size:10px;letter-spacing:1.5px;border:1px solid #cbd1bf;padding:8px 12px;border-radius:30px}main{max-width:1400px;margin:auto;padding:32px 5% 60px}.hero{display:grid;grid-template-columns:1.1fr 1fr;background:var(--green);border-radius:20px;overflow:hidden;color:white;min-height:330px}.hero-copy{padding:38px 42px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;text-transform:uppercase}.eyebrow b{color:var(--lime)}h1{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;font-size:72px;line-height:.95;letter-spacing:-1px;margin:22px 0}h1 em{font-style:normal;color:var(--lime)}.hero p{color:#c7d5c9;line-height:1.7;max-width:340px}.court-art{position:relative;overflow:hidden;background:#c56e43;min-height:300px}.court{position:absolute;width:72%;height:150%;border:3px solid #eacd9b;transform:rotate(-28deg);top:-25%;left:18%;background:repeating-linear-gradient(90deg,#b9673d 0,#b9673d 32px,#bd6b41 33px,#bd6b41 65px);box-shadow:0 0 0 60px #32614a}.court:before{content:'';position:absolute;top:36%;left:23%;width:54%;height:28%;border:3px solid #eacd9b;border-radius:50%}.court:after{content:'';position:absolute;top:50%;width:100%;border-top:3px solid #eacd9b}.art-label{position:absolute;bottom:24px;right:25px;font-size:11px;letter-spacing:2px;background:#173e2dcc;padding:12px 16px;border-radius:4px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:34px 0 18px}h2{font-size:25px;letter-spacing:-1px;margin:0}small,.muted{color:var(--muted)}.sports{display:flex;gap:10px;flex-wrap:wrap}.sport{border:1px solid #d9ddd0;background:transparent;border-radius:10px;padding:13px 22px;color:#737a70}.sport.active{background:var(--ink);color:white;border-color:var(--ink)}.sport span{margin-right:9px}.layout{display:grid;grid-template-columns:1fr 340px;gap:25px;margin-top:24px}.panel{background:#fff;border:1px solid #e1e3da;border-radius:16px;padding:24px}.filters{display:flex;gap:12px;margin-bottom:22px}.filters label{flex:1}.field-label{display:block;font-size:10px;letter-spacing:1.2px;font-weight:700;margin-bottom:8px;text-transform:uppercase}input,select{width:100%;border:1px solid #dce0d4;border-radius:8px;background:#fafbf7;padding:12px;color:var(--ink)}.court-heading{display:flex;gap:15px;align-items:center;margin:22px 0}.badge-icon{font-size:30px;background:#f2f0e7;padding:14px;border-radius:12px}h3{margin:0 0 6px;font-size:18px}.pill{margin-left:auto;background:#ecf4de;color:#597333;border-radius:30px;padding:7px 10px;font-size:10px}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.slot{padding:14px 6px;border:1px solid #dce1d3;border-radius:9px;background:white;color:var(--ink)}.slot small{display:block;font-size:10px;margin-top:5px}.slot.selected{background:var(--green);color:white;border-color:var(--green)}.slot.selected small{color:#d5f46a}.slot:disabled{background:#f2f2ee;color:#b3b7ae;cursor:not-allowed;text-decoration:line-through}.legend{font-size:11px;color:var(--muted);margin-top:18px}.summary{align-self:start;position:sticky;top:20px}.summary h3{margin-bottom:24px}.row{display:flex;justify-content:space-between;margin:15px 0;gap:10px}.total{border-top:1px dashed #ccd2c1;margin-top:24px;padding-top:20px;font-weight:700}.total strong{font-size:25px}.primary{border:0;background:var(--lime);color:var(--ink);border-radius:9px;padding:15px 18px;font-weight:700;width:100%;margin-top:15px}.primary:disabled{opacity:.5;cursor:not-allowed}.note{font-size:11px;line-height:1.6;color:var(--muted);text-align:center}.summary label{display:block;margin-top:14px}.bottom{display:flex;justify-content:space-between;margin-top:36px;font-size:11px;color:#7c8376;border-top:1px solid #dce0d2;padding-top:20px}.empty{text-align:center;padding:60px 20px;color:var(--muted)}.booking{margin:15px 0;border:1px solid #dce1d3;border-radius:12px;padding:20px}.booking button{background:none;border:1px solid #ccbcb4;border-radius:6px;padding:7px;color:#8a4d35}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-grid label{display:block;margin:15px 0}.stats{display:flex;gap:20px;margin:25px 0}.stats .panel{flex:1}.stats strong{display:block;font-size:30px;margin:8px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:10px;padding:15px 24px;display:none;z-index:9}button:focus-visible,a:focus-visible{outline:3px solid #92b637;outline-offset:3px}@media(max-width:850px){header{height:auto;min-height:80px;padding:18px 5%;gap:20px;flex-wrap:wrap}.demo{display:none}nav{gap:16px;font-size:12px;justify-content:flex-end}.hero{grid-template-columns:1fr}.hero-copy{padding:30px}h1{font-size:62px}.court-art{min-height:180px}.layout,.admin-grid{grid-template-columns:1fr}.summary{position:static}.slots{grid-template-columns:repeat(3,1fr)}.section-title small{display:none}.filters{flex-direction:column}.stats{flex-wrap:wrap}.stats .panel{min-width:130px}.bottom{gap:15px}.sport{padding:12px 15px}}
.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.entry-grid label{display:block;font-size:12px;font-weight:600}.entry-grid input,.entry-grid select{margin-top:7px}.entry-grid .primary{margin-top:0}.manual-entry summary,.payment-entry summary,.audit summary{cursor:pointer;font-weight:600}.manual-entry summary{font-size:17px}.secondary{border:1px solid #cbd4c1;border-radius:8px;background:#f7f9f1;padding:11px 15px;color:var(--ink);font-weight:600}.filters-bar{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;margin-bottom:25px}.filters-bar button{align-self:end}.operation-card .status-chip{background:#edf3df;color:#456139;border-radius:20px;padding:8px 12px;font-size:11px;align-self:start}.operation-card .row{flex-wrap:wrap}.money-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:18px;background:#f6f7f1;border-radius:10px}.money-grid strong{display:block;margin-top:8px;font-size:16px}.operation-card .actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.operation-card button{background:#f6f8ee;border-color:#cbd4c1;color:var(--ink)}.operation-card button.danger{color:#914d39;border-color:#d6bfb1;background:#fff8f4}.payment-entry,.audit{margin-top:18px;font-size:12px}.audit p{padding-left:12px;border-left:2px solid #dce5cc;overflow-wrap:anywhere}.refund-note{padding:12px;background:#fff1d8;color:#7b5723;border-radius:8px;font-size:12px;line-height:1.6}.operation-card h3,.operation-card p{overflow-wrap:anywhere}@media(max-width:850px){.entry-grid,.filters-bar,.money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}nav{flex-wrap:wrap}header{gap:10px}.stats strong{font-size:23px}}@media(max-width:480px){.entry-grid,.filters-bar{grid-template-columns:1fr}.operation-card{padding:14px}.money-grid{padding:12px}.money-grid strong{font-size:14px}}
.deadline-note{padding:12px 15px;background:#f0f5df;border-left:3px solid #829b43;border-radius:6px;font-size:12px;line-height:1.7}.full-width{grid-column:1/-1}#add-block label{min-width:0}#add-block select{max-width:100%}
.reschedule-review{margin-top:24px;padding-top:22px;border-top:1px dashed #ccd2c1}.reschedule-settings{margin-top:20px;padding:15px;background:#f5f7ed;border-radius:9px}.reschedule-settings summary{cursor:pointer;font-weight:600}.reschedule-settings label{display:block;margin:14px 0}
.report-stats{flex-wrap:wrap;gap:15px}.report-stats .panel{min-width:190px}.report-stats strong{font-size:26px}.report-stats strong small{font-size:15px}.report-explanation{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 24px}.report-heading{margin:0 0 20px;gap:15px;flex-wrap:wrap}.report-heading h3{margin:0}.report-bar-row{margin:20px 0}.report-bar-row .row{margin-bottom:9px;flex-wrap:wrap}.report-track{height:9px;background:#edf0e5;border-radius:8px;overflow:hidden;margin-bottom:7px}.report-fill{height:100%;background:var(--green);border-radius:8px}.report-fill.cash{background:#9fb83d}.report-section{margin-top:24px}.table-scroll{overflow-x:auto}.report-table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}.report-table th{background:#f4f6ed;padding:14px 12px;color:#66725e;white-space:nowrap}.report-table td{border-bottom:1px solid #e8ebdf;padding:14px 12px;line-height:1.7;min-width:110px;max-width:300px;overflow-wrap:anywhere}.report-table td:first-child{min-width:155px}.report-table tr:last-child td{border:0}.secondary:disabled{opacity:.5;cursor:not-allowed}@media(min-width:851px) and (max-width:1150px){header{gap:25px}.demo{display:none}}@media(max-width:600px){.report-stats{display:grid;grid-template-columns:1fr 1fr}.report-stats .panel{min-width:0;padding:16px}.report-stats strong{font-size:20px}.report-stats small{font-size:10px}.report-section{padding:16px}nav{justify-content:flex-start;gap:14px}}
.backup-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}.backup-file,.backup-confirm{display:block;font-size:12px;font-weight:600;margin-top:20px}.backup-file input,.backup-confirm input{margin-top:9px}.backup-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-size:12px;margin-top:20px}.backup-consent input{width:auto;flex:none;margin-top:3px}.backup-counts{margin:25px 0}#backup-recovery{width:100%;margin-top:14px}#backup-preview{margin-top:20px}#backup-preview .report-table td:first-child{min-width:100px}#backup-restore{border-top:1px solid #e1e6d6;margin-top:20px}@media(max-width:600px){.backup-entry{align-items:flex-start;flex-direction:column}.backup-entry button{width:100%}}
.rate-days{display:flex;flex-wrap:wrap;gap:12px;border:1px solid #dce0d4;border-radius:8px;padding:16px}.rate-days legend{font-size:12px;font-weight:600}.rate-days label{display:flex;align-items:center;gap:6px}.rate-days input{width:auto;margin:0}
.series-tag{font-size:11px;color:#4b643b;background:#eff4e5;border-radius:6px;padding:9px 12px;overflow-wrap:anywhere}.form-error{color:#914d39;white-space:pre-line;line-height:1.8;font-size:12px}.form-error:empty{display:none}
.calendar-stats small{line-height:1.7}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.calendar-toolbar .actions{display:flex;gap:8px}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;font-size:10px}.calendar-legend span{padding:7px 10px;border-radius:6px}.calendar-scroll{overflow:auto;max-height:75vh;border:1px solid #dce2d2;border-radius:10px}.calendar-grid{width:100%;min-width:1100px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12px}.calendar-grid.day-grid{min-width:340px}.calendar-grid th,.calendar-grid td{border-bottom:1px solid #e0e5d8;border-right:1px solid #e0e5d8;padding:0}.calendar-grid th{background:#f2f5ea;padding:14px 9px;text-align:left}.calendar-grid thead th{position:sticky;top:0;z-index:2}.calendar-grid th:first-child{position:sticky;left:0;width:80px;z-index:1}.calendar-grid thead th:first-child{z-index:3}.calendar-grid thead small{display:block;color:#658139;font-size:10px;margin-top:5px}.calendar-grid th.is-today{background:#e5f1c2}.calendar-slot{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:86px;width:100%;height:100%;padding:10px;border:0;border-left:3px solid transparent;text-align:left;color:var(--ink);font:inherit;overflow-wrap:anywhere}.calendar-slot small{font-size:10px;color:inherit;opacity:.85}.calendar-slot b{font-size:12px}.calendar-slot.available{background:#fafbf6;color:#728361}.calendar-slot.available:hover{background:#ecf5d8;border-left-color:#90ae41}.calendar-slot.unavailable{background:#f4f4f0;color:#a0a699}.confirmed{background:#dfeede;border-color:#3c744b}.pending{background:#fff1ce;border-color:#c6a03d}.completed{background:#e4e8e1;border-color:#71816a}.absent{background:#f8dfd5;border-color:#b56c50}.closed{background:repeating-linear-gradient(135deg,#eee9e1,#eee9e1 8px,#f3efe8 8px,#f3efe8 16px);border-color:#9b8b74;color:#716557}.calendar-slot.confirmed:hover,.calendar-slot.pending:hover,.calendar-slot.completed:hover,.calendar-slot.absent:hover{filter:brightness(.96)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.calendar-panel{padding:14px}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-toolbar .actions{width:100%}.calendar-toolbar .actions button{flex:1;padding:11px}.calendar-grid th:first-child{width:62px}.calendar-scroll{max-height:70vh}}
.customer-filters{grid-template-columns:1fr 2fr auto auto;align-items:end;margin:0}.customer-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.3fr);gap:24px}.customer-list{margin-top:20px;max-height:650px;overflow:auto}.customer-row{display:flex;align-items:center;gap:12px;padding:17px 10px;width:100%;text-align:left;border:0;border-bottom:1px solid #e5e9dc;background:white;color:var(--ink)}.customer-row small,.customer-history-row small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.customer-row:hover,.customer-row.selected-customer{background:#f0f5e4;border-radius:8px}.customer-avatar{display:flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;background:#e6eecf;border-radius:50%;font-weight:700;color:#4d683b}.customer-due{margin-left:auto;text-align:right;white-space:nowrap;font-size:11px}.customer-profile{align-self:start}.customer-profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#f3f6ea;border-radius:10px;padding:18px;margin:24px 0}.customer-profile-stats b{display:block;margin-top:8px}.customer-history{margin-top:16px}.customer-history-row{display:flex;gap:15px;justify-content:space-between;align-items:start;padding:17px 0;width:100%;border:0;border-bottom:1px solid #e5e9dc;background:white;color:var(--ink);text-align:left}.customer-history-row:hover{color:#577b30}.customer-history-row>span:last-child{text-align:right;flex:none}.customer-history-row>span:first-child{min-width:0;overflow-wrap:anywhere}.customer-row>span:nth-child(2){min-width:0;overflow-wrap:anywhere}@media(max-width:1000px){.customer-filters{grid-template-columns:1fr 1fr}.customer-layout{grid-template-columns:1fr}.customer-list{max-height:420px}}@media(max-width:480px){.customer-due{font-size:10px}.customer-avatar{display:none}.customer-filters{grid-template-columns:1fr}.customer-history-row{flex-direction:column}.customer-history-row>span:last-child{text-align:left}}
.ops-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
[hidden]{display:none!important}#account-tools{display:flex;align-items:center;gap:14px}.account-name{font-size:12px;max-width:150px;overflow-wrap:anywhere}.account-name small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.auth-panel{max-width:560px;margin:35px auto}.auth-panel label:not(.backup-consent){display:block;margin:18px 0;font-size:12px;font-weight:600}.auth-panel label input{margin-top:8px}.auth-panel .secondary{margin:16px 6px 0 0}@media(max-width:850px){#account-tools{margin-left:auto}.account-name{max-width:100px}.auth-panel{margin:15px auto}header nav{order:3;flex-basis:100%}}
textarea{font:inherit;width:100%;border:1px solid #dce0d4;border-radius:8px;background:#fafbf7;padding:12px;color:var(--ink);resize:vertical;min-height:90px}.entry-grid textarea,.auth-panel textarea{margin-top:8px}.entry-grid .claim-check{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;line-height:1.6}.claim-check input[type="checkbox"]{width:auto;flex:none;margin-top:4px}.booking p{overflow-wrap:anywhere}
.dashboard-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dashboard-layout>.panel{min-width:0}.dashboard-item{padding:18px 0;border-bottom:1px solid #e1e6d8;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.dashboard-item>div{min-width:0;overflow-wrap:anywhere}.dashboard-item p{margin:7px 0}.dashboard-item .secondary{flex:none;font-size:11px;padding:10px}.dashboard-layout>section>h3{margin-bottom:12px}header{height:auto;min-height:88px;flex-wrap:wrap;gap:20px;padding-top:16px;padding-bottom:16px}header nav{flex-wrap:wrap;gap:12px 20px}#account-tools{flex-wrap:wrap}@media(max-width:1000px){.dashboard-layout{grid-template-columns:1fr}}@media(max-width:480px){.dashboard-item{flex-direction:column}.dashboard-item .secondary{align-self:flex-start}}
.court-preview{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px;align-items:center}.court-preview h3{margin:12px 0}.court-photo{margin:0;min-width:0;overflow:hidden;border-radius:12px;background:#edf1e5}.court-photo img{display:block;width:100%;height:270px;object-fit:cover}.cover-photo img{height:240px}.court-photo figcaption{padding:10px 14px;font-size:12px;overflow-wrap:anywhere}.photo-missing{min-height:170px;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:#6d7a65;font-size:13px}.court-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.facility-tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.facility-tags span{background:#edf3df;color:#46633a;padding:8px 11px;border-radius:20px;font-size:12px;overflow-wrap:anywhere;max-width:100%}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.master-photos{margin-top:30px;border-top:1px solid #e0e5d9;padding-top:24px}.master-photos button{margin:5px 0}.court-gallery>div{min-width:0}.entry-grid .claim-check{display:flex}.entry-grid .claim-check input{width:auto}#master-form label{min-width:0}@media(max-width:1000px){.court-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.court-preview{grid-template-columns:1fr}}@media(max-width:600px){.court-gallery{grid-template-columns:1fr}.court-photo img,.cover-photo img{height:230px}}
.court-gallery:has(>figure:only-child){grid-template-columns:1fr}.court-gallery>figure:only-child img{height:clamp(240px,32vw,420px)}@media(max-width:600px){.court-detail-title{align-items:flex-start;flex-direction:column;gap:16px}.court-detail-title h2{margin-top:7px}}

.admin-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-menu-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.admin-menu-card p{flex:1;line-height:1.7}.admin-menu-card button{max-width:100%;white-space:normal}.master-policy{border:1px solid #d8e0ce;border-radius:12px;padding:18px;min-width:0;margin:8px 0}.master-policy legend{padding:0 8px;font-weight:700}.master-policy .entry-grid{margin-top:8px}.master-section-heading{margin:16px 0 4px;border-top:1px solid #e0e5d9;padding-top:20px}.master-form-actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:700px){.admin-menu-grid{grid-template-columns:1fr}.master-policy{padding:14px}.master-form-actions{flex-direction:column}}

.facility-checklist{min-width:0;border:1px solid #d8e0ce;border-radius:12px;padding:20px;margin:8px 0}.facility-checklist legend{padding:0 8px;font-weight:700}.facility-options,.facility-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}.facility-options label{display:flex;align-items:center;gap:12px;margin:0;cursor:pointer;min-width:0;font-size:14px}.facility-options input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#46633a}.facility-options svg,.facility-list svg{width:25px;height:25px;flex:0 0 25px;color:#405047}.facility-options span,.facility-list span{overflow-wrap:anywhere}.facility-list{margin:20px 0 28px}.facility-list>div{display:flex;align-items:center;gap:13px;min-width:0;color:#405047}.availability-note{margin:14px 0 18px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.availability-badge{display:inline-flex;padding:9px 14px;border-radius:20px;background:#e8f3db;color:#35602b;font-size:14px}.availability-badge.unavailable{background:#f1eee6;color:#775e3e}.availability-note small{font-size:12px;color:#69736b}@media(max-width:600px){.facility-options{grid-template-columns:1fr;gap:16px}.facility-checklist{padding:15px}.facility-list{gap:16px 12px}.facility-list>div{gap:8px;font-size:13px}.facility-list svg{width:22px;height:22px;flex-basis:22px}}

.venue-location{margin:18px 0 24px;padding:18px;background:#f4f6ef;border-radius:12px;min-width:0}.venue-location strong{font-size:13px}.venue-location p{margin:9px 0;font-size:14px;line-height:1.7}.venue-map-links{display:flex;gap:12px 20px;flex-wrap:wrap;margin-top:12px}.venue-map-links a{color:#3c6331;font-size:13px;font-weight:600;text-underline-offset:4px;overflow-wrap:anywhere}.venue-location.compact{padding:14px;margin:14px 0}.venue-location.compact p{font-size:13px}@media(max-width:600px){.venue-location{padding:14px}.venue-map-links{gap:12px}}
