/* All brand tokens, fonts, and surfaces come from CLOSE's actual brand.css
   (loaded first in index.html; root carries class="cc" for the Command Center
   surface). This file is layout/components only — no token redefinition. */
* { box-sizing: border-box; margin: 0; }
html, body { height: 100%; }
body { font-family: var(--font); color: var(--ink); background: var(--cc-bg); font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.hidden { display: none !important; }
a { color: var(--brand); text-decoration: none; }
.num, td.num, .v { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }

/* ── login ── */
.overlay { position: fixed; inset: 0; background: var(--sidebar); z-index: 50; display: flex; align-items: center; justify-content: center; }
.login-card { background: var(--panel); border-radius: 22px; padding: 40px 36px 30px; width: 360px; text-align: center; border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(12,32,48,.05), 0 24px 60px rgba(8,28,40,.28); }
.login-tile { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 18px; margin-bottom: 16px; background: radial-gradient(120% 120% at 50% 30%, #F4FBFD, #E2F1F6); border: 1px solid #D6E6EC; box-shadow: 0 1px 2px rgba(12,32,48,.12), 0 10px 30px rgba(8,28,40,.10); }
.login-tile .mark { width: 42px; height: 42px; }
.login-card h1 { font-size: 30px; font-weight: 800; letter-spacing: .05em; color: var(--ink); }
.login-eyebrow { display: block; font-size: 11px; font-weight: 700; letter-spacing: .34em; color: var(--brand); margin-bottom: 5px; }
.login-card h1.login-word { font-size: 40px; font-weight: 800; letter-spacing: -.015em; }
.login-tag { color: var(--brand); font-size: 14px; font-weight: 700; letter-spacing: -.01em; margin: 5px 0 22px; }
.login-card input { width: 100%; padding: 12px 14px; margin-bottom: 12px; border-radius: 11px; border: 1px solid var(--line); background: var(--panel-2); color: var(--ink); font-family: inherit; font-size: 14px; }
.login-card button { width: 100%; }
.login-foot { color: var(--dim); font-size: 11px; letter-spacing: .04em; margin-top: 18px; }
.err { color: var(--bad); min-height: 1.2em; margin-top: 10px; font-size: 12.5px; }

button { background: var(--brand); color: #fff; border: 0; border-radius: 11px; padding: 9px 16px; font-size: 13.5px; font-weight: 700; letter-spacing: -.01em; cursor: pointer; font-family: inherit; transition: filter .15s ease; }
button:hover { filter: brightness(1.07); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
button.ghost { background: var(--panel); border: 1px solid var(--line); color: var(--ink-soft); }
button:disabled { opacity: .5; cursor: not-allowed; }

/* ── shell: sidebar + main ── */
.shell { display: flex; min-height: 100vh; }
.sidebar { width: 258px; flex: 0 0 258px; background: #072530; color: #CFE0E6; padding: 20px 14px; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; overflow-y: auto; min-height: 0; }
.sidebar::-webkit-scrollbar { width: 0; }
.brand { display: flex; align-items: center; gap: 13px; padding: 2px 6px 16px; border-bottom: 1px solid rgba(255,255,255,.09); }
.brand-tile { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 12px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); display: grid; place-items: center; }
.brand-tile .mark { width: 28px; height: 28px; }
.brand-text { display: flex; flex-direction: column; }
.brand-eyebrow { font-size: 9px; font-weight: 700; letter-spacing: .26em; color: #39B5C8; line-height: 1; margin-bottom: 3px; }
.brand-name { font-size: 22px; font-weight: 800; letter-spacing: -.01em; color: #fff; line-height: 1; }
nav { display: flex; flex-direction: column; gap: 2px; }
.nav-item { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; padding: 9px 12px; border-radius: 10px; background: transparent; color: #CFE0E6; font-size: 14px; font-weight: 600; white-space: nowrap; border: 0; border-left: 2px solid transparent; cursor: pointer; }
.nav-item:hover { background: rgba(255,255,255,.05); filter: none; }
.nav-item.active { color: #fff; background: rgba(46,182,205,.16); border-left-color: #10A0B0; }
.nav-item.active .nav-ic { color: #2EB6CD; }
.nav-ic { flex: none; display: flex; align-items: center; color: #6E8C97; }
.nav-ic svg { width: 18px; height: 18px; }
.nav-ic-gold { color: #B58210; }
.nav-item.active .nav-ic-gold { color: #B58210; }
.nav-item .nav-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
/* section headers */
.nav-group { padding: 0 12px; margin: 20px 0 8px; }
.nav-group .nav-label { font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; color: #6E8C97; }
/* badges */
.nav-badge { flex: none; margin-left: auto; font-size: 11px; font-weight: 800; border-radius: 6px; padding: 1px 7px; background: rgba(255,255,255,.08); color: #6E8C97; font-variant-numeric: tabular-nums; }
.nav-badge.on { background: #10A0B0; color: #fff; }
/* prospecting chevron */
.nav-caret { flex: none; margin-left: auto; display: flex; align-items: center; color: #6E8C97; cursor: pointer; transition: transform .18s; }
.nav-caret svg { width: 12px; height: 12px; }
.nav-parent:not(.units-collapsed) .nav-caret { transform: rotate(90deg); }
/* expandable units */
.nav-units.collapsed { display: none; }
.nav-sub { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 12px 7px 30px; font-size: 13px; font-weight: 600; color: #6E8C97; border-left: 0; border-radius: 8px; }
.nav-sub:hover { background: rgba(255,255,255,.05); color: #fff; }
.nav-sub.active { color: #fff; background: rgba(46,182,205,.12); }
.nav-sub .nav-label { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-sub-n { flex: none; font-size: 11px; font-weight: 700; opacity: .85; font-variant-numeric: tabular-nums; }
.side-stats { display: flex; flex-direction: column; gap: 9px; padding: 12px 10px; border-top: 1px solid rgba(255,255,255,.08); font-size: 12px; color: var(--sidebar-dim); }
.side-stats b { color: var(--sidebar-ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.side-stats .stat { color: var(--sidebar-dim); cursor: pointer; border-radius: 7px; margin: -3px -6px; padding: 3px 6px; transition: background .12s ease; }
.side-stats .stat:hover { background: rgba(255,255,255,.06); }
.side-stats .stat:hover b { color: var(--sidebar-active); }
.side-foot { margin-top: auto; padding: 16px 12px 4px; font-size: 11px; line-height: 1.5; color: #6E8C97; border-top: 1px solid rgba(255,255,255,.08); }

main { flex: 1; max-width: 1160px; padding: 26px 28px 80px; }
.page-title { font-size: 26px; font-weight: 800; letter-spacing: -.025em; margin-bottom: 2px; }
.page-sub { font-size: 14px; color: var(--dim); margin-bottom: 18px; }

/* ── search bar ── */
.searchbar { display: flex; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.searchbar input, .searchbar select { padding: 9px 12px; border-radius: 11px; border: 1px solid var(--line); background: var(--panel); color: var(--ink); font-family: inherit; font-size: 13.5px; }
.searchbar input[type="text"] { flex: 1; min-width: 220px; }

/* ── panels & tables ── */
.panel { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; margin-bottom: 14px; box-shadow: var(--shadow-card); }
.panel h3 { font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--dim); margin-bottom: 10px; }
table { width: 100%; border-collapse: collapse; }
th { text-align: left; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--dim); padding: 11px 12px; border-bottom: 1px solid var(--line); white-space: nowrap; }
td { padding: 11px 12px; border-top: 1px solid var(--line); font-size: 13.5px; }
tr:first-child td { border-top: 0; }
tr.row:hover { background: var(--sand); cursor: pointer; }
.num { text-align: right; }
.muted { color: var(--dim); }
.pill { display: inline-flex; align-items: center; font-size: 11px; font-weight: 700; letter-spacing: .02em; padding: 3px 9px; border-radius: 8px; background: var(--panel-2); color: var(--dim); white-space: nowrap; }
.pill.good { background: var(--good-bg); color: var(--good); }
.pill.warn { background: var(--warn-bg); color: var(--warn); }
.pill.bad { background: var(--bad-bg); color: var(--bad); }

/* ── stat cards ── */
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 14px 0; }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 13px 15px; box-shadow: var(--shadow-card); }
.card .l { font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--dim); }
.card .v { font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: var(--num); margin-top: 4px; line-height: 1.1; }

/* ── home dashboard ── */
.viz-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
@media (max-width: 900px) { .viz-grid { grid-template-columns: 1fr; } }
.viz-grid .panel { margin-bottom: 0; }
.chart-box { position: relative; height: 230px; }
.covbar { display: flex; align-items: center; gap: 10px; margin: 9px 0; }
.covbar .cl { width: 110px; font-size: 12.5px; color: var(--ink-soft); font-weight: 600; flex-shrink: 0; }
.covbar .ct { flex: 1; height: 10px; background: var(--panel-2); border-radius: 6px; overflow: hidden; }
.covbar .cf { height: 100%; border-radius: 6px; background: var(--brand); }
.covbar .cv { width: 92px; text-align: right; font-size: 12px; color: var(--dim); font-variant-numeric: tabular-nums; flex-shrink: 0; }

.seg { display: inline-flex; background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 3px; gap: 2px; }
.seg-btn { background: transparent; color: var(--dim); border: 0; border-radius: 8px; padding: 6px 18px; font-size: 13px; font-weight: 700; cursor: pointer; }
.seg-btn:hover { color: var(--ink); filter: none; }
.seg-btn.active { background: var(--panel); color: var(--brand-deep); box-shadow: var(--shadow-card); }

/* large segmented toggle (Firms / Advisors on the Discover page) */
.seg-lg { display: inline-flex; background: var(--panel-2); border: 1px solid var(--line); border-radius: 13px; padding: 4px; gap: 4px; }
.seg-lg .seg-btn { display: flex; align-items: center; gap: 11px; padding: 9px 22px 9px 16px; border-radius: 10px; transition: background .15s ease, color .15s ease, box-shadow .15s ease; }
.seg-lg .seg-ic { font-size: 19px; line-height: 1; color: var(--dim); transition: color .15s ease; }
.seg-lg .seg-tx { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; }
.seg-lg .seg-tx b { font-size: 14px; font-weight: 800; }
.seg-lg .seg-tx i { font-size: 11px; font-style: normal; font-weight: 700; color: var(--dim); font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.seg-lg .seg-btn.active { background: var(--panel); box-shadow: var(--shadow-card); }
.seg-lg .seg-btn.active .seg-ic { color: var(--brand); }
.seg-lg .seg-btn.active .seg-tx b { color: var(--brand-deep); }
.seg-lg .seg-btn.active .seg-tx i { color: var(--brand); }

/* Advisor list: name is the primary action (bold + brand link), firm is a quiet secondary link */
.adv-link { font-weight: 800; color: var(--ink); }
.adv-link:hover { color: var(--brand); text-decoration: underline; text-underline-offset: 2px; }
tr.row:hover .adv-link { color: var(--brand); }
.firm-link { color: var(--dim); font-weight: 500; }
.firm-link:hover { color: var(--brand-deep); text-decoration: underline; }

.avatar { width: 104px; height: 104px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 3px solid var(--line); background: var(--panel-2); box-shadow: var(--shadow-card); }
.avatar-mono { display: flex; align-items: center; justify-content: center; background: var(--brand-deep); color: #fff; font-size: 36px; font-weight: 800; border-color: var(--brand-deep); }
.logo { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 7px; background: var(--brand-deep); color: #fff; font-size: 12px; font-weight: 800; }
.logo-img { width: 26px; height: 26px; border-radius: 7px; object-fit: contain; background: #fff; border: 1px solid var(--line); }
.leaflet-popup-content { font-family: var(--font); font-size: 12.5px; }
.leaflet-container { font-family: var(--font); }

.enrich-btn { background: var(--panel); border: 1px solid var(--brand); color: var(--brand); border-radius: 8px; padding: 4px 10px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.enrich-btn:hover { background: var(--brand); color: #fff; filter: none; }
.enrich-btn:disabled { border-color: var(--line); color: var(--dim); background: var(--panel-2); }

.firm-head h2 { font-size: 22px; font-weight: 800; letter-spacing: -.02em; }
.firm-head .sub { color: var(--dim); font-size: 13px; margin-top: 2px; }
.links { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 10px; font-size: 13px; font-weight: 600; }
.pager { display: flex; gap: 10px; align-items: center; margin-top: 12px; color: var(--dim); font-size: 13px; }

/* ── chat dock ── */
/* ===== Ask Argus — floating FAB ⇄ compact window ===== */
.argus-fab { position: fixed; right: 30px; bottom: 30px; z-index: 60; display: flex; align-items: center; gap: 11px; background: #072530; color: #fff; border: none; border-radius: 999px; padding: 8px 18px 8px 8px; cursor: pointer; box-shadow: 0 12px 34px rgba(8,28,40,.16); font: inherit; font-weight: 700; font-size: 14.5px; letter-spacing: -.01em; transition: transform .14s; }
.argus-fab:hover { transform: translateY(-2px); filter: none; }
.argus-fab.hidden { display: none; }
.argus-fab-av { width: 40px; height: 40px; border-radius: 50%; }
.argus-fab-badge { background: #10A0B0; color: #fff; font-size: 11px; font-weight: 800; border-radius: 999px; padding: 2px 7px; }
.argus-pop { position: fixed; right: 30px; bottom: 30px; z-index: 60; width: 392px; max-width: calc(100vw - 48px); background: #fff; border: 1px solid #E2E9EF; border-radius: 18px; box-shadow: 0 12px 34px rgba(8,28,40,.16); overflow: hidden; display: flex; flex-direction: column; max-height: calc(100vh - 60px); }
.argus-pop.hidden { display: none; }
.pop-h { display: flex; align-items: center; gap: 11px; padding: 14px 16px; background: #072530; color: #fff; }
.pop-av { width: 34px; height: 34px; border-radius: 50%; }
.pop-h .pn { font-weight: 800; font-size: 15px; }
.pop-h .ps { font-size: 11.5px; color: #6E8C97; margin-top: 1px; }
.pop-x { margin-left: auto; width: 28px; height: 28px; border-radius: 8px; background: rgba(255,255,255,.1); color: #fff; border: none; cursor: pointer; font-size: 12px; }
.pop-x:hover { background: rgba(255,255,255,.2); }
.pop-body { padding: 16px; display: flex; flex-direction: column; gap: 11px; background: #F7FAFC; overflow-y: auto; flex: 1; }
.argus-user { align-self: flex-end; max-width: 85%; background: #10A0B0; color: #fff; font-size: 13.5px; line-height: 1.5; border-radius: 13px; border-top-right-radius: 5px; padding: 10px 13px; white-space: pre-wrap; }
.abub { align-self: flex-start; max-width: 95%; font-size: 13.5px; line-height: 1.5; color: #2A3F50; background: #fff; border: 1px solid #E2E9EF; border-radius: 13px; border-top-left-radius: 5px; padding: 11px 14px; white-space: pre-wrap; }
.ares { display: block; text-decoration: none; background: #fff; border: 1px solid #E2E9EF; border-left: 3px solid var(--ac, #10A0B0); border-radius: 13px; padding: 13px 15px; }
a.ares { cursor: pointer; } a.ares:hover { box-shadow: 0 2px 12px rgba(8,28,40,.1); }
.ares-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-weight: 800; font-size: 14px; color: #0C2030; }
.ares-chip { min-width: 34px; text-align: center; padding: 4px 8px; border-radius: 8px; font-weight: 800; font-size: 14px; font-variant-numeric: tabular-nums; }
.ares-chip.good { color: #0F8C5D; background: #E4F4ED; } .ares-chip.warn { color: #B58210; background: #FBF0DC; } .ares-chip.bad { color: #C53030; background: #FBE7E7; }
.ares-sub { font-size: 12px; color: #5B6B7B; margin-top: 6px; }
.argus-think { display: flex; align-items: center; gap: 4px; align-self: flex-start; font-size: 12.5px; color: #5B6B7B; padding: 4px 2px; }
.argus-think span { width: 6px; height: 6px; border-radius: 50%; background: #5B6B7B; display: inline-block; animation: argusdot 1s infinite; }
.argus-think span:nth-child(2) { animation-delay: .15s; } .argus-think span:nth-child(3) { animation-delay: .3s; margin-right: 5px; }
@keyframes argusdot { 0%,100% { opacity: .3; } 50% { opacity: 1; } }
.pop-sugg { display: flex; flex-wrap: wrap; gap: 8px; padding: 13px 16px 0; background: #fff; }
.pop-sugg span { font-size: 12px; font-weight: 600; color: #2A3F50; background: #F7FAFC; border: 1px solid #E2E9EF; border-radius: 999px; padding: 6px 11px; cursor: pointer; }
.pop-sugg span:hover { border-color: #10A0B0; color: #10A0B0; }
.pop-input { display: flex; align-items: center; gap: 9px; margin: 13px 16px 16px; background: #F7FAFC; border: 1px solid #E2E9EF; border-radius: 11px; padding: 11px 13px; color: #5B6B7B; }
.pop-input:focus-within { border-color: #10A0B0; }
.pop-input input { flex: 1; border: none; background: transparent; font: inherit; font-size: 13px; color: #0C2030; outline: none; }

/* Discover — collapsible Annuity-targeting dashboard */
.at-toggle { display: flex; align-items: center; gap: 9px; width: 100%; text-align: left; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 13px 16px; margin: 22px 0 0; font: inherit; font-size: 16px; font-weight: 800; letter-spacing: -.01em; color: var(--ink); cursor: pointer; box-shadow: var(--shadow-card); }
.at-toggle:hover { border-color: var(--brand); filter: none; }
.at-caret { color: var(--brand); font-size: 13px; }
.at-sub { font-size: 13px; font-weight: 600; color: var(--dim); letter-spacing: 0; }
#at-body { margin-top: 16px; }
.spinner::after { content: "···"; color: var(--brand); animation: dotPulse 1s ease-in-out infinite; margin-left: 4px; }
@keyframes dotPulse { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }

@media (max-width: 900px) {
  .sidebar { width: 64px; padding: 18px 8px 14px; }
  .nav-label, .brand-text, .side-stats, .side-foot, .nav-item kbd { display: none; }
  .nav-item { justify-content: center; }
  main { padding: 18px 14px 60px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ══════════════════════════════════════════════════════════════
   Advisor Section — design handoff (CLOSE · RIA "Today's targets"
   worklist + Dossier profile). Tokens from brand.css; these three
   aren't defined there, so derive them locally.
   ══════════════════════════════════════════════════════════════ */
:root { --brand-tint: #E2F4F6; --line-soft: #EDF2F7; --gold-bg: #FBF2DC; }

.adv-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--dim); }
.adv-eyebrow .src { font-weight: 700; opacity: .7; }

@keyframes adv-shimmer { 0% { background-position: -180% 0; } 100% { background-position: 180% 0; } }
.shimmer { background: linear-gradient(100deg, var(--panel-2) 38%, color-mix(in srgb, var(--brand) 9%, var(--panel-2)) 50%, var(--panel-2) 62%); background-size: 200% 100%; animation: adv-shimmer 1.5s ease-in-out infinite; border-radius: 7px; display: block; }
@keyframes adv-pulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .45; transform: scale(.82); } }
.livedot { width: 7px; height: 7px; border-radius: 50%; background: var(--good); display: inline-block; animation: adv-pulse 1.8s ease-in-out infinite; }
@keyframes adv-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.fadein { animation: adv-fade .4s cubic-bezier(.22,1,.36,1) both; }

/* signal chips */
.chip { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 700; letter-spacing: -.01em; padding: 4px 9px; border-radius: 7px; white-space: nowrap; line-height: 1; }
.chip svg { flex: 0 0 auto; }
.chip-on { background: var(--good-bg); color: var(--good); }
.chip-off { background: var(--panel-2); color: var(--dim); border: 1px dashed var(--line); }
.chip-brand { background: var(--brand-tint); color: var(--brand); }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chips.dense .chip { font-size: 11px; padding: 3px 8px; }

/* fit verdict */
.fit-badge { display: inline-flex; align-items: center; gap: 7px; border-radius: 9px; padding: 6px 12px; font-weight: 800; font-size: 14px; letter-spacing: -.01em; line-height: 1; }
.fit-badge .dot { width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.fit-good { background: var(--good-bg); color: var(--good); }
.fit-warn { background: var(--warn-bg); color: var(--warn); }
.fit-dim  { background: var(--panel-2); color: var(--dim); }
.fit-meter { display: flex; flex-direction: column; gap: 7px; }
.fit-meter .row { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.fit-meter .score { font-weight: 800; font-size: 18px; line-height: 1; }
.fit-track { height: 6px; border-radius: 4px; background: var(--panel-2); overflow: hidden; }
.fit-fill { height: 100%; border-radius: 4px; transition: width .5s cubic-bezier(.22,1,.36,1); }

/* design buttons (distinct from the global solid button) */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: inherit; font-weight: 700; font-size: 14px; letter-spacing: -.01em; border-radius: 11px; border: 1px solid transparent; cursor: pointer; padding: 12px 18px; transition: all .15s; white-space: nowrap; }
.btn-primary { background: var(--brand); color: #fff; }
.btn-primary:hover { background: color-mix(in srgb, var(--brand) 88%, #000); filter: none; }
.btn-ghost { background: var(--panel); color: var(--ink-soft); border-color: var(--line); }
.btn-ghost:hover { border-color: var(--brand); color: var(--brand); filter: none; }
.btn[disabled] { opacity: .7; cursor: default; }
.btn.full { width: 100%; }

/* ── Worklist "Today's targets" ── */
.wl-head h1 { font-size: 27px; font-weight: 800; letter-spacing: -.03em; }
.wl-live { display: inline-flex; align-items: center; gap: 6px; background: var(--brand-tint); color: var(--brand); border-radius: 8px; padding: 5px 10px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.wl-utility { display: flex; gap: 10px; align-items: center; margin: 18px 0 20px; }
.wl-search { flex: 1; display: flex; align-items: center; gap: 9px; background: var(--panel); border: 1px solid var(--line); border-radius: 11px; padding: 10px 14px; }
.wl-search input { border: 0; background: transparent; flex: 1; font-family: inherit; font-size: 13.5px; color: var(--ink); }
.wl-search input::placeholder { color: var(--dim); }
.selectish { display: flex; align-items: center; gap: 8px; background: var(--panel); border: 1px solid var(--line); border-radius: 11px; padding: 9px 12px; font-size: 13px; font-weight: 600; color: var(--ink-soft); white-space: nowrap; }
.selectish select { border: 0; background: transparent; font-family: inherit; font-size: 13px; font-weight: 600; color: var(--ink-soft); cursor: pointer; }
.wl-panel { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-card); overflow: hidden; }
.wl-grid { display: grid; grid-template-columns: 52px 1.55fr 1.4fr 232px 152px 116px 18px; gap: 16px; align-items: center; }
.wl-thead { padding: 13px 22px; border-bottom: 1px solid var(--line); background: var(--panel-2); font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }
.wl-row { padding: 15px 22px; border-bottom: 1px solid var(--line-soft); cursor: pointer; transition: background .12s; }
.wl-row:last-child { border-bottom: 0; }
.wl-row:hover { background: var(--panel-2); }
.wl-row:hover .wl-name { color: var(--brand); }
.wl-score { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.wl-score .n { font-weight: 800; font-size: 19px; line-height: 1; }
.wl-score .lbl { font-size: 9px; font-weight: 800; letter-spacing: .06em; color: var(--dim); text-transform: uppercase; }
.wl-name { font-weight: 800; font-size: 15.5px; letter-spacing: -.015em; color: var(--ink); transition: color .12s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wl-sub { font-size: 12.5px; color: var(--dim); margin-top: 2px; }
.wl-firm { font-size: 13.5px; color: var(--ink-soft); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wl-fact { font-size: 12.5px; color: var(--dim); }
.wl-fact b { color: var(--ink-soft); font-weight: 700; }
.wl-stat { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; }
.wl-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; font-size: 13px; color: var(--dim); }

/* ── Dossier profile ── */
.dossier { display: grid; grid-template-columns: 300px 1fr; gap: 20px; align-items: start; }
@media (max-width: 860px) { .dossier { grid-template-columns: 1fr; } }
.crumb { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.crumb-back { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); background: var(--panel); border-radius: 9px; padding: 7px 12px; font-size: 12.5px; font-weight: 700; color: var(--ink-soft); cursor: pointer; }
.crumb-back:hover { border-color: var(--brand); color: var(--brand); filter: none; }
.crumb-firm { font-size: 12.5px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--brand); }
.rail { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 16px; }
@media (max-width: 860px) { .rail { position: static; } }
.adv-av { width: 56px; height: 56px; border-radius: 50%; background: var(--brand-deep); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 20px; }
.adv-sq { width: 30px; height: 30px; border-radius: 8px; background: var(--brand-deep); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 12px; flex: 0 0 auto; }
.rail-name { font-weight: 800; font-size: 21px; letter-spacing: -.025em; line-height: 1.1; }
.rail-stat { display: flex; align-items: center; justify-content: space-between; }
.rail-stat .k { font-size: 12.5px; color: var(--dim); font-weight: 600; }
.rail-stat .v { font-weight: 800; font-size: 16px; color: var(--num); }
.opening { border-left: 3px solid var(--brand); background: var(--sand); border-radius: 0 12px 12px 0; padding: 14px 18px 14px 16px; }
.opening .txt { font-size: 15px; line-height: 1.55; color: var(--ink); font-weight: 500; }
.enrich-gate { border: 1px solid var(--brand); border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-card); }
.enrich-gate .body { padding: 22px 24px 24px; background: linear-gradient(180deg, var(--brand-tint), var(--panel) 60%); }
.enrich-gate h4 { font-weight: 800; font-size: 16.5px; letter-spacing: -.02em; margin-bottom: 11px; display: flex; align-items: center; gap: 9px; }
.enrich-gate .unlocks { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 20px; margin: 16px 0 20px; }
.enrich-gate .unlocks div { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--ink-soft); }
.disc-chip { display: inline-flex; align-items: center; gap: 7px; border-radius: 9px; padding: 7px 12px; font-weight: 700; font-size: 12.5px; letter-spacing: -.01em; border: 0; }
.disc-clean { background: var(--good-bg); color: var(--good); cursor: default; }
.disc-has { background: var(--warn-bg); color: var(--warn); cursor: pointer; }
.dossier .panel { margin-bottom: 0; }
.dcol { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.stat-card { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-card); padding: 16px 18px; flex: 1; min-width: 0; }
.stat-card .l { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--dim); margin-bottom: 8px; }
.stat-card .v { font-weight: 800; font-size: 26px; letter-spacing: -.02em; color: var(--num); line-height: 1; }
.stat-row { display: flex; gap: 14px; }

/* advisor drill-down facet chips */
.facetbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 12px 14px; border-bottom: 1px solid var(--line); background: var(--panel-2); }
.facetbar-l { font-size: 10.5px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--dim); margin-right: 2px; }
.facet-chip { background: var(--panel); border: 1px solid var(--line); color: var(--ink-soft); border-radius: 999px; padding: 5px 11px; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: all .12s; }
.facet-chip:hover { border-color: var(--brand); color: var(--brand); filter: none; }
.facet-chip .num { color: var(--dim); font-weight: 700; margin-left: 3px; }
.facet-chip.on { background: var(--brand); border-color: var(--brand); color: #fff; }
.facet-chip.on .num { color: rgba(255,255,255,.8); }
.facet-chip:disabled { opacity: .4; cursor: default; }
.facet-chip.clear { border-style: dashed; color: var(--dim); }

/* sidebar saved badge */
.nav-badge { margin-left: auto; font-size: 11px; font-weight: 800; background: var(--brand); color: #fff; border-radius: 999px; padding: 1px 7px; min-width: 18px; text-align: center; }

/* ── Advisor sales cards ── */
.adv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 12px; padding: 14px; }
.adv-card { position: relative; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 15px 16px 13px; box-shadow: var(--shadow-card); cursor: pointer; transition: border-color .12s, box-shadow .12s; display: flex; flex-direction: column; gap: 10px; }
.adv-card:hover { border-color: var(--brand); box-shadow: 0 4px 16px rgba(16,160,176,.13); }
.ac-head { display: flex; gap: 12px; align-items: flex-start; }
.ac-av { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: 0 0 46px; border: 1px solid var(--line); }
.ac-mono { display: flex; align-items: center; justify-content: center; background: var(--brand-deep); color: #fff; font-weight: 800; font-size: 16px; border-color: var(--brand-deep); }
.ac-name { font-weight: 800; font-size: 15.5px; letter-spacing: -.01em; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adv-card:hover .ac-name { color: var(--brand); }
.ac-sub { font-size: 12.5px; color: var(--ink-soft); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ac-sub2 { font-size: 12px; color: var(--dim); margin-top: 1px; }
.ac-score { flex: 0 0 auto; font-weight: 800; font-size: 16px; padding: 3px 9px; border-radius: 9px; font-variant-numeric: tabular-nums; }
.ac-score.good { background: var(--good-bg); color: var(--good); }
.ac-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.ac-chip { font-size: 10.5px; font-weight: 700; color: var(--ink-soft); background: var(--panel-2); border: 1px solid var(--line); border-radius: 6px; padding: 2px 7px; white-space: nowrap; }
.ac-chip.hot { color: var(--brand-deep); background: color-mix(in oklab, var(--brand), transparent 88%); border-color: color-mix(in oklab, var(--brand), transparent 70%); }
.ac-chip.warn { color: var(--gold); background: color-mix(in oklab, var(--gold), transparent 88%); border-color: color-mix(in oklab, var(--gold), transparent 70%); }
.ac-brief { font-size: 12px; color: var(--dim); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ac-view { margin-left: auto; align-self: center; font-size: 11.5px; font-weight: 800; color: var(--brand); white-space: nowrap; }
.adv-card:hover .ac-view { text-decoration: underline; }
/* Client Radar — movement feed */
.cm-list { display: flex; flex-direction: column; gap: 2px; max-height: 520px; overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; }
.cm-ev { display: flex; align-items: center; gap: 11px; padding: 9px 13px; cursor: pointer; border-bottom: 1px solid var(--line); }
.cm-ev:last-child { border-bottom: 0; }
.cm-ev:hover { background: var(--panel-2); }
.cm-ev b { color: var(--ink); }
.cm-sub { font-size: 12px; color: var(--dim); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cm-date { margin-left: auto; font-size: 11.5px; font-weight: 700; color: var(--dim); white-space: nowrap; }

/* ===== Action-first command-center Home (Claude Design) ===== */
.hm-topbar { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin: -4px 0 8px; }
.hm-greet { font-size: 20px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.hm-greet .d { font-size: 13px; font-weight: 600; color: var(--dim); margin-top: 2px; }
.hm-search { flex: 1; max-width: 440px; display: flex; align-items: center; gap: 10px; background: var(--panel); border: 1px solid var(--line); border-radius: 11px; padding: 10px 14px; color: var(--dim); font-size: 13.5px; text-decoration: none; }
.hm-search:hover { border-color: var(--brand); }
.hm-kbd { margin-left: auto; font-size: 11px; font-weight: 700; color: var(--dim); border: 1px solid var(--line); border-radius: 5px; padding: 1px 6px; }
.hm-pbtn { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; font-size: 13px; border-radius: 10px; padding: 10px 15px; background: var(--brand); color: #fff; text-decoration: none; white-space: nowrap; }
.hm-pbtn:hover { background: color-mix(in srgb, var(--brand) 88%, #000); }
.hm-hero { margin: 18px 0 18px; }
.hm-hero h1 { font-size: 30px; font-weight: 800; letter-spacing: -.03em; margin: 0; color: var(--ink); }
.hm-hero p { font-size: 15px; color: var(--dim); margin: 8px 0 0; max-width: 48em; }
.hm-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.hm-stat { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 18px 20px; box-shadow: var(--shadow-card); }
.hm-stat .v { font-size: 32px; font-weight: 800; letter-spacing: -.025em; color: var(--num, var(--ink)); }
.hm-stat .l { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--dim); margin-top: 7px; }
.hm-dash { display: grid; grid-template-columns: 1.62fr 1fr; gap: 20px; margin-top: 22px; align-items: start; }
@media (max-width: 1180px) { .hm-dash { grid-template-columns: 1fr; } .hm-stats { grid-template-columns: repeat(2, 1fr); } }
.hm-col { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.hm-card { background: var(--panel); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-card); overflow: hidden; }
.hm-card-h { display: flex; align-items: center; gap: 11px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.hm-card-h .t { font-size: 16px; font-weight: 800; letter-spacing: -.01em; }
.hm-tag { font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; padding: 4px 9px; border-radius: 7px; background: var(--sand, color-mix(in oklab,var(--brand),transparent 88%)); color: var(--brand); }
.hm-tag.gold { background: color-mix(in oklab, var(--gold), transparent 85%); color: var(--gold); }
.hm-card-h .more { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--brand); text-decoration: none; }
.hm-card-h .more:hover { text-decoration: underline; }
.hm-empty { padding: 18px 20px; color: var(--dim); font-size: 13px; }
.hm-score { flex: none; width: 46px; height: 44px; border-radius: 11px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: color-mix(in oklab, var(--sc), transparent 88%); }
.hm-score b { font-size: 17px; font-weight: 800; color: var(--sc); line-height: 1; font-variant-numeric: tabular-nums; }
.hm-score span { font-size: 8.5px; font-weight: 800; letter-spacing: .08em; color: var(--sc); opacity: .85; margin-top: 2px; }
.hm-mover { display: grid; grid-template-columns: 46px 1fr auto auto; gap: 14px; align-items: center; padding: 13px 20px; border-bottom: 1px solid var(--line); cursor: pointer; }
.hm-mover:last-child { border-bottom: 0; }
.hm-mover:hover { background: var(--panel-2); }
.hm-mover:hover .hm-mn { color: var(--brand); }
.hm-mn { font-size: 15px; font-weight: 800; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hm-ms { font-size: 12.5px; color: var(--dim); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hm-sigs { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; max-width: 220px; }
.hm-when { font-size: 12px; font-weight: 700; color: var(--brand); white-space: nowrap; text-align: right; }
.hm-when .ago { display: block; font-size: 11px; font-weight: 600; color: var(--dim); margin-top: 2px; }
.hm-lbs { display: grid; grid-template-columns: 1fr 1fr; }
.hm-lbcol { padding: 14px 18px; }
.hm-lbcol:first-child { border-right: 1px solid var(--line); }
.hm-lbcol .h { font-size: 13px; font-weight: 800; display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
.hm-lbcol .h .s { font-size: 11px; font-weight: 600; color: var(--dim); }
.hm-lbr { display: grid; grid-template-columns: 32px 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); cursor: pointer; }
.hm-lbr:hover .hm-fn { color: var(--brand); }
.hm-logo { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 12px; }
.hm-fn { font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hm-fd { font-size: 11.5px; color: var(--dim); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hm-dl2 { font-size: 14px; font-weight: 800; padding: 3px 10px; border-radius: 8px; }
.hm-dl2.up { background: var(--good-bg); color: var(--good); } .hm-dl2.dn { background: var(--bad-bg, color-mix(in oklab,var(--bad),transparent 86%)); color: var(--bad); }
.hm-trow { display: flex; align-items: center; gap: 12px; padding: 12px 20px; border-bottom: 1px solid var(--line); cursor: pointer; }
.hm-trow:last-child { border-bottom: 0; }
.hm-trow:hover { background: var(--panel-2); }
.hm-star { color: var(--gold); flex: none; font-size: 16px; }
.hm-tn { font-size: 14px; font-weight: 700; }
.hm-td { font-size: 12px; color: var(--dim); margin-top: 2px; }
.hm-unit { padding: 12px 20px; border-bottom: 1px solid var(--line); cursor: pointer; }
.hm-unit:last-child { border-bottom: 0; }
.hm-unit:hover { background: var(--panel-2); }
.hm-unit .top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.hm-unit .nm { font-size: 13.5px; font-weight: 700; display: flex; align-items: center; gap: 9px; }
.hm-unit .dot { width: 9px; height: 9px; border-radius: 3px; }
.hm-unit .ct { font-size: 13px; font-weight: 800; color: var(--num, var(--ink)); }
.hm-unit .bar { height: 6px; border-radius: 4px; background: var(--panel-2); overflow: hidden; }
.hm-unit .bar i { display: block; height: 100%; border-radius: 4px; }
.hm-fab { position: fixed; right: 30px; bottom: 30px; z-index: 60; display: flex; align-items: center; gap: 10px; background: var(--sidebar); color: #fff; border: none; border-radius: 999px; padding: 8px 18px 8px 8px; cursor: pointer; box-shadow: var(--shadow-pop); font: inherit; font-weight: 700; font-size: 14px; }
.hm-fab:hover { transform: translateY(-2px); }
.ac-score.warn { background: var(--warn-bg); color: var(--warn); }
.ac-score.dim { background: var(--panel-2); color: var(--dim); }
.ac-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.ac-chip { font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 7px; background: var(--panel-2); color: var(--dim); white-space: nowrap; }
.ac-chip.on { background: var(--good-bg); color: var(--good); }
.ac-chip.bad { background: var(--bad-bg); color: var(--bad); }
.ac-chip.gold { background: var(--gold-bg); color: var(--gold); }
.ac-why { font-size: 12.5px; color: var(--ink-soft); line-height: 1.4; border-left: 2px solid var(--brand); padding-left: 9px; }
.ac-ctas { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 1px; }
.ac-cta { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; padding: 7px 12px; border-radius: 9px; border: 1px solid var(--line); color: var(--ink-soft); background: var(--panel); }
.ac-cta:hover { border-color: var(--brand); color: var(--brand); text-decoration: none; }
.ac-cta.call { background: var(--brand); color: #fff; border-color: var(--brand); }
.ac-cta.call:hover { background: var(--brand-deep); color: #fff; }
.ac-cta.mail { background: var(--brand-tint); color: var(--brand); border-color: transparent; }
.ac-save { position: absolute; top: 11px; right: 12px; background: transparent; border: 0; font-size: 19px; line-height: 1; color: var(--line); cursor: pointer; padding: 2px; z-index: 2; }
.ac-save:hover { color: var(--gold); filter: none; }
.ac-save.on { color: var(--gold); }

/* bulk-select checkbox (top-right of card) */
.ac-check { position: absolute; top: 10px; right: 11px; z-index: 3; display: inline-flex; padding: 3px; cursor: pointer; }
.ac-check input { width: 17px; height: 17px; accent-color: var(--brand); cursor: pointer; }
.adv-card.sel { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-tint), var(--shadow-card); }

/* per-card action row: Target + Enrich */
.ac-actions { display: flex; gap: 7px; margin-top: 2px; padding-top: 10px; border-top: 1px solid var(--line); }
.ac-tgt, .ac-enr { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 5px; font-family: inherit; font-size: 12.5px; font-weight: 700; padding: 8px 10px; border-radius: 9px; cursor: pointer; white-space: nowrap; transition: all .13s; }
.ac-tgt { background: var(--panel); border: 1px solid var(--line); color: var(--ink-soft); }
.ac-tgt:hover { border-color: var(--gold); color: var(--gold); filter: none; }
.ac-tgt.on { background: var(--gold); border: 1px solid var(--gold); color: #3a2c00; }
.ac-enr { background: var(--brand-tint); border: 1px solid transparent; color: var(--brand-deep); }
.ac-enr:hover { background: var(--brand); color: #fff; filter: none; }
.ac-enr.re { background: var(--panel); border: 1px solid var(--line); color: var(--ink-soft); }
.ac-enr.re:hover { background: var(--brand-tint); color: var(--brand-deep); border-color: transparent; }

/* floating bulk action bar */
#bulk-bar { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 60; display: flex; align-items: center; gap: 10px; background: var(--sidebar); color: #fff; padding: 10px 12px 10px 18px; border-radius: 14px; box-shadow: 0 10px 34px rgba(8,28,40,.32); animation: bbpop .16s ease; }
@keyframes bbpop { from { opacity: 0; transform: translate(-50%, 8px); } to { opacity: 1; transform: translate(-50%, 0); } }
#bulk-bar .bb-n { font-size: 13px; font-weight: 700; letter-spacing: -.01em; }
#bulk-bar .bb-btn { padding: 8px 14px; font-size: 13px; }
#bulk-bar .bb-x { background: transparent; border: 0; color: #9fb6c2; font-size: 15px; padding: 4px 6px; cursor: pointer; }
#bulk-bar .bb-x:hover { color: #fff; filter: none; }

/* toast */
#toast { position: fixed; left: 50%; bottom: 84px; transform: translateX(-50%) translateY(8px); z-index: 70; background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 11px; font-size: 13px; font-weight: 600; box-shadow: 0 8px 24px rgba(8,28,40,.28); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
#toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* confirm modal */
.modal-ov { position: fixed; inset: 0; z-index: 80; background: rgba(8,28,40,.42); display: flex; align-items: center; justify-content: center; padding: 20px; animation: bbpop .12s ease; }
.modal { background: var(--panel); border-radius: 16px; max-width: 420px; width: 100%; padding: 22px 22px 18px; box-shadow: 0 20px 60px rgba(8,28,40,.3); }
.modal-title { font-size: 17px; font-weight: 800; letter-spacing: -.01em; color: var(--brand-deep); margin-bottom: 8px; }
.modal-body { font-size: 13.5px; color: var(--ink-soft); line-height: 1.55; margin-bottom: 18px; }
.modal-actions { display: flex; justify-content: flex-end; gap: 10px; }
.modal-actions .btn { padding: 9px 16px; font-size: 13px; }

@media (max-width: 560px) { .adv-grid { grid-template-columns: 1fr; } }

/* printable marketing brief — hide chrome, keep the one-pager */
@media print {
  .sidebar, #argus-fab, #argus-pop, [data-noprint] { display: none !important; }
  body { background: #fff; }
  main { max-width: none; padding: 0; }
  .panel { box-shadow: none; border: 0; }
}

/* ════ Breakaway Radar v2 (from Claude Design handoff) ════ */
:root{
  --lane-pinnacle:#B57305; --lane-pinnacle-bg:#FBF0DC;
  --lane-riava:#0F8C5D;    --lane-riava-bg:#E4F4ED;
  --lane-finspire:#7C53D6; --lane-finspire-bg:#EFE9FB;
  --lane-clientgen:#0E8FBF;--lane-clientgen-bg:#E2F1F9;
  --heat-cool:#10A0B0; --heat-warm:#D9730D; --heat-hot:#C53030;
  --heat-cool-bg:#E2F4F6; --heat-warm-bg:#FBE9D6; --heat-hot-bg:#FBE3E3;
  --rebrand:#7A8A99; --rebrand-bg:#EEF2F6;
}
.bw-brief{ display:flex; align-items:stretch; gap:24px; flex-wrap:wrap; background:var(--panel);
  border:1px solid var(--line); border-radius:14px; padding:15px 20px; margin-bottom:16px; box-shadow:var(--shadow-card); }
.bw-stat{ display:flex; flex-direction:column; gap:2px; padding-right:24px; border-right:1px solid var(--line); cursor:pointer; }
.bw-stat:last-child{ border-right:0; }
.bw-stat .bn{ font-size:23px; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; color:var(--ink); line-height:1; }
.bw-stat .bl{ font-size:11.5px; font-weight:600; color:var(--dim); }
.bw-stat.on .bn, .bw-stat:hover .bn{ color:var(--brand); }
.bw-grid2{ display:grid; grid-template-columns:212px minmax(0,1fr); gap:20px; align-items:start; }
@media (max-width:900px){ .bw-grid2{ grid-template-columns:1fr; } .bw-rail{ display:none; } }
.bw-rail{ position:sticky; top:14px; }
.facet{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 10px; border-radius:8px;
  cursor:pointer; font-size:13px; color:var(--ink-soft); transition:background .12s; }
.facet:hover{ background:var(--panel-2); }
.facet.on{ background:var(--brand-tint); color:var(--brand); font-weight:700; }
.facet .ct{ font-size:11.5px; font-weight:700; color:var(--dim); font-variant-numeric:tabular-nums; }
.facet.on .ct{ color:var(--brand); }
.facet-head{ font-size:10.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--dim); margin:16px 0 6px; }
.facet-head:first-child{ margin-top:0; }
.lens{ display:inline-flex; gap:3px; background:var(--panel-2); border:1px solid var(--line); border-radius:11px; padding:3px; flex-wrap:wrap; }
.lens button{ border:0; background:transparent; font:inherit; font-size:12.5px; font-weight:700; color:var(--dim); padding:7px 12px;
  border-radius:8px; cursor:pointer; letter-spacing:-.01em; transition:all .14s; white-space:nowrap; display:inline-flex; align-items:center; gap:6px; }
.lens button:hover{ color:var(--ink); }
.lens button[aria-pressed="true"]{ background:var(--panel); color:var(--ink); box-shadow:0 1px 2px rgba(12,32,48,.12); }
.lens .lct{ font-size:11px; font-weight:800; font-variant-numeric:tabular-nums; opacity:.75; }
.bw-newdiv{ display:flex; align-items:center; gap:10px; padding:4px 0; font-size:11.5px; font-weight:800; letter-spacing:.04em; color:var(--brand); text-transform:uppercase; }
.bw-newdiv::after{ content:""; flex:1; height:1px; background:linear-gradient(90deg,var(--brand),transparent); opacity:.4; }
.pulse-dot{ width:7px; height:7px; border-radius:50%; background:var(--brand); display:inline-block; animation:bwpulse 1.8s ease-in-out infinite; }
@keyframes bwpulse{ 0%,100%{ opacity:1 } 50%{ opacity:.3 } }
/* cluster hero */
.bw-cluster{ background:var(--panel); border:1px solid var(--line); border-left:4px solid var(--brand); border-radius:16px;
  box-shadow:var(--shadow-card); overflow:hidden; transition:box-shadow .15s; margin-bottom:14px; }
.bw-cluster:hover{ box-shadow:var(--shadow-pop); }
.bw-cluster.advw{ border-left-color:var(--warn); }
.bw-cluster.rebrand{ opacity:.85; border-left-color:var(--rebrand); }
.bw-clbody{ padding:17px 19px; }
.bw-clhead{ margin:0 0 8px; font-size:18px; font-weight:800; letter-spacing:-.02em; line-height:1.2; }
.bw-clmembers{ display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:12px 19px 16px; border-top:1px solid var(--line); }
.bw-member{ display:flex; align-items:center; gap:10px; padding:9px 11px; border-radius:10px; border:1px solid var(--line); background:var(--panel); cursor:pointer; }
.bw-member:hover{ border-color:var(--brand); }
.bw-clexp{ width:100%; border:0; border-top:1px solid var(--line); background:var(--panel-2); font:inherit; font-size:12.5px;
  font-weight:700; color:var(--ink-soft); padding:9px; cursor:pointer; }
/* mover row */
.bw-row{ background:var(--panel); border:1px solid var(--line); border-radius:13px; display:grid; grid-template-columns:50px 1fr auto;
  gap:15px; align-items:start; padding:13px 15px; cursor:pointer; transition:border-color .12s, box-shadow .12s; margin-bottom:10px; }
.bw-row:hover{ border-color:var(--brand); box-shadow:var(--shadow-card); }
.bw-row.worked{ grid-template-columns:1fr auto; opacity:.6; padding:9px 15px; align-items:center; }
.heat{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; width:50px; height:50px; border-radius:12px; flex:0 0 50px; }
.heat .hn{ font-weight:800; font-size:20px; line-height:1; font-variant-numeric:tabular-nums; }
.heat .hl{ font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:.85; }
.rstack{ display:flex; flex-wrap:wrap; gap:6px; }
.rpill{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; letter-spacing:-.01em; padding:3px 8px;
  border-radius:6px; line-height:1.3; white-space:nowrap; background:var(--panel-2); color:var(--ink-soft); }
.rpill.amber{ background:var(--warn-bg); color:var(--warn); }
.rpill.amber::before{ content:""; width:5px; height:5px; border-radius:50%; background:currentColor; }
.lane{ display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:800; letter-spacing:-.01em; padding:4px 9px; border-radius:7px; line-height:1; white-space:nowrap; }
.lane::before{ content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.bw-why{ display:flex; align-items:flex-start; gap:8px; background:var(--warn-bg); color:var(--warn); border-radius:9px;
  padding:8px 11px; font-size:12px; font-weight:600; line-height:1.4; margin-top:8px; }
.bw-btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px; font:inherit; font-weight:700; font-size:12.5px;
  border-radius:9px; border:1px solid var(--line); cursor:pointer; padding:8px 12px; background:var(--panel); color:var(--ink-soft); transition:all .14s; white-space:nowrap; }
.bw-btn:hover{ border-color:var(--brand); color:var(--brand); }
.bw-btn.primary{ background:var(--brand); color:#fff; border-color:transparent; }
.bw-btn.primary:hover{ filter:brightness(.92); color:#fff; }
.bw-btn.icon{ padding:8px; }
.bw-aum{ display:inline-flex; align-items:center; gap:7px; background:var(--panel-2); border-radius:8px; padding:5px 10px; font-size:12px; font-weight:700; color:var(--ink-soft); }
.bw-newshop{ font-size:9.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; background:var(--brand-tint); color:var(--brand); border-radius:5px; padding:2px 6px; }
.bw-rebtoggle{ align-self:flex-start; border:1px dashed var(--line); background:transparent; font:inherit; font-size:12px;
  font-weight:700; color:var(--rebrand); padding:8px 13px; border-radius:9px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; margin-bottom:14px; }

/* ── Breakaway Radar: destination/prior firm detail panel ── */
.firm-panel { display:flex; gap:12px; align-items:flex-start; margin-top:11px; padding:11px 12px; background:var(--panel-2); border:1px solid var(--line); border-radius:12px; }
.firm-logo-wrap { flex:0 0 auto; display:inline-block; position:relative; }
.firm-logo { object-fit:contain; border-radius:9px; background:#fff; border:1px solid var(--line); padding:3px; box-sizing:border-box; }
.firm-logo-fb { align-items:center; justify-content:center; border-radius:9px; background:var(--brand-deep,#072530); color:#fff; font-weight:800; letter-spacing:.01em; }
.firm-panel-lbl { font-size:10.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--dim); margin-bottom:2px; display:flex; align-items:center; gap:6px; }
.firm-panel-nm { font-size:14.5px; font-weight:800; letter-spacing:-.015em; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.firm-panel-meta { font-size:12px; color:var(--dim); margin-top:2px; }
.firm-panel-brief { margin-top:6px; display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.fp-tag { font-size:12px; font-style:italic; color:var(--ink-soft); }
.fp-niche { font-size:10.5px; font-weight:700; padding:2px 7px; border-radius:7px; background:var(--brand-wash,rgba(16,160,176,.1)); color:var(--brand); }
.fp-briefbadge { font-size:9.5px; font-weight:800; padding:1px 6px; border-radius:6px; background:rgba(16,160,176,.12); color:var(--brand); letter-spacing:.02em; text-transform:none; }
.firm-panel-nobrief { font-size:11.5px; color:var(--dim); margin-top:4px; font-style:italic; opacity:.8; }
.firm-site { font-weight:800; color:var(--brand); font-size:13px; }

/* ── Breakaway Radar P2: Exodus/Magnet insights rail ── */
#bw-insights { margin-bottom: 16px; }
.bw-insights-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lb-card { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; box-shadow: var(--shadow-card); }
.lb-card.exodus { border-top: 3px solid var(--rebrand, #d97757); }
.lb-card.magnet { border-top: 3px solid var(--brand); }
.lb-head { font-size: 13px; font-weight: 800; letter-spacing: -.01em; color: var(--ink); display: flex; align-items: center; gap: 7px; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.lb-ic { font-size: 15px; }
.lb-card.exodus .lb-ic { color: var(--rebrand, #d97757); }
.lb-card.magnet .lb-ic { color: var(--brand); }
.lb-hsub { font-size: 10.5px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--dim); }
.lb-row { display: flex; align-items: center; gap: 9px; padding: 5px 4px; border-radius: 8px; color: inherit; }
.lb-row:hover { background: var(--panel-2); }
.lb-nm { flex: 1; min-width: 0; }
.lb-firm { font-size: 12.5px; font-weight: 700; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-sub { font-size: 10.5px; color: var(--dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-ct { font-size: 13px; font-weight: 800; font-variant-numeric: tabular-nums; flex: 0 0 auto; padding: 1px 7px; border-radius: 7px; }
.lb-ct.exodus { color: var(--rebrand, #d97757); background: rgba(217,119,87,.1); }
.lb-ct.magnet { color: var(--brand); background: rgba(16,160,176,.1); }
.bw-geo { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; padding: 9px 12px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 11px; }
.bw-geo-lbl { font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--dim); }
.geo-pip { font-size: 11.5px; font-weight: 600; color: var(--ink-soft); }
.geo-pip b { color: var(--num); font-weight: 800; margin-left: 3px; font-variant-numeric: tabular-nums; }
@media (max-width: 760px) { .bw-insights-grid { grid-template-columns: 1fr; } }

/* company logo with initials fallback (career · via ClientGen) */
.logo-wrap { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; flex: 0 0 26px; }
.logo-img { padding: 2px; box-sizing: border-box; }

/* ── Advisor profile: Team & connections ── */
.conn-grouplbl { font-size: 11px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; color: var(--dim); margin-bottom: 7px; }
.conn-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 7px; }
.conn-chip { display: flex; align-items: center; gap: 9px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-2); color: inherit; transition: border-color .12s, background .12s; }
.conn-chip:hover { border-color: var(--brand); background: var(--panel); }
.conn-name { font-size: 13px; font-weight: 700; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.conn-sub { font-size: 11px; color: var(--dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ── Collapsed Team & connections panel ── */
.conn-panel > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; }
.conn-panel > summary::-webkit-details-marker { display: none; }
.conn-h { font-size: 13px; font-weight: 800; letter-spacing: -.01em; color: var(--ink); text-transform: uppercase; letter-spacing: .06em; }
.conn-count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--brand); color: #fff; font-size: 11px; font-weight: 800; margin-left: 4px; }
.conn-mini { font-size: 12px; font-weight: 700; color: var(--brand); }
.conn-caret { margin-left: auto; color: var(--dim); font-size: 12px; transition: transform .15s; }
.conn-panel[open] > summary .conn-caret { transform: rotate(180deg); }
.conn-grid { grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 6px; }
.conn-chip { padding: 5px 8px; }
.conn-chip .ac-av { width: 26px !important; height: 26px !important; flex: 0 0 26px !important; }

/* ---------- Marketing Radar ---------- */
.radar-stats { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 14px 0 18px; }
.radar-card { background: var(--surface, #fff); border: 1px solid var(--hairline, #E2E9EF); border-left: 4px solid var(--rc);
  border-radius: 12px; padding: 12px 18px; cursor: pointer; text-align: left; min-width: 150px; transition: box-shadow .15s; }
.radar-card:hover { box-shadow: 0 2px 10px #10243512; }
.radar-card.active { box-shadow: 0 0 0 2px var(--rc) inset; }
.radar-card .rc-n { font-size: 26px; font-weight: 800; color: var(--rc); font-variant-numeric: tabular-nums; line-height: 1; }
.radar-card .rc-l { font-size: 14px; font-weight: 700; margin-top: 4px; }
.radar-card .rc-d { font-size: 11px; color: var(--muted, #64788a); }
.radar-meta { font-size: 12px; color: var(--muted, #64788a); margin-left: auto; }
.radar-table { width: 100%; border-collapse: collapse; }
.radar-table th { text-align: left; font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--dim);
  padding: 12px 14px; border-bottom: 1px solid var(--line); background: var(--panel-2); }
.radar-table th.num, .radar-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
.radar-table td { padding: 13px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.radar-table tr[data-crd], .radar-table tr[data-id] { cursor: pointer; }
.radar-table tr[data-crd]:hover, .radar-table tr[data-id]:hover { background: var(--panel-2); }
.radar-table .rpitch { font-size: 12px; color: var(--dim); margin-top: 3px; max-width: 520px; line-height: 1.45; }
.tier-tag { font-size: 11px; font-weight: 700; background: var(--panel-2); color: var(--ink-soft); padding: 3px 9px; border-radius: 999px; white-space: nowrap; }
.mat { font-weight: 800; font-size: 14px; padding: 3px 9px; border-radius: 8px; font-variant-numeric: tabular-nums; }
.mat-lo { color: var(--bad); background: var(--bad-bg); } .mat-md { color: var(--gold); background: var(--warn-bg); } .mat-hi { color: var(--good); background: var(--good-bg); }

/* ---------- Prospects hub ---------- */
#seg-grid { margin-top: 16px; }
.seg-co { margin-bottom: 24px; }
.seg-co h3 { font-size: 12px; text-transform: uppercase; letter-spacing: .14em; color: var(--dim); margin: 0 0 11px; font-weight: 800; }
.seg-cards { display: flex; flex-wrap: wrap; gap: 14px; }
.seg-card { background: var(--panel); border: 1px solid var(--line); border-left: 4px solid var(--sc);
  border-radius: 14px; padding: 16px 20px; cursor: pointer; text-align: left; min-width: 178px; box-shadow: var(--shadow-card); transition: box-shadow .15s, transform .1s; }
.seg-card:hover { box-shadow: var(--shadow-pop); transform: translateY(-1px); }
.seg-card .sc-n { font-size: 30px; font-weight: 800; color: var(--sc); font-variant-numeric: tabular-nums; line-height: 1; letter-spacing: -.02em; }
.seg-card .sc-l { font-size: 15px; font-weight: 700; margin-top: 6px; }
.seg-card .sc-d { font-size: 11.5px; color: var(--dim); margin-top: 3px; }
.seg-card .sc-k { font-size: 10px; color: var(--dim); text-transform: uppercase; letter-spacing: .08em; margin-top: 7px; font-weight: 700; }

/* ---------- Business-unit nav sub-items + workspace tabs ---------- */
/* (sub-item styling now lives in the rail spec block near the top) */
.unit-tabs { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--hairline, #E2E9EF); margin: 14px 0 18px; }
.unit-tab { background: none; border: none; border-bottom: 2.5px solid transparent; padding: 9px 16px; cursor: pointer;
  font-size: 14px; font-weight: 600; color: var(--dim, #64788a); display: inline-flex; align-items: center; gap: 8px; margin-bottom: -1px; }
.unit-tab:hover { color: var(--ink, #16242d); }
.unit-tab.active { color: var(--uc); border-bottom-color: var(--uc); }
.unit-tab .ut-n { font-size: 11px; font-weight: 700; background: var(--panel-2); color: var(--dim); padding: 2px 7px; border-radius: 10px; font-variant-numeric: tabular-nums; }
.unit-tab.active .ut-n { background: color-mix(in srgb, var(--uc) 15%, var(--panel)); color: var(--uc); }
.unit-tabs { border-bottom-color: var(--line); }

/* ---------- Brief homepage screenshot thumbnail ---------- */
.brief-shot { float: right; width: 320px; max-width: 42%; margin: 2px 0 14px 18px; border-radius: 10px;
  overflow: hidden; border: 1px solid var(--hairline, #E2E9EF); box-shadow: 0 3px 14px #10243518; position: relative; display: block; }
.brief-shot img { width: 100%; display: block; }
.brief-shot span { position: absolute; bottom: 0; left: 0; right: 0; padding: 18px 11px 8px; font-size: 12px;
  font-weight: 700; color: #fff; background: linear-gradient(transparent, rgba(7,37,48,.82)); opacity: 0; transition: opacity .15s; }
.brief-shot:hover span { opacity: 1; }
.brief-shot:hover { box-shadow: 0 5px 20px #10243528; }
@media (max-width: 700px) { .brief-shot { float: none; width: 100%; max-width: 100%; margin-left: 0; } }

/* Orphaned-VA recency histogram (segment + visualize the cohort, not just list) */
.ova-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 4px;font-size:14px;color:var(--ink)}
.ova-all{border:1px solid var(--line);background:var(--panel);color:var(--dim);border-radius:999px;padding:5px 14px;font-size:12px;font-weight:600;cursor:pointer}
.ova-all.sel{border-color:var(--brand);color:var(--brand);background:var(--sand)}
.ova-chart{display:flex;align-items:flex-end;gap:10px;padding:8px 18px 4px;min-height:140px}
.ova-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;background:none;border:0;cursor:pointer;padding:4px 2px;border-radius:8px}
.ova-bar:hover{background:var(--panel-2)}
.ova-n{font-size:13px;font-weight:700;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.ova-fill{width:100%;max-width:54px;background:var(--ring-track);border-radius:6px 6px 2px 2px;transition:height .25s}
.ova-bar.hot .ova-fill{background:var(--brand)}
.ova-bar.sel .ova-fill{outline:2px solid var(--ink);outline-offset:1px}
.ova-bar.sel .ova-n{color:var(--ink)}
.ova-l{font-size:11px;color:var(--dim);text-align:center;line-height:1.2}
.ova-hint{padding:2px 18px 12px;font-size:12px;color:var(--dim)}

/* OPEN brand identity (Three-Arc Ring handoff, 2026-06-14) */
.argus-av { width: 22px; height: 22px; border-radius: 50%; vertical-align: middle; }

/* ════════ OPEN Design System — component layer (Claude Design handoff) ════════ */
/* Shared 0–100 score (FIT / maturity / heat) */
.score{display:inline-flex;flex-direction:column;align-items:center;gap:3px;min-width:54px;}
.score .v{font-weight:800;font-size:26px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.score .lbl{font-size:8.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);}
.score-bar{height:5px;border-radius:3px;background:var(--panel-2);overflow:hidden;width:100%;}
.score-bar>i{display:block;height:100%;border-radius:3px;}
.score-chip{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:4px 9px;border-radius:8px;font-weight:800;font-size:14px;font-variant-numeric:tabular-nums;}
.t-hot{color:var(--bad);} .t-hot-bg{background:var(--bad-bg);color:var(--bad);}
.t-mid{color:var(--gold);} .t-mid-bg{background:var(--warn-bg);color:var(--gold);}
.t-good{color:var(--good);} .t-good-bg{background:var(--good-bg);color:var(--good);}
.t-cool{color:var(--brand);} .t-cool-bg{background:var(--sand);color:var(--brand);}
/* Signal chips (green-check capability) */
.sig{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;letter-spacing:-.01em;padding:4px 9px;border-radius:7px;line-height:1;white-space:nowrap;background:var(--good-bg);color:var(--good);}
.sig::before{content:"✓";font-weight:800;font-size:10px;}
.sig.off{background:var(--panel-2);color:var(--dim);border:1px dashed var(--line);}
.sig.off::before{content:"";}
.sig-row{display:flex;flex-wrap:wrap;gap:6px;}
/* Status pills + value badges */
.pill-fresh{background:var(--sand);color:var(--brand);} .pill-fresh .dot{width:6px;height:6px;border-radius:50%;background:var(--brand);}
.pill-enriched{background:var(--good-bg);color:var(--good);}
.pill-need{background:var(--warn-bg);color:var(--warn);}
.pill-targeted{background:var(--gold);color:#fff;}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;letter-spacing:-.01em;padding:4px 9px;border-radius:7px;background:var(--warn-bg);color:var(--gold);}
.badge-good{background:var(--good-bg);color:var(--good);}
.badge-brand{background:var(--sand);color:var(--brand);}
/* Cards / tiles */
.acard{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);padding:18px;display:flex;flex-direction:column;gap:13px;}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;}
.kpi .v{font-size:30px;font-weight:800;letter-spacing:-.025em;line-height:1;color:var(--num);font-variant-numeric:tabular-nums;}
.kpi .l{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-top:6px;}
.unit-card{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent,var(--brand));border-radius:14px;box-shadow:var(--shadow-card);padding:18px 20px;}
/* Leaderboard / move card / delta */
.lb-row{display:grid;grid-template-columns:30px 1fr auto;gap:11px;align-items:center;padding:10px 0;border-top:1px solid var(--line);}
.lb-row:first-child{border-top:0;}
.lb-logo{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font-weight:800;font-size:11px;color:#fff;background:var(--ink-soft);}
.delta{font-weight:800;font-size:13px;font-variant-numeric:tabular-nums;padding:3px 9px;border-radius:7px;}
.delta-up{background:var(--good-bg);color:var(--good);} .delta-down{background:var(--bad-bg);color:var(--bad);}
.move-card{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent,var(--brand));border-radius:13px;box-shadow:var(--shadow-card);padding:15px 17px;}
/* DS buttons + section eyebrow */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-weight:700;font-size:13px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);padding:9px 13px;cursor:pointer;transition:.14s;white-space:nowrap;}
.btn:hover{border-color:var(--brand);color:var(--brand);filter:none;}
.btn-primary{background:var(--brand);color:#fff;border-color:transparent;} .btn-primary:hover{background:color-mix(in srgb,var(--brand) 88%,#000);color:#fff;}
.ds-eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);display:inline-flex;align-items:center;gap:9px;}
.ds-eyebrow::before{content:"";width:18px;height:1.5px;background:currentColor;opacity:.6;border-radius:2px;}

/* Recency chip (orphaned-VA list) — freshest break pops, older fades */
.rc { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:800; padding:4px 11px; border-radius:999px; letter-spacing:-.01em; white-space:nowrap; line-height:1; }
.rc-hot { background:var(--brand); color:#fff; box-shadow:0 1px 6px color-mix(in srgb,var(--brand) 45%,transparent); }
.rc-warm { background:var(--warn-bg); color:var(--warn); }
.rc-cold { background:var(--panel-2); color:var(--dim); }
.rc-unk { background:var(--panel-2); color:var(--dim); border:1px dashed var(--line); }
.rc-rel { font-size: 11px; color: var(--dim); margin-top: 4px; font-weight: 600; }

/* ════════ Marketing Radar v2 — segments, opportunity matrix, drill-down ════════ */
.mr-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.mr-kpi { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:16px 18px; box-shadow:var(--shadow-card); }
.mr-kpi .v { font-size:30px; font-weight:800; letter-spacing:-.025em; line-height:1; color:var(--num); font-variant-numeric:tabular-nums; }
.mr-kpi .l { font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--dim); margin-top:6px; }
.mr-segs { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.mr-seg { text-align:left; background:var(--panel); border:1px solid var(--line); border-left:4px solid var(--oc); border-radius:14px; padding:15px 17px; cursor:pointer; box-shadow:var(--shadow-card); transition:box-shadow .15s, transform .1s; }
.mr-seg:hover { box-shadow:var(--shadow-pop); transform:translateY(-1px); filter:none; }
.mr-seg.sel { outline:2px solid var(--oc); outline-offset:-1px; }
.mr-seg-top { display:flex; align-items:baseline; justify-content:space-between; }
.mr-seg-n { font-size:26px; font-weight:800; color:var(--oc); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.mr-seg-off { font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--oc); }
.mr-seg-l { font-size:15px; font-weight:800; margin:6px 0 4px; }
.mr-seg-p { font-size:12px; color:var(--dim); line-height:1.45; }
.mr-cols { display:grid; grid-template-columns:1.5fr 1fr; gap:14px; margin:18px 0; }
.mr-panel { padding:16px 18px; margin-bottom:0; }
.mr-h { font-size:13px; font-weight:800; letter-spacing:-.01em; color:var(--ink); }

/* Home / landing page (root only) */
.home-hero { display:flex; align-items:center; gap:20px; margin-bottom:22px; }
.home-mark { flex:0 0 auto; width:60px; height:60px; border-radius:16px; background:#fff; box-shadow:var(--shadow-card); display:flex; align-items:center; justify-content:center; }
.home-mark svg { width:34px; height:34px; }
.home-kpis { margin-bottom:4px; }
.home-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.home-card { display:flex; flex-direction:column; gap:6px; background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:18px 18px 16px; box-shadow:var(--shadow-card); cursor:pointer; transition:box-shadow .15s, transform .1s, border-color .15s; position:relative; overflow:hidden; }
.home-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--hc,var(--brand)); }
.home-card:hover { box-shadow:var(--shadow-pop); transform:translateY(-2px); border-color:color-mix(in oklab,var(--hc,var(--brand)),transparent 55%); filter:none; }
.home-ic { font-size:22px; line-height:1; color:var(--hc,var(--brand)); }
.home-t { font-size:17px; font-weight:800; letter-spacing:-.01em; color:var(--ink); }
.home-d { font-size:12.5px; color:var(--dim); line-height:1.5; }
.home-go { margin-top:6px; font-size:12px; font-weight:800; letter-spacing:.02em; color:var(--hc,var(--brand)); }
@media (max-width:900px){ .home-grid{grid-template-columns:1fr} }
.cl-insight { cursor: pointer; }
.cl-insight.sel { outline: 2px solid var(--hc, var(--brand)); outline-offset: -1px; }

/* Pipeline Radar deal cards */
.pl-list { display:flex; flex-direction:column; gap:10px; }
.pl-deal { background:var(--panel); border:1px solid var(--line); border-radius:13px; padding:13px 15px; box-shadow:var(--shadow-card); }
.pl-deal[data-crd] { cursor:pointer; transition:box-shadow .15s, transform .1s; }
.pl-deal[data-crd]:hover { box-shadow:var(--shadow-pop); transform:translateY(-1px); }
.pl-deal.dead { opacity:.62; }
.pl-deal.dead .pl-firm { text-decoration:line-through; }
.pl-h { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pl-firm { font-size:15px; font-weight:800; letter-spacing:-.01em; color:var(--ink); }
.pl-stat { margin-left:auto; font-size:12px; font-weight:700; color:var(--num); font-variant-numeric:tabular-nums; }
.pl-meta { font-size:12.5px; color:var(--ink-soft); margin-top:7px; }
.pl-meta a { color:var(--brand-deep); }
.pl-notes { font-size:12.5px; color:var(--dim); line-height:1.5; margin-top:6px; white-space:pre-wrap; }
.pl-nomatch { opacity:.7; }
.pl-plays { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:0 0 12px; }
.pl-pf { background:var(--panel); border:1px solid var(--line); border-radius:9px; padding:7px 13px; font-size:12.5px; font-weight:700; color:var(--dim); cursor:pointer; box-shadow:var(--shadow-card); }
.pl-pf:hover { color:var(--ink); filter:none; }
.pl-pf.active { color:#fff; background:var(--pc,var(--brand-deep)); border-color:transparent; }
.pl-play { font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--pc,var(--brand)); background:color-mix(in oklab, var(--pc,var(--brand)), transparent 88%); padding:2px 8px; border-radius:6px; }
.pl-touch { font-size:11.5px; font-weight:700; color:var(--dim); margin-top:7px; }
.pl-touch.stale { color:var(--gold); }
.pl-trig { margin-top:9px; padding:9px 11px; border-radius:9px; background:color-mix(in oklab, var(--u-pinnacle), transparent 92%); border:1px solid color-mix(in oklab, var(--u-pinnacle), transparent 78%); display:flex; flex-direction:column; gap:3px; }
.pl-trig-h { font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--u-pinnacle); }
.pl-trig-i { font-size:12.5px; font-weight:600; color:var(--ink-soft); }
.pl-trig-i::before { content:"↗ "; color:var(--u-pinnacle); font-weight:800; }
.crm-route { font-size:11px; font-weight:800; color:var(--u-pinnacle); background:color-mix(in oklab,var(--u-pinnacle),transparent 90%); border:1px solid color-mix(in oklab,var(--u-pinnacle),transparent 75%); border-radius:7px; padding:3px 9px; cursor:pointer; }
.crm-route:hover { background:color-mix(in oklab,var(--u-pinnacle),transparent 80%); filter:none; }

/* CRM modal */
.crm-modal { position:fixed; inset:0; background:rgba(7,37,48,.45); display:flex; align-items:center; justify-content:center; z-index:200; }
.crm-card { background:var(--panel); border-radius:16px; padding:22px; width:min(420px,92vw); box-shadow:var(--shadow-pop); display:flex; flex-direction:column; gap:12px; }
.crm-card h3 { margin:0 0 2px; font-size:18px; }
.crm-card label { display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:700; color:var(--dim); text-transform:uppercase; letter-spacing:.04em; }
.crm-card select, .crm-card input { font:inherit; font-size:14px; padding:9px 11px; border:1px solid var(--line); border-radius:9px; background:var(--panel-2); color:var(--ink); }
.crm-row-btns { display:flex; gap:10px; justify-content:flex-end; margin-top:4px; }

/* CRM book */
.crm-scope { display:flex; align-items:center; gap:8px; margin:18px 0 12px; }
.crm-list { display:flex; flex-direction:column; gap:9px; }
.crm-rowcard { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:12px 14px; box-shadow:var(--shadow-card); }
.crm-main { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.crm-name { font-size:14.5px; font-weight:800; color:var(--ink); text-decoration:none; }
.crm-name:hover { color:var(--brand); }
.crm-meta { font-size:12.5px; color:var(--dim); margin-top:6px; }
.crm-acts { display:flex; gap:7px; margin-top:9px; flex-wrap:wrap; }
.crm-acts .btn { padding:6px 11px; font-size:12px; }

/* unit/company radar header — real company logo + descriptor */
.unit-head { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:6px; }
.unit-logo { height:40px; width:auto; max-width:260px; object-fit:contain; display:block; }
.unit-head-name { font-size:28px; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
.unit-head-sub { font-size:15px; font-weight:700; color:var(--dim); position:relative; padding-left:15px; }
.unit-head-sub::before { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:7px; height:7px; border-radius:50%; background:var(--uc,var(--brand)); }
.mr-hint { font-size:11.5px; color:var(--dim); margin:3px 0 12px; }
.mr-matrix { width:100%; border-collapse:separate; border-spacing:3px; }
.mr-matrix th { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--dim); padding:4px 6px; text-align:center; background:none; border:0; white-space:nowrap; }
.mr-matrix th:first-child { text-align:left; }
.mr-tier { font-size:12px; font-weight:700; color:var(--ink-soft); white-space:nowrap; padding-right:8px; }
.mr-cell { text-align:center; font-weight:800; font-size:14px; font-variant-numeric:tabular-nums; border-radius:8px; padding:12px 4px; cursor:pointer; transition:transform .1s; }
.mr-cell:hover:not(.z) { transform:scale(1.07); outline:2px solid var(--ink); }
.mr-cell.z { cursor:default; }
.mr-cell.sel { outline:2px solid var(--ink); }
.mr-probs { display:flex; flex-direction:column; gap:7px; }
.mr-prob { display:flex; align-items:center; gap:10px; text-align:left; background:var(--panel-2); border:1px solid var(--line); border-radius:9px; padding:8px 12px; cursor:pointer; font-size:13px; font-weight:600; color:var(--ink-soft); }
.mr-prob:hover { border-color:var(--brand); color:var(--brand); filter:none; }
.mr-prob.sel { background:var(--sand); border-color:var(--brand); color:var(--brand); }
.mr-prob b { font-size:14px; color:var(--ink); min-width:50px; }
.mr-prob.sel b { color:var(--brand); }
.mr-list-head { display:flex; align-items:center; justify-content:space-between; margin:6px 0 8px; }
.mr-pchip { display:inline-block; font-size:10.5px; font-weight:700; background:var(--warn-bg); color:var(--warn); padding:2px 7px; border-radius:6px; margin:0 4px 4px 0; white-space:nowrap; }
.mr-off { font-size:11px; font-weight:800; color:var(--oc); white-space:nowrap; }
@media (max-width:900px){ .mr-kpis{grid-template-columns:repeat(2,1fr)} .mr-segs{grid-template-columns:1fr} .mr-cols{grid-template-columns:1fr} }

/* Rich unit-tab facet view */
.seg-rich-head { display:flex; align-items:center; justify-content:space-between; margin:4px 0 14px; font-size:14px; }
.seg-rich-cols { display:grid; grid-template-columns:1.5fr 1fr; gap:14px; margin-bottom:16px; }
.rch-wrap { display:flex; flex-wrap:wrap; gap:7px; }
.rch { background:var(--panel-2); border:1px solid var(--line); border-radius:999px; padding:5px 12px; font-size:12.5px; font-weight:600; color:var(--ink-soft); cursor:pointer; }
.rch:hover { border-color:var(--brand); color:var(--brand); filter:none; }
.rch.sel { background:var(--sand); border-color:var(--brand); color:var(--brand); }
.rch b { font-variant-numeric:tabular-nums; color:var(--dim); margin-left:3px; }
.rch.sel b { color:var(--brand); }
@media (max-width:900px){ .seg-rich-cols{grid-template-columns:1fr} }

/* Advisor row avatar */
.adv-cell { display:flex; align-items:center; gap:11px; }
.row-av { width:30px; height:30px; border-radius:50%; object-fit:cover; flex:0 0 30px; }
.row-av-mono { display:inline-flex; align-items:center; justify-content:center; background:var(--sidebar); color:#cfe0e6; font-size:11px; font-weight:700; }

/* Grouped sidebar nav sections (DS gallery) */
.nav-group:first-child { margin-top: 14px; }

/* Unified DS lead-row (Advisors + every unit worklist) */
.ds-leadhead, .ds-leadrow { display:grid; grid-template-columns:56px 1.5fr 1.4fr 1.6fr 124px 16px; gap:14px; align-items:center; }
.ds-leadhead { padding:11px 18px; font-size:10.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); border-bottom:1px solid var(--line); background:var(--panel-2); }
.ds-leadrow { padding:14px 18px; border-bottom:1px solid var(--line); cursor:pointer; transition:background .12s; }
.ds-leadrow:hover { background:var(--panel-2); }
.lr-score { display:flex; flex-direction:column; align-items:center; }
.lr-score .v { font-size:24px; font-weight:800; line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.lr-score .lbl { font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); margin-top:2px; }
.lr-adv { display:flex; align-items:center; gap:10px; min-width:0; }
.lr-adv b { font-size:15px; font-weight:800; letter-spacing:-.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lr-lic { font-size:11.5px; color:var(--dim); margin-top:1px; }
.lr-firm { font-size:13px; color:var(--ink-soft); min-width:0; }
.lr-opp { font-size:11px; color:var(--dim); text-align:right; }
.lr-opp b { display:block; font-size:13.5px; color:var(--ink); font-variant-numeric:tabular-nums; }
.lr-chev { color:var(--dim); font-size:18px; text-align:center; }
@media (max-width:1024px){ .ds-leadhead, .ds-leadrow { grid-template-columns:48px 1.4fr 1.3fr 110px 16px; } .ds-leadhead span:nth-child(4), .ds-leadrow .sig-row { display:none; } }

/* ── This Week's Moves — large enriched breakaway cards (Breakaway Radar) ── */
.bw-week:empty { display:none; }
.bw-week { margin-bottom: 22px; }
.wk-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:14px; flex-wrap:wrap; }
.wk-kicker { display:flex; align-items:center; gap:8px; font-size:17px; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
.wk-sub { font-size:12.5px; color:var(--dim); margin-top:3px; }
.wk-export { background:var(--panel); color:var(--brand-deep); border:1px solid var(--line); font-size:12.5px; font-weight:700; padding:7px 13px; border-radius:10px; }
.wk-export:hover { filter:none; border-color:var(--brand); color:var(--brand); }
.wk-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(340px, 1fr)); gap:14px; }
.wk-card { background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:16px 16px 14px; box-shadow:var(--shadow-card); cursor:pointer; transition:border-color .14s ease, box-shadow .14s ease, transform .14s ease; display:flex; flex-direction:column; gap:11px; }
.wk-card:hover { border-color:var(--brand); box-shadow:0 4px 14px rgba(16,160,176,.14); transform:translateY(-1px); }
.wk-top { display:flex; gap:13px; align-items:center; }
.wk-av .avatar { width:58px; height:58px; border-width:2px; }
.wk-av .avatar-mono { font-size:21px; }
.wk-id { min-width:0; flex:1; }
.wk-name { font-size:16px; font-weight:800; letter-spacing:-.02em; color:var(--ink); line-height:1.15; display:flex; align-items:baseline; gap:7px; flex-wrap:wrap; }
.wk-title { font-size:11.5px; font-weight:600; color:var(--dim); }
.wk-move { display:flex; align-items:center; gap:7px; margin-top:5px; font-size:12.5px; flex-wrap:wrap; }
.wk-from { color:var(--dim); font-weight:600; }
.wk-arrow { color:var(--brand); font-weight:800; }
.wk-to { color:var(--ink-soft); font-weight:800; }
.wk-meta { font-size:12px; color:var(--dim); margin-top:5px; }
.wk-meta .num { color:var(--num); font-variant-numeric:tabular-nums; font-weight:700; }
.wk-chips { display:flex; flex-wrap:wrap; gap:6px; }
.wk-chip { font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--panel-2); color:var(--ink-soft); border:1px solid var(--line); }
.wk-chip.alt { background:color-mix(in srgb, var(--brand) 12%, var(--panel)); color:var(--brand-deep); border-color:color-mix(in srgb, var(--brand) 30%, var(--line)); }
.wk-chip.warn { background:var(--warn-bg); color:var(--warn); border-color:color-mix(in srgb, var(--warn) 26%, var(--line)); }
.wk-contacts { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; }
.wk-contact { font-size:12px; font-weight:600; color:var(--brand-deep); }
.wk-contact:hover { color:var(--brand); }
.wk-enriching { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:600; color:var(--gold); }
.wk-brief { font-size:12.5px; line-height:1.5; color:var(--ink-soft); background:var(--panel-2); border-radius:10px; padding:9px 11px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.wk-actions { display:flex; gap:8px; margin-top:auto; padding-top:3px; }
.wk-btn { background:var(--panel); color:var(--ink-soft); border:1px solid var(--line); font-size:12px; font-weight:700; padding:7px 12px; border-radius:9px; }
.wk-btn:hover { filter:none; border-color:var(--brand); color:var(--brand); }
.wk-btn.primary { background:var(--brand); color:#fff; border-color:var(--brand); }
.wk-btn.primary:hover { color:#fff; filter:brightness(1.06); }

/* ── Breakaway Radar: link to This Week's Moves page + stat drill-down ── */
.bw-weeklink { display:flex; align-items:center; gap:14px; padding:14px 18px; margin-bottom:18px; border-radius:14px;
  background:linear-gradient(90deg, color-mix(in srgb, var(--brand) 9%, var(--panel)), var(--panel));
  border:1px solid color-mix(in srgb, var(--brand) 28%, var(--line)); box-shadow:var(--shadow-card); transition:border-color .14s ease, transform .14s ease; }
.bw-weeklink:hover { border-color:var(--brand); transform:translateY(-1px); }
.bw-weeklink-dot { display:flex; align-items:center; }
.bw-weeklink-t { display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.bw-weeklink-t b { font-size:15px; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
.bw-weeklink-t i { font-size:12.5px; font-style:normal; color:var(--dim); }
.bw-weeklink-go { font-size:13px; font-weight:800; color:var(--brand-deep); white-space:nowrap; }
.bw-weeklink:hover .bw-weeklink-go { color:var(--brand); }
.bw-back { display:inline-block; font-size:12.5px; font-weight:700; color:var(--dim); margin-bottom:10px; }
.bw-back:hover { color:var(--brand); }
.bw-stat.on { position:relative; }
.bw-stat.on::after { content:""; position:absolute; left:0; right:18px; bottom:-6px; height:2.5px; border-radius:2px; background:var(--brand); }
.bw-focusbar { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-soft); background:var(--panel-2); border:1px solid var(--line); border-radius:11px; padding:9px 14px; margin-bottom:14px; }
.bw-focusbar b { color:var(--brand-deep); }
.bw-focusclear { background:var(--panel); color:var(--dim); border:1px solid var(--line); font-size:12px; font-weight:700; padding:4px 11px; border-radius:8px; margin-left:auto; }
.bw-focusclear:hover { filter:none; border-color:var(--brand); color:var(--brand); }

/* ── BETA bar (fixed top) + issue reporter modal ── */
#beta-bar { position: fixed; top: 0; left: 0; right: 0; height: 36px; z-index: 40; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 0 16px;
  background: linear-gradient(90deg, #8A5A00, #B58210); color: #fff; font-size: 12.5px; font-weight: 600; letter-spacing: -.005em; box-shadow: 0 1px 4px rgba(8,28,40,.18); }
.beta-pill { background: #fff; color: #8A5A00; font-weight: 800; font-size: 10.5px; letter-spacing: .09em; padding: 2px 8px; border-radius: 999px; }
.beta-msg { opacity: .97; }
#beta-report { background: rgba(255,255,255,.16); color: #fff; border: 1px solid rgba(255,255,255,.55); border-radius: 8px; padding: 4px 12px; font-size: 12px; font-weight: 700; cursor: pointer; transition: background .14s, color .14s; }
#beta-report:hover { background: #fff; color: #8A5A00; filter: none; }
.shell { padding-top: 36px; box-sizing: border-box; }
.sidebar { top: 36px; height: calc(100vh - 36px); }
@media (max-width: 820px) { .beta-msg { display: none; } }

.fb-modal { position: fixed; inset: 0; z-index: 210; background: rgba(8,28,40,.45); display: flex; align-items: center; justify-content: center; padding: 20px; }
.fb-modal.hidden { display: none; }
.fb-card { background: var(--panel); border-radius: 16px; box-shadow: 0 18px 50px rgba(8,28,40,.3); width: 460px; max-width: 100%; padding: 20px; }
.fb-head { display: flex; align-items: center; justify-content: space-between; }
.fb-head b { font-size: 16px; letter-spacing: -.02em; color: var(--ink); }
.fb-x { background: transparent; border: 0; color: var(--dim); font-size: 17px; cursor: pointer; padding: 2px 6px; }
.fb-x:hover { filter: none; color: var(--ink); }
.fb-sub { font-size: 12.5px; color: var(--dim); margin: 6px 0 12px; line-height: 1.5; }
#fb-text { width: 100%; box-sizing: border-box; border: 1px solid var(--line); border-radius: 11px; padding: 11px 13px; font: inherit; font-size: 13.5px; resize: vertical; color: var(--ink); background: var(--panel-2); }
#fb-text:focus { outline: 2px solid var(--brand); outline-offset: 1px; }
.fb-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 13px; }
.fb-cancel { background: var(--panel); color: var(--ink-soft); border: 1px solid var(--line); border-radius: 9px; padding: 8px 15px; font-size: 13px; font-weight: 700; cursor: pointer; }
.fb-cancel:hover { filter: none; border-color: var(--brand); color: var(--brand); }
.fb-send { background: var(--brand); color: #fff; border: 0; border-radius: 9px; padding: 8px 16px; font-size: 13px; font-weight: 700; cursor: pointer; }
.fb-send[disabled] { opacity: .6; cursor: default; }

/* ── Boca conference tab ── */
.boca-summary { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.boca-kpi { flex: 1; min-width: 120px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; box-shadow: var(--shadow-card); }
.boca-kpi .v { font-size: 22px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.boca-kpi .l { font-size: 11.5px; font-weight: 600; color: var(--dim); margin-top: 2px; }
.boca-kpi:last-child .v { color: var(--u-pinnacle); }
.boca-note { font-size: 12px; color: var(--dim); line-height: 1.5; background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 9px 12px; margin-bottom: 16px; }

/* LinkedIn pill on Boca rows */
.boca-li { display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 19px; border-radius: 5px; background: #0A66C2; color: #fff; font-size: 10px; font-weight: 800; font-style: normal; letter-spacing: -.02em; vertical-align: middle; margin-left: 2px; }
.boca-li:hover { filter: brightness(1.1); color: #fff; }

/* ── Boca command center: viz bars + segment chips ── */
.bz-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin: 4px 0 16px; }
.bz-card { background: var(--panel); border: 1px solid var(--line); border-radius: 13px; padding: 13px 15px; box-shadow: var(--shadow-card); }
.bz-h { font-size: 12px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; color: var(--dim); margin-bottom: 10px; }
.bz-row { display: grid; grid-template-columns: 96px 1fr 52px; align-items: center; gap: 9px; margin-bottom: 7px; }
.bz-row[role="button"] { cursor: pointer; }
.bz-row[role="button"]:hover .bz-l { color: var(--brand); }
.bz-l { font-size: 12px; color: var(--ink-soft); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bz-track { height: 8px; background: var(--panel-2); border-radius: 5px; overflow: hidden; }
.bz-fill { height: 100%; border-radius: 5px; transition: width .3s ease; }
.bz-n { font-size: 12.5px; font-weight: 800; color: var(--num); text-align: right; font-variant-numeric: tabular-nums; }
.bz-n i { display: block; font-style: normal; font-size: 10px; font-weight: 600; color: var(--dim); }
.boca-segbar { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.boca-chip { background: var(--panel); color: var(--ink-soft); border: 1px solid var(--line); border-radius: 999px; padding: 6px 12px; font-size: 12.5px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; transition: all .12s; }
.boca-chip:hover { border-color: var(--brand); filter: none; color: var(--brand); }
.boca-chip.on { background: var(--brand); color: #fff; border-color: var(--brand); }
.boca-chip .bc-n { font-size: 11px; font-weight: 800; background: var(--panel-2); color: var(--ink-soft); border-radius: 999px; padding: 1px 7px; }
.boca-chip.on .bc-n { background: rgba(255,255,255,.22); color: #fff; }
.boca-chip.state { background: color-mix(in srgb, var(--brand) 14%, var(--panel)); color: var(--brand-deep); border-color: var(--brand); }
.boca-listhead { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--dim); margin: 6px 2px 10px; }
.boca-listhead b { color: var(--ink); font-size: 15px; }
.boca-export { margin-left: auto; background: var(--panel); color: var(--brand-deep); border: 1px solid var(--line); border-radius: 9px; padding: 6px 12px; font-size: 12px; font-weight: 700; cursor: pointer; }
.boca-export:hover { filter: none; border-color: var(--brand); color: var(--brand); }

/* Boca: add-to-campaign button */
.boca-camp { margin-left: auto; background: var(--brand); color: #fff; border: 0; border-radius: 9px; padding: 6px 13px; font-size: 12px; font-weight: 800; cursor: pointer; }
.boca-camp:hover { filter: brightness(1.07); }
.boca-camp + .boca-export { margin-left: 8px; }

/* Boca: net-worth chip (prominent — HNW = annuity opportunity) */
.sig.nw { background: var(--good-bg); color: var(--good); border-color: color-mix(in srgb, var(--good) 30%, var(--line)); font-weight: 800; }

/* Boca · Marketing gap chips */
.sig.finw { background: color-mix(in srgb, var(--u-finspire) 14%, var(--panel)); color: var(--u-finspire); border-color: color-mix(in srgb, var(--u-finspire) 32%, var(--line)); font-weight: 800; }
.sig.gold { background: var(--warn-bg); color: var(--gold); border-color: color-mix(in srgb, var(--gold) 30%, var(--line)); font-weight: 800; }

/* Advisor dossier: firm + website row in the rail */
.rail-firm { margin-top: 9px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; }
.rail-firmlink { font-weight: 800; color: var(--brand-deep); letter-spacing: -.01em; }
.rail-firmlink:hover { color: var(--brand); }
.rail-sitelink { font-size: 11.5px; font-weight: 700; color: #fff; background: var(--brand); border-radius: 7px; padding: 2px 9px; }
.rail-sitelink:hover { filter: brightness(1.08); color: #fff; }

/* This Week's Moves: net-worth chip */
.wk-chip.nw { background: var(--good-bg); color: var(--good); border-color: color-mix(in srgb, var(--good) 30%, var(--line)); font-weight: 800; }

/* Boca·Marketing: ad + martech signal chips */
.sig.adv { background: color-mix(in srgb, var(--brand) 16%, var(--panel)); color: var(--brand-deep); border-color: color-mix(in srgb, var(--brand) 32%, var(--line)); font-weight: 800; }
.sig.mtk { background: var(--panel-2); color: var(--ink-soft); border-color: var(--line); }

/* ── In the News feed ── */
.news-feed { display: flex; flex-direction: column; gap: 11px; }
.news-item { background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--u-pinnacle); border-radius: 12px; padding: 13px 16px; box-shadow: var(--shadow-card); }
.news-meta { font-size: 11.5px; color: var(--dim); font-weight: 600; margin-bottom: 4px; }
.news-date { color: var(--ink-soft); font-weight: 800; }
.news-title { display: block; font-size: 15px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); line-height: 1.3; }
.news-title:hover { color: var(--brand); }
.news-firm { font-size: 12.5px; color: var(--dim); margin-top: 5px; }
.news-firmlink { color: var(--brand-deep); font-weight: 800; cursor: pointer; }
.news-firmlink:hover { color: var(--brand); }
.news-firm .num { color: var(--num); font-variant-numeric: tabular-nums; }
.news-advs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.news-adv { font-size: 12px; font-weight: 700; background: color-mix(in srgb, var(--u-pinnacle) 12%, var(--panel)); color: var(--u-pinnacle); border: 1px solid color-mix(in srgb, var(--u-pinnacle) 30%, var(--line)); border-radius: 999px; padding: 3px 10px; cursor: pointer; }
.news-adv:hover { background: var(--u-pinnacle); color: #fff; }
.news-snip { font-size: 12.5px; color: var(--ink-soft); line-height: 1.5; margin-top: 8px; }

/* Faith Forward Advisors (Pinnacle) */
.faith-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.faith-card { border: 1px solid var(--line); border-radius: 12px; padding: 14px; background: var(--panel); display: flex; flex-direction: column; gap: 4px; }
.faith-top { display: flex; align-items: center; gap: 9px; }
.faith-name { font-weight: 700; color: var(--ink); text-decoration: none; }
.faith-name:hover { color: var(--brand); }
.faith-firm { font-size: 12.5px; color: var(--ink-soft); margin-top: 2px; }
.faith-ev { font-size: 12.5px; font-style: italic; color: var(--ink-soft); background: var(--sand); border-left: 3px solid var(--brand); padding: 7px 10px; border-radius: 0 6px 6px 0; margin: 4px 0; }
.faith-reach { font-size: 12.5px; margin-top: 4px; }
.enrich-btn.on { background: var(--brand); color: #fff; }

/* Recently viewed strip (Discover) */
.recent-wrap { margin-top: 14px; }
.recent-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 7px; }
.recent-clear { background: none; border: none; color: var(--dim); font-size: 12px; cursor: pointer; padding: 2px 4px; }
.recent-clear:hover { color: var(--brand); text-decoration: underline; }
.recent-strip { display: flex; gap: 9px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.recent-chip { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; max-width: 230px;
  border: 1px solid var(--line); border-radius: 10px; padding: 8px 11px; background: var(--panel); text-decoration: none; transition: border-color .12s, transform .12s; }
.recent-chip:hover { border-color: var(--brand); transform: translateY(-1px); }
.recent-ic { font-size: 15px; opacity: .75; flex: 0 0 auto; }
.recent-tx { display: flex; flex-direction: column; min-width: 0; }
.recent-tx b { font-size: 13px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.recent-tx i { font-size: 11px; color: var(--dim); font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Campaign channel badge + sequence editor */
.ch-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600;
  padding: 2px 8px; border-radius: 999px; color: var(--cc); border: 1px solid var(--cc); background: color-mix(in srgb, var(--cc) 8%, transparent); }
.seq-row { display: grid; grid-template-columns: 22px 110px 86px 1fr 30px; gap: 7px; align-items: start;
  border: 1px solid var(--line); border-radius: 10px; padding: 9px; background: var(--panel); }
.seq-row .seq-subj, .seq-row .seq-tpl { grid-column: 4 / 5; }
.seq-row .seq-tpl { grid-column: 1 / 6; }
.seq-no { width: 22px; height: 22px; border-radius: 50%; background: var(--brand); color: #fff; font-size: 12px;
  display: flex; align-items: center; justify-content: center; font-weight: 700; }
.seq-row select, .seq-row input, .seq-row textarea { padding: 6px 8px; border-radius: 8px; border: 1px solid var(--line);
  font: inherit; font-size: 12.5px; background: var(--bg); color: var(--ink); width: 100%; box-sizing: border-box; }
.seq-day { font-size: 12px; color: var(--dim); display: flex; align-items: center; gap: 4px; }
.seq-day input { width: 48px; }
.seq-rm { align-self: center; }

/* Usage dashboard daily trend */
.usage-trend { display: flex; align-items: flex-end; gap: 5px; height: 84px; padding: 6px 0; overflow-x: auto; }
.ut-col { display: flex; flex-direction: column; align-items: center; gap: 3px; flex: 0 0 auto; min-width: 22px; }
.ut-bar { width: 16px; background: var(--brand); border-radius: 3px 3px 0 0; min-height: 2px; }
.ut-u { font-size: 10px; color: var(--dim); }

/* Campaign: add-all toolbar + per-member drafts */
.res-toolbar { margin: 10px 0; }
.draft-person { padding: 8px 10px; border-radius: 9px; background: var(--sand); margin-bottom: 10px; }
.draft-step { border: 1px solid var(--line); border-radius: 10px; padding: 10px; margin-bottom: 9px; background: var(--panel); }
.draft-h { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font-size: 12px; }
.draft-subj { font-weight: 600; font-size: 13px; margin-bottom: 4px; }
.draft-body { font-size: 13px; white-space: pre-wrap; color: var(--ink); line-height: 1.5; }
.draft-copy { font-size: 11px; padding: 3px 9px; }

/* Campaign cadence timeline + relay sequence editor */
.cad-wrap { background: var(--sand); border: 1px solid var(--line); border-radius: 12px; padding: 14px; overflow-x: auto; margin-bottom: 16px; }
.cad-tl { display: flex; align-items: center; gap: 0; min-width: min-content; }
.cad-node { display: flex; flex-direction: column; align-items: center; gap: 5px; flex: 0 0 auto; text-align: center; min-width: 96px; }
.cad-day { font-size: 11px; color: var(--dim); font-weight: 600; }
.cad-dot { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; color: #fff; }
.cad-dot.ch-linkedin { background: #0A66C2; } .cad-dot.ch-email { background: var(--brand); } .cad-dot.ch-sms { background: #8A5A00; } .cad-dot.ch-task { background: var(--dim); }
.cad-meta { display: flex; flex-direction: column; line-height: 1.25; }
.cad-meta b { font-size: 12.5px; color: var(--ink); }
.cad-meta span { font-size: 11px; color: var(--dim); }
.cad-line { flex: 1 1 24px; min-width: 24px; height: 2px; background: var(--line); margin-top: -22px; }
.seq-line1 { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-bottom: 6px; }
.seq-from, .seq-cc { flex: 1 1 130px; min-width: 110px; padding: 6px 8px; border-radius: 8px; border: 1px solid var(--line); font: inherit; font-size: 12.5px; background: var(--bg); color: var(--ink); }
.seq-row .seq-d { width: 52px; }

/* Pipeline relationship updates log */
.pl-updwrap { display: flex; align-items: center; gap: 9px; margin-top: 8px; flex-wrap: wrap; }
.pl-upd { font-size: 12px; padding: 4px 11px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-soft); cursor: pointer; }
.pl-upd:hover { border-color: var(--brand); color: var(--brand); }
.pl-updlast { font-size: 11.5px; color: var(--dim); font-style: italic; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 60%; }
.pu-item { border-left: 3px solid var(--brand); background: var(--sand); padding: 8px 11px; border-radius: 0 8px 8px 0; margin-bottom: 8px; }
.pu-note { font-size: 13px; color: var(--ink); white-space: pre-wrap; }
.pu-meta { font-size: 11px; color: var(--dim); margin-top: 3px; }

/* Branching flow-canvas cadence */
.cf { display: flex; flex-direction: column; align-items: center; gap: 0; }
.cf-step { display: flex; align-items: center; gap: 11px; width: 100%; max-width: 540px; border: 1px solid var(--line); border-radius: 12px; padding: 10px 13px; background: var(--panel); }
.cf-dot { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: #fff; }
.cf-dot.ch-linkedin { background: #0A66C2; } .cf-dot.ch-email { background: var(--brand); } .cf-dot.ch-sms { background: #8A5A00; } .cf-dot.ch-task { background: var(--dim); }
.cf-body { flex: 1; min-width: 0; }
.cf-top { font-size: 13px; color: var(--ink); }
.cf-top b { color: var(--ink); } .cf-via { color: var(--dim); } .cf-day { color: var(--dim); font-size: 11.5px; margin-left: 4px; }
.cf-cc { font-size: 11px; color: var(--dim); margin-left: 6px; padding: 1px 6px; border: 1px solid var(--line); border-radius: 999px; }
.cf-subj { font-size: 12.5px; font-weight: 600; color: var(--ink-soft); margin-top: 2px; }
.cf-snip { font-size: 12px; color: var(--dim); margin-top: 1px; }
.cf-branch { flex: 0 0 auto; font-size: 11px; color: var(--ok,#1a9e54); border: 1px dashed color-mix(in srgb, var(--ok,#1a9e54) 50%, transparent); border-radius: 8px; padding: 4px 8px; }
.cf-conn { display: flex; flex-direction: column; align-items: center; line-height: 1.1; padding: 4px 0; }
.cf-no { font-size: 10.5px; color: var(--dim); } .cf-arrow { color: var(--line); font-size: 15px; }
.cf-end { margin-top: 8px; font-size: 11.5px; color: var(--dim); border: 1px solid var(--line); border-radius: 999px; padding: 4px 12px; background: var(--sand); }

/* Lead-flow Sankey */
.lf-box { border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; margin: 14px 0 6px; background: var(--panel); }
.lf-funnel { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12.5px; color: var(--ink-soft); margin-bottom: 8px; }
.lf-funnel b { color: var(--ink); } .lf-sep { color: var(--line); }
.lf-svg { width: 100%; height: auto; display: block; }
.lf-lbl { font-size: 11.5px; fill: var(--ink-soft); }
.lf-n { fill: var(--dim); font-weight: 700; }
.lf-key { font-size: 11px; color: var(--dim); margin-top: 6px; }
.wk-btn.ghost { color: var(--dim); padding-left: 9px; padding-right: 9px; }
.wk-btn.ghost:hover { color: #b04632; border-color: #b04632; }

/* Today's work queue (home) */
.q-panel { border: 1px solid var(--brand); border-radius: 14px; padding: 14px 16px; margin: 16px 0 6px; background: color-mix(in srgb, var(--brand) 4%, var(--panel)); }
.q-panel.q-clear { text-align: center; color: var(--ok,#1a9e54); font-size: 13.5px; padding: 18px; border-color: var(--line); background: var(--panel); }
.q-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.q-title { font-weight: 700; font-size: 14px; color: var(--ink); }
.q-n { font-size: 12px; font-weight: 700; color: var(--brand); }
.q-hint { font-size: 11.5px; color: var(--dim); margin-left: auto; }
.q-list { display: flex; flex-direction: column; gap: 7px; }
.q-item { display: flex; align-items: center; gap: 11px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); cursor: pointer; }
.q-item:hover { border-color: var(--brand); }
.q-score { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; color: #fff; background: var(--qs); }
.q-body { flex: 1; min-width: 0; }
.q-name { font-size: 13.5px; font-weight: 600; color: var(--ink); }
.q-kind { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 1px 6px; border-radius: 999px; margin-left: 4px; }
.q-kind.bw { background: color-mix(in srgb, var(--u-pinnacle) 16%, transparent); color: var(--u-pinnacle); }
.q-kind.pl { background: color-mix(in srgb, var(--gold) 18%, transparent); color: #8A5A00; }
.q-sub { font-size: 12px; color: var(--dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.q-acts { display: flex; gap: 5px; flex: 0 0 auto; }
.q-act { font-size: 11.5px; padding: 4px 9px; border-radius: 8px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-soft); cursor: pointer; }
.q-act:hover { border-color: var(--brand); color: var(--brand); }
.q-act.ghost:hover { border-color: #b04632; color: #b04632; }

/* Campaign kanban board */
.kb-board { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; align-items: flex-start; }
.kb-col { flex: 0 0 200px; background: var(--sand); border: 1px solid var(--line); border-radius: 12px; padding: 8px; }
.kb-h { display: flex; align-items: center; justify-content: space-between; font-size: 12px; font-weight: 700; text-transform: capitalize; color: var(--ink-soft); padding: 2px 4px 8px; }
.kb-n { font-size: 11px; color: var(--dim); background: var(--panel); border-radius: 999px; padding: 1px 7px; }
.kb-drop { display: flex; flex-direction: column; gap: 7px; min-height: 40px; border-radius: 8px; transition: background .12s; }
.kb-drop.over { background: color-mix(in srgb, var(--brand) 10%, transparent); outline: 1px dashed var(--brand); }
.kb-card { display: flex; align-items: center; gap: 8px; background: var(--panel); border: 1px solid var(--line); border-radius: 9px; padding: 7px 9px; cursor: grab; }
.kb-card:hover { border-color: var(--brand); }
.kb-card.drag { opacity: .5; }
.kb-name { font-size: 12.5px; font-weight: 600; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kb-firm { font-size: 11px; color: var(--dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Client Radar movement panels */
.clm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 12px; }
.clm-card { border: 1px solid var(--line); border-radius: 12px; padding: 12px 13px; background: var(--panel); cursor: pointer; display: flex; flex-direction: column; gap: 6px; }
.clm-card:hover { border-color: var(--brand); }
.clm-top { display: flex; align-items: center; gap: 9px; }
.clm-name { font-weight: 700; font-size: 13.5px; color: var(--ink); }
.clm-sub { font-size: 12px; color: var(--ink-soft); }
.clm-dir { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; padding: 1px 6px; border-radius: 999px; }
.clm-dir.in { background: color-mix(in srgb, var(--ok,#1a9e54) 16%, transparent); color: var(--ok,#1a9e54); }
.clm-dir.out { background: color-mix(in srgb, #b04632 16%, transparent); color: #b04632; }
.clm-when { margin-left: auto; font-size: 11px; color: var(--dim); white-space: nowrap; }
.clm-flow { font-size: 12px; color: var(--ink-soft); }
.clm-arrow { color: var(--dim); }
.clm-meta { font-size: 11.5px; color: var(--dim); }
.clm-acts { display: flex; gap: 5px; margin-top: 4px; flex-wrap: wrap; }
.st-menu { position: fixed; z-index: 9999; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.18); padding: 6px; min-width: 130px; }
.st-menu .st-h { font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--dim); padding: 3px 8px; }
.st-menu button { display: block; width: 100%; text-align: left; padding: 7px 10px; border: none; background: none; font: inherit; font-size: 13px; color: var(--ink); border-radius: 7px; cursor: pointer; }
.st-menu button:hover { background: var(--sand); color: var(--brand); }

/* Client Radar movement — list rows + controls */
.clm-controls { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 14px 0 8px; }
.clm-wins { display: flex; gap: 5px; }
.clm-ctl { padding: 7px 10px; border-radius: 9px; border: 1px solid var(--line); font: inherit; font-size: 12.5px; background: var(--panel); color: var(--ink); }
.clm-dirs { display: flex; gap: 8px; margin: 4px 0 12px; flex-wrap: wrap; }
.clm-list { display: flex; flex-direction: column; gap: 8px; }
.clm-row { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); cursor: pointer; }
.clm-row:hover { border-color: var(--brand); }
.clm-r-main { flex: 1; min-width: 0; }
.clm-r-h { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.clm-r-name { font-weight: 700; font-size: 13.5px; color: var(--ink); }
.clm-dir { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; padding: 1px 7px; border-radius: 999px; }
.clm-dir.in { background: color-mix(in srgb, var(--ok,#1a9e54) 16%, transparent); color: var(--ok,#1a9e54); }
.clm-dir.out { background: color-mix(in srgb, #b04632 16%, transparent); color: #b04632; }
.clm-lic { font-size: 10px; font-weight: 600; padding: 1px 6px; border-radius: 999px; border: 1px solid var(--line); color: var(--ink-soft); }
.clm-lic.s67 { border-color: color-mix(in srgb, var(--u-pinnacle) 50%, transparent); color: var(--u-pinnacle); }
.clm-lic.ins { border-color: color-mix(in srgb, var(--gold) 60%, transparent); color: #8A5A00; }
.clm-yrs { font-size: 11px; color: var(--dim); }
.clm-r-flow { font-size: 12.5px; color: var(--ink-soft); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.clm-r-flow b { font-weight: 600; color: var(--ink); }
.clm-arrow { color: var(--dim); margin: 0 3px; }
.clm-r-meta { font-size: 11.5px; color: var(--dim); margin-top: 2px; }
.clm-when { font-size: 11px; color: var(--dim); white-space: nowrap; flex: 0 0 auto; }
.clm-r-acts { display: flex; gap: 5px; flex: 0 0 auto; }
@media (max-width: 720px) { .clm-row { flex-wrap: wrap; } .clm-when { order: -1; margin-left: auto; } }

/* Role gating — general employees (viewer) can search + view, but not claim/assign/campaign */
body.role-viewer .q-act,
body.role-viewer .clm-r-acts,
body.role-viewer [data-wk-camp], body.role-viewer [data-wk-matt], body.role-viewer [data-wk-snooze], body.role-viewer [data-wk-dismiss],
body.role-viewer .boca-camp,
body.role-viewer .crm-route,
body.role-viewer .pl-updwrap,
body.role-viewer #camp-new,
body.role-viewer .hm-pbtn,
body.role-viewer #cta-campaign,
body.role-viewer #add-all-camp,
body.role-viewer #firm-camp,
body.role-viewer #bb-campaign { display: none !important; }

/* Campaign funnel/health bar */
.cfn-wrap { margin: 4px 0 16px; }
.cfn-bar { display: flex; height: 12px; border-radius: 7px; overflow: hidden; background: var(--sand); }
.cfn-seg { min-width: 3px; }
.cfn-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; align-items: center; }
.cfn-l { font-size: 11.5px; color: var(--ink-soft); display: inline-flex; align-items: center; gap: 5px; text-transform: capitalize; }
.cfn-l i { width: 9px; height: 9px; border-radius: 2px; display: inline-block; }
.cfn-rate { margin-left: auto; font-size: 12px; font-weight: 700; color: var(--ok,#1a9e54); }

/* A/B variant — sequence editor variant-B line + funnel comparison */
.seq-bline { display: flex; align-items: center; gap: 8px; margin-top: 6px; padding-top: 6px; border-top: 1px dashed var(--line); }
.seq-blabel { font-size: 10.5px; font-weight: 700; color: #8A5A00; white-space: nowrap; }
.seq-fromb { flex: 0 0 150px; padding: 5px 8px; border-radius: 7px; border: 1px solid var(--line); font: inherit; font-size: 12px; background: var(--bg); color: var(--ink); }
.seq-tplb { flex: 1; padding: 5px 8px; border-radius: 7px; border: 1px solid var(--line); font: inherit; font-size: 12px; background: var(--bg); color: var(--ink); box-sizing: border-box; }
.cfn-ab { display: flex; gap: 16px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.cfn-abv { font-size: 12px; color: var(--ink-soft); }
.cfn-abv b { display: inline-block; width: 18px; height: 18px; line-height: 18px; text-align: center; border-radius: 4px; background: var(--u-pinnacle); color: #fff; font-size: 11px; margin-right: 5px; }
.cfn-abv:last-child b { background: #8A5A00; }

/* Role landings — viewer search-first + HQ */
.vh-hero { background: linear-gradient(135deg, color-mix(in srgb,var(--brand) 8%,var(--panel)), var(--panel)); border: 1px solid var(--line); border-radius: 16px; padding: 30px 28px; margin: 16px 0; }
.vh-hero h1 { font-size: 26px; margin: 0 0 6px; }
.vh-hero p { color: var(--ink-soft); margin: 0 0 16px; max-width: 640px; }
.vh-search { display: flex; align-items: center; gap: 10px; max-width: 520px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); color: var(--ink-soft); text-decoration: none; font-size: 14px; }
.vh-search:hover { border-color: var(--brand); }
.vh-search .hm-kbd { margin-left: auto; }
.vh-links { display: flex; gap: 10px; flex-wrap: wrap; }
.vh-link { padding: 12px 16px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); text-decoration: none; color: var(--ink); font-size: 13.5px; font-weight: 600; transition: border-color .12s, transform .12s; }
.vh-link:hover { border-color: var(--brand); color: var(--brand); transform: translateY(-1px); }
