/* Amplified Estates — Dashboard styles (v2)
   Light/dark theming via [data-theme] on <html>.
   Density via [data-density] on <body>. */

/* ===AE-INJECT:MOBILE-CSS=== */
/* Body scroll lock when mobile sidebar is open */
.body--sb-open{overflow:hidden!important;touch-action:none}

/* Mobile sidebar close X — only visible <768px */
.sidebar-close{
  display:none;position:absolute;top:10px;right:10px;
  width:32px;height:32px;border-radius:8px;border:0;background:transparent;
  color:rgba(255,255,255,.78);cursor:pointer;
  align-items:center;justify-content:center;z-index:2;
  transition:background .15s,color .15s;
}
.sidebar-close:hover{background:rgba(255,255,255,.08);color:#fff;}
.sidebar-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
@media(max-width:768px){
  .sidebar{position:fixed!important;}
  .sidebar.open{box-shadow:0 12px 40px rgba(0,0,0,.45);}
  .sidebar.open .sidebar-close{display:flex;}
  /* Sticky header overlap fix on mobile — give anchored content scroll-margin */
  .main{scroll-padding-top:calc(var(--topbar-h) + 8px);}
  .main :target{scroll-margin-top:calc(var(--topbar-h) + 12px);}
}

/* Modal full-screen on small viewports (<480px) */
@media(max-width:480px){
  .app-detail-pop,
  .app-detail-pop-lg,
  .app-compare-modal,
  .modal-card,
  .app-doc-lightbox{
    position:fixed!important;
    top:0!important;left:0!important;right:0!important;bottom:0!important;
    transform:none!important;
    width:100vw!important;max-width:100vw!important;
    height:100dvh!important;max-height:100dvh!important;
    border-radius:0!important;
    overflow:auto!important;
  }
  .ae-overlay-shell{
    width:100vw!important;max-width:100vw!important;
    height:100dvh!important;max-height:100dvh!important;
    border-radius:0!important;
  }
}

/* Overflow guards for any existing max-height panels that lacked overflow */
.app-tab-body,.modal-card,.cheatsheet,.app-compare-modal{overflow-y:auto;}

/* CSS-only virtual-scroll fallback for very long tables (>200 rows) */
.tbl-virtual{max-height:600px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);}
.tbl-virtual .tbl{margin:0;}
.tbl-virtual .tbl thead th{position:sticky;top:0;background:var(--surface);z-index:1;}
/* ===AE-INJECT:CHROME-CSS=== */
/* Top-bar currency picker — sparse styling, mounted in topbar-right */
.topbar-currency{
  display:none; /* hidden by default; settings toggle reveals via .show or removing this class */
  height:32px;padding:0 24px 0 10px;
  background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);
  color:var(--text);font:600 .8rem 'DM Sans',sans-serif;
  cursor:pointer;
  -webkit-appearance:none;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 14px) 14px,calc(100% - 9px) 14px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.topbar-currency.show,.topbar-currency[data-on="1"]{display:inline-block;}
.topbar-currency:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent-dk);}
@media(max-width:768px){
  .topbar-currency{height:30px;font-size:.74rem;padding:0 22px 0 8px;}
}

/* Error boundary fallback panel — match existing panel style */
.ae-error-fallback{
  margin:24px 0;padding:20px 22px;
  background:var(--surface);border:1px solid var(--border);
  border-left:3px solid #D94D4D;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm,0 1px 2px rgba(0,0,0,.04));
  font-family:'DM Sans',sans-serif;color:var(--text);
}
.ae-error-fallback h3{
  font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;
  color:var(--text);margin-bottom:6px;
}
.ae-error-fallback p{font-size:.86rem;color:var(--text-dim);line-height:1.5;margin-bottom:10px;}
.ae-error-fallback pre{
  background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:10px 12px;font-size:.74rem;color:var(--text-dim);overflow-x:auto;
  white-space:pre-wrap;word-break:break-word;max-height:160px;overflow-y:auto;
}
.ae-error-fallback button{
  margin-top:10px;padding:8px 14px;font-size:.78rem;font-weight:600;
  background:var(--ink);color:#fff;border:0;border-radius:var(--radius-sm);
  cursor:pointer;transition:opacity .15s;
}
.ae-error-fallback button:hover{opacity:.88;}

/* Audit "Activity" panel rows — match existing panel-row style */
.ae-audit-row{
  display:grid;grid-template-columns:140px 1fr auto;gap:12px;align-items:baseline;
  padding:10px 14px;border-bottom:1px solid var(--border);
  font-size:.84rem;color:var(--text);
}
.ae-audit-row:last-child{border-bottom:0;}
.ae-audit-row:hover{background:var(--surface-2);}
.ae-audit-actor{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ae-audit-action{color:var(--text-dim);min-width:0;overflow-wrap:anywhere;}
.ae-audit-time{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;}
@media(max-width:640px){
  .ae-audit-row{grid-template-columns:1fr;gap:2px;padding:10px 12px;}
  .ae-audit-time{font-size:.68rem;}
}
/* ===AE-INJECT:CHROME-CSS-END=== */

/* ─── A11Y: reduce-motion + high-contrast (marker-block copy; authoritative copy at EOF) ─── */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
@media (prefers-contrast: more){
  :root { --border: #000 !important; --text-dim: #000 !important; }
  .panel, .modal-card, .app-detail-pop { border-width: 2px !important; }
  .link-btn, button { outline: 1px solid currentColor; }
}
[data-contrast="high"] { /* manual override */
  --border: #000 !important; --text-dim: #000 !important;
}
[data-motion="off"] *,
[data-motion="off"] *::before,
[data-motion="off"] *::after { animation: none !important; transition: none !important; }

/* HIGH/MED audit additions */
.heatmap-grid .heat-cell{transition:transform .15s ease,filter .15s ease}
.heatmap-grid .heat-cell:hover{transform:scale(1.04);filter:brightness(1.1);cursor:crosshair;z-index:1}
.app-compare-hint{animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.ra-rec-pop{font-family:'DM Sans',sans-serif}
.ra-saved-search-chips .renter-tag{transition:opacity .15s}
.ra-saved-search-chips .renter-tag:hover{opacity:.85}
[aria-sort="ascending"], [aria-sort="descending"]{position:relative}
[data-priv-action]{cursor:pointer}

:root{
  --accent:#A3E97D;
  --accent-dk:#6dd44a;
  --accent-lt:#E8F8DC;
  --gold:#000000;
  --topbar-h:76px;
  --sidebar-w:248px;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --row-py:14px;
  --cell-py:12px;
}
html[data-theme="light"]{
  --ink:#1C2226;
  --text:#1C2226;
  --text-dim:#4A565F;
  --muted:#6B7880;
  --bg:#F4F6F4;
  --bg-soft:#F7F8F4;
  --surface:#FFFFFF;
  --surface-2:#F8FAF7;
  --surface-3:#EEF2EE;
  --border:rgba(57,69,77,0.13);
  --border-strong:rgba(57,69,77,0.22);
  --sidebar-bg:#1C2226;
  --sidebar-border:rgba(255,255,255,0.08);
  --sidebar-text:rgba(255,255,255,.68);
  --sidebar-text-dim:rgba(255,255,255,.38);
  --chip-bg:#E8F8DC;
  --chip-text:#2d5712;
  --banner-bg:#FFF8E1;
  --banner-border:rgba(201,168,76,.35);
  --banner-text:#7A5800;
  --shadow-sm:0 2px 12px rgba(57,69,77,0.09);
  --shadow-md:0 8px 32px rgba(57,69,77,0.13);
  --shadow-lg:0 20px 64px rgba(57,69,77,0.17);
  --overlay:rgba(28,34,38,0.42);
}
html[data-theme="dark"]{
  --ink:#0E1316;
  --text:#F1F3F1;
  --text-dim:#B8C1C7;
  --muted:#8A9299;
  --bg:#161C20;
  --bg-soft:#1A2125;
  --surface:#1F272B;
  --surface-2:#252E33;
  --surface-3:#2C363B;
  --border:rgba(255,255,255,0.08);
  --border-strong:rgba(255,255,255,0.16);
  --sidebar-bg:#0E1316;
  --sidebar-border:rgba(255,255,255,0.06);
  --sidebar-text:rgba(255,255,255,.72);
  --sidebar-text-dim:rgba(255,255,255,.42);
  --chip-bg:rgba(163,233,125,.14);
  --chip-text:#C7F2A2;
  --banner-bg:rgba(201,168,76,.14);
  --banner-border:rgba(201,168,76,.35);
  --banner-text:#E6C77A;
  --shadow-sm:0 2px 12px rgba(0,0,0,0.4);
  --shadow-md:0 8px 32px rgba(0,0,0,0.5);
  --shadow-lg:0 20px 64px rgba(0,0,0,0.6);
  --overlay:rgba(0,0,0,0.62);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{height:100%;}
body{min-height:100%;}
body{
  font-family:'DM Sans',system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  transition:background .25s ease, color .25s ease;
}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,textarea,select{font:inherit;color:inherit;}
[hidden]{display:none !important;}

/* ═══ PROTOTYPE BANNER ═══ */
.proto-banner{
  background:var(--banner-bg);border-bottom:1px solid var(--banner-border);
  color:var(--banner-text);font-size:.72rem;font-weight:600;letter-spacing:.04em;
  padding:8px 24px;text-align:center;
}

/* ═══ TOP BAR ═══ */
.topbar{
  position:sticky;top:0;z-index:100;   /* above in-view sticky bars (≤50); below modals (1500+) */
  height:var(--topbar-h);
  background:var(--surface);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;gap:16px;
}
.topbar-left{display:flex;align-items:center;gap:16px;min-width:0;}
.sidebar-toggle{
  display:none;width:36px;height:36px;border-radius:var(--radius-sm);
  align-items:center;justify-content:center;
  color:var(--text-dim);transition:background .2s;
}
.sidebar-toggle:hover{background:var(--surface-2);}
.topbar .logo-mark{
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--text);line-height:1;
}
.topbar .logo-sub{
  font-size:.46rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin-top:2px;display:block;
}

.topbar-search{
  position:relative;flex:1;max-width:420px;
}
.topbar-search input{
  width:100%;height:38px;border-radius:100px;
  padding:0 16px 0 38px;
  background:var(--surface-2);border:1px solid var(--border);
  color:var(--text);font-size:.82rem;
  transition:border-color .2s, box-shadow .2s;
}
.topbar-search input::placeholder{color:var(--muted);}
.topbar-search input:focus{outline:none;border-color:var(--accent-dk);box-shadow:0 0 0 3px rgba(109,212,74,.15);}
.topbar-search svg{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:15px;height:15px;color:var(--muted);pointer-events:none;
}
.topbar-search .kbd{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  font-size:.62rem;color:var(--muted);border:1px solid var(--border);
  padding:2px 6px;border-radius:5px;background:var(--surface);
  pointer-events:none;
}
.search-results{
  position:absolute;top:44px;left:0;right:0;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);box-shadow:var(--shadow-md);
  max-height:420px;overflow-y:auto;z-index:60;
}
.search-group{padding:8px 0;border-bottom:1px solid var(--border);}
.search-group:last-child{border-bottom:none;}
.search-group-label{
  font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);padding:6px 16px;
}
.search-item{
  display:block;padding:9px 16px;font-size:.82rem;color:var(--text);
  cursor:pointer;transition:background .15s;
}
.search-item:hover,.search-item.active{background:var(--surface-2);}
.search-item-sub{font-size:.68rem;color:var(--muted);margin-top:1px;}
.search-empty{padding:18px 16px;text-align:center;color:var(--muted);font-size:.82rem;}

.topbar-right{display:flex;align-items:center;gap:10px;}
.icon-btn{
  width:38px;height:38px;border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-dim);border:1px solid var(--border);
  background:var(--surface);transition:all .2s;position:relative;
}
.icon-btn:hover{background:var(--surface-2);color:var(--text);}
.icon-btn svg{width:17px;height:17px;}
.icon-btn .badge{
  position:absolute;top:-4px;right:-4px;
  min-width:16px;height:16px;padding:0 4px;border-radius:100px;
  background:#D94D4D;color:#fff;font-size:.58rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  border:2px solid var(--surface);
}
.user-menu{display:flex;align-items:center;gap:10px;}
.user-avatar{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:var(--surface-2);color:var(--text-dim);
  border:1px solid var(--border);overflow:hidden;
}
.user-avatar.has-photo{background:transparent}
.user-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.user-avatar svg{width:22px;height:22px}
.user-name{font-size:.78rem;font-weight:600;color:var(--text);}
.signout-btn{
  font-size:.72rem;font-weight:600;color:var(--text-dim);
  padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);
  transition:all .2s;
}
.signout-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ═══ NOTIF DROPDOWN ═══ */
.notif-panel{
  position:absolute;top:46px;right:0;width:340px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:60;
  overflow:hidden;
}
.notif-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 16px;border-bottom:1px solid var(--border);
}
.notif-head-title{font-size:.85rem;font-weight:700;color:var(--text);}
.notif-mark{font-size:.7rem;color:var(--accent-dk);font-weight:600;}
.notif-mark:hover{text-decoration:underline;}
.notif-list{max-height:380px;overflow-y:auto;}
.notif-item{
  display:flex;gap:12px;padding:13px 16px;border-bottom:1px solid var(--border);
  cursor:pointer;transition:background .15s;
}
.notif-item:last-child{border-bottom:none;}
.notif-item:hover{background:var(--surface-2);}
.notif-item.unread{background:var(--surface-2);}
.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-dk);margin-top:6px;flex-shrink:0;}
.notif-item.read .notif-dot{background:transparent;border:1px solid var(--border);}
.notif-text{font-size:.8rem;color:var(--text);line-height:1.45;}
.notif-time{font-size:.66rem;color:var(--muted);margin-top:3px;}

/* ═══ LAYOUT ═══ */
.shell{
  display:grid;
  grid-template-columns:var(--sidebar-w) 1fr;
  min-height:calc(100vh - var(--topbar-h));
}

/* ═══ SIDEBAR ═══ */
.sidebar{
  background:var(--sidebar-bg);
  border-right:1px solid var(--sidebar-border);
  padding:16px 14px 14px;
  position:sticky;top:var(--topbar-h);
  height:calc(100vh - var(--topbar-h));
  display:flex;flex-direction:column;
}
.sidebar-heading{
  font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--sidebar-text-dim);padding:0 14px 10px;
}
.sidebar-nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;}
.nav-item{
  display:flex;align-items:center;gap:12px;
  /* 8px, not 10px: Property Manager carries 11 top-level rows and overflowed
     .sidebar-nav below a ~700px-tall viewport. 4px/row x 11 buys back 44px,
     which clears it with headroom. Icon-rail (<=1024px), mobile drawer
     (<=768px) and data-density="compact" override this and are unaffected. */
  padding:8px 14px;border-radius:9px;
  font-size:.84rem;font-weight:500;
  color:var(--sidebar-text);
  transition:background .2s,color .2s;
}
.nav-item:hover{background:rgba(255,255,255,.05);color:#fff;}
.nav-item.active{
  background:rgba(163,233,125,.14);
  color:var(--accent);
  font-weight:600;
}
.nav-item svg{width:17px;height:17px;flex-shrink:0;opacity:.9;}

/* Sidebar footer (persona switcher) */
.sidebar-footer{
  margin-top:10px;padding:10px 8px 2px;
  border-top:1px solid var(--sidebar-border);
  position:relative;
}
.persona-switch{
  display:flex;align-items:center;gap:11px;width:100%;
  padding:10px 12px;border-radius:10px;
  color:var(--sidebar-text);
  transition:background .2s;text-align:left;
}
.persona-switch:hover{background:rgba(255,255,255,.05);}
.persona-switch-avatar{
  width:32px;height:32px;border-radius:50%;
  background:var(--accent);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  font-size:.72rem;font-weight:700;flex-shrink:0;
}
.persona-switch-meta{flex:1;min-width:0;}
.persona-switch-name{
  font-size:.82rem;font-weight:600;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.persona-switch-role{
  font-size:.64rem;font-weight:600;
  /* .03em, not .09em: "PROPERTY MANAGER" is the longest role label and at
     .09em it overflows its 111px slot by 8px, so nowrap would ellipsise it.
     .04em fits exactly; .03em leaves slack. */
  letter-spacing:.03em;
  text-transform:uppercase;color:var(--accent);
  /* Matches .persona-switch-name above, which already does this. Without it
     "PROPERTY MANAGER" wrapped to two lines even though it fits on one,
     making the PM footer 16px taller than every other persona and stealing
     that height from the nav — PM being the persona with the most tabs. */
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.persona-switch-caret{color:var(--sidebar-text-dim);flex-shrink:0;}
.persona-switch.single .persona-switch-caret{display:none;}
.persona-switch.single{cursor:default;}
.persona-switch.single:hover{background:transparent;}

.persona-pop{
  position:absolute;bottom:calc(100% - 4px);left:8px;right:8px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);box-shadow:var(--shadow-lg);
  padding:6px;z-index:70;
  /* Grows UPWARD, and neither .sidebar nor any ancestor scrolls — an oversized
     popup would paint above the viewport with no way to reach it. 360px sits
     just above the natural 9-row height, so desktop is visually unchanged. */
  max-height:min(60vh, 360px);overflow-y:auto;overscroll-behavior:contain;
}
.persona-pop-item{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-radius:8px;width:100%;
  font-size:.82rem;color:var(--text);text-align:left;
  transition:background .15s;
}
.persona-pop-item:hover{background:var(--surface-2);}
.persona-pop-item.current{background:var(--chip-bg);color:var(--chip-text);font-weight:600;}
.persona-pop-item svg{width:14px;height:14px;opacity:.85;}

/* ═══ MAIN ═══ */
.main{padding:32px 40px 64px;max-width:1400px;width:100%;}
.page-head{margin-bottom:26px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;}
.page-head-left{min-width:0;}
.page-title{
  font-family:'Cormorant Garamond',serif;
  font-size:2.1rem;font-weight:600;letter-spacing:-.01em;
  color:var(--text);line-height:1.1;margin-bottom:6px;
}
.page-sub{font-size:.9rem;color:var(--text-dim);}
.page-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
/* UAT sample-data notice — shown on the mock-driven persona dashboards (not admin,
   which reads real data). Full-width row under the title/greeting; matches the
   proto-banner tone so it reads as a system notice, not content. Toggled in render(). */
.page-sample-note{
  flex:0 0 100%;order:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:6px;padding:8px 12px;border-radius:8px;
  background:var(--banner-bg);border:1px solid var(--banner-border);
  color:var(--banner-text);font-size:.76rem;line-height:1.4;
}
.page-sample-note[hidden]{display:none;}
.page-sample-badge{
  flex-shrink:0;font-weight:800;letter-spacing:.06em;font-size:.62rem;
  padding:2px 7px;border-radius:5px;
  /* fixed colours (not the translucent banner vars) so the chip reads in both themes */
  background:#D9A54D;color:#241A00;
}
.page-sample-text{opacity:.92;}

.view{display:none;animation:fadeIn .3s ease;}
.view.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* ═══ KPI CARDS ═══ */
.kpi-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  margin-bottom:24px;
}
/* 5-up variant: forces all cards onto a single row by tightening column widths
   and padding. Falls back to 3 / 2 / 1 columns at narrower breakpoints. */
.kpi-grid.kpi-grid-5{grid-template-columns:repeat(5,1fr);gap:12px}
.kpi-grid.kpi-grid-5 .kpi{padding:16px 14px}
.kpi-grid.kpi-grid-5 .kpi-label{font-size:11px;letter-spacing:.04em}
.kpi-grid.kpi-grid-5 .kpi-value{font-size:26px}
.kpi-grid.kpi-grid-5 .kpi-delta{font-size:11px}
@media(max-width:1180px){.kpi-grid.kpi-grid-5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px) {.kpi-grid.kpi-grid-5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px) {.kpi-grid.kpi-grid-5{grid-template-columns:1fr}}
.kpi{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:20px 22px;
  box-shadow:var(--shadow-sm);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.kpi:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(109,212,74,.3);}
.kpi-label{
  font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);margin-bottom:10px;
}
.kpi-value{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;font-weight:600;color:var(--text);line-height:1;
  margin-bottom:6px;
}
.kpi-delta{font-size:.74rem;font-weight:600;color:var(--accent-dk);}
.kpi-delta.down{color:#D94D4D;}

/* ═══ PANELS ═══ */
.panel{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:22px 24px;
  box-shadow:var(--shadow-sm);margin-bottom:18px;
}
.panel-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;gap:12px;flex-wrap:wrap;
}
.panel-head-left{display:flex;align-items:center;gap:8px;}
.panel-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.28rem;font-weight:600;color:var(--text);
}
.panel-help{
  width:18px;height:18px;border-radius:50%;
  border:1px solid var(--border);color:var(--muted);
  font-size:.66rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  cursor:help;position:relative;
}
.panel-help:hover{border-color:var(--accent-dk);color:var(--accent-dk);}
.panel-help[data-tip]:hover::after{
  content:attr(data-tip);position:absolute;
  top:calc(100% + 6px);left:50%;transform:translateX(-50%);
  width:220px;padding:8px 11px;
  background:var(--ink);color:#fff;
  font-size:.72rem;font-weight:400;letter-spacing:0;text-transform:none;
  border-radius:var(--radius-sm);box-shadow:var(--shadow-md);
  z-index:80;pointer-events:none;line-height:1.4;
}
/* Descriptive subtitle under a panel title (block text). Distinct from the
   .panel-help tooltip BUTTON (an 18px circle) - modules that need a sentence of
   help copy use .panel-sub so the text does not overflow the tiny help glyph. */
.panel-sub{
  display:block;font-size:.78rem;font-weight:400;line-height:1.45;
  color:var(--muted);letter-spacing:0;text-transform:none;
  margin:3px 0 0;max-width:760px;
}
.panel-head-left .panel-sub{margin-top:2px;}
.panel-action{
  font-size:.76rem;font-weight:600;color:var(--ink);
  padding:8px 16px;border-radius:var(--radius-sm);
  background:var(--accent);transition:background .2s,transform .2s;
}
.panel-action:hover{background:var(--accent-dk);transform:translateY(-1px);}
.panel-action.ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border);}
.panel-action.ghost:hover{background:var(--surface-2);color:var(--text);}

.panel-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}

/* ═══ TABLE ═══ */
.tbl{width:100%;border-collapse:collapse;font-size:.86rem;}
.tbl th{
  text-align:left;font-size:.66rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);
  padding:10px 14px;border-bottom:1px solid var(--border);
}
.tbl td{padding:var(--cell-py) 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;}
.tbl tr:last-child td{border-bottom:none;}
.tbl tbody tr{transition:background .15s;}
.tbl tbody tr:hover td{background:var(--surface-2);}
.tbl tbody tr.clickable{cursor:pointer;}
.tbl-photo{
  width:54px;height:40px;border-radius:7px;
  background:linear-gradient(135deg,#4a6a5a,#6a8a7a);
  flex-shrink:0;
}
.tbl-addr{display:flex;align-items:center;gap:12px;}
.tbl-addr-text{display:flex;flex-direction:column;}
.tbl-addr-main{font-weight:600;color:var(--text);}
.tbl-addr-sub{font-size:.72rem;color:var(--muted);}

body[data-density="compact"] .tbl td{padding:8px 12px;}
body[data-density="compact"] .kpi{padding:14px 16px;}
body[data-density="compact"] .panel{padding:16px 18px;}
body[data-density="compact"] .kpi-value{font-size:1.65rem;}

.status{
  display:inline-block;padding:4px 10px;border-radius:100px;
  font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
}
.status.active,.status.accepted,.status.new,.status.done{background:rgba(163,233,125,.16);color:#3a6b1c;border:1px solid rgba(109,212,74,.3);}
html[data-theme="dark"] .status.active,
html[data-theme="dark"] .status.accepted,
html[data-theme="dark"] .status.new,
html[data-theme="dark"] .status.done{color:#C7F2A2;}
.status.draft,.status.archived{background:var(--surface-3);color:var(--muted);border:1px solid var(--border);}
.status.pending,.status.open{background:rgba(201,168,76,.16);color:#7A5800;border:1px solid rgba(201,168,76,.3);}
html[data-theme="dark"] .status.pending,
html[data-theme="dark"] .status.open{color:#E6C77A;}
.status.sold,.status.declined{background:rgba(217,77,77,.14);color:#7A2b2b;border:1px solid rgba(217,77,77,.25);}
html[data-theme="dark"] .status.sold,
html[data-theme="dark"] .status.declined{color:#F0A6A6;}
.status.qualified,.status.countered{background:rgba(60,120,200,.14);color:#1c4a7a;border:1px solid rgba(60,120,200,.25);}
html[data-theme="dark"] .status.qualified,
html[data-theme="dark"] .status.countered{color:#A6CBF0;}

.row-action{
  font-size:.7rem;font-weight:600;color:var(--text-dim);
  padding:6px 12px;border-radius:7px;border:1px solid var(--border);
  transition:all .2s;margin-left:4px;background:var(--surface);
}
.row-action:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ═══ HEALTH SCORE BADGE ═══ */
.health{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 10px;border-radius:100px;
  font-size:.72rem;font-weight:700;
}
.health .dot{width:7px;height:7px;border-radius:50%;}
.health.good{background:rgba(163,233,125,.16);color:#3a6b1c;}
.health.good .dot{background:#6dd44a;}
html[data-theme="dark"] .health.good{color:#C7F2A2;}
.health.mid{background:rgba(201,168,76,.16);color:#7A5800;}
.health.mid .dot{background:var(--gold);}
html[data-theme="dark"] .health.mid{color:#E6C77A;}
.health.bad{background:rgba(217,77,77,.14);color:#7A2b2b;}
.health.bad .dot{background:#D94D4D;}
html[data-theme="dark"] .health.bad{color:#F0A6A6;}

/* ═══ LEADS INBOX ═══ */
.leads-grid{
  display:grid;grid-template-columns:340px 1fr;gap:0;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);
  min-height:520px;
}
.lead-list{border-right:1px solid var(--border);overflow-y:auto;max-height:600px;}
.lead-item{
  padding:16px 18px;border-bottom:1px solid var(--border);
  cursor:pointer;transition:background .2s;
}
.lead-item:hover{background:var(--surface-2);}
.lead-item.active{background:var(--chip-bg);border-left:3px solid var(--accent-dk);padding-left:15px;}
.lead-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;}
.lead-name{font-weight:700;font-size:.88rem;color:var(--text);}
.lead-time{font-size:.7rem;color:var(--muted);}
.lead-listing{font-size:.74rem;color:var(--muted);margin-bottom:4px;}
.lead-snippet{font-size:.78rem;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lead-detail{padding:26px 28px;}
.lead-detail-empty{display:flex;align-items:center;justify-content:center;color:var(--muted);font-style:italic;height:100%;}
.lead-detail-head{border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:18px;}
.lead-detail-name{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;color:var(--text);margin-bottom:4px;}
.lead-detail-meta{font-size:.78rem;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap;}
.lead-thread{display:flex;flex-direction:column;gap:14px;margin-bottom:20px;}
.thread-msg{padding:12px 16px;border-radius:12px;max-width:80%;font-size:.86rem;line-height:1.55;}
.thread-msg.them{background:var(--surface-2);color:var(--text);}
.thread-msg.you{background:var(--chip-bg);color:var(--chip-text);align-self:flex-end;border:1px solid rgba(109,212,74,.25);}
.thread-time{font-size:.64rem;color:var(--muted);margin-top:4px;}
.lead-actions{display:flex;gap:8px;padding-top:14px;border-top:1px solid var(--border);}

/* ═══ ANALYTICS ═══ */
.analytics-toolbar{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin-bottom:18px;
}
.range-picker{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:100px;overflow:hidden;}
.range-picker button{
  padding:8px 16px;font-size:.74rem;font-weight:600;color:var(--text-dim);
  transition:all .15s;
}
.range-picker button.active{background:var(--accent);color:var(--ink);}
.range-picker button:hover:not(.active){background:var(--surface-2);color:var(--text);}

.analytics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px;}
.spark-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-sm);
}
.spark-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.spark-value{font-family:'Cormorant Garamond',serif;font-size:1.85rem;font-weight:600;color:var(--text);line-height:1;margin-bottom:10px;}
.spark svg{width:100%;height:110px;display:block;}

/* Funnel */
.funnel{display:flex;flex-direction:column;gap:9px;}
.funnel-row{display:grid;grid-template-columns:140px 1fr 90px 70px;gap:14px;align-items:center;}
.funnel-lbl{font-size:.78rem;font-weight:600;color:var(--text);}
.funnel-bar{height:28px;background:var(--surface-2);border-radius:7px;overflow:hidden;border:1px solid var(--border);}
.funnel-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-dk));transition:width .4s ease;}
.funnel-val{font-size:.82rem;font-weight:700;color:var(--text);text-align:right;}
.funnel-drop{font-size:.68rem;color:var(--muted);font-weight:600;text-align:right;}
.funnel-drop.up{color:var(--accent-dk);}
.funnel-drop.down{color:#D94D4D;}

/* Traffic stacked bar */
.sources{display:flex;flex-direction:column;gap:12px;}
.sources-bar{display:flex;height:32px;border-radius:8px;overflow:hidden;border:1px solid var(--border);}
.sources-seg{display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:#fff;transition:opacity .15s;}
.sources-seg:hover{opacity:.85;}
.sources-legend{display:flex;gap:18px;flex-wrap:wrap;}
.sources-legend-item{display:flex;align-items:center;gap:7px;font-size:.76rem;color:var(--text-dim);}
.sources-legend-dot{width:10px;height:10px;border-radius:3px;}

/* Benchmarks */
.bench-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.bench{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;}
.bench-lbl{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.bench-val{display:flex;align-items:baseline;gap:10px;}
.bench-you{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;color:var(--text);}
.bench-vs{font-size:.72rem;color:var(--muted);}
.bench-delta{font-size:.76rem;font-weight:700;}
.bench-delta.up{color:var(--accent-dk);}
.bench-delta.down{color:#D94D4D;}

/* Donut */
.donut-wrap{display:flex;align-items:center;gap:22px;}
.donut-wrap svg{width:130px;height:130px;flex-shrink:0;}
.donut-legend{display:flex;flex-direction:column;gap:8px;}
.donut-legend-item{display:flex;align-items:center;gap:9px;font-size:.8rem;color:var(--text);}
.donut-legend-dot{width:10px;height:10px;border-radius:3px;}

.perf-list{display:flex;flex-direction:column;gap:14px;}
.perf-row{
  display:grid;grid-template-columns:1fr 120px 120px 140px 90px;gap:18px;
  align-items:center;padding:16px 18px;background:var(--surface-2);
  border:1px solid var(--border);border-radius:var(--radius-md);
  cursor:pointer;transition:border-color .15s, background .15s;
}
.perf-row:hover{border-color:rgba(109,212,74,.35);background:var(--surface-3);}
.perf-stat{font-size:.82rem;color:var(--text);}
.perf-stat b{font-weight:700;}
.perf-stat-lbl{font-size:.64rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;}

/* Per-listing drill-down big chart */
.bigchart{width:100%;height:220px;display:block;}

/* ═══ OFFERS / CHECKLIST ═══ */
.checklist{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.check-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;background:var(--surface-2);
  border:1px solid var(--border);border-radius:var(--radius-md);
  font-size:.85rem;color:var(--text);
}
.check-item.done{background:var(--chip-bg);border-color:rgba(109,212,74,.3);}
.check-box{
  width:20px;height:20px;border-radius:5px;
  border:1.5px solid var(--border-strong);background:var(--surface);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:.75rem;font-weight:700;color:var(--accent-dk);
}
.check-item.done .check-box{background:var(--accent);border-color:var(--accent-dk);color:var(--ink);}
.check-item.done .check-label{text-decoration:line-through;color:var(--muted);}

/* ═══ ACTIVITY FEED ═══ */
.feed{display:flex;flex-direction:column;gap:10px;}
.feed-item{display:flex;gap:14px;align-items:flex-start;padding:11px 14px;border-radius:var(--radius-md);transition:background .2s;}
.feed-item:hover{background:var(--surface-2);}
.feed-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-dk);margin-top:8px;flex-shrink:0;}
.feed-text{font-size:.85rem;color:var(--text);line-height:1.5;}
.feed-text b{font-weight:700;}
.feed-time{font-size:.68rem;color:var(--muted);margin-top:3px;}

/* ═══ TASK INBOX ═══ */
.task-list{display:flex;flex-direction:column;gap:10px;}
.task-row{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;background:var(--surface-2);
  border:1px solid var(--border);border-radius:var(--radius-md);
  transition:border-color .15s;
}
.task-row:hover{border-color:rgba(109,212,74,.35);}
.task-row.done .task-title{text-decoration:line-through;color:var(--muted);}
.task-check{
  width:22px;height:22px;border-radius:6px;
  border:1.5px solid var(--border-strong);background:var(--surface);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  font-size:.78rem;font-weight:700;color:var(--accent-dk);cursor:pointer;
}
.task-row.done .task-check{background:var(--accent);border-color:var(--accent-dk);color:var(--ink);}
.task-body{flex:1;min-width:0;}
.task-title{font-size:.86rem;font-weight:600;color:var(--text);margin-bottom:3px;}
.task-meta{font-size:.72rem;color:var(--muted);}
.task-type{
  font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 9px;border-radius:100px;border:1px solid var(--border);
}
.task-check-btn{
  width:22px;height:22px;border-radius:6px;
  border:1.5px solid var(--border-strong);background:var(--surface);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;
  font-size:.78rem;font-weight:700;color:#fff;cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.task-check-btn:hover{border-color:var(--accent-dk);background:var(--surface-2);}
.task-check-btn.checked{background:var(--accent);border-color:var(--accent-dk);}
.task-check-btn.checked::after{content:'\2713';line-height:1;}
.task-action-btn{
  background:var(--accent);color:var(--ink,#0a0a0a);border:0;border-radius:6px;
  padding:6px 12px;font-size:.7rem;font-weight:700;letter-spacing:.04em;
  cursor:pointer;flex-shrink:0;transition:background .15s ease,transform .15s ease;
}
.task-action-btn:hover{background:var(--accent-dk);transform:translateY(-1px);}
.task-row.task-completing{opacity:.45;transition:opacity .35s ease;}
.task-row.task-completing .task-title{text-decoration:line-through;}

/* Undo toast (5s window) */
.task-undo-toast{
  position:fixed;bottom:28px;left:50%;transform:translateX(-50%);
  z-index:9999;display:flex;align-items:center;gap:14px;
  padding:12px 18px;background:var(--text,#111);color:var(--bg,#fff);
  border-radius:8px;box-shadow:0 12px 36px rgba(0,0,0,.45);
  font-size:13px;font-weight:500;
  animation:tut-in .2s ease both;overflow:hidden;
}
.task-undo-toast .tut-msg{line-height:1.3;}
.task-undo-toast .tut-undo{
  background:transparent;border:1px solid currentColor;color:inherit;
  padding:5px 12px;border-radius:5px;font-size:11px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;cursor:pointer;
}
.task-undo-toast .tut-undo:hover{background:rgba(255,255,255,.12);}
.task-undo-toast .tut-bar{
  position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--accent,#6dd44a);transform-origin:left;
  animation:tut-bar var(--ms,5000ms) linear forwards;
}
@keyframes tut-in{from{opacity:0;transform:translate(-50%,8px);}to{opacity:1;transform:translate(-50%,0);}}
@keyframes tut-bar{from{transform:scaleX(1);}to{transform:scaleX(0);}}
.task-filter{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.task-filter button{
  font-size:.72rem;font-weight:600;padding:6px 12px;border-radius:100px;
  border:1px solid var(--border);color:var(--text-dim);background:var(--surface);
}
.task-filter button.active{background:var(--accent);color:var(--ink);border-color:var(--accent-dk);}

/* ═══ SHOWINGS CALENDAR ═══ */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:18px;}
.cal-day{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;min-height:120px;}
.cal-day-head{font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.cal-day-head .date{display:block;font-size:1.1rem;color:var(--text);margin-top:2px;}
.cal-event{
  display:block;padding:6px 8px;margin-top:6px;
  background:var(--chip-bg);color:var(--chip-text);
  border-left:3px solid var(--accent-dk);border-radius:4px;
  font-size:.7rem;font-weight:600;
}

/* ═══ MARKET / COMPETITORS ═══ */
.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.market-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;}
.market-zip{font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;}
.market-val{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;color:var(--text);margin:4px 0;}
.market-trend{font-size:.72rem;font-weight:600;}
.market-trend.up{color:var(--accent-dk);}
.market-trend.down{color:#D94D4D;}

/* ═══ AI ASSISTANT ═══ */
.ai-shell{display:grid;grid-template-columns:220px 1fr;gap:18px;}
.ai-actions{display:flex;flex-direction:column;gap:8px;}
.ai-action{
  padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);
  border-radius:var(--radius-md);text-align:left;font-size:.82rem;
  color:var(--text);font-weight:600;transition:all .2s;
}
.ai-action:hover{border-color:var(--accent-dk);background:var(--surface-3);}
.ai-output{
  background:var(--surface-2);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:18px 20px;min-height:200px;
  font-size:.86rem;color:var(--text);line-height:1.6;white-space:pre-wrap;
}
.ai-output.empty{color:var(--muted);font-style:italic;display:flex;align-items:center;justify-content:center;text-align:center;}

/* ═══ SAVED VIEWS STRIP ═══ */
.saved-views{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center;}
.saved-view{
  padding:7px 14px;border-radius:100px;
  background:var(--surface);border:1px solid var(--border);
  font-size:.74rem;font-weight:600;color:var(--text-dim);
  display:flex;align-items:center;gap:8px;transition:all .15s;cursor:pointer;
}
.saved-view:hover{border-color:var(--accent-dk);color:var(--text);}
.saved-view.active{background:var(--accent);color:var(--ink);border-color:var(--accent-dk);}
.saved-view .x{font-size:.85rem;opacity:.6;}
.saved-view .x:hover{opacity:1;}

/* ═══ LISTING DETAIL PAGE ═══ */
.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;align-items:start;}
@media(max-width:1100px){.detail-grid{grid-template-columns:1fr;}}

/* ═══ RECENTLY VIEWED ═══ */
.recent-rail{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;margin-bottom:18px;}
.recent-item{
  flex:0 0 200px;padding:12px 14px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);cursor:pointer;transition:all .15s;
}
.recent-item:hover{border-color:var(--accent-dk);transform:translateY(-2px);}
.recent-type{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dk);}
.recent-label{font-size:.82rem;font-weight:600;color:var(--text);margin-top:4px;}

/* ═══ ONBOARDING ═══ */
.onboarding{
  background:linear-gradient(135deg,var(--chip-bg),var(--surface-2));
  border:1px solid rgba(109,212,74,.3);
  border-radius:var(--radius-lg);padding:22px 24px;margin-bottom:22px;position:relative;
}
.onboarding-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.onboarding-title{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:600;color:var(--text);}
.onboarding-close{font-size:1.3rem;color:var(--muted);padding:4px 10px;}
.onboarding-list{display:flex;gap:14px;flex-wrap:wrap;}
.onb-item{
  display:flex;align-items:center;gap:10px;padding:10px 14px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  font-size:.8rem;color:var(--text);cursor:pointer;transition:all .15s;
}
.onb-item:hover{border-color:var(--accent-dk);}
.onb-item.done{opacity:.55;text-decoration:line-through;}
.onb-check{
  width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;font-size:.7rem;
}
.onb-item.done .onb-check{background:var(--accent);border-color:var(--accent-dk);color:var(--ink);}

/* ═══ STUB / EMPTY ═══ */
.stub-state,.empty-state{
  background:var(--surface);border:1px dashed var(--border-strong);
  border-radius:var(--radius-lg);padding:56px 32px;text-align:center;color:var(--text-dim);
}
.stub-state h3,.empty-state h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;color:var(--text);margin-bottom:10px;}
.stub-state p,.empty-state p{font-size:.88rem;max-width:440px;margin:0 auto 16px;line-height:1.65;}
.empty-state .panel-action{display:inline-block;}

/* ═══ PROFILE / SETTINGS ═══ */
.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.form-row label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.form-row input,.form-row select{
  height:40px;padding:0 14px;border-radius:var(--radius-sm);
  background:var(--surface-2);border:1px solid var(--border);color:var(--text);
  transition:border-color .15s;
}
.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--accent-dk);}
.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);}
.toggle-row:last-child{border-bottom:none;}
.toggle-lbl{font-size:.86rem;color:var(--text);font-weight:600;}
.toggle-desc{font-size:.72rem;color:var(--muted);margin-top:2px;}
.toggle{
  width:40px;height:22px;border-radius:100px;background:var(--surface-3);
  border:1px solid var(--border);position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;
}
.toggle::after{
  content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;
  border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm);
  transition:transform .2s;
}
.toggle.on{background:var(--accent);}
.toggle.on::after{transform:translateX(18px);}

/* ═══ COMMAND PALETTE ═══ */
.overlay{
  position:fixed;inset:0;background:var(--overlay);
  z-index:100;display:flex;align-items:flex-start;justify-content:center;
  padding-top:12vh;animation:fadeIn .15s ease;
}
.palette{
  width:580px;max-width:92vw;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);overflow:hidden;
}
.palette input{
  width:100%;height:52px;padding:0 22px;background:transparent;
  border:none;border-bottom:1px solid var(--border);
  font-size:1rem;color:var(--text);
}
.palette input:focus{outline:none;}
.palette-list{max-height:56vh;overflow-y:auto;padding:6px 0;}
.palette-group{padding:6px 0;}
.palette-group-label{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:6px 22px;}
.palette-item{
  display:flex;align-items:center;gap:12px;padding:10px 22px;
  font-size:.86rem;color:var(--text);cursor:pointer;
}
.palette-item.active,.palette-item:hover{background:var(--surface-2);}
.palette-item .palette-item-sub{color:var(--muted);font-size:.7rem;margin-left:auto;}
.palette-empty{padding:26px;text-align:center;color:var(--muted);font-size:.86rem;}

/* ═══ SHORTCUT CHEATSHEET ═══ */
.cheatsheet{
  width:460px;max-width:92vw;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);padding:26px 28px;
}
.cheatsheet h3{font-family:'Cormorant Garamond',serif;font-size:1.4rem;margin-bottom:16px;color:var(--text);}
.cheatsheet dl{display:grid;grid-template-columns:1fr auto;gap:10px 16px;font-size:.85rem;}
.cheatsheet dt{color:var(--text-dim);}
.cheatsheet dd{font-family:'DM Sans',monospace;color:var(--text);font-weight:600;}
.cheatsheet dd kbd{
  display:inline-block;padding:2px 8px;margin:0 2px;
  background:var(--surface-2);border:1px solid var(--border);
  border-radius:5px;font-size:.75rem;font-weight:700;
}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1200px){
  .kpi-grid{grid-template-columns:repeat(2,1fr);}
  .analytics-grid,.market-grid{grid-template-columns:repeat(2,1fr);}
  .ai-shell{grid-template-columns:1fr;}
}
@media(max-width:1024px){
  :root{--sidebar-w:72px;}
  .sidebar{padding:18px 8px 8px;}
  .sidebar-heading{display:none;}
  .nav-item{justify-content:center;padding:12px;}
  .nav-item span{display:none;}
  .sidebar-footer{padding:8px 4px 0;}
  .persona-switch-meta,.persona-switch-caret{display:none;}
  .persona-switch{justify-content:center;}
  .analytics-grid,.market-grid{grid-template-columns:1fr;}
  .leads-grid{grid-template-columns:1fr;}
  .lead-list{max-height:260px;border-right:none;border-bottom:1px solid var(--border);}
  .perf-row{grid-template-columns:1fr;gap:8px;}
  .cal-grid{grid-template-columns:repeat(4,1fr);}
  .funnel-row{grid-template-columns:90px 1fr 70px 60px;}
  .topbar-search{max-width:240px;}
}
@media(max-width:768px){
  .shell{grid-template-columns:1fr;}
  .sidebar{display:none;position:fixed;top:var(--topbar-h);left:0;width:240px;z-index:40;padding:18px 12px;}
  .sidebar.open{display:flex;}
  .sidebar-heading{display:block;}
  .nav-item{justify-content:flex-start;padding:11px 14px;}
  .nav-item span{display:inline;}
  .persona-switch-meta,.persona-switch-caret{display:flex;}
  .persona-switch{justify-content:flex-start;}
  .sidebar-toggle{display:flex;}
  .main{padding:24px 20px 64px;}
  .topbar{padding:0 14px;gap:8px;}
  .topbar-search{display:none;}
  .signout-btn{display:none;}
  .kpi-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .page-title{font-size:1.7rem;}
  .tbl{font-size:.78rem;}
  .tbl th,.tbl td{padding:10px 8px;}
  .cal-grid{grid-template-columns:repeat(2,1fr);}
  .bench-grid{grid-template-columns:1fr;}
  .funnel-row{grid-template-columns:70px 1fr 60px 50px;gap:8px;}
}

/* ═══ DOCUMENTS FEATURE ═══ */
.doc-breadcrumb{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--text-dim);margin-bottom:14px;}
.doc-crumb-sep{color:var(--text-dim);opacity:.55;}
.link-btn{background:none;border:none;color:var(--accent-dk);font-size:.85rem;font-weight:500;padding:2px 4px;border-radius:4px;cursor:pointer;}
.link-btn:hover{background:var(--surface-3);}
.link-btn.danger{color:#c0392b;}
html[data-theme="dark"] .link-btn.danger{color:#ff7a6c;}

.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px;}
@media (max-width: 1100px){.doc-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width: 700px){.doc-grid{grid-template-columns:1fr;}}
.doc-card{
  text-align:left;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:16px 16px 14px;cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  display:flex;flex-direction:column;gap:6px;
}
.doc-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--accent);}
.doc-card-eyebrow{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-dk);font-weight:600;}
.doc-card-title{font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-weight:600;color:var(--text);line-height:1.2;}
.doc-card-desc{font-size:.82rem;color:var(--text-dim);line-height:1.4;}
.doc-card-meta{display:flex;gap:8px;font-size:.72rem;color:var(--muted);margin-top:4px;}

.stepper{display:flex;align-items:center;gap:8px;margin:4px 0 22px;flex-wrap:wrap;}
.step-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--surface-3);color:var(--text-dim);font-size:.82rem;font-weight:500;border:1px solid var(--border);}
.step-pill.on{color:var(--text);}
.step-pill.cur{background:var(--accent);color:#1C2226;border-color:var(--accent);}
.step-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.08);font-size:.72rem;font-weight:700;}
.step-pill.cur .step-n{background:rgba(0,0,0,.18);}
.step-line{flex:0 0 28px;height:1px;background:var(--border);}
.step-line.on{background:var(--accent);}

.doc-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:6px;}
@media (max-width: 700px){.doc-form{grid-template-columns:1fr;}}
.doc-field{display:flex;flex-direction:column;gap:6px;}
.doc-field-row{display:flex;justify-content:space-between;align-items:baseline;}
.doc-field label{font-size:.78rem;font-weight:500;color:var(--text-dim);}
.doc-field .req{color:#c0392b;}
.doc-field input,.doc-field select,.doc-field textarea{
  width:100%;padding:9px 11px;border:1px solid var(--border);background:var(--surface);
  color:var(--text);border-radius:var(--radius-sm);font-size:.9rem;outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.doc-field input:focus,.doc-field select:focus,.doc-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(163,233,125,.18);}
.doc-field textarea{resize:vertical;font-family:inherit;}
.input-wrap{position:relative;}
.input-wrap.with-prefix input{padding-left:24px;}
.input-prefix{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-dim);font-size:.9rem;}

.doc-actions{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border);}

.review{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;}
.review-row{display:grid;grid-template-columns:200px 1fr;padding:11px 14px;border-bottom:1px solid var(--border);font-size:.88rem;}
.review-row:last-child{border-bottom:none;}
.review-row:nth-child(even){background:var(--surface-2);}
.review-label{color:var(--text-dim);font-size:.82rem;}
.review-value{color:var(--text);font-weight:500;}

.signature-box{
  grid-column:1 / -1;
  margin-top:8px;padding:14px 16px;border:1.5px dashed var(--border-strong);
  border-radius:var(--radius-md);background:var(--surface-2);
}
.signature-label{font-size:.74rem;color:var(--text-dim);margin-bottom:8px;}
.signature-box input{
  width:100%;padding:10px 12px;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-sm);font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--text);outline:none;
}
.signature-box input:focus{border-color:var(--accent);}

.status-chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.02em;border:1px solid transparent;}
.status-chip.draft  {background:var(--surface-3);color:var(--text-dim);border-color:var(--border);}
.status-chip.sent   {background:rgba(163,233,125,.18);color:#2d5712;border-color:rgba(163,233,125,.4);}
.status-chip.viewed {background:rgba(108,180,239,.18);color:#1d4d72;border-color:rgba(108,180,239,.4);}
.status-chip.signed {background:rgba(163,233,125,.32);color:#1f3d0c;border-color:rgba(108,200,80,.5);}
.status-chip.expired{background:rgba(201,168,76,.18);color:#7a5800;border-color:rgba(201,168,76,.4);}
html[data-theme="dark"] .status-chip.sent{color:#C7F2A2;}
html[data-theme="dark"] .status-chip.viewed{color:#9ad0f5;}
html[data-theme="dark"] .status-chip.signed{color:#C7F2A2;}
html[data-theme="dark"] .status-chip.expired{color:#E6C77A;}

.chip-btn{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px;
  background:var(--accent-lt);color:#2d5712;border:1px solid rgba(163,233,125,.5);
  border-radius:999px;font-size:.78rem;font-weight:500;cursor:pointer;
  transition:background .15s ease;
}
html[data-theme="dark"] .chip-btn{background:rgba(163,233,125,.14);color:#C7F2A2;}
.chip-btn:hover{background:var(--accent);color:#1C2226;}

.ae-toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--ink);color:#fff;padding:11px 18px;border-radius:999px;
  font-size:.86rem;font-weight:500;box-shadow:var(--shadow-md);
  opacity:0;transition:opacity .25s ease, transform .25s ease;z-index:9999;pointer-events:none;
}
.ae-toast.on{opacity:1;transform:translateX(-50%) translateY(0);}

/* ═══ Market Pulse ═══ */
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:14px}
.filter-bar .field{display:flex;flex-direction:column;gap:4px;min-width:140px}
.filter-bar label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.filter-bar select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:13px}
.filter-bar select:disabled{opacity:.5;cursor:not-allowed}

.range-tabs{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex-wrap:wrap}
.range-tabs button{padding:6px 12px;background:transparent;border:0;color:var(--text);cursor:pointer;font-size:12px;border-right:1px solid var(--border)}
.range-tabs button:last-child{border-right:0}
.range-tabs button.on{background:var(--accent);color:#0a0a0a;font-weight:600}

.legend-row{display:flex;gap:14px;align-items:center;margin:4px 0 12px 0;flex-wrap:wrap}
.legend-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text)}
.legend-dot::before{content:'';width:10px;height:10px;border-radius:50%;display:inline-block}
.legend-dot.a::before{background:var(--accent-dk)}
.legend-dot.b::before{background:#3a8dde}

.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:880px){.metric-grid{grid-template-columns:1fr}}

.metric-card{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.metric-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}
.metric-card-title{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.metric-toggle{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}
.metric-toggle button{padding:4px 10px;background:transparent;border:0;font-size:11px;color:var(--text);cursor:pointer;border-right:1px solid var(--border)}
.metric-toggle button:last-child{border-right:0}
.metric-toggle button.on{background:var(--accent-dk);color:#fff}
.metric-big{font-family:'Cormorant Garamond',serif;font-size:30px;line-height:1;margin:6px 0;color:var(--text)}
.metric-big.b{color:#3a8dde;font-size:18px;margin-top:2px}
.metric-delta{font-size:12px;color:var(--muted)}
.metric-delta.up{color:var(--accent-dk)}
.metric-delta.down{color:#D94D4D}
.metric-chart{margin-top:10px}
.metric-foot{margin-top:6px;font-size:11px;color:var(--muted)}

/* Single-chart Market Pulse */
.metric-chip-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 12px;flex-wrap:wrap}
.metric-chips{display:flex;gap:8px;flex-wrap:wrap}
.metric-chip{padding:8px 14px;border:1px solid var(--border);background:transparent;color:var(--muted);
  border-radius:999px;font-family:'DM Sans',sans-serif;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s}
.metric-chip:hover{border-color:var(--text);color:var(--text)}
.metric-chip.on{background:var(--accent-dk);border-color:var(--accent-dk);color:#fff}
.metric-bigchart-head{margin:18px 0 8px}
.metric-bigchart-title{font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.metric-bigchart-head .metric-big{font-size:42px;margin:6px 0 2px}
.metric-bigchart{width:100%;min-height:360px;margin:8px 0 10px}
.metric-bigchart svg{width:100%;height:360px;display:block}

/* ═══ Buyer Dashboard ═══ */

/* Pre-approval banner */
.buyer-approval-banner{
  display:flex;flex-wrap:wrap;gap:18px;align-items:center;
  padding:16px 20px;border-radius:12px;margin-bottom:16px;
  background:linear-gradient(135deg,var(--accent-lt) 0%,var(--surface) 100%);
  border:1px solid var(--accent-dk);
}
[data-theme=dark] .buyer-approval-banner{background:linear-gradient(135deg,rgba(163,233,125,.12) 0%,var(--surface) 100%)}
.bab-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bab-badge{
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:var(--accent-dk);color:#0a0a0a;padding:3px 9px;border-radius:999px;
}
.bab-amount{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:var(--text);line-height:1}
.bab-meta{font-size:12px;color:var(--muted)}
.bab-bar-wrap{flex:1;min-width:200px}
.bab-bar-label{font-size:11px;color:var(--muted);margin-bottom:4px}
.bab-bar{height:8px;border-radius:999px;background:var(--border);overflow:hidden;margin-bottom:4px}
.bab-bar-fill{height:100%;border-radius:999px;background:var(--accent-dk);transition:width .4s}
.bab-bar-vals{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}
.bab-left-val{color:var(--accent-dk);font-weight:600}

/* New match rows */
.buyer-match-row{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--border)}
.buyer-match-row:last-child{border-bottom:0}
.bmr-photo{width:54px;height:54px;border-radius:8px;background:var(--border);flex-shrink:0}
.bmr-body{flex:1;min-width:0}
.bmr-addr{font-weight:600;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bmr-meta{font-size:12px;color:var(--muted);margin-top:2px}
.bmr-sub{font-size:11px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bmr-right{text-align:right;flex-shrink:0}
.bmr-price{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:var(--text)}

/* Match score chip */
.buyer-score-chip{
  display:inline-block;margin-top:4px;
  font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;
  background:linear-gradient(90deg,var(--accent-dk) var(--pct, 80%),var(--border) var(--pct, 80%));
  color:#0a0a0a;
}

/* Search tag pill */
.buyer-search-tag{
  display:inline-block;padding:2px 8px;border-radius:999px;
  background:var(--chip-bg);color:var(--chip-text);font-size:11px;border:1px solid var(--border);
}

/* Counter summary */
.buyer-counter-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:12px 0}
.bcs-row{padding:10px;background:var(--surface-2,var(--surface));border-radius:8px;border:1px solid var(--border)}
.bcs-row span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}

/* Closing / offer timeline */
.buyer-timeline{display:flex;align-items:flex-start;gap:0;padding:16px 0 8px 0;overflow-x:auto}
.btl-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;min-width:80px}
.btl-step:not(:last-child)::after{content:'';position:absolute;top:8px;left:50%;width:100%;height:2px;background:var(--border)}
.btl-step.done::after{background:var(--accent-dk)}
.btl-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);background:var(--bg);z-index:1;transition:all .2s}
.btl-step.done .btl-dot{background:var(--accent-dk);border-color:var(--accent-dk)}
.btl-step.cur .btl-dot{border-color:var(--accent-dk);box-shadow:0 0 0 4px var(--accent-lt)}
.btl-label{font-size:10px;color:var(--muted);text-align:center;margin-top:6px;line-height:1.3}
.btl-step.done .btl-label{color:var(--accent-dk)}
.btl-step.cur .btl-label{color:var(--text);font-weight:600}

/* Saved search cards */
.buyer-search-list{display:flex;flex-direction:column;gap:12px}
.buyer-search-card{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.bsc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}
.bsc-name{font-weight:700;font-size:15px;color:var(--text)}
.bsc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.bsc-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;flex-wrap:wrap;gap:6px}
.bsc-meta{font-size:12px;color:var(--muted)}
.bsr-new{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--accent-dk);color:#0a0a0a;font-size:11px;font-weight:700}
.bsr-count{font-size:12px;color:var(--muted)}
.buyer-search-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.buyer-search-row:last-child{border-bottom:0}
.bsr-left{flex:1;min-width:0}
.bsr-name{font-weight:600;font-size:14px;color:var(--text)}
.bsr-meta{font-size:11px;color:var(--muted);margin-top:2px}
.bsr-right{display:flex;align-items:center;gap:8px;flex-shrink:0}

/* Saved searches market snap */
.buyer-market-snap{}
.bms-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.bms-row:last-child{border-bottom:0}
.bms-city{font-weight:600;font-size:14px;flex:1}
.bms-val{font-family:'Cormorant Garamond',serif;font-size:18px;display:flex;align-items:center;gap:6px}
.bms-meta{font-size:12px;color:var(--muted)}

/* Favorites grid */
.buyer-fav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.buyer-fav-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);display:flex;flex-direction:column}
.bfc-photo{height:140px;background:linear-gradient(135deg,var(--border) 0%,var(--surface-2,var(--surface)) 100%);position:relative;display:flex;align-items:flex-start;padding:10px}
.bfc-body{padding:12px;flex:1}
.bfc-addr{font-weight:700;font-size:15px;color:var(--text)}
.bfc-city{font-size:12px;color:var(--muted);margin:2px 0}
.bfc-price{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:var(--text);margin:6px 0 2px}
.bfc-meta{font-size:12px;color:var(--muted)}
.bfc-note{font-size:12px;font-style:italic;color:var(--muted);margin-top:8px;padding:6px 8px;border-left:2px solid var(--accent-dk);background:var(--surface-2,var(--surface));border-radius:0 4px 4px 0}
.bfc-saved{font-size:11px;color:var(--muted);margin-top:8px}
.bfc-actions{display:flex;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid var(--border);flex-wrap:wrap}

/* Tour rows */
.buyer-tour-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}
.buyer-tour-row:last-child{border-bottom:0}
.btr-date{width:54px;text-align:center;flex-shrink:0}
.btr-day{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.btr-datenum{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:var(--text)}
.btr-body{flex:1;min-width:0}
.btr-addr{font-weight:600;font-size:14px;color:var(--text)}
.btr-meta{font-size:12px;color:var(--muted);margin-top:2px}
.btr-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}

/* Offer status chips */
.offer-status-chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.offer-status-chip.open{background:#e6f3ff;color:#2563eb}
.offer-status-chip.countered{background:#fff7e0;color:#b45309}
.offer-status-chip.accepted{background:var(--accent-lt);color:#256d0a}
.offer-status-chip.declined{background:#fef2f2;color:#dc2626}
[data-theme=dark] .offer-status-chip.open{background:rgba(37,99,235,.2);color:#93c5fd}
[data-theme=dark] .offer-status-chip.countered{background:rgba(180,83,9,.2);color:#fbbf24}
[data-theme=dark] .offer-status-chip.accepted{background:rgba(163,233,125,.15);color:var(--accent-dk)}
[data-theme=dark] .offer-status-chip.declined{background:rgba(220,38,38,.2);color:#fca5a5}

/* Buyer offer timeline inline row */
.buyer-tl-row td{padding:0 0 14px 0;border-bottom:1px solid var(--border)}
.buyer-tl-row .buyer-timeline{padding:10px 0 0 0}

/* Tab row */
.tab-row{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:14px}
.tab-btn{padding:10px 18px;background:transparent;border:0;border-bottom:2px solid transparent;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s}
.tab-btn.active{color:var(--text);border-bottom-color:var(--accent-dk)}

/* Feed dot confirmed variant */
.feed-dot.confirmed{background:var(--accent-dk)}

/* Buyer settings grid */
.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:16px}
.settings-section{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.settings-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;margin-bottom:12px}

/* Danger link button variant */
.link-btn.danger{color:#D94D4D}

/* ═══ Investor Dashboard ═══ */

/* Hero strip */
.inv-hero-strip{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:16px;background:var(--surface)}
.inv-hero-stat{flex:1;min-width:140px;padding:16px 20px;border-right:1px solid var(--border)}
.inv-hero-stat:last-child{border-right:0}
.inv-hero-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:4px}
.inv-hero-val{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:var(--text);line-height:1}
.inv-hero-val.up{color:var(--accent-dk)}
.inv-hero-val.down{color:#D94D4D}

/* Property snapshot rows */
.inv-prop-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.inv-prop-row:last-child{border-bottom:0}
.ipr-body{flex:1;min-width:0}
.ipr-addr{font-weight:600;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ipr-meta{font-size:12px;color:var(--muted);margin-top:2px}
.ipr-stats{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:wrap}
.ipr-stat{text-align:right}
.ipr-val{display:block;font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:700;color:var(--text)}
.ipr-val.up{color:var(--accent-dk)} .ipr-val.down{color:#D94D4D}
.ipr-lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}

/* Vacant / occupied chips */
.inv-vacant-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;background:#fff7e0;color:#b45309;text-transform:uppercase;letter-spacing:.06em}
.inv-occupied-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;background:var(--accent-lt);color:#256d0a;text-transform:uppercase;letter-spacing:.06em}
[data-theme=dark] .inv-vacant-chip{background:rgba(180,83,9,.2);color:#fbbf24}
[data-theme=dark] .inv-occupied-chip{background:rgba(163,233,125,.15);color:var(--accent-dk)}

/* Portfolio card grid */
.inv-portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.inv-prop-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);padding:16px;display:flex;flex-direction:column;gap:10px}
.ipc-header{display:flex;justify-content:space-between;align-items:center}
.ipc-type-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;background:var(--chip-bg);color:var(--chip-text);text-transform:uppercase;letter-spacing:.06em}
.ipc-addr{font-weight:700;font-size:15px;color:var(--text)}
.ipc-city{font-size:12px;color:var(--muted)}
.ipc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ipc-metric{padding:8px;background:var(--surface-2,var(--bg));border-radius:8px;border:1px solid var(--border)}
.ipc-metric-val{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:700;color:var(--text)}
.ipc-metric-val.up{color:var(--accent-dk)} .ipc-metric-val.down{color:#D94D4D}
.ipc-metric-lbl{font-size:10px;color:var(--muted);margin-top:2px}
.ipc-bar-wrap{margin-top:4px}
.ipc-bar-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.ipc-bar-track{display:flex;height:22px;border-radius:6px;overflow:hidden;font-size:11px;font-weight:600}
.ipc-bar-income{background:var(--accent-dk);color:#0a0a0a;display:flex;align-items:center;padding:0 8px;white-space:nowrap}
.ipc-bar-expense{background:#D94D4D;color:#fff;display:flex;align-items:center;padding:0 8px;white-space:nowrap;flex:1}
.ipc-footer{font-size:11px;color:var(--muted)}

/* Deal pipeline kanban */
.deal-pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;overflow-x:auto}
@media(max-width:900px){.deal-pipeline{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.deal-pipeline{grid-template-columns:1fr}}
.deal-stage{background:var(--surface-2,var(--bg));border-radius:10px;padding:10px;min-width:200px}
.deal-stage-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.deal-stage-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.deal-stage-count{font-size:12px;font-weight:700;color:var(--text);background:var(--border);border-radius:999px;padding:1px 8px}
.deal-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:8px}
.deal-card.passed{opacity:.5}
.dc-addr{font-weight:600;font-size:13px;color:var(--text)}
.dc-city{font-size:11px;color:var(--muted);margin:2px 0 6px}
.dc-metrics{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
.dc-m{font-size:11px;color:var(--muted)}
.dc-m:not(:last-child)::after{content:' ·';color:var(--border)}
.dc-rates{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}
.dc-chip{font-size:11px;padding:2px 6px;border-radius:4px;background:var(--accent-lt);color:#256d0a;font-weight:600}
[data-theme=dark] .dc-chip{background:rgba(163,233,125,.12);color:var(--accent-dk)}
.dc-notes{font-size:11px;color:var(--muted);font-style:italic}
.dc-empty{font-size:12px;color:var(--muted);text-align:center;padding:12px 0}
.deal-status-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize}
.deal-status-chip.analyzing{background:#e6f3ff;color:#2563eb}
.deal-status-chip.loi-sent{background:#fff7e0;color:#b45309}
.deal-status-chip.due-diligence{background:var(--accent-lt);color:#256d0a}
.deal-status-chip.passed{background:var(--border);color:var(--muted)}
[data-theme=dark] .deal-status-chip.analyzing{background:rgba(37,99,235,.2);color:#93c5fd}
[data-theme=dark] .deal-status-chip.loi-sent{background:rgba(180,83,9,.2);color:#fbbf24}
[data-theme=dark] .deal-status-chip.due-diligence{background:rgba(163,233,125,.12);color:var(--accent-dk)}

/* Analytics legend dots for investor */
.legend-dot{--c:var(--accent-dk)}
.legend-dot::before{background:var(--c) !important}

/* Cashflow month labels */
.inv-month-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:0 10px}

/* Expense breakdown */
.inv-exp-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border)}
.inv-exp-row:last-child{border-bottom:0}
.inv-exp-cat{font-size:13px;color:var(--text);min-width:140px}
.inv-exp-bar-wrap{flex:1;height:8px;background:var(--border);border-radius:999px;overflow:hidden}
.inv-exp-bar{height:100%;background:var(--accent-dk);border-radius:999px}
.inv-exp-pct{font-size:12px;color:var(--muted);min-width:32px;text-align:right}

/* ═══ Renter Dashboard ═══ */

/* Approved banner */
.renter-approved-banner{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:14px 20px;border-radius:12px;margin-bottom:16px;
  background:linear-gradient(135deg,var(--accent-lt) 0%,var(--surface) 100%);
  border:1px solid var(--accent-dk);
}
[data-theme=dark] .renter-approved-banner{background:linear-gradient(135deg,rgba(163,233,125,.12) 0%,var(--surface) 100%)}
.rab-icon{width:32px;height:32px;border-radius:50%;background:var(--accent-dk);color:#0a0a0a;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;flex-shrink:0}
.rab-body{flex:1;min-width:0}
.rab-title{font-weight:700;font-size:15px;color:var(--text)}
.rab-sub{font-size:12px;color:var(--muted);margin-top:2px}

/* Match rows */
.renter-match-row{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--border)}
.renter-match-row:last-child{border-bottom:0}
.rmr-photo{width:54px;height:54px;border-radius:8px;background:var(--border);flex-shrink:0}
.rmr-body{flex:1;min-width:0}
.rmr-addr{font-weight:600;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rmr-meta{font-size:12px;color:var(--muted);margin-top:2px}
.rmr-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.rmr-right{text-align:right;flex-shrink:0}
.rmr-rent{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;color:var(--text)}
.rmr-rent span{font-size:12px;font-family:'DM Sans',sans-serif;color:var(--muted)}
.rmr-avail{font-size:11px;color:var(--muted);margin-bottom:4px}

/* Renter tag pills */
.renter-tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;border:1px solid var(--border);background:var(--chip-bg);color:var(--chip-text)}
.renter-tag.green{background:var(--accent-lt);border-color:var(--accent-dk);color:#256d0a}
.renter-tag.muted{color:var(--muted)}
[data-theme=dark] .renter-tag.green{background:rgba(163,233,125,.12);color:var(--accent-dk)}

/* Application status chips */
.app-status-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.app-status-chip.approved{background:var(--accent-lt);color:#256d0a}
.app-status-chip.pending{background:#fff7e0;color:#b45309}
.app-status-chip.declined{background:#fef2f2;color:#dc2626}
[data-theme=dark] .app-status-chip.approved{background:rgba(163,233,125,.15);color:var(--accent-dk)}
[data-theme=dark] .app-status-chip.pending{background:rgba(180,83,9,.2);color:#fbbf24}
[data-theme=dark] .app-status-chip.declined{background:rgba(220,38,38,.2);color:#fca5a5}
.app-status-chip.review{background:#e0f2fe;color:#075985}
[data-theme=dark] .app-status-chip.review{background:rgba(7,89,133,.25);color:#7dd3fc}

/* Tenant-application detail popover */
.app-detail-scrim{position:fixed;inset:0;background:rgba(15,17,21,.18);z-index:1200;animation:appDetailFade .12s ease-out}
[data-theme=dark] .app-detail-scrim{background:rgba(0,0,0,.45)}
.app-detail-pop{position:fixed;width:460px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--border);border-radius:14px;
  box-shadow:0 18px 48px rgba(0,0,0,.18),0 4px 12px rgba(0,0,0,.08);z-index:1201;padding:18px 18px 16px;animation:appDetailPop .14s ease-out}
[data-theme=dark] .app-detail-pop{box-shadow:0 18px 48px rgba(0,0,0,.55),0 4px 12px rgba(0,0,0,.4)}
.app-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.app-detail-name{font-family:'Cormorant Garamond',serif;font-size:1.45rem;line-height:1.1;color:var(--text);font-weight:600}
.app-detail-unit{font-size:.8rem;color:var(--muted);margin-top:4px}
.app-detail-close{background:transparent;border:0;width:28px;height:28px;border-radius:6px;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}
.app-detail-close:hover{background:var(--border);color:var(--text)}
.app-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-bottom:14px}
.app-detail-cell{display:flex;flex-direction:column;gap:2px}
.app-detail-lbl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.app-detail-val{font-size:.88rem;color:var(--text)}
.app-detail-val.up{color:var(--accent-dk)}
.app-detail-val.down{color:#D94D4D}
.app-detail-notes{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:14px}
.app-detail-notes-body{font-size:.84rem;color:var(--text);margin-top:4px;line-height:1.45}
.app-detail-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.app-detail-actions .link-btn{padding:8px 14px;border:1px solid var(--border);border-radius:8px;font-weight:600}
.app-detail-actions .link-btn:hover{background:var(--bg);border-color:var(--text-dim)}
.app-detail-actions .link-btn.danger{color:#dc2626;border-color:#fecaca}
.app-detail-actions .link-btn.danger:hover{background:#fef2f2;border-color:#dc2626}
@keyframes appDetailFade{from{opacity:0}to{opacity:1}}
@keyframes appDetailPop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* ─── App-detail extended (tabs, risk, compare, recommendation, tags) ─── */
.app-detail-pop-lg{padding:20px;overflow:auto}
.app-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:0 -20px 14px;padding:0 20px}
.app-tab{padding:9px 14px;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);font:600 .82rem 'DM Sans',sans-serif;cursor:pointer}
.app-tab:hover{color:var(--text)}
.app-tab.on{color:var(--text);border-bottom-color:var(--accent-dk)}
.app-tab-body{max-height:480px;overflow-y:auto;padding-right:6px}
.app-detail-section-title{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:18px 0 8px;border-bottom:1px solid var(--border);padding-bottom:4px}
.app-detail-section-title:first-child{margin-top:0}
.app-flag-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.app-flag{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em}
.flag-red{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
.flag-amber{background:#fff7ed;color:#b45309;border:1px solid #fed7aa}
.flag-green{background:var(--accent-lt);color:#256d0a;border:1px solid #c9e8ae}
[data-theme=dark] .flag-red{background:rgba(220,38,38,.18);color:#fca5a5;border-color:rgba(220,38,38,.4)}
[data-theme=dark] .flag-amber{background:rgba(180,83,9,.2);color:#fbbf24;border-color:rgba(180,83,9,.5)}
[data-theme=dark] .flag-green{background:rgba(34,197,94,.18);color:#86efac;border-color:rgba(34,197,94,.4)}

.app-rec-banner{padding:12px 14px;border-radius:10px;border-left:4px solid var(--border);margin-bottom:14px;background:var(--bg)}
.app-rec-banner.rec-green{border-left-color:#22c55e;background:rgba(34,197,94,.06)}
.app-rec-banner.rec-amber{border-left-color:#f59e0b;background:rgba(245,158,11,.06)}
.app-rec-banner.rec-red{border-left-color:#dc2626;background:rgba(220,38,38,.06)}
.app-rec-banner b{margin-right:6px}
.app-rec-reason{font-size:.78rem;color:var(--muted);margin-top:2px}
.app-rec-chip{display:inline-block;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-top:4px}
.app-rec-chip.rec-green{background:var(--accent-lt);color:#256d0a}
.app-rec-chip.rec-amber{background:#fff7ed;color:#b45309}
.app-rec-chip.rec-red{background:#fef2f2;color:#dc2626}

.app-tag-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.app-tag{display:inline-block;padding:2px 8px;border-radius:6px;background:var(--bg);border:1px solid var(--border);font-size:10px;color:var(--text-dim);font-weight:500}

.app-risk-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:8px}
@media(max-width:780px){.app-risk-grid{grid-template-columns:repeat(2,1fr)}}
.app-risk-cell{padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.app-risk-lbl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.app-risk-val{font-family:'Cormorant Garamond',serif;font-size:1.5rem;line-height:1;margin:4px 0}
.app-risk-val.up{color:var(--accent-dk)} .app-risk-val.down{color:#D94D4D}
.app-risk-bar{height:6px;background:var(--border);border-radius:999px;overflow:hidden;margin-top:2px}
.app-risk-bar-fill{height:100%;border-radius:999px}
.app-risk-bar-fill.green{background:#22c55e} .app-risk-bar-fill.amber{background:#f59e0b} .app-risk-bar-fill.red{background:#dc2626}

.app-doc-list,.app-rh-list,.app-ref-list,.app-activity{display:flex;flex-direction:column;gap:8px}
.app-doc-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.app-doc-icon{font-size:18px}
.app-doc-body{flex:1}
.app-doc-name{font-weight:600;font-size:.85rem}
.app-doc-type{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.app-doc-status{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px}
.app-doc-status.verified{background:var(--accent-lt);color:#256d0a}
.app-doc-status.pending{background:#fff7e0;color:#b45309}
[data-theme=dark] .app-doc-status.verified{background:rgba(34,197,94,.18);color:#86efac}
[data-theme=dark] .app-doc-status.pending{background:rgba(180,83,9,.2);color:#fbbf24}
.app-rh-row{padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.app-rh-head{display:flex;justify-content:space-between;align-items:center}
.app-rh-meta,.app-rh-leaving{font-size:.78rem;color:var(--muted);margin-top:2px}
.app-rh-summary{display:flex;gap:14px;font-size:.82rem;color:var(--text-dim);margin-top:10px;padding:10px;background:var(--bg);border:1px dashed var(--border);border-radius:8px}
.app-rh-summary b{color:var(--text)}
.app-ref-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.app-ref-kind{margin-left:8px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.app-ref-status{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}
.app-ref-status.ref-verified{background:var(--accent-lt);color:#256d0a}
.app-ref-status.ref-pending{background:#fff7e0;color:#b45309}
.app-ref-status.ref-no-reply{background:#fef2f2;color:#dc2626}
.app-ref-status.ref-contacted{background:#e0f2fe;color:#075985}
[data-theme=dark] .app-ref-status.ref-verified{background:rgba(34,197,94,.18);color:#86efac}
[data-theme=dark] .app-ref-status.ref-pending{background:rgba(180,83,9,.2);color:#fbbf24}
[data-theme=dark] .app-ref-status.ref-no-reply{background:rgba(220,38,38,.2);color:#fca5a5}
[data-theme=dark] .app-ref-status.ref-contacted{background:rgba(7,89,133,.25);color:#7dd3fc}

.app-activity-row{display:flex;gap:10px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.app-activity-dot{width:8px;height:8px;border-radius:999px;background:var(--accent-dk);margin-top:6px;flex-shrink:0}
.app-activity-text{font-size:.85rem;color:var(--text)}
.app-activity-meta{font-size:11px;color:var(--muted);margin-top:2px}
.app-note-add{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.app-note-add textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-family:'DM Sans',sans-serif;resize:vertical}
.app-note-add .link-btn{align-self:flex-end;padding:8px 14px;border:1px solid var(--border);border-radius:8px;font-weight:600}
.app-empty{padding:18px;text-align:center;color:var(--muted);background:var(--bg);border:1px dashed var(--border);border-radius:8px;font-size:.85rem}

.app-info-list{display:flex;flex-direction:column;gap:6px}
.app-info-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.86rem}
.app-info-item:hover{background:var(--surface);border-color:var(--text-dim)}

.app-adverse-letter{padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.86rem;line-height:1.55;max-height:280px;overflow-y:auto}
.app-adverse-letter ul{margin:6px 0 6px 18px}

.app-compare-modal{position:fixed;left:50%;top:60px;transform:translateX(-50%);background:var(--surface);border:1px solid var(--border);border-radius:14px;
  box-shadow:0 18px 48px rgba(0,0,0,.18),0 4px 12px rgba(0,0,0,.08);z-index:1201;padding:18px;max-height:calc(100vh - 80px);overflow:auto}
[data-theme=dark] .app-compare-modal{box-shadow:0 18px 48px rgba(0,0,0,.55)}
.app-compare-table{display:flex;flex-direction:column;gap:0}
.app-compare-row{display:flex;border-bottom:1px solid var(--border)}
.app-compare-row.app-compare-head{background:var(--bg);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.app-compare-cell{flex:1;padding:10px 12px;font-size:.85rem;color:var(--text);border-right:1px solid var(--border)}
.app-compare-cell:last-child{border-right:0}
.app-compare-cell-lbl{flex:0 0 200px;font-weight:600;color:var(--muted);background:var(--bg)}

.kbd{display:inline-block;padding:1px 6px;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;font:600 10px 'DM Sans',sans-serif;color:var(--text-dim);background:var(--bg);margin-left:4px}

/* ─── Background-check additions ─── */
.bgc-prefill-row{display:flex;gap:14px;flex-wrap:wrap;margin:6px 0 14px}
.bgc-prefill-row .bgc-field{min-width:240px}
.bgc-jur-banner{padding:10px 12px;background:#fff7e0;border:1px solid #fde68a;border-radius:8px;font-size:.82rem;color:#92400e;margin-bottom:12px}
[data-theme=dark] .bgc-jur-banner{background:rgba(180,83,9,.15);border-color:rgba(180,83,9,.4);color:#fde68a}
.bgc-conf{margin-left:8px;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.bgc-conf-strong{background:var(--accent-lt);color:#256d0a}
.bgc-conf-moderate{background:#fff7ed;color:#b45309}
.bgc-conf-weak{background:#fef2f2;color:#dc2626}
[data-theme=dark] .bgc-conf-strong{background:rgba(34,197,94,.18);color:#86efac}
[data-theme=dark] .bgc-conf-moderate{background:rgba(180,83,9,.2);color:#fbbf24}
[data-theme=dark] .bgc-conf-weak{background:rgba(220,38,38,.2);color:#fca5a5}
.bgc-cost-pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--border);color:var(--text-dim)}
.bgc-mand{font-size:9px;text-transform:uppercase;letter-spacing:.06em;background:var(--accent-lt);color:#256d0a;padding:1px 6px;border-radius:4px;margin-left:6px;font-weight:700}
[data-theme=dark] .bgc-mand{background:rgba(34,197,94,.18);color:#86efac}
.bgc-help-tip{display:inline-block;width:14px;height:14px;border-radius:999px;border:1px solid var(--border);text-align:center;font-size:10px;line-height:14px;color:var(--muted);cursor:help;margin-left:4px}
.bgc-consent-modes{display:flex;gap:10px;margin-bottom:8px}
.bgc-consent-mode{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.85rem}
.bgc-consent-mode.on{border-color:var(--accent-dk);background:var(--accent-lt)}
[data-theme=dark] .bgc-consent-mode.on{background:rgba(34,197,94,.12)}
.bgc-esign-card{padding:12px;background:var(--bg);border:1px dashed var(--border);border-radius:10px;margin-bottom:10px}
.bgc-queue{margin:14px 0;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:10px}
.bgc-queue-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}
.bgc-queue-row:last-child{border-bottom:0}
.bgc-queue-row > span:first-child{flex:1;font-size:.85rem}
.bgc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.bgc-actions .panel-action{padding:10px 18px}
.bgc-banner-actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}
.bgc-scorecard{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;margin:10px 0}
@media(max-width:780px){.bgc-scorecard{grid-template-columns:repeat(2,1fr)}}
.bgc-gauge{display:flex;flex-direction:column;align-items:center;gap:4px}
.bgc-gauge-label{font-size:11px;color:var(--muted);text-align:center;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.bgc-check-drill{margin-top:8px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:6px}
.bgc-drill-row{display:flex;justify-content:space-between;font-size:.8rem}
.bgc-drill-lbl{color:var(--muted);font-weight:600}
.bgc-drill-toggle{margin-top:6px;font-size:.78rem}
.bgc-sources{margin-top:10px;padding:8px 10px;background:var(--bg);border:1px dashed var(--border);border-radius:6px;font-size:11px;color:var(--muted)}
.bgc-monitoring{margin-top:14px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:10px}
.bgc-monitor-toggle{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.bgc-monitor-toggle input{margin-top:4px}
.bgc-diff{padding:10px 12px;background:#e0f2fe;border:1px solid #bae6fd;border-radius:8px;font-size:.82rem;color:#075985;margin-bottom:8px;display:flex;gap:8px;flex-wrap:wrap}
[data-theme=dark] .bgc-diff{background:rgba(7,89,133,.18);border-color:rgba(7,89,133,.4);color:#7dd3fc}
.bgc-diff-chip{padding:2px 8px;border-radius:999px;background:#fff;border:1px solid #bae6fd;font-weight:600}
.bgc-diff-chip.neutral{color:var(--muted)}
[data-theme=dark] .bgc-diff-chip{background:rgba(7,89,133,.3);border-color:rgba(7,89,133,.5);color:#bae6fd}

/* Move-in checklist */
.renter-checklist-progress{margin-bottom:12px}
.rcp-bar{height:8px;border-radius:999px;background:var(--border);overflow:hidden;margin-bottom:4px}
.rcp-fill{height:100%;border-radius:999px;background:var(--accent-dk);transition:width .4s}
.rcp-label{font-size:12px;color:var(--muted)}
.renter-check-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}
.renter-check-row:last-child{border-bottom:0}
.renter-check-row.done{color:var(--muted)}
.rcr-box{width:18px;height:18px;border-radius:4px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;flex-shrink:0}
.renter-check-row.done .rcr-box{background:var(--accent-dk);border-color:var(--accent-dk);color:#0a0a0a}

/* Saved rental cards */
.renter-saved-list{display:flex;flex-direction:column;gap:14px}
.renter-saved-card{display:flex;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}
.rsc-photo{width:120px;min-height:140px;background:linear-gradient(135deg,var(--border) 0%,var(--surface-2,var(--surface)) 100%);flex-shrink:0}
@media(max-width:600px){.rsc-photo{display:none}}
.rsc-body{flex:1;padding:14px;min-width:0}
.rsc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}
.rsc-addr{font-weight:700;font-size:15px;color:var(--text)}
.rsc-city{font-size:12px;color:var(--muted);margin-top:1px}
.rsc-price{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;margin:6px 0}
.rsc-price span{font-size:13px;font-family:'DM Sans',sans-serif;color:var(--muted)}
.rsc-tags{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}
.rsc-avail{font-size:11px;color:var(--muted)}
.rsc-actions{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:14px;border-left:1px solid var(--border);flex-shrink:0}

/* Application card */
.renter-app-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.renter-app-row:last-child{border-bottom:0}
.rar-body{flex:1;min-width:0}
.rar-addr{font-weight:600;font-size:14px;color:var(--text)}
.rar-meta{font-size:12px;color:var(--muted);margin-top:2px}
.renter-app-card{border:1px solid var(--border);border-radius:10px;padding:14px;background:var(--surface);margin-bottom:12px}
.rac-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px}
.rac-addr{font-weight:700;font-size:15px;color:var(--text)}
.rac-city{font-size:12px;color:var(--muted);margin-top:2px}
.rac-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px}
.rac-grid > div{display:flex;flex-direction:column;gap:2px}
.rac-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.rac-val{font-size:13px;color:var(--text);font-weight:600}
.rac-notes{font-size:12px;color:var(--muted);font-style:italic;padding:8px;background:var(--surface-2,var(--bg));border-radius:6px}

/* ═══ ADMIN DASHBOARD ═══ */
.adm-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--chip-bg,var(--bg));border:1px solid var(--border);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.adm-badge.ok{background:var(--accent-lt);color:#000;border-color:var(--accent-dk)}
.adm-dim{color:var(--muted);font-size:12px}
.adm-empty{padding:24px;text-align:center;color:var(--muted);font-size:13px}

.adm-role-chip{display:inline-flex;padding:3px 9px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;border:1px solid transparent}
.adm-role-chip.role-seller{background:#E8F8DC;color:#3d7a22;border-color:#c9e8ae}
.adm-role-chip.role-buyer{background:#E1EEFB;color:#2b5a8a;border-color:#b9d4ee}
.adm-role-chip.role-renter{background:#F4E8DC;color:#8a5a2b;border-color:#eacfb3}
.adm-role-chip.role-investor{background:#F0E6F8;color:#6b3a8a;border-color:#d9bfee}
.adm-role-chip.role-admin{background:#FDE9E9;color:#a33;border-color:#f1bcbc}
.adm-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.adm-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.adm-status.status-active{background:#E8F8DC;color:#3d7a22}
.adm-status.status-pending{background:#FFF4D6;color:#8a6a1e}
.adm-status.status-suspended{background:#FDE9E9;color:#a33}

.adm-role-grid{display:flex;flex-direction:column;gap:12px;padding-top:4px}
.adm-role-row{display:flex;flex-direction:column;gap:5px}
.adm-role-head{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.adm-role-name{color:var(--text);font-weight:600;text-transform:capitalize}
.adm-role-count{color:var(--text);font-weight:600}
.adm-role-pct{color:var(--muted);font-weight:400;margin-left:6px}
.adm-role-bar{height:6px;background:var(--bg);border:1px solid var(--border);border-radius:4px;overflow:hidden}
.adm-role-fill{height:100%;border-radius:3px}
.adm-role-fill.role-seller{background:#6dd44a}
.adm-role-fill.role-buyer{background:#4a8dd4}
.adm-role-fill.role-renter{background:#c9864a}
.adm-role-fill.role-investor{background:#9a4ad4}
.adm-role-fill.role-admin{background:#d44a4a}

.adm-health{display:flex;flex-direction:column;gap:2px}
.adm-health-row{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--border)}
.adm-health-row:last-child{border-bottom:0}
.adm-health-dot{width:10px;height:10px;border-radius:50%}
.adm-health-dot.good{background:#6dd44a;box-shadow:0 0 0 3px rgba(109,212,74,.18)}
.adm-health-dot.warn{background:#d9a54d;box-shadow:0 0 0 3px rgba(217,165,77,.18)}
.adm-health-dot.bad{background:#D94D4D;box-shadow:0 0 0 3px rgba(217,77,77,.18)}
.adm-health-name{font-size:13px;color:var(--text)}
.adm-health-val{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}

.adm-mod-list{display:flex;flex-direction:column;gap:10px}
.adm-mod-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:10px}
.adm-mod-row.detailed{padding:14px}
.adm-mod-body{min-width:0}
.adm-mod-target{font-weight:600;color:var(--text);font-size:13px}
.adm-mod-meta{font-size:11px;color:var(--muted);margin-top:3px}
.adm-mod-actions{display:flex;gap:6px;flex-wrap:wrap}
.adm-sev{display:inline-flex;padding:3px 10px;border-radius:6px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.adm-sev.sev-high{background:#FDE9E9;color:#a33}
.adm-sev.sev-medium{background:#FFF4D6;color:#8a6a1e}
.adm-sev.sev-low{background:#E1EEFB;color:#2b5a8a}
.adm-type-chip{display:inline-flex;padding:2px 8px;border-radius:4px;background:var(--chip-bg,var(--bg));border:1px solid var(--border);font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-right:4px}

.adm-users-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 2px 16px}
.adm-users-search{flex:1;min-width:200px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:13px}
.adm-users-search:focus{outline:2px solid var(--accent-dk);outline-offset:-1px}
.adm-chip-group{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.adm-chip{padding:6px 11px;background:transparent;border:0;border-right:1px solid var(--border);color:var(--text);cursor:pointer;font-size:11px;text-transform:capitalize}
.adm-chip:last-child{border-right:0}
.adm-chip.on{background:var(--accent);color:#0a0a0a;font-weight:600}
.adm-chip:hover:not(.on){background:var(--chip-bg,var(--bg))}

.adm-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}
.adm-table{width:100%;border-collapse:collapse;font-size:13px}
.adm-table th{text-align:left;padding:10px 12px;background:var(--bg);border-bottom:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
.adm-table td{padding:12px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}
.adm-table tbody tr:last-child td{border-bottom:0}
.adm-table tbody tr:hover{background:var(--bg)}
.adm-user-cell{display:flex;align-items:center;gap:10px}
.adm-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-lt);color:#000;font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.adm-user-name{font-weight:600;color:var(--text);font-size:13px}
.adm-user-email{font-size:11px;color:var(--muted);margin-top:1px}
.adm-flag-count{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;padding:0 6px;border-radius:11px;background:#FDE9E9;color:#a33;font-size:11px;font-weight:700}
.adm-row-actions{display:flex;gap:4px}
.adm-row-btn{width:28px;height:28px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;justify-content:center}
.adm-row-btn:hover{background:var(--bg);border-color:var(--accent-dk)}
.adm-row-btn.danger:hover{background:#FDE9E9;border-color:#D94D4D;color:#a33}

.adm-funnel{display:flex;flex-direction:column;gap:12px;padding-top:4px}
.adm-funnel-row{display:flex;flex-direction:column;gap:5px}
.adm-funnel-head{display:flex;justify-content:space-between;font-size:12px;color:var(--text)}
.adm-funnel-bar{height:8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;overflow:hidden}
.adm-funnel-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-dk) 100%)}
.adm-rev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:880px){.adm-rev-grid{grid-template-columns:repeat(2,1fr)}}
.adm-rev-card{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}
.adm-rev-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.adm-rev-pct{font-size:11px;color:var(--muted);font-weight:600}
.adm-rev-val{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:700;color:var(--text);margin-bottom:8px}
.adm-rev-bar{height:5px;background:var(--surface);border-radius:3px;overflow:hidden}
.adm-rev-fill{height:100%}
.adm-rev-fill.role-seller{background:#6dd44a}
.adm-rev-fill.role-buyer{background:#4a8dd4}
.adm-rev-fill.role-renter{background:#c9864a}
.adm-rev-fill.role-investor{background:#9a4ad4}

.adm-setting-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding-top:4px}
@media(max-width:640px){.adm-setting-grid{grid-template-columns:1fr}}
.adm-setting{display:flex;flex-direction:column;gap:6px}
.adm-setting-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.adm-setting input{padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:14px}
.adm-setting input:focus{outline:2px solid var(--accent-dk);outline-offset:-1px}

.adm-flag-list{display:flex;flex-direction:column;gap:2px}
.adm-flag-row,.adm-danger-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid var(--border)}
.adm-flag-row:last-child,.adm-danger-row:last-child{border-bottom:0}
.adm-flag-name{font-weight:600;color:var(--text);font-size:13px}
.adm-flag-sub{font-size:12px;color:var(--muted);margin-top:2px}

.adm-toggle{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}
.adm-toggle input{opacity:0;width:0;height:0}
.adm-toggle-track{position:absolute;inset:0;background:var(--border);border-radius:12px;cursor:pointer;transition:background .2s}
.adm-toggle-track::before{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.adm-toggle input:checked + .adm-toggle-track{background:var(--accent-dk)}
.adm-toggle input:checked + .adm-toggle-track::before{transform:translateX(18px)}

.adm-danger{display:flex;flex-direction:column}
.panel-action.danger{background:#FDE9E9;color:#a33;border:1px solid #f1bcbc}
.panel-action.danger:hover{background:#f9d5d5}

/* ═══ INVESTOR — BACKGROUND CHECK ═══ */
.bgc-notice{padding:12px 14px;background:#FFF9EC;border:1px solid #e8d08a;border-radius:8px;font-size:12px;color:#6b5a2a;margin-bottom:20px;line-height:1.5}
.bgc-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px;font-weight:600}
.bgc-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:640px){.bgc-form-grid{grid-template-columns:1fr}}
.bgc-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}
.bgc-field input{padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:13px}
.bgc-field input:focus{outline:2px solid var(--accent-dk);outline-offset:-1px}
.bgc-check-types{display:flex;flex-direction:column;gap:2px;margin-bottom:18px}
.bgc-check-toggle{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer}
.bgc-check-toggle:last-child{border-bottom:0}
.bgc-check-toggle input{margin-top:2px;flex-shrink:0;accent-color:var(--accent-dk)}
.bgc-check-toggle-label{font-weight:600;font-size:13px;color:var(--text)}
.bgc-check-toggle-sub{font-size:11px;color:var(--muted);margin-top:2px}
.bgc-consent{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer;font-size:12px;color:var(--text);line-height:1.5;margin-top:16px}
.bgc-consent input{margin-top:1px;flex-shrink:0;accent-color:var(--accent-dk)}

/* result view */
.bgc-result-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:12px;margin-bottom:4px;border:1px solid transparent}
.bgc-result-banner.bgc-status-clear{background:var(--accent-lt);border-color:#c9e8ae}
.bgc-result-banner.bgc-status-review{background:#FFF4D6;border-color:#e8d08a}
.bgc-result-banner.bgc-status-action{background:#FDE9E9;border-color:#f1bcbc}
.bgc-banner-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0;background:rgba(0,0,0,.08)}
.bgc-banner-title{font-weight:700;font-size:15px;color:var(--text)}
.bgc-banner-sub{font-size:11px;color:var(--muted);margin-top:2px}
.bgc-checks{display:flex;flex-direction:column;gap:2px}
.bgc-check-row{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}
.bgc-check-row:last-child{border-bottom:0}
.bgc-check-icon{font-size:14px;font-weight:700;text-align:center}
.bgc-check-icon.status-clear{color:#3d7a22} .bgc-check-icon.status-review{color:#8a6a1e} .bgc-check-icon.status-action{color:#a33}
.bgc-check-name{font-weight:600;font-size:13px;color:var(--text)}
.bgc-check-detail{font-size:11px;color:var(--muted);margin-top:2px}
.bgc-status-chip{display:inline-flex;padding:3px 9px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.bgc-status-chip-clear{background:#E8F8DC;color:#3d7a22} .bgc-status-chip-review{background:#FFF4D6;color:#8a6a1e} .bgc-status-chip-action{background:#FDE9E9;color:#a33}
.bgc-detail-grid{display:flex;flex-direction:column;gap:2px}
.bgc-detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}
.bgc-detail-row:last-child{border-bottom:0}
.bgc-detail-lbl{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}

/* ═══ BUYER — JOURNEY TRACKER ═══ */
.bj-panel{margin-bottom:14px}
.bj-track{display:flex;align-items:flex-start;gap:0;padding:16px 0 8px;overflow-x:auto}
.bj-step{display:flex;flex-direction:column;align-items:center;flex:1;min-width:80px;position:relative;text-align:center}
.bj-connector{position:absolute;top:14px;left:-50%;right:50%;height:2px;background:var(--border);z-index:0}
.bj-connector.first{display:none}
.bj-step.done .bj-connector{background:var(--accent-dk)}
.bj-step.next .bj-connector{background:linear-gradient(90deg,var(--accent-dk) 0%,var(--border) 100%)}
.bj-dot{width:28px;height:28px;border-radius:50%;background:var(--bg);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--muted);position:relative;z-index:1;transition:all .2s}
.bj-step.done .bj-dot{background:var(--accent-dk);border-color:var(--accent-dk);color:#0a0a0a}
.bj-step.next .bj-dot{border-color:var(--accent-dk);color:var(--accent-dk);box-shadow:0 0 0 4px var(--accent-lt)}
.bj-labels{margin-top:8px}
.bj-label{font-size:11px;font-weight:700;color:var(--text);white-space:nowrap}
.bj-step:not(.done):not(.next) .bj-label{color:var(--muted)}
.bj-sub{font-size:10px;color:var(--muted);margin-top:2px;white-space:nowrap}

/* ═══ BUYER — MATCH ALERTS FEED ═══ */
.bma-feed{display:flex;flex-direction:column}
.bma-row{display:grid;grid-template-columns:16px 1fr auto;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--border);transition:background .15s}
.bma-row:last-child{border-bottom:0}
.bma-row.bma-unread{background:rgba(163,233,125,.06)}
.bma-new-dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--accent-dk);margin-top:5px}
.bma-read-dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--border);margin-top:5px}
.bma-addr{font-weight:700;font-size:13px;color:var(--text)}
.bma-meta{font-size:12px;color:var(--muted);margin-top:2px}
.bma-tags{display:flex;align-items:center;gap:8px;margin-top:5px}
.bma-time{font-size:11px;color:var(--muted)}
.bma-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}

/* ═══ BUYER — NEIGHBORHOOD INTEL ═══ */
.nbh-toggle-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:11px;cursor:pointer;margin:8px 0;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.nbh-toggle-btn:hover{border-color:var(--accent-dk);color:var(--accent-dk)}
.nbh-panel{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:10px}
.nbh-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.nbh-score{text-align:center}
.nbh-score-val{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:var(--accent-dk);line-height:1}
.nbh-score-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:3px 0 5px}
.nbh-bar{height:4px;background:var(--surface);border-radius:2px;overflow:hidden}
.nbh-bar-fill{height:100%;background:var(--accent-dk);border-radius:2px}
.nbh-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px;padding-top:4px;border-top:1px solid var(--border)}
.nbh-section{padding-top:10px}
.nbh-section-title{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;margin-bottom:7px}
.nbh-school-row{display:flex;align-items:center;gap:6px;padding:5px 0;border-bottom:1px solid var(--border);font-size:12px}
.nbh-school-row:last-child{border-bottom:0}
.nbh-school-name{flex:1;color:var(--text);font-weight:600}
.nbh-school-dist{color:var(--muted);font-size:11px}
.nbh-school-rating{background:var(--accent-lt);color:#000;font-weight:700;font-size:11px;padding:2px 7px;border-radius:999px}
.nbh-detail{font-size:12px;color:var(--text)}
.nbh-highlights{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--border);padding-top:10px}
.nbh-tag{font-size:11px;padding:4px 10px;border-radius:999px;background:var(--accent-lt);color:#000;font-weight:600}

/* ═══ PRICE DROP BADGE ═══ */
.pd-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;background:#FDE9E9;color:#a33;font-size:11px;font-weight:700;margin-left:auto}
.pd-badge-sm{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#FDE9E9;color:#a33;font-size:11px;font-weight:700}
.bfc-price-row{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}
.pd-prev-price{font-size:12px;color:var(--muted);text-decoration:line-through}

/* ═══ FAVORITES — CARD TABS ═══ */
.bfc-panel-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:10px 0 4px;border-top:1px solid var(--border);margin-top:8px}
.bfc-tab-btn{padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text);font-size:11px;cursor:pointer;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:all .15s}
.bfc-tab-btn:hover{border-color:var(--accent-dk);color:var(--accent-dk)}
.bfc-tab-btn.on{background:var(--accent);border-color:var(--accent);color:#0a0a0a}

/* ═══ MORTGAGE ESTIMATOR ═══ */
.est-panel{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px;margin:8px 0}
.est-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
@media(max-width:640px){.est-grid{grid-template-columns:1fr}}
.est-field{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.est-inp{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:14px;font-family:inherit}
.est-inp:focus{outline:2px solid var(--accent-dk);outline-offset:-1px}
.est-breakdown{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.est-row{display:flex;justify-content:space-between;font-size:13px;color:var(--text)}
.est-row span{color:var(--muted)}
.est-total{display:flex;justify-content:space-between;font-size:15px;font-weight:700;color:var(--text);border-top:1px solid var(--border);padding-top:10px;margin-top:4px}
.est-total b{color:var(--accent-dk)}

/* ═══ REVIEW PANEL ═══ */
.rv-panel{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px;margin:8px 0;display:flex;flex-direction:column;gap:14px}
.rv-stars{display:flex;align-items:center;gap:4px}
.rv-star{font-size:24px;background:none;border:none;cursor:pointer;color:var(--border);padding:0;line-height:1;transition:color .1s}
.rv-star.on{color:#C9A84C}
.rv-star:hover{color:#C9A84C}
.rv-stars-lbl{font-size:12px;color:var(--muted);margin-left:8px}
.rv-cl-title{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;margin-bottom:6px}
.rv-tags{display:flex;flex-wrap:wrap;gap:6px}
.rv-tag-btn{padding:4px 11px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text);font-size:11px;cursor:pointer;transition:all .15s}
.rv-tag-btn:hover{border-color:var(--accent-dk)}
.rv-tag-btn.on{background:var(--accent-lt);border-color:var(--accent-dk);color:var(--accent-dk);font-weight:600}
.rv-tag-btn.on.con{background:#FDE9E9;border-color:#f1bcbc;color:#a33}
.rv-offer-toggle{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rv-offer-lbl{font-size:12px;color:var(--muted);font-weight:600}
.rv-offer-btns{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.rv-yn{padding:6px 14px;background:transparent;border:0;border-right:1px solid var(--border);color:var(--text);cursor:pointer;font-size:12px}
.rv-yn:last-child{border-right:0}
.rv-yn.yes.on{background:#E8F8DC;color:#3d7a22;font-weight:700}
.rv-yn.no.on{background:#FDE9E9;color:#a33;font-weight:700}
.rv-yn.on:not(.yes):not(.no){background:var(--chip-bg,var(--bg));font-weight:700}
.rv-notes{width:100%;min-height:72px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px;font-family:inherit;resize:vertical;box-sizing:border-box}
.rv-notes:focus{outline:2px solid var(--accent-dk);outline-offset:-1px}

/* ═══ OFFER COMPARISON WORKBENCH ═══ */
.ocw-grid{display:grid;overflow-x:auto;border:1px solid var(--border);border-radius:10px}
.ocw-col{display:contents}
.ocw-labels{display:contents}
.ocw-label-head{padding:14px 12px;background:var(--bg);border-bottom:1px solid var(--border);border-right:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
.ocw-prop-head{background:var(--surface)!important}
.ocw-addr{font-size:13px;font-weight:700;color:var(--text);text-transform:none;letter-spacing:0;margin-bottom:4px}
.ocw-label{padding:11px 12px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;background:var(--bg);display:flex;align-items:center}
.ocw-cell{padding:11px 12px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);font-size:13px;color:var(--text);display:flex;align-items:center}
.ocw-cell:last-child,.ocw-label:last-child{border-bottom:0}
.ocw-stage{color:var(--muted);font-size:12px}
.ocw-strength{display:inline-flex;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700}
.strength-strong{background:#E8F8DC;color:#3d7a22}
.strength-ok{background:#FFF4D6;color:#8a6a1e}
.strength-weak{background:#FDE9E9;color:#a33}

/* ═══ BUYER JOURNEY v2 — SITUATION REPORT ═══ */
.bj2-card{padding-bottom:4px}
.bj2-segments{display:flex;gap:0;margin-bottom:18px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.bj2-seg{flex:1;padding:8px 10px;text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--muted);background:var(--bg);border-right:1px solid var(--border);transition:all .2s}
.bj2-seg:last-child{border-right:0}
.bj2-seg.done{background:var(--accent-lt);color:#000}
.bj2-seg.active{background:var(--accent-dk);color:#0a0a0a}
.bj2-body{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:0;border:1px solid var(--border);border-radius:10px;overflow:hidden}
@media(max-width:820px){.bj2-body{grid-template-columns:1fr}}
.bj2-col{padding:16px 18px}
.bj2-col-hd{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:12px}
.bj2-done-col{background:var(--bg);border-right:1px solid var(--border)}
.bj2-done-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px}
.bj2-check{color:var(--accent-dk);font-weight:700;font-size:14px;margin-top:1px;flex-shrink:0}
.bj2-done-text{font-size:13px;font-weight:600;color:var(--text)}
.bj2-done-detail{font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.bj2-now-col{background:var(--surface);border-right:1px solid var(--border);position:relative}
.bj2-now-badge{display:inline-flex;padding:3px 10px;border-radius:999px;background:var(--accent-dk);color:#0a0a0a;font-size:10px;font-weight:800;letter-spacing:.1em;margin-bottom:8px}
.bj2-now-phase{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;color:var(--text);line-height:1.1;margin-bottom:12px}
.bj2-now-items{display:flex;flex-direction:column;gap:8px}
.bj2-now-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}
.bj2-now-row.urgent .bj2-now-link,.bj2-now-row.urgent span{color:#D94D4D;font-weight:600}
.bj2-now-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-dk);flex-shrink:0}
.bj2-now-dot.pulse{animation:bj2pulse 1.6s ease-in-out infinite}
@keyframes bj2pulse{0%,100%{box-shadow:0 0 0 0 rgba(109,212,74,.5)}50%{box-shadow:0 0 0 5px rgba(109,212,74,0)}}
.bj2-now-link{color:var(--text);text-decoration:none;border-bottom:1px dashed var(--border)}
.bj2-now-link:hover{color:var(--accent-dk);border-color:var(--accent-dk)}
.bj2-next-col{background:var(--bg)}
.bj2-next-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--muted);margin-bottom:10px}
.bj2-next-num::before{content:'○';font-size:12px;color:var(--border)}

/* ═══ MARKET TIMING BADGES ═══ */
.bms-city-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.mkt-timing{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.timing-seller{background:#FDE9E9;color:#a33}
.timing-neutral{background:#FFF4D6;color:#8a6a1e}
.timing-buyer{background:#E8F8DC;color:#3d7a22}

/* ═══ AGENT CONTACT CARD ═══ */
.agent-card{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:12px}
.agent-avatar{width:52px;height:52px;border-radius:50%;background:var(--accent-dk);color:#0a0a0a;font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.agent-name{font-weight:700;font-size:15px;color:var(--text)}
.agent-title{font-size:12px;color:var(--muted);margin-top:2px}
.agent-stats{display:flex;gap:6px;font-size:11px;color:var(--muted);margin-top:4px}
.agent-contact{display:flex;flex-direction:column;gap:2px}
.agent-contact-row{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px;color:var(--text);gap:16px}
.agent-contact-row:last-child{border-bottom:0}
.agent-contact-lbl{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}
.agent-appt{text-align:right;line-height:1.4}

/* ═══ CLOSING COST ESTIMATOR ═══ */
.cc-addr{font-size:12px;color:var(--muted);margin-bottom:12px;font-style:italic}
.cc-rows{display:flex;flex-direction:column;gap:2px}
.cc-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text)}
.cc-row span{color:var(--muted)}
.cc-total{display:flex;justify-content:space-between;padding:12px 0 8px;font-size:16px;font-weight:700;color:var(--text)}
.cc-total b{color:var(--accent-dk)}
.cc-note{font-size:11px;color:var(--muted);font-style:italic}

/* ═══ DOC CHECKLIST ═══ */
.dc-offer{padding:14px 0;border-bottom:1px solid var(--border)}
.dc-offer:last-child{border-bottom:0}
.dc-offer-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.dc-offer-addr{font-weight:700;font-size:13px;color:var(--text)}
.dc-checklist{display:flex;flex-wrap:wrap;gap:8px}
.dc-item{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;font-size:12px;color:var(--text);cursor:pointer;user-select:none;transition:all .15s}
.dc-item input{display:none}
.dc-item.done{background:var(--accent-lt);border-color:var(--accent-dk);color:var(--accent-dk);font-weight:600;text-decoration:line-through;text-decoration-color:var(--accent-dk)}
.dc-item:hover:not(.done){border-color:var(--accent-dk)}

/* ═══ HOME COMPARE ═══ */
.cmp-panel{border:2px solid var(--accent-dk)}
.cmp-grid{display:grid;overflow-x:auto}
.cmp-label-head{padding:14px 12px;background:var(--bg);border-bottom:1px solid var(--border);border-right:1px solid var(--border)}
.cmp-col-head{padding:14px 12px;background:var(--surface);border-bottom:1px solid var(--border);border-right:1px solid var(--border)}
.cmp-col-head:last-child{border-right:0}
.cmp-col-addr{font-weight:700;font-size:13px;color:var(--text)}
.cmp-col-city{font-size:11px;color:var(--muted);margin-top:2px}
.cmp-row-label{padding:10px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;background:var(--bg);border-bottom:1px solid var(--border);border-right:1px solid var(--border);display:flex;align-items:center}
.cmp-row-val{padding:10px 12px;font-size:13px;color:var(--text);border-bottom:1px solid var(--border);border-right:1px solid var(--border);display:flex;align-items:center}
.cmp-row-val:last-child,.cmp-row-label:last-of-type{border-bottom:0}
.cmp-row-val:last-child{border-right:0}
.buyer-fav-card.cmp-selected{border-color:var(--accent-dk);box-shadow:0 0 0 2px var(--accent-lt)}
.cmp-checkbox-wrap{position:absolute;top:8px;right:8px;cursor:pointer}
.cmp-checkbox-wrap .cmp-checkbox{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.cmp-checkbox-icon{display:inline-flex;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.6);color:#fff;font-size:11px;align-items:center;justify-content:center;font-weight:700;backdrop-filter:blur(2px)}
.buyer-fav-card.cmp-selected .cmp-checkbox-icon{background:var(--accent-dk);border-color:var(--accent-dk);color:#0a0a0a}
.bfc-photo{position:relative}

/* ═══ MATCH ALERTS — PHOTO ═══ */
.bma-row{display:grid;grid-template-columns:16px 56px 1fr auto;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--border);transition:background .15s}
.bma-photo{width:56px;height:56px;border-radius:8px;background:var(--surface);border:1px solid var(--border);flex-shrink:0;background-image:linear-gradient(135deg,var(--chip-bg,var(--bg)) 0%,var(--surface) 100%)}

/* ═══ TARGET MARKETS TABLE ═══ */
.bms-table{width:100%;display:table;border-collapse:collapse}
.bms-thead{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;border-bottom:2px solid var(--border);padding-bottom:8px;margin-bottom:2px}
.bms-th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;padding:0 4px}
.bms-trow{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}
.bms-trow:last-child{border-bottom:0}
.bms-td{padding:0 4px;font-size:13px;color:var(--text)}
.bms-dom{font-size:11px;color:var(--muted);margin-top:2px}
.bms-val{font-weight:700;font-size:14px}
.bms-delta{margin-top:2px}
.bms-info{font-size:11px;color:var(--muted);line-height:1.4}

/* ═══ OFFER COMPARISON TABLE ═══ */
.ocw-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}
.ocw-table{width:100%;border-collapse:collapse;font-size:13px}
.ocw-table thead th{text-align:left;padding:12px 14px;background:var(--bg);border-bottom:2px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.ocw-table thead th:first-child{color:var(--muted)}
.ocw-th-addr{font-size:13px;font-weight:700;color:var(--text);text-transform:none;letter-spacing:0;margin-bottom:4px}
.ocw-table tbody tr{border-bottom:1px solid var(--border)}
.ocw-table tbody tr:last-child{border-bottom:0}
.ocw-table tbody tr:hover{background:var(--bg)}
.ocw-table td{padding:11px 14px;vertical-align:middle}
.ocw-row-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;background:var(--bg);border-right:1px solid var(--border);white-space:nowrap}
.muted{color:var(--muted)}

/* ═══ SETTINGS — READ-ONLY ═══ */
.form-input-readonly{background:var(--bg)!important;color:var(--muted)!important;cursor:not-allowed;border-color:var(--border)!important}
.form-input-readonly:focus{outline:none!important}
.settings-readonly-badge{display:inline-flex;padding:2px 8px;border-radius:999px;background:var(--chip-bg,var(--bg));border:1px solid var(--border);font-size:10px;color:var(--muted);font-weight:400;text-transform:uppercase;letter-spacing:.05em}
.settings-readonly-note{font-size:11px;color:var(--muted);margin-bottom:10px;font-style:italic;padding:8px 10px;background:var(--bg);border-radius:6px;border:1px solid var(--border)}

/* ═══ FAVORITES — PRICE DROP INLINE ═══ */
.pd-inline-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;background:#FDE9E9;color:#a33;font-size:11px;font-weight:700;margin:3px 0 4px}

/* ═══ SETTINGS — NOTIFICATION PREFERENCES ═══ */
.notif-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.notif-thead{display:grid;grid-template-columns:1fr repeat(3,80px);padding:10px 14px;background:var(--bg);border-bottom:2px solid var(--border)}
.notif-th-event{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}
.notif-th-ch{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;text-align:center}
.notif-row{display:grid;grid-template-columns:1fr repeat(3,80px);align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}
.notif-row:last-child{border-bottom:0}
.notif-event{display:flex;flex-direction:column;gap:2px}
.notif-event-label{font-size:13px;font-weight:600;color:var(--text)}
.notif-event-desc{font-size:11px;color:var(--muted);line-height:1.4}
.notif-cell{display:flex;justify-content:center;align-items:center}
.notif-toggle{flex-shrink:0}

/* ═══ SETTINGS — CONNECTED ACCOUNTS ═══ */
.conn-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.conn-row{display:flex;align-items:center;gap:14px;padding:16px;border-bottom:1px solid var(--border)}
.conn-row:last-child{border-bottom:0}
.conn-icon{width:40px;height:40px;border-radius:10px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:var(--text);flex-shrink:0}
.conn-body{flex:1;min-width:0}
.conn-name{font-size:13px;font-weight:700;color:var(--text)}
.conn-desc{font-size:11px;color:var(--muted);margin-top:2px}
.conn-status{display:flex;align-items:center;gap:8px;flex-shrink:0}
.conn-chip{display:inline-flex;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700}
.conn-chip.connected{background:var(--accent-lt);color:#000}

/* ═══ SETTINGS — HOME CRITERIA ═══ */
.crit-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;margin-bottom:10px}
.crit-tag-grid{display:flex;flex-wrap:wrap;gap:8px}
.crit-tag{padding:6px 14px;border:1px solid var(--border);border-radius:999px;font-size:12px;color:var(--text);background:var(--bg);cursor:pointer;transition:all .15s}
.crit-tag:hover{border-color:var(--accent-dk)}
.crit-tag.on{background:var(--accent-lt);border-color:var(--accent-dk);color:var(--accent-dk);font-weight:600}
.crit-tag-type{border-radius:8px}
.crit-range-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:700px){.crit-range-grid{grid-template-columns:repeat(2,1fr)}}
.crit-range-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.crit-range-field input{width:100%}

/* ═══ SETTINGS — PRIVACY & DATA ═══ */
.priv-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;margin-bottom:10px}
.priv-actions{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.priv-action-row{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}
.priv-action-row:last-child{border-bottom:0}

/* ═══ CRITERIA — SELECTS ROW & MULTI-SELECT ═══ */
.crit-selects-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:4px}
@media(max-width:700px){.crit-selects-row{grid-template-columns:1fr}}
.crit-select-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.crit-select-field>span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.crit-ms-count{font-weight:700;color:var(--accent-dk)}
.crit-ms{position:relative;width:100%}
.crit-ms-wrap{position:relative;width:100%}
.crit-ms-trigger{display:block;width:100%;text-align:left;cursor:pointer;list-style:none;appearance:none;-webkit-appearance:none;font-size:13px;color:var(--text)}
.crit-ms-trigger::-webkit-details-marker{display:none}
.crit-ms[open] .crit-ms-trigger,.crit-ms-panel.open~* .crit-ms-trigger,.crit-ms-wrap:has(.crit-ms-panel.open) .crit-ms-trigger{border-color:var(--accent-dk);border-radius:8px 8px 0 0}
.crit-ms-panel{position:absolute;top:calc(100% - 1px);left:0;right:0;z-index:99;background:var(--surface);border:1px solid var(--accent-dk);border-top:0;border-radius:0 0 10px 10px;padding:6px;max-height:220px;overflow-y:auto;display:none;flex-direction:column;gap:1px;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.crit-ms-panel.open{display:flex}
.crit-ms-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text);transition:background .1s}
.crit-ms-item:hover{background:var(--bg)}
.crit-ms-item input[type=checkbox]{accent-color:var(--accent-dk);width:14px;height:14px;flex-shrink:0;cursor:pointer}

/* ═══ SETTINGS — PROFILE EXTENSIONS ═══ */
.prof-toggle-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.prof-toggle-lbl{font-size:13px;font-weight:600;color:var(--text)}
.prof-toggle-desc{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.4}

/* ═══ DOCUMENTS — PENDING SIGNATURES ═══ */
.doc-alert-panel{border-color:#D94D4D}
.doc-alert-count{display:inline-flex;padding:3px 10px;border-radius:999px;background:#FDE9E9;color:#a33;font-size:11px;font-weight:700}
.doc-pending-list{display:flex;flex-direction:column;gap:0}
.doc-pending-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.doc-pending-row:last-child{border-bottom:0}
.doc-pending-icon{width:36px;height:36px;border-radius:8px;background:#FDE9E9;color:#a33;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.doc-pending-body{flex:1;min-width:0}
.doc-pending-name{font-size:13px;font-weight:600;color:var(--text)}
.doc-pending-meta{font-size:11px;color:var(--muted);margin-top:2px}

/* ═══ DOCUMENTS — REQUEST QUEUE ═══ */
.doc-req-count{display:inline-flex;padding:3px 10px;border-radius:999px;background:var(--accent-lt);color:#000;font-size:11px;font-weight:700}
.doc-req-list{display:flex;flex-direction:column;gap:0}
.doc-req-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}
.doc-req-row:last-child{border-bottom:0}
.doc-req-meta{display:flex;align-items:center;gap:6px;flex-shrink:0;min-width:160px}
.doc-req-priority{display:inline-flex;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.doc-req-priority.high{background:#FDE9E9;color:#a33}
.doc-req-priority.medium{background:#FFF4D6;color:#8a6a1e}
.doc-req-priority.low{background:var(--bg);color:var(--muted);border:1px solid var(--border)}
.doc-req-from{font-size:12px;font-weight:600;color:var(--text)}
.doc-req-role{font-size:11px;color:var(--muted)}
.doc-req-item{flex:1;font-size:13px;color:var(--text);font-weight:500}
.doc-req-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.doc-req-due{font-size:11px;color:var(--muted);white-space:nowrap}

/* ═══ DOCUMENTS — UPLOAD PORTAL ═══ */
.doc-dropzone{border:2px dashed var(--border);border-radius:12px;padding:32px 20px;text-align:center;transition:all .2s;cursor:pointer}
.doc-dropzone:hover,.doc-dropzone.dragover{border-color:var(--accent-dk);background:var(--accent-lt)}
.doc-dropzone-icon{font-size:32px;color:var(--muted);line-height:1;margin-bottom:8px}
.doc-dropzone-lbl{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}
.doc-dropzone-sub{font-size:12px;color:var(--muted)}
.doc-dropzone-browse{color:var(--accent-dk);cursor:pointer;text-decoration:underline}

/* ═══ DOCUMENTS — SHARING + EXPIRY ═══ */
.doc-share-sel{padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:11px;cursor:pointer}
.doc-row-expiring td{background:#fffbf0}
.doc-expiry-badge{display:inline-flex;padding:1px 6px;border-radius:999px;background:#FFF4D6;color:#8a6a1e;font-size:10px;font-weight:700;margin-left:6px;vertical-align:middle}

/* ═══ DOCUMENTS — TAX EXPORT ═══ */
.doc-tax-list{display:flex;flex-direction:column;gap:0}
.doc-tax-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}
.doc-tax-row:last-child{border-bottom:0}
.doc-tax-name{flex:1;font-size:13px;color:var(--text);font-weight:500}
.doc-tax-date{font-size:12px;color:var(--muted);white-space:nowrap;min-width:90px;text-align:right}

/* ═══ AI ASSISTANT ═══ */
.ai-panel{display:flex;flex-direction:column;gap:0}
.ai-quick-prompts{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;border-bottom:1px solid var(--border);margin-bottom:4px}
.ai-qp-btn{padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text);font-size:12px;cursor:pointer;transition:all .15s}
.ai-qp-btn:hover{border-color:var(--accent-dk);background:var(--accent-lt);color:#000}
.ai-thread{display:flex;flex-direction:column;gap:10px;padding:14px 0;min-height:200px;max-height:420px;overflow-y:auto}
.ai-empty{font-size:13px;color:var(--muted);padding:24px 0;text-align:center}
.ai-msg{display:flex;flex-direction:column;max-width:76%}
.ai-msg-user{align-self:flex-end;align-items:flex-end}
.ai-msg-assistant{align-self:flex-start;align-items:flex-start}
.ai-msg-bubble{padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.5}
.ai-msg-user .ai-msg-bubble{background:var(--accent);color:var(--ink);border-radius:14px 14px 4px 14px}
.ai-msg-assistant .ai-msg-bubble{background:var(--surface);border:1px solid var(--border);border-radius:14px 14px 14px 4px}
.ai-msg-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding:0 2px}
.ai-msg-time{font-size:10px;color:var(--muted)}
.ai-msg-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}
.ai-msg:hover .ai-msg-actions{opacity:1}
.ai-msg-btn{padding:2px 8px;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:11px;cursor:pointer;color:var(--muted);transition:all .12s}
.ai-msg-btn:hover{color:var(--text);border-color:var(--accent-dk);background:transparent}
.ai-tone-bar{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--border);margin-top:6px}
.ai-tone-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}
.ai-tone-btn{padding:4px 12px;border:1px solid var(--border);border-radius:999px;background:transparent;font-size:11px;color:var(--text);cursor:pointer;transition:all .15s}
.ai-tone-btn:hover{border-color:var(--accent-dk)}
.ai-tone-btn.on{background:var(--accent-dk);color:#0a0a0a;border-color:var(--accent-dk);font-weight:600}
.ai-compose{display:flex;gap:8px;align-items:flex-end;padding-top:12px;border-top:1px solid var(--border);margin-top:8px}
.ai-input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-size:13px;resize:none;font-family:inherit;line-height:1.4}
.ai-input:focus{outline:none;border-color:var(--accent-dk)}
.ai-send-btn{white-space:nowrap;flex-shrink:0}
.ai-notes-panel{}
.ai-note-item{padding:10px 0;border-bottom:1px solid var(--border)}
.ai-note-item:last-child{border-bottom:0}
.ai-note-time{font-size:10px;color:var(--muted);margin-bottom:4px}
.ai-note-text{font-size:13px;color:var(--text);line-height:1.5;white-space:pre-wrap}

/* ─── AI COMMAND LAYOUT (Option A) ─── */
.ai-command-layout{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-top:12px;min-height:480px}
.ai-sidebar{flex:0 0 260px;width:260px;border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;overflow-y:auto;max-height:720px}
.ai-convo{flex:1 1 auto;min-width:0}
.ai-sidebar-section{padding:14px}
.ai-sidebar-section+.ai-sidebar-section{border-top:1px solid var(--border)}
.ai-sidebar-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:10px}
.ai-actions-list{display:flex;flex-direction:column;gap:2px}
.ai-action-item{display:block;width:100%;text-align:left;padding:7px 10px;border-radius:6px;border:0;background:transparent;color:var(--text);font-size:12px;cursor:pointer;transition:background .12s;line-height:1.4}
.ai-action-item:hover{background:var(--bg)}
.ai-action-item.active{background:rgba(163,233,125,.14);color:var(--accent)}
.ai-tone-vert{display:flex;flex-direction:column;gap:6px}
.ai-tone-vert-btn{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;font-size:11px;color:var(--text);cursor:pointer;text-align:left;transition:all .15s;width:100%}
.ai-tone-vert-btn:hover{border-color:var(--accent-dk)}
.ai-tone-vert-btn.on{background:var(--accent-dk);color:#0a0a0a;border-color:var(--accent-dk);font-weight:600}
.ai-convo{display:flex;flex-direction:column;min-height:480px}
.ai-convo .ai-thread{flex:1;padding:14px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;max-height:460px}
.ai-convo .ai-compose{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:flex-end}
@media(max-width:880px){.ai-command-layout{flex-direction:column}.ai-sidebar{flex:0 0 auto;width:100%!important;border-right:0;border-bottom:1px solid var(--border);max-height:none}.ai-resize{display:none}}

/* ═══ INBOX ═══ */
.inbox-layout{display:grid;grid-template-columns:300px 1fr;min-height:460px;border:1px solid var(--border);border-radius:10px;overflow:hidden}
@media(max-width:700px){.inbox-layout{grid-template-columns:1fr}}
.inbox-list{border-right:1px solid var(--border);overflow-y:auto}
.inbox-row{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;cursor:pointer;border-bottom:1px solid var(--border);position:relative;transition:background .1s}
.inbox-row:hover{background:var(--bg)}
.inbox-row.inbox-active{background:rgba(163,233,125,.14);color:var(--accent);font-weight:600}
.inbox-row.inbox-active .inbox-from,.inbox-row.inbox-active .inbox-subject{color:var(--accent)}
.inbox-row.inbox-active .inbox-time,.inbox-row.inbox-active .inbox-preview{color:var(--accent)}
.inbox-unread .inbox-from{font-weight:700}
.inbox-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#0a0a0a;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.inbox-row-body{flex:1;min-width:0}
.inbox-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.inbox-from{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inbox-time{font-size:11px;color:var(--muted);white-space:nowrap;flex-shrink:0}
.inbox-subject{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.inbox-preview{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.inbox-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-dk);flex-shrink:0;margin-top:4px}
.inbox-detail{display:flex;flex-direction:column;overflow:hidden}
.inbox-detail-head{padding:14px 16px;border-bottom:1px solid var(--border)}
.inbox-detail-subject{font-size:14px;font-weight:600;color:var(--text)}
.inbox-detail-from{font-size:12px;color:var(--muted);margin-top:3px}
.inbox-messages{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.inbox-msg{display:flex;flex-direction:column;max-width:76%}
.inbox-msg-agent{align-self:flex-start;align-items:flex-start}
.inbox-msg-me{align-self:flex-end;align-items:flex-end}
.inbox-msg-bubble{padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.5}
.inbox-msg-agent .inbox-msg-bubble{background:var(--surface);border:1px solid var(--border);border-radius:14px 14px 14px 4px}
.inbox-msg-me .inbox-msg-bubble{background:rgba(163,233,125,.14);color:var(--accent);border-radius:14px 14px 4px 14px}
.inbox-msg-time{font-size:10px;color:var(--muted);margin-top:3px;padding:0 2px}
.inbox-reply{display:flex;gap:8px;align-items:flex-end;padding:12px 16px;border-top:1px solid var(--border)}
.inbox-tag{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--accent-lt);color:#000;font-size:11px;font-weight:600;margin-left:6px}

/* ─── OFFER TIMELINE ─── */
.offer-timeline{display:flex;flex-direction:column;gap:14px;padding:4px 0}
.otl-row{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.otl-meta{min-width:200px;display:flex;flex-direction:column;gap:4px}
.otl-buyer{font-size:13px;font-weight:600;color:var(--text)}
.otl-listing{font-size:11px;color:var(--muted)}
.otl-amount{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:var(--text)}
.otl-stages{display:flex;align-items:center;flex:1;min-width:260px;gap:0}
.otl-stage{display:flex;flex-direction:column;align-items:center;position:relative;flex:1}
.otl-stage-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--border);background:var(--bg);z-index:1;flex-shrink:0}
.otl-stage.done .otl-stage-dot{background:var(--accent-dk);border-color:var(--accent-dk)}
.otl-stage-line{position:absolute;top:5px;left:50%;width:100%;height:2px;background:var(--border);z-index:0}
.otl-stage.done .otl-stage-line{background:var(--accent-dk)}
.otl-stage-label{font-size:10px;color:var(--muted);margin-top:6px;text-align:center;white-space:nowrap}
.otl-stage.done .otl-stage-label{color:var(--text);font-weight:600}
.otl-stage-date{font-size:9px;color:var(--muted);margin-top:2px;text-align:center}

/* ─── SHOWING FEEDBACK ─── */
.sfd-summary{font-size:12px;color:var(--muted);margin-bottom:12px;padding:8px 12px;background:var(--bg);border-radius:8px}
.sfd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.sfd-card{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);display:flex;flex-direction:column;gap:6px}
.sfd-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.sfd-buyer{font-size:13px;font-weight:600;color:var(--text)}
.sfd-rating{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}
.sfd-rating.positive{background:rgba(163,233,125,.18);color:var(--accent-dk)}
.sfd-rating.neutral{background:var(--surface);color:var(--muted);border:1px solid var(--border)}
.sfd-rating.negative{background:rgba(217,77,77,.12);color:#D94D4D}
.sfd-listing{font-size:11px;color:var(--muted)}
.sfd-themes{display:flex;flex-wrap:wrap;gap:4px}
.sfd-theme{font-size:11px;padding:2px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text)}
.sfd-notes{font-size:12px;color:var(--muted);line-height:1.5;margin-top:2px}

/* ─── RENTER LEASE COUNTDOWN ─── */
.renter-lease-countdown{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:14px}
.rlc-left{display:flex;flex-direction:column;gap:3px}
.rlc-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
.rlc-addr{font-size:13px;font-weight:600;color:var(--text)}
.rlc-meta{font-size:11px;color:var(--muted)}
.rlc-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.rlc-days{font-size:12px;color:var(--muted)}
.rlc-num{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;color:var(--accent-dk);margin-right:4px}

/* ─── APP KANBAN ─── */
.app-kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px}
@media(max-width:700px){.app-kanban{grid-template-columns:1fr}}
.ak-col{display:flex;flex-direction:column;gap:8px}
.ak-col-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:flex;align-items:center;gap:6px;margin-bottom:4px}
.ak-count{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:1px 7px;font-size:11px;color:var(--text);font-weight:600}
.ak-card{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);display:flex;flex-direction:column;gap:5px}
.ak-addr{font-size:12px;font-weight:600;color:var(--text)}
.ak-meta{font-size:11px;color:var(--muted)}
.ak-empty{font-size:12px;color:var(--muted);padding:12px 0;text-align:center;font-style:italic}

/* ─── AFFORDABILITY ─── */
.aff-banner{font-size:12px;color:var(--muted);padding:8px 12px;background:var(--bg);border-radius:8px;margin-bottom:12px}

/* ─── RENTER RIGHTS ─── */
.rr-list{display:flex;flex-direction:column;gap:0}
.rr-item{padding:12px 0;border-bottom:1px solid var(--border)}
.rr-item:last-child{border-bottom:0}
.rr-q{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}
.rr-a{font-size:12px;color:var(--muted);line-height:1.6}

/* ─── TENANT HEALTH ─── */
.th-table{display:flex;flex-direction:column;gap:0}
.th-head,.th-row{display:grid;grid-template-columns:1.4fr 2fr 1fr 1fr 2fr;gap:8px;padding:8px 4px;align-items:center;border-bottom:1px solid var(--border);font-size:12px}
.th-head{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding-bottom:8px}
.th-row:last-child{border-bottom:0}
.th-prop{color:var(--muted);font-size:11px}
.th-unit-name{display:flex;align-items:center;gap:6px;font-weight:500}
.th-streak{color:var(--muted)}
.th-lease{color:var(--muted)}
.th-tickets.warn{color:#d97706}
.th-tickets.risk{color:#D94D4D;font-weight:600}
.th-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}
.th-status-dot.good{background:var(--accent-dk)}
.th-status-dot.warn{background:#d97706}
.th-status-dot.risk{background:#D94D4D}
.th-status-dot.vacant{background:var(--muted)}

/* ─── DEAL SCORING ─── */
.dc-score{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.dcs-factor{display:flex;flex-direction:column;align-items:center;padding:4px 8px;border-radius:6px;font-size:10px;min-width:64px;text-align:center}
.dcs-factor.pass{background:rgba(163,233,125,.14);border:1px solid rgba(109,212,74,.25)}
.dcs-factor.fail{background:rgba(217,77,77,.1);border:1px solid rgba(217,77,77,.2)}
.dcs-label{color:var(--muted);margin-bottom:2px}
.dcs-val{font-weight:700;font-size:11px;color:var(--text)}
.dcs-factor.fail .dcs-val{color:#D94D4D}
.dcs-factor.pass .dcs-val{color:var(--accent-dk)}

/* ─── DEAL COMPS ─── */
.dc-comps{margin-top:10px;padding:10px;background:var(--bg);border-radius:8px;border:1px solid var(--border)}
.dcc-head{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.dcc-row{display:flex;flex-direction:column;gap:1px;padding:6px 0;border-bottom:1px solid var(--border)}
.dcc-row:last-of-type{border-bottom:0}
.dcc-addr{font-size:12px;font-weight:600;color:var(--text)}
.dcc-val{font-size:12px;color:var(--accent-dk);font-weight:700}
.dcc-meta{font-size:10px;color:var(--muted)}
.dcc-delta{margin-top:8px;font-size:11px;font-weight:600;color:var(--text);padding-top:6px;border-top:1px solid var(--border)}

/* ─── CASHFLOW WATERFALL ─── */
.cf-waterfall{display:flex;flex-direction:column;gap:8px;padding:4px 0}
.cfw-stage{display:grid;grid-template-columns:140px 1fr 100px;align-items:center;gap:10px}
.cfw-label{font-size:12px;color:var(--muted);white-space:nowrap}
.cfw-track{height:18px;background:var(--bg);border-radius:4px;border:1px solid var(--border);overflow:hidden;position:relative}
.cfw-bar{height:100%;border-radius:4px}
.cfw-bar.pos{background:var(--accent-dk)}
.cfw-bar.neg{background:#D94D4D}
.cfw-bar.sub{background:#3a8dde}
.cfw-amount{font-size:12px;font-weight:600;text-align:right;white-space:nowrap}


/* ─── AI ASSISTANT UPGRADES ─── */
.ai-ctx-banner{display:flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(163,233,125,.08);border:1px solid var(--accent-dk);border-radius:8px;margin:8px 0 0;font-size:12px}
.ai-ctx-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-dk);font-weight:700;flex-shrink:0}
.ai-ctx-name{color:var(--text);flex:1}
.ai-ctx-clear{padding:3px 8px;border:1px solid var(--accent-dk);border-radius:4px;background:transparent;font-size:11px;color:var(--accent-dk);cursor:pointer}
.ai-ctx-select{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:12px;cursor:pointer}
.ai-action-group{margin-bottom:6px}
.ai-action-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:4px 10px 2px;opacity:.7}
.ai-action-item.last-used{border-left:2px solid var(--accent-dk);padding-left:8px}
.ai-action-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;padding:1px 6px;background:var(--accent-dk);color:#0a0a0a;border-radius:999px;font-size:10px;font-weight:700}
.ai-streaming-bubble .ai-msg-bubble::after{content:'|';animation:blink .7s step-end infinite;color:var(--accent-dk);margin-left:2px}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.ai-followup-row{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px 4px;border-top:1px dashed var(--border)}
.ai-followup-chip{padding:5px 11px;border:1px solid var(--border);border-radius:999px;background:transparent;font-size:11px;color:var(--muted);cursor:pointer;transition:all .12s;white-space:nowrap}
.ai-followup-chip:hover{border-color:var(--accent-dk);color:var(--accent-dk);background:rgba(163,233,125,.08)}
.ai-pinned-bar{padding:8px 12px;background:rgba(163,233,125,.06);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px}
.ai-pinned-chip{padding:3px 9px;border:1px solid var(--accent-dk);border-radius:999px;background:transparent;font-size:11px;color:var(--accent-dk);cursor:pointer}
.ai-msg-pinned .ai-msg-bubble{border-color:var(--accent-dk)!important;box-shadow:0 0 0 1px rgba(163,233,125,.2)}
.ai-whatif{display:flex;flex-direction:column;gap:8px}
.ai-whatif-row{display:flex;flex-direction:column;gap:3px}
.ai-whatif-lbl{font-size:11px;color:var(--muted);display:flex;justify-content:space-between}
.ai-whatif-lbl strong{color:var(--text)}
.ai-whatif-range{width:100%;accent-color:var(--accent-dk);cursor:pointer}
.ai-whatif-result{font-size:11px;color:var(--muted);padding:6px 8px;background:var(--bg);border-radius:6px;line-height:1.6}
.ai-clause-input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:12px;resize:vertical;font-family:inherit;box-sizing:border-box;margin-bottom:6px}
.ai-clause-input:focus{outline:none;border-color:var(--accent-dk)}
.ai-clause-btn{width:100%;justify-content:center}
.ai-msg-bubble{white-space:pre-wrap}


/* ─── AI ASSISTANT v2 ENHANCEMENTS ─── */
.ai-brief-card{position:relative;padding:14px 16px;background:linear-gradient(135deg,rgba(163,233,125,.10),rgba(58,141,222,.06));border:1px solid var(--border);border-radius:12px;margin:10px 0 0}
.ai-brief-x{position:absolute;top:6px;right:8px;background:transparent;border:0;color:var(--muted);font-size:18px;cursor:pointer;line-height:1}
.ai-brief-x:hover{color:var(--text)}
.ai-brief-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:8px}
.ai-brief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ai-brief-item{padding:8px 10px;background:var(--surface);border-radius:8px}
.ai-brief-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ai-brief-val{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--text);line-height:1.1;margin:2px 0}
.ai-brief-sub{font-size:11px;color:var(--muted)}
@media(max-width:760px){.ai-brief-grid{grid-template-columns:1fr}}

.ai-nudges{display:flex;flex-direction:column;gap:6px;margin:10px 0 0}
.ai-nudge{display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(255,200,80,.10);border:1px solid rgba(255,200,80,.40);border-left:3px solid #FFC850;border-radius:8px;font-size:12px;color:var(--text)}
.ai-nudge-dot{width:6px;height:6px;border-radius:50%;background:#FFC850;flex-shrink:0}
.ai-nudge-text{flex:1}
.ai-nudge-x{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:16px}
.ai-nudge-x:hover{color:var(--text)}

.ai-cite-chip{display:inline-block;padding:1px 7px;margin:0 2px;background:rgba(58,141,222,.12);border:1px solid rgba(58,141,222,.35);border-radius:6px;color:#3a8dde;text-decoration:none;font-size:.92em;font-weight:500;cursor:pointer;transition:all .12s}
.ai-cite-chip:hover{background:rgba(58,141,222,.20);border-color:#3a8dde}

.ai-conf{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:4px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.ai-conf-data{background:rgba(163,233,125,.18);color:var(--accent-dk)}
.ai-conf-general{background:rgba(255,255,255,.06);color:var(--muted)}

.ai-rate-btn{background:transparent;border:0;font-size:13px;cursor:pointer;padding:2px 4px;opacity:.55;transition:opacity .12s,transform .12s}
.ai-rate-btn:hover{opacity:1;transform:scale(1.15)}
.ai-rate-btn.on{opacity:1}

.ai-msg-related{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}
.ai-rel-btn{padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:6px;font-size:11px;color:var(--muted);cursor:pointer;transition:all .12s}
.ai-rel-btn:hover{border-color:var(--accent-dk);color:var(--accent-dk)}
.ai-rel-btn:disabled{opacity:.6;cursor:default;border-color:var(--accent-dk);color:var(--accent-dk)}

.ai-summary{margin:8px 0;border:1px dashed var(--border);border-radius:8px}
.ai-summary>summary{padding:8px 12px;font-size:11px;color:var(--muted);cursor:pointer;user-select:none}
.ai-summary[open]>summary{border-bottom:1px dashed var(--border)}

.ai-md-list{margin:6px 0 6px 18px;padding:0}
.ai-md-list li{margin:2px 0;line-height:1.5}
.ai-msg-bubble code{padding:1px 5px;background:rgba(255,255,255,.06);border-radius:4px;font-family:Menlo,Monaco,monospace;font-size:.9em}
.ai-msg-bubble strong{color:var(--text);font-weight:600}

.ai-flash{animation:ai-flash 1.5s ease-out}
@keyframes ai-flash{0%{background:rgba(163,233,125,.20)}100%{background:transparent}}

.ai-search-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:9999}
.ai-search-inner{width:min(580px,90vw);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;box-shadow:0 16px 48px rgba(0,0,0,.5)}
.ai-search-inner input{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;box-sizing:border-box}
.ai-search-inner input:focus{outline:none;border-color:var(--accent-dk)}
.ai-search-results{max-height:50vh;overflow-y:auto;margin-top:10px}
.ai-search-row{display:flex;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:12px}
.ai-search-row:hover{background:rgba(163,233,125,.06)}
.ai-search-role{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:700;width:60px;flex-shrink:0}
.ai-search-snip{color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-search-hint{font-size:10px;color:var(--muted);margin-top:8px;text-align:right;text-transform:uppercase;letter-spacing:.06em}

.ai-refine-pop{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:2px;box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:9998}
.ai-refine-pop button{padding:6px 12px;background:transparent;border:0;color:var(--text);font-size:12px;text-align:left;cursor:pointer;border-radius:4px}
.ai-refine-pop button:hover{background:rgba(163,233,125,.08);color:var(--accent-dk)}

.ai-mention-pop{position:absolute;bottom:100%;left:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px;margin-bottom:6px;display:flex;flex-direction:column;gap:2px;box-shadow:0 6px 16px rgba(0,0,0,.4);z-index:50;min-width:200px}
.ai-mention-pop button{padding:6px 10px;background:transparent;border:0;color:var(--text);font-size:12px;text-align:left;cursor:pointer;border-radius:4px}
.ai-mention-pop button:hover{background:rgba(163,233,125,.08)}
.ai-compose-input-wrap{flex:1;position:relative;display:flex;min-width:0}
.ai-compose-input-wrap .ai-input{width:100%;box-sizing:border-box}
.ai-convo .ai-compose{align-items:stretch}
.ai-convo .ai-compose .ai-send-btn{align-self:stretch;display:inline-flex;align-items:center;justify-content:center}

.ai-mic-btn{flex-shrink:0;align-self:stretch;padding:0 14px;background:transparent;border:1px solid var(--border);border-radius:10px;font-size:15px;cursor:pointer;color:var(--text);transition:all .12s;display:inline-flex;align-items:center;justify-content:center}
.ai-mic-btn:hover{border-color:var(--accent-dk)}
.ai-mic-btn.on{background:rgba(217,77,77,.18);border-color:#D94D4D;color:#D94D4D;animation:pulse 1s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(217,77,77,.4)}50%{box-shadow:0 0 0 6px rgba(217,77,77,0)}}

.ai-prefs{display:flex;flex-direction:column;gap:4px}
.ai-pref-item{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:11px;color:var(--text)}
.ai-pref-item span{flex:1}
.ai-pref-x{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:13px}
.ai-pref-x:hover{color:#D94D4D}
.ai-prefs-empty{font-size:11px;color:var(--muted);font-style:italic;padding:4px 0}
.ai-pref-count{display:inline-block;margin-left:6px;padding:0 6px;background:var(--bg);border-radius:999px;font-size:10px;color:var(--muted);font-weight:700}

.ai-mini-toggle{margin-left:auto;padding:0 6px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--muted);font-size:10px;cursor:pointer}
.ai-mini-toggle.on{background:var(--accent-dk);color:#0a0a0a;border-color:var(--accent-dk)}

.ai-action-group.collapsed .ai-action-item{display:none}
.ai-action-group-label{display:flex;align-items:center;cursor:pointer;user-select:none}
.ai-collapse-caret{margin-left:auto;font-size:10px;color:var(--muted)}

.ai-resize{width:4px;cursor:col-resize;background:transparent;flex-shrink:0;transition:background .12s}
.ai-resize:hover{background:var(--accent-dk)}

.ai-lease-banner{display:flex;align-items:baseline;gap:8px;padding:10px 12px;background:rgba(163,233,125,.10);border:1px solid var(--accent-dk);border-radius:8px;margin-bottom:10px}
.ai-lease-banner.urgent{background:rgba(255,200,80,.12);border-color:#FFC850}
.ai-lease-num{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--text);line-height:1}
.ai-lease-lbl{font-size:11px;color:var(--muted)}

.ai-state-rights{padding:8px 10px;background:var(--bg);border-radius:6px;font-size:11px;color:var(--text);line-height:1.55;margin-top:6px}

.ai-split label,.ai-refi label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin-bottom:6px;gap:8px}
.ai-split input,.ai-refi input{width:90px;padding:4px 7px;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:12px;text-align:right}
.ai-split input:focus,.ai-refi input:focus{outline:none;border-color:var(--accent-dk)}

.ai-offer-stack{display:flex;flex-direction:column;gap:5px}
.ai-offer-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg);border-radius:6px;font-size:11px}
.ai-offer-rank{width:18px;height:18px;background:var(--accent-dk);color:#0a0a0a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}
.ai-offer-buyer{color:var(--text);font-weight:600}
.ai-offer-meta{font-size:10px;color:var(--muted)}
.ai-offer-row>div:nth-child(2){flex:1;min-width:0}
.ai-offer-amt{color:var(--accent-dk);font-weight:700;font-size:12px}

.ai-elast-lbl{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;margin-bottom:4px}
.ai-elast-lbl strong{color:var(--text)}

.ai-comps{display:flex;flex-direction:column;gap:5px}
.ai-comp{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg);border-radius:6px}
.ai-comp-info{flex:1;min-width:0}
.ai-comp-addr{font-size:11px;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-comp-meta{font-size:10px;color:var(--muted)}
.ai-comp-spark{width:60px;height:22px;flex-shrink:0}

.ai-1031{display:flex;flex-direction:column;gap:6px}
.ai-1031-date{padding:5px 7px;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:11px}
.ai-1031-bar{height:6px;background:var(--bg);border-radius:3px;overflow:hidden;position:relative}
.ai-1031-bar::before{content:'';position:absolute;left:25%;top:0;bottom:0;width:1px;background:rgba(255,200,80,.6)}
.ai-1031-fill{height:100%;background:linear-gradient(90deg,var(--accent-dk),#FFC850 25%,#D94D4D 100%);transition:width .25s}
.ai-1031-marks{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}

/* ─── INLINE SCHEDULER (overview tour/showing booking) ─── */
.schedule-form{margin-top:10px;padding:10px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:8px}
.schedule-form-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.schedule-form select,.schedule-form input{padding:7px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;font-family:inherit;box-sizing:border-box}
.schedule-form select:focus,.schedule-form input:focus{outline:none;border-color:var(--accent-dk)}
.schedule-form-row{display:flex;gap:6px;align-items:center}
.schedule-form-row input[type="date"]{flex:1.4;min-width:0}
.schedule-form-row input[type="time"]{flex:1;min-width:0}
.schedule-form-row .schedule-submit{flex:0 0 auto;white-space:nowrap}

/* ─── COMPACT FEEDBACK DIGEST (overview embedded) ─── */
.sfd-mini{margin-top:12px;padding-top:10px;border-top:1px dashed var(--border)}
.sfd-mini-head{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:6px}
.sfd-mini-summary{font-size:12px;color:var(--text);margin-bottom:8px}
.sfd-mini-row{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.sfd-mini-row:last-child{border-bottom:0}
.sfd-mini-row .sfd-rating{flex-shrink:0;width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px}
.sfd-mini-body{flex:1;min-width:0}
.sfd-mini-buyer{font-size:12px;color:var(--text);font-weight:600}
.sfd-mini-listing{font-weight:400;color:var(--muted);font-size:11px}
.sfd-mini-notes{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.4}

/* ─── INVESTOR LISTINGS SOURCE CHIPS ─── */
.inv-source-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.inv-source-chip.src-mls{background:rgba(58,141,222,.15);color:#3a8dde;border:1px solid rgba(58,141,222,.4)}
.inv-source-chip.src-off-market{background:rgba(163,233,125,.15);color:var(--accent-dk);border:1px solid var(--accent-dk)}
.inv-source-chip.src-wholesaler{background:rgba(255,200,80,.15);color:#FFC850;border:1px solid rgba(255,200,80,.5)}
.inv-source-chip.src-pocket{background:rgba(190,120,220,.15);color:#BE78DC;border:1px solid rgba(190,120,220,.5)}


/* ─── DASHBOARD OPTIMIZATIONS v2 ─── */
.ae-toast-stack{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:10000;max-width:380px;pointer-events:none}
.ae-toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent-dk);border-radius:8px;padding:10px 14px;font-size:13px;color:var(--text);box-shadow:0 8px 24px rgba(0,0,0,.30);display:flex;align-items:center;gap:10px;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
.ae-toast.on{opacity:1;transform:translateY(0)}
.ae-toast-warn{border-left-color:#FFC850}
.ae-toast-error{border-left-color:#D94D4D}
.ae-toast-undo{background:transparent;border:1px solid var(--accent-dk);color:var(--accent-dk);border-radius:6px;padding:4px 10px;font-size:11px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.ae-toast-undo:hover{background:var(--accent-dk);color:#0a0a0a}

/* Sidebar collapsed (icons only) */
body.sidebar-collapsed .sidebar{width:64px}
body.sidebar-collapsed .sidebar .nav-item span,
body.sidebar-collapsed .sidebar .nav-section-label,
body.sidebar-collapsed .sidebar .persona-switch-meta,
body.sidebar-collapsed .sidebar .persona-switch-caret{display:none}
body.sidebar-collapsed .sidebar .nav-item{justify-content:center;padding:10px 0}
body.sidebar-collapsed .main{margin-left:64px}
.topbar-icon-btn{background:transparent;border:1px solid var(--border);border-radius:8px;padding:6px 8px;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s}
.topbar-icon-btn:hover{border-color:var(--accent-dk);color:var(--accent-dk)}

/* Today timeline */
.ae-today-list{display:flex;flex-direction:column;gap:6px;padding:6px 0}
.ae-today-row{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:7px 10px;background:var(--bg);border-radius:6px;font-size:12px;border-left:2px solid var(--border)}
.ae-today-row.ae-today-tour{border-left-color:var(--accent-dk)}
.ae-today-row.ae-today-offer{border-left-color:#FFC850}
.ae-today-row.ae-today-app{border-left-color:#3a8dde}
.ae-today-when{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ae-today-label{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Recents strip */
.ae-recents{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-top:10px;font-size:11px}
.ae-recents-lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.ae-recents-chip{padding:3px 9px;border:1px solid var(--border);border-radius:999px;color:var(--text);text-decoration:none;background:var(--bg);transition:all .12s}
.ae-recents-chip:hover{border-color:var(--accent-dk);color:var(--accent-dk)}

/* Onboarding overlay */
.ae-onboard{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}
.ae-onboard-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;max-width:440px;width:100%;box-shadow:0 16px 48px rgba(0,0,0,.5)}
.ae-onboard-title{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--text);margin-bottom:10px}
.ae-onboard-card ul{padding-left:18px;margin:8px 0 18px;color:var(--text);font-size:13px;line-height:1.7}
.ae-onboard-card li{margin:4px 0}
.ae-onboard-actions{display:flex;justify-content:flex-end;gap:8px}

/* Page title focusable for a11y without an outline ring */
.page-title:focus{outline:none}


/* ─── DENSITY APPLICATION ─── */
/* All major surfaces respond to body[data-density] */
body[data-density="compact"] .panel{padding:12px 14px}
body[data-density="compact"] .panel-head{padding:0 0 8px;margin-bottom:8px}
body[data-density="compact"] .panel-title{font-size:14px}
body[data-density="compact"] .kpi-grid{gap:10px}
body[data-density="compact"] .kpi{padding:10px 12px}
body[data-density="compact"] .kpi-value{font-size:22px;line-height:1}
body[data-density="compact"] .kpi-label{font-size:10px;margin-bottom:4px}
body[data-density="compact"] .kpi-delta{font-size:10px;margin-top:4px}
body[data-density="compact"] .feed-item{padding:6px 0}
body[data-density="compact"] .feed-text{font-size:12px}
body[data-density="compact"] .feed-time{font-size:10px}
body[data-density="compact"] .task-row{padding:6px 8px;gap:6px}
body[data-density="compact"] .task-title{font-size:12px}
body[data-density="compact"] .task-meta{font-size:10px}
body[data-density="compact"] .tbl th,
body[data-density="compact"] .tbl td{padding:5px 8px;font-size:12px}
body[data-density="compact"] .panel-grid-2{gap:10px}
body[data-density="compact"] .ai-msg{padding:5px 0}
body[data-density="compact"] .ai-msg-bubble{padding:8px 10px;font-size:12px}
body[data-density="compact"] .nav-item{padding:7px 12px;font-size:12px}
body[data-density="compact"] .inv-prop-card{padding:12px 14px}
body[data-density="compact"] .ipc-metrics{gap:8px}
body[data-density="compact"] .ipc-metric-val{font-size:13px}
body[data-density="compact"] .ipc-metric-lbl{font-size:9px}
body[data-density="compact"] .doc-pending-row{padding:8px 10px}
body[data-density="compact"] .ae-today-row{padding:5px 8px}
body[data-density="compact"] .feed-item .feed-dot{width:8px;height:8px}

body[data-density="comfortable"] .panel{padding:18px 20px}
body[data-density="comfortable"] .kpi{padding:16px 18px}
body[data-density="comfortable"] .panel-grid-2{gap:16px}

/* ─── INVESTOR SAVED VIEWS ─── */
.inv-views-bar{display:flex;flex-direction:column;gap:10px;padding:10px 0 14px;margin-bottom:10px;border-bottom:1px solid var(--border)}
.inv-views-chips{display:flex;flex-wrap:wrap;gap:6px}
.inv-view-chip{padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg);font-size:11px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .12s}
.inv-view-chip:hover{border-color:var(--accent-dk);color:var(--accent-dk)}
.inv-view-chip.on{background:var(--accent-dk);color:#0a0a0a;border-color:var(--accent-dk);font-weight:600}
.inv-view-x{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:rgba(0,0,0,.15);color:#fff;font-size:11px;line-height:1;cursor:pointer}
.inv-view-chip.on .inv-view-x{background:rgba(0,0,0,.25)}
.inv-view-x:hover{background:#D94D4D;color:#fff}
.inv-views-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;color:var(--muted)}
.inv-views-lbl{display:inline-flex;align-items:center;gap:5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.inv-views-controls select{padding:4px 8px;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:11px}
.inv-views-controls select:focus{outline:none;border-color:var(--accent-dk)}
.inv-views-count{margin-left:auto;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}


/* ─── DASHBOARD OPTIMIZATIONS v3 ─── */

/* Tap targets: all interactive small buttons hit min-height standard */
.link-btn,.panel-help,.ae-panel-ai,.ae-panel-email,.ae-panel-fold{min-height:32px;min-width:32px;display:inline-flex;align-items:center;justify-content:center}

/* Panel head action icons (✨ AI, ✉ email, ▾ collapse) */
.ae-panel-ai,.ae-panel-email,.ae-panel-fold{background:transparent;border:1px solid transparent;border-radius:6px;color:var(--muted);cursor:pointer;font-size:13px;margin-left:4px;padding:2px 7px;transition:all .12s}
.ae-panel-ai:hover,.ae-panel-email:hover,.ae-panel-fold:hover{border-color:var(--accent-dk);color:var(--accent-dk);background:rgba(163,233,125,.06)}
.ae-panel-ai{color:#FFC850}
.ae-panel-ai:hover{color:#FFC850;border-color:#FFC850;background:rgba(255,200,80,.08)}

/* Panel collapse */
.panel.panel-collapsed > *:not(.panel-head){display:none}
.panel.panel-collapsed{padding-bottom:10px}

/* Last-updated stamp on every panel */
.ae-panel-stamp{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;text-align:right;opacity:.7}
.panel.panel-collapsed .ae-panel-stamp{display:none}

/* Daily tip banner */
.ae-tip{display:flex;align-items:center;gap:10px;padding:8px 14px;margin:10px 0 0;background:linear-gradient(90deg,rgba(255,200,80,.10),rgba(255,200,80,.04));border:1px solid rgba(255,200,80,.4);border-left:3px solid #FFC850;border-radius:8px;font-size:12px;color:var(--text)}
.ae-tip-icon{color:#FFC850;font-size:14px;font-weight:700;flex-shrink:0}
.ae-tip-text{flex:1}
.ae-tip-x{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}
.ae-tip-x:hover{color:var(--text)}

/* Anniversary card */
.ae-anniv-stack{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.ae-anniv-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:linear-gradient(135deg,rgba(163,233,125,.08),rgba(255,200,80,.04));border:1px solid var(--accent-dk);border-radius:10px}
.ae-anniv-icon{font-size:22px;flex-shrink:0}
.ae-anniv-title{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--text)}
.ae-anniv-sub{font-size:11px;color:var(--muted);margin-top:2px}

/* AI-suggested actions panel */
.ae-ai-suggest{margin-top:10px}
.ae-ai-spark{font-size:14px;color:#FFC850}
.ae-ai-suggest-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.ae-ai-suggest-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-left:3px solid #FFC850;border-radius:8px;text-decoration:none;color:var(--text);font-size:13px;transition:all .12s}
.ae-ai-suggest-row:hover{border-left-color:var(--accent-dk);background:rgba(163,233,125,.04);transform:translateX(2px)}
.ae-ai-suggest-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#FFC850;color:#0a0a0a;font-size:11px;font-weight:700;flex-shrink:0}

/* Density-aware charts */
body[data-density="compact"] .ae-spark,body[data-density="compact"] svg.ae-spark{height:46px!important}
body[data-density="compact"] .donut{transform:scale(.85);transform-origin:center}
body[data-density="comfortable"] .ae-spark{height:80px!important}

/* Sticky table headers + zebra striping (safe — uses existing .tbl class) */
.tbl{border-collapse:separate;border-spacing:0}
.tbl thead th{position:sticky;top:0;background:var(--surface);z-index:5;border-bottom:1px solid var(--border);box-shadow:inset 0 -1px 0 var(--border)}
.tbl tbody tr:nth-child(odd){background:rgba(255,255,255,.02)}
.tbl tbody tr:hover{background:rgba(163,233,125,.04)}
.tbl tbody tr.ae-row-cur{background:rgba(163,233,125,.10);outline:1px solid var(--accent-dk);outline-offset:-1px}

/* Confidence interval meta on AI replies */
.ai-conf-meta{display:inline-block;margin-left:8px;font-size:10px;color:var(--muted);font-style:italic}

/* Drag-to-reorder visual */
.ae-draggable{cursor:grab;transition:transform .15s,opacity .15s}
.ae-draggable:active{cursor:grabbing}
.ae-dragging{opacity:.5;transform:scale(.98)}

/* Sparkline scrubber tooltip */
.ae-spark-tip{position:absolute;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:3px 7px;font-size:10px;color:var(--text);pointer-events:none;transform:translateX(-50%);z-index:50;white-space:nowrap}

/* Bulk action bar on tables */
.ae-bulk-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:10px;background:rgba(163,233,125,.10);border:1px solid var(--accent-dk);border-radius:8px;font-size:12px}
.ae-bulk-bar[hidden]{display:none}
.ae-bulk-count{font-weight:700;color:var(--accent-dk);text-transform:uppercase;letter-spacing:.04em;font-size:11px}
.ae-bulk-row,.ae-bulk-all{accent-color:var(--accent-dk);cursor:pointer;width:16px;height:16px}

/* Mobile bottom nav (hidden on desktop) */
.ae-mobile-nav{display:none}
@media(max-width:760px){
  .ae-mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);z-index:1000;padding:6px 0;justify-content:space-around;box-shadow:0 -4px 12px rgba(0,0,0,.20)}
  .ae-mobile-nav-btn{flex:1;background:transparent;border:0;padding:10px 4px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;cursor:pointer}
  .ae-mobile-nav-btn.on{color:var(--accent-dk)}
  body{padding-bottom:60px}
  /* Modals → bottom sheets on mobile */
  .ai-search-modal,.ae-onboard{align-items:flex-end!important;padding:0!important}
  .ai-search-inner,.ae-onboard-card{width:100%!important;max-width:none!important;border-radius:14px 14px 0 0!important;animation:ae-sheet-up .25s ease-out}
}
@keyframes ae-sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}

/* Animated counters: enforce monospace tabular for stable width */
.kpi-value{font-variant-numeric:tabular-nums}

/* Photo placeholder default size (for cards that don't define one) */
.bmr-photo,.rmr-photo,.ipc-photo{min-width:60px;min-height:60px;border-radius:8px;background:var(--bg)}

/* ═══ AI ASSISTANT — SLM integration ═══ */

/* Educational disclaimer appended to every assistant message */
.ai-disclaimer{
  margin-top:10px;padding-top:8px;border-top:1px solid var(--border);
  font-size:11px;line-height:1.5;font-style:italic;color:var(--muted);
}

/* Demo-mode banner above the chat thread when no API key is configured */
.ai-demo-banner{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;margin:0 0 10px 0;
  background:linear-gradient(135deg, rgba(58,141,222,.08), rgba(58,141,222,.03));
  border:1px solid rgba(58,141,222,.25);border-radius:10px;
  font-size:12px;color:var(--text);
}
.ai-demo-banner-text{flex:1}
.ai-demo-banner-text strong{color:#3a8dde}
.ai-demo-banner-link{color:#3a8dde;text-decoration:underline;font-weight:600}
.ai-demo-banner.ai-demo-banner-credit{
  background:linear-gradient(135deg, rgba(199,154,58,.10), rgba(199,154,58,.03));
  border-color:rgba(199,154,58,.35);
}
.ai-demo-banner.ai-demo-banner-credit .ai-demo-banner-text strong,
.ai-demo-banner.ai-demo-banner-credit .ai-demo-banner-link{color:#c79a3a}
.ai-demo-banner-close{
  background:transparent;border:0;color:var(--muted);
  font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px;
}
.ai-demo-banner-close:hover{background:rgba(0,0,0,.06);color:var(--text)}

/* Subtle pulse on the live-streaming bubble while tokens arrive */
.ai-streaming-bubble .ai-msg-bubble{
  position:relative;
  box-shadow:0 0 0 1px rgba(58,141,222,.15);
  animation:ai-stream-pulse 1.6s ease-in-out infinite;
}
@keyframes ai-stream-pulse{
  0%,100%{box-shadow:0 0 0 1px rgba(58,141,222,.15)}
  50%{box-shadow:0 0 0 1px rgba(58,141,222,.45)}
}

/* Settings → AI Configuration panel */
.ai-config-panel .ai-config-status-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.ai-config-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text)}
.ai-config-dot{
  width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--muted);
}
.ai-config-status.on .ai-config-dot{background:#2e9e5a;box-shadow:0 0 0 3px rgba(46,158,90,.18)}
.ai-config-status.off .ai-config-dot{background:#c79a3a;box-shadow:0 0 0 3px rgba(199,154,58,.18)}
.ai-config-status.testing .ai-config-dot{background:#3a8dde;box-shadow:0 0 0 3px rgba(58,141,222,.18);animation:ai-stream-pulse 1.2s ease-in-out infinite}
.ai-config-status.error .ai-config-dot{background:#D94D4D;box-shadow:0 0 0 3px rgba(217,77,77,.18)}
.ai-key-input{font-family:'SF Mono','Menlo','Consolas',monospace;letter-spacing:.02em}
.ai-config-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ai-key-warning{
  margin-top:12px;padding:10px 12px;border-radius:8px;
  background:rgba(199,154,58,.08);border:1px solid rgba(199,154,58,.25);
  font-size:11px;line-height:1.5;color:var(--text);
}
.ai-key-warning code{
  font-family:'SF Mono','Menlo','Consolas',monospace;font-size:11px;
  padding:1px 5px;background:rgba(0,0,0,.06);border-radius:3px;
}
.ai-config-meta{
  display:flex;flex-wrap:wrap;gap:18px;margin-top:12px;
  font-size:11px;color:var(--muted);
}
.ai-config-meta strong{color:var(--text);font-weight:600}

/* ─── Stop button (replaces Send while streaming) ─── */
.ai-stop-btn{background:#D94D4D!important;color:#fff!important;border-color:#D94D4D!important}
.ai-stop-btn:hover{background:#c43e3e!important}

/* ─── Cost meta inline in message footer ─── */
.ai-cost-meta{
  display:inline-block;margin-left:10px;padding:1px 6px;border-radius:4px;
  background:rgba(0,0,0,.05);font-size:10px;color:var(--muted);
  font-family:'SF Mono','Menlo','Consolas',monospace;
}

/* ─── Continue chip (max_tokens stop_reason) ─── */
.ai-continue-chip{
  background:linear-gradient(135deg, var(--accent), var(--accent-dk))!important;
  color:#0a0a0a!important;font-weight:600;
}

/* ─── Jump-to-bottom indicator ─── */
.ai-jump-bottom{
  position:absolute;right:18px;bottom:78px;
  padding:6px 12px;font-size:11px;font-weight:600;
  background:var(--accent-dk);color:#fff;border:0;border-radius:14px;
  cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.18);
  z-index:5;
}
.ai-convo{position:relative}

/* ─── System / error message styles ─── */
.ai-msg-system .ai-msg-bubble{background:rgba(58,141,222,.08);border-color:rgba(58,141,222,.25);font-style:italic}
.ai-msg-error  .ai-msg-bubble{background:rgba(217,77,77,.08);border-color:rgba(217,77,77,.30)}

/* ─── Citation toggle button (active state) ─── */
#aiCiteToggle[aria-pressed="true"]{background:var(--accent-dk)!important;color:#fff!important;border-color:var(--accent-dk)!important}

/* ─── Read-aloud button active state ─── */
.ai-msg-btn[data-speak].on{background:var(--accent-dk);color:#fff;border-color:var(--accent-dk)}

/* ─── Help / shortcuts modal ─── */
.ai-help-modal{
  position:fixed;inset:0;background:rgba(0,0,0,.55);
  display:flex;align-items:center;justify-content:center;z-index:1100;
}
.ai-help-inner{
  background:var(--surface);border:1px solid var(--border);border-radius:14px;
  padding:24px 28px;min-width:340px;max-width:480px;box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.ai-help-title{font-family:'Cormorant Garamond',serif;font-size:22px;margin-bottom:16px;color:var(--text)}
.ai-help-tbl{width:100%;border-collapse:collapse;font-size:13px}
.ai-help-tbl th{text-align:left;color:var(--muted);font-weight:500;padding:6px 12px 6px 0;width:55%}
.ai-help-tbl td{text-align:right;color:var(--text);padding:6px 0}
.ai-help-tbl kbd{
  display:inline-block;padding:2px 6px;margin:0 2px;border-radius:4px;
  background:var(--bg);border:1px solid var(--border);
  font-family:'SF Mono','Menlo','Consolas',monospace;font-size:11px;color:var(--text);
  box-shadow:0 1px 0 var(--border);
}
.ai-help-hint{margin-top:14px;font-size:11px;color:var(--muted);text-align:right}
.ai-help-hint kbd{
  display:inline-block;padding:1px 5px;border-radius:3px;background:var(--bg);
  border:1px solid var(--border);font-family:'SF Mono','Menlo','Consolas',monospace;font-size:10px;
}

/* ═══ Investor Portfolio: Calculators panel ═══ */
.inv-calc-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:14px;margin-top:6px;
}
.inv-calc-section{
  padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;
}
.inv-calc-section .ai-sidebar-label{
  font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
  margin-bottom:10px;font-weight:600;
}
.inv-calc-prop{
  max-width:280px;
  /* Visible value text + custom caret so it reads clearly on the panel surface */
  color:var(--text);
  background-color:var(--surface);
  background-image:linear-gradient(45deg, transparent 50%, var(--text) 50%), linear-gradient(135deg, var(--text) 50%, transparent 50%);
  background-position: calc(100% - 16px) center, calc(100% - 11px) center;
  background-size:5px 5px, 5px 5px;
  background-repeat:no-repeat;
  padding-right:30px;
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  cursor:pointer;
}
.inv-calc-prop:focus{outline:2px solid var(--accent-dk);outline-offset:1px}
@media(max-width:1100px){.inv-calc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.inv-calc-grid{grid-template-columns:1fr}}

/* ═══ Renter: Find Roommate page ═══ */
.rm-page{display:flex;flex-direction:column;gap:14px}
.rm-status-toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);cursor:pointer}
.rm-profile-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:10px 14px;margin-top:8px;
}
.rm-row-wide{grid-column:1 / -1}
.rm-profile-actions{display:flex;justify-content:flex-end;margin-top:12px}
.rm-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.rm-tag{
  padding:5px 10px;border:1px solid var(--border);border-radius:14px;
  background:var(--bg);color:var(--text);font-size:11px;cursor:pointer;
  transition:all .15s ease;
}
.rm-tag:hover{border-color:var(--accent-dk)}
.rm-tag.on{background:var(--accent-dk);color:#fff;border-color:var(--accent-dk)}

.rm-split-tabs{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.rm-split-tabs .rm-split-tab{
  padding:6px 14px;background:transparent;border:0;color:var(--text);cursor:pointer;font-size:12px;
}
.rm-split-tabs .rm-split-tab.on{background:var(--accent-dk);color:#fff;font-weight:600}
.rm-split-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:10px;margin-top:10px}
.rm-split-grid label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.rm-split-grid input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:13px}
.rm-weights{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.rm-weights label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex:1;min-width:120px}
.rm-weights input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:13px}
.rm-split-result{
  margin-top:14px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;
}
.rm-split-grand{font-size:13px;color:var(--muted);margin-bottom:8px}
.rm-split-grand strong{color:var(--text);font-size:18px;font-family:'Cormorant Garamond',serif}
.rm-split-rows{display:flex;flex-direction:column;gap:6px}
.rm-split-row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;border-bottom:1px dashed var(--border)}
.rm-split-row:last-child{border-bottom:0}
.rm-split-row strong{color:var(--accent-dk);font-weight:600}

.rm-result-count{font-size:12px;color:var(--muted)}
.rm-filter-bar{
  display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;
  padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;margin:10px 0;
}
.rm-filter-bar > label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.rm-filter-bar input,.rm-filter-bar select{padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px}
.rm-filter-tags{display:flex;flex-direction:column;gap:6px;flex:1;min-width:240px}
.rm-filter-tag-lbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}

.rm-browse-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:14px;margin-top:6px;
}
@media(max-width:1100px){.rm-browse-grid{grid-template-columns:repeat(2, 1fr)}}
@media(max-width:680px){.rm-browse-grid{grid-template-columns:1fr}}

.rm-card{
  padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;
  display:flex;flex-direction:column;gap:10px;transition:border-color .15s ease, transform .15s ease;
}
.rm-card:hover{border-color:var(--accent-dk);transform:translateY(-1px)}
.rm-card-head{display:flex;align-items:center;gap:10px}
.rm-avatar{
  width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:16px;letter-spacing:.04em;flex-shrink:0;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
.rm-card-headtxt{flex:1;min-width:0}
.rm-card-name{font-weight:600;font-size:14px;color:var(--text)}
.rm-card-age{color:var(--muted);font-weight:400}
.rm-card-meta{font-size:11px;color:var(--muted);margin-top:2px}
.rm-compat-chip{
  padding:4px 10px;border-radius:14px;font-size:11px;font-weight:600;flex-shrink:0;
}
.rm-compat-chip.high{background:rgba(46,158,90,.15);color:#2e9e5a;border:1px solid rgba(46,158,90,.35)}
.rm-compat-chip.mid {background:rgba(199,154,58,.15);color:#c79a3a;border:1px solid rgba(199,154,58,.35)}
.rm-compat-chip.low {background:rgba(140,140,140,.15);color:var(--muted);border:1px solid var(--border)}
.rm-card-bio{font-size:12px;color:var(--text);line-height:1.5;min-height:36px}
.rm-card-tags{display:flex;flex-wrap:wrap;gap:4px}
.rm-tag-pill{
  padding:2px 8px;background:var(--bg);border:1px solid var(--border);
  border-radius:10px;font-size:10px;color:var(--muted);
}
.rm-card-foot{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--muted);padding-top:6px;border-top:1px dashed var(--border)}
.rm-card-budget{font-weight:600;color:var(--accent-dk)}
.rm-card-active{margin-left:auto;font-style:italic}
.rm-card-actions{display:flex;gap:8px}
.rm-card-actions .rm-connect{flex:1}
.rm-card-actions .rm-save.on{background:var(--accent-dk)!important;color:#fff!important;border-color:var(--accent-dk)!important}

@media(max-width:760px){
  .rm-profile-grid{grid-template-columns:1fr}
  .rm-split-grid{grid-template-columns:1fr 1fr}
}

/* ═══ DOCUMENTS — universal optimization ═══ */
.doc-tabs{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--border)}
.doc-tab{
  padding:10px 18px;background:transparent;border:0;border-bottom:2px solid transparent;
  color:var(--muted);font-size:13px;cursor:pointer;font-weight:500;
}
.doc-tab:hover{color:var(--text)}
.doc-tab.on{color:var(--text);border-bottom-color:var(--accent-dk);font-weight:600}

.doc-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}
.doc-search{
  flex:1;min-width:220px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;
  background:var(--bg);color:var(--text);font-size:13px;
}
.doc-filter-sel{padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:12px;min-width:140px}

.doc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.doc-chip{
  padding:5px 12px;border:1px solid var(--border);border-radius:14px;
  background:var(--bg);color:var(--text);font-size:11px;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;
}
.doc-chip:hover{border-color:var(--accent-dk)}
.doc-chip.on{background:var(--accent-dk);color:#fff;border-color:var(--accent-dk)}
.doc-chip.user{border-style:dashed}
.doc-chip.clear{background:transparent;color:var(--muted);font-style:italic}
.doc-chip-x{display:inline-block;margin-left:4px;font-size:14px;line-height:1;cursor:pointer;opacity:.7}
.doc-chip-x:hover{opacity:1}

.doc-bulk-bar{
  display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:10px;
  background:rgba(58,141,222,.08);border:1px solid rgba(58,141,222,.25);border-radius:10px;
}
.doc-bulk-count{font-size:12px;font-weight:600;color:var(--text);margin-right:6px}

.doc-tbl{width:100%}
.doc-tbl thead th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 8px}
.doc-tbl td{padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:middle}
.doc-row-sub{font-size:.74rem;color:var(--text-dim);margin-top:2px}
.doc-row-time{font-size:.82rem;color:var(--text-dim);white-space:nowrap}
.doc-row-actions{text-align:right;white-space:nowrap}
.doc-row-actions .link-btn + .link-btn{margin-left:6px}

.doc-pin-btn{
  background:transparent;border:0;cursor:pointer;font-size:18px;color:var(--muted);
  padding:2px 4px;border-radius:4px;line-height:1;
}
.doc-pin-btn:hover{color:var(--accent-dk);background:rgba(0,0,0,.04)}
.doc-pin-btn.on{color:#c79a3a}

.doc-shared-badge{
  margin-left:8px;padding:2px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;
  background:rgba(58,141,222,.15);color:#3a8dde;border-radius:10px;border:1px solid rgba(58,141,222,.35);
}

.doc-deadline{
  display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;
}
.doc-deadline.ok     {background:rgba(46,158,90,.12); color:#2e9e5a; border:1px solid rgba(46,158,90,.30)}
.doc-deadline.amber  {background:rgba(199,154,58,.15);color:#c79a3a; border:1px solid rgba(199,154,58,.35)}
.doc-deadline.red    {background:rgba(217,77,77,.15); color:#D94D4D; border:1px solid rgba(217,77,77,.35)}
.doc-deadline.expired{background:rgba(217,77,77,.20); color:#fff;    border:1px solid rgba(217,77,77,.50)}
.doc-deadline.none   {color:var(--muted);font-style:italic;font-weight:400}

.doc-group-row td{background:var(--bg);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 12px}
.doc-group-row strong{color:var(--text);text-transform:none;letter-spacing:0;font-size:13px}
.doc-group-count{color:var(--muted);font-weight:400}

.doc-pinned-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
@media(max-width:1100px){.doc-pinned-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px) {.doc-pinned-strip{grid-template-columns:1fr}}
.doc-pinned-card{
  padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;
  transition:border-color .15s ease;display:flex;flex-direction:column;gap:6px;
}
.doc-pinned-card:hover{border-color:var(--accent-dk)}
.doc-pinned-name{font-weight:600;font-size:13px;color:var(--text)}
.doc-pinned-meta{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}
.doc-pinned-actions{display:flex;gap:8px;margin-top:auto}

.doc-tpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:1100px){.doc-tpl-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px) {.doc-tpl-grid{grid-template-columns:1fr}}
.doc-tpl-card{padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:8px}
.doc-tpl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.doc-tpl-name{font-weight:600;font-size:14px;color:var(--text)}
.doc-tpl-cat{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface);padding:2px 8px;border-radius:8px;border:1px solid var(--border)}
.doc-tpl-desc{font-size:12px;color:var(--text);line-height:1.5;flex:1}
.doc-tpl-meta{font-size:11px;color:var(--muted)}

.doc-rule-form{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;
}
.doc-rule-form label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text)}
.doc-rule-form input,.doc-rule-form select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px}
.doc-rule-list{display:flex;flex-direction:column;gap:6px}
.doc-rule-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:13px}
.doc-rule-text strong{color:var(--accent-dk);font-weight:600}

.doc-cp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:1100px){.doc-cp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px) {.doc-cp-grid{grid-template-columns:1fr}}
.doc-cp-card{padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .15s ease}
.doc-cp-card:hover{border-color:var(--accent-dk)}
.doc-cp-name{font-weight:600;font-size:14px;color:var(--text)}
.doc-cp-email{font-size:12px;color:var(--muted);margin-top:2px}
.doc-cp-meta{font-size:11px;color:var(--muted);margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}

.doc-page-drop{
  position:fixed;inset:0;z-index:9999;
  background:rgba(58,141,222,.20);
  display:none;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',serif;font-size:48px;color:#fff;
  text-shadow:0 4px 16px rgba(0,0,0,.4);pointer-events:none;
  border:4px dashed rgba(255,255,255,.6);
}

/* Quick-look drawer */
.doc-drawer{
  position:fixed;top:0;right:-460px;bottom:0;width:440px;max-width:92vw;
  background:var(--surface);border-left:1px solid var(--border);
  box-shadow:-12px 0 40px rgba(0,0,0,.18);
  transition:right .25s ease;z-index:1080;overflow-y:auto;
}
.doc-drawer.open{right:0}
.doc-drawer-inner{padding:18px 20px}
.doc-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:14px}
.doc-drawer-title{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--text);line-height:1.2}
.doc-drawer-sub{font-size:12px;color:var(--muted);margin-top:4px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.doc-drawer-close{background:transparent;border:0;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;padding:0 6px;border-radius:4px}
.doc-drawer-close:hover{color:var(--text);background:rgba(0,0,0,.06)}
.doc-drawer-section{margin-bottom:18px}
.doc-drawer-section h4{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px 0;font-weight:600;display:flex;align-items:center;gap:8px}
.doc-drawer-count{display:inline-block;padding:1px 8px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:10px;color:var(--text);font-weight:500}
.doc-drawer-empty{font-size:12px;color:var(--muted);font-style:italic;padding:6px 0}
.doc-drawer-preview{
  margin:0;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;
  font-family:'SF Mono','Menlo','Consolas',monospace;font-size:11px;color:var(--text);
  white-space:pre-wrap;word-break:break-word;max-height:140px;overflow-y:auto;
}
.doc-drawer-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}
.doc-drawer-list li{padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--text)}
.doc-drawer-list.activity li{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.doc-act-when{font-size:10px;color:var(--muted);min-width:60px}
.doc-act-who{font-weight:600;color:var(--text)}
.doc-act-action{color:var(--accent-dk);font-weight:500}
.doc-act-note{color:var(--muted);font-style:italic}
.doc-drawer-list.audit li time{color:var(--muted);font-size:10px}
.doc-cmt-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto;margin-bottom:10px}
.doc-cmt{padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.doc-cmt-meta{font-size:11px;color:var(--muted);margin-bottom:4px}
.doc-cmt-text{font-size:13px;color:var(--text);line-height:1.4}
.doc-cmt-form{display:flex;gap:6px}
.doc-cmt-form input{flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:13px}
.doc-drawer-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid var(--border)}

/* ═══ DRAGGABLE OVERVIEW PANELS ═══ */
.ae-draggable-panel{position:relative;}
.ae-draggable-panel.ae-dragging{opacity:.45;outline:2px dashed var(--accent);}
.ae-drag-handle{
  position:absolute;top:8px;right:10px;font-size:11px;color:var(--muted);
  opacity:0;cursor:move;letter-spacing:2px;user-select:none;
  transition:opacity .15s;line-height:1;padding:2px 4px;
}
.ae-draggable-panel:hover > .ae-drag-handle{opacity:.8;}
.ae-drag-handle:hover{opacity:1!important;color:var(--accent-dk);}

/* ═══ GLOBAL CALENDAR DRAWER ═══ */
.ae-cal-drawer{
  position:fixed;top:0;right:0;bottom:0;width:380px;max-width:90vw;
  background:var(--surface);border-left:1px solid var(--border);
  box-shadow:-12px 0 36px rgba(0,0,0,.18);
  z-index:9000;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .25s ease;
}
.ae-cal-drawer.on{transform:translateX(0);}
.ae-cal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border);}
.ae-cal-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--text);}
.ae-cal-close{background:transparent;border:0;font-size:22px;color:var(--muted);cursor:pointer;line-height:1;}
.ae-cal-close:hover{color:var(--text);}
.ae-cal-body{flex:1;overflow-y:auto;padding:14px 20px 28px;}
.ae-cal-group{margin-bottom:18px;}
.ae-cal-date{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.ae-cal-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;margin-bottom:6px;color:var(--text);font-size:.84rem;text-decoration:none;transition:border-color .15s;}
.ae-cal-row:hover{border-color:var(--accent-dk);}
.ae-cal-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted);}
.ae-cal-tour .ae-cal-dot{background:var(--accent);}
.ae-cal-offer .ae-cal-dot{background:#c79a3a;}
.ae-cal-app .ae-cal-dot{background:#3a8dde;}
.ae-cal-deadline .ae-cal-dot{background:#D94D4D;}
.ae-cal-empty{color:var(--muted);font-size:.86rem;text-align:center;padding:32px 0;}

/* ═══ GENERIC OVERLAY (used by offer comparison, CMA, AI review, etc.) ═══ */
.ae-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9500;
  display:flex;align-items:center;justify-content:center;padding:24px;
  opacity:0;transition:opacity .2s;
}
.ae-overlay.on{opacity:1;}
.ae-overlay-shell{
  background:var(--surface);border-radius:10px;border:1px solid var(--border);
  width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
  transform:translateY(8px);transition:transform .2s;
}
.ae-overlay.on .ae-overlay-shell{transform:translateY(0);}
.ae-overlay-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--border);gap:12px;}
.ae-overlay-title{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:600;color:var(--text);}
.ae-overlay-close{background:transparent;border:0;font-size:22px;color:var(--muted);cursor:pointer;line-height:1;padding:0 4px;}
.ae-overlay-close:hover{color:var(--text);}
.ae-overlay-body{flex:1;overflow-y:auto;padding:20px 22px 26px;}

/* ═══ OFFER COMPARISON CARDS ═══ */
.oc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
.oc-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:6px;}
.oc-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}
.oc-buyer{font-weight:700;font-size:1rem;color:var(--text);}
.oc-listing{font-size:.78rem;color:var(--muted);margin-top:2px;}
.oc-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.82rem;color:var(--text-dim);}
.oc-k{color:var(--muted);}
.oc-v{font-weight:600;color:var(--text);}
.oc-big{font-family:'Cormorant Garamond',serif;font-size:1.1rem;}
.oc-down{color:#c79a3a;}
.oc-divider{height:1px;background:var(--border);margin:8px 0;}
.oc-net{padding-top:6px;border-top:1px solid var(--border);}
.oc-net .oc-v{color:var(--accent-dk);}
.oc-risk{margin-top:8px;}
.oc-risk-label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.oc-risk-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;}
.oc-risk-fill{height:100%;background:linear-gradient(to right,#D94D4D 0%,#c79a3a 50%,#6dd44a 100%);}
.oc-risk-meta{font-size:.74rem;color:var(--muted);margin-top:4px;}
.oc-insight{padding:12px 14px;background:rgba(109,212,74,.1);border-left:3px solid var(--accent);border-radius:4px;font-size:.86rem;color:var(--text);margin-bottom:14px;}

/* ═══ CMA REPORT ═══ */
.cma-meta{font-size:.86rem;color:var(--muted);margin-bottom:16px;}
.cma-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;}
.cma-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:14px;}
.cma-stat-lbl{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.cma-stat-val{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:700;color:var(--text);line-height:1.1;}
.cma-stat-sub{font-size:.74rem;color:var(--muted);margin-top:4px;}
.cma-rec{margin-top:8px;padding:10px 12px;background:var(--surface-2);border-radius:6px;font-size:.86rem;color:var(--text);}
.cma-rec.up{border-left:3px solid var(--accent);}
.cma-rec.down{border-left:3px solid #D94D4D;}
.cma-notes{margin:0;padding-left:20px;font-size:.86rem;line-height:1.55;color:var(--text);}
.cma-notes li{margin-bottom:6px;}

/* ═══ AI DOCUMENT REVIEW ═══ */
.air-loader{display:flex;align-items:center;justify-content:center;gap:14px;padding:48px 0;color:var(--muted);font-size:.9rem;}
.air-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent-dk);border-radius:50%;animation:airspin .8s linear infinite;}
@keyframes airspin{to{transform:rotate(360deg);}}
.air-summary{font-size:.88rem;color:var(--text-dim);margin-bottom:18px;line-height:1.5;}
.air-src{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:100px;margin-left:6px;}
.air-src-live{background:rgba(109,212,74,.15);color:var(--accent-dk);}
.air-src-mock{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);}
.air-section{margin-bottom:20px;}
.air-section h4{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.air-count{background:var(--surface-2);color:var(--muted);font-size:.7rem;padding:1px 8px;border-radius:100px;font-weight:600;}
.air-flag{display:flex;gap:10px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;margin-bottom:6px;align-items:flex-start;}
.air-flag-high{border-left:3px solid #D94D4D;}
.air-flag-medium{border-left:3px solid #c79a3a;}
.air-flag-low{border-left:3px solid var(--accent);}
.air-flag-sev{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:100px;background:var(--surface);color:var(--text-dim);flex-shrink:0;}
.air-flag-high .air-flag-sev{color:#D94D4D;}
.air-flag-medium .air-flag-sev{color:#c79a3a;}
.air-flag-text{font-size:.86rem;color:var(--text);line-height:1.5;}
.air-flag-page{color:var(--muted);font-size:.74rem;margin-left:6px;}
.air-tp{margin:0;padding-left:20px;font-size:.88rem;line-height:1.6;color:var(--text);}
.air-tp li{margin-bottom:6px;}
.air-empty{color:var(--muted);font-size:.84rem;padding:8px 0;}
.air-draft{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:14px;font-family:inherit;font-size:.84rem;color:var(--text);white-space:pre-wrap;line-height:1.5;margin-bottom:8px;}
.air-error{padding:18px;background:rgba(217,77,77,.08);color:#D94D4D;border-radius:6px;font-size:.88rem;}

/* ═══ MOVE-COST ESTIMATOR ═══ */
.mc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px;}
.mc-field{display:flex;flex-direction:column;gap:4px;font-size:.76rem;color:var(--muted);}
.mc-field input,.mc-field select{padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.86rem;}
.mc-out{background:var(--surface-2);border-radius:6px;padding:14px;}
.mc-row{display:flex;justify-content:space-between;font-size:.86rem;padding:4px 0;color:var(--text-dim);}
.mc-row b{color:var(--text);}
.mc-total{padding-top:10px;margin-top:8px;border-top:1px solid var(--border);font-size:1rem;color:var(--text);}
.mc-total b{color:var(--accent-dk);font-family:'Cormorant Garamond',serif;font-size:1.2rem;}

/* ═══ READY-TO-SEND PACK ═══ */
.rtsp-progress{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.rtsp-progress span{font-size:.76rem;color:var(--muted);font-weight:600;flex-shrink:0;}
.rtsp-bar-wrap{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden;}
.rtsp-bar-fill{height:100%;background:var(--accent);transition:width .25s ease;}
.rtsp-list{display:flex;flex-direction:column;gap:6px;}
.rtsp-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;cursor:pointer;}
.rtsp-row.on{border-color:var(--accent);background:rgba(109,212,74,.06);}
.rtsp-row input{accent-color:var(--accent-dk);}
.rtsp-label{flex:1;font-size:.88rem;color:var(--text);}
.rtsp-req{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#D94D4D;background:rgba(217,77,77,.1);padding:3px 8px;border-radius:100px;}
.rtsp-opt{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface);padding:3px 8px;border-radius:100px;}
.panel-action.disabled{opacity:.5;cursor:not-allowed;}

/* ═══ DEAL SCORING RUBRIC + RING ═══ */
.dc-score-wrap{display:flex;gap:12px;align-items:flex-start;margin-top:8px;}
.dc-score-ring{
  width:80px;flex-shrink:0;text-align:center;
  background:conic-gradient(var(--col, var(--accent)) calc(var(--pct, 0)*1%), var(--border) 0);
  border-radius:50%;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  position:relative;
}
.dc-score-ring::before{content:'';position:absolute;inset:6px;background:var(--surface-2);border-radius:50%;}
.dc-score-num{position:relative;font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:700;color:var(--text);line-height:1;}
.dc-score-lbl{position:relative;font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:2px;line-height:1.1;padding:0 4px;}
.dcs-breakdown{font-size:.7rem;color:var(--muted);margin-top:6px;letter-spacing:.04em;}

.rubric-h{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin-bottom:10px;}
.rubric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.rubric-grid label{display:flex;flex-direction:column;gap:4px;font-size:.76rem;color:var(--muted);}
.rubric-grid input{padding:7px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.88rem;}
.rubric-sum{font-size:.78rem;margin-top:10px;color:var(--muted);}
.rubric-sum.ok{color:var(--accent-dk);font-weight:600;}
.rubric-sum.warn{color:#c79a3a;}
.rubric-min{display:flex;align-items:center;gap:10px;font-size:.86rem;color:var(--text);}
.rubric-min input{width:80px;padding:7px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text);}

/* ═══ LEASE-UP FUNNEL ═══ */
.lu-funnel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;}
.lu-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:14px;}
.lu-card.weak{border-color:#D94D4D;background:rgba(217,77,77,.04);}
.lu-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;}
.lu-addr{font-weight:700;font-size:.94rem;color:var(--text);}
.lu-city{font-size:.74rem;color:var(--muted);margin-top:2px;}
.lu-stages{display:flex;align-items:flex-end;gap:6px;margin-bottom:8px;height:80px;}
.lu-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;}
.lu-bar{width:100%;background:linear-gradient(to top, var(--accent-dk), var(--accent));border-radius:4px 4px 0 0;min-height:4px;height:calc(var(--w, 100%) * 0.5);transition:height .3s ease;}
.lu-stage-num{font-weight:700;font-size:.88rem;color:var(--text);margin-top:6px;}
.lu-stage-lbl{font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.lu-meta{font-size:.74rem;color:var(--text-dim);padding-top:8px;border-top:1px solid var(--border);}
.lu-meta .down{color:#D94D4D;font-weight:600;}

/* ═══ DOCUMENTS — STATE PICKER + LEGAL DISCLAIMER ═══ */
.doc-state-picker{display:flex;align-items:center;gap:8px;}
.doc-state-lbl{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.doc-state-picker select{
  padding:6px 12px;border:1px solid var(--border);border-radius:6px;
  background:var(--surface-2);color:var(--text);font-size:.84rem;font-family:inherit;cursor:pointer;
}
.doc-card-disabled{opacity:.55;cursor:not-allowed!important;}
.doc-card-disabled:hover{transform:none!important;box-shadow:none!important;}
.doc-card-soon{
  display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:1px 7px;border-radius:100px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);
}

.legal-disclaimer-banner{
  display:flex;align-items:flex-start;gap:14px;
  padding:12px 16px;margin-bottom:14px;
  background:rgba(199,154,58,.08);border:1px solid rgba(199,154,58,.3);border-left:3px solid #c79a3a;
  border-radius:6px;font-size:.84rem;line-height:1.5;color:var(--text);
}
.legal-disclaimer-banner.accepted{background:rgba(109,212,74,.06);border-color:rgba(109,212,74,.3);border-left-color:var(--accent);}
.ldb-text{flex:1;}
.ldb-ack{font-size:.74rem;font-weight:700;color:var(--accent-dk);white-space:nowrap;align-self:center;}

/* ═══ DOCUMENTS — NEW FIELD TYPES (date/checkbox/address/signature/percent/duration) ═══ */
.doc-field-help{font-size:.72rem;color:var(--muted);margin-top:4px;line-height:1.4;}
.input-wrap.with-suffix{position:relative;display:flex;align-items:center;}
.input-wrap.with-suffix input{padding-right:28px;width:100%;}
.input-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.84rem;pointer-events:none;}
.input-wrap.doc-dur{display:flex;gap:6px;}
.input-wrap.doc-dur input{flex:1;}
.input-wrap.doc-dur select{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text);font-size:.84rem;}

.doc-field-check .doc-check-row{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.86rem;color:var(--text);}
.doc-field-check .doc-check-row input{width:18px;height:18px;accent-color:var(--accent-dk);cursor:pointer;}

.doc-field-clause{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:14px 16px;}
.doc-clause-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.doc-clause-body{font-size:.86rem;line-height:1.6;color:var(--text);white-space:pre-wrap;}
.review-row-clause .review-clause-text{white-space:pre-wrap;font-size:.84rem;line-height:1.55;}

.doc-field-address .addr-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 0.6fr 0.8fr;gap:6px;
}
.doc-field-address .addr-grid input,
.doc-field-address .addr-grid select{
  padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text);font-size:.86rem;font-family:inherit;
}
@media (max-width:720px){
  .doc-field-address .addr-grid{grid-template-columns:1fr 1fr;}
}

.doc-field-sig .sig-pad-wrap{
  border:1px dashed var(--border-strong, var(--border));border-radius:8px;padding:10px;background:var(--surface-2);
}
.sig-pad{
  width:100%;height:140px;display:block;background:#fff;border:1px solid var(--border);border-radius:6px;touch-action:none;
}
.sig-pad-draw{cursor:crosshair;}
.sig-pad-adopt{cursor:default;}
.sig-pad-actions{display:flex;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap;}
.sig-stamp-note{font-size:.72rem;color:var(--muted);font-style:italic;}
.sig-tabs{display:flex;gap:6px;margin-bottom:10px;}
.sig-tab{
  padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);
  font:inherit;font-size:.82rem;cursor:pointer;
}
.sig-tab.on{background:var(--accent, #4a76d4);color:#fff;border-color:transparent;}
.sig-mode[hidden]{display:none;}
.sig-typed{
  width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);
  font-family:'DM Sans',sans-serif;font-size:.92rem;margin-bottom:10px;
}
.sig-font-row{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:8px;margin-bottom:10px;}
@media (min-width:720px){.sig-font-row{grid-template-columns:repeat(4, minmax(0,1fr));}}
.sig-font-chip{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:10px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);
  cursor:pointer;font:inherit;text-align:center;min-height:64px;
}
.sig-font-chip.on{border-color:var(--accent, #4a76d4);box-shadow:0 0 0 2px rgba(74,118,212,.18);}
.sig-font-preview{font-size:1.4rem;line-height:1.1;color:#111;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sig-font-name{font-size:.62rem;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.06em;}

/* ─── Application tab v2 ─── */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-filter-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:10px 0 12px;border-bottom:1px dashed var(--border);margin-bottom:10px}
.app-search-wrap{flex:1;min-width:240px;max-width:420px}
.app-search{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-family:'DM Sans',sans-serif;font-size:.85rem}
.app-filter-section{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.app-filter-lbl{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.filter-chip{padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:500;cursor:pointer;transition:all .12s}
.filter-chip:hover{border-color:var(--text-dim);color:var(--text)}
.filter-chip.on{background:var(--accent-dk);color:#fff;border-color:var(--accent-dk)}
.app-archive-toggle{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted);margin-left:auto}
.app-list-container.layout-rail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:14px}
@media(max-width:1100px){.app-list-container.layout-rail{grid-template-columns:1fr}}
.app-detail-rail{position:sticky;top:0;max-height:calc(100vh - 120px);overflow:auto;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px}
.app-table-sticky thead{position:sticky;top:0;background:var(--surface);z-index:5;box-shadow:0 1px 0 var(--border)}
[data-density="compact"] .tbl tbody tr td{padding:6px 10px;font-size:.78rem}
[data-density="compact"] .app-tag-row{margin-top:2px}
.app-table-sticky th.sortable{cursor:pointer;user-select:none}
.app-table-sticky th.sortable:hover{color:var(--accent-dk)}
.app-group-card{margin-bottom:16px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}
.app-group-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg);border-bottom:1px solid var(--border)}
.app-group-title{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:600;color:var(--text)}
.app-group-sub{font-size:.78rem;color:var(--muted);margin-top:2px}
.app-group-count{display:inline-block;padding:2px 8px;background:var(--accent-lt);color:#256d0a;border-radius:6px;font-size:11px;font-weight:700;margin-left:6px}
.app-group-count.subtle{background:var(--bg);color:var(--muted)}
[data-theme=dark] .app-group-count{background:rgba(34,197,94,.18);color:#86efac}
.app-group-table thead{background:transparent}
.app-best-badge{display:inline-block;padding:1px 8px;background:#fff7ed;color:#b45309;border:1px solid #fed7aa;border-radius:6px;font-size:10px;font-weight:700;margin-left:6px;letter-spacing:.04em;text-transform:uppercase}
[data-theme=dark] .app-best-badge{background:rgba(180,83,9,.2);color:#fbbf24;border-color:rgba(180,83,9,.5)}
.app-sla{display:inline-block;padding:1px 7px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.04em;margin-top:2px}
.sla-green{background:var(--accent-lt);color:#256d0a}
.sla-amber{background:#fff7ed;color:#b45309}
.sla-red{background:#fef2f2;color:#dc2626}
[data-theme=dark] .sla-green{background:rgba(34,197,94,.18);color:#86efac}
[data-theme=dark] .sla-amber{background:rgba(180,83,9,.2);color:#fbbf24}
[data-theme=dark] .sla-red{background:rgba(220,38,38,.2);color:#fca5a5}
.app-conflict{display:inline-block;padding:1px 6px;border-radius:5px;font-size:10px;font-weight:600;background:#fef2f2;color:#dc2626;margin-left:4px}
.app-conflict.ok{background:var(--accent-lt);color:#256d0a}
[data-theme=dark] .app-conflict{background:rgba(220,38,38,.2);color:#fca5a5}
[data-theme=dark] .app-conflict.ok{background:rgba(34,197,94,.18);color:#86efac}
.app-phone-dot{display:inline-block;width:8px;height:8px;border-radius:999px;margin:0 4px;vertical-align:middle}
.app-phone-dot.reachable{background:#22c55e}
.app-phone-dot.unreachable{background:#dc2626}
.app-phone-dot.unknown{background:var(--border)}
.app-rec-score{display:inline-block;margin-left:6px;padding:1px 6px;background:rgba(0,0,0,.06);border-radius:4px;font-size:11px;font-weight:600}
[data-theme=dark] .app-rec-score{background:rgba(255,255,255,.1)}
.app-status-edit{cursor:pointer;border:0}
.app-status-edit:hover{filter:brightness(.95)}
.app-status-menu{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:1500;padding:4px;min-width:140px}
.app-status-menu button{display:block;width:100%;text-align:left;padding:6px 10px;border:0;background:transparent;cursor:pointer;color:var(--text);font-size:.85rem;border-radius:5px}
.app-status-menu button:hover{background:var(--bg)}
.app-flag-glyph{display:inline-block;font-weight:700;margin-right:2px}
.app-verify-pill{display:inline-block;padding:1px 6px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.04em;margin-left:6px}
.app-verify-pill.ok{background:var(--accent-lt);color:#256d0a}
.app-verify-pill.warn{background:#fff7ed;color:#b45309}
[data-theme=dark] .app-verify-pill.ok{background:rgba(34,197,94,.18);color:#86efac}
[data-theme=dark] .app-verify-pill.warn{background:rgba(180,83,9,.2);color:#fbbf24}
.app-ocr-card{padding:12px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;background:var(--bg);font-size:.85rem;line-height:1.55}
.app-ocr-card.ok{border-left:4px solid #22c55e}
.app-ocr-card.mismatch{border-left:4px solid #dc2626;background:#fef2f2}
[data-theme=dark] .app-ocr-card.mismatch{background:rgba(220,38,38,.1)}
.app-bank-card{padding:12px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;background:var(--bg)}
.app-bank-card.unlinked{background:#fff7ed;border-color:#fed7aa;color:#b45309}
[data-theme=dark] .app-bank-card.unlinked{background:rgba(180,83,9,.15);border-color:rgba(180,83,9,.4);color:#fbbf24}
.app-bank-spark{display:flex;gap:4px;align-items:flex-end;height:60px;margin:8px 0}
.app-bank-bar{flex:1;background:var(--accent-dk);border-radius:3px 3px 0 0;min-height:6px}
.app-bank-foot{font-size:11px;color:var(--muted)}
.app-thread{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;padding:6px}
.app-msg{display:flex;flex-direction:column}
.app-msg.me{align-items:flex-end}
.app-msg.them{align-items:flex-start}
.app-msg-bubble{padding:8px 12px;border-radius:14px;background:var(--bg);max-width:80%;font-size:.86rem;line-height:1.45}
.app-msg.me .app-msg-bubble{background:var(--accent-dk);color:#fff}
.app-msg-meta{font-size:10px;color:var(--muted);margin-top:2px;letter-spacing:.04em}
.app-msg-tpls{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0;font-size:.78rem;align-items:center}
.app-msg-add{display:flex;flex-direction:column;gap:6px}
.app-msg-add textarea{width:100%;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-family:'DM Sans',sans-serif;resize:vertical}
.app-msg-add .link-btn{align-self:flex-end;padding:6px 12px}
.app-cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0}
@media(max-width:600px){.app-cal-grid{grid-template-columns:repeat(2,1fr)}}
.app-cal-slot{padding:8px 6px;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.74rem;color:var(--text);text-align:center;line-height:1.3}
.app-cal-slot:hover{border-color:var(--accent-dk)}
.app-cal-slot span{font-weight:600;display:block;margin-top:2px}
.app-cal-booked{padding:10px 12px;background:var(--accent-lt);color:#256d0a;border-radius:8px;font-size:.86rem}
[data-theme=dark] .app-cal-booked{background:rgba(34,197,94,.18);color:#86efac}
.app-cal-foot{font-size:11px;color:var(--muted);margin-top:8px}
.app-doc-lightbox-scrim{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:1500}
.app-doc-lightbox{position:fixed;top:30px;left:50%;transform:translateX(-50%);width:680px;max-width:calc(100vw - 30px);max-height:calc(100vh - 60px);background:var(--surface);border-radius:14px;z-index:1501;display:flex;flex-direction:column;overflow:hidden}
.app-doc-lb-head{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 18px;border-bottom:1px solid var(--border)}
.app-doc-lb-body{flex:1;overflow:auto;padding:18px;background:#f3f3f3}
.app-doc-lb-mock{background:#fff;border:1px solid #ddd;padding:60px 40px;text-align:center;color:#333;border-radius:6px;position:relative}
.app-doc-lb-stamp{position:absolute;top:16px;right:16px;padding:6px 14px;background:#22c55e;color:#fff;border-radius:6px;font-weight:700;font-size:11px;letter-spacing:.06em}
.app-doc-lb-fake{font-family:'Cormorant Garamond',serif;font-size:1.5rem;margin-bottom:8px}
.app-doc-lb-fake-sub{font-size:12px;color:#777}
.app-fh-warn{padding:10px 12px;background:#fff7ed;border:1px solid #fed7aa;color:#b45309;border-radius:8px;margin-bottom:12px;font-size:.85rem}
[data-theme=dark] .app-fh-warn{background:rgba(180,83,9,.15);border-color:rgba(180,83,9,.4);color:#fbbf24}
.app-ll-q{background:var(--bg);border:1px dashed var(--border);border-radius:8px;padding:12px;font-size:.86rem;line-height:1.7;margin-bottom:8px}
.app-ll-q div{margin-bottom:4px}
.ae-toast-undo{margin-left:10px;padding:3px 10px;background:var(--accent-dk);color:#fff;border:0;border-radius:4px;cursor:pointer;font-size:.78rem;font-weight:600}
.ae-toast-undo:hover{filter:brightness(1.1)}
.app-attach-chip{display:inline-block;padding:1px 6px;background:var(--bg);border:1px solid var(--border);border-radius:4px;font-size:10px;color:var(--text-dim);margin-left:4px}

/* ─── BG Check tab v2 ─── */
.bgc-skip-banner{padding:10px 12px;background:#fff7ed;border:1px solid #fed7aa;color:#b45309;border-radius:8px;margin-bottom:12px;font-size:.86rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
[data-theme=dark] .bgc-skip-banner{background:rgba(180,83,9,.15);border-color:rgba(180,83,9,.4);color:#fbbf24}
.bgc-sub-lib{margin-bottom:8px;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.85rem}
.bgc-sub-lib summary{cursor:pointer;color:var(--muted);font-weight:600}
.bgc-sub-lib button{margin:6px 6px 0 0}
.bgc-conf-tip{font-size:11px;color:var(--muted);margin-top:6px}
.bgc-verify-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(max-width:680px){.bgc-verify-grid{grid-template-columns:1fr}}
.bgc-verify-card{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;background:var(--bg);font-size:.83rem}
.bgc-verify-card input{margin-top:3px}
.bgc-verify-sub{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.4}
.bgc-consent-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-bottom:10px}
.bgc-mobile-link{padding:12px;border:1px dashed var(--border);border-radius:10px;background:var(--bg);margin-bottom:10px}
.bgc-mobile-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.bgc-mobile-row input{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}
.bgc-mobile-status{font-size:11px;color:var(--muted);font-style:italic}
.bgc-plain{padding:14px;background:var(--accent-lt);border-left:4px solid var(--accent-dk);border-radius:6px;margin:10px 0;font-size:.92rem;line-height:1.5}
.bgc-plain-head{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}
[data-theme=dark] .bgc-plain{background:rgba(34,197,94,.1)}
.bgc-ai-card{padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;margin:8px 0;font-size:.86rem;line-height:1.6}
.bgc-ai-card.warn{border-left:4px solid #f59e0b;background:#fff7ed}
[data-theme=dark] .bgc-ai-card.warn{background:rgba(180,83,9,.1)}
.bgc-ai-card ol,.bgc-ai-card ul{margin:6px 0 0 18px}
.bgc-disputed{display:inline-block;padding:1px 8px;background:#e0f2fe;color:#075985;border-radius:5px;font-size:10px;font-weight:700;margin-left:6px}
[data-theme=dark] .bgc-disputed{background:rgba(7,89,133,.25);color:#7dd3fc}
.bgc-gauge-status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.bgc-gauge-status.status-clear{color:#22c55e}
.bgc-gauge-status.status-review{color:#f59e0b}
.bgc-gauge-status.status-action{color:#dc2626}
.bgc-audit-filters{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.bgc-audit-filters input,.bgc-audit-filters select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.82rem;font-family:'DM Sans',sans-serif}

@media print{
  body, [data-theme=dark] body{background:#fff !important;color:#000 !important}
  .panel,.bgc-result-banner,.bgc-plain,.bgc-ai-card,.bgc-checks,.bgc-scorecard{background:#fff !important;color:#000 !important;box-shadow:none !important}
  .bgc-banner-actions,.panel-help,button{display:none !important}
  .bgc-jur-banner{background:#fff7e0 !important;color:#92400e !important}
}
@media(max-width:640px){
  .bgc-form-grid{grid-template-columns:1fr}
  .bgc-prefill-row .bgc-field{min-width:100%}
  .bgc-scorecard{grid-template-columns:repeat(2,1fr)}
  .panel-grid-2{grid-template-columns:1fr !important}
  .app-risk-grid{grid-template-columns:1fr 1fr}
  .app-detail-grid{grid-template-columns:1fr}
}

/* ─── Renter Applications tab v2 ─── */
.app-status-chip.on_hold{background:#e0f2fe;color:#075985}
.app-status-chip.withdrawn{background:#f3f4f6;color:#4b5563}
.app-status-chip.expired{background:#fef2f2;color:#dc2626}
[data-theme=dark] .app-status-chip.on_hold{background:rgba(7,89,133,.25);color:#7dd3fc}
[data-theme=dark] .app-status-chip.withdrawn{background:rgba(75,85,99,.3);color:#d1d5db}
[data-theme=dark] .app-status-chip.expired{background:rgba(220,38,38,.2);color:#fca5a5}

.ra-empty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:8px}
@media(max-width:780px){.ra-empty-grid{grid-template-columns:1fr}}
.ra-empty-card{display:flex;gap:14px;align-items:center;padding:18px;background:var(--bg);border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--text);transition:all .15s}
.ra-empty-card:hover{border-color:var(--accent-dk);transform:translateY(-2px)}
.ra-empty-ico{width:44px;height:44px;border-radius:10px;background:var(--accent-lt);color:#256d0a;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;flex-shrink:0}
[data-theme=dark] .ra-empty-ico{background:rgba(34,197,94,.18);color:#86efac}
.ra-empty-title{font-weight:600;font-size:.92rem}
.ra-empty-sub{font-size:.78rem;color:var(--muted);margin-top:2px}

.ra-vault-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.ra-vault-row{display:flex;gap:10px;align-items:center;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.ra-vault-row.ok{border-left:3px solid #22c55e}
.ra-vault-row.stale{border-left:3px solid #f59e0b;background:#fff7ed}
.ra-vault-row.missing{border-left:3px solid #dc2626;background:#fef2f2}
[data-theme=dark] .ra-vault-row.stale{background:rgba(180,83,9,.1)}
[data-theme=dark] .ra-vault-row.missing{background:rgba(220,38,38,.1)}
.ra-vault-icon{font-size:18px}
.ra-vault-body{flex:1}
.ra-vault-name{font-weight:600;font-size:.86rem;color:var(--text)}
.ra-vault-meta{font-size:11px;color:var(--muted);margin-top:2px}
.ra-cmplt-pill{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--bg);border:1px solid var(--border);font-size:.78rem;font-weight:600;color:var(--text-dim)}
.ra-cmplt-pill.ok{background:var(--accent-lt);color:#256d0a;border-color:transparent}
.ra-cmplt-pill.incomplete{background:#fff7ed;color:#b45309;border-color:#fed7aa}
[data-theme=dark] .ra-cmplt-pill.ok{background:rgba(34,197,94,.18);color:#86efac}
[data-theme=dark] .ra-cmplt-pill.incomplete{background:rgba(180,83,9,.2);color:#fbbf24}
.ra-plaid-banner{padding:10px 12px;background:var(--accent-lt);border-left:4px solid var(--accent-dk);border-radius:6px;margin:8px 0;font-size:.85rem;color:#256d0a}
[data-theme=dark] .ra-plaid-banner{background:rgba(34,197,94,.1);color:#86efac}

.flash-attn{animation:flashAttn 1.4s ease}
@keyframes flashAttn{0%{box-shadow:0 0 0 0 rgba(245,158,11,0)}50%{box-shadow:0 0 0 6px rgba(245,158,11,.4)}100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}}

.rac-head-right{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ra-aging{display:inline-block;padding:1px 8px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.04em}
.ra-aging.green{background:var(--accent-lt);color:#256d0a}
.ra-aging.amber{background:#fff7ed;color:#b45309}
.ra-aging.red{background:#fef2f2;color:#dc2626}
[data-theme=dark] .ra-aging.green{background:rgba(34,197,94,.18);color:#86efac}
[data-theme=dark] .ra-aging.amber{background:rgba(180,83,9,.2);color:#fbbf24}
[data-theme=dark] .ra-aging.red{background:rgba(220,38,38,.2);color:#fca5a5}
.ra-resp{display:inline-block;padding:1px 7px;border-radius:5px;font-size:10px;font-weight:600;margin-left:4px}
.ra-resp.fast{background:var(--accent-lt);color:#256d0a}
.ra-resp.medium{background:#fff7ed;color:#b45309}
.ra-resp.slow{background:#fef2f2;color:#dc2626}
.ra-resp.unknown{background:var(--bg);color:var(--muted)}
[data-theme=dark] .ra-resp.fast{background:rgba(34,197,94,.18);color:#86efac}
[data-theme=dark] .ra-resp.medium{background:rgba(180,83,9,.2);color:#fbbf24}
[data-theme=dark] .ra-resp.slow{background:rgba(220,38,38,.2);color:#fca5a5}
.ra-likelihood{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.04em}
.ra-likelihood.lh-green{background:var(--accent-lt);color:#256d0a}
.ra-likelihood.lh-amber{background:#fff7ed;color:#b45309}
.ra-likelihood.lh-red{background:#fef2f2;color:#dc2626}
[data-theme=dark] .ra-likelihood.lh-green{background:rgba(34,197,94,.18);color:#86efac}
[data-theme=dark] .ra-likelihood.lh-amber{background:rgba(180,83,9,.2);color:#fbbf24}
[data-theme=dark] .ra-likelihood.lh-red{background:rgba(220,38,38,.2);color:#fca5a5}

.ra-stepper{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:8px 0;font-size:11px}
.ra-step{padding:3px 8px;border-radius:6px;background:var(--bg);color:var(--muted);border:1px solid var(--border)}
.ra-step.active{background:var(--accent-dk);color:#fff;border-color:var(--accent-dk)}
.ra-step.done{background:var(--accent-lt);color:#256d0a;border-color:transparent}
[data-theme=dark] .ra-step.done{background:rgba(34,197,94,.18);color:#86efac}
.ra-step-sep{color:var(--border)}

.rac-link{display:inline-block;margin-left:6px;padding:1px 6px;background:var(--bg);border:1px solid var(--border);border-radius:4px;font-size:10px;color:var(--text-dim);font-weight:500}
.rac-completeness{display:flex;gap:10px;align-items:center;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:8px;margin:10px 0}
.rac-cmplt-bar{flex:1;height:6px;background:var(--border);border-radius:999px;overflow:hidden}
.rac-cmplt-fill{height:100%;background:#22c55e;transition:width .3s}
.rac-completeness.incomplete .rac-cmplt-fill{background:#f59e0b}
.rac-cmplt-label{font-size:11px;font-weight:600;color:var(--muted)}

.rs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
@media(max-width:780px){.rs-grid{grid-template-columns:repeat(2,1fr)}}
.rs-out{margin-top:10px}

.ra-saved-app-chip{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.ra-saved-app-chip.status-pending,.ra-saved-app-chip.status-on_hold{background:#fff7e0;color:#b45309}
.ra-saved-app-chip.status-approved{background:var(--accent-lt);color:#256d0a}
.ra-saved-app-chip.status-declined,.ra-saved-app-chip.status-expired{background:#fef2f2;color:#dc2626}
.ra-saved-app-chip.status-withdrawn{background:#f3f4f6;color:#4b5563}
.ra-saved-app-chip.draft{background:#e0f2fe;color:#075985}
.ra-saved-app-chip.interest{background:#fff7ed;color:#b45309}
[data-theme=dark] .ra-saved-app-chip.status-approved{background:rgba(34,197,94,.18);color:#86efac}
[data-theme=dark] .ra-saved-app-chip.status-pending,[data-theme=dark] .ra-saved-app-chip.status-on_hold{background:rgba(180,83,9,.2);color:#fbbf24}
[data-theme=dark] .ra-saved-app-chip.status-declined,[data-theme=dark] .ra-saved-app-chip.status-expired{background:rgba(220,38,38,.2);color:#fca5a5}
[data-theme=dark] .ra-saved-app-chip.draft{background:rgba(7,89,133,.25);color:#7dd3fc}

.ra-tour-link-chip{display:inline-block;margin-left:8px;padding:1px 8px;background:var(--accent-lt);color:#256d0a;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
[data-theme=dark] .ra-tour-link-chip{background:rgba(34,197,94,.18);color:#86efac}

.ra-multi-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}
.ra-multi-row{display:grid;grid-template-columns:auto 1fr 1fr;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.ra-multi-row textarea{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-family:'DM Sans',sans-serif;font-size:.78rem;resize:vertical}
.ra-multi-body b{font-size:.86rem}

.ak-card.draft{background:var(--bg);border:1px dashed var(--border)}
.ak-card.draft .link-btn{margin-top:6px;font-size:.78rem}

/* ─────────────────────────────────────────────────────────────
   A11Y HARDENING (Wave-1 Bucket-3 Agent L) — placed at EOF so
   these rules win cascade ties over earlier accidental overrides.
   Honors OS-level prefers-reduced-motion / prefers-contrast plus
   manual data-attribute toggles set from Settings.
   ───────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

@media (prefers-contrast: more){
  :root { --border: #000 !important; --text-dim: #000 !important; }
  .panel, .modal-card, .app-detail-pop { border-width: 2px !important; }
  .link-btn, button { outline: 1px solid currentColor; }
}

[data-contrast="high"] { /* manual override */
  --border: #000 !important; --text-dim: #000 !important;
}
[data-motion="off"] *,
[data-motion="off"] *::before,
[data-motion="off"] *::after { animation: none !important; transition: none !important; }

/* ─── Print stylesheet for documents (review packages, lease drafts, etc.) ─── */
@media print {
  body { background: #fff !important; color: #000 !important; }
  .topbar, .sidebar, .topbar-search, .topbar-currency, .icon-btn, .signout-btn, .panel-help, .link-btn, .panel-action, button, .ae-overlay, .app-detail-scrim, #aeErrorBoundary, .notif-panel, .toast, .ae-mock-spinner { display: none !important; }
  .panel { box-shadow: none !important; border: 1px solid #ccc !important; page-break-inside: avoid; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 10px; color: #555; }
  .review-row, .form-row { page-break-inside: avoid; }
  @page { margin: 18mm; }
}

/* ════════════════════════════════════════════════════════════════════════
   W6.26 — Mobile sweep (M1 tables, M2 tab strips, M3 floor-plan, M4 forms,
   M5 topbar). Hoisted out of the body to keep all responsive rules colocated.
   ════════════════════════════════════════════════════════════════════════ */

/* M5 — Compact topbar at ≤768px (frees ~12px vertical on phones) */
@media(max-width:768px){
  :root{ --topbar-h:52px; }
  .topbar{ height:52px; padding-left:8px; padding-right:8px; }
}

/* M1 — Horizontal-scroll wrapper auto-applied to bare <table class="tbl">.
   See _aeWrapTables() in dashboard.js (runs after each route:rendered). */
.tbl-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.tbl-wrap > .tbl{ margin:0; }
@media(max-width:768px){
  .tbl-wrap{
    /* hint that horizontal scroll is available */
    background:
      linear-gradient(to right, var(--surface) 30%, rgba(255,255,255,0)) left center / 24px 100% no-repeat,
      linear-gradient(to left,  var(--surface) 30%, rgba(255,255,255,0)) right center / 24px 100% no-repeat,
      linear-gradient(to right, rgba(0,0,0,.07), rgba(0,0,0,0)) left center / 8px 100% no-repeat,
      linear-gradient(to left,  rgba(0,0,0,.07), rgba(0,0,0,0)) right center / 8px 100% no-repeat;
    background-attachment:local, local, scroll, scroll;
  }
}

/* M2 — H-scroll tab strips on phone (any role=tablist, plus the named
   subtab classes used inline across the codebase) */
@media(max-width:768px){
  [role="tablist"],
  .hopl-subtabs, .pm-rent-subtabs, .app-tabs{
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    flex-wrap:nowrap !important;
    width:100% !important;     /* override inline width:fit-content */
    max-width:100% !important;
  }
  [role="tablist"]::-webkit-scrollbar,
  .hopl-subtabs::-webkit-scrollbar,
  .pm-rent-subtabs::-webkit-scrollbar,
  .app-tabs::-webkit-scrollbar{ display:none; }
  [role="tablist"] > *,
  .hopl-subtabs > *,
  .pm-rent-subtabs > *,
  .app-tabs > *{
    scroll-snap-align:start;
    flex-shrink:0;
  }
}

/* M3 — Floor-plan / staging SVG mobile sizing. Vendor Design tab renders
   inline SVG into .dsg-plan-canvas; keep room labels readable on phone via
   a min-width that triggers horizontal scroll instead of squish. */
.dsg-plan-canvas, [data-dsg-plan]{
  width:100%;
  min-height:240px;
}
.dsg-plan-canvas svg, [data-dsg-plan] svg{
  width:100%; height:auto; display:block;
}
@media(max-width:768px){
  .dsg-plan-canvas, [data-dsg-plan]{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    min-height:280px;
  }
  .dsg-plan-canvas svg, [data-dsg-plan] svg{
    min-width:520px;
  }
}

/* M4 — Shared form-grid helpers (collapse to 1col ≤768px). Replaces the
   pattern of inline grid-template-columns:repeat(3,1fr) used throughout
   the editor pages. */
/* minmax(0,1fr): bare 1fr can't shrink below an input's intrinsic min-width
   (number inputs ~170px), which overflowed narrow containers (e.g. the
   480px edit-listing modal) into a horizontal scrollbar. */
.form-grid-2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.form-grid-3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.form-grid-4{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.form-grid-2 .form-input,.form-grid-3 .form-input,.form-grid-4 .form-input{ width:100%; min-width:0; }
@media(max-width:768px){
  .form-grid-2, .form-grid-3, .form-grid-4{ grid-template-columns:1fr; }
}
/* /W6.26 — Mobile sweep */

/* === Brand logo image in topbar (sits above the wordmark) === */
.topbar .logo-img{height:22px;width:auto;display:block;margin:0 auto 4px;}
@media(max-width:768px){
  /* 52px mobile topbar can't fit the stacked logo — wordmark only */
  .topbar .logo-img{display:none !important;}  /* !important: beats the inline display:block */
}

/* === W6.32 — responsive topbar brand block ===
   The logo + wordmark must scale with window width instead of wrapping
   ("AMPLIFIED / ESTATES" on two lines) or detaching from the tagline. */
.topbar .logo{flex:0 1 auto;min-width:0;}
.topbar .logo-mark{
  white-space:nowrap;
  font-size:clamp(.78rem, .45rem + .9vw, 1.15rem);
}
.topbar .logo-sub{
  white-space:nowrap;
  font-size:clamp(.34rem, .28rem + .25vw, .46rem);
}
@media(max-width:1080px){
  .topbar .logo-sub{display:none;}          /* tagline goes first */
  .topbar .logo-img{height:18px;}
}
@media(max-width:920px){
  .topbar-left{gap:10px;}
  .topbar{padding:0 14px;}
}

/* W6.32 follow-up — the brand never clips: the logo block keeps its
   natural width (font scales via clamp) and the SEARCH column absorbs the
   squeeze at narrow widths instead. */
.topbar .logo{flex-shrink:0;}
.topbar .persona-chip{flex-shrink:0;}
.topbar-center{min-width:0;}
@media(max-width:920px){
  .topbar .logo-mark{letter-spacing:.05em;}
  .topbar-search{max-width:240px;min-width:70px;}
  .topbar-search input{min-width:0;font-size:.74rem;}
}
@media(max-width:768px){
  .topbar .logo-mark{font-size:.72rem;letter-spacing:.04em;}
}

/* ≤920px: shed low-value topbar chrome before anything can collide */
@media(max-width:920px){
  #aeOnlineChip{display:none;}
  .topbar-currency{display:none;}
}

/* ── W6.38 Design Studio polish ─────────────────────────────────────── */
/* #4 sticky takeoff header inside its scroll container */
.dsg-tk-table thead th{position:sticky;top:0;background:#f3f1ea;z-index:2;box-shadow:0 1px 0 var(--border,#e3ddd0);}
.dsg-tk-table .dsg-cat-head:hover td{background:rgba(47,127,214,.08);}
/* #2 floor-plan drag affordances: hover/focus highlight + reveal grip handle */
[data-dsg-svg] .dsg-room rect:first-of-type{transition:stroke .1s,stroke-width .1s;}
[data-dsg-svg] .dsg-room:hover rect:first-of-type,
[data-dsg-svg] .dsg-room:focus rect:first-of-type{stroke:#2f7fd6;stroke-width:2.5;}
[data-dsg-svg] .dsg-room:active{cursor:grabbing;}
[data-dsg-svg] .dsg-rg-handle{opacity:0;transition:opacity .1s;}
[data-dsg-svg] .dsg-room:hover .dsg-rg-handle,
[data-dsg-svg] .dsg-room:focus .dsg-rg-handle{opacity:.85;}

/* ── W6.38 consolidated nav hubs: sub-tab strip ─────────────────────── */
.ae-hub-strip{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--border,#e3ddd0);padding-bottom:12px;}
.ae-hub-tab{padding:6px 15px;border-radius:999px;border:1px solid var(--border,#e3ddd0);background:transparent;font:inherit;font-size:.82rem;font-weight:600;color:var(--text,#222);cursor:pointer;transition:background .12s,border-color .12s;}
.ae-hub-tab:hover{border-color:var(--accent-dk,#3a8f1f);}
.ae-hub-tab.on{background:var(--accent-lt,rgba(163,233,125,.18));border-color:var(--accent-dk,#3a8f1f);}
@media(max-width:768px){.ae-hub-strip{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}.ae-hub-tab{flex-shrink:0;scroll-snap-align:start;}}

/* ═══ BUYER — criteria summary card + edit-sheet segmented controls ═══ */
.crit-summary{display:flex;flex-wrap:wrap;gap:6px;cursor:pointer;padding:2px 0}
.crit-sum-chip{display:inline-block;padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2,var(--surface));font-size:12px;font-weight:600;color:var(--text)}
.crit-seg{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;width:fit-content;max-width:100%}
.crit-seg-btn{padding:7px 14px;background:transparent;border:none;border-right:1px solid var(--border);font-size:12.5px;font-weight:600;color:var(--text);cursor:pointer;white-space:nowrap}
.crit-seg-btn:last-child{border-right:0}
.crit-seg-btn.on{background:var(--accent-dk,#6dd44a);color:#0a0a0a}

/* ═══ BUYER — closing countdown strip ═══ */
.bct-strip{display:flex;margin-top:12px;overflow-x:auto;padding-bottom:4px}
.bct-step{flex:1;min-width:86px;text-align:center;cursor:pointer;position:relative;padding:2px 4px;border-radius:8px}
.bct-step:hover{background:var(--surface-2,var(--surface))}
.bct-step:not(:first-child)::before{content:'';position:absolute;top:11px;left:calc(-50% + 12px);width:calc(100% - 24px);height:2px;background:var(--border)}
.bct-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);background:var(--bg);margin:0 auto;line-height:18px;font-size:12px;position:relative;z-index:1}
.bct-done .bct-dot{background:var(--accent-dk,#6dd44a);border-color:var(--accent-dk,#6dd44a);color:#0a0a0a}
.bct-requested .bct-dot{border-color:#4a8dd4;background:rgba(74,141,212,.18)}
.bct-lbl{font-size:11px;font-weight:700;margin-top:4px;color:var(--text)}
.bct-date{font-size:10px;color:var(--text-dim,#888)}
.bct-done .bct-date{color:var(--accent-dk,#6dd44a);font-weight:700}
.bct-requested .bct-date{color:#4a8dd4;font-weight:600}

/* ═══ Dash-1 — P6 dollhouse mini-map inset + N21 mobile 3D toolbar ═══ */

/* P6 — the 3D host is the positioning parent for the absolute mini-map overlay.
   (Inline min-height stays; adding position:relative is inert to the canvas.) */
.dsg-doll3d-host{ position:relative; }

.dsg-doll-minimap{
  position:absolute; top:10px; right:10px; z-index:20;
  background:var(--surface,#fff);
  border:1px solid var(--border);
  border-radius:10px;
  padding:6px;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
}
.dsg-doll-minimap-head{ display:flex; align-items:center; gap:5px; margin-bottom:4px; }
.dsg-doll-minimap-body svg{ display:block; border-radius:6px; }
/* Collapsed body is hidden via the [hidden] attribute the JS toggles. */
.dsg-doll-minimap-body[hidden]{ display:none; }
/* Hidden on very small screens — the map would crowd the canvas. */
@media(max-width:480px){
  .dsg-doll-minimap{ display:none !important; }
}

/* N21 — the advanced/export cluster ("More" group).
   Desktop: the wrapper is display:contents so its buttons lay out as direct
   flex children of the toolbar exactly as before (zero layout change), and the
   "More" trigger is hidden. */
.dsg-doll-more{ display:none !important; }
.dsg-doll-more-pop{ display:contents; }

@media(max-width:768px){
  .dsg-doll-toolbar{ position:relative; }
  /* Larger touch targets for every toolbar control on phones. */
  .dsg-doll-toolbar .panel-action,
  .dsg-doll-toolbar .filter-chip{ min-height:40px; }
  /* Show the "More" trigger and fold the cluster into a dropdown. */
  .dsg-doll-more{ display:inline-flex !important; align-items:center; }
  .dsg-doll-more-pop{
    display:none;
    position:absolute; z-index:30; top:100%; right:0; margin-top:4px;
    flex-direction:column; align-items:stretch; gap:6px;
    background:var(--surface,#fff);
    border:1px solid var(--border);
    border-radius:10px; padding:10px; min-width:190px; max-width:80vw;
    box-shadow:0 8px 24px rgba(0,0,0,.2);
  }
  .dsg-doll-more-pop.open{ display:flex; }
  /* Decorative vertical separators are noise inside the vertical dropdown. */
  .dsg-doll-more-pop.open > span[style*="width:1px"]{ display:none; }
  .dsg-doll-more-pop.open .panel-action{ width:100%; text-align:left; }
}

/* ═══ Dash-2 — R3-5 focus-visible + contrast + P2 cheatsheet + P5 gesture hint ══ */

/* R3-5 — a consistent, visible keyboard-focus ring on the dollhouse toolbar
   controls (which fell back to the UA default only) and the new a11y surfaces.
   :focus-visible keeps it keyboard-only, so a mouse click shows no ring. */
.dsg-doll-toolbar .panel-action:focus-visible,
.dsg-doll-toolbar .filter-chip:focus-visible,
.dsg-doll-toolbar button:focus-visible,
.dsg-doll-toolbar input:focus-visible,
.dsg-doll-toolbar select:focus-visible,
.dsg-doll-minimap button:focus-visible,
#aeDsgDollCheat button:focus-visible,
.dsg-doll-gesture-hint button:focus-visible{
  outline:2px solid var(--accent-dk,#3a8f1f);
  outline-offset:2px;
}

/* R3-5 contrast — the segmented current/proposed buttons hard-code a dark ink
   color inline (legible on the light surface, near-invisible on the dark
   surface). Restore a token color in dark theme so the labels pass AA. */
html[data-theme="dark"] .dsg-doll-toolbar [data-dsg-doll-ab]{
  color:var(--text) !important;
}

/* P5 — one-time touch gesture hint, pinned bottom-center inside the 3D host
   (.dsg-doll3d-host is already position:relative for the mini-map overlay). */
.dsg-doll-gesture-hint{
  position:absolute; left:50%; bottom:14px; transform:translateX(-50%);
  z-index:22; display:flex; align-items:center;
  background:rgba(20,24,28,.86); color:#fff;
  font-size:12px; font-weight:600;
  padding:7px 12px; border-radius:999px;
  box-shadow:0 4px 14px rgba(0,0,0,.3);
  max-width:92%;
  animation:dsgDollHintIn .28s ease-out;
}
@keyframes dsgDollHintIn{
  from{ opacity:0; transform:translate(-50%,6px); }
  to{ opacity:1; transform:translate(-50%,0); }
}
/* reduced-motion — no fade/slide; the hint appears in its final position. */
@media (prefers-reduced-motion: reduce){
  .dsg-doll-gesture-hint{ animation:none !important; }
}

/* ══ INBOX UNREAD BADGE ═══════════════════════════════════════════════════ */
/* margin-left:auto right-aligns the pill without giving the label span a
   flex-basis, which would change wrapping on the longer Property Manager and
   admin rows. */
.nav-badge{
  margin-left:auto;flex-shrink:0;
  min-width:18px;height:18px;padding:0 6px;
  border-radius:999px;
  background:var(--accent);color:#12210b;
  font-size:.66rem;font-weight:700;line-height:18px;text-align:center;
}
.nav-item.active .nav-badge{background:var(--accent);}

/* Both collapsed sidebars hide `.nav-item span` -- and the badge IS a span, so
   it would disappear exactly where the row has no label left to read. Shrink it
   to a dot pinned to the icon instead: the number is illegible at a 64-72px
   rail, but "something is waiting here" is the entire job of the badge.
   Scoped to >=769px because the <=768px drawer puts the labels back, and the
   pill should come back with them. */
@media(min-width:769px){
  body.sidebar-collapsed .sidebar .nav-item{position:relative;}
  body.sidebar-collapsed .sidebar .nav-item .nav-badge{
    display:block;position:absolute;top:5px;right:11px;
    min-width:8px;width:8px;height:8px;padding:0;
    font-size:0;line-height:0;text-indent:-9999px;overflow:hidden;
  }
}
@media(min-width:769px) and (max-width:1024px){
  .sidebar .nav-item{position:relative;}
  .sidebar .nav-item .nav-badge{
    display:block;position:absolute;top:5px;right:13px;
    min-width:8px;width:8px;height:8px;padding:0;
    font-size:0;line-height:0;text-indent:-9999px;overflow:hidden;
  }
}
