/* ══════════════════════════════════════════════════════════════
   COOL GRAY  v9.0  —  Light-Only (Phase 1: dark mode hard-killed)
   Surfaces: #F0F4F8 · #FFFFFF · #E8EDF2 · #E5E7EB · #D1D5DB
   Accent:   var(--accent)  (deep navy for light bg contrast)
   Text:     #111827 · #4B5563 · #6B7280
   Header/Sidebar/Analytics/DailyGoal stay dark (D3 chrome anchor)

   The selector scope was stripped per
   SCOUT-LIGHT-PLAN §7 (Phase 1) — light is now unconditional.
   The former variable swaps (formerly lines 10-67 here) live in
   variables.css :root as the unconditional defaults.
══════════════════════════════════════════════════════════════ */

/* ── BASE — clean background, no overlays ────────────── */
body{background:#F0F4F8;}
body::before{display:none;}
body::after{display:none;}
.main{background:#F0F4F8;}

/* ── HEADER — hidden in light mode ──────────────────── */
header{display:none;}
.main{height:100vh;}

.sync-age{display:none;}
.sync-age.sync-red{display:inline-block;background:rgba(239,68,68,.08);color:var(--color-danger);border:1px solid rgba(239,68,68,.2);}


/* ══════════════════════════════════════════════════════════════
   SIDEBAR — Supabase/Linear-inspired rebuild
   Warm dark bg, text hierarchy via opacity, one accent color
══════════════════════════════════════════════════════════════ */
.sidebar{
  background:#171B21;
  border-right:1px solid rgba(255,255,255,.06);
  box-shadow:none;
  height:100vh;z-index:301;top:0;
}
.app{min-height:100vh;}
.sb-toggle{background:rgba(255,255,255,.06);}

/* ── Brand header (top) ── */
.sb-brand{
  display:flex;align-items:center;padding:18px 16px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.sb-brand-name{
  font-family:'Newsreader','Georgia',serif;
  color:#FFFFFF;font-size:24px;font-weight:500;letter-spacing:-.01em;line-height:1;
}
.sb-brand-iq{color:var(--brand-og-accent);font-weight:700;}
.sb-brand-byline{
  font-family:'JetBrains Mono',monospace;
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.6);line-height:1;margin-top:4px;
}
.sb-brand-og{color:oklch(0.61 0.08 200);font-weight:700;}  /* P1-12 s3: sidebar-scoped lighter teal — AA on navy (4.7:1); global --brand-og-accent untouched */
.sb-brand-text:hover .sb-brand-byline{color:rgba(255,255,255,.9);}

/* ── User profile (bottom) ── */
.sb-user-hdr{
  padding:16px;gap:12px;border-top:1px solid rgba(255,255,255,.12);border-bottom:none;
}
.sb-user-logo{
  width:40px;height:40px;border-radius:10px;object-fit:contain;flex-shrink:0;
}
.sb-user-name{color:rgba(255,255,255,.9);font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;}
.sb-user-role{color:rgba(255,255,255,.5);font-size:11px;font-weight:500;}
.sb-signout-btn{background:none;border:none;color:rgba(255,255,255,.3);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s;margin-left:auto;flex-shrink:0;}
.sb-signout-btn:hover{color:#F87171;background:rgba(248,113,113,.1);}
.sb-footer:hover{background:rgba(255,255,255,.04);}
.sb-footer:has(.sb-user-hdr.active){background:rgba(255,255,255,.08);border-top:1px solid rgba(var(--brand-brass-rgb),.20);}
.sb-user-hdr:hover{background:transparent;}
.sb-user-hdr.active{background:transparent;}

/* ── Collapsed ── */
body.sb-collapsed .sb-user-hdr{padding:12px 0;justify-content:center;gap:0;border-top:1px solid rgba(255,255,255,.12);border-bottom:none;}
body.sb-collapsed .sb-user-info{display:none;}
body.sb-collapsed .sb-user-logo{width:32px;height:32px;margin:0 auto;display:block;}
body.sb-collapsed .sb-nav-section{display:flex;flex-direction:column;align-items:center;padding:8px 0;}
body.sb-collapsed .gnav-btn{margin:1px 0;border-radius:8px;padding:10px 0;width:40px;}
body.sb-collapsed .gnav-left .gnav-icon{color:rgba(255,255,255,.7);}
body.sb-collapsed .gnav-btn:hover{background:rgba(255,255,255,.06);}
body.sb-collapsed .gnav-btn:hover .gnav-icon{color:#FFFFFF;}
body.sb-collapsed .gnav-btn.active{background:rgba(var(--brand-brass-rgb),.10);}
body.sb-collapsed .gnav-btn.active .gnav-icon{color:var(--brand-brass) !important;filter:none !important;}
body.sb-collapsed #gnav-dashboard.active .gnav-icon{
  background:rgba(var(--brand-brass-rgb),.10);
}

/* ── Nav items (expanded) — §6.3 brass-muted active halo, no stripe ── */
.sb-nav-section{padding:8px 0;}
.gnav-btn{
  border-radius:6px;
  margin:1px 6px;padding:8px 12px;
}
.gnav-left{color:rgba(255,255,255,.8);font-size:13px;font-weight:500;gap:10px;flex:1;min-width:0;}
.gnav-btn .gnav-icon{color:rgba(255,255,255,.55);transition:color .12s;}
.gnav-btn:hover{background:rgba(255,255,255,.06);}
.gnav-btn:hover .gnav-left{color:#FFFFFF;}
.gnav-btn:hover .gnav-icon{color:rgba(255,255,255,.8);}
.gnav-btn.active{background:rgba(var(--brand-brass-rgb),.10);}
.gnav-btn.active .gnav-left{color:var(--brand-brass);font-weight:600;}
.gnav-btn.active .gnav-icon{color:var(--brand-brass) !important;}
#gnav-dashboard .gnav-icon{
  width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:6px;transition:background .15s,color .15s;
  color:var(--brand-brass);
}
#gnav-dashboard.active .gnav-icon{
  background:rgba(var(--brand-brass-rgb),.15);
  color:var(--brand-brass);
}
.gnav-count{background:rgba(255,255,255,.08);color:rgba(255,255,255,.65);border-radius:10px;padding:2px 6px;font-size:10px;margin-left:auto;}
#gnav-deals-cnt{background:rgba(var(--brand-brass-rgb),.18);color:var(--brand-brass);}
.gnav-btn.active .gnav-count{background:rgba(var(--brand-brass-rgb),.15);color:var(--brand-brass);}
.gnav-pa-chevron{font-size:8px;color:rgba(255,255,255,.35);transition:transform .2s;margin-left:auto;margin-right:2px;}
.gnav-btn.active .gnav-pa-chevron{color:rgba(255,255,255,.6);}

/* ── Dividers ── */
.sb-label{color:rgba(255,255,255,.46);font-size:9px;}  /* P1-12 s3: AA on navy (4.6:1, was .3=2.7) */
.sb-divider{border-color:rgba(255,255,255,.12);}
.sb-nav-divider{height:1px;background:rgba(255,255,255,.12);margin:6px 16px;}

/* ── Project tree dropdown ── */
.sb-proj-area{
  background:rgba(255,255,255,.03);border:none;
  margin:0 8px;border-radius:8px;padding:4px;
}
.sb-proj-area .dt-chevron{color:rgba(255,255,255,.4);}
.sb-proj-area .proj-chevron{color:rgba(255,255,255,.4);}
.sb-proj-area .proj-card .proj-chevron{color:rgba(255,255,255,.4);}
.sb-proj-area .proj-header .proj-chevron{color:rgba(255,255,255,.4);}
.sb-proj-area .well-county-chevron{color:rgba(255,255,255,.35);}
.sb-proj-area .dt-count{background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);}
.sb-proj-area .well-count{color:rgba(255,255,255,.5) !important;}
.sb-proj-area .proj-badge{background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);}
.sb-proj-area .sb-county-badge{background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);}
.sb-proj-area .proj-header .proj-badge{background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);}
.sb-proj-area .proj-card .proj-badge{background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);}
.sb-proj-area .proj-card .well-count{color:rgba(255,255,255,.5) !important;}
.sb-proj-area .dt-label{color:rgba(255,255,255,.8);}
.sb-proj-area .dt-county .dt-label{color:rgba(255,255,255,.7);}
.sb-proj-area .dt-well .dt-label{color:rgba(255,255,255,.65);}

/* ── Sidebar search ── */
.sb-search-btn{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:rgba(255,255,255,.47);}  /* P1-12 s3: search placeholder AA on navy (4.6:1, was .4=3.7) */
.sb-search-btn:hover{background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.12);}
.sb-search-kbd{background:rgba(255,255,255,.06);color:rgba(255,255,255,.51);}  /* P1-12 s3: "esc" hint AA on chip bg (4.6:1, was .25=2.2) */

/* ── Sidebar toggle + dropdown ── */
.sb-toggle-btn{color:rgba(255,255,255,.4);}
.sb-toggle-btn:hover{background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);}
.sb-mode-dropdown{background:#1E2128;border-color:rgba(255,255,255,.1);}
.sb-mode-opt.active{color:var(--brand-brass);}

/* Button overrides moved to components.css canonical primitives (Phase 3).
   Light-only mode: flat-teal/error treatment is unconditional. */

/* ── TABLE ───────────────────────────────────────────── */
/* ── TABLE — floating card with depth ──────────────── */
.tbl-wrap{
  background:#FFFFFF;border:1px solid rgba(0,0,0,.06);border-radius:14px;
  box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 16px rgba(0,0,0,.06);
}
.tbl-top{background:#FFFFFF;border-bottom:1px solid #E8EDF2;color:var(--text);}
thead th{
  background:#EEF2F7;color:#4B5563;
  border-bottom:1px solid #E0E5EB;font-size:10px;letter-spacing:.05em;padding:10px 12px;
  font-weight:700;
}
th.th-sort:hover{color:var(--color-secondary-hover);background:#E4E9F0;} /* R8 L7: darker teal for AA contrast on light hover bg */
th.th-sort-active{color:var(--accent);}
tbody tr{border-bottom:1px solid #E5E7EB;background:#FFFFFF;transition:all .12s;}
tbody tr:nth-child(even){background:#F8FAFC;}
tbody tr:hover{
  background:#EEF2F7;
  box-shadow:inset 3px 0 0 var(--brand-og-accent);
}
tbody tr.row-overdue{background:rgba(220,38,38,.03);}
tbody tr.row-overdue:hover{background:rgba(220,38,38,.06);}
/* P1-30 + Follow-Ups redesign (2026-05-23): drop padding override that
   silently bumped every owner row from R7.4 canonical 48px to ~60px. The
   components.css base `tbody td { padding: 8px 12px }` is the source of
   truth; only color is overridden here for theme contrast. */
tbody td{color:#111827;}
.td-name{color:#111827;font-size:13px;}
.td-sub{color:#9CA3AF;}
.td-mono{color:#111827;}
.td-lead-hot{background:rgba(239,68,68,.08);color:var(--color-danger);}
.td-lead-cold{background:rgba(var(--brand-og-accent-rgb),.08);color:var(--brand-og-accent);}
.td-action-btn{color:#9CA3AF;}
.td-action-btn:hover{background:rgba(0,0,0,.05);color:#111827;}

/* Custom thin scrollbar */
.tbl-wrap{scrollbar-width:thin;scrollbar-color:#D1D5DB transparent;}
.tbl-wrap::-webkit-scrollbar{width:6px;}
.tbl-wrap::-webkit-scrollbar-track{background:transparent;}
.tbl-wrap::-webkit-scrollbar-thumb{background:#D1D5DB;border-radius:3px;}
.tbl-wrap::-webkit-scrollbar-thumb:hover{background:#9CA3AF;}
.sidebar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;}
.sidebar::-webkit-scrollbar{width:4px;}
.sidebar::-webkit-scrollbar-track{background:transparent;}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:2px;}

/* ── KPI CARDS — floating with accent ───────────────── */
/* R8 L7 verification (post-user-flag) closing P0-6 properly:
   — .kpi top-stripe pseudo-element REMOVED (was stripe carrying brand color, BAN 3)
   — Multi-layer shadow stack reduced from 4 to 2 (audit §3.12 P0 specifically called out)
   — .kpi-featured ::before stripe also removed (was green stripe variant)
   The L4 J9 commit deleted the components.css rule but missed this theme-light variant.
   Card identity carried by content + heading + .kpi-val color (--kc when set, --accent default). */
.kpi{
  background:#FFFFFF;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 1px 3px rgba(0,0,0,.05);
  border-radius:12px;
  position:relative;
}
.kpi-label{color:#4B5563;} /* AA contrast on light bg */
.kpi.clickable:hover{
  border-color:rgba(var(--accent-rgb), .15);
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.kpi.kpi-featured{background:#FFFFFF;}

/* ── FORM / SEARCH ───────────────────────────────────── */
.search-box{
  background:var(--bg);border:1px solid rgba(var(--accent-rgb),.15);
}
.search-box:focus-within{border-color:rgba(var(--accent-rgb),.5);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.08);}
.sort-sel{background:var(--bg);border:1px solid rgba(var(--accent-rgb),.15);}
.chip{border:1px solid rgba(var(--accent-rgb),.14);background:rgba(var(--accent-rgb),.05);}
.chip.on{border-color:var(--accent);background:var(--accent);color:#fff;}
.chip:hover:not(.on){color:var(--accent);border-color:rgba(var(--accent-rgb),.3);}
.f-ctrl{background:var(--bg);border:1px solid rgba(0,0,0,.1);}
.f-ctrl:focus{border-color:var(--brand-og-accent);box-shadow:0 0 0 3px rgba(var(--brand-og-accent-rgb),.12);}
select.f-ctrl option{background:var(--bg);color:var(--text);}
.filter-bar{background:#FFFFFF;border:1px solid rgba(0,0,0,.08);}
.fd-btn{background:var(--bg);border:1px solid rgba(0,0,0,.08);color:#111827;}
.fd-panel{background:#FFFFFF;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 16px rgba(0,0,0,.08);border-radius:10px;}

/* ── MODAL ───────────────────────────────────────────── */
.modal{
  background:#FFFFFF;border:1px solid rgba(var(--accent-rgb),.12);
  box-shadow:0 24px 64px rgba(0,0,0,.12);
}
.modal-hdr{
  border-bottom:1px solid rgba(0,0,0,.06);
  background:linear-gradient(180deg,rgba(var(--accent-rgb),.04) 0%,transparent 100%);
}
.modal-ftr{
  border-top:1px solid rgba(0,0,0,.06);
  background:linear-gradient(180deg,transparent,rgba(var(--accent-rgb),.03));
}
.modal-close{background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.1);}

/* ── PROJECT CARDS ───────────────────────────────────── */
.proj-card{
  background:#FFFFFF;
  border:1px solid rgba(var(--accent-rgb),.15);
  box-shadow:var(--shadow-sm);
}
.proj-card:hover{
  border-color:rgba(var(--accent-rgb),.35);
  box-shadow:var(--shadow-md);
}
.pc-head{border-bottom:1px solid rgba(0,0,0,.06);background:rgba(var(--accent-rgb),.03);}
.pc-stat{background:rgba(var(--accent-rgb),.04);border:1px solid rgba(var(--accent-rgb),.1);}
.pc-foot{border-top:1px solid rgba(0,0,0,.06);background:rgba(var(--accent-rgb),.02);}
.pc-progress-bar{background:rgba(var(--accent-rgb),.12);}
.pc-progress-fill{background:linear-gradient(90deg,var(--accent-deep),var(--accent));}
.pc-well-tag{background:var(--bg);border:1px solid rgba(0,0,0,.08);}

/* ── STATUS BADGES (readable on light bg) ────────────── */
.cs-new{background:rgba(var(--accent-rgb),.08);color:var(--accent-deep);border:1px solid rgba(var(--accent-rgb),.20);}
.cs-answered{background:rgba(var(--color-green-rgb),.10);color:var(--color-green);border:1px solid rgba(var(--color-green-rgb),.26);}
.cs-no-answer{background:rgba(var(--color-no-answer-rgb,194,65,12),.10);color:var(--color-no-answer);border:1px solid rgba(var(--color-no-answer-rgb,194,65,12),.24);}
.cs-callback{background:rgba(var(--color-callback-rgb),.10);color:var(--color-callback);border:1px solid rgba(var(--color-callback-rgb),.24);}
.cs-converted{background:rgba(52,211,153,.1);color:#0A7A56;border:1px solid rgba(52,211,153,.26);}
.cs-completed{background:rgba(16,185,129,.12);color:#0A7A56;border:1px solid rgba(16,185,129,.28);}
.cs-negotiation{background:rgba(200,150,30,.1);color:#8A6914;border:1px solid rgba(200,150,30,.24);}
.cs-dnc{background:rgba(220,69,69,.09);color:#A82A2A;border:1px solid rgba(220,69,69,.22);}
.ls-hot{background:rgba(220,69,69,.08);color:#A82A2A;border:1px solid rgba(220,69,69,.2);}
.ls-cold{background:rgba(var(--brand-og-accent-rgb),.08);color:var(--brand-og-accent);border:1px solid rgba(var(--brand-og-accent-rgb),.20);}
.ls-none{background:rgba(0,0,0,.04);color:var(--muted);border:1px solid rgba(0,0,0,.08);}

/* ── GLOBAL SEARCH ───────────────────────────────────── */
.gs-panel{
  background:#FFFFFF;border:1px solid rgba(var(--accent-rgb),.15);
  box-shadow:0 16px 48px rgba(0,0,0,.12);
}
.gs-overlay{background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.overlay{background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.gs-section-hdr{background:rgba(var(--accent-rgb),.04);color:rgba(var(--accent-rgb),.6);}
.gs-footer{background:rgba(var(--accent-rgb),.03);}
.gs-result:hover,.gs-result.active{background:rgba(var(--accent-rgb),.06);}
.gs-result-icon{background:rgba(var(--accent-rgb),.08);}
.gs-result-val{color:var(--color-money);}
.gs-esc{background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.1);}

/* ── PROFILE MODAL ───────────────────────────────────── */
.profile-modal{
  background:#FFFFFF;border:1px solid rgba(var(--accent-rgb),.12);
  box-shadow:var(--shadow-lg);
}
.pm-input{background:var(--bg);border:1px solid rgba(0,0,0,.1);}
.pm-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.08);}
.pm-save{
  background:var(--accent);
  color:#fff;font-weight:700;
}
.pm-save:hover{background:var(--accent-hover);}
.pm-divider{background:rgba(0,0,0,.08);}
.pm-switch{border:1px solid rgba(0,0,0,.1);}
.pm-switch:hover{background:rgba(var(--accent-rgb),.06);}

/* ── PAGER ───────────────────────────────────────────── */
.pg-btn{background:var(--bg);border:1px solid rgba(0,0,0,.06);color:#6B7280;}
.pg-btn:hover,.pg-btn.on{border-color:var(--accent);color:#FFFFFF;background:var(--accent);}

/* ── TOAST ───────────────────────────────────────────── */
.toast{
  background:#FFFFFF;border:1px solid rgba(var(--accent-rgb),.15);
  box-shadow:var(--shadow-md);
}

/* ── CONFIRM DIALOG ──────────────────────────────────── */
.confirm-modal{
  background:#FFFFFF;border:1px solid rgba(var(--accent-rgb),.12);
  box-shadow:var(--shadow-lg);
}
.confirm-ok{background:var(--accent);color:#fff;}
.confirm-ok:hover{background:var(--accent-hover);}

/* ── PROJ SETTINGS ───────────────────────────────────── */
.psp-body{background:#F0F4F8;}
.psp-input{background:var(--bg);border:1px solid rgba(0,0,0,.1);}
.psp-save,.psp-save-btn{
  background:var(--accent);color:#fff;
}
.psp-save:hover,.psp-save-btn:hover{background:var(--accent-hover);}
.psp-move-btn{background:rgba(var(--accent-rgb),.06);border:1px solid rgba(var(--accent-rgb),.18);color:var(--accent-deep);}

/* Wave A: removed light-theme overrides for .sc-dropdown + .sc-option — dropdown is dead surface (deleted in this wave). */

/* ══════════════════════════════════════════════════════════════
   DASHBOARD SPLIT VIEW
══════════════════════════════════════════════════════════════ */
.dash-unified-card{
  background:#FFFFFF;
  border:1px solid rgba(var(--accent-rgb),.15);
}
.dash-split-left{
  background:transparent;
}
.dash-proj-item{
  background:#FFFFFF;
  border:1px solid rgba(var(--accent-rgb),.15);
}
.dash-proj-item:hover{
  border-color:rgba(var(--accent-rgb),.35);
  background:rgba(var(--accent-rgb),.04);
  box-shadow:var(--shadow-sm);
}
.dash-proj-item.active{
  border-color:rgba(var(--accent-rgb),.45);
  background:rgba(var(--accent-rgb),.06);
  box-shadow:0 0 0 3px rgba(var(--accent-rgb),.08);
}
.dash-split-right{
  background:#FFFFFF;
}
.dash-analytics-hdr{border-bottom:1px solid rgba(0,0,0,.06);background:rgba(var(--accent-rgb),.03);}
.dash-unified-hdr{color:var(--text);background:rgba(var(--accent-rgb),.04);}
.dpa-hdr{border-bottom:1px solid rgba(0,0,0,.06);background:rgba(var(--accent-rgb),.03);}
.dpa-hdr-title{color:var(--text);}
.dpa-hdr-sub{color:var(--muted);}
.dpi-top{background:rgba(var(--accent-rgb),.04);}
.dpi-name{color:var(--text);}
.dpi-meta{color:var(--muted);background:rgba(var(--accent-rgb),.02);}
.dpi-bar-row{background:rgba(var(--accent-rgb),.02);}
.dpa-donut-row{border-bottom:1px solid rgba(0,0,0,.06);}

.dpi-county-icon{background:rgba(var(--accent-rgb),.1);}
.dpi-county-badge{background:rgba(var(--accent-rgb),.08);}
.dpi-county-name-input{background:rgba(var(--accent-rgb),.06);border:1px solid rgba(var(--accent-rgb),.3);}
.dpi-county-items{border-left:1px solid rgba(var(--accent-rgb),.15);}
.dpi-delete-btn{background:rgba(220,69,69,.06);color:#A82A2A;border:1px solid rgba(220,69,69,.15);}
.dpi-delete-btn:hover{background:rgba(220,69,69,.12);border-color:rgba(220,69,69,.3);}

/* ── COUNTY MANAGER POPUP ────────────────────────────── */
.county-mgr-popup{
  background:#FFFFFF;
  border:1px solid rgba(var(--accent-rgb),.2);
  box-shadow:var(--shadow-lg);
}
.county-mgr-hdr{
  background:rgba(var(--accent-rgb),.04);
  border-bottom:1px solid rgba(0,0,0,.08);
}
.county-mgr-input{
  background:var(--bg);
  border:1px solid rgba(0,0,0,.12);
}
.county-mgr-input:focus{border-color:var(--accent);background:#FFFFFF;}
.county-mgr-footer{border-top:1px solid rgba(0,0,0,.06);}
.county-mgr-add{border:1px dashed rgba(var(--accent-rgb),.3);}

/* ══════════════════════════════════════════════════════════════
   PORTFOLIO ANALYTICS
══════════════════════════════════════════════════════════════ */
.pa-wrap{background:#FFFFFF;}
.pa-hdr{background:rgba(var(--accent-rgb),.04);border-bottom:1px solid rgba(0,0,0,.06);}
.pa-hdr-title{color:var(--text);}
.pa-hdr-sub{color:var(--muted);}
.pa-hdr-badge{background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.1);color:var(--text);}
.pa-panel-hdr{color:var(--text);}
.pa-legend-val{color:var(--text);}
.pa-wrap .analytics-row-label{color:var(--text);}
.pa-divider{background:rgba(0,0,0,.06);}
.pa-panel-hdr::after{background:rgba(0,0,0,.06);}
.pa-legend-label{color:var(--muted);}
.pa-stat{border-bottom:1px solid rgba(0,0,0,.04);}
.pa-closed-row{border-top:1px solid rgba(0,0,0,.06);}
.port-grid-divider{background:rgba(0,0,0,.06);}
.port-stat-card{background:rgba(var(--accent-rgb),.04);border:1px solid rgba(var(--accent-rgb),.1);}

/* ══════════════════════════════════════════════════════════════
   NOTIFICATION / FOLLOW-UP QUEUE — clean theme
══════════════════════════════════════════════════════════════ */
/* Page header */
.nq-page-title{color:#111827;font-size:24px;font-weight:800;letter-spacing:-.03em;}
.nq-page-stat{
  background:rgba(var(--brand-og-accent-rgb),.10) !important;border:none !important;border-radius:12px;
  box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 12px rgba(0,0,0,.05);
  transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;
}
.nq-page-stat:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);}

/* R6.8 (audit §3.9 P2): clickable filter pills. Pills are buttons,
   click-affordance via cursor + transform, active-state via ring. */
button.nq-page-stat{
  cursor:pointer;
  font:inherit;
  text-align:center;
  padding:10px 16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  transition:box-shadow .2s;
}
.nq-page-stat--active{
  outline:2px solid var(--brand-og-accent, #298084);
  outline-offset:-2px;
  box-shadow:0 4px 14px rgba(var(--brand-og-accent-rgb, 41,128,132),.18) !important;
}
/* Section-hide when filter is active. Each section has data-nq-section
   attribute matching one of the filter keys. */
.nq-layout[data-nq-filter="overdue"] [data-nq-section]:not([data-nq-section="overdue"]),
.nq-layout[data-nq-filter="today"]   [data-nq-section]:not([data-nq-section="today"]),
.nq-layout[data-nq-filter="soon"]    [data-nq-section]:not([data-nq-section="soon"]){
  display:none;
}
.nq-page-stat-val{color:#111827 !important;}
.nq-page-stat:nth-child(1) .nq-page-stat-val{color:var(--color-danger) !important;font-weight:800;animation:nqOverduePulse 2s ease-in-out infinite;}
.nq-page-stat:nth-child(2) .nq-page-stat-val{color:var(--brand-og-accent) !important;}
.nq-page-stat:nth-child(3) .nq-page-stat-val{color:var(--color-money) !important;}
.nq-page-stat-lbl{color:#4B5563;}
@keyframes nqOverduePulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.nq-cta-btn{border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.15);}
.nq-cta-overdue{background:var(--color-danger);box-shadow:0 2px 8px rgba(220,38,38,.25);}
.nq-cta-today{background:var(--brand-og-accent);box-shadow:0 2px 8px rgba(var(--brand-og-accent-rgb),.25);}

/* Breakdown / Overview panels */
.nq-summary{background:#FFFFFF;border:1px solid rgba(0,0,0,.06);border-radius:14px;}
.nq-kpi{border-right:1px solid var(--border);}
.nq-breakdown{background:#FFFFFF;border:1px solid rgba(0,0,0,.06);border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.nq-ov-hdr{border-bottom:1px solid var(--border);background:#F8FAFC;}
.nq-ov-hdr:hover{background:var(--bg);}
.nq-ov-kpis{border-right:1px solid var(--border);}
.nq-ov-kpi{border-bottom:1px solid var(--border);}
.nq-ov-kpi:nth-child(odd){border-right:1px solid var(--border);}
.nq-ov-kpi-ov{background:rgba(220,38,38,.04);}
.nq-ov-kpi-td{background:rgba(var(--brand-og-accent-rgb),.04);}
.nq-ov-hot{border-top:1px solid var(--border);background:rgba(239,68,68,.03);}
.nq-ov-prog{border-top:1px solid var(--border);}
.nq-ov-prog-track{background:#E8EDF2;}
.nq-ov-proj-hdr{border-bottom:1px solid var(--border);}
.nq-ov-col-hdr{border-bottom:1px solid var(--border);background:#F8FAFC;}
.nq-ov-proj-row{border-bottom:1px solid var(--border);}
.nq-ov-proj-row:hover{background:#F8FAFC;}
.nq-ov-bar{background:#E8EDF2;}

/* Dual Panel */
.nq-dual-panel{background:#FFFFFF;border:1px solid rgba(0,0,0,.06);border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.nq-dp-top{background:#F8FAFC;border-bottom:1px solid var(--border);}
.nq-dp-top-icon{background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.12);}
.nq-dp-badge-ov{background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.15);box-shadow:none;}
.nq-dp-badge-td{background:rgba(var(--brand-og-accent-rgb),.06);border:1px solid rgba(var(--brand-og-accent-rgb),.15);box-shadow:none;}
.nq-dp-col-ov{background:#FFFFFF;border:1px solid rgba(220,38,38,.1);}
.nq-dp-col-td{background:#FFFFFF;border:1px solid rgba(var(--brand-og-accent-rgb),.10);}

/* Tables */
.nq-table thead tr{background:#EEF2F7;}
.nq-table thead th{color:#4B5563;border-bottom:1px solid #E0E5EB;}
.nq-table-ov thead tr{background:#EEF2F7;}
.nq-table-ov thead th{color:#4B5563;}
.nq-table-td thead tr{background:#EEF2F7;}
.nq-table-td thead th{color:#4B5563;}

/* Sections */
.nq-section{border:1px solid rgba(0,0,0,.06);border-radius:14px;background:#FFFFFF;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.nq-section-hdr{background:#F8FAFC;border-bottom:1px solid var(--border);border-radius:13px 13px 0 0;}
.nq-section-label{color:#111827;}

/* Rows */
.nq-row{background:#FFFFFF;border-bottom:1px solid var(--border);}
.nq-row:hover{background:#F8FAFC;box-shadow:inset 3px 0 0 var(--brand-og-accent);}
.nq-trow{background:#FFFFFF;}
.nq-trow:nth-child(even){background:#F8FAFC;}
.nq-trow:hover td{background:#EEF2F7;}
.nq-trow-overdue td{background:rgba(220,38,38,.03);}
.nq-trow-overdue:hover td{background:rgba(220,38,38,.06) !important;}
.nq-row-overdue{background:rgba(220,38,38,.03) !important;}
.nq-row-overdue:hover{background:rgba(220,38,38,.06) !important;}
.nq-row-today{background:rgba(var(--brand-og-accent-rgb),.03) !important;}
.nq-row-today:hover{background:rgba(var(--brand-og-accent-rgb),.06) !important;}

/* Text */
.nq-name{color:#111827;}
.nq-meta{color:#6B7280;}
.nq-timer{color:var(--accent);}
.nq-tc-proj{color:#111827;}
.nq-tc-nra{color:#111827;}
.nq-tc-offer{color:var(--color-money);}

/* Buttons */
.nq-call-btn{background:#22C55E;box-shadow:0 1px 4px rgba(var(--color-action-rgb),.2);}
.nq-call-btn:hover{background:#16A34A;}
.nq-qc-btn{background:#FFFFFF;border:1px solid rgba(0,0,0,.08);border-radius:8px;}
.nq-qc-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.nq-snooze-btn{background:var(--bg);border:1px solid rgba(0,0,0,.06);border-radius:8px;}
.nq-snooze-btn:hover{background:#E8EDF2;}
.nq-snooze-menu{background:#FFFFFF;border:1px solid rgba(0,0,0,.08);border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.1);}
.nq-snooze-opt{color:#111827;}
.nq-snooze-opt:hover{background:#F8FAFC;}

/* ══════════════════════════════════════════════════════════════
   OWNER MODAL
══════════════════════════════════════════════════════════════ */
/* ── Owner Modal — clean white card, no left stripe ──── */
.om{
  background:#FFFFFF;border:1px solid rgba(0,0,0,.08);border-radius:16px;
  box-shadow: var(--shadow-overlay);
}
.om-hdr{
  background:#FFFFFF;border-bottom:1px solid var(--border);
}
/* topbar stays dark gradient in both themes */

/* Text colors — override white-on-dark defaults */
.om-brief-name{color:#111827;}
.om-brief-item{color:#111827;}
.om-brief-item svg{color:var(--accent);}
.om-brief-phone-link{color:#111827;}
.om-brief-phone-link:hover{color:var(--accent);}
.om-brief-stat-val{color:#111827;}
.om-brief-stat-lbl{color:#6B7280;}
.om-brief-well-nra{color:var(--text);font-weight:600;}
.om-brief-well-sep{color:rgba(0,0,0,.15);}
.om-brief-well-name{color:#111827;}
.om-brief-legal-acres{color:var(--accent);}
.om-brief-addr{color:#6B7280;}
.om-brief-section-label{color:#6B7280 !important;}
.om-brief-phone-link{color:#111827 !important;}
.om-brief-phone-link:hover{color:var(--brand-og-accent) !important;}
.om-brief-email-link{color:var(--brand-og-accent) !important;}
.om-brief-item{color:#111827 !important;}
.om-brief-item svg{color:var(--accent) !important;}
.om-brief-phone{color:#111827;}

/* Section headers — dark text on white bg */
.om-section-hdr{color:#111827;}
.om-section-hdr svg{color:var(--accent);}
.om-right-card{background:var(--accent);border:none;box-shadow:0 6px 24px rgba(var(--accent-rgb), .2),0 2px 8px rgba(0,0,0,.08);}
.om-right-card-hdr{color:rgba(255,255,255,.9);border-bottom-color:rgba(255,255,255,.1);}
.om-right-card-hdr svg{color:rgba(255,255,255,.7);}
/* Call form — Phase 5 §6.10 light treatment (was white-on-dark
   assuming legacy dark surface; now lives on light owner modal). */
.om-call-cta{background:var(--color-call-btn);}
.om-call-cta:hover{background:var(--color-call-btn-hover);}
.om-call-form-label{color:var(--text);}
.om-call-form-label span{color:var(--muted) !important;}
.om-call-form-input{background:var(--s2);border:1px solid var(--border);color:var(--text);color-scheme:light;}
.om-call-form-input::placeholder{color:var(--dim);}
.om-call-form-input:focus{border-color:var(--brand-og-accent);box-shadow:0 0 0 2px rgba(var(--brand-og-accent-rgb),.25);background:var(--s2);}
.om-followup-hint{background:rgba(var(--brand-og-accent-rgb),.06) !important;border:1px solid rgba(var(--brand-og-accent-rgb),.15) !important;color:var(--text) !important;box-shadow:none !important;}
.om-call-btn{background:var(--color-green);}
.om-call-btn:hover{background:#075938;}
.om-call-user-tag{color:var(--dim);}
.om-notes-card-hdr{color:var(--accent);background:none;border-bottom:1px solid rgba(0,0,0,.08);}
.om-notes-card-hdr svg{color:var(--accent);}
.om-details-card-hdr{color:var(--accent);}
.om-details-card-hdr svg{color:var(--accent);}

/* Note text */
.om-note-meta{color:#6B7280;}
.om-note-text{color:#111827;}
.om-note-author{color:#6B7280;}
.om-notes-empty{color:#9CA3AF;}

/* Timeline */
.om-timeline-date{color:#6B7280;}
.om-timeline-user{color:#6B7280;}
.om-timeline-note{color:#4B5563;}
.om-timeline-empty{color:#9CA3AF;}
.om-timeline-section{background:none;border:none;box-shadow:none;}
.om-timeline-hdr{color:var(--text);border-bottom-color:var(--border);}
.om-timeline-hdr svg{color:var(--muted);}
.om-timeline-count{background:rgba(0,0,0,.05);color:var(--muted);}
.om-timeline-expand{border-color:var(--border);color:var(--accent);}
.om-timeline-expand:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);color:#FFFFFF;}
.om-timeline-item+.om-timeline-item{border-top-color:var(--border);}
.om-timeline-date{color:var(--muted);}
.om-timeline-note{color:var(--dim);}
.om-timeline-outcome{color:var(--text);}
.om-timeline-outcome.out-ans{color:var(--color-green);}
.om-timeline-outcome.out-na{color:var(--color-red);}
.om-timeline-empty{color:rgba(255,255,255,.3);}

/* Labels & misc */
.om-label{color:#4B5563;}
.om-due-row{border-top-color:rgba(0,0,0,.06);background:#F5F7FA;margin:8px -18px 0;padding:8px 18px;border-radius:0 0 12px 12px;}
.om-due-label{color:#6B7280;}
.om-due-val{color:#111827;}
.om-due-answered{color:var(--color-money) !important;}
.om-due-over{color:var(--color-danger) !important;}
.om-due-followup{color:var(--brand-og-accent) !important;}
.om-meta{color:#6B7280;}
.om-empty{color:#9CA3AF;}

/* Contact list */
.om-ci-value{color:#111827;}
.om-ci-star{color:#D1D5DB;}
.om-contact-item.primary .om-ci-star{color:#F59E0B;}
.om-ci-action{color:#9CA3AF;}

/* Status bar */
.om-status-bar{color:#111827;}
/* pill labels stay white on dark topbar */

.om-brief{background:#F5F7FA;}
.om-brief-columns{
  background:#FFFFFF;border:none;box-shadow:0 4px 20px rgba(0,0,0,.07),0 0 0 1px rgba(0,0,0,.04);
}
.om-brief-left{border-right:1px solid rgba(0,0,0,.06);}
.om-brief-name{color:#111827 !important;}
.om-brief-age{background:var(--bg);border:none;color:#4B5563;box-shadow:0 1px 2px rgba(0,0,0,.04);}
/* Stat boxes — subtle depth with slightly darker bg */
.om-brief-stat{background:#EDF0F4;border-radius:8px;border:none;box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);}
.om-brief-stat-val{color:#111827 !important;}
.om-brief-stat-lbl{color:#4B5563 !important;font-weight:700 !important;}
/* Offer price — prominent display */
.om-brief-offer-price{color:var(--color-money);}
.om-brief-offer-cap{color:var(--color-danger);}
/* Contact list — stronger blue tint */
.om-brief-contact-list{background:rgba(var(--accent-rgb), .04);border:1px solid rgba(var(--accent-rgb), .08);}
/* Legal cards */
.om-brief-legal-card{background:#FFFFFF;border:none;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);}
.om-brief-legal-card--plain{background:#FFFFFF;border:none;box-shadow:0 1px 4px rgba(0,0,0,.05);}
.om-brief-well{background:#F8FAFC;border-bottom:none;border-radius:6px;box-shadow:inset 0 1px 2px rgba(0,0,0,.03);}
.om-brief-legal-total{color:var(--color-money);}
.om-brief-well-offer{color:var(--color-money);}

/* Tags — subtle pill badges */
.om-tag-mw{background:rgba(var(--color-accent-rgb),.08);color:var(--color-accent);border-color:rgba(var(--color-accent-rgb),.15);}
.om-tag-hot{background:rgba(220,38,38,.08);color:var(--color-danger);border-color:rgba(220,38,38,.15);}
.om-tag-ip{background:rgba(var(--accent-rgb), .06);color:var(--accent);border-color:rgba(var(--accent-rgb), .15);}
.om-tag-cold{background:rgba(107,114,128,.08);color:#4B5563;border-color:rgba(107,114,128,.15);}

/* Close / Header pills — topbar stays dark, these stay light-on-dark */
.om-hdr-pill-select option{background:var(--s1);color:var(--text);}

/* Body columns */
.om-col-left{border-right:none;box-shadow:1px 0 0 rgba(0,0,0,.04);background:#FAFBFC;}
.om-col-right{background:#F0F3F7;border-left:none;}
.om-ftr{background:#FFFFFF;border-top:none;box-shadow:0 -1px 0 rgba(0,0,0,.04);}
.om-ftr .btn-ghost{background:var(--bg);color:var(--text);border:1px solid rgba(0,0,0,.08);border-radius:8px;}
.om-ftr .btn-ghost:hover{background:#E8EDF2;border-color:rgba(0,0,0,.12);}
.om-ftr .btn-destructive{background:rgba(220,38,38,.06);color:var(--color-danger);border:1px solid rgba(220,38,38,.12);border-radius:8px;}
.om-ftr .owner-nav-btn{background:#E8EDF2;border:1px solid rgba(0,0,0,.1);border-radius:8px;color:#374151;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.om-ftr .owner-nav-btn:hover:not(:disabled){background:rgba(var(--brand-og-accent-rgb),.10);border-color:rgba(var(--brand-og-accent-rgb),.25);color:var(--brand-og-accent);box-shadow:0 2px 6px rgba(var(--brand-og-accent-rgb),.10);}

/* Sections */
.om-section{background:#F8FAFC;border:1px solid rgba(0,0,0,.05);border-radius:10px;}

/* Inputs — clean light fields */
.om-input{background:#F9FAFB;border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:#111827;}
.om-input:focus{border-color:var(--brand-og-accent);box-shadow:inset 0 1px 2px rgba(0,0,0,.04),0 0 0 3px rgba(var(--brand-og-accent-rgb),.08);}
.om-input::placeholder{color:#9CA3AF;}
.om-select{background:#F9FAFB;border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:#111827;}
.om-select:focus{border-color:var(--brand-og-accent);box-shadow:inset 0 1px 2px rgba(0,0,0,.04),0 0 0 3px rgba(var(--brand-og-accent-rgb),.08);}

/* Notes section (flat, no card) */
.om-notes-card{background:none;border:none;box-shadow:none;}
.om-notes-history-icon{background:rgba(var(--accent-rgb), .06);border:1px solid rgba(var(--accent-rgb), .1);color:#5a6a7a;}
.om-notes-history-icon:hover{background:rgba(var(--accent-rgb), .1);border-color:rgba(var(--accent-rgb), .2);color:var(--accent);}
.om-notes-edit-toggle{background:rgba(var(--accent-rgb), .06);border:1px solid rgba(var(--accent-rgb), .1);color:#5a6a7a;}
.om-notes-edit-toggle:hover{background:rgba(var(--accent-rgb), .1);color:var(--accent);}
.om-notes-edit-toggle.active{background:rgba(var(--accent-rgb), .15);border-color:rgba(var(--accent-rgb), .2);color:var(--accent);}
.om-notes-textarea{background:#F9FAFB;border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:#111827;}
.om-notes-textarea:focus{border-color:var(--accent);box-shadow:inset 0 1px 2px rgba(0,0,0,.04),0 0 0 3px rgba(var(--accent-rgb), .08);}
.om-notes-textarea::placeholder{color:#9CA3AF;}
.om-notes-input-row{border-top:none;box-shadow:0 -1px 0 rgba(0,0,0,.06);}
.om-notes-save-btn{background:var(--accent);color:#FFFFFF;}
.om-notes-save-btn:hover{background:var(--accent-hover);box-shadow:0 4px 12px rgba(var(--accent-rgb), .2);}
.om-note-divider{background:rgba(0,0,0,.04);}
.om-note-action-btn{background:var(--bg);border:none;border-radius:6px;}
.om-note-action-btn:hover{background:rgba(var(--accent-rgb), .08);color:var(--accent);}
.om-note-edit-cancel{background:var(--bg);border:none;border-radius:6px;}

/* Details card — navy header */
.om-details-card{background:#FFFFFF;border:none;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.04);}
.om-details-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08),0 0 0 1px rgba(var(--accent-rgb), .12);}
.om-details-card-hdr{background:var(--accent);border-bottom:none;border-radius:0 11px 0 0;color:#FFFFFF !important;}
.om-details-card-hdr svg{color:rgba(255,255,255,.7) !important;}
.om-details-card-hdr:hover{background:var(--accent-hover);}
.om-details-caret{color:rgba(255,255,255,.6) !important;}
.om-detail-section{border-bottom:1px solid var(--border);background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.06);}
.om-detail-section-title{color:#1E293B;}
.om-contacts-popup{background:#FFFFFF;border-color:#E5E7EB;}
.om-contacts-popup-hdr{background:#F8FAFC;border-bottom:1px solid #E5E7EB;}
.om-identity-age{background:var(--bg);border:1px solid rgba(0,0,0,.06);border-radius:6px;}

/* Contact items */
.om-contact-item:hover{background:#F8FAFC;}
.om-ci-value:focus{border-bottom-color:var(--accent);}
.om-ci-action.act-invalid:hover{color:var(--color-danger);border-color:rgba(220,38,38,.15);background:rgba(220,38,38,.06);}
.om-ci-action.act-invalid.active{color:var(--color-danger);border-color:rgba(220,38,38,.15);background:rgba(220,38,38,.06);}

/* Call card — navy accent instead of green */
.om-call-card{
  background:#FFFFFF;border:1px solid rgba(0,0,0,.06);border-radius:12px;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.om-call-card-hdr{
  color:var(--accent);border-bottom:1px solid var(--border);background:#F8FAFC;
  border-radius:11px 11px 0 0;
}
/* B3/CO-016 §3.4 — dark-cockpit .om-outcome-* overrides removed.
   The original overrides used rgba(255,255,255,...) colors designed for a
   dark sidecar background; on the v2 light sidecar (background: var(--s1)
   per components.css:1969) the No Answer button rendered white-on-white
   (essentially invisible). Components.css L1906-1912 supplies the canonical
   outlined-secondary base via --color-green-rgb / --color-red-rgb tokens —
   we now let it cascade unmodified for both Answered and No Answer. */

/* Last call / Unreachable */
.om-last-call-summary{background:#F8FAFC;border:1px solid rgba(0,0,0,.06);border-radius:8px;}
.om-unreachable-flag{background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.12);color:var(--color-danger);border-radius:8px;}
.om-history-btn{background:var(--bg);border:none;border-radius:8px;}
.om-history-btn:hover{background:#E8EDF2;}

/* Popups (history, offer) */
.om-popup{background:#FFFFFF;border:1px solid rgba(0,0,0,.08);border-radius:14px;box-shadow: var(--shadow-overlay);}
.om-popup-hdr{background:#FFFFFF;border-bottom:1px solid var(--border);border-radius:13px 13px 0 0;}
.om-popup-input{background:var(--bg);border:1px solid rgba(0,0,0,.08);border-radius:8px;}
.om-popup-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .08);}
select.om-popup-input option{background:#FFFFFF;}
.eop-tab{border-color:rgba(0,0,0,.08);color:var(--muted);border-radius:8px;}
.eop-tab--active{background:rgba(var(--accent-rgb), .06);border-color:rgba(var(--accent-rgb), .15);color:var(--accent);}

/* Expandable sections (left col) */
.oc-expand-toggle{background:var(--s2);border:1px solid var(--border);border-radius:8px;}
.oc-expand-toggle:hover{background:var(--s3);border-color:var(--border2);}
.oc-expand-body{border:1px solid var(--border);background:var(--s1);border-radius:0 0 8px 8px;}
.oc-expand-count{background:rgba(var(--accent-rgb),.06);border-radius:4px;}
.oc-well-row:hover{background:var(--s2);}
.oc-well-offer{color:var(--color-money);}
.oc-well-total span:last-child{color:var(--color-money);}
.oc-mw-offer{color:var(--color-money);}
.oc-followup-hint{background:var(--s2);border:1px solid var(--border);border-radius:4px;}
.oc-legal-item+.oc-legal-item{border-top:1px solid var(--border);}

/* Offer value — dark green for light bg */
.offer-val{color:var(--color-money);}


/* Phase 4 cleanup (2026-05-23): NOTIFICATION DROPDOWN light-theme block
   removed — #notif-ov-dropdown / .notif-ov-* surface deleted with the
   /notifications page. Follow-Ups queue now lives in Dashboard Zone 2. */

/* ══════════════════════════════════════════════════════════════
   PROJECT AREAS PAGE — light theme
══════════════════════════════════════════════════════════════ */
.pap-header{background:#FFFFFF;border-bottom:1px solid var(--border);}
.pap-search{background:#F8FAFC;border:1px solid rgba(0,0,0,.08);}
.pap-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .06);background:#FFFFFF;}
/* Priority strip */
.pap-priority{background:#FEF2F2;border:1px solid rgba(220,38,38,.1);border-radius:8px;}/* cohesion: flat, 8px to match the detail hero (was 12px + 0 1px 3px shadow) */
.pap-priority-chip{background:#FFFFFF;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 2px rgba(0,0,0,.03);}
.pap-priority-chip:hover{background:#F8FAFC;border-color:rgba(0,0,0,.12);box-shadow:0 2px 6px rgba(0,0,0,.06);}
/* Client sections */
.pap-section{background:#FFFFFF;border:1px solid var(--border);border-radius:8px;}/* cohesion: flat, 8px (was 14px + shadow) */
/* Cohesion A5: a client section header is STRUCTURAL, not a working/display moment —
   so neutral, not off-duty brass/teal. Matches the table view's neutral group band. */
.pap-section-hdr{background:#DCE3EC;border-bottom:1px solid #C2CCD8;border-radius:8px 8px 0 0;}
.pap-section-hdr .pap-section-name{color:var(--text);}
.pap-section-hdr .pap-section-chevron{color:var(--muted);}
.pap-section-hdr .pap-section-owners{color:#4B5563;}
.pap-section-hdr .pap-section-badge{background:rgba(0,0,0,.06);color:var(--muted);}
.pap-section-name{color:#111827;font-size:15px;}
.pap-section-badge{background:rgba(0,0,0,.06);color:var(--muted);font-weight:700;}
.pap-section-owners{color:#6B7280;}
/* AOI cards — flat Wireline (redesign 2026-06-13): no resting shadow, no hover-lift;
   hover is a border-color shift only. Name is Newsreader italic (base rule). */
.pap-card{
  background:#FFFFFF;border:1px solid #E5E7EB;border-radius:var(--radius-lg);
}
.pap-card:hover{
  border-color:#CBD2DA;
}
.pap-card-name{color:#111827;}
.pap-card-owners{color:#6B7280;}
.pap-card-bar{background:#E8EDF2;}/* track; height/radius now from the base rail rule (6px/3px) */
.pap-alert-red{background:rgba(220,38,38,.1);color:var(--color-danger);font-weight:700;}
.pap-alert-amber{background:rgba(245,158,11,.1);color:#B45309;font-weight:700;}

/* ══════════════════════════════════════════════════════════════
   MISC SURFACES
══════════════════════════════════════════════════════════════ */
.upload-zone{background:rgba(var(--accent-rgb),.04);border:2px dashed rgba(var(--accent-rgb),.2);}
.upload-zone:hover{border-color:var(--accent);}
.setup-card{background:#FFFFFF;border:1px solid rgba(var(--accent-rgb),.12);}
.setup-steps{background:var(--bg);border:1px solid rgba(0,0,0,.06);}
.setup-folder-display{background:var(--bg);border:1px solid rgba(0,0,0,.08);color:var(--accent-deep);}
.clog{background:#FFFFFF;border:1px solid rgba(0,0,0,.08);}
.clog:hover{border-color:rgba(var(--accent-rgb),.2);}
.note-entry{background:rgba(var(--accent-rgb),.04);border:1px solid rgba(0,0,0,.06);}
.note-entry:hover{border-color:rgba(var(--accent-rgb),.2);}
.rename-input{background:var(--bg);border:1px solid rgba(0,0,0,.12);}
.legal-dropdown-body{background:#FFFFFF;}
.legal-dropdown-toggle{background:#FFFFFF;border:1px solid rgba(0,0,0,.1);}
.dnra-display{background:#FFFFFF;border:1px solid rgba(0,0,0,.1);}
.dnra-display:hover{border-color:var(--color-money);}
.dnra-display.custom-set{border-color:rgba(16,185,129,.3);background:rgba(16,185,129,.04);}
.dnra-display.custom-set .dnra-val{color:var(--color-money);}
.dnra-input{background:var(--bg);border:1px solid var(--color-money);}
.dnra-cancel{background:var(--bg);border:1px solid rgba(0,0,0,.1);}
.dnra-reset{border:1px solid rgba(0,0,0,.1);}
.timer-settings-bar{background:#FFFFFF;border:1px solid rgba(var(--accent-rgb),.12);}
.timer-input{background:var(--bg);border:1px solid rgba(0,0,0,.1);}
.timer-input:focus{border-color:var(--accent);}
.timer-save-btn{
  background:var(--accent);color:#fff;
}
.timer-save-btn:hover{background:var(--accent-hover);}

/* ── ADDRESS ACCORDION ───────────────────────────────── */
.addr-toggle{background:var(--bg);border:1px solid rgba(0,0,0,.08);}
.addr-toggle:hover{background:#E5E7EB;border-color:rgba(0,0,0,.12);}
.addr-body{background:var(--bg);border:1px solid rgba(0,0,0,.08);}
.legal-display{background:var(--bg);border:1px solid rgba(0,0,0,.08);}

/* ── WELL FILTER LIST ────────────────────────────────── */
.wf-divider{background:rgba(0,0,0,.06);}
.wf-item:hover{background:rgba(var(--accent-rgb),.06);}
.wf-item.on{background:rgba(var(--accent-rgb),.1);}

/* ── INDUSTRY PRO (readable on light) ────────────────── */
.ip-badge{background:rgba(var(--color-accent-rgb),.08);color:var(--color-accent);border:1px solid rgba(var(--color-accent-rgb),.2);}
.ip-badge-sm{background:rgba(var(--color-accent-rgb),.06);color:var(--color-text-primary);border:1px solid rgba(var(--color-accent-rgb),.18);} /* R8 L7: brass text on brass-tinted bg failed AA (2.24:1, then 2.96:1). Dark text + brass-tinted bg/border carries brass identity at AA contrast (Linear/Stripe pill convention). */
/* .ip-toggle-btn.active + .ip-toggle-dot removed — active-state now lives in views.css with full-button teal fill (audit §3.2 / R1d) */
.ip-hdr-toggle.flagged{border-color:rgba(var(--color-accent-rgb),.35);background:rgba(var(--color-accent-rgb),.08);}
.ip-hdr-toggle.flagged .ip-hdr-toggle-label{color:var(--color-accent);}

/* ── DUPE / MULTI PILLS ──────────────────────────────── */
.dupe-pill{background:rgba(220,69,69,.06);color:#A82A2A;border:1px solid rgba(220,69,69,.15);}
.multi-pill{background:rgba(var(--accent-rgb),.06);color:var(--accent-deep);border:1px solid rgba(var(--accent-rgb),.18);}

/* ── PROFILE PICKER ──────────────────────────────────── */
.pp-card{border:1px solid rgba(0,0,0,.08);}
.pp-card:hover{background:rgba(var(--accent-rgb),.04);border-color:rgba(var(--accent-rgb),.2);}
.pp-color-dot.selected{border-color:var(--text);}

/* ── SYNC STATUS ─────────────────────────────────────── */
.sync-status{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#FFFFFF;}
.sync-status:hover{border-color:rgba(255,255,255,.3);}

/* ── VIEW HEADER ─────────────────────────────────────── */
.vh-bg{background:linear-gradient(180deg,rgba(var(--accent-rgb),.04) 0%,transparent 70%);border-bottom:1px solid rgba(var(--accent-rgb),.08);}
#pv-header .vh-bg{background:none;border-bottom:none;}

/* ── PV META BLOCK ───────────────────────────────────── */
.pv-meta-block{background:rgba(var(--accent-rgb),.03);}

/* ── VELOCITY CHART ──────────────────────────────────── */
.vc-bar:hover::after{background:#FFFFFF;border:1px solid rgba(0,0,0,.1);}
.velocity-section{border-top:1px solid rgba(0,0,0,.06);}

/* ── CALL LOG (dark colors for badges) ───────────────── */
.clog-lead-hot{background:rgba(192,82,78,.1);color:#A82A2A;}
.clog-lead-cold{background:rgba(var(--accent-rgb),.08);}

/* ── WELLS TABLE (modal) ─────────────────────────────── */
.wells-tbl th{background:rgba(var(--accent-rgb),.04);border-bottom:1px solid rgba(0,0,0,.06);}
.wells-tbl td{border-bottom:1px solid rgba(0,0,0,.04);}

/* ── SCROLLBAR ───────────────────────────────────────── */
::-webkit-scrollbar-track{background:rgba(0,0,0,.03);}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);}
::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.25);}

/* ── ANALYTICS — stays dark ──────────────────────────── */
.analytics-section{background:#080C14;border:1px solid rgba(255,255,255,.08);}

/* ── EMPTY STATE ─────────────────────────────────────── */
.om-empty{border:1px dashed rgba(0,0,0,.12);}

/* ── PROFILE AVATAR TEXT ─────────────────────────────── */
.profile-avatar,.pm-avatar-lg{color:#e8e8e8 !important;}

/* ── GREEN VALUES → darker green for light bg ────────── */
.gs-result-val{color:var(--color-money);}

/* ══════════════════════════════════════════════════════════════
   TABLE TEXT — td/th use --text-on-dark which stays light;
   override to dark text on light table rows
══════════════════════════════════════════════════════════════ */
tbody td{color:var(--text);}
.td-name{color:var(--text);}
.td-mono{color:var(--text);}
tr.row-deceased td{color:rgba(0,0,0,.35);}
.row-completed{background:rgba(var(--color-action-rgb),.04) !important;}
.row-completed:hover{background:rgba(var(--color-action-rgb),.07) !important;}

/* ══════════════════════════════════════════════════════════════
   PAGER
══════════════════════════════════════════════════════════════ */
.pager{border-top:1px solid var(--border);}
.pager-info{color:#6B7280;}

/* ══════════════════════════════════════════════════════════════
   VIEW HEADER / PV HEADER — main content uses --text-on-dark
══════════════════════════════════════════════════════════════ */
.view-header .vh-sub,
#pv-header .vh-sub{color:var(--muted);}
.vh-title{color:var(--text);}
#pv-header .vh-title{color:var(--text);}
.view-header .vh-actions .btn,
.view-header .vh-actions button{
  color:var(--text);border-color:rgba(0,0,0,.12);background:rgba(0,0,0,.04);
}
.view-header .vh-actions .btn:hover,
.view-header .vh-actions button:hover{
  color:var(--text);border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.08);
}

/* ══════════════════════════════════════════════════════════════
   PROJECT VIEW (pv-hero, filters, context, call menu)
══════════════════════════════════════════════════════════════ */
/* ── AOI Page — matching Contact Book theme ────────── */
.pv-hero{
  background:#FFFFFF;border:1px solid #E2E5EA;border-radius:8px;
  box-shadow:none;  /* Phase B: flat — shadows are overlay-only (Wireline) */
}
.pv-hdr-title{color:#111827;font-size:24px;font-weight:800;letter-spacing:-.03em;}
.pv-metric-val{color:#111827;}
.pv-metric-lbl{color:#4B5563;} /* R8 L7: was #6B7280, failed 4.3:1 → #4B5563 passes 7.2:1 on #edf3f3 */
.pv-metric-of{color:#4B5563;}  /* R8 L7: was #9CA3AF, failed 2.26:1 → #4B5563 passes 7.2:1 on #edf3f3 */
.pv-metric-divider{background:#E5E7EB;}
.pv-filter-pill{
  background:#FFFFFF;border:1px solid #E2E5EA;color:#6B7280;
  box-shadow:none;border-radius:6px;  /* Phase C: flat */
}
.pv-filter-pill:hover{border-color:rgba(0,0,0,.12);color:#111827;}
/* Phase C: filter-active = TEAL (working interaction), not brass (display-only). */
.pv-filter-pill.active{background:var(--color-secondary-muted);border-color:var(--color-secondary);color:var(--color-secondary);}
.tbody-pinned tr:last-child td{border-bottom:3px solid var(--brand-og-accent) !important;box-shadow:0 4px 10px rgba(0,0,0,.06);}
.row-pinned{background:#EDF2FC !important;}
.row-pinned td{border-bottom:1px solid rgba(var(--brand-og-accent-rgb),.10) !important;}
.row-pinned:hover{background:#E3EAFA !important;}
.pin-icon.pinned{color:var(--brand-og-accent);background:rgba(var(--brand-og-accent-rgb),.06);}
.pin-icon.pinned:hover{background:rgba(var(--brand-og-accent-rgb),.12);}
.pin-icon:hover{background:rgba(var(--brand-og-accent-rgb),.06);}
.pin-drag-over{box-shadow:inset 0 -2px 0 var(--brand-og-accent) !important;}
.asset-tab{background:#FFFFFF;border-color:rgba(0,0,0,.08);color:#6B7280;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.asset-tab:hover{background:#F8FAFC;color:#374151;}
.asset-tab.active{background:rgba(var(--brand-og-accent-rgb),.10);border-color:rgba(var(--brand-og-accent-rgb),.20);color:var(--brand-og-accent-hover);}
.pv-well-bar-wrap{background:#F8FAFC;border:1px solid rgba(0,0,0,.06);box-shadow:inset 0 1px 2px rgba(0,0,0,.03);}
.pv-well-chip{background:#FFFFFF;border:1px solid rgba(0,0,0,.08);color:#6B7280;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.pv-well-chip:hover{border-color:rgba(0,0,0,.15);color:#111827;background:#FFFFFF;box-shadow:0 2px 4px rgba(0,0,0,.06);}
.pv-well-chip.active{background:rgba(var(--brand-og-accent-rgb),.10);border-color:rgba(var(--brand-og-accent-rgb),.25);color:var(--brand-og-accent-hover);box-shadow:0 1px 4px rgba(var(--brand-og-accent-rgb),.12);}
.pv-well-bar-count{background:rgba(0,0,0,.04);}
.pv-ctx-card{background:#FFFFFF;border:1px solid rgba(0,0,0,.06);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.pv-ctx-title{color:#111827;}
.pv-ctx-info-val{color:#111827;}
.pv-ctx-detail{color:#4B5563;}
.pv-ctx-info-box{background:#F8FAFC;border:1px solid var(--border);}
.pv-ctx-well{color:#111827;background:#F8FAFC;border:1px solid rgba(0,0,0,.06);border-radius:8px;}
.pv-analytics-close{background:var(--bg);color:#6B7280;border:none;border-radius:8px;}
.pv-analytics-close:hover{background:#E8EDF2;color:#111827;}

/* ══════════════════════════════════════════════════════════════
   CALL BOARD (cb-*)
══════════════════════════════════════════════════════════════ */
.cb-title{color:var(--text);}
.cb-search{
  background:#FFFFFF;border:1px solid rgba(0,0,0,.08);border-radius:12px;
  box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 12px rgba(0,0,0,.05);
  transition:all .2s;
}
.cb-search:focus-within{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(var(--accent-rgb), .1),0 4px 16px rgba(0,0,0,.08);
}
.cb-search input{color:#111827;}
.cb-stat{
  border:none;border-radius:12px;
  box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 12px rgba(0,0,0,.05);
  background:rgba(var(--brand-og-accent-rgb),.10);
  transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);
}
.cb-stat:hover{
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
/* All stat cards same color — data differentiates, not container */
.cb-stat-val{color:#111827;}
.cb-stat-lbl{color:#4B5563;}
.cb-action-btn{background:var(--bg);border:1px solid rgba(0,0,0,.06);color:#111827;box-shadow:none;border-radius:10px;transition:all .15s;}
.cb-action-btn:hover{background:#E8EDF2;border-color:rgba(0,0,0,.1);}
.cb-export-btn{
  background:#1E2128 !important;color:#FFFFFF !important;border:none !important;
  box-shadow:0 2px 8px rgba(0,0,0,.15);font-weight:700;
}
.cb-export-btn:hover{
  background:#2A3040 !important;
  box-shadow:0 4px 16px rgba(0,0,0,.2);
}
.cb-export-dd{
  background:#FFFFFF;border:1px solid rgba(0,0,0,.08);border-radius:10px;
  box-shadow:0 4px 16px rgba(0,0,0,.1);
}
.cb-export-opt:hover{background:#F8FAFC;}
.cb-export-dd-label{color:#9CA3AF;}
.nq-page-title{color:var(--text);}
.nq-page-stat{background:#FFFFFF;border:1px solid rgba(var(--accent-rgb),.12);box-shadow:var(--shadow-sm);}
.nq-sec-title{color:var(--text);}

/* ══════════════════════════════════════════════════════════════
   SEARCH BOX INPUT — hardcoded #FFFFFF text
══════════════════════════════════════════════════════════════ */
.search-box input{color:var(--text);}
.search-box input::placeholder{color:var(--dim);}
.fd-btn{color:#111827;}
.fd-btn::after{color:#9CA3AF;}
.tbl-filter-label{color:#6B7280;}
.per-page-sel,.sort-sel{background:var(--bg);border:1px solid rgba(0,0,0,.08);color:#111827;}

/* ══════════════════════════════════════════════════════════════
   IP TOGGLE / DECEASED (default states — rgba(255,255,255) patterns)
══════════════════════════════════════════════════════════════ */
.ip-toggle-btn{border:1px solid rgba(0,0,0,.1);background:rgba(0,0,0,.03);}
.ip-toggle-btn:hover{border-color:rgba(0,0,0,.2);background:rgba(0,0,0,.06);color:var(--text);}

/* ══════════════════════════════════════════════════════════════
   DEAL PIPELINE
══════════════════════════════════════════════════════════════ */
/* ── Deal Pipeline — Phase 7 §6.18 (light, tokenized, no glows) ── */
.deal-column{
  background:var(--s2);border:1px solid var(--border);border-radius:8px;
}
.deal-column-hdr{background:var(--s1);border-radius:8px 8px 0 0;border-bottom:1px solid var(--border);}
.deal-column-count{color:var(--text);background:rgba(var(--accent-rgb),.06);border-radius:4px;}
.deal-card{
  background:var(--s1);border:1px solid var(--border);border-radius:8px;
  box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);
}
.deal-card:hover{border-color:rgba(var(--brand-og-accent-rgb),.30);box-shadow:var(--shadow-md);}
.deal-card-name{color:var(--text);}
.deal-card-mid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.deal-card-nra{color:var(--text);}
.deal-card-price{color:var(--color-money);}
.deal-card-age{background:var(--s3);color:var(--muted);border-radius:4px;}
.deal-card-checklist{background:rgba(var(--brand-og-accent-rgb),.08);color:var(--brand-og-accent);}

/* Deal detail panel */
.deal-panel{
  background:#FFFFFF;
  border-left:1px solid rgba(0,0,0,.06);
  box-shadow:-4px 0 24px rgba(0,0,0,.08);border-radius:14px 0 0 14px;
}
.deal-panel-owner{color:#111827;}
.deal-panel-close{background:transparent;border:none;color:#9CA3AF;border-radius:8px;}
.deal-panel-close:hover{background:rgba(220,38,38,.06);color:var(--color-danger);}
.deal-panel-action-btn{background:var(--bg);border:1px solid rgba(0,0,0,.06);border-radius:8px;color:#111827;}
.deal-panel-action-btn:hover{background:#E8EDF2;border-color:rgba(0,0,0,.1);}
.deal-panel-download{background:#1E2128 !important;color:#FFFFFF !important;border:none !important;box-shadow:0 2px 8px rgba(0,0,0,.15);}
.deal-panel-download:hover{background:#2A3040 !important;box-shadow:0 4px 16px rgba(0,0,0,.2);}
.deal-panel-section{
  background:#FFFFFF;border:1px solid rgba(0,0,0,.06);border-radius:12px;
  box-shadow:0 1px 3px rgba(0,0,0,.03);
}
.deal-panel-section:hover{border-color:rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.06);}
.deal-panel-status-select{background:var(--bg);border:1px solid rgba(0,0,0,.08);border-radius:8px;}
.deal-field:hover{background:#F8FAFC;}
.deal-field-label{color:#6B7280;}
.deal-field-value{color:#111827;}
.deal-field-overdue{color:var(--color-danger) !important;font-weight:800;}
.deal-field-urgent{color:#B45309 !important;font-weight:700;}
.deal-date-clickable{cursor:pointer;transition:color .12s;}
.deal-date-clickable:hover{color:var(--brand-og-accent) !important;}
.deal-field-input{background:var(--bg);border:1px solid rgba(0,0,0,.08);border-radius:8px;}
.deal-field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .08);}
.deal-date-current{color:#111827;}
.deal-cl-item{border:1px solid rgba(0,0,0,.06);background:#F8FAFC;border-radius:8px;}
.deal-cl-item:hover{background:var(--bg);border-color:rgba(0,0,0,.1);}
.deal-wiring-modal{background:#FFFFFF;border:1px solid rgba(0,0,0,.08);}
.deal-wiring-field input,.deal-wiring-field select{background:#F9FAFB;border-color:#E5E7EB;}
.deal-cl-dot{background:#E8EDF2;border-color:rgba(0,0,0,.1);}
.deal-psa-btn{background:rgba(var(--brand-og-accent-rgb),.03);border-color:rgba(var(--brand-og-accent-rgb),.10);}
.deal-psa-btn:hover{background:rgba(var(--brand-og-accent-rgb),.06);border-color:rgba(var(--brand-og-accent-rgb),.20);box-shadow:0 2px 12px rgba(var(--brand-og-accent-rgb),.08);}
.deal-psa-btn-icon{background:rgba(var(--brand-og-accent-rgb),.06);color:var(--brand-og-accent);}
.deal-psa-btn-action{background:rgba(var(--brand-og-accent-rgb),.06);color:var(--brand-og-accent);}
.deal-psa-btn:hover .deal-psa-btn-action{background:rgba(var(--brand-og-accent-rgb),.12);}
.deal-tract-row{background:#F9FAFB;border-color:rgba(0,0,0,.06);}
.deal-tract-dnra-input{background:#FFFFFF;border-color:rgba(0,0,0,.1);}
.deal-total-row{border-top-color:rgba(0,0,0,.08);}
.deal-psa-upload-btn{background:var(--brand-og-accent);}
.deal-psa-manage{border-color:rgba(0,0,0,.1);}
.deal-psa-manage:hover{background:#F1F5F9;color:var(--brand-og-accent);border-color:rgba(var(--brand-og-accent-rgb),.20);}
.deal-psa-del:hover{color:var(--color-danger);background:rgba(220,38,38,.06);}
.deal-overlay{background:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.deal-timeline-item{border-left-color:#E5E7EB;}
.deal-timeline-text{color:#4B5563;}
.deal-timeline-date{color:#9CA3AF;}
.deal-note-area{background:var(--bg);border:1px solid rgba(0,0,0,.08);border-radius:8px;}
.deal-note-area:focus{border-color:var(--accent);background:#FFFFFF;}
.deal-note-submit{background:var(--brand-og-accent);color:#FFFFFF;border-radius:8px;}
.deal-note-submit:hover{background:var(--brand-og-accent-hover);}

/* ══════════════════════════════════════════════════════════════
   IMPORT REVIEW (ir-*)
══════════════════════════════════════════════════════════════ */
.ir-nra-text{color:var(--text);}
.ir-nra-text code{background:rgba(var(--accent-rgb),.08);color:var(--text);}
.ir-stats{
  background:rgba(var(--accent-rgb),.06);border:1px solid rgba(var(--accent-rgb),.15);
  color:var(--muted);
}
.ir-stat b{color:var(--text);}
.ir-bulk{background:rgba(var(--accent-rgb),.04);border:1px solid rgba(var(--accent-rgb),.12);}
.ir-bulk-label{color:var(--muted);}
.ir-bulk-input{background:var(--bg);border:1px solid rgba(0,0,0,.1);color:var(--text);}
.ir-config{background:rgba(var(--accent-rgb),.04);border:1px solid rgba(var(--accent-rgb),.12);}
.ir-config-divider{background:rgba(0,0,0,.08);}
.ir-config select{background:var(--bg);border:1px solid rgba(0,0,0,.1);color:var(--text);}
.ir-table th{background:var(--accent);color:#FFFFFF;}
.ir-table td{color:#111827;}
.ir-table input{color:#111827;background:#F9FAFB;border-color:rgba(0,0,0,.1);}
.ir-prop-tab{border-color:rgba(0,0,0,.1);color:var(--muted);}
.ir-prop-tab:hover{color:var(--text);background:rgba(var(--accent-rgb),.06);}
.ir-prop-tab.active{background:#FFFFFF;color:var(--text);border-color:rgba(0,0,0,.15);}
.ir-prop-tab .ir-tab-count{color:var(--dim);}

/* ══════════════════════════════════════════════════════════════
   DESKTOP / DASHBOARD CARDS (dk-*, dka-*)
══════════════════════════════════════════════════════════════ */
.dk-card{
  background:#FFFFFF;border:1px solid #E5E7EB;
  border-radius:8px;
  box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
}
.dk-card:hover{border-color:rgba(0,0,0,.12);}
.dk-search-input{
  background:var(--bg);border:1px solid rgba(0,0,0,.1);
  color:var(--text);box-shadow:none;
}
/* .dk-tree-card .dt-* descendant rules removed 2026-05-05 (Layer 21).
   .dk-tree-card parent confirmed dead; .dt-row standalone rules at
   components.css:868+ remain LIVE for the actual tree usage in render.js. */
.dk-goal-num{color:var(--text);}
.dk-ct-out-val{color:var(--text);}
.dk-ct-bar-lbl.dk-ct-today{color:var(--text);}
.dk-ct-actions{border-top:1px solid rgba(0,0,0,.06);gap:8px;padding-top:12px;}
.dk-ct-act{
  background:#FFFFFF;border:1px solid rgba(0,0,0,.06);
  border-radius:10px;padding:12px 8px;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
  transition:transform .15s,box-shadow .15s;
}
.dk-ct-act:hover{box-shadow:0 3px 8px rgba(0,0,0,.08);}
/* Due Today — amber tinted */
.dk-ct-act-warn{
  background:linear-gradient(145deg,#FFFBEB,#FEF3C7);
  border:1px solid rgba(245,158,11,.2);
}
.dk-ct-act-warn .dk-ct-act-val{color:#B45309 !important;}
.dk-ct-act-warn .dk-ct-act-lbl{color:#92400E !important;}
/* Past Due — red tinted */
.dk-ct-act-alert{
  background:linear-gradient(145deg,#FEF2F2,#FEE2E2);
  border:1px solid rgba(239,68,68,.2);
}
.dk-ct-act-alert .dk-ct-act-val{color:#B91C1C !important;}
.dk-ct-act-alert .dk-ct-act-lbl{color:#991B1B !important;}
/* Upcoming — purple tinted */
.dk-ct-act:not(.dk-ct-act-warn):not(.dk-ct-act-alert){
  background:linear-gradient(145deg,#F5F3FF,#EDE9FE);
  border:1px solid rgba(var(--color-accent-rgb),.15);
}
.dk-ct-act:not(.dk-ct-act-warn):not(.dk-ct-act-alert) .dk-ct-act-val{color:var(--color-accent) !important;}
.dk-ct-act:not(.dk-ct-act-warn):not(.dk-ct-act-alert) .dk-ct-act-lbl{color:var(--color-accent) !important;}
.dk-ct-chart{border-top:1px solid rgba(0,0,0,.06);}
.dk-act-item{border-bottom:1px solid rgba(0,0,0,.04);}
.dk-acct-name{color:var(--text);}
.dk-acct-sep{background:rgba(0,0,0,.15);}
/* .dk-call-sub strict-dead removed Track D.1 (2026-05-06) — companion to deleted .dk-call-card; 0 JS/HTML refs, 0 DOM count across all views. */
.dk-card.dk-account-card{background:rgba(var(--color-blue-rgb),.04);border-color:rgba(var(--color-blue-rgb),.2);}
.dk-card.dk-account-card:hover{background:rgba(var(--color-blue-rgb),.08);border-color:rgba(var(--color-blue-rgb),.3);}
.dash-hdr-eyebrow{color:var(--muted);}

/* DKA Analytics section within dashboard — strict-dead, removed Track D.2 (2026-05-06).
   Light-theme overrides for the .dka-* family (counterpart to components.css block).
   Same root cause: #dash-proj-analytics container absent in V3 dashboard. 26 lines removed. */
.dash-counties-edit-btn{background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.12);color:var(--text);}
.dash-counties-edit-btn:hover{background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.2);color:var(--text);}

/* Command row — profile left, call button right */
.dk-cmd-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:20px;
}
.dk-right{gap:20px;}
.dk-left{gap:20px;}
.dk-kpi-strip{margin-bottom:20px;}

/* ── Account/Profile card — shows daily progress ── */
.dk-card.dk-account-card{
  background:linear-gradient(135deg,#F0F4FF,#E8EEFF);
  border:1px solid rgba(var(--brand-og-accent-rgb),.12);
  position:relative;
  overflow:hidden;
  margin-top:24px;
}
.dk-card.dk-account-card::after{
  content:'';position:absolute;top:0;left:0;bottom:0;width:4px;
  background:linear-gradient(180deg,var(--brand-og-accent),var(--brand-og-accent));
  border-radius:8px 0 0 8px;
}
.dk-card.dk-account-card:hover{
  border-color:rgba(var(--brand-og-accent-rgb),.22);
  background:linear-gradient(135deg,#E8EEFF,rgba(var(--brand-og-accent-rgb),.10));
}
.dk-acct-name{color:var(--text);}
.dk-acct-company{color:var(--muted);}
.dk-acct-role{color:var(--brand-og-accent);font-weight:600;}
.dk-acct-sep{background:rgba(0,0,0,.12);}
.dk-acct-avatar{
  outline-color:rgba(var(--brand-og-accent-rgb),.25);
  background:var(--brand-og-accent);
}

/* .dk-call-card "Start Calling" CTA block removed 2026-05-05 (Layer 21).
   Pre-V3 dashboard pattern; replaced by .cc-card system + module registry.
   Confirmed dead via runtime DOM (0 across all 8 views) + zero JS class refs.
   .dk-call-icon, .dk-call-title, .dk-call-sub, .dk-call-info kept until verified
   independently; if future audit confirms also dead, sweep them in B1 follow-up. */

/* Search bar — elevated with icon and tinted background */
.dk-search-input{
  background:var(--bg);
  border:1px solid rgba(0,0,0,.08);
  border-radius:10px;
  color:var(--text);
  padding:10px 14px 10px 38px;
  font-size:13px;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.04);
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.dk-search-input:focus{
  background:#FFFFFF;
  border-color:rgba(var(--accent-rgb),.4);
  box-shadow:
    0 0 0 3px rgba(var(--accent-rgb),.08),
    0 1px 2px rgba(0,0,0,.04);
}
.dk-search-input::placeholder{color:#9CA3AF;}
.dk-tree-search{position:relative;}
.dk-tree-search::before{
  content:'';
  position:absolute;
  left:14px;top:50%;transform:translateY(-50%);
  width:14px;height:14px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
  pointer-events:none;
  z-index:1;
}

/* Portfolio Overview row */
.dt-portfolio-label{color:var(--text);}
.dt-portfolio{color:var(--text);font-weight:600;}
.dt-portfolio svg{color:var(--accent);}
.dt-portfolio-row{background:rgba(var(--accent-rgb),.04);border:1px solid rgba(var(--accent-rgb),.12);border-radius:6px;}

/* Activity feed */
.dk-act-text{color:var(--muted);}
.dk-act-text b{color:var(--text);}
.dk-act-time{color:var(--dim);}
.dk-act-dot{opacity:1;}

/* KPI cards — labels and values */
.kpi-label{color:var(--muted);}
.kpi-val{color:var(--kc,var(--text));}
.kpi{background:#FFFFFF;border:1px solid rgba(0,0,0,.08);box-shadow:var(--shadow-sm);}

/* Dashboard-specific KPI overrides — .dka-* rules removed Track D.2 (parent container absent). */

/* Tree card stats (owner counts, etc.) */
.dt-cnt{color:var(--muted);}
.dt-stat{color:var(--muted);}
.dt-row .dt-badge{color:var(--muted);background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.08);}

/* Call tracker bar labels */
.dk-ct-bar-lbl{color:var(--muted);}
.dk-ct-bar-cnt{color:var(--text);}
.dk-ct-out-lbl{color:var(--muted);}

/* Pipeline section in dashboard — strict-dead, removed Track D.2 (2026-05-06).
   #dk-pipeline-body, .dk-pipe-stage-lbl, .dk-pipe-bar-lbl: orphaned label
   variants from the V2 dashboard pipeline widget (no JS consumer for the
   -lbl variants; renderDealsDashboardWidget container absent). */

/* Activity feed */
.dk-act-name{color:var(--text);}
.dk-act-note{color:var(--muted);}
.dk-act-time{color:var(--dim);}
.dk-act-outcome{color:var(--muted);}

/* Dashboard header stats row */
.dash-unified-stat-val{color:var(--text);}
.dash-unified-stat-lbl{color:var(--muted);}
.dash-unified-hdr{color:var(--text);}

/* Card header rules removed 2026-05-05 (Layer 21 Dead UI Code).
   .dk-card-hdr, .dk-card-title, .dk-card-metric, and the
   .dk-tree-card / .dk-goals-card / #dk-pipeline / #dk-activity / #dk-deals-card
   parents all confirmed dead via runtime DOM count (0 across all 8 views) +
   zero JS/HTML class refs (full grep clean). Pre-V3 dashboard system;
   replaced by .cc-card module registry. See SCOUT-R8-FINDINGS §13 R8-L21-1. */

/* Account card text */
.dk-acct-company{color:var(--muted);}
/* .dk-call-title strict-dead removed Track D.1 (2026-05-06) — companion to deleted .dk-call-card; 0 refs. */
/* Daily Briefing Card — .dk-briefing-card parent rules removed Track D.1 (2026-05-06).
   Element receives id="dk-briefing-card" but never class="dk-briefing-card" (render.js:2008).
   The CSS class selector matched 0 elements across all 7 views; rule was strict-dead. Children
   classes (.dk-briefing-greeting, .dk-bf-line, etc.) are live on the .cc-bf-briefing element
   and remain. */
.dk-briefing-greeting{color:#111827;}
.dk-briefing-greeting span{color:var(--brand-og-accent);}
.dk-bf-picker-modal{background:#FFFFFF;border:1px solid rgba(0,0,0,.08);}
.dk-bf-picker-item:hover{background:rgba(var(--brand-og-accent-rgb),.04);}
.dk-bf-line{color:#374151;}
.dk-bf-line:hover{background:rgba(var(--brand-og-accent-rgb),.04);}
.dk-bf-line{color:#374151;}
.dk-bf-line:hover{background:rgba(var(--brand-og-accent-rgb),.03);}

/* ══════════════════════════════════════════════════════════════
   OM XAOI (owner modal extra sections) — rgba(255,255,255) patterns
══════════════════════════════════════════════════════════════ */
.om-xaoi-item{background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.06);}
.om-xaoi-hdr:hover{background:rgba(var(--accent-rgb),.04);}
.om-xaoi-name{color:var(--text);}
.om-xaoi-well{border-bottom:1px solid rgba(0,0,0,.04);}
.om-xaoi-well-name{color:var(--text);}

/* ══════════════════════════════════════════════════════════════
   MISSING --text-on-dark → --text OVERRIDES (main content)
══════════════════════════════════════════════════════════════ */

/* ── View header title (non-pv) ──────────────────────────── */
.view-header .vh-title{color:var(--text);}

/* ── Table header bar ────────────────────────────────────── */
.tbl-title{color:var(--text);}
.td-sub{color:var(--muted);}
thead th{color:var(--color-text-secondary);} /* R8 L7: was rgba(--accent-rgb,.6) → blended to #78aeb2 (2.19:1 contrast). Solid var(--color-text-secondary) (~#4b5563) passes AA on light hover bg. */

/* ── Notification queue text ─────────────────────────────── */
/* nq text overrides moved to main notification section above */

/* ── Owner Hover Preview ────────────────────────────────── */
.owner-preview{
  background:#FFFFFF;border:1px solid rgba(0,0,0,.08);border-radius:14px;
  box-shadow: var(--shadow-overlay);
}
.op-name{color:#111827;}
.op-phone{color:#111827;}
.op-addr{color:#6B7280;}
.op-divider{background:var(--border);}
.op-stat-lbl{color:#9CA3AF;}
.op-stat-val{color:#111827;}
.op-dates{color:#6B7280;}
.op-well{color:#6B7280;}

/* ── Confirm dialog text ─────────────────────────────────── */
.confirm-title{color:var(--text);background:rgba(var(--accent-rgb),.04);border-bottom:1px solid rgba(0,0,0,.06);}
.confirm-msg .f-label{color:var(--text);}
.confirm-msg .f-ctrl{background:var(--bg);border:1px solid rgba(0,0,0,.1);color:var(--text);}
.confirm-msg select.f-ctrl option{background:var(--bg);color:var(--text);}
.confirm-btns{background:rgba(var(--accent-rgb),.03);border-top:1px solid rgba(0,0,0,.06);}
.confirm-btns .btn-ghost{background:rgba(0,0,0,.04);color:var(--text);border:1px solid rgba(0,0,0,.1);}
.confirm-btns .btn-ghost:hover{background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.2);}

/* ── Owner modal transfer section ────────────────────────── */
.om-transfer-val{color:var(--text);}
.om-transfer-match-name{color:var(--text);}
.om-transfer-history-row{color:var(--text);}
.om-transfer-match-row{border-color:rgba(0,0,0,.06);}
.om-transfer-match-row:hover{background:rgba(var(--brand-og-accent-rgb),.06);}
.om-transfer-heir-row{background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.06);}
.om-transfer-cancel-btn{background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.08);}

/* ── Owner modal misc ────────────────────────────────────── */
.om-remove-opt{color:var(--text);}
.om-dnra-input{color:var(--color-money);background:transparent;border:1px solid rgba(var(--color-money-rgb), .15);}
.om-dnra-input:focus{border-color:var(--color-money);background:transparent;box-shadow:0 0 0 3px rgba(var(--color-money-rgb), .1);}
.om-status-wrap{background:var(--bg);border-color:rgba(0,0,0,.08);box-shadow:0 1px 2px rgba(0,0,0,.04);}
.om-status-btn{color:#374151;}
.om-status-btn:hover{background:rgba(0,0,0,.03);}
.om-status-btn.om-status-active{color:#0A7A56;}
.om-status-btn.om-status-decd{color:#6B7280;}
.om-status-btn.om-status-sold{color:#92400E;}
.om-status-wrap.expanded .om-status-btn{border-right-color:rgba(0,0,0,.08);}
.om-status-slide-opt{color:#6B7280;}
.om-status-slide-opt:not(:last-child){border-right-color:rgba(0,0,0,.06);}
.om-status-slide-opt:hover{background:rgba(0,0,0,.04);color:#111827;}

/* ── Project settings group header ───────────────────────── */
.psp-group-hdr{color:var(--text);border-bottom:1px solid rgba(0,0,0,.08);}
.psp-edit-input{background:var(--bg);border:1px solid rgba(0,0,0,.1);color:var(--text);box-shadow:none;}
.psp-list-item input{background:var(--bg);border:1px solid rgba(0,0,0,.1);color:var(--text);box-shadow:none;}
.psp-scope-select{background:var(--bg);border:1px solid rgba(0,0,0,.1);color:var(--text);box-shadow:none;}
.psp-scope-select option{background:var(--bg);color:var(--text);}
.psp-scope-label{color:var(--text);}

/* ── Property section detail inputs ──────────────────────── */
.psd-county-name{color:var(--text);}
.psd-county-input{color:var(--text);}
.psd-prop-legal-input{color:var(--text);}
.psd-prop-section-county option{background:var(--bg);color:var(--text);}
.psd-prop-acres-input{background:var(--bg);border:1px solid rgba(0,0,0,.1);color:var(--text);}
.psd-prop-well-input{color:var(--text);}
.psd-prop-well-county option,
.psd-prop-well-op option{background:var(--bg);color:var(--text);}
.psd-move-option{color:var(--text);}

/* ── Feedback widget ─────────────────────────────────────── */
.fb-textarea{background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.08);color:var(--text);}

/* ── Portfolio analytics edit toggle ─────────────────────── */
.pa-edit-toggle-inline{color:var(--text);border:1px solid rgba(0,0,0,.1);background:rgba(0,0,0,.04);}
.pa-add-option{color:var(--text);}

/* ══════════════════════════════════════════════════════════════
   ELEVATION TIER — overlay-only per .impeccable.md D8

   Cards stay flat. Elevation lives on overlays only (modals, popovers,
   drawers, dropdowns, toasts). Single-layer shadow via var(--shadow-overlay).

   History: lines 1681-1772 previously held a "Premium UI Enhancements"
   block with a 4-layer shadow stack on 16 card surfaces + a 3-layer
   stack on 5 panel surfaces + 4-layer hover-amplification on 7 cards.
   The original commit (0aa34979, 2026-04-03) cited "Stripe/Linear
   pattern" as justification — fabricated; both Stripe and Linear use
   flat cards. The 4-layer treatment was AI-slop default-styling.
   Track C (2026-05-06) replaced the stack with overlay-only elevation
   per the canonical D8 rule. The 12 card surfaces (.dk-card, .dka-*,
   .deal-card, .ir-bulk-section, .prof-card, .om-brief-legal-card,
   .pv-ctx-card, .nq-page-stat) now flatten — borders alone provide
   surface differentiation. The 4 overlay surfaces (.om-popup,
   .confirm-modal, .toast, .eop-panel) and the 5 panel/drawer surfaces
   (.tbl-wrap, .deal-panel, .psp-panel, .ir-review-panel, .profile-dropdown)
   keep elevation but on the canonical overlay tier. Hover-amplification
   stacks deleted entirely (no card-lift effect — that pattern is on
   the BAN 1 list).
====================================================================== */
.om-popup,
.confirm-modal,
.toast,
.eop-panel {
  box-shadow: var(--shadow-overlay);
}
.tbl-wrap,
.deal-panel,
.ir-review-panel,
.profile-dropdown {
  background:#FFFFFF;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  box-shadow: var(--shadow-overlay);
}
.pd-info{border-bottom:1px solid #E5E7EB;}
.pd-name{color:#111827;}
.pd-role{color:var(--accent);}
.pd-val{color:#111827;}
.pd-label{color:var(--muted);}
.pd-actions{border-top:1px solid #E5E7EB;}
.pd-action-btn{
  background:rgba(var(--brand-og-accent-rgb),.06);color:var(--brand-og-accent);border:1px solid rgba(var(--brand-og-accent-rgb),.15);
}
.pd-action-btn:hover{background:rgba(var(--brand-og-accent-rgb),.12);}
.pd-signout{
  background:rgba(239,68,68,.06);color:var(--color-danger);border-color:rgba(239,68,68,.15);
}
.pd-signout:hover{background:rgba(239,68,68,.12);}

/* ── Card hover transitions (border-color only — cards stay flat per .impeccable.md) ──
   Track C (2026-05-06) deleted the 4-layer-shadow hover-amplification block that
   previously lived here. Cards now hover via border-color shift only (rule at
   ~1804). Single-layer shadow hovers on .kpi.clickable (~216), .nq-page-stat (~439)
   are retained — they're allowed under the BAN exception (single layer, not stack).
   .om-brief-legal-card has no hover (intentional — non-interactive in-modal card). */
.dk-card,
.deal-card,
.kpi.clickable,
.nq-page-stat {
  transition: border-color .2s ease, background .2s ease;
}

/* ── Card Backgrounds (ensure white, not transparent) ──── */
.dk-card{background:#FFFFFF;}
/* #dash-proj-analytics.dk-card override removed Track D.2 — container absent in V3 dashboard. */
/* Dashboard project tree — match PA page blue style */
#dash-proj-list .dt-row{color:#111827;}
#dash-proj-list .dt-row:hover{background:#EEF2F7;}
#dash-proj-list .dt-row.active{background:rgba(var(--brand-og-accent-rgb),.10);}
#dash-proj-list .dt-label{color:#111827;}
#dash-proj-list .dt-count{background:rgba(var(--brand-og-accent-rgb),.10);color:var(--brand-og-accent-hover);}
#dash-proj-list .dt-chevron{color:#6B7280;}
#dash-proj-list .proj-header{border-radius:8px;}
#dash-proj-list .proj-header:hover{background:#EEF2F7;}
#dash-proj-list .proj-header.active-group{background:rgba(var(--brand-og-accent-rgb),.10);}
#dash-proj-list .proj-name{color:#111827;}
#dash-proj-list .proj-badge{background:rgba(var(--brand-og-accent-rgb),.10);color:var(--brand-og-accent-hover);}
#dash-proj-list .proj-chevron{color:#6B7280;}
#dash-proj-list .dt-client-label{color:#111827;font-weight:700;}
.dash-unified-card{background:#FFFFFF;border-color:rgba(0,0,0,.07);}
.dash-unified-body{background:#FFFFFF;}
.dash-unified-hdr{background:#F0F4F8;color:var(--text);}

/* ── Refined Borders ──────────────────────────────────────
   Subtle gray borders instead of gold-tinted. .dka-* selectors removed
   Track D.2 (parent #dash-proj-analytics absent in V3 dashboard). */
.dk-card,
.deal-card,
.om-brief-legal-card,
.prof-card,
.pv-ctx-card,
.nq-page-stat,
.ir-bulk-section {
  border: 1px solid rgba(0,0,0,.07);
}
.dk-card:hover,
.deal-card:hover {
  border-color: rgba(0,0,0,.12);
}
/* ── Profile Page ──────────────────────────────────────── */
/* .prof-banner / .prof-banner-name / .prof-banner-team strict-dead removed Track D.1 (2026-05-06).
   Live-evidence: parent .prof-banner DOM count = 0 across all 7 views; -name and -team children
   also = 0. Only .prof-banner-role retained (DOM count 1, hidden in team-member list — kept). */
.prof-banner-role{color:var(--brand-og-accent);background:rgba(var(--brand-og-accent-rgb),.12);border-color:rgba(var(--brand-og-accent-rgb),.20);}
.prof-tabs{gap:4px;}
.prof-tab-btn{background:#FFFFFF;border:1px solid rgba(0,0,0,.08);color:#6B7280;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.prof-tab-btn:hover{background:#F8FAFC;color:#374151;}
.prof-tab-btn.active{background:rgba(var(--brand-og-accent-rgb),.10);border-color:rgba(var(--brand-og-accent-rgb),.20);color:var(--brand-og-accent-hover);box-shadow:0 1px 4px rgba(var(--brand-og-accent-rgb),.10);}
.prof-sidenav{border-right-color:rgba(0,0,0,.06);}
.prof-sidenav-user{border-bottom-color:rgba(0,0,0,.06);}
.prof-sidenav-name{color:#111827;}
.prof-sidenav-item{color:var(--muted);}
.prof-sidenav-item:hover{background:rgba(0,0,0,.03);}
.prof-sidenav-item.active{background:rgba(var(--brand-og-accent-rgb),.10);color:var(--brand-og-accent);}
.prof-pane-title{color:#111827;}
.prof-pane-desc{color:#6B7280;}
.prof-form-row{border-bottom-color:rgba(0,0,0,.05);}
.prof-form-label{color:#111827;}
.prof-form-hint{color:#9CA3AF;}
.prof-form-val{color:#111827;}
.prof-form-input{background:#F9FAFB;border-color:rgba(0,0,0,.1);color:#111827;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);}
.prof-form-input:focus{border-color:var(--brand-og-accent);box-shadow:inset 0 1px 2px rgba(0,0,0,.04),0 0 0 3px rgba(var(--brand-og-accent-rgb),.08);}
.prof-badge-new{background:rgba(16,163,74,.06);color:#0A7A56;border-color:rgba(16,163,74,.12);}
.prof-form-row-featured{background:rgba(var(--brand-og-accent-rgb),.03);border-bottom-color:rgba(var(--brand-og-accent-rgb),.08) !important;}
.prof-email-badge{background:rgba(16,163,74,.06);color:#0A7A56;border-color:rgba(16,163,74,.15);}
.prof-email-addr{color:#111827;}
.prof-email-detect-card{background:rgba(var(--brand-og-accent-rgb),.03);border-color:rgba(var(--brand-og-accent-rgb),.10);}
.prof-pane-subtitle{color:#111827;border-top-color:rgba(0,0,0,.06);}
.prof-connect-btn{border-color:rgba(0,0,0,.1);color:#374151;}
.prof-connect-btn:hover{background:rgba(var(--brand-og-accent-rgb),.04);border-color:rgba(var(--brand-og-accent-rgb),.20);color:var(--brand-og-accent);}
.prof-connect-btn.connected{background:rgba(16,163,74,.04);border-color:rgba(16,163,74,.2);color:#0A7A56;}
.prof-card{background:#FFFFFF;border:none;border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.04);}
.prof-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.07),0 0 0 1px rgba(0,0,0,.05);}
/* .prof-card-hdr-navy override removed Phase 8.1 — D24 destructive-only.
   Base treatment in components.css uses var(--s2) flat surface. */
.prof-notif-row{border-bottom-color:var(--border);}
.prof-notif-title{color:var(--text);}
.prof-notif-desc{color:var(--dim);}
.prof-subscription-badge{color:var(--brand-og-accent);background:rgba(var(--brand-og-accent-rgb),.06);border-color:rgba(var(--brand-og-accent-rgb),.15);}
/* Billing */
.prof-plan-name{color:#111827;}
.prof-plan-price{color:var(--color-money);}
.prof-plan-active{background:rgba(16,163,74,.06);color:#0A7A56;border-color:rgba(16,163,74,.15);}
.prof-usage-bar{background:#E5E7EB;}
.prof-usage-val{color:#111827;}
.prof-activity-item{border-bottom-color:rgba(0,0,0,.04);}
.prof-activity-icon{background:rgba(var(--accent-rgb), .06);color:var(--accent);}
.prof-activity-desc{color:#111827;}
.prof-activity-time{color:#9CA3AF;}
.team-chart-card{background:#FFFFFF;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.05);}
.team-chart-row{border-bottom-color:rgba(0,0,0,.04);}
.team-chart-day-row{border-bottom-color:rgba(0,0,0,.06);}
.team-chart-name{color:#111827;}
.team-chart-cell-val{color:#111827;}
.team-chart-week-total{color:#111827;}
.team-chart-today-val.active{color:#0A7A56;}
/* Team member cards */
.prof-team-group-label{color:#6B7280;border-bottom-color:rgba(0,0,0,.06);}
.prof-member-card{background:#FFFFFF;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.03);}
.prof-member-card:hover{border-color:rgba(0,0,0,.1);box-shadow:0 2px 6px rgba(0,0,0,.05);}
.prof-member-card.expanded{border-color:rgba(var(--brand-og-accent-rgb),.20);}
.prof-member-header.expandable:hover{background:#F8FAFC;}
.prof-member-detail{border-top-color:rgba(0,0,0,.04);background:#F9FAFB;}
.prof-team-name{color:#111827;}
.prof-team-email{color:#6B7280;}
.prof-card-body .f-label{color:#6B7280;}
.prof-card-body .f-ctrl{background:#F9FAFB;border:1px solid rgba(0,0,0,.1);color:#111827;border-radius:8px;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);}
.prof-card-body .f-ctrl:focus{border-color:var(--brand-og-accent);box-shadow:inset 0 1px 2px rgba(0,0,0,.04),0 0 0 3px rgba(var(--brand-og-accent-rgb),.08);}
.prof-ro-field{border-bottom-color:rgba(0,0,0,.04);}
.prof-ro-label{color:#6B7280;}
.prof-ro-val{color:#111827;}
.prof-role-select{background:#F9FAFB;border:1px solid rgba(0,0,0,.1);color:#111827;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);}

/* Modals and panels — clean border */
.deal-panel,
.confirm-modal {
  border: 1px solid rgba(0,0,0,.08);border-radius:14px;
}

/* ── Project Settings form controls (now hosted by Workspace Settings/Project Data tabs) ──────────── */
.psp-body{background:#FFFFFF;}
.psp-sec-title{color:var(--brand-og-accent);border-bottom-color:rgba(var(--brand-og-accent-rgb),.15);}
.psp-label{color:#374151;}
.psp-unit{color:#6B7280;}
.psp-input{background:#F9FAFB;border:1px solid rgba(0,0,0,.1);color:#111827;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);}
.psp-input:focus{border-color:var(--brand-og-accent);box-shadow:inset 0 1px 2px rgba(0,0,0,.04),0 0 0 3px rgba(var(--brand-og-accent-rgb),.08);}
.psp-edit-input{background:#F9FAFB;border:1px solid rgba(0,0,0,.1);color:#111827;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);}
.psp-edit-input:focus{border-color:var(--brand-og-accent);box-shadow:inset 0 1px 2px rgba(0,0,0,.04),0 0 0 3px rgba(var(--brand-og-accent-rgb),.08);}
.psp-scope-select{background:#F9FAFB;border:1px solid rgba(0,0,0,.1);color:#111827;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);}
.psp-scope-select:focus{border-color:var(--brand-og-accent);}
.psp-scope-select option{background:#FFFFFF;color:#111827;}
.psp-scope-bar{background:#F8FAFC;border-color:rgba(var(--brand-og-accent-rgb),.12);}
.psp-scope-label{color:#374151;}
.psp-scope-count{color:#6B7280;}
.psp-group-hdr{color:#111827;border-bottom-color:rgba(0,0,0,.06);}
.psp-group-hdr:not(:first-child){border-top-color:rgba(0,0,0,.06);}
.psp-tag{box-shadow:0 1px 3px rgba(0,0,0,.06);}
.psp-toggle-slider{background:#D1D5DB;}
.psp-toggle-slider::before{background:#FFFFFF;box-shadow:0 1px 2px rgba(0,0,0,.1);}
.psp-toggle input:checked+.psp-toggle-slider{background:rgba(var(--brand-og-accent-rgb),.50);}
.psp-save-btn{background:var(--color-green);}
.psp-delete-btn{background:rgba(220,38,38,.04);border-color:rgba(220,38,38,.15);}
.psp-groupby-toggle{border-color:rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.04);}
.psp-groupby-btn{color:#6B7280;border-color:rgba(0,0,0,.06) !important;}
.psp-groupby-btn:hover{background:#F1F5F9;color:#111827;}
.psp-groupby-btn.active{background:rgba(var(--brand-og-accent-rgb),.06);color:var(--brand-og-accent);border-color:rgba(var(--brand-og-accent-rgb),.15) !important;}
.psp-groupby-hint{color:#9CA3AF;}
.psp-pricing-note{background:rgba(var(--brand-og-accent-rgb),.04);border-color:rgba(var(--brand-og-accent-rgb),.12);color:var(--brand-og-accent);}
.psp-pricing-ok{background:rgba(16,163,74,.04);border-color:rgba(16,163,74,.12);color:#0A7A56;}
.psp-list-item input{background:#F9FAFB;border:1px solid rgba(0,0,0,.1);color:#111827;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);}
.psp-list-del{border-color:rgba(0,0,0,.08);color:#9CA3AF;}
.psp-list-del:hover{border-color:rgba(220,38,38,.3);color:var(--color-danger);background:rgba(220,38,38,.04);}
.psp-add-btn{background:rgba(var(--brand-og-accent-rgb),.06);border-color:rgba(var(--brand-og-accent-rgb),.20);color:var(--brand-og-accent);box-shadow:0 1px 3px rgba(var(--brand-og-accent-rgb),.08);}
.psp-add-btn:hover{background:rgba(var(--brand-og-accent-rgb),.12);box-shadow:0 2px 6px rgba(var(--brand-og-accent-rgb),.12);}
.psp-edit-btn{background:var(--bg);border-color:rgba(0,0,0,.06);color:#6B7280;}
.psp-edit-btn:hover{background:rgba(var(--brand-og-accent-rgb),.06);border-color:rgba(var(--brand-og-accent-rgb),.20);color:var(--brand-og-accent);}
.psp-move-btn{background:rgba(var(--brand-og-accent-rgb),.04);border-color:rgba(var(--brand-og-accent-rgb),.15);color:var(--brand-og-accent);}
.psp-progress-bar{background:#E5E7EB;}
/* Toast notifications — full styling now lives in components.css
   (R6.2, audit §4.6). Banned border-left stripes removed; color
   signal now carried by bg tint + icon color per CLAUDE.md. */

/* ── Focus Rings (Accessibility) ──────────────────────────
   Double-ring: white inner, accent outer. */
button:focus-visible,
input:focus-visible,
select:focus-visible,
a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4px rgba(var(--accent-rgb),.5);
}

/* ── SVG Chart Fixes — .dka-* descendants removed Track D.2 (parent container absent). ── */
svg text[fill="var(--text)"] {
  fill: #1A1A1A;
}
svg text[fill="var(--muted)"] {
  fill: #4B5563;
}

/* ── Portfolio Overview ───────────────────────────────────── */
.dt-portfolio-btn,
.dt-row.dt-portfolio-row {
  color: var(--text);
  background: rgba(var(--accent-rgb),.06);
  border-radius: 6px;
}
.dt-row.dt-portfolio-row:hover {
  background: rgba(var(--accent-rgb),.1);
}

/* ══════════════════════════════════════════════════════════════
   TASK 1 — LIGHT THEME VISUAL AUDIT + UI POLISH
══════════════════════════════════════════════════════════════ */

/* KPI strip — light tinted cards */
.dk-kpi-card{
  background:rgba(var(--brand-og-accent-rgb),.10);
  border:none;
  color:var(--text);
  border-radius:12px;
  box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 12px rgba(0,0,0,.05);
  transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);
  cursor:default;
}
.dk-kpi-card:hover{
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.dk-kpi-val{
  color:var(--text);
  text-shadow:none;
}
.dk-kpi-title{
  color:var(--accent);font-size:12px;font-weight:700;font-family:inherit;
}
.dk-kpi-lbl{
  font-size:10px;text-transform:none;letter-spacing:.01em;
  color:var(--muted);
}
.dk-kpi-sub{
  color:var(--dim);
}

/* #2 Financial row labels — .dka-*-lbl rules removed Track D.2 (parent container absent). */

/* #3 Pipeline stage labels — use stage color for text (set inline by JS) */
/* Already set via inline style in render. No CSS needed. */

/* #4 Call Tracker — light theme override for donut/bar area */
.dk-goal-ring-wrap svg circle[stroke="var(--glass)"]{stroke:rgba(0,0,0,.08);}
.dk-goal-num{color:var(--text);}
.dk-goal-lbl{color:var(--muted);}
/* dk-ct-out-dot removed — dots hidden via display:none */

/* #5 Recent Activity accent line */

/* #6 Deals Pipeline summary text overrides — strict-dead, removed Track D.2 (2026-05-06).
   .dk-pipe-label / .dk-pipe-count: same dk-deals-widget container missing in V3. */

/* #7 Owner hover preview — stronger border on light bg */
.owner-preview{
  border:1px solid rgba(0,0,0,.15);
  background:#FAFBFC;
}

.pv-pause-btn{background:#F9FAFB;border:1px solid #E5E7EB;color:#6B7280;}
.pv-pause-btn:hover{background:#F3F4F6;border-color:#D1D5DB;color:#374151;}
.pv-pause-btn.pv-paused{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.3);color:#B45309;}
.pv-pause-btn.pv-paused:hover{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.45);}
.pv-paused-banner{background:rgba(245,158,11,.06);border-color:rgba(245,158,11,.2);color:#92400E;}
.dt-paused-tag{background:rgba(245,158,11,.1);color:#92400E;}

/* #10 + Add Owner button — more contrast */
.cb-tbl-add{
  background:var(--brand-og-accent);border:none;color:#FFFFFF;font-weight:700;border-radius:8px;
  box-shadow:0 1px 4px rgba(var(--brand-og-accent-rgb),.25);transition:all .15s;
}
.cb-tbl-add:hover{
  background:var(--brand-og-accent-hover);box-shadow:0 4px 12px rgba(var(--brand-og-accent-rgb),.30);
}

/* #11 Export CSV link — more contrast */
.cb-export-btn{
  color:var(--accent-deep);border-color:rgba(var(--accent-rgb),.35);
  background:rgba(var(--accent-rgb),.1);font-weight:700;
}
.cb-export-btn:hover{
  background:rgba(var(--accent-rgb),.18);border-color:rgba(var(--accent-rgb),.5);
}

/* #12 + #15 Owner modal call log / call history — light override */
.om-call-card{
  background:rgba(16,185,129,.05);
  border:2px solid rgba(16,185,129,.18);
}
.om-call-card-hdr{
  background:rgba(16,185,129,.03);
  border-bottom:1px solid rgba(16,185,129,.12);
}

/* #14 Answered/No Answer buttons */

/* #16 Legal card NRA values — ensure readable blue */
.om-brief-legal-card .oc-well-nra,
.om-brief-legal-card .td-mono{color:var(--text);}
.oc-well-nra{color:var(--text);}

/* #17 View/Edit link — visible */
.om-brief-legal-card .oc-view-edit{
  color:var(--accent-deep);font-weight:600;
}

/* #18 Deal column headers — bigger, more visible */
.deal-column-hdr{
  background:rgba(var(--accent-rgb),.06);
}
.deal-column-hdr span:first-child{
  color:var(--text);font-size:12px;font-weight:700;
}
.deal-column-count{
  background:rgba(0,0,0,.08);color:var(--text);
}

/* #19 Deal card doc badges — more visible */
.deal-card .deal-docs-count{
  background:rgba(var(--accent-rgb),.1);color:var(--accent-deep);
  border:1px solid rgba(var(--accent-rgb),.2);font-weight:600;
}

/* #21 Deal column — top accent stripe removed in R8 L4 Job 10 (BAN 3).
   Column identity carried by the column heading (stage name). */

/* #23 Status badges — better readability on white */
.cs-answered{
  background:rgba(10,122,86,.1);color:#065F46;border:1px solid rgba(10,122,86,.25);font-weight:600;
}
.cs-completed{
  background:rgba(10,122,86,.12);color:#065F46;border:1px solid rgba(10,122,86,.28);font-weight:600;
}
.cs-converted{
  background:rgba(6,182,212,.1);color:#0E7490;border:1px solid rgba(6,182,212,.25);font-weight:600;
}

/* #24 + Add Owner in Contact Book header — visible */
.cb-action-btn{
  background:#FFFFFF;border:1px solid rgba(0,0,0,.12);color:var(--text);font-weight:600;
}

/* #35 Global: sentence-case labels (light mode only — keep dark mode uppercase) */
.kpi-label{
  font-size:10px;text-transform:none;letter-spacing:.01em;color:var(--muted);
}
.kpi-expand-toggle{text-transform:none;}
.cb-stat-lbl{text-transform:none;font-size:9px;}
.nq-page-stat-lbl{text-transform:none;font-size:9px;}
.pv-metric-lbl{text-transform:none;font-size:9px;}
.pv-ctx-lbl{text-transform:none;}
.dk-goal-lbl{text-transform:none;font-size:10px;}
.dk-ct-act-lbl{text-transform:none;font-size:10px;}
.dk-ct-bar-lbl{text-transform:none;}
.op-stat-lbl{text-transform:none;}
.gcg-label{text-transform:none;}
thead th{text-transform:none;font-size:10px;letter-spacing:.02em;}

/* #36 .dka-action-section / .dka-act-* rules removed Track D.2 (parent container absent). */

/* #37 Remaining var(--text-on-dark) — search box input on light */
/* (already overridden above — .search-box input color:var(--text)) */

/* #38 Progress ring grow animation (applies to both themes) */
@keyframes ringGrow{
  from{stroke-dasharray:0 999;}
}

/* #39 Overdue rows — subtle red tint */
tbody tr.row-overdue{
  background:rgba(163,24,24,.04) !important;
}
tbody tr.row-overdue:hover{
  background:rgba(163,24,24,.08) !important;
}

/* #40 Goal reached state — subtle, no green bg */
.dk-goal-reached{background:#FFFFFF;border-color:rgba(0,0,0,.07);}
.dk-goal-reached .dk-goal-num{color:#111827;}

/* ── Sprint D: Light Theme Completion (34 missing overrides) ──────── */

/* Analytics section — all white text → dark text */
.an-chart-panel-hdr{color:#111827;}
.an-kpi-lbl{color:#6B7280;}
.an-kpi-num{color:#111827;}
.an-legend-label{color:#374151;}
.an-legend-val{color:#111827;}
.an-perf-stat-lbl{color:#374151;}
.an-perf-stat-val{color:#111827;}
.an-ring-lbl{color:#374151;}
.an-status-lbl{color:#111827;}
.an-status-sub{color:#6B7280;}

/* Project tree items */
.dpi-num{color:#111827;}
.dpi-view-btn{color:var(--brand-og-accent);background:rgba(var(--brand-og-accent-rgb),.06);border:1px solid rgba(var(--brand-og-accent-rgb),.15);border-radius:6px;}
.dpi-view-btn:hover{background:rgba(var(--brand-og-accent-rgb),.12);}
.dpi-bar-pct{color:#6B7280;}

/* Analysis ring/stat labels */
.pa-ring-lbl{color:#6B7280;}
.pa-stat-label{color:#6B7280;}

/* Misc components with white text on dark */
.clog-user{color:#111827;}
.dk-kpi-tooltip{background:#1E293B;border-color:rgba(255,255,255,.1);}
.dk-kpi-tooltip::before{border-bottom-color:#1E293B;}
.dk-kpi-tip-row{color:rgba(255,255,255,.8);}
.dk-kpi-tip-row b{color:#FFFFFF;}
.modal-col-title{color:#6B7280;}
.nq-avatar{color:#FFFFFF;} /* keep white on colored bg */
.om-user-dot{color:#FFFFFF;} /* keep white on colored bg */

/* Buttons — keep white text on colored backgrounds */
.dash-import-btn{color:#FFFFFF;}
.om-edit-contacts-btn{color:#FFFFFF;}

/* View-specific background for light mode */
#view-dashboard,
#view-all,
#view-project,
#view-deals{
  background:#F0F4F8;
  background-image:none;
}

/* Dashboard header separator overrides removed 2026-05-05 (Layer 21).
   #dk-pipeline / .dk-goals-card / .dk-tree-card all confirmed dead. */

/* Ring track for SVG charts on light bg */
svg circle[stroke="var(--ring-track)"]{stroke:#D1D5DB;}
svg circle[stroke="rgba(255,255,255,.12)"]{stroke:rgba(0,0,0,.08);}
svg circle[stroke="rgba(255,255,255,.3)"]{stroke:rgba(0,0,0,.1);}
