/* Centurion Prospector v2 - deliberately NOT the incumbent.
   His: cool teal, flat, left sidebar, dense table. Ours: warm, serif, top-nav, action-first, card-driven. */
:root{
  --parchment:#F4F1EA; --paper:#FBFAF6; --navy:#1B2A4A; --ink:#0E1726; --bronze:#B08D57;
  --bronze-soft:#F0E6D6; --slate:#5B6B7C; --line:#E4DFD3; --white:#FFFFFF;
  --good:#1B6B47; --good-soft:#E4F0E9; --warn:#8A5A00; --warn-soft:#FBF0DA; --alert:#8A2F2F; --alert-soft:#F7E4E4;
  --shadow:0 1px 2px rgba(14,23,38,.05),0 6px 20px rgba(14,23,38,.06);
  --shadow-lg:0 4px 12px rgba(14,23,38,.10),0 24px 60px rgba(14,23,38,.14);
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --serif:Georgia,Cambria,"Times New Roman",serif;
  --r:12px; --ease:cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box}
body{margin:0;background:var(--parchment);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;letter-spacing:-.01em;margin:0}
button{font-family:inherit;cursor:pointer}
.error{color:var(--alert);padding:24px;font-weight:600}
.small{font-size:12.5px;color:var(--slate)}
.hidden{display:none!important}

/* ---- top bar ---- */
.topbar{position:sticky;top:0;z-index:40;background:linear-gradient(180deg,var(--navy),#16233d);color:var(--parchment);
  border-bottom:3px solid var(--bronze)}
.topbar .row{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:20px;padding:14px 24px}
.brand{display:flex;flex-direction:column;line-height:1.1}
.brand .mark{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);font-weight:700}
.brand .name{font-family:var(--serif);font-size:20px;font-weight:700}
.nav{display:flex;gap:4px;margin-left:8px;flex-wrap:wrap}
/* Every tab always renders as a filled pill (never grey/transparent/low-alpha).
   Inactive = soft bronze fill + near-black ink text + hairline border.
   Active = solid bronze fill + near-black ink text. Both clear 4.5:1 contrast
   against the navy topbar (measured: inactive ~14.5:1, active ~5.8:1). */
.nav button{background:var(--bronze-soft);border:1px solid #d9c39c;color:var(--ink);font-size:14px;font-weight:600;padding:8px 14px;border-radius:99px;transition:.18s var(--ease)}
.nav button:hover{background:#e7d8bd;border-color:var(--bronze);color:var(--ink)}
.nav button.active{background:var(--bronze);border-color:var(--bronze);color:var(--ink);font-weight:700}
.modepill{margin-left:auto;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  border:1px solid rgba(176,141,87,.55);color:var(--bronze);padding:5px 12px;border-radius:99px;white-space:nowrap}

/* ---- shell ---- */
.wrap{max-width:1180px;margin:0 auto;padding:22px 24px 80px}
.notice{background:var(--warn-soft);border:1px solid #ecd9ad;color:#6b4a12;border-radius:var(--r);
  padding:11px 16px;font-size:13.5px;font-weight:600;margin-bottom:18px}
.notice.synthetic{background:var(--bronze-soft);border-color:#e3d3b6;color:#6b5327}

/* ---- smart filter bar ---- */
.smartbar{display:flex;gap:10px;align-items:center;background:var(--white);border:1px solid var(--line);
  border-radius:99px;padding:6px 8px 6px 18px;box-shadow:var(--shadow);margin-bottom:8px}
.smartbar svg{flex:none;color:var(--slate)}
.smartbar input{flex:1;border:0;outline:0;font-size:15px;background:transparent;color:var(--ink);padding:8px 0}
.smartbar .go{background:var(--navy);color:var(--parchment);border:0;border-radius:99px;padding:9px 18px;font-size:13.5px;font-weight:600}
.smartbar .clear{background:transparent;border:0;color:var(--slate);font-size:13px;padding:8px 6px}
.chips-row{display:flex;flex-wrap:wrap;gap:7px;margin:10px 2px 22px;min-height:8px}
.qchip{background:var(--white);border:1px solid var(--line);color:var(--slate);font-size:12.5px;font-weight:600;
  padding:5px 12px;border-radius:99px;transition:.15s var(--ease)}
.qchip:hover{border-color:var(--bronze);color:var(--navy)}
.qchip.on{background:var(--navy);color:var(--parchment);border-color:var(--navy)}
.active-filter{display:inline-flex;align-items:center;gap:7px;background:var(--bronze-soft);border:1px solid #e3d3b6;
  color:#6b5327;font-size:12.5px;font-weight:700;padding:5px 8px 5px 12px;border-radius:99px}
.active-filter button{background:rgba(107,83,39,.15);border:0;border-radius:50%;width:18px;height:18px;color:#6b5327;font-size:12px;line-height:1}

/* ---- views + transition ---- */
.view{display:none;animation:fade .32s var(--ease)}
.view.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---- metric tiles ---- */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.tile{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;box-shadow:var(--shadow);
  text-align:left;transition:.18s var(--ease);position:relative}
button.tile{width:100%}
button.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--bronze)}
.tile .num{font-family:var(--serif);font-size:34px;font-weight:700;color:var(--navy);line-height:1}
.tile .lab{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--slate);font-weight:700;margin-top:6px}
.tile.accent .num{color:var(--bronze)}
.tile .arrow{position:absolute;top:16px;right:16px;color:var(--line);transition:.18s}
button.tile:hover .arrow{color:var(--bronze)}

/* ---- panels / grid ---- */
.cols{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-items:start}
.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px}
.panel .ph{padding:14px 20px 0}
.panel .pk{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);font-weight:700}
.panel h3{font-size:18px;color:var(--navy);margin:3px 0 0}
.panel .pb{padding:14px 20px 18px}

/* ---- list rows (better than his flat table) ---- */
.rows{display:flex;flex-direction:column}
.row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px 16px;border:1px solid var(--line);
  border-radius:10px;background:var(--paper);margin-bottom:8px;text-align:left;transition:.15s var(--ease);width:100%}
.row:hover{border-color:var(--bronze);background:var(--white);transform:translateX(2px);box-shadow:var(--shadow)}
.row.sel{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.row .rmain{min-width:0}
.row .rorg{font-weight:700;font-size:15px;color:var(--ink);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .rmeta{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.row .rscore{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--navy);flex:none}
.row .rnext{font-size:12px;color:var(--slate);margin-top:3px}

/* ---- chips ---- */
.chip{font-size:11px;font-weight:700;letter-spacing:.03em;padding:3px 9px;border-radius:99px;background:#eef1f4;color:var(--slate);white-space:nowrap}
.chip.stage{background:var(--bronze-soft);color:#6b5327}
.chip.due{background:var(--alert-soft);color:var(--alert)}
.chip.good{background:var(--good-soft);color:var(--good)}
.chip.warn{background:var(--warn-soft);color:var(--warn)}
.chip.batch{background:#eaf0f6;color:var(--navy)}
.chip.lane{background:#e8f0ee;color:var(--good)}

/* ---- charts (pure CSS/SVG, no libs) ---- */
.bars{display:flex;flex-direction:column;gap:9px;margin-top:4px}
.bar{display:grid;grid-template-columns:120px 1fr 34px;align-items:center;gap:10px}
.bar .bl{font-size:12.5px;font-weight:600;color:var(--slate);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar .bt{height:22px;background:#eef1f4;border-radius:6px;overflow:hidden}
.bar .bf{height:100%;background:linear-gradient(90deg,var(--navy),#31507f);border-radius:6px;transition:width .5s var(--ease)}
.bar .bf.b{background:linear-gradient(90deg,var(--bronze),#c9a877)}
.bar .bn{font-family:var(--serif);font-weight:700;color:var(--navy);text-align:right;font-size:15px}
.funnel{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.fstep{display:flex;align-items:center;gap:12px}
.fstep .fbar{height:34px;background:linear-gradient(90deg,var(--navy),#31507f);border-radius:8px;display:flex;align-items:center;
  padding:0 12px;color:#fff;font-weight:700;font-size:13px;min-width:60px;transition:width .5s var(--ease)}
.fstep .flab{font-size:13px;color:var(--slate);font-weight:600}
.fstep.drop .fbar{background:linear-gradient(90deg,#7a8694,#95a1af)}

/* ---- vertical column charts (pipeline-by-stage, cross-sell lens) ---- */
.vbars{display:flex;align-items:flex-end;gap:14px;height:180px;margin-top:6px;padding-top:8px}
.vbar{display:flex;flex-direction:column;align-items:center;flex:1;height:100%;min-width:0}
.vbar-count{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:16px;font-variant-numeric:tabular-nums;margin-bottom:6px}
.vbar-track{width:100%;max-width:56px;flex:1;background:#eef1f4;border-radius:8px 8px 4px 4px;display:flex;align-items:flex-end;overflow:hidden}
.vbar-fill{display:block;width:100%;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,var(--navy),#31507f);transition:height .5s var(--ease)}
.vbars.cross-sell .vbar-fill{background:linear-gradient(180deg,var(--bronze),#c9a877)}
.vbar-label{margin-top:8px;font-size:12px;font-weight:600;color:var(--slate);text-align:center;line-height:1.3;overflow-wrap:break-word;max-width:100%}
@media(max-width:480px){.vbars{height:150px;gap:8px}.vbar-label{font-size:11px}}

/* ---- profile drawer (expanding, replaces his flat detail + text wall) ---- */
.scrim{position:fixed;inset:0;background:rgba(14,23,38,.42);opacity:0;pointer-events:none;transition:.28s var(--ease);z-index:60}
.scrim.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100vh;width:min(560px,94vw);background:var(--paper);z-index:70;
  box-shadow:var(--shadow-lg);transform:translateX(102%);transition:transform .34s var(--ease);overflow-y:auto;border-left:1px solid var(--line)}
.drawer.open{transform:none}
.dhead{position:sticky;top:0;background:linear-gradient(180deg,var(--navy),#18263f);color:var(--parchment);padding:20px 24px;border-bottom:3px solid var(--bronze)}
.dhead .dk{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);font-weight:700}
.dhead h2{font-size:23px;line-height:1.15;margin:4px 0 8px}
.dhead .dchips{display:flex;gap:6px;flex-wrap:wrap}
.dclose{position:absolute;top:18px;right:18px;background:rgba(244,241,234,.14);border:0;color:#fff;width:32px;height:32px;border-radius:50%;font-size:17px}
.dbody{padding:20px 24px 60px}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.datum{background:var(--white);border:1px solid var(--line);border-radius:9px;padding:10px 13px}
.datum b{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);font-weight:700;margin-bottom:3px}
.datum span{font-size:14.5px;font-weight:600;color:var(--ink)}
.dsec{margin-bottom:20px}
.dsec .dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);font-weight:700;margin-bottom:8px}
/* Honest gaps: chips, NOT a text wall */
.gapgrid{display:flex;flex-direction:column;gap:7px}
.gapline{display:grid;grid-template-columns:96px 1fr;gap:10px;font-size:13.5px}
.gapline b{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--slate);font-weight:700;padding-top:1px}
.field{margin-bottom:14px}
.field label{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--slate);font-weight:700;margin-bottom:5px}
.field select,.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:15px var(--sans);color:var(--ink);background:var(--white)}
.field textarea{min-height:80px;resize:vertical}
.notes-saved{font-size:12px;color:var(--good);font-weight:600;margin-top:4px;height:14px}
.draft{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:15px 17px}
.draft pre{white-space:pre-wrap;font:13.5px/1.5 var(--sans);color:#2c3745;background:var(--parchment);border:1px solid var(--line);border-radius:8px;padding:12px;margin:8px 0}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.btn{border:1px solid var(--line);background:var(--white);color:var(--navy);font-size:13.5px;font-weight:600;padding:9px 15px;border-radius:9px;transition:.15s var(--ease)}
.btn:hover{border-color:var(--bronze)}
.btn.primary{background:var(--navy);color:var(--parchment);border-color:var(--navy)}
.btn.primary:hover{background:#24365a}
.btn.outlook{background:#0F6CBD;color:#fff;border-color:#0F6CBD;display:inline-flex;align-items:center;gap:7px}
.btn.outlook:hover{background:#0a5aa0}

/* ---- reconcile ---- */
.recon-banner{background:var(--bronze-soft);border:1px solid #e3d3b6;border-radius:var(--r);padding:15px 18px;display:flex;
  justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.recon-banner p{margin:0;color:#6b5327;font-size:14px}
.recon-row{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:13px 16px;margin-bottom:9px}
.recon-actions{display:flex;gap:8px;margin-top:8px}
.anchor-box{margin-top:10px;padding:11px 13px;background:var(--parchment);border-radius:8px;border:1px solid var(--line)}

.empty{padding:26px;text-align:center;color:var(--slate);font-size:14px;background:var(--paper);border:1px dashed var(--line);border-radius:10px}

/* ---- toast ---- */
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;
  padding:12px 20px;border-radius:99px;font-size:14px;font-weight:600;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;
  transition:.28s var(--ease);z-index:90;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%)}

@media (max-width:820px){
  .tiles{grid-template-columns:repeat(2,1fr)}
  .cols{grid-template-columns:1fr}
  .bar{grid-template-columns:88px 1fr 30px}
}
@media (max-width:480px){
  .tiles{grid-template-columns:1fr 1fr;gap:10px}
  .tile .num{font-size:27px}
  .topbar .row{flex-wrap:wrap;gap:10px}
  .modepill{margin-left:0}
}

/* ---- weekly CEO review band (folded from Dad-of-Startup "numbers that matter") ---- */
.review{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:linear-gradient(135deg,var(--navy),#16233d);
  border-radius:var(--r);overflow:hidden;margin-bottom:18px;box-shadow:var(--shadow-lg);border:1px solid #16233d}
.review .rc{padding:18px 22px;border-right:1px solid rgba(244,241,234,.10)}
.review .rc:last-child{border-right:0}
.review .rl{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);font-weight:700;margin-bottom:7px}
.review .rv{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--parchment);line-height:1.15;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review .rs{font-size:12.5px;color:#aeb9c7;margin-top:4px}
@media (max-width:640px){.review{grid-template-columns:1fr}.review .rc{border-right:0;border-bottom:1px solid rgba(244,241,234,.10)}.review .rc:last-child{border-bottom:0}}

/* polish pass */
.brand .name{color:#FFFFFF}
.dhead .dk{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}

/* ---- score breakdown bars (per-account "why this score") ---- */
.sbars{display:flex;flex-direction:column;gap:10px;margin-top:2px}
/* Label column wraps instead of clipping -- "Engagement recency" and
   "Access (contract+credential)" never fit a 118px nowrap+ellipsis column.
   minmax lets it breathe on wide screens and wrap on narrow ones (375px+),
   never cutting a word off mid-way. */
.sbar{display:grid;grid-template-columns:minmax(88px,148px) 1fr 46px;align-items:center;gap:10px}
.sbar .sl{font-size:12.5px;font-weight:600;color:var(--slate);white-space:normal;overflow-wrap:break-word;line-height:1.25}
.sbar .st{height:9px;background:#eef1f4;border-radius:99px;overflow:hidden}
.sbar .sf{display:block;height:100%;background:linear-gradient(90deg,var(--bronze),#c9a877);border-radius:99px;transition:width .5s var(--ease)}
.sbar .sv{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:14px;text-align:right}
.sbar .sv i{font-style:normal;color:var(--slate);font-weight:400;font-size:11.5px}
.compdef{margin:2px 0 0;line-height:1.4}
.scorelegend{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line);line-height:1.4}
.synthtag{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;background:var(--bronze-soft);color:#6b5327;padding:1px 6px;border-radius:99px;margin-left:6px;vertical-align:1px}

/* ---- banner contrast, bulletproof ---- */
.topbar{background:linear-gradient(180deg,#1B2A4A,#16233d)!important}
.brand .mark{color:#C9A877!important}
.brand .name{color:#FFFFFF!important;text-shadow:0 1px 2px rgba(0,0,0,.25)}

/* ---- anti-AI-slop polish pass (from UI research 2026-07-24) ---- */
/* tabular numerals so data columns align (research: never proportional nums in data UI) */
.tile .num,.row .rscore,.sbar .sv,.bar .bn,.fstep .fbar,.review .rv,.dgrid .datum span{font-variant-numeric:tabular-nums}
/* tactile press feedback (research: scale on :active, not just hover) */
.row:active,button.tile:active,.btn:active,.nav button:active,.qchip:active{transform:translateY(1px) scale(.995)}
button.tile:active{transform:translateY(0) scale(.99)}
/* visible focus rings (research: absence is itself a tell) */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,.row:focus-visible,.tile:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
/* animate only transform/opacity - already the case; reduced-motion respect */
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* ---- depth commit (research: border-forward at rest, shadow only on lift/float) ---- */
.card,.panel,.tile,.row{box-shadow:none}
button.tile:hover{box-shadow:var(--shadow-lg)}
.row:hover{box-shadow:var(--shadow)}
/* hero elements (review band, drawer, topbar) keep their elevation on purpose */

/* ===== v3: asymmetric tiles + stage-aging chart + skeleton (from UI research) ===== */
/* asymmetric hero tile + compact strip (research: 4 identical cards = #1 AI tell) */
.tiles{grid-template-columns:1.15fr 2fr}
.tile.hero{display:flex;flex-direction:column;justify-content:center;min-height:118px}
.tile.hero .num{font-size:52px}
.tile-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tile.mini{padding:15px 16px}
.tile.mini .num{font-size:26px}
@media(max-width:820px){.tiles{grid-template-columns:1fr}.tile-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.tile-strip{grid-template-columns:1fr 1fr}.tile.hero .num{font-size:40px}}
/* stage-aging bars */
.aging-list{display:flex;flex-direction:column;gap:8px}
.age-row{display:grid;grid-template-columns:1fr 2.2fr 52px;align-items:center;gap:12px;width:100%;text-align:left;
  background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:10px 14px;transition:.15s var(--ease)}
.age-row:hover{border-color:var(--bronze);background:var(--white);box-shadow:var(--shadow)}
.age-org{font-weight:600;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.age-track{height:12px;background:#eef1f4;border-radius:99px;overflow:hidden}
.age-fill{display:block;height:100%;border-radius:99px;transition:width .5s var(--ease)}
.age-fill.cool{background:#7c8a99}.age-fill.warm{background:#d19a2e}.age-fill.hot{background:#b5482f}
.age-days{font-family:var(--serif);font-weight:700;font-size:16px;text-align:right;font-variant-numeric:tabular-nums}
.age-days i{font-style:normal;font-weight:400;font-size:11px;color:var(--slate)}
.age-days.cool{color:var(--slate)}.age-days.warm{color:#8a5a00}.age-days.hot{color:#8A2F2F}
/* skeleton loader */
.skel,.skel-row{background:linear-gradient(90deg,#eceae3 25%,#f4f1ea 50%,#eceae3 75%);background-size:200% 100%;
  animation:shimmer 1.2s infinite;border-radius:10px;border:1px solid var(--line)}
.tile.hero.skel{min-height:118px}.tile.mini.skel{min-height:80px}
.skel-row{height:52px;margin-bottom:8px}
@keyframes shimmer{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.skel,.skel-row{animation:none}}

/* ===== v4: Pipeline Intelligence (medical) - contrast lock + new components ===== */
/* Contrast fix: inactive tabs and wordmark previously rendered white-on-white.
   Commit the header to ONE mode: solid navy, no gradient, no low-alpha ghosts. */
.topbar{background:var(--navy)!important;background-image:none!important}
.nav button{background:var(--bronze-soft)!important;border:1px solid #d9c39c!important;color:var(--ink)!important;font-weight:600;text-shadow:none}
.nav button:hover{background:#e7d8bd!important;border-color:var(--bronze)!important;color:var(--ink)!important}
.nav button.active{background:var(--bronze)!important;border-color:var(--bronze)!important;color:var(--ink)!important;font-weight:700;text-shadow:none}
.brand .name{color:#FFFFFF!important;opacity:1!important;text-shadow:none}
.brand .mark{color:var(--bronze)!important;opacity:1!important}
.modepill{color:#E8D9BE!important;border-color:rgba(176,141,87,.7)!important}

/* prominent always-visible disclaimer strip (real brand names shown, synthetic data) */
.disclaimer-strip{background:var(--bronze-soft);color:#6b4a12;font-size:12px;font-weight:700;letter-spacing:.02em;
  text-align:center;padding:7px 24px;border-top:1px solid rgba(0,0,0,.10)}

/* explainer: score = size of opportunity, confidence = certainty of data */
.explainer{margin:-6px 2px 18px;color:var(--slate);font-size:12.5px}
.explainer b{color:var(--navy);font-weight:700}

/* do-today queue: scrollable, top-3 emphasized (never rots, auto from score+due) */
.queue-scroll{max-height:376px;overflow-y:auto;padding-right:4px}
.row{position:relative}
.row .rrank{font-family:var(--serif);font-weight:700;color:var(--slate);font-size:13px;margin-right:6px;font-variant-numeric:tabular-nums}
.row.q-top{border-color:#dcc9a6}
.row.q-top .rrank{color:var(--bronze)}
.row.q-top::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--bronze)}

/* needs-action list (the 4th tab: real due/overdue accounts) */
.na-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:13px 16px;border:1px solid var(--line);
  border-radius:10px;background:var(--paper);margin-bottom:8px;text-align:left;width:100%;transition:.15s var(--ease)}
.na-row:hover{border-color:var(--bronze);background:var(--white);box-shadow:var(--shadow);transform:translateX(2px)}
.na-row .na-main{min-width:0}
.na-row .na-org{font-weight:700;font-size:15px;color:var(--ink);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.na-row .na-plan{font-size:12.5px;color:var(--slate);margin-top:4px}
.na-row .na-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.na-due{font-size:11px;font-weight:700;letter-spacing:.03em;padding:4px 10px;border-radius:99px;white-space:nowrap}
.na-due.overdue{background:var(--alert-soft);color:var(--alert)}
.na-due.today{background:var(--warn-soft);color:var(--warn)}
.na-row .na-days{font-family:var(--serif);font-weight:700;font-size:16px;color:var(--navy);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.na-row .na-days i{font-style:normal;font-weight:400;font-size:11px;color:var(--slate)}

/* reply toggle in drawer (pilot simulation, user-marked, not live sync) */
.reply-toggle{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.reply-state{font-size:12.5px;font-weight:700}
.reply-state.on{color:var(--good)}
.reply-state.off{color:var(--slate)}
.pilot-note{font-size:11.5px;color:var(--slate);margin:8px 0 0}

/* confidence line in drawer */
.confline{font-size:12.5px;color:var(--slate);margin:8px 0 0}
.confline b{color:var(--navy)}
.confband{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:99px;vertical-align:1px}
.confband.high{background:var(--good-soft);color:var(--good)}
.confband.medium{background:var(--warn-soft);color:var(--warn)}
.confband.low{background:#eef1f4;color:var(--slate)}

/* ===== v5: Prospects tab (medical 5th tab) - doctor-level prospecting ===== */
.ptabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.ptabs button{background:var(--white);border:1px solid var(--line);color:var(--slate);font-weight:700;font-size:13.5px;
  padding:9px 18px;border-radius:99px;transition:.15s var(--ease)}
.ptabs button:hover{border-color:var(--bronze);color:var(--navy)}
.ptabs button.active{background:var(--navy);color:var(--parchment);border-color:var(--navy)}

/* specialty color tags */
.chip.spec-ortho{background:#eaf0f6;color:var(--navy)}
.chip.spec-nonop{background:var(--bronze-soft);color:#6b5327}
.chip.spec-dpm{background:var(--good-soft);color:var(--good)}
.chip.spec-pain{background:var(--alert-soft);color:var(--alert)}

/* prospect row: taller card, doctor + practice + procedure + access glyphs + next action */
.prow{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--line);
  border-radius:10px;background:var(--paper);margin-bottom:8px;text-align:left;transition:.15s var(--ease);width:100%;position:relative}
.prow:hover{border-color:var(--bronze);background:var(--white);transform:translateX(2px);box-shadow:var(--shadow)}
.prow.sel{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.prow.q-top{border-color:#dcc9a6}
.prow.q-top::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--bronze)}
.prow-main{min-width:0;display:flex;flex-direction:column;gap:5px}
.prow-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.prow-doc{font-weight:700;font-size:15px;color:var(--ink)}
.prow-practice{font-size:12.5px;color:var(--slate)}
.prow-proc{font-size:12.5px;color:var(--slate)}
.prow-proc b{color:var(--navy);font-variant-numeric:tabular-nums}
.prow-fields{font-size:12.5px;color:var(--slate);overflow-wrap:break-word}
.prow-fields b{color:var(--navy);font-variant-numeric:tabular-nums}
.prow-flags{display:flex;gap:14px;flex-wrap:wrap}
.prow-next{font-size:12px;color:var(--slate);font-style:normal}
.gly{font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:5px}
.gly i{font-style:normal;font-size:13px;width:15px;height:15px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.gly-yes i{background:var(--good)}
.gly-yes{color:var(--good)}
.gly-no i{background:var(--alert)}
.gly-no{color:var(--alert)}
.gly-mid i{background:var(--warn)}
.gly-mid{color:var(--warn)}
