:root {
  --black: #030304;
  --black-soft: #09090a;
  --white: #ffffff;
  --canvas: #050506;
  --surface: #111113;
  --surface-raised: #17171a;
  --surface-muted: #1c1c20;
  --surface-soft: #232328;
  --line: rgba(255,255,255,.09);
  --line-strong: rgba(255,255,255,.17);
  --text: #f7f7f8;
  --text-muted: #a0a0a7;
  --text-faint: #707078;
  --success: #5bd89d;
  --warning: #f2b85a;
  --danger: #ff6f72;
  --info: #8eb7ff;
  --status-occupied: #f4f4f5;
  --status-booked: #8f8f98;
  --status-vacant: #3f3f46;
  --status-maintenance: #1f1f23;
  --radius-xs: 9px;
  --radius-sm: 13px;
  --radius-md: 20px;
  --radius-lg: 30px;
  --radius-xl: 40px;
  --shadow-soft: 0 18px 60px rgba(0,0,0,.26);
  --shadow-modal: 0 42px 120px rgba(0,0,0,.65);
  --sidebar-width: 274px;
  --topbar-height: 88px;
  --transition: 190ms cubic-bezier(.2,.75,.25,1);
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Helvetica, Arial, sans-serif;
  --font-display: ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Helvetica, Arial, sans-serif;
}
* { box-sizing: border-box; }
html { min-height: 100%; background: var(--canvas); }
body { margin: 0; min-height: 100vh; font-family: var(--font); color: var(--text); background: var(--canvas); -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
img { max-width: 100%; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { letter-spacing: -.045em; }
.is-hidden { display: none !important; }
.muted { color: var(--text-muted); }
.eyebrow { color: var(--text-muted); font-size: .66rem; font-weight: 760; letter-spacing: .18em; text-transform: uppercase; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
::selection { background: var(--white); color: var(--black); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #36363b; border: 3px solid transparent; border-radius: 999px; background-clip: padding-box; }
::-webkit-scrollbar-track { background: transparent; }
.login-screen { min-height: 100vh; display: grid; grid-template-columns: minmax(420px,1.15fr) minmax(460px,.85fr); background: var(--black); }
.login-visual { display: grid; place-items: center; padding: 72px; color: var(--white); position: relative; overflow: hidden; background: radial-gradient(circle at 24% 20%,rgba(255,255,255,.12),transparent 24%),radial-gradient(circle at 70% 75%,rgba(255,255,255,.06),transparent 30%),#050506; }
.login-visual::before {
  content:"";
  position:absolute;
  inset:-24%;
  pointer-events:none;
  background:linear-gradient(120deg,transparent 18%,rgba(255,255,255,.028) 50%,transparent 82%);
  transform:none;
  filter:blur(18px);
  opacity:.72;
}
.login-visual-inner { position: relative; width: min(620px,100%); }
.login-logo-wide { width: 330px; filter: brightness(0) invert(1); margin-bottom: 42px; }
.login-visual p { max-width: 540px; color: rgba(255,255,255,.62); font-size: 1.2rem; line-height: 1.55; }
.login-stat-grid { margin-top: 92px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.13); padding-top:28px; gap:24px; }
.login-stat-grid div { display:grid; gap:6px; }
.login-stat-grid strong { font-size:2rem; letter-spacing:-.06em; }
.login-stat-grid span { color:rgba(255,255,255,.44); font-size:.75rem; }
.login-panel { display:grid; place-items:center; padding:52px; background:#0b0b0d; border-left:1px solid rgba(255,255,255,.08); }
.login-card { width:min(500px,100%); padding:34px; border:1px solid rgba(255,255,255,.1); border-radius:30px; background:rgba(255,255,255,.045); box-shadow:0 30px 90px rgba(0,0,0,.4); backdrop-filter:blur(20px); }
.login-card h1 { font-size:2.65rem; margin:10px 0 10px; }
.login-brand-mobile { display:none; }
.login-footnote { font-size:.72rem; line-height:1.6; color:var(--text-faint); margin-top:24px; }

.app-shell { min-height:100vh; display:grid; grid-template-columns:var(--sidebar-width) 1fr; background:var(--canvas); }
.sidebar { position:fixed; inset:0 auto 0 0; width:var(--sidebar-width); z-index:50; display:flex; flex-direction:column; padding:24px 17px; color:var(--white); background:#070708; border-right:1px solid var(--line); }
.sidebar-brand { display:flex; align-items:center; gap:13px; padding:4px 9px 27px; }
.sidebar-brand img { width:45px; height:45px; filter:brightness(0) invert(1); }
.sidebar-brand div { display:grid; gap:3px; }
.sidebar-brand strong { font-size:.98rem; letter-spacing:-.025em; }
.sidebar-brand span { color:rgba(255,255,255,.42); font-size:.69rem; }
.mode-badge { margin:0 8px 22px; border:1px solid var(--line); border-radius:999px; padding:8px 11px; color:rgba(255,255,255,.55); font-size:.68rem; background:rgba(255,255,255,.025); }
.mode-badge span { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--success); margin-right:7px; box-shadow:0 0 0 4px rgba(91,216,157,.09); }
.primary-navigation { display:grid; gap:5px; overflow-y:auto; padding-right:2px; }
.nav-item { width:100%; min-height:44px; display:flex; align-items:center; gap:12px; padding:11px 12px; border:1px solid transparent; border-radius:13px; color:rgba(255,255,255,.53); background:transparent; text-align:left; transition:background var(--transition),color var(--transition),border-color var(--transition); }
.nav-item:hover { color:var(--white); background:rgba(255,255,255,.055); }
.nav-item.active { color:var(--black); background:var(--white); border-color:var(--white); }
.nav-symbol { display:grid; place-items:center; width:23px; font-size:.9rem; }
.nav-count { margin-left:auto; min-width:23px; height:23px; border-radius:999px; display:grid; place-items:center; padding:0 6px; background:rgba(255,255,255,.1); font-size:.64rem; }
.nav-item.active .nav-count { color:var(--white); background:var(--black); }
.sidebar-footer { margin-top:auto; padding:18px 8px 2px; border-top:1px solid var(--line); }
.sidebar-user { display:flex; gap:10px; align-items:center; margin-bottom:14px; }
.sidebar-user div:last-child { display:grid; gap:2px; min-width:0; }
.sidebar-user strong { font-size:.79rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-user span { color:rgba(255,255,255,.42); font-size:.67rem; }
.workspace { min-width:0; grid-column:2; }
.topbar { height:var(--topbar-height); position:sticky; top:0; z-index:40; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 34px; background:rgba(5,5,6,.84); backdrop-filter:blur(24px) saturate(120%); border-bottom:1px solid var(--line); }
.topbar-left { display:flex; align-items:center; gap:14px; }
.topbar h2 { margin:3px 0 0; font-size:1.22rem; color:var(--text); }
.topbar-actions { display:flex; align-items:center; gap:11px; }
.global-search-wrap { width:min(380px,29vw); position:relative; display:flex; align-items:center; gap:8px; padding:0 13px; height:44px; background:rgba(255,255,255,.055); border:1px solid var(--line); border-radius:999px; }
.global-search-wrap > span { color:var(--text-muted); }
.global-search-wrap input { width:100%; border:0; outline:0; background:transparent; color:var(--text); font-size:.79rem; }
.global-search-wrap input::placeholder { color:var(--text-faint); }
.search-results { position:absolute; top:calc(100% + 10px); left:0; right:0; max-height:420px; overflow-y:auto; background:#121214; border:1px solid var(--line-strong); border-radius:17px; box-shadow:var(--shadow-modal); padding:8px; }
.topbar-user { display:flex; align-items:center; gap:9px; border:0; background:transparent; color:var(--text); padding:5px 2px 5px 7px; text-align:left; }
.topbar-user span:last-child { display:grid; gap:1px; }
.topbar-user strong { font-size:.75rem; }
.topbar-user small { color:var(--text-muted); font-size:.64rem; }
.app-view { padding:30px 34px 78px; min-height:calc(100vh - var(--topbar-height)); max-width:1900px; margin:0 auto; }
.page-heading { display:flex; justify-content:space-between; gap:28px; align-items:flex-end; margin-bottom:27px; }
.page-heading h1 { margin:5px 0 8px; font-size:clamp(2rem,4vw,3.45rem); line-height:.98; }
.page-heading p { max-width:760px; color:var(--text-muted); margin-bottom:0; line-height:1.55; }
.page-actions { display:flex; flex-wrap:wrap; gap:9px; justify-content:flex-end; }
.mobile-menu-button { display:none !important; }
body.presentation-mode .sidebar { display:none; }
body.presentation-mode .app-shell { grid-template-columns:1fr; }
body.presentation-mode .workspace { grid-column:1; }
body.presentation-mode .topbar { background:#050506; }
body.presentation-mode .global-search-wrap,body.presentation-mode #presentation-button,body.presentation-mode .topbar-user { display:none; }
body.presentation-mode .app-view { max-width:2100px; padding-inline:48px; }
/* 59 Real Estate v0.3.2 theme layer
   Login and every new sign-in start in Night mode. Day mode remains available inside the application. */
:root {
  --gold: #b89450;
  --gold-strong: #9c7631;
  --gold-soft: #eadfc8;
  --gold-wash: rgba(184,148,80,.12);
}

html[data-theme="day"] {
  --black: #0b0b0c;
  --black-soft: #171719;
  --white: #ffffff;
  --canvas: #f2efe8;
  --surface: #ffffff;
  --surface-raised: #fbfaf7;
  --surface-muted: #ece8df;
  --surface-soft: #e2ddd3;
  --line: rgba(16,16,18,.10);
  --line-strong: rgba(16,16,18,.18);
  --text: #151515;
  --text-muted: #696762;
  --text-faint: #96918a;
  --success: #171719;
  --warning: #b89450;
  --danger: #6b6660;
  --info: #7d7468;
  --status-occupied: #161618;
  --status-booked: #b89450;
  --status-vacant: #b9b5ad;
  --status-maintenance: #77736e;
  --shadow-soft: 0 20px 55px rgba(32,28,20,.09);
  --shadow-modal: 0 34px 90px rgba(31,26,17,.24);
}

html[data-theme="night"] {
  --gold: #c8a965;
  --gold-strong: #d2b879;
  --gold-soft: #3a3020;
  --gold-wash: rgba(200,169,101,.11);
  --warning: var(--gold);
  --status-booked: var(--gold);
}

html, body { transition: background .22s ease, color .22s ease; }

.theme-toggle {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  color: var(--text);
  background: var(--surface);
  font-size: .7rem;
  font-weight: 800;
  box-shadow: 0 1px 0 rgba(255,255,255,.55) inset;
}
.theme-toggle:hover { border-color: var(--gold); }
.theme-icon { font-size: .82rem; }
.login-theme-toggle { position: fixed; z-index: 20; top: 20px; right: 22px; }
.button-accent { color: #111; background: var(--gold); border-color: var(--gold); }
.button-accent:hover { background: var(--gold-strong); border-color: var(--gold-strong); color: #fff; }
.quick-add-button { min-width: 82px; }
.nav-group-label {
  margin: 15px 12px 5px;
  color: rgba(255,255,255,.34);
  font-size: .56rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.primary-navigation > .nav-group-label:first-child { margin-top: 1px; }

.quick-action-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.quick-action-card {
  min-height: 128px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  text-align: left;
  color: var(--text);
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: 18px;
  transition: border-color var(--transition), background var(--transition), box-shadow var(--transition);
}
.quick-action-card:hover { border-color: var(--gold); box-shadow: var(--shadow-soft); }
.quick-action-card .quick-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #111;
  background: var(--gold);
  font-weight: 950;
}
.quick-action-card strong { font-size: .86rem; }
.quick-action-card small { color: var(--text-muted); font-size: .66rem; line-height: 1.45; }
.quick-unit-picker { display: grid; gap: 12px; }
.quick-picker-status-row {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface-soft);
}
.quick-picker-label {
  color: var(--text-muted);
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.quick-status-segmented {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
}
.quick-status-segmented button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-width: 0;
  white-space: nowrap;
}
.quick-status-segmented button b {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  font-size: .58rem;
}
.quick-status-segmented button.active b { color: #111; background: var(--gold); }
.quick-picker-filters { display: grid; grid-template-columns: minmax(180px,.7fr) minmax(220px,1.3fr); gap: 10px; }
.quick-picker-summary {
  min-height: 18px;
  color: var(--text-muted);
  font-size: .62rem;
  letter-spacing: .02em;
}
.quick-picker-summary strong { color: var(--text); font-size: .72rem; }
.quick-unit-list { max-height: 440px; overflow: auto; display: grid; gap: 8px; padding-right: 3px; }
.quick-unit-row {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 14px 15px;
  color: var(--text);
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: 14px;
  text-align: left;
}
.quick-unit-row:hover { border-color: var(--gold); background: var(--gold-wash); }
.quick-unit-row > span:first-child { display: grid; gap: 4px; min-width: 0; }
.quick-unit-row strong { font-size: .74rem; }
.quick-unit-row small { color: var(--text-muted); font-size: .62rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.quick-unit-row > span:last-child { display: flex; gap: 8px; align-items: center; }

.dashboard-quick-actions {
  margin: 14px 0 0;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}
.dashboard-quick-action {
  min-height: 74px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 17px;
  text-align: left;
  box-shadow: 0 8px 24px rgba(32,28,20,.04);
}
.dashboard-quick-action:hover { border-color: var(--gold); }
.dashboard-quick-action i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color:#111; background:var(--gold); font-style: normal; font-weight: 900; }
.dashboard-quick-action span { display:grid; gap:3px; }
.dashboard-quick-action strong { font-size:.72rem; }
.dashboard-quick-action small { color:var(--text-muted); font-size:.59rem; }

/* Day mode */
html[data-theme="day"] body { background: var(--canvas); }
html[data-theme="day"] ::selection { background: var(--gold); color: #111; }
html[data-theme="day"] ::-webkit-scrollbar-thumb { background: #c7c1b7; border-color: transparent; }

html[data-theme="day"] .login-screen { background: var(--canvas); }
html[data-theme="day"] .login-visual {
  color: #151515;
  background:
    radial-gradient(circle at 19% 15%,rgba(184,148,80,.22),transparent 24%),
    radial-gradient(circle at 75% 82%,rgba(0,0,0,.05),transparent 28%),
    linear-gradient(145deg,#f7f4ee,#e8e1d5);
}
html[data-theme="day"] .login-visual::before { background: linear-gradient(120deg,transparent 10%,rgba(255,255,255,.45) 50%,transparent 90%); }
html[data-theme="day"] .login-logo-wide,
html[data-theme="day"] .login-brand-mobile img { filter: none; }
html[data-theme="day"] .login-visual p { color: #6f6a62; }
html[data-theme="day"] .login-stat-grid { border-color: rgba(20,20,20,.13); }
html[data-theme="day"] .login-stat-grid span { color: #7f7a72; }
html[data-theme="day"] .login-panel { background: #f2efe8; border-left-color: rgba(20,20,20,.08); }
html[data-theme="day"] .login-card { background: rgba(255,255,255,.84); border-color: rgba(20,20,20,.1); box-shadow: 0 32px 90px rgba(62,48,25,.12); }
html[data-theme="day"] .demo-account { background: #fbfaf7; }
html[data-theme="day"] .demo-account:hover { background: var(--gold-wash); border-color: var(--gold); }
html[data-theme="day"] .demo-role-mark { color:#fff; background:#111; }

html[data-theme="day"] .app-shell { background: var(--canvas); }
html[data-theme="day"] .sidebar { background: #111112; border-right-color: rgba(255,255,255,.09); }
html[data-theme="day"] .nav-item.active { color:#111; background:var(--gold); border-color:var(--gold); }
html[data-theme="day"] .nav-item.active .nav-count { color:#111; background:rgba(255,255,255,.48); }
html[data-theme="day"] .mode-badge span { background:var(--gold); box-shadow:0 0 0 4px rgba(184,148,80,.11); }
html[data-theme="day"] .topbar { background:rgba(242,239,232,.88); border-bottom-color:var(--line); }
html[data-theme="day"] .global-search-wrap { background:rgba(255,255,255,.76); box-shadow:0 7px 22px rgba(40,33,21,.04); }
html[data-theme="day"] .search-results { background:#fff; }
html[data-theme="day"] .topbar-user { color:var(--text); }
html[data-theme="day"] .avatar { color:#111; background:var(--gold); }
html[data-theme="day"] .button-primary,
html[data-theme="day"] .button-light { color:#fff; background:#141416; border-color:#141416; }
html[data-theme="day"] .button-primary:hover,
html[data-theme="day"] .button-light:hover { color:#111; background:var(--gold); border-color:var(--gold); }
html[data-theme="day"] .button-secondary,
html[data-theme="day"] .button-ghost { color:var(--text); background:#fff; border-color:var(--line-strong); }
html[data-theme="day"] .button-secondary:hover,
html[data-theme="day"] .button-ghost:hover { background:var(--gold-wash); border-color:var(--gold); }
html[data-theme="day"] .button-inverse { background:rgba(255,255,255,.08); }
html[data-theme="day"] .icon-button { color:var(--text); background:#fff; border-color:var(--line); }
html[data-theme="day"] input,
html[data-theme="day"] select,
html[data-theme="day"] textarea { color:var(--text); background:#fff; border-color:var(--line); }
html[data-theme="day"] input:focus,
html[data-theme="day"] select:focus,
html[data-theme="day"] textarea:focus { border-color:var(--gold); background:#fff; box-shadow:0 0 0 3px rgba(184,148,80,.10); }
html[data-theme="day"] .password-field { background:#fff; border-color:var(--line); }
html[data-theme="day"] .password-field:focus-within { border-color:var(--gold); }

html[data-theme="day"] .panel,
html[data-theme="day"] .premium-panel,
html[data-theme="day"] .stat-card,
html[data-theme="day"] .property-card,
html[data-theme="day"] .report-card,
html[data-theme="day"] .settings-card { background:#fff; box-shadow:0 12px 32px rgba(42,34,20,.05); }
html[data-theme="day"] .panel-header,
html[data-theme="day"] .premium-panel-header { background:#fff; }
html[data-theme="day"] .stat-card.dark { color:#fff; background:#151517; border-color:#151517; }
html[data-theme="day"] .stat-card.dark .stat-label,
html[data-theme="day"] .stat-card.dark small { color:#bcb9b3; }
html[data-theme="day"] .segmented { background:#e9e5dc; }
html[data-theme="day"] .segmented button.active { color:#111; background:#fff; box-shadow:0 2px 7px rgba(0,0,0,.08); }
html[data-theme="day"] .status-chip.occupied,
html[data-theme="day"] .status-chip.active,
html[data-theme="day"] .status-chip.paid { color:#fff; background:#151517; border-color:#151517; }
html[data-theme="day"] .status-chip.booked,
html[data-theme="day"] .status-chip.upcoming { color:#111; background:var(--gold); border-color:var(--gold); }
html[data-theme="day"] .status-chip.vacant,
html[data-theme="day"] .status-chip.draft { color:#303030; background:#dedbd4; border-color:#c8c4bc; }
html[data-theme="day"] .status-chip.maintenance,
html[data-theme="day"] .status-chip.expiring { color:#fff; background:repeating-linear-gradient(135deg,#555 0,#555 5px,#777 5px,#777 10px); }
html[data-theme="day"] .status-chip.expired,
html[data-theme="day"] .status-chip.overdue,
html[data-theme="day"] .status-chip.terminated { color:#fff; background:#4a4641; border-color:#4a4641; }
html[data-theme="day"] .data-table th,
html[data-theme="day"] .performance-table th { background:#f6f3ed; }
html[data-theme="day"] .data-table tbody tr.clickable:hover,
html[data-theme="day"] .performance-table tbody tr:hover { background:var(--gold-wash); }
html[data-theme="day"] .performance-table tfoot td { color:#fff; background:#161618; }
html[data-theme="day"] .modal-root { background:rgba(24,22,19,.42); }
html[data-theme="day"] .modal { background:#fff; }
html[data-theme="day"] .toast { color:var(--text); background:#fff; }
html[data-theme="day"] .loading-overlay { color:#111; background:#f2efe8; }
html[data-theme="day"] .loader-mark { border-color:var(--gold); }
html[data-theme="day"] .detail-item,
html[data-theme="day"] .unit-summary-card,
html[data-theme="day"] .document-row,
html[data-theme="day"] .callout { background:#faf8f3; }

html[data-theme="day"] .dashboard-hero {
  color:#151515;
  background:
    radial-gradient(circle at 76% 10%,rgba(184,148,80,.24),transparent 28%),
    radial-gradient(circle at 12% 110%,rgba(0,0,0,.04),transparent 32%),
    linear-gradient(145deg,#ffffff,#eee8dc 58%,#f8f5ef);
  box-shadow:0 24px 70px rgba(55,42,19,.09);
}
html[data-theme="day"] .dashboard-hero::after { color:rgba(20,20,20,.035); }
html[data-theme="day"] .live-eyebrow { color:#706a61; }
html[data-theme="day"] .live-eyebrow span { background:var(--gold); box-shadow:0 0 0 5px rgba(184,148,80,.12); }
html[data-theme="day"] .dashboard-hero p { color:#716c64; }
html[data-theme="day"] .portfolio-kpi { background:#fff; box-shadow:0 10px 28px rgba(42,34,20,.045); }
html[data-theme="day"] .portfolio-kpi:hover { background:#fff; border-color:var(--gold); }
html[data-theme="day"] .portfolio-kpi.occupied strong { color:#171719; }
html[data-theme="day"] .portfolio-kpi.booked strong { color:var(--gold-strong); }
html[data-theme="day"] .portfolio-kpi.vacant strong { color:#6c6760; }
html[data-theme="day"] .portfolio-kpi.revenue { color:#fff; background:#151517; border-color:#151517; }
html[data-theme="day"] .portfolio-kpi.revenue > span,
html[data-theme="day"] .portfolio-kpi.revenue small { color:#c8c4bc; }
html[data-theme="day"] .portfolio-kpi.revenue:hover { background:#1e1e21; border-color:var(--gold); }
html[data-theme="day"] .executive-strip { background:#fff; box-shadow:0 10px 26px rgba(42,34,20,.035); }
html[data-theme="day"] .executive-strip .integrity-ok strong { color:#171719; }
html[data-theme="day"] .executive-strip .integrity-bad strong { color:#6c6760; }
html[data-theme="day"] .count-positive,
html[data-theme="day"] .occupancy-cell > strong.excellent { color:#171719; }
html[data-theme="day"] .count-booked,
html[data-theme="day"] .occupancy-cell > strong.good { color:var(--gold-strong); }
html[data-theme="day"] .count-vacant,
html[data-theme="day"] .occupancy-cell > strong.attention { color:#6c6760; }
html[data-theme="day"] .premium-stacked-bar { background:#e4e0d8; }
html[data-theme="day"] .premium-stacked-bar .occupied { background:#171719; }
html[data-theme="day"] .premium-stacked-bar .booked { background:var(--gold); }
html[data-theme="day"] .premium-stacked-bar .vacant { background:#b9b5ad; }
html[data-theme="day"] .premium-stacked-bar .maintenance { background:repeating-linear-gradient(135deg,#716d67 0,#716d67 3px,#9a958d 3px,#9a958d 6px); }
html[data-theme="day"] .premium-legend i.occupied,
html[data-theme="day"] .status-mix-list i.occupied { background:#171719; }
html[data-theme="day"] .premium-legend i.booked,
html[data-theme="day"] .status-mix-list i.booked { background:var(--gold); }
html[data-theme="day"] .premium-legend i.vacant,
html[data-theme="day"] .status-mix-list i.vacant { background:#b9b5ad; }
html[data-theme="day"] .status-donut::after { background:#fff; }
html[data-theme="day"] .occupancy-chart-row:hover,
html[data-theme="day"] .revenue-rank-row:hover { background:var(--gold-wash); }
html[data-theme="day"] .premium-revenue-bar { background:#e4e0d8; }
html[data-theme="day"] .premium-revenue-bar i { background:linear-gradient(90deg,#29292b,var(--gold)); }
html[data-theme="day"] .property-card:hover { background:#fff; border-color:var(--gold); }
html[data-theme="day"] .property-rate { border-color:var(--gold); }
html[data-theme="day"] .property-hero {
  color:#171719;
  background:radial-gradient(circle at 82% 0,rgba(184,148,80,.2),transparent 32%),linear-gradient(145deg,#fff,#ebe5da);
}
html[data-theme="day"] .property-hero p { color:#716c64; }
html[data-theme="day"] .property-hero-metric { border-color:rgba(20,20,20,.13); }
html[data-theme="day"] .property-hero-metric span { color:#817c74; }
html[data-theme="day"] .unit-directory-header .segmented button b { background:rgba(20,20,20,.07); }
html[data-theme="day"] .unit-directory-header .segmented button.active b { color:#fff; background:#151517; }
html[data-theme="day"] .status-explanation { background:#faf8f3; }
html[data-theme="day"] .report-card .report-icon { color:#111; background:var(--gold); }
html[data-theme="day"] .unit-tabs { background:#f7f4ee; }
html[data-theme="day"] .unit-tab.active { color:#111; border-color:var(--gold-strong); }
html[data-theme="day"] .timeline-mark { background:var(--gold); }

/* Night refinement: keep the cinematic view, but introduce gold and slightly softer contrast. */
html[data-theme="night"] .nav-item.active { color:#111; background:var(--gold); border-color:var(--gold); }
html[data-theme="night"] .mode-badge span,
html[data-theme="night"] .live-eyebrow span { background:var(--gold); box-shadow:0 0 0 5px rgba(200,169,101,.10); }
html[data-theme="night"] .button-primary,
html[data-theme="night"] .button-light { color:#111; background:var(--gold); border-color:var(--gold); }
html[data-theme="night"] .button-primary:hover,
html[data-theme="night"] .button-light:hover { background:#dec27e; border-color:#dec27e; }
html[data-theme="night"] .portfolio-kpi.booked strong,
html[data-theme="night"] .count-booked,
html[data-theme="night"] .occupancy-cell > strong.good { color:var(--gold); }
html[data-theme="night"] .portfolio-kpi.revenue { background:linear-gradient(145deg,#f7f2e8,#d8c49b); }
html[data-theme="night"] .premium-revenue-bar i { background:linear-gradient(90deg,#777,var(--gold)); }
html[data-theme="night"] .property-rate,
html[data-theme="night"] .quick-action-card:hover,
html[data-theme="night"] .quick-unit-row:hover { border-color:var(--gold); }
html[data-theme="night"] .unit-tab.active { color:var(--gold); border-color:var(--gold); }

@media (max-width: 980px) {
  .dashboard-quick-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .theme-label { display:none; }
  .theme-toggle { width:40px; padding:0; }
}
@media (max-width: 680px) {
  .quick-action-grid,.quick-picker-filters { grid-template-columns:1fr; }
  .quick-add-button { min-width:42px; width:42px; padding:0; }
  .quick-add-button span:last-child { display:none; }
  .dashboard-quick-actions { grid-template-columns:1fr; }
  .login-theme-toggle { top:12px; right:12px; }
  #presentation-button { display:none; }
}


/* The sign-in experience is intentionally fixed to Night mode. */
.login-fixed-night { color:#fff; background:#080808; }
.login-fixed-night .login-visual {
  color:#fff;
  background:
    radial-gradient(ellipse 72% 68% at 20% 18%,rgba(200,169,101,.14) 0%,rgba(200,169,101,.045) 34%,transparent 72%),
    radial-gradient(ellipse 78% 72% at 72% 78%,rgba(255,255,255,.04) 0%,rgba(255,255,255,.012) 40%,transparent 74%),
    linear-gradient(138deg,#070708 0%,#050506 54%,#080809 100%);
}
.login-fixed-night .login-logo-wide,
.login-fixed-night .login-brand-mobile img { filter:brightness(0) invert(1); }
.login-fixed-night .login-visual p { color:rgba(255,255,255,.62); }
.login-fixed-night .login-stat-grid { border-color:rgba(255,255,255,.13); }
.login-fixed-night .login-stat-grid span { color:rgba(255,255,255,.44); }
.login-fixed-night .login-panel { background:#0b0b0d; border-left-color:rgba(255,255,255,.08); }
.login-fixed-night .login-card { color:#fff; background:rgba(255,255,255,.045); border-color:rgba(255,255,255,.1); box-shadow:0 30px 90px rgba(0,0,0,.4); }
.login-fixed-night .demo-account { color:#fff; background:rgba(255,255,255,.025); }
.login-fixed-night .demo-account:hover { background:rgba(200,169,101,.08); border-color:var(--gold); }
.login-fixed-night .demo-role-mark { color:#111; background:var(--gold); }


/* v0.4.0 property photo cards remain cinematic in both themes */
html[data-theme="day"] .property-photo-card {
  color:#f7f7f8;
  background:#111113;
  border-color:rgba(156,118,49,.34);
  box-shadow:0 18px 46px rgba(38,31,20,.14);
}
html[data-theme="day"] .property-photo-card:hover {
  color:#f7f7f8;
  background:#151517;
  border-color:var(--gold);
}
html[data-theme="day"] .property-photo-card .property-status-grid,
html[data-theme="day"] .property-photo-card .property-occupancy {
  border-color:rgba(255,255,255,.1);
}
html[data-theme="day"] .property-photo-card .property-status-grid span,
html[data-theme="day"] .property-photo-card .property-card-finance span,
html[data-theme="day"] .property-photo-card .property-filter-context {
  color:#96969e;
}
html[data-theme="day"] .property-photo-card .property-rate-ring::after {
  background:#111113;
}
html[data-theme="day"] .property-hero {
  color:#fff;
  background:#0a0a0b;
}
html[data-theme="day"] .property-hero p { color:rgba(255,255,255,.64); }
html[data-theme="day"] .property-hero-metric { border-color:rgba(255,255,255,.2); }
html[data-theme="day"] .property-hero-metric span { color:rgba(255,255,255,.5); }
html[data-theme="day"] .property-photo-notice { background:#fff; }

/* =========================================================
   v0.7.0 PREMIUM APPLICATION SHELL & OFFICIAL SVG BRAND
   ========================================================= */
.brand-lockup {
  display:flex;
  align-items:center;
  gap:13px;
  white-space:nowrap;
}
.brand-mark-img,
.brand-word-img {
  display:block;
  flex:none;
  object-fit:contain;
  object-position:center;
}
.brand-mark-img {
  width:43px;
  height:50px;
  filter:drop-shadow(0 0 9px rgba(214,174,78,.45)) drop-shadow(0 0 22px rgba(214,174,78,.16));
}
.brand-word-img {
  width:112px;
  height:18px;
  opacity:.96;
}
.brand-lockup-login { gap:25px; }
.brand-lockup-login .brand-mark-img { width:108px; height:126px; filter:drop-shadow(0 0 15px rgba(226,186,91,.62)) drop-shadow(0 0 42px rgba(226,186,91,.24)); }
.brand-lockup-login .brand-word-img { width:245px; height:36px; }
.brand-lockup-sidebar { padding:1px 5px; gap:11px; }
.brand-lockup-sidebar .brand-mark-img { width:39px; height:46px; }
.brand-lockup-sidebar .brand-word-img { width:103px; height:16px; }
.sidebar { padding-bottom:20px; }
.sidebar-brand { min-height:69px; padding:0 8px 22px; }
.nav-divider { height:1px; background:rgba(255,255,255,.09); margin:12px 10px; }
.nav-item.active {
  color:#e4c574;
  background:linear-gradient(90deg,rgba(211,174,91,.22),rgba(211,174,91,.055));
  border-color:rgba(211,174,91,.2);
  box-shadow:inset 3px 0 0 #d1ad58,0 8px 28px rgba(0,0,0,.18);
}
.nav-item.active .nav-count { background:#d1ad58; color:#090909; }
.sidebar-snapshot {
  margin-top:auto;
  padding:18px 15px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:17px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  box-shadow:0 16px 42px rgba(0,0,0,.22);
}
.sidebar-snapshot-title { font-size:.58rem; letter-spacing:.14em; color:rgba(255,255,255,.48); margin-bottom:15px; }
.sidebar-snapshot-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.sidebar-snapshot-grid>div { display:grid; gap:3px; padding-right:8px; border-right:1px solid rgba(255,255,255,.08); }
.sidebar-snapshot-grid>div:last-child { border-right:0; padding-right:0; padding-left:8px; }
.sidebar-snapshot-grid strong { font-size:1.1rem; color:#fff; }
.sidebar-snapshot-grid span,.sidebar-snapshot-revenue span { font-size:.56rem; color:rgba(255,255,255,.43); }
.sidebar-snapshot-revenue { display:grid; gap:4px; padding:15px 0 13px; margin-top:14px; border-top:1px solid rgba(255,255,255,.08); }
.sidebar-snapshot-revenue strong { font-size:1.1rem; color:#fff; }
.sidebar-snapshot-link { width:100%; display:flex; justify-content:space-between; border:1px solid rgba(211,174,91,.22); border-radius:11px; background:rgba(211,174,91,.06); color:#d8b965; padding:10px 11px; font-size:.68rem; }
.topbar-spacer { flex:1; }
.topbar { height:74px; padding:0 28px; }
.topbar-actions { margin-left:auto; }
.quick-add-button { min-width:112px; }
.topbar-icon-button { position:relative; width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,.035); color:var(--text); font-size:1rem; }
.avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(211,174,91,.36); background:rgba(211,174,91,.11); color:#e1c477; font-weight:800; font-size:.76rem; }
.avatar-small { width:36px; height:36px; }
.account-wrap,.notification-wrap { position:relative; }
.account-chevron { color:var(--text-muted); font-size:.8rem; }
.mobile-topbar-left { display:none; }
.mobile-bottom-nav,.mobile-fab,.mobile-more-sheet { display:none; }
.login-visual { overflow:hidden; background:radial-gradient(circle at 28% 36%,rgba(201,164,82,.08),transparent 35%),linear-gradient(145deg,#0b0b0c,#070708 70%); }
.login-visual::after { content:""; position:absolute; inset:-25%; background:radial-gradient(ellipse at 58% 48%,rgba(255,255,255,.025),transparent 46%); filter:blur(30px); pointer-events:none; }
.login-visual-inner { position:relative; z-index:2; }
.login-visual-inner p { color:#c5a95e; }
.login-card { border-color:rgba(211,174,91,.2); }
.loader-mark .brand-mark-img { width:44px; height:52px; }
html[data-theme="day"] .topbar-icon-button { background:#fff; }
html[data-theme="day"] .mobile-brand .brand-word-img { filter:brightness(0); }
html[data-theme="day"] .sidebar .brand-word-img,
html[data-theme="day"] .login-screen .brand-word-img { filter:none; }

/* =========================================================
   v0.8.0 BRAND LOCKUP REFINEMENT
   Actual SVG assets stay on one coordinated horizontal line.
   ========================================================= */
.brand-lockup,
.brand-lockup-login,
.brand-lockup-sidebar,
.mobile-brand {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}
.brand-lockup-sidebar {
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
}
.brand-lockup-sidebar .brand-mark-img {
  width:42px;
  height:49px;
}
.brand-lockup-sidebar .brand-word-img {
  width:111px;
  height:18px;
}
.brand-lockup-login {
  display:flex;
  align-items:center;
  gap:23px;
}
.brand-lockup-login .brand-mark-img {
  width:98px;
  height:114px;
}
.brand-lockup-login .brand-word-img {
  width:238px;
  height:38px;
}


/* =========================================================
   v0.8.1 DEFINITIVE HORIZONTAL LOGO LOCKUP
   A single composed SVG prevents the mark and wordmark from
   wrapping, stacking or becoming disproportionate.
   ========================================================= */
.brand-lockup {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start;
  flex-flow:row nowrap !important;
  width:auto;
  min-width:0;
  line-height:0;
}
.brand-logo-img {
  display:block;
  flex:0 0 auto;
  width:auto;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
.brand-logo-light { display:none; }
html[data-theme="day"] .brand-logo-night { display:none; }
html[data-theme="day"] .brand-logo-light { display:block; }
.login-fixed-night .brand-logo-night { display:block !important; }
.login-fixed-night .brand-logo-light { display:none !important; }
.brand-lockup-sidebar {
  width:100%;
  min-height:46px;
  padding:0 !important;
}
.brand-lockup-sidebar .brand-logo-img {
  width:174px;
  max-height:44px;
}
.brand-lockup-login .brand-logo-img {
  width:min(390px, 76%);
  max-height:94px;
}
.sidebar-brand {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  overflow:hidden;
}
.sidebar-brand > .brand-lockup { display:flex !important; }
