:root{color-scheme:light;--bg:#f4f6f8;--panel:#fff;--text:#202b38;--muted:#647184;--line:#dce2e9;--accent:#197a4c;--accent-soft:#e4f3eb;--cell:#edf6fc;--today:#cfdee9;--shadow:0 12px 40px #16263a24;--danger:#b72d35;--warning:#9c6400;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px}
:root[data-theme=dark]{color-scheme:dark;--bg:#0d141b;--panel:#111a23;--raised:#16212b;--text:#e8eef3;--muted:#96a6b5;--line:#2a3946;--accent:#43d17d;--accent-soft:#183829;--cell:#111d27;--today:#19332d;--shadow:0 16px 48px #0005;--danger:#ef6670;--warning:#e4b66a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:7px 10px;line-height:1.2;color:var(--text);cursor:pointer;white-space:nowrap}button:hover:not(:disabled){border-color:var(--muted);background:var(--bg)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}input,select,textarea{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:8px;width:100%;min-width:0}input[type=range]{padding:0;accent-color:var(--accent)}input[type=checkbox]{width:auto;accent-color:var(--accent)}label{display:grid;gap:6px;font-weight:500}h1,h2,p{margin:0}h1{font-size:21px;letter-spacing:-.6px;font-weight:650}h2{font-size:18px}small,.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--muted);margin-bottom:6px}.app-header{height:62px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 24px}.brand{display:flex;gap:10px;align-items:center;letter-spacing:1.3px}.brand small{display:block;font-size:10px;letter-spacing:.5px;margin-top:2px}.brand-mark{display:grid;place-items:center;width:33px;height:33px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-size:12px;font-weight:700}.environment{font-size:10px;font-weight:700;border:1px solid var(--line);border-radius:4px;color:var(--muted);padding:4px 6px;letter-spacing:.8px}.header-actions{margin-left:auto;display:flex;gap:12px;align-items:center}main{padding:18px 22px;max-width:2400px;margin:auto}main:fullscreen{background:var(--bg);overflow:auto;max-width:none}.workspace-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.workspace-meta{display:flex;align-items:center;gap:14px}#date-range{font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:12px}#connection{font-size:11px;color:var(--muted)}#connection[data-offline=true]{color:var(--danger)}#ribbon{border:1px solid var(--line);border-radius:8px;background:var(--panel);margin-bottom:14px}.ribbon-row{display:flex;align-items:center;gap:12px;padding:10px 12px;flex-wrap:wrap}.ribbon-row.secondary{border-top:1px solid var(--line);gap:10px}.control-group{display:flex;align-items:center;gap:5px}.control-group+.control-group{border-left:1px solid var(--line);padding-left:12px}.zoom{display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap;margin:0 4px}.zoom input{width:66px}.zoom output{min-width:31px;font-variant-numeric:tabular-nums}.search{display:flex;align-items:center;gap:10px;font-size:12px;flex:1;max-width:400px}.search input{padding:6px 9px;min-width:150px}.triage{margin-left:auto;display:flex;gap:6px}.triage button{font-size:11px;border-color:transparent}.triage span{font-size:10px;border-radius:3px;padding:1px 5px;background:var(--bg);margin-left:4px}.triage button[data-attention=needs-review]{color:var(--warning)}.triage button[data-attention=conflict]{color:var(--danger)}#filter-panel{display:flex;align-items:end;gap:12px;border-top:1px solid var(--line);padding:12px}#filter-panel label{min-width:180px;font-size:11px}.timeline-panel{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}#grid-scroll{max-height:calc(100vh - 335px);min-height:260px;overflow:auto;position:relative;scrollbar-gutter:stable}#timeline{position:relative;isolation:isolate}.grid-header,.room-row{display:flex;position:relative}.grid-header{position:sticky;top:0;z-index:6;background:var(--panel);height:46px}.room-label{width:116px;flex:none;position:sticky;left:0;z-index:4;background:var(--panel);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 12px;display:flex;flex-direction:column;justify-content:center;line-height:1.15}.room-label strong{font-size:12px}.room-label small{font-size:9px;margin-top:2px;white-space:nowrap}.grid-header .room-label{z-index:7;font-weight:600;font-size:11px}.day-heading{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:none;border-bottom:1px solid var(--line);border-right:1px solid var(--line);gap:2px;font-size:12px}.day-heading small{font-size:9px}.day-heading.today{background:var(--today)}.day-heading.month-start{border-left:2px solid var(--muted)}.room-cells{position:relative;flex:none}.cell-layer{display:flex;height:100%}.date-cell{flex:none;border:0;border-radius:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--cell);padding:0;touch-action:pan-y}.date-cell.today{box-shadow:inset 0 0 0 999px #607d8b0c}.date-cell.month-start{border-left:2px solid var(--muted)}.date-cell:hover:not(:disabled){background:var(--today)}.date-cell.closed{background:#111;color:#fff;opacity:1}.date-cell.range-proposal{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.reservation-bar{position:absolute;z-index:2;border:1px solid #ffffff38;border-radius:4px;padding:1px 7px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;overflow:hidden;box-shadow:0 1px 2px #102a4322;cursor:pointer}.reservation-bar:hover:not(:disabled){filter:brightness(1.08);background:var(--bar-color)!important}.reservation-bar .guest{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.reservation-bar .pax{font-size:9px;opacity:.85;flex:none}.reservation-bar .warning{flex:none;color:inherit;font-size:12px}.reservation-bar.needs-review{outline:2px dashed var(--warning);outline-offset:0}.reservation-bar.conflict{outline:2px solid var(--danger);outline-offset:0}.reservation-bar.selected{box-shadow:0 0 0 3px var(--text);z-index:3}.timeline-footer{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;color:var(--muted);font-size:10px;border-top:1px solid var(--line)}#source-legend{display:flex;gap:16px;flex-wrap:wrap;margin:12px 2px 18px;color:var(--muted);font-size:10px}.legend-item{display:flex;gap:5px;align-items:center}.legend-dot{width:9px;height:9px;border-radius:2px;border:1px solid #8090a040}#unplaced-panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:14px 16px}.queue-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.queue-heading h2{font-size:11px;letter-spacing:.9px}.queue-heading h2 span{color:var(--muted);margin-left:8px}.queue-heading p{font-size:11px;color:var(--muted)}#unplaced-list{display:flex;gap:8px;flex-wrap:wrap}#unplaced-list button{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:12px}#unplaced-list p{font-size:12px;color:var(--muted)}#notice{margin-top:12px;font-size:12px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);box-shadow:var(--shadow);padding:24px;width:min(580px,calc(100vw - 24px));max-height:90vh}dialog::backdrop{background:#0e172969;backdrop-filter:blur(2px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.dialog-heading button{font-size:21px;border:0;padding:0 5px;color:var(--muted)}#reservation-meta{font-size:10px;overflow-wrap:anywhere;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:12px}.form-grid .wide{grid-column:1/-1}.form-grid .check{display:flex;align-items:center}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:16px;margin-top:18px}#editor-error,#login-error{font-size:12px;color:var(--danger);margin-top:12px}#observation-content{font-size:12px;line-height:1.6}#observation-content p{margin:10px 0;overflow-wrap:anywhere}#observation-content pre{font-size:10px;background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto}.issue{display:inline-block;border:1px solid var(--line);padding:2px 7px;border-radius:4px;margin:0 4px 5px 0}.login{max-width:390px;margin:10vh auto;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.login>p:not(.eyebrow){margin:12px 0 24px;color:var(--muted);line-height:1.5}.login form{display:grid;gap:15px}
@media(max-width:800px){.app-header{padding:0 14px;height:58px}.header-actions{gap:6px}#actor{display:none}main{padding:15px 12px}.workspace-heading{align-items:flex-start}#date-range{display:block;margin:5px 0 0;font-size:12px}.workspace-meta{gap:7px;flex-direction:column;align-items:flex-end}.control-group+.control-group{border:0;padding-left:0}.ribbon-row{gap:8px}.triage{margin-left:0;flex-wrap:wrap}.queue-heading{display:block}.queue-heading p{margin-top:8px}#grid-scroll{max-height:55vh}.timeline-footer span:last-child{display:none}#filter-panel{flex-wrap:wrap}#filter-panel label{min-width:130px;flex:1}.environment{font-size:9px}.brand{font-size:12px}.brand small{font-size:9px}#theme{font-size:11px}.form-grid{gap:10px}dialog{padding:18px}}
.operation-row{padding:12px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.operation-row p{margin:4px 0}.operation-row .ribbon-row{margin-left:auto}#operations-dialog,#reservations-dialog{width:min(1100px,95vw);max-width:95vw}#operations-rows,#reservation-rows{max-height:60vh;overflow:auto}dialog pre{white-space:pre-wrap}#operations-shortcuts{display:inline-flex;gap:6px;flex-wrap:wrap}#operations-shortcuts[hidden]{display:none}#dirty-state{color:#b78124}@media(max-width:640px){.operation-row{align-items:stretch;flex-direction:column}.operation-row .ribbon-row{margin-left:0}dialog{max-width:96vw}}

#document-dialog{width:min(1000px,96vw)}#document-frame{width:100%;height:72vh;border:0;background:white}
fieldset{border:1px solid var(--line);border-radius:8px;padding:12px;margin-block:8px}fieldset legend{font-weight:600}#billing-form details{margin-block:7px}input[type=checkbox][role=switch]{accent-color:#405f8a;width:18px;height:18px}#finance-summary,#pricing-summary{font-size:.85rem;line-height:1.5}#ledger-rows{font-size:.8rem;max-height:180px;overflow:auto}#billing-form .ribbon-row label{display:flex;flex-direction:row;gap:6px;align-items:center}

#settings-nav{display:flex;flex-wrap:wrap;gap:7px;position:sticky;top:0;background:var(--panel);padding:10px 0;z-index:2}.settings-group{border:1px solid var(--line);padding:18px;margin:14px 0;border-radius:10px}.setting-field{min-width:0;margin:8px 0}.setting-field>label{display:flex;flex-direction:column;gap:5px}.setting-field input,.setting-field select,.setting-field textarea{max-width:100%;width:100%}.setting-field input[type=checkbox]{width:auto;align-self:flex-start}.setting-field textarea{min-height:100px}.setting-row{border-inline-start:3px solid var(--line);padding:8px 15px;margin-block:10px}.setting-row>.setting-field{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.setting-row>.setting-field>h4{grid-column:1/-1}.settings-group form>input{margin:12px 0}.settings-group h4{margin:9px 0}.setting-row button{margin-top:8px}@media(max-width:650px){.setting-row>.setting-field{display:block}.settings-group{padding:10px}#settings-nav{position:static}}

.table-scroll{overflow:auto;max-height:60vh}.table-scroll table{width:100%;border-collapse:collapse;font-size:.88rem}.table-scroll th,.table-scroll td{padding:.5rem;text-align:start;border-bottom:1px solid var(--line);white-space:nowrap}.table-scroll td:last-child{white-space:normal;min-width:140px}.table-scroll td button{margin:.15rem}#finance-tabs [aria-selected=true]{font-weight:bold;text-decoration:underline}#finance-history-content pre{white-space:pre-wrap;overflow-wrap:anywhere}#finance-summary-line{font-size:.9rem}#finance-edit-form{max-height:65vh;overflow:auto}

/* Approved shared presentation: paper is rendered in separate document frames. */
:root{--raised:#f7f9fa}
button.primary{color:var(--bg);font-weight:650}button[aria-current=page],button[aria-selected=true]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}
.app-header{position:sticky;top:0;z-index:15;gap:20px}.brand{flex-shrink:0}.brand-mark{border-radius:9px;background:var(--accent-soft)}.environment{font-size:9px;letter-spacing:.5px}
#main-navigation{margin-inline:auto;gap:5px;padding:0;flex-wrap:nowrap}#main-navigation button{border-color:transparent;color:var(--muted)}#main-navigation button[aria-current=page]{color:var(--text);background:var(--raised);border-color:var(--line)}
.header-actions,.session-tools{display:flex;align-items:center;gap:7px}.header-actions{margin-left:0}#actor{display:none}.header-actions button{font-size:12px}#logout{font-size:11px}.quick-menu{position:fixed;right:24px;top:58px;z-index:25;padding:8px;display:grid;gap:5px;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.quick-menu button{text-align:left}
.workspace-heading{margin:8px 0 16px}.operations-ribbon{padding:0 0 14px;gap:7px}#operations-shortcuts{gap:7px}.ribbon-row{gap:8px}#ribbon{background:var(--panel);border-radius:10px}.zoom button{min-width:28px;padding:5px}#zoom-value{width:38px;text-align:center}.triage button{font-size:11px}
#grid-scroll{max-height:calc(100dvh - 300px);min-height:300px;touch-action:pan-x pan-y}.grid-header{height:42px}.day-heading strong{font-size:11px}.room-label{padding:7px 12px}.room-label small{display:none}.category-row{height:25px;background:var(--timeline-separator-bg,var(--raised));color:var(--timeline-separator-text,var(--muted));border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1px;font-weight:650;display:flex;align-items:center}.category-row span{position:sticky;left:12px;padding-inline:12px}.reservation-bar{border-radius:5px!important;justify-content:center;gap:5px}.reservation-bar .guest{font-size:11px;font-weight:550;text-align:center}.reservation-bar .pax,.reservation-bar .transfer{font-size:10px}#unplaced-panel{margin-top:16px}#source-legend{gap:14px;padding:12px 0}
main:fullscreen{padding:12px}main:fullscreen>.workspace-heading,main:fullscreen>.operations-ribbon,main:fullscreen>#source-legend,main:fullscreen>#unplaced-panel,main:fullscreen>#notice{display:none}main:fullscreen #grid-scroll{max-height:calc(100dvh - 140px)}
dialog{padding:22px;border-radius:12px;background:var(--panel);max-height:92dvh;overscroll-behavior:contain}.dialog-heading{padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:18px}.dialog-heading button{font-size:12px;border:1px solid var(--line);padding:6px 10px;border-radius:6px}.dialog-actions{position:sticky;bottom:-22px;background:var(--panel);padding:14px 0;margin-top:18px;z-index:3}.dialog-actions button{min-width:95px}dialog h3{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 15px}dialog details{border:1px solid var(--line);padding:12px;border-radius:8px;margin:12px 0}summary{cursor:pointer;font-weight:600;font-size:12px}details[open]>summary{margin-bottom:12px}legend{font-size:12px;color:var(--text);padding:0 6px}fieldset{border-color:var(--line);padding:16px;margin:0 0 16px}textarea{resize:vertical}label{font-size:12px}input,select,textarea{background:var(--bg);padding:8px 10px;border-radius:6px}input[type=checkbox][role=switch]{appearance:none;position:relative;display:inline-block;width:32px;height:18px;border:1px solid var(--line);border-radius:12px;background:var(--raised);padding:0;vertical-align:middle;cursor:pointer;flex:none}input[type=checkbox][role=switch]::after{content:"";position:absolute;width:12px;height:12px;left:2px;top:2px;border-radius:50%;background:var(--muted)}input[type=checkbox][role=switch]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox][role=switch]:checked::after{left:16px;background:var(--bg)}
#editor{width:min(1060px,96vw)}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:24px;align-items:start}.editor-main{min-width:0}.editor-main .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.financial-panel{position:sticky;top:0;background:var(--raised);border:1px solid var(--line);border-radius:10px;padding:20px}.financial-panel p{line-height:1.8}.money-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.money-line:last-child{font-weight:700;color:var(--accent);border:0}.money-line strong{font-variant-numeric:tabular-nums;white-space:nowrap}#reservation-meta{overflow-wrap:anywhere;font-size:10px}.secondary-actions{margin:0!important;padding:6px 10px!important}.secondary-actions[open]{display:flex;gap:7px}.guest-options .form-grid{margin-top:12px}#payment-editor button{margin:4px 4px 4px 0}
.workspace-dialog{width:min(1220px,96vw)}#operations-dialog{width:min(1140px,96vw);margin:0 0 0 auto;height:100dvh;max-height:100dvh;border-radius:14px 0 0 14px;padding:24px}#operations-rows{max-height:calc(100dvh - 290px)}.operations-tools{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}#operations-filters{padding:12px 0}#operations-summary{padding:12px;background:var(--raised);border:1px solid var(--line);border-radius:8px;margin:0 0 12px}.operation-row{padding:14px 12px;border-bottom:1px solid var(--line);gap:8px;background:var(--panel)}.operation-row strong{font-size:12px}.operation-row p{font-size:11px;color:var(--muted);line-height:1.6}.operation-row>.ribbon-row{padding:0;gap:5px}.operation-row button{font-size:11px}.operation-row>.ribbon-row label{min-width:90px;flex:1}.operation-row>.ribbon-row:has(input){width:100%;margin:8px 0}#operations-rows>.operation-row>.ribbon-row:not(:has(input)){flex-wrap:wrap}
.settings-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:24px;margin-top:20px}#settings-nav{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;align-self:start;position:sticky;top:0;padding:0;max-height:65dvh;overflow:auto}#settings-nav button{text-align:left;white-space:normal}#settings-content{min-width:0}.settings-group{margin:0 0 16px;background:var(--raised)}.settings-group:first-child{margin-top:0}#settings-status{margin-top:14px}.timeline-separator-setting{border-top:1px solid var(--line);padding-top:12px}.timeline-separator-setting>p{font-size:11px;margin-bottom:10px}.timeline-separator-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.timeline-separator-controls label{width:145px}.timeline-separator-controls input[type=color]{height:36px;padding:3px}.timeline-separator-presets{display:flex;gap:5px}.timeline-separator-preset{width:30px;height:30px;padding:0;border-radius:50%;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--line)}.timeline-separator-preview{height:25px;display:flex;align-items:center;padding:0 12px;margin-top:10px;border:1px solid var(--line);border-radius:5px;font-size:10px;font-weight:650;letter-spacing:1px}
.billing-layout{display:grid;grid-template-columns:minmax(170px,.65fr) minmax(300px,1.1fr) minmax(270px,1fr);gap:22px;align-items:start}.billing-selection,.billing-paper{background:var(--raised);border:1px solid var(--line);border-radius:9px;padding:16px;min-width:0}.billing-editor{min-width:0}.billing-editor>button{margin:4px 4px 4px 0}.billing-selection .operation-row{padding:10px 0;background:transparent}#billing-document-frame{width:100%;height:60dvh;border:0;background:#fff;color-scheme:light;margin:12px 0}#billing-preview-note{font-size:12px;line-height:1.6}
#excel-review-dialog{width:min(1160px,96vw)}#excel-review-rows{max-height:60dvh;overflow:auto;margin-top:16px;border:1px solid var(--line);border-radius:8px}#excel-batches{overflow-wrap:anywhere;font-size:10px;color:var(--muted);margin-top:12px}#excel-import-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}#excel-import-form p,#excel-import-form button{grid-column:1/-1}#document-dialog{background:var(--panel)}#document-frame{color-scheme:light}#finance-tabs{gap:6px;padding:12px 0}.table-scroll th{position:sticky;top:0;background:var(--raised);z-index:1}.table-scroll td{padding:10px}.table-scroll td:first-child{font-weight:600}#finance-summary-line{padding:14px;background:var(--raised);border:1px solid var(--line);border-radius:8px;margin:12px 0}
@media(max-width:1100px){.environment{display:none}.app-header{gap:12px;padding:0 16px}.brand small{display:none}.billing-layout{grid-template-columns:200px 1fr}.billing-paper{grid-column:1/-1}#billing-document-frame{height:55dvh}.editor-layout{grid-template-columns:minmax(0,1fr) 245px}}
@media(max-width:760px){.app-header{height:auto;min-height:60px;flex-wrap:wrap;padding:10px 12px;gap:10px}.header-actions{margin-left:auto}#main-navigation{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:9px}#sync-entry,#logout{font-size:10px;padding:7px}#theme{font-size:11px}#quick-entry{font-size:11px}main{padding:14px 10px}#grid-scroll{min-height:280px;max-height:60dvh}.editor-layout,.settings-layout,.billing-layout{grid-template-columns:1fr;gap:16px}.financial-panel{position:static;grid-row:1;padding:14px}.money-line{padding:6px 0}.billing-paper{grid-column:auto}#settings-nav{position:static;flex-direction:row;flex-wrap:wrap;max-height:none}#settings-nav button{font-size:11px}#operations-dialog{width:100vw;max-width:100vw;border-radius:0;padding:16px}dialog{width:calc(100vw - 12px);max-width:calc(100vw - 12px);padding:16px;max-height:95dvh}.dialog-actions{bottom:-16px}.operation-row{padding:12px;align-items:stretch}.operation-row>.ribbon-row{margin:0!important}.operations-ribbon{gap:6px}.workspace-meta #collapse{font-size:10px}#excel-import-form{grid-template-columns:1fr}#editor-financial-panel:has(#finance-empty:not([hidden])){grid-row:auto}}
@media(pointer:coarse){button:not(.reservation-bar):not(.date-cell),input:not([type=checkbox]),select,summary{min-height:40px}.ribbon-row{gap:7px}.reservation-bar{min-height:28px}#grid-scroll{touch-action:pan-x pan-y}.dialog-actions{padding-bottom:env(safe-area-inset-bottom,12px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

#attention-popover{width:min(360px,calc(100vw - 24px));max-height:70dvh;overflow:auto;right:12px}#attention-content{display:grid;gap:6px}#attention-content button{white-space:normal;overflow-wrap:anywhere}#attention-content h3{margin:8px 0 2px}.session-tools{flex-wrap:wrap}#excel-review-entry{font-size:11px}

.booking-peek{position:fixed;z-index:30;width:min(320px,calc(100vw - 16px));max-height:55dvh;overflow:auto;pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px;box-shadow:var(--shadow)}.booking-peek p{margin:4px 0;font-size:12px;overflow-wrap:anywhere}#booking-menu{max-width:calc(100vw - 16px);max-height:70dvh;overflow:auto}

.reservation-table-scroll{max-width:100%;max-height:65dvh;overflow:auto}.reservation-management-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.reservation-management-table th,.reservation-management-table td{padding:5px;border-bottom:1px solid var(--line);vertical-align:middle}.reservation-management-table th{position:sticky;top:0;background:var(--panel);z-index:1;text-align:left}.reservation-management-table input,.reservation-management-table select{width:125px;min-width:0;padding:6px;font-size:12px}.reservation-management-table input[type=checkbox]{width:auto}.reservation-management-table input[data-field=pax]{width:55px}.reservation-management-table input[data-field=guestName]{width:180px}.bulk-room-assignments{grid-column:1/-1;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--raised);display:grid;gap:9px}.bulk-room-assignments p{margin:0 0 4px}.bulk-room-assignments label{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.75fr);align-items:center;gap:10px}.bulk-room-assignments select{width:100%}@media(max-width:640px){.bulk-room-assignments label{grid-template-columns:1fr}}

/* Club Red shared Brand Integration — presentation only. Operational accent/state colors remain unchanged. */
:root{--brand-red:#b8343f;--brand-sea:#2d738e;--brand-navy:#0b1f33;--brand-cream:#f5efe3;--brand-gold:#b99a58;--login-cover-image:none}
.brand-mark{overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain;padding:3px}.brand-mark:has(img:not([hidden])){background:#fff;border-color:#ffffff33}.brand strong{letter-spacing:.08em}
.login-shell{width:min(980px,calc(100vw - 28px));min-height:560px;margin:7vh auto;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}
.login-cover{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:560px;padding:38px;color:#fff;background-image:linear-gradient(180deg,#07131f26 0%,#07131fd9 100%),var(--login-cover-image),radial-gradient(circle at 78% 20%,#b8343f44 0 10%,transparent 32%),linear-gradient(145deg,#0b1f33 0 47%,#17455c 72%,#2d738e 100%);background-size:cover,cover,cover,cover;background-position:center}
.login-cover::after{content:"";position:absolute;z-index:-1;left:-8%;right:-8%;bottom:-70px;height:170px;border-radius:48% 52% 0 0/28% 31% 0 0;background:linear-gradient(90deg,#f5efe3ee,#ffffff);transform:rotate(-2deg);opacity:.14}
.login-cover-content{max-width:440px}.login-cover-content>img{display:block;max-width:92px;max-height:78px;object-fit:contain;margin-bottom:20px;filter:drop-shadow(0 3px 12px #0006)}.login-cover .eyebrow{color:#dbe7ec}.login-cover h1{font-size:34px;letter-spacing:-1px;margin:5px 0 9px}.login-cover p:not(.eyebrow){max-width:390px;color:#e3eaee;font-size:14px;line-height:1.6}.login-wave{display:block;width:78px;height:5px;border-radius:99px;background:var(--brand-red);margin-top:24px}
.login-card{align-self:center;padding:42px 38px}.login-card>p:not(.eyebrow):not(.login-dev-note){margin:12px 0 26px;color:var(--muted);line-height:1.55}.login-card form{display:grid;gap:15px}.login-dev-note{margin-top:22px;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.brand-cover-preview{min-height:150px;border:1px solid var(--line);border-radius:10px;margin:8px 0;background-image:linear-gradient(180deg,#07131f35,#07131fc2),linear-gradient(145deg,#0b1f33,#17455c 70%,#2d738e);background-size:cover;background-position:center;display:grid;place-items:end start;padding:14px;color:#fff;font-size:11px}
.wifi-settings-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:760px){.login-shell{grid-template-columns:1fr;margin:12px auto;min-height:0}.login-cover{min-height:220px;padding:24px}.login-cover h1{font-size:27px}.login-card{padding:28px 22px}.login-cover-content>img{max-width:70px;max-height:58px}.brand strong{font-size:11px;letter-spacing:.05em}}

.day-heading,.room-row>.room-label{position:relative}.timeline-resize-handle{position:absolute;z-index:9;display:block}.timeline-resize-handle.column{top:0;right:-3px;width:7px;height:100%;cursor:col-resize}.timeline-resize-handle.row{left:0;right:0;bottom:0;height:7px;cursor:row-resize}.timeline-resize-handle:hover{background:color-mix(in srgb,var(--accent) 35%,transparent)}body[data-timeline-resizing]{user-select:none;cursor:col-resize}body[data-timeline-resizing=row]{cursor:row-resize}.density-control{display:flex!important;align-items:center;gap:6px}.density-control select{width:auto;padding:5px 7px}
@media(pointer:coarse){.timeline-resize-handle{display:none!important}}

/* Phase 10 Owner corrections: fixed workspace shell + compact operational matrices. */
#operations-dialog[open],#reservations-dialog[open],#excel-review-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
#operations-dialog>.dialog-heading,#reservations-dialog>.dialog-heading,#excel-review-dialog>.dialog-heading{flex:0 0 auto;position:sticky;top:0;z-index:6;background:var(--panel);margin-top:0}
#operations-rows,#reservation-rows,#excel-review-rows{flex:1 1 auto;min-height:0;max-height:none;overflow:auto}
#operations-actions,#billing-actions{flex:0 0 auto;bottom:-1px;margin-top:8px;padding:12px 0;background:var(--panel)}
#reservations-dialog{height:min(92dvh,920px)}#reservation-filters{flex:0 0 auto;max-height:31dvh;overflow:auto;padding-right:4px}
.settings-layout{height:auto}.settings-layout>#settings-content{overflow:auto;min-height:0;padding-right:5px}
#billing-form{flex:1 1 auto;min-height:0;overflow:auto;padding-right:4px}.billing-editor{position:relative}#billing-actions{z-index:5}
#excel-review-dialog{height:min(92dvh,900px)}#excel-review-toolbar{flex:0 0 auto;position:sticky;top:0;z-index:4;background:var(--panel);border-block:1px solid var(--line)}
.pricing-matrix-scroll{overflow:auto;max-height:65dvh;border:1px solid var(--line);border-radius:8px}.pricing-matrix{border-collapse:collapse;width:max-content;min-width:100%;font-size:11px}.pricing-matrix th,.pricing-matrix td{padding:7px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);white-space:nowrap}.pricing-matrix th{position:sticky;top:0;z-index:2;background:var(--raised);text-align:left}.pricing-matrix input{width:92px;padding:6px;text-align:right;font-variant-numeric:tabular-nums}.pricing-extra-bed{font-weight:650;background:var(--accent-soft)}
.breakfast-plan-table,.excel-review-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:11px}.breakfast-plan-table th,.breakfast-plan-table td,.excel-review-table th,.excel-review-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}.breakfast-plan-table th,.excel-review-table th{position:sticky;top:0;z-index:2;background:var(--raised);text-align:left}.breakfast-plan-table input[type=number]{width:80px}.excel-review-table td:nth-child(3){min-width:220px;white-space:normal}.excel-review-table input[type=checkbox]{width:auto}
@media(max-width:760px){#operations-dialog[open],#reservations-dialog[open],#excel-review-dialog[open]{height:95dvh}.pricing-matrix-scroll{max-height:58dvh}#reservation-filters{max-height:35dvh}}
.billing-reservation-group{border:1px solid var(--line);border-radius:9px;padding:12px;margin:10px 0;background:color-mix(in srgb,var(--raised) 72%,transparent)}
.billing-reservation-group>p{margin:6px 0}.billing-invoice-only{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.billing-invoice-only>summary{cursor:pointer;font-weight:650}
.billing-override-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px;margin:9px 0}.billing-override-field{display:grid;gap:3px;padding:7px;border:1px solid transparent;border-radius:7px}.billing-override-field[data-modified="true"]{border-color:var(--accent);background:var(--accent-soft)}
.invoice-override-state{min-height:1em;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.billing-reset-override{justify-self:start;font-size:10px;padding:4px 7px}
.billing-line-box{margin:10px 0;padding:9px;border:1px solid var(--line);border-radius:7px}.billing-line-box>p{margin:4px 0 8px}.billing-line-edit{display:grid;grid-template-columns:minmax(150px,1fr) minmax(90px,.45fr) auto;gap:6px;margin:6px 0;align-items:end}.billing-line-edit:has([data-invoice-adjustment]){grid-template-columns:140px minmax(150px,1fr) minmax(110px,.5fr) auto}
@media(max-width:760px){.billing-override-grid,.billing-line-edit,.billing-line-edit:has([data-invoice-adjustment]){grid-template-columns:1fr}}

/* Top-level routed workspaces — pages inside the single Canonical PMS shell. */
.workspace-page{min-width:0}
.top-level-page{min-height:calc(100dvh - 98px);display:flex;flex-direction:column;padding:4px 0 24px}
.workspace-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.workspace-page-heading>div{min-width:0}.workspace-page-heading h1{font-size:22px}.workspace-page-heading>button{flex:none}
#settings-page>.settings-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:24px;align-items:start;margin-top:0}
#settings-page #settings-nav{position:sticky;top:78px;max-height:calc(100dvh - 110px);overflow:auto;background:transparent;padding:0}
#settings-page #settings-content{min-width:0;overflow:visible;padding-right:0}
#settings-page #settings-status{margin-top:12px}
#finance-page #finance-tabs{padding:0 0 12px}
#finance-page .table-scroll{max-height:calc(100dvh - 365px);min-height:220px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
#billing-page #billing-form{min-height:0;overflow:visible;padding:0}
#billing-page .billing-layout{grid-template-columns:minmax(190px,.65fr) minmax(360px,1.15fr) minmax(300px,1fr)}
#billing-page .billing-selection,#billing-page .billing-paper{position:sticky;top:78px;max-height:calc(100dvh - 112px);overflow:auto}

/* Simple operational Excel status: compact, always available, never a workflow gate. */
.sync-status{display:grid!important;grid-template-columns:1fr;text-align:left;gap:1px;padding:5px 9px!important}.sync-status span{font-size:11px;font-weight:650}.sync-status small{font-size:9px;font-weight:400}.sync-status[data-state=connected]{border-color:#2f9e65}.sync-status[data-state=syncing]{border-color:var(--accent)}.sync-status[data-state=attention],.sync-status[data-state=offline]{border-color:var(--warning);color:var(--warning)}#sync-now{font-size:11px}

/* Billing renders only a bounded search result set; combined work is explicit. */
#billing-selector-results{display:grid;gap:6px;margin:10px 0;max-height:260px;overflow:auto}#billing-selector-results button{white-space:normal;text-align:left;line-height:1.35;width:100%}.billing-picker-actions{padding:8px 0}.billing-selection>h3{margin:8px 0}.billing-selection #billing-reservations{display:grid;gap:8px}

/* Quick Editor shell is visible while the canonical current revision hydrates. */
#editor[data-loading=true] #booking-form{opacity:.86}#editor[data-loading=true] #save{cursor:wait}
#billing-page #billing-actions{position:sticky;bottom:0;background:linear-gradient(180deg,transparent,var(--bg) 16%,var(--bg));padding:18px 0 8px;z-index:5}
#billing-page #billing-document-frame{height:calc(100dvh - 270px);min-height:420px}
@media(max-width:1100px){#billing-page .billing-layout{grid-template-columns:minmax(200px,.7fr) minmax(360px,1.3fr)}#billing-page .billing-paper{grid-column:1/-1;position:static;max-height:none}#billing-page #billing-document-frame{height:55dvh}}
@media(max-width:760px){.top-level-page{min-height:calc(100dvh - 116px);padding-bottom:14px}.workspace-page-heading{align-items:flex-start}.workspace-page-heading h1{font-size:20px}#settings-page>.settings-layout,#billing-page .billing-layout{grid-template-columns:1fr;gap:16px}#settings-page #settings-nav,#billing-page .billing-selection,#billing-page .billing-paper{position:static;max-height:none}#settings-page #settings-nav{flex-direction:row;flex-wrap:wrap}#finance-page .table-scroll{max-height:60dvh}#billing-page #billing-document-frame{min-height:360px;height:55dvh}}

/* Owner-managed safe document template presentation. */
.template-manager{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(220px,.75fr) minmax(240px,1fr);gap:12px;align-items:end}
.template-manager>p,.template-manager>.ribbon-row,.template-manager>iframe{grid-column:1/-1}
.template-manager iframe{width:100%;height:58dvh;min-height:480px;border:1px solid var(--line);border-radius:9px;background:#fff}
.template-manager [role="status"]{min-height:1.4em}
@media(max-width:760px){.template-manager{grid-template-columns:1fr}.template-manager iframe{min-height:420px;height:55dvh}}
.range-controls{flex-wrap:wrap}.range-controls .control-label{font-size:11px;color:var(--muted);font-weight:650}.range-controls button{padding-inline:8px}.range-controls output{min-width:45px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}#timeline-range-dialog{width:min(460px,calc(100vw - 24px))}#timeline-range-error{min-height:18px;margin-top:10px;color:var(--danger);font-size:12px}.room-row>.room-label{position:sticky}
@media(max-width:800px){.range-controls{width:100%}.range-controls .control-label{width:100%}.range-controls button{flex:1 1 auto}}

/* Mobile/PWA runtime conformance: same PMS shell, touch-safe, safe-area aware. */
@media(max-width:1100px){#attention-entry{display:inline-flex!important}}
@media(max-width:760px){
 html,body{min-height:100dvh}
 body{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0)}
 .app-header{padding-top:calc(10px + env(safe-area-inset-top,0));padding-left:calc(12px + env(safe-area-inset-left,0));padding-right:calc(12px + env(safe-area-inset-right,0))}
 main{padding-left:calc(10px + env(safe-area-inset-left,0));padding-right:calc(10px + env(safe-area-inset-right,0));padding-bottom:calc(14px + env(safe-area-inset-bottom,0))}
 input:not([type=checkbox]):not([type=range]),select,textarea{font-size:16px}
 #theme{font-size:11px}
 #theme::after{content:none}
 #main-navigation{justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
 #main-navigation::-webkit-scrollbar,.session-tools::-webkit-scrollbar,.operations-ribbon::-webkit-scrollbar{display:none}
 #main-navigation button{min-height:44px;flex:1 0 auto}
 .header-actions{min-width:0;flex:1;justify-content:flex-end}
 .session-tools{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;flex-wrap:nowrap}
 #attention-entry{font-size:10px;padding:7px;display:inline-flex!important}
 .operations-ribbon{overflow-x:auto;overscroll-behavior-x:contain;flex-wrap:nowrap}
 .operations-ribbon>button,.operations-ribbon>#operations-shortcuts>button{min-height:44px}
 dialog{max-height:min(95dvh,var(--visual-viewport-height,95dvh))}
 .dialog-actions{padding-bottom:calc(14px + env(safe-area-inset-bottom,0))}
}

.reservation-bar .bar-price{font-size:9px;font-weight:700;white-space:nowrap;flex:none;font-variant-numeric:tabular-nums}
.reservation-bar .bar-indicator{display:inline-flex;align-items:center;gap:2px;flex:none;line-height:1;font-size:9px}
.reservation-bar .bar-indicator svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.reservation-bar .bar-indicator.person svg circle,.reservation-bar .bar-indicator.taxi svg circle{fill:currentColor;stroke:none}
.reservation-bar .bar-indicator .indicator-value{font-variant-numeric:tabular-nums;font-weight:700}
.reservation-bar .bar-indicator.warning{opacity:.95}
@media(max-width:760px){.reservation-bar{gap:4px;padding-inline:5px}.reservation-bar .bar-price{font-size:8px}.reservation-bar .bar-indicator svg{width:10px;height:10px}}

/* Pre-C90 operational UX corrections */
.reservation-bar{justify-content:flex-start!important;gap:9px!important;padding-inline:9px!important;font-size:12px;font-weight:650}
.reservation-bar .guest{font-size:12px!important;font-weight:650!important;min-width:0;flex:1 1 auto;text-align:left!important}
.reservation-bar .bar-price{font-size:10px;font-weight:700;white-space:nowrap;flex:none;font-variant-numeric:tabular-nums}
.reservation-bar .bar-indicator{display:inline-flex;align-items:center;gap:3px;flex:none;line-height:1;font-size:10px;font-weight:700}
.reservation-bar .bar-indicator svg{width:12px;height:12px;stroke-width:1.5}
.room-amenities-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.room-amenities-panel>p{grid-column:1/-1}
.room-amenity-card{border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:14px;min-width:0}
.room-amenity-heading{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(160px,1.2fr) auto;gap:12px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}
.room-amenity-heading>div{display:grid;gap:3px}.room-amenity-heading small{display:block}.room-amenity-card h4{margin:0 0 8px}
.amenity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-bottom:10px}
.amenity-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
.amenity-item button{padding-inline:7px}
.access-admin-panel{display:grid;gap:14px}.access-user-list{display:grid;gap:8px}
.access-user-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(130px,.8fr) auto minmax(170px,1fr) auto;gap:10px;align-items:end;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:12px}
.access-user-identity{display:grid;gap:3px;min-width:0}.access-user-identity small{overflow-wrap:anywhere}
.access-create-user{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) minmax(130px,.7fr) auto;gap:10px;align-items:end;border-top:1px solid var(--line);padding-top:14px}
.access-create-user h4{grid-column:1/-1;margin:0}
@media(max-width:760px){.reservation-bar{gap:6px!important;padding-inline:6px!important}.reservation-bar .guest{font-size:11px!important}.reservation-bar .bar-price,.reservation-bar .bar-indicator{font-size:9px}.reservation-bar .bar-indicator svg{width:11px;height:11px}.room-amenities-panel{grid-template-columns:1fr}.room-amenity-heading,.access-user-row,.access-create-user{grid-template-columns:1fr}.amenity-grid{grid-template-columns:1fr}}
.booking-data-maintenance{display:grid;gap:12px}.booking-data-maintenance .danger-action{color:#fff;background:var(--danger);border-color:var(--danger);font-weight:700;max-width:max-content}.booking-data-maintenance .danger-action:hover:not(:disabled){filter:brightness(1.08)}

/* R9 Batch 1 — accepted Design System foundation applied to the global shell. */
:root{
 --bg:var(--ui-bg);--panel:var(--ui-surface);--raised:var(--ui-surface-raised);--text:var(--ui-text);--muted:var(--ui-text-muted);
 --line:var(--ui-border);--accent:var(--ui-primary);--accent-soft:color-mix(in srgb,var(--ui-primary) 13%,transparent);
 --danger:var(--ui-danger);--warning:var(--ui-warning);--shadow:var(--ui-shadow-raised)
}
body{min-width:320px;font:13px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-bottom:29px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
button{min-height:var(--ui-control-height);border-radius:var(--ui-radius-sm);background:var(--ui-surface-raised);border-color:var(--ui-border-strong);font-weight:650}
button:hover:not(:disabled){background:var(--ui-surface-interactive);border-color:var(--ui-secondary)}
button.primary{background:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-primary-ink)}
input,select,textarea{min-height:var(--ui-control-height);border-radius:var(--ui-radius-sm);background:var(--ui-surface-raised);border-color:var(--ui-border)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}
.app-header{min-height:58px;height:auto;padding:8px 18px;gap:12px;background:var(--ui-surface);border-color:var(--ui-border)}
.brand{appearance:none;border:0;background:transparent;padding:0;min-height:42px;text-align:left;color:var(--ui-text)}
.brand:hover:not(:disabled){background:transparent;border-color:transparent}.brand>span:last-child{display:block}
#main-navigation{align-self:stretch;align-items:stretch;justify-content:center;gap:2px;overflow-x:auto}
#main-navigation button{min-height:42px;padding-inline:10px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--ui-text-muted)}
#main-navigation button[aria-current=page]{color:var(--ui-text);border-bottom-color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 8%,transparent)}
.header-actions{gap:6px;min-width:0}.session-tools{gap:6px}.environment{flex:none}
#global-search-form{display:flex;align-items:center;gap:4px;min-width:160px;max-width:280px}#global-search-form input{min-height:34px;padding-block:5px}#global-search-form button{min-height:34px;padding-inline:9px}
#app-clock{min-width:44px;color:var(--ui-text-muted);font-variant-numeric:tabular-nums;font-size:11px;text-align:center}
main{width:100%;max-width:2400px;padding:18px 22px 38px}
.top-level-page{min-height:0;display:block;padding:4px 0 32px}
.workspace-page-heading{position:sticky;top:58px;z-index:10;background:var(--ui-bg);padding:10px 0 12px;margin-bottom:14px}
.workspace-page-heading h1{font-size:22px}
.workspace-tabs{display:flex;align-items:center;gap:4px;padding:0 0 12px;border-bottom:1px solid var(--ui-border);overflow-x:auto}
.workspace-tabs button{border-color:transparent;background:transparent}.workspace-tabs button[aria-selected=true],.workspace-tabs button[aria-pressed=true]{color:var(--ui-primary);border-color:var(--ui-border);background:var(--ui-surface-raised)}
.workspace-toolbar{position:sticky;top:118px;z-index:9;background:var(--ui-bg);border-bottom:1px solid var(--ui-border);padding:10px 0}
.operational-workspace{width:100%;max-width:none}
#operations-dialog,#reservations-dialog{width:100%;max-width:none;height:auto;max-height:none;margin:0;border:0;border-radius:0;padding:4px 0 32px;background:transparent;box-shadow:none;overflow:visible}
#operations-rows,#reservation-rows{max-height:none;overflow:visible}
#reservation-filters{max-height:none;overflow:visible}
#app-status-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;min-height:29px;display:flex;align-items:center;gap:12px;padding:3px 12px;border-top:1px solid var(--ui-border);background:color-mix(in srgb,var(--ui-surface) 96%,transparent);color:var(--ui-text-muted);font-size:10px}
#app-status-bar .sync-status{display:flex!important;align-items:center;gap:7px;min-height:22px;padding:2px 7px!important;border:0;background:transparent}#app-status-bar .sync-status span{font-size:10px}#app-status-bar .sync-status small{font-size:9px}#app-status-bar>button{min-height:22px;padding:2px 7px;font-size:9px}#status-build{margin-left:auto}
#status-connection[data-offline=true]{color:var(--ui-danger)}
@media(max-width:1220px){#global-search-form{display:none}.environment{display:none}.app-header{padding-inline:12px}.brand small{display:none}}
@media(max-width:860px){body{padding-bottom:58px}.app-header{align-items:center;flex-wrap:wrap}.brand{order:1}.header-actions{order:2;margin-left:auto}#main-navigation{order:3;width:100%;justify-content:flex-start}.session-tools #quick-entry{display:none}#app-status-bar{bottom:0;min-height:28px}#excel-review-entry{display:none}.workspace-page-heading{top:104px}.workspace-toolbar{top:163px}}

/* R9 Batch 2 — Timeline is the primary full-workspace scheduling canvas. */
#timeline-page{--timeline-room-width:124px;width:100%;max-width:none}
#timeline-page>.workspace-heading{position:sticky;top:58px;z-index:12;margin:0;padding:10px 0;background:var(--ui-bg);border-bottom:1px solid var(--ui-border)}
#timeline-page>.operations-ribbon{display:none}
#timeline-page #ribbon{position:sticky;top:111px;z-index:11;margin:0 0 12px;border-width:0 0 1px;border-radius:0;background:color-mix(in srgb,var(--ui-bg) 96%,transparent)}
#timeline-page #ribbon>.ribbon-row{padding-inline:0}
.timeline-panel{border:0;border-radius:0;overflow:visible;background:transparent}
#timeline-grid{position:relative;width:100%;min-width:0;background:var(--ui-surface)}
#timeline-header-scroll{position:sticky;top:var(--timeline-date-sticky-top,111px);z-index:10;width:100%;overflow:hidden;background:var(--ui-surface)}
#timeline-header{position:relative;isolation:isolate;min-height:46px}
#grid-scroll{width:100%;min-height:0;max-height:none;height:auto;overflow-x:auto;overflow-y:visible;scrollbar-gutter:auto;overscroll-behavior-x:contain;background:var(--ui-surface)}
#timeline{min-height:0}.grid-header{position:relative;top:auto}.room-label{width:var(--timeline-room-width)}.grid-header .room-label{z-index:8}
.room-row{background:var(--ui-surface)}.room-row:hover{background:color-mix(in srgb,var(--ui-secondary) 5%,var(--ui-surface))}
.timeline-footer{position:sticky;left:0;width:min(calc(100vw - 44px),100%);background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}
.room-block-bar{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;padding:0 8px;border:1px solid color-mix(in srgb,var(--ui-warning) 58%,var(--ui-border));border-radius:4px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ui-warning) 17%,var(--ui-surface)) 0 7px,color-mix(in srgb,var(--ui-warning) 8%,var(--ui-surface)) 7px 14px);color:var(--ui-warning);font-size:9px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;overflow:hidden;white-space:nowrap}
.date-cell,.reservation-bar{min-height:0}.reservation-bar:hover:not(:disabled){filter:brightness(1.12);box-shadow:0 0 0 2px color-mix(in srgb,currentColor 45%,transparent)}
.reservation-bar:focus-visible{outline:3px solid var(--ui-focus);outline-offset:1px}
#booking-peek{display:none!important}
#source-legend{padding:10px 0;margin:0 0 10px;border-bottom:1px solid var(--ui-border)}
#unplaced-panel{margin-top:14px;border-radius:var(--ui-radius-md);box-shadow:none}
@media(max-width:860px){#timeline-page{--timeline-room-width:104px}#timeline-page>.workspace-heading{top:104px}#timeline-page #ribbon{top:157px}.timeline-view-controls{display:none}.timeline-footer{width:calc(100vw - 20px)}}

/* R9 Batch 3 — operational Reservations workspace. */
#reservations-dialog>.workspace-page-heading{margin-bottom:8px}
.reservation-filter-bar{position:sticky;top:112px;z-index:9;display:flex;align-items:end;gap:8px;padding:9px 0;border-bottom:1px solid var(--ui-border);background:var(--ui-bg)}
.reservation-filter-bar>label{min-width:150px}.reservation-filter-bar>label:first-child{flex:1;max-width:430px}.reservation-filter-bar .more-filters{margin:0;padding:0;border:0}.reservation-filter-bar .more-filters>summary{min-height:var(--ui-control-height);display:flex;align-items:center;padding:0 11px;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-sm);background:var(--ui-surface-raised)}.reservation-filter-bar .more-filters[open]{position:relative}.reservation-filter-bar .more-filters[open]>.form-grid{position:absolute;right:0;top:44px;z-index:16;width:min(620px,calc(100vw - 44px));padding:14px;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-raised)}
.reservation-actions-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0}.reservation-actions-bar #reservations-shown{font-weight:700}.reservation-actions-bar #reservations-selected{color:var(--ui-text-muted)}
.filter-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.filter-chips button{min-height:26px;padding:3px 8px;border-radius:999px;font-size:10px}
.reservation-table-scroll{max-width:100%;max-height:none;overflow-x:auto;overflow-y:visible;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}
.reservation-management-table{width:100%;min-width:880px;table-layout:auto;border-collapse:collapse;font-size:12px}.reservation-management-table th,.reservation-management-table td{height:44px;padding:7px 9px;border-bottom:1px solid var(--ui-border);vertical-align:middle}.reservation-management-table th{position:sticky;top:172px;z-index:6;background:var(--ui-surface-raised);color:var(--ui-text-muted);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.reservation-management-table tr[aria-selected=true]{background:color-mix(in srgb,var(--ui-primary) 11%,transparent);box-shadow:inset 3px 0 0 var(--ui-primary)}.reservation-management-table tbody tr:hover{background:color-mix(in srgb,var(--ui-secondary) 6%,transparent)}
.table-value-button{min-height:0;padding:2px 0;border:0;background:transparent;color:var(--ui-text);font-weight:650;text-align:left;white-space:normal}.table-value-button:hover:not(:disabled){border:0;background:transparent;color:var(--ui-primary);text-decoration:underline}.row-actions{display:flex;gap:5px}.row-actions button{min-height:30px;padding:4px 7px;font-size:10px}
.status-badge{display:inline-flex;min-height:22px;align-items:center;padding:2px 8px;border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface-raised);font-size:10px;font-weight:750;text-transform:capitalize}.status-checked-in{color:var(--ui-success)}.status-cart{color:var(--ui-info)}.status-cancelled,.status-no-show{color:var(--ui-danger)}
.money{font-variant-numeric:tabular-nums;white-space:nowrap}.workspace-loading,.workspace-empty,.workspace-error{min-height:180px;display:grid;place-items:center;padding:28px;color:var(--ui-text-muted);text-align:center}.workspace-error{color:var(--ui-danger)}
@media(max-width:860px){.reservation-filter-bar{top:158px;flex-wrap:wrap}.reservation-filter-bar>label{flex:1 1 140px}.reservation-management-table th{top:252px}}
@media(max-width:640px){.reservation-filter-bar{position:static}.reservation-filter-bar .more-filters[open]>.form-grid{position:fixed;left:10px;right:10px;top:118px;width:auto;max-height:calc(100dvh - 150px);overflow:auto}.reservation-actions-bar{position:sticky;top:104px;z-index:8;background:var(--ui-bg)}.reservation-table-scroll{overflow:visible;border:0;background:transparent}.reservation-management-table{display:block;min-width:0}.reservation-management-table thead{display:none}.reservation-management-table tbody{display:grid;gap:10px}.reservation-management-table tr{display:grid;grid-template-columns:1fr 1fr;padding:12px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.reservation-management-table td{display:grid;height:auto;min-width:0;padding:6px 8px;border:0}.reservation-management-table td::before{content:attr(data-label);margin-bottom:3px;color:var(--ui-text-muted);font-size:9px;font-weight:750;text-transform:uppercase}.reservation-management-table td[data-label="Guest"],.reservation-management-table td[data-label="Stay"],.reservation-management-table td[data-label="Actions"]{grid-column:1/-1}.row-actions{flex-wrap:wrap}}

/* R9 Batch 4 — one canonical Reservation Editor in quick drawer mode. */
#editor{width:min(920px,96vw);height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:0;border-width:0 0 0 1px;border-radius:var(--ui-radius-lg) 0 0 var(--ui-radius-lg);overflow:auto;overscroll-behavior:contain}
#editor #booking-form{min-height:100%;display:flex;flex-direction:column;padding:0 22px}
#editor .dialog-heading{position:sticky;top:0;z-index:15;margin:0 -22px;padding:16px 22px 12px;background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}
#editor #reservation-meta{position:sticky;top:66px;z-index:14;margin:0 -22px;padding:7px 22px;background:var(--ui-surface-raised);border-bottom:1px solid var(--ui-border)}
.reservation-editor-tabs{position:sticky;top:92px;z-index:13;display:flex;gap:4px;margin:0 -22px 14px;padding:7px 22px;overflow-x:auto;background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}
.reservation-editor-tabs button{min-height:32px;padding:5px 9px;border-color:transparent;background:transparent;white-space:nowrap}.reservation-editor-tabs button[aria-selected=true]{color:var(--ui-primary);border-color:var(--ui-border);background:var(--ui-primary-soft)}
.reservation-editor-body{display:block;flex:1;min-height:420px}.reservation-editor-body>.editor-main{max-width:780px;margin:0 auto}.reservation-editor-panel[hidden]{display:none!important}.reservation-editor-panel>fieldset,.reservation-editor-panel>details,.reservation-editor-panel>.financial-panel,.reservation-editor-panel>#reservation-actions{width:100%;margin:0 0 14px}.reservation-editor-panel>.financial-panel{position:static;padding:18px}.reservation-editor-panel>#reservation-actions{display:flex!important;padding:14px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-raised)}
#editor .dialog-actions{bottom:0;z-index:15;margin:auto -22px 0;padding:12px 22px calc(12px + env(safe-area-inset-bottom,0));background:var(--ui-surface);box-shadow:0 -8px 18px color-mix(in srgb,var(--ui-bg) 78%,transparent)}
#editor #dirty-state{min-height:20px;color:var(--ui-warning)}
@media(max-width:760px){#editor{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}#editor #booking-form{padding:0 14px}#editor .dialog-heading,#editor #reservation-meta,.reservation-editor-tabs{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.reservation-editor-tabs{top:90px}.reservation-editor-body{min-height:360px}.reservation-editor-panel .form-grid,.reservation-editor-panel fieldset.form-grid{grid-template-columns:1fr}.reservation-editor-panel .wide{grid-column:auto}#editor .dialog-actions{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}#editor .dialog-actions button{min-height:44px;flex:1}}

/* R9 Batch 5 — Daily Operations is a routed operational table, not a dashboard. */
#operations-dialog .workspace-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap}#operations-dialog .workspace-toolbar label{min-width:170px}#operations-dialog .workspace-toolbar label:nth-child(2){flex:1;max-width:440px}
#operations-filters{position:sticky;top:180px;z-index:8;padding:7px 0;background:var(--ui-bg)}
.operations-more-menu{position:relative;width:max-content;margin:6px 0 0;padding:0;border:0}.operations-more-menu>summary{display:inline-flex;min-height:32px;align-items:center;padding:5px 9px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-raised)}.operations-more-menu .operations-tools{position:absolute;left:0;top:calc(100% + 6px);z-index:20;display:grid;width:max-content;min-width:220px;gap:5px;margin:0;padding:9px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-dialog)}.operations-more-menu:not([open]) .operations-tools{display:none}
#operations-summary{padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--ui-text-muted)}
#operations-rows{width:100%;overflow-x:auto;overflow-y:visible}.operations-table,.breakfast-plan-table{width:100%;min-width:880px;border-collapse:collapse;background:var(--ui-surface);border:1px solid var(--ui-border)}.operations-table th,.operations-table td,.breakfast-plan-table th,.breakfast-plan-table td{height:44px;padding:7px 9px;border-bottom:1px solid var(--ui-border);vertical-align:middle;text-align:left}.operations-table th,.breakfast-plan-table th{position:sticky;top:226px;z-index:6;background:var(--ui-surface-raised);color:var(--ui-text-muted);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.operations-table tbody tr:hover,.breakfast-plan-table tbody tr:hover{background:color-mix(in srgb,var(--ui-secondary) 6%,transparent)}.operations-attention{width:100%;margin:8px 0;border-color:var(--ui-warning);text-align:left}
#operations-actions{position:sticky;bottom:28px;z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:9px;background:color-mix(in srgb,var(--ui-surface) 94%,transparent);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-raised)}
.guest-registration-controls{position:sticky;top:var(--app-sticky-top);z-index:var(--layer-workspace);padding:4px 0 8px;background:var(--ui-bg);box-shadow:0 1px 0 var(--ui-border)}.guest-registration-controls .workspace-page-heading{position:static;margin-bottom:8px;padding:0}.guest-registration-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.guest-registration-toolbar label{min-width:170px}.guest-registration-toolbar button[aria-selected=true]{color:var(--ui-primary);border-color:var(--ui-primary);background:var(--ui-primary-soft)}.guest-registration-start{display:flex;align-items:end;gap:8px;max-width:820px;margin-top:10px;padding:10px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.guest-registration-start label{flex:1}.guest-registration-start input{width:100%}#guest-registration-summary{margin:9px 0 0;color:var(--ui-text-muted)}#guest-registration-search-results{margin-top:10px}#guest-registration-rows{margin-top:12px;overflow-x:auto}.guest-registration-workspace .daily-register-actions{position:sticky;bottom:28px;z-index:10}.status-needs-registration{color:var(--ui-warning)}.status-registered{color:var(--ui-success)}
@media(max-width:760px){#operations-filters{top:151px}.operations-table th,.breakfast-plan-table th{top:196px}#operations-dialog .workspace-toolbar label{min-width:138px;flex:1}.operations-table{display:block;min-width:0;border:0;background:transparent}.operations-table thead{display:none}.operations-table tbody{display:grid;gap:10px}.operations-table tr{display:grid;grid-template-columns:1fr 1fr;padding:10px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.operations-table td{display:grid;height:auto;padding:6px;border:0}.operations-table td::before{content:attr(data-label);margin-bottom:2px;color:var(--ui-text-muted);font-size:9px;text-transform:uppercase}.operations-table td[data-label="Guest"],.operations-table td[data-label="Stay / Pax"],.operations-table td[data-label="Operational detail"],.operations-table td[data-label="Actions"]{grid-column:1/-1}#operations-actions{bottom:54px}}
@media(max-width:760px){.guest-registration-controls{top:var(--mobile-header-height)}.guest-registration-toolbar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.guest-registration-toolbar>*{flex:none}.guest-registration-start{display:grid;grid-template-columns:1fr 1fr}.guest-registration-start label{grid-column:1/-1}.guest-registration-workspace .daily-register-actions{bottom:calc(var(--mobile-nav-height) + var(--mobile-status-height) + 8px + env(safe-area-inset-bottom,0))}}

/* R9 Batch 6 — contextual Guest Registration and platform capture entry points. */
#guest-registration-panel{padding:0;border:0;background:transparent}#guest-registration-panel>summary{display:none}#guest-registration-panel>[data-role="rows"]{display:grid;gap:6px;margin:8px 0}#guest-registration-panel>[data-role="rows"] p{margin:0;padding:7px 9px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-raised)}#guest-registration-panel>[data-role="form"]{margin-top:12px;padding:16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}
.identity-capture-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-raised)}.identity-capture-preview{grid-column:1/-1}.identity-capture-preview img{display:block;max-width:100%;max-height:260px;margin:8px auto;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);object-fit:contain}.mobile-capture-action{display:none}
.identity-reader-progress,.identity-reader-warnings,.identity-field-review,.identity-review-confirmation,.identity-queue-status,.identity-existing-match{grid-column:1/-1}.identity-reader-progress{min-height:20px;padding:9px 11px;border-left:3px solid var(--ui-primary);background:var(--ui-primary-soft)}.identity-reader-progress[data-state=error]{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--ui-surface))}.identity-reader-warning{margin:5px 0;color:var(--warning)}.identity-field-review{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.identity-field-review-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);font-size:10px}.identity-field-state{padding:2px 6px;border-radius:999px;background:var(--ui-surface-raised);color:var(--ui-text-muted);text-transform:capitalize}.identity-field-state.state-validated{background:color-mix(in srgb,var(--ui-success) 12%,var(--ui-surface));color:var(--ui-success)}.identity-field-state.state-needs-review{background:color-mix(in srgb,var(--ui-warning) 12%,var(--ui-surface));color:var(--warning)}.identity-review-confirmation{display:flex;align-items:center;gap:8px;padding:8px 0}.identity-review-confirmation input{width:auto}.identity-existing-match{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px;border:1px solid var(--warning);border-radius:var(--ui-radius-md);background:color-mix(in srgb,var(--ui-warning) 10%,var(--ui-surface))}.identity-existing-match p{flex:1;min-width:220px}.identity-capture-preview p{overflow-wrap:anywhere}
@media(max-width:760px){.mobile-capture-action{display:inline-flex}.desktop-capture-action{display:none!important}#guest-registration-panel>[data-role="form"]{padding:12px}.identity-capture-actions button{flex:1;min-width:130px}.identity-field-review{grid-template-columns:1fr}.identity-existing-match{align-items:stretch}.identity-existing-match button{flex:1}}

/* R9 Batch 7 — official Daily Guest Register review and frozen-state presentation. */
.daily-register-workspace{width:100%}.daily-register-table{width:100%;min-width:820px;border-collapse:collapse;border:1px solid var(--ui-border);background:var(--ui-surface);font-family:Tahoma,Arial,sans-serif}.daily-register-table th,.daily-register-table td{height:44px;padding:8px 10px;border:1px solid var(--ui-border);text-align:right}.daily-register-table th{position:sticky;top:226px;z-index:6;background:var(--ui-surface-raised);font-size:11px}.daily-register-table td:first-child,.daily-register-table th:first-child{text-align:center;width:54px}.daily-register-table td:last-child{display:flex;align-items:center;gap:7px}.daily-register-actions{position:sticky;bottom:28px;z-index:10;display:flex;justify-content:flex-end;gap:8px;padding:10px;background:color-mix(in srgb,var(--ui-surface) 95%,transparent);border:1px solid var(--ui-border);box-shadow:var(--ui-shadow-raised)}
@media(max-width:760px){.daily-register-table th{top:196px}.daily-register-workspace{overflow-x:auto}.daily-register-actions{position:sticky;left:0;bottom:54px;width:calc(100vw - 20px)}}

/* R9 Batch 8 — Billing home, canonical ledger actions and contextual documents. */
#billing-tabs{position:sticky;top:112px;z-index:9;padding:8px 0;background:var(--ui-bg)}
.billing-workspace-layout{grid-template-columns:minmax(230px,.72fr) minmax(0,2fr);gap:18px;align-items:start}.billing-workspace-layout>.billing-selection{position:sticky;top:164px;max-height:calc(100dvh - 210px);overflow:auto}.billing-workspace-layout>.billing-editor{min-width:0}.billing-tab-panel{min-height:420px;padding:18px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.billing-tab-panel[hidden]{display:none!important}.billing-tab-panel #billing-reservations{display:grid;gap:10px}.billing-reservation-group{padding:14px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-raised)}.billing-tab-panel #billing-actions{position:sticky;bottom:28px;z-index:8;margin:18px -18px -18px;padding:12px 18px;background:var(--ui-surface);box-shadow:0 -8px 18px color-mix(in srgb,var(--ui-bg) 78%,transparent)}.billing-tab-panel #billing-payment{min-height:40px}.billing-paper[hidden]{display:none!important}
@media(max-width:760px){#billing-tabs{top:104px}.billing-workspace-layout{grid-template-columns:1fr}.billing-workspace-layout>.billing-selection{position:static;max-height:none;overflow:visible}.billing-tab-panel{min-height:360px;padding:12px}.billing-tab-panel #billing-actions{bottom:54px;margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}}

/* R9 Batch 9 — compact Finance summaries with the report area dominant. */
#finance-tabs{position:sticky;top:112px;z-index:9;padding:8px 0;background:var(--ui-bg)}.finance-period-bar,.finance-actions{position:sticky;z-index:8;padding:8px 0;background:var(--ui-bg)}.finance-period-bar{top:158px}.finance-actions{top:206px}.finance-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:10px 0}.finance-kpi{min-height:74px;padding:12px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.finance-kpi span{display:block;color:var(--ui-text-muted);font-size:10px;text-transform:uppercase}.finance-kpi strong{display:block;margin-top:8px;font-size:17px;font-variant-numeric:tabular-nums}#finance-rows{width:100%;min-height:360px;overflow-x:auto;overflow-y:visible}#finance-rows>.finance-table{width:100%;min-width:760px;border-collapse:collapse;background:var(--ui-surface);border:1px solid var(--ui-border)}.finance-table th,.finance-table td{height:44px;padding:7px 9px;border-bottom:1px solid var(--ui-border);text-align:left}.finance-table th{position:sticky;top:252px;z-index:6;background:var(--ui-surface-raised);font-size:10px;text-transform:uppercase}
@media(max-width:760px){#finance-tabs{top:104px}.finance-period-bar{top:149px}.finance-actions{top:196px}.finance-kpis{grid-template-columns:1fr 1fr}.finance-kpi{min-height:66px}.finance-table th{top:244px}}

/* R9 Batch 10 — grouped Settings information architecture. */
.settings-search{position:sticky;top:112px;z-index:10;display:flex;align-items:center;gap:10px;max-width:520px;padding:8px 0;background:var(--ui-bg)}.settings-search input{flex:1}.settings-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:18px}#settings-nav{position:sticky;top:164px;max-height:calc(100dvh - 210px);overflow:auto;padding:8px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.settings-nav-group{margin:12px 8px 5px;color:var(--ui-text-muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.settings-nav-group:first-child{margin-top:4px}#settings-nav button{width:100%;justify-content:flex-start;border-color:transparent;background:transparent;text-align:left}#settings-nav button[aria-current=page]{color:var(--ui-primary);border-color:var(--ui-border);background:var(--ui-primary-soft)}#settings-content{min-height:560px;padding:18px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}#settings-content>.settings-group{padding:0 0 18px;border-bottom:1px solid var(--ui-border)}#settings-content>.settings-group:last-child{border:0}#settings-status{position:sticky;bottom:28px;z-index:9;padding:8px;background:color-mix(in srgb,var(--ui-surface) 94%,transparent)}
@media(max-width:760px){.settings-search{top:104px}.settings-layout{grid-template-columns:1fr}#settings-nav{position:static;display:flex;max-height:none;overflow-x:auto;flex-wrap:nowrap;padding:6px}.settings-nav-group{display:none}#settings-nav button{width:auto;white-space:nowrap}#settings-content{min-height:420px;padding:12px}#settings-status{bottom:54px}}

/* R9 Batch 11 — contextual documents and simple Transitional Excel presentation. */
#document-dialog.document-viewer{width:min(1480px,98vw);height:min(96dvh,1040px);max-width:none;max-height:none;padding:0;overflow:hidden;background:var(--panel);border:1px solid var(--line-strong)}
#document-dialog.document-viewer::backdrop{background:rgb(4 11 20 / .82)}
.document-toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;background:var(--raised);border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgb(0 0 0 / .16)}
.document-toolbar-title{min-width:180px}.document-toolbar-title h2{margin:0}.document-toolbar-title .eyebrow{margin:0 0 3px}
.document-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.document-toolbar-actions label{display:flex;align-items:center;gap:8px;margin:0}.document-toolbar-actions output{min-width:48px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}
#document-error{margin:0;padding:0 18px;background:var(--panel)}
.document-canvas{height:calc(100% - 82px);overflow:auto;padding:24px;background:#b9c0ca}
#document-dialog #document-frame{display:block;width:calc(100% / var(--document-zoom,1));height:calc(100% / var(--document-zoom,1));min-height:900px;margin:0 auto;border:0;background:white;transform:scale(var(--document-zoom,1));transform-origin:top center;box-shadow:0 16px 44px rgb(0 0 0 / .28)}
#document-dialog #document-frame[data-fit="true"]{width:100%;height:100%;min-height:900px;transform:none}
.integration-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.integration-status-card{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--raised)}.integration-status-card span{font-size:12px}.integration-actions{margin:8px 0 12px}.integration-result{min-height:24px;margin:0}.integration-retirement button:disabled{opacity:.56}
@media(max-width:760px){#document-dialog.document-viewer{width:100vw;height:100dvh;border:0;border-radius:0}.document-toolbar{align-items:flex-start;padding:10px 12px}.document-toolbar-title{min-width:0}.document-toolbar-actions{justify-content:flex-start}.document-canvas{height:calc(100% - 124px);padding:10px}.integration-summary{grid-template-columns:1fr}}

/* R9 Batch 12 — one accessible confirmation/reason system. */
.canonical-dialog{width:min(480px,calc(100vw - 28px));max-width:none;padding:22px;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:var(--ui-shadow-dialog)}
.canonical-dialog::backdrop{background:rgb(4 11 20 / .76)}.canonical-dialog h2{margin:0 0 10px}.canonical-dialog .eyebrow{margin:0 0 5px}.canonical-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding:0;background:transparent;box-shadow:none}.canonical-dialog textarea{width:100%;resize:vertical}.canonical-dialog button.danger{border-color:color-mix(in srgb,var(--ui-danger) 70%,var(--ui-border));background:var(--ui-danger);color:#fff}.canonical-dialog button.danger:hover:not(:disabled){background:color-mix(in srgb,var(--ui-danger) 86%,#fff)}
@media(max-width:520px){.canonical-dialog{width:calc(100vw - 16px);padding:18px}.canonical-dialog .dialog-actions button{min-height:44px;flex:1}}

/* R9 Batch 13 — adaptive Mobile/PWA shell; desktop and Windows keep the same Canonical owners. */
#mobile-navigation,#mobile-more-menu{display:none}
@media(max-width:760px){
 :root{--mobile-header-height:62px;--mobile-nav-height:64px;--mobile-status-height:29px}
 html,body{overflow-x:clip}
 body{padding-bottom:calc(var(--mobile-nav-height) + var(--mobile-status-height) + env(safe-area-inset-bottom,0))}
 .app-header{min-height:var(--mobile-header-height);height:var(--mobile-header-height);flex-wrap:nowrap;padding:calc(7px + env(safe-area-inset-top,0)) 10px 7px;gap:8px}
 .brand{min-width:0}.brand-mark{width:32px;height:32px}.brand>span:last-child{display:none}
 #main-navigation,#global-search-form,.environment,#app-clock,#theme,#actor{display:none!important}
 .header-actions{min-width:0;margin-left:auto}.session-tools{overflow:visible}.session-tools #quick-entry{display:none}
 #attention-entry,#logout{min-height:44px;padding:6px 9px}
 main{padding:12px 10px calc(24px + var(--mobile-nav-height) + var(--mobile-status-height) + env(safe-area-inset-bottom,0))}
 #mobile-navigation{position:fixed;left:0;right:0;bottom:0;z-index:34;min-height:var(--mobile-nav-height);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;padding:5px max(4px,env(safe-area-inset-left,0)) calc(5px + env(safe-area-inset-bottom,0)) max(4px,env(safe-area-inset-right,0));background:color-mix(in srgb,var(--ui-surface) 97%,transparent);border-top:1px solid var(--ui-border);box-shadow:0 -8px 24px rgb(0 0 0 / .2)}
 #mobile-navigation button{min-width:0;min-height:48px;padding:5px 2px;border:0;border-radius:var(--ui-radius-sm);background:transparent;color:var(--ui-text-muted);font-size:10px;white-space:normal;text-align:center}
 #mobile-navigation button[aria-current=page]{color:var(--ui-primary);background:var(--ui-primary-soft)}
 #mobile-more-menu{position:fixed;right:8px;bottom:calc(var(--mobile-nav-height) + 8px + env(safe-area-inset-bottom,0));z-index:36;display:grid;min-width:180px;padding:8px;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-dialog)}
 #mobile-more-menu button{min-height:44px;text-align:left}#mobile-more-menu button[aria-current=page]{color:var(--ui-primary);background:var(--ui-primary-soft)}
 #app-status-bar{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0));min-height:var(--mobile-status-height);padding:2px 8px;z-index:33}#app-status-bar #sync-now,#app-status-bar #excel-review-entry,#app-status-bar #status-build{display:none}#app-status-bar #sync-entry{margin-left:auto}
 .workspace-page-heading,#timeline-page>.workspace-heading{top:var(--mobile-header-height)}
 #timeline-page #ribbon{top:calc(var(--mobile-header-height) + 53px)}
 .workspace-toolbar,.reservation-filter-bar,#billing-tabs,#finance-tabs,.settings-search{top:calc(var(--mobile-header-height) + 54px)}
 #operations-filters{top:calc(var(--mobile-header-height) + 107px)}
 .operations-table th,.breakfast-plan-table th,.daily-register-table th{top:calc(var(--mobile-header-height) + 152px)}
 .finance-period-bar{top:calc(var(--mobile-header-height) + 100px)}.finance-actions{top:calc(var(--mobile-header-height) + 148px)}.finance-table th{top:calc(var(--mobile-header-height) + 194px)}
 #operations-actions,.daily-register-actions,#billing-page .billing-tab-panel #billing-actions,#settings-status{bottom:calc(var(--mobile-nav-height) + var(--mobile-status-height) + 8px + env(safe-area-inset-bottom,0))}
 #grid-scroll{max-height:none;min-height:420px;overflow-x:auto;overflow-y:visible}
 .control-group{max-width:100%;flex-wrap:wrap}
 .workspace-page-heading{gap:8px}.workspace-page-heading>button{white-space:normal}
 .document-toolbar{flex-direction:column}.document-toolbar-actions{width:100%;overflow-x:auto;flex-wrap:nowrap}.document-toolbar-actions button,.document-toolbar-actions label{min-height:44px;flex:none}
}

/* Owner UX / Operations patch: one header-owned Data / Sync surface. */
#app-status-bar{display:none!important}
.data-sync-entry{display:flex;align-items:center;gap:6px;min-height:38px}.data-sync-indicator{width:8px;height:8px;border-radius:50%;background:var(--ui-text-muted);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-text-muted) 18%,transparent)}.data-sync-entry[data-state=connected] .data-sync-indicator{background:var(--ui-success)}.data-sync-entry[data-state=syncing] .data-sync-indicator,.data-sync-entry[data-state=fresh-start] .data-sync-indicator{background:var(--ui-secondary)}.data-sync-entry[data-state=attention] .data-sync-indicator,.data-sync-entry[data-state=offline] .data-sync-indicator{background:var(--ui-warning)}
.data-sync-menu{position:fixed;top:calc(var(--app-sticky-top) + 6px);right:58px;left:auto;display:grid;width:min(330px,calc(100vw - 20px));max-height:calc(100dvh - var(--app-sticky-top) - 18px);overflow-y:auto;gap:8px;padding:10px;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-dialog)}.data-sync-menu[hidden]{display:none}.data-sync-menu section{display:grid;gap:6px;padding:8px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-raised)}.data-sync-menu h2{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted)}.data-sync-menu button{justify-content:flex-start;text-align:left}.data-sync-menu .sync-status{display:grid;gap:2px}.data-sync-menu .sync-status small,.data-sync-menu>small{color:var(--ui-text-muted);font-size:9px}.data-sync-toggle{display:flex;align-items:center;justify-content:space-between;grid-template-columns:1fr auto;min-height:34px}.data-sync-sensitive{border-color:color-mix(in srgb,var(--ui-danger) 45%,var(--ui-border))!important}.data-sync-sensitive .danger-action{color:var(--ui-danger)}

/* Settings keeps every capability while revealing routine configuration first. */
#settings-page #settings-nav{max-height:none;overflow:visible}.settings-disclosure{padding:0!important;overflow:clip}.settings-disclosure>summary{padding:12px 14px;cursor:pointer;font-size:12px;font-weight:750;list-style-position:inside}.settings-disclosure[open]>summary{border-bottom:1px solid var(--ui-border);margin-bottom:0}.settings-disclosure>form,.settings-disclosure>.settings-group,.settings-disclosure>p,.settings-disclosure>div:not(.settings-group){margin:12px 14px}.settings-disclosure>.settings-group{border:0;background:transparent;padding:0}.sensitive-disclosure>summary{color:var(--ui-danger)}.download-fallback{display:inline-flex;margin-top:8px;padding:8px 10px;border:1px solid var(--ui-primary);border-radius:var(--ui-radius-sm);color:var(--ui-primary);text-decoration:none}

/* Page scroll is the only primary vertical owner. Pinning affects only sticky geometry. */
.timeline-status-swatch{display:inline-block;width:12px;height:12px;margin-right:8px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:3px;vertical-align:-1px}
.date-cell:not(.occupied):not(.range-proposal){background:#D9EFF9}.date-cell.closed,.date-cell.closed.occupied{background:#151515;color:#fff}.room-block-bar{background:#151515;color:#fff;border-color:#151515}
.timeline-color-key{width:100%;font-size:11px}.timeline-color-key>summary{cursor:pointer}.timeline-color-key-list{display:flex;flex-wrap:wrap;gap:8px 14px;padding:8px 0}
.workspace-sticky-controls,.guest-registration-controls,#billing-workspace-controls{position:static;top:auto;box-shadow:none}.top-level-page[data-sticky-active=true]>.workspace-sticky-controls,.top-level-page[data-sticky-active=true] .workspace-sticky-controls:first-child{position:sticky;top:var(--app-sticky-top);z-index:var(--layer-workspace);background:var(--ui-bg);box-shadow:0 1px 0 var(--ui-border)}.workspace-sticky-controls .workspace-page-heading{position:static!important;top:auto!important}.workspace-pin-toggle{display:inline-grid;inline-size:30px;block-size:30px;min-width:0;flex:0 0 30px;place-items:center;align-self:center;margin-left:auto;padding:5px;border-radius:50%;color:var(--ui-text-muted);background:transparent}.workspace-pin-toggle svg{inline-size:16px;block-size:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.workspace-pin-toggle[aria-pressed=true]{color:var(--ui-primary);border-color:var(--ui-primary);background:var(--ui-primary-soft)}.workspace-pin-toggle[aria-pressed=true] svg{fill:currentColor;stroke:currentColor}
.top-level-page[data-sticky-active=false] .reservation-management-table th,.top-level-page[data-sticky-active=false] .operations-table th,.top-level-page[data-sticky-active=false] .breakfast-plan-table th,.top-level-page[data-sticky-active=false] .daily-register-table th,.top-level-page[data-sticky-active=false] .finance-table th{position:static!important;top:auto!important}.top-level-page[data-sticky-active=true] .reservation-management-table th{top:var(--reservations-table-sticky-top)!important}.top-level-page[data-workspace="daily-operations"][data-sticky-active=true] .operations-table th,.top-level-page[data-workspace="daily-operations"][data-sticky-active=true] .breakfast-plan-table th{top:var(--operations-table-sticky-top)!important}.top-level-page[data-workspace="guest-registration"][data-sticky-active=true] .operations-table th,.top-level-page[data-workspace="guest-registration"][data-sticky-active=true] .daily-register-table th{top:var(--guest-registration-table-sticky-top)!important}.top-level-page[data-workspace="finance"][data-sticky-active=true] .finance-table th{position:sticky!important;top:var(--finance-table-sticky-top)!important}
#reservation-rows,#operations-rows,#guest-registration-rows,#finance-rows,.billing-main-panel>.billing-selection{max-height:none!important;overflow-y:visible!important}.reservation-table-scroll,#operations-rows,#guest-registration-rows,#finance-rows{overflow-x:auto;overflow-y:visible}.billing-main-panel>.billing-selection{position:static!important}

/* One large canonical Documents / Print Center; manual values are presentation-only. */
.print-center-dialog{width:min(1080px,calc(100vw - 28px));height:min(86dvh,820px);max-width:none;padding:0;overflow:hidden}.print-center-dialog>.dialog-heading{position:sticky;top:0;z-index:2;margin:0;padding:14px 18px;background:var(--ui-surface)}.print-center-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:18px;height:calc(100% - 78px);overflow-y:auto;padding:18px}.print-center-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px}.print-center-controls>label,.print-center-controls>details,.print-center-controls>#print-center-results,.print-center-controls>#print-center-error,.print-center-controls>#print-center-preset-summary{grid-column:1/-1}.print-center-controls>#print-center-guest-preset,.print-center-controls>#print-center-find,.print-center-controls>#print-center-preview{justify-self:start}.print-center-guide{align-self:start;padding:16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-raised)}.print-center-guide p{margin-top:10px;color:var(--ui-text-muted);line-height:1.55}.document-preset{grid-column:1/-1;justify-self:start}
.smart-print-dialog{width:min(1040px,calc(100vw - 28px));height:min(88dvh,880px);max-width:none;padding:0;overflow:hidden}.smart-print-dialog[data-quick="true"]{width:min(540px,calc(100vw - 20px));height:auto;max-height:85dvh}.smart-print-dialog>.dialog-heading{margin:0;padding:16px 20px;background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}.smart-print-body{height:calc(100% - 98px);overflow-y:auto;padding:20px}.smart-print-dialog[data-quick="true"] .smart-print-body{height:auto;max-height:calc(85dvh - 98px)}.smart-print-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.smart-print-cards button{min-height:76px;padding:14px;text-align:left;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-raised);font-weight:650}.smart-print-cards button:hover,.smart-print-cards button:focus-visible{border-color:var(--ui-accent);background:var(--ui-surface)}.smart-print-task-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.smart-print-task-heading h3{margin:0}.smart-print-group{margin:18px 0}.smart-print-group h4{margin:0 0 8px}.smart-print-reservation{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);margin:6px 0;cursor:pointer}.smart-print-reservation input{flex:none}.smart-print-reservation span{display:grid;gap:3px}.smart-print-reservation small{color:var(--ui-text-muted)}#smart-print-date-panel,#smart-print-queue,#smart-print-search-form,#smart-print-options{margin:16px 0}#smart-print-date-panel label,#smart-print-search-form label,#smart-print-options label{display:inline-grid;gap:5px;margin-right:12px}#smart-print-queue{padding:12px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-raised)}.smart-print-queue-item{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}.smart-print-actions{display:flex;justify-content:flex-end;position:sticky;bottom:0;padding:12px 0;background:var(--ui-surface)}#smart-print-manual{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}#smart-print-manual p{width:100%}#smart-print-guest-documents{display:grid;gap:8px;margin-top:12px}
@media(max-width:760px){.smart-print-dialog{width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.smart-print-dialog[data-quick="true"]{width:100vw;max-height:100dvh}.smart-print-body{padding:14px;height:calc(100% - 100px)}.smart-print-cards{grid-template-columns:1fr 1fr}.smart-print-cards button{min-height:58px}.smart-print-queue-item{align-items:flex-start}}
.smart-print-cards button:hover,.smart-print-cards button:focus-visible{border-color:var(--ui-primary)}
@media(max-width:760px){body{padding-bottom:0}.data-sync-entry>span:not(.data-sync-indicator){display:none}.data-sync-menu{top:calc(var(--mobile-header-height) + 4px);right:8px}.top-level-page[data-sticky-active=true]>.workspace-sticky-controls,.top-level-page[data-sticky-active=true] .workspace-sticky-controls:first-child{position:static;box-shadow:none}.workspace-pin-toggle{display:none}.print-center-dialog{width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.print-center-layout{grid-template-columns:1fr}.print-center-controls{grid-template-columns:1fr}.print-center-guide{display:none}}

/* Final physical-acceptance geometry: transient popovers must not inherit the
   generic open-details spacing, and compact switches must not inherit the
   standard text-control minimum height. */
.editor-more-menu[open]>summary,
.operations-more-menu[open]>summary,
.reservation-filter-bar .more-filters[open]>summary,
.billing-filter-bar details[open]>summary{margin-bottom:0}
.operations-more-menu>summary{min-height:var(--ui-control-height);padding:7px 10px}
input[type=checkbox][role=switch]{min-height:18px!important}
.reservation-filter-bar .more-filters input,
.reservation-filter-bar .more-filters select,
.billing-filter-bar details input,
.billing-filter-bar details select{height:var(--ui-control-height);align-self:end}
@media(max-width:390px){#attention-entry{font-size:0}#attention-entry span{font-size:10px}#attention-entry::before{content:"Attention";font-size:10px}.workspace-page-heading h1{font-size:18px}.finance-kpis{grid-template-columns:1fr}}

/* Owner Acceptance Correction Pass — one measured sticky stack, natural page scroll. */
:root{--layer-global:80;--layer-workspace:60;--layer-column:50;--layer-transient:110;--app-sticky-top:60px;--timeline-heading-top:60px;--timeline-shortcuts-top:112px;--timeline-toolbar-top:150px;--timeline-scroll-top:220px;--timeline-date-sticky-top:238px;--reservations-table-sticky-top:250px;--operations-table-sticky-top:250px}
.app-header{position:sticky;top:0;z-index:var(--layer-global)}
.header-date-time{display:grid;min-width:82px;line-height:1.05;text-align:center;font-variant-numeric:tabular-nums}.header-date-time #app-clock{font-size:13px;font-weight:700}.header-date-time #app-date{color:var(--ui-text-muted);font-size:9px;text-transform:uppercase}
.user-menu-entry{display:flex;align-items:center;gap:7px;min-height:38px;padding:5px 8px}.user-avatar{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--ui-primary);color:#071720;font-size:10px;font-weight:800}.user-menu-label{display:grid;text-align:left}.user-menu-label strong{font-size:11px}.user-menu-label small{color:var(--ui-text-muted);font-size:9px}
.quick-menu,.transient-menu,#booking-menu{z-index:var(--layer-transient)}.user-menu{position:fixed;top:calc(var(--app-sticky-top) + 6px);right:12px;left:auto;display:grid;min-width:250px;gap:7px}.user-menu[hidden]{display:none}.user-menu-identity{display:grid;padding:8px;border-bottom:1px solid var(--ui-border)}.user-menu-identity span{color:var(--ui-text-muted);font-size:11px}.appearance-options{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0;padding:8px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm)}.appearance-options legend{grid-column:1/-1;color:var(--ui-text-muted);font-size:10px}.appearance-options button[aria-pressed=true]{color:var(--ui-primary);background:var(--ui-primary-soft)}

#timeline-page>.workspace-heading{position:sticky;top:var(--timeline-heading-top);z-index:var(--layer-workspace);background:var(--ui-bg)}
#timeline-page>.operations-ribbon{position:sticky;top:var(--timeline-shortcuts-top);z-index:var(--layer-workspace);display:flex!important;margin:0;padding:5px 0;background:var(--ui-bg)}
#operations-shortcuts{display:flex;gap:6px;min-width:max-content}#operations-shortcuts .cautious{border-color:color-mix(in srgb,var(--ui-warning) 55%,var(--ui-border));color:var(--ui-warning)}
#timeline-page>#ribbon{position:sticky;top:var(--timeline-toolbar-top);z-index:var(--layer-workspace);margin:0;padding:6px 0;background:var(--ui-bg);box-shadow:0 1px 0 var(--ui-border)}
.timeline-primary-actions{gap:6px}.timeline-primary-actions #new,.timeline-primary-actions #find-room{font-weight:700}.range-controls select{min-width:88px}.timeline-view-controls{position:relative}.view-menu{position:fixed;display:grid;min-width:190px;gap:7px}.view-menu[hidden]{display:none}.view-menu label{display:grid;gap:4px}
.timeline-panel,.timeline-panel #timeline-grid{overflow:visible}.timeline-panel{margin-top:0}.timeline-panel #grid-scroll{height:auto!important;min-height:0!important;max-height:none!important;overflow-x:auto!important;overflow-y:visible!important;overscroll-behavior-x:contain}.timeline-panel #timeline{min-height:0}
#timeline-top-scroll{position:sticky;top:var(--timeline-scroll-top);z-index:calc(var(--layer-column) + 2);height:18px;overflow-x:auto;overflow-y:hidden;background:var(--ui-surface);border:1px solid var(--ui-border);border-bottom:0}#timeline-top-spacer{height:1px}
#timeline-header-scroll{position:sticky;top:var(--timeline-date-sticky-top)!important;z-index:calc(var(--layer-column) + 1);overflow:hidden;background:var(--ui-surface-raised);box-shadow:0 2px 0 var(--ui-border)}
.grid-header .room-label,.room-row>.room-label{position:sticky;left:0;z-index:5}.grid-header .room-label{z-index:7}.date-cell.occupied{cursor:not-allowed;background:color-mix(in srgb,var(--ui-surface-raised) 84%,var(--ui-border))}.date-cell.occupied.range-proposal{box-shadow:none!important}

.workspace-sticky-controls{position:sticky;top:var(--app-sticky-top);z-index:var(--layer-workspace);padding:0 0 8px;background:var(--ui-bg);box-shadow:0 1px 0 var(--ui-border)}
#reservations-sticky-controls .workspace-page-heading,#operations-sticky-controls .workspace-page-heading{position:static;padding-top:0}
#reservation-rows,#operations-rows{overflow:visible;max-height:none}.reservation-table-scroll{max-height:none!important;overflow:visible!important}.reservation-management-table th{position:sticky;top:var(--reservations-table-sticky-top)!important;z-index:var(--layer-column);background:var(--ui-surface-raised)}
.operations-table th,.breakfast-plan-table th,.daily-register-table th{top:var(--operations-table-sticky-top)!important;z-index:var(--layer-column)}
#finance-page .finance-table th{z-index:var(--layer-column)}
#finance-page .table-scroll,#finance-rows{max-height:none;min-height:0;overflow:visible}

/* Reservation Editor: one large continuous modal with fixed header and footer. */
#editor{inset:auto;width:min(1180px,calc(100vw - 32px));height:min(92dvh,960px);max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:var(--ui-shadow-dialog)}
#editor #booking-form{display:flex;height:100%;min-height:0;flex-direction:column;padding:0}#editor .dialog-heading{position:relative;top:auto;z-index:4;display:flex;flex:none;align-items:center;gap:14px;margin:0;padding:14px 18px;background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}
.editor-header-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.editor-header-actions[hidden]{display:none}.editor-registration-summary{max-width:132px;color:var(--ui-text-muted);font-size:9px;line-height:1.25;text-align:right}.editor-more-menu{position:relative}.editor-more-menu>summary{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);cursor:pointer;list-style:none}.editor-more-menu[open]{z-index:18}.editor-more-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:18;display:grid;min-width:210px;gap:4px;padding:8px;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-md);background:var(--ui-surface-raised);box-shadow:var(--ui-shadow-dialog)}.editor-more-menu:not([open])>.editor-more-popover{display:none}.editor-more-popover>button{display:flex;width:100%}
#editor .editor-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px}#editor .reservation-editor-body{display:block;min-height:0}.reservation-editor-body>.editor-main{display:grid;max-width:980px;margin:0 auto;gap:14px}.reservation-editor-body [data-editor-section],.reservation-editor-body #editor-financial-panel{width:100%;margin:0;padding:16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-raised)}.reservation-editor-body details[data-editor-section]>summary{font-size:14px;font-weight:700}.reservation-editor-body #editor-financial-panel{position:static;grid-row:auto}.reservation-editor-tabs,.reservation-editor-panel{display:contents!important}
#editor #reservation-meta{position:static;top:auto;z-index:auto;margin:0 auto 12px;max-width:980px;padding:0;background:transparent;border:0}
#editor .dialog-actions{position:relative;bottom:auto;z-index:4;display:flex;flex:none;margin:0;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0));background:var(--ui-surface);border-top:1px solid var(--ui-border);box-shadow:0 -8px 18px color-mix(in srgb,var(--ui-bg) 78%,transparent)}#editor .dialog-actions .close-dialog{margin-right:auto}#editor .dialog-actions #save,#editor .dialog-actions #save-close{margin-left:7px}
.deposit-editor-field{grid-column:1/-1}.input-with-suffix{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(130px,.6fr);align-items:center;gap:8px}.input-with-suffix span{font-weight:700}.deposit-editor-field small{display:block;margin-top:5px}

/* Billing: scoped reservation browser, unified Charges/Payments, optional left invoice panel. */
#billing-workspace-controls{position:sticky;top:var(--app-sticky-top);z-index:var(--layer-workspace);padding:6px 0;background:var(--ui-bg);box-shadow:0 1px 0 var(--ui-border)}#billing-workspace-controls #billing-tabs{position:static;padding:0}.billing-filter-bar{display:flex;align-items:end;gap:7px;flex-wrap:wrap}.billing-filter-bar>label{min-width:128px}.billing-filter-bar details{position:relative}.billing-filter-bar details[open]>.form-grid{position:absolute;right:0;z-index:20;width:min(620px,90vw);padding:12px;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-dialog)}
#billing-form>.billing-layout{display:block}.billing-main-panel{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,2fr);gap:18px;align-items:start}.billing-main-panel>.billing-selection{position:static;max-height:none;overflow:visible}.billing-main-panel>.billing-editor{min-width:0;padding:16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.billing-main-panel #billing-reservations{display:grid;gap:10px}.billing-details-editor{margin:12px 0}.billing-details-editor>summary{font-weight:700}.billing-history-panel{padding:18px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}
#billing-form>.billing-layout.invoice-panel-open{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,2fr);gap:18px;align-items:start}.billing-layout.invoice-panel-open>.billing-main-panel{grid-column:2}.billing-invoice-panel{grid-column:1;grid-row:1;width:auto;min-width:0;padding:16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.billing-invoice-panel[hidden]{display:none!important}.billing-invoice-panel iframe{width:100%;min-height:540px}.billing-editor #billing-actions{position:sticky;bottom:28px;z-index:10;margin:16px -16px -16px;padding:12px 16px;background:var(--ui-surface);box-shadow:0 -8px 18px color-mix(in srgb,var(--ui-bg) 78%,transparent)}

@media(max-width:760px){
 .header-date-time{display:grid}.header-date-time #app-clock{display:block!important}.user-menu-label{display:none}.user-menu{top:calc(var(--mobile-header-height) + 4px);right:8px;left:8px}#user-menu #theme{display:inline-flex!important}
 #timeline-page>.operations-ribbon{overflow-x:auto}.timeline-primary-actions{flex-wrap:nowrap;overflow-x:auto}.timeline-primary-actions button{white-space:nowrap}
 #timeline-top-scroll{height:20px}.workspace-sticky-controls{top:var(--app-sticky-top)}
 #editor{width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}#editor .dialog-heading{align-items:flex-start;padding:10px 12px}.editor-header-actions{max-width:72vw;flex-wrap:wrap;justify-content:flex-end;overflow:visible}.editor-registration-summary{display:none}.editor-more-popover{position:fixed;right:8px;top:58px}.editor-scroll{padding:12px!important}.reservation-editor-body>.editor-main{gap:10px}.input-with-suffix{grid-template-columns:minmax(100px,1fr) auto}.input-with-suffix select{grid-column:1/-1}
 #billing-workspace-controls{top:var(--app-sticky-top)}.billing-filter-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.billing-filter-bar>*{flex:none}.billing-main-panel{display:block}#billing-form>.billing-layout.invoice-panel-open{display:flex;flex-direction:column}.billing-invoice-panel{order:-1;margin-bottom:12px}.billing-filter-bar details[open]>.form-grid{position:fixed;left:10px;right:10px;top:calc(var(--app-sticky-top) + 120px);width:auto}.billing-editor #billing-actions{bottom:calc(var(--mobile-nav-height) + var(--mobile-status-height) + 8px + env(safe-area-inset-bottom,0))}
 #finance-page .table-scroll,#finance-rows{overflow-x:auto;overflow-y:visible}.finance-table th{position:static!important}
}

/* Tables stop being horizontally scroll-contained before their minimum desktop width.
   That keeps page-sticky headers in the viewport sticky stack instead of offsetting
   them inside a second scroll containing block. */
@media(max-width:900px){
 .reservation-table-scroll{overflow:visible!important;border:0;background:transparent}.reservation-management-table{display:block;min-width:0}.reservation-management-table thead{display:none}.reservation-management-table tbody{display:grid;gap:10px}.reservation-management-table tr{display:grid;grid-template-columns:1fr 1fr;padding:12px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.reservation-management-table td{display:grid;height:auto;min-width:0;padding:6px 8px;border:0}.reservation-management-table td::before{content:attr(data-label);margin-bottom:3px;color:var(--ui-text-muted);font-size:9px;font-weight:750;text-transform:uppercase}.reservation-management-table td[data-label="Guest"],.reservation-management-table td[data-label="Stay"],.reservation-management-table td[data-label="Actions"]{grid-column:1/-1}.row-actions{flex-wrap:wrap}
 #operations-rows{overflow:visible}.operations-table{display:block;min-width:0;border:0;background:transparent}.operations-table thead{display:none}.operations-table tbody{display:grid;gap:10px}.operations-table tr{display:grid;grid-template-columns:1fr 1fr;padding:10px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.operations-table td{display:grid;height:auto;padding:6px;border:0}.operations-table td::before{content:attr(data-label);margin-bottom:2px;color:var(--ui-text-muted);font-size:9px;text-transform:uppercase}.operations-table td[data-label="Guest"],.operations-table td[data-label="Stay / Pax"],.operations-table td[data-label="Operational detail"],.operations-table td[data-label="Actions"]{grid-column:1/-1}
}

/* Owner follow-up: compact authenticated utility cluster and support-only identity. */
.header-date-time{margin-left:auto}.user-menu-entry{gap:5px;padding:4px 7px;border-radius:999px}.user-menu-chevron{color:var(--ui-text-muted);font-size:10px}.user-menu-identity strong{font-size:13px}.user-technical-details{margin-top:5px}.user-technical-details summary{color:var(--ui-text-muted);font-size:10px;cursor:pointer}.user-technical-details code{display:block;max-width:230px;margin-top:5px;overflow-wrap:anywhere;color:var(--ui-text-muted);font-size:9px}

/* Settings IA: compact, searchable management workspace using existing owners. */
.settings-search{position:sticky;top:var(--app-sticky-top);z-index:calc(var(--layer-workspace) + 1);display:block;max-width:720px;padding:8px 0;background:var(--ui-bg)}.settings-search>label{display:flex;align-items:center;gap:10px;font-size:11px}.settings-search input{flex:1;max-width:560px}.settings-search-results{position:absolute;top:calc(100% - 4px);left:82px;right:0;display:grid;gap:4px;padding:7px;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-dialog)}.settings-search-results button{display:grid;gap:2px;text-align:left;white-space:normal}.settings-search-results small{font-size:9px}
#settings-page>.settings-layout{grid-template-columns:230px minmax(0,1fr);gap:16px}#settings-page #settings-nav{top:calc(var(--app-sticky-top) + 58px);max-height:calc(100dvh - var(--app-sticky-top) - 84px);padding:7px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}#settings-page #settings-nav button{min-height:34px;padding:6px 8px;font-size:11px}#settings-page #settings-content{padding:16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.settings-section-heading{display:flex;gap:10px;align-items:center;margin-bottom:14px}.settings-section-icon{width:5px;height:38px;border-radius:99px;background:var(--ui-primary)}.settings-section-heading h2{font-size:18px}.settings-section-heading p{margin-top:3px;font-size:11px}
#settings-content>.settings-group{margin:0 0 12px;padding:14px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-raised)}#settings-content>.settings-group>h3{margin:0 0 10px;font-size:13px}.settings-group>form{display:grid;grid-template-columns:minmax(180px,360px) auto 1fr;gap:9px;align-items:end}.settings-group>form>.setting-field,.settings-group>form>.room-management,.settings-group>form>.room-amenities-panel,.settings-group>form>.pricing-matrix-wrap{grid-column:1/-1}.settings-group>form>p{align-self:center;color:var(--ui-text-muted);font-size:9px}.settings-group>form>button[type=submit]{justify-self:start}.settings-group>form>input[aria-label="Reason / Note (optional)"]{max-width:360px}
.setting-object{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px 12px;align-items:end}.setting-object>h4{grid-column:1/-1;margin:0!important}.setting-field{margin:3px 0}.setting-field>label{gap:4px;font-size:11px}.setting-field input,.setting-field select,.setting-field textarea{min-height:34px;padding:6px 8px}.setting-number input{width:104px!important}.setting-select select{width:min(190px,100%)!important}.setting-text input{width:min(320px,100%)!important}.setting-long{grid-column:1/-1}.setting-long textarea{width:100%!important;min-height:86px}.setting-boolean>label{display:flex;align-items:center;gap:7px;min-height:34px}.setting-boolean input{order:-1;width:auto!important;min-height:0}.setting-list>.setting-row{margin:6px 0;padding:7px 10px;border:1px solid var(--ui-border);border-inline-start:3px solid var(--ui-border-strong);border-radius:var(--ui-radius-sm)}.setting-row>.setting-field{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}
.settings-search-hit{outline:2px solid var(--ui-primary);outline-offset:4px;border-radius:var(--ui-radius-sm);background:var(--ui-primary-soft)!important}
.settings-secondary-panel{margin:0 0 10px;padding:8px 10px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-bg)}.settings-secondary-panel>summary{cursor:pointer;font-size:11px;font-weight:750}.settings-secondary-panel[open]>summary{margin-bottom:10px}.settings-secondary-panel>p{font-size:10px}.settings-secondary-panel>form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.settings-secondary-panel>form input{max-width:320px}
.room-management{min-width:0}.room-management>p{margin-bottom:8px}.room-management-table{width:100%;border-collapse:collapse;font-size:11px}.room-management-table th,.room-management-table td{padding:6px 7px;border-bottom:1px solid var(--ui-border);text-align:left;vertical-align:middle}.room-management-table th{position:sticky;top:calc(var(--app-sticky-top) + 58px);z-index:2;background:var(--ui-surface-raised);font-size:9px;text-transform:uppercase}.room-management-table td:first-child{display:grid;grid-template-columns:32px minmax(70px,1fr);align-items:center;gap:6px}.room-management-table input{min-height:32px;padding:5px 6px}.room-management-table input[type=number]{width:72px}.room-management-table input[type=checkbox]{width:auto;min-height:0}.room-management-detail>td{padding:0!important}.room-management-advanced{display:grid;grid-template-columns:minmax(180px,320px) 1fr;gap:9px 14px;padding:12px;background:var(--ui-bg)}.room-management-advanced>h4,.room-management-advanced>.room-block-list{grid-column:2}.room-block-editor{display:grid;grid-template-columns:140px 140px minmax(160px,1fr) auto;gap:7px;margin-bottom:6px}.room-block-editor input{min-height:32px}.room-management-advanced>button{grid-column:2;justify-self:start}

/* Reservation Editor: a centred modal with one scrolling body and compact core fields. */
#editor{position:fixed;inset:50% auto auto 50%;width:min(1180px,calc(100vw - 40px));height:min(90dvh,920px);margin:0;transform:translate(-50%,-50%)}
.reservation-editor-body>.editor-main{max-width:1080px}.reservation-editor-body [data-editor-section="Guest & Stay"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}.reservation-editor-body [data-editor-section="Guest & Stay"]>label:has([name=guestName]){grid-column:span 2}.reservation-editor-body [data-editor-section="Guest & Stay"]>.guest-options{grid-column:1/-1}.reservation-editor-body [data-editor-section="Room, Dates, Source & Pricing"]{grid-template-columns:minmax(140px,1.25fr) minmax(125px,1fr) minmax(80px,.55fr) minmax(85px,.6fr);gap:10px 12px}.reservation-editor-body [data-editor-section="Room, Dates, Source & Pricing"]>#pricing-editor{grid-column:1/-1}.reservation-editor-body #pricing-editor>.form-grid{grid-template-columns:repeat(4,minmax(120px,1fr));gap:9px}.reservation-editor-body [data-editor-section] label{font-size:11px}.reservation-editor-body [data-editor-section] input,.reservation-editor-body [data-editor-section] select{min-height:34px;padding:6px 8px}.reservation-editor-body [data-editor-section] input[type=number]{max-width:150px}.reservation-editor-body details[data-editor-section]{padding:12px 16px}.reservation-editor-body details[data-editor-section]>summary{cursor:pointer}.reservation-editor-body #editor-financial-panel #finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}.reservation-editor-body #editor-financial-panel .money-line{padding:6px 0}.reservation-editor-body .guest-options>.form-grid{grid-template-columns:90px minmax(180px,1fr) minmax(260px,2fr)}

@media(max-width:900px){
 #settings-page>.settings-layout{grid-template-columns:190px minmax(0,1fr)}.room-management-table th,.room-management-table td{padding-inline:5px}.room-management-advanced{grid-template-columns:1fr}.room-management-advanced>h4,.room-management-advanced>.room-block-list,.room-management-advanced>button{grid-column:1}.room-block-editor{grid-template-columns:1fr 1fr}.room-block-editor input:nth-child(3){grid-column:1/-1}
 .reservation-editor-body [data-editor-section="Guest & Stay"]{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-editor-body [data-editor-section="Guest & Stay"]>label:has([name=guestName]){grid-column:1/-1}.reservation-editor-body [data-editor-section="Room, Dates, Source & Pricing"]{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-editor-body #pricing-editor>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-editor-body #editor-financial-panel #finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .header-date-time{margin-left:auto}.settings-search{top:var(--app-sticky-top)}.settings-search>label{display:grid}.settings-search-results{left:0}.settings-layout{display:block!important}#settings-page #settings-nav{position:static;display:flex;gap:5px;max-height:none;margin-bottom:10px;overflow-x:auto;flex-wrap:nowrap}#settings-page #settings-nav .settings-nav-group{display:none}#settings-page #settings-nav button{flex:none;width:auto;white-space:nowrap}#settings-page #settings-content{padding:10px}.settings-group>form{grid-template-columns:1fr}.settings-group>form>*{grid-column:1!important}.setting-object{grid-template-columns:1fr 1fr}.setting-long{grid-column:1/-1}.room-management-table,.room-management-table tbody{display:grid;gap:9px}.room-management-table thead{display:none}.room-management-table tr:not(.room-management-detail){display:grid;grid-template-columns:1fr 1fr;padding:9px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md)}.room-management-table td{display:grid;gap:3px;padding:5px;border:0}.room-management-table td::before{content:attr(data-label);color:var(--ui-text-muted);font-size:8px;text-transform:uppercase}.room-management-table td:first-child{grid-template-columns:32px 1fr;grid-column:1/-1}.room-management-table td:first-child::before{grid-column:1/-1}.room-management-table td:last-child{grid-column:1/-1}.room-management-detail{display:block}.room-management-detail[hidden]{display:none}.room-management-detail>td{display:block}.room-block-editor{grid-template-columns:1fr}
 #editor{inset:0;width:100vw;height:100dvh;max-height:100dvh;margin:0;transform:none;border:0;border-radius:0}.reservation-editor-body [data-editor-section="Guest & Stay"],.reservation-editor-body [data-editor-section="Room, Dates, Source & Pricing"],.reservation-editor-body #pricing-editor>.form-grid,.reservation-editor-body #editor-financial-panel #finance-summary,.reservation-editor-body .guest-options>.form-grid{grid-template-columns:1fr}.reservation-editor-body [data-editor-section="Guest & Stay"]>label:has([name=guestName]){grid-column:1}.reservation-editor-body [data-editor-section] input[type=number]{max-width:none}
}

/* Final Owner UX patch cascade. These rules intentionally follow the accepted
   R9 geometry so page scrolling and optional pinning win without deleting any
   earlier capability styling. */
#app-status-bar{display:none!important}
#settings-page #settings-nav{max-height:none!important;overflow:visible!important}
.workspace-sticky-controls,.guest-registration-controls,#billing-workspace-controls{position:static!important;top:auto!important;box-shadow:none!important}
.workspace-sticky-controls .workspace-page-heading{position:static!important;top:auto!important}
.top-level-page[data-sticky-active=true]>.workspace-sticky-controls,
.top-level-page[data-sticky-active=true] .workspace-sticky-controls:first-child{position:sticky!important;top:var(--app-sticky-top)!important;z-index:var(--layer-workspace);background:var(--ui-bg);box-shadow:0 1px 0 var(--ui-border)!important}
.top-level-page[data-sticky-active=false] .reservation-management-table th,
.top-level-page[data-sticky-active=false] .operations-table th,
.top-level-page[data-sticky-active=false] .breakfast-plan-table th,
.top-level-page[data-sticky-active=false] .daily-register-table th,
.top-level-page[data-sticky-active=false] .finance-table th{position:static!important;top:auto!important}
.top-level-page[data-sticky-active=true] .reservation-management-table th{position:sticky!important;top:var(--reservations-table-sticky-top)!important}
.top-level-page[data-workspace="daily-operations"][data-sticky-active=true] .operations-table th,
.top-level-page[data-workspace="daily-operations"][data-sticky-active=true] .breakfast-plan-table th{position:sticky!important;top:var(--operations-table-sticky-top)!important}
.top-level-page[data-workspace="guest-registration"][data-sticky-active=true] .operations-table th,
.top-level-page[data-workspace="guest-registration"][data-sticky-active=true] .daily-register-table th{position:sticky!important;top:var(--guest-registration-table-sticky-top)!important}
.top-level-page[data-workspace="billing"][data-sticky-active=true] table th{position:sticky!important;top:var(--billing-table-sticky-top)!important}
.top-level-page[data-workspace="finance"][data-sticky-active=true] .finance-table th{position:sticky!important;top:var(--finance-table-sticky-top)!important}
#timeline-page[data-sticky-active=false]>.workspace-heading,
#timeline-page[data-sticky-active=false]>.operations-ribbon,
#timeline-page[data-sticky-active=false]>#ribbon,
#timeline-page[data-sticky-active=false] #timeline-top-scroll,
#timeline-page[data-sticky-active=false] #timeline-header-scroll{position:static!important;top:auto!important;box-shadow:none!important}
#timeline-page[data-sticky-active=true]>.workspace-heading{position:sticky!important;top:var(--timeline-heading-top)!important}
#timeline-page[data-sticky-active=true]>.operations-ribbon{position:sticky!important;top:var(--timeline-shortcuts-top)!important}
#timeline-page[data-sticky-active=true]>#ribbon{position:sticky!important;top:var(--timeline-toolbar-top)!important}
#timeline-page[data-sticky-active=true] #timeline-top-scroll{position:sticky!important;top:var(--timeline-scroll-top)!important}
#timeline-page[data-sticky-active=true] #timeline-header-scroll{position:sticky!important;top:var(--timeline-date-sticky-top)!important}
#timeline-page>.workspace-heading .workspace-meta{margin-left:auto}
#reservation-rows,#operations-rows,#guest-registration-rows,#finance-rows,
.reservation-table-scroll,.billing-main-panel>.billing-selection{max-height:none!important;overflow-y:visible!important}
.reservation-table-scroll,#operations-rows,#guest-registration-rows,#finance-rows{overflow:visible!important}
.billing-main-panel>.billing-selection{position:static!important}
.billing-main-content{display:grid;gap:14px;min-width:0}.billing-current-context{padding:16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.billing-current-context h2{margin:0 0 8px}.billing-main-content>.billing-editor{min-width:0;padding:16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}.billing-main-content>#billing-invoice-toggle{justify-self:start}.billing-main-content>.billing-invoice-panel{width:100%;min-width:0;grid-column:auto;grid-row:auto}.billing-main-content>.billing-invoice-panel iframe{width:100%}
.document-toolbar-title #document-close{margin:0 0 8px}
#operations-dialog .workspace-toolbar #print-current-operations{margin-left:auto}
#email-guest-dialog{width:min(1100px,96vw);max-height:min(94dvh,1100px);overflow:auto}#email-guest-frame{display:block;width:100%;height:min(60dvh,680px);border:1px solid var(--ui-border);background:white}#email-guest-frame[hidden]{display:none!important}
.email-attachment-previews{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.email-attachment-previews button[aria-pressed=true]{border-color:var(--ui-primary);background:var(--ui-primary-soft)}

@media(max-width:760px){
 body{padding-bottom:calc(24px + var(--mobile-nav-height) + env(safe-area-inset-bottom,0))!important}
 #settings-page #settings-nav{overflow-x:auto!important}
 .top-level-page[data-sticky-active=true]>.workspace-sticky-controls,
 .top-level-page[data-sticky-active=true] .workspace-sticky-controls:first-child{position:static!important;top:auto!important;box-shadow:none!important}
 .workspace-pin-toggle{display:none!important}
 .top-level-page table th{position:static!important;top:auto!important}
}
.document-center-modes{display:flex;gap:.5rem;margin-bottom:1rem;justify-content:flex-start;flex-wrap:wrap}.document-center-modes button[aria-pressed=true]{background:var(--cr-navy,#122f4d);color:white}#quick-document-panel{max-width:64rem;margin:auto}#quick-document-form details{margin:1rem 0;padding:.75rem;border:1px solid var(--cr-border,#d7dee5);border-radius:.5rem}#quick-document-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:.75rem}#quick-document-form label{display:flex;flex-direction:column;gap:.35rem}#quick-document-form label:has(input[type=checkbox]){flex-direction:row;align-items:center}#quick-document-form textarea{min-height:5rem;width:100%}#quick-confirmation-ack{margin:1rem 0}#quick-document-error{color:var(--cr-danger,#b91c1c)}
.document-create-heading{flex-basis:100%;margin:0;font-weight:650}.document-center-modes{margin-bottom:16px}#document-operations-reports{margin-bottom:18px}#document-operations-reports h3{margin:0 0 10px}#document-operations-reports button{min-height:48px;padding:10px 12px}#document-center-error:empty{display:none}@media(max-width:540px){#document-operations-reports .smart-print-cards{grid-template-columns:1fr}}

/* Owner-approved Smart UIX chrome only. Timeline rows/cells/bars and document
   frames/templates are deliberately excluded from these layout rules. */
:root[data-smart-uix=true]{--bg:var(--ui-bg);--panel:var(--ui-surface);--raised:var(--ui-surface-raised);--text:var(--ui-text);--muted:var(--ui-text-muted);--line:var(--ui-border);--accent:var(--ui-primary);--accent-soft:var(--ui-surface-interactive)}
:root[data-smart-uix=true] button.primary{color:var(--ui-primary-ink);background:var(--ui-primary);border-color:var(--ui-primary)}
:root[data-smart-uix=true] .app-header{background:var(--ui-surface)}
:root[data-smart-uix=true] .main-navigation button{border-radius:10px;font-weight:600}
:root[data-smart-uix=true] .brand-mark{background:#733649;color:#fff;border-color:#965069}
/* Visual-fidelity correction: prototype geometry, not prototype Timeline. */
:root[data-smart-uix=true]{--ui-brand:#733649;--ui-brand-hover:#854058;--ui-brand-edge:#ba728b;--ui-radius-sm:10px;--ui-radius-md:14px;--ui-radius-lg:19px;--ui-control-height:39px;--ui-primary-soft:#36323c;--ui-control-border:#50535e;--ui-control-bg:#2b2e37;--ui-input-bg:#252832;--ui-active-bg:#533645;--ui-active-border:#8d5b70;--ui-active-ink:#fff}
:root[data-smart-uix=true][data-theme=light]{--ui-bg:#f3f2f5;--ui-surface:#fff;--ui-surface-raised:#f5f4f7;--ui-surface-interactive:#eae7ee;--ui-border:#dcd8e1;--ui-border-strong:#aba2b3;--ui-text:#26252d;--ui-text-muted:#666373;--ui-primary:#292630;--ui-primary-hover:#403747;--ui-primary-ink:#fff;--ui-primary-soft:#f1e7ec;--ui-focus:#965069;--ui-control-border:#c5becd;--ui-control-bg:#f1eff4;--ui-input-bg:#faf9fc;--ui-active-bg:#f1e4eb;--ui-active-border:#b17b92;--ui-active-ink:#643047}
:root[data-smart-uix=true] body{-webkit-font-smoothing:antialiased;font:14px/1.48 Inter,"Segoe UI",Arial,sans-serif}
:root[data-smart-uix=true] :where(.app-header,#ribbon,.top-level-page,dialog,.quick-menu,#booking-menu) button:where(:not(.table-value-button):not(.workspace-pin-toggle):not(.smart-count-stepper button)){border-radius:11px;font-size:12.5px;font-weight:680;padding-inline:13px;background:var(--ui-control-bg);border-color:var(--ui-control-border);transition:background .12s,border-color .12s,box-shadow .12s}
:root[data-smart-uix=true] :where(.app-header,#ribbon,.top-level-page,dialog,.quick-menu,#booking-menu) button:where(:hover:not(:disabled):not(.table-value-button)){background:var(--ui-surface-interactive);border-color:var(--ui-border-strong)}
:root[data-smart-uix=true] :is(.app-header,#ribbon,.top-level-page,dialog) button.primary{background:var(--ui-primary);color:var(--ui-primary-ink);border-color:var(--ui-primary);box-shadow:0 2px 5px #0002}
:root[data-smart-uix=true] :is(.app-header,#ribbon,.top-level-page,dialog) button.primary:hover:not(:disabled){background:var(--ui-primary-hover)}
:root[data-smart-uix=true] :is(#ribbon,.top-level-page,dialog) button:is([aria-pressed=true],[aria-selected=true]){background:var(--ui-active-bg);border-color:var(--ui-active-border);color:var(--ui-active-ink)}
:root[data-smart-uix=true] :is(.top-level-page,dialog,.quick-menu,#ribbon) :is(input,select,textarea):not([type=checkbox]):not([type=range]):not([type=radio]){border-radius:10px;background:var(--ui-input-bg);border-color:var(--ui-border);padding-inline:12px}
:root[data-smart-uix=true] :is(.top-level-page,dialog,.quick-menu,#ribbon) :is(input,select,textarea):focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-focus) 24%,transparent)}
:root[data-smart-uix=true] .app-header{gap:26px;padding:0 clamp(16px,3vw,46px);background:color-mix(in srgb,var(--ui-bg) 60%,var(--ui-surface));min-height:78px}
:root[data-smart-uix=true] .app-header .brand{border:0;background:transparent;padding:0;flex:none;font-size:13px}
:root[data-smart-uix=true] .brand-mark{width:42px;height:42px;border-radius:13px}
:root[data-smart-uix=true] #main-navigation{padding:0;gap:4px;align-items:center;flex-wrap:nowrap}
:root[data-smart-uix=true] #main-navigation button{height:41px;min-height:41px;padding-inline:15px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--ui-text-muted);font-size:13px;font-weight:630}
:root[data-smart-uix=true] #main-navigation button[aria-current=page]{background:var(--ui-surface-interactive);color:var(--ui-text);border-color:var(--ui-border-strong);box-shadow:inset 0 1px 0 #ffffff0c}
:root[data-smart-uix=true] .header-actions{gap:8px;flex-wrap:nowrap}
:root[data-smart-uix=true] .session-tools{flex-wrap:nowrap;gap:6px}
:root[data-smart-uix=true] #global-search-form{max-width:190px;min-width:140px}
:root[data-smart-uix=true] #global-search-form input{border-radius:10px}
:root[data-smart-uix=true] .workspace-heading,:root[data-smart-uix=true] .workspace-page-heading{padding-block:0;margin-bottom:24px;align-items:center;border:0}
:root[data-smart-uix=true] .workspace-heading h1,:root[data-smart-uix=true] .workspace-page-heading h1{font-size:28px;letter-spacing:-1.1px;font-weight:800}
:root[data-smart-uix=true] .eyebrow{color:var(--ui-brand-edge);letter-spacing:1.8px}
:root[data-smart-uix=true] #timeline-page #ribbon{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0;margin-bottom:18px;border:0;border-radius:0;background:transparent;box-shadow:none}
:root[data-smart-uix=true] #ribbon>.ribbon-row{display:contents}
:root[data-smart-uix=true] #ribbon .control-group{gap:6px;padding:0;border:0;flex-wrap:nowrap}
:root[data-smart-uix=true] #ribbon .navigation{padding-inline:0;border:0}
:root[data-smart-uix=true] #ribbon .range-controls select{width:84px}
:root[data-smart-uix=true] #ribbon #range-days{font-size:10px}
:root[data-smart-uix=true] #ribbon .search{gap:8px;max-width:222px;min-width:160px;flex:1 1 160px;margin-left:auto}
:root[data-smart-uix=true] #ribbon .search>span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
:root[data-smart-uix=true] #ribbon .search input{min-width:0;min-height:39px}
:root[data-smart-uix=true] #ribbon .triage{margin-left:0;gap:5px}
:root[data-smart-uix=true] #ribbon .triage button{min-height:30px;font-size:10px;padding:5px 8px;border-radius:9px;background:var(--ui-surface-raised);border-color:var(--ui-border)}
:root[data-smart-uix=true] #ribbon #filter-panel{flex-basis:100%;width:100%;border-top:1px solid var(--ui-border)}
.smart-toolbar-action{display:inline-flex;align-items:center;justify-content:center;gap:7px}.smart-control-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
:root[data-smart-uix=true] #ribbon .smart-featured-action{background:linear-gradient(115deg,#74384c,#653044);color:#fff;border-color:#bc7a94;box-shadow:inset 0 1px #e8adbe31,0 3px 10px #0002}
:root[data-smart-uix=true] #ribbon .smart-featured-action:hover:not(:disabled){background:linear-gradient(115deg,#89465f,#78364b);border-color:#c98da4}
:root[data-smart-uix=true] #collapse{min-height:30px;height:30px;padding:4px 9px;font-size:10px;color:var(--ui-text-muted);background:transparent;border-color:var(--ui-border)}
:root[data-smart-uix=true] :is(.workspace-tabs,.reservation-view-tabs) button:is([aria-selected=true],[aria-pressed=true]){background:var(--ui-active-bg);color:var(--ui-active-ink);border-color:var(--ui-active-border)}
:root[data-smart-uix=true] :is(.smart-stay-card,#reservation-rows[data-view=cards] tr,.smart-welcome-card,.smart-print-cards button){background:var(--ui-surface-raised);border-radius:15px;border-color:var(--ui-border);box-shadow:0 3px 12px #0000000a}
:root[data-smart-uix=true] :is(.quick-menu,#booking-menu){border-radius:14px;border-color:var(--ui-border-strong);background:var(--ui-surface-raised);box-shadow:0 15px 46px #0005;padding:9px}
:root[data-smart-uix=true] :is(.quick-menu,#booking-menu) button{background:transparent;border-color:transparent;text-align:start}
:root[data-smart-uix=true] :is(.quick-menu,#booking-menu) button:hover:not(:disabled){background:var(--ui-surface-interactive)}
:root[data-smart-uix=true] :is(.danger-action,.danger-button,button[data-danger=true]){color:var(--ui-danger);border-color:var(--ui-danger);background:var(--ui-danger-soft)}
:root[data-smart-uix=true] #source-legend{margin:0 0 12px;padding:10px 12px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}
.timeline-color-key{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.timeline-color-key>strong{font-size:11px;color:var(--ui-text)}.timeline-color-key-list{display:flex;flex-wrap:wrap;gap:8px 16px;padding:0}.timeline-color-key .legend-item{font-size:11px;white-space:nowrap}.timeline-color-key .legend-dot{width:12px;height:12px;border-radius:3px}.timeline-outline-key{font-size:10px;color:var(--ui-text-muted)}
@media(prefers-color-scheme:light){:root[data-smart-uix=true][data-theme=system]{--ui-bg:#f3f2f5;--ui-surface:#fff;--ui-surface-raised:#f5f4f7;--ui-surface-interactive:#eae7ee;--ui-border:#dcd8e1;--ui-border-strong:#aba2b3;--ui-text:#26252d;--ui-text-muted:#666373;--ui-primary:#292630;--ui-primary-hover:#403747;--ui-primary-ink:#fff;--ui-primary-soft:#f1e7ec;--ui-focus:#965069;--ui-control-border:#c5becd;--ui-control-bg:#f1eff4;--ui-input-bg:#faf9fc;--ui-active-bg:#f1e4eb;--ui-active-border:#b17b92;--ui-active-ink:#643047}}
@media(min-width:1500px){:root[data-smart-uix=true] #ribbon .smart-toolbar-utilities{display:flex;align-items:center;flex:1 1 100%;gap:8px;border:0;padding:0}:root[data-smart-uix=true] #ribbon .smart-toolbar-utilities .search{margin-left:0}:root[data-smart-uix=true] #ribbon .smart-toolbar-utilities .triage{margin-left:auto}}
@media(max-width:1499px){:root[data-smart-uix=true] #global-search-form{display:none}:root[data-smart-uix=true] .environment{display:none}}
@media(max-width:1100px){:root[data-smart-uix=true] .app-header{flex-wrap:wrap}:root[data-smart-uix=true] #main-navigation{order:3;width:100%;justify-content:flex-start}:root[data-smart-uix=true] .header-actions{margin-left:auto}}
@media(max-width:760px){:root[data-smart-uix=true] #timeline-page #ribbon{padding:10px;gap:8px}:root[data-smart-uix=true] #ribbon .control-group{flex-wrap:wrap}:root[data-smart-uix=true] #ribbon .timeline-primary-actions{width:100%}:root[data-smart-uix=true] #ribbon .navigation{border:0;padding:0}:root[data-smart-uix=true] #ribbon .search{flex-basis:180px;margin-left:0}:root[data-smart-uix=true] #ribbon .triage{width:100%;justify-content:flex-start;flex-wrap:wrap}:root[data-smart-uix=true] .workspace-heading h1{font-size:21px}:root[data-smart-uix=true] #main-navigation button{min-height:39px;flex:none}:root[data-smart-uix=true] .app-header{padding:8px 10px}:root[data-smart-uix=true] .header-actions{gap:4px}:root[data-smart-uix=true] #install-app{display:none}}
.smart-uix-dialog{width:min(680px,calc(100vw - 32px));max-height:88dvh;border-radius:16px;padding:0;background:var(--ui-surface);color:var(--ui-text)}
.smart-reservation-search>input{font-size:13px}.smart-reservation-workspace .more-filters .smart-history-search{justify-self:start}.smart-reservation-workspace #reservation-filter-chips:empty{display:none}
:root[data-smart-uix=true] #editor{width:min(720px,calc(100vw - 32px));height:min(92dvh,970px);border-radius:19px}
:root[data-smart-uix=true] #editor .dialog-heading{padding:18px 20px;min-height:0}
:root[data-smart-uix=true] #editor .dialog-heading h2{font-size:22px}
:root[data-smart-uix=true] #editor :is([data-editor-section="Guest & Stay"],[data-editor-section="Room, Dates, Source & Pricing"],#pricing-editor>.form-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
:root[data-smart-uix=true] #editor [data-editor-section="Guest & Stay"]>label:has([name=guestName]){grid-column:1/-1}
:root[data-smart-uix=true] #editor .smart-editor-action-bar{align-items:center;gap:7px;border-bottom:1px solid var(--ui-border);padding-bottom:14px}
:root[data-smart-uix=true] #editor .smart-editor-action-bar .editor-more-menu{padding:0;margin:0;border:0;background:transparent}
:root[data-smart-uix=true] #editor .smart-editor-action-bar .editor-header-actions{display:contents}
:root[data-smart-uix=true] #editor .smart-editor-action-bar button{min-height:34px;font-size:11px}
:root[data-smart-uix=true] #editor .editor-scroll{padding:16px 20px}
:root[data-smart-uix=true] #editor .editor-main>fieldset{padding:0;border:0;background:transparent;margin:0 0 16px;gap:12px 14px}
:root[data-smart-uix=true] #editor .editor-main>fieldset>legend{padding:0;margin-bottom:10px;color:var(--ui-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}
:root[data-smart-uix=true] #editor .editor-main>fieldset label{font-size:12px}
:root[data-smart-uix=true] #editor .guest-options{padding:8px 10px;margin-top:0}
:root[data-smart-uix=true] #editor .smart-exact-dates{padding:8px 10px;margin-top:5px}
:root[data-smart-uix=true] #editor .smart-editor-action-bar{padding-bottom:10px;margin-bottom:12px}
.smart-welcome-guests{display:grid;gap:10px}.smart-welcome-guests .smart-welcome-card[hidden]{display:none}
@media(max-width:760px){:root[data-smart-uix=true] #editor{width:100vw;height:100dvh;border-radius:0}:root[data-smart-uix=true] #editor :is([data-editor-section="Guest & Stay"],[data-editor-section="Room, Dates, Source & Pricing"],#pricing-editor>.form-grid){grid-template-columns:1fr}}
.smart-cart-quick{display:flex;align-items:center;flex-wrap:wrap;gap:7px;flex-basis:100%;font-size:11px}.smart-cart-quick[hidden]{display:none}.smart-cart-quick button{min-height:32px;font-size:11px}
:root[data-smart-uix=true] #guest-registration-rows[data-view=cards] .registration-queue-table{display:block;min-width:0;border:0;background:transparent}
:root[data-smart-uix=true] #guest-registration-rows[data-view=cards] .registration-queue-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
:root[data-smart-uix=true] #guest-registration-rows[data-view=cards] .registration-queue-table tbody{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
:root[data-smart-uix=true] #guest-registration-rows[data-view=cards] .registration-queue-table tr{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px;border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-surface-raised)}
:root[data-smart-uix=true] #guest-registration-rows[data-view=cards] .registration-queue-table td{padding:0;border:0;white-space:normal;min-width:0;font-size:12px}
:root[data-smart-uix=true] #guest-registration-rows[data-view=cards] td[data-label="Guest / Reservation"]{grid-column:1/-1;grid-row:1;display:flex;gap:12px;align-items:center;font-weight:700}
:root[data-smart-uix=true] #guest-registration-rows[data-view=cards] :is(td[data-label="Stay / Pax"],td[data-label=Actions]){grid-column:1/-1}
#guest-registration-rows[data-view=list] .smart-profile-avatar{display:none}
:root[data-smart-uix=true] :is(.billing-selection,.billing-tab-panel,#settings-content,.settings-group,.finance-kpi){border-radius:16px;box-shadow:inset 0 1px #ffffff05}
:root[data-smart-uix=true] #billing-selector-results button{display:flex;align-items:center;padding:12px;border-radius:11px;background:var(--ui-surface-raised);font-size:12px;line-height:1.6}
:root[data-smart-uix=true] .finance-kpis{gap:14px}:root[data-smart-uix=true] .finance-kpi{padding:18px;background:var(--ui-surface);border:1px solid var(--ui-border)}
:root[data-smart-uix=true] #settings-nav button[aria-selected=true]{background:var(--ui-active-bg);border-color:var(--ui-active-border);color:var(--ui-active-ink)}
@media(max-width:1750px){:root[data-smart-uix=true] .environment{display:none}:root[data-smart-uix=true] #global-search-form{display:flex;min-width:0;max-width:none}:root[data-smart-uix=true] #global-search-form input{display:none}:root[data-smart-uix=true] #global-search-form button{min-width:39px;padding-inline:8px}}
@media(max-width:1200px){:root[data-smart-uix=true] #guest-registration-rows[data-view=cards] .registration-queue-table tbody{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){:root[data-smart-uix=true] #guest-registration-rows[data-view=cards] .registration-queue-table tbody{grid-template-columns:1fr}}
/* Reservations follows the approved task-first panel and three-card rhythm. */
#reservations-dialog{max-width:1740px;margin-inline:auto}.smart-reservation-workspace{padding:18px 20px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface);margin-bottom:14px}.smart-reservation-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.smart-reservation-panel-heading h2{font-size:17px;font-weight:750}.smart-reservation-panel-heading p{font-size:11px;margin-top:4px}.smart-reservation-workspace #reservation-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0;border:0;position:static;background:transparent}.smart-reservation-workspace #reservation-filters>.smart-reservation-search{flex:1;max-width:none;min-width:200px}.smart-reservation-search>input{min-height:41px}.smart-reservation-search{font-size:0;gap:0}.smart-reservation-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-basis:100%;margin-top:4px}.smart-reservation-navigation .workspace-tabs{border:0;padding:0;gap:6px}.smart-reservation-navigation .workspace-tabs button{min-height:39px}.smart-reservation-navigation .smart-view-switch{padding:3px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-surface-raised);gap:3px}.smart-reservation-navigation .smart-view-switch button{min-height:31px;padding:0 11px;border:0;border-radius:8px}.smart-quick-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px;flex-basis:100%;margin-top:5px}.smart-quick-filters button,.smart-quick-filters .more-filters>summary{min-height:32px;font-size:11px;padding:6px 11px;border-radius:9px}.smart-quick-filters>span{font-size:11px;margin-right:6px}.smart-reservation-workspace .reservation-actions-bar{padding:8px 0 0}.smart-reservation-workspace .reservation-actions-bar button{min-height:32px;font-size:11px}.smart-reservation-workspace #reservation-filter-chips{margin-top:10px}.smart-reservation-workspace .more-filters[open]>.form-grid{right:auto;left:0;top:38px}.smart-profile-avatar{width:43px;height:43px;border-radius:13px;background:#4c3947;color:#f7e7ed;display:grid;place-items:center;font-size:13px;font-weight:800;flex:none}.smart-card-guest-meta{display:block;font-size:11px;color:var(--ui-text-muted)}.smart-pax-stepper{display:flex;gap:8px;align-items:center}.smart-pax-stepper input{width:70px!important;text-align:center}.smart-pax-stepper button{width:39px;padding:0!important}.smart-card-secondary{display:none}.smart-reservation-tabs{white-space:nowrap}
:root[data-smart-uix=true] #reservation-rows[data-view=cards]{border:0;background:transparent;overflow:visible}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] tbody{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] tr{position:relative;grid-template-columns:1fr 1fr;grid-template-areas:"guest guest" "status payment" "room stay" "balance balance" "actions actions";min-height:235px;padding:16px;gap:10px 12px;align-content:start;background:var(--ui-surface-raised)}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td{height:auto;min-height:0;padding:0;overflow:visible}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label=Select]{position:absolute;right:16px;top:22px;width:18px}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label=Guest]{grid-area:guest;display:grid;grid-template-columns:43px minmax(0,1fr);column-gap:10px;padding-right:28px;align-items:center}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label=Guest] .smart-profile-avatar{grid-row:1/3}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label=Guest] .table-value-button{font-size:14px;font-weight:780;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label=Guest]::before,:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label=Select]::before,:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label=Actions]::before,:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label="Stay Status"]::before,:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label="Payment / Settlement"]::before{display:none}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label="Stay Status"]{grid-area:status}:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label="Payment / Settlement"]{grid-area:payment;text-align:right}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label="Room / Type"]{grid-area:room}:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label=Stay]{grid-area:stay}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label=Balance]{grid-area:balance;color:var(--ui-text-muted);display:flex;align-items:center;gap:7px;font-size:11px}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label=Balance]::before{margin:0}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label=Actions]{grid-area:actions;margin-top:2px}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td:is([data-label=Source],[data-label=Rate],[data-label=Deposit]){display:none}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] .row-actions>button:first-child{background:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-primary-ink);font-size:11px}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] .smart-card-secondary{display:block;font-size:11px;color:var(--ui-text-muted);width:100%;order:5}.smart-card-secondary summary{cursor:pointer}.smart-card-secondary p{padding-top:6px}
#reservation-rows[data-view=list] .smart-profile-avatar,#reservation-rows[data-view=list] .smart-card-guest-meta{display:none}
.smart-ops-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.smart-ops-column{padding:14px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface)}.smart-ops-column>h3{display:flex;justify-content:space-between;align-items:center;font-size:17px;margin:0 0 13px}.smart-ops-column .smart-stay-card{margin-bottom:10px;background:var(--ui-surface-raised)}.smart-ops-column .smart-stay-card:last-child{margin-bottom:0}.smart-ops-columns>.smart-stay-selection{grid-column:1/-1}
@media(max-width:1200px){:root[data-smart-uix=true] #reservation-rows[data-view=cards] tbody{grid-template-columns:repeat(2,minmax(0,1fr))}.smart-ops-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.smart-reservation-workspace{padding:14px}.smart-reservation-panel-heading,.smart-reservation-navigation{flex-wrap:wrap}.smart-reservation-navigation .workspace-tabs{width:100%;overflow-x:auto}.smart-reservation-panel-heading .row-actions{flex-wrap:wrap}.smart-reservation-workspace .more-filters[open]>.form-grid{position:fixed;left:10px;right:10px;top:var(--app-sticky-top);width:auto;max-height:80dvh;overflow:auto}:root[data-smart-uix=true] #reservation-rows[data-view=cards] tbody{grid-template-columns:1fr}.smart-ops-columns{grid-template-columns:1fr}.smart-reservation-workspace #reservation-filters>.smart-reservation-search{flex-basis:100%}}
.smart-uix-dialog .dialog-heading{padding:18px 20px;border-bottom:1px solid var(--ui-border)}
.smart-uix-body{padding:20px;overflow:auto;max-height:calc(88dvh - 78px);display:grid;gap:16px}
.smart-range-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}
.smart-range-calendar>span{font-size:11px;color:var(--ui-text-muted);padding:5px}
.smart-range-calendar button{min-width:0;min-height:38px;padding:6px;border-radius:8px}
.smart-range-calendar button[aria-pressed=true]{background:#733649;color:white;border-color:#c57991}
.smart-calendar-nav,.smart-calendar-nav>strong{display:flex;align-items:center;justify-content:space-between;gap:8px}
.smart-room-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.smart-room-card{display:grid;gap:5px;text-align:start;white-space:normal;min-height:100px;border-radius:12px;padding:12px;background:var(--ui-surface-raised)}
.smart-room-card small{font-size:11px}.smart-room-card[aria-pressed=true]{outline:2px solid var(--ui-focus)}
.smart-stay-range-field{grid-column:1/-1;min-width:0}.smart-stay-range-entry{width:100%;text-align:start;white-space:normal;min-height:40px}
.smart-exact-dates{margin-top:8px}.smart-exact-dates[open]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.smart-exact-dates>summary{grid-column:1/-1;color:var(--ui-text-muted);font-size:12px;cursor:pointer}
.smart-room-entry{margin-top:5px}.smart-reservation-details{border:1px solid var(--ui-border);border-radius:12px;padding:12px;margin-top:12px}.smart-reservation-details>summary{font-weight:650;cursor:pointer}.smart-reservation-details>label{margin-top:12px}
.smart-editor-action-bar{display:flex;gap:8px;padding:0 0 12px;flex-wrap:wrap}.smart-editor-action-bar button{min-height:34px;font-size:12px}
.smart-view-switch{display:flex;gap:6px;padding:8px 0}.smart-view-switch button[aria-pressed=true]{background:var(--ui-surface-interactive);border-color:var(--ui-focus)}
.smart-view-switch[role=group]{display:inline-flex;align-items:center;flex-wrap:wrap;gap:3px;padding:3px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-surface-raised)}
.smart-view-switch[role=group] button{min-height:31px;padding:0 11px;border:0;border-radius:8px}
#operations-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
#print-current-operations{margin-left:auto;flex-shrink:0}
#operations-rows[data-view=list] :is(.smart-ops-columns,.smart-stay-cards){grid-template-columns:minmax(0,1fr)}
#operations-rows[data-view=list] .smart-ops-column{padding:10px}
#operations-rows[data-view=list] .smart-stay-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:6px 14px;padding:10px 12px}
#operations-rows[data-view=list] .smart-stay-card-heading{grid-column:1/-1}
#operations-rows[data-view=list] .smart-stay-card :is(.row-actions,.smart-known-guests){grid-column:1/-1}
#operations-rows[data-view=list] .smart-stay-card p{margin:0;overflow-wrap:anywhere}
#welcome-rows[data-view=list] .smart-welcome-card,.smart-uix-body[data-view=list] .smart-welcome-card{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px}
#welcome-rows[data-view=list]{grid-template-columns:minmax(0,1fr)}
#excel-identity-cart-review[data-view=cards]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#excel-identity-cart-review[data-view=cards]>:not(article){grid-column:1/-1}
#excel-identity-cart-review[data-view=list] .operation-row{padding:10px 12px}
@media(max-width:760px){#operations-rows[data-view=list] .smart-stay-card{grid-template-columns:minmax(0,1fr)}#operations-rows[data-view=list] .smart-stay-card>*{grid-column:1}#excel-identity-cart-review[data-view=cards]{grid-template-columns:minmax(0,1fr)}#operations-print-options .smart-uix-body label{overflow-wrap:anywhere}}
#welcome-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px}.smart-welcome-card{display:flex;flex-wrap:wrap;align-items:center;padding:14px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-raised);gap:10px}.smart-welcome-card>p{flex-basis:100%;margin:0;font-size:12px}.smart-welcome-card>strong{flex:1}.smart-welcome-card select{width:auto;max-width:100%}.smart-welcome-card textarea{width:100%}
#reservation-rows[data-view=cards] table{display:block;min-width:0;border:0;background:transparent}
#reservation-rows[data-view=cards] thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
#reservation-rows[data-view=cards] tbody{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:12px}
#reservation-rows[data-view=cards] tr{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:14px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-raised)}
#reservation-rows[data-view=cards] tr[aria-selected=true]{outline:2px solid var(--ui-focus);outline-offset:-1px}
#reservation-rows[data-view=cards] td{display:block;border:0;padding:2px;white-space:normal;min-width:0;overflow-wrap:anywhere}
#reservation-rows[data-view=cards] td::before{content:attr(data-label);display:block;font-size:10px;color:var(--ui-text-muted);margin-bottom:3px}
#reservation-rows[data-view=cards] td[data-label=Guest],#reservation-rows[data-view=cards] td[data-label=Stay],#reservation-rows[data-view=cards] td[data-label=Actions]{grid-column:1/-1}
#reservation-rows[data-view=cards] td[data-label=Guest] .table-value-button{font-size:16px;font-weight:650}
#reservation-rows[data-view=cards] .row-actions{display:flex;flex-wrap:wrap;gap:6px}
.smart-selection-bar{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:35;display:flex;align-items:center;gap:14px;background:var(--ui-surface-raised);border:1px solid var(--ui-border-strong);border-radius:14px;box-shadow:var(--ui-shadow-raised);padding:12px 18px;max-width:calc(100vw - 24px)}
#reservations-dialog:has(.smart-selection-bar:not([hidden])){padding-bottom:110px}
.smart-selection-review-card{display:grid;gap:6px;padding:12px;border:1px solid var(--ui-border);border-radius:10px}
.selected-print-records{display:grid;gap:8px;max-height:240px;overflow:auto;margin:12px 0}.selected-print-records small{overflow-wrap:anywhere;color:var(--ui-text-muted)}
.selected-print-options>.workspace-error{display:block;min-height:0;margin:0;padding:0;text-align:start}.smart-uix-body .selected-print-options>.dialog-actions{position:static;background:transparent;margin:0;padding:8px 0 0}
.selected-print-review .smart-uix-body{min-width:0;grid-template-columns:minmax(0,1fr)}.selected-print-review .dialog-actions{flex-wrap:wrap}.selected-print-options label{min-width:0}.selected-print-options select{min-width:0;max-width:100%}.selected-print-review .smart-selection-review-card{min-width:0;overflow-wrap:anywhere}@media(max-width:650px){.selected-print-review button{min-height:44px}}
.selected-print-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid var(--ui-border);border-radius:10px}.selected-print-options>p,.selected-print-options>.dialog-actions{grid-column:1/-1}.selected-print-options label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}.selected-print-options input[type=checkbox]{width:16px;height:16px;flex:0 0 16px}.smart-selection-bar{flex-wrap:wrap;justify-content:center;gap:8px}.smart-selection-bar button{white-space:nowrap}
@media(max-width:650px){.selected-print-options{grid-template-columns:1fr}.selected-print-records{max-height:180px}#reservations-dialog:has(.smart-selection-bar:not([hidden])){padding-bottom:210px}}
.smart-row-more{position:relative}.smart-row-more>summary{cursor:pointer;border:1px solid var(--ui-border);border-radius:8px;padding:8px;font-size:12px}.smart-row-more[open]{z-index:30}.smart-row-popover{position:absolute;top:calc(100% + 6px);right:0;min-width:140px;max-width:calc(100vw - 32px);padding:8px;background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:10px;box-shadow:var(--ui-shadow-raised)}.smart-row-popover>button{display:block;width:100%}
.smart-global-results{display:grid;gap:8px}.smart-global-results button{text-align:start;white-space:normal}
.smart-stay-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));gap:12px}
.smart-stay-selection{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--ui-text-muted)}
.smart-stay-card{padding:16px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-raised);display:grid;gap:12px;align-content:start}
.smart-stay-card-heading{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.smart-stay-card-heading strong{flex:1}.smart-stay-card p{font-size:12px}
.smart-known-guests{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.smart-guest-icon{border-radius:999px;white-space:normal;font-size:12px;background:var(--ui-surface-interactive)}
.smart-stay-card .row-actions{display:flex;gap:6px;flex-wrap:wrap}.smart-count-stepper{display:flex;gap:4px;align-items:center}.smart-count-stepper input{width:64px;text-align:center}.smart-count-stepper button{min-width:32px;padding:6px}.breakfast-plan-table small{display:block;font-size:11px;margin:5px 0}
/* Owner-authorized prototype booking-bar presentation. No grid/color-owner overrides. */
:root[data-smart-uix=true] .reservation-bar{border:1px solid #ffffff22;border-radius:6px!important;padding:0 7px!important;gap:6px!important;display:flex;align-items:center;justify-content:flex-start!important;min-height:0;line-height:1;font-size:10px;font-weight:800;box-shadow:0 1px 3px #0008}
:root[data-smart-uix=true] .reservation-bar .guest{font-size:10px!important;font-weight:800!important;min-width:0;flex:1 1 auto;text-align:left!important}
:root[data-smart-uix=true] .reservation-bar .bar-price{font-size:9px;font-weight:700}
:root[data-smart-uix=true] .reservation-bar .bar-indicator{font-size:9px;gap:2px}
:root[data-smart-uix=true] .reservation-bar .bar-indicator svg{width:11px;height:11px}
:root[data-smart-uix=true] .reservation-bar:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 1px 3px #0008}
:root[data-smart-uix=true] .reservation-bar:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-2px}
:root[data-smart-uix=true] .reservation-bar.selected{box-shadow:inset 0 0 0 2px var(--ui-text),0 1px 3px #0008}
#booking-menu h3{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--ui-text-muted);margin:8px 0 2px;padding:0 10px}

/* Prototype composition shared by real workspaces. Printed pages remain isolated. */
:root[data-smart-uix=true] #workspace{padding-top:28px}
:root[data-smart-uix=true] :is(.top-level-page,#reservations-dialog,#operations-dialog){max-width:1740px;margin-inline:auto;padding-inline:clamp(16px,3vw,46px)}
:root[data-smart-uix=true] .brand strong{font-size:17px;letter-spacing:1.4px;font-weight:820}
:root[data-smart-uix=true] .brand small{font-size:9px;letter-spacing:1.8px;margin-top:5px}
.featured-doc-row{display:flex;align-items:center;gap:23px;padding-bottom:17px;border-bottom:1px solid var(--ui-border);margin-bottom:16px}
:root[data-smart-uix=true] .document-feature{display:flex;align-items:center;gap:13px;background:linear-gradient(115deg,#74384c,#653044);border:1px solid #bc7a94;border-radius:17px;box-shadow:inset 0 1px #e8adbe31,0 9px 30px #0003;padding:15px 21px;color:#fff;min-width:285px;min-height:81px;text-align:left}
:root[data-smart-uix=true] .document-feature:hover:not(:disabled){background:linear-gradient(115deg,#89465f,#78364b)}
.document-feature .smart-control-icon{width:27px;height:27px}.feature-text{display:flex;flex-direction:column;gap:2px}.document-feature .title{font-size:17px;letter-spacing:.1px;font-weight:750}.document-feature .sub{color:#e7bacb;font-size:10px;letter-spacing:1.7px}.featured-hint{color:var(--ui-text-muted);max-width:445px;font-size:12px;margin:0}
.timeline-more{position:relative}.timeline-more>summary{display:flex;align-items:center;cursor:pointer;height:39px;padding:0 15px;border:1px solid var(--ui-control-border);border-radius:11px;background:var(--ui-control-bg);font-size:12.5px;font-weight:680}.timeline-more-content{position:absolute;right:0;top:calc(100% + 8px);z-index:45;min-width:220px;background:var(--ui-surface-raised);border:1px solid var(--ui-border-strong);border-radius:14px;padding:9px;box-shadow:0 15px 46px #0005}.timeline-more-content button{display:flex;width:100%;margin:3px 0;justify-content:flex-start}
:root[data-smart-uix=true] #ribbon .timeline-meta{flex:1 1 100%;padding:0;border:0;margin:0;display:flex;justify-content:flex-end}
:root[data-smart-uix=true] #ribbon .timeline-meta:empty{display:none}
:root[data-smart-uix=true] .grid-header{height:60px;background:var(--ui-surface-interactive);border-bottom:1px solid var(--ui-border-strong)}
:root[data-smart-uix=true] .day-heading{padding:12px 4px;color:var(--ui-text-muted);border-color:var(--ui-border)}
:root[data-smart-uix=true] .day-heading strong{font-size:14px;color:var(--ui-text)}
:root[data-smart-uix=true] .day-heading small{font-size:11px}
:root[data-smart-uix=true] .room-label{background:var(--ui-surface-interactive);padding:0 12px;font-size:11px;font-weight:760;border-color:var(--ui-border-strong)}
:root[data-smart-uix=true] .category-row{height:28px;font-weight:830;letter-spacing:1.4px}
:root[data-smart-uix=true] .smart-reservation-workspace{padding:20px}
:root[data-smart-uix=true] .smart-reservation-panel-heading h2{font-size:18px;font-weight:780}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] tr{min-height:212px;gap:9px 12px}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] td[data-label=Guest] .table-value-button{font-size:14px!important;font-weight:780!important}
:root[data-smart-uix=true] #reservation-rows[data-view=cards] .row-actions{margin-top:auto}
:root[data-smart-uix=true] .smart-guest-icon{border-radius:10px;font-size:11px;padding:7px 9px;background:var(--ui-surface-interactive)}
:root[data-smart-uix=true] .smart-stay-card{padding:14px;gap:11px;border-radius:13px}
:root[data-smart-uix=true] .smart-stay-card-heading strong{font-size:14px;font-weight:780}
:root[data-smart-uix=true] :is(.workspace-tabs,.reservation-view-tabs,#finance-tabs){gap:6px}
:root[data-smart-uix=true] :is(.workspace-tabs,.reservation-view-tabs,#finance-tabs) button{border-radius:10px;padding:10px 13px;font-size:12px;font-weight:720}
@media(max-width:1300px){:root[data-smart-uix=true] .app-header{gap:8px}:root[data-smart-uix=true] #main-navigation button{padding-inline:10px;font-size:11px}}
/* Content-aware header wrapping: all navigation remains reachable at laptop widths. */
@media(min-width:801px) and (max-width:1600px){:root[data-smart-uix=true] .app-header{flex-wrap:wrap;gap:8px 16px;padding:10px 20px}:root[data-smart-uix=true] #main-navigation{order:3;flex:1 1 100%;width:100%;justify-content:center;overflow-x:auto}:root[data-smart-uix=true] #main-navigation button{flex:none;padding-inline:13px;font-size:12px}:root[data-smart-uix=true] .header-actions{margin-left:auto;min-width:0}:root[data-smart-uix=true] .app-header .brand{min-width:0}}
.workspace-collection-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-block:8px}.workspace-collection-controls .smart-view-switch{margin-left:auto}#operations-filters .smart-view-switch{margin-left:auto}#operations-filters .smart-view-switch+ #print-current-operations{margin-left:0}
.workspace-page-heading>.workspace-back{flex:none;margin-left:0;margin-right:12px}
@media(max-width:650px){.workspace-collection-controls .smart-view-switch,#operations-filters .smart-view-switch{margin-left:0}#operations-filters{flex-wrap:wrap}#operations-filters #print-current-operations{margin-left:auto}.workspace-collection-controls>*{max-width:100%}}
@media(max-width:800px){:root[data-smart-uix=true] .app-header{padding:12px 16px;min-height:70px}:root[data-smart-uix=true] :is(.top-level-page,#reservations-dialog,#operations-dialog){padding-inline:0}.featured-doc-row{gap:9px}.featured-hint{display:none}:root[data-smart-uix=true] .document-feature{min-width:0;width:100%}:root[data-smart-uix=true] #timeline-page #ribbon{padding:0}:root[data-smart-uix=true] #ribbon .search{margin-left:0;max-width:none}.timeline-more-content{right:0;max-width:calc(100vw - 28px)}}
@media(max-width:650px){.smart-selection-bar{bottom:calc(var(--mobile-nav-height,64px) + 12px);gap:8px;flex-wrap:wrap;justify-content:center;width:calc(100vw - 24px)}#reservations-dialog:has(.smart-selection-bar:not([hidden])){padding-bottom:170px}.smart-uix-dialog{width:calc(100vw - 16px);max-height:92dvh}.smart-uix-body{padding:14px}.smart-range-calendar button{min-height:44px}.smart-exact-dates[open]{grid-template-columns:1fr}.smart-stay-cards{grid-template-columns:1fr}.smart-stay-card button{min-height:44px}#booking-menu[aria-label="Guest quick actions"]{left:8px!important;right:8px!important;top:auto!important;bottom:calc(var(--mobile-nav-height,64px) + 8px);width:auto;max-height:65dvh;overflow:auto}}
.native-print-frame{position:fixed;left:-10000px;top:0;width:210mm;height:297mm;border:0;pointer-events:none}
.app-branding-controls{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app-branding-actions{grid-column:2/-1;justify-self:end;margin:0}.app-branding-card{display:grid;gap:10px;align-content:start;padding:12px;border:1px solid var(--ui-border);border-radius:12px}.app-branding-card img{width:100%;height:90px;object-fit:contain;background:white;border-radius:8px}.app-branding-controls>p{grid-column:1/-1}.app-branding-card input{max-width:100%;font-size:12px}.app-branding-card input::file-selector-button{font:inherit;padding:7px 10px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface-raised);color:var(--ui-text);cursor:pointer}.brand-mark:has(img:not([hidden])){background:white}#header-brand-logo{object-fit:contain}
@media(max-width:650px){.app-branding-controls{grid-template-columns:1fr}.app-branding-card img{height:76px}.app-branding-actions{grid-column:1/-1;flex-wrap:wrap}}
/* Shared app controls only. Document pages live in isolated frames. */
input[type=checkbox]{width:18px;height:18px;min-height:18px;max-height:18px;padding:0;flex:none;vertical-align:middle}
input[type=checkbox][role=switch]{width:32px;height:18px;min-height:18px;max-height:18px;border-radius:12px}
label:has(>input[type=checkbox]){cursor:pointer}
.compact-print-options[open]{width:min(520px,calc(100vw - 24px));max-height:min(calc(100dvh - 24px),calc(var(--visual-viewport-height,100dvh) - 24px));overflow:hidden;display:flex;flex-direction:column}
.compact-print-options .dialog-heading{padding:12px 16px;flex:none}
.compact-print-options .smart-uix-body{padding:14px 16px;gap:12px;max-height:none;min-height:0;overflow-y:auto}
.compact-print-options .smart-uix-body>label:has([role=switch]){display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}
.compact-print-options .dialog-actions{margin:0;padding:8px 0 0;position:static;background:transparent}
.compact-print-options .workspace-error:empty{display:none}
#operations-filters #preview-current-operations{margin-left:0}
.smart-welcome-card select,.smart-print-reservation select{max-width:100%;min-width:0}
@media(pointer:coarse){label:has(>input[type=checkbox]){min-height:44px}.date-cell,.reservation-bar{touch-action:pan-x pan-y}}
@media(max-width:800px){ .smart-uix-dialog[open]{max-height:min(calc(100dvh - 16px),calc(var(--visual-viewport-height,100dvh) - 16px));overflow:hidden;display:flex;flex-direction:column}.smart-uix-dialog .dialog-heading{flex:none;padding:12px}.smart-uix-body{max-height:none;min-height:0;overflow-y:auto}.smart-uix-body .dialog-actions{position:sticky;bottom:-14px;background:var(--ui-surface);padding:10px 0 max(10px,env(safe-area-inset-bottom,0))}.smart-welcome-guests .smart-welcome-card{grid-template-columns:20px minmax(0,1fr)}.smart-welcome-guests .smart-welcome-card select,.smart-welcome-guests .smart-welcome-card textarea{grid-column:2}.smart-print-reservation{grid-template-columns:20px minmax(0,1fr)}}
/* Smart Billing extends the approved application chrome, never paper styles. */
.smart-financial-dialog{width:min(860px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}
.smart-financial-dialog .form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.billing-room-edit{margin:10px 0;padding:10px;border:1px solid var(--border);border-radius:12px}
.billing-room-edit summary{cursor:pointer;font-weight:650}
.billing-operational-suggestions{margin-block:12px}
.smart-billing-suggestions{max-height:300px;overflow:auto;display:grid;gap:8px;margin-top:8px}
.smart-billing-suggestions .operation-row{display:flex;flex-direction:column;align-items:stretch;gap:5px}
.financial-agreement-review{border-left:3px solid var(--accent);padding-left:12px;margin:12px 0}
.reservation-bar.linked-group-bar:not(.conflict):not(.needs-review):not(.selected){border:2px solid var(--linked-group-color,#3d566e)}
.reservation-bar.linked-group-bar.linked-group-hover:not(.conflict):not(.needs-review):not(.selected){outline:2px dashed var(--linked-group-color,#3d566e);outline-offset:2px}
.linked-group-mark{font-size:12px;flex:none;margin-left:auto;text-shadow:0 1px 1px #ffffff80}
@media(max-width:640px){.billing-room-edit .form-grid,.smart-financial-dialog .form-grid{grid-template-columns:1fr}.billing-room-edit .ribbon-row{flex-wrap:wrap}.smart-billing-suggestions{max-height:240px}}
.billing-header-documents{display:flex;align-items:end;gap:6px;flex-wrap:wrap;margin-left:auto;min-width:0}.billing-header-documents>label{width:130px;min-width:0}.billing-header-documents button{white-space:nowrap}.billing-header-documents select{width:100%}.billing-main-content{min-width:0}.billing-invoice-panel{position:static!important;max-height:none!important;padding:10px 14px}.billing-paper-options>summary,.billing-suggestion-disclosure>summary,.billing-room-more>summary{font-weight:650}.billing-suggestion-disclosure{margin-top:10px}.billing-suggestion-disclosure .smart-billing-suggestions{max-height:240px;overflow:auto}.billing-room-edit,.billing-invoice-only{margin:10px 0;padding:10px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md)}.billing-room-edit>p,.billing-invoice-only>p{margin:6px 0;font-size:12px}.billing-room-actions{display:flex;align-items:start;gap:8px;flex-wrap:wrap;margin:10px 0}.billing-room-actions fieldset{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px;margin:0;min-width:0}.billing-room-actions legend{font-size:12px}.billing-room-more{align-self:center}.billing-room-more[open]{display:flex;gap:6px;flex-wrap:wrap}.billing-line-box{margin:8px 0;padding:8px}.billing-line-box>summary{font-weight:600}.billing-status-badges{font-size:12px}#bill-selected,#bulk-entry,#billing-open-paper{display:none!important}
@media(max-width:760px){.billing-filter-bar{gap:6px;flex-wrap:wrap;overflow:visible}.billing-header-documents{margin-left:0;width:100%;justify-content:flex-end}.billing-header-documents>label{flex:1;max-width:180px}.billing-main-panel{grid-template-columns:1fr!important}.billing-room-edit .form-grid,.billing-override-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-room-actions{width:100%}.billing-room-actions fieldset{flex:1 1 180px}.billing-header-documents button{min-height:44px}.billing-filter-bar details[open]>.form-grid{right:auto;left:0;max-width:calc(100vw - 32px)}}
@media(max-width:430px){.billing-room-edit .form-grid,.billing-override-grid{grid-template-columns:minmax(0,1fr)}.billing-header-documents>label{max-width:none;flex-basis:100%}.billing-header-documents{justify-content:flex-start}.billing-header-documents button{flex:1 1 auto}.billing-filter-bar>label{min-width:0;max-width:100%}.billing-filter-bar>label:has(#billing-search){flex:1 1 100%}}
.billing-picker-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.billing-picker-controls>label:has(#billing-search){flex:1 1 100%}.billing-picker-controls>label{min-width:0}.billing-picker-controls input[type=search]{width:100%}.billing-picker-controls .segmented-control{display:flex;flex-wrap:wrap;gap:4px}.billing-picker-controls .segmented-control button{padding:6px 8px;font-size:12px}.billing-picker-controls>details{flex:1 1 100%}.billing-picker-controls>#billing-add-found{margin-left:auto}.billing-picker-selection{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0;font-size:12px}
#billing-selector-results{max-height:none;overflow:visible}#billing-selector-results .billing-picker-result{display:flex;gap:8px;padding:10px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-raised)}.billing-picker-check{flex:0 0 auto;margin:0;padding-top:7px}.billing-picker-check input{width:16px;height:16px;margin:0}.billing-picker-record{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1;font-size:12px}.billing-picker-record>span{overflow-wrap:anywhere}#billing-selector-results .billing-picker-record button{width:auto;min-width:0;padding:6px 8px}.billing-picker-record>button{font-weight:650}.billing-picker-record .ribbon-row{flex-wrap:wrap;gap:5px}.billing-picker-controls details .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0}.billing-picker-controls label{font-size:12px}
@media(max-width:760px){.billing-picker-controls>label:has(#billing-business-date){flex:1}.billing-picker-controls .segmented-control{flex:1 1 100%}.billing-picker-check{padding:10px 5px}.billing-picker-record .ribbon-row button{min-height:40px}}
/* Sent correspondence is a compact application view, not a paper template. */
.sent-email-dialog{width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px;overflow:auto}
.sent-email-dialog .dialog-heading>h2{margin-right:auto}
.sent-email-content{min-width:0}
.sent-email-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;margin:14px 0}
.sent-email-filters>label:first-child{grid-column:1/-1}
.sent-email-filters label{display:flex;flex-direction:column;gap:5px}
.sent-email-filters input,.sent-email-filters select{width:100%;min-width:0}
.sent-email-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border,#d1d5db)}
.sent-email-row>div{flex:1;min-width:0;overflow-wrap:anywhere}.sent-email-row p{margin:5px 0}.sent-email-row small{opacity:.75}
.sent-email-fields{display:grid;grid-template-columns:120px minmax(0,1fr);gap:7px 12px}.sent-email-fields dt{font-weight:600}.sent-email-fields dd{margin:0;overflow-wrap:anywhere}
.sent-email-body{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;padding:14px;border:1px solid var(--border,#d1d5db);border-radius:8px;max-height:45vh;overflow:auto}
#sent-emails-entry{margin-left:auto;white-space:nowrap}
@media(max-width:620px){.sent-email-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.sent-email-row{flex-wrap:wrap}.sent-email-row>div{flex-basis:100%}.sent-email-fields{grid-template-columns:1fr}.sent-email-fields dd{margin-bottom:6px}.sent-email-dialog{padding:12px}.sent-email-dialog .dialog-heading{flex-wrap:wrap}.sent-email-dialog button{min-height:40px}}
