
:root{
--bg:#020d1b;--bg2:#061424;--panel:#08192c;--panel2:#0b1e33;--line:#25415f;
--text:#f7f9fc;--muted:#a9b9ca;--blue:#0c83ff;--blue2:#0a5fd0;--good:#18d39a;
--warn:#ffb34e;--bad:#ff6d77;--purple:#8f72ff;--shadow:0 10px 30px rgba(0,0,0,.28)
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#020b18,#03111f);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}
button,input,textarea,select{font:inherit}
.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{background:#031225;border-right:1px solid #17304e;padding:18px 16px;position:sticky;top:0;height:100vh;overflow:auto}
.logo-wrap{padding:2px 4px 18px}.logo{width:210px;height:58px;max-width:100%;display:block;object-fit:contain;object-position:left center}
.nav button{width:100%;text-align:left;background:transparent;border:0;color:#dce8f7;padding:14px 15px;border-radius:9px;margin:4px 0;cursor:pointer;font-size:16px}
.nav button:hover{background:#112d46;color:white}
.nav-section-label{color:#849bb2;font-size:10px;font-weight:700;letter-spacing:.12em;margin:16px 15px 5px}
.nav button{font-size:15px;overflow-wrap:break-word}
.nav button.active{background:linear-gradient(135deg,#0d78f0,#0756c5);color:white}
.nav .sep{border-top:1px solid #1d3550;margin:14px 0}
.content{min-width:0}
.topbar{height:92px;border-bottom:1px solid #17304e;display:flex;align-items:center;justify-content:flex-end;padding:0 28px;background:#03101f;position:sticky;top:0;z-index:5}
.property-top{font-size:17px;margin-right:18px}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#075acb;font-weight:800}
main{padding:28px;max-width:1320px;margin:auto}
.page{display:none}.page.active{display:block}
.hero h1{font-size:32px;margin:0 0 6px}.hero p{margin:0 0 20px;color:var(--muted)}
.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.house-kpi-action{
  width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;position:relative;
  transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease
}
.house-kpi-action:hover,.house-kpi-action:focus-visible{
  border-color:#168fff;transform:translateY(-1px);box-shadow:0 10px 28px rgba(0,0,0,.22);outline:none
}
.house-kpi-action:active{transform:translateY(0)}
.kpi-go{display:block;color:#69b7ff;font-size:11px;font-weight:800;margin-top:8px;letter-spacing:.02em}
@media(max-width:1400px){.metrics{grid-template-columns:repeat(3,1fr)}}
.card,.metric{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}
.metric{padding:20px}.metric small{color:#c7d4e2}.metric b{display:block;font-size:32px;margin:9px 0}.trend{color:#1595ff;font-size:14px}.spark{height:36px;border-bottom:2px solid #0789ff;margin-top:18px;transform:skewY(-5deg);opacity:.9}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.card{padding:20px;margin-top:16px}.card h2,.card h3{margin-top:0}
.row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-top:1px solid #203850}.row:first-of-type{border-top:0}
.tag{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#12375d;color:#9bc8ff}.tag.bad{background:#4b2227;color:#ffacb2}.tag.warn{background:#4a3519;color:#ffd18c}.tag.good{background:#153c2e;color:#9ae4bd}
.alertgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.alert{border:1px solid #243b55;border-radius:9px;padding:12px;font-size:13px}
.alert-action{
  width:100%;background:#08192b;color:var(--text);font:inherit;text-align:left;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease
}
.alert-action:hover,.alert-action:focus-visible{
  border-color:#168fff;background:#0a2038;transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(0,0,0,.18);outline:none
}
.alert-action:active{transform:translateY(0)}
.alert-action b{color:#fff}
.alert-go{font-size:18px;color:#56adff;font-weight:900;flex:0 0 auto}
label{display:block;font-size:12px;font-weight:700;color:#d7e1eb;margin:12px 0 5px}
input,textarea,select{width:100%;background:#061629;color:#fff;border:1px solid #2a4868;border-radius:9px;padding:11px}
textarea{min-height:88px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.btn{border:0;border-radius:9px;padding:11px 14px;background:linear-gradient(135deg,#0d79f1,#075acb);color:white;font-weight:700;cursor:pointer}.btn.secondary{background:#142b42;color:#dcecff;border:1px solid #2d4c6b}.btn.ghost{background:transparent;border:1px solid #0d83ff;color:#1698ff}
.report{white-space:pre-wrap;background:#051321;border:1px solid #26435f;padding:18px;border-radius:10px;margin-top:14px;line-height:1.55}
.stars{color:#15d5a0;font-size:29px;letter-spacing:3px}
.mobile-nav{display:none}
.logo-mobile{display:none}


/* Beta accounts + cloud sync */
.auth-gate{
  position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;
  padding:24px;background:
  radial-gradient(circle at 20% 10%,rgba(13,121,241,.18),transparent 34%),
  linear-gradient(180deg,#020b18,#03111f);overflow-y:auto;overscroll-behavior:contain;
}
.auth-gate.hidden{display:none}
.auth-card{
  width:min(440px,100%);background:linear-gradient(145deg,#08192c,#0b1e33);
  border:1px solid #294968;border-radius:18px;padding:30px;box-shadow:0 28px 70px rgba(0,0,0,.48);margin:auto 0
}
.auth-brand{font-weight:900;letter-spacing:.16em;color:#eef7ff;font-size:20px;margin-bottom:6px}
.auth-brand small{font-size:10px;color:#65b6ff;letter-spacing:.18em}
.auth-card h1{margin:18px 0 6px;font-size:29px}
.auth-card>p{color:var(--muted);line-height:1.5;margin:0 0 18px}
.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.auth-message{min-height:22px;margin-top:13px;color:#9bc8ff;font-size:13px;line-height:1.45}
.auth-message.bad{color:#ffacb2}
.auth-message.good{color:#9ae4bd}
.auth-foot{border-top:1px solid #203850;margin-top:18px;padding-top:14px;color:var(--muted);font-size:12px;line-height:1.5}

.auth-legal{margin-top:14px;padding-top:13px;border-top:1px solid #203850;display:flex;flex-wrap:wrap;gap:7px 11px;align-items:center;font-size:11px;line-height:1.45;color:#8fa3b7}
.auth-legal a{color:#8fcaff;text-decoration:none;font-weight:700}
.auth-legal a:hover,.auth-legal a:focus{text-decoration:underline;color:#c2e2ff}
.auth-legal .legal-contact{flex-basis:100%;color:#8499ad;margin-top:2px}
.auth-link-row{display:flex;justify-content:flex-end;margin-top:10px}
.auth-link-btn{border:0;background:transparent;color:#65b6ff;padding:5px 0;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.auth-link-btn:hover,.auth-link-btn:focus{text-decoration:underline;color:#9bcfff}
.auth-link-btn:disabled{opacity:.55;cursor:wait;text-decoration:none}
.reset-hint{color:var(--muted);font-size:12px;line-height:1.45;margin-top:8px}
.account-area{display:flex;align-items:center;gap:9px;margin-left:12px}
.cloud-state{
  display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #294968;
  border-radius:999px;color:#a9b9ca;font-size:11px;font-weight:800;white-space:nowrap
}
.cloud-state.good{color:#9ae4bd;border-color:#285946;background:#0b291f}
.cloud-state.saving{color:#ffd18c;border-color:#5a4728;background:#2c2111}
.account-button{
  border:1px solid #315777;background:#0a1d31;color:#edf6ff;border-radius:10px;padding:8px 10px;
  cursor:pointer;text-align:left;max-width:210px
}
.account-button b,.account-button span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-button b{font-size:12px}.account-button span{font-size:10px;color:#9fb3c7;margin-top:2px}
body.auth-locked .app{visibility:hidden}
@media(max-width:760px){
  .auth-actions{grid-template-columns:1fr}
  .cloud-state{display:none}
  .account-button{max-width:132px}
}

/* Room board */
.room-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.room-summary{color:var(--muted);font-size:14px}
.legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:12px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;border:1px solid rgba(255,255,255,.18)}
.room-filter-card{margin-top:14px;padding:14px 16px}
.room-filter-grid{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(150px,.8fr) minmax(140px,.7fr) auto;gap:10px;align-items:end}
.room-filter-grid label{margin-top:0}
.room-filter-grid .btn{height:42px;white-space:nowrap}
.room-filter-summary{font-size:12px;color:var(--muted);margin-top:9px}
.quick-room-counts{padding:16px 18px}
.quick-counts-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.quick-counts-head h2{font-size:18px;margin:2px 0 4px}
.quick-counts-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin-top:14px}
.quick-count-field{border:1px solid #29415c;border-radius:10px;padding:12px;background:#0b1d30}
.quick-count-field label{margin:0 0 7px}
.quick-count-field input{margin:0}
.quick-count-board{display:block;font-size:11px;color:var(--muted);line-height:1.4;margin-top:7px}
.quick-count-board.mismatch{color:var(--warn)}
.quick-counts-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
.quick-counts-message{font-size:12px;color:var(--muted);line-height:1.45}
.quick-counts-message.warn{color:var(--warn)}
.quick-counts-authority{display:none;margin-top:12px;border:1px solid #705736;background:#231c10;border-radius:10px;padding:12px}
.quick-counts-authority.open{display:block}
.quick-counts-authority p{margin:0 0 9px;font-size:12px;line-height:1.45}
.quick-counts-authority-actions{display:flex;gap:8px;flex-wrap:wrap}
.quick-counts-authority button{padding:8px 11px;border-radius:8px;border:1px solid #5a4728;background:#2c2111;color:#ffe0a1;font-weight:800;cursor:pointer}
.quick-counts-authority button.active{background:#12375d;border-color:#168fff;color:#dceeff}
.current-ooo-summary{display:grid;grid-template-columns:minmax(110px,.55fr) minmax(220px,2fr);gap:14px;align-items:center;margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(15,34,53,.7)}
.current-ooo-value span{display:block;font-size:10px;font-weight:900;letter-spacing:.1em;color:var(--muted)}
.current-ooo-value strong{display:block;margin-top:2px;font-size:26px;line-height:1;color:var(--text)}
.current-ooo-breakdown{display:flex;gap:7px 14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.current-ooo-breakdown b{color:var(--text)}
.ooo-adjustment-dialog{width:min(520px,calc(100vw - 32px));padding:22px;border-radius:16px}
.ooo-adjustment-dialog::backdrop{background:rgba(4,14,26,.68)}
.ooo-adjustment-dialog h2{margin:4px 0 8px;font-size:20px}
.ooo-adjustment-dialog p{margin:0;color:var(--muted);line-height:1.55}
.ooo-adjustment-dialog .actions{justify-content:flex-end;margin-top:18px}
@media(max-width:900px){.room-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.quick-counts-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.room-filter-grid{grid-template-columns:1fr}.room-filter-grid .btn{width:100%}.quick-counts-grid{grid-template-columns:1fr 1fr}.quick-counts-footer .btn{width:100%}.current-ooo-summary{grid-template-columns:1fr}.ooo-adjustment-dialog .actions{align-items:stretch}.ooo-adjustment-dialog .actions .btn{width:100%}}
.rooms-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start;margin-top:16px}
.floor{margin-top:16px}
.floor-title{font-weight:700;margin-bottom:10px;color:#d7e2ee;letter-spacing:.03em}
.room-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}
.room-tile{padding:18px 10px;border-radius:12px;border:1px solid #29415c;background:#102030;color:#fff;text-align:center;cursor:pointer;min-height:62px;display:flex;align-items:center;justify-content:center;font-weight:700;position:relative}
.room-tile:hover{transform:translateY(-1px);filter:brightness(1.12);box-shadow:0 8px 18px rgba(0,0,0,.26)}
.room-tile.selected{outline:2px solid #ffe7a8;outline-offset:2px;filter:brightness(1.08)}
.room-tile.ready,.dot.ready{background:#24513a;border-color:#4f8d68;color:#effff5}
.room-tile.dirty,.dot.dirty{background:#7a5122;border-color:#c78a3e;color:#fff0cf}
.room-tile.occupied,.dot.occupied{background:#21446a;border-color:#4f7ca8;color:#eef7ff}
.room-tile.dueout,.dot.dueout{background:#68446f;border-color:#a673b1;color:#fff0ff}
.room-tile.ooo,.dot.ooo{background:#812f38;border-color:#cf5562;color:#fff0f2}
.room-tile.inspected,.dot.inspected{background:#176269;border-color:#3b9ca3;color:#e4ffff}
.room-tile.arriving,.dot.arriving{background:#355022;border-color:#739a45;color:#f1ffd8}
.drawer{position:sticky;top:114px}
.drawer .card{margin-top:0}
.status-badge{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;margin-right:6px;margin-bottom:6px;border:1px solid #334c67}
.status-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.status-actions button{padding:10px;border-radius:9px;background:#11263a;color:#e5f0fd;border:1px solid #29415c;cursor:pointer}
.status-actions button:hover{background:#17314b}
.ask-btn{width:100%;margin-top:14px}
.small-muted{font-size:12px;color:var(--muted)}



/* In / Out tightening */
.movement-entry-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 16px}
.movement-entry-card{margin-top:0}
.movement-entry-card h2{margin-bottom:4px}
.movement-entry-help{font-size:13px;color:var(--muted);margin-bottom:12px}
.movement-checks{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0}
.movement-check{display:flex;align-items:center;gap:8px;color:#dcecff;font-size:14px;cursor:pointer}
.movement-check input{width:auto;margin:0}
.movement-entry-note{padding:10px 12px;border:1px solid #29415c;background:#061629;border-radius:9px;color:var(--muted);font-size:12px;margin-top:12px}
.movement-history-row{display:grid;grid-template-columns:1.4fr .7fr .8fr .9fr;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #203850}
.movement-history-row:last-child{border-bottom:0}
.movement-history-name{font-weight:800}
.movement-history-meta{font-size:12px;color:var(--muted);margin-top:3px}
.movement-history-empty{padding:18px 0;color:var(--muted)}
@media(max-width:720px){.movement-history-row{grid-template-columns:1fr 1fr}}
.movement-summary{font-size:13px;color:var(--muted);margin-top:4px}
.movement-guest.selected{background:#0a2038;border-left:3px solid #168fff;padding-left:10px}
.movement-sticky-actions{position:sticky;bottom:8px;background:linear-gradient(180deg,rgba(8,25,44,.35),rgba(8,25,44,.98) 28%);padding-top:16px}
.front-desk-summary-form{margin-top:0}
.front-desk-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px}
.front-desk-exception-board{margin-top:0}
.exception-board-head,.staff-today-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.exception-board-head h2,.staff-today-head h2{margin:2px 0 4px}
.exception-list{display:grid;gap:10px}
.exception-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid #29415c;border-radius:10px;background:#061629}
.exception-item-main{min-width:0}
.exception-item-title{font-weight:800;line-height:1.35}
.exception-item-meta{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}
.exception-item-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.exception-type{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #36526e;padding:4px 8px;font-size:10px;font-weight:800;letter-spacing:.04em}
.exception-empty{padding:22px 8px;text-align:center;color:var(--muted)}
.detail-workspace-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0}
.detail-workspace-toggle p{margin:0;color:var(--muted);font-size:12px}
.room-link{background:transparent;border:0;color:#3da7ff;font-weight:700;padding:0;cursor:pointer;text-align:left}
.room-link:hover{text-decoration:underline}










/* House dashboard polish */
.house-gm-feature{margin-top:18px}
.house-secondary-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;margin-top:18px;min-width:0}
.house-secondary-grid .card{margin-top:0;height:auto;align-self:start;min-width:0}
.house-review-card{min-width:0;max-width:100%}
.house-review-card p,.house-review-card .small-muted{line-height:1.5;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.house-review-card .btn{margin-top:14px}
.house-alertgrid{grid-template-columns:repeat(3,1fr)}
.source-freshness-strip{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:var(--muted)}
.source-freshness{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.source-freshness:before{content:"";width:7px;height:7px;border-radius:50%;background:#1595ff;flex:0 0 auto}
.source-freshness.live:before{background:var(--good)}
.source-freshness.stale:before{background:var(--warn)}
.today-operations{margin-top:16px}
.today-operations-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.today-operations-head h2{font-size:20px;margin:2px 0 4px}
.today-operations-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.today-operations-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-top:14px}
.today-operation{border:1px solid #29415c;border-radius:10px;padding:12px;background:#0b1d30;color:var(--text);text-align:left;cursor:pointer;min-width:0}
.today-operation span,.today-operation small{display:block}
.today-operation span{font-size:11px;font-weight:800;letter-spacing:.03em;color:var(--muted);text-transform:uppercase}
.today-operation b{display:block;font-size:24px;margin:6px 0}
.today-operation small{font-size:10px;line-height:1.35;color:var(--muted)}
.today-operation:hover,.today-operation:focus-visible{border-color:#168fff;outline:none;box-shadow:0 7px 18px rgba(0,0,0,.12)}
.gm-generate-btn{white-space:nowrap;min-width:190px}
.gm-ai-footer>div{min-width:0;flex:1}
@media(max-width:1100px){.today-operations-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){
  .house-secondary-grid{grid-template-columns:1fr}
  .house-alertgrid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .today-operations-grid{grid-template-columns:repeat(2,1fr)}
  .today-operations-actions{width:100%}.today-operations-actions .btn{width:100%}
  .house-alertgrid{grid-template-columns:1fr 1fr}
  .gm-generate-btn{width:100%;min-width:0}
}
@media(max-width:480px){
  .house-alertgrid{grid-template-columns:1fr}
}


/* AI GM Brief */
.gm-ai-card{overflow:hidden}
.gm-ai-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.gm-ai-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.gm-ai-head h2{margin:3px 0 0}
.gm-ai-summary{font-size:17px;line-height:1.5;color:#edf5ff;background:#061629;border:1px solid #29415c;border-radius:10px;padding:14px;margin:14px 0}
.gm-ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gm-ai-section{background:#061629;border:1px solid #29415c;border-radius:10px;padding:13px}
.gm-ai-list{margin-top:8px}
.gm-ai-item{display:grid;grid-template-columns:24px 1fr;gap:8px;padding:8px 0;border-top:1px solid #203850}
.gm-ai-item:first-child{border-top:0}
.gm-ai-item .num{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#12375d;color:#a9d5ff;font-size:12px;font-weight:800}
.gm-ai-item b{display:block;line-height:1.35}
.gm-ai-item small{display:block;color:var(--muted);margin-top:3px;line-height:1.35}
.gm-ai-empty{color:var(--muted);font-size:13px;padding:6px 0}
.gm-ai-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px}
@media(max-width:720px){.gm-ai-grid{grid-template-columns:1fr}.gm-ai-footer{align-items:flex-start;flex-direction:column}.gm-ai-head{flex-direction:column}.gm-ai-head-actions{width:100%;justify-content:space-between}}

/* Executive Owner Report presentation */

.owner-print-brand{display:none}
.owner-report-document .report-number{display:grid;grid-template-columns:28px 1fr;gap:8px;margin:9px 0}
.owner-report-document .report-number .num{font-weight:800;color:#1377c9}
.owner-report-document .report-number .number-text{min-width:0}

.owner-report-shell{padding:0;overflow:hidden}
.owner-report-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 22px;border-bottom:1px solid #29415c;background:#071a2c}
.owner-report-toolbar h2{margin:4px 0 0}
.owner-report-subtitle{color:var(--muted);font-size:13px;margin-top:4px}
.owner-report-scope{color:var(--muted);font-size:11px;margin-top:5px}
.owner-report-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #29415c;background:#061629}
.owner-report-kpi-strip>div{padding:15px 18px;border-right:1px solid #29415c}
.owner-report-kpi-strip>div:last-child{border-right:0}
.owner-report-kpi-strip span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.owner-report-kpi-strip b{font-size:21px}
.owner-report-document{background:#f7f9fc;color:#172333;padding:34px 42px;line-height:1.62;font-family:Arial,Helvetica,sans-serif}
.owner-report-document h2{color:#0d2036;font-size:22px;margin:28px 0 10px;padding-bottom:8px;border-bottom:1px solid #d7e0e9}
.owner-report-document h2:first-child{margin-top:0}
.owner-report-document h3{color:#18344f;font-size:17px;margin:22px 0 8px}
.owner-report-document p{margin:0 0 12px}
.owner-report-document ul,.owner-report-document ol{margin:6px 0 16px 22px;padding:0}
.owner-report-document li{margin:5px 0}
.owner-report-document strong{color:#071a2c}
.owner-report-document .report-lead{font-size:17px;color:#2a3d52;margin-bottom:18px}
.owner-report-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;border-top:1px solid #29415c;background:#071a2c}
.owner-report-footer .actions{margin:0}

/* v2.9.2 — Founding Beta manager-seat guardrails */
#ownerWrap .owner-report-toolbar{padding:24px 28px}
#ownerWrap .owner-report-toolbar h2{font-size:24px;letter-spacing:-.015em}
#ownerWrap .owner-report-subtitle{font-size:13px}
#ownerWrap .owner-report-kpi-strip>div{padding:17px 20px}
#ownerWrap .owner-report-kpi-strip b{font-size:23px;letter-spacing:-.02em}
#ownerWrap .owner-report-document{background:#fff;padding:38px 46px;line-height:1.58}
#ownerWrap .owner-report-document h2{font-size:20px;letter-spacing:.015em;border-bottom:2px solid #d7e0e9;margin-top:30px}
#ownerWrap .owner-report-document h3{font-size:16px}
#ownerWrap .owner-report-document p{max-width:92ch}
@media(max-width:950px){
  .owner-report-kpi-strip{grid-template-columns:1fr 1fr}
  .owner-report-kpi-strip>div:nth-child(2){border-right:0}
  .owner-report-document{padding:26px 22px}
  .owner-report-footer{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .owner-report-kpi-strip{grid-template-columns:1fr}
  .owner-report-kpi-strip>div{border-right:0;border-bottom:1px solid #29415c}
  .owner-report-kpi-strip>div:last-child{border-bottom:0}
  .owner-report-toolbar{flex-direction:column}
}
@media print{
  body{background:#fff!important}
  .sidebar,.topbar,.mobile-nav,.owner-metrics,.owner-layout,.hero,.owner-report-footer,.owner-report-toolbar .tag{display:none!important}
  .app{display:block!important}
  main{padding:0!important;margin:0!important}
  .page{display:none!important}
  #owner.page{display:block!important}
  body:not(.printing-compliance) #owner > :not(#ownerWrap){display:none!important}
  #owner[data-owner-view] #ownerWrap{display:block!important}
  #ownerWrap{display:block!important;border:0!important;box-shadow:none!important;margin:0!important}
  .owner-print-brand{display:flex!important;align-items:baseline;gap:7px;border-bottom:1px solid #999;padding-bottom:9px;margin-bottom:15px;color:#111!important}
  .owner-print-brand strong{font-size:15px;letter-spacing:.08em}
  .owner-print-brand span{font-size:11px;color:#555!important}
  .owner-print-brand em{margin-left:auto;font-style:normal;font-size:10px;letter-spacing:.08em;color:#555!important}
  .owner-report-toolbar{display:block!important;background:#fff!important;color:#111!important;border-bottom:2px solid #111!important;padding:0 0 14px!important}
  .owner-report-toolbar h2,.owner-report-subtitle{color:#111!important}
  .owner-report-kpi-strip{background:#fff!important;border:1px solid #bbb!important}
  .owner-report-kpi-strip>div{border-color:#bbb!important}
  .owner-report-kpi-strip span,.owner-report-kpi-strip b{color:#111!important}
  .owner-report-document{background:#fff!important;color:#111!important;padding:18px 0 0!important}
  .owner-report-document h2{color:#111!important;border-color:#bbb!important}
  .owner-report-scope{color:#444!important;font-size:9px!important}

  /* Full Owner Report — compact executive packet */
  #ownerWrap.owner-report-full .owner-report-toolbar{padding:0 0 9px!important;border-bottom:1.5px solid #111!important}
  #ownerWrap.owner-report-full .owner-print-brand{margin-bottom:10px!important;padding-bottom:6px!important}
  #ownerWrap.owner-report-full .owner-report-toolbar h2{font-size:23px!important;line-height:1.1!important;margin:2px 0 3px!important;letter-spacing:-.02em!important}
  #ownerWrap.owner-report-full .owner-report-subtitle{font-size:10px!important;margin-top:2px!important}
  #ownerWrap.owner-report-full .owner-report-scope{font-size:8px!important;margin-top:2px!important}
  #ownerWrap.owner-report-full .owner-report-kpi-strip{grid-template-columns:repeat(4,1fr)!important;margin-top:9px!important}
  #ownerWrap.owner-report-full .owner-report-kpi-strip>div{padding:9px 11px!important;border-right:1px solid #bbb!important;border-bottom:0!important}
  #ownerWrap.owner-report-full .owner-report-kpi-strip>div:last-child{border-right:0!important}
  #ownerWrap.owner-report-full .owner-report-kpi-strip span{font-size:8px!important;margin-bottom:2px!important;letter-spacing:.06em!important}
  #ownerWrap.owner-report-full .owner-report-kpi-strip b{font-size:17px!important;line-height:1.05!important}
  #ownerWrap.owner-report-full .owner-report-document{font-size:10.25px!important;line-height:1.42!important;padding:12px 0 0!important}
  #ownerWrap.owner-report-full .owner-report-document h2{font-size:14.5px!important;line-height:1.15!important;letter-spacing:.025em!important;margin:15px 0 6px!important;padding-bottom:4px!important;border-bottom:1.25px solid #777!important;break-after:avoid-page!important;page-break-after:avoid!important}
  #ownerWrap.owner-report-full .owner-report-document h2:first-child{margin-top:4px!important}
  #ownerWrap.owner-report-full .owner-report-document h3{font-size:12px!important;margin:10px 0 4px!important;break-after:avoid-page!important;page-break-after:avoid!important}
  #ownerWrap.owner-report-full .owner-report-document p{margin-bottom:7px!important;orphans:3!important;widows:3!important}
  #ownerWrap.owner-report-full .owner-report-document ul,
  #ownerWrap.owner-report-full .owner-report-document ol{margin:3px 0 9px 18px!important}
  #ownerWrap.owner-report-full .owner-report-document li{margin:2px 0!important;orphans:2!important;widows:2!important}
  #ownerWrap.owner-report-full .owner-report-document .report-number{grid-template-columns:22px 1fr!important;gap:6px!important;margin:5px 0!important;break-inside:avoid-page!important;page-break-inside:avoid!important}
  #ownerWrap.owner-report-full .owner-report-document .report-number .num{font-size:9px!important}
  #ownerWrap.owner-report-full .owner-report-document h2 + p,
  #ownerWrap.owner-report-full .owner-report-document h2 + ul,
  #ownerWrap.owner-report-full .owner-report-document h2 + ol{break-before:avoid-page!important;page-break-before:avoid!important}

  /* True one-page executive formats */
  #ownerWrap.owner-report-one-page .owner-report-toolbar,
  #ownerWrap.owner-report-call-points .owner-report-toolbar{padding-bottom:8px!important}
  #ownerWrap.owner-report-one-page .owner-print-brand,
  #ownerWrap.owner-report-call-points .owner-print-brand{margin-bottom:9px!important;padding-bottom:6px!important}
  #ownerWrap.owner-report-one-page .owner-report-kpi-strip>div,
  #ownerWrap.owner-report-call-points .owner-report-kpi-strip>div{padding:8px 12px!important}
  #ownerWrap.owner-report-one-page .owner-report-kpi-strip b,
  #ownerWrap.owner-report-call-points .owner-report-kpi-strip b{font-size:17px!important}
  #ownerWrap .owner-report-kpi-strip b.owner-needs-update{font-size:11px!important;line-height:1.25!important}
  #ownerWrap .owner-report-kpi-strip small{font-size:8px!important;line-height:1.2!important}
  #ownerWrap.owner-report-one-page .owner-report-document,
  #ownerWrap.owner-report-call-points .owner-report-document{font-size:10px!important;line-height:1.28!important;padding-top:10px!important}
  #ownerWrap.owner-report-one-page .owner-report-document h2,
  #ownerWrap.owner-report-call-points .owner-report-document h2{font-size:14px!important;margin:10px 0 5px!important;padding-bottom:4px!important}
  #ownerWrap.owner-report-one-page .owner-report-document h3,
  #ownerWrap.owner-report-call-points .owner-report-document h3{font-size:12px!important;margin:8px 0 4px!important}
  #ownerWrap.owner-report-one-page .owner-report-document p,
  #ownerWrap.owner-report-call-points .owner-report-document p{margin-bottom:5px!important}
  #ownerWrap.owner-report-one-page .owner-report-document ul,
  #ownerWrap.owner-report-call-points .owner-report-document ul{margin:3px 0 6px 17px!important}
  #ownerWrap.owner-report-one-page .owner-report-document li,
  #ownerWrap.owner-report-call-points .owner-report-document li{margin:2px 0!important}

  /* Compliance report print mode */
  body.printing-compliance #owner.page{display:none!important}
  body.printing-compliance #edit.page{display:block!important}
  body.printing-compliance #edit> :not(#complianceReportWrap){display:none!important}
  body.printing-compliance #complianceReportWrap{display:block!important;border:0!important;box-shadow:none!important;margin:0!important}
  body.printing-compliance #complianceReportWrap .owner-report-footer{display:none!important}
  body.printing-compliance #complianceReportWrap .owner-report-toolbar{display:block!important;background:#fff!important;color:#111!important;border-bottom:2px solid #111!important;padding:0 0 14px!important}
  body.printing-compliance #complianceReportWrap .owner-report-toolbar .actions,
  body.printing-compliance #complianceReportWrap .owner-report-toolbar .tag{display:none!important}
  body.printing-compliance #complianceReportWrap .owner-report-toolbar h2,
  body.printing-compliance #complianceReportWrap .owner-report-subtitle{color:#111!important}
  body.printing-compliance #complianceReportWrap .owner-print-brand{display:flex!important}
  body.printing-compliance #complianceReportWrap .owner-report-kpi-strip{background:#fff!important;border:1px solid #bbb!important}
  body.printing-compliance #complianceReportWrap .owner-report-kpi-strip>div{border-color:#bbb!important}
  body.printing-compliance #complianceReportWrap .owner-report-kpi-strip span,
  body.printing-compliance #complianceReportWrap .owner-report-kpi-strip b{color:#111!important}
  body.printing-compliance #complianceReportWrap .owner-report-document{background:#fff!important;color:#111!important;padding:16px 0 0!important;font-size:10px!important;line-height:1.35!important}
  body.printing-compliance #complianceReportWrap .owner-report-document h2{color:#111!important;border-color:#bbb!important;font-size:15px!important;margin:12px 0 6px!important;padding-bottom:4px!important}
  body.printing-compliance #complianceReportWrap .owner-report-document .report-lead{font-size:12px!important;margin-bottom:8px!important}
  body.printing-compliance #complianceReportWrap .compliance-report-table{font-size:8px!important;margin:7px 0 10px!important}
  body.printing-compliance #complianceReportWrap .compliance-report-table th,
  body.printing-compliance #complianceReportWrap .compliance-report-table td{padding:4px!important;border-color:#bbb!important;color:#111!important;background:#fff!important}
  body.printing-compliance #complianceReportWrap .compliance-report-table th{font-size:7px!important}
  body.printing-compliance #complianceReportWrap .compliance-report-table td small{color:#444!important}
  body.printing-compliance #complianceReportWrap .compliance-report-status{border:1px solid #aaa!important;background:#fff!important;color:#111!important;padding:2px 4px!important;font-size:7px!important}
  body.printing-compliance #complianceReportWrap .compliance-report-disclaimer{color:#444!important;border-color:#bbb!important;font-size:8px!important;margin-top:12px!important;padding-top:7px!important}

  @page{margin:.48in}
}

/* Real AI connection */
.review-ai-head,.owner-hero-line{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ai-busy{opacity:.7;cursor:wait!important}
.ai-error{background:#2b131a!important;border-color:#7a2b3d!important;color:#ffd5de!important}

/* Single-source-of-truth live data */
.live-source-section{margin-top:18px;padding-top:16px;border-top:1px solid #203850}
.live-source-section:first-of-type{margin-top:10px}
.live-source-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.live-source-head>div{display:flex;flex-direction:column;gap:3px}
.live-source-head small{color:var(--muted)}
.live-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.live-stat{background:#061629;border:1px solid #29415c;border-radius:9px;padding:11px}
.live-stat span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.live-stat b{font-size:20px}
.live-stat-action{
  width:100%;
  color:#fff;
  text-align:left;
  cursor:pointer;
  font:inherit;
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.live-stat-action small{display:block;margin-top:8px;color:#55b6ff;font-size:11px;font-weight:700}
.live-stat-action:hover{transform:translateY(-2px);border-color:#2d8cff;background:#0a2036;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.live-stat-action:focus-visible{outline:2px solid #2d8cff;outline-offset:2px}
@media(max-width:950px){.live-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.live-stat-grid{grid-template-columns:1fr 1fr}.live-source-head{align-items:flex-start;flex-direction:column}}

/* Dynamic Property Setup */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.setup-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.setup-head h3{margin-top:4px}
.floor-builder{margin:18px 0}
.floor-builder-help{color:var(--muted);font-size:13px;margin:5px 0 12px}
.floor-setup-row{display:grid;grid-template-columns:120px 1fr 1fr 1.2fr 42px;gap:9px;align-items:end;margin-bottom:9px}
.floor-setup-row label{margin-top:0}
.floor-setup-row .remove-floor{height:42px;border-radius:9px;border:1px solid #29415c;background:#11263a;color:#e5f0fd;cursor:pointer}
.floor-setup-row .remove-floor:hover{background:#17314b}
.config-preview{margin-top:14px;background:#061629;border:1px solid #29415c;border-radius:10px;padding:13px;color:#d3dfec;line-height:1.45}
.config-preview strong{color:#fff}
.room-builder-feedback{min-height:20px;margin:6px 0 10px;color:#78c8ff;font-size:13px;font-weight:700}
.room-builder-focus{outline:2px solid #2d8cff!important;box-shadow:0 0 0 4px rgba(45,140,255,.14)!important;transition:box-shadow .2s ease,outline .2s ease}
@media(max-width:950px){.three{grid-template-columns:1fr}.floor-setup-row{grid-template-columns:1fr 1fr}.floor-setup-row .floor-custom{grid-column:1/-1}.floor-setup-row .remove-floor{width:100%}}
@media(max-width:560px){.floor-setup-row{grid-template-columns:1fr}.floor-setup-row .floor-custom{grid-column:auto}.floor-setup-row .remove-floor{width:100%}}

/* Owner Command Center */
.owner-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.owner-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 18px;border-bottom:1px solid var(--border-subtle,#29415c);padding-bottom:10px}
.owner-tabs button{border:1px solid var(--border-control,#29415c);background:var(--surface-card,#11263a);color:var(--text-primary,#e5f0fd);border-radius:9px;padding:10px 15px;font:inherit;font-weight:700;cursor:pointer}
.owner-tabs button[aria-selected="true"]{background:var(--selected-blue-bg,#12375d);color:var(--selected-blue-text,#9bc8ff);border-color:var(--brand-blue,#168fff)}
.owner-tabs button:focus-visible{outline:2px solid var(--focus-ring,#168fff);outline-offset:2px}
#owner[data-owner-view="overview"] .owner-view-performance,#owner[data-owner-view="overview"] .owner-view-history,
#owner[data-owner-view="performance"] .owner-view-overview,#owner[data-owner-view="performance"] .owner-view-history,
#owner[data-owner-view="history"] .owner-view-overview,#owner[data-owner-view="history"] .owner-view-performance{display:none!important}
.owner-performance-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:15px 18px;border:1px solid var(--border-subtle,#29415c);border-radius:10px;background:var(--surface-card,#11263a);margin:0 0 16px}
.owner-performance-prompt[hidden],.owner-save-result[hidden],.owner-save-result button[hidden]{display:none!important}
.owner-performance-prompt p{margin:0}
.owner-rate-next{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:12px 16px;border:1px solid var(--border-subtle,#29415c);border-radius:10px}
.owner-rate-next[hidden]{display:none!important}
.owner-connected-data p{margin:10px 0 14px}
.owner-save-result{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}
@media(max-width:560px){.owner-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.owner-tabs button{padding:10px 5px;font-size:12px;white-space:normal}.owner-performance-prompt .btn,.owner-rate-next .btn{width:100%}}
.owner-metric{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:12px;padding:16px}
.owner-metric span{display:block;font-size:12px;color:#c9d7e5}
.owner-metric b{display:block;font-size:27px;margin:6px 0}
.owner-metric small{color:var(--muted)}
.owner-metric b.owner-needs-update{font-size:15px;line-height:1.45}
.owner-metric small.owner-last-reported{display:block;margin-top:4px}
.owner-report-kpi-strip b.owner-needs-update{font-size:14px;line-height:1.35}
.owner-report-kpi-strip small{display:block;color:var(--muted);font-size:10px;line-height:1.35;margin-top:4px}
.owner-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.owner-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.owner-signal-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.owner-signal{background:#061629;border:1px solid #29415c;border-radius:10px;padding:13px}
.owner-signal>div{display:flex;align-items:center;gap:8px}
.owner-signal p{color:#cbd8e6;margin:7px 0 0;line-height:1.4}
.signal-icon{display:inline-flex;width:25px;height:25px;border:1px solid #36526e;border-radius:7px;align-items:center;justify-content:center;color:#62b6ff}
.owner-options{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;color:#cbd8e6}
.owner-options label{display:flex;align-items:center;gap:7px}
.owner-options input{width:auto}
.owner-brief{position:sticky;top:114px}
.owner-brief-item{padding:13px 0;border-top:1px solid #203850}
.owner-brief-item span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}
.owner-brief-item b{display:block;line-height:1.35}
.owner-callout{margin-top:14px;background:#061629;border:1px solid #29415c;border-radius:10px;padding:13px}
.owner-callout p{margin:5px 0 0;line-height:1.45}

/* Interactive Staff */
.staff-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.staff-metric{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:12px;padding:16px;text-align:left;color:var(--text);cursor:pointer}
.staff-metric:hover,.staff-metric.active{border-color:#168fff;background:#0a2038}
.staff-metric span{display:block;font-size:12px;color:#c9d7e5}
.staff-metric b{display:block;font-size:28px;margin:6px 0}
.staff-metric small{color:var(--muted)}
.staff-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.staff-list-card{min-height:560px}
.staff-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.staff-list-head select{min-width:170px}
.staff-item{padding:14px 0;border-top:1px solid #203850;cursor:pointer}
.staff-item:first-child{border-top:0}
.staff-item:hover,.staff-item.selected{background:#071a2c}
.staff-item.selected{border-left:3px solid #168fff;padding-left:10px}
.staff-item-top{display:flex;justify-content:space-between;gap:12px}
.staff-name{font-weight:700}
.staff-meta{font-size:12px;color:var(--muted);margin-top:4px}
.staff-drawer{position:sticky;top:114px}
.staff-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.staff-detail-grid div{background:#061629;border:1px solid #29415c;border-radius:9px;padding:11px}
.staff-detail-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.staff-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.staff-actions button{padding:10px;border-radius:9px;background:#11263a;color:#e5f0fd;border:1px solid #29415c;cursor:pointer}
.staff-actions button:hover{background:#17314b}
.staff-lifecycle{margin-top:12px;padding-top:12px;border-top:1px solid #203850}
.staff-lifecycle-note{font-size:12px;color:var(--muted);line-height:1.45;margin-bottom:10px}
.btn.staff-danger{background:#351a20;border-color:#7a3946;color:#ffd9de}
.btn.staff-danger:hover{background:#48212a}
.btn.staff-reactivate{background:#0b2b21;border-color:#2b6a50;color:#baf1d7}
.staff-item.inactive{opacity:.78}
.staff-item.inactive .staff-name{text-decoration:none}
.staff-empty{padding:28px 10px;color:var(--muted);text-align:center}
.staff-shifts-section{margin-top:24px;border-top:1px solid #203850;padding-top:18px}
.shift-item{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #203850}
.shift-item:first-of-type{border-top:0}
.shift-item small{color:var(--muted)}
.staff-today-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;align-items:start;margin-top:14px}
.staff-today-grid>.card{margin-top:0}
.staff-today-list{display:grid;gap:10px}
.staff-today-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid #29415c;border-radius:10px;background:#061629}
.staff-today-meta{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}
.staff-today-empty{padding:22px 8px;text-align:center;color:var(--muted)}
.mod-card h2{margin:2px 0 4px}
.mod-current{margin:12px 0;padding:12px;border:1px solid #29415c;border-radius:10px;background:#061629}
.mod-current b{display:block;font-size:18px}
.mod-current small{display:block;color:var(--muted);margin-top:4px}
.staff-directory-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0}
.staff-directory-intro p{margin:0;color:var(--muted);font-size:12px}
.staff-primary-actions .btn{min-height:44px}
.staff-name-suggestions{display:grid;gap:6px;margin-top:8px;max-height:210px;overflow-y:auto}
.staff-name-suggestions[hidden],.staff-callout-details[hidden]{display:none}
.staff-name-suggestions .btn{text-align:left;white-space:normal;overflow-wrap:anywhere;min-height:44px}
.staff-callout-details{margin-top:8px;font-size:12px;line-height:1.45;color:var(--text-secondary)}
@media(max-width:560px){#staff .staff-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#staff .staff-primary-actions .btn{white-space:normal;min-width:0;padding:11px 9px;line-height:1.3}#staff #quickCalloutCard input,#staff #quickCalloutCard select,#staff #quickCalloutCard textarea{max-width:100%;min-width:0}}

/* Review Inbox */
.review-source-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.review-source-card{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:11px;padding:13px}
.review-source-card div{display:flex;align-items:center;gap:8px}
.review-source-card small{display:block;color:var(--muted);margin-top:5px}
.source-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.source-dot.google{background:#4285f4}.source-dot.booking{background:#5b8cff}.source-dot.expedia{background:#f0c33c}.source-dot.manual{background:#9b7bff}
.review-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.review-metric{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:12px;padding:16px;text-align:left;color:var(--text);cursor:pointer}
.review-metric:hover,.review-metric.active{border-color:#168fff;background:#0a2038}
.review-metric span{display:block;font-size:12px;color:#c9d7e5}
.review-metric b{display:block;font-size:28px;margin:6px 0}
.review-metric small{color:var(--muted)}
.review-layout{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(480px,1.15fr);gap:16px;align-items:start}
.review-list-card{min-height:560px}
.review-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.review-list-head select{min-width:160px}
.review-inbox-item{padding:14px 0;border-top:1px solid #203850;cursor:pointer}
.review-inbox-item:first-child{border-top:0}
.review-inbox-item:hover,.review-inbox-item.selected{background:#071a2c}
.review-inbox-item.selected{border-left:3px solid #168fff;padding-left:10px}
.review-inbox-top{display:flex;justify-content:space-between;gap:12px}
.review-inbox-name{font-weight:700}
.review-inbox-meta{font-size:12px;color:var(--muted);margin-top:4px}
.review-inbox-text{margin-top:8px;color:#d6e2ef;line-height:1.45;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.review-stars{color:#18d39a;letter-spacing:2px}
.review-drawer{position:sticky;top:114px;min-width:0}
.review-drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.review-rating{font-size:24px;font-weight:800;color:#18d39a}
.review-body{background:#061629;border:1px solid #29415c;border-radius:10px;padding:16px;margin:14px 0;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.review-section{margin:0 0 15px}.review-section:last-child{margin-bottom:0}.review-section h3{font-size:12px;letter-spacing:.06em;margin:0 0 6px;color:var(--muted)}
.review-details{margin:12px 0;border:1px solid #29415c;border-radius:9px;padding:0 12px;background:#071a2c}.review-details summary{cursor:pointer;padding:11px 0;font-weight:700}.review-details pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.5;color:inherit;border-top:1px solid #29415c;padding:12px 0;margin:0}
.review-response{min-height:12.5em;line-height:1.55;resize:vertical}
.review-secondary-actions,.review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.review-secondary-actions{margin-bottom:12px}
.review-more{position:relative;display:inline-block;margin-top:12px}
.review-more>summary{list-style:none;display:grid;place-items:center;width:42px;min-height:38px;border:1px solid var(--line);border-radius:9px;color:var(--muted);cursor:pointer;font-size:20px;font-weight:800;line-height:1}
.review-more>summary::-webkit-details-marker{display:none}
.review-more-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:5;min-width:240px;padding:8px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px #0005}
.review-more-panel .btn{width:100%;text-align:left}.review-more-panel p{margin:8px 4px 4px}
.review-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.review-detail-grid div{background:#061629;border:1px solid #29415c;border-radius:9px;padding:11px}
.review-detail-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.review-empty{padding:28px 10px;color:var(--muted);text-align:center}

/* Interactive Issues */
.issue-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media(max-width:1250px){.issue-metrics{grid-template-columns:repeat(3,1fr)}}
.issue-metric{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:12px;padding:16px;text-align:left;color:var(--text);cursor:pointer}
.issue-metric:hover,.issue-metric.active{border-color:#168fff;background:#0a2038}
.issue-metric span{display:block;font-size:12px;color:#c9d7e5}
.issue-metric b{display:block;font-size:28px;margin:6px 0}
.issue-metric small{color:var(--muted)}
.issue-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.issue-list-card{min-height:540px}
.issue-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.issue-list-head select{min-width:170px}
.issue-item{padding:14px 0;border-top:1px solid #203850;cursor:pointer}
.issue-item:first-child{border-top:0}
.issue-item:hover,.issue-item.selected{background:#071a2c}
.issue-item.selected{border-left:3px solid #168fff;padding-left:10px}
.issue-item-top{display:flex;justify-content:space-between;gap:12px}
.issue-item-title{font-weight:700}
.issue-item-meta{color:var(--muted);font-size:12px;margin-top:5px}
.issue-drawer{position:sticky;top:114px}
.issue-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.issue-detail-grid div{background:#061629;border:1px solid #29415c;border-radius:9px;padding:11px}
.issue-detail-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.issue-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.issue-actions button{padding:10px;border-radius:9px;background:#11263a;color:#e5f0fd;border:1px solid #29415c;cursor:pointer}
.issue-actions button:hover{background:#17314b}
.issue-empty{padding:28px 10px;color:var(--muted);text-align:center}

/* Interactive In / Out board */
.movement-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media(max-width:1250px){.movement-cards,.staff-metrics{grid-template-columns:repeat(3,1fr)}.front-desk-summary-grid{grid-template-columns:repeat(3,1fr)}}
.movement-card{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:12px;padding:16px;text-align:left;color:var(--text);cursor:pointer}
.movement-card:hover,.movement-card.active{border-color:#168fff;background:#0a2038}
.movement-card span{display:block;font-size:12px;color:#c9d7e5}
.movement-card b{display:block;font-size:28px;margin:6px 0}
.movement-card small{color:var(--muted)}
.movement-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:16px;align-items:start}
.movement-list-card{min-height:520px}
.movement-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.movement-filters select{min-width:170px}
.movement-guest{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 0;border-top:1px solid #203850;cursor:pointer}
.movement-guest:first-child{border-top:0}
.movement-guest:hover{background:#071a2c}
.movement-guest-main b{display:block;margin-bottom:4px}
.movement-guest-main small{color:var(--muted)}
.movement-guest-right{text-align:right}
.movement-guest-right b{display:block;color:#dcecff}
.movement-guest-right small{color:var(--muted)}
.movement-drawer{position:sticky;top:114px}
.movement-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.movement-detail-grid div{background:#061629;border:1px solid #29415c;border-radius:9px;padding:11px}
.movement-detail-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.movement-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.movement-actions button{padding:10px;border-radius:9px;background:#11263a;color:#e5f0fd;border:1px solid #29415c;cursor:pointer}
.movement-actions button:hover{background:#17314b}
.movement-empty{padding:28px 10px;color:var(--muted);text-align:center}

@media(max-width:1100px){
  .rooms-layout{grid-template-columns:1fr}
  .drawer{position:static}
  .movement-layout{grid-template-columns:1fr}
  .movement-drawer{position:static}
  .issue-layout{grid-template-columns:1fr}
  .issue-drawer{position:static}
  .review-layout{grid-template-columns:1fr}
  .review-drawer{position:static}
  .staff-layout{grid-template-columns:1fr}
  .staff-drawer{position:static}
  .owner-layout{grid-template-columns:1fr}
  .owner-brief{position:static}
  .staff-today-grid{grid-template-columns:1fr}
}
@media(max-width:950px){
.app{grid-template-columns:minmax(0,1fr);max-width:100%}.content,main,.page{min-width:0;max-width:100%}.sidebar{display:none}.topbar{height:72px}.metrics{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.alertgrid{grid-template-columns:1fr 1fr}
main{padding:20px 18px 90px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#06111e;border-top:1px solid #17304e;overflow:auto;z-index:20}
.mobile-nav button{min-width:78px;flex:1;background:transparent;color:#afc1d3;border:0;padding:10px 5px;font-size:11px}.mobile-nav button.active{color:#3ba3ff;border-top:3px solid #168fff}.logo-mobile{display:block;position:absolute;left:16px;width:155px;height:44px;object-fit:contain;object-position:left center}
.room-grid{grid-template-columns:repeat(4,1fr)}
.movement-cards{grid-template-columns:1fr 1fr}
.issue-metrics{grid-template-columns:1fr 1fr}
.review-metrics{grid-template-columns:1fr 1fr}
.review-source-strip{grid-template-columns:1fr 1fr}
.staff-metrics{grid-template-columns:1fr 1fr}
.owner-metrics{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.metrics{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.movement-entry-actions .btn{width:100%}.hero h1{font-size:27px}.room-grid{grid-template-columns:repeat(3,1fr)}.movement-cards{grid-template-columns:1fr}.movement-detail-grid{grid-template-columns:1fr 1fr}.issue-metrics{grid-template-columns:1fr}.issue-detail-grid{grid-template-columns:1fr 1fr}.review-metrics{grid-template-columns:1fr}.review-source-strip{grid-template-columns:1fr 1fr}
.staff-metrics{grid-template-columns:1fr 1fr}
.owner-metrics{grid-template-columns:1fr 1fr}.review-detail-grid{grid-template-columns:1fr 1fr}.staff-metrics{grid-template-columns:1fr}.staff-detail-grid{grid-template-columns:1fr 1fr}.owner-metrics{grid-template-columns:1fr 1fr}.owner-signal-list{grid-template-columns:1fr}}
@media(max-width:560px){.front-desk-summary-grid{grid-template-columns:1fr}.exception-item,.staff-today-item{grid-template-columns:1fr}.exception-item-actions{justify-content:flex-start}.staff-today-grid{grid-template-columns:1fr}}


/* Billing + Support */
.saas-summary-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-bottom:16px}
.saas-plan-card h3,.support-help-card h3,.support-layout h3{margin:4px 0 9px}
.saas-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:15px 0}
.saas-detail{background:#061629;border:1px solid #29415c;border-radius:10px;padding:13px}
.saas-detail span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}
.saas-detail b{font-size:16px}
.saas-notice{display:flex;flex-direction:column;gap:4px;background:#071c2e;border:1px solid #285171;border-radius:10px;padding:13px;color:#d7e6f5}
.saas-notice span{color:var(--muted);font-size:12px;line-height:1.45}
.saas-feature-list{display:grid;gap:8px;margin:14px 0 18px;color:#d9e7f5;font-size:13px}
.billing-included-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.billing-included-grid>div{background:#061629;border:1px solid #29415c;border-radius:10px;padding:14px}
.billing-included-grid b,.billing-included-grid span{display:block}
.billing-included-grid span{color:var(--muted);font-size:12px;line-height:1.45;margin-top:5px}
.empty-saas-state{padding:24px;border:1px dashed #35516d;border-radius:11px;background:#061629;display:flex;flex-direction:column;gap:5px}
.empty-saas-state span{color:var(--muted);font-size:12px}

.support-help-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.support-help-card{min-height:165px}
.support-help-card p{color:var(--muted);font-size:12px;line-height:1.55;margin:0}
.support-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}
.support-privacy-note{margin-top:10px;padding:10px 12px;border-radius:9px;background:#231b12;border:1px solid #5e4625;color:#eac98f;font-size:11px;line-height:1.45}
.support-form-status{min-height:22px;margin-top:10px;font-size:12px;color:#8fcaff;font-weight:700}
.support-form-status.good{color:#8ee0b4}
.support-form-status.bad{color:#ff9fa8}
.support-honeypot{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}
.diagnostic-list{display:grid;gap:9px;margin:15px 0}
.diagnostic-list>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #203850;padding-bottom:9px}
.diagnostic-list span{color:var(--muted);font-size:12px}
.diagnostic-list b{font-size:12px;text-align:right;overflow-wrap:anywhere}
.support-beta-note{display:flex;flex-direction:column;gap:4px;margin-top:16px;background:#071c2e;border:1px solid #285171;border-radius:10px;padding:13px}
.support-beta-note span{color:var(--muted);font-size:12px;line-height:1.45}

@media(max-width:1050px){
  .saas-summary-grid,.support-layout{grid-template-columns:1fr}
  .support-help-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .saas-detail-grid,.billing-included-grid,.support-help-grid{grid-template-columns:1fr}
}



/* Account + Property switcher */
.account-nav-note{
  color:#62788f;
  font-size:10px;
  line-height:1.4;
  padding:11px 12px 2px;
}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;width:100%}
.menu-shell{position:relative}
.property-top{margin-right:0}
.property-switcher-button,.account-menu-button{
  border:1px solid #315777;
  background:#071b2f;
  color:#edf6ff;
  border-radius:11px;
  min-height:52px;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.property-switcher-button{padding:7px 11px;min-width:215px;text-align:left}
.account-menu-button{padding:5px 8px 5px 6px;max-width:245px;text-align:left}
.property-switcher-button:hover,.account-menu-button:hover,
.property-switcher-button[aria-expanded="true"],.account-menu-button[aria-expanded="true"]{
  border-color:#278ef7;background:#0a223b;box-shadow:0 6px 20px rgba(0,0,0,.18)
}
.property-switcher-icon{width:30px;height:30px;border-radius:8px;background:#0d64c8;display:grid;place-items:center;font-size:16px}
.property-switcher-copy,.account-menu-copy{min-width:0;display:flex;flex-direction:column}
.property-switcher-copy small{font-size:9px;color:#89a1b8;letter-spacing:.08em;font-weight:800}
.property-switcher-copy b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.account-menu-copy b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-menu-copy span{font-size:9px;color:#9db0c2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}
.menu-caret{font-size:11px;color:#91a6bb;margin-left:auto}
.account-avatar{width:38px;height:38px;font-size:13px;flex:0 0 auto}

.top-dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 9px);
  width:330px;
  background:#07192b;
  border:1px solid #315777;
  border-radius:13px;
  padding:9px;
  box-shadow:0 18px 45px rgba(0,0,0,.38);
  z-index:40;
  display:none;
}
.top-dropdown.open{display:block}
.property-dropdown{width:350px}
.dropdown-label{font-size:9px;color:#7890a7;font-weight:800;letter-spacing:.09em;padding:7px 8px 5px}
.dropdown-divider{height:1px;background:#203b57;margin:7px 4px}
.dropdown-property,.dropdown-action{
  width:100%;border:0;background:transparent;color:#eaf4ff;border-radius:9px;padding:10px;
  cursor:pointer;text-align:left;display:flex;align-items:center;gap:11px;font:inherit
}
.dropdown-property:hover,.dropdown-action:hover{background:#0c2945}
.dropdown-property.current{background:#09233b}
.dropdown-property-icon{width:32px;height:32px;border-radius:8px;background:#0d64c8;display:grid;place-items:center}
.dropdown-property>span:nth-child(2),.dropdown-action>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:2px}
.dropdown-property b,.dropdown-action b{font-size:12px}
.dropdown-property small,.dropdown-action small,.account-dropdown-head small{color:#92a8bc;font-size:10px;line-height:1.35}
.property-check{margin-left:auto;color:#7de3a7;font-weight:900}
.dropdown-coming{margin:4px 6px 7px;padding:10px;border-radius:9px;background:#0a2138;border:1px solid #244a68;display:flex;flex-direction:column;gap:4px}
.dropdown-coming b{font-size:11px}
.dropdown-coming span{color:#91a7bb;font-size:10px;line-height:1.4}
.dropdown-action>span:first-child{width:26px;text-align:center;color:#7fc4ff;font-size:15px;flex:0 0 auto}
.dropdown-action.danger b,.dropdown-action.danger>span:first-child{color:#ff969f}

.account-dropdown-head{display:flex;align-items:center;gap:10px;padding:8px}
.account-dropdown-head>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}
.account-dropdown-head b{font-size:13px}
.account-dropdown-avatar{width:38px;height:38px;font-size:12px}

.account-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.account-access-list{display:grid;gap:0;margin-top:12px}
.account-access-list>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #203850}
.account-access-list span{color:var(--muted);font-size:12px}
.account-access-list b{font-size:12px;text-align:right;overflow-wrap:anywhere}
.account-access-copy{line-height:1.55;margin-top:14px}
.account-tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.account-tool{border:1px solid #29415c;border-radius:11px;background:#061629;color:#fff;padding:16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:5px;font:inherit}
.account-tool:hover{border-color:#2d8cff;background:#0a2036}
.account-tool>span{font-size:18px;color:#71c0ff}
.account-tool b{font-size:13px}
.account-tool small{color:var(--muted);font-size:10px;line-height:1.4}
.account-tool.danger>span,.account-tool.danger b{color:#ff969f}

@media(max-width:900px){
  .topbar{padding:0 12px;height:82px}
  .property-switcher-button{min-width:0;width:52px;padding:6px;justify-content:center}
  .property-switcher-copy,.property-switcher-button>.menu-caret{display:none}
  .account-menu-copy{display:none}
  .account-menu-button{padding:5px}
  .cloud-state{padding:6px 7px;font-size:9px}
  .property-dropdown,.account-dropdown{position:fixed;left:12px;right:12px;top:76px;width:auto}
  .account-access-grid{grid-template-columns:1fr}
  .account-tool-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .account-tool-grid{grid-template-columns:1fr}
}



/* v2.2 clean onboarding + property creation */
.workspace-onboarding{
  position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;
  padding:24px;overflow:auto;
  background:
    radial-gradient(circle at 18% 12%,rgba(13,121,241,.18),transparent 32%),
    radial-gradient(circle at 85% 88%,rgba(22,199,155,.10),transparent 28%),
    linear-gradient(180deg,#020b18,#03111f);
}
.workspace-onboarding.hidden,.property-create-modal.hidden{display:none}
body.workspace-setup-locked .app{visibility:hidden}
.workspace-onboarding-card{
  width:min(720px,100%);background:linear-gradient(145deg,#08192c,#0b1e33);
  border:1px solid #294968;border-radius:20px;padding:34px;
  box-shadow:0 30px 80px rgba(0,0,0,.5)
}
.onboarding-kicker{margin-top:22px;color:#66b8ff;font-size:10px;font-weight:900;letter-spacing:.13em}
.workspace-onboarding-card h1{font-size:34px;margin:7px 0 8px}
.workspace-onboarding-card>p{color:var(--muted);line-height:1.6;max-width:650px;margin:0 0 22px}
.onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.onboarding-wide{grid-column:1/-1}
.onboarding-grid label{margin-top:0}
.clean-start-note{
  margin:18px 0;padding:13px 14px;border-radius:11px;
  border:1px solid #265576;background:#082139;
  display:flex;flex-direction:column;gap:3px
}
.clean-start-note b{font-size:12px;color:#dff3ff}
.clean-start-note span{font-size:11px;line-height:1.45;color:#9fb5c9}
.onboarding-primary{width:100%;margin-top:2px}
.onboarding-signout{
  display:block;margin:12px auto 0;border:0;background:transparent;color:#8fa6ba;
  cursor:pointer;font:inherit;font-size:11px;text-decoration:underline
}

.property-create-modal{
  position:fixed;inset:0;z-index:9997;background:rgba(1,8,17,.78);
  backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:22px
}
.property-create-card{
  width:min(650px,100%);background:#071a2d;border:1px solid #315777;
  border-radius:18px;padding:25px;box-shadow:0 28px 75px rgba(0,0,0,.5)
}
.property-create-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.property-create-head h2{margin:4px 0 0}
.modal-close{
  border:1px solid #2c4c69;background:#0b2238;color:#dcecff;border-radius:9px;
  width:36px;height:36px;cursor:pointer;font-size:21px;line-height:1
}
.modal-property-grid{margin-top:18px}
.property-create-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.property-create-foot{
  border-top:1px solid #203850;margin-top:15px;padding-top:12px;
  color:#8199af;font-size:10px;line-height:1.45
}
@media(max-width:600px){
  .workspace-onboarding{padding:12px;align-items:flex-start}
  .workspace-onboarding-card{padding:24px;margin-top:20px}
  .workspace-onboarding-card h1{font-size:28px}
  .onboarding-grid{grid-template-columns:1fr}
  .onboarding-wide{grid-column:auto}
  .property-create-modal{padding:10px;align-items:flex-start;overflow:auto}
  .property-create-card{margin-top:30px}
}



/* v2.9.6 property subscription paywall */
.subscription-gate{
  position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;
  padding:24px;overflow:auto;
  background:radial-gradient(circle at 18% 12%,rgba(13,121,241,.20),transparent 32%),radial-gradient(circle at 86% 86%,rgba(22,199,155,.10),transparent 28%),linear-gradient(180deg,rgba(2,11,24,.985),rgba(3,17,31,.99));
}
.subscription-gate.hidden{display:none}
.subscription-gate-card{width:min(760px,100%);background:linear-gradient(145deg,#08192c,#0b1e33);border:1px solid #315777;border-radius:20px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.58)}
.subscription-gate-kicker{margin-top:22px;color:#66b8ff;font-size:10px;font-weight:900;letter-spacing:.13em}
.subscription-gate-card h1{font-size:34px;margin:7px 0 8px}
.subscription-gate-card>p{color:var(--muted);line-height:1.6;max-width:680px;margin:0 0 20px}
.subscription-gate-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.subscription-gate-summary>div{background:#061629;border:1px solid #29415c;border-radius:11px;padding:14px}
.subscription-gate-summary span,.subscription-gate-summary b{display:block}
.subscription-gate-summary span{color:#86a0b8;font-size:10px;margin-bottom:5px}
.subscription-gate-summary b{font-size:14px;color:#eef7ff}
.subscription-gate-notice{border:1px solid #275a77;background:#082139;border-radius:11px;padding:14px;margin:0 0 16px;display:flex;flex-direction:column;gap:4px}
.subscription-gate-notice b{font-size:12px;color:#e8f6ff}
.subscription-gate-notice span{font-size:11px;color:#a2b8ca;line-height:1.5}
.subscription-gate-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.subscription-gate-actions .btn{min-height:45px}
.subscription-gate-properties{border-top:1px solid #203850;margin-top:22px;padding-top:16px}
.subscription-gate-properties-title{color:#7890a7;font-size:9px;font-weight:900;letter-spacing:.1em;margin-bottom:8px}
.subscription-gate-property-list{display:grid;gap:8px}
.subscription-gate-property{width:100%;border:1px solid #28445f;background:#07182b;color:#eaf4ff;border-radius:10px;padding:11px 12px;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font:inherit}
.subscription-gate-property:hover{border-color:#2d8cff;background:#0a2036}
.subscription-gate-property.current{border-color:#2c6c9c;background:#09233b}
.subscription-gate-property span{display:flex;flex-direction:column;gap:2px;min-width:0}
.subscription-gate-property b{font-size:12px;overflow-wrap:anywhere}
.subscription-gate-property small{font-size:10px;color:#8da6bd}
.subscription-gate-property em{font-size:9px;color:#7de3a7;font-style:normal;font-weight:900}
.subscription-gate-message{margin-top:12px;color:#9bb0c4;font-size:11px;line-height:1.5}
.subscription-gate-message.good{color:#76e6aa}.subscription-gate-message.bad{color:#ff9aa5}
body.subscription-locked{overflow:hidden}
body.subscription-locked.subscription-billing-open{overflow:auto}
@media(max-width:620px){.subscription-gate{padding:12px;align-items:flex-start}.subscription-gate-card{padding:24px;margin-top:20px}.subscription-gate-card h1{font-size:28px}.subscription-gate-summary{grid-template-columns:1fr}.subscription-gate-actions{display:grid;grid-template-columns:1fr}.subscription-gate-actions .btn{width:100%}}


/* v2.3 shared property access */
.access-summary-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;margin-bottom:16px}
.access-summary-card{min-height:120px}
.access-summary-card h3{font-size:24px;margin:8px 0}
.access-invite-card{margin-bottom:16px}
.access-copy{max-width:900px;line-height:1.55}
.access-invite-row{
  display:grid;grid-template-columns:minmax(260px,2fr) minmax(130px,.7fr) auto;
  gap:12px;align-items:end;margin-top:16px
}
.access-email-field,.access-role-field{min-width:0}
.access-fixed-role{
  min-height:48px;border:1px solid #294967;border-radius:10px;background:#06172a;
  padding:13px 14px;color:#dceeff;font-weight:800
}
.access-invite-button{height:48px;white-space:nowrap}
.access-security-note{
  margin-top:14px;border-top:1px solid #203850;padding-top:12px;
  color:#829bb1;font-size:10px;line-height:1.5
}
.access-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-bottom:16px}
.access-list{display:grid;gap:10px;margin-top:12px}
.access-person,.access-invite{
  border:1px solid #28445f;border-radius:11px;background:#07182b;
  padding:13px;display:flex;align-items:center;gap:12px
}
.access-person-avatar{
  width:38px;height:38px;border-radius:50%;background:#0d6ddd;color:#fff;
  display:grid;place-items:center;font-weight:900;flex:0 0 auto
}
.access-person-main,.access-invite-main{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}
.access-person-main b,.access-invite-main b{font-size:12px;overflow-wrap:anywhere}
.access-person-main small,.access-invite-main small{font-size:10px;color:#8ca4ba;overflow-wrap:anywhere}
.access-person-actions,.access-invite-actions{display:flex;align-items:center;gap:8px}
.access-role-pill{
  border:1px solid #315b7c;border-radius:999px;padding:5px 8px;
  color:#9dd0ff;font-size:9px;font-weight:900;text-transform:uppercase
}
.access-role-pill.owner{color:#89edb0;border-color:#2a6e50}
.access-revoke,.access-cancel{
  border:1px solid #61404b;background:#21131b;color:#ff9aa5;border-radius:8px;
  padding:7px 9px;cursor:pointer;font-size:10px;font-weight:800
}
.access-revoke:hover,.access-cancel:hover{background:#321923}
.access-manager-notice{margin-bottom:16px;border-color:#315b7c}
.access-manager-notice p,.access-beta-note p{color:var(--muted);line-height:1.55;margin-bottom:0}
.access-beta-note{margin-bottom:24px}
.access-current{color:#89edb0;font-size:9px;font-weight:900}
@media(max-width:900px){
  .access-summary-grid,.access-columns{grid-template-columns:1fr}
  .access-invite-row{grid-template-columns:1fr}
  .access-invite-button{width:100%}
}
@media(max-width:520px){
  .access-person,.access-invite{align-items:flex-start;flex-wrap:wrap}
  .access-person-actions,.access-invite-actions{width:100%;justify-content:space-between}
}



/* v2.3.1 role-permission visibility */
.access-invite-card.hidden,
.access-manager-notice.hidden{
  display:none !important;
}



/* v2.3.2 no-property-access state */
.no-access-gate{
  position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  padding:24px;overflow:auto;
  background:
    radial-gradient(circle at 18% 12%,rgba(13,121,241,.18),transparent 32%),
    radial-gradient(circle at 85% 88%,rgba(22,199,155,.08),transparent 28%),
    linear-gradient(180deg,#020b18,#03111f);
}
.no-access-gate.hidden{display:none}
body.no-property-access .app{visibility:hidden}
.no-access-card{
  width:min(650px,100%);background:linear-gradient(145deg,#08192c,#0b1e33);
  border:1px solid #294968;border-radius:20px;padding:34px;
  box-shadow:0 30px 80px rgba(0,0,0,.5)
}
.no-access-kicker{margin-top:22px;color:#66b8ff;font-size:10px;font-weight:900;letter-spacing:.13em}
.no-access-card h1{font-size:34px;margin:7px 0 8px}
.no-access-card>p{color:var(--muted);line-height:1.6;margin:0 0 22px}
.no-access-account{
  border:1px solid #294967;background:#06172a;border-radius:11px;
  padding:14px 15px;display:flex;flex-direction:column;gap:3px;margin-bottom:14px
}
.no-access-account span{font-size:10px;color:#829bb1;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.no-access-account b{font-size:14px;overflow-wrap:anywhere}
.no-access-note{
  border:1px solid #315777;background:#082139;border-radius:11px;padding:14px 15px;
  display:flex;flex-direction:column;gap:4px
}
.no-access-note b{font-size:12px}
.no-access-note span{font-size:11px;color:#9fb5c9;line-height:1.5}
.no-access-actions{display:flex;gap:10px;margin-top:18px}
.no-access-actions .btn{flex:1}
@media(max-width:520px){
  .no-access-gate{padding:12px;align-items:flex-start}
  .no-access-card{margin-top:24px;padding:24px}
  .no-access-card h1{font-size:28px}
  .no-access-actions{flex-direction:column}
}



/* v2.4 beta mobile readiness */
body{overflow-x:hidden}
.ai-allowance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}
.ai-allowance-grid>div{background:#061629;border:1px solid #29415c;border-radius:10px;padding:14px}
.ai-allowance-grid span,.ai-allowance-grid small{display:block;color:var(--muted);font-size:11px;line-height:1.4}
.ai-allowance-grid b{display:block;font-size:23px;margin:6px 0}
.ai-allowance-notice{display:grid;gap:4px;margin:12px 0;padding:12px 14px;border:1px solid #315777;border-radius:10px;background:#082139;color:#dceeff;line-height:1.45}
.ai-allowance-notice[hidden]{display:none}
.ai-allowance-notice b{font-size:12px;color:#f2f8ff}
.ai-allowance-notice span{font-size:11px;color:#b6c9da}
.ai-allowance-notice small{font-size:10px;color:#8fc6f4}
.ai-allowance-notice.low{border-color:#77652b;background:#241f0e}
.ai-allowance-notice.low b{color:#ffe7a1}
.ai-allowance-notice.low span{color:#d8c99b}
.ai-allowance-notice.blocked{border-color:#74414a;background:#28131a}
.ai-allowance-notice.blocked b{color:#ffb6bd}
.ai-allowance-notice.blocked span{color:#e3b8bd}
.ai-allowance-notice.blocked small{color:#ffced3}

@media(max-width:950px){
  .mobile-nav{
    padding-bottom:env(safe-area-inset-bottom);
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  .mobile-nav::-webkit-scrollbar{display:none}
  .mobile-nav button{min-height:58px;min-width:76px;touch-action:manipulation}
  main{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  .top-dropdown{
    max-height:calc(100dvh - 160px);
    overflow:auto;
    overscroll-behavior:contain;
  }
}

@media(max-width:600px){
  .topbar{height:68px;padding:0 10px}
  .logo-mobile{display:none}
  .topbar-actions{justify-content:space-between;gap:8px}
  .property-switcher-button{
    width:min(68vw,245px);min-width:0;padding:6px 9px;justify-content:flex-start
  }
  .property-switcher-copy{display:flex}
  .property-switcher-copy small{display:none}
  .property-switcher-copy b{max-width:180px;font-size:13px}
  .property-switcher-button>.menu-caret{display:block}
  .account-menu-button{margin-left:auto;flex:0 0 auto}
  .property-dropdown,.account-dropdown{left:8px;right:8px;top:66px}
  main{padding:18px 12px calc(90px + env(safe-area-inset-bottom))}
  .card{padding:16px}
  .metric{padding:16px}
  .metric b{font-size:27px}
  .metrics,.alertgrid{gap:10px}
  input,textarea,select{font-size:16px}
  .btn,.status-actions button,.movement-actions button{min-height:44px;touch-action:manipulation}
  .hero p{line-height:1.45}
  .ai-allowance-grid{grid-template-columns:1fr}
}

@media(max-width:420px){
  .property-switcher-button{width:calc(100% - 58px)}
  .account-menu-button>.menu-caret{display:none}
  .property-switcher-copy b{max-width:calc(100vw - 155px)}
  .metrics{grid-template-columns:1fr 1fr}
  .metric small{font-size:10px}
  .metric b{font-size:25px}
  .room-grid{grid-template-columns:repeat(2,1fr)}
  .review-source-strip{grid-template-columns:1fr}
  .movement-detail-grid,.issue-detail-grid,.review-detail-grid,.staff-detail-grid{grid-template-columns:1fr}
}



/* v2.4.1 intentional mobile navigation */
.mobile-more-sheet{display:none}
@media(max-width:950px){
  .mobile-nav{display:flex;gap:0;overflow:visible;width:auto;max-width:100vw}
  .mobile-nav button{flex:1 1 0;min-width:0;width:auto;padding:8px 3px 7px;font-size:10px;line-height:1.15;text-align:center}
  .mobile-nav button br{line-height:1.6}
  .mobile-more-sheet{position:fixed;inset:0;z-index:120;display:block}
  .mobile-more-sheet.hidden{display:none}
  .mobile-more-backdrop{position:absolute;inset:0;border:0;background:rgba(1,8,17,.70);backdrop-filter:blur(4px);cursor:pointer}
  .mobile-more-panel{max-height:calc(100dvh - 110px);overflow-y:auto;position:absolute;left:10px;right:10px;bottom:calc(72px + env(safe-area-inset-bottom));background:#071a2d;border:1px solid #315777;border-radius:17px;padding:16px;box-shadow:0 25px 70px rgba(0,0,0,.5)}
  .mobile-more-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
  .mobile-more-head h3{margin:3px 0 0;font-size:22px}
  .mobile-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
  .mobile-more-grid button{border:1px solid #294967;border-radius:12px;background:#061629;color:#fff;padding:14px;min-height:110px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;text-align:left;cursor:pointer;font:inherit;touch-action:manipulation}
  .mobile-more-grid button:active{background:#0a2036}
  .mobile-more-grid button>span{font-size:19px;color:#72c1ff;margin-bottom:3px}
  .mobile-more-grid button b{font-size:13px;overflow-wrap:anywhere}.mobile-more-grid button{min-width:0}
  .mobile-more-grid button small{font-size:10px;line-height:1.4;color:#8da5ba}
  .mobile-more-note{margin-top:12px;border-top:1px solid #203850;padding-top:11px;color:#8098ad;font-size:10px;line-height:1.45}
  body.mobile-more-open{overflow:hidden}
}
@media(max-width:420px){
  .mobile-more-panel{left:8px;right:8px;bottom:calc(70px + env(safe-area-inset-bottom));padding:14px}
  .mobile-more-grid{gap:8px}
  .mobile-more-grid button{min-height:102px;padding:12px}
}



/* v2.5 Document Intelligence */
.document-intelligence-card.hidden,.document-intelligence-result.hidden{display:none!important}
.doc-intel-head,.doc-result-toolbar,.doc-library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.doc-intel-head p{max-width:780px;line-height:1.55;margin-bottom:0}
.doc-intel-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;margin-top:18px}
.document-drop-zone{border:1px dashed #3f739b;background:#071a2d;border-radius:14px;padding:24px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;transition:.15s ease}
.document-drop-zone:hover,.document-drop-zone.dragging{border-color:#53aaff;background:#0a223a;box-shadow:inset 0 0 0 2px rgba(83,170,255,.24)}
.document-drop-zone.dragging b:after{content:" • Release to upload";color:#78c7ff}
.doc-drop-icon{width:42px;height:42px;border-radius:11px;background:#0d64c8;display:grid;place-items:center;font-size:21px;margin-bottom:4px}
.document-drop-zone b{font-size:14px}.document-drop-zone span{font-size:11px;color:#9db2c5}.document-drop-zone small{font-size:10px;color:#738ca3;margin-top:4px;line-height:1.45}
.doc-library-head{margin-top:18px;align-items:center}.doc-library-head h3{margin:3px 0 0}
.document-library-list{display:grid;gap:9px;margin-top:11px}
.doc-file-row{display:flex;align-items:center;gap:10px;border:1px solid #27445f;background:#061629;border-radius:11px;padding:11px}
.doc-file-check{width:18px;height:18px;accent-color:#2385e8;flex:0 0 auto}
.doc-file-icon{width:34px;height:34px;border-radius:9px;background:#0b3154;color:#7cc5ff;display:grid;place-items:center;font-size:10px;font-weight:900;flex:0 0 auto;text-transform:uppercase}
.doc-file-main{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}.doc-file-main b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-file-main small{font-size:9px;color:#839bb0}
.doc-file-delete{border:1px solid #5a3d48;background:#21131b;color:#ff9aa5;border-radius:8px;padding:7px 8px;cursor:pointer;font-size:10px}
.doc-status{margin-top:9px;min-height:15px}
.doc-analysis-panel{border:1px solid #294a67;background:#07182b;border-radius:13px;padding:16px;height:max-content}
.doc-analysis-panel h3{margin:3px 0 12px}.doc-analysis-panel textarea{min-height:105px}
.doc-guardrail-box{margin:14px 0;border:1px solid #294a67;background:#061629;border-radius:11px;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.doc-guardrail-box>div{display:flex;flex-direction:column;gap:3px}.doc-guardrail-box span{font-size:9px;color:#829ab0;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.doc-guardrail-box b{font-size:14px}.doc-guardrail-box small{grid-column:1/-1;color:#7f97ac;line-height:1.45;border-top:1px solid #203850;padding-top:9px}
.doc-analyze-btn{width:100%;min-height:46px}.doc-analyze-btn:disabled{opacity:.55;cursor:not-allowed}
.document-intelligence-result{margin-top:16px}.doc-result-toolbar{align-items:center}.doc-result-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #203850;margin-top:16px;padding-top:14px}.doc-result-footer>.small-muted{max-width:620px;line-height:1.45}
.doc-source-ref{display:inline;border-radius:5px;background:#0b2b48;color:#9bd2ff;padding:1px 4px;font-size:.92em;white-space:normal}
.doc-analysis-error{color:#ff9aa5!important}.doc-analysis-good{color:#86e9ac!important}
@media(max-width:900px){.doc-intel-grid{grid-template-columns:1fr}.doc-result-footer{align-items:flex-start;flex-direction:column}.doc-result-footer .actions{width:100%}}
@media(max-width:520px){.doc-intel-head,.doc-result-toolbar,.doc-library-head{gap:10px}.doc-intel-head>.tag,.doc-result-toolbar>.tag{display:none}.document-drop-zone{padding:19px 12px}.doc-file-row{align-items:flex-start;flex-wrap:wrap}.doc-file-main{min-width:calc(100% - 78px)}.doc-file-delete{margin-left:auto}.doc-guardrail-box{grid-template-columns:1fr}.doc-guardrail-box small{grid-column:auto}.doc-result-footer .actions{display:grid;grid-template-columns:1fr}.doc-result-footer .btn{width:100%}}


/* v2.6 Compliance & Inspections */
.compliance-card{border-color:#355069;background:linear-gradient(180deg,#071a2d 0%,#061525 100%)}
.compliance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.compliance-head p{max-width:760px;line-height:1.5;margin-bottom:0}
.compliance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}
.compliance-stat{border:1px solid #294863;background:#061629;border-radius:11px;padding:12px;display:flex;flex-direction:column;gap:3px}.compliance-stat span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#8199ae;font-weight:800}.compliance-stat b{font-size:22px}.compliance-stat small{font-size:9px;color:#7890a6}
.compliance-stat.overdue{border-color:#70414a;background:#24141b}.compliance-stat.overdue b{color:#ff98a3}.compliance-stat.soon{border-color:#725e34;background:#211c10}.compliance-stat.soon b{color:#ffd27a}
.compliance-workspace{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:16px}
.compliance-editor,.compliance-list-panel{border:1px solid #294863;background:#061629;border-radius:12px;padding:14px}.compliance-editor h3,.compliance-list-panel h3{margin:2px 0 11px}
.compliance-upload-box{border:1px dashed #3b6f96;border-radius:11px;padding:12px;background:#071a2d;margin-bottom:12px}.compliance-upload-box input[type=file]{padding:8px;background:#05111f}.compliance-upload-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.compliance-upload-actions small{color:#7f98ad;line-height:1.4;flex:1;min-width:180px}
.compliance-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compliance-form-grid .full{grid-column:1/-1}.compliance-form-grid textarea{min-height:82px}
.compliance-ai-evidence{border-left:3px solid #2c78b8;padding:8px 10px;margin:9px 0;color:#8fb4d1;font-size:10px;line-height:1.45;background:#071a2d;border-radius:0 8px 8px 0}.compliance-ai-evidence.hidden{display:none!important}
.compliance-list{display:grid;gap:9px}.compliance-row{border:1px solid #294863;background:#07182a;border-radius:11px;padding:12px}.compliance-row-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.compliance-row-main{min-width:0;display:flex;flex-direction:column;gap:3px}.compliance-row-main b{font-size:12px}.compliance-row-main small{font-size:9px;color:#829ab0;line-height:1.45}.compliance-row-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.compliance-row-actions button{border:1px solid #31516d;background:#0a2137;color:#dce9f4;border-radius:8px;padding:7px 9px;cursor:pointer;font-size:9px}.compliance-row-actions button.danger{border-color:#5e3c46;background:#21131a;color:#ff9da8}
.compliance-pill{display:inline-flex;align-items:center;border:1px solid #365873;background:#0b2a45;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;white-space:nowrap;color:#a9d8ff}.compliance-pill.current{border-color:#35654e;background:#10271d;color:#8be8ad}.compliance-pill.upcoming{border-color:#6d5a34;background:#251f12;color:#ffd17a}.compliance-pill.urgent{border-color:#7b4939;background:#2a1712;color:#ffb28f}.compliance-pill.overdue{border-color:#75404b;background:#29151c;color:#ff9ba7}.compliance-pill.pending{border-color:#5c5578;background:#1d1930;color:#c6b8ff}
.compliance-empty{border:1px dashed #2b4963;border-radius:10px;padding:22px;text-align:center;color:#7d96ab;font-size:11px;line-height:1.5}
.compliance-house-alert{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #705736;background:linear-gradient(135deg,#231c10,#151a22);margin-top:14px}.compliance-house-alert.hidden{display:none!important}.compliance-house-copy{display:flex;align-items:flex-start;gap:11px}.compliance-house-icon{width:36px;height:36px;border-radius:10px;background:#6d531d;color:#ffe0a1;display:grid;place-items:center;font-size:18px;flex:0 0 auto}.compliance-house-copy h3{margin:1px 0 3px;font-size:14px}.compliance-house-copy p{margin:0;color:#a9b8c5;font-size:10px;line-height:1.45}.compliance-house-alert .btn{flex:0 0 auto}
@media(max-width:900px){.compliance-workspace{grid-template-columns:1fr}.compliance-summary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.compliance-head{gap:10px}.compliance-head>.tag{display:none}.compliance-form-grid{grid-template-columns:1fr}.compliance-form-grid .full{grid-column:auto}.compliance-summary{grid-template-columns:1fr 1fr}.compliance-house-alert{align-items:flex-start;flex-direction:column}.compliance-house-alert .btn{width:100%}.compliance-row-top{flex-direction:column}.compliance-pill{align-self:flex-start}}

/* v2.7 Compliance Report Generator */
.compliance-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.compliance-report-shell{padding:0;overflow:hidden;border-color:#355069}
.compliance-report-document .compliance-report-table{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:11px}
.compliance-report-document .compliance-report-table th{background:#e8eef5;color:#18344f;text-align:left;padding:8px;border:1px solid #cbd6e1;font-size:10px;text-transform:uppercase;letter-spacing:.03em}
.compliance-report-document .compliance-report-table td{padding:8px;border:1px solid #d7e0e9;vertical-align:top}
.compliance-report-document .compliance-report-table td small{display:block;color:#5c6d7e;margin-top:3px;line-height:1.35}
.compliance-report-status{display:inline-block;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800;background:#e8eef5;color:#18344f;white-space:nowrap}
.compliance-report-status.current{background:#e2f4e8;color:#1c6637}.compliance-report-status.upcoming{background:#fff1ce;color:#795715}.compliance-report-status.urgent{background:#ffe3d6;color:#8a3f1f}.compliance-report-status.overdue{background:#ffe0e4;color:#8a2534}.compliance-report-status.pending{background:#ece7ff;color:#55428a}
.compliance-report-disclaimer{border-top:1px solid #d7e0e9;margin-top:24px;padding-top:12px;color:#667687;font-size:10px;line-height:1.45}
@media(max-width:760px){.compliance-head-actions{justify-content:flex-start}.compliance-report-document{overflow-x:auto}.compliance-report-document .compliance-report-table{min-width:720px}}

/* Founding Beta public purchase journey */
.purchase-gate{position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 78% 12%,rgba(13,121,241,.16),transparent 34%),linear-gradient(180deg,#020b18,#03111f);overflow:auto}
.purchase-gate.hidden{display:none}
.purchase-card{width:min(920px,100%);display:grid;grid-template-columns:1.08fr .92fr;background:linear-gradient(145deg,#08192c,#0b1e33);border:1px solid #294968;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.52)}
.purchase-copy{padding:38px}.purchase-form{padding:38px;background:#061629;border-left:1px solid #294968}
.purchase-kicker{color:#65b6ff;font-size:11px;font-weight:900;letter-spacing:.16em;margin-top:24px}.purchase-copy h1{font-size:39px;line-height:1.08;margin:9px 0 12px}.purchase-lead{color:var(--muted);line-height:1.6;margin:0 0 24px}
.purchase-price{display:flex;align-items:flex-end;gap:7px;margin:8px 0 22px}.purchase-price b{font-size:50px;line-height:1}.purchase-price span{color:var(--muted);padding-bottom:6px}
.purchase-includes{display:grid;gap:11px}.purchase-includes div{display:grid;grid-template-columns:22px 1fr;gap:9px;color:#dcecff;line-height:1.4}.purchase-includes div::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#153c2e;color:#9ae4bd;font-weight:900;font-size:12px}
.purchase-form h2{margin:0 0 8px;font-size:25px}.purchase-form>p{color:var(--muted);line-height:1.5;margin:0 0 18px}.purchase-primary{width:100%;margin-top:16px;padding:13px 16px}.purchase-security{display:flex;align-items:flex-start;gap:9px;margin-top:14px;color:var(--muted);font-size:12px;line-height:1.45}.purchase-switch{border:0;background:transparent;color:#65b6ff;padding:0;cursor:pointer;font-weight:800}.purchase-legal{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;padding-top:17px;border-top:1px solid #203850;font-size:11px}.purchase-legal a{color:#9bc8ff}.purchase-account-panel.hidden,.purchase-checkout-panel.hidden{display:none}.purchase-message{min-height:22px;margin-top:13px;color:#9bc8ff;font-size:13px;line-height:1.45}.purchase-message.bad{color:#ffacb2}.purchase-message.good{color:#9ae4bd}
@media(max-width:760px){.purchase-gate{padding:12px;align-items:flex-start}.purchase-card{grid-template-columns:1fr;margin:16px 0}.purchase-copy,.purchase-form{padding:26px}.purchase-form{border-left:0;border-top:1px solid #294968}.purchase-copy h1{font-size:32px}.purchase-price b{font-size:43px}}


html.purchase-entry #authGate{display:none!important}
html.purchase-entry #purchaseGate{display:flex!important}


/* Hybrid light workspace foundation — fixed theme for staging approval. */
:root{
  --shell-sidebar:#031225;
  --shell-header:#071a2d;
  --workspace-bg:#f4f6f8;
  --surface-card:#fffefc;
  --text-primary:#102235;
  --text-secondary:#58697a;
  --border-subtle:#d6dee6;
  --border-control:#8797a8;
  --brand-blue:#0c83ff;
  --action-blue:#0a66c2;
  --action-blue-hover:#084f99;
  --selected-blue-bg:#dceeff;
  --selected-blue-text:#075ead;
  --success:#18794e;
  --success-bg:#e8f5ee;
  --warning:#8a5200;
  --warning-bg:#fff3d6;
  --danger:#b42332;
  --danger-bg:#fdebed;
  --muted-bg:#e9eef3;
  --focus-ring:#0a66c2;
  --workspace-shadow:0 4px 14px rgba(16,34,53,.08);
}

@media screen{
  body{background:var(--workspace-bg)}
  .content{min-height:100vh;background:var(--workspace-bg)}
  .sidebar{background:var(--shell-sidebar)}
  .topbar{background:var(--shell-header);color:#f7f9fc;box-shadow:0 1px 0 rgba(255,255,255,.03)}
  main>.page>.hero{color:var(--text-primary)}
  main>.page>.hero p{color:var(--text-secondary)}

  #house,#owner,#compliance{color:var(--text-primary)}
  #house .card,#house .metric,
  #owner .card,#owner .owner-metric,
  #compliance .card{
    background:var(--surface-card);
    border-color:var(--border-subtle);
    box-shadow:var(--workspace-shadow)
  }
#house .metric small,#owner .owner-metric span,#owner .owner-metric small{color:var(--text-secondary)}
  #house .metric b,#owner .owner-metric b{color:var(--text-primary)}
  #house .trend,#owner .trend{color:var(--selected-blue-text)}
  #house .spark{border-color:var(--brand-blue)}
  #house .small-muted,#owner .small-muted,#compliance .small-muted{color:var(--text-secondary)}
  #house .row,#owner .row,#compliance .row{border-color:var(--border-subtle)}

  #house .btn,#owner .btn,#compliance .btn,dialog.card .btn{
    background:var(--action-blue);color:#fff;border:1px solid var(--action-blue)
  }
  #house .btn:hover,#owner .btn:hover,#compliance .btn:hover,dialog.card .btn:hover{background:var(--action-blue-hover);border-color:var(--action-blue-hover)}
  #house .btn.secondary,#owner .btn.secondary,#compliance .btn.secondary,dialog.card .btn.secondary{
    background:var(--muted-bg);color:var(--text-primary);border-color:var(--border-control)
  }
  #house .btn.secondary:hover,#owner .btn.secondary:hover,#compliance .btn.secondary:hover,dialog.card .btn.secondary:hover{background:#dce4eb;border-color:#64788b}
  #house .btn.ghost,#owner .btn.ghost,#compliance .btn.ghost{
    background:transparent;color:var(--action-blue);border-color:var(--action-blue)
  }
  #house .btn.ghost:hover,#owner .btn.ghost:hover,#compliance .btn.ghost:hover{background:var(--selected-blue-bg);color:var(--action-blue-hover)}
  #house button:focus-visible,#owner button:focus-visible,#compliance button:focus-visible,
  #house input:focus-visible,#owner input:focus-visible,#compliance input:focus-visible,
  #house textarea:focus-visible,#owner textarea:focus-visible,#compliance textarea:focus-visible,
  #house select:focus-visible,#owner select:focus-visible,#compliance select:focus-visible,
  dialog.card button:focus-visible,dialog.card a:focus-visible{
    outline:3px solid rgba(10,102,194,.36);outline-offset:2px
  }

  #house input,#house textarea,#house select,
  #owner input,#owner textarea,#owner select,
  #compliance input,#compliance textarea,#compliance select{
    background:#fff;color:var(--text-primary);border-color:var(--border-control)
  }
  #house input::placeholder,#house textarea::placeholder,
  #owner input::placeholder,#owner textarea::placeholder,
  #compliance input::placeholder,#compliance textarea::placeholder{color:#6b7c8d;opacity:1}
  #house label,#owner label,#compliance label{color:var(--text-primary)}

  #house .tag,#owner .tag,#compliance .tag{
    background:var(--selected-blue-bg);color:var(--selected-blue-text);border:1px solid #b6d9f8
  }
  #house .tag.good,#owner .tag.good,#compliance .tag.good{background:var(--success-bg);color:var(--success);border-color:#b9dfca}
  #house .tag.warn,#owner .tag.warn,#compliance .tag.warn{background:var(--warning-bg);color:var(--warning);border-color:#ecd49f}
  #house .tag.bad,#owner .tag.bad,#compliance .tag.bad{background:var(--danger-bg);color:var(--danger);border-color:#efc4ca}

  #house .house-kpi-action{color:var(--text-primary)}
  #house .house-kpi-action:hover,#house .house-kpi-action:focus-visible{
    border-color:var(--brand-blue);box-shadow:0 7px 20px rgba(16,34,53,.12)
  }
  #house .source-freshness-strip,#owner .source-freshness-strip{color:var(--text-secondary)}
  #house .today-operation{
    background:#fff;color:var(--text-primary);border-color:var(--border-subtle);box-shadow:0 2px 7px rgba(16,34,53,.05)
  }
  #house .today-operation span,#house .today-operation small{color:var(--text-secondary)}
  #house .today-operation:hover,#house .today-operation:focus-visible{background:#f3f8fd;border-color:var(--brand-blue);box-shadow:0 7px 16px rgba(16,34,53,.12)}
  #house .kpi-go{color:var(--selected-blue-text)}
  #house .gm-ai-summary,#house .gm-ai-section{
    background:var(--muted-bg);color:var(--text-primary);border-color:var(--border-subtle)
  }
  #house .gm-ai-item{border-color:var(--border-subtle)}
  #house .gm-ai-item .num{background:var(--selected-blue-bg);color:var(--selected-blue-text)}
  #house .alert{border-color:var(--border-subtle)}
  #house .alert-action{background:#fff;color:var(--text-primary)}
  #house .alert-action b{color:var(--text-primary)}
  #house .alert-action:hover,#house .alert-action:focus-visible{background:#f7fbff;border-color:var(--brand-blue);box-shadow:0 7px 18px rgba(16,34,53,.1)}
  #house .alert-go{color:var(--action-blue)}
  #house .compliance-house-alert{background:var(--warning-bg);border-color:#d9b96f}
  #house .compliance-house-icon{background:#f2d18b;color:#6c4300}
  #house .compliance-house-copy p{color:var(--text-secondary)}

  #owner .owner-signal,#owner .owner-callout,
  #owner .document-drop-zone,#owner .doc-file-row,
  #owner .doc-analysis-panel,#owner .doc-guardrail-box{
    background:var(--muted-bg);border-color:var(--border-subtle);color:var(--text-primary)
  }
  #owner .owner-signal p{color:var(--text-primary)}
  #owner .owner-options,#owner .owner-options label{color:var(--text-primary)}
  #owner .owner-brief-item,#owner .doc-result-footer,#owner .doc-guardrail-box small{border-color:var(--border-subtle)}
  #owner .signal-icon{background:var(--selected-blue-bg);border-color:#b6d9f8;color:var(--selected-blue-text)}
  #owner .document-drop-zone:hover,#owner .document-drop-zone.dragging{background:#eef7ff;border-color:var(--brand-blue)}
  #owner .doc-file-main small,#owner .document-drop-zone span,#owner .document-drop-zone small,
  #owner .doc-guardrail-box span,#owner .doc-guardrail-box small{color:var(--text-secondary)}
  #owner .doc-file-icon{background:var(--selected-blue-bg);color:var(--selected-blue-text)}
  #owner .doc-file-delete{background:var(--danger-bg);color:var(--danger);border-color:#dbaeb5}
  #owner .doc-source-ref{background:var(--selected-blue-bg);color:var(--selected-blue-text)}

  #compliance .compliance-card{background:var(--surface-card);border-color:var(--border-subtle)}
  #compliance .compliance-stat,#compliance .compliance-editor,#compliance .compliance-list-panel,
  #compliance .compliance-upload-box,#compliance .compliance-row{
    background:var(--muted-bg);border-color:var(--border-subtle);color:var(--text-primary)
  }
  #compliance .compliance-stat span,#compliance .compliance-stat small,
  #compliance .compliance-row-main small,#compliance .compliance-upload-actions small{color:var(--text-secondary)}
  #compliance .compliance-stat.overdue{background:var(--danger-bg);border-color:#e3b1b9}
  #compliance .compliance-stat.overdue b{color:var(--danger)}
  #compliance .compliance-stat.soon{background:var(--warning-bg);border-color:#dfc17e}
  #compliance .compliance-stat.soon b{color:var(--warning)}
  #compliance .compliance-upload-box input[type=file]{background:#fff;color:var(--text-primary)}
  #compliance .compliance-ai-evidence{background:#edf6ff;color:#315a7d;border-color:var(--action-blue)}
  #compliance .compliance-row-actions button{background:#fff;color:var(--selected-blue-text);border-color:#9ab6cf}
  #compliance .compliance-row-actions button:hover{background:var(--selected-blue-bg)}
  #compliance .compliance-row-actions button.danger{background:var(--danger-bg);color:var(--danger);border-color:#dbaeb5}
  #compliance .compliance-pill{background:var(--selected-blue-bg);color:var(--selected-blue-text);border-color:#b6d9f8}
  #compliance .compliance-pill.current{background:var(--success-bg);color:var(--success);border-color:#b9dfca}
  #compliance .compliance-pill.upcoming{background:var(--warning-bg);color:var(--warning);border-color:#dfc17e}
  #compliance .compliance-pill.urgent,#compliance .compliance-pill.overdue{background:var(--danger-bg);color:var(--danger);border-color:#e3b1b9}
  #compliance .compliance-pill.pending{background:#f0ecff;color:#5b4691;border-color:#d2c8f4}
  #compliance .compliance-empty{color:var(--text-secondary);border-color:var(--border-control)}

  #owner .owner-report-toolbar,#owner .owner-report-footer,
  #compliance .owner-report-toolbar,#compliance .owner-report-footer{background:var(--shell-header);color:#f7f9fc;border-color:#29415c}
  #owner .owner-report-toolbar .small-muted,#owner .owner-report-footer .small-muted,
  #compliance .owner-report-toolbar .small-muted,#compliance .owner-report-footer .small-muted{color:#a9b9ca}
  #owner .owner-report-kpi-strip,#compliance .owner-report-kpi-strip{background:#eef2f6;border-color:var(--border-subtle);color:var(--text-primary)}
  #owner .owner-report-kpi-strip>div,#compliance .owner-report-kpi-strip>div{border-color:var(--border-subtle)}
  #owner .owner-report-kpi-strip span,#compliance .owner-report-kpi-strip span{color:var(--text-secondary)}

  /* Phase 3–5: complete the light treatment across operational workspaces. */
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit){color:var(--text-primary)}
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .card{
    background:var(--surface-card);border-color:var(--border-subtle);box-shadow:var(--workspace-shadow)
  }
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .small-muted,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .room-summary,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .room-filter-summary,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .movement-entry-help,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .movement-summary,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .movement-history-meta,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .movement-history-empty,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .movement-empty,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .issue-item-meta,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .issue-empty,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .review-inbox-meta,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .review-empty,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .staff-meta,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .staff-empty,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .staff-lifecycle-note,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .shift-item small,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .floor-builder-help{color:var(--text-secondary)}
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .row,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .movement-history-row,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .staff-shifts-section,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .staff-lifecycle,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .shift-item{border-color:var(--border-subtle)}

  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) label{color:var(--text-primary)}
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) input,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) textarea,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) select{
    background:#fff;color:var(--text-primary);border-color:var(--border-control)
  }
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) input[readonly],
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) textarea[readonly],
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) select:disabled{background:#f1f4f7;color:#465a6e}
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) input::placeholder,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) textarea::placeholder{color:#6b7c8d;opacity:1}
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) input:focus-visible,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) textarea:focus-visible,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) select:focus-visible,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) button:focus-visible,
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) a:focus-visible{
    outline:3px solid rgba(10,102,194,.36);outline-offset:2px
  }

  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .btn{
    background:var(--action-blue);color:#fff;border:1px solid var(--action-blue)
  }
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .btn:hover{background:var(--action-blue-hover);border-color:var(--action-blue-hover)}
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .btn.secondary{
    background:var(--muted-bg);color:var(--text-primary);border-color:var(--border-control)
  }
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .btn.secondary:hover{background:#dce4eb;border-color:#64788b}
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .btn.ghost{
    background:transparent;color:var(--action-blue);border-color:var(--action-blue)
  }
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .btn.ghost:hover{background:var(--selected-blue-bg);color:var(--action-blue-hover)}

  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .tag{
    background:var(--selected-blue-bg);color:var(--selected-blue-text);border:1px solid #b6d9f8
  }
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .tag.good{background:var(--success-bg);color:var(--success);border-color:#b9dfca}
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .tag.warn{background:var(--warning-bg);color:var(--warning);border-color:#ecd49f}
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .tag.bad{background:var(--danger-bg);color:var(--danger);border-color:#efc4ca}
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .report{
    background:var(--muted-bg);color:var(--text-primary);border-color:var(--border-subtle)
  }
  :is(#rooms,#inout,#issues,#reviews,#staff,#edit) .ai-error{
    background:var(--danger-bg)!important;color:var(--danger)!important;border-color:#efc4ca!important
  }

  /* Rooms: light controls and restrained status tints preserve scanability. */
  #rooms .floor-title{color:var(--text-primary)}
  #rooms .legend{color:var(--text-secondary)}
  #rooms .room-tile{
    background:#f5f7fa;color:var(--text-primary);border-color:#c4d0db;box-shadow:0 2px 6px rgba(16,34,53,.06)
  }
  #rooms .room-tile:hover{filter:none;border-color:var(--brand-blue);box-shadow:0 7px 16px rgba(16,34,53,.13)}
  #rooms .room-tile.selected{outline:3px solid var(--brand-blue);outline-offset:2px;filter:none}
  #rooms .room-tile.ready{background:#f8fafc;border-color:#98a9b9;color:#19334c}
  #rooms .room-tile.occupied{background:#d2e8ff;border-color:#5594d1;color:#123f69}
  #rooms .room-tile.arriving{background:#e9f7ef;border-color:#72b68f;color:#17603d}
  #rooms .room-tile.dueout{background:#f1e5f7;border-color:#a875bf;color:#583469}
  #rooms .room-tile.dirty{background:#fff0c8;border-color:#cf9428;color:#6b3f00}
  #rooms .room-tile.inspected{background:#e2f5f1;border-color:#65ad9f;color:#145f55}
  #rooms .room-tile.ooo{background:#fbdfe3;border-color:#d86775;color:#821e2d}
  #rooms .dot{width:12px;height:12px;border-width:2px}
  #rooms .dot.ready{background:#f8fafc;border-color:#98a9b9}
  #rooms .dot.occupied{background:#d2e8ff;border-color:#5594d1}
  #rooms .dot.arriving{background:#e9f7ef;border-color:#72b68f}
  #rooms .dot.dueout{background:#f1e5f7;border-color:#a875bf}
  #rooms .dot.dirty{background:#fff0c8;border-color:#cf9428}
  #rooms .dot.inspected{background:#e2f5f1;border-color:#65ad9f}
  #rooms .dot.ooo{background:#fbdfe3;border-color:#d86775}
  #rooms .status-badge{background:#f3f6f9;color:var(--text-primary);border-color:var(--border-subtle)}
  #rooms .status-actions button{
    background:#fff;color:var(--text-primary);border-color:var(--border-control)
  }
  #rooms .status-actions button:hover{background:var(--selected-blue-bg);border-color:var(--brand-blue);color:var(--selected-blue-text)}
  #rooms .quick-count-field{background:var(--muted-bg);border-color:var(--border-subtle)}
  #rooms .quick-count-board{color:var(--text-secondary)}
  #rooms .quick-count-board.mismatch,#rooms .quick-counts-message.warn{color:var(--warning)}
  #rooms .quick-counts-authority{background:var(--warning-bg);border-color:#dfc17e;color:var(--text-primary)}
  #rooms .quick-counts-authority button{background:#fff;color:var(--text-primary);border-color:var(--border-control)}
  #rooms .quick-counts-authority button.active{background:var(--selected-blue-bg);border-color:var(--brand-blue);color:var(--selected-blue-text)}
  #rooms .current-ooo-summary{background:var(--surface-muted);border-color:var(--border-subtle)}
  #rooms .current-ooo-value strong,#rooms .current-ooo-breakdown b{color:var(--text-primary)}

  /* In / Out: light metrics, lists, guest detail, and sticky actions. */
  #inout .movement-card{
    background:var(--surface-card);color:var(--text-primary);border-color:var(--border-subtle);box-shadow:var(--workspace-shadow)
  }
  #inout .movement-card span,#inout .movement-card small{color:var(--text-secondary)}
  #inout .movement-card:hover{background:#f3f8fd;border-color:#8fb9e3;color:var(--text-primary)}
  #inout .movement-card.active{background:var(--selected-blue-bg);border-color:var(--brand-blue);color:var(--text-primary)}
  #inout .movement-check{color:var(--text-primary)}
  #inout .movement-entry-note,
  #inout .movement-detail-grid div{background:var(--muted-bg);color:var(--text-primary);border-color:var(--border-subtle)}
  #inout .movement-guest{border-color:var(--border-subtle)}
  #inout .movement-guest:hover{background:#f3f8fd}
  #inout .movement-guest.selected{background:var(--selected-blue-bg);border-left-color:var(--brand-blue)}
  #inout .movement-guest-right b{color:var(--text-primary)}
  #inout .movement-guest-main small,#inout .movement-guest-right small,
  #inout .movement-detail-grid span{color:var(--text-secondary)}
  #inout .movement-actions button{
    background:#fff;color:var(--text-primary);border-color:var(--border-control)
  }
  #inout .movement-actions button:hover{background:var(--selected-blue-bg);border-color:var(--brand-blue)}
  #inout .movement-sticky-actions{background:linear-gradient(180deg,rgba(255,254,252,0),rgba(255,254,252,.98) 28%)}
  #inout .room-link{color:var(--action-blue)}
  #inout .exception-item{background:var(--surface-muted);border-color:var(--border-subtle)}
  #inout .exception-item-meta,#inout .exception-empty,#inout .detail-workspace-toggle p{color:var(--text-secondary)}
  #inout .exception-type{background:#eef6ff;border-color:#b6d9f8;color:var(--selected-blue-text)}
  #inout .exception-item.urgent{background:var(--warning-bg);border-color:#dfc17e}
  #inout .exception-item.recovery{background:var(--danger-bg);border-color:#efc4ca}

  /* Issues: operational status stays semantic without dark board panels. */
  #issues .issue-metric{
    background:var(--surface-card);color:var(--text-primary);border-color:var(--border-subtle);box-shadow:var(--workspace-shadow)
  }
  #issues .issue-metric span,#issues .issue-metric small{color:var(--text-secondary)}
  #issues .issue-metric:hover{background:#f3f8fd;border-color:#8fb9e3;color:var(--text-primary)}
  #issues .issue-metric.active{background:var(--selected-blue-bg);border-color:var(--brand-blue);color:var(--text-primary)}
  #issues .issue-item{border-color:var(--border-subtle)}
  #issues .issue-item:hover{background:#f3f8fd}
  #issues .issue-item.selected{background:var(--selected-blue-bg);border-left-color:var(--brand-blue)}
  #issues .issue-detail-grid div{background:var(--muted-bg);color:var(--text-primary);border-color:var(--border-subtle)}
  #issues .issue-detail-grid span{color:var(--text-secondary)}
  #issues .issue-actions button{
    background:#fff;color:var(--text-primary);border-color:var(--border-control)
  }
  #issues .issue-actions button:hover{background:var(--selected-blue-bg);border-color:var(--brand-blue)}
  #issues .room-link{color:var(--action-blue)}

  /* Reviews: white channels, KPI cards, inbox, and readable detail surfaces. */
  #reviews .review-source-card,
  #reviews .review-metric{
    background:var(--surface-card);color:var(--text-primary);border-color:var(--border-subtle);box-shadow:var(--workspace-shadow)
  }
  #reviews .review-source-card small,
  #reviews .review-metric span,#reviews .review-metric small{color:var(--text-secondary)}
  #reviews .review-metric:hover{background:#f3f8fd;border-color:#8fb9e3;color:var(--text-primary)}
  #reviews .review-metric.active{background:var(--selected-blue-bg);border-color:var(--brand-blue);color:var(--text-primary)}
  #reviews .review-inbox-item{border-color:var(--border-subtle)}
  #reviews .review-inbox-item:hover{background:#f3f8fd}
  #reviews .review-inbox-item.selected{background:var(--selected-blue-bg);border-left-color:var(--brand-blue)}
  #reviews .review-inbox-text{color:var(--text-primary)}
  #reviews .review-body,#reviews .review-details,
  #reviews .review-detail-grid div{background:var(--muted-bg);color:var(--text-primary);border-color:var(--border-subtle)}
  #reviews .review-detail-grid span{color:var(--text-secondary)}
  #reviews .review-stars,#reviews .review-rating{color:#087f5b}
  #reviews .review-more>summary{border-color:var(--border-subtle);color:var(--text-secondary)}
  #reviews .review-more-panel{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-subtle);box-shadow:var(--workspace-shadow)}

  /* Staff: light team board, detail panel, department tiles, and actions. */
  #staff .staff-metric{
    background:var(--surface-card);color:var(--text-primary);border-color:var(--border-subtle);box-shadow:var(--workspace-shadow)
  }
  #staff .staff-metric span,#staff .staff-metric small{color:var(--text-secondary)}
  #staff .staff-metric:hover{background:#f3f8fd;border-color:#8fb9e3;color:var(--text-primary)}
  #staff .staff-metric.active{background:var(--selected-blue-bg);border-color:var(--brand-blue);color:var(--text-primary)}
  #staff .staff-item{border-color:var(--border-subtle)}
  #staff .staff-item:hover{background:#f3f8fd}
  #staff .staff-item.selected{background:var(--selected-blue-bg);border-left-color:var(--brand-blue)}
  #staff .staff-detail-grid div{background:var(--muted-bg);color:var(--text-primary);border-color:var(--border-subtle)}
  #staff .staff-detail-grid span{color:var(--text-secondary)}
  #staff .staff-actions button{
    background:#fff;color:var(--text-primary);border-color:var(--border-control)
  }
  #staff .staff-actions button:hover{background:var(--selected-blue-bg);border-color:var(--brand-blue)}
  #staff .btn.staff-danger{background:var(--danger-bg);border-color:#dbaeb5;color:var(--danger)}
  #staff .btn.staff-danger:hover{background:#f7d9dd;border-color:#c98993}
  #staff .btn.staff-reactivate{background:var(--success-bg);border-color:#9dcdb2;color:var(--success)}
  #staff .staff-today-item,#staff .mod-current{background:var(--surface-muted);border-color:var(--border-subtle)}
  #staff .staff-today-meta,#staff .staff-today-empty,#staff .mod-current small,#staff .staff-directory-intro p{color:var(--text-secondary)}
  #staff .staff-today-item.urgent{background:var(--danger-bg);border-color:#efc4ca}
  #staff .staff-today-item.coverage{background:var(--warning-bg);border-color:#dfc17e}

  /* Owner Intelligence: lower live-source metric tiles join the light canvas. */
  #owner .live-source-section{border-color:var(--border-subtle)}
  #owner .live-source-head small{color:var(--text-secondary)}
  #owner .live-stat{
    background:#fff;color:var(--text-primary);border-color:var(--border-subtle);box-shadow:0 2px 7px rgba(16,34,53,.06)
  }
  #owner .live-stat span{color:var(--text-secondary)}
  #owner .live-stat-action small{color:var(--action-blue)}
  #owner .live-stat-action:hover{background:#f3f8fd;border-color:#8fb9e3;box-shadow:0 7px 16px rgba(16,34,53,.12)}

  /* P1C: stored daily operational history stays compact, light, and comparison-first. */
  .owner-history-card{margin-top:16px}
  .owner-history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
  .owner-history-head h2{margin:2px 0 4px}
  .owner-history-head p{margin:0}
  .owner-history-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
  .owner-history-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:14px;background:var(--warning-bg);border:1px solid #dfc17e;border-radius:10px}
  .owner-history-notice[hidden]{display:none}
  .owner-history-notice div{min-width:0}
  .owner-history-notice b,.owner-history-notice span{display:block}
  .owner-history-notice span{margin-top:4px;color:var(--text-secondary);font-size:12px;line-height:1.45}
  .owner-history-range{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 12px}
  .owner-history-range button{border:1px solid var(--border-control);background:#fff;color:var(--text-primary);border-radius:999px;padding:8px 13px;font-weight:800;cursor:pointer}
  .owner-history-range button.active{background:var(--selected-blue-bg);border-color:var(--brand-blue);color:var(--selected-blue-text)}
  .owner-history-range button:disabled{opacity:.48;cursor:not-allowed}
  .owner-history-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
  .owner-history-metric{background:#fff;border:1px solid var(--border-subtle);border-radius:10px;padding:13px;box-shadow:0 2px 7px rgba(16,34,53,.05)}
  .owner-history-metric span,.owner-history-metric small{display:block;color:var(--text-secondary)}
  .owner-history-metric span{font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
  .owner-history-metric b{display:block;font-size:23px;margin:6px 0}
  .owner-history-metric small{font-size:10px;line-height:1.35}
  .owner-history-metric small.good{color:var(--success)}
  .owner-history-metric small.bad{color:var(--danger)}
  .owner-history-insights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
  .owner-history-panel{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:10px;padding:14px}
  .owner-history-panel p{margin:7px 0 0;line-height:1.5}
  .owner-history-panel small{display:block;color:var(--text-secondary);margin-top:8px;line-height:1.4}
  .owner-history-changes ul{margin:8px 0 0 18px;padding:0}
  .owner-history-changes li{margin:5px 0;line-height:1.4}
  .owner-history-list-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:18px}
  .owner-history-list-head h3{margin:2px 0 0}
  .owner-history-table-wrap{overflow-x:auto;margin-top:9px;border:1px solid var(--border-subtle);border-radius:10px}
  .owner-history-table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}
  .owner-history-table th,.owner-history-table td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);text-align:left;font-size:11px;white-space:nowrap}
  .owner-history-table th{color:var(--text-secondary);background:var(--surface-muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em}
  .owner-history-table tr:last-child td{border-bottom:0}
  .owner-history-table td:first-child{font-weight:800;color:var(--text-primary)}
  .owner-prior-briefs{margin-top:16px}
  .owner-prior-brief-list{display:grid;gap:8px;margin-top:8px}
  .owner-prior-brief{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:9px;padding:11px}
  .owner-prior-brief b,.owner-prior-brief span{display:block}
  .owner-prior-brief span{font-size:10px;color:var(--text-secondary);margin-bottom:4px}
  .owner-prior-brief p{margin:0;line-height:1.45;font-size:12px}

  .property-timezone-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;margin-top:16px;padding:14px;background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:10px}
  .property-timezone-card label{margin-top:0}
  .property-timezone-card p{margin:6px 0 0;line-height:1.4}

  @media(max-width:1150px){.owner-history-metrics{grid-template-columns:repeat(3,1fr)}}
  @media(max-width:720px){.owner-history-head,.owner-history-notice{flex-direction:column}.owner-history-actions{width:100%;justify-content:space-between}.owner-history-actions .btn,.owner-history-notice .btn{width:100%}.owner-history-insights{grid-template-columns:1fr}.property-timezone-card{grid-template-columns:1fr}.property-timezone-card .btn{width:100%}}
  @media(max-width:520px){.owner-history-metrics{grid-template-columns:repeat(2,1fr)}}

  /* Property Setup: configuration controls and previews use light surfaces. */
  #edit .property-setup-card{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-subtle)}
  #edit .config-preview{background:var(--muted-bg);color:var(--text-primary);border-color:var(--border-subtle)}
  #edit .config-preview strong{color:var(--text-primary)}
  #edit .floor-setup-row .remove-floor{
    background:#fff;color:var(--danger);border-color:#dbaeb5
  }
  #edit .floor-setup-row .remove-floor:hover{background:var(--danger-bg);border-color:#c98993}
  #edit .room-builder-feedback{color:var(--selected-blue-text)}

  /* P1A: one derived follow-through view, with source records remaining canonical. */
  .carryover-card{padding:18px}
  .carryover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
  .carryover-head h2{margin:2px 0 4px}
  .carryover-head p{margin:0}
  .carryover-list{display:grid;gap:8px}
  .carryover-item{width:100%;display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;background:#fff;color:var(--text-primary);border:1px solid var(--border-subtle);border-left:4px solid #718293;border-radius:11px;padding:12px;cursor:pointer}
  .carryover-item:hover{background:#f7fafc;border-color:#91a9bd}
  .carryover-item:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
  .carryover-priority{font-size:9px;font-weight:900;letter-spacing:.06em;color:#475c70}
  .carryover-item.high{border-left-color:#b66a05}.carryover-item.high .carryover-priority{color:#895000}
  .carryover-item.critical{border-left-color:var(--danger)}.carryover-item.critical .carryover-priority{color:var(--danger)}
  .carryover-title{font-weight:800;font-size:13px}
  .carryover-meta{font-size:10px;color:var(--text-secondary);margin-top:3px;line-height:1.45}
  .carryover-open{font-size:10px;font-weight:800;color:var(--action-blue);white-space:nowrap}
  .carryover-empty{padding:18px;border:1px dashed var(--border-control);border-radius:10px;color:var(--text-secondary);text-align:center}
  .issue-source-link{display:none;align-items:center;justify-content:space-between;gap:10px;background:var(--selected-blue-bg);border:1px solid #b6d9f8;border-radius:9px;padding:10px;margin:10px 0}
  .issue-source-link.visible{display:flex}
  .issue-source-link span{font-size:10px;color:var(--selected-blue-text)}
  .issue-activity{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle)}
  .issue-activity-list{display:grid;gap:7px;margin:8px 0}
  .issue-update{background:var(--muted-bg);border:1px solid var(--border-subtle);border-radius:8px;padding:9px}
  .issue-update small{display:block;color:var(--text-secondary);margin-bottom:3px}
  .issue-update div{white-space:pre-wrap;font-size:11px;line-height:1.45}
  .issue-room-action{display:none}.issue-room-action.visible{display:inline-flex}
  .room-review-dialog{width:min(520px,calc(100vw - 32px));padding:22px;border-radius:16px}
  .room-review-dialog::backdrop{background:rgba(4,14,26,.68)}
  .room-review-dialog h2{margin:4px 0 8px}.room-review-dialog p{color:var(--text-secondary);line-height:1.5}
  .room-review-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
  @media(max-width:650px){.carryover-head{flex-direction:column}.carryover-item{grid-template-columns:1fr}.carryover-open{justify-self:start}.room-review-options{grid-template-columns:1fr}}

  .getting-started-card{padding:18px;margin:14px 0;border-left:4px solid var(--brand-blue)}
  .getting-started-card.hidden{display:none}
  .getting-started-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
  .getting-started-head h2{margin:2px 0 4px}
  .getting-started-head p{margin:0}
  .getting-started-list{display:grid;gap:8px;margin-top:14px}
  .getting-started-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid var(--border-subtle);border-radius:10px}
  .getting-started-check{width:22px;height:22px;display:grid;place-items:center;border:2px solid #91a5b8;border-radius:50%;color:transparent;font-size:12px;font-weight:900}
  .getting-started-item.done .getting-started-check{background:var(--success);border-color:var(--success);color:#fff}
  .getting-started-copy b,.getting-started-copy small{display:block}
  .getting-started-copy small{color:var(--text-secondary);margin-top:2px;line-height:1.35}
  .getting-started-item.done .getting-started-copy b{color:var(--text-secondary)}
  .room-board-verification{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:14px;background:var(--selected-blue-bg);border:1px solid #b6d9f8;border-radius:10px}
  .room-board-verification b,.room-board-verification span{display:block}
  .room-board-verification span{color:var(--text-secondary);font-size:12px;line-height:1.45;margin-top:3px}
  .room-board-verification.verified{background:var(--success-bg);border-color:#9fd6c2}
  .onboarding-timezone{grid-column:1/-1}
  @media(max-width:650px){.getting-started-head,.room-board-verification{flex-direction:column}.getting-started-head .btn,.room-board-verification .btn{width:100%}.getting-started-item{grid-template-columns:24px minmax(0,1fr)}.getting-started-item .btn{grid-column:1/-1;width:100%}.onboarding-timezone{grid-column:auto}}

  dialog.card{background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:0 24px 70px rgba(16,34,53,.22)}
}

${printCss}
