.tennis-schedule-date-control{display:flex;align-items:stretch;min-width:0;border:1px solid var(--tennis-header-hour-tick, #79a68e);border-radius:4px;background:var(--surface, #fff);box-shadow:0 1px 2px #285e4b0d}.tennis-schedule-date-control:hover{border-color:var(--brand, #26734d)}.tennis-schedule-date-control:focus-within{outline:2px solid var(--brand, #26734d);outline-offset:1px}.tennis-grid-date-picker .tennis-schedule-date-input{flex:1 1 0;width:0;min-width:0;min-height:24px;padding:2px 0 2px 5px;border:0;border-radius:4px 0 0 4px;outline:none;box-shadow:none;background:transparent;color:var(--tennis-header-text, #285e4b);font:inherit;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.tennis-grid-date-picker .tennis-schedule-date-input:focus-visible{outline:none}.tennis-grid-date-picker .tennis-schedule-date-input[aria-invalid=true]{color:var(--danger, #a33636)}.tennis-grid-date-picker .tennis-schedule-date-trigger{display:inline-flex;flex:0 0 25px;align-items:center;justify-content:center;width:25px;min-height:24px;height:auto;padding:0;border:0;border-radius:0 3px 3px 0;background:transparent;color:var(--tennis-header-text, #285e4b);cursor:pointer}.tennis-grid-date-picker .tennis-schedule-date-trigger:hover{background:var(--brand-soft, #e8f3ed)}.tennis-grid-date-picker .tennis-schedule-date-trigger:focus-visible{outline:2px solid var(--brand, #26734d);outline-offset:-2px}.tennis-schedule-calendar{position:fixed;z-index:120;box-sizing:border-box;width:min(336px,calc(100vw - 8px));padding:6px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border, #d7e0d9);border-radius:8px;background:var(--surface, #fff);color:var(--text, #17201b);box-shadow:0 8px 28px #17201b24,0 2px 6px #17201b0c;font-size:12px}.tennis-schedule-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:2px}.tennis-schedule-calendar-heading strong{font-size:13px;font-weight:650}.tennis-schedule-calendar-heading button{display:inline-flex;width:36px;height:34px;align-items:center;justify-content:center;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;cursor:pointer}.tennis-schedule-calendar-heading button:hover:not(:disabled){background:var(--surface-muted, #f1f5f2)}.tennis-schedule-calendar-heading button:disabled{opacity:.35;cursor:default}.tennis-schedule-calendar-grid{width:100%;table-layout:fixed;border-collapse:collapse;border:0;margin:0}.tennis-schedule-calendar-grid th,.tennis-schedule-calendar-grid td{padding:0;border:0;background:transparent;text-align:center}.tennis-schedule-calendar-grid th{height:24px;color:var(--muted, #536159);font-size:11px;font-weight:500}.tennis-schedule-calendar-grid .tennis-schedule-calendar-day{position:relative;display:flex;width:100%;min-width:0;height:36px;align-items:center;justify-content:center;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;font-size:12px;font-variant-numeric:tabular-nums;cursor:pointer}.tennis-schedule-calendar-grid .tennis-schedule-calendar-day.is-outside{color:var(--muted, #536159);opacity:.65}.tennis-schedule-calendar-grid .tennis-schedule-calendar-day:hover{background:var(--brand-soft, #e8f3ed);opacity:1}.tennis-schedule-calendar-grid .tennis-schedule-calendar-day.is-today{font-weight:750}.tennis-schedule-calendar-day.is-today:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--brand, #26734d)}.tennis-schedule-calendar-grid .tennis-schedule-calendar-day.is-selected{background:var(--brand, #26734d);color:#fff;opacity:1;font-weight:700}.tennis-schedule-calendar-day.is-selected.is-today:after{background:#fff}.tennis-schedule-calendar button:focus-visible{outline:2px solid var(--brand, #26734d);outline-offset:-2px}.tennis-schedule-calendar-grid .tennis-schedule-calendar-day.is-selected:focus-visible{outline-color:#fff;box-shadow:inset 0 0 0 3px var(--brand, #26734d)}.tennis-schedule-calendar-error{margin:0;padding:3px 6px 5px;color:var(--danger, #a33636);font-size:11px}@media(max-width:640px),(pointer:coarse){.tennis-grid-date-picker .tennis-schedule-date-input{min-height:42px;font-size:16px}.tennis-grid-date-picker .tennis-schedule-date-trigger{flex-basis:44px;width:44px;min-height:42px}.tennis-schedule-calendar{padding:1px}.tennis-schedule-calendar-heading button{width:44px;height:44px}.tennis-schedule-calendar-grid .tennis-schedule-calendar-day{height:44px;font-size:13px}}.tennis-overview{min-width:0}.tennis-overview [hidden]{display:none!important}.tennis-overview>.page-heading{margin-bottom:18px}.tennis-overview-tabs{display:flex;align-items:stretch;gap:6px;padding:0 0 0 2px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}.tennis-overview-tabs>button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 17px;border:0;border-bottom:2px solid transparent;border-radius:4px 4px 0 0;background:transparent;color:var(--muted);font-size:14px;white-space:nowrap;transition:background .15s,color .15s}.tennis-overview-tabs>button:hover{background:var(--surface-muted);color:var(--text)}.tennis-overview-tabs>button[aria-selected=true]{border-bottom-color:var(--brand);background:var(--brand-soft);color:var(--brand-hover);font-weight:650}.tennis-overview-count{padding:1px 5px;font-size:11px;line-height:18px;border-radius:4px;background:var(--warning-soft);color:var(--warning);font-variant-numeric:tabular-nums}.tennis-overview button:focus-visible,.tennis-overview [role=tabpanel]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tennis-overview-simulation{margin:0 0 14px;color:var(--warning);font-size:12px}.tennis-overview-pending{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.tennis-overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:6px;background:var(--surface);margin-bottom:20px}.tennis-overview-metrics>div{min-width:0;padding:20px 22px}.tennis-overview-metrics>div+div{border-left:1px solid var(--border)}.tennis-overview-metrics>div>span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.tennis-overview-metrics>div>span>svg{flex-shrink:0}.tennis-overview-metrics strong{display:block;color:var(--text);font-size:clamp(22px,2vw,28px);font-weight:650;line-height:1.3;font-variant-numeric:tabular-nums;margin:13px 0 6px;overflow-wrap:anywhere}.tennis-overview-metrics>div:first-child strong{color:var(--brand)}.tennis-overview-metrics small{font-size:12px;color:var(--muted)}.tennis-overview-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,320px);align-items:start;gap:20px}.tennis-overview-workbench.is-single{grid-template-columns:minmax(0,1fr)}.tennis-overview-workbench>*,.tennis-overview-side,.tennis-overview-attention>*{min-width:0}.tennis-overview-side{display:grid;gap:18px}.tennis-overview-side>.tennis-panel,.tennis-overview-workbench>.tennis-panel,.tennis-overview-attention>.tennis-panel{margin:0}.tennis-overview-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:14px}.tennis-overview-filters>button{padding:7px 12px;min-height:40px;font-size:13px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--muted)}.tennis-overview-filters>button:hover{border-color:var(--border-strong);color:var(--text)}.tennis-overview-filters>button[aria-pressed=true]{background:var(--brand-soft);color:var(--brand-hover);border-color:var(--brand);font-weight:600}.tennis-overview-appointments{display:grid}.tennis-overview-appointment{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 0;border-bottom:1px solid var(--border)}.tennis-overview-appointment:first-child{padding-top:12px}.tennis-overview-appointment:last-child{border-bottom:0}.tennis-overview-appointment-main{min-width:0}.tennis-overview-appointment-heading{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.tennis-overview-appointment-heading>strong{font-size:15px;overflow-wrap:anywhere;margin-right:3px}.tennis-overview-slots{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:9px;font-size:13px;color:var(--muted)}.tennis-overview-slots>span{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.tennis-overview-slots>span>span{font-variant-numeric:tabular-nums}.tennis-overview-deadline{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--warning);margin:8px 0 0}.tennis-overview-appointment-action{display:grid;gap:9px;justify-items:end;flex-shrink:0}.tennis-overview-appointment-action>span{font-size:12px;color:var(--muted)}.tennis-overview-appointment-action strong{font-size:15px;color:var(--text);margin-left:3px;font-variant-numeric:tabular-nums}.tennis-overview-appointment-action>button{min-height:40px}.tennis-overview-side-intro{margin:-6px 0 12px}.tennis-overview-task{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--border);padding:15px 0;background:transparent}.tennis-overview-task:hover,.tennis-overview-shortcut:hover{color:var(--brand)}.tennis-overview-task>span{display:flex;align-items:center;gap:11px}.tennis-overview-task strong,.tennis-overview-shortcut strong{display:block;font-size:14px;font-weight:600}.tennis-overview-task small,.tennis-overview-shortcut small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5}.tennis-overview-task svg{flex-shrink:0;color:var(--muted)}.tennis-overview-task b{font-weight:650;font-size:20px;font-variant-numeric:tabular-nums}.tennis-overview-clear{font-size:12px;color:var(--success);margin:16px 0 0}.tennis-overview-shortcut{display:flex;width:100%;align-items:center;gap:10px;padding:12px 0;background:transparent;text-align:left;border:0}.tennis-overview-shortcut>span{flex:1}.tennis-overview-shortcut>svg{flex-shrink:0;color:var(--brand)}.tennis-overview-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.tennis-overview-pagination .tennis-toolbar{margin:0}.tennis-overview-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between}.tennis-overview-toolbar>.tennis-overview-filters{margin-bottom:0}.tennis-overview-toolbar label{display:grid;gap:6px;font-size:13px}.tennis-overview-toolbar input,.tennis-overview-search input{min-width:0}.tennis-overview-search{display:grid;gap:6px;font-size:13px;width:min(100%,320px)}.tennis-finance-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-block:1px solid var(--border);padding:20px 0;margin:20px 0;gap:18px}.tennis-finance-summary>div{display:grid;gap:9px;min-width:0}.tennis-finance-summary span{color:var(--muted);font-size:12px}.tennis-finance-summary strong{font-size:21px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tennis-overview-table{min-width:680px}.tennis-overview-table th{white-space:nowrap}.tennis-overview-table td{vertical-align:middle}.overview-amount-positive{color:var(--brand);font-variant-numeric:tabular-nums}.overview-amount-negative{color:var(--danger);font-variant-numeric:tabular-nums}.tennis-overview-attention{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.tennis-overview-empty{padding-block:16px}@media(min-width:1600px){.tennis-overview-workbench{grid-template-columns:minmax(0,1fr) 360px}}@media(max-width:1100px){.tennis-overview-workbench{grid-template-columns:minmax(0,1fr)}.tennis-overview-side{grid-template-columns:repeat(2,minmax(0,1fr))}.tennis-overview-metrics>div{padding:18px 15px}}@media(max-width:720px){.tennis-overview-tabs{gap:2px}.tennis-overview-tabs>button{padding-inline:11px;font-size:13px;gap:6px}.tennis-overview-tabs>button>svg{display:none}.tennis-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tennis-overview-metrics>div:nth-child(3){border-left:0}.tennis-overview-metrics>div:nth-child(n+3){border-top:1px solid var(--border)}.tennis-overview-metrics strong{font-size:23px}.tennis-overview-side{grid-template-columns:minmax(0,1fr)}.tennis-overview-appointment{align-items:stretch;flex-direction:column;gap:12px}.tennis-overview-appointment-action{display:flex;align-items:center;justify-content:space-between}.tennis-overview button,.tennis-overview input,.tennis-overview select{min-height:44px}.tennis-overview-filters{gap:6px}.tennis-finance-summary{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}.tennis-overview-toolbar>*{max-width:100%}.tennis-overview .panel-heading{flex-wrap:wrap;gap:12px;align-items:flex-start}.tennis-overview .tennis-panel{padding:16px}.tennis-overview-pagination>.tennis-toolbar{width:100%;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.tennis-overview-tabs>button{transition:none}}.assistant-sidebar-slot{display:flex;align-items:center}.assistant-trigger{display:flex;gap:10px;align-items:center;width:100%;padding:10px 12px;min-height:42px;border:1px solid var(--border);border-radius:5px;background:var(--brand-soft);color:var(--brand);font-weight:600}.assistant-trigger:hover{border-color:var(--brand)}.assistant-sidebar-slot .assistant-trigger{gap:8px;padding:8px;min-height:44px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;text-align:left;transition:color .16s ease,background-color .16s ease}.assistant-sidebar-slot .assistant-trigger svg{flex-shrink:0}.assistant-sidebar-slot .assistant-trigger:hover{background:var(--surface-muted);color:var(--text)}.assistant-sidebar-slot .assistant-trigger[aria-expanded=true]{color:var(--brand)}.sidebar-is-collapsed .assistant-sidebar-slot .assistant-trigger{justify-content:center;padding:10px 0}.sidebar-is-collapsed .assistant-sidebar-slot .assistant-trigger span,.assistant-trigger-mobile{display:none}.assistant-trigger-compact{width:auto;margin-left:auto;flex-shrink:0;padding:7px 10px}.assistant-portal{display:contents}.assistant-panel[hidden]{display:none}.assistant-panel{position:fixed;z-index:80;inset:0 0 0 auto;width:min(400px,100vw);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 30px #17201b24}.assistant-header{flex-shrink:0;padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.assistant-header>div{display:flex;gap:8px;align-items:center}.assistant-header>div:first-child{color:var(--brand)}.assistant-messages{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:24px 18px}.assistant-welcome{padding-top:12px}.assistant-welcome>svg{color:var(--brand);margin-bottom:16px}.assistant-welcome h2{margin-bottom:10px}.assistant-welcome p{color:var(--muted);line-height:1.7}.assistant-suggestions{display:grid;gap:8px;margin-top:20px}.assistant-suggestions button{display:grid;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:12px;padding:12px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--text);transition:background-color .16s ease,border-color .16s ease}.assistant-suggestions button>span{display:grid;gap:4px}.assistant-suggestions strong{font-size:13px;font-weight:600}.assistant-suggestions small{font-size:12px;line-height:1.65;color:var(--muted);text-wrap:pretty}.assistant-suggestions button>svg{color:var(--muted)}.assistant-suggestions button:hover{background:var(--brand-soft);border-color:var(--border-strong)}.assistant-message{margin-bottom:24px;overflow-wrap:anywhere}.assistant-message-author{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.assistant-message-text{white-space:pre-wrap;line-height:1.75}.assistant-markdown{white-space:normal;text-wrap:pretty}.assistant-markdown>:first-child{margin-top:0}.assistant-markdown>:last-child{margin-bottom:0}.assistant-markdown p{margin:0 0 12px}.assistant-markdown strong{font-weight:650;color:var(--text)}.assistant-markdown :is(h1,h2,h3,h4,h5,h6){margin:20px 0 8px;font-size:15px;line-height:1.6;font-weight:650;letter-spacing:0}.assistant-markdown :is(ul,ol){margin:12px 0;padding-left:24px}.assistant-markdown li{margin:8px 0;padding-left:3px}.assistant-markdown li::marker{color:var(--muted);font-weight:600}.assistant-markdown li>p{margin-bottom:6px}.assistant-markdown li>:last-child{margin-bottom:0}.assistant-markdown li :is(ul,ol){margin:6px 0}.assistant-markdown blockquote{margin:14px 0;padding:12px 14px;background:var(--surface-muted);border-radius:5px;color:var(--muted)}.assistant-markdown blockquote>:last-child{margin-bottom:0}.assistant-markdown hr{margin:18px 0;border:0;border-top:1px solid var(--border)}.assistant-markdown code{font:inherit;padding:1px 4px;background:var(--surface-muted);border-radius:3px}.assistant-markdown pre{margin:12px 0;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-muted);border-radius:5px;font:inherit}.assistant-markdown pre code{padding:0;background:transparent}.assistant-table-scroll{max-width:100%;overflow-x:auto;margin:14px 0}.assistant-markdown table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.6}.assistant-markdown :is(th,td){min-width:80px;padding:8px 10px;border:1px solid var(--border);text-align:left;white-space:normal}.assistant-markdown th{background:var(--surface-muted);font-weight:650}.assistant-message-user .assistant-message-text{background:var(--brand-soft);border-radius:7px;padding:10px 12px}.assistant-feedback{margin-top:14px;font-size:12px;color:var(--muted)}.assistant-feedback>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.assistant-feedback button{border:1px solid var(--border);border-radius:5px;background:transparent;padding:6px 9px;color:var(--muted);font-size:12px}.assistant-feedback button:hover,.assistant-feedback button[aria-pressed=true]{color:var(--brand);background:var(--brand-soft);border-color:var(--border-strong)}.assistant-feedback-status:not(:empty){display:block;margin-top:6px}.assistant-feedback>p{color:var(--danger);margin:6px 0 0}.assistant-entry{margin-top:14px;border:1px solid var(--border);border-radius:5px;padding:12px}.assistant-entry ol,.assistant-operation-guide ol{margin:10px 0 0;padding-left:20px}.assistant-entry li,.assistant-operation-guide li{margin:7px 0;line-height:1.6}.assistant-composer{flex-shrink:0;border-top:1px solid var(--border);padding:14px 16px max(14px,env(safe-area-inset-bottom));background:var(--surface)}.assistant-composer textarea{min-height:80px;max-height:160px;resize:vertical}.assistant-composer>div{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px}.assistant-composer small,.assistant-wait{color:var(--muted);font-size:12px}.assistant-composer-help{display:grid;gap:4px}.assistant-composer-help small:last-child{font-size:11px}.assistant-error{color:var(--danger);background:var(--danger-soft);padding:12px;border-radius:5px;margin:12px 0;overflow-wrap:anywhere}.assistant-notice{background:var(--surface-muted);padding:12px;margin:16px 0;border-radius:5px}.assistant-resume{position:fixed;bottom:20px;right:20px;z-index:70;box-shadow:0 3px 15px #17201b1f}.assistant-operation-guide{margin:0 0 16px;padding:12px 14px;border:1px solid var(--border);border-radius:5px;background:var(--brand-soft)}.assistant-operation-guide summary{color:var(--brand);font-weight:600}.assistant-settings-page{max-width:860px}.assistant-settings-page .page-heading p:not(.eyebrow){color:var(--muted);margin-top:8px}.assistant-settings-form{max-width:680px}.assistant-settings-form fieldset{border:0;padding:0;margin:0;display:grid;gap:20px}.assistant-settings-form label{display:grid;gap:7px;font-weight:600}.assistant-settings-form label small{font-weight:400;color:var(--muted)}.assistant-settings-form .assistant-enable{display:flex;align-items:center;gap:10px}.assistant-enable input{min-height:auto;width:16px;height:16px;accent-color:var(--brand)}.assistant-settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.assistant-setting-hint{color:var(--muted);font-size:12px;line-height:1.7;margin-top:12px}.assistant-save-notice{padding:12px;background:var(--success-soft);color:var(--success);margin:12px 0;border-radius:5px}@media(max-width:860px){.assistant-trigger-mobile{display:flex;width:auto;min-height:40px;padding:7px 10px;margin-left:auto}.assistant-sidebar-slot{display:none}}@media(max-width:720px){.assistant-panel{width:100%;height:100dvh;border-left:0}.assistant-composer textarea{font-size:16px}.assistant-resume{bottom:78px;right:12px}.assistant-settings-page .page-heading{flex-wrap:wrap}}.assistant-settings-page>.page-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.assistant-settings-form>.detail-section>fieldset{padding:20px}.assistant-settings-form .assistant-settings-actions{margin:0;padding:0 20px 12px}.assistant-settings-form .detail-section>.assistant-setting-hint{padding:0 20px 18px;margin:0}.assistant-settings-form .detail-section>.assistant-notice{margin:16px 20px 0}.settings-page:has(.assistant-settings-page) .settings-tabs{flex-wrap:wrap}.settings-page:has(.assistant-settings-page) .settings-tabs .settings-link{flex-shrink:0;gap:8px}@media(max-width:480px){.settings-page:has(.assistant-settings-page) .settings-tabs{gap:6px}.settings-page:has(.assistant-settings-page) .settings-tabs .settings-link{padding:10px;white-space:nowrap}}.modal[data-assistant-open=true]{overflow:visible;margin-right:400px;max-width:calc(100vw - 420px)}.modal[data-assistant-open=true]>.modal-shell{overflow:hidden;border-radius:inherit}@media(max-width:860px){.assistant-is-open .assistant-panel{inset:auto 0 0;width:100vw;height:45dvh;border-top:1px solid var(--border)}.assistant-is-open .app-shell{padding-bottom:45dvh}.assistant-is-open .assistant-messages{padding:12px 16px}.assistant-is-open .assistant-welcome{padding-top:0}.assistant-is-open .assistant-composer{padding:8px 12px}.assistant-is-open .assistant-composer textarea{min-height:44px;height:44px}.modal[data-assistant-open=true]{inset:0 0 auto;width:100vw;max-width:100vw;height:55dvh;max-height:55dvh;margin:0}.modal[data-assistant-open=true]>.modal-shell{height:55dvh;max-height:55dvh}}@media(min-width:861px){.assistant-is-open .app-shell{margin-right:400px}}.assistant-is-open .room-status-toolbar{container-type:inline-size}@container (max-width: 760px){.assistant-is-open .room-status-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-is-open .room-status-search-field{grid-column:1 / -1}.assistant-is-open .room-status-toolbar-quick-actions{grid-column:1 / -1;min-width:0;flex-wrap:wrap}}@media(max-width:860px){html:has(.assistant-is-open){scroll-padding-bottom:45dvh}}.tennis-ai-panel{color:var(--text);font-size:14px}.tennis-ai-panel .assistant-context{padding:8px 16px;border-bottom:1px solid var(--border);color:var(--muted);font-size:12px;line-height:1.6}.tennis-ai-panel .assistant-history{padding:8px 16px;border-bottom:1px solid var(--border)}.tennis-ai-panel .assistant-history summary{color:var(--muted);cursor:pointer;font-size:12px}.tennis-ai-panel .assistant-history select{margin:8px 0}.tennis-ai-panel .assistant-composer textarea{width:100%}.tennis-ai-panel .assistant-welcome h2{font-size:20px}.assistant-is-open .tennis-booking-layout.has-draft{grid-template-columns:minmax(0,1fr)}.assistant-is-open .tennis-booking-side{position:static;max-height:none}@media(max-width:860px){.assistant-is-open .tennis-booking-side{position:fixed;bottom:45dvh;max-height:45dvh}.assistant-is-open .tennis-bottom-nav{bottom:45dvh}.tennis-ai-panel .assistant-context{padding:4px 12px}.tennis-ai-panel .assistant-header{padding:8px 12px}}:root{color:#17201b;background:#f4f6f3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #f4f6f3;--surface: #ffffff;--surface-muted: #eef2ee;--text: #17201b;--muted: #536159;--faint: #5d6a62;--border: #d9dfda;--border-strong: #bac4bd;--brand: #176b4d;--brand-hover: #10563d;--brand-soft: #e3f0e9;--accent: #315f78;--accent-soft: #e5eef2;--warning: #8a510f;--warning-soft: #f9eddc;--danger: #a33636;--danger-hover: #812929;--danger-soft: #f9e8e7;--success: #287a4b;--success-soft: #e5f3e9;--focus: #1c6f91;--shadow-dialog: 0 18px 60px rgba(23, 32, 27, .22)}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:var(--canvas);color:var(--text);font-size:14px;line-height:1.45;letter-spacing:0}button,input,select,textarea{font:inherit;letter-spacing:0}button,select,summary,a{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}a{color:var(--brand);text-decoration:none}p,h1,h2,h3,dl,dd{margin:0}h1,h2,h3,p,label,button,th,td,dd{text-wrap:pretty}h1{font-size:26px;line-height:1.2;font-weight:680}h2{font-size:18px;line-height:1.25;font-weight:650}h3{font-size:15px;line-height:1.3;font-weight:650}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}input,select,textarea{width:100%;min-height:40px;border:1px solid var(--border-strong);border-radius:5px;padding:8px 10px;background:var(--surface);color:var(--text);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}textarea{resize:vertical}input:hover,select:hover,textarea:hover{border-color:#8e9b92}:focus-visible{outline:3px solid rgba(28,111,145,.28);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;border-color:var(--focus);box-shadow:0 0 0 3px #1c6f9133}.sr-only,.sr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;transform:translateY(-150%);background:var(--text);color:#fff;padding:10px 14px;border-radius:5px}.skip-link:focus{transform:translateY(0)}.button,.icon-button,.copy-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border-radius:5px;border:1px solid transparent;font-weight:620;white-space:nowrap;transition:color .16s ease,border-color .16s ease,background-color .16s ease}.button{padding:8px 14px}.button-primary{background:var(--brand);border-color:var(--brand);color:#fff}.button-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.button-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.button-secondary:hover:not(:disabled){background:var(--surface-muted);border-color:#929f96}.button-danger{background:var(--danger);border-color:var(--danger);color:#fff}.button-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.command-confirm-button{max-width:100%;white-space:normal;text-align:center}.button-compact{min-height:40px;padding:5px 10px;font-size:13px}.icon-button{width:40px;min-width:40px;padding:0;background:transparent;border-color:transparent;color:var(--muted)}.icon-button:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border);color:var(--text)}.copy-button{width:30px;min-width:30px;min-height:30px;padding:0;background:transparent;border:0;color:var(--muted)}.danger-icon{color:var(--danger)}.danger-icon:hover:not(:disabled){background:var(--danger-soft);border-color:#dfb5b2;color:var(--danger-hover)}.full-width{width:100%}.startup-state{min-height:100vh;min-height:100dvh;display:grid;place-content:center;gap:16px;padding:24px}.loading-block{display:flex;align-items:center;justify-content:center;gap:9px;min-height:140px;color:var(--muted)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--canvas)}.login-panel{width:min(100%,420px);display:grid;gap:28px;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 36px #17201b17}.login-brand,.sidebar-brand{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:600}.brand-word{color:var(--text);font-size:20px;font-weight:760}.eyebrow{color:var(--brand);font-size:11px;line-height:1.3;font-weight:750;text-transform:uppercase}.login-panel h1{margin-top:5px}.login-form{display:grid;grid-template-columns:1fr;gap:8px}.login-form label{margin-top:5px;color:var(--muted);font-weight:620}.login-submit{margin-top:12px}.demo-account{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;padding-top:18px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.demo-account code{padding:3px 6px;background:var(--surface-muted);border-radius:4px;color:var(--text)}.app-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:176px minmax(0,1fr);transition:grid-template-columns .16s ease}.app-shell.sidebar-is-collapsed{grid-template-columns:60px minmax(0,1fr)}.sidebar{position:sticky;top:0;z-index:20;height:100vh;height:100dvh;display:flex;flex-direction:column;padding:16px 10px;background:#eef1ee;border-right:1px solid var(--border)}.sidebar-brand-row{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:4px;margin-bottom:14px}.sidebar-brand{min-width:0;padding:2px 6px}.sidebar-brand-identity{display:flex;flex-direction:column;min-width:0}.sidebar-brand-compact{display:none}.sidebar-toggle{flex:0 0 auto}.sidebar-is-collapsed .sidebar-brand-row{flex-direction:column;gap:6px;margin-bottom:12px}.sidebar-is-collapsed .sidebar-brand{justify-content:center;padding:0}.sidebar-is-collapsed .sidebar-brand-full,.sidebar-is-collapsed .sidebar-brand-product,.sidebar-is-collapsed .nav-link span,.sidebar-is-collapsed .sidebar-property select,.sidebar-is-collapsed .sidebar-property-chevron,.sidebar-is-collapsed .sidebar-user div{display:none}.sidebar-is-collapsed .sidebar-brand-compact{display:inline}.sidebar-is-collapsed .primary-navigation .nav-link,.sidebar-is-collapsed .sidebar-property{justify-content:center;padding-inline:0}.sidebar-is-collapsed .sidebar-user{grid-template-columns:1fr;justify-items:center;padding-inline:0}.primary-navigation{display:grid;gap:4px}.application-version{align-self:flex-start;margin-left:6px;color:var(--muted);font-size:10px;font-weight:500;line-height:14px;text-decoration:none;white-space:nowrap}.application-version:hover{color:var(--brand);text-decoration:underline}.sidebar-is-collapsed .application-version{display:none}.nav-link{min-height:42px;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:5px;color:var(--muted);font-weight:620;transition:color .16s ease,background-color .16s ease}.nav-link:hover{background:#e3e8e4;color:var(--text)}.nav-link.active{background:#dce9e2;color:var(--brand-hover)}.sidebar-utilities{margin-top:auto}.sidebar-utilities>*{min-height:52px;border-top:1px solid var(--border)}.sidebar-property{position:relative;min-width:0;display:flex;align-items:center;gap:8px;padding:8px;color:var(--muted)}.sidebar-property>svg{flex-shrink:0}.sidebar-property-chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none}.sidebar-property select{min-width:0;width:100%;min-height:28px;padding:3px 22px 3px 0;appearance:none;border:0;background-color:transparent;color:var(--muted);font-size:13px;font-weight:600}.sidebar-property select:hover,.sidebar-property select:focus{color:var(--text)}.sidebar-user{display:grid;grid-template-columns:18px minmax(0,1fr) 28px;align-items:center;gap:8px;padding:8px;color:var(--muted)}.sidebar-user>.icon-button{width:28px;height:32px;min-height:32px;padding:0}.sidebar-user div{min-width:0;display:grid}.sidebar-user strong{overflow:hidden;color:var(--text);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.sidebar-user span{font-size:11px}.workspace{min-width:0;display:flex;flex-direction:column}.workspace-header{position:sticky;top:0;z-index:15;min-height:56px;display:flex;align-items:center;gap:14px;padding:8px 22px;background:var(--surface);border-bottom:1px solid var(--border)}.property-control{min-width:0;display:flex;align-items:center;gap:8px}.property-control select{width:auto;max-width:340px;min-height:36px;padding:5px 30px 5px 8px;border-color:transparent;background-color:transparent;font-weight:650}.property-meta{margin-left:auto;display:flex;gap:8px;color:var(--faint);font-size:12px}.property-meta span+span:before{content:"·";margin-right:8px}.mobile-navigation,.mobile-logout{display:none}.main-content{min-width:0;flex:1;padding:26px}.page-heading{margin-bottom:20px}.page-heading h1{margin-top:4px}.page-heading p:last-child{margin-top:5px;color:var(--muted)}.page-heading-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-heading-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.panel-heading,.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title-with-help{min-width:0;display:inline-flex;align-items:center}.section-title-with-help .info-hint{flex:0 0 auto}.panel-heading p,.section-title-row span{color:var(--muted);font-size:12px}.inline-error{display:flex;align-items:flex-start;gap:10px;margin:12px 0;padding:12px 14px;border:1px solid #deb9b6;border-radius:6px;background:var(--danger-soft);color:var(--danger-hover)}.inline-error div{min-width:0}.inline-error p{margin-top:2px}.inline-error small{display:block;margin-top:5px;overflow-wrap:anywhere}.service-failure{width:min(100%,560px);display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;padding:16px;border:1px solid #deb9b6;border-radius:6px;background:var(--danger-soft);color:var(--danger-hover)}.service-failure h1{font-size:15px;line-height:1.3}.service-failure p,.session-action-error p{margin-top:3px;overflow-wrap:anywhere}.startup-state>.button{justify-self:center}.session-action-error{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px 14px;margin:12px 22px 0;padding:12px 14px;border:1px solid #deb9b6;border-radius:6px;background:var(--danger-soft);color:var(--danger-hover)}.empty-state{min-height:150px;display:grid;place-content:center;gap:5px;padding:24px;text-align:center;color:var(--muted)}.empty-state strong{color:var(--text)}.inventory-filters,.list-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.date-control{display:flex;align-items:center;gap:8px}.date-control label,.list-toolbar>label{min-width:150px;display:grid;gap:3px;color:var(--muted);font-size:12px;font-weight:620}.date-control input,.list-toolbar select{min-height:36px;padding-top:5px;padding-bottom:5px;color:var(--text);font-size:13px}.segmented-control{min-width:0;display:flex;align-items:center;gap:3px;margin:0 0 0 auto;padding:3px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted)}.segmented-control>svg{margin:0 5px;color:var(--muted)}.segmented-control label{position:relative}.segmented-control input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}.segmented-control span{min-width:58px;min-height:32px;display:grid;place-items:center;padding:5px 10px;border-radius:4px;color:var(--muted);cursor:pointer;font-size:13px;font-weight:620}.segmented-control input:checked+span{background:var(--surface);color:var(--brand-hover);box-shadow:0 1px 2px #17201b14}.segmented-control input:focus-visible+span{outline:3px solid rgba(28,111,145,.28);outline-offset:1px}.inventory-workspace{min-width:0;display:grid;grid-template-columns:minmax(560px,1fr) 380px;align-items:start;gap:18px}.inventory-board,.quote-workbench,.detail-section{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:6px}.maintenance-locks-panel{min-width:0;margin-top:18px;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:6px}.member-selector{display:flex;align-items:end;gap:12px;margin-bottom:16px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.member-selector label{min-width:280px;display:grid;gap:4px;color:var(--muted);font-size:12px;font-weight:620}.member-search{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:10px;margin-bottom:16px;padding:12px 0;border-bottom:1px solid var(--border)}.member-search label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:620}.member-directory{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.4fr);align-items:start;gap:16px}.member-list-panel,.member-profile-panel,.member-entitlements-panel,.membership-orders-panel,.member-correction-history{min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:6px}.member-list-panel>.section-title-row,.member-profile-panel>.section-title-row,.member-entitlements-panel>.section-title-row,.membership-orders-panel>.section-title-row,.member-correction-history>.section-title-row{min-height:56px;padding:12px 14px;border-bottom:1px solid var(--border)}.member-benefit-controls{display:grid;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-muted)}.member-benefit-controls .checkbox-label{display:flex;align-items:center;gap:8px;color:var(--text);font-size:13px;font-weight:650}.member-benefit-controls .checkbox-label input{width:16px;height:16px;margin:0}.temporary-other-room-fields{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:14px;border:1px solid #e6ddc6;border-radius:6px;background:#fffaf0}.temporary-other-room-fields .checkbox-label{position:relative;align-items:center;min-width:0;min-height:32px;cursor:pointer}.temporary-other-room-fields input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:var(--brand)}.temporary-other-room-fields .form-label-with-hint{line-height:20px}.temporary-other-room-fields .info-hint{position:static}.temporary-other-room-fields .info-hint-bubble{left:0;top:calc(100% + 8px);transform:none;width:260px;max-width:100%}.temporary-other-room-fields .form-label-with-hint,.temporary-other-room-fields label,.temporary-other-room-fields textarea{min-width:0;max-width:100%}.temporary-other-room-warning{margin:0;color:var(--warning);font-size:12px;font-weight:400;line-height:1.6;overflow-wrap:anywhere}.temporary-other-room-summary{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding-top:12px;border-top:1px solid #e6ddc6}.temporary-other-room-summary div{min-width:0;display:grid;grid-template-columns:84px minmax(0,1fr);align-items:baseline;gap:12px}.temporary-other-room-summary dt{color:var(--muted);font-size:12px}.temporary-other-room-summary dd{min-width:0;margin:0;font-size:13px;font-weight:500;overflow-wrap:anywhere}.temporary-other-room-fields>label:not(.checkbox-label){display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:500}.temporary-other-room-fields textarea{min-height:76px;font-size:14px;font-weight:400;line-height:1.5}.member-balance-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border-bottom:1px solid var(--border)}.member-balance-summary>div{display:grid;gap:4px;padding:14px;background:var(--surface)}.member-balance-summary span{color:var(--muted);font-size:11px}.member-balance-summary strong{font-size:20px;font-variant-numeric:tabular-nums}.member-entitlement-lots{display:grid;gap:1px;background:var(--border)}.member-entitlement-lot{display:grid;gap:12px;padding:14px;background:var(--surface)}.member-entitlement-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.member-entitlement-heading h3{margin:0;font-size:15px}.member-entitlement-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}.member-entitlement-heading>strong{font-size:18px;white-space:nowrap}.member-entitlement-lot dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0}.member-entitlement-lot dl>div{min-width:0}.member-entitlement-lot dt{color:var(--muted);font-size:11px}.member-entitlement-lot dd{margin:3px 0 0;overflow-wrap:anywhere}.member-entitlement-lot .button{justify-self:end}.member-ledger-history{padding:14px;border-top:1px solid var(--border)}.member-ledger-history .membership-subheading{display:flex;justify-content:space-between;align-items:center}.member-ledger-history .membership-subheading h3{margin:0;font-size:14px}.member-ledger-history ol{display:grid;gap:1px;margin:10px 0 0;padding:0;list-style:none;background:var(--border);border:1px solid var(--border);border-radius:6px;overflow:hidden}.member-ledger-history li{display:grid;gap:4px;padding:10px 12px;background:var(--surface)}.member-ledger-history li>div{display:flex;justify-content:space-between;gap:10px}.member-ledger-history li small,.member-ledger-history li p{margin:0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.member-ledger-history .is-positive{color:var(--success)}.member-ledger-history .is-negative{color:var(--danger)}.member-list{display:grid;max-height:min(68vh,720px);margin:0;padding:0;list-style:none;overflow-y:auto}.member-list>li{border-bottom:1px solid var(--border)}.member-list>li:last-child{border-bottom:0}.member-list-item{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 14px;text-align:left;color:var(--text);background:transparent;border:0;border-radius:0;cursor:pointer}.member-list-item:hover{background:var(--surface-muted)}.member-list-item[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.member-list-item strong,.member-list-item span,.member-list-item small{min-width:0;overflow-wrap:anywhere}.member-list-item span{color:var(--muted)}.member-list-item small{grid-column:1 / -1;color:var(--muted)}.section-kicker{display:block;margin-bottom:3px;color:var(--muted);font-size:11px}.member-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.member-profile-fields>div{min-width:0;display:grid;gap:5px;padding:18px;border-bottom:1px solid var(--border)}.member-profile-fields>div:nth-child(odd){border-right:1px solid var(--border)}.member-profile-fields>div:nth-last-child(-n+2){border-bottom:0}.member-profile-fields dt{color:var(--muted);font-size:12px}.member-profile-fields dd{margin:0;font-size:16px;font-weight:650;overflow-wrap:anywhere}.member-detail-stack{min-width:0;display:grid;gap:16px}.membership-product-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--border)}.membership-product-summary>div{min-width:0;display:grid;gap:4px;padding:12px;background:var(--surface-muted)}.membership-product-summary span,.membership-order-pricing dt,.membership-adjustment-reason span{color:var(--muted);font-size:12px}.membership-product-summary strong{overflow-wrap:anywhere}.membership-order-list{display:grid;gap:0}.membership-order-item{min-width:0;display:grid;gap:14px;padding:16px;border-bottom:1px solid var(--border)}.membership-order-item:last-child{border-bottom:0}.membership-order-heading,.membership-subheading,.membership-order-actions,.membership-payments li,.membership-activation-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.membership-order-heading h3{font-size:16px}.membership-order-heading p,.membership-subheading span,.membership-empty-line{color:var(--muted);font-size:12px}.membership-status{flex:0 0 auto;padding:3px 8px;border:1px solid var(--border-strong);border-radius:999px;color:var(--warning);background:var(--warning-soft);font-size:12px;font-weight:700}.membership-status-active{color:var(--success);background:var(--success-soft);border-color:#b5d4bf}.membership-status-voided{color:var(--danger);background:var(--danger-soft);border-color:#e1b9b6}.membership-order-pricing{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--border)}.membership-order-pricing>div{min-width:0;display:grid;gap:4px;padding:10px;background:var(--surface-muted)}.membership-order-pricing dd{margin:0;overflow-wrap:anywhere}.membership-adjustment-reason{display:grid;gap:3px;padding-left:10px;border-left:3px solid var(--accent)}.membership-payment-difference{display:grid;gap:3px;padding:10px 12px;border:1px solid #e4c99f;border-radius:6px;color:var(--warning);background:var(--warning-soft);font-weight:650}.membership-payment-difference.is-balanced{color:var(--success);background:var(--success-soft);border-color:#b5d4bf}.membership-payment-difference small{color:var(--muted);font-weight:400}.membership-activation-summary{justify-content:flex-start;padding:11px 12px;color:var(--success);background:var(--success-soft);border:1px solid #b5d4bf;border-radius:6px}.membership-activation-summary div{display:grid;gap:2px}.membership-activation-summary span{color:var(--muted);font-size:12px}.membership-payments{display:grid;gap:8px}.membership-subheading h4{margin:0;font-size:13px}.membership-payments ol{display:grid;gap:1px;margin:0;padding:0;list-style:none;background:var(--border);border:1px solid var(--border);border-radius:6px;overflow:hidden}.membership-payments li{min-width:0;padding:10px 12px;background:var(--surface)}.membership-payments li>div{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px}.membership-payments li code,.membership-payments li small{grid-column:1 / -1;overflow-wrap:anywhere}.membership-payments li code{color:var(--muted);font-size:12px}.membership-payments li small{color:var(--muted)}.membership-payments li.is-reversed{background:var(--surface-muted);color:var(--muted)}.member-correction-history>ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.member-correction-history>ol>li{display:grid;gap:8px;min-width:0;padding:14px 16px;border-bottom:1px solid var(--border)}.member-correction-history>ol>li:last-child{border-bottom:0}.member-correction-history dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0}.member-correction-history dt{color:var(--muted);font-size:11px}.member-correction-history dd{margin:2px 0 0;overflow-wrap:anywhere}.member-correction-history p,.member-correction-history small{color:var(--muted);overflow-wrap:anywhere}.member-correction-history code{font-size:12px;overflow-wrap:anywhere}.membership-order-actions{justify-content:flex-end;padding-top:2px}.button-small{min-height:32px;padding:5px 9px;font-size:12px}.member-contract-band{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:12px;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--border)}.member-contract-band>div{min-width:0;display:grid;gap:3px;padding:14px 16px;background:var(--surface)}.member-contract-band span,.member-contract-band small{color:var(--muted);font-size:11px}.member-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.member-summary>div{min-width:0;display:grid;gap:4px;padding:13px 16px}.member-summary>div+div{border-left:1px solid var(--border)}.member-summary span{color:var(--muted);font-size:11px}.member-summary strong{font-size:20px;font-variant-numeric:tabular-nums}.member-section{min-width:0;margin-top:16px;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:6px}.member-section>.section-title-row{min-height:52px;padding:12px 14px;border-bottom:1px solid var(--border)}.member-lots-table{min-width:760px}.member-ledger-table{min-width:940px}.member-ledger-reason{min-width:190px;white-space:normal;overflow-wrap:anywhere}.tabular-number,.quantity-positive,.quantity-negative{font-variant-numeric:tabular-nums}.quantity-positive{color:var(--success)}.quantity-negative{color:var(--danger)}.member-action-context{display:grid;margin-bottom:16px;border:1px solid var(--border);border-radius:5px;background:var(--surface-muted)}.member-action-context>div{min-width:0;display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:8px 10px;border-bottom:1px solid var(--border)}.member-action-context>div:last-child{border-bottom:0}.member-action-context dt,.member-form-note{color:var(--muted);font-size:12px}.token-page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.retained-secret-panel{display:grid;gap:14px;margin-bottom:16px;padding:14px;border:1px solid #d7bd91;border-radius:6px;background:var(--warning-soft)}.retained-secret-heading{display:flex;align-items:flex-start;gap:9px;color:var(--warning)}.retained-secret-heading p{margin-top:2px;font-size:12px}.retained-secret-meta{display:flex;flex-wrap:wrap;gap:8px 22px}.retained-secret-meta>div{min-width:150px;display:grid;gap:2px}.retained-secret-meta dt,.token-principal-band span,.token-operation-context dt{color:var(--muted);font-size:11px}.retained-secret-panel>.button{justify-self:start}.retained-secret-actions{display:flex;flex-wrap:wrap;gap:8px}.token-secret-value{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.token-secret-value label{min-width:0;display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:620}.token-secret-value input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.token-saved-confirmation{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start!important;gap:8px!important;color:var(--text)!important;font-size:13px!important}.token-saved-confirmation input{width:18px;min-height:18px;margin:1px 0 0}.token-operation-context{display:grid;border:1px solid var(--border);border-radius:5px;background:var(--surface-muted)}.token-operation-context>div{min-width:0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding:8px 10px;border-bottom:1px solid var(--border)}.token-operation-context>div:last-child{border-bottom:0}.token-readonly-notice{display:flex;align-items:flex-start;gap:9px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted);color:var(--muted)}.token-principal-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:16px;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--border)}.token-principal-band>div{min-width:0;display:grid;align-content:center;gap:3px;padding:13px 15px;background:var(--surface)}.token-counts{grid-template-columns:repeat(2,minmax(0,1fr));color:var(--muted);font-size:11px}.token-table-region{background:var(--surface);border:1px solid var(--border);border-radius:6px}.token-table{min-width:920px}.token-chain{min-width:210px}.token-permissions summary{min-height:40px;align-content:center;cursor:pointer;color:var(--accent)}.token-permissions[open] small{display:block;max-width:28rem;padding:6px 0}.token-chain span{display:block;color:var(--muted);font-size:11px}.token-actions-heading,.token-actions-cell{text-align:center}.token-row-actions{justify-content:center;gap:6px}.danger-text-button{color:var(--danger)}.danger-text-button:hover:not(:disabled){border-color:#e4a0a0;background:var(--danger-soft);color:var(--danger-hover)}.maintenance-lock-count{color:var(--muted);font-size:12px}.maintenance-locks-table{min-width:820px}.maintenance-reason{min-width:180px;white-space:normal;overflow-wrap:anywhere}.inventory-board-heading,.quote-workbench>.panel-heading{min-height:65px;padding:13px 16px;border-bottom:1px solid var(--border)}.board-legend{display:flex;gap:12px;color:var(--muted);font-size:12px}.board-legend span{display:inline-flex;align-items:center;gap:5px}.board-legend i{width:9px;height:9px;border-radius:2px}.legend-available{background:var(--success)}.legend-blocked{background:var(--danger)}.table-region{max-width:100%;overflow:auto;overscroll-behavior:contain}.orders-table-region,.order-detail-page .table-region{overscroll-behavior-y:auto}table{width:100%;border-collapse:separate;border-spacing:0}th,td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}thead th{position:sticky;top:0;z-index:2;background:#f7f9f7;color:var(--muted);font-size:11px;font-weight:720;text-transform:uppercase}tbody th{font-weight:620}tbody tr:last-child>*{border-bottom:0}tbody tr:hover>*{background:#fafcf9}.inventory-table{min-width:640px;table-layout:fixed}.inventory-table thead th:not(:first-child):not(:last-child),.inventory-table tbody td:not(:last-child){width:76px;padding-left:6px;padding-right:6px;text-align:center}.inventory-table thead th:first-child{width:190px}.inventory-table thead th:last-child{width:108px}.sticky-column{position:sticky;left:0;z-index:3;background:var(--surface)}thead .sticky-column{z-index:4;background:#f7f9f7}.selected-row>*{background:var(--brand-soft)!important}.unit-cell{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:1px 7px}.unit-cell small{grid-column:2;color:var(--faint);font-size:10px;font-weight:500}.unit-code{color:var(--brand-hover);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.child-unit{padding-left:28px}.child-unit:before{position:absolute;left:15px;content:"";width:7px;height:1px;background:var(--border-strong)}.availability-cell{min-width:46px;min-height:28px;display:inline-grid;place-items:center;border-radius:4px;font-size:11px;font-weight:690}.availability-cell.available{background:var(--success-soft);color:#1d663d}.availability-cell.blocked{background:var(--danger-soft);color:var(--danger-hover)}.row-actions{display:flex;align-items:center;justify-content:center;gap:3px;min-height:30px}.fact-sequence{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-right:6px;border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:11px;font-weight:700}.fact-transfer-note{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.fact-cash-note{display:inline-grid;gap:2px}.inline-link{color:var(--accent);font-weight:700;text-decoration:none}.inline-link:hover{text-decoration:underline}.fact-action-button{width:56px;min-height:28px;padding:3px 12px;font-size:12px}.fact-reverse-action{position:relative;display:inline-flex}.fact-reverse-help{position:fixed;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border-strong);border-radius:6px;background:#fff;color:var(--text);box-shadow:0 6px 18px #0f172a1f;font-size:12px;font-weight:400;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere;pointer-events:auto;z-index:1000}.quote-workbench{position:sticky;top:74px;max-height:calc(100dvh - 96px);overflow:auto}.unit-kind,.status-badge{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:3px 7px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface-muted);color:var(--muted);font-size:10px;font-weight:760;text-transform:uppercase}.kind-room{background:var(--accent-soft);border-color:#b9ccd5;color:#244f65}.kind-bed{background:var(--brand-soft);border-color:#b9d1c3;color:var(--brand-hover)}.selected-unit{display:grid;gap:3px;padding:14px 16px;background:#fafcf9;border-bottom:1px solid var(--border)}.selected-unit span{color:var(--muted);font-size:12px}.backfill-stay-kind{margin:0;padding:12px 16px;border:0;border-bottom:1px solid var(--border)}.backfill-stay-kind legend{padding:0;color:var(--muted);font-size:12px;font-weight:620}.backfill-stay-kind .segmented-control{width:100%;margin-top:7px}.backfill-stay-kind .segmented-control label{flex:1}.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.historical-correction-list{display:grid;gap:14px;max-height:min(52vh,520px);overflow:auto;padding-right:4px}.historical-correction-item{display:grid;gap:12px;padding-block:14px;border-block-start:1px solid var(--border)}.historical-correction-item:first-child{border-block-start:0}.form-grid label{min-width:0;display:grid;align-content:start;gap:5px;color:var(--muted);font-size:12px;font-weight:620}.form-grid label.check-row{display:flex;align-items:center;gap:8px;min-height:28px;padding:2px 0;color:var(--text);cursor:pointer}.form-grid label.check-row input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0;padding:0;border-radius:4px;accent-color:var(--brand)}.form-grid label.check-row span{min-width:0;line-height:1.45}.form-field-help{color:var(--muted);font-size:12px;font-weight:500;line-height:1.5}.form-label-with-hint{display:inline-flex;align-items:center;min-width:0}.form-label-with-hint .info-hint{flex:0 0 auto}.form-field-note{min-width:0;display:grid;align-content:start;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 88%,var(--primary) 12%);color:var(--text);font-size:12px}.form-field-note span{color:var(--muted);font-weight:500}.conversion-transfer-card{min-width:0;display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 90%,var(--primary) 10%)}.conversion-transfer-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.conversion-transfer-heading>div{min-width:0;display:grid;gap:3px}.conversion-transfer-heading span,.conversion-transfer-list small{color:var(--muted);font-size:12px}.conversion-transfer-heading>strong{font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}.conversion-transfer-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.conversion-transfer-list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.conversion-transfer-list li>span{color:var(--muted);font-size:12px;font-weight:650}.conversion-transfer-list li>strong{justify-self:end;font-variant-numeric:tabular-nums}.conversion-transfer-list small{min-width:0;overflow-wrap:anywhere}.span-two{grid-column:1 / -1}.quote-form{padding:16px}.quote-result{border-top:1px solid var(--border)}.locked-policy{display:flex;align-items:flex-start;gap:9px;padding:14px 16px;background:var(--brand-soft);color:var(--brand-hover)}.locked-policy div{min-width:0;display:grid;gap:2px}.locked-policy span{font-size:11px;font-weight:660}.locked-policy code{color:var(--muted)}.quote-amounts,.preview-amounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--border)}.quote-amounts>div,.preview-amounts>div{min-width:0;display:grid;gap:4px;padding:14px 16px}.quote-amounts>div+div,.preview-amounts>div+div{border-left:1px solid var(--border)}.quote-amounts span,.preview-amounts span{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.quote-amounts strong,.preview-amounts strong{font-size:17px;font-variant-numeric:tabular-nums}.quote-lines,.guest-section{padding:14px 16px;border-bottom:1px solid var(--border)}.compact-list{margin-top:9px}.compact-list>div,.cash-line{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:8px;padding:7px 0;border-top:1px solid var(--border);align-items:center;font-size:12px}.compact-list code{text-align:right;color:var(--muted)}.cash-line strong{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.compact{margin-top:8px;font-size:12px}.quote-expiry{display:flex;flex-wrap:wrap;gap:5px 8px;padding:10px 16px;border-bottom:1px solid var(--border);color:var(--muted);font-size:11px}.quote-expiry span{margin-left:auto}.guest-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.guest-section-heading span,.guest-entry legend span{color:var(--muted);font-size:12px;font-weight:650}.guest-entry{min-width:0;margin:0;border:0;border-top:1px solid var(--border);padding:12px 0 0}.guest-entry+.guest-entry{margin-top:14px}.guest-entry legend{display:flex;width:100%;min-width:0;align-items:center;justify-content:space-between;gap:8px;padding:0 0 8px;color:var(--text);font-size:13px;font-weight:760}.guest-entry legend .icon-button{width:30px;min-height:30px}.guest-section>.button{margin-top:14px}.backfill-review-list{display:grid;margin:0;border-top:1px solid var(--border)}.backfill-review-list>div{display:grid;grid-template-columns:minmax(92px,.34fr) minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.backfill-review-list dt{color:var(--muted);font-size:11px}.backfill-review-list dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:13px;font-weight:680}.guest-add-button{width:100%}.guest-order-fields{margin-top:14px;border-top:1px solid var(--border);padding-top:14px}.inline-summary{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted)}.inline-summary strong{color:var(--text)}.modal{width:min(94vw,620px);max-width:none;max-height:min(90vh,860px);margin:auto;padding:0;overflow:hidden;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-dialog)}.modal-wide{width:min(94vw,780px)}.modal-drawer{position:fixed;inset:0 0 0 auto;z-index:40;width:min(100vw,440px);height:100dvh;max-height:none;margin:0 0 0 auto;border-block:0;border-right:0;border-radius:0;overscroll-behavior:contain}.modal-drawer .modal-shell{height:100dvh;max-height:none}.modal-drawer .modal-body{overflow-x:hidden;overscroll-behavior:contain}.room-status-write-drawer .quote-workbench{position:static;max-height:none;overflow:visible}.room-status-write-drawer .room-status-quote-section .full-width{position:sticky;z-index:2;bottom:-16px;margin-top:16px;padding-block:12px;box-shadow:0 -1px 0 var(--border)}body:has(.modal-mobile-fullscreen[open]){overflow:hidden}.modal::backdrop{background:#17201b85}.modal-shell{max-height:min(90vh,860px);display:flex;flex-direction:column}.modal-header,.modal-footer{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface)}.modal-header{justify-content:space-between;border-bottom:1px solid var(--border)}.modal-footer{justify-content:flex-end;border-top:1px solid var(--border)}.modal-notice{flex:0 0 auto;padding:12px 16px 0;background:var(--surface)}.modal-body{min-height:0;overflow:auto;padding:16px}.modal-form{display:grid;gap:20px}.lifecycle-action-context{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.lifecycle-action-context strong{font-size:15px}.lifecycle-action-context span{color:var(--muted);font-size:12px}.lifecycle-unused-confirmation{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-muted)}.lifecycle-unused-confirmation input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--brand)}.lifecycle-unused-confirmation span{display:grid;gap:3px}.lifecycle-unused-confirmation small{color:var(--muted);line-height:1.5}.danger-button{border-color:#d6a5a1;color:var(--danger)}.danger-button:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft)}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:14px;border-top:1px solid var(--border)}.command-description{margin-bottom:14px;color:var(--muted)}.command-pending{display:grid;gap:6px;padding:14px;background:var(--surface-muted);border-radius:6px}.command-pending p{color:var(--muted);font-size:11px}.command-recovered-original{display:grid;gap:4px;margin-bottom:12px;padding:12px 14px;border:1px solid #b5d4bf;border-radius:6px;background:var(--success-soft)}.command-recovered-original p{color:var(--muted)}.raw-details,.table-details{margin-top:12px}.raw-details summary,.table-details summary{color:var(--accent);font-size:12px;font-weight:650}pre{max-width:100%;margin:8px 0 0;padding:12px;overflow:auto;border-radius:5px;background:#202823;color:#edf4ef;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.preview-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid var(--border);border-radius:5px;background:var(--surface-muted);color:var(--muted);font-size:11px}.preview-meta span{display:inline-flex;align-items:center;gap:6px}.effect-section,.reason-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.effect-section h3,.reason-section h3{margin-bottom:10px}.difference-grid{display:grid;grid-template-columns:minmax(120px,.4fr) minmax(0,1fr);gap:0;border:1px solid var(--border);border-radius:5px;overflow:hidden}.difference-grid>dt,.difference-grid>dd,.difference-row>dt,.difference-row>dd{min-width:0;padding:9px 10px;border-bottom:1px solid var(--border)}.difference-grid>dt,.difference-row>dt{background:#f7f9f7;color:var(--muted);font-size:12px;font-weight:620}.difference-grid>dd,.difference-row>dd{display:flex;align-items:center;gap:5px;overflow-wrap:anywhere}.effect-inline-list{display:grid;gap:6px;width:100%;margin:0;padding:0;list-style:none}.effect-inline-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.effect-inline-list small{color:var(--muted)}.difference-row{grid-column:1 / -1;display:grid;grid-template-columns:minmax(120px,.4fr) minmax(0,1fr)}.difference-grid>:nth-last-child(-n+2),.difference-row:last-child>*{border-bottom:0}.before-value{color:var(--muted);text-decoration:line-through}.after-value{color:var(--brand-hover);font-weight:650}.occupant-summary-list{display:grid;width:100%;gap:5px}.occupant-summary-list li{display:grid;min-width:0;grid-template-columns:minmax(90px,auto) minmax(80px,.7fr) minmax(100px,1fr);gap:8px;align-items:baseline}.occupant-summary-list span,.occupant-summary-list small{min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:11px}.occupant-summary-list strong{min-width:0;overflow-wrap:anywhere}.preview-amounts{grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:5px}.reason-section .form-grid{margin-top:10px}.receipt-panel{padding:16px;border:1px solid var(--border-strong);border-radius:6px}.receipt-success{background:var(--success-soft);border-color:#b5d4bf}.receipt-rejected{background:var(--danger-soft);border-color:#dfb5b2}.receipt-title-row{display:flex;gap:10px;align-items:flex-start}.receipt-title-row p{margin-top:2px;color:var(--muted);font-size:12px}.receipt-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--surface);color:var(--success)}.receipt-rejected .receipt-icon{color:var(--danger)}.receipt-error{margin:12px 0;padding:10px;border-top:1px solid rgba(163,54,54,.25);border-bottom:1px solid rgba(163,54,54,.25)}.receipt-occupants{display:grid;gap:8px;margin-top:12px;border-top:1px solid rgba(83,97,89,.22);padding-top:12px}.receipt-grid{display:grid;grid-template-columns:120px minmax(0,1fr);margin-top:14px;border-top:1px solid rgba(83,97,89,.22)}.receipt-grid dt,.receipt-grid dd{min-width:0;padding:7px 0;border-bottom:1px solid rgba(83,97,89,.18)}.receipt-grid dt{color:var(--muted);font-size:11px}.receipt-grid dd{display:flex;align-items:center;gap:4px;overflow-wrap:anywhere}.code-list{flex-wrap:wrap}.code-list code{padding:2px 4px;border-radius:3px;background:#ffffffa6}.receipt-panel>.button{margin-top:14px}.recovery-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:12px;border:1px solid #d7bd91;border-radius:6px;background:var(--warning-soft);color:var(--warning)}.recovery-bar p{margin-top:2px;font-size:12px}.recovery-damaged{align-items:flex-start}.recovery-damaged-copy{min-width:0}.recovery-damaged-copy ol{margin:8px 0 0;padding-left:20px;color:var(--text);font-size:12px;line-height:1.55}.recovery-damaged-actions{display:grid;flex:0 0 auto;gap:8px;width:min(360px,42%)}.recovery-damaged-actions label{display:flex;align-items:flex-start;gap:8px;color:var(--text);font-size:12px;line-height:1.45}.recovery-damaged-actions input{flex:0 0 auto;margin-top:2px}.command-result-notice{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;border:1px solid #b5d4bf;border-radius:6px;background:var(--success-soft);color:var(--success)}.command-result-notice span{flex:1;color:var(--text)}.command-result-notice .icon-button{width:30px;height:30px}.command-result-notice.is-warning{border-color:#d7bd91;background:var(--warning-soft);color:var(--warning)}.command-shell-review-heading{margin:0 0 12px;font-size:17px}.command-shell-progress{display:flex;align-items:center;gap:10px;margin:12px 0;padding:11px 12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-muted)}.command-shell-progress p{margin:2px 0 0;color:var(--muted);font-size:13px}.stay-date-change-heading{display:flex;align-items:flex-start;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border)}.stay-date-change-heading>div{display:grid;min-width:0;gap:3px}.stay-date-change-heading span,.stay-date-change-heading small,.stay-date-pricing-section p,.stay-date-pricing-section small,.stay-date-pricing-note{color:var(--muted);font-size:.84rem;line-height:1.5}.move-unit-target-picker{min-width:0;display:grid;gap:6px}.move-unit-target-picker>label,.move-unit-target-picker-meta>span{color:var(--muted);font-size:12px;font-weight:620}.move-unit-target-search{position:relative}.move-unit-target-search svg{position:absolute;z-index:1;left:10px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}.move-unit-target-search input{padding-left:34px}.move-unit-target-picker-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.move-unit-target-picker-meta small,.move-unit-target-picker>small{color:var(--muted);font-size:.78rem;font-weight:400}.move-unit-target-picker .inline-error{margin-top:2px}.move-unit-preview{display:grid;gap:12px}.move-unit-preview-retry{display:grid;gap:8px}.move-unit-preview-retry .button{justify-self:start}.move-unit-preview-side{display:grid;gap:7px;padding:11px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted)}.move-unit-preview-side h4{margin:0;font-size:.86rem}.move-unit-timeline{display:grid;gap:6px;margin:0;padding:0;list-style:none}.move-unit-timeline li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:baseline;font-size:.82rem}.move-unit-timeline span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.accommodation-position-summary{display:grid;gap:8px;margin:0 0 12px;padding:0}.accommodation-position-summary>div{display:grid;grid-template-columns:minmax(96px,.7fr) minmax(0,1.8fr);gap:12px;align-items:start}.accommodation-position-summary dt{color:var(--muted);font-size:.75rem}.accommodation-position-summary dd{display:grid;gap:2px;margin:0}.accommodation-position-summary dd small{color:var(--muted)}@media(max-width:560px){.move-unit-timeline li{grid-template-columns:minmax(0,1fr);gap:2px}.accommodation-position-summary>div{grid-template-columns:minmax(0,1fr);gap:2px}}.stay-date-change-heading strong,.stay-date-change-heading small{overflow-wrap:anywhere}.stay-date-change-heading small:last-child{color:var(--text);font-variant-numeric:tabular-nums}.stay-date-pricing-section{display:grid;gap:10px;padding-top:18px;border-top:1px solid var(--border)}.stay-date-pricing-section h3,.stay-date-pricing-section p{margin:0}.stay-date-pricing-section h3{font-size:.96rem}.stay-date-price-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 16px;padding:11px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted)}.stay-date-price-preview span{color:var(--muted);font-size:.84rem}.stay-date-price-preview strong{font-variant-numeric:tabular-nums;text-align:right}.stay-date-price-loading{display:flex;align-items:center;gap:8px;min-height:42px;color:var(--muted)}.stay-date-price-toggle{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);cursor:pointer}.stay-date-price-toggle input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:1px 0 0;padding:0;accent-color:var(--brand)}.stay-date-price-toggle>span{display:grid;gap:2px}.stay-date-price-toggle small{color:var(--muted);font-weight:400}.stay-date-pricing-note{margin:0;padding-top:14px;border-top:1px solid var(--border)}.list-toolbar{align-items:center}.search-control{position:relative;min-width:260px!important;flex:1}.search-control svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--faint)}.search-control input{padding-left:35px}.result-count{margin-left:auto;color:var(--muted);font-size:12px}.orders-table-region{background:var(--surface);border:1px solid var(--border);border-radius:6px}.data-table{min-width:760px}.data-table th,.data-table td{max-width:320px}.data-table code{display:block;color:var(--muted)}.data-table small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.primary-cell-link{min-width:170px;display:grid;gap:3px;color:var(--text)}.primary-cell-link:hover strong{color:var(--brand)}.date-range{display:flex;flex-wrap:wrap;gap:4px}.date-range span{color:var(--faint)}.status-reserved,.status-held,.status-collection{background:var(--accent-soft);border-color:#bdd0d9;color:#244f65}.status-checked-in,.status-in-house,.status-consumed{background:var(--success-soft);border-color:#b7d5c0;color:#1d663d}.status-checked-out,.status-completed,.status-released,.status-reversal{background:var(--surface-muted);color:var(--muted)}.status-cancelled,.status-no-show,.status-refund,.status-expired,.status-revoked{background:var(--danger-soft);border-color:#dfb5b2;color:var(--danger-hover)}.status-rotated{background:var(--surface-muted);color:var(--muted)}.status-active{background:var(--warning-soft);border-color:#d9bd8f;color:var(--warning)}.back-link{min-height:36px;display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;color:var(--muted);font-weight:620}.back-link:hover{color:var(--brand)}.order-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}.order-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:5px}.order-unit{display:grid;justify-items:end;gap:2px}.order-unit span{color:var(--muted);font-size:11px}.amount-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.amount-strip-channel{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(132px,.58fr)}.amount-strip>div{min-width:0;display:grid;gap:6px;padding:16px 18px}.amount-strip>div+div{border-left:1px solid var(--border)}.amount-strip span{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.amount-strip strong{font-size:22px;font-variant-numeric:tabular-nums}.amount-strip .amount-strip-note{align-self:center;color:var(--muted);font-size:13px;font-weight:650;line-height:1.45;font-variant-numeric:normal;white-space:normal}.action-band{display:flex;align-items:center;gap:18px;margin-bottom:18px;padding:12px 14px;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.action-band>h2{flex:none;margin:0}.overdue-in-house-alert{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;margin-bottom:12px;padding:12px 14px;border:1px solid rgba(184,122,25,.45);border-radius:6px;background:var(--warning-soft);color:var(--warning)}.overdue-in-house-alert>svg{margin-top:2px}.overdue-in-house-alert>div{display:grid;gap:3px}.overdue-in-house-alert strong{color:var(--text)}.overdue-in-house-alert span{line-height:1.5}.action-band-content{min-width:0;flex:1;display:grid;gap:8px}.action-notice{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:6px 10px;border:1px solid rgba(184,122,25,.35);border-radius:5px;background:var(--warning-soft);color:var(--warning);font-size:12px;font-weight:700;white-space:nowrap}.action-notice-popover{display:inline-grid;position:relative;align-self:flex-start;justify-items:start;width:max-content;max-width:100%}.action-notice-popover>.action-notice{max-width:100%}.action-notice-bubble{display:none;position:absolute;left:0;top:48px;z-index:1000;box-sizing:border-box;margin-top:0;width:min(360px,calc(100vw - 32px));max-width:min(360px,calc(100vw - 32px));padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--text);box-shadow:0 6px 18px #0f172a1f;font-size:12px;font-weight:400;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.action-notice-popover:hover .action-notice-bubble,.action-notice-popover:focus-within .action-notice-bubble{display:block}.action-notice-detailed{flex:1 1 100%;justify-content:flex-end;line-height:1.4;text-align:right;white-space:normal}.action-toolbar{min-width:0;display:flex;flex:1;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;gap:6px}.action-toolbar .button:disabled{border-color:var(--border);background:var(--surface-muted);color:var(--muted);opacity:1}.action-help-hint{display:inline-flex;align-items:center}.action-help-hint .info-hint-bubble{left:auto;right:calc(100% + 8px)}.channel-funds-notice{justify-self:end;max-width:min(100%,620px);display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;padding:7px 12px;background:var(--surface-subtle);color:var(--muted);font-size:12px}.channel-funds-notice strong{color:var(--text);white-space:nowrap}.action-separator{width:1px;height:28px;margin:0 4px;background:var(--border)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.detail-section{overflow:hidden}.detail-section>.section-title-row{min-height:52px;padding:12px 14px;border-bottom:1px solid var(--border);border-radius:6px 6px 0 0;background:var(--surface-muted)}.detail-list{display:grid}.detail-list>div{min-width:0;display:grid;grid-template-columns:minmax(110px,.4fr) minmax(0,1fr);gap:12px;padding:9px 14px;border-bottom:1px solid var(--border)}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:var(--muted);font-size:12px}.detail-list dd{min-width:0;overflow-wrap:anywhere}.order-occupant-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.order-occupant-list>li+li{border-top:1px solid var(--border-strong)}.order-occupant-heading{display:flex;flex-wrap:wrap;min-width:0;align-items:baseline;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}.order-occupant-heading strong{min-width:0;overflow-wrap:anywhere}.order-occupant-role{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:700}.order-occupant-heading .button{margin-left:auto}.companion-history-summary{display:flex;flex-wrap:wrap;gap:6px 16px}.full-detail{margin-bottom:16px}.coverage-conversion-trace{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 0;border-top:1px solid var(--border)}.coverage-conversion-trace>div{display:grid;gap:3px;min-width:0}.coverage-conversion-trace span,.coverage-conversion-trace small{color:var(--muted)}@media(max-width:640px){.coverage-conversion-trace{align-items:flex-start;flex-direction:column;gap:8px}}.compact-table{min-width:720px}.compact-table th,.compact-table td{padding-top:8px;padding-bottom:8px;font-size:12px}.compact-table thead th{color:var(--text);font-size:13px;font-weight:700;text-transform:none;letter-spacing:0}.fact-actions-col{text-align:center}.table-details{margin-top:0}.table-details pre{min-width:280px}.amendment-list{display:grid}.amendment-list article{display:grid;gap:10px;padding:14px;border-bottom:1px solid var(--border)}.amendment-list article:last-child{border-bottom:0}.amendment-list article>div{min-width:0}.amendment-list article>div:first-child{display:grid;gap:3px}.amendment-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px}.amendment-reason{margin:0;color:var(--text)}.amendment-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}.amendment-arrangements{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.amendment-arrangements>div,.amendment-amounts{display:grid;gap:6px;min-width:0}.amendment-amounts{align-content:start;padding:10px 12px;border-radius:6px;background:var(--surface-muted)}.amendment-col-title{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.02em}.superseded-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--border-strong);color:var(--muted);font-size:10px;font-weight:620;vertical-align:1px}@media(max-width:720px){.amendment-columns{grid-template-columns:1fr}}.amendment-list span{color:var(--muted);font-size:11px}.amendment-list p{margin-top:3px}.today-date{display:flex;align-items:center;gap:6px}.info-hint{position:relative;display:inline-flex;align-items:center;margin-left:6px;color:var(--muted);cursor:help;vertical-align:-2px;outline:none}.info-hint:focus-visible{color:var(--accent)}.info-hint-bubble{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);width:max-content;max-width:260px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);font-size:12px;font-weight:400;line-height:1.5;box-shadow:0 6px 18px #0f172a1f;opacity:0;visibility:hidden;transition:opacity .12s ease;pointer-events:none;z-index:1000}.info-hint:hover .info-hint-bubble,.info-hint:focus .info-hint-bubble,.info-hint:focus-within .info-hint-bubble{opacity:1;visibility:visible}@media(max-width:720px){.info-hint-bubble{left:0;top:calc(100% + 8px);transform:none;max-width:min(260px,80vw)}.action-help-hint .info-hint-bubble{left:0;right:auto}}.today-date input{min-height:38px}.today-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface)}.today-tabs button{min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;border:0;border-right:1px solid var(--border);background:var(--surface);color:var(--muted);font-weight:620}.today-tabs button:last-child{border-right:0}.today-tabs button:hover{background:var(--surface-muted)}.today-tabs button[aria-selected=true]{background:var(--brand-soft);color:var(--brand-hover)}.today-tabs strong{min-width:22px;min-height:22px;display:grid;place-items:center;border-radius:50%;background:var(--surface-muted);color:var(--text);font-size:11px}.today-queue{background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.queue-row{min-width:0;display:grid;grid-template-columns:38px minmax(210px,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.queue-row:last-child{border-bottom:0}.queue-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:5px;background:var(--surface-muted);color:var(--accent)}.queue-primary{min-width:0;display:grid;grid-template-columns:auto 1fr;gap:2px 8px}.queue-primary code{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.queue-primary span{grid-column:1 / -1;color:var(--muted);font-size:12px}.queue-primary .queue-exception-reason{color:var(--warning);font-weight:600}.queue-actions{display:flex;align-items:center;gap:5px}@media(max-width:1180px){.inventory-workspace{grid-template-columns:minmax(0,1fr)}.quote-workbench{position:static;max-height:none}.action-band{align-items:flex-start;flex-direction:column}.action-toolbar{justify-content:flex-start}.action-band-content{width:100%}.fulfillment-date-notice,.channel-funds-notice{justify-self:start;border-radius:12px}}@media(max-width:860px){html{scroll-padding-top:60px;scroll-padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-shell,.app-shell.sidebar-is-collapsed{display:block}.sidebar{position:sticky;top:0;height:56px;flex-direction:row;align-items:center;padding:8px 14px;border-right:0;border-bottom:1px solid var(--border)}.sidebar-brand{padding:0}.application-version,.sidebar-is-collapsed .application-version{display:block;align-self:flex-start;margin-left:0;line-height:12px}.sidebar-brand-row,.sidebar-is-collapsed .sidebar-brand-row{min-height:0;flex-direction:row;margin:0}.sidebar-is-collapsed .sidebar-brand-full,.sidebar-is-collapsed .sidebar-brand-product{display:inline}.sidebar-is-collapsed .sidebar-brand-compact,.sidebar-toggle,.primary-navigation,.sidebar-utilities,.sidebar-property,.sidebar-user{display:none}.workspace-header{top:56px;min-height:52px;padding:6px 14px}.mobile-logout{display:inline-flex;margin-left:auto}.session-action-error{margin:12px 14px 0}.property-meta{display:none}.mobile-navigation{position:fixed;bottom:0;left:0;right:0;z-index:30;min-height:64px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:5px max(8px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--border)}.mobile-navigation .nav-link{min-width:0;min-height:50px;flex-direction:column;justify-content:center;gap:2px;padding:4px;font-size:11px}.main-content{padding:20px 18px 90px}.main-content :focus-visible{scroll-margin-top:12px;scroll-margin-bottom:calc(76px + env(safe-area-inset-bottom))}.detail-grid{grid-template-columns:minmax(0,1fr)}.queue-row{grid-template-columns:38px minmax(0,1fr) auto}.queue-row>.status-badge{grid-column:2;grid-row:2}.queue-actions{grid-column:3;grid-row:1 / 3}}@media(max-width:700px){.member-directory{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.session-action-error{grid-template-columns:20px minmax(0,1fr);align-items:start}.session-action-error .button{grid-column:1 / -1;width:100%}}@media(max-width:620px){body{font-size:14px}input,select,textarea,.button,.icon-button{min-height:44px}.icon-button{width:44px;min-width:44px}.brand-word{font-size:18px}.sidebar-brand>span:last-child{display:none}.workspace-header{gap:6px;padding-left:10px;padding-right:8px}.property-control{flex:1}.property-control select{min-width:0;max-width:calc(100vw - 118px)}.main-content{padding:16px 12px 88px}h1{font-size:22px}h2{font-size:17px}.page-heading-actions{align-items:center}.page-heading-buttons{flex-wrap:nowrap}.page-heading-buttons .button{min-width:44px}.page-heading-actions>.button{width:44px;padding:0;font-size:0;gap:0}.page-heading-actions>.button svg{width:19px;height:19px}.inventory-filters,.list-toolbar{align-items:stretch;flex-direction:column}.date-control,.date-control label,.list-toolbar>label,.search-control{width:100%;min-width:0!important}.date-control:first-child>svg{display:none}.segmented-control{width:100%;margin-left:0}.segmented-control>svg{display:none}.segmented-control label{flex:1}.segmented-control span{min-height:38px}.result-count{margin-left:0}.inventory-board-heading{align-items:flex-start}.board-legend{flex-direction:column;gap:3px}.quote-workbench{border-radius:6px}.quote-amounts,.preview-amounts,.amount-strip{grid-template-columns:minmax(0,1fr)}.quote-amounts>div+div,.preview-amounts>div+div,.amount-strip>div+div{border-left:0;border-top:1px solid var(--border)}.form-grid-two,.form-grid-three{grid-template-columns:minmax(0,1fr)}.span-two{grid-column:1}.modal,.modal-wide{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.modal-drawer{width:100vw;height:100dvh;max-height:none}.modal-mobile-fullscreen{inset:0;width:100vw;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}.modal-mobile-fullscreen .modal-shell{height:100dvh;max-height:none}.modal-mobile-fullscreen .modal-header{padding-top:max(12px,env(safe-area-inset-top))}.modal-mobile-fullscreen .modal-body{padding:0;overscroll-behavior:contain}.modal-mobile-fullscreen .modal-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}.modal-shell{max-height:calc(100dvh - 16px)}.modal-body{padding:14px}.modal-footer{align-items:stretch;flex-direction:column-reverse}.modal-footer .button{width:100%}.difference-grid,.difference-row{grid-template-columns:minmax(105px,.42fr) minmax(0,1fr)}.occupant-summary-list li{grid-template-columns:minmax(0,1fr);gap:2px}.receipt-grid{grid-template-columns:minmax(0,1fr)}.receipt-grid dt{padding-bottom:0;border-bottom:0}.recovery-bar{align-items:stretch;flex-direction:column}.recovery-damaged-actions{width:100%}.order-heading{align-items:flex-start;flex-direction:column}.order-unit{justify-items:start}.amount-strip strong{font-size:20px}.member-selector{align-items:stretch;flex-direction:column}.member-search,.member-directory{grid-template-columns:minmax(0,1fr)}.member-search{align-items:stretch}.member-search .button{width:100%}.member-profile-fields,.member-entitlement-lot dl,.member-correction-history dl{grid-template-columns:minmax(0,1fr)}.member-profile-fields>div:nth-child(odd){border-right:0}.member-profile-fields>div:nth-last-child(2){border-bottom:1px solid var(--border)}.membership-product-summary,.membership-order-pricing{grid-template-columns:minmax(0,1fr)}.membership-order-heading,.membership-order-actions,.membership-payments li{align-items:stretch;flex-direction:column}.membership-order-actions .button,.membership-payments li .button{width:100%}.member-selector label{min-width:0;width:100%}.member-contract-band,.member-summary{grid-template-columns:minmax(0,1fr)}.member-summary>div+div{border-left:0;border-top:1px solid var(--border)}.token-page-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.token-page-actions .button{width:100%;padding:8px 10px;font-size:13px}.token-secret-value{grid-template-columns:minmax(0,1fr)}.token-principal-band{grid-template-columns:repeat(2,minmax(0,1fr))}.token-secret-value .button,.retained-secret-panel>.button{width:100%}.action-band{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.action-toolbar{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.action-notice-popover{grid-column:1 / -1;justify-self:start}.action-toolbar .button,.action-toolbar .icon-button{width:100%}.action-separator{display:none}.detail-list>div{grid-template-columns:minmax(90px,.4fr) minmax(0,1fr)}.amendment-list article{grid-template-columns:minmax(0,1fr);gap:8px}.today-page .page-heading-actions{align-items:flex-start;flex-direction:column}.today-date{width:100%}.today-date label{flex:1}.today-tabs{grid-template-columns:repeat(4,minmax(82px,1fr));overflow-x:auto}.today-tabs button{min-height:58px;flex-direction:column;gap:2px}.queue-row{grid-template-columns:36px minmax(0,1fr);gap:8px 10px}.queue-row>.status-badge{grid-column:2;grid-row:auto}.queue-actions{grid-column:1 / -1;grid-row:auto;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--border)}.queue-actions .button{flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.accounts-page{max-width:1200px;margin:0 auto}.accounts-page>.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.accounts-page>.page-header h1{margin:0;font-size:26px}.account-self,.account-staff,.account-history{padding:22px 0;border-bottom:1px solid #dce2df}.account-self{display:flex;justify-content:space-between;align-items:center;gap:16px}.accounts-page h2{display:flex;align-items:center;gap:8px;font-size:18px;margin:0 0 12px}.account-history h2,.account-actions{display:flex;align-items:center;gap:8px}.account-table-scroll{overflow-x:auto}.account-table{width:100%;border-collapse:collapse;font-size:14px}.account-table th,.account-table td{padding:14px 12px;text-align:left;border-bottom:1px solid #e2e6e4}.account-table th{font-weight:500;color:#52635a;white-space:nowrap}.account-table td:first-child{min-width:150px;overflow-wrap:anywhere}.account-username{display:block;margin-top:4px;color:#627069}.account-active{color:#246549}.account-actions{flex-wrap:wrap}.account-actions .icon-button{width:34px;height:34px;flex:0 0 34px}.account-danger{color:#a5363f}.account-history ol{list-style:none;margin:0;padding:0}.account-history li{padding:14px 0;border-bottom:1px solid #e2e6e4;overflow-wrap:anywhere}.account-history li div{display:flex;gap:16px;flex-wrap:wrap}.account-history li p{margin:6px 0}.account-history small{color:#63706a}.account-form{display:grid;gap:18px}.account-form label{display:grid;gap:8px}.account-form input,.account-form textarea{width:100%;min-width:0}.account-form textarea{min-height:80px;resize:vertical}.account-form .account-payment-confirmation{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;line-height:24px}.account-form .account-payment-confirmation input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:3px 0 0;padding:0}.account-confirmation{margin:0;display:grid;gap:10px}.account-confirmation div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px}.account-confirmation dd{margin:0;overflow-wrap:anywhere}.account-confirmation dt{color:#63706a}.account-notice{color:#246549}@media(max-width:600px){.account-self{align-items:flex-start;flex-wrap:wrap}.account-table,.account-table tbody{display:block}.account-table thead{display:none}.account-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:18px 0;border-bottom:1px solid #dce2df}.account-table td,.account-table td:first-child{display:block;min-width:0;padding:0;border:0}.accounts-page .account-table tbody tr td{background:transparent}.account-table td:first-child{grid-column:1;grid-row:1}.account-table td:nth-child(2){grid-column:2;grid-row:1;justify-self:end;white-space:nowrap}.account-table td:nth-child(3){grid-column:1 / -1;grid-row:2}.account-table td:nth-child(3):before{content:"最近登录 ";color:#63706a}.account-table td:nth-child(4){grid-column:1;grid-row:3;align-self:center}.account-table td:nth-child(4):before{content:"有效会话 ";color:#63706a}.account-table td:last-child{grid-column:2;grid-row:3}.account-table .account-actions{flex-wrap:nowrap;gap:4px}.account-form .form-actions{flex-wrap:wrap}}.member-stay-continuation{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.member-stay-continuation .muted{font-size:13px;line-height:1.6}.list-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 0}.list-pagination .muted{font-size:13px}.detail-disclosure{margin:18px 0;border:1px solid var(--border, #dce3e0);border-radius:12px;background:var(--surface, #fff)}.detail-disclosure>summary{padding:18px 20px;font-weight:600;cursor:pointer;color:var(--text, #24392f)}.detail-disclosure>summary:hover{background:#f2f6f3}.detail-disclosure>summary:focus-visible{outline:2px solid #387857;outline-offset:-3px;border-radius:12px}.detail-disclosure>.detail-section{border:0;margin:0;box-shadow:none}.detail-disclosure[open]>summary{border-bottom:1px solid #e3e9e5}.detail-jump-links{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.detail-jump-links a{padding:9px 14px;border:1px solid #dae4de;border-radius:8px;color:#315842;background:#f5f8f6;text-decoration:none}.order-detail-page [id]{scroll-margin-top:24px}.order-unit small{display:block;color:#52685b;margin-top:4px}.settings-page{min-width:0}.settings-page-heading{margin-bottom:24px}.settings-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.settings-card{display:flex;align-items:flex-start;gap:16px;min-width:0;padding:24px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--surface);text-decoration:none}.settings-card>svg{flex-shrink:0;color:var(--brand)}.settings-card strong{display:block;font-size:17px}.settings-card small{display:block;margin-top:8px;color:var(--muted);font-size:13px;line-height:1.7}.settings-card:hover{background:var(--brand-soft);border-color:var(--border-strong)}.settings-navigation{position:sticky;top:0;z-index:15;padding-block:12px;margin-bottom:20px;background:var(--canvas);border-bottom:1px solid var(--border)}.settings-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:36px;margin-bottom:8px;color:var(--muted);font-size:13px}.settings-breadcrumb a{display:inline-flex;align-items:center;gap:6px;min-height:36px;color:var(--brand);text-decoration:none}.settings-breadcrumb a:hover{text-decoration:underline}.settings-tabs{display:flex;flex-wrap:wrap;gap:8px}.settings-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:0;padding:10px 14px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface);text-decoration:none;font-weight:650}.settings-link svg{flex-shrink:0}.settings-link:hover,.settings-link.active{color:var(--brand);background:var(--brand-soft);border-color:var(--border-strong)}@media(max-width:1050px){.settings-cards{grid-template-columns:minmax(0,1fr)}}@media(max-width:860px){.settings-navigation{top:56px}}@media(max-width:540px){.settings-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.settings-link{padding:9px 6px;font-size:12px;text-align:center}.settings-link svg{display:none}.settings-card{padding:20px}}.member-directory-list{min-width:0}.member-list-return{display:none}.room-status-advanced-filters{display:none;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;padding-top:2px}.room-status-advanced-filters.is-open{display:grid}.advanced-filter-toggle{display:inline-flex;white-space:nowrap}@media(max-width:767px){.member-directory-detail-open .member-directory-list{display:none}.member-directory-detail-open .member-list-return{display:inline-flex;justify-self:start}.member-detail-stack{min-width:0}.room-status-advanced-filters{grid-template-columns:minmax(0,1fr)}.detail-disclosure>summary{padding:16px}.order-heading{gap:12px}.order-unit{text-align:left}.detail-jump-links a{flex:1;text-align:center;padding:11px 8px;font-size:13px}}@media(min-width:576px)and (max-width:767px){.room-status-advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.member-detail-visible .member-search{display:none}.member-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.member-profile-fields>div{padding:12px}.member-profile-fields>div:nth-child(odd){border-right:1px solid var(--border)}.member-profile-fields>div:last-child{grid-column:1 / -1;border:0}.member-profile-fields>div:nth-last-child(2){border-bottom:1px solid var(--border)}.member-profile-fields dd{font-size:14px}.member-entitlement-lot dl,.membership-order-pricing,.member-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.orders-filter-toolbar{align-items:center}.orders-filter-toolbar .filter-select-control{min-width:148px}.orders-filter-toolbar .filter-select-control select{width:100%}.orders-funds-notice{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;margin:-4px 0 16px;padding:9px 11px;border:1px solid #d7bd91;border-radius:6px;background:var(--warning-soft);color:var(--warning);font-size:12px;line-height:1.55}.orders-funds-notice svg{margin-top:2px}.orders-funds-notice p{margin:0}.accounts-page>.page-header{margin-bottom:10px}.accounts-page>.page-header h1{font-size:22px}.accounts-page>.page-header .button{min-height:36px}.account-self,.account-staff,.account-history{padding:16px 0}.account-staff-collapsible>summary,.account-history>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style-position:outside}.account-staff-collapsible>summary::-webkit-details-marker,.account-history>summary::-webkit-details-marker{color:var(--muted)}.account-staff-collapsible>summary h2,.account-history>summary h2{margin-bottom:0}.account-history>summary{justify-content:flex-start}.account-history>summary .muted{margin-left:auto;font-size:12px}.tennis-app{--tennis-held-key: #f97316;--tennis-held-surface: color-mix(in srgb, var(--tennis-held-key) 13%, white);--tennis-booked-key: #0969da;--tennis-booked-surface: color-mix(in srgb, var(--tennis-booked-key) 12%, white);--tennis-course-surface: #eeedf4}:where(.tennis-legend>span,.tennis-grid-slot,.tennis-schedule-block,.tennis-mobile-times>button).is-free{--tennis-status-key: var(--success);--tennis-status-surface: var(--surface);--tennis-status-ink: var(--success)}:where(.tennis-legend>span,.tennis-grid-slot,.tennis-schedule-block,.tennis-mobile-times>button).is-held{--tennis-status-key: var(--tennis-held-key);--tennis-status-surface: var(--tennis-held-surface);--tennis-status-ink: var(--warning)}:where(.tennis-legend>span,.tennis-grid-slot,.tennis-schedule-block,.tennis-mobile-times>button).is-booked{--tennis-status-key: var(--tennis-booked-key);--tennis-status-surface: var(--tennis-booked-surface);--tennis-status-ink: var(--tennis-booked-key)}:where(.tennis-legend>span,.tennis-grid-slot,.tennis-schedule-block,.tennis-mobile-times>button).is-course{--tennis-status-key: var(--muted);--tennis-status-surface: var(--tennis-course-surface);--tennis-status-ink: var(--muted)}:where(.tennis-legend>span,.tennis-grid-slot,.tennis-schedule-block,.tennis-mobile-times>button).is-maintenance{--tennis-status-key: var(--danger);--tennis-status-surface: var(--danger-soft);--tennis-status-ink: var(--danger)}:where(.tennis-grid-slot,.tennis-schedule-block,.tennis-mobile-times>button).is-blocked{--tennis-status-key: var(--muted);--tennis-status-surface: var(--surface-muted);--tennis-status-ink: var(--muted)}.tennis-app button.nav-link{border:0;background:transparent;width:100%;text-align:left}.tennis-app button.nav-link:hover{background:#e3e8e4}.tennis-app button.nav-link.active{background:#dce9e2;color:var(--brand-hover)}.tennis-main-shell{min-width:0}.tennis-workspace-header{min-height:64px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:10px 26px;background:var(--surface);border-bottom:1px solid var(--border)}.tennis-workspace-select,.tennis-header-tools{display:flex;align-items:center;gap:12px;min-width:0}.tennis-workspace-select{flex:1 1 260px;flex-wrap:wrap}.tennis-header-tools{flex:0 0 auto;margin-left:auto}.tennis-workspace-select select{width:auto;max-width:260px;border-color:transparent;font-weight:650}.tennis-tenant-name{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:13px}.tennis-tenant-name>svg{flex:0 0 auto}.tennis-tenant-name strong{font-weight:550;overflow-wrap:anywhere}.tennis-campus-switch{display:flex;align-items:center;gap:8px;min-width:0}.tennis-workspace-select .tennis-campus-switch select{min-height:36px;border-color:var(--border-strong);background-color:var(--brand-soft);color:var(--brand-hover);font-size:14px;font-weight:700;cursor:pointer}.tennis-workspace-select .tennis-campus-switch select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.tennis-workspace-recovery{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.tennis-workspace-choice{display:grid;gap:6px;flex:1 1 240px;min-width:0;font-size:13px}.tennis-demo-badge{font-size:12px;border:1px solid #d8c395;color:var(--warning);background:var(--warning-soft);border-radius:4px;padding:4px 8px;white-space:nowrap}.tennis-mobile-logout,.tennis-bottom-nav,.tennis-mobile-management{display:none}.tennis-mobile-management.is-active{color:var(--brand);background:var(--brand-soft)}.tennis-panel{padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:7px;min-width:0;margin-bottom:16px}.tennis-panel>.panel-heading{margin-bottom:18px}.tennis-panel>.panel-heading h2{font-size:16px}.tennis-muted{font-size:12px;color:var(--muted);line-height:1.6}.tennis-form{display:grid;gap:14px}.tennis-form label,.tennis-label{display:grid;gap:6px;font-weight:600;font-size:13px}.tennis-form fieldset{border:0;margin:0;padding:0;min-width:0}.tennis-form fieldset legend{padding:0;margin-bottom:8px;font-size:13px;font-weight:600}.tennis-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tennis-form label.tennis-check,.tennis-check{display:flex;gap:8px;align-items:center;font-weight:400}.tennis-check input{width:16px;height:16px;min-height:16px;flex:0 0 16px;accent-color:var(--brand)}.tennis-check-group{display:flex;gap:12px;flex-wrap:wrap}.tennis-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tennis-full{width:100%}.tennis-toolbar{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap}.tennis-toolbar>select{width:auto}.tennis-date-switch{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tennis-date-switch input{width:160px}.tennis-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted)}.tennis-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.tennis-legend>span:not(.tennis-info-hint):before{content:"";width:12px;height:12px;flex:0 0 12px;border:1px solid var(--tennis-status-key);border-radius:3px;background:var(--tennis-status-key)}.tennis-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.tennis-schedule-panel{padding:18px 0}.tennis-schedule-panel>.panel-heading{padding:0 18px}.tennis-grid-scroll{overflow:auto;max-height:65vh;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overscroll-behavior-inline:contain}.tennis-grid{display:grid;width:max-content;min-width:100%}.tennis-grid-row{display:contents}.tennis-grid-corner,.tennis-grid-time{height:38px;background:var(--surface-muted);font-size:11px;color:var(--muted);padding-top:11px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:3;white-space:nowrap}.tennis-grid-corner{left:0;padding-left:12px;z-index:5}.tennis-grid-time.is-hour{border-left:1px solid var(--border-strong);overflow:visible}.tennis-grid-court{padding:14px 10px;display:flex;flex-direction:column;justify-content:center;height:82px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;left:0;z-index:4}.tennis-grid-court strong{font-size:13px}.tennis-grid-court span{font-size:10px;color:var(--muted);line-height:1.6}.tennis-grid-slot{position:relative;border:0;border-right:1px solid #e9eeea;border-bottom:1px solid var(--border);background:var(--surface);height:82px;padding:0;min-width:26px;opacity:1!important;overflow:visible}.tennis-grid-slot.is-hour{border-left:1px solid var(--border)}.tennis-grid-slot.is-free:hover{background:var(--brand-soft);box-shadow:inset 0 0 0 2px var(--brand)}.tennis-grid-slot.is-selected{background:#c3e2d1;box-shadow:inset 0 3px 0 var(--brand)}.tennis-grid-slot:is(.is-booked,.is-held,.is-course,.is-maintenance,.is-blocked){background:var(--tennis-status-surface);border-color:color-mix(in srgb,var(--tennis-status-key) 20%,white)}.tennis-grid-slot.is-closed{background:repeating-linear-gradient(135deg,#f1f3f0,#f1f3f0 5px,#e9ede8 5px 6px)}.tennis-grid-slot>span{position:absolute;left:5px;top:22px;font-size:11px;white-space:nowrap;z-index:2;pointer-events:none}.tennis-grid-help{padding:12px 18px 0}.tennis-booking-side .tennis-panel{padding:18px}.tennis-selected-customer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:5px;margin:8px 0}.tennis-selected-customer div{display:grid;gap:3px}.tennis-selected-customer span{font-size:12px;color:var(--muted)}.tennis-search{display:flex;align-items:center;gap:8px;border:1px solid var(--border-strong);border-radius:5px;padding-left:10px;background:var(--surface);min-width:0}.tennis-search input{border:0;background:transparent}.tennis-search svg{flex:0 0 auto;color:var(--muted)}.tennis-customer-results{display:grid;gap:1px;margin:8px 0;max-height:190px;overflow:auto}.tennis-customer-option{border:0;background:var(--surface);display:flex;justify-content:space-between;gap:8px;padding:8px;text-align:left;border-radius:4px}.tennis-customer-option:hover{background:var(--surface-muted)}.tennis-customer-option span{font-size:12px;color:var(--muted)}.tennis-add-line{margin:16px 0 8px;padding-top:14px;border-top:1px solid var(--border)}.tennis-selection-list{margin:14px 0}.tennis-selection{display:flex;gap:9px;padding:12px 0;border-top:1px solid var(--border);align-items:center}.tennis-selection>svg{color:var(--brand);flex-shrink:0}.tennis-selection>div{display:grid;gap:3px;flex:1;min-width:0}.tennis-selection strong{font-size:13px}.tennis-selection span{font-size:11px;color:var(--muted)}.tennis-selection-empty{padding:20px 6px;color:var(--muted);font-size:12px;text-align:center;background:var(--surface-muted);border-radius:5px}.tennis-money-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:6px 0;font-variant-numeric:tabular-nums}.tennis-total{border-top:1px solid var(--border);margin-top:12px;padding-top:14px}.tennis-total strong{font-size:22px;color:var(--brand)}.tennis-note{background:var(--surface-muted);padding:12px;border-radius:5px;font-size:12px;line-height:1.7;color:var(--muted);margin:12px 0}.tennis-note.is-warning{background:var(--warning-soft);color:var(--warning)}.tennis-success{background:var(--success-soft);padding:12px;border-radius:5px;color:var(--success);font-size:13px;margin-bottom:12px}.tennis-recovery{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px;padding:12px 14px;border:1px solid #dbc297;border-radius:5px;background:var(--warning-soft);font-size:12px}.tennis-advanced{margin:14px 0;color:var(--muted)}.tennis-advanced>summary{font-size:12px;margin-bottom:10px}.tennis-table-scroll{overflow:auto}.tennis-table{border-collapse:collapse;width:100%;font-size:13px}.tennis-table th{background:var(--surface-muted);color:var(--muted);font-weight:600;font-size:12px;text-align:left;white-space:nowrap}.tennis-table th,.tennis-table td{padding:13px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.tennis-table td small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.tennis-table tbody tr:hover{background:#f7f9f6}.tennis-table td details{margin-top:6px;font-size:11px}.tennis-table td details summary{color:var(--muted)}.tennis-numeric{font-variant-numeric:tabular-nums;white-space:nowrap}.tennis-status-held,.tennis-status-unpaid,.tennis-status-pending,.tennis-status-processing,.tennis-status-requested{color:var(--warning);background:var(--warning-soft)}.tennis-status-confirmed,.tennis-status-paid,.tennis-status-succeeded,.tennis-status-not_required{color:var(--brand);background:var(--brand-soft)}.tennis-status-cancelled,.tennis-status-expired,.tennis-status-completed{color:var(--muted);background:var(--surface-muted)}.tennis-status-failed,.tennis-status-refund_required{color:var(--danger);background:var(--danger-soft)}.tennis-status-refunded,.tennis-status-partially_refunded{color:var(--accent);background:var(--accent-soft)}.tennis-order-detail{display:grid;gap:18px}.tennis-detail-top{display:flex;justify-content:space-between;align-items:start;gap:16px}.tennis-detail-top h2{margin:5px 0}.tennis-badges{display:flex;gap:6px;flex-wrap:wrap}.tennis-ledger-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--border)}.tennis-ledger-row:last-child{border-bottom:0}.tennis-ledger-row>div:first-child{flex:1;min-width:160px;display:grid;gap:5px}.tennis-ledger-row span{font-size:12px;color:var(--muted)}.tennis-section-title{display:flex;align-items:center;gap:7px;margin-bottom:12px}.tennis-refund-line{border:1px solid var(--border);border-radius:5px;padding:12px;display:grid;gap:12px}.tennis-input-action{display:flex;gap:8px}.tennis-input-action input{min-width:0}.tennis-input-action button{white-space:nowrap}.tennis-members-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:20px;align-items:start}.tennis-members-layout>div:first-child:last-child{grid-column:1/-1}.tennis-member-directory{position:sticky;top:20px;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.tennis-member-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px}.tennis-member-list-heading h2{margin:0;font-size:15px}.tennis-member-list-heading .button{white-space:nowrap}.tennis-member-search{padding:0 14px 14px;border-bottom:1px solid var(--border)}.tennis-member-search .tennis-search{position:relative;width:100%;min-width:0}.tennis-member-search .tennis-search input{padding-right:32px}.tennis-member-search .tennis-search .icon-button{position:absolute;right:3px;width:30px;height:30px}.tennis-member-list-scroll{max-height:calc(100dvh - 280px);min-height:240px;overflow-y:auto;overscroll-behavior-y:contain}.tennis-member-list{margin:0;padding:0;list-style:none}.tennis-member-list>li{border-bottom:1px solid var(--border)}.tennis-member-list-item{display:grid;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:6px 10px;width:100%;min-height:74px;padding:14px 16px;color:var(--text);background:transparent;border:0;border-radius:0;text-align:left;cursor:pointer}.tennis-member-list-item strong{font-size:14px;overflow-wrap:anywhere}.tennis-member-list-item>span{grid-column:1 / -1;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.tennis-member-list-item:hover{background:var(--surface-muted)}.tennis-member-list-item[aria-pressed=true]{background:var(--brand-soft);color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.tennis-member-list-item:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}.tennis-member-list-item:disabled{cursor:default;opacity:.6}.tennis-member-load-more{display:flex;margin:14px auto}.tennis-member-directory .inline-error{margin:12px}.tennis-member-detail{min-width:0}.tennis-member-profile{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;font-size:13px}.tennis-member-profile span{color:var(--muted)}.tennis-member-profile strong{font-weight:500}.tennis-balance{display:flex;gap:14px;align-items:center;margin:24px 0;color:var(--brand)}.tennis-balance div{display:grid;gap:3px}.tennis-balance span{font-size:12px;color:var(--muted)}.tennis-balance strong{font-size:32px;letter-spacing:-1px;font-weight:650}.tennis-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0}.tennis-stats>div{display:grid;gap:7px}.tennis-stats span{font-size:12px;color:var(--muted)}.tennis-stats strong{font-size:17px;white-space:nowrap}.tennis-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px;overflow:auto}.tennis-tabs button{padding:10px 16px;border:0;border-bottom:2px solid transparent;white-space:nowrap;background:transparent;color:var(--muted)}.tennis-tabs button.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:650}.tennis-settings-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.tennis-opening-row{display:flex;gap:7px;align-items:center}.tennis-opening-row select{min-width:0}.tennis-opening-row span{font-size:12px}.tennis-opening-row .icon-button{flex-shrink:0}.tennis-form hr{border:0;border-top:1px solid var(--border);width:100%}.tennis-sidebar-utility-slot{display:flex;align-items:center}.tennis-sidebar-utility-trigger{display:flex;align-items:center;gap:8px;width:100%;min-width:0;min-height:44px;padding:8px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;text-align:left;transition:color .16s ease,background-color .16s ease}.tennis-sidebar-utility-trigger>svg{flex-shrink:0}.tennis-sidebar-utility-trigger:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.tennis-sidebar-utility-trigger[aria-expanded=true]{color:var(--brand)}.tennis-app.sidebar-is-collapsed .tennis-sidebar-utility-trigger{justify-content:center;padding-inline:0}.tennis-app.sidebar-is-collapsed .tennis-sidebar-utility-trigger>span,.tennis-app.sidebar-is-collapsed .sidebar-user>svg{display:none}.tennis-app .sidebar-user{margin-top:0}.tennis-app .sidebar-user>.icon-button{min-width:0}.tennis-app .sidebar-brand-product{font-size:11px;color:var(--muted)}@media(min-width:1600px){.tennis-booking-layout{grid-template-columns:minmax(0,1fr) 370px}.tennis-app .main-content{padding:28px 34px}}@media(max-width:1180px){.tennis-booking-layout{grid-template-columns:minmax(0,1fr)}.tennis-booking-side>.tennis-panel{max-width:none}.tennis-booking-side .tennis-form{grid-template-columns:1fr}.tennis-grid-scroll{max-height:48vh}.tennis-settings-layout{grid-template-columns:1fr}.tennis-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.tennis-app.app-shell{display:block}.tennis-app>.sidebar{display:none}.tennis-workspace-header{height:auto;min-height:62px;padding:10px 14px;gap:8px}.tennis-workspace-select{gap:4px;flex-wrap:wrap}.tennis-workspace-select>svg{display:none}.tennis-workspace-select select{font-size:12px;min-height:32px;max-width:150px;padding:4px}.tennis-header-tools{gap:5px}.tennis-demo-badge{font-size:10px;padding:3px 5px}.tennis-mobile-logout{display:inline-flex}.tennis-app .main-content{padding:20px 14px 92px}.tennis-app h1{font-size:24px}.tennis-app .page-heading-actions{gap:12px}.tennis-app .page-heading p{font-size:12px}.tennis-panel{padding:16px}.tennis-booking-layout{gap:0}.tennis-schedule-panel{padding:14px 0}.tennis-members-layout{grid-template-columns:1fr;gap:16px}.tennis-member-directory{position:static}.tennis-member-list-scroll{max-height:240px;min-height:120px}.tennis-two{gap:10px}.tennis-table{font-size:12px}.tennis-table th,.tennis-table td{padding:11px 9px}.tennis-table-scroll{margin-inline:-4px}.tennis-stats strong{font-size:16px}.tennis-detail-top{flex-direction:column;gap:10px}.tennis-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--surface);border-top:1px solid var(--border);padding:5px 5px calc(5px + env(safe-area-inset-bottom));justify-content:space-around}.tennis-mobile-management{display:inline-flex}.tennis-app .tennis-bottom-nav button.nav-link{width:auto;flex:1;display:flex;flex-direction:column;gap:4px;font-size:10px;line-height:1.2;padding:7px 3px;min-height:53px;border-radius:5px}.tennis-app .tennis-bottom-nav button.nav-link.active{background:var(--brand-soft)}.tennis-legend{gap:9px;font-size:11px}.tennis-legend>span:not(.tennis-info-hint):before{width:11px;height:11px;flex-basis:11px}.tennis-grid-scroll{max-height:380px}.tennis-recovery{font-size:11px}.tennis-form input,.tennis-form select,.tennis-form textarea{font-size:16px}.tennis-input-action{flex-wrap:wrap}.tennis-input-action input{flex:1;min-width:120px}.tennis-actions>.button{min-height:42px}}@media(prefers-reduced-motion:reduce){.tennis-app *{scroll-behavior:auto;transition:none!important;animation:none!important}}.tennis-grid-time.is-hour{z-index:4}.tennis-backoffice-messages{display:grid;gap:12px;max-height:42vh;overflow-y:auto;padding:12px 0}.tennis-backoffice-message{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface, #fff)}.tennis-backoffice-message.is-user{background:var(--tennis-tint, #edf5ef)}.tennis-backoffice-message>p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.tennis-backoffice-feedback,.tennis-backoffice-compose{margin-top:12px}.tennis-booking-layout{grid-template-columns:minmax(0,1fr);gap:16px}.tennis-booking-layout.has-draft{grid-template-columns:minmax(0,1fr) 340px}.tennis-booking-side{position:sticky;top:76px;max-height:calc(100vh - 100px);overflow:auto}.tennis-booking-side h3{font-size:14px;margin:0 0 10px}.tennis-occupancy-tools>summary{cursor:pointer;color:var(--muted);padding:14px 0;font-size:13px}.tennis-now-line{position:absolute;top:38px;bottom:0;width:1px;background:var(--brand);pointer-events:none;z-index:2}.tennis-now-line>span{position:absolute;top:0;left:3px;font-size:10px;color:var(--brand);background:var(--surface)}.tennis-booking-side .panel-heading{margin-bottom:14px}.tennis-booking-customer{margin-bottom:16px}.tennis-booking-matches{max-height:180px;overflow:auto}.tennis-manual-selection{margin-bottom:16px}.tennis-manual-selection summary{cursor:pointer;font-size:13px;color:var(--brand);padding:8px 0}.tennis-selection-summary{margin:12px 0;font-size:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tennis-selection-summary p{margin:0}.tennis-schedule-header{display:grid;position:sticky;top:0;z-index:6}.tennis-schedule-row{display:grid;position:relative;min-height:80px}.tennis-grid{-webkit-user-select:none;user-select:none}.tennis-grid-scroll{max-height:calc(100vh - 300px);min-height:260px}.tennis-schedule-block,.tennis-draft-block,.tennis-drag-preview{position:absolute;top:5px;height:calc(100% - 10px);border-radius:4px;z-index:2;min-width:0;overflow:hidden}.tennis-schedule-block{padding:8px 6px;text-align:left;display:flex;flex-direction:column;gap:3px;background:var(--tennis-status-surface);color:var(--text);border:1px solid var(--tennis-status-key)}.tennis-schedule-block strong,.tennis-schedule-block span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:12px}.tennis-schedule-block span{font-size:10px}.tennis-schedule-block .tennis-occupancy-status{color:var(--tennis-status-ink);font-weight:650;line-height:1.15}.tennis-schedule-block .tennis-occupancy-time{color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.2}.tennis-schedule-block:enabled:hover{border-color:var(--tennis-status-key);box-shadow:inset 0 0 0 1px var(--tennis-status-key)}.tennis-schedule-block:focus-visible{outline:2px solid var(--focus);outline-offset:1px;z-index:4}.tennis-mobile-times>button{background:var(--tennis-status-surface, var(--surface));color:var(--text);border-color:color-mix(in srgb,var(--tennis-status-key, var(--border-strong)) 55%,white);flex-direction:column;gap:3px}.tennis-mobile-times>button:hover:not(:disabled){filter:brightness(.97)}.tennis-mobile-times .tennis-occupancy-time{font-variant-numeric:tabular-nums;font-weight:650}.tennis-mobile-times .tennis-occupancy-status{color:var(--tennis-status-ink, var(--muted));white-space:normal}.tennis-mobile-times>button:is(.is-held,.is-booked,.is-course,.is-maintenance,.is-blocked):disabled{opacity:1;cursor:default}.tennis-mobile-times>button.is-selected{background:var(--brand-soft);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.tennis-mobile-times>button.is-selected .tennis-occupancy-status{color:var(--brand)}.tennis-mobile-times>button.has-conflict{background:var(--danger-soft);border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.tennis-mobile-times>button.has-conflict .tennis-occupancy-status{color:var(--danger)}.tennis-draft-block{z-index:3;background:var(--brand-soft);border:2px solid var(--brand)}.tennis-draft-hit{width:100%;height:100%;display:flex;flex-direction:column;gap:5px;padding:8px;text-align:left;border:0;background:transparent;color:var(--brand);overflow:hidden;white-space:nowrap}.tennis-draft-hit strong{font-size:12px}.tennis-draft-hit span{font-size:10px}.tennis-resize{position:absolute;top:0;bottom:0;width:7px;border:0;padding:0;background:transparent;cursor:ew-resize}.tennis-resize:hover{background:var(--brand)}.tennis-resize.is-start{left:0}.tennis-resize.is-end{right:0}.tennis-drag-preview{z-index:4;pointer-events:none;border:2px dashed var(--brand);background:var(--brand-soft);opacity:.88;font-size:11px;padding:7px;white-space:nowrap}.tennis-draft-block.has-conflict,.tennis-drag-preview.has-conflict{border-color:var(--danger, #a43f37);background:var(--warning-soft)}.tennis-mobile-schedule{display:none}.tennis-order-drawer{width:min(760px,94vw)}.tennis-resume-draft{position:sticky;bottom:16px;z-index:8;margin:10px 0}.tennis-court-filter select{min-height:36px;border:1px solid var(--border);border-radius:5px;background:var(--surface);padding:5px 8px}@media(max-width:1050px){.tennis-booking-layout.has-draft{grid-template-columns:minmax(0,1fr) 310px}}@media(max-width:700px){.tennis-booking-layout.has-draft{grid-template-columns:minmax(0,1fr)}.tennis-desktop-schedule{display:none}.tennis-mobile-schedule{display:block;padding:0 14px}.tennis-mobile-schedule details{border-top:1px solid var(--border);padding:14px 0}.tennis-mobile-schedule summary{cursor:pointer;font-size:14px}.tennis-mobile-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:12px}.tennis-mobile-times button{min-height:44px;font-size:11px;padding:6px}.tennis-booking-side{position:fixed;inset:auto 0 64px;max-height:68dvh;z-index:20;border-radius:12px 12px 0 0;box-shadow:0 -8px 32px #0002;background:var(--surface)}.tennis-booking-side .tennis-panel{margin:0}.tennis-booking-side .panel-heading{position:sticky;top:-18px;background:var(--surface);padding:8px 0;z-index:2}.tennis-order-drawer{width:100vw;max-width:100vw;height:88dvh;top:auto;bottom:0;border-radius:12px 12px 0 0}.tennis-order-drawer .modal-shell{height:88dvh}.tennis-resume-draft{bottom:70px}}.tennis-app .main-content:has(.tennis-schedule-toolbar){padding:12px 20px}.tennis-workspace-header{min-height:52px;padding-top:6px;padding-bottom:6px}.tennis-schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px 20px;flex-wrap:wrap;min-height:40px}.tennis-schedule-title{display:flex;align-items:baseline;gap:10px;flex:0 0 auto}.tennis-schedule-title h1{margin:0;font-size:18px;font-weight:700;line-height:1.4}.tennis-schedule-title>span{color:var(--muted);font-size:12px;white-space:nowrap}.tennis-schedule-toolbar .button{min-height:34px;padding:6px 10px;font-size:13px;gap:5px}.tennis-schedule-toolbar .icon-button{width:30px;height:34px}.tennis-schedule-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.tennis-view-switch{display:flex;border:1px solid var(--border);border-radius:5px;padding:2px;background:var(--surface)}.tennis-view-switch button{border:0;background:transparent;color:var(--muted);font-size:12px;padding:5px 9px;border-radius:3px}.tennis-view-switch button[aria-pressed=true]{background:var(--brand-soft);color:var(--brand);font-weight:700}.tennis-schedule-toolbar .tennis-court-filter select{width:auto;min-height:34px;padding:5px 7px;font-size:12px}.tennis-schedule-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 16px;min-height:32px;padding:4px 0 7px;color:var(--muted);font-size:11px}.tennis-schedule-meta .tennis-legend{gap:12px;font-size:11px;align-items:center}.tennis-schedule-status{display:flex;align-items:center;gap:12px;margin-left:auto}.tennis-pending-count{color:var(--warning);font-weight:650}.tennis-sync-status{display:inline-block;color:var(--muted)}.tennis-sync-status:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;margin:0 5px 1px 0;background:var(--brand)}.tennis-sync-status.is-error:before{background:var(--warning)}.tennis-schedule-panel{padding:0;overflow:hidden;margin-bottom:0}.tennis-board{--tennis-schedule-header-height: 64px;--tennis-header-surface: #e5f4ec;--tennis-header-text: #285e4b;--tennis-header-border: #cfe3d7;--tennis-header-tick: #b1cebe;--tennis-header-hour-tick: #79a68e;max-height:calc(100dvh - 170px);min-height:0;border:0;scroll-padding-top:calc(var(--tennis-schedule-header-height) + 38px)}.tennis-board .tennis-schedule-header{display:grid;min-width:100%;overflow:hidden;background:var(--tennis-header-surface)}.tennis-board .tennis-grid-corner{height:var(--tennis-schedule-header-height);padding:5px 7px;background:var(--tennis-header-surface);color:var(--tennis-header-text);border-right:1px solid var(--tennis-header-border);border-bottom-color:var(--tennis-header-border)}.tennis-grid-date-navigation{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:3px;align-items:center}.tennis-grid-date-picker{grid-column:1 / -1;min-width:0}.tennis-grid-date-navigation button{display:inline-flex;align-items:center;justify-content:center;min-width:0;height:24px;padding:0 5px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--tennis-header-text);font-size:12px;font-weight:600;cursor:pointer}.tennis-grid-date-navigation .tennis-grid-today{background:#ffffff80}.tennis-grid-date-navigation button:hover{border-color:var(--tennis-header-border);background:var(--surface)}.tennis-grid-date-navigation button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.tennis-day-heading{position:sticky;top:var(--tennis-schedule-header-height);z-index:5;margin:0;background:var(--surface-muted);border-bottom:1px solid var(--border);font-size:12px;height:30px}.tennis-day-heading button{border:0;padding:0;width:100%;height:30px;text-align:left;background:transparent;color:var(--text)}.tennis-day-heading button>span{position:sticky;left:10px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;height:30px}.tennis-day-heading em{font-style:normal;font-size:10px;color:var(--brand)}.tennis-day-heading small{font-size:10px;color:var(--brand);font-weight:500}.tennis-board .tennis-schedule-row{min-height:68px}.tennis-board .tennis-grid-court{height:auto;min-height:68px;padding:6px 8px;gap:2px;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;text-align:left;color:var(--text);align-items:stretch;min-width:0;white-space:normal;overflow-wrap:anywhere}.tennis-board .tennis-grid-slot{height:100%;min-height:68px;min-width:0}.tennis-time-axis{position:relative;min-width:0;height:var(--tennis-schedule-header-height);background:var(--tennis-header-surface);color:var(--tennis-header-text);border-bottom:1px solid var(--tennis-header-border)}.tennis-time-tick{position:absolute;top:0;bottom:0;width:0}.tennis-time-tick:after{content:"";position:absolute;left:0;bottom:0;width:1px;height:4px;background:var(--tennis-header-tick)}.tennis-time-tick.is-hour:after{height:10px;background:var(--tennis-header-hour-tick)}.tennis-time-tick.is-start:after,.tennis-time-tick.is-end:after{height:12px;background:var(--tennis-header-hour-tick)}.tennis-time-tick.is-end:after{left:-1px}.tennis-time-label{position:absolute;left:0;bottom:23px;width:40px;transform:translate(-50%);text-align:center;white-space:nowrap;font-size:13px;line-height:1.2;font-weight:650;font-variant-numeric:tabular-nums}.tennis-time-tick.is-start .tennis-time-label{transform:none;text-align:left}.tennis-time-tick.is-end .tennis-time-label{transform:translate(-100%);text-align:right}.tennis-board .tennis-now-line{top:0}.tennis-board .tennis-now-line>span{left:auto;right:3px}.tennis-board .tennis-schedule-block{padding:5px 0;gap:2px}.tennis-board .tennis-schedule-block>strong,.tennis-board .tennis-schedule-block>span{padding:0 6px}.tennis-board .tennis-drag-preview{padding:7px 0;text-indent:7px}.tennis-board .tennis-draft-hit{padding:4px 7px;gap:2px}.tennis-drag-status{position:fixed;bottom:22px;left:50%;transform:translate(-50%);margin:0;z-index:30;background:var(--surface);box-shadow:var(--shadow-sm);border-radius:5px;font-size:12px;color:var(--brand);pointer-events:none}.tennis-drag-status:not(:empty){padding:8px 14px;border:1px solid var(--border)}.tennis-booking-side{top:12px;max-height:calc(100dvh - 110px)}.tennis-occupancy-tools>summary{padding:10px 0;font-size:12px}@media(max-width:1100px){.tennis-schedule-toolbar{gap:7px 12px}.tennis-schedule-controls{gap:5px}}@media(max-width:700px){.tennis-workspace-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.tennis-workspace-select{display:contents}.tennis-tenant-name{grid-column:1;grid-row:1;font-size:12px}.tennis-tenant-name>svg{display:none}.tennis-campus-switch{grid-column:1 / -1;grid-row:2}.tennis-workspace-select .tennis-campus-switch select{flex:1;width:100%;max-width:none;min-width:0;min-height:44px;padding:6px 10px}.tennis-header-tools{grid-column:2;grid-row:1}.tennis-header-tools .icon-button{min-width:40px;min-height:44px}.tennis-app .main-content:has(.tennis-schedule-toolbar){padding:10px 12px 90px}.tennis-schedule-toolbar .button,.tennis-schedule-toolbar .icon-button,.tennis-schedule-toolbar .tennis-court-filter select{min-height:44px}.tennis-schedule-controls{width:100%;justify-content:space-between;gap:5px}.tennis-schedule-title h1{font-size:16px}.tennis-schedule-title{gap:8px}.tennis-view-switch button{min-height:38px;padding:5px 8px}.tennis-schedule-meta{padding:8px 0}.tennis-schedule-meta .tennis-legend{gap:10px}.tennis-board{max-height:none;overflow:visible}.tennis-board .tennis-schedule-header{display:block;position:static}.tennis-board .tennis-time-axis{display:none}.tennis-board .tennis-grid-corner{height:auto;padding:6px;border-right:0}.tennis-grid-date-navigation{grid-template-columns:44px minmax(0,1fr) auto 44px;gap:5px}.tennis-grid-date-picker{grid-column:2;grid-row:1}.tennis-grid-date-previous{grid-column:1;grid-row:1}.tennis-grid-today{grid-column:3;grid-row:1}.tennis-grid-date-next{grid-column:4;grid-row:1}.tennis-grid-date-navigation button{min-height:44px}.tennis-grid-date-navigation .tennis-grid-today{padding:0 10px}.tennis-day-heading{top:0;position:relative;height:36px}.tennis-day-heading button,.tennis-day-heading button>span{height:36px}.tennis-booking-side{top:auto;max-height:68dvh}.tennis-drag-status{display:none}}.tennis-now-line>span{white-space:nowrap}.tennis-schedule-block:disabled{opacity:1;cursor:default}@media(max-width:700px){.tennis-day-group{min-width:0!important}}.tennis-work-assistant{width:min(520px,96vw)}.tennis-assistant-history{margin:10px 0;font-size:12px}.tennis-assistant-history summary{cursor:pointer;color:var(--muted);padding:8px 0}.tennis-work-assistant .tennis-backoffice-messages{max-height:42dvh}.tennis-work-assistant .tennis-backoffice-compose{position:sticky;bottom:-20px;background:var(--surface);padding:12px 0}@media(max-width:700px){.tennis-work-assistant{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.tennis-work-assistant .tennis-actions .button{min-height:44px}.tennis-work-assistant textarea{font-size:16px}}.tennis-court-editor>fieldset{border:0;padding:0;margin:0;display:grid;gap:14px;min-width:0}.tennis-court-editor>fieldset>legend{font-weight:650;margin-bottom:14px}.tennis-court-editor>fieldset+fieldset{border-top:1px solid var(--border);padding-top:16px}.tennis-court-editor .tennis-muted{margin:0;font-size:12px;line-height:1.65}.tennis-court-dimensions summary{cursor:pointer;color:var(--brand)}.tennis-court-dimensions[open]>*+*{margin-top:12px}@media(max-width:600px){.tennis-court-editor>fieldset>.tennis-two{grid-template-columns:1fr}}.tennis-board .tennis-court-name{line-height:1.35;white-space:normal}.tennis-board .tennis-court-price{font-size:12px;line-height:1.35;color:var(--text);font-variant-numeric:tabular-nums}.tennis-board .tennis-court-tags{display:flex;flex-wrap:wrap;gap:2px 6px}.tennis-board .tennis-court-tags>span{font-size:11px;line-height:1.35}.tennis-board .tennis-grid-court.has-details:hover,.tennis-board .tennis-grid-court.has-details:focus-visible{background:var(--surface-muted)}.tennis-court-tooltip{position:fixed;z-index:100;width:min(280px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.tennis-court-tooltip>strong{font-size:13px}.tennis-court-tooltip dl{display:grid;grid-template-columns:84px minmax(0,1fr);gap:4px 8px;margin:0}.tennis-court-tooltip dt,.tennis-court-tooltip p{color:var(--muted)}.tennis-court-tooltip dd{margin:0;white-space:pre-wrap}.tennis-court-tooltip p,.tennis-guest-phone-error p{margin:0}.tennis-info-hint{display:inline-flex;align-items:center;vertical-align:middle;flex:0 0 auto}.tennis-info-trigger{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.tennis-info-trigger:hover,.tennis-info-trigger[aria-expanded=true]{color:var(--brand);background:var(--brand-soft)}.tennis-info-trigger:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.tennis-info-popup{position:fixed;z-index:1100;box-sizing:border-box;width:max-content;max-width:min(300px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:10px 12px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-sm);font-size:13px;font-weight:400;line-height:1.6;white-space:normal;overflow-wrap:anywhere}.tennis-info-popup p{margin:0}.tennis-info-popup p+p{margin-top:6px}.tennis-heading-with-help,.tennis-field-heading{display:flex;align-items:center;gap:6px}.tennis-heading-with-help>h3{margin:0}.tennis-field-heading>label{flex:1}.tennis-required{color:var(--danger, #a52a2a);margin-left:3px}.tennis-ledger-row .tennis-warning-text{color:var(--danger, #a52a2a)}@media(pointer:coarse){.tennis-info-trigger{width:44px;height:44px}}.tennis-guest-phone-error{display:grid;gap:8px}
