:root{font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#171a17;background:#eff1ec;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--green: #15a05c;--green-dark: #0b7e46;--ink: #262825;--muted: #6b746a;--line: #e1e6df;--surface: #ffffff;--bg: #eff1ec;--danger: #d9533b;--blue: #2f77d6;--gold: #9a8a1e;--control-height: 44px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.65}input[type=checkbox],input[type=radio]{width:18px;min-width:18px;height:18px;accent-color:var(--green)}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select{height:var(--control-height)}input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--green)!important;outline:3px solid rgba(21,160,92,.14)!important;outline-offset:1px}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 28px;color:#fff;background:linear-gradient(120deg,#1e2a22,#262825 62%);box-shadow:0 1px #00000026}.brand-lockup,.topbar-actions,.toolbar-actions,.court-actions,.row-actions{display:flex;align-items:center}.brand-lockup{gap:11px;min-width:0}.brand-mark{width:11px;height:11px;flex:none;border-radius:3px;background:var(--green);box-shadow:0 0 0 4px #15a05c66}.brand-name{font-family:Archivo,sans-serif;font-size:18px;font-weight:900;letter-spacing:.04em}.brand-divider{opacity:.4}.brand-section{font-size:13.5px;font-weight:700;opacity:.84}.topbar-actions{gap:12px}.today-label{font-size:12.5px;font-weight:600;opacity:.62;white-space:nowrap}.ghost-icon,.avatar-button,.icon-only{display:inline-flex;align-items:center;justify-content:center;border:0}.ghost-icon{width:34px;height:34px;border-radius:10px;color:#fff;background:#ffffff14}.avatar-button{gap:7px;min-width:48px;height:34px;padding:0 9px;border-radius:999px;color:#fff;background:var(--green);box-shadow:0 0 0 3px #15a05c38}.avatar-button span{font-family:Archivo,sans-serif;font-weight:900}.dashboard-frame{display:grid;grid-template-columns:244px minmax(0,1fr);align-items:start;width:min(1320px,100%);margin:0 auto}.side-nav{position:sticky;top:57px;align-self:start;padding:24px 16px}.side-nav-group+.side-nav-group{margin-top:22px;padding-top:18px;border-top:1px solid #dce1d8}.side-nav-label{display:block;margin:0 12px 8px;color:#788177;font-family:Archivo,sans-serif;font-size:10.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.nav-item{display:flex;align-items:center;width:100%;gap:11px;margin-bottom:6px;padding:12px 14px;border:0;border-radius:12px;color:#3a403a;background:transparent;text-align:left}.nav-item:hover{background:#e7eae5}.nav-item.is-active{color:#fff;background:var(--ink);box-shadow:0 10px 22px -12px #2628258c}.nav-item span{display:flex;min-width:0;flex-direction:column;gap:1px}.nav-item strong{font-family:Archivo,sans-serif;font-size:14px;font-weight:800}.nav-item small{color:#9aa39a;font-size:11.5px}.nav-item.is-active small{color:#fff9}.main-panel{min-width:0;padding:24px 28px 70px}.page-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-bottom:18px}.page-toolbar>div:first-child{display:flex;min-width:0;flex-direction:column;gap:2px}.page-toolbar strong{overflow:hidden;color:var(--muted);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.eyebrow{color:#9aa39a;font-family:Archivo,sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.toolbar-actions{gap:8px}.section-header{margin-bottom:22px}.section-header h1{margin:0 0 4px;font-family:Archivo,sans-serif;font-size:27px;font-weight:900;letter-spacing:0}.section-header p{max-width:720px;margin:0;color:var(--muted);font-size:13.5px;line-height:1.45}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.kpi-card,.panel,.login-card,.modal-card,.drawer-card{background:var(--surface);border:1px solid #e5e8e2;box-shadow:0 12px 30px -26px #2628256b}.kpi-card{position:relative;display:flex;align-items:center;min-width:0;gap:13px;padding:15px 16px;border-radius:16px}.kpi-card:focus-visible{outline:3px solid rgba(21,160,92,.24);outline-offset:2px}.kpi-icon{display:inline-flex;width:42px;height:42px;flex:none;align-items:center;justify-content:center;border-radius:12px;color:var(--green);background:#eaf4ee}.kpi-icon.blue{color:var(--blue);background:#eaf1fb}.kpi-icon.gold{color:var(--gold);background:#f4f1e6}.kpi-icon.red{color:var(--danger);background:#fbeae6}.kpi-card strong{display:block;font-family:Archivo,sans-serif;font-size:24px;font-weight:900}.kpi-card>div>span{display:block;color:var(--muted);font-size:12px;line-height:1.3}.kpi-info{position:absolute;top:12px;right:12px;color:#9aa39a}.metric-tooltip,.hour-tooltip{position:absolute;z-index:12;padding:9px 11px;border-radius:10px;color:#fff;background:#202722;box-shadow:0 12px 28px -14px #121814c7;font-size:11.5px;font-weight:650;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease}.metric-tooltip{top:calc(100% + 7px);right:12px;left:12px;width:auto}.kpi-card:hover .metric-tooltip,.kpi-card:focus-visible .metric-tooltip,.hour-column:hover .hour-tooltip,.hour-column:focus-visible .hour-tooltip{opacity:1;transform:translateY(0)}.panel{margin-bottom:14px;padding:22px 24px;border-radius:18px}.panel h2{margin:0 0 16px;font-family:Archivo,sans-serif;font-size:16px;font-weight:900}.stats-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:14px}.bar-list,.status-stack,.detail-list,.affected-list{display:flex;flex-direction:column}.bar-list{gap:17px}.bar-row>div:first-child{display:flex;justify-content:space-between;gap:14px;margin-bottom:8px;font-size:13px}.bar-row strong{font-family:Archivo,sans-serif}.bar-row span{color:var(--muted)}.bar-track{height:10px;overflow:hidden;border-radius:6px;background:#f1f4ef}.bar-track span{display:block;height:100%;border-radius:inherit;background:var(--green)}.status-stack{gap:12px}.status-stack>div,.setting-row,.cancel-row,.user-row{display:grid;align-items:center;gap:12px}.status-stack>div{grid-template-columns:1fr auto}.status-stack strong{font-family:Archivo,sans-serif;font-size:20px}.panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.panel-heading small{color:var(--muted);font-size:11.5px;font-weight:700}.hour-chart-shell{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px}.hour-y-axis{display:flex;height:155px;justify-content:space-between;flex-direction:column;padding:2px 0 22px;color:#7f897f;font-size:10.5px;font-weight:800;text-align:right}.hour-chart{position:relative;display:flex;height:155px;align-items:flex-end;gap:6px;background:linear-gradient(to bottom,transparent 0,transparent 1px,#edf0eb 1px,#edf0eb 2px,transparent 2px,transparent calc(100% - 23px),#edf0eb calc(100% - 23px),#edf0eb calc(100% - 22px),transparent calc(100% - 22px))}.hour-column{position:relative;display:flex;height:100%;min-width:0;flex:1;justify-content:flex-end;flex-direction:column;align-items:center;gap:7px;padding:0;border:0;color:inherit;background:transparent}.hour-column:focus-visible{outline:2px solid rgba(21,160,92,.34);outline-offset:2px}.hour-bar{display:block;width:100%;max-height:126px;border-radius:5px 5px 0 0;background:var(--green)}.hour-column small{flex:none;color:#9aa39a;font-size:10.5px;font-weight:700}.hour-tooltip{bottom:calc(100% + 7px);left:50%;width:max-content;max-width:230px;transform:translate(-50%,-4px)}.hour-column:hover .hour-tooltip,.hour-column:focus-visible .hour-tooltip{transform:translate(-50%)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.date-row{gap:7px;margin-bottom:22px}.chip{padding:9px 16px;border:1.5px solid #e3e6e2;border-radius:10px;color:#3a403a;background:#fff;font-family:Archivo,sans-serif;font-size:13px;font-weight:800}.chip.is-active{border-color:var(--green);color:#fff;background:var(--green)}.chip.dark{border-color:var(--ink);background:var(--ink)}.date-chip{padding:8px 13px;font-size:12.5px}.date-picker-control{display:inline-flex;align-items:center;gap:8px;padding-left:4px;color:var(--muted);font-size:12px;font-weight:800}.date-picker-control input{min-height:38px;padding:7px 10px;border:1.5px solid #e3e6e2;border-radius:10px;color:var(--ink);background:#fff;font:inherit}.timeline-panel{overflow:hidden;padding:18px 20px}.timeline-scroll{min-width:720px;overflow-x:auto}.timeline-hours,.timeline-row{display:grid;grid-template-columns:112px minmax(560px,1fr);align-items:center;gap:8px}.timeline-hours{margin-bottom:8px}.timeline-hour-scale{position:relative;height:16px}.timeline-hour-scale strong{position:absolute;top:0;transform:translate(-50%);color:#9aa39a;font-size:11px;font-weight:800;white-space:nowrap}.timeline-hour-scale strong:first-child{transform:none}.timeline-hour-scale strong:last-child{transform:translate(-100%)}.timeline-row{margin-bottom:8px}.timeline-row>strong{color:#3a403a;font-family:Archivo,sans-serif;font-size:13px}.timeline-lane-content{min-width:0}.timeline-track{position:relative;height:42px;overflow:hidden;border:1px solid #e7ebe6;border-radius:10px;background:#f1f4ef}.timeline-track.is-disabled{background:repeating-linear-gradient(45deg,#f0e7e4,#f0e7e4 8px,#f6efed 8px,#f6efed 16px)}.timeline-track em{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#b05f4e;font-family:Archivo,sans-serif;font-size:12px;font-style:normal;font-weight:800;pointer-events:none;z-index:2}.timeline-overlay{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;min-width:1px;overflow:hidden;border-inline:1px solid rgb(113 123 111 / 16%);color:#687166;font-family:Archivo,sans-serif;font-size:10px;font-weight:800;pointer-events:none}.timeline-overlay span{overflow:hidden;padding:0 5px;text-overflow:ellipsis;white-space:nowrap}.timeline-overlay.is-closed{background:repeating-linear-gradient(135deg,#d9ded7e0,#d9ded7e0 7px,#e8ebe6eb 7px,#e8ebe6eb 14px)}.timeline-overlay.is-outage{z-index:2;border-color:#b05f4e3d;color:#8d4b3d;background:repeating-linear-gradient(135deg,#f9e0d7eb,#f9e0d7eb 7px,#ffefe9f0 7px,#ffefe9f0 14px)}.booking-block{position:absolute;top:3px;bottom:3px;overflow:hidden;border:0;border-radius:7px;color:#fff;background:var(--green);font-family:Archivo,sans-serif;font-size:11px;font-weight:800;padding:0 7px;text-align:left;text-overflow:ellipsis;white-space:nowrap;z-index:3}.booking-block.neutral{color:var(--ink);background:#c6cec4}.booking-block.danger{background:var(--danger)}.timeline-out-of-hours{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;color:var(--muted);font-size:11px;font-weight:700}.out-of-hours-booking{min-height:30px;padding:5px 9px;border:0;border-radius:7px;color:#fff;background:var(--green);font-family:Archivo,sans-serif;font-size:11px;font-weight:800}.out-of-hours-booking.neutral{color:var(--ink);background:#c6cec4}.out-of-hours-booking.danger{background:var(--danger)}.timeline-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;padding-left:112px;color:var(--muted);font-size:12px}.timeline-legend span{display:inline-flex;align-items:center;gap:6px}.timeline-legend i{width:12px;height:12px;border-radius:3px}.legend-green{background:var(--green)}.legend-neutral{background:#c6cec4}.legend-red{background:var(--danger)}.legend-open{border:1px solid #e7ebe6;background:#f1f4ef}.legend-closed{border:1px solid #d3d8d1;background:repeating-linear-gradient(135deg,#d9ded7,#d9ded7 3px,#e8ebe6 3px,#e8ebe6 6px)}.legend-outage{border:1px solid #e4bfb3;background:repeating-linear-gradient(135deg,#f9e0d7,#f9e0d7 3px,#ffefe9 3px,#ffefe9 6px)}.mobile-hint,.mobile-tabbar,.mobile-fab,.mobile-booking-list,.reservation-card-list{display:none}.filters{display:flex;align-items:center;gap:10px;margin-bottom:16px}.search-box{position:relative;flex:1;min-width:240px}.search-box svg{position:absolute;left:13px;top:50%;color:#9aa39a;transform:translateY(-50%)}.search-box input,.filters select,.inline-form input,.inline-form select,.settings-form input:not([type=checkbox]):not([type=radio]),.settings-form select,.modal-form input:not([type=checkbox]):not([type=radio]),.modal-form select,.modal-form textarea,.modal-card textarea{width:100%;border:1.5px solid #dce1d8;border-radius:11px;color:var(--ink);background:#fff;outline:none}.search-box input{height:var(--control-height);padding:0 14px 0 40px}.filters select{height:var(--control-height);min-width:160px;padding:0 38px 0 13px}.reservation-filters{align-items:end;flex-wrap:wrap}.reservation-filters>label:not(.search-box){display:grid;min-width:150px;gap:5px;color:#3a403a;font-size:11.5px;font-weight:800}.reservation-filters input[type=date]{width:100%;height:var(--control-height);padding:0 11px;border:1.5px solid #dce1d8;border-radius:11px;color:var(--ink);background:#fff}.table-panel{overflow-x:auto;padding:0}.booking-table{min-width:880px}.table-head,.table-row{display:grid;grid-template-columns:1.1fr 1fr 1.2fr .8fr 1.35fr;gap:12px;align-items:center}.table-head{padding:13px 16px;color:#8a938a;background:#f7f8f5;font-size:11.5px;font-weight:900;text-transform:uppercase}.table-row,.cancel-row,.user-row,.setting-row{padding:14px 16px;border-top:1px solid #eef1ec}.table-row>div,.row-main,.cancel-row>div,.user-row>div,.setting-row>div{min-width:0}.table-row strong,.cancel-row strong,.user-row strong,.setting-row strong,.row-main strong{display:block;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.table-row small,.cancel-row small,.user-row small,.setting-row small,.row-main small{display:block;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.row-main{border:0;color:inherit;background:transparent;text-align:left}.row-actions{justify-content:flex-start;gap:7px}.primary-button,.secondary-button,.danger-button,.danger-outline-button,.danger-soft-button,.icon-text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;font-family:Archivo,sans-serif;font-weight:800}.primary-button{border:0;color:#fff;background:var(--green);box-shadow:0 8px 20px -10px #15a05cb3}.primary-button:not(.compact){width:100%;padding:14px 18px;font-size:15px}.compact{padding:11px 16px;font-size:13px}.secondary-button{border:1.5px solid #dce1d8;color:#3a403a;background:#fff;padding:10px 14px}.danger-button{width:100%;border:0;color:#fff;background:var(--danger);padding:13px}.danger-outline-button,.danger-soft-button,.icon-text-button{padding:7px 10px;font-size:12px}.danger-outline-button{border:1.5px solid #e3d2cf;color:#c0392b;background:#fff}.danger-soft-button{border:0;color:#c0392b;background:#fbf1ef}.icon-text-button{border:1.5px solid #dce1d8;color:#3a403a;background:#fff}.icon-only{width:34px;height:34px;flex:none;border-radius:9px;color:var(--muted);background:#f1f3ef}.icon-only.danger{color:#c0392b;background:#fbf1ef}.status-pill{display:inline-flex;width:max-content;align-items:center;justify-content:center;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:800;white-space:nowrap}.status-pill.success{color:var(--green);background:#eaf4ee}.status-pill.neutral{color:#5a625a;background:#eef1ec}.status-pill.warning{color:#8a7a52;background:#f0ede7}.status-pill.danger{color:#c0392b;background:#fbeae6}.cancel-row{grid-template-columns:1.2fr 1fr 1fr auto}.users-table{min-width:760px}.user-head,.user-row{grid-template-columns:52px 1.5fr .7fr .7fr .8fr .9fr}.rank{color:#c2cabf;font-family:Archivo,sans-serif}.rank.top{color:var(--green)}.guest-list{display:grid;gap:8px}.guest-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(170px,.35fr) minmax(190px,.4fr);align-items:end;gap:10px;margin-bottom:10px;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.guest-search{display:flex;min-width:0;height:var(--control-height);align-items:center;gap:9px;padding:0 12px;border:1.5px solid #dce1d8;border-radius:11px;color:var(--muted);background:#fff}.guest-search:focus-within,.guest-filter-control select:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px #15a05c1f;outline:none}.guest-search input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent}.guest-toolbar .guest-search input[type=search]{min-height:0;height:100%}.guest-filter-control{display:grid;gap:5px;color:#3a403a;font-size:11.5px;font-weight:800}.guest-filter-control select{width:100%;height:var(--control-height);padding:0 34px 0 11px;border:1.5px solid #dce1d8;border-radius:11px;color:var(--ink);background:#fff}.guest-results-summary{display:flex;min-height:30px;align-items:center;justify-content:space-between;gap:12px;padding:0 3px;color:var(--muted);font-size:12px;font-weight:700}.guest-results-summary button{padding:4px 0;border:0;color:var(--green-dark);background:transparent;font-size:12px;font-weight:800}.guest-card{padding:13px 16px}.guest-card-head{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(240px,1fr) auto;align-items:center;gap:18px}.guest-card-head h2{margin:0 0 4px;font-size:18px}.guest-card-head span,.guest-contact-copy{color:var(--muted);font-size:12px}.guest-identity,.guest-booking-summary{min-width:0}.guest-booking-summary{display:grid;gap:3px}.guest-booking-summary strong{font-size:13px}.guest-booking-summary span,.guest-contact-copy span{overflow-wrap:anywhere}.guest-contact-actions,.guest-contact-copy{display:flex;flex-wrap:wrap;gap:8px}.guest-contact-actions a{text-decoration:none}.guest-contact-copy{margin-top:5px}.guest-history{margin-top:10px;border-top:1px solid #e8ebe6}.guest-history summary{display:flex;align-items:center;justify-content:space-between;padding:13px 0 0;cursor:pointer;color:#3a403a;font-size:13px;font-weight:800}.guest-history summary span{min-width:28px;padding:3px 8px;border-radius:999px;color:var(--green);background:#eaf4ee;text-align:center}.guest-history-list{display:grid;margin-top:10px}.guest-history-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:10px 0;border-top:1px solid #eef0ec}.guest-history-list>div>span:first-child{display:grid;gap:3px}.guest-history-list small{color:var(--muted)}.guest-filter-empty{display:grid;justify-items:center;gap:12px}.guest-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:14px;color:var(--muted);font-size:12px}.guest-pagination span strong{color:var(--ink)}.settings-heading{margin-bottom:16px}.settings-heading h2{margin:0 0 4px}.settings-heading small{color:var(--muted)}.weekly-hours-list,.base-price-list,.advanced-rule-list{display:grid;gap:8px}.weekly-hours-row{display:grid;grid-template-columns:130px 140px minmax(260px,1fr) auto;align-items:center;gap:14px;padding:11px 0;border-top:1px solid #eef0ec}.weekly-hours-row.is-closed{color:#6d4d47}.weekly-hours-times{display:grid;grid-template-columns:repeat(2,minmax(110px,160px));gap:10px}.weekly-hours-times label,.base-price-row label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800}.weekly-hours-times select,.base-price-row input{min-height:40px;padding:8px 10px;border:1.5px solid #e1e5df;border-radius:10px;background:#fff}.status-switch{position:relative;display:inline-flex;width:max-content;min-height:38px;align-items:center;gap:8px;padding:4px 11px 4px 7px;border:1.5px solid #dce1d8;border-radius:999px;color:#496050;background:#f4f7f3;cursor:pointer;font-size:12px;font-weight:900;transition:border-color .15s ease,color .15s ease,background .15s ease}.status-switch.is-open{border-color:#c9e4d3;color:var(--green-dark);background:#eff8f2}.status-switch.is-closed{border-color:#edcfc8;color:#a34738;background:#fff4f1}.status-switch-input{position:absolute;width:1px!important;min-width:1px!important;height:1px!important;overflow:hidden;opacity:0;pointer-events:none}.status-switch-track{position:relative;width:34px;height:20px;flex:none;border-radius:999px;background:var(--green);box-shadow:inset 0 0 0 1px #0b7e4624}.status-switch-track:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #2628254d;content:"";transition:transform .15s ease}.status-switch.is-closed .status-switch-track{background:#d56a58;box-shadow:inset 0 0 0 1px #a3473829}.status-switch.is-open .status-switch-track:after{transform:translate(14px)}.status-switch-input:focus-visible+.status-switch-track{outline:3px solid rgba(21,160,92,.18);outline-offset:3px}.settings-form .status-switch{align-self:end;flex-direction:row}.closed-day-copy{width:max-content;padding:7px 10px;border-radius:9px;color:#985043;background:#fff5f2;font-size:12px;font-weight:700}.base-price-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,260px) auto;align-items:end;gap:14px;padding:12px 0;border-top:1px solid #eef0ec}.base-price-row>div{display:grid;gap:3px}.base-price-row small{color:var(--muted)}.advanced-settings{margin-top:16px;border:1px solid #e2e6df;border-radius:15px;background:#fff}.advanced-settings>summary{padding:15px 18px}.advanced-settings-body{display:grid;gap:18px;padding:0 18px 18px}.advanced-settings-body .settings-form{padding:16px;border-radius:12px;background:#f5f7f3}.advanced-rule-list .setting-row{padding:10px 0}.mobile-timeline-toggle{display:none}.danger-text{color:var(--danger);font-weight:900}.form-panel{padding:16px}.dashboard-data-state{min-height:min(440px,calc(100vh - 150px));place-items:center;padding:34px}.dashboard-data-state,.dashboard-data-state>div{display:grid}.dashboard-data-state>div{justify-items:center;max-width:510px;gap:12px;color:var(--muted);text-align:center}.dashboard-data-state h1,.dashboard-data-state p{margin:0}.dashboard-data-state h1{color:var(--ink);font-size:24px}.dashboard-data-state.is-error svg{color:var(--danger)}.court-management-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px}.court-management-intro h2,.court-management-intro p{margin:0}.court-management-intro h2{margin-top:3px;font-size:18px}.court-management-intro p{max-width:680px;margin-top:6px;color:var(--muted);font-size:13px}.inline-form,.settings-form,.modal-form{display:grid;gap:12px}.inline-form{grid-template-columns:220px minmax(220px,1fr) auto}.settings-form,.modal-form{grid-template-columns:repeat(3,minmax(0,1fr))}.outage-range-form{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-form label,.modal-form label,.login-card label{display:flex;min-width:0;flex-direction:column;gap:6px;color:#3a403a;font-size:12.5px;font-weight:800}.settings-form input:not([type=checkbox]):not([type=radio]),.settings-form select,.modal-form input:not([type=checkbox]):not([type=radio]),.modal-form select,.modal-form textarea,.inline-form input,.inline-form select,.modal-card textarea{padding:11px 13px}.settings-form input:not([type=checkbox]):not([type=radio]),.settings-form select,.modal-form input:not([type=checkbox]):not([type=radio]),.modal-form select,.inline-form input:not([type=checkbox]):not([type=radio]),.inline-form select,.flow-field-grid input:not([type=checkbox]):not([type=radio]),.flow-field-grid select,.resource-add-control select{height:var(--control-height)}.settings-form .checkbox-label{flex-direction:row;align-items:center;align-self:end;padding:11px 0}.checkbox-label input{width:auto}.wide{grid-column:1 / -1}.court-group .group-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.group-header h2{margin:0;font-size:18px}.group-header p{margin:3px 0 0;color:var(--muted);font-size:12.5px}.court-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.sport-grid{display:grid;align-items:start;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.sport-card{display:flex;min-width:0;flex-direction:column;gap:16px}.sport-card.disabled{border-color:#ebd9d5}.sport-card-head,.sport-statuses,.sport-edit-actions{display:flex;align-items:center}.sport-card-head{justify-content:space-between;gap:14px}.sport-card-head h2{margin:0;font-size:18px}.sport-card-head p{margin:4px 0 0;color:var(--muted);font-size:12.5px}.sport-statuses{flex:none;flex-wrap:wrap;justify-content:flex-end;gap:6px}.sport-meta{display:grid;grid-template-columns:minmax(0,2fr) minmax(90px,1fr);gap:9px}.sport-meta span{min-width:0;padding:11px;border-radius:12px;color:var(--muted);background:#f7f8f5;font-size:11.5px}.sport-meta strong{display:block;color:var(--ink);font-family:Archivo,sans-serif;font-size:13px;line-height:1.35}.sport-meta span:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sport-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.sport-edit-form label{display:flex;min-width:0;flex-direction:column;gap:6px;color:#3a403a;font-size:12.5px;font-weight:800}.sport-edit-form input:not([type=checkbox]):not([type=radio]){width:100%;padding:11px 13px;border:1.5px solid #dce1d8;border-radius:11px;color:var(--ink);background:#fff;outline:none}.duration-field{min-width:0;margin:0;padding:0;border:0}.duration-field legend{margin-bottom:7px;padding:0;color:#3a403a;font-size:12.5px;font-weight:800}.duration-options{display:flex;flex-wrap:wrap;gap:7px}.duration-options button{min-height:38px;padding:0 13px;border:1.5px solid #dce1d8;border-radius:10px;color:#3a403a;background:#fff;font-size:12.5px;font-weight:800}.duration-options button:hover{border-color:#b8cabd}.duration-options button.is-selected{border-color:var(--green);color:var(--green-dark);background:#edf8f1;box-shadow:0 0 0 2px #15a05c14}.sport-edit-form .duration-field{grid-column:1 / -1}.sport-edit-form>.checkbox-label{grid-column:1 / -1;align-self:auto;flex-direction:row;align-items:center;justify-self:start;padding:0}.sport-edit-actions{grid-column:1 / -1;gap:8px}.court-card{display:flex;min-width:0;flex-direction:column;gap:12px;padding:16px 17px;border:1px solid #e5e8e2;border-radius:15px;background:#fff}.court-card.disabled{border-color:#ebd9d5}.court-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.court-card small{color:var(--muted)}.court-card-description{margin:0;color:#545d53;font-size:13px}.court-actions{flex-wrap:wrap;gap:7px}.court-actions>button{min-height:40px}.court-actions .text-button{padding:8px 10px}.court-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.court-edit-form label small{color:var(--muted);font-weight:500;line-height:1.35}.court-visibility-fields{display:flex;flex-wrap:wrap;gap:10px 24px;padding:13px 14px;border:1px solid #dce1d8;border-radius:12px}.court-visibility-fields legend{padding:0 5px;color:#3a403a;font-size:12.5px;font-weight:800}.court-visibility-fields .checkbox-label{flex-direction:row;align-items:center}.court-deactivation-help{flex-basis:100%;color:var(--muted);font-size:12.5px;line-height:1.4}.settings-list{padding:0}.setting-row{grid-template-columns:minmax(0,1fr) auto auto}.login-screen,.center-state{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 30% 20%,rgba(21,160,92,.16),transparent 28%),linear-gradient(120deg,#1e2a22,#262825)}.login-card{width:min(420px,100%);padding:30px;border-radius:20px}.login-mark{display:block;margin-bottom:22px}.login-card h1{margin:0;font-family:Archivo,sans-serif;font-size:30px}.login-card p{margin:8px 0 22px;color:var(--muted)}.login-card input{width:100%;padding:12px 13px;border:1.5px solid #dce1d8;border-radius:11px}.login-submit{width:auto;min-width:140px;margin-top:16px;padding-inline:24px}.form-error{color:#c0392b;font-size:13px;font-weight:800}.center-state{color:#fff;gap:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:20px;background:#1218147a}.modal-card{width:min(760px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:22px;border-radius:18px}.modal-layer-raised{z-index:70}.modal-card.modal-size-wide{width:min(980px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.modal-head h2,.drawer-card h2{margin:0;font-family:Archivo,sans-serif;font-size:20px}.court-checks{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:0;padding:12px;border:1.5px solid #dce1d8;border-radius:12px}.court-checks legend{padding:0 6px;color:var(--muted);font-size:12px;font-weight:800}.court-checks label{flex-direction:row;align-items:center}.court-checks input{width:auto}.modal-context{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}.modal-context strong{font-family:Archivo,sans-serif;font-size:18px}.modal-context span{color:var(--muted);font-size:13px}.reservation-flow{display:flex;min-width:0;flex-direction:column;gap:16px}.flow-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.flow-progress span{padding:8px 10px;border-radius:10px;color:#8a938a;background:#f3f5f1;font-size:11.5px;font-weight:900;text-align:center}.flow-progress span.is-complete,.flow-progress span.is-active{color:var(--green-dark);background:#eaf4ee}.flow-progress span.is-active{box-shadow:inset 0 0 0 1px #15a05c38}.flow-section,.resource-review,.unresolved-suggestions{padding:16px;border:1px solid #e2e7df;border-radius:15px;background:#fafbf9}.flow-section-heading,.resource-review-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.flow-section-heading h3,.resource-review-heading h3,.unresolved-suggestions h3{margin:0;font-family:Archivo,sans-serif;font-size:15px}.flow-section-heading p,.resource-review-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.resource-review-heading>span{display:grid;width:30px;height:30px;flex:none;place-items:center;border-radius:999px;color:var(--green-dark);background:#eaf4ee;font-weight:900}.flow-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.flow-field-grid label,.resource-add-control{display:flex;min-width:0;flex-direction:column;gap:6px;color:#3a403a;font-size:12.5px;font-weight:800}.flow-field-grid input,.flow-field-grid select,.flow-field-grid textarea,.resource-add-control select{width:100%;padding:11px 13px;border:1.5px solid #dce1d8;border-radius:11px;color:var(--ink);background:#fff;outline:none}.flow-field-wide{grid-column:span 2}.primary-button.flow-resolve-button{display:flex;width:fit-content;min-width:240px;margin:14px 0 0 auto}.resource-chip-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.flow-setup>.resource-chip-list{margin-bottom:16px}.resource-chip{display:flex;min-width:0;align-items:center;gap:9px;padding:10px 11px;border:1px solid #dfe5dc;border-radius:12px;background:#fff}.resource-chip[aria-pressed]{text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.resource-chip[aria-pressed]>svg{flex:none;color:var(--green);transition:opacity .16s ease}.resource-chip[aria-pressed=false]>svg{opacity:0}.resource-chip[aria-pressed=true]{border-color:var(--green);color:var(--green-dark);background:#edf8f1;box-shadow:0 0 0 2px #15a05c14}.resource-chip[aria-pressed]:focus-visible{outline:3px solid rgba(21,160,92,.18);outline-offset:2px}.resource-chip.is-unavailable{border-color:#e8c9c2;background:#fff8f6}.resource-chip>span:first-child{min-width:0;flex:1}.resource-chip strong,.resource-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-chip strong{font-size:13px}.resource-chip small{margin-top:2px;color:var(--muted);font-size:11px}.resource-unavailable-badge{display:inline-flex;align-items:center;gap:4px;color:#b64232;font-size:11px;font-weight:900}.resource-review-empty{grid-column:1 / -1;padding:14px;border:1px dashed #ccd5c8;border-radius:11px;color:var(--muted);font-size:12.5px;text-align:center}.resource-add-control{margin-top:12px}.resource-add-control>span{position:relative;display:block}.resource-add-control svg{position:absolute;top:50%;right:13px;color:var(--green);pointer-events:none;transform:translateY(-50%)}.resource-add-control select{padding-right:38px}.unresolved-suggestions{border-color:#ead9b9;background:#fffaf0}.unresolved-suggestions h3{margin-bottom:10px;color:#7c5f28}.unresolved-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid rgba(138,106,49,.13);color:#5f5138;font-size:12.5px;font-weight:700}.unresolved-row>div,.modal-actions,.flow-footer>div{display:flex;align-items:center;gap:8px}.text-button{display:inline-flex;align-items:center;gap:5px;border:0;color:var(--muted);background:transparent;font-size:12px;font-weight:850}.text-button.danger{color:#b64232}.inline-alert{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid #e8c9c2;border-radius:13px;color:#8d3328;background:#fff4f1}.inline-alert>svg{flex:none;margin-top:1px}.inline-alert>div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:4px}.inline-alert strong{font-size:13px}.inline-alert span{font-size:12.5px;line-height:1.45}.inline-alert .secondary-button{margin-top:5px}.flow-footer{position:sticky;bottom:-22px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -22px -22px;padding:14px 22px;border-top:1px solid #e2e7df;background:#fffffff7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.flow-footer>span{color:var(--muted);font-size:12.5px;font-weight:800}.flow-footer .primary-button{width:auto}.candidate-modal-content>p{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.5}.candidate-list{display:grid;gap:8px;margin:0;padding:12px;border:1px solid #dfe5dc;border-radius:12px}.candidate-list legend{padding:0 5px;color:var(--muted);font-size:11.5px;font-weight:850}.candidate-list label{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;background:#f5f7f3;font-size:13px;font-weight:800}.candidate-list input{width:17px;height:17px;accent-color:var(--green)}.modal-actions{justify-content:flex-end;margin-top:16px}.modal-actions .primary-button{width:auto;padding:11px 16px;font-size:13px}.template-page{min-width:0;overflow:hidden}.template-page .section-header{max-width:720px}.template-readonly-note{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:13px 15px;border:1px solid #dce5da;border-radius:14px;color:#3a403a;background:#f8faf6;font-size:13px;font-weight:700}.template-readonly-note svg{flex:none;color:var(--green)}.template-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 12px}.template-section-heading h2{margin:3px 0 0;font-family:Archivo,sans-serif;font-size:21px}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:13px}.archived-config-list{margin-top:18px;border-top:1px solid #dfe4dc}.archived-config-list>summary{width:max-content;padding:16px 2px 12px;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer}.archived-config-list[open]>summary{color:#3a403a}.template-card{display:flex;min-width:0;flex-direction:column;gap:14px;padding:18px;border:1px solid #e3e8e1;border-radius:17px;background:#fff;box-shadow:0 14px 32px -28px #26282580}.template-card.is-archived,.facility-resource-card.is-archived{opacity:.72}.template-card.is-inactive,.facility-resource-card.is-inactive{border-style:dashed}.template-card-head,.template-card-actions,.template-card-meta,.template-rule-actions,.facility-resource-actions{display:flex;align-items:center}.template-card-head,.template-card-meta{justify-content:space-between;gap:12px}.template-card-icon,.facility-resource-icon{display:inline-flex;width:38px;height:38px;flex:none;align-items:center;justify-content:center;border-radius:11px;color:var(--green);background:#eaf4ee}.template-card h3,.facility-resource-card h3{margin:3px 0 4px;overflow-wrap:anywhere;font-family:Archivo,sans-serif;font-size:17px}.template-card p,.facility-resource-card p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}.template-card-preview{min-height:55px;padding:11px 12px;border-radius:12px;color:#3a403a;background:#f5f7f3;overflow-wrap:anywhere;font-size:12.5px;font-weight:800;line-height:1.45}.template-card-meta{margin-top:auto}.template-card-meta strong{font-family:Archivo,sans-serif;font-size:15px}.template-card-meta span,.facility-resource-card small{color:var(--muted);font-size:11.5px}.template-card-actions,.facility-resource-actions,.template-rule-actions{flex-wrap:wrap;gap:8px}.template-empty,.facility-resource-empty{grid-column:1 / -1;padding:24px;border:1px dashed #d7ddd5;border-radius:15px;color:var(--muted);background:#ffffff73;text-align:center}.facility-resource-section{margin-top:30px}.settings-disclosure{overflow:hidden;border:1px solid #dde3da;border-radius:17px;background:#fff9}.settings-disclosure>summary{padding:17px 19px;cursor:pointer}.settings-disclosure>summary>span{display:inline-flex;flex-direction:column;gap:3px;margin-left:7px;vertical-align:middle}.settings-disclosure>summary strong{color:var(--ink);font-family:Archivo,sans-serif;font-size:15px}.settings-disclosure>summary small{color:var(--muted);font-size:12px}.settings-disclosure-content{padding:4px 19px 19px;border-top:1px solid #e6eae4}.compact-archive-list{margin-top:14px}.facility-resource-create-panel{padding:15px}.facility-resource-create{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(160px,1fr) minmax(170px,1fr) 110px auto;align-items:end;gap:10px}.facility-resource-create label,.facility-resource-edit label{display:flex;min-width:0;flex-direction:column;gap:6px;color:#3a403a;font-size:12.5px;font-weight:800}.facility-resource-create input{width:100%;padding:11px 13px;border:1.5px solid #dce1d8;border-radius:11px;color:var(--ink);background:#fff;outline:none}.facility-resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.facility-resource-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px;border:1px solid #e3e8e1;border-radius:16px;background:#fff}.facility-resource-actions{grid-column:2 / -1}.template-form .template-active-field{align-self:center;flex-direction:row;align-items:center;padding:12px;border:1px solid #e0e5de;border-radius:11px;background:#fff}.template-form .template-active-field input{width:auto}.template-rule-builder{min-width:0;margin:0;padding:14px;border:1.5px solid #dce1d8;border-radius:14px}.template-primary-fields,.template-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-primary-fields .template-name-field{grid-column:1 / -1}.template-primary-fields label small,.template-advanced-grid label small{color:var(--muted);font-size:11.5px;font-weight:600;line-height:1.4}.template-form-errors{padding:12px 14px;border:1px solid #efc9c1;border-radius:12px;color:#8e3d31;background:#fff5f2;font-size:12.5px}.template-form-errors strong{display:block;margin-bottom:4px}.template-form-errors ul{margin:0;padding-left:18px}.template-scope{min-width:0;margin:0;padding:0;border:0}.template-scope legend{margin-bottom:8px;color:#3a403a;font-size:12.5px;font-weight:900}.template-scope-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.template-scope-options>label{min-height:76px;flex-direction:row;align-items:flex-start;gap:10px;padding:13px;border:1.5px solid #dce1d8;border-radius:13px;background:#fff;cursor:pointer}.template-scope-options>label.is-selected{border-color:var(--green);background:#f1f8f3;box-shadow:0 0 0 2px #15a05c14}.template-scope-options input{width:17px;height:17px;margin-top:2px;flex:none;accent-color:var(--green)}.template-scope-options span{display:flex;flex-direction:column;gap:4px}.template-scope-options strong{font-size:13px}.template-scope-options small{color:var(--muted);font-size:11.5px;font-weight:600;line-height:1.35}.template-rule-builder legend{padding:0 7px;color:#3a403a;font-size:12.5px;font-weight:900}.template-rule-help{margin:0 0 11px;color:var(--muted);font-size:12px;line-height:1.45}.template-resource-chooser{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px}.template-resource-chooser label{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:700}.template-resource-chooser select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--surface);padding:0 12px}.template-rule-list{display:grid;gap:9px;margin-top:12px}.template-rule-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.45fr) auto;align-items:end;gap:9px;padding:11px;border-radius:12px;background:#f7f9f5}.template-rule-row>label:only-of-type{grid-column:1 / 3}.template-rule-empty{padding:15px;border:1px dashed #d7ddd5;border-radius:11px;color:var(--muted);background:#fbfcfa;font-size:12px;text-align:center}.template-rule-remove{min-height:41px}.template-preview{display:flex;min-width:0;flex-direction:column;gap:4px;padding:13px 15px;border:1px solid #dce5da;border-radius:13px;background:#f2f8f4}.template-preview span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.template-preview strong{overflow-wrap:anywhere;color:#24583b;font-size:13.5px}.template-advanced{border:1px solid #dfe4dc;border-radius:13px;background:#fbfcfa}.template-advanced>summary{padding:13px 15px;color:#3a403a;font-size:12.5px;font-weight:900;cursor:pointer}.template-advanced-grid{padding:2px 15px 15px}.template-form-footer{position:sticky;bottom:-18px;z-index:2;padding:10px 0 2px;background:#fff;box-shadow:0 -12px 20px -24px #262825b3}.facility-active-field{flex-direction:row!important;align-items:center}.facility-active-field input{width:auto}.confirm-action-content{color:#3a403a;font-size:14px;line-height:1.5}.confirm-action-content p{margin:0 0 9px}.template-form input:focus-visible,.template-form select:focus-visible,.template-form textarea:focus-visible,.template-form summary:focus-visible,.settings-disclosure>summary:focus-visible,.archived-config-list>summary:focus-visible{border-color:var(--green);outline:3px solid rgba(21,160,92,.2);outline-offset:2px}.affected-list{gap:8px;margin:16px 0;padding:14px;border-radius:14px;background:#f7f8f5}.affected-list div{display:flex;flex-direction:column;gap:2px;padding-top:8px;border-top:1px solid #e6ebe4}.affected-list span{font-weight:800}.affected-list small{color:var(--muted)}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;justify-content:flex-end;pointer-events:none}.drawer-card{width:min(420px,100%);min-height:100%;padding:24px;border-radius:0;pointer-events:auto;box-shadow:-18px 0 40px -34px #262825d9}.drawer-card>.icon-only{float:right}.drawer-card>.status-pill{margin:4px 0 16px}.detail-list{gap:12px;margin:22px 0}.detail-list div{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13.5px}.detail-list svg{flex:none;color:var(--green)}.drawer-note{margin:0 0 18px;padding:12px;border-radius:12px;color:#3a403a;background:#f7f8f5;font-size:13px}.drawer-actions{display:grid;gap:10px}.accessible-drawer{z-index:59;pointer-events:auto;background:#1218146b}.cancellation-history,.cancellation-confirmation{display:grid;gap:9px;margin:16px 0;padding:13px;border:1px solid #ead9d5;border-radius:13px;color:#5f4a45;background:#fff8f6;font-size:13px}.cancellation-confirmation label{display:grid;gap:6px;font-weight:800}.cancellation-confirmation p{margin:0}[data-testid=dashboard-revenue]{display:contents}.group-details-card{width:min(480px,100%);overflow-y:auto}.group-details-drawer{z-index:59;pointer-events:auto;background:#1218146b}.group-details-loading,.group-details-error{margin-top:48px;padding:14px;border-radius:13px;color:var(--muted);background:#f7f8f5;font-size:13px;font-weight:800}.group-details-error{display:flex;align-items:flex-start;gap:8px;color:#a8493b;background:#fff1ee}.group-resource-section,.group-cancellation{margin-top:20px;padding-top:18px;border-top:1px solid #e7ebe6}.group-section-heading{display:flex;align-items:center;gap:8px;margin-bottom:11px;color:#3a403a;font-family:Archivo,sans-serif;font-size:13px}.group-section-heading svg{color:var(--green)}.group-resource-list,.group-cancellation-preview ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.group-resource-list li,.group-cancellation-preview li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e7ebe6;border-radius:11px;background:#fbfcfa}.group-resource-list span,.group-cancellation-preview li span{min-width:0;overflow:hidden;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.group-resource-list small,.group-cancellation-preview li small{flex:none;color:var(--muted);font-size:11.5px}.group-cancellation{display:grid;gap:13px}.group-cancellation fieldset{display:grid;gap:8px;margin:0;padding:0;border:0}.group-cancellation legend,.group-cancellation-reason{color:#3a403a;font-size:12px;font-weight:800}.group-cancellation fieldset label{display:flex;min-height:42px;align-items:center;gap:9px;padding:10px 12px;border:1px solid #e1e6df;border-radius:11px;background:#fff;font-size:13px;cursor:pointer}.group-cancellation fieldset input{width:17px;height:17px;accent-color:var(--green)}.group-cancellation-reason{display:grid;gap:7px}.group-cancellation-reason textarea{width:100%;padding:10px 12px;resize:vertical;border:1.5px solid #dce1d8;border-radius:11px;color:var(--ink);background:#fff;font:inherit}.group-cancellation-preview{display:grid;gap:10px;padding:13px;border:1px solid #f0c8bf;border-radius:13px;background:#fff8f6}.group-cancellation-preview>strong,.group-cancellation-preview>span{color:#713b31;font-size:13px}.group-cancellation-preview>span{font-weight:800}.group-cancellation-preview .danger-button{width:100%}.toast{position:fixed;right:18px;bottom:18px;z-index:80;display:inline-flex;align-items:center;gap:9px;max-width:min(420px,calc(100vw - 36px));padding:12px 15px;border-radius:13px;color:#fff;background:var(--ink);box-shadow:0 16px 32px -18px #262825bf;font-weight:800}.toast.success{background:var(--green)}.toast.danger{background:var(--danger)}.empty-state{padding:28px;color:#9aa39a;text-align:center}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.dashboard-frame{grid-template-columns:1fr}.side-nav{position:sticky;top:62px;z-index:20;display:grid;grid-auto-columns:minmax(164px,1fr);grid-auto-flow:column;gap:8px;overflow-x:auto;padding:12px 16px;background:#eff1ecf0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-item{margin:0}.main-panel{padding:18px 16px 56px}.kpi-grid,.stats-layout,.settings-form,.modal-form,.inline-form,.facility-resource-create{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.court-actions>button{min-height:44px}.hour-tooltip{display:none}.topbar{align-items:center;padding:12px 14px}.brand-lockup{flex-wrap:wrap;row-gap:5px}.brand-name{font-size:17px}.brand-section,.today-label,.side-nav{display:none}.main-panel{padding:16px 14px calc(190px + env(safe-area-inset-bottom))}.court-management-intro{align-items:stretch;flex-direction:column}.court-management-intro .primary-button{justify-content:center}.page-toolbar{display:none}.section-header h1{font-size:26px}.section-header{margin-bottom:16px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.kpi-card{min-height:118px;align-items:flex-start;flex-direction:column;gap:10px;padding:13px;border-radius:14px}.kpi-icon{width:36px;height:36px;border-radius:10px}.kpi-card strong{font-size:22px;line-height:1}.kpi-card>div>span{font-size:11.5px}.metric-tooltip{right:0;left:0;width:auto}.panel-heading{align-items:flex-start;flex-direction:column;gap:2px}.hour-chart-shell{grid-template-columns:28px minmax(0,1fr);gap:6px}.stats-layout,.settings-form,.modal-form,.inline-form{grid-template-columns:1fr}.flow-field-grid,.resource-chip-list{grid-template-columns:minmax(0,1fr)}.primary-button.flow-resolve-button{width:100%;min-width:0}.flow-field-wide{grid-column:auto}.flow-section-heading,.resource-review-heading,.unresolved-row,.flow-footer{align-items:stretch;flex-direction:column}.unresolved-row>div,.flow-footer>div{width:100%}.unresolved-row button,.flow-footer button{flex:1}.flow-footer{bottom:-22px}.template-section-heading{align-items:stretch;flex-direction:column}.template-section-heading .primary-button{width:100%}.template-grid,.facility-resource-grid,.facility-resource-create,.template-rule-row,.template-resource-chooser,.template-primary-fields,.template-advanced-grid,.template-scope-options{grid-template-columns:minmax(0,1fr)}.template-primary-fields .template-name-field{grid-column:auto}.template-rule-row>label:only-of-type,.facility-resource-actions{grid-column:auto}.template-rule-row .icon-only,.template-rule-remove{width:100%}.settings-disclosure>summary>span{max-width:calc(100% - 28px)}.facility-resource-card{grid-template-columns:auto minmax(0,1fr)}.facility-resource-card>.status-pill{grid-column:2;justify-self:start}.filters{align-items:stretch;flex-direction:column}.reservation-desktop-list{display:none}.reservation-card-list{display:grid;gap:10px}.reservation-card{display:grid;gap:7px;width:100%;padding:14px;border:1px solid #e5e8e2;border-radius:15px;color:var(--ink);background:#fff;text-align:left}.reservation-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.reservation-card-heading>strong{min-width:0;overflow-wrap:anywhere;font-family:Archivo,sans-serif}.reservation-card>span:not(.reservation-card-heading){color:var(--muted);font-size:12px}.reservation-card-price{color:var(--green)}.search-box{min-width:0}.panel{padding:16px;border-radius:15px}.chip-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.chip{flex:none}.date-row{flex-wrap:wrap;overflow:visible}.date-picker-control{width:100%;justify-content:space-between;padding:4px 0 0}.date-picker-control input{min-width:170px}.timeline-panel{display:none;margin-top:12px;margin-bottom:12px;padding:14px}.timeline-panel.is-mobile-visible{display:block}.timeline-scroll{min-width:620px;padding-bottom:6px}.timeline-hours,.timeline-row{grid-template-columns:94px minmax(500px,1fr)}.timeline-legend{padding-left:94px}.mobile-hint{display:block;margin-top:10px;color:var(--muted);font-size:12px}.mobile-booking-list{display:block;margin-top:12px;padding-bottom:4px}.mobile-timeline-toggle{display:inline-flex;width:100%;justify-content:center;margin-top:10px}.weekly-hours-row,.base-price-row{grid-template-columns:1fr;align-items:stretch;gap:10px}.weekly-hours-times{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-hours-row>button,.base-price-row>button{width:100%;justify-content:center}.guest-card-head{grid-template-columns:1fr;align-items:stretch;gap:10px}.guest-toolbar{grid-template-columns:1fr}.guest-results-summary{align-items:flex-start}.guest-booking-summary{padding-top:9px;border-top:1px solid #eef0ec}.guest-contact-actions{width:100%}.guest-contact-actions a{flex:1;justify-content:center}.guest-history-list>div{grid-template-columns:minmax(0,1fr) auto}.guest-history-list>div>strong{grid-column:1 / -1}.guest-pagination{justify-content:space-between;gap:8px}.guest-pagination span{text-align:center}.guest-pagination button{min-width:0;padding-inline:10px}.mobile-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.mobile-list-head strong{display:block;margin-top:3px;font-family:Archivo,sans-serif;font-size:16px}.mobile-list-head>span{display:inline-flex;min-width:36px;height:32px;align-items:center;justify-content:center;border-radius:10px;color:#fff;background:var(--ink);font-family:Archivo,sans-serif;font-weight:900}.mobile-booking-stack{display:grid;gap:9px}.mobile-booking-card{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:12px;border:1px solid #e5e8e2;border-radius:15px;color:var(--ink);background:#fff;box-shadow:0 10px 26px -24px #26282580;text-align:left}.mobile-booking-time,.mobile-booking-main{display:flex;min-width:0;flex-direction:column;gap:3px}.mobile-booking-time strong,.mobile-booking-main strong{overflow:hidden;font-family:Archivo,sans-serif;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.mobile-booking-time small,.mobile-booking-main small{overflow:hidden;color:var(--muted);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.mobile-booking-card .status-pill{grid-column:2}.mobile-empty-state{padding:16px;border:1px dashed #dce1d8;border-radius:14px;color:var(--muted);background:#fff;font-size:13px;text-align:center}.mobile-fab{position:fixed;right:15px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:57;display:inline-flex;align-items:center;gap:8px;padding:12px 14px;border:0;border-radius:999px;color:#fff;background:var(--green);box-shadow:0 16px 30px -16px #15a05cc7;font-family:Archivo,sans-serif;font-size:13px;font-weight:900}.mobile-more-grid{display:grid;gap:8px}.mobile-more-content>p{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.45}.mobile-more-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:1px solid #eef1ec;border-radius:13px;color:#3a403a;background:#f8faf6;text-align:left}.mobile-more-item.is-active{color:#fff;background:var(--ink)}.mobile-more-item span{display:flex;min-width:0;flex-direction:column;gap:1px}.mobile-more-item strong{font-family:Archivo,sans-serif;font-size:13px}.mobile-more-item small{color:var(--muted);font-size:11.5px}.mobile-more-item.is-active small{color:#ffffffa3}.mobile-tabbar{position:fixed;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;z-index:56;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:7px;border:1px solid rgba(229,232,226,.92);border-radius:20px;background:#fffffff5;box-shadow:0 16px 40px -24px #121814cc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto}.mobile-tab-item{display:flex;min-width:0;min-height:51px;align-items:center;justify-content:center;flex-direction:column;gap:4px;border:0;border-radius:14px;color:#6b746a;background:transparent;font-family:Archivo,sans-serif;font-size:11px;font-weight:900}.mobile-tab-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-tab-item.is-active{color:#fff;background:var(--ink)}.app-shell:has(.modal-backdrop) .mobile-tabbar,.app-shell:has(.modal-backdrop) .mobile-fab{visibility:hidden;pointer-events:none}.modal-backdrop{z-index:100;align-items:end;padding:0}.modal-layer-raised{z-index:110}.modal-card{width:100%;max-height:88vh;border-radius:18px 18px 0 0}.drawer-card{padding-bottom:98px}.toast{right:14px;bottom:calc(82px + env(safe-area-inset-bottom));left:14px;justify-content:center;max-width:none}}@media(max-width:360px){.kpi-grid{grid-template-columns:1fr}.mobile-tab-item{font-size:10px}.mobile-booking-card{grid-template-columns:76px minmax(0,1fr)}}
