:root{color:#082338;font-synthesis:none;--teal:#087e91;--line:#d5e3e6;background:#f4f8f8;font-family:Manrope,Arial,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}button,a,input,select,textarea{outline-offset:4px;-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--teal)}button,a.primary,a.secondary{min-height:44px}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}[hidden]{display:none!important}.bot-challenge{width:100%;min-width:0;max-width:100%;margin:16px 0}.bot-challenge__label{margin-bottom:8px;font-size:14px;font-weight:500}.bot-challenge__widget{width:100%;min-width:0;max-width:100%;overflow:hidden}.bot-challenge__status{color:#59707d;min-height:20px;margin-top:6px;font-size:13px}h1,h2,h3{margin:0 0 16px;font-weight:600;line-height:1.25}h1{letter-spacing:-1px;font-size:clamp(30px,4vw,44px)}h2{font-size:24px}h3{font-size:18px}p{margin:0 0 16px;line-height:1.7}.booking-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:20px clamp(16px,4vw,48px);font-size:14px;display:flex}.booking-header a{align-items:center;min-height:44px;text-decoration:none;display:flex}.brand{gap:12px;font-weight:600}.brand img{object-fit:contain}.brand span{color:#59707d;font-weight:500}.booking-container{max-width:1000px;margin:auto;padding:48px 24px 64px}.page-intro{max-width:660px;margin-bottom:32px}.page-intro p{color:#59707d}.eyebrow{letter-spacing:1.6px;font-size:12px;font-weight:500}.booking-tabs,.admin-tabs{flex-wrap:wrap;gap:8px;margin:0 0 24px;display:flex}.booking-tabs button,.admin-tabs button,.secondary,.slot-grid button{background:#fff;border:1px solid #b8ccd0;border-radius:8px;justify-content:center;align-items:center;padding:12px 16px;font-weight:500;text-decoration:none;display:inline-flex}.booking-tabs [aria-pressed=true],.admin-tabs [aria-pressed=true],.slot-grid [aria-pressed=true]{color:#fff;background:#087e91;border-color:#087e91}.booking-panel,.admin-panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:28px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0;display:grid}label{flex-direction:column;gap:8px;font-size:14px;font-weight:500;display:flex}input,select,textarea{background:#fff;border:1px solid #b8ccd0;border-radius:6px;width:100%;min-width:0;min-height:48px;padding:12px;font-size:16px;font-weight:400}textarea{resize:vertical;min-height:110px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23082338' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-right:44px}@media (forced-colors:active){select{appearance:auto;background-image:none;padding-right:12px}}fieldset{border:0;min-width:0;margin:28px 0 0;padding:0}legend{font-size:18px;font-weight:600}.room-gallery{max-width:680px;margin:0 0 24px}.room-photo-cover{aspect-ratio:16/10;object-fit:contain;background:#edf2f2;border-radius:8px;width:100%;display:block}.room-photo-thumbnails{gap:8px;margin:12px 0 8px;padding:4px;display:flex;overflow-x:auto}.room-photo-thumbnails button{background:#fff;border:2px solid #0000;border-radius:6px;flex:0 0 64px;height:52px;padding:2px}.room-photo-thumbnails button[aria-pressed=true]{border-color:var(--teal)}.room-photo-thumbnails img{object-fit:cover;border-radius:3px;width:100%;height:100%}.room-photo-manager{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.room-photo-manager h4{margin:0 0 8px;font-size:16px;font-weight:600}.room-photo-admin-grid{grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:16px;margin-bottom:16px;display:grid}.room-photo-admin-item{align-content:start;gap:8px;min-width:0;display:grid}.room-photo-admin-item img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;width:100%}.room-photo-manager input[type=file]{width:100%;max-width:100%;font-size:14px}.primary,.danger{color:#fff;background:#087e91;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:12px 20px;font-weight:600;text-decoration:none;display:inline-flex}.danger{background:#a53939}.notice{overflow-wrap:anywhere;background:#edf7f8;border-left:3px solid #087e91;padding:16px;font-size:14px}.booking-form [data-quote]+.notice{margin-top:16px}.notice:empty{display:none}.notice[role=alert]:not(:empty){background:#fff3f1;border-color:#a53939}.muted{color:#59707d;font-size:14px}.payment-instructions{white-space:pre-wrap;overflow-wrap:anywhere}.booking-reference{overflow-wrap:anywhere}.status-result:not(:empty){border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.status-details{grid-template-columns:100px minmax(0,1fr);gap:12px;font-size:14px;line-height:1.6;display:grid}.status-details dt{color:#59707d;font-weight:500}.status-details dd{overflow-wrap:anywhere;margin:0}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:24px;display:grid}.slot-grid button:disabled{color:#59707d;opacity:1;cursor:not-allowed;background:#edf2f2;border-style:dashed}.slot-grid button{font-size:14px}.court-slots-wrap:not(:empty){margin:24px 0}.booking-footer{color:#59707d;flex-wrap:wrap;justify-content:space-between;gap:16px;max-width:1000px;margin:auto;padding:24px;font-size:12px;display:flex}.skip-link{z-index:20;background:#fff;padding:16px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:8px}.admin-toolbar,.action-row{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.action-row{align-items:stretch}.admin-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;display:flex}.admin-account-controls{position:relative}.admin-account-controls .notice{z-index:10;width:min(280px,80vw);position:absolute;top:calc(100% + 8px);right:0}.icon-button{flex:0 0 44px;width:44px;height:48px;padding:10px}.refresh-icon{flex-shrink:0;width:24px;height:24px;display:block}.settings-booking-toggle{margin-bottom:20px}.schedule-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:24px 0 16px;display:flex}.schedule-toolbar h3{margin:0}.schedule-overview{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;gap:24px;margin:24px 0 28px;display:grid}.schedule-overview .blocked-month{margin:0}.schedule-details{min-width:0}.schedule-filter{margin-bottom:12px}.schedule-count{color:#59707d;margin:12px 0;font-size:14px}.schedule-entry{border-top:1px solid var(--line)}.schedule-summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:16px 24px 16px 4px;list-style:none;display:grid;position:relative}.schedule-summary::-webkit-details-marker{display:none}.schedule-summary:after{content:"+";position:absolute;top:16px;right:4px}details[open]>.schedule-summary:after{content:"−"}.schedule-summary:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.schedule-entry-time{font-size:14px;font-weight:600}.schedule-entry-space{overflow-wrap:anywhere;grid-column:1;font-weight:500}.schedule-entry-name{color:#59707d;overflow-wrap:anywhere;grid-column:1;font-size:14px}.schedule-entry-status{color:#59707d;text-transform:capitalize;grid-area:1/2;font-size:12px}.schedule-entry-details>.booking-record{padding:16px 4px}.schedule-entry-reason{overflow-wrap:anywhere}.schedule-entry-details>button{margin-bottom:16px}.schedule-entry-error:empty{display:none}@media (width>=800px){.schedule-list{scrollbar-gutter:stable;max-height:420px;padding-right:8px;overflow-y:auto}}.schedule-details .schedule-toolbar{margin-top:0}@media (width<=799px){.schedule-overview{grid-template-columns:minmax(0,1fr)}}.admin-toolbar:has(.icon-button){align-items:flex-end}.blocked-month{border:1px solid var(--line);border-radius:10px;width:100%;max-width:360px;margin:24px 0;padding:16px}.month-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.month-toolbar .month-title{margin:0;font-size:16px}.month-toolbar svg{width:20px;height:20px}.month-toolbar button{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;padding:8px;display:inline-flex}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.month-weekday{text-align:center;color:#59707d;padding:8px 0;font-size:12px;font-weight:500}.month-day{background:#fff;border:1px solid #0000;border-radius:6px;min-width:0;min-height:44px;padding:4px 0 10px;font-size:14px;position:relative}.month-day[aria-current=date]{border-color:#b8ccd0}.month-day[aria-pressed=true]{background:var(--teal);color:#fff}.month-day.has-blocks:after{content:"";background:#ae5b14;border-radius:50%;width:6px;height:6px;position:absolute;bottom:5px;left:calc(50% - 3px)}.month-day.has-blocks[aria-pressed=true]:after{background:#fff}.month-legend{color:#59707d;margin:12px 0 0;font-size:12px;line-height:1.6}.blocked-month .notice{margin-top:12px;margin-bottom:0;font-size:12px}.admin-toolbar label{flex:1}.admin-toolbar select{min-width:160px}.booking-record{border-top:1px solid var(--line);padding:24px 0}.booking-record h3{margin-bottom:12px}.booking-record dl{grid-template-columns:140px minmax(0,1fr);gap:8px 16px;font-size:14px;line-height:1.6;display:grid}.booking-record dt{color:#59707d;font-weight:500}.booking-record dd{overflow-wrap:anywhere;margin:0}.status-pill{background:#edf7f8;border-radius:6px;margin-bottom:12px;padding:6px 10px;font-size:12px;font-weight:500;display:inline-block}.status-pill.expired{color:#79500b;background:#fff3df}.check-label{flex-direction:row;align-items:center}.check-label input{width:20px;min-height:20px}.sign-in-panel{max-width:480px}.sign-in-panel form{gap:20px;display:grid}@media (width<=600px){.booking-header{padding:12px 16px;font-size:12px}.brand{gap:8px}.brand img{width:34px;height:34px}.booking-container{padding:32px 16px 48px}.booking-panel,.admin-panel{padding:20px 16px}.form-grid{grid-template-columns:1fr;gap:16px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-tabs button,.admin-tabs button{flex:auto;padding:12px;font-size:14px}.booking-record dl{grid-template-columns:1fr;gap:4px}.booking-record dd{margin-bottom:10px}.action-row button{flex:1}.brand span{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.announcement-editor,.announcement-record{border:1px solid var(--line,#dce3e1);background:var(--surface,#fff);border-radius:14px;gap:16px;margin:20px 0;padding:20px;display:grid}.announcement-editor h3,.announcement-record h3{margin:0}.announcement-fields{gap:14px;display:grid}.announcement-fields textarea{resize:vertical;width:100%}.announcement-record-heading,.announcement-delete-confirm{justify-content:space-between;align-items:center;gap:12px;display:flex}.announcement-record .action-row,.announcement-delete-confirm{flex-wrap:wrap}.announcement-status{text-transform:capitalize;background:#eef2f0;border-radius:999px;padding:4px 9px;font-size:12px}.announcement-status.published{color:#17663c;background:#e2f3e9}.announcement-cover-preview{object-fit:cover;border-radius:10px;width:min(100%,420px);max-height:220px;display:block}@media (width<=600px){.announcement-editor,.announcement-record{padding:16px}.announcement-record-heading{align-items:flex-start}}.announcement-photo{gap:16px;margin:24px 0;display:grid}.announcement-photo:empty{display:none}.announcement-photo h3{margin:0}.announcement-photo>button{justify-self:start}.announcement-record h3{overflow-wrap:anywhere;min-width:0}.month-day{min-height:58px;padding-bottom:10px}.month-booking-count{color:#59707d;margin:2px auto 0;font-size:10px;line-height:14px;display:block}.month-booking-count.has-bookings{color:var(--teal);font-weight:600}.month-day[aria-pressed=true] .month-booking-count{color:#fff}.month-day.has-blocks:after{width:4px;height:4px;bottom:3px;left:calc(50% - 2px)}.overview-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.overview-metric{background:#edf7f8;border-radius:8px;flex-direction:column;min-width:0;padding:16px;display:flex}.overview-metric p{margin:0}.rejection-form,.rejection-reason{border:1px solid var(--line);background:#fff8f6;border-radius:8px;margin-top:20px;padding:16px}.rejection-reason p{white-space:pre-wrap;overflow-wrap:anywhere}.announcement-rich-editor{grid-column:1/-1;min-width:0}.announcement-rich-editor .ql-toolbar{border:1px solid var(--line);border-radius:8px 8px 0 0;flex-wrap:wrap;gap:4px;font-family:inherit;display:flex}.announcement-rich-editor .ql-toolbar button{width:auto;min-width:44px;height:44px;color:inherit;font:inherit;border-radius:4px;padding:10px;font-size:14px}.announcement-rich-editor .ql-toolbar button svg{width:20px;height:20px}.announcement-rich-editor .ql-container{border:1px solid var(--line);border-radius:0 0 8px 8px;height:auto;font-family:inherit;font-size:16px}.announcement-rich-editor .ql-editor{overflow-wrap:anywhere;min-height:200px;line-height:1.6}.announcement-rich-editor .ql-tooltip{white-space:normal;z-index:3;max-width:100%;left:0!important}.announcement-rich-editor .ql-tooltip input{width:170px;max-width:100%}.overview-metric-help{cursor:help;text-underline-offset:3px;align-self:flex-start;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;position:relative}.overview-metric-help:after{content:attr(data-tooltip);z-index:2;color:#fff;background:#102f42;border-radius:6px;width:190px;padding:8px 12px;font-size:12px;font-weight:400;line-height:1.5;display:none;position:absolute;top:calc(100% + 8px);right:0}.overview-metric-help:hover:after,.overview-metric-help:focus:after{display:block}.overview-metric strong{margin-top:auto;font-size:28px;font-weight:600;display:block}.overview-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.overview-filters .action-row{grid-column:1/-1;margin:0}.overview-day{margin-top:28px}.overview-record{border-top:1px solid var(--line)}.overview-row{cursor:pointer;overflow-wrap:anywhere;min-height:44px;padding:16px 24px 16px 4px}.overview-record .booking-record{padding:16px 4px}.overview-row>span{margin-right:12px}@media (width<=600px){.overview-summary{gap:8px}.overview-metric{padding:12px 8px;font-size:12px}.overview-metric strong{font-size:24px}.overview-filters{grid-template-columns:minmax(0,1fr)}}.overview-toolbar{justify-content:space-between;margin-top:0}.overview-toolbar h2{margin:0}.overview-filter-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0}.overview-filter-panel>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:500}.overview-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"space status""time time""guest guest";gap:8px 16px;list-style:none;display:grid;position:relative}.overview-row::-webkit-details-marker{display:none}.overview-row:after{content:"+";position:absolute;top:16px;right:0}.overview-record details[open]>.overview-row:after{content:"−"}.overview-row>span{margin:0}.overview-row .overview-row-space{grid-area:space;font-weight:600}.overview-row .overview-row-time{background:#edf7f8;border-radius:4px;grid-area:time;justify-self:start;padding:4px 8px;font-size:14px;font-weight:500}.overview-row .overview-row-guest{color:#59707d;grid-area:guest;font-size:14px}.overview-row .overview-row-status{color:#59707d;background:#f0f3f4;border-radius:4px;grid-area:status;place-self:start;padding:4px 8px;font-size:12px;font-weight:500}.overview-row .overview-row-status.approved{color:#216345;background:#e9f5ed}.overview-row .overview-row-status.pending{color:#79530b;background:#fff4d9}.overview-row .overview-row-status.rejected{color:#93413e;background:#faeeee}.overview-record details[open]>.booking-record{background:#f7fafb;padding:16px}@media (width<=600px){.overview-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"space""time""guest""status";gap:8px}}
