@import url('https://fonts.googleapis.com/css2?family=Spectral:wght@500;600&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@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:'Spectral',Georgia,serif; --mono:'IBM Plex Mono',monospace;
}
/* 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:'IBM Plex Sans','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(--serif);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(--serif);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:var(--serif);font-size:27px;font-weight:600;letter-spacing:-.3px;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)}

/* 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}
.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 18px;border-bottom:1px solid var(--line)}
.ppl-tbl tbody td{padding:13px 18px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink);vertical-align:middle}
.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-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:var(--serif);font-size:27px;font-weight:600;letter-spacing:-.3px;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)}
