@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&family=Noto+Serif:wght@600&family=Spectral:wght@500;600&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@500&family=Hanken+Grotesk:wght@400;500;600;700;800&family=Newsreader:ital,opsz,wght@1,6..72,400;1,6..72,500&display=swap');
/* ===================== Atlas CRM — design system (PhaseOne / sharp prototype) ===================== */
:root{
  --ink:#0E1626;
  --bg:#EDF0F5; --bg2:#FFFFFF; --panel:#FFFFFF; --panel2:#F4F6FA;
  --line:#E1E5EC; --line2:#D6DCE5;
  --txt:#1A1E24; --muted:#6E767E; --faint:#9aa3b0;
  /* PhaseOne blue is the ONLY accent; teal/purple/etc are semantic */
  --accent:#1E63E0; --accent2:#0F8A7E; --accent3:#B5862B; --accent-soft:#DEEAFD;
  --grad:#1E63E0; --grad-text:#1E63E0;
  --gold:#B5862B; --ok:#2E7D5B; --warn:#B5862B; --bad:#B23A3A; --info:#1E63E0;
  --purple:#7A6BB5; --teal:#0F8A7E;
  --radius:12px; --shadow:0 6px 18px rgba(14,22,38,.08);
  /* --serif is now Inter (headings are sans, matching the Figma); wordmark keeps the serif */
  --serif:'Inter','Segoe UI',system-ui,sans-serif; --mono:'JetBrains Mono','IBM Plex Mono',monospace; --wordmark:'Noto Serif',Georgia,serif;
}
/* light is the default look; keep dark tokens for an optional [data-theme="dark"] later */
html[data-theme="light"] ::-webkit-scrollbar-thumb{background:#cfd0c9}
html[data-theme="light"] ::-webkit-scrollbar-thumb:hover{background:#b8b9b1}
/* badges: darker ink for contrast on light surfaces */
html[data-theme="light"] .b-high{background:rgba(248,113,113,.16);color:#b91c1c}
html[data-theme="light"] .b-medium{background:rgba(251,191,36,.20);color:#b45309}
html[data-theme="light"] .b-low{background:rgba(96,165,250,.18);color:#1d4ed8}
html[data-theme="light"] .b-rating{background:rgba(13,148,136,.14);color:#0f766e}
html[data-theme="light"] .b-stake{background:rgba(168,85,247,.16);color:#7c3aed}
html[data-theme="light"] .pill.code{background:rgba(99,102,241,.14);color:#4338ca}
/* login in light */
html[data-theme="light"] .auth-body{background:radial-gradient(1200px 700px at 70% -10%,#dfe6fb,transparent),#eef1f8}
html[data-theme="light"] .auth-card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,249,254,.96));
  border-color:var(--line2)}
html[data-theme="light"] .auth-form input{background:#f3f5fb;border-color:var(--line2);color:var(--txt)}
html[data-theme="light"] .orb{opacity:.32}
/* theme toggle button */
.theme-toggle{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;
  background:var(--panel);border:1px solid var(--line2);color:var(--muted);cursor:pointer;transition:.18s;flex-shrink:0}
.theme-toggle:hover{color:var(--txt);border-color:var(--accent)}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.auth-toggle{position:absolute;top:18px;right:18px;z-index:2}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:'Inter','Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--txt);
  -webkit-font-smoothing:antialiased;font-size:14px}
a{color:inherit;text-decoration:none}
.mono,.stat .v,.crumbs .mono{font-family:var(--mono)}
::selection{background:rgba(30,99,224,.18)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#cfd0c9;border-radius:20px}
::-webkit-scrollbar-thumb:hover{background:#b8b9b1}

/* ===================== Animated Atlas logo ===================== */
.atlas-logo{display:block;overflow:visible}
.al-globe{transform-origin:50px 50px;animation:al-tilt 9s ease-in-out infinite}
.al-orbit{transform-origin:50px 50px;animation:al-spin 7s linear infinite}
.al-sat{filter:drop-shadow(0 0 6px #5eead4)}
.al-glow{animation:al-pulse 3.2s ease-in-out infinite;transform-origin:50px 50px}
@keyframes al-spin{to{transform:rotate(360deg)}}
@keyframes al-pulse{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
@keyframes al-tilt{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}

/* ===================== Login ===================== */
.auth-body{display:grid;place-items:center;min-height:100vh;position:relative;overflow:hidden;
  background:radial-gradient(1100px 650px at 75% -15%,#e7efec,transparent),var(--bg)}
.auth-bg{position:absolute;inset:0;z-index:0}
.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.20;animation:float 16s ease-in-out infinite}
.orb-1{width:340px;height:340px;background:var(--accent);top:-90px;left:-60px}
.orb-2{width:280px;height:280px;background:var(--gold);bottom:-90px;right:-40px;animation-delay:-5s}
.orb-3{width:220px;height:220px;background:#3257A8;top:42%;right:32%;animation-delay:-9s}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(26px,-26px)}}
.auth-card{position:relative;z-index:1;width:380px;max-width:92vw;padding:36px 32px;
  background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 16px 48px -16px rgba(20,25,31,.22);animation:rise .5s cubic-bezier(.2,.8,.2,1)}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.auth-brand{display:flex;align-items:center;gap:13px;margin-bottom:24px}
.auth-brand h1{font-family:var(--wordmark);font-size:24px;letter-spacing:2px;color:var(--ink);font-weight:600}
.auth-brand-text p{color:var(--muted);font-size:12px;margin-top:3px}
.auth-form{display:flex;flex-direction:column;gap:15px}
.auth-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted);font-weight:600}
.auth-form input{background:#fff;border:1px solid var(--line2);border-radius:9px;padding:11px 13px;
  color:var(--txt);font-size:14px;transition:.18s}
.auth-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(30,99,224,.14)}
.auth-error{background:#F1DBDB;border:1px solid #e3c4c4;color:#9a2f2f;
  padding:10px 13px;border-radius:9px;font-size:13px;margin-bottom:16px}
.btn-primary{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:6px;
  background:var(--accent);color:#fff;font-weight:600;border:none;border-radius:9px;
  padding:12px;cursor:pointer;font-size:14px;transition:.18s;box-shadow:0 1px 2px rgba(30,99,224,.25)}
.btn-primary:hover{background:#1a55c0}
.auth-foot{text-align:center;color:var(--faint);font-size:11px;margin-top:22px}

/* ===================== Shell / sidebar ===================== */
.shell{display:flex;height:100vh;overflow:hidden}
.sidebar{width:230px;flex-shrink:0;display:flex;flex-direction:column;
  background:var(--ink);border-right:1px solid var(--ink)}
.brand{display:flex;align-items:center;gap:11px;padding:18px 16px 16px;border-bottom:1px solid #262C36}
.brand .atlas-logo{width:38px;height:38px}
.brand-text h1{font-family:var(--wordmark);font-weight:600;font-size:19px;letter-spacing:2px;color:#fff;line-height:1}
.brand-text span{font-size:10px;letter-spacing:.5px;color:#7B838D}
.nav{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:2px}
.nav::-webkit-scrollbar{width:6px}
.nav::-webkit-scrollbar-thumb{background:#363D48;border-radius:3px}
.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:8px;color:#AEB5BD;
  font-size:13px;font-weight:500;cursor:pointer;transition:.15s;position:relative}
.nav-item .ic{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav-item:hover{background:#222934;color:#E7EAEE}
.nav-item.active{color:#fff;background:var(--accent)}
.nav-label{flex:1}
.nav-sep{font-size:9px;letter-spacing:.7px;text-transform:uppercase;color:#5B636E;
  font-weight:600;padding:14px 11px 5px;font-family:var(--mono)}
.nav-layer{font-size:9px;letter-spacing:.4px;text-transform:uppercase;opacity:.55;font-family:var(--mono)}
.nav-item.active .nav-layer{opacity:.85}
/* brand mark (compass in teal square) */
.brand-mark{width:34px;height:34px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,#3b82f6,#1747a8)}
.brand-mark svg{width:18px;height:18px}
.brand-logo{width:36px;height:36px;object-fit:contain;flex-shrink:0}
/* login logo — gentle repeating fade pulse */
.auth-logo-anim{animation:logo-fade 2.6s ease-in-out infinite}
@keyframes logo-fade{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.94)}}
/* rail foot — acting as / fields / reset (prototype chrome) */
.rail-foot{padding:12px 14px;border-top:1px solid #262C36;display:flex;flex-direction:column;gap:10px}
.acting{display:flex;flex-direction:column;gap:5px}
.acting-lbl{display:flex;align-items:center;gap:5px;font-size:10px;color:#7B838D;text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.acting-lbl svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2}
.acting select{background:#222934;border:1px solid #2C333D;border-radius:7px;padding:7px 9px;color:#C7CCD3;font-size:12px}
.fieldmask{display:flex;flex-direction:column;gap:6px}
.fm-label{font-size:9px;letter-spacing:.7px;text-transform:uppercase;color:#5B636E;font-weight:600;font-family:var(--mono)}
.fm-seg{display:flex;background:#0b1220;border:1px solid #222934;border-radius:9px;padding:3px;gap:3px}
.fm-seg button{flex:1;font-size:12px;font-weight:600;color:#9aa3b0;background:none;border:none;border-radius:6px;padding:6px;cursor:pointer;transition:.12s}
.fm-seg button:hover{color:#E7EAEE}
.fm-seg button.on{background:var(--accent-soft);color:var(--accent)}
.rail-user{display:flex;align-items:center;gap:9px}
.reset-btn{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#9aa3b0;padding:9px 8px;border-radius:8px;background:none;border:1px solid #2C333D;cursor:pointer;width:100%}
.reset-btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
.reset-btn:hover{color:#E7EAEE;background:#222934;border-color:#3a4250}
.rail-user{display:flex;align-items:center;gap:9px;padding-top:4px;border-top:1px solid #1a2230;margin-top:2px}
/* brief stat icon */
.sb-ic{width:18px;height:18px;margin-bottom:11px}
.sb-ic svg{width:18px;height:18px}
.side-foot{padding:12px 14px;border-top:1px solid #262C36;display:flex;align-items:center;gap:10px}
.user{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.avatar{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#3b82f6,#1747a8);
  color:#fff;display:grid;place-items:center;font-weight:700;flex-shrink:0}
.user-meta{min-width:0}
.user-meta b{display:block;font-size:13px;color:#E7EAEE;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-meta span{font-size:11px;color:#7B838D;text-transform:capitalize}
.logout{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:#7B838D;
  border:1px solid #2C333D}
.logout .ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.logout:hover{color:#fff;border-color:#3a4250;background:#222934}

/* ===================== Main ===================== */
.main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 30px;
  border-bottom:1px solid var(--line);background:var(--surface,var(--bg2))}
.crumbs{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted);flex-wrap:wrap;font-weight:500}
.crumbs b{color:var(--ink)}
.crumbs a{color:var(--accent);cursor:pointer}
.crumbs .sep{color:var(--faint)}
.search input{background:var(--panel);border:1px solid var(--line2);border-radius:10px;padding:9px 14px;
  color:var(--txt);width:240px;font-size:13px}
.search input:focus{outline:none;border-color:var(--accent)}
.view{flex:1;overflow-y:auto;padding:22px 30px}
.loading{color:var(--muted);padding:40px;text-align:center}
.fade{animation:fade .35s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ===================== Common UI ===================== */
.page-title{font-family:'Inter','Segoe UI',sans-serif;font-size:26px;font-weight:600;letter-spacing:-.4px;margin-bottom:4px;color:var(--ink)}
.page-sub{color:var(--muted);margin-bottom:22px;font-size:13px}
.grid{display:grid;gap:13px}
.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:24px}
.card{background:var(--surface,var(--panel));border:1px solid var(--line);
  border-radius:var(--radius);padding:17px 19px;transition:.18s}
.card.click{cursor:pointer}
.card.click:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow)}
.stat{display:flex;align-items:center;gap:14px;position:relative}
.stat-ic{width:46px;height:46px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;
  color:var(--accent);background:var(--accent-soft)}
.stat-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sc-niches .stat-ic{color:var(--gold);background:#F2E7CC}
.sc-targets .stat-ic{color:var(--info);background:#DCE4F2}
.sc-opps .stat-ic{color:var(--bad);background:#F1DBDB}
.stat .k{color:var(--muted);font-size:11.5px;font-weight:600;text-transform:none;letter-spacing:0}
.stat .v{font-family:var(--mono);font-size:28px;font-weight:500;line-height:1;margin-top:5px;color:var(--ink)}
.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.client-card h3,.niche-card h3{font-size:17px;margin-bottom:4px}
.client-card .tag,.niche-card .tag{color:var(--muted);font-size:12px}
.card-row{display:flex;gap:18px;margin-top:16px}
.card-row .m{font-size:12px;color:var(--muted)}
.card-row .m b{display:block;font-size:20px;color:var(--txt);font-weight:700}
.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;
  font-weight:700;border:1px solid var(--line2)}
.pill.code{background:rgba(99,102,241,.16);color:#a5b4fc;border-color:transparent}

/* tables */
.tbl-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}
table{width:100%;border-collapse:collapse;font-size:13px}
thead th{text-align:left;padding:11px 16px;color:var(--muted);font-weight:600;font-size:10.5px;
  text-transform:uppercase;letter-spacing:.5px;background:var(--panel2);border-bottom:1px solid var(--line)}
tbody td{padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px}
tbody tr{transition:.12s}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:var(--panel2)}
tbody tr.click{cursor:pointer}
.co{font-weight:600;color:var(--ink)}
.note{color:var(--muted);font-size:12px;max-width:340px}

/* badges */
.b{display:inline-block;padding:3px 9px;border-radius:7px;font-size:11px;font-weight:700;white-space:nowrap}
.b-high{background:rgba(248,113,113,.16);color:#fca5a5}
.b-medium{background:rgba(251,191,36,.16);color:#fcd34d}
.b-low{background:rgba(96,165,250,.16);color:#93c5fd}
.b-rating{background:rgba(94,234,212,.14);color:#5eead4}
.b-status{background:var(--panel2);color:var(--muted);border:1px solid var(--line2)}
.b-stake{background:rgba(168,85,247,.16);color:#d8b4fe}

.empty{text-align:center;color:var(--muted);padding:60px 20px}
.empty .atlas-logo{margin:0 auto 16px;opacity:.6;width:60px;height:60px}
.barlist{display:flex;flex-direction:column;gap:13px;margin-top:10px}
.barlist .row{display:flex;align-items:center;gap:13px;font-size:13px}
.barlist .lbl{width:160px;color:var(--txt);font-weight:500;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.barlist .track{flex:1;height:11px;background:var(--panel2);border-radius:7px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.12)}
.barlist .fill{height:100%;border-radius:7px;min-width:10px;transition:width .5s cubic-bezier(.2,.8,.2,1);background:linear-gradient(90deg,#5eead4,#6366f1)}
.barlist .n{width:34px;text-align:right;font-weight:800;font-size:15px;color:var(--txt)}
/* priority colors via parent data-p attribute */
.barlist .row[data-p="High"] .fill{background:linear-gradient(90deg,#fb7185,#ef4444)}
.barlist .row[data-p="Medium"] .fill{background:linear-gradient(90deg,#fbbf24,#f59e0b)}
.barlist .row[data-p="Low"] .fill{background:linear-gradient(90deg,#60a5fa,#3b82f6)}
.barlist .fill.pf-status{background:linear-gradient(90deg,#5eead4,#6366f1)}
html[data-theme="light"] .barlist .track{background:#e7ebf4}
/* ===================== Niche cards (client detail) ===================== */
.niche-card{display:flex;flex-direction:column;gap:12px;min-height:150px}
.nc-top{display:flex;justify-content:space-between;align-items:center}
.nc-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:#fff;
  font-weight:800;font-size:15px;letter-spacing:.5px;box-shadow:0 8px 18px -8px rgba(0,0,0,.45)}
.nc-num{text-align:right;line-height:1}
.nc-num b{font-size:24px;font-weight:800;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.nc-num span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-top:2px}
.niche-card h3{font-size:16px;line-height:1.25}
.nc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid var(--line)}
.nc-sector{font-size:12px;color:var(--muted)}
.nc-go{font-size:12px;font-weight:700;color:var(--accent2);opacity:0;transform:translateX(-4px);transition:.18s}
.niche-card:hover .nc-go{opacity:1;transform:none}

/* ===================== Pager ===================== */
.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.pg-btn{padding:7px 14px;border-radius:9px;border:1px solid var(--line2);background:var(--panel);color:var(--txt);
  font-size:13px;font-weight:600;cursor:pointer;transition:.15s}
.pg-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent2)}
.pg-btn:disabled{opacity:.4;cursor:not-allowed}
.pg-info{font-size:12px;color:var(--muted);font-weight:600}

/* ===================== Modal header + custom select + chips ===================== */
.modal-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}
.modal-ic{width:44px;height:44px;border-radius:13px;flex-shrink:0;display:grid;place-items:center;color:#fff;
  background:var(--grad);box-shadow:0 8px 20px -8px rgba(99,102,241,.6)}
.modal-ic svg{width:21px;height:21px}
.modal-head h3{font-size:18px;margin:0}
.modal-head .msub{margin:2px 0 0}
.field select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:36px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238b95b0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:8px 14px;border-radius:10px;border:1px solid var(--line2);background:var(--bg2);color:var(--muted);
  font-size:13px;font-weight:600;cursor:pointer;text-transform:capitalize;transition:.15s}
.chip:hover{border-color:var(--accent);color:var(--txt)}
.chip.on{background:var(--grad);color:#0a0e1a;border-color:transparent;box-shadow:0 6px 16px -8px rgba(99,102,241,.6)}

/* timeline event dot colour (single dot — no overlap) */
.tl-item.tl-event::before{background:#a855f7}

/* clickable dashboard breakdowns -> filtered opportunities */
.barlist .row.clk{cursor:pointer;border-radius:9px;padding:4px 8px;margin:0 -8px;transition:.12s}
.barlist .row.clk:hover{background:var(--panel2)}
.barlist .row.clk:hover .lbl{color:var(--accent2)}
.rchip.clk{cursor:pointer}

/* opportunities filter bar */
.opp-bar{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.filter-label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-right:2px}
.opp-divider{width:1px;height:18px;background:var(--line2);margin:0 4px}
.active-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 9px 4px 12px;border-radius:999px;
  background:rgba(99,102,241,.18);color:#a5b4fc;font-size:12px;font-weight:700}
html[data-theme="light"] .active-chip{background:rgba(99,102,241,.12);color:#4338ca}
.active-chip button{background:none;border:none;color:inherit;cursor:pointer;font-size:13px;opacity:.6;padding:0;line-height:1}
.active-chip button:hover{opacity:1}
.opp-count{font-size:12px;color:var(--muted);font-weight:600}

/* search clear button + empty rows */
.search{position:relative}
.search input{padding-right:30px}
.search-clr{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;
  color:var(--muted);cursor:pointer;font-size:13px;padding:2px 4px;line-height:1}
.search-clr:hover{color:var(--txt)}
.tbl-empty{text-align:center;color:var(--muted);padding:32px;font-size:13px}

/* client portal banner */
.portal-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--ink);border-radius:14px;padding:20px 24px;color:#fff}
.pb-title{font-family:var(--serif);font-size:20px;font-weight:600}
.pb-sub{font-size:12px;color:#9aa3b0;margin-top:3px}
.pb-view{font-size:12px;color:#9aa3b0;display:flex;align-items:center;gap:9px}
.pb-view select{background:#222934;border:1px solid #2C333D;border-radius:8px;padding:7px 11px;color:#E7EAEE;font-size:13px;font-weight:600}

/* view tabs (segmented) */
.viewtabs{display:inline-flex;gap:4px;margin-bottom:18px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:4px}
.viewtab{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:7px;background:none;border:none;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer}
.viewtab svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.viewtab:hover{color:var(--ink)}
.viewtab.on{background:var(--surface,#fff);color:var(--ink);box-shadow:0 1px 2px rgba(20,25,31,.1)}
.vt-badge{font-size:11px;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--line);color:var(--muted);display:inline-flex;align-items:center;justify-content:center}
.viewtab.on .vt-badge{background:var(--accent,#3557a8);color:#fff}

/* portal admin console */
.adm-inline{display:flex;gap:10px;align-items:center}
.adm-inline input{padding:9px 12px;border:1px solid var(--line2);border-radius:8px;font-size:13px;font-family:inherit}
.adm-sel{padding:7px 9px;border:1px solid var(--line2);border-radius:7px;font-size:12.5px;font-family:inherit;background:#fff}
.adm-lbl{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}
.adm-user{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}
.adm-user:last-child{border-bottom:none}
.adm-user-id{flex:1;min-width:200px;display:flex;flex-direction:column;line-height:1.4}
.adm-user-id b{font-size:13px;color:var(--ink)}
.adm-row{display:flex;align-items:center;gap:10px}
.adm-acts{display:flex;gap:6px}
.adm-acts form{display:inline}
.adm-invite{border-top:1px dashed var(--line);padding-top:14px;margin-top:6px}

/* client portal hub */
.hub-top{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;background:var(--ink);color:#fff}
.hub-brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:16px;letter-spacing:.06em;color:#fff}
.hub-brand img{animation:logo-fade 2.6s ease-in-out infinite}
.hub-user{display:flex;align-items:center;gap:12px;font-size:13px;color:#fff}
/* buttons must be visible on the dark header */
.hub-top .btn,.hub-top .btn.ghost{color:#fff;background:transparent;border:1px solid rgba(255,255,255,.32)}
.hub-top .btn:hover,.hub-top .btn.ghost:hover{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.6)}
.hub-main{max-width:880px;margin:0 auto;padding:56px 24px}
.hub-greet{font-family:var(--serif);font-size:34px;color:var(--ink);margin:0 0 6px}
.hub-sub{color:var(--muted);font-size:14px;margin:0 0 32px}
.hub-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.hub-tile{position:relative;display:block;background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px;padding:26px;text-decoration:none;transition:.14s}
.hub-tile:hover{box-shadow:0 12px 30px rgba(14,22,38,.10);transform:translateY(-2px);border-color:var(--accent)}
.hub-tile.locked{opacity:.6;pointer-events:none}
.hub-tile-ic{width:54px;height:54px;border-radius:14px;background:var(--accent-soft);display:grid;place-items:center;margin-bottom:16px}
.hub-tile-ic svg{width:26px;height:26px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hub-tile-ic.ic-dealedge{background:#E8F1EC}.hub-tile-ic.ic-dealedge svg{stroke:#0F8A7E}
.hub-tile h3{font-family:var(--serif);font-size:22px;color:var(--ink);margin:0 0 6px}
.hub-tile p{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.5}
.hub-open{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:#fff;background:var(--accent);padding:9px 18px;border-radius:9px}
.hub-open svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.hub-locked{font-size:13px;color:var(--muted);font-weight:600}
.hub-role{position:absolute;top:20px;right:20px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);padding:3px 9px;border-radius:6px}

/* linkedin recipient list */
.li-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto}
.li-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff)}
.li-id{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.li-id b{font-size:13px;color:var(--ink)}
.li-id span{font-size:11px;color:var(--muted)}
.li-row .ppl-av{width:30px;height:30px;font-size:10px}

/* indeterminate loading bar */
.loadbar{height:5px;border-radius:3px;background:var(--line);overflow:hidden;position:relative}
.loadbar::after{content:'';position:absolute;left:-40%;top:0;height:100%;width:40%;border-radius:3px;background:var(--accent);animation:loadslide 1.05s ease-in-out infinite}
@keyframes loadslide{0%{left:-42%}100%{left:100%}}
.loadbar-cap{display:block;text-align:center;font-size:11px;color:var(--muted);margin-top:6px}
.loadbar-cap .dotpulse{animation:dotpulse 1.2s steps(4,end) infinite}
@keyframes dotpulse{0%{opacity:.2}50%{opacity:1}100%{opacity:.2}}

/* firecrawl enrich + discover */
.enr-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:14px}
.enr-row{background:var(--surface,#fff);padding:10px 13px;display:flex;flex-direction:column;gap:3px}
.enr-row span{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}
.enr-row b{font-size:13px;color:var(--ink)}
.enr-block{margin-bottom:12px}
.enr-block>span{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600;display:block;margin-bottom:7px}
.enr-tags{display:flex;flex-wrap:wrap;gap:7px}
.enr-tags span{font-size:12px;color:var(--ink);background:var(--canvas);border:1px solid var(--line);padding:5px 11px;border-radius:7px}
.enr-tags span.sig{background:#E3F3EE;border-color:#cfe9df;color:#1E8A6E;font-weight:500}
.enr-overlay{position:absolute;inset:-8px;z-index:5;background:rgba(255,255,255,.86);backdrop-filter:blur(2px);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:20px}
.enr-spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent,#3557a8);animation:enr-rot .8s linear infinite;margin-bottom:6px}
@keyframes enr-rot{to{transform:rotate(360deg)}}
.disc-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.disc-row:last-child{border-bottom:none}
.disc-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.disc-body b{font-size:13.5px;color:var(--ink)}
.disc-body span{font-size:11.5px;color:var(--muted)}
.disc-added{font-size:12px;font-weight:600;color:#1E8A6E}
.btn.green.sm{background:#0E6E63;color:#fff;border:none}

/* daily brief — needs sort */
.need-sort{font-size:11.5px;color:var(--muted);background:var(--canvas);border:1px solid var(--line);border-radius:7px;padding:4px 8px;cursor:pointer;font-family:inherit}
.need-sort:hover{border-color:var(--accent);color:var(--ink)}

/* automation guide */
.gd-flow{display:flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(180deg,var(--accent-soft),transparent);border:1px solid var(--line);border-radius:14px;padding:20px 14px;margin-bottom:20px;flex-wrap:wrap}
.gd-node{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:84px}
.gd-dot{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:14px;font-weight:600;box-shadow:0 4px 10px rgba(30,99,224,.3)}
.gd-node b{font-size:12.5px;color:var(--ink);font-weight:600}
.gd-arrow{color:var(--accent);font-size:20px;font-weight:600;opacity:.6}
.gd-steps{display:flex;flex-direction:column;gap:12px}
.gd-step{display:flex;gap:16px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:14px;padding:18px 20px;align-items:center;flex-wrap:wrap;transition:.12s}
.gd-step:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.gd-left{display:flex;align-items:center;gap:12px;flex-shrink:0}
.gd-num{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--accent);min-width:24px;text-align:center}
.gd-ic{width:42px;height:42px;border-radius:11px;background:var(--accent-soft);display:grid;place-items:center}
.gd-ic svg{width:20px;height:20px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gd-body{flex:1;min-width:200px}
.gd-body h3{font-size:15px;font-weight:600;color:var(--ink);margin:2px 0 5px}
/* step visual mockups */
.gd-shot{flex:0 0 300px;min-width:260px}
.gm{background:var(--canvas);border:1px solid var(--line);border-radius:11px;padding:12px;font-size:12px}
.gm-cap{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:8px}
.gm-center{display:flex;gap:9px;align-items:center;justify-content:center;flex-wrap:wrap;min-height:64px}
.gm-row{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px solid var(--line)}
.gm-row:last-child{border-bottom:none}
.gm-row.off{opacity:.5}
.gm-chk{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line2);flex-shrink:0;display:grid;place-items:center;background:#fff}
.gm-chk.on{background:var(--accent);border-color:var(--accent)}
.gm-chk svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.gm-av{width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--mono);font-size:9px;font-weight:600;color:var(--muted);flex-shrink:0}
.gm-id{flex:1;min-width:0;line-height:1.3}
.gm-id b{font-size:12px;color:var(--ink);display:block}
.gm-id i{font-size:10.5px;color:var(--muted);font-style:normal}
.gm-co{font-size:11px;color:var(--accent)}
.gm-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:8px 13px;border-radius:8px}
.gm-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gm-btn.ghost{border:1.5px solid var(--accent);color:var(--accent);background:#fff;box-shadow:0 0 0 3px var(--accent-soft)}
.gm-btn.grad{background:var(--accent);color:#fff}
.gm-sel{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1.5px solid var(--accent);border-radius:8px;padding:8px 11px;font-size:12px;color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}
.gm-sel span{color:var(--muted)}
.gm-opts{margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.gm-opts span{display:block;padding:7px 11px;font-size:12px;color:var(--ink);border-bottom:1px solid var(--line)}
.gm-opts span:last-child{border-bottom:none}
.gm-opts span.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.gm-merge{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.gm-merge code{font-family:var(--mono);font-size:11px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:4px 8px;color:var(--muted);flex:1}
.gm-merge code.ok{color:#1E8A6E;border-color:#cfe9df;background:#F3FAF6;font-weight:600}
.gm-arr{color:var(--accent);font-weight:700;flex-shrink:0}
.gm-sent{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:#1E8A6E;background:#E3F3EE;border:1px solid #cfe9df;padding:9px 14px;border-radius:9px}
.gm-sent svg{width:15px;height:15px;fill:none;stroke:#1E8A6E;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.gm-log{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px}
.gm-log-ic{width:30px;height:30px;border-radius:8px;background:var(--accent-soft);display:grid;place-items:center;flex-shrink:0}
.gm-log-ic svg{width:15px;height:15px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gd-body p{font-size:13px;color:var(--muted);margin:0 0 9px;line-height:1.5}
.gd-chip{display:inline-block;font-family:var(--mono);font-size:11.5px;color:var(--accent);background:var(--accent-soft);padding:4px 11px;border-radius:7px}
.gd-list{margin:0;padding-left:18px}
.gd-list li{font-size:13px;color:var(--ink);margin-bottom:8px;line-height:1.45}
.gd-list.muted li{color:var(--muted)}
.gd-chan{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gd-ch{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:13px;padding:16px}
.gd-ch.on{border-color:var(--accent)}
.gd-ch svg{width:22px;height:22px;fill:none;stroke:var(--muted);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gd-ch.on svg{stroke:var(--accent)}
.gd-ch b{font-size:13.5px;color:var(--ink)}
.gd-badge{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:20px;background:#EEF0F4;color:#8A9097}
.gd-badge.live{background:#E3F3EE;color:#1E8A6E}
.gd-roadmap{display:flex;flex-direction:column;gap:12px}
.gd-rm{display:flex;gap:13px;align-items:flex-start}
.gd-rm-n{width:26px;height:26px;border-radius:50%;background:var(--canvas);border:1px solid var(--line2);display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--muted);flex-shrink:0}
.gd-rm b{font-size:13.5px;color:var(--ink);display:block}
.gd-rm span{font-size:12.5px;color:var(--muted)}

/* commercials */
.partner-pill{font-size:10px;font-weight:700;letter-spacing:.05em;color:#8A6D2B;background:#FBF4E3;border:1px solid #EBDCB6;padding:3px 8px;border-radius:5px}
.cstat-foot{display:block;font-size:12px;color:var(--muted);margin-top:8px;font-weight:500}
.cstat .dr-stat-lbl + b.mono{font-size:30px;line-height:1.1;display:block}
.fee-pill{font-size:11px;font-weight:600;padding:4px 12px;border-radius:20px;white-space:nowrap}
.fee-pill.fp-notraised{background:#FBF4E3;color:#B5862B}
.fee-pill.fp-invoiced{background:#E6EFFB;color:#3257A8}
.fee-pill.fp-collected{background:#E3F3EE;color:#1E8A6E}
.fee-pill.fp-na{background:#EEF0F4;color:#8A9097}

/* data room (documents) */
.dr-stat-lbl{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600;display:block;margin-bottom:9px}
.cstat .dr-stat-lbl + b{font-size:32px}
.dr-client{font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:5px 12px;border-radius:7px;display:inline-block}
.dr-doc{display:flex;flex-direction:column;line-height:1.4}
.dr-doc b{font-size:13.5px;color:var(--ink);font-weight:600}
.dr-doc-meta{font-family:var(--mono);font-size:11px;color:var(--faint);margin-top:3px}
.dr-status{font-size:11px;font-weight:600;padding:4px 12px;border-radius:20px;white-space:nowrap}
.dr-status.ds-released{background:#E3F3EE;color:#1E8A6E}
.dr-status.ds-ndagated{background:#EEF0F4;color:#8A9097}
.dr-status.ds-modelled{background:transparent;color:#B5862B;border:1px solid #EBDCB6}

/* client record */
.tier-badge{font-size:11px;font-weight:600;background:var(--ink);color:#fff;padding:3px 10px;border-radius:6px;letter-spacing:.02em}
.health-pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:4px 11px;border-radius:20px}
.health-pill .dot{width:7px;height:7px;border-radius:50%}
.health-pill.h-healthy{background:#E3F3EE;color:#1E8A6E}.health-pill.h-healthy .dot{background:#1E8A6E}
.health-pill.h-risk{background:#FBE6E6;color:#C24545}.health-pill.h-risk .dot{background:#C24545}
.health-pill.h-prospect{background:#EEF0F4;color:#5A6472}.health-pill.h-prospect .dot{background:#8A9097}
.cstat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}
.cstat{background:var(--surface,#fff);border:1px solid var(--line);border-radius:13px;padding:18px 20px}
.cstat b{display:block;font-size:30px;font-weight:600;color:var(--ink);line-height:1.1;letter-spacing:-.01em}
.cstat b.mono{font-family:var(--mono);font-size:26px}
.cstat b.mask{color:var(--faint);letter-spacing:.1em}
.cstat span{display:block;font-size:12.5px;color:var(--muted);margin-top:7px;font-weight:500}
.crit-pills{display:flex;flex-wrap:wrap;gap:9px}
.crit-pill{font-size:12.5px;font-weight:500;color:var(--ink);background:var(--canvas);border:1px solid var(--line);padding:7px 14px;border-radius:20px}

/* advisory network */
.adv-sec{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:12px}
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.adv-ind{background:var(--surface,#fff);border:1px solid var(--line);border-radius:13px;padding:16px 17px;cursor:pointer;transition:.12s}
.adv-ind:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.adv-ind.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.adv-ind-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.adv-ind-top span{font-size:14.5px;font-weight:600;color:var(--ink)}
.adv-ind-top b{font-family:var(--mono);font-size:16px;color:var(--accent);font-weight:600}
.adv-bar{display:block;height:5px;border-radius:3px;background:var(--line);overflow:hidden;margin-bottom:11px}
.adv-bar span{display:block;height:100%;background:var(--accent);border-radius:3px}
.adv-ind p{font-size:12px;color:var(--muted);margin:0;line-height:1.45}
.adv-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}
.chip{font-size:12px;font-weight:500;padding:7px 14px;border-radius:20px;border:1px solid var(--line2);background:var(--surface,#fff);color:var(--muted);cursor:pointer;transition:.12s}
.chip:hover{color:var(--ink);border-color:var(--accent)}
.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.adv-ops{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.adv-op{display:flex;gap:13px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:13px;padding:15px 17px}
.adv-op-body{flex:1;min-width:0}
.adv-op-top{display:flex;align-items:center;gap:10px}
.adv-op-top b{font-size:14px;color:var(--ink);font-weight:600}
.adv-op-role{font-size:12px;color:var(--muted);margin:3px 0 9px}
.adv-op-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.adv-exp{font-size:12px;color:var(--muted)}

/* outreach cockpit */
.oc-chart .colc-bar{background:#A9C5F0}
.oc-chart .colc-bar.recent{background:var(--accent)}
.oc-chart .colc-bar em{color:var(--muted)}
.cad-head{display:flex;justify-content:flex-end;padding:13px 18px 0}
.auto-tag{font-size:10.5px;font-weight:600;color:#8A6D2B;background:#FBF4E3;border:1px solid #EBDCB6;padding:4px 11px;border-radius:20px;white-space:nowrap}
.ppl-tbl .mono{font-family:var(--mono);font-size:12.5px;color:var(--ink)}
.rate-cell{display:inline-flex;align-items:center;gap:9px;justify-content:flex-end}
.rate-bar{width:62px;height:5px;border-radius:3px;background:var(--line);overflow:hidden;display:inline-block}
.rate-bar span{display:block;height:100%;background:#0F8A7E;border-radius:3px}
.rate-cell b{font-family:var(--mono);font-size:12.5px;color:var(--ink);min-width:36px;text-align:right}

/* capture inbox */
.cap-bar{display:flex;justify-content:space-between;align-items:center;margin:16px 0 14px}
.cap-modelled{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#8A6D2B;background:#FBF4E3;border:1px solid #EBDcb6;padding:7px 13px;border-radius:20px}
.cap-modelled .dot{width:7px;height:7px;border-radius:50%;background:#B5862B;flex-shrink:0}
.cap-counts{font-size:12.5px;color:var(--muted);font-family:var(--mono)}
.cap-list{display:flex;flex-direction:column;gap:11px}
.cap-item{display:flex;align-items:center;gap:14px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:13px;padding:15px 17px}
.cap-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:var(--accent-soft)}
.cap-ic svg{width:18px;height:18px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cap-ic.ic-email{background:#FBF1E3}.cap-ic.ic-email svg{stroke:#B5862B}
.cap-ic.ic-meeting{background:#EEE9F8}.cap-ic.ic-meeting svg{stroke:#7A6BB5}
.cap-body{flex:1;min-width:0}
.cap-title{font-size:14px;font-weight:600;color:var(--ink);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.cap-meta{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--faint);text-transform:capitalize}
.cap-match{font-size:12.5px;color:var(--muted);margin-top:4px}
.cap-match b{color:var(--ink);font-weight:600}
.cap-pct{font-family:var(--mono);font-size:11.5px;color:var(--muted);background:var(--canvas);border:1px solid var(--line);padding:5px 10px;border-radius:7px;white-space:nowrap}
.btn.sm{padding:7px 15px;font-size:12.5px}
.btn.ghost{background:transparent;border:1px solid var(--line2);color:var(--ink)}
.btn.ghost:hover{background:var(--canvas)}

/* people directory */
.ppl-card{background:var(--surface,#fff);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ppl-tbl{width:100%;border-collapse:collapse}
.ppl-tbl thead th{text-align:left;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:14px 24px;border-bottom:1px solid var(--line)}
.ppl-tbl tbody td{padding:13px 24px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink);vertical-align:middle}
.ppl-tbl thead th:last-child,.ppl-tbl tbody td:last-child{padding-right:28px}
.ppl-tbl tbody tr:last-child td{border-bottom:none}
.ppl-tbl tbody tr:hover{background:var(--accent-soft)}
.ppl-tbl .ralign{text-align:right}
.ppl-person{display:flex;align-items:center;gap:12px;cursor:pointer}
.ppl-av{width:38px;height:38px;border-radius:50%;background:var(--canvas);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--muted);flex-shrink:0}
.ppl-id{display:flex;flex-direction:column;line-height:1.3}
.ppl-id b{font-size:13.5px;color:var(--ink);font-weight:600}
.ppl-id span{font-size:11.5px;color:var(--muted)}
.ppl-co{color:var(--ink)}
.role-pill,.warm-pill{display:inline-block;font-size:11px;font-weight:600;padding:4px 11px;border-radius:20px;white-space:nowrap}
.role-pill.r-dm{background:#E3F3EE;color:#0F6E5E}
.role-pill.r-inf{background:#EEEDFE;color:#6B5DB0}
.role-pill.r-gate{background:#EEF0F4;color:#5A6472}
.role-pill.r-na{background:#EEF0F4;color:#8A9097}
.warm-pill.w-warm{background:#E3F3EE;color:#1E8A6E}
.warm-pill.w-cool{background:#E6EFFB;color:#2E6FC9}
.warm-pill.w-cold{background:#FBE6E6;color:#C24545}
.warm-pill.w-na{background:#EEF0F4;color:#8A9097}
.ppl-last{display:flex;flex-direction:column;line-height:1.35;align-items:flex-end}
.ppl-last span{font-family:var(--mono);font-size:12px;color:var(--muted)}
.ppl-last span.stale{color:var(--bad);font-weight:600}
.ppl-last em{font-style:normal;font-size:11px;color:var(--faint)}

/* collapsible sidebar */
.sidebar{transition:margin-left .22s ease}
.shell.nav-hidden .sidebar{margin-left:-230px}
.nav-toggle{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line2);background:var(--surface,#fff);color:var(--muted);cursor:pointer;flex-shrink:0}
.nav-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.nav-toggle:hover{color:var(--ink);border-color:var(--accent)}
.topbar .crumbs{margin-right:auto;margin-left:4px}

/* pipeline — kanban board */
.kcol.dragover{background:var(--accent-soft);border-radius:10px;outline:2px dashed var(--accent);outline-offset:-2px}
.kcard{cursor:grab}
.kcard:active{cursor:grabbing}
.kanban{display:flex;gap:13px;overflow-x:auto;padding-bottom:10px}
.kcol{flex:1 1 0;min-width:208px}
.kcol-head{padding:0 4px 10px;border-bottom:2px solid var(--line);margin-bottom:11px}
.kcol-title{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:13.5px;color:var(--ink)}
.kcol-count{color:var(--muted);font-weight:600;font-size:12px}
.kcol-meta{font-size:11.5px;color:var(--muted);margin-top:3px;font-family:var(--mono)}
.kcard{background:var(--surface,#fff);border:1px solid var(--line);border-left:3px solid var(--line2);border-radius:10px;padding:12px 13px;margin-bottom:10px;cursor:pointer;transition:.12s}
.kcard:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.kcard.won{background:#F3FAF6;border-left-color:#2E7D5B}
.kcard-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.kcard-top b{font-size:13px;color:var(--ink)}
.kcard-val{color:var(--ink);font-weight:600;white-space:nowrap}
.kcard-sub{font-size:11.5px;color:var(--muted);margin-top:3px}
.kcard-foot{display:flex;align-items:center;gap:6px;margin-top:9px;font-size:11.5px;color:var(--muted)}
.kcard-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.kcard-age{font-family:var(--mono);font-size:11px;color:var(--faint)}
.kcard-tag{margin-top:8px;font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:5px;display:inline-block}
.kcard-tag.red{background:#F1DBDB;color:#B23A3A}
.kcol-empty{color:var(--faint);text-align:center;padding:14px;font-size:13px}
/* health */
.ar-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.ar-row:last-child{border-bottom:none}
.ar-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.ar-body{flex:1;min-width:0;display:flex;flex-direction:column}
.ar-body b{font-size:13px;color:var(--ink)}
.ar-body span{font-size:11.5px;color:var(--muted)}
.ar-val{font-weight:600;color:var(--ink)}
.colchart{display:flex;align-items:flex-end;gap:10px;height:170px;padding:20px 4px 0}
.colc{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:7px}
.colc-bar{width:68%;min-height:6px;background:var(--accent);border-radius:5px 5px 0 0;position:relative;display:flex;justify-content:center}
.colc-bar em{position:absolute;top:-16px;font-style:normal;font-size:11px;font-family:var(--mono);color:var(--muted)}
.colc-lbl{font-size:10.5px;color:var(--muted);white-space:nowrap}
.hold-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.hold-row:last-child{border-bottom:none}
.hold-tag{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:5px}
.hold-tag.red{background:#F1DBDB;color:#B23A3A}
.hold-tag.gold{background:#F2E7CC;color:#B5862B}
.hold-tag.pur{background:#EEEDFE;color:#7A6BB5}
.hold-deals{color:var(--muted)}

/* company record — 3-column hero */
.cr-grid{display:grid;grid-template-columns:300px 1fr 300px;gap:14px;align-items:start}
.cr-meta{display:flex;flex-direction:column}
.cr-rel{align-self:flex-start;font-size:10px;font-weight:700;padding:3px 9px;border-radius:6px;background:#EEEDFE;color:#7A6BB5;margin-bottom:12px}
.cr-name{font-family:var(--serif);font-size:23px;font-weight:600;color:var(--ink);line-height:1.15}
.cr-sub{font-size:12px;color:var(--muted);margin-top:4px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.cr-figlabel{font-size:9.5px;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;margin-top:14px;font-family:var(--mono)}
.cr-fig{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--ink);line-height:1.1;margin-top:4px}
.cr-fields{display:flex;flex-direction:column;margin-top:16px}
.cr-field{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.cr-field:last-child{border-bottom:none}
.cr-field span{color:var(--muted)}
.cr-field b{color:var(--ink);font-weight:600}
.cr-intel{font-size:12px;color:var(--muted);font-style:italic;line-height:1.5;margin-top:12px;padding:11px 13px;background:var(--panel2);border-radius:9px}
.cr-activity .cr-act-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.cr-act-head h3{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--ink)}
.seg-mini{display:inline-flex;gap:3px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:3px}
.seg-mini button{font-size:12px;font-weight:600;color:var(--muted);background:none;border:none;border-radius:6px;padding:5px 12px;cursor:pointer}
.seg-mini button.on{background:var(--surface,#fff);color:var(--ink);box-shadow:0 1px 2px rgba(20,25,31,.1)}
.tl-logged{font-size:11px;color:var(--faint);margin-top:5px}
.cr-side{display:flex;flex-direction:column;gap:14px}
.cr-contact{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.cr-contact:last-child{border-bottom:none}
.cr-ct-av{width:32px;height:32px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:11px;font-weight:700;flex-shrink:0}
.cr-ct-body{flex:1;min-width:0;display:flex;flex-direction:column}
.cr-ct-body b{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-ct-body span{font-size:11.5px;color:var(--muted)}
.cr-ct-sms{background:none;border:none;color:var(--accent);cursor:pointer;font-size:15px}
.cr-contact.inactive{opacity:.5}
.cr-contact.inactive .cr-ct-av{background:var(--canvas);color:var(--muted)}
.ct-off{font-size:9.5px;font-weight:600;color:var(--muted);background:var(--canvas);border:1px solid var(--line);padding:1px 6px;border-radius:5px;vertical-align:middle;margin-left:4px}
.cr-ct-acts{display:flex;align-items:center;gap:2px;flex-shrink:0}
.cr-ct-act{width:26px;height:26px;display:grid;place-items:center;background:none;border:none;border-radius:6px;color:var(--muted);cursor:pointer;transition:.12s}
.cr-ct-act:hover{background:var(--canvas);color:var(--ink)}
.cr-ct-act.on{color:#2E7D5B}
.cr-ct-act svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cr-checklist{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.cr-check{font-size:12px;color:var(--muted)}
.cr-check.on{color:var(--ok)}
@media(max-width:900px){.cr-grid{grid-template-columns:1fr}}

/* niches — coverage cards */
.niche-filter{appearance:none;-webkit-appearance:none;cursor:pointer;background:var(--panel);
  border:1px solid var(--line2);border-radius:9px;padding:9px 32px 9px 12px;color:var(--txt);font-size:13px;
  font-family:inherit;min-width:170px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237B838D' stroke-width='2.2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center}
.niche-filter:focus{outline:none;border-color:var(--accent)}
.tgt-count{align-self:center;font-size:12.5px;color:var(--muted);font-family:var(--mono)}
.tt-tag{display:inline-block;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:999px;margin:1px 3px 1px 0;
  background:var(--accent-soft);color:var(--accent)}
.tt-none{font-size:11.5px;color:var(--faint)}

/* ── Targets master table (modern) ── */
.tgt-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px;gap:12px;flex-wrap:wrap}
.tgt-clear{color:var(--accent);cursor:pointer;margin-left:8px;font-weight:600}
.tgt-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
@media(max-width:720px){.tgt-stats{grid-template-columns:1fr 1fr}}
.tgt-tile{text-align:left;background:var(--panel);border:1px solid var(--line2);border-radius:13px;padding:15px 18px;
  cursor:pointer;transition:.15s;font-family:inherit}
.tgt-tile:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 24px -16px rgba(20,40,90,.4)}
.tgt-tile.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}
.tgt-tile.static{cursor:default}
.tgt-tile.static:hover{transform:none;box-shadow:none;border-color:var(--line2)}
.tgt-tile .tt-n{font-family:var(--mono);font-size:26px;font-weight:300;color:var(--ink);letter-spacing:-.02em;line-height:1}
.tgt-tile .tt-l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-weight:600}

.tgt-bar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.tgt-search{flex:1;min-width:240px;display:flex;align-items:center;gap:9px;background:var(--panel);
  border:1px solid var(--line2);border-radius:11px;padding:0 13px;height:42px;transition:.15s}
.tgt-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.tgt-search svg{width:17px;height:17px;fill:none;stroke:var(--muted);stroke-width:2;flex-shrink:0}
.tgt-search input{flex:1;border:none;background:none;outline:none;font-family:inherit;font-size:14px;color:var(--ink)}
.tgt-search .ts-clear{color:var(--muted);cursor:pointer;font-size:13px;padding:2px 4px}
.tgt-search .ts-clear:hover{color:var(--ink)}
.tgt-bar .niche-filter{height:42px}

.tgt-tblwrap{border:1px solid var(--line2);border-radius:14px;overflow:hidden;background:var(--panel);box-shadow:0 1px 3px rgba(20,40,80,.05)}
.tgt-tbl{width:100%;border-collapse:separate;border-spacing:0}
.tgt-tbl thead th{position:sticky;top:0;background:var(--panel2,rgba(30,99,224,.04));font-size:10px;text-transform:uppercase;
  letter-spacing:.09em;color:var(--muted);font-weight:700;text-align:left;padding:12px 16px;border-bottom:1px solid var(--line2);white-space:nowrap;z-index:2}
.tgt-tbl tbody td{padding:12px 16px;border-bottom:1px solid var(--line2);font-size:13px;color:var(--txt);vertical-align:middle}
.tgt-tbl tbody tr{cursor:pointer;transition:background .12s}
.tgt-tbl tbody tr:hover{background:var(--accent-soft)}
.tgt-tbl tbody tr:last-child td{border-bottom:none}
.tgt-co{display:flex;align-items:center;gap:11px}
.tgt-av{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;font-weight:700;font-size:13px;
  color:#fff;background:linear-gradient(135deg,#3b82f6,#1747a8)}
.tgt-co-t{display:flex;flex-direction:column;min-width:0}
.tgt-co-t b{color:var(--ink);font-size:13.5px;font-weight:600;line-height:1.3}
.tgt-co-t span{font-size:11px;color:var(--muted);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}
.tgt-niche{display:inline-block;font-size:11.5px;padding:3px 10px;border-radius:999px;background:var(--panel2,rgba(30,99,224,.07));color:var(--tx);border:1px solid var(--line2)}
.tgt-opps{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border-radius:7px;font-family:var(--mono);
  font-size:12px;font-weight:600;background:var(--accent-soft);color:var(--accent)}
.tgt-opps.zero{background:transparent;color:var(--faint);font-weight:400}
.niche-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.niche-card{display:flex;flex-direction:column;min-height:148px}
.ncv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.ncv-top h3{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--ink);line-height:1.2}
.nc-sig{font-size:10px;font-weight:700;padding:3px 9px;border-radius:6px;white-space:nowrap;flex-shrink:0}
.sig-high{background:#DCEDE2;color:#2E7D5B}
.sig-medium{background:#F2E7CC;color:#B5862B}
.sig-low{background:#ECEDE9;color:#6E767E}
.ncv-cov{margin-bottom:4px}
.ncv-cov-head{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:7px}
.ncv-cov-head .mono{color:var(--ink);font-weight:600}
.ncv-track{height:7px;background:var(--panel2);border-radius:6px;overflow:hidden}
.ncv-fill{display:block;height:100%;background:#2E7D5B;border-radius:6px;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.ncv-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.ncv-co b{color:var(--ink)}
.ncv-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ncv-tag{font-size:10.5px;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:2px 8px;border-radius:5px}

/* clients (prototype cards) */
.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.client-card{background:var(--surface,var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;transition:.15s}
.client-card:hover{border-color:var(--line2);box-shadow:var(--shadow)}
.cc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.cc-name{font-size:16px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px}
.tier{font-size:9.5px;font-weight:700;letter-spacing:.4px;padding:2px 7px;border-radius:5px}
.tier-Tier1{background:var(--ink);color:#fff}
.tier-Tier2{background:#ECEDE9;color:#6E767E}
.cc-status{font-size:12px;color:var(--muted);margin-top:3px}
.cc-ico{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;color:var(--muted);background:none;border:1px solid transparent;cursor:pointer}
.cc-ico svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cc-ico:hover{background:var(--panel2);color:var(--ink)}
.cc-ico.danger:hover{color:var(--bad);background:#F1DBDB}
.cc-crit{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.crit-row{display:flex;gap:10px;font-size:12px;color:#3F454C}
.crit-row b{color:var(--muted);font-weight:600;width:78px;flex-shrink:0;font-size:10.5px;text-transform:uppercase;letter-spacing:.3px;padding-top:1px}
.cc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:11px;font-size:12px}
.cc-matches{color:var(--accent);font-weight:600}
.eng{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;color:var(--muted)}
.eng-dot{width:8px;height:8px;border-radius:50%;background:#8A9097}
.eng-dot.signed{background:var(--ok)}
.cc-open{margin-top:11px;padding-top:10px;border-top:1px solid var(--line);text-align:right;font-size:12px;font-weight:600;color:var(--accent);cursor:pointer}
.cc-open:hover{text-decoration:underline}

/* daily brief cockpit (new design) */
.bx-eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.8px;color:var(--muted);margin-bottom:6px;text-transform:uppercase}
.bx-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:13px;align-items:start;margin-top:13px}
.bx-side{display:flex;flex-direction:column;gap:13px}
.needs-panel{border-left:3px solid var(--gold)}
.needs-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.needs-body .needs-detail{flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td-row{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid var(--line);cursor:pointer;font-size:13px}
.td-row:last-child{border-bottom:none}
.td-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.td-name{flex:1;color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-days{color:var(--muted);font-size:12px}
.q-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.q-row:last-child{border-bottom:none}
.q-name{color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.bx-grid{grid-template-columns:1fr}}
.sb-stat{display:flex;flex-direction:column}
.sb-val{font-family:var(--mono);font-size:30px;font-weight:500;line-height:1}
.sb-label{font-size:13px;font-weight:600;margin-top:9px;color:var(--ink)}
.sb-foot{font-size:11.5px;color:var(--muted);margin-top:2px}
.needs-panel{margin-top:13px}
.section-h .cnt{font-style:normal;font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:1px 8px;border-radius:9px;margin-left:8px}
.needs-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:11px 4px;
  border:none;border-bottom:1px solid var(--line);border-radius:0;background:none;cursor:pointer;transition:.12s}
.needs-row:last-child{border-bottom:none}
.needs-row:hover{background:var(--panel2)}
.needs-tag{font-size:10.5px;font-weight:600;padding:3px 10px;border-radius:6px;flex-shrink:0;white-space:nowrap;min-width:62px;text-align:center}
.needs-name{font-weight:600;font-size:13px;color:var(--ink)}
.needs-detail{font-size:12px;color:var(--muted)}
.needs-when{font-size:11.5px;color:var(--faint);flex-shrink:0;white-space:nowrap}
.needs-arr{color:var(--faint);font-size:16px;flex-shrink:0}
.brief-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.brief-row:last-child{border-bottom:none}
.br-name{font-weight:600;color:var(--ink)}
.br-client{font-weight:600;color:var(--accent)}
.br-dim{color:var(--muted);font-size:12px}
.br-debt{color:var(--bad);font-size:11.5px;font-family:var(--mono);margin-left:auto}
.link-btn{display:inline-flex;align-items:center;gap:3px;color:var(--accent);font-size:12.5px;font-weight:600;cursor:pointer;background:none;border:none}

/* sms compose */
.sms-recips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}

/* data room — master / detail */
.dr-layout{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start}
.dr-list{display:flex;flex-direction:column;gap:8px}
.dr-item{text-align:left;background:var(--surface,var(--panel));border:1px solid var(--line);border-radius:11px;padding:13px 14px;cursor:pointer;transition:.12s}
.dr-item:hover{border-color:var(--line2)}
.dr-item.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.dr-item-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.dr-item-top b{font-size:13.5px;color:var(--ink)}
.dr-item-sub{font-size:12px;color:var(--muted);margin-top:4px}
.dr-detail{padding:20px 22px}
.dr-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.dr-head b{font-family:var(--serif);font-size:17px;color:var(--ink)}
.dr-term{font-size:11.5px;color:var(--muted);white-space:nowrap}
.dr-actions{display:flex;gap:9px;margin:14px 0}
.dr-history{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:7px}
.dr-hist-row{display:flex;gap:14px;font-size:12.5px;align-items:baseline}
.dr-hist-date{color:var(--faint);font-size:11.5px;width:84px;flex-shrink:0}
.dr-hist-status{color:var(--ink);width:100px;flex-shrink:0}
.dr-hist-note{color:var(--muted)}
.dr-locked{display:flex;gap:11px;align-items:flex-start;margin-top:16px;padding:14px 16px;background:var(--panel2);border:1px solid var(--line);border-radius:11px;font-size:12.5px;color:var(--muted);line-height:1.55}
.dr-locked svg{width:18px;height:18px;flex-shrink:0;color:var(--muted);margin-top:1px}
@media(max-width:820px){.dr-layout{grid-template-columns:1fr}}

/* data room — NDA step chain */
.nda-chain{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.nda-step{display:flex;align-items:center;gap:7px;color:var(--muted)}
.nda-step.done{color:var(--accent)}
.nda-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;
  background:var(--panel2);border:1px solid var(--line2);color:var(--muted)}
.nda-step.done .nda-dot{background:var(--accent);border-color:var(--accent);color:#fff}
.nda-lbl{font-size:12px;font-weight:600}
.nda-line{flex:1;min-width:16px;height:2px;background:var(--line2);margin:0 6px}
.nda-line.done{background:var(--accent)}

/* partner-only lock state */
.lock-card{background:var(--surface,var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:48px 32px;text-align:center;max-width:520px;margin:24px auto 0}
.lock-ic{width:60px;height:60px;border-radius:16px;background:#F2E7CC;color:#B5862B;display:grid;place-items:center;margin:0 auto 18px}
.lock-ic svg{width:30px;height:30px}

/* module placeholder */
.soon-card{background:var(--surface,var(--panel));border:1px solid var(--line);border-radius:var(--radius);
  padding:48px 32px;text-align:center;max-width:560px}
.soon-ic{width:60px;height:60px;border-radius:16px;background:var(--accent-soft);color:var(--accent);
  display:grid;place-items:center;margin:0 auto 18px}
.soon-ic svg{width:30px;height:30px}
.soon-h{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink);margin-bottom:8px}
.soon-p{color:var(--muted);font-size:13px;line-height:1.6;max-width:420px;margin:0 auto}

/* rating chips */
.rating-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.rchip{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:58px;padding:13px 12px;
  border-radius:13px;background:var(--panel2);border:1px solid var(--line);transition:.15s}
.rchip:hover{transform:translateY(-2px);border-color:var(--line2)}
.rchip .rc{font-size:20px;font-weight:800;line-height:1}
.rchip .rk{font-size:12px;font-weight:800;letter-spacing:.5px;background:var(--grad-text);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:820px){.two{grid-template-columns:1fr}.sidebar{width:72px}.brand-text,.user-meta,.nav-item span{display:none}}
.section-h{font-size:14px;font-weight:700;margin-bottom:14px;color:var(--txt)}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--accent2);cursor:pointer;font-size:13px;
  margin-bottom:16px;font-weight:600}

/* ===================== Buttons ===================== */
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:10px;font-size:13px;
  font-weight:600;cursor:pointer;border:1px solid var(--line2);background:var(--panel);color:var(--txt);
  transition:.15s}
.btn:hover{border-color:var(--accent);transform:translateY(-1px)}
.btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.btn.grad{background:var(--accent);color:#fff;border:none;box-shadow:0 1px 2px rgba(30,99,224,.3)}
.btn.grad:hover{background:#1a55c0}
.btn.green{background:#0E6E63;color:#fff;border:none;box-shadow:0 1px 2px rgba(14,110,99,.3)}
.btn.green:hover{background:#0b5a51;transform:translateY(-1px)}
.btn.ghost{background:transparent}
.btn.sm{padding:6px 10px;font-size:12px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.spacer{flex:1}

/* ===================== Modal + forms ===================== */
.modal-bg{position:fixed;inset:0;background:rgba(5,8,16,.62);backdrop-filter:blur(5px);
  display:grid;place-items:center;z-index:60;animation:fade .2s ease}
.modal{width:520px;max-width:94vw;max-height:90vh;overflow:auto;background:var(--panel);
  border:1px solid var(--line2);border-radius:20px;padding:26px;box-shadow:var(--shadow);
  animation:rise .28s cubic-bezier(.2,.8,.2,1)}
.modal h3{font-size:19px;margin-bottom:4px}
.modal .msub{color:var(--muted);font-size:13px;margin-bottom:20px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field>label{font-size:12px;color:var(--muted);font-weight:600}
.field input,.field select,.field textarea{background:var(--bg2);border:1px solid var(--line2);
  border-radius:10px;padding:10px 12px;color:var(--txt);font-size:14px;font-family:inherit;transition:.15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(99,102,241,.16)}
.field textarea{resize:vertical;min-height:74px}
.field.check{flex-direction:row;align-items:center;gap:8px}
.field.check input{width:16px;height:16px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.merr{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.35);color:#fca5a5;
  padding:9px 12px;border-radius:9px;font-size:13px;margin-bottom:14px}

/* ===================== Activity timeline ===================== */
.timeline{position:relative;padding-left:20px}
.timeline::before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:2px;background:var(--line2)}
.tl-item{position:relative;padding:0 0 20px 0}
.tl-item:last-child{padding-bottom:2px}
.tl-item::before{content:"";position:absolute;left:-19px;top:3px;width:11px;height:11px;border-radius:50%;
  background:var(--accent);border:2px solid var(--panel)}
.tl-item.sms::before{background:#5eead4}.tl-item.email::before{background:#60a5fa}
.tl-item.call::before{background:#fbbf24}.tl-item.linkedin::before{background:#818cf8}
.tl-head{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:3px}
.tl-ch{text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.5px;color:var(--accent2)}
.tl-date{color:var(--faint);font-size:11px}
.tl-body{color:var(--muted);font-size:13px}

/* ── activity feed ── */
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e;
  flex-shrink:0;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(34,197,94,.4)}
  50%{opacity:.7;box-shadow:0 0 0 5px rgba(34,197,94,0)}}
.empty-msg{color:var(--faint);font-size:13px;padding:24px 0}
.act-card .section-h{margin-bottom:16px}
.evt-list{display:flex;flex-direction:column;gap:0}
.evt-row{display:flex;align-items:flex-start;gap:14px;padding:14px 0;
  border-bottom:1px solid var(--line);transition:.15s}
.evt-row:last-child{border-bottom:none}
.evt-row:hover{background:var(--panel2);margin:0 -16px;padding:14px 16px;border-radius:10px;border-bottom:1px solid transparent}
.evt-badge{width:34px;height:34px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:16px;margin-top:1px}
.eb-target_created{background:rgba(99,102,241,.18);color:#818cf8}
.eb-contact_added{background:rgba(94,234,212,.18);color:#5eead4}
.eb-comm_logged{background:rgba(34,197,94,.18);color:#4ade80}
.eb-opp_updated{background:rgba(251,146,60,.18);color:#fb923c}
.eb-opp_created,.eb-opp_status{background:rgba(168,85,247,.18);color:#c084fc}
.evt-body{flex:1;min-width:0}
.evt-sum{font-size:13px;color:var(--txt);font-weight:500;line-height:1.4;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evt-meta{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--faint);margin-top:4px}
.evt-user{background:var(--panel2);border:1px solid var(--line);border-radius:4px;
  padding:1px 6px;font-size:10px;font-weight:600;color:var(--muted)}
.evt-dot{opacity:.4}
/* before→after diff pills */
.evt-diffs{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.diff-item{display:inline-flex;align-items:center;gap:4px;
  background:var(--panel2);border:1px solid var(--line);border-radius:6px;
  padding:3px 8px;font-size:11px}
.diff-field{color:var(--faint);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.5px}
.diff-before{color:#f87171;text-decoration:line-through;opacity:.8}
.diff-arrow{color:var(--faint);font-size:10px}
.diff-after{color:#4ade80;font-weight:600}

/* ── server log panel ── */
.log-panel{position:fixed;bottom:0;left:0;right:0;height:260px;background:var(--bg);
  border-top:1px solid var(--line);z-index:50;display:flex;flex-direction:column}
.log-header{display:flex;align-items:center;gap:8px;padding:8px 16px;
  background:var(--panel);border-bottom:1px solid var(--line);font-size:12px;
  font-weight:600;color:var(--muted);flex-shrink:0}
.log-close{margin-left:auto;background:transparent;border:none;color:var(--muted);
  cursor:pointer;font-size:16px;line-height:1;padding:0 4px}
.log-close:hover{color:var(--txt)}
.log-body{flex:1;overflow-y:auto;padding:8px 16px;font-family:'JetBrains Mono',monospace;font-size:11px}
.log-line{padding:2px 0;white-space:pre-wrap;word-break:break-all;border-bottom:1px solid var(--line);color:var(--muted)}
.ll-error,.ll-critical{color:#f87171}
.ll-warning{color:#fbbf24}
.ll-info{color:var(--muted)}
.ll-debug{color:var(--faint)}
.theme-toggle.active{border-color:var(--accent);color:var(--accent)}

/* rating chip colors */
.rchip[data-r="A+"] .rc{color:#f59e0b}
.rchip[data-r="A"] .rc{color:#22c55e}
.rchip[data-r="B+"] .rc{color:#5eead4}
.rchip[data-r="B"] .rc{color:#60a5fa}
.rchip[data-r="C"] .rc{color:var(--muted)}

/* clickable evt rows */
.evt-row.clickable{cursor:pointer}
.evt-row.clickable:hover .evt-sum{color:var(--accent)}
.evt-has-diff{color:var(--accent);font-size:10px;font-weight:600;letter-spacing:.3px}

/* change modal rows */
.chg-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}
.chg-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--faint);width:80px;flex-shrink:0}
.chg-vals{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.chg-before{color:#f87171;font-size:13px;font-weight:600;text-decoration:line-through;opacity:.8}
.chg-after{color:#4ade80;font-size:13px;font-weight:700}

/* log button */
.log-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;
  border-radius:9px;border:1px solid var(--line2);background:transparent;
  color:var(--muted);cursor:pointer;transition:.15s}
.log-btn:hover{color:var(--txt);border-color:var(--accent)}
.log-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(99,102,241,.1)}
.log-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* fresh bar classes — no inheritance from .fill */
.bwrap{flex:1;height:11px;border-radius:7px;overflow:hidden;background:var(--panel2);box-shadow:inset 0 1px 2px rgba(0,0,0,.12)}
html[data-theme="light"] .bwrap{background:#e7ebf4}
.bhi,.bme,.blo,.bst{display:block;height:100%;border-radius:7px;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.bhi{background:linear-gradient(90deg,#fb7185,#ef4444)}
.bme{background:linear-gradient(90deg,#fbbf24,#f59e0b)}
.blo{background:linear-gradient(90deg,#60a5fa,#3b82f6)}
.bst{background:linear-gradient(90deg,#5eead4,#6366f1)}

/* follow-ups widget */
.fu-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;
  border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:700}
.fu-list{display:flex;flex-direction:column;gap:0}
.fu-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);
  cursor:pointer;transition:.15s}
.fu-row:last-child{border-bottom:none}
.fu-row:hover{background:rgba(99,102,241,.04);margin:0 -16px;padding:12px 16px;border-radius:10px;border-bottom:1px solid transparent}
.fu-left{flex:1;min-width:0}
.fu-due{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;margin-bottom:3px}
.fu-overdue{color:#f87171}
.fu-urgent{color:#fb923c}
.fu-soon{color:#fbbf24}
.fu-future{color:#60a5fa}
.fu-company{font-size:14px;font-weight:600;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fu-meta{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}
.fu-last{font-size:11px;color:var(--faint);flex-shrink:0;white-space:nowrap}
.fu-arrow{color:var(--faint);flex-shrink:0}

/* activity page */
.page-title{font-family:'Inter','Segoe UI',sans-serif;font-size:26px;font-weight:600;letter-spacing:-.4px;margin-bottom:4px;color:var(--ink)}
.page-sub{font-size:13px;color:var(--faint);margin-bottom:24px}
.act-tabs{display:flex;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--line);padding-bottom:0}
.act-tab{background:none;border:none;padding:10px 16px;font-size:13px;font-weight:600;color:var(--muted);
  cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:.15s}
.act-tab:hover{color:var(--txt)}
.act-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.act-cnt{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;
  border-radius:9px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;
  padding:0 4px;margin-left:5px}
.act-body{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.act-table{width:100%;border-collapse:collapse}
.act-table th{text-align:left;padding:10px 16px;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.5px;color:var(--faint);border-bottom:1px solid var(--line);background:var(--panel2)}
.act-table td{padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}
.act-tr{cursor:pointer;transition:.12s}
.act-tr:hover{background:rgba(99,102,241,.06)}
.act-tr:last-child td{border-bottom:none}
.act-co{font-weight:600;color:var(--txt);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.act-faint{color:var(--muted);font-size:12px}
.act-note{color:var(--muted);font-size:12px;max-width:300px}
.act-group{border-bottom:1px solid var(--line)}
.act-group:last-child{border-bottom:none}
.act-date{padding:10px 16px;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.6px;color:var(--faint);background:var(--panel2)}
.ch-pill{text-transform:capitalize}

/* ── Activity page redesign ── */
.act-header{margin-bottom:24px}
.act-title{font-size:26px;font-weight:800;letter-spacing:-.5px}
.act-sub{font-size:13px;color:var(--faint);margin-top:4px}

/* pill tabs */
.act-pill-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.apt{display:flex;align-items:center;gap:7px;padding:9px 16px;border-radius:50px;
  border:1px solid var(--line2);background:var(--panel);color:var(--muted);
  font-size:13px;font-weight:600;cursor:pointer;transition:.18s}
.apt:hover{color:var(--txt);border-color:var(--accent)}
.apt.active{background:var(--accent);border-color:var(--accent);color:#fff;
  box-shadow:0 4px 14px -4px rgba(99,102,241,.5)}
.apt-ic{font-size:14px}
.apt-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;
  border-radius:9px;background:rgba(255,255,255,.25);color:#fff;font-size:10px;font-weight:800;padding:0 4px}
.apt-badge-warn{background:rgba(248,113,113,.9)}
.apt.active .apt-badge{background:rgba(255,255,255,.3)}

/* panel */
.act-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:200px}

/* spinner */
.act-spin{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px 0;color:var(--faint)}
.spin-ring{width:24px;height:24px;border:3px solid var(--line2);border-top-color:var(--accent);
  border-radius:50%;animation:al-spin .7s linear infinite}

/* empty state */
.act-empty{display:flex;flex-direction:column;align-items:center;padding:56px 20px;text-align:center}
.act-empty-ic{font-size:40px;margin-bottom:14px;opacity:.7}
.act-empty-h{font-size:16px;font-weight:700;color:var(--txt);margin-bottom:6px}
.act-empty-s{font-size:13px;color:var(--faint);max-width:360px;line-height:1.6}

/* follow-up card rows */
.act-cards{display:flex;flex-direction:column}
.act-card-row{display:flex;align-items:center;gap:16px;padding:16px 20px;
  border-bottom:1px solid var(--line);cursor:pointer;transition:.15s}
.act-card-row:last-child{border-bottom:none}
.act-card-row:hover{background:rgba(99,102,241,.05)}
.acr-due{display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:76px;padding:10px 8px;border-radius:12px;background:var(--panel2);
  border:1px solid var(--line);text-align:center;flex-shrink:0}
.acr-due.fu-overdue{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.3)}
.acr-due.fu-urgent{background:rgba(251,146,60,.1);border-color:rgba(251,146,60,.3)}
.acr-due.fu-soon{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.3)}
.acr-due.fu-future{background:rgba(96,165,250,.1);border-color:rgba(96,165,250,.3)}
.acr-due-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}
.acr-due-date{font-size:11px;color:var(--faint);margin-top:2px}
.acr-body{flex:1;min-width:0}
.acr-co{font-size:15px;font-weight:700;color:var(--txt);margin-bottom:5px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acr-pills{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px}
.acr-note{font-size:12px;color:var(--muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acr-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
.acr-last{font-size:11px;color:var(--faint);text-align:right;line-height:1.5}
.acr-last b{color:var(--txt);font-weight:600}

/* touch list (week/month) */
.act-group{border-bottom:1px solid var(--line)}
.act-group:last-child{border-bottom:none}
.act-date-hdr{display:flex;align-items:center;gap:10px;padding:10px 20px;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;
  color:var(--faint);background:var(--panel2)}
.act-date-cnt{font-weight:500;text-transform:none;letter-spacing:0;color:var(--faint);opacity:.7}
.act-touch-list{display:flex;flex-direction:column}
.act-touch{display:flex;align-items:center;gap:12px;padding:13px 20px;
  border-bottom:1px solid var(--line);cursor:pointer;transition:.14s}
.act-touch:last-child{border-bottom:none}
.act-touch:hover{background:rgba(99,102,241,.05)}
.ch-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;
  font-size:11px;font-weight:700;text-transform:capitalize;min-width:64px;justify-content:center}
.ch-call{background:rgba(34,197,94,.15);color:#22c55e}
.ch-email{background:rgba(96,165,250,.15);color:#60a5fa}
.ch-meeting{background:rgba(168,85,247,.15);color:#a855f7}
.ch-linkedin{background:rgba(14,165,233,.15);color:#0ea5e9}
.ch-note{background:rgba(251,191,36,.15);color:#fbbf24}
.ch-text,.ch-sms{background:rgba(94,234,212,.15);color:#5eead4}
.act-touch-body{flex:1;min-width:0}
.act-touch-co{font-size:13px;font-weight:600;color:var(--txt)}
.act-touch-who{font-weight:400;color:var(--muted)}
.act-touch-note{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}

/* stale info banner */
.stale-info{padding:10px 20px;font-size:12px;color:var(--faint);background:var(--panel2);border-bottom:1px solid var(--line)}

/* activity toolbar */
.act-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.act-search-wrap{display:flex;align-items:center;gap:0;background:var(--panel);border:1px solid var(--line);
  border-radius:8px;overflow:hidden;flex:1;min-width:180px;max-width:340px}
.act-search-ic{margin:0 10px;color:var(--faint);flex-shrink:0}
.act-search{background:none;border:none;outline:none;padding:8px 6px 8px 0;font-size:13px;color:var(--txt);width:100%}
.act-search::placeholder{color:var(--faint)}
.act-search-clr{background:none;border:none;cursor:pointer;color:var(--faint);padding:6px 10px;font-size:12px}
.act-search-clr:hover{color:var(--txt)}
.act-sort-sel{background:var(--panel);border:1px solid var(--line);border-radius:8px;
  color:var(--txt);font-size:13px;padding:8px 12px;cursor:pointer;outline:none}
.act-count{font-size:12px;color:var(--faint);margin-left:auto}
.act-clr-btn{background:var(--accent);color:#fff;border:none;border-radius:20px;padding:6px 16px;
  font-size:12px;font-weight:600;cursor:pointer;margin-top:8px}

/* pagination */
.act-pager{display:flex;align-items:center;gap:4px;padding:14px 20px;justify-content:center;
  border-top:1px solid var(--line)}
.pg-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;
  border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--muted);
  font-size:13px;font-weight:600;cursor:pointer;transition:.14s;padding:0 6px}
.pg-btn:hover:not(:disabled){background:var(--panel2);color:var(--txt)}
.pg-btn:disabled{opacity:.35;cursor:default}
.pg-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}
.pg-ellipsis{color:var(--faint);padding:0 4px;font-size:13px}
.pg-info{font-size:12px;color:var(--faint);margin-left:8px}

/* stale card rows */
.stale-row{display:flex;align-items:center;gap:16px;padding:14px 20px;
  border-bottom:1px solid var(--line);cursor:pointer;transition:.15s}
.stale-row:last-child{border-bottom:none}
.stale-row:hover{background:rgba(99,102,241,.05)}
.stale-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:72px;height:64px;border-radius:14px;flex-shrink:0;border:1.5px solid transparent}
.stale-never{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.25)}
.stale-hot  {background:rgba(248,113,113,.1); border-color:rgba(248,113,113,.3)}
.stale-warm {background:rgba(251,146,60,.1);  border-color:rgba(251,146,60,.3)}
.stale-cool {background:rgba(251,191,36,.1);  border-color:rgba(251,191,36,.3)}
.stale-num{font-size:22px;font-weight:900;line-height:1;color:var(--txt)}
.stale-never .stale-num,.stale-hot .stale-num{color:#f87171}
.stale-warm  .stale-num{color:#fb923c}
.stale-cool  .stale-num{color:#fbbf24}
.stale-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--faint);margin-top:2px}
.stale-body{flex:1;min-width:0}
.stale-co{font-size:15px;font-weight:700;color:var(--txt);margin-bottom:6px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stale-pills{display:flex;flex-wrap:wrap;gap:5px}
.stale-meta{display:flex;gap:24px;flex-shrink:0}
.stale-meta-item{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.stale-meta-lbl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--faint)}
.stale-meta-val{font-size:13px;font-weight:600;color:var(--txt)}
.stale-never-txt{color:#f87171!important}

/* full-width layout when sidebar hidden */
.shell-full { grid-template-columns: 0 1fr; }
.shell-full .sidebar { display: none; }

/* toolbar v2 – search + sort on the RIGHT */
.act-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.act-toolbar-right{display:flex;align-items:center;gap:10px;margin-left:auto}

/* sort pills */
.sort-pills{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);
  border-radius:10px;padding:3px}
.sort-pill{background:none;border:none;padding:5px 12px;border-radius:8px;
  font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:.15s;white-space:nowrap}
.sort-pill:hover{color:var(--txt)}
.sort-pill.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px -2px rgba(99,102,241,.4)}

/* stale-never symbol */
.stale-never-sym{font-size:26px!important}

/* opportunity events in target timeline */
/* event = a clean contained card to the right of the rail (no double line / no touching blocks) */
.tl-item.tl-event{background:rgba(99,102,241,.07);border:1px solid var(--line2);border-radius:12px;
  padding:11px 14px;margin-bottom:14px}
html[data-theme="light"] .tl-item.tl-event{background:rgba(99,102,241,.06)}
.tl-item.tl-event::before{top:14px;left:-20px}
.tl-ev-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}
.tl-ev-label{font-size:12px;font-weight:700;color:var(--accent)}
.tl-changes{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.tl-change{display:flex;align-items:center;gap:7px;font-size:12px}
.tl-ch-field{font-weight:700;color:var(--txt);min-width:64px}
.tl-ch-before{color:var(--faint);text-decoration:line-through}
.tl-ch-after{color:var(--accent);font-weight:600}

/* ── M&A Signals ─────────────────────────────────────────────────────────── */
.sig-search{flex:0 0 320px;max-width:320px;padding:9px 13px;border-radius:9px;border:1px solid var(--line2);
  background:var(--panel);color:var(--txt);font-size:13px;font-family:inherit}
.sig-search:focus{outline:none;border-color:var(--accent)}
.sig-tbl th.sortable{cursor:pointer;user-select:none;white-space:nowrap}
.sig-tbl th.sortable:hover{color:var(--accent)}
.sig-new{display:inline-block;margin-left:6px;font-size:9.5px;font-weight:800;letter-spacing:.06em;
  color:#fff;background:var(--accent);border-radius:5px;padding:1px 5px;vertical-align:middle;font-family:var(--sans,inherit)}
.sig-ind{color:var(--muted);font-size:12.5px}
.sig-msg{font-size:12px;color:var(--muted);max-width:280px;text-align:right;line-height:1.35}
.btn svg.spin{animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── CSV import ──────────────────────────────────────────────────────────── */
.imp-summary{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.imp-stat{flex:1;min-width:90px;background:var(--canvas);border:1px solid var(--line);border-radius:10px;
  padding:10px 12px;text-align:center}
.imp-stat b{display:block;font-size:22px;line-height:1.1;font-family:var(--mono,monospace)}
.imp-stat span{font-size:11px;color:var(--muted)}
.modal input[type=file]{font-size:13px;color:var(--txt)}

/* ── M&A Signals auto-sync banner ────────────────────────────────────────── */
.sig-auto{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:8px 12px;
  background:rgba(30,99,224,.06);border:1px solid rgba(30,99,224,.18);border-radius:9px;
  font-size:12.5px;color:var(--txt)}
.sig-auto svg{width:15px;height:15px;fill:none;stroke:var(--accent);stroke-width:2;flex-shrink:0}
.sig-auto b{color:var(--accent)}

/* client-detail sub-tabs (Deal board / Mandates) */
.ctabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:2px 0 20px}
.ctab{background:none;border:none;padding:10px 16px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:inherit;transition:.12s}
.ctab:hover{color:var(--ink)}
.ctab.on{color:var(--accent);border-bottom-color:var(--accent)}
.ctab-n{opacity:.55;font-weight:500;margin-left:2px}

/* ===================== Call console (dialer) ===================== */
.cr-ct-act.call:hover{color:var(--accent);border-color:var(--accent)}
.rec-dot{width:8px;height:8px;border-radius:50%;background:#e11d48;display:inline-block;margin-right:6px;
  animation:rec-blink 1.1s ease-in-out infinite;flex-shrink:0}
@keyframes rec-blink{0%,100%{opacity:1}50%{opacity:.25}}
.dlr{display:flex;flex-direction:column}
.dlr-queue{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);
  background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:7px 12px;margin-bottom:12px}
.dlr-queue b{color:var(--ink)}
.dlr-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.dlr-av{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex-shrink:0;
  font-weight:700;font-size:15px;color:#fff;background:linear-gradient(135deg,#3257A8,#1E63E0)}
.dlr-who{flex:1;min-width:0}
.dlr-who b{display:block;font-size:16px;color:var(--ink);line-height:1.2}
.dlr-who span{font-size:12.5px;color:var(--muted)}
.dlr-phase{font-size:11.5px;font-weight:700;font-family:var(--mono);padding:5px 10px;border-radius:20px;
  white-space:nowrap;display:inline-flex;align-items:center;background:var(--panel2);color:var(--muted);border:1px solid var(--line)}
.dlr-phase.ph-live{background:#FBEBEB;color:#b23a3a;border-color:#f3d0d0}
.dlr-phase.ph-dialing{background:rgba(30,99,224,.1);color:var(--accent);border-color:transparent}
.dlr-phase.ph-wrap{background:rgba(46,125,91,.12);color:#0f766e;border-color:transparent}
.dlr-num{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:16px;color:var(--ink);
  background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px 14px}
.dlr-num svg{width:17px;height:17px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.dlr-cid{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted);margin-top:8px}
.dlr-cid svg{width:14px;height:14px;fill:none;stroke:var(--accent2);stroke-width:2;flex-shrink:0}
.dlr-cid b{color:var(--txt);font-family:var(--mono)}
.dlr-hint{font-size:13px;color:var(--muted);margin-top:14px;line-height:1.5}
.dlr-dialing{display:flex;align-items:center;gap:12px;justify-content:center;margin:26px 0;font-size:14px;color:var(--accent);font-weight:600}
.dlr-rings{width:20px;height:20px;border:2px solid var(--accent);border-right-color:transparent;border-radius:50%;
  animation:spin .8s linear infinite}
.dlr-avoma{display:flex;align-items:center;gap:8px;margin-top:14px;padding:9px 12px;border-radius:9px;font-size:12.5px;
  background:#FBEBEB;color:#b23a3a;border:1px solid #f3d0d0}
.dlr-avoma.done{background:rgba(46,125,91,.1);color:#0f766e;border-color:rgba(46,125,91,.25)}
.dlr-live-head{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:11.5px;font-weight:600;color:#b23a3a}
.dlr-transcript{margin-top:9px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;
  padding:11px 13px;max-height:190px;overflow-y:auto;display:flex;flex-direction:column;gap:9px}
.dlr-tline{display:flex;flex-direction:column;max-width:88%}
.dlr-tline.me{align-self:flex-end;align-items:flex-end}
.dlr-tline.them{align-self:flex-start;align-items:flex-start}
.dlr-tline b{font-size:9.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--faint);margin-bottom:2px}
.dlr-tline span{font-size:12.5px;line-height:1.4;padding:7px 11px;border-radius:11px}
.dlr-tline.me span{background:var(--accent);color:#fff;border-bottom-right-radius:4px}
.dlr-tline.them span{background:var(--panel);border:1px solid var(--line);color:var(--txt);border-bottom-left-radius:4px}
.dlr-t-empty{font-size:12px;color:var(--faint);text-align:center;padding:14px}
.dlr-cue{display:flex;align-items:flex-start;gap:9px;margin-top:10px;padding:10px 13px;border-radius:10px;
  background:rgba(30,99,224,.07);border:1px solid rgba(30,99,224,.2);font-size:12.5px;color:var(--txt);line-height:1.4}
.dlr-cue-ic{color:var(--accent);font-size:14px;line-height:1.2;flex-shrink:0}
.dlr-cue b{color:var(--accent)}
.dlr-avoma svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.dlr-cap{font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--faint);margin:14px 0 6px}
.dlr-script{margin-top:14px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 14px}
.dlr-script .dlr-cap{margin-top:0}
.dlr-script ul,.dlr-notes ul{margin:0;padding-left:18px}
.dlr-script li{font-size:12.5px;color:var(--txt);margin:5px 0;line-height:1.45}
.dlr-noans{font-size:13px;color:var(--txt);margin:14px 0 12px;line-height:1.5}
.dlr-vm{font-size:12.5px;font-style:italic;color:var(--muted);background:var(--panel2);border:1px solid var(--line);
  border-left:3px solid var(--accent);border-radius:8px;padding:9px 12px;margin:0 0 12px;line-height:1.5}
.dlr-sent{display:flex;align-items:center;gap:8px;justify-content:center;font-size:13px;font-weight:600;color:#0f766e;margin-top:6px}
.dlr-sent svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.dlr-notes{margin-top:14px;background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:13px 15px}
.dlr-notes-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.dlr-notes-h b{font-size:13px;color:var(--ink)}
.dlr-meta{font-size:10.5px;font-family:var(--mono);color:var(--faint)}
.dlr-sum{font-size:13px;color:var(--txt);line-height:1.5;margin:0}
.dlr-notes li{font-size:12.5px;color:var(--txt);margin:4px 0;line-height:1.45}
.dlr-do li{color:var(--accent)}
.dlr-next{margin-top:12px;font-size:12.5px;color:var(--txt);background:rgba(30,99,224,.07);
  border:1px solid rgba(30,99,224,.18);border-radius:8px;padding:8px 11px}
.dlr-next b{color:var(--accent)}
.btn.dlr-end{background:var(--bad);color:#fff;border:none;box-shadow:0 1px 2px rgba(178,58,58,.3)}
.btn.dlr-end:hover{background:#9c3030;transform:translateY(-1px)}

/* ===================== Sequences (cadence engine) ===================== */
.seq-bench{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:13px}
.seq-bench-grid{display:flex;align-items:center;gap:22px;margin-top:11px;flex-wrap:wrap}
.seq-bench-grid>div{display:flex;flex-direction:column}
.seq-bench-grid b{font-size:22px;font-family:var(--mono);color:var(--accent);line-height:1}
.seq-bench-grid span{font-size:11px;color:var(--muted);margin-top:3px}
.seq-bench-note{flex:1;min-width:220px;font-size:12.5px;color:var(--txt);line-height:1.5;
  border-left:1px solid var(--line);padding-left:22px}
.seq-card{margin-bottom:13px}
.seq-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.seq-head b{font-size:15px;color:var(--ink)}
.seq-sub{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.seq-metrics{display:flex;gap:20px}
.seq-m{display:flex;flex-direction:column;align-items:flex-end}
.seq-m b{font-size:17px;font-family:var(--mono);color:var(--ink);line-height:1}
.seq-m span{font-size:10.5px;color:var(--muted);margin-top:2px}
.seq-track{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px}
.seq-step{position:relative;flex:0 0 148px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;
  padding:10px 11px;border-top:3px solid var(--line2)}
.seq-step.ch-call{border-top-color:var(--accent)}
.seq-step.ch-email{border-top-color:var(--accent2)}
.seq-step.ch-linkedin{border-top-color:#3257A8}
.seq-step.ch-sms{border-top-color:var(--gold)}
.seq-day{font-size:10.5px;font-weight:700;font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.seq-ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);margin:7px 0}
.seq-ic svg{width:15px;height:15px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.seq-step.ch-call .seq-ic svg{stroke:var(--accent)}
.seq-step.ch-email .seq-ic svg{stroke:var(--accent2)}
.seq-step.ch-linkedin .seq-ic svg{stroke:#3257A8}
.seq-act{font-size:11.5px;color:var(--txt);line-height:1.35;min-height:46px}
.seq-auto{position:absolute;top:9px;right:10px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;
  color:var(--accent);background:var(--accent-soft);padding:2px 6px;border-radius:6px}
.seq-auto.manual{color:var(--muted);background:var(--line)}

/* sequence work-queue (Due today) */
.seq-queue{margin-bottom:13px}
.seq-q-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.seq-q-sub{display:block;font-size:11.5px;color:var(--muted);margin-top:3px}
.seq-q-list{display:flex;flex-direction:column;gap:8px}
.seq-q-row{display:flex;align-items:center;gap:11px;padding:9px 11px;background:var(--panel2);
  border:1px solid var(--line);border-radius:10px}
.seq-q-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;
  background:var(--panel);border:1px solid var(--line)}
.seq-q-ic svg{width:15px;height:15px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.seq-q-ic.ch-call svg{stroke:var(--accent)}
.seq-q-ic.ch-email svg{stroke:var(--accent2)}
.seq-q-ic.ch-linkedin svg{stroke:#3257A8}
.seq-q-ic.ch-sms svg{stroke:var(--gold)}
.seq-q-body{flex:1;min-width:0}
.seq-q-body b{display:block;font-size:13px;color:var(--ink);line-height:1.25}
.seq-q-body span{font-size:11.5px;color:var(--muted)}
.seq-q-due{font-size:10.5px;font-weight:700;font-family:var(--mono);color:var(--muted);white-space:nowrap;
  background:var(--panel);border:1px solid var(--line);padding:3px 8px;border-radius:20px}
.seq-q-due.over{color:#b23a3a;background:#FBEBEB;border-color:#f3d0d0}
.seq-q-empty{display:flex;align-items:center;gap:9px;justify-content:center;padding:22px;color:#0f766e;font-size:13px;font-weight:600}
.seq-q-empty svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.seq-paused{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.seq-cap{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--faint)}
.seq-pill{font-size:11.5px;color:var(--txt);background:var(--panel2);border:1px solid var(--line);
  border-radius:20px;padding:4px 11px}

/* ===================== Notifications ===================== */
.notif-wrap{position:relative}
.notif-btn{position:relative}
.notif-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.notif-btn.active{color:var(--accent);border-color:var(--accent)}
.notif-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;
  background:var(--bad);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;font-family:var(--mono)}
.notif-scrim{position:fixed;inset:0;z-index:60}
.notif-pop{position:absolute;top:46px;right:0;width:340px;max-width:88vw;z-index:61;background:var(--panel);
  border:1px solid var(--line2);border-radius:12px;box-shadow:0 14px 40px rgba(14,22,38,.18);overflow:hidden}
.notif-pop-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.notif-pop-head b{font-size:14px}
.notif-read{background:none;border:none;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.notif-list{max-height:60vh;overflow:auto}
.notif-item{display:flex;gap:11px;padding:11px 14px;border-bottom:1px solid var(--line);cursor:pointer;position:relative;transition:.12s}
.notif-item:hover{background:var(--panel2)}
.notif-item.unread{background:rgba(30,99,224,.05)}
.notif-ic{width:32px;height:32px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line)}
.notif-ic svg{width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.notif-ic.nt-reply svg,.notif-ic.nt-sms svg{stroke:var(--accent)}
.notif-ic.nt-nda svg,.notif-ic.nt-meeting svg{stroke:var(--ok)}
.notif-ic.nt-overdue svg{stroke:var(--bad)}
.notif-ic.nt-signal svg{stroke:var(--gold)}
.notif-body{flex:1;min-width:0}
.notif-body b{display:block;font-size:12.5px;color:var(--ink);line-height:1.3}
.notif-body span{display:block;font-size:11.5px;color:var(--muted);line-height:1.35;margin:1px 0}
.notif-body i{font-size:10.5px;color:var(--faint);font-style:normal;font-family:var(--mono)}
.notif-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:5px}

/* ===================== Priorities (worklist) ===================== */
.prio-list{display:flex;flex-direction:column;gap:10px}
.prio-row{display:flex;align-items:center;gap:15px;padding:14px 16px}
.prio-rank{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--faint);width:18px;text-align:center;flex-shrink:0}
.prio-ring{width:46px;height:46px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;position:relative}
.prio-ring::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--panel)}
.prio-ring span{position:relative;z-index:1;font-family:var(--mono);font-size:14px;font-weight:600;color:var(--ink)}
.prio-main{flex:1;min-width:0}
.prio-co{font-size:14px;color:var(--ink);margin-bottom:2px}
.prio-co b{color:var(--ink)}
.prio-why{font-size:12.5px;color:var(--muted);margin-bottom:7px;line-height:1.4}
.prio-chips{display:flex;gap:6px;flex-wrap:wrap}
.prio-act{flex-shrink:0}

/* ===================== Conversations (inbox) ===================== */
.conv-grid{display:grid;grid-template-columns:340px 1fr;gap:13px;align-items:start}
.conv-list{display:flex;flex-direction:column;gap:7px}
.conv-item{display:flex;gap:10px;padding:11px 12px;background:var(--panel);border:1px solid var(--line);border-radius:11px;cursor:pointer;transition:.12s}
.conv-item:hover{border-color:var(--line2)}
.conv-item.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.conv-item.unread{background:rgba(30,99,224,.04)}
.conv-ic{width:30px;height:30px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line)}
.conv-ic svg{width:15px;height:15px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.conv-ic.ch-email svg{stroke:var(--accent2)}
.conv-ic.ch-sms svg{stroke:var(--gold)}
.conv-meta{flex:1;min-width:0}
.conv-meta b{display:block;font-size:13px;color:var(--ink)}
.conv-meta span{display:block;font-size:11px;color:var(--muted)}
.conv-meta i{display:block;font-size:11.5px;color:var(--faint);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.conv-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}
.conv-when{font-size:10px;color:var(--faint);font-family:var(--mono);white-space:nowrap}
.conv-status{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 7px;border-radius:20px}
.conv-status.replied{background:rgba(46,125,91,.14);color:#0f766e}
.conv-status.awaiting{background:var(--panel2);color:var(--muted);border:1px solid var(--line)}
.conv-thread{display:flex;flex-direction:column;min-height:420px}
.conv-th-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px;font-size:14px}
.conv-msgs{flex:1;display:flex;flex-direction:column;gap:12px;padding:4px 2px;overflow:auto;max-height:420px}
.conv-msg{display:flex;flex-direction:column;max-width:76%}
.conv-msg.in{align-self:flex-start;align-items:flex-start}
.conv-msg.out{align-self:flex-end;align-items:flex-end}
.conv-bubble{padding:10px 13px;border-radius:13px;font-size:13px;line-height:1.45}
.conv-msg.in .conv-bubble{background:var(--panel2);border:1px solid var(--line);border-bottom-left-radius:4px;color:var(--txt)}
.conv-msg.out .conv-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}
.conv-mt{font-size:10px;color:var(--faint);font-family:var(--mono);margin-top:4px}
.conv-reply{display:flex;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.conv-reply textarea{flex:1;background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:9px 12px;
  font-family:inherit;font-size:13px;resize:vertical;min-height:44px;color:var(--txt)}
.conv-reply textarea:focus{outline:none;border-color:var(--accent)}
.conv-reply .btn{align-self:flex-end}

/* ===================== Performance (funnel) ===================== */
.funnel{display:flex;flex-direction:column;gap:9px}
.fn-row{display:flex;align-items:center;gap:12px}
.fn-stage{width:78px;font-size:12px;color:var(--muted);flex-shrink:0}
.fn-bar{flex:1;background:var(--panel2);border-radius:7px;overflow:hidden;height:26px}
.fn-bar>span{display:flex;align-items:center;justify-content:flex-end;height:100%;
  background:linear-gradient(90deg,#3257A8,var(--accent));border-radius:7px;padding:0 9px;min-width:34px;transition:width .5s}
.fn-bar em{font-style:normal;font-family:var(--mono);font-size:11.5px;font-weight:600;color:#fff}
.fn-conv{width:44px;text-align:right;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--accent);flex-shrink:0}

/* ===================== Origination report ===================== */
/* Edison deck design system: Hanken Grotesk + Newsreader italic; navy #060a1a, blue #2156f0/#56b8ff */
.report-doc{background:#fff;border:1px solid var(--line2);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);
  font-family:'Hanken Grotesk','IBM Plex Sans',system-ui,sans-serif;color:#0e1626;padding:0;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
/* dark cover */
.rep-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;
  background:#060a1a;color:#fff;padding:30px 34px 26px;position:relative}
.rep-head::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,#2156f0,#56b8ff)}
.rep-brand{font-family:'Hanken Grotesk';font-size:25px;font-weight:800;letter-spacing:-.4px;color:#fff}
.rep-brand span{color:#56b8ff;margin:0 6px;font-weight:400}
.rep-period{text-align:right;font-size:13px;color:#c7d2e6;line-height:1.6}
.rep-period i{font-family:'Newsreader',Georgia,serif;font-style:italic;font-size:12.5px;color:#56b8ff}
.rep-mandate{background:#f3f6ff;border-bottom:1px solid #e2e8f8;padding:13px 34px;font-size:12.5px;color:#2a3550}
.rep-mandate b{color:#2156f0;font-family:var(--mono)}
.rep-sec{padding:0 34px;margin:22px 0}
.rep-sec h3{font-family:'Hanken Grotesk';font-size:17px;font-weight:700;color:#060a1a;margin-bottom:12px;
  padding-bottom:8px;border-bottom:2px solid #eef1f8;position:relative}
.rep-sec h3::after{content:"";position:absolute;left:0;bottom:-2px;width:46px;height:2px;background:#2156f0}
.rep-sec h4{font-family:'Hanken Grotesk';font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#2156f0;margin:0 0 8px}
.rep-lead{font-family:'Newsreader',Georgia,serif;font-style:italic;font-size:15px;color:#55617d;margin:0 0 12px}
.rep-para{font-size:13.5px;color:#2a3142;line-height:1.65;margin:0 0 10px}
.rep-sec ul,.rep-ul{margin:0;padding-left:18px}
.rep-sec li{font-size:13px;color:#2a3142;line-height:1.55;margin:5px 0}
.rep-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:8px 0 14px}
.rep-forward{background:#f3f6ff;border-left:3px solid #2156f0;border-radius:8px;padding:12px 15px;margin-top:8px}
.rep-forward>b{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:#2156f0;margin-bottom:4px}
.rep-seg-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rep-seg{background:#f7f9fe;border:1px solid #e6ecf9;border-radius:10px;padding:11px 13px}
.rep-seg b{display:block;font-size:12.5px;color:#060a1a}
.rep-seg span{display:block;font-size:11px;color:#6b7690;margin:2px 0 7px}
.rep-seg-bar{height:5px;background:#e6ecf9;border-radius:20px;overflow:hidden}
.rep-seg-bar>span{display:block;height:100%;background:linear-gradient(90deg,#2156f0,#56b8ff);border-radius:20px}
.rep-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:4px 0}
.rep-stats>div{background:#060a1a;border-radius:11px;padding:15px 12px;text-align:center}
.rep-stats b{display:block;font-family:'Hanken Grotesk';font-size:27px;font-weight:800;color:#56b8ff;line-height:1}
.rep-stats span{display:block;font-size:10.5px;color:#aeb9d0;margin-top:6px}
.rep-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.rep-tbl th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#8a94ac;padding:7px 8px;border-bottom:2px solid #eef1f8}
.rep-tbl td{padding:8px;border-bottom:1px solid #eef1f8;color:#2a3142}
.rep-tbl td b{color:#060a1a}
.rep-signoff{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  background:#060a1a;color:#fff;padding:18px 34px;margin-top:22px}
.rep-signoff b{font-size:14px;color:#fff}
.rep-signoff span{display:block;font-size:11.5px;color:#8a94ac;font-family:var(--mono)}
.rep-atlas{font-size:11.5px;color:#c7d2e6;text-align:right}
.rep-atlas b{color:#56b8ff}
.rep-foot{text-align:center;font-size:10.5px;color:#8a94ac;padding:12px 34px 16px;background:#060a1a}
@media print{
  body *{visibility:hidden}
  .report-doc,.report-doc *{visibility:visible}
  .report-doc{position:absolute;left:0;top:0;width:100%;border:none;box-shadow:none}
}
.theme-toggle.active{color:var(--accent);border-color:var(--accent)}

/* ===================== Managed data room / vault ===================== */
.dr-prog{display:flex;align-items:center;gap:18px;padding:16px 18px}
.dr-prog-ring{width:60px;height:60px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;position:relative}
.dr-prog-ring::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--panel)}
.dr-prog-ring span{position:relative;z-index:1;font-family:var(--mono);font-size:14px;font-weight:600;color:var(--ink)}
.dr-prog-meta{flex:1;min-width:0}
.dr-prog-meta b{display:block;font-size:14px;color:var(--ink)}
.dr-prog-meta span{display:block;font-size:12px;color:var(--muted);margin:2px 0 8px}
.dr-bar{height:7px;background:var(--panel2);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.dr-bar>span{display:block;height:100%;background:linear-gradient(90deg,#3257A8,var(--accent));border-radius:20px;transition:width .5s}
.dr-grid{display:grid;grid-template-columns:236px 1fr;gap:13px;align-items:start}
.dr-folders{display:flex;flex-direction:column;gap:5px}
.dr-folder{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);
  border-radius:10px;cursor:pointer;font-family:inherit;text-align:left;transition:.12s}
.dr-folder:hover{border-color:var(--line2)}
.dr-folder.on{border-color:var(--accent);background:rgba(30,99,224,.05)}
.dr-folder svg{width:16px;height:16px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.dr-folder-name{flex:1;font-size:13px;font-weight:600;color:var(--ink)}
.dr-folder-n{font-size:11px;font-family:var(--mono);color:var(--muted)}
.dr-file-list{display:flex;flex-direction:column;gap:8px}
.dr-file{display:flex;align-items:center;gap:11px;padding:10px 12px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}
.dr-file-ic{width:30px;height:30px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line)}
.dr-file-ic svg{width:15px;height:15px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dr-file-body{flex:1;min-width:0}
.dr-file-body b{display:block;font-size:13px;color:var(--ink)}
.dr-file-body span{display:block;font-size:11px;color:var(--muted)}
.dr-act{display:flex;gap:10px;padding:8px 0;align-items:flex-start}
.dr-act-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);margin-top:5px;flex-shrink:0}
.dr-act-dot.da-uploaded{background:var(--ok)}
.dr-act-dot.da-requested{background:var(--accent)}
.dr-act-dot.da-chased{background:var(--gold)}
.dr-act-dot.da-viewed{background:var(--faint)}
.dr-act-body{font-size:12.5px;color:var(--txt);line-height:1.4}
.dr-act-body i{display:block;font-size:10.5px;color:var(--faint);font-style:normal;font-family:var(--mono);margin-top:1px}
.dr-access{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--line)}
.dr-access:last-of-type{border-bottom:none}
.dr-acc-av{width:32px;height:32px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;font-size:12px;font-weight:700;
  color:#fff;background:linear-gradient(135deg,#3257A8,#1E63E0)}
.dr-acc-body{flex:1;min-width:0}
.dr-acc-body b{display:block;font-size:13px;color:var(--ink)}
.dr-acc-body span{display:block;font-size:11px;color:var(--muted)}
@media(max-width:820px){.dr-grid,.conv-grid{grid-template-columns:1fr}}

/* "View as" segregation switcher */
.viewas{display:flex;align-items:center;gap:7px;padding:5px 10px;border-radius:10px;background:var(--panel);
  border:1px solid var(--line2);font-size:12px;color:var(--muted)}
.viewas svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.viewas select{border:none;background:none;font-family:inherit;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;padding:2px 4px}
.viewas select:focus{outline:none}
.viewas.scoped{background:rgba(30,99,224,.1);border-color:var(--accent);color:var(--accent)}
.viewas.scoped select{color:var(--accent)}
.dr-scoped-banner{display:flex;align-items:center;gap:10px;padding:11px 14px;margin-bottom:14px;border-radius:11px;
  background:rgba(30,99,224,.07);border:1px solid rgba(30,99,224,.25);font-size:12.5px;color:var(--txt);line-height:1.45}
.dr-scoped-banner svg{width:18px;height:18px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.dr-scoped-banner b{color:var(--accent)}

/* client portal — reports tab */
.portal-reports{display:grid;grid-template-columns:210px 1fr;gap:16px;align-items:start}
.portal-reports .report-doc{grid-column:2}
.portal-reports>.btn{grid-column:2;justify-self:start}
.pr-list{grid-column:1;grid-row:1 / span 2;display:flex;flex-direction:column;gap:6px}
.pr-pick{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:10px;
  background:var(--panel);border:1px solid var(--line);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink);text-align:left}
.pr-pick em{font-style:normal;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--faint)}
.pr-pick.on{border-color:var(--accent);background:rgba(30,99,224,.05)}
.pr-pick.on em{color:var(--accent)}
.pr-pick:disabled{opacity:.55;cursor:default}
@media(max-width:760px){.portal-reports{grid-template-columns:1fr}.portal-reports .report-doc,.portal-reports>.btn,.pr-list{grid-column:1}.pr-list{grid-row:auto;flex-direction:row;flex-wrap:wrap}}

/* full-screen client-portal preview bar */
.preview-bar{display:flex;align-items:center;gap:12px;padding:11px 22px;background:var(--ink);color:#fff;flex-wrap:wrap}
.preview-tag{font-size:10px;font-weight:700;letter-spacing:.6px;background:var(--accent);color:#fff;padding:3px 9px;border-radius:20px;white-space:nowrap}
.preview-who{font-size:13px;font-weight:600}
.preview-as{font-size:12px;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:6px}
.preview-as select{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:8px;padding:4px 9px;font-family:inherit;font-size:12px;cursor:pointer}
.preview-bar .btn.ghost{border-color:rgba(255,255,255,.32);color:#fff;background:transparent}
.preview-bar .btn.ghost:hover{background:rgba(255,255,255,.14)}

/* client portal — richer pipeline */
.pf-stage-h{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:var(--ink);margin:0 0 10px}
.pf-stage-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.pf-stage-n{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--muted);background:var(--panel2);border:1px solid var(--line);border-radius:20px;padding:1px 8px}
.pf-deals{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:11px}
.pf-deal{padding:14px 16px}
.pf-deal.focus{border-color:var(--accent,#1E63E0);box-shadow:0 0 0 3px rgba(30,99,224,.18);animation:pf-spot 1.2s ease 2}
@keyframes pf-spot{50%{box-shadow:0 0 0 7px rgba(30,99,224,.10)}}
.pb-notif-item.click{cursor:pointer}
.pb-notif-item.click:hover{background:var(--panel2)}
.ncv-propose{padding:4px 10px;font-size:12px;margin-left:auto}
.ncv-propose svg{width:13px;height:13px}
.pf-deal-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pf-deal-top b{font-family:var(--serif);font-size:15px;color:var(--ink)}
.pf-deal-meta{font-size:12px;color:var(--muted);margin:3px 0 8px}
.pf-deal-status{font-size:13px;color:var(--txt);margin-bottom:10px}
.pf-deal-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line)}
.pf-docs{font-size:11.5px;color:var(--accent);font-weight:600;cursor:pointer}
.pf-docs:hover{text-decoration:underline}
.pf-upd{font-size:10.5px;color:var(--faint);font-family:var(--mono);margin-left:auto}

/* client portal — richer niches */
.pf-niche{padding:15px 16px}
.pf-niche-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.pf-niche-h b{display:block;font-family:var(--serif);font-size:15px;color:var(--ink)}
.pf-niche-h span{font-size:12px;color:var(--muted)}
.pf-niche-stats{display:flex;gap:18px;margin-bottom:11px}
.pf-niche-stats>div{display:flex;flex-direction:column}
.pf-niche-stats b{font-family:var(--mono);font-size:18px;color:var(--ink);line-height:1}
.pf-niche-stats span{font-size:10.5px;color:var(--muted);margin-top:3px}
.pf-niche-cov{font-size:11px;color:var(--muted);margin-top:7px}

/* client portal — Explore (top-of-funnel niche proposals + requests) */
.pf-exp-intro{padding:16px 18px}
.pf-exp{display:flex;flex-direction:column;padding:16px 17px;transition:.18s}
.pf-exp.dim{opacity:.55}
.pf-exp-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.pf-exp-h b{display:block;font-family:var(--serif);font-size:15.5px;color:var(--ink);line-height:1.2}
.pf-exp-h span{font-size:11.5px;color:var(--muted)}
.pf-exp-thesis{font-size:13px;color:var(--txt);line-height:1.5;margin:0 0 11px}
.pf-exp-why{display:flex;align-items:flex-start;gap:7px;font-size:11.5px;color:var(--muted);line-height:1.45;
  background:var(--accent-soft);border-radius:8px;padding:8px 10px;margin-bottom:13px}
.pf-exp-why svg{width:14px;height:14px;fill:none;stroke:var(--accent);stroke-width:2;flex-shrink:0;margin-top:1px}
.pf-exp-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;
  padding-top:12px;border-top:1px solid var(--line)}
.pf-exp-mapped{font-size:11px;color:var(--faint);font-family:var(--mono)}
.pf-exp-act{display:flex;align-items:center;gap:7px}
.pf-int-btn{font-size:12px;font-weight:600;padding:6px 13px;border-radius:8px;cursor:pointer;transition:.16s;border:1px solid var(--line2);background:var(--panel);color:var(--muted)}
.pf-int-btn.up:hover{background:#E3F3EE;border-color:#1E8A6E;color:#1E8A6E}
.pf-int-btn.down:hover{background:#F3F0F4;border-color:#8A7C90;color:#6A5F72}
.pf-int-ack{font-size:11.5px;font-weight:600}
.pf-int-ack.up{color:#1E8A6E}.pf-int-ack.down{color:var(--muted)}
.pf-int-undo{font-size:11px;color:var(--accent);background:none;border:none;cursor:pointer;padding:2px 4px}
.pf-int-undo:hover{text-decoration:underline}
/* Explore — request an area */
.pf-req{padding:18px 20px}
.pf-req-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pf-req-seg{display:inline-flex;border:1px solid var(--line2);border-radius:9px;overflow:hidden}
.pf-req-seg button{font-size:12px;font-weight:600;padding:9px 14px;border:none;background:var(--panel);color:var(--muted);cursor:pointer;transition:.15s}
.pf-req-seg button.on{background:var(--accent-soft);color:var(--accent)}
.pf-req-in{flex:1 1 200px;min-width:160px;background:#fff;border:1px solid var(--line2);border-radius:9px;padding:10px 13px;font-size:13px;color:var(--txt)}
.pf-req-in:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(30,99,224,.12)}
.pf-req-list{margin-top:16px;border-top:1px solid var(--line);padding-top:6px}
.pf-req-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.pf-req-row:last-child{border-bottom:none}
.pf-req-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:3px 8px;border-radius:6px;flex-shrink:0}
.pf-req-kind.k-co{background:var(--accent-soft);color:var(--accent)}
.pf-req-kind.k-ni{background:#E9F3F0;color:#0F8A7E}
.pf-req-body{flex:1;min-width:0}
.pf-req-body b{display:block;font-size:13.5px;color:var(--ink)}
.pf-req-body span{font-size:12px;color:var(--muted)}
.pf-req-status{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;flex-shrink:0}
.pf-req-status.rs-received{background:var(--accent-soft);color:var(--accent)}
.pf-req-status.rs-reviewing{background:#FBF1DD;color:#B5862B}
.pf-req-status.rs-mapping{background:#E9F3F0;color:#0F8A7E}
.pf-req-when{font-size:11px;color:var(--faint);flex-shrink:0}

/* client portal — activity feed */
.pf-feed{margin-bottom:14px}
.pf-feed-row{display:flex;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid var(--line)}
.pf-feed-row:last-child{border-bottom:none}
.pf-feed-ic{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line)}
.pf-feed-ic svg{width:15px;height:15px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pf-feed-ic.ff-doc svg,.pf-feed-ic.ff-stage svg{stroke:var(--ok)}
.pf-feed-ic.ff-meeting svg{stroke:#7A3EA8}
.pf-feed-text{flex:1;font-size:13px;color:var(--txt)}
.pf-feed-when{font-size:11px;color:var(--faint);font-family:var(--mono);white-space:nowrap}

/* client portal — mandate-fit feedback */
.pf-fit{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.pf-fit-q{font-size:11.5px;color:var(--muted)}
.pf-fit-btn{width:30px;height:28px;border-radius:8px;border:1px solid var(--line2);background:var(--panel);cursor:pointer;display:grid;place-items:center;transition:.12s}
.pf-fit-btn svg{width:15px;height:15px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pf-fit-btn:hover{border-color:var(--accent)}
.pf-fit-btn.up{background:rgba(46,125,91,.12);border-color:var(--ok)}
.pf-fit-btn.up svg{stroke:var(--ok)}
.pf-fit-btn.down{background:rgba(178,58,58,.1);border-color:var(--bad)}
.pf-fit-btn.down svg{stroke:var(--bad)}
.pf-fit-ack{font-size:11px;color:var(--ok);font-weight:600}

/* client portal — awaiting access */
.pf-await{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;margin-bottom:8px}
.pf-await-body{flex:1;min-width:0}
.pf-await-body b{display:block;font-size:13px;color:var(--ink)}
.pf-await-body span{display:block;font-size:11.5px;color:var(--muted)}

/* quotes — live calculator */
.qslider{width:100%;accent-color:var(--accent);cursor:pointer}
.qcalc{margin-top:14px;background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:12px 15px}
.qcalc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 0;font-size:13px;color:var(--txt)}
.qcalc-row span{color:var(--muted)}
.qcalc-row b{font-family:var(--mono)}
.qcalc-row.total{border-top:1px solid var(--line);margin-top:4px;padding-top:9px;font-weight:600;color:var(--ink)}
.qcalc-row.total b{font-size:16px;color:var(--ink)}
.qcalc-row.weighted b{color:var(--accent)}
/* quotes — stage funnel */
.qfunnel{display:flex;gap:6px;margin:16px 0 4px;overflow-x:auto;padding-bottom:4px}
.qfunnel-step{position:relative;flex:1;min-width:110px;background:var(--panel);border:1px solid var(--line);
  border-radius:10px;padding:11px 12px;cursor:pointer;transition:.14s}
.qfunnel-step:hover{border-color:var(--line2)}
.qfunnel-step.on{border-color:var(--accent);background:rgba(30,99,224,.05)}
.qfunnel-step.dim{opacity:.5}
.qf-count{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--ink);line-height:1}
.qf-stage{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.25}
.qf-val{font-size:10.5px;font-family:var(--mono);color:var(--accent);margin-top:3px}
.qf-arrow{position:absolute;right:-11px;top:50%;transform:translateY(-50%);width:16px;height:16px;
  fill:none;stroke:var(--line2);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;z-index:1}

/* mandate intake */
.intake-sec{margin-bottom:13px}
.intake-sec .section-h{color:var(--accent)}
.intake-done{text-align:center;padding:34px 28px;max-width:640px;margin:20px auto}
.intake-done-ic{width:56px;height:56px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;
  background:rgba(46,125,91,.12)}
.intake-done-ic svg{width:28px;height:28px;fill:none;stroke:var(--ok);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.intake-done h3{font-family:var(--serif);font-size:20px;color:var(--ink);margin-bottom:8px}
.intake-done p{font-size:13.5px;color:var(--muted);line-height:1.6;max-width:460px;margin:0 auto}
.intake-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;text-align:left}
.intake-summary>div{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.intake-summary span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--faint)}
.intake-summary b{display:block;font-size:13px;color:var(--ink);margin-top:3px}
@media(max-width:640px){.intake-summary{grid-template-columns:1fr 1fr}}

/* deal workspace — cockpit header on the target record */
.dw-head{padding:16px 18px;margin-bottom:14px}
.dw-stages{display:flex;align-items:flex-start;justify-content:space-between;position:relative;margin-bottom:16px}
.dw-stages::before{content:"";position:absolute;top:11px;left:6%;right:6%;height:2px;background:var(--line);z-index:0}
.dw-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}
.dw-dot{width:24px;height:24px;border-radius:50%;background:var(--panel);border:2px solid var(--line2);
  display:grid;place-items:center;transition:.15s}
.dw-dot svg{width:13px;height:13px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.dw-stage.done .dw-dot{background:var(--accent);border-color:var(--accent)}
.dw-stage.on .dw-dot{border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 4px var(--accent-soft)}
.dw-lbl{font-size:11px;font-weight:600;color:var(--muted);text-align:center}
.dw-stage.done .dw-lbl,.dw-stage.on .dw-lbl{color:var(--ink)}
.dw-ctx{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;border-top:1px solid var(--line);padding-top:14px}
.dw-c span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--faint)}
.dw-c b{display:block;font-size:12.5px;color:var(--ink);margin-top:3px;line-height:1.3}
.dw-c b.ok{color:var(--ok)}
.dw-c.click:hover b{color:var(--accent)}
.dw-next{grid-column:span 2}
@media(max-width:900px){.dw-ctx{grid-template-columns:repeat(3,1fr)}.dw-next{grid-column:span 3}.dw-lbl{display:none}}

/* client portal white-label + notifications */
.pb-cobrand{display:flex;align-items:center;gap:10px}
.pb-mark{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;font-weight:700;
  font-size:13px;color:#fff;background:linear-gradient(135deg,#3257A8,#1E63E0)}
.pb-x{color:var(--faint);font-size:15px}
.pb-clientmark{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;font-weight:700;
  font-size:12px;color:#fff}
.pb-bell{position:relative;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;cursor:pointer;
  background:var(--panel);border:1px solid var(--line2);color:var(--muted)}
.pb-bell:hover{color:var(--ink);border-color:var(--accent)}
.pb-bell svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pb-bell-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;
  background:var(--accent);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;font-family:var(--mono)}
.pb-notif-scrim{position:fixed;inset:0;z-index:60}
.pb-notif-pop{position:absolute;top:46px;right:0;width:320px;max-width:86vw;z-index:61;background:var(--panel);
  border:1px solid var(--line2);border-radius:12px;box-shadow:0 14px 40px rgba(14,22,38,.18);overflow:hidden;text-align:left}
.pb-notif-head{padding:11px 14px;border-bottom:1px solid var(--line);font-size:14px}
.pb-notif-item{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);align-items:flex-start}
.pb-notif-item>div{flex:1;min-width:0}
.pb-notif-item span{display:block;font-size:12.5px;color:var(--txt);line-height:1.35}
.pb-notif-item i{font-size:10.5px;color:var(--faint);font-family:var(--mono);font-style:normal}
.pb-feed-ic{width:28px;height:28px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line)}
.pb-feed-ic svg{width:14px;height:14px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pb-notif-digest{display:flex;align-items:center;gap:8px;padding:11px 14px;font-size:12px;color:var(--muted);cursor:pointer}
.pb-notif-digest input{width:15px;height:15px;accent-color:var(--accent)}

/* ===================== Redesign chrome — royal-blue shell (Figma match) ===================== */
:root{--rail:#1E63E0;--rail-active:#16305F;--rail-line:rgba(255,255,255,.14);--rail-line2:rgba(255,255,255,.26);--rail-soft:rgba(255,255,255,.12);--rail-muted:#C6D8FA;--rail-txt:#EAF1FD}
/* sidebar shell → royal blue */
.sidebar{background:var(--rail);border-right:1px solid var(--rail-line)}
.sidebar .brand{border-bottom:1px solid var(--rail-line)}
.sidebar .brand-text span{color:var(--rail-muted)}
.sidebar .nav-item{color:#E4ECFB}
.sidebar .nav-item:hover{background:var(--rail-soft);color:#fff}
.sidebar .nav-item.active{background:var(--rail-active);color:#fff}
.sidebar .nav-sep{color:rgba(255,255,255,.55)}
.sidebar .nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22)}
.sidebar .rail-foot,.sidebar .side-foot{border-top:1px solid var(--rail-line)}
.sidebar .acting-lbl,.sidebar .fm-label{color:var(--rail-muted)}
.sidebar .acting select{background:var(--rail-soft);border:1px solid var(--rail-line2);color:var(--rail-txt)}
.sidebar .fm-seg{background:rgba(0,0,0,.16);border:1px solid var(--rail-line2)}
.sidebar .fm-seg button{color:var(--rail-muted)}
.sidebar .fm-seg button:hover{color:#fff}
.sidebar .reset-btn{color:var(--rail-muted);border:1px solid var(--rail-line2)}
.sidebar .reset-btn:hover{color:#fff;background:var(--rail-soft);border-color:rgba(255,255,255,.35)}
.sidebar .rail-user{border-top:1px solid var(--rail-line)}
.sidebar .avatar{background:rgba(255,255,255,.18)}
.sidebar .user-meta b{color:#fff}
.sidebar .user-meta span{color:var(--rail-muted)}
.sidebar .logout{color:var(--rail-muted);border:1px solid var(--rail-line2)}
.sidebar .logout:hover{color:#fff;background:var(--rail-soft);border-color:rgba(255,255,255,.35)}
/* top bar → royal blue, light-inverted content */
.topbar{background:var(--rail);border-bottom:1px solid rgba(255,255,255,.2)}
.topbar .crumbs{color:var(--rail-muted)}
.topbar .crumbs b{color:#fff}
.topbar .crumbs a{color:#DCE7FB}
.topbar .crumbs .sep{color:#9FBBF0}
.topbar .search input{background:var(--rail-soft);border:1px solid var(--rail-line2);color:#fff}
.topbar .search input::placeholder{color:var(--rail-muted)}
.topbar .search input:focus{border-color:rgba(255,255,255,.5)}
.topbar .theme-toggle{background:var(--rail-soft);border:1px solid var(--rail-line2);color:var(--rail-txt)}
.topbar .theme-toggle:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.topbar .nav-toggle{background:var(--rail-soft);border:1px solid var(--rail-line2);color:var(--rail-txt)}
.topbar .nav-toggle:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.topbar .search-clr{color:var(--rail-muted)}
.topbar .search-clr:hover{color:#fff}
/* niche traffic-light triage */
.ncv-status{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.nstat{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:4px 11px;border-radius:20px;font-size:11.5px;font-weight:600}
.nstat .dot{width:7px;height:7px;border-radius:50%}
.ns-ok{background:#E7F5EF;color:#0E7A54}.ns-ok .dot{background:#0E9F6E}
.ns-warn{background:#FBF1E3;color:#9A6410}.ns-warn .dot{background:#D08700}
.ns-bad{background:#FBEAEA;color:#B4231E}.ns-bad .dot{background:#E02424}
.nplat{font-size:12.5px;color:var(--txt);font-weight:500}
.nplat.muted{color:var(--muted);font-weight:400}
/* team & assignment */
.tm-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line);font-size:13px}
.tm-row:last-child{border-bottom:none}
.tm-head{padding:8px 2px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.tm-head span{color:var(--faint)}
.tm-n{flex:.8;display:flex;justify-content:flex-end;text-align:right}
.tm-av{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:600;flex-shrink:0}
.tm-stack{margin-right:-8px;box-shadow:0 0 0 2px var(--panel)}
.tm-id{display:flex;flex-direction:column;line-height:1.25}
.tm-id small{color:var(--muted);font-size:11.5px}
.tm-cov{background:#E7F5EF;color:#0E7A54;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}
.tm-cap{flex:1;max-width:96px;height:8px;border-radius:5px;background:var(--panel2);overflow:hidden}
.tm-cap-fill{display:block;height:100%;border-radius:5px}
.cap-warn{background:#C77700}.cap-accent{background:#1E63E0}.cap-ok{background:#0E9F6E}
/* daily brief — who to work today + mandate coverage */
.wt-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);padding:11px 2px;cursor:pointer;font-family:inherit}
.wt-row:last-of-type{border-bottom:none}
.wt-row:hover{background:var(--panel2)}
.wt-bar{width:3px;height:34px;border-radius:3px;flex-shrink:0}
.wt-av{width:34px;height:34px;border-radius:9px;background:var(--panel2);color:var(--muted);display:grid;place-items:center;font-size:11px;font-weight:600;flex-shrink:0}
.wt-id{flex:1;display:flex;flex-direction:column;min-width:0;line-height:1.3}
.wt-id b{font-size:13px;color:var(--ink)}
.wt-id small{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wt-when{font-size:11px;color:var(--faint);white-space:nowrap}
.wt-score{font-size:13px;font-weight:600;color:var(--faint);font-family:var(--mono);min-width:24px;text-align:right}
.wt-tag{font-size:11px;font-weight:600;padding:5px 11px;border-radius:20px;white-space:nowrap;background:var(--accent-soft);color:var(--accent)}
.wt-rating{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:#EEF1F7;flex-shrink:0}
.r-Ap{color:#0E7A54}.r-A{color:#1E63E0}.r-B{color:#6E767E}
.ra-row{display:flex;align-items:flex-start;gap:11px;padding:10px 2px;border-bottom:1px solid var(--line)}
.ra-row:last-child{border-bottom:none}
.ra-ic{width:30px;height:30px;border-radius:8px;background:var(--panel2);color:var(--muted);display:grid;place-items:center;font-size:13px;flex-shrink:0}
.ra-id{flex:1;display:flex;flex-direction:column;line-height:1.35;min-width:0}
.ra-id b{font-size:13px;color:var(--ink)}
.ra-id small{font-size:11.5px;color:var(--muted)}
.ra-when{font-size:11px;color:var(--faint);white-space:nowrap;margin-top:2px}
/* sidebar mandate switcher */
.rail-switch{position:relative;margin:0 12px 8px;padding:9px 11px;border-radius:9px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18)}
.rs-label{font-size:9px;letter-spacing:.6px;color:#CFE0FA;font-weight:600;margin-bottom:5px}
.rs-btn{display:flex;align-items:center;gap:8px;color:#FBFCFE;font-size:13px;font-weight:600;cursor:pointer}
.rs-grid{width:16px;height:16px;fill:none;stroke:#FBFCFE;stroke-width:1.7;flex-shrink:0}
.rs-chev{width:15px;height:15px;fill:none;stroke:#CFE0FA;stroke-width:2;margin-left:auto;flex-shrink:0;transition:transform .15s}
.rs-meta{font-size:11.5px;color:#BBD0F5;margin-top:5px}
.rs-menu{position:absolute;top:100%;left:0;right:0;margin-top:6px;z-index:60;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 36px -10px rgba(6,16,40,.30);padding:6px}
.rs-sec{font-size:9px;letter-spacing:.5px;color:var(--faint);font-weight:600;padding:7px 9px 4px}
.rs-item{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:7px;cursor:pointer;color:var(--txt);font-size:13px;font-weight:600}
.rs-item:hover{background:var(--panel2)}
.rs-item.on{background:var(--accent-soft)}
.rs-mi{width:18px;height:18px;fill:none;stroke:var(--accent);stroke-width:1.8;flex-shrink:0}
.rs-mt{flex:1}
.rs-ck{color:var(--accent);font-weight:700}
.rs-av{width:22px;height:22px;border-radius:6px;background:#E7ECF5;color:#4B5870;display:grid;place-items:center;font-size:10px;font-weight:600;flex-shrink:0}
.rs-cnt{font-size:11px;color:var(--muted);background:var(--panel2);padding:1px 7px;border-radius:10px;font-family:var(--mono)}
.rs-div{height:1px;background:var(--line);margin:5px 9px}
.rs-item.rs-accent{color:var(--accent)}
.rs-plus{width:22px;height:22px;border-radius:6px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:14px;flex-shrink:0}
/* targets table — owner / stage / rating */
.tgt-owner{display:flex;align-items:center;gap:8px}
.tgt-oav{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:600;flex-shrink:0}
.stage-pill{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;background:#EEF1F7;color:var(--muted)}
.st-diligence{background:#E7F5EF;color:#0E7A54}
.st-ioi{background:#E8EFFC;color:#1E63E0}
.st-nda{background:#F0EBFA;color:#6D5BD0}
.st-contacted{background:#FBF1E3;color:#9A6410}
.st-sourced{background:#EEF1F7;color:#6E767E}
.rate-pill{display:inline-block;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;background:#EEF1F7}
/* pipeline kanban cards (Figma) */
.kc-hd{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.kc-av{width:28px;height:28px;border-radius:7px;background:var(--panel2);color:var(--muted);display:grid;place-items:center;font-size:10px;font-weight:600;flex-shrink:0}
.kc-co{font-size:13px;color:var(--ink);line-height:1.25;font-weight:600}
.kc-chips{display:flex;gap:6px;margin-bottom:12px}
.kc-state{font-size:11px;font-weight:600;color:var(--muted);background:var(--panel2);padding:3px 8px;border-radius:6px}
.kc-ft{display:flex;align-items:center;justify-content:space-between;gap:8px}
.kc-ev{font-size:13px;color:var(--ink);font-weight:500}
.kc-tag{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:20px}
.kt-new{background:#EEF1F7;color:#6E767E}
.kt-age{background:#FBF1E3;color:#9A6410}
.kt-sent{background:#FBF1E3;color:#9A6410}
.kt-done{background:#E7F5EF;color:#0E7A54}
.kcol-dot{width:8px;height:8px;border-radius:50%;background:var(--faint);display:inline-block;margin-right:3px;flex-shrink:0}
.kd-nda{background:#D08700}.kd-ioi{background:#0E9F6E}.kd-diligence{background:#0E9F6E}
/* clients cards (Figma) */
.client-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cl-card{cursor:pointer;transition:.15s}
.cl-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.cl-hd{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.cl-av{width:38px;height:38px;border-radius:9px;background:var(--panel2);color:var(--muted);display:grid;place-items:center;font-size:12px;font-weight:600;flex-shrink:0}
.cl-id{flex:1;display:flex;flex-direction:column;line-height:1.3;min-width:0}
.cl-id b{font-size:15px;color:var(--ink)}
.cl-id small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.cl-crit{font-size:12.5px;color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.cl-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cl-tile{background:var(--panel2);border-radius:8px;padding:11px 12px}
.cl-tl{font-size:11px;color:var(--muted);margin-bottom:4px}
.cl-tv{font-size:20px;font-weight:600;color:var(--ink);font-family:var(--mono)}
.cl-add{display:flex;align-items:center;gap:12px;justify-content:center;padding:20px;border:1.5px dashed var(--line2);border-radius:12px;margin-top:14px;cursor:pointer}
.cl-add:hover{border-color:var(--accent)}
.cl-add:hover .cl-add-ic,.cl-add:hover b{color:var(--accent)}
.cl-add-ic{width:32px;height:32px;border-radius:8px;background:var(--panel2);color:var(--muted);display:grid;place-items:center;font-size:18px}
.cl-add b{color:var(--ink);font-size:13px;display:block}
.cl-add small{font-size:11.5px;color:var(--muted)}
.warm-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:middle}
.wd-warm{background:#0E9F6E}.wd-cool{background:#8A97AC}
.mc-row{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line);cursor:pointer}
.mc-row:last-child{border-bottom:none}
.mc-av{width:32px;height:32px;border-radius:8px;background:var(--panel2);color:var(--muted);display:grid;place-items:center;font-size:11px;font-weight:600;flex-shrink:0}
.mc-id{display:flex;flex-direction:column;line-height:1.3}
.mc-id b{font-size:13px;color:var(--ink)}
.mc-id small{font-size:11.5px;color:var(--muted)}

/* Quotes — Figma fee-proposals card */
.q-av{width:30px;height:30px;border-radius:8px;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:0 0 auto}
.qpill{display:inline-block;padding:3px 11px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}
.qp-Accepted{background:#E7F5EF;color:#0E7A5F}
.qp-Sent{background:#E8EFFB;color:#2B5FB3}
.qp-Approved{background:#EAF6EE;color:#1E8A4C}
.qp-Approval{background:#FBF1E0;color:#B5791E}
.qp-Draft{background:#EEF0F3;color:#5A6472}
.qp-Declined{background:#F7E9E9;color:#B23A3A}

/* Commercials — muted roll-up mini-tiles */
.cx-mini{padding:14px 16px;background:var(--panel2)}
.cx-mini .sb-label{font-size:11.5px;color:var(--muted)}
.cx-val{font-family:var(--mono);font-size:20px;font-weight:700;color:var(--ink);margin-top:4px}

/* Outreach — Sequences queue (Figma) */
.oq-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;margin-top:16px;align-items:start}
.oq-hd{display:flex;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line)}
.oq-hd b{font-size:14px;color:var(--ink)}
.oq-list{display:flex;flex-direction:column}
.oq-row{display:flex;align-items:center;gap:12px;padding:13px 18px 13px 15px;border-bottom:1px solid var(--line);border-left:3px solid transparent;cursor:pointer}
.oq-row:last-child{border-bottom:none}
.oq-row:hover{background:var(--panel2)}
.oq-row.lb-call{border-left-color:#C77700}
.oq-row.lb-email{border-left-color:#1E63E0}
.oq-row.lb-sms{border-left-color:#0E9F6E}
.oq-row.paused{border-left-color:transparent;cursor:default}
.oq-row.paused:hover{background:transparent}
.oq-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:var(--panel2);color:var(--muted)}
.oq-ic svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9}
.oq-ic.ch-call{background:#FBEEDD;color:#B26A00}
.oq-ic.ch-email{background:#E8EFFB;color:#1E63E0}
.oq-ic.ch-sms{background:#E4F5EE;color:#0E7A5F}
.oq-av{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:var(--panel2);color:var(--muted);font-size:11px;font-weight:700}
.oq-body{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}
.oq-body b{font-size:13.5px;color:var(--ink)}
.oq-body span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oq-due{font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;background:#FBF1E0;color:#B5791E;white-space:nowrap}
.oq-due.over{background:#F7E9E9;color:#B23A3A}
.oq-due.paused{background:#EEF0F3;color:#5A6472}
.oq-side{display:flex;flex-direction:column;gap:16px}
.oq-cad{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid var(--line)}
.oq-cad:last-child{border-bottom:none}
.oq-cad-id{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}
.oq-cad-id b{font-size:13px;color:var(--ink)}
.oq-cad-id span{font-size:11.5px;color:var(--muted)}
.oq-reply{font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;background:#E8EFFB;color:#2B5FB3;white-space:nowrap}
.oq-reply.muted{background:#EEF0F3;color:#8A94A3}
@media(max-width:900px){.oq-grid{grid-template-columns:1fr}}

/* Data Room — managed DD dashboard (Figma) */
.dr-frow{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line)}
.dr-frow:last-child{border-bottom:none}
.dr-fic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:#EEF2FB;color:#1E63E0}
.dr-fic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.dr-fstat{font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;white-space:nowrap}
.dr-fstat.fs-done{background:#E7F5EF;color:#0E7A5F}
.dr-fstat.fs-prog{background:#FBF1E0;color:#B5791E}
.dr-fstat.fs-none{background:#EEF0F3;color:#5A6472}
.dr-rel{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line);cursor:pointer}
.dr-rel:last-child{border-bottom:none}
.dr-rel:hover{background:var(--panel2)}
.dr-rel-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:var(--panel2);color:var(--muted)}
.dr-rel-ic svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}
.dr-chk{display:flex;align-items:center;gap:11px;padding:9px 18px}
.dr-chk-ic{width:18px;height:18px;border-radius:50%;flex:0 0 auto;border:1.5px solid var(--line);display:grid;place-items:center;background:var(--panel)}
.dr-chk-ic.done{background:#12A150;border-color:#12A150}
.dr-chk-ic svg{width:11px;height:11px;fill:none;stroke:#fff;stroke-width:2.4}
.dr-chk-item{flex:1;min-width:0;font-size:13px;color:var(--ink)}
.dr-chk-st{font-size:11.5px;font-weight:600;white-space:nowrap}
.dr-chk-st.ok{color:#0E7A5F}
.dr-chk-st.out{color:#98A2B3}
.dr-chk:last-child{padding-bottom:16px}
.dr-act2{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line)}
.dr-act2:last-child{border-bottom:none}

/* Target cockpit — Figma header row */
.cr-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.cr-tb-id{display:flex;align-items:center;gap:14px;min-width:0}
.cr-tb-av{width:46px;height:46px;border-radius:12px;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex:0 0 auto}
.cr-tb-name{font-size:22px;font-weight:700;color:var(--ink);line-height:1.15;display:flex;align-items:center}
.cr-tb-sub{font-size:13px;color:var(--muted);margin-top:3px}

/* Governance — oversight dashboard (Figma) */
.lvl-pill{font-family:var(--mono);font-size:10.5px;font-weight:600;color:#3257A8;background:#E8EFFB;padding:2px 7px;border-radius:6px;letter-spacing:.02em}
.gv-row{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line)}
.gv-row:last-child{border-bottom:none}
.gv-time{font-family:var(--mono);font-size:11.5px;color:var(--muted);white-space:nowrap}
.gv-conn{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line)}
.gv-conn:last-child{border-bottom:none}
.gv-cic{width:34px;height:34px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center;background:var(--panel2);color:var(--muted);font-size:11px;font-weight:700}
.gv-on{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#0E7A5F;white-space:nowrap}
.gv-dot{width:7px;height:7px;border-radius:50%;background:#12A150}

/* Portal branding — white-label configurator */
.bd-grid{display:grid;grid-template-columns:400px 1fr;gap:18px;align-items:start}
.bd-mode{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 14px;border:1.5px solid var(--line);border-radius:11px;background:var(--panel);cursor:pointer;margin-top:10px}
.bd-mode:first-of-type{margin-top:4px}
.bd-mode.on{border-color:#12A150;background:#F2FBF6}
.bd-mode b{display:block;font-size:13.5px;color:var(--ink)}
.bd-mode span:not(.bd-radio){font-size:12px;color:var(--muted)}
.bd-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);flex:0 0 auto;position:relative}
.bd-mode.on .bd-radio{border-color:#12A150}
.bd-mode.on .bd-radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:#12A150}
.bd-logo{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.bd-mark{width:44px;height:44px;border-radius:11px;color:#fff;display:grid;place-items:center;font-size:18px;font-weight:700;flex:0 0 auto}
.bd-llabel{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.bd-lname{font-size:12.5px;color:var(--ink);font-family:var(--mono)}
.bd-flabel{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:10px 0 5px}
.bd-soon{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#8a6a1f;background:#F5ECD5;border:1px solid #e6d5a8;border-radius:20px;padding:3px 9px;white-space:nowrap}
.bd-input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:13.5px;color:var(--ink);background:var(--panel);font-family:inherit}
.bd-input:disabled{background:var(--panel2)}
.bd-cname{font-size:11px;font-weight:600;color:#0E7A5F;background:#E7F5EF;padding:2px 9px;border-radius:20px}
.bd-swatches{display:flex;align-items:center;gap:9px;margin-top:6px}
.bd-sw{width:36px;height:36px;border-radius:9px;border:none;cursor:pointer;display:grid;place-items:center;flex:0 0 auto}
.bd-sw svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.6}
.bd-sw.on{box-shadow:0 0 0 2px var(--panel),0 0 0 4px currentColor}
.bd-hex{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-left:auto}
.bd-pvlabel{font-size:12.5px;color:var(--muted);margin-bottom:9px}
.bd-pvlabel a{color:#1E63E0;font-weight:600}
.bd-browser{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 8px 30px rgba(16,24,40,.08)}
.bd-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:#F1F3F6;border-bottom:1px solid var(--line)}
.bd-tl{width:11px;height:11px;border-radius:50%;flex:0 0 auto}
.bd-url{display:flex;align-items:center;gap:7px;margin-left:10px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:4px 11px;font-size:12px;color:#475467;flex:1}
.bd-url svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8}
.bd-portal-hd{display:flex;align-items:center;gap:14px;padding:20px 24px;color:#fff}
.bd-phmark{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:15px;font-weight:700;flex:0 0 auto}
.bd-phname{font-size:17px;font-weight:700;letter-spacing:.08em;display:flex;flex-direction:column;line-height:1.1}
.bd-phname span{font-size:9px;font-weight:600;letter-spacing:.14em;opacity:.8;margin-top:3px}
.bd-phnav{display:flex;gap:20px;margin-left:auto;font-size:12.5px;opacity:.92}
.bd-phav{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:11px;font-weight:700;margin-left:18px;flex:0 0 auto}
.bd-portal-body{padding:22px 24px 18px;background:#F7F9FB}
.bd-welcome{font-size:16px;color:#101828}
.bd-wsub{font-size:12.5px;color:#667085;margin:3px 0 15px}
.bd-ptiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.bd-pt{background:#fff;border:1px solid #E4E7EC;border-radius:10px;padding:13px 14px}
.bd-pt b{font-size:22px;font-weight:700;display:block;line-height:1}
.bd-pt span{font-size:11.5px;color:#667085;margin-top:5px;display:block}
.bd-prow{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #E4E7EC;border-left:3px solid;border-radius:10px;padding:14px 16px}
.bd-pav{width:34px;height:34px;border-radius:8px;background:#EEF2F6;color:#475467;display:grid;place-items:center;font-size:12px;font-weight:700;flex:0 0 auto}
.bd-prow b{font-size:13.5px;color:#101828;display:flex;align-items:center;gap:9px}
.bd-first{font-size:10.5px;font-weight:600;color:#fff;padding:2px 8px;border-radius:20px}
.bd-psub{font-size:12px;color:#667085;margin-top:3px}
.bd-review{border:none;color:#fff;font-size:12.5px;font-weight:600;padding:8px 16px;border-radius:8px;cursor:pointer;flex:0 0 auto}
.bd-pfoot{display:flex;justify-content:space-between;font-size:11px;color:#98A2B3;margin-top:16px}
@media(max-width:1000px){.bd-grid{grid-template-columns:1fr}}

/* Company profile — Firecrawl-enriched (Figma) */
.pf-web{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:#1E63E0;font-family:var(--serif)}
.pf-web svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9}
.pf-banner{display:flex;align-items:center;gap:13px;background:#EEF4FF;border:1px solid #D6E4FF;border-radius:12px;padding:13px 18px;margin-bottom:16px}
.pf-bic{width:34px;height:34px;border-radius:9px;background:#1E63E0;color:#fff;display:grid;place-items:center;flex:0 0 auto}
.pf-bic svg{width:17px;height:17px;fill:currentColor;stroke:none}
.pf-banner b{font-size:13.5px;color:var(--ink);display:block}
.pf-banner>div span{font-size:12px;color:#475467}
.pf-cov{font-size:12.5px;font-weight:600;color:#0E7A5F;white-space:nowrap}
.pf-sources{font-size:12.5px;font-weight:600;color:#1E63E0;white-space:nowrap;cursor:pointer}
.pf-sh{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.pf-sh b{font-size:14px;color:var(--ink)}
.pf-path{font-family:var(--mono);font-size:11px;color:#98A2B3;background:var(--panel2);padding:2px 7px;border-radius:6px}
.pf-copy{font-size:13.5px;line-height:1.6;color:var(--ink-soft,#344054);margin:0 0 14px}
.pf-chips{display:flex;flex-wrap:wrap;gap:8px}
.pf-chip{font-size:12.5px;color:var(--ink);background:var(--panel2);border:1px solid var(--line);padding:6px 11px;border-radius:8px}
.pf-loc{display:flex;align-items:center;gap:12px;padding:13px 18px;border-top:1px solid var(--line)}
.pf-pin{width:32px;height:32px;border-radius:9px;background:var(--panel2);color:var(--muted);display:grid;place-items:center;flex:0 0 auto}
.pf-pin svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}
.pf-ltag{font-size:11px;font-weight:600;color:#5A6472;background:var(--panel2);padding:4px 10px;border-radius:20px;white-space:nowrap}
.pf-accs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pf-acc{display:flex;align-items:flex-start;gap:10px;background:#F2FBF6;border:1px solid #CFEEDE;border-radius:10px;padding:13px}
.pf-acc-ic{width:26px;height:26px;border-radius:7px;background:#12A150;color:#fff;display:grid;place-items:center;flex:0 0 auto}
.pf-acc-ic svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9}
.pf-acc b{font-size:13px;color:#0E7A5F;display:block}
.pf-acc span{font-size:11.5px;color:#3F7A63}
.pf-fm{display:flex;align-items:center;justify-content:space-between;padding:11px 18px;border-top:1px solid var(--line)}
.pf-fm-k{font-size:13px;color:var(--muted)}
.pf-fm-v{font-size:13.5px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:8px}
.pf-src{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto}
.pf-src.sc{background:#12A150}
.pf-src.md{background:#E0A100}
.pf-legend{display:flex;align-items:center;gap:6px;padding:12px 18px 16px;font-size:11.5px;color:var(--muted);border-top:1px solid var(--line)}
.pf-person{display:flex;align-items:center;gap:12px;padding:11px 18px;border-top:1px solid var(--line)}
.pf-more{display:block;padding:13px 18px;border-top:1px solid var(--line);font-size:12.5px;font-weight:600;color:#1E63E0;cursor:pointer}
.pf-kw{font-size:12px;color:#3257A8;background:#E8EFFB;padding:5px 11px;border-radius:20px}

/* Client detail — Figma */
.cd-tier{font-size:11.5px;font-weight:600;color:#0E7A5F;background:#E7F5EF;padding:3px 11px;border-radius:20px}
.pf-fromintake{margin-left:auto;font-size:12px;font-weight:600;color:#1E63E0;cursor:pointer}
.cd-crit{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}
.cd-crit:first-of-type{border-top:none}
.cd-crit-k{font-size:12.5px;color:var(--muted)}
.cd-crit-v{font-size:13px;color:var(--ink);text-align:right}
.cd-niche{display:flex;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--line);cursor:pointer}
.cd-niche:hover{background:var(--panel2)}
.cd-nav{width:32px;height:32px;border-radius:8px;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;flex:0 0 auto}
.cd-opps{font-size:11px;font-weight:600;color:#3257A8;background:#E8EFFB;padding:4px 10px;border-radius:20px;white-space:nowrap}
.cd-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line)}
.cd-more{display:block;width:100%;border:none;background:none;color:var(--accent,#1E63E0);font-size:12px;font-weight:600;padding:7px 4px 2px;cursor:pointer;text-align:center}
.cd-more:hover{text-decoration:underline}
.cd-col{background:var(--panel2);padding:12px 12px 16px}
.cd-col-hd{display:flex;justify-content:space-between;font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--muted);padding:4px 4px 10px}
.cd-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:11px 12px;margin-bottom:9px;cursor:pointer}
.cd-card:hover{border-color:var(--accent)}
.cd-card b{display:block;font-size:12.5px;color:var(--ink)}
.cd-card span{font-size:11.5px;color:var(--muted)}
.cd-empty{color:var(--muted);text-align:center;padding:14px 0;margin:0}

/* Niche detail — L01→L02→L03 rollup */
.nd-rollup{display:flex;align-items:center;gap:16px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-top:16px}
.nd-rl{display:flex;align-items:center;gap:11px}
.nd-rl div{display:flex;flex-direction:column;line-height:1.3}
.nd-rl b{font-size:13px;color:var(--ink)}
.nd-rl span:not(.lvl-pill){font-size:12px;color:var(--muted)}
.nd-arrow{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.8;flex:0 0 auto}

/* Pipeline health — Figma */
.ph-leak{display:flex;align-items:center;gap:12px;padding:8px 0}
.ph-leak-lbl{width:160px;flex:0 0 auto;font-size:12.5px;color:var(--ink)}
.ph-leak-bar{flex:1;height:26px;border-radius:7px;background:var(--panel2);overflow:hidden}
.ph-leak-bar span{display:flex;align-items:center;height:100%;background:var(--accent);color:#fff;font-size:11px;font-weight:600;padding-left:10px;border-radius:7px;min-width:34px}
.ph-leak-n{width:38px;text-align:right;font-size:12.5px;color:var(--muted);font-family:var(--mono)}
.ph-time{display:flex;align-items:center;justify-content:space-between;padding:11px 18px;border-top:1px solid var(--line)}
.ph-time-k{font-size:13px;color:var(--ink)}
.ph-time-v{font-family:var(--mono);font-size:13px;color:var(--muted)}
.ph-time-v.warm{color:#B5791E}
.ph-time-v.hot{color:#B23A3A}
.ph-needs{font-size:12px;font-weight:600;color:#B23A3A}
.ph-ar{display:flex;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid var(--line);border-left:3px solid transparent}
.ph-ar.lb-age{border-left-color:#C77700}
.ph-ar.lb-hold{border-left-color:#98A2B3}
.ph-ar.lb-hot{border-left-color:#B23A3A}
.ph-artag{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap}
.ph-artag.t-age{background:#FBF1E0;color:#B5791E}
.ph-artag.t-hold{background:#EEF0F3;color:#5A6472}
.ph-artag.t-hot{background:#F7E9E9;color:#B23A3A}
.ph-ardetail{font-size:11.5px;color:var(--muted);margin-top:4px}

/* Data Room — deal-rooms index */
.dr-search{display:flex;align-items:center;gap:7px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:6px 11px;min-width:230px}
.dr-search svg{width:15px;height:15px;flex-shrink:0;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dr-search input{border:none;background:none;outline:none;font-size:13px;color:var(--ink);width:100%}
.drx-row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);cursor:pointer}
.drx-row:last-child{border-bottom:none}
.drx-row:hover{background:var(--panel2)}
.drx-id{flex:1;min-width:150px;display:flex;flex-direction:column;line-height:1.35}
.drx-id b{font-size:13.5px;color:var(--ink)}
.drx-id span{font-size:12px;color:var(--muted)}
.drx-dd{display:flex;align-items:center;gap:8px;width:132px;flex:0 0 auto}
.drx-dd .dr-bar{flex:1;height:6px;background:var(--panel2);border-radius:20px;overflow:hidden}
.drx-pct{font-family:var(--mono);font-size:11.5px;color:var(--muted);width:32px;text-align:right}
.drx-docs{font-size:11.5px;color:var(--muted);width:118px;text-align:right;flex:0 0 auto}
.drx-acc{font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;white-space:nowrap;flex:0 0 auto}
.drx-acc.ga{background:#E7F5EF;color:#0E7A5F}
.drx-acc.gp{background:#FBF1E0;color:#B5791E}
.drx-arrow{width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:2;flex:0 0 auto}

/* Client portal — per-deal room cards */
.pdr-hd{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.pdr-doc{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line)}
.pdr-doc:last-child{border-bottom:none}

/* Mandate niche tagging */
.cd-untagged{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:20px 18px}
.cd-untagged b{font-size:13.5px;color:var(--ink)}
.cd-untagged span{font-size:12.5px;color:var(--muted);line-height:1.5}
.cd-untagged .btn{margin-top:5px}
.tn-sub{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:14px}
.tn-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:11px;overflow:hidden}
.tn-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;background:var(--panel);
        border:none;border-bottom:1px solid var(--line);cursor:pointer;font-family:inherit}
.tn-row:last-child{border-bottom:none}
.tn-row:hover{background:var(--panel2)}
.tn-row.on{background:#F2F7FF}
.tn-check{width:19px;height:19px;border-radius:6px;border:1.5px solid var(--line2,#cbd5e1);flex:0 0 auto;
          display:grid;place-items:center;background:var(--panel)}
.tn-row.on .tn-check{background:#1E63E0;border-color:#1E63E0}
.tn-check svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:2.6}

/* Mandate onboarding lifecycle bar */
.mand-bar{display:flex;flex-direction:column;align-items:stretch;gap:13px;padding:15px 18px;margin-bottom:16px;background:#F7FAFF;border-color:#DCE7FA}
.mand-steps{display:flex;align-items:center;gap:0;flex-wrap:wrap;row-gap:8px}
.mand-step{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.mand-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
          background:var(--panel);border:1.5px solid var(--line);color:var(--muted);font-size:10.5px;font-weight:700}
.mand-dot svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:2.6}
.mand-step.done .mand-dot{background:#12A150;border-color:#12A150;color:#fff}
.mand-step.on .mand-dot{background:#1E63E0;border-color:#1E63E0;color:#fff}
.mand-lbl{font-size:12px;color:var(--muted);white-space:nowrap}
.mand-step.on .mand-lbl{color:var(--ink);font-weight:600}
.mand-step.done .mand-lbl{color:var(--ink)}
.mand-line{flex:1;height:2px;background:var(--line);margin:0 9px;min-width:14px}
.mand-line.done{background:#12A150}
.mand-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #DCE7FA;padding-top:12px}
.mand-hint{font-size:12.5px;color:var(--muted);margin-right:auto}
.qdel-wrap{position:relative;display:inline-block;margin-left:4px}
.qdel.on{color:#B23A3A;border-color:#e3c4c4;background:rgba(178,58,58,.06)}
.qdel-pop{position:absolute;right:0;bottom:calc(100% + 9px);z-index:60;min-width:224px;text-align:left;
  background:var(--surface,#fff);border:1px solid var(--line2);border-radius:12px;padding:13px 14px;
  box-shadow:0 12px 30px rgba(14,22,38,.16);animation:qdel-in .14s ease}
.qdel-pop::after{content:"";position:absolute;right:14px;top:100%;border:7px solid transparent;border-top-color:var(--surface,#fff);filter:drop-shadow(0 1px 0 var(--line2))}
.qdel-pop b{display:block;font-size:13.5px;color:var(--ink)}
.qdel-pop>span{display:block;font-size:12px;color:var(--muted);margin:3px 0 10px}
.qdel-pop-act{display:flex;justify-content:flex-end;gap:7px}
.qdel-yes{background:#B23A3A;color:#fff;border:none}
.qdel-yes:hover{background:#9c2f2f}
@keyframes qdel-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.toast-wrap{position:fixed;top:74px;right:18px;z-index:300;display:flex;flex-direction:column;gap:9px;max-width:360px}
.toast{display:flex;align-items:center;gap:10px;background:var(--surface,#fff);border:1px solid var(--line2);border-left:4px solid var(--accent,#1E63E0);border-radius:11px;padding:11px 13px;box-shadow:0 10px 26px rgba(14,22,38,.16);font-size:13.5px;color:var(--ink);animation:toast-in .18s ease}
.toast svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:var(--accent,#1E63E0);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.toast.tt-err{border-left-color:#B23A3A}
.toast.tt-err svg{stroke:#B23A3A}
.toast.tt-ok{border-left-color:#2E7D5B}
.toast.tt-ok svg{stroke:#2E7D5B}
.toast-x{margin-left:auto;border:none;background:none;color:var(--muted);cursor:pointer;font-size:12px;padding:2px 4px}
.toast-x:hover{color:var(--ink)}
@keyframes toast-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
/* branded portal theme — when a client's saved accent is applied, everything
   accent-driven inside the portal follows it (numbers, buttons, links) */
.pf-themed .sb-stat .sb-val{color:var(--accent)!important}
.pf-themed .btn.grad{background:var(--accent)!important;box-shadow:none}
.pf-themed .pf-docs{color:var(--accent)}
.pf-themed .viewtab.on{color:var(--accent)}
.pf-themed .pf-int-btn.up{border-color:var(--accent);color:var(--accent)}
.pf-themed .pf-stage-dot{background:var(--accent)!important}
.pf-themed a{color:var(--accent)}

/* ── PhaseOne GPT (private preview) ─────────────────────────────────── */
.gpt-page2{max-width:1150px;margin:0 auto}
.gpt-shell{display:flex;height:calc(100vh - 148px);min-height:500px;padding:0;overflow:hidden}
/* inner sidebar (eGov-style): brand, new conversation, tools, history */
.gpt-side{width:238px;flex-shrink:0;border-right:1px solid var(--line);background:var(--panel2);
  display:flex;flex-direction:column;padding:14px 10px 10px}
.gpt-brand2{display:flex;align-items:center;gap:9px;padding:2px 6px 12px}
.gpt-brand2-t{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.15}
.gpt-brand2-t b{color:var(--accent)}
.gpt-brand2-t small{display:block;font-size:9.5px;font-weight:600;color:var(--faint);letter-spacing:.5px;text-transform:uppercase}
.gpt-new{display:flex;align-items:center;gap:8px;margin:0 2px 8px;padding:9px 12px;border-radius:10px;
  border:1px solid var(--line2);background:var(--panel);color:var(--txt);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s}
.gpt-new:hover{border-color:var(--accent);color:var(--accent)}
.gpt-new svg,.gpt-nav-it svg,.gpt-conv svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.gpt-nav-it{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:9px;font-size:12.5px;color:var(--muted);cursor:pointer}
.gpt-nav-it:hover{background:var(--panel);color:var(--ink)}
.gpt-side-sep{font-size:9.5px;font-weight:700;letter-spacing:1px;color:var(--faint);text-transform:uppercase;padding:14px 12px 6px}
.gpt-convs{flex:1;overflow-y:auto;min-height:0}
.gpt-conv{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;font-size:12.5px;color:var(--muted);cursor:pointer}
.gpt-conv span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gpt-conv:hover{background:var(--panel)}
.gpt-conv.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.gpt-conv-x{display:none;border:none;background:none;color:var(--faint);cursor:pointer;font-size:11px;padding:2px;flex-shrink:0}
.gpt-conv:hover .gpt-conv-x{display:block}
.gpt-conv-x:hover{color:var(--bad)}
/* chat pane */
.gpt-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--panel)}
.gpt-scroll{flex:1;overflow-y:auto;padding:26px 30px 12px;display:flex;flex-direction:column;gap:18px}
.gpt-empty{margin:auto;text-align:center;max-width:540px;padding:18px 0}
.gpt-orb{width:54px;height:54px;margin:0 auto 14px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  font-size:24px;color:#fff;background:linear-gradient(135deg,var(--accent),#7A6BB5);box-shadow:0 8px 20px rgba(30,99,224,.28)}
.gpt-orb.sm{width:30px;height:30px;font-size:15px;margin:0;border-radius:10px;box-shadow:none;flex-shrink:0}
.gpt-empty h3{font-size:19px;margin:0 0 6px;color:var(--ink)}
.gpt-empty p{color:var(--muted);font-size:13px;margin:0 0 16px}
.gpt-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.gpt-chips button{padding:9px 14px;border-radius:11px;border:1px solid var(--line2);background:var(--panel);
  color:var(--txt);font:inherit;font-size:12.5px;cursor:pointer;transition:.15s}
.gpt-chips button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
/* user pill (right) + assistant block (left, with steps meta) */
.gpt-u{display:flex;justify-content:flex-end}
.gpt-u-pill{max-width:70%;background:var(--accent);color:#fff;padding:10px 16px;border-radius:18px;
  border-bottom-right-radius:5px;font-size:13.5px;line-height:1.5;overflow-wrap:anywhere}
.gpt-a{display:flex;gap:11px;align-items:flex-start}
.gpt-a-body{max-width:82%;min-width:0}
.gpt-meta{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);margin:5px 0 7px}
.gpt-meta svg{width:14px;height:14px;fill:none;stroke:var(--ok);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.gpt-a-text{font-size:13.5px;line-height:1.6;color:var(--txt);overflow-wrap:anywhere}
/* rich cards under a reply */
.gpt-card{margin-top:12px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow);max-width:430px}
.gpt-card-h{display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid var(--line);font-size:12.5px}
.gpt-card-ic{width:26px;height:26px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gpt-card-ic svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gpt-card-h b{flex:1;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gpt-card-badge{font-size:9.5px;font-weight:700;letter-spacing:.6px;color:var(--ok);background:rgba(46,125,91,.1);padding:3px 8px;border-radius:999px;flex-shrink:0}
.gpt-card-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);font-size:12.5px}
.gcr-l{flex:1;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcr-v{font-family:var(--mono);font-size:12px;color:var(--ink);flex-shrink:0}
.gcr-tag{font-size:9.5px;font-weight:700;color:var(--ok);background:rgba(46,125,91,.1);padding:3px 7px;border-radius:6px;flex-shrink:0}
.gpt-card-foot{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:var(--panel2);font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.gpt-card-foot b{font-size:14px;color:var(--ink);font-family:var(--mono);text-transform:none;letter-spacing:0}
.gpt-doc{margin-top:10px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:12px;
  padding:11px 14px;background:var(--panel);cursor:pointer;max-width:430px;transition:.15s;box-shadow:var(--shadow)}
.gpt-doc:hover{border-color:var(--accent)}
.gpt-doc-ic{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gpt-doc-ic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gpt-doc-t{min-width:0}
.gpt-doc-t b{display:block;font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gpt-doc-t small{font-size:9.5px;font-weight:700;letter-spacing:.7px;color:var(--faint)}
/* typing dots */
.gpt-dots{display:flex;gap:5px;padding:12px 2px}
.gpt-dots span{width:7px;height:7px;border-radius:50%;background:var(--faint);animation:gptb 1.1s infinite}
.gpt-dots span:nth-child(2){animation-delay:.18s}.gpt-dots span:nth-child(3){animation-delay:.36s}
@keyframes gptb{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
/* rounded composer with attach / voice / round send */
.gpt-barwrap{padding:10px 22px 6px;border-top:1px solid var(--line)}
.gpt-bar{display:flex;align-items:flex-end;gap:6px;border:1px solid var(--line2);border-radius:16px;background:var(--panel2);padding:8px 10px}
.gpt-bar:focus-within{border-color:var(--accent)}
.gpt-bar textarea{flex:1;resize:none;border:none;background:none;outline:none;font:inherit;font-size:13.5px;color:var(--txt);padding:7px 4px;max-height:120px;min-width:0}
.gpt-ib{width:34px;height:34px;border:none;background:none;border-radius:9px;color:var(--muted);cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gpt-ib:hover{background:var(--panel);color:var(--ink)}
.gpt-ib svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.gpt-send2{width:36px;height:36px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.15s}
.gpt-send2:hover:not(:disabled){filter:brightness(1.12)}
.gpt-send2:disabled{opacity:.35;cursor:default}
.gpt-note{text-align:center;font-size:11px;color:var(--faint);margin:0;padding:5px 0 2px}
@media (max-width:900px){.gpt-side{display:none}}
/* coming-soon state (everyone except the preview account) */
.gpt-soon{max-width:560px;margin:7vh auto 0;text-align:center;padding:44px 36px}
.gpt-soon-badge{display:inline-block;margin:14px 0 10px;padding:5px 12px;border-radius:999px;font-size:10.5px;
  font-weight:700;letter-spacing:1.2px;background:var(--accent-soft);color:var(--accent)}
.gpt-soon h2{margin:0 0 8px;font-size:22px;color:var(--ink)}
.gpt-soon p{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 18px}
.gpt-soon-feats{display:flex;flex-direction:column;gap:9px;text-align:left;margin:0 auto;max-width:390px}
.gpt-soon-feats span{font-size:12.5px;color:var(--txt);display:flex;gap:9px;align-items:center}
.gpt-soon-feats svg{width:15px;height:15px;stroke:var(--ok);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
