/* ============================================================================
   GCPS RCM — reference-grade design system (v3). Sidebar IA, premium cards,
   refined teal/navy palette. Modeled on best-in-class healthcare BI dashboards.
   ============================================================================ */
:root{
  --bg:#f4f6f9; --bg-2:#eef1f6; --surface:#ffffff; --surface-2:#f8fafc;
  --ink:#0f1b2d; --ink-2:#334155; --mut:#64748b; --mut-2:#94a3b8;
  --line:#e6eaf0; --line-2:#d9dfe8;
  /* brand: deep teal + navy (from references) */
  --navy:#0f2740; --navy-2:#15314f; --teal:#0d7d7a; --teal-2:#0a9b94; --teal-soft:#e6f4f3;
  --blue:#2f6fed; --blue-soft:#e8f0fe; --violet:#6d5bd0; --violet-soft:#eeebfa;
  --rose:#d6455d; --rose-soft:#fdecef; --amber:#c17d12; --amber-soft:#fdf2dd;
  --green:#10876b; --green-soft:#e4f4ee; --red:#d6455d;
  /* RAG */
  --ok:#10876b; --ok-bg:#e4f4ee; --warn:#c17d12; --warn-bg:#fdf2dd; --bad:#d6455d; --bad-bg:#fdecef;
  --shadow-1:0 1px 2px rgba(15,27,45,.04), 0 1px 3px rgba(15,27,45,.06);
  --shadow-2:0 2px 8px rgba(15,27,45,.06), 0 8px 24px rgba(15,27,45,.06);
  --shadow-3:0 12px 32px rgba(15,27,45,.10), 0 4px 12px rgba(15,27,45,.06);
  --r:16px; --r-sm:11px; --r-xs:8px; --ease:.16s cubic-bezier(.4,0,.2,1);
  --sidebar:84px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:13.5px; line-height:1.5; color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased; font-variant-numeric:tabular-nums;
}
.tnum{font-variant-numeric:tabular-nums}

/* ---------- app shell: sidebar + content ---------- */
#app-shell{display:flex; min-height:100vh}
.sidebar{
  width:var(--sidebar); flex:none; background:linear-gradient(185deg,var(--navy),#0a1f34);
  color:#cdd9e8; position:sticky; top:0; height:100vh; display:flex; flex-direction:column;
  align-items:center; padding:18px 0 14px; gap:6px; z-index:30; box-shadow:2px 0 24px rgba(15,27,45,.10);
  overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:none;
}
.sidebar::-webkit-scrollbar{width:0;height:0;display:none}  /* nav rail: scroll works, bar hidden (too narrow to show) */
.sidebar .logo{width:42px; height:42px; flex:none; border-radius:12px; display:grid; place-items:center; margin-bottom:14px;
  background:linear-gradient(135deg,var(--teal-2),var(--teal)); box-shadow:0 8px 22px rgba(13,125,122,.45); color:#fff; font-weight:800; font-size:18px}
.navitem{width:60px; flex:none; padding:9px 0 7px; border-radius:12px; display:flex; flex-direction:column; align-items:center; gap:4px;
  cursor:pointer; color:#8ea4be; transition:var(--ease); font-size:9.5px; font-weight:600; letter-spacing:.2px; text-align:center}
.navitem-ic, .navitem svg{width:21px; height:21px; stroke:currentColor; fill:none; stroke-width:1.9}
.navitem:hover{color:#dbe6f3; background:rgba(255,255,255,.05)}
.navitem.on{color:#fff; background:rgba(13,155,148,.18)}
.navitem.on .navitem-ic{filter:drop-shadow(0 2px 6px rgba(13,155,148,.6))}
.sidebar .spacer{flex:1}

.content{flex:1; min-width:0; display:flex; flex-direction:column}
.topbar{position:sticky; top:0; z-index:20; background:rgba(244,246,249,.86); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line); padding:16px 28px; display:flex; align-items:center; gap:14px}
.topbar h1{font-size:21px; font-weight:780; letter-spacing:-.4px; color:var(--ink)}
.topbar .sub{color:var(--mut); font-size:12.5px; margin-left:2px}
.topbar .grow{flex:1}
.crumbs{display:flex; gap:6px; font-size:12px; color:var(--mut)}
.crumbs .crumb{cursor:pointer; color:var(--teal); font-weight:600}.crumbs .crumb:hover{text-decoration:underline}
.wrap2{padding:22px 28px 64px; max-width:1640px; width:100%; margin:0 auto}

/* ---------- slicers (top bar pills) ---------- */
.slicer-pill{display:inline-flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--line-2);
  border-radius:11px; padding:0; height:38px; box-shadow:var(--shadow-1); transition:var(--ease)}
.slicer-pill:hover{border-color:var(--teal); box-shadow:var(--shadow-2)}
.slicer-pill label{font-size:9.5px; text-transform:uppercase; letter-spacing:.5px; color:var(--mut-2); font-weight:700; padding-left:13px}
.slicer-pill select{border:0; background:transparent; font:inherit; font-size:12.5px; font-weight:600; color:var(--ink);
  padding:0 12px 0 8px; height:100%; cursor:pointer; outline:none; max-width:180px}
.btn{display:inline-flex; align-items:center; gap:7px; height:38px; padding:0 16px; border-radius:11px; border:0;
  font-weight:650; font-size:12.5px; cursor:pointer; transition:var(--ease)}
.btn-primary{background:var(--navy); color:#fff; box-shadow:0 6px 18px rgba(15,39,64,.25)}
.btn-primary:hover{background:var(--navy-2)}
.btn-ghost{background:var(--surface); color:var(--ink-2); border:1px solid var(--line-2); box-shadow:var(--shadow-1)}
.btn-ghost:hover{border-color:var(--teal); color:var(--teal)}

/* ---------- grid ---------- */
.grid2{display:grid; gap:16px}
.kpi-row{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-bottom:16px}
.cols-3{grid-template-columns:1.4fr 1fr 1fr}
.cols-2{grid-template-columns:1fr 1fr}
.cols-21{grid-template-columns:2fr 1fr}

/* ---------- card ---------- */
.card2{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:20px;
  box-shadow:var(--shadow-1); transition:var(--ease)}
.card2:hover{box-shadow:var(--shadow-2)}
.card2 .head{display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:14px}
.card2 .head h3{font-size:15px; font-weight:720; color:var(--ink); letter-spacing:-.2px}
.card2 .head .sub{font-size:11.5px; color:var(--mut); margin-top:2px}
.card2 .head .act{font-size:12px; color:var(--teal); font-weight:650; cursor:pointer}

/* ---------- KPI card (reference look: tinted icon, delta pill, sparkline) ---------- */
.kpi-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:18px 18px 14px;
  box-shadow:var(--shadow-1); transition:var(--ease); position:relative; overflow:visible; cursor:pointer}
.kpi-card:hover{box-shadow:var(--shadow-3); transform:translateY(-2px); z-index:8}
.kpi-card:focus-within{z-index:8}
.kpi-top{display:flex; align-items:center; gap:12px}
.kpi-ic{width:46px; height:46px; flex:none; border-radius:13px; display:grid; place-items:center}
.kpi-ic svg{width:23px; height:23px; stroke-width:1.9; fill:none}
.kpi-ic.teal{background:var(--teal-soft); color:var(--teal)} .kpi-ic.rose{background:var(--rose-soft); color:var(--rose)}
.kpi-ic.blue{background:var(--blue-soft); color:var(--blue)} .kpi-ic.violet{background:var(--violet-soft); color:var(--violet)}
.kpi-ic.amber{background:var(--amber-soft); color:var(--amber)}
.kpi-lbl{font-size:12.5px; color:var(--mut); font-weight:600; display:flex; align-items:center; gap:6px}
.kpi-val{font-size:29px; font-weight:800; letter-spacing:-.8px; color:var(--ink); margin-top:7px; line-height:1.05}
.kpi-sub{font-size:11px; color:var(--mut-2); font-weight:500; margin-top:1px}
.kpi-foot{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:11px}
.delta-pill{display:inline-flex; align-items:center; gap:3px; font-size:11.5px; font-weight:700; padding:3px 8px; border-radius:8px}
.delta-pill.up{background:var(--ok-bg); color:var(--ok)} .delta-pill.down{background:var(--bad-bg); color:var(--bad)}
.delta-pill.flat{background:var(--surface-2); color:var(--mut)}
.delta-cmp{font-size:10.5px; color:var(--mut-2); font-weight:500}
.kpi-spark{width:100%; height:34px; margin-top:8px; display:block}

/* info dot + definition tooltip (measures / implies) */
.idot{width:14px; height:14px; border-radius:50%; border:1.4px solid var(--mut-2); color:var(--mut-2);
  display:inline-grid; place-items:center; font-size:9px; font-weight:700; cursor:help; flex:none}
.tip{position:relative; display:inline-grid; flex:none; z-index:2}
.tip-dot{width:15px; height:15px; border-radius:50%; border:1.4px solid var(--mut-2); color:var(--mut-2);
  display:grid; place-items:center; font-size:9px; font-weight:800; cursor:help; line-height:1;
  user-select:none; background:transparent; transition:var(--ease)}
.tip:hover .tip-dot, .tip.open .tip-dot, .tip:focus-within .tip-dot{
  border-color:var(--teal); color:var(--teal); background:var(--teal-soft)}
.tip-pop{position:absolute; top:calc(100% + 8px); left:0; width:292px; padding:12px 13px 13px;
  background:rgba(10,16,30,.97); color:var(--ink-2); border:1px solid rgba(255,255,255,.16);
  border-radius:12px; box-shadow:var(--shadow-3); opacity:0; pointer-events:none;
  transform:translateY(4px); transition:opacity .12s ease, transform .12s ease;
  z-index:40; text-align:left; font-weight:500; letter-spacing:0; text-transform:none; white-space:normal;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px)}
.tip:hover .tip-pop, .tip.open .tip-pop, .tip:focus-within .tip-pop{
  opacity:1; pointer-events:auto; transform:translateY(0)}
.tip-pop:before{content:""; position:absolute; top:-6px; left:14px; width:10px; height:10px;
  background:inherit; border-left:1px solid rgba(255,255,255,.16); border-top:1px solid rgba(255,255,255,.16);
  transform:rotate(45deg)}
.tip.flip .tip-pop{left:auto; right:0}
.tip.flip .tip-pop:before{left:auto; right:14px}
.tip-sec + .tip-sec{margin-top:10px; padding-top:10px; border-top:1px solid rgba(255,255,255,.08)}
.tip-k{font-size:9.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-2); margin-bottom:3px}
.tip-v{font-size:12px; line-height:1.45; color:#d5deea; font-weight:500}
.kpi-card:nth-child(n+4) .tip-pop{left:auto; right:0}
.kpi-card:nth-child(n+4) .tip-pop:before{left:auto; right:14px}
.card2{position:relative}
.card2 .head{position:relative; z-index:3}
.card2 .head h3{display:flex; align-items:center; gap:7px}
.card2:hover, .card2:focus-within{z-index:6}
@media(max-width:760px){
  .kpi-card:nth-child(odd) .tip-pop{left:0; right:auto}
  .kpi-card:nth-child(odd) .tip-pop:before{left:14px; right:auto}
  .kpi-card:nth-child(even) .tip-pop{left:auto; right:0}
  .kpi-card:nth-child(even) .tip-pop:before{left:auto; right:14px}
}

/* ---------- charts ---------- */
.chart2{width:100%; height:300px}
.chart2.sm{height:240px}
.chart2.lg{height:360px}

/* ---------- donut center label ---------- */
.donut-wrap{position:relative}

/* ---------- insights rail ---------- */
.insight{display:flex; gap:12px; align-items:flex-start; padding:13px; border:1px solid var(--line); border-radius:var(--r-sm);
  margin-bottom:10px; transition:var(--ease); cursor:pointer; background:var(--surface)}
.insight:hover{border-color:var(--line-2); box-shadow:var(--shadow-1); transform:translateX(2px)}
.insight-ic{width:36px; height:36px; flex:none; border-radius:10px; display:grid; place-items:center}
.insight-ic svg{width:18px;height:18px;stroke-width:1.9;fill:none}
.insight-body{flex:1; min-width:0}
.insight-title{font-size:13px; font-weight:680; color:var(--ink)}
.insight-sub{font-size:11.5px; color:var(--mut); margin-top:1px}
.tag{font-size:10px; font-weight:700; padding:3px 8px; border-radius:7px; letter-spacing:.2px; white-space:nowrap}
.tag.good{background:var(--ok-bg);color:var(--ok)} .tag.watch{background:var(--warn-bg);color:var(--warn)}
.tag.high{background:var(--bad-bg);color:var(--bad)} .tag.med{background:var(--blue-soft);color:var(--blue)}
.chev{color:var(--mut-2); flex:none}

/* ---------- rich tables ---------- */
.rtable{width:100%; border-collapse:collapse; font-size:12.5px}
.rtable th{text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.4px; color:var(--mut);
  font-weight:700; padding:9px 12px; border-bottom:1px solid var(--line); position:sticky; top:0; background:var(--surface); cursor:pointer}
.rtable td{padding:11px 12px; border-bottom:1px solid var(--line); color:var(--ink-2); white-space:nowrap}
.rtable tr:last-child td{border-bottom:0}
.rtable tbody tr{transition:background .1s}
.rtable tbody tr:hover{background:var(--surface-2)}
.rtable td.n{text-align:right; font-variant-numeric:tabular-nums; font-weight:600}
.rtable th.n{text-align:right}   /* header sits over its numbers, not off at the far left */
/* .cols = ruled columns: vertical separators so wide numeric grids read down a column */
.rtable.cols th+th, .rtable.cols td+td{border-left:1px solid var(--line)}
.rtable .clkrow{cursor:pointer}
.payer-chip{display:inline-flex; align-items:center; gap:7px}
.payer-ini{width:22px; height:22px; flex:none; border-radius:6px; display:grid; place-items:center; font-size:10px; font-weight:800; color:#fff}
.status-pill{font-size:10.5px; font-weight:700; padding:3px 9px; border-radius:20px}
.scroll2{max-height:440px; overflow:auto; border-radius:var(--r-sm)}
.cell-spark{width:64px;height:20px;display:inline-block;vertical-align:middle}

/* heatmap cells (aging matrix) */
.heat td.hc{text-align:right; font-weight:700; color:#0f1b2d; border-radius:6px}

/* workqueue chips on overview */
.wq-row{display:flex; gap:12px; flex-wrap:wrap}
.wq-chip{flex:1; min-width:120px; border:1px solid var(--line); border-radius:var(--r-sm); padding:13px 14px; background:var(--surface); cursor:pointer; transition:var(--ease)}
.wq-chip:hover{box-shadow:var(--shadow-2); transform:translateY(-1px)}
.wq-chip .c{font-size:24px; font-weight:800; letter-spacing:-.5px}
.wq-chip .l{font-size:11.5px; color:var(--mut); font-weight:600; margin-top:2px}
.wq-chip .bar{height:3px; border-radius:3px; margin-top:9px}

/* misc */
.muted2{color:var(--mut); font-size:12px}
.fade-in{animation:fade .4s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.skel{background:linear-gradient(90deg,#eef1f6 25%,#e3e8f0 50%,#eef1f6 75%); background-size:200% 100%; animation:sh 1.2s infinite; border-radius:8px}
@keyframes sh{to{background-position:-200% 0}}

/* responsive */
@media(max-width:1240px){.kpi-row{grid-template-columns:repeat(3,1fr)} .cols-3,.cols-2,.cols-21{grid-template-columns:1fr}}
@media(max-width:760px){.kpi-row{grid-template-columns:1fr 1fr} .sidebar{width:64px} :root{--sidebar:64px}}

/* ============ legacy-page compatibility (coding/fees/feetracker/integrity/claim) ============ */
/* map old class names onto the new design language so those pages look consistent */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow-1);margin-bottom:16px}
.card h2{font-size:15px;font-weight:720;color:var(--ink);letter-spacing:-.2px;margin-bottom:4px}
.lead{color:var(--mut);font-size:12.5px;margin-bottom:16px}
.kpis,.scorerow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:16px}
.kpi,.kpi2,.scoretile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow-1)}
.kpi .l,.kpi2-l,.scoretile-n{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.4px;font-weight:700}
.kpi .v,.kpi2-v,.scoretile-v{font-size:26px;font-weight:800;letter-spacing:-.6px;margin-top:6px;color:var(--ink)}
.kpi .c,.kpi2-s,.scoretile-k{font-size:11.5px;color:var(--mut);margin-top:2px}
.kpi-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-left:6px}
.chartrow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
.chart{height:280px}
.scroll{max-height:520px;overflow:auto;border-radius:var(--r-sm)}
.muted{color:var(--mut);font-size:12px}.err{color:var(--rose)}
table{width:100%;border-collapse:collapse;font-size:12.5px}
th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--mut);font-weight:700;padding:9px 11px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;cursor:pointer}
td{padding:10px 11px;border-bottom:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
td.n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
tr.clk{cursor:pointer}tr.clk:hover{background:var(--surface-2)}
.badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.2px}
.b-ecw{background:var(--blue-soft);color:var(--blue)}.b-way{background:var(--amber-soft);color:var(--amber)}.b-bank{background:var(--green-soft);color:var(--green)}.b-pending{background:var(--surface-2);color:var(--mut)}
.pill{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:650}
.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--bad-bg);color:var(--bad)}.pill.proc{background:var(--violet-soft);color:var(--violet)}
.quicklinks{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 16px}
.qlink{cursor:pointer;font-size:12.5px;font-weight:650;color:var(--teal);background:var(--teal-soft);border:1px solid #c7e6e4;padding:8px 14px;border-radius:11px;transition:var(--ease)}
.qlink:hover{background:var(--teal);color:#fff}
.feetabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.feetab{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--surface);border:1px solid var(--line-2);padding:8px 14px;border-radius:11px;transition:var(--ease)}
.feetab:hover{border-color:var(--teal)}.feetab.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.feetab-n{font-weight:400;opacity:.7;font-size:11px}
.catchip{display:inline-block;font-size:10px;font-weight:700;padding:1px 7px;border-radius:8px;white-space:nowrap}
.fee-alert{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin-bottom:8px;cursor:pointer;transition:var(--ease)}
.fee-alert:hover{box-shadow:var(--shadow-2);transform:translateX(2px)}
.infonote{background:var(--blue-soft);border:1px solid #cfe0fb;color:#1e3a8a;border-radius:11px;padding:10px 13px;font-size:12.5px;margin-bottom:14px}
.story{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tl{position:relative;padding-left:22px}.tl:before{content:'';position:absolute;left:6px;top:4px;bottom:4px;width:2px;background:var(--line)}
.tl .ev{position:relative;margin-bottom:14px}.tl .ev:before{content:'';position:absolute;left:-21px;top:4px;width:11px;height:11px;border-radius:50%;background:var(--teal);border:2px solid #fff}
.wf{display:flex;flex-direction:column;gap:5px}.wf .row{position:relative;display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:8px;overflow:hidden;font-size:13px}
.wf .row .bar{position:absolute;left:0;top:0;bottom:0;z-index:0;border-radius:8px}.wf .row span,.wf .row b{position:relative;z-index:1}.wf .row.tot{border:1px dashed var(--line);font-weight:700}
button.sec{background:var(--surface);color:var(--ink-2);border:1px solid var(--line-2);border-radius:9px;padding:7px 12px;font-weight:600;font-size:12px;cursor:pointer}
button.sec:hover{border-color:var(--teal);color:var(--teal)}
input,select{font:inherit}

/* ---------- Opportunity / Recommended Action rail ---------- */
.opp{display:flex;gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:9px;cursor:pointer;transition:var(--ease);background:var(--surface)}
.opp:hover{border-color:var(--teal);box-shadow:var(--shadow-2);transform:translateX(2px)}
.opp-rank{width:24px;height:24px;flex:none;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--teal-2),var(--teal))}
.opp-body{flex:1;min-width:0}
.opp-title{font-size:13px;font-weight:680;color:var(--ink);display:flex;align-items:center;gap:7px}
.opp-cat{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--mut-2)}
.opp-sub{font-size:11px;color:var(--mut);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.opp-right{text-align:right;flex:none}
.opp-amt{font-size:15px;font-weight:800;color:var(--ink);letter-spacing:-.3px}
.opp-roi{display:inline-flex;align-items:center;gap:4px;margin-top:3px;font-size:10.5px;font-weight:700;color:var(--teal)}
.opp-bar{height:4px;border-radius:4px;background:var(--bg-2);margin-top:5px;overflow:hidden;width:64px;margin-left:auto}
.opp-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--teal-2),var(--teal))}
.eff-chip{font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:6px}
.eff-Low{background:var(--ok-bg);color:var(--ok)}.eff-Medium{background:var(--warn-bg);color:var(--warn)}.eff-High{background:var(--bad-bg);color:var(--bad)}
.opp-total{display:flex;align-items:baseline;gap:8px;padding:10px 4px 14px;border-bottom:1px solid var(--line);margin-bottom:12px}
.opp-total .n{font-size:26px;font-weight:800;letter-spacing:-.6px;color:var(--teal)}
.opp-total .l{font-size:12px;color:var(--mut)}

/* ---------- legacy page polish under new shell ---------- */
/* hide the redundant first H2 (topbar already shows the page title) + the first .lead under it */
.wrap2 > h2:first-child{display:none}
.wrap2 > .lead:first-of-type{margin-top:-4px}
/* upgrade legacy KPI tiles to the premium card feel */
.kpi2,.kpi,.scoretile{box-shadow:var(--shadow-1);transition:var(--ease)}
.kpi2:hover,.scoretile:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}
/* legacy chartrow cards get the card2 treatment */
.chartrow .card,.card{border-radius:var(--r)}

/* ============ PATIENT ACCOUNT WORKSPACE ============ */
.pt-head{display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,var(--navy),var(--navy-2));border-radius:var(--r);padding:18px 22px;color:#fff;box-shadow:var(--shadow-2);position:relative;overflow:hidden}
.pt-head::after{content:"";position:absolute;right:-40px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(13,155,148,.22),transparent 70%)}
.pt-avatar{width:62px;height:62px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:23px;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,var(--teal-2),var(--teal));color:#fff;box-shadow:0 4px 14px rgba(10,155,148,.4)}
.pt-id{flex:1;min-width:0;z-index:1}
.pt-name{font-size:21px;font-weight:800;letter-spacing:-.4px;line-height:1.1}
.pt-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:7px;font-size:12.5px;color:#c5d2e2}
.pt-meta b{color:#fff;font-weight:600}
.pt-meta .dot{opacity:.4}
.pt-risk{z-index:1;text-align:center;flex:none;padding:9px 16px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.pt-risk .lab{font-size:9.5px;letter-spacing:.7px;text-transform:uppercase;color:#a9bace;font-weight:700}
.pt-risk .val{font-size:18px;font-weight:800;margin-top:2px}
.pt-risk.High .val{color:#ff9aa6}.pt-risk.Med .val{color:#ffd58a}.pt-risk.Low .val{color:#7fe3c4}
.pt-actions{z-index:1;display:flex;gap:8px}
.pt-actbtn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:var(--ease)}
.pt-actbtn:hover{background:rgba(255,255,255,.2)}
.pt-actbtn svg{width:15px;height:15px}
.pt-facts{z-index:1;display:flex;gap:10px;flex:none}
.pt-fact{padding:8px 14px;border-radius:11px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);min-width:104px}
.pt-fact .l{font-size:9.5px;letter-spacing:.5px;text-transform:uppercase;color:#a9bace;font-weight:700}
.pt-fact .v{font-size:13px;font-weight:700;color:#fff;margin-top:3px}
@media(max-width:1100px){.pt-facts{display:none}}
.rtable th.r,.rtable td.r{text-align:right;font-variant-numeric:tabular-nums}

/* 6-tile account summary */
.pt-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:14px}
.sumtile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 15px;box-shadow:var(--shadow-1);position:relative}
.sumtile .lab{font-size:10.5px;color:var(--mut);font-weight:600;letter-spacing:.2px;display:flex;align-items:center;gap:5px}
.sumtile .val{font-size:21px;font-weight:800;letter-spacing:-.5px;margin-top:5px;color:var(--ink);line-height:1}
.sumtile .sub{font-size:10.5px;color:var(--mut-2);margin-top:4px}
.sumtile.accent{border-top:3px solid var(--teal)}
.sumtile.bad{border-top:3px solid var(--bad)}.sumtile.bad .val{color:var(--bad)}
.sumtile.warn{border-top:3px solid var(--warn)}
.sumtile .tt{margin-left:auto;width:13px;height:13px;border-radius:50%;background:var(--bg-2);color:var(--mut-2);font-size:9px;font-weight:700;display:grid;place-items:center;cursor:help}

/* 3-column body */
.pt-body{display:grid;grid-template-columns:268px 1fr 290px;gap:16px;margin-top:16px;align-items:start}
@media(max-width:1320px){.pt-body{grid-template-columns:240px 1fr}.pt-rail{display:none}}
.pt-col{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);overflow:hidden}
.pt-col h4{font-size:12px;font-weight:700;color:var(--ink);padding:13px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:7px;margin:0}
/* constrain all inline workspace icons (svg() helper emits no width/height) */
.pt-col h4 svg,.vd-sec h5 svg,.nextact .lab svg,.vd-title svg{width:14px;height:14px;flex:none}
.vd-sec h5 svg{color:var(--mut-2)}.pt-col h4 svg{color:var(--teal)}.nextact .lab svg{width:13px;height:13px;color:var(--teal)}
.pt-col h4 .cnt{margin-left:auto;font-size:11px;font-weight:600;color:var(--mut);background:var(--bg-2);padding:1px 8px;border-radius:20px}

/* visits list */
.pt-visits{max-height:640px;overflow-y:auto}
.vrow{padding:11px 16px;border-bottom:1px solid var(--line);cursor:pointer;transition:var(--ease);border-left:3px solid transparent}
.vrow:hover{background:var(--surface-2)}
.vrow.on{background:var(--teal-soft);border-left-color:var(--teal)}
.vrow-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.vrow-type{font-size:12.5px;font-weight:700;color:var(--ink)}
.vrow-bal{font-size:12.5px;font-weight:800;letter-spacing:-.2px}
.vrow-bal.owe{color:var(--ink)}.vrow-bal.cred{color:var(--bad)}.vrow-bal.zero{color:var(--mut-2)}
.vrow-sub{display:flex;align-items:center;gap:7px;margin-top:4px;font-size:11px;color:var(--mut)}
.vrow-sub .sdot{width:7px;height:7px;border-radius:50%;flex:none}
.vrow-pay{font-size:10.5px;color:var(--mut-2);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* visit detail center */
.pt-detail{min-height:400px}
.vd-head{padding:16px 18px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.vd-title{font-size:16px;font-weight:800;letter-spacing:-.3px;color:var(--ink);display:flex;align-items:center;gap:10px}
.vd-chips{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:9px;font-size:11.5px;color:var(--mut)}
.vd-chip{display:inline-flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:3px 9px}
.vd-chip b{color:var(--ink-2);font-weight:600}
.vd-sec{padding:15px 18px;border-bottom:1px solid var(--line)}
.vd-sec:last-child{border-bottom:0}
.vd-sec h5{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--mut);margin:0 0 11px;display:flex;align-items:center;gap:7px}
.vd-sec h5 .note{margin-left:auto;font-size:9.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--mut-2)}

/* reconciliation tiles (eCW <-> Waystar) */
.recon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:13px;margin-top:6px}
.rctile{border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 15px;background:var(--surface-2);border-left:3px solid var(--mut-2);position:relative}
.rctile.ok{border-left-color:var(--ok);background:var(--ok-bg)}
.rctile.warn{border-left-color:var(--bad);background:var(--bad-bg)}
.rctile.na{border-left-color:var(--mut-2);background:var(--surface-2)}
.rc-head{display:flex;align-items:center;gap:8px}
.rc-ico{width:20px;height:20px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff}
.rctile.ok .rc-ico{background:var(--ok)}.rctile.warn .rc-ico{background:var(--bad)}.rctile.na .rc-ico{background:var(--mut-2);font-size:10px}
.rc-name{font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.25}
.rc-vals{display:flex;align-items:center;gap:10px;margin:11px 0 9px}
.rc-side{flex:1;min-width:0}
.rc-side.rc-r{text-align:right}
.rc-l{font-size:10px;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-v{font-size:18px;font-weight:800;letter-spacing:-.4px;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:2px}
.rc-eq{font-size:16px;font-weight:700;color:var(--mut-2);flex:none}
.rc-note{font-size:11.5px;line-height:1.45;color:var(--ink-2)}
.rctile.warn .rc-note{color:#9b2c3a;font-weight:500}

/* charge-entry-error warning banner + visit-list flag */
.vd-warn{display:flex;gap:11px;align-items:flex-start;margin:14px 18px 0;padding:12px 14px;background:var(--warn-bg);border:1px solid #f0d9a6;border-left:3px solid var(--amber);border-radius:10px;font-size:12px;line-height:1.5;color:#7a5512}
.vd-warn b{color:#5e3f0a;font-weight:700}
.vd-warn-ic{font-size:15px;line-height:1.2;flex:none}
.vrow-flag{color:var(--amber);font-weight:700}

/* EOB breakdown waterfall (horizontal bars) */
.eob{display:flex;flex-direction:column;gap:1px}
.eob-row{display:grid;grid-template-columns:130px 1fr 92px;align-items:center;gap:12px;padding:6px 0}
.eob-lab{font-size:12px;color:var(--ink-2);display:flex;align-items:center;gap:7px}
.eob-lab .sw{width:9px;height:9px;border-radius:2px;flex:none}
.eob-track{height:9px;border-radius:6px;background:var(--bg-2);position:relative;overflow:hidden}
.eob-fill{position:absolute;top:0;bottom:0;border-radius:6px}
.eob-amt{text-align:right;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}
.eob-amt.muted{color:var(--mut)}
.eob-row.total{border-top:1px dashed var(--line-2);margin-top:4px;padding-top:9px}
.eob-row.total .eob-lab{font-weight:800;color:var(--ink)}
.eob-row.total .eob-amt{font-size:14px;font-weight:800}

/* charges + generic detail tables */
.vd-tbl{width:100%;border-collapse:collapse;font-size:12px}
.vd-tbl th{text-align:left;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--mut);padding:0 10px 7px;border-bottom:1px solid var(--line)}
.vd-tbl th.r,.vd-tbl td.r{text-align:right;font-variant-numeric:tabular-nums}
.vd-tbl td{padding:8px 10px;border-bottom:1px solid var(--line)}
.vd-tbl tr:last-child td{border-bottom:0}
.vd-tbl tbody tr:hover{background:var(--surface-2)}
.vd-tbl td.muted{color:var(--mut-2)}
.vd-tbl .cptcode{font-weight:700;color:var(--teal);font-variant-numeric:tabular-nums}
.vd-tbl .mod{font-size:10px;color:var(--mut-2);margin-left:5px}
.vd-tbl tfoot td{padding:9px 10px;border-top:2px solid var(--line-2);font-weight:800;font-size:12px}

/* claim timeline */
.tl{position:relative;padding-left:8px}
.tl-item{position:relative;padding:0 0 14px 22px;border-left:2px solid var(--line)}
.tl-item:last-child{border-left-color:transparent;padding-bottom:0}
.tl-dot{position:absolute;left:-7px;top:1px;width:12px;height:12px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.tl-when{font-size:10.5px;color:var(--mut-2);font-weight:600}
.tl-what{font-size:12.5px;color:var(--ink);font-weight:600;margin-top:1px}
.tl-meta{font-size:11px;color:var(--mut);margin-top:2px}
.tl-chan{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:1px 7px;border-radius:5px;background:var(--bg-2);color:var(--mut);margin-right:6px}

/* right rail */
.pt-rail{display:flex;flex-direction:column;gap:14px}
.rail-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);overflow:hidden}
.rail-card h4{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--mut);padding:13px 15px 10px;display:flex;align-items:center;gap:7px;margin:0}
.rail-card h4 svg{width:15px;height:15px}
.rail-card h4 .cnt{margin-left:auto;font-size:10px;background:var(--bad);color:#fff;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 5px;letter-spacing:0}
.rail-body{padding:0 15px 14px}
.alert-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.alert-item:last-child{border-bottom:0}
.alert-ic{width:26px;height:26px;border-radius:8px;flex:none;display:grid;place-items:center}
.alert-ic svg{width:14px;height:14px}
.alert-tx{flex:1;min-width:0}
.alert-tt{font-size:12px;font-weight:600;color:var(--ink);line-height:1.25}
.alert-sb{font-size:11px;color:var(--mut);margin-top:2px}
.task-item{display:flex;align-items:flex-start;gap:9px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-2)}
.task-item:last-child{border-bottom:0}
.task-chk{width:15px;height:15px;border:1.6px solid var(--line-2);border-radius:5px;flex:none;margin-top:1px}
.task-pri{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.3px;padding:1px 6px;border-radius:5px;flex:none}
.task-pri.hi{background:var(--bad-bg);color:var(--bad)}.task-pri.med{background:var(--warn-bg);color:var(--warn)}.task-pri.lo{background:var(--bg-2);color:var(--mut)}
.callscript{font-size:12px;line-height:1.55;color:var(--ink-2);background:var(--surface-2);border:1px dashed var(--line-2);border-radius:9px;padding:12px 13px;white-space:pre-wrap}
.callscript .fill{color:var(--teal);font-weight:700}
.nextact{padding:13px 15px;background:linear-gradient(120deg,var(--teal-soft),var(--surface));border-radius:var(--r);border:1px solid var(--teal);box-shadow:var(--shadow-1)}
.nextact .lab{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--teal)}
.nextact .act{font-size:13.5px;font-weight:700;color:var(--ink);margin-top:5px;line-height:1.3}
.nextact .why{font-size:11.5px;color:var(--mut);margin-top:5px}

/* honest "not connected" stub */
.stub{font-size:11.5px;color:var(--mut-2);background:var(--surface-2);border:1px dashed var(--line-2);border-radius:8px;padding:11px 13px;display:flex;align-items:center;gap:8px}
.stub svg{width:15px;height:15px;flex:none;opacity:.6}

/* status dot colors */
.s-ok{background:var(--ok)}.s-warn{background:var(--warn)}.s-bad{background:var(--bad)}.s-mut{background:var(--mut-2)}

/* topbar patient search */
.psearch{position:relative;width:300px}
.psearch input{width:100%;height:38px;border:1px solid var(--line-2);border-radius:10px;padding:0 12px 0 36px;font:inherit;font-size:13px;background:var(--surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'><circle cx='7' cy='7' r='5.2'/><path d='M11 11l4 4'/></svg>") no-repeat 11px center;outline:none;transition:var(--ease)}
.psearch input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
.psearch-res{position:absolute;top:44px;right:0;left:auto;min-width:368px;max-width:440px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-3);z-index:50;overflow:hidden;max-height:420px;overflow-y:auto}
.psearch-res .pr{display:flex;align-items:center;gap:11px;padding:10px 13px;cursor:pointer;border-bottom:1px solid var(--line)}
.psearch-res .pr:last-child{border-bottom:0}
.psearch-res .pr:hover{background:var(--teal-soft)}
.pr-av{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;background:var(--navy)}
.pr-nm{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-sb{font-size:11px;color:var(--mut);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-bal{margin-left:auto;flex:none;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;padding-left:10px}
.psearch-res .empty{padding:14px;font-size:12px;color:var(--mut-2);text-align:center}

/* roster table extras */
.roster-bal{font-weight:800;font-variant-numeric:tabular-nums}
.risk-badge{font-size:10px;font-weight:700;padding:2px 9px;border-radius:20px}
.risk-badge.High{background:var(--bad-bg);color:var(--bad)}.risk-badge.Med{background:var(--warn-bg);color:var(--warn)}.risk-badge.Low{background:var(--ok-bg);color:var(--ok)}

/* ===== May Audit page ===== */
.au-grades{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.au-gchip{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:11px;font-size:12.5px;font-weight:700;border:1px solid var(--line)}
.au-gchip b{font-size:16px;font-weight:800}
.au-gchip.crit{background:var(--bad-bg);color:var(--bad)}
.au-gchip.prob{background:var(--warn-bg);color:var(--warn)}
.au-gchip.minor{background:var(--blue-soft);color:var(--blue)}
.au-gchip.ok{background:var(--ok-bg);color:var(--ok)}
.au-gchip.tot{background:var(--surface-2);color:var(--ink-2);margin-left:auto;font-weight:600}
.au-pipe{display:flex;gap:0;align-items:stretch}
.au-stage{flex:1;position:relative;padding:2px 22px 2px 0}
.au-stage:not(:last-child)::after{content:'';position:absolute;right:15px;top:18px;width:9px;height:9px;border-top:2px solid var(--line-2);border-right:2px solid var(--line-2);transform:rotate(45deg)}
.au-stage .s-lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--mut);font-weight:700}
.au-stage .s-val{font-size:25px;font-weight:800;letter-spacing:-.6px;color:var(--ink);line-height:1.1;margin-top:3px}
.au-stage .s-sub{font-size:11px;color:var(--mut-2);font-weight:500}
.au-stage .s-drop{margin-top:9px;font-size:11px;font-weight:600;color:var(--bad);background:var(--bad-bg);padding:6px 9px;border-radius:8px;line-height:1.35}
.au-cmp{width:100%;border-collapse:collapse;font-size:12.5px}
.au-cmp th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--mut);font-weight:700;padding:8px 12px;border-bottom:1px solid var(--line)}
.au-cmp td{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.au-cmp td.dim{font-weight:650;color:var(--ink)}
.au-cmp tr:last-child td{border-bottom:0}
.au-find{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.au-find-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line-2);border-radius:var(--r-sm);padding:15px 16px;box-shadow:var(--shadow-1)}
.au-find-card.amber{border-left-color:var(--amber)}
.au-find-card.rose{border-left-color:var(--rose)}
.au-find-card.teal{border-left-color:var(--teal)}
.au-find-card .f-t{font-size:11.5px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.3px}
.au-find-card .f-m{font-size:17px;font-weight:800;color:var(--ink);margin-top:6px;letter-spacing:-.3px;line-height:1.2}
.au-find-card .f-s{font-size:11.5px;color:var(--mut);margin-top:5px;line-height:1.4}
.au-find-card .f-d{display:inline-block;margin-top:9px;font-size:13px;font-weight:800;color:var(--ink)}
.au-chips{display:flex;gap:7px;flex-wrap:wrap}
.au-chip{padding:6px 12px;border-radius:9px;font-size:12px;font-weight:650;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:var(--ease)}
.au-chip:hover{background:var(--surface-2)}
.au-chip b{font-weight:800}
.au-chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.g-badge{font-size:10px;font-weight:800;padding:3px 8px;border-radius:7px;letter-spacing:.3px;white-space:nowrap}
.g-badge.CRITICAL{background:var(--bad-bg);color:var(--bad)}
.g-badge.PROBLEM{background:var(--warn-bg);color:var(--warn)}
.g-badge.MINOR{background:var(--blue-soft);color:var(--blue)}
.g-badge.OK{background:var(--ok-bg);color:var(--ok)}
.rtable tr.row-CRITICAL td:first-child{box-shadow:inset 3px 0 0 var(--bad)}
.rtable tr.row-PROBLEM td:first-child{box-shadow:inset 3px 0 0 var(--warn)}
@media(max-width:1100px){.au-find{grid-template-columns:1fr 1fr}.au-pipe{flex-wrap:wrap;gap:14px}.au-stage{flex:1 1 40%}}

/* ===== May Audit: bank hero + detail modal ===== */
.au-bank{display:flex;gap:24px;align-items:stretch;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:var(--r);padding:20px 24px;margin-bottom:16px;box-shadow:var(--shadow-2)}
.au-bank-main{display:flex;flex-direction:column;justify-content:center;min-width:230px;border-right:1px solid rgba(255,255,255,.15);padding-right:24px}
.au-bank-lbl{font-size:11.5px;font-weight:700;opacity:.82;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:7px}
.au-bank-lbl svg{width:15px;height:15px;stroke:currentColor;fill:none}
.au-bank-val{font-size:38px;font-weight:800;letter-spacing:-1px;margin-top:6px;line-height:1}
.au-bank-sub{font-size:11px;opacity:.68;margin-top:5px}
.au-bank-accts{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:2px 28px;align-content:center}
.au-bank-acct{display:flex;justify-content:space-between;gap:14px;font-size:13px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.au-bank-acct span{opacity:.82} .au-bank-acct b{font-weight:700;font-variant-numeric:tabular-nums}
.au-bank-acct.sep b{color:#7fe3c4}
.au-modal{position:fixed;inset:0;background:rgba(15,27,45,.45);backdrop-filter:blur(2px);z-index:1000;display:grid;place-items:center;padding:24px;animation:auFade .12s ease}
@keyframes auFade{from{opacity:0}to{opacity:1}}
.au-modal-card{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-3);max-width:640px;width:100%;max-height:82vh;overflow:auto}
.au-modal-head{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}
.au-modal-head h3{font-size:15px;font-weight:720;color:var(--ink)}
.au-modal-x{font-size:24px;color:var(--mut);cursor:pointer;line-height:1;padding:0 4px}
.au-modal-x:hover{color:var(--ink)}
.au-modal-body{padding:16px 22px 22px}
.au-dl{display:flex;flex-direction:column}
.au-dl-row{display:flex;justify-content:space-between;gap:18px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:13px}
.au-dl-row span{color:var(--mut-2)} .au-dl-row b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.au-stage{cursor:pointer;border-radius:9px;transition:var(--ease)}
.au-stage:hover{background:var(--surface-2)}

/* ===== May-audit additive panes (high-dollar / clinic / utox / biller) ===== */
/* shared mini KPI tiles */
.au-iw-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.au-iwtile,.au-mtile{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:15px 16px;box-shadow:var(--shadow-1);min-width:0}
.au-iwtile.hero{grid-row:span 1}
.au-iwtile.hero.danger{border-color:#f3b9c3;background:linear-gradient(180deg,#fff,var(--bad-bg))}
.au-iwtile.danger{box-shadow:0 0 0 1px var(--bad) inset,var(--shadow-2)}
.au-mtile.high{border-color:#f3b9c3} .au-mtile.watch{border-color:#f0d8a3} .au-mtile.good{border-color:#bfe3d4} .au-mtile.muted{background:var(--surface-2)}
.au-iwic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;margin-bottom:10px}
.au-iwic svg{width:18px;height:18px}
.au-iwic.teal{background:var(--teal-soft);color:var(--teal)} .au-iwic.blue{background:var(--blue-soft);color:var(--blue)}
.au-iwic.amber{background:var(--amber-soft);color:var(--amber)} .au-iwic.violet{background:var(--violet-soft);color:var(--violet)}
.au-iwic.slate{background:var(--bg-2);color:var(--mut)} .au-iwic.danger{background:var(--bad-bg);color:var(--bad)}
.au-iwk-lbl{font-size:11.5px;color:var(--mut);font-weight:600;display:flex;align-items:center;gap:5px}
.au-iwk-val{font-size:26px;font-weight:800;letter-spacing:-.7px;color:var(--ink);margin-top:5px;line-height:1.04;font-variant-numeric:tabular-nums}
.au-iwk-val.big{font-size:33px;letter-spacing:-1px}
.au-iwk-sub{font-size:10.5px;color:var(--mut-2);font-weight:500;margin-top:3px;line-height:1.35}
.au-iwk-val.val-bad{color:var(--bad)} .au-iwk-val.val-warn{color:var(--warn)} .au-iwk-val.val-ok{color:var(--ok)}
.au-tie svg{width:13px;height:13px;color:var(--ok);vertical-align:-2px}

/* implant watch */
.au-iw .head h3{font-size:17px}
.au-iw-alert{display:flex;align-items:center;gap:9px;background:var(--bad-bg);color:var(--bad);border:1px solid #f3b9c3;border-radius:var(--r-sm);padding:11px 14px;font-size:13.5px;font-weight:600;margin-bottom:4px}
.au-iw-alert svg{width:18px;height:18px;flex:none} .au-iw-alert b{font-weight:800;font-size:15px}
.au-iw-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.au-pbadge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:4px 9px;border-radius:8px;letter-spacing:.1px;white-space:nowrap}
.au-pbadge.violet{background:var(--violet-soft);color:var(--violet)} .au-pbadge.teal{background:var(--teal-soft);color:var(--teal)}
.au-pbadge.amber{background:var(--amber-soft);color:var(--amber)} .au-pbadge.blue{background:var(--blue-soft);color:var(--blue)}
.au-pbadge.rose{background:var(--rose-soft);color:var(--rose)} .au-pbadge.slate{background:var(--bg-2);color:var(--ink-2)}
.au-iwtable td{vertical-align:middle}
.au-iwtable tr.au-iw-crit{background:var(--bad-bg)}
.au-iwtable tr.au-iw-crit td:first-child{box-shadow:inset 3px 0 0 var(--bad)}
.au-iwtable tr.au-iw-crit:hover{background:#fce0e5}
.au-dot{display:inline-block;width:9px;height:9px;border-radius:50%}
.au-dot.crit{background:var(--bad);box-shadow:0 0 0 3px var(--bad-bg)} .au-dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg)}
.au-claimcell{display:flex;flex-direction:column;line-height:1.25;font-variant-numeric:tabular-nums}
.au-cstat{font-size:10px;color:var(--mut);font-weight:500;margin-top:1px}
.au-facrisk{color:var(--bad)!important;font-weight:800!important}
.au-unsent{color:var(--bad);font-weight:700;font-size:10px}
.au-sent{color:var(--ok);font-weight:600;font-size:10px}
.au-rpill{display:inline-block;background:var(--bad);color:#fff;font-size:10px;font-weight:800;padding:3px 9px;border-radius:7px;letter-spacing:.3px;white-space:nowrap}
.au-okpill{display:inline-flex;align-items:center;gap:4px;background:var(--ok-bg);color:var(--ok);font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:7px;white-space:nowrap}
.au-okpill svg{width:12px;height:12px}
.au-devcost{font-style:italic;color:var(--mut-2);font-size:10.5px;display:inline-flex;align-items:center;gap:3px;cursor:help}
.au-devcost svg{width:11px;height:11px;color:var(--mut-2)}
.au-iw-cta{margin-top:13px;display:flex;align-items:center;gap:9px;background:var(--navy);color:#fff;border-radius:var(--r-sm);padding:11px 15px;font-size:12.5px;line-height:1.4}
.au-iw-cta svg{width:16px;height:16px;flex:none;opacity:.85} .au-iw-cta b{font-weight:800}
.au-iw-note{margin-top:11px;display:flex;gap:8px;align-items:flex-start;font-size:11px;color:var(--mut);line-height:1.45;background:var(--surface-2);border-radius:var(--r-sm);padding:10px 13px}
.au-iw-note svg{width:14px;height:14px;flex:none;color:var(--amber);margin-top:1px}

/* RAG cells + sub-heads + footnotes (clinic/utox/biller) */
.au-ragcell{display:inline-block;padding:3px 9px;border-radius:7px;font-weight:700;font-variant-numeric:tabular-nums;font-size:11.5px}
.au-ragcell.good{background:var(--ok-bg);color:var(--ok)} .au-ragcell.watch{background:var(--warn-bg);color:var(--warn)}
.au-ragcell.high{background:var(--bad-bg);color:var(--bad)} .au-ragcell.pend{background:var(--surface-2);color:var(--mut-2)}
.au-ragcell.lown{opacity:.6;font-weight:600} .au-ragcell sup{font-size:8.5px;font-weight:600;margin-left:2px;opacity:.8}
.au-subhead{font-size:12px;font-weight:700;color:var(--ink-2);letter-spacing:-.1px}
.au-foot-note{margin-top:13px;font-size:10.5px;color:var(--mut);line-height:1.5}
.au-lownleg{color:var(--mut-2)}
.au-foot td{font-weight:700;color:var(--ink);background:var(--surface-2);border-top:1.5px solid var(--line-2)}
.au-desc{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}
.au-gross{font-size:9.5px;color:var(--mut-2);font-weight:500}

/* utox extras */
.au-tier{display:inline-block;font-size:10px;font-weight:700;padding:3px 8px;border-radius:6px}
.au-tier.pre{background:var(--blue-soft);color:var(--blue)} .au-tier.def{background:var(--teal-soft);color:var(--teal)}
.au-ratiopill{display:inline-block;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:7px;white-space:nowrap}
.au-ratiopill.ok{background:var(--ok-bg);color:var(--ok)} .au-ratiopill.bad{background:var(--bad-bg);color:var(--bad)}
.au-gauge{position:relative;height:6px;background:var(--bg-2);border-radius:4px;margin:8px 0 7px;overflow:visible}
.au-gauge-fill{position:absolute;left:0;top:0;height:100%;background:var(--teal);border-radius:4px}
.au-gauge-thr{position:absolute;top:-2px;width:2px;height:10px;background:var(--bad)}
.au-pbar{height:7px;background:var(--bg-2);border-radius:4px;overflow:hidden}
.au-pbar-fill{height:100%;border-radius:4px} .au-pbar-fill.ok{background:var(--teal)} .au-pbar-fill.bad{background:var(--bad)}
.au-insight{background:var(--amber-soft);border:1px solid #f0d8a3;border-radius:var(--r-sm);padding:14px 16px}
.au-insight-h{font-size:12px;font-weight:700;color:#8a5a08;display:flex;align-items:center;gap:7px}
.au-insight-h svg{width:15px;height:15px}
.au-insight-ul{list-style:none;margin:9px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.au-insight-ul li{font-size:12px;color:var(--ink-2)} .au-insight-ul li b{color:#8a5a08;font-weight:800}

/* biller extras */
.au-banner{display:flex;gap:11px;align-items:flex-start;background:var(--blue-soft);border:1px solid #cfe0fb;color:#1e3a8a;border-radius:var(--r-sm);padding:13px 16px;font-size:12.5px;line-height:1.5;margin-top:14px}
.au-banner svg{width:18px;height:18px;flex:none;color:var(--blue);margin-top:1px}
.au-pendbadge{font-size:9px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--mut);background:var(--surface-2);border:1px solid var(--line-2);padding:2px 6px;border-radius:6px;margin-left:5px}

@media(max-width:1100px){.au-iw-kpis{grid-template-columns:1fr 1fr!important}.au-iwtable,.au-cliptable,.au-billtable{font-size:11.5px}}

/* ============ Billing Playbooks page ============ */
.pb-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:1100px){.pb-grid{grid-template-columns:1fr}}
.pb-chip{display:inline-block;padding:3px 9px;border-radius:7px;font-size:11.5px;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin:2px 4px 2px 0;background:#eef4ff;color:#2f6fed;border:1px solid #d8e4fb}
.pb-chip.addon{background:#f0fdf7;color:#10876b;border-color:#c9ecdc}
.pb-chip.fac{background:#fdf4ff;color:#86259b;border-color:#f0d8f7}
.pb-chip.na{background:#f1f5f9;color:#64748b;border-color:#e2e8f0;font-family:inherit;font-weight:600}
.pb-gap{margin-top:9px;padding:9px 12px;border-radius:9px;background:#fdf2f4;border:1px solid #f7d8de;color:#9f3045;font-size:12px;line-height:1.45}
.pb-sign{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:600;background:#e7f6f1;color:#0d7d7a}
.pb-signbtn{height:30px;font-size:12px}
.pb-modal-wrap{position:fixed;inset:0;background:rgba(15,27,45,.45);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.pb-modal{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-3);max-width:760px;width:100%;max-height:84vh;overflow:auto;padding:20px 24px}
.pb-modal.pb-doc{max-width:980px}
.pb-h4{margin:16px 0 7px;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#475569}
.pb-ul{margin:0;padding-left:19px;font-size:12.8px;line-height:1.55;color:#1f2937}
.pb-ul li{margin:4px 0}
.pb-md{margin-top:12px;font-size:13px;line-height:1.6;color:#1f2937}
.pb-md h2{font-size:17px;margin:18px 0 8px}
.pb-md h3{font-size:14.5px;margin:15px 0 7px}
.pb-md h4,.pb-md h5{font-size:13px;margin:12px 0 6px;color:#334155}
.pb-md table{margin:8px 0;font-size:12px}
.pb-md code{background:#f1f5f9;border-radius:5px;padding:1px 5px;font-size:12px}
.pb-md p{margin:4px 0}
.pb-bq{margin:8px 0;padding:8px 14px;border-left:3px solid #cfe0fb;background:var(--blue-soft);color:#1e3a8a;border-radius:0 8px 8px 0;font-size:12.5px}

/* ============================================================================
   DARK GLASS (v14) — Apple liquid-glass skin. Layered translucent surfaces on a
   deep blue-black field, backdrop blur + saturation, hairline rgba borders,
   inner top-light. Overrides the light theme above by cascade; inline-style
   compatibility shims at the bottom remap the recurring hardcoded pastels.
   ============================================================================ */
:root[data-theme="dark"]{
  --bg:#070b16; --bg-2:#0a1020;
  --surface:rgba(255,255,255,.055); --surface-2:rgba(255,255,255,.035);
  --ink:#eef3fb; --ink-2:#c4d0e2; --mut:#8ea3bd; --mut-2:#66799a;
  --line:rgba(255,255,255,.085); --line-2:rgba(255,255,255,.14);
  --navy:#8fb6ff; --navy-2:#a9c6ff;
  --teal:#2dd4bf; --teal-2:#5eead4; --teal-soft:rgba(45,212,191,.13);
  --blue:#60a5fa; --blue-soft:rgba(96,165,250,.14); --violet:#a78bfa; --violet-soft:rgba(167,139,250,.14);
  --rose:#fb7185; --rose-soft:rgba(251,113,133,.13); --amber:#fbbf24; --amber-soft:rgba(251,191,36,.12);
  --green:#34d399; --green-soft:rgba(52,211,153,.13); --red:#fb7185;
  --ok:#34d399; --ok-bg:rgba(52,211,153,.14); --warn:#fbbf24; --warn-bg:rgba(251,191,36,.13);
  --bad:#fb7185; --bad-bg:rgba(251,113,133,.14);
  --shadow-1:0 1px 2px rgba(0,0,0,.35), 0 8px 24px rgba(0,0,0,.25);
  --shadow-2:0 2px 10px rgba(0,0,0,.4), 0 16px 40px rgba(0,0,0,.35);
  --shadow-3:0 24px 64px rgba(0,0,0,.5), 0 6px 16px rgba(0,0,0,.35);
  --glass-hi:inset 0 1px 0 rgba(255,255,255,.07);
}[data-theme="dark"] body{
  color:var(--ink);
  background:
    radial-gradient(1100px 600px at 85% -10%, rgba(45,140,255,.13), transparent 60%),
    radial-gradient(900px 700px at -10% 30%, rgba(45,212,191,.10), transparent 55%),
    radial-gradient(800px 800px at 60% 110%, rgba(167,139,250,.09), transparent 55%),
    linear-gradient(180deg,#0a1122 0%, #070b16 55%, #05080f 100%);
  background-attachment:fixed;
}[data-theme="dark"] ::selection{background:rgba(94,234,212,.3)}[data-theme="dark"] ::-webkit-scrollbar{width:10px;height:10px}[data-theme="dark"] ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:8px;border:2px solid transparent;background-clip:content-box}[data-theme="dark"] ::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.24);background-clip:content-box}[data-theme="dark"] ::-webkit-scrollbar-track{background:transparent}

/* shell */[data-theme="dark"] .sidebar{background:linear-gradient(185deg, rgba(13,22,40,.72), rgba(8,13,26,.78));
  backdrop-filter:blur(22px) saturate(1.5); -webkit-backdrop-filter:blur(22px) saturate(1.5);
  border-right:1px solid rgba(255,255,255,.07); box-shadow:2px 0 32px rgba(0,0,0,.45); color:#9fb2ca}[data-theme="dark"] .sidebar .logo{box-shadow:0 8px 26px rgba(45,212,191,.35), var(--glass-hi)}[data-theme="dark"] .navitem{color:#7288a6}[data-theme="dark"] .navitem:hover{color:#dbe6f3; background:rgba(255,255,255,.06)}[data-theme="dark"] .navitem.on{color:#fff; background:rgba(45,212,191,.16); box-shadow:var(--glass-hi)}[data-theme="dark"] .topbar{background:rgba(10,16,30,.62); backdrop-filter:blur(24px) saturate(1.6); -webkit-backdrop-filter:blur(24px) saturate(1.6);
  border-bottom:1px solid rgba(255,255,255,.07)}[data-theme="dark"] .topbar h1{color:var(--ink)}

/* glass panels */[data-theme="dark"] .card2, [data-theme="dark"] .kpi-card, [data-theme="dark"] .card, [data-theme="dark"] .kpi, [data-theme="dark"] .kpi2, [data-theme="dark"] .scoretile, [data-theme="dark"] .insight, [data-theme="dark"] .wq-chip, [data-theme="dark"] .slicer-pill, [data-theme="dark"] .btn-ghost, [data-theme="dark"] .feetab{
  background:linear-gradient(160deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  backdrop-filter:blur(18px) saturate(1.5); -webkit-backdrop-filter:blur(18px) saturate(1.5);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:var(--shadow-1), var(--glass-hi);
}[data-theme="dark"] .card2:hover, [data-theme="dark"] .kpi-card:hover, [data-theme="dark"] .wq-chip:hover{box-shadow:var(--shadow-2), var(--glass-hi); border-color:rgba(255,255,255,.14)}[data-theme="dark"] .kpi-card:hover{transform:translateY(-2px)}[data-theme="dark"] .insight:hover{border-color:rgba(255,255,255,.16)}[data-theme="dark"] .btn-primary{background:linear-gradient(135deg,#2dd4bf,#0ea5a0); color:#04211e; box-shadow:0 8px 24px rgba(45,212,191,.3), var(--glass-hi)}[data-theme="dark"] .btn-primary:hover{background:linear-gradient(135deg,#5eead4,#14b8a6)}[data-theme="dark"] .btn-ghost{color:var(--ink-2)}[data-theme="dark"] .btn-ghost:hover{border-color:var(--teal); color:var(--teal-2)}[data-theme="dark"] .slicer-pill select{color:var(--ink)}[data-theme="dark"] .slicer-pill select option{background:#0d1526;color:var(--ink)}

/* tables — sticky headers need near-opaque glass so rows scroll beneath cleanly */[data-theme="dark"] .rtable th, [data-theme="dark"] th{background:rgba(13,20,36,.92); backdrop-filter:blur(10px); color:var(--mut)}[data-theme="dark"] .rtable td, [data-theme="dark"] td{border-bottom:1px solid rgba(255,255,255,.06); color:var(--ink-2)}[data-theme="dark"] .rtable tbody tr:hover, [data-theme="dark"] tr.clk:hover{background:rgba(255,255,255,.045)}[data-theme="dark"] .scroll2, [data-theme="dark"] .scroll{scrollbar-width:thin}[data-theme="dark"] .heat td.hc{color:#0f1b2d}  /* heatmap cells carry their own tinted bg — keep dark ink there */

/* skeleton shimmer */[data-theme="dark"] .skel{background:linear-gradient(90deg, rgba(255,255,255,.06) 25%, rgba(255,255,255,.11) 50%, rgba(255,255,255,.06) 75%); background-size:200% 100%}

/* misc component recolors */[data-theme="dark"] .infonote{background:var(--blue-soft); border-color:rgba(96,165,250,.3); color:#bcd6fd}[data-theme="dark"] .qlink{background:var(--teal-soft); border-color:rgba(45,212,191,.3); color:var(--teal-2)}[data-theme="dark"] .qlink:hover{background:var(--teal); color:#04211e}[data-theme="dark"] .delta-pill.flat{background:rgba(255,255,255,.07)}[data-theme="dark"] .b-pending{background:rgba(255,255,255,.07)}[data-theme="dark"] .feetab{color:var(--ink-2)}[data-theme="dark"] .crumbs .crumb{color:var(--teal-2)}[data-theme="dark"] .card2 .head .act{color:var(--teal-2)}

/* ---- inline-style compatibility shims: remap the recurring hardcoded light pastels ---- */[data-theme="dark"] [style*="background:#f8fafc"]{background:rgba(255,255,255,.045)!important}[data-theme="dark"] [style*="background:#eef4ff"]{background:rgba(96,165,250,.12)!important;border-color:rgba(96,165,250,.28)!important}[data-theme="dark"] [style*="background:#fffbeb"]{background:rgba(251,191,36,.10)!important;border-color:rgba(251,191,36,.25)!important}[data-theme="dark"] [style*="background:#f5f3ff"]{background:rgba(167,139,250,.12)!important;border-color:rgba(167,139,250,.28)!important}[data-theme="dark"] [style*="background:#eef2f7"]{background:rgba(255,255,255,.10)!important}[data-theme="dark"] [style*="background:#e7f6f2"]{background:rgba(45,212,191,.14)!important}[data-theme="dark"] [style*="background:#fdecef"]{background:rgba(251,113,133,.14)!important}[data-theme="dark"] [style*="background:#fff7e8"]{background:rgba(251,191,36,.13)!important}[data-theme="dark"] [style*="background:#fffbea"]{background:rgba(251,191,36,.11)!important}[data-theme="dark"] [style*="background:#e4f4ee"]{background:rgba(52,211,153,.14)!important}[data-theme="dark"] [style*="background:#f1f5f9"]{background:rgba(255,255,255,.08)!important}[data-theme="dark"] [style*="color:#0f1b2d"]{color:#eef3fb!important}[data-theme="dark"] [style*="color:#334155"]{color:#c4d0e2!important}[data-theme="dark"] [style*="color:#475569"]{color:#aebdd2!important}[data-theme="dark"] [style*="color:#64748b"]{color:#94a7c0!important}[data-theme="dark"] [style*="color:#0d7d7a"]{color:#5eead4!important}[data-theme="dark"] [style*="color:#0a9b94"]{color:#5eead4!important}[data-theme="dark"] [style*="color:#b4322f"]{color:#fda4af!important}[data-theme="dark"] [style*="color:#b4690e"]{color:#fcd34d!important}[data-theme="dark"] [style*="color:#9b2c3a"]{color:#fda4af!important}[data-theme="dark"] [style*="color:#b91c1c"]{color:#fca5a5!important}[data-theme="dark"] [style*="color:#1d4ed8"]{color:#93c5fd!important}[data-theme="dark"] [style*="color:#1e3a8a"]{color:#93c5fd!important}[data-theme="dark"] [style*="color:#2f6fed"]{color:#93c5fd!important}[data-theme="dark"] [style*="color:#10876b"]{color:#6ee7b7!important}[data-theme="dark"] [style*="color:#16a34a"]{color:#6ee7b7!important}[data-theme="dark"] [style*="color:#d6455d"]{color:#fb7185!important}[data-theme="dark"] [style*="color:#e08a1e"]{color:#fbbf24!important}[data-theme="dark"] [style*="color:#6d5bd0"]{color:#c4b5fd!important}[data-theme="dark"] [style*="color:#4c1d95"]{color:#c4b5fd!important}[data-theme="dark"] [style*="color:#92400e"]{color:#fcd34d!important}[data-theme="dark"] [style*="color:#0f2740"]{color:#dce7f5!important}
/* second sweep of inline pastels */[data-theme="dark"] [style*="background:#e7f6f1"]{background:rgba(45,212,191,.13)!important}[data-theme="dark"] [style*="background:#eef2ff"]{background:rgba(129,140,248,.13)!important}[data-theme="dark"] [style*="background:#f0f9ff"]{background:rgba(96,165,250,.11)!important}[data-theme="dark"] [style*="background:#f0fdf4"]{background:rgba(52,211,153,.12)!important;border-color:rgba(52,211,153,.3)!important}[data-theme="dark"] [style*="background:#fafaf9"]{background:rgba(255,255,255,.05)!important}[data-theme="dark"] [style*="background:#fef2f2"]{background:rgba(251,113,133,.12)!important;border-color:rgba(251,113,133,.3)!important}[data-theme="dark"] [style*="background:#fef3c7"]{background:rgba(251,191,36,.14)!important}[data-theme="dark"] [style*="background:#fff7ed"]{background:rgba(251,146,60,.11)!important;border-color:rgba(251,146,60,.3)!important}[data-theme="dark"] [style*="background:#fee2e2"]{background:rgba(251,113,133,.16)!important}[data-theme="dark"] [style*="background:#dcfce7"]{background:rgba(52,211,153,.16)!important}[data-theme="dark"] [style*="background:#dbeafe"]{background:rgba(96,165,250,.16)!important}[data-theme="dark"] [style*="background:#fde68a"]{background:rgba(251,191,36,.2)!important}[data-theme="dark"] [style*="color:#065f46"]{color:#6ee7b7!important}[data-theme="dark"] [style*="color:#166534"]{color:#6ee7b7!important}[data-theme="dark"] [style*="color:#991b1b"]{color:#fda4af!important}[data-theme="dark"] [style*="color:#7c2d12"]{color:#fdba74!important}[data-theme="dark"] [style*="color:#9a3412"]{color:#fdba74!important}[data-theme="dark"] [style*="color:#a16207"]{color:#fcd34d!important}[data-theme="dark"] [style*="color:#854d0e"]{color:#fcd34d!important}[data-theme="dark"] [style*="color:#155e75"]{color:#7dd3fc!important}[data-theme="dark"] [style*="color:#0c4a6e"]{color:#7dd3fc!important}[data-theme="dark"] [style*="color:#3730a3"]{color:#a5b4fc!important}[data-theme="dark"] [style*="color:#5b21b6"]{color:#c4b5fd!important}[data-theme="dark"] [style*="color:#374151"]{color:#c4d0e2!important}[data-theme="dark"] [style*="color:#1f2937"]{color:#e2eaf5!important}[data-theme="dark"] [style*="color:#111827"]{color:#eef3fb!important}[data-theme="dark"] [style*="color:#0369a1"]{color:#7dd3fc!important}[data-theme="dark"] [style*="color:#075985"]{color:#7dd3fc!important}[data-theme="dark"] [style*="color:#0f9d58"]{color:#6ee7b7!important}[data-theme="dark"] [style*="color:#44403c"]{color:#c4d0e2!important}[data-theme="dark"] [style*="color:#92610e"]{color:#fcd34d!important}[data-theme="dark"] [style*="color:#b45309"]{color:#fcd34d!important}
/* form controls */[data-theme="dark"] input, [data-theme="dark"] textarea{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:var(--ink);
  border-radius:9px; caret-color:var(--teal-2)}[data-theme="dark"] input::placeholder, [data-theme="dark"] textarea::placeholder{color:var(--mut-2)}[data-theme="dark"] input:focus, [data-theme="dark"] textarea:focus, [data-theme="dark"] select:focus{outline:none; border-color:rgba(45,212,191,.5); box-shadow:0 0 0 3px rgba(45,212,191,.15)}[data-theme="dark"] select{background:rgba(255,255,255,.06); color:var(--ink); border:1px solid rgba(255,255,255,.12); border-radius:9px}[data-theme="dark"] select option{background:#0d1526; color:var(--ink)}[data-theme="dark"] button{color:inherit}[data-theme="dark"] [style*="background:#fff;"], [data-theme="dark"] [style*='background:#fff"']{background:rgba(255,255,255,.16)!important;color:#eef3fb!important}

/* ---- Claim 360 lifecycle storyboard (#/claim/{n} + compact patient pane) ---- */
.wrap2:has(.lc-page:not(.compact)){padding-bottom:200px}
.lc-hero{
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid var(--line); border-radius:18px; padding:18px 20px 14px;
  box-shadow:var(--shadow-2), var(--glass-hi);
}
.lc-hero-top{display:flex; justify-content:space-between; align-items:flex-start; gap:16px}
.lc-who{display:flex; gap:12px; align-items:flex-start; min-width:0}
.lc-pulse{width:10px; height:10px; border-radius:50%; margin-top:7px; flex-shrink:0; background:var(--mut-2)}
.lc-pulse.ok{background:var(--green); box-shadow:0 0 0 6px var(--green-soft)}
.lc-pulse.warn{background:var(--amber); box-shadow:0 0 0 6px var(--amber-soft)}
.lc-pulse.bad{background:var(--rose); box-shadow:0 0 0 6px var(--rose-soft)}
.lc-who h2{font-size:20px; font-weight:750; letter-spacing:-.03em; color:var(--ink)}
.lc-meta{color:var(--mut); font-size:13px; margin-top:2px}
.lc-meta span{color:var(--ink)}
.lc-pills{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px}
.lc-pill{
  font-size:11.5px; font-weight:500; background:var(--surface-2);
  border:1px solid var(--line); color:var(--ink-2); padding:4px 8px; border-radius:999px;
}
.lc-pill b{color:var(--ink); font-weight:600}
.lc-pill.warn{background:var(--amber-soft); border-color:rgba(251,191,36,.28); color:var(--amber)}
.lc-pill.bad{background:var(--rose-soft); border-color:rgba(251,113,133,.3); color:var(--rose)}
.lc-pill.ok{background:var(--green-soft); border-color:rgba(52,211,153,.28); color:var(--green)}
.lc-pill.stat{background:var(--violet-soft); border-color:rgba(167,139,250,.28); color:var(--violet)}
.lc-money{display:grid; grid-template-columns:repeat(3, minmax(110px,1fr)); gap:8px; min-width:min(420px,100%)}
.lc-mcell{background:rgba(0,0,0,.18); border:1px solid var(--line); border-radius:12px; padding:10px 12px}
.lc-mcell .k{font-size:11px; color:var(--mut)}
.lc-knote{font-weight:500; opacity:.8}
.lc-mcell .v{font-size:18px; font-weight:750; letter-spacing:-.03em; margin-top:2px; color:var(--ink)}
.lc-mcell .v.open{color:var(--rose)}
.lc-mcell .v.ok{color:var(--teal)}
.lc-mcell .bar{height:4px; border-radius:99px; background:rgba(255,255,255,.08); margin-top:8px; overflow:hidden}
.lc-mcell .bar>i{display:block; height:100%; border-radius:99px}
.lc-money-full{margin-top:12px; padding-top:12px; border-top:1px solid var(--line)}
.lc-money-full .lc-kicker{margin-bottom:4px}
.lc-reject{margin-top:10px; background:var(--rose-soft); border:1px solid rgba(251,113,133,.35); border-radius:12px; padding:10px 12px}
.lc-reject-body{white-space:pre-wrap; overflow-wrap:anywhere; font-size:12.5px; line-height:1.45; color:var(--ink-2); margin-top:6px}
.lc-integrity{margin:8px 0 24px; display:flex; flex-wrap:wrap; gap:6px; padding-left:36px}
.lc-money-more summary,.lc-note summary{cursor:pointer; color:var(--mut); font-size:12.5px; font-weight:600}
.lc-journey{display:flex; align-items:flex-end; justify-content:space-between; margin:26px 4px 14px; gap:12px}
.lc-journey h3{font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--mut); font-weight:600}
.lc-journey p{font-size:13px; color:var(--mut-2); margin-top:4px}
.lc-legend{display:flex; gap:14px; font-size:11.5px; color:var(--mut); flex-wrap:wrap}
.lc-legend i{width:8px; height:8px; border-radius:50%; display:inline-block; margin-right:6px}
.lc-timeline{position:relative; padding-left:36px}
.lc-spine{
  position:absolute; left:15px; top:12px; bottom:12px; width:2px;
  background:linear-gradient(180deg, var(--green), var(--blue) 18%, var(--rose) 42%, var(--amber) 62%, var(--blue) 82%, var(--blue));
  opacity:.65;
}
.lc-tier{position:relative; margin-bottom:14px}
.lc-node{
  position:absolute; left:-36px; top:18px; width:32px; height:32px; border-radius:50%;
  display:grid; place-items:center; background:var(--bg-2); border:2px solid var(--line-2);
  z-index:2; font-size:12px; font-weight:700; color:var(--mut);
}
.lc-node.done{border-color:var(--green); background:var(--green-soft); color:var(--green)}
.lc-node.warn{border-color:var(--amber); background:var(--amber-soft); color:var(--amber)}
.lc-node.bad{border-color:var(--rose); background:var(--rose-soft); color:var(--rose)}
.lc-node.now{border-color:var(--blue); background:var(--blue-soft); color:var(--blue); box-shadow:0 0 0 6px var(--blue-soft)}
.lc-node.skip{border-color:var(--line-2); border-style:dashed; color:var(--mut-2); background:transparent}
.lc-card{
  background:linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid var(--line); border-radius:16px; padding:16px 18px 14px;
  box-shadow:var(--shadow-1);
}
.lc-card.now{border-color:rgba(96,165,250,.45); box-shadow:0 0 0 1px rgba(96,165,250,.18), var(--shadow-2)}
.lc-card.bad{border-color:rgba(251,113,133,.35)}
.lc-card.warn{border-color:rgba(251,191,36,.3)}
.lc-card.skip{opacity:.72; border-style:dashed}
.lc-card-h{display:flex; justify-content:space-between; align-items:flex-start; gap:12px}
.lc-kicker{font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--mut-2)}
.lc-card.now .lc-kicker{color:var(--blue)}
.lc-card.bad .lc-kicker{color:var(--rose)}
.lc-card.warn .lc-kicker{color:var(--amber)}
.lc-title{font-size:16px; font-weight:650; letter-spacing:-.02em; margin-top:2px; color:var(--ink)}
.lc-when{font-size:12px; color:var(--mut); text-align:right; white-space:nowrap}
.lc-when b{display:block; color:var(--ink); font-weight:600; font-size:13px}
.lc-body{margin-top:12px; color:var(--ink-2); font-size:13.5px; line-height:1.5}
.lc-lead{margin-bottom:8px; color:var(--ink-2)}
.lc-g2{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.lc-g3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px}
.lc-fact{background:rgba(0,0,0,.16); border:1px solid var(--line); border-radius:12px; padding:10px 12px; min-width:0}
.lc-l{font-size:11px; color:var(--mut)}
.lc-d{font-size:13.5px; font-weight:600; margin-top:2px; color:var(--ink)}
.lc-d.bad{color:var(--rose)}
.lc-d.ok{color:var(--teal)}
.lc-d.warn{color:var(--amber)}
.lc-s{font-size:11.5px; color:var(--mut-2); margin-top:2px; overflow-wrap:anywhere; white-space:normal}
.lc-rowbits{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px}
.lc-bit{font-size:11.5px; background:rgba(0,0,0,.16); border:1px solid var(--line); padding:4px 8px; border-radius:8px; color:var(--ink-2)}
.lc-bit em{color:var(--mut); font-style:normal; margin-right:4px}
.lc-linkish{display:inline-flex; align-items:center; gap:6px; color:var(--blue); font-size:12.5px; font-weight:600; text-decoration:none; margin-top:10px}
.lc-file{color:var(--blue); font-weight:600; text-decoration:none}
.lc-file:hover{text-decoration:underline}
table.lc-mini td.lc-note-cell{white-space:pre-wrap; overflow-wrap:anywhere; max-width:52ch}
table.lc-mini{width:100%; border-collapse:collapse; margin-top:10px; font-size:12.5px}
table.lc-mini th{
  text-align:left; color:var(--mut-2); font-weight:600; font-size:10.5px;
  letter-spacing:.08em; text-transform:uppercase; padding:6px 8px; border-bottom:1px solid var(--line);
}
table.lc-mini td{padding:8px; border-bottom:1px solid var(--line); color:var(--ink-2)}
table.lc-mini td.mono, table.lc-mini .mono{font-variant-numeric:tabular-nums; font-weight:600; color:var(--ink)}
table.lc-mini tr:last-child td{border-bottom:0}
.lc-docs{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px}
.lc-doc{
  display:flex; align-items:center; gap:8px; background:rgba(0,0,0,.16);
  border:1px dashed var(--line-2); border-radius:10px; padding:8px 10px;
  font-size:12px; color:var(--mut); min-width:180px;
}
.lc-doc.missing{color:var(--rose); border-color:rgba(251,113,133,.35); background:var(--rose-soft)}
.lc-ico{width:28px; height:28px; border-radius:7px; background:rgba(255,255,255,.06); display:grid; place-items:center; font-size:13px; flex:none}
.lc-why{display:grid; grid-template-columns:1.4fr .9fr; gap:12px; margin-top:12px}
.lc-plan{background:var(--blue-soft); border:1px solid rgba(96,165,250,.28); border-radius:14px; padding:14px}
.lc-plan h4,.lc-whocall h4{font-size:13px; font-weight:700; color:var(--ink); margin-bottom:8px}
.lc-step{display:flex; gap:10px; padding:8px 0; border-top:1px solid var(--line)}
.lc-step:first-of-type{border-top:0; padding-top:0}
.lc-n{
  width:22px; height:22px; border-radius:50%; background:rgba(96,165,250,.25); color:var(--blue);
  font-size:11px; font-weight:700; display:grid; place-items:center; flex-shrink:0; margin-top:1px;
}
.lc-step b{display:block; font-size:13px; color:var(--ink)}
.lc-step span{display:block; font-size:12px; color:var(--mut); margin-top:2px; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere}
.lc-whocall{background:rgba(0,0,0,.16); border:1px solid var(--line); border-radius:14px; padding:14px}
.lc-call{background:rgba(0,0,0,.16); border:1px solid var(--line); border-radius:12px; padding:10px 12px; margin-bottom:8px}
.lc-nm{font-weight:650; font-size:13.5px; color:var(--ink)}
.lc-ph{color:var(--blue); font-size:13px; margin-top:2px; font-weight:600}
.lc-hint{color:var(--mut); font-size:12px; margin-top:4px; line-height:1.4}
.lc-reasons{margin-top:10px}
.lc-reasons li{margin-left:16px; color:var(--ink-2); font-size:12.5px; line-height:1.55}
.lc-age{
  display:inline-flex; align-items:center; gap:6px; font-size:11.5px; color:var(--amber);
  background:var(--amber-soft); border:1px solid rgba(251,191,36,.28);
  padding:3px 8px; border-radius:999px; margin-top:6px;
}
.lc-excerpt{margin-top:8px; white-space:pre-wrap; font-size:12.5px; line-height:1.45; color:var(--ink-2)}
.lc-note{margin-top:10px}
.lc-compact-now{margin-top:14px; border:1px solid rgba(96,165,250,.35); border-radius:16px; padding:14px 16px; background:var(--blue-soft)}
.lc-dock{
  position:fixed; left:var(--sidebar); right:0; bottom:0; z-index:40;
  background:linear-gradient(180deg, transparent, rgba(7,11,20,.88) 28%);
  backdrop-filter:blur(16px); border-top:1px solid var(--line); padding:14px 28px 16px;
}
.lc-dock-inner{background:rgba(18,25,43,.92); border:1px solid var(--line-2); border-radius:16px; padding:12px 14px}
.lc-dock-h{display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; gap:10px; flex-wrap:wrap}
.lc-dock-h h4{font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--mut); margin:0}
.lc-chips{display:flex; gap:6px; flex-wrap:wrap}
.lc-chip{
  font-size:11.5px; padding:4px 8px; border-radius:999px; cursor:pointer;
  background:rgba(255,255,255,.06); border:1px solid var(--line-2); color:var(--ink-2);
}
.lc-chip:hover{border-color:var(--teal); color:var(--teal-2)}
.lc-ta{
  width:100%; min-height:64px; resize:vertical; background:rgba(0,0,0,.28);
  border:1px solid var(--line); color:var(--ink); border-radius:12px; padding:10px 12px;
  font:13.5px/1.5 Inter,sans-serif; outline:none;
}
.lc-dock-actions{display:flex; justify-content:space-between; align-items:center; margin-top:10px; gap:12px; flex-wrap:wrap}
.lc-dock-actions .lc-hint{flex:1; min-width:220px; margin:0}
@media(max-width:1100px){
  .lc-hero-top,.lc-why,.lc-g3,.lc-g2{grid-template-columns:1fr; display:grid}
  .lc-hero-top{display:flex; flex-direction:column}
  .lc-money{min-width:0; width:100%}
  .lc-when{white-space:normal; text-align:left}
}
.lc-page.compact .lc-money{min-width:0; grid-template-columns:repeat(3,minmax(0,1fr))}
.lc-page.compact .lc-who h2{font-size:16px}
.lc-page.compact .lc-mcell .v{font-size:15px}
