/* InjuryTrack. System fonts only: a PHI app makes no third-party
   requests (no Google Fonts, CDNs or analytics), so nothing about who is
   viewing which page leaks to anyone else. */
:root{
  /* Brand: Indigo (actions, links), Mint (progress, done) and Navy (text,
     sidebar), on a light indigo-gray. Mint is a fill only (navy text on it);
     it is too light for text on white.
     Supporting colors carry meaning, used consistently everywhere:
     Red = urgent / overdue, Amber = needs attention, Blue = information /
     coming up, Violet = legal stages, Teal = settled. */
  --navy:#0F1733;--navy-2:#1B2552;--indigo:#2B3FD6;--indigo-dark:#1F2DA6;--mint:#5EEAD4;--mint-ink:#0F766E;--mist:#F4F6FB;
  --red:#D64550;--red-ink:#A3222E;--red-tint:rgba(214,69,80,0.12);
  --amber:#E89B1C;--amber-ink:#8A5300;--amber-tint:rgba(232,155,28,0.16);
  --blue:#2F6FDE;--blue-ink:#1E4FA8;--blue-tint:rgba(47,111,222,0.11);
  --violet:#6E56CF;--violet-tint:rgba(110,86,207,0.12);
  --teal:#0E9F9A;--teal-tint:rgba(14,159,154,0.12);
  --slate:#8FA3BF;
  --ink:var(--navy);--muted:rgba(15,23,51,0.68);--bg:var(--mist);--bg-2:rgba(15,23,51,0.06);--surface:#FFFFFF;
  --brand:var(--indigo);--brand-dark:var(--indigo-dark);--brand-light:#8F9BF0;--brand-tint:rgba(43,63,214,0.13);
  --accent:var(--mint);--accent-tint:rgba(94,234,212,0.22);
  --warn:var(--amber);--warn-ink:var(--amber-ink);--warn-tint:var(--amber-tint);--line:rgba(15,23,51,0.12);--danger:var(--red);--danger-tint:var(--red-tint);
  --nav-bg:linear-gradient(180deg,var(--navy) 0%,#141E45 100%);--nav-ink:rgba(255,255,255,0.78);
  --radius:10px;--shadow:0 1px 2px rgba(15,23,51,0.05),0 6px 20px rgba(15,23,51,0.05);
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;}
a{color:var(--brand-dark);}
h1,h2,h3{font-weight:650;letter-spacing:-0.02em;}
h1{font-size:1.55rem;}h2{font-size:1.08rem;}h3{font-size:0.98rem;}
.boot{padding:60px;text-align:center;color:var(--muted);}
.muted{color:var(--muted);}
.small{font-size:0.82rem;}
.mono{font-family:var(--mono);font-size:0.85em;}
.nowrap{white-space:nowrap;}
.right{text-align:right;}
.hidden{display:none !important;}
.spacer{flex:1 1 auto;}

/* ---------- buttons & inputs ---------- */
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--indigo);color:#fff;font-weight:600;padding:8px 14px;border-radius:7px;border:1px solid var(--brand);font:500 0.86rem var(--sans);cursor:pointer;text-decoration:none;white-space:nowrap;}
.btn:hover{background:var(--navy);border-color:var(--navy);color:#fff;}
.btn.ghost{background:transparent;color:var(--navy);border-color:rgba(15,23,51,0.22);}
.btn.ghost:hover{background:var(--bg-2);color:var(--navy);}
.btn.danger{background:transparent;color:var(--danger);border-color:var(--danger);}
.btn.danger:hover{background:var(--navy);color:#fff;}
.btn.sm{padding:4px 9px;font-size:0.78rem;}
.btn.link{background:none;border:none;color:var(--navy);padding:0;text-decoration:underline;}
.btn:disabled{opacity:0.5;cursor:default;}
input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid rgba(15,23,51,0.22);border-radius:7px;padding:7px 9px;width:100%;}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-light);outline-offset:0;border-color:var(--brand);}
input[type=checkbox]{width:auto;}
textarea{resize:vertical;min-height:70px;}
label{display:block;font-size:0.78rem;font-weight:600;color:var(--muted);margin:10px 0 4px;}
label.check{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--ink);font-size:0.86rem;}
.err{color:var(--danger);font-size:0.84rem;margin-top:8px;min-height:1.2em;}
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:0 14px;}
.form-grid .full{grid-column:1/-1;}

/* ---------- auth ---------- */
.auth-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px;}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:30px 28px;width:100%;max-width:400px;}
.auth-card .brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:18px;}
.auth-card .brand img{height:40px;width:auto;}
.auth-card .btn{width:100%;justify-content:center;margin-top:16px;padding:10px;}
.auth-card p{margin-top:6px;color:var(--muted);font-size:0.88rem;}
.qr-box{display:flex;justify-content:center;margin:14px 0;}
.qr-box canvas{width:180px;height:180px;border:1px solid var(--line);border-radius:6px;}
.secret{font-family:var(--mono);font-size:0.8rem;word-break:break-all;background:var(--bg);padding:8px;border-radius:4px;text-align:center;}
.notice{color:var(--navy);background:var(--warn-tint);border:1px solid var(--warn);border-radius:6px;padding:10px 12px;font-size:0.84rem;margin-top:14px;}

/* ---------- shell ---------- */
.shell{display:grid;grid-template-columns:220px 1fr;min-height:100%;}
.sidebar{background:var(--nav-bg);color:var(--nav-ink);padding:18px 12px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;}
.sidebar .brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:4px 8px 18px;font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:-0.02em;}
.sidebar .brand img{height:30px;width:auto;align-self:flex-start;}
.sidebar .brand small{color:var(--nav-ink);font-weight:400;max-width:190px;font-size:0.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;font-family:var(--mono);font-size:0.62rem;letter-spacing:0.06em;text-transform:uppercase;opacity:0.7;}
.sidebar a{color:inherit;text-decoration:none;padding:8px 10px;border-radius:5px;font-size:0.9rem;display:flex;align-items:center;justify-content:space-between;}
.sidebar a:hover{background:rgba(255,255,255,0.08);}
.sidebar a.active{background:var(--indigo);color:#fff;font-weight:650;}
.sidebar .who{margin-top:auto;font-size:0.78rem;opacity:0.85;padding:10px 8px 0;border-top:1px solid rgba(255,255,255,0.15);}
.sidebar .who .btn{margin-top:8px;color:var(--nav-ink);border-color:rgba(255,255,255,0.35);}
.sidebar .who .btn:hover{background:rgba(255,255,255,0.1);}
.main{padding:24px 28px 60px;min-width:0;}
.page-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.page-head .sub{color:var(--muted);font-size:0.86rem;}
.phi-banner{font-size:0.72rem;color:var(--muted);margin-bottom:14px;font-family:var(--mono);letter-spacing:0.03em;text-transform:uppercase;}

/* ---------- cards / tiles ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;}
.card + .card{margin-top:16px;}
.card-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:18px;}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;}
.tile .k{font-size:0.74rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0.04em;}
.tile .v{font-size:1.45rem;font-weight:650;letter-spacing:-0.02em;margin-top:2px;font-variant-numeric:tabular-nums;}
.tile.accent{border-left:4px solid var(--brand);}
.tile.warn{border-left:4px solid var(--warn);}
.grid-2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start;}

/* ---------- pipeline ---------- */
.pipeline{display:flex;gap:6px;flex-wrap:wrap;}
.pipe{flex:1 1 110px;background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:8px 10px;cursor:pointer;text-align:left;font:inherit;color:inherit;}
.pipe:hover{border-color:var(--brand);}
.pipe .n{font-size:1.25rem;font-weight:650;}
.pipe .l{font-size:0.74rem;color:var(--muted);}

/* ---------- tables ---------- */
.table-wrap{overflow-x:auto;margin:0 -2px;}
table{width:100%;border-collapse:collapse;font-size:0.86rem;}
th{text-align:left;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--muted);font-weight:600;padding:8px;border-bottom:2px solid var(--line);white-space:nowrap;background:var(--surface);position:sticky;top:0;}
th.sortable{cursor:pointer;}
th.sortable:hover{color:var(--ink);}
td{padding:8px;border-bottom:1px solid var(--bg-2);vertical-align:top;}
tr.click{cursor:pointer;}
tr.click:hover td{background:var(--brand-tint);}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
tfoot td{font-weight:700;border-top:2px solid var(--line);border-bottom:none;}
.empty{padding:22px;text-align:center;color:var(--muted);}

/* ---------- chips / badges ---------- */
.chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:0.74rem;font-weight:600;background:var(--bg-2);color:var(--ink);white-space:nowrap;}
.chip.teal{background:var(--brand-tint);color:var(--navy);}
.chip.ochre{background:transparent;box-shadow:inset 0 0 0 1.5px var(--navy);color:var(--navy);}
.chip.red{background:var(--navy);color:#fff;}
.chip.done{background:var(--brand-tint);color:var(--brand-dark);}
.chip.na{background:var(--bg-2);color:var(--muted);}
.chip.overdue{background:var(--navy);color:#fff;}
.chip.due{background:transparent;box-shadow:inset 0 0 0 1.5px var(--navy);color:var(--navy);}
.chip.upcoming,.chip.waiting{background:transparent;border:1px solid var(--line);color:var(--muted);}
.badge-count{display:inline-block;min-width:20px;padding:0 6px;border-radius:10px;background:var(--navy);color:#fff;font-size:0.72rem;font-weight:700;text-align:center;}
.badge-count.med{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy);}
.badge-count.zero{background:var(--bg-2);color:var(--muted);}

/* ---------- alerts ---------- */
.alerts{list-style:none;}
.alerts li{display:flex;gap:10px;align-items:flex-start;padding:8px 2px;border-bottom:1px solid var(--bg-2);}
.alerts li:last-child{border-bottom:none;}
.alerts .dot{flex:0 0 9px;height:9px;border-radius:50%;margin-top:6px;}
.alerts .high .dot{background:var(--navy);}
.alerts .medium .dot{background:transparent;box-shadow:inset 0 0 0 2px var(--navy);}
.alerts .low .dot{background:rgba(15,23,51,0.22);}
.alerts .who{font-weight:600;}
.alert-box{border-radius:6px;padding:4px 12px;margin-bottom:14px;border:1px solid var(--line);background:var(--surface);}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px;}
.filters input,.filters select{width:auto;min-width:150px;}
.filters input[type=search]{min-width:220px;}

/* ---------- case page ---------- */
.case-head{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px;}
.case-head h1{line-height:1.15;}
.case-head .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;align-items:center;}
.case-head select{width:auto;}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto;}
.tabs button{background:none;border:none;border-bottom:3px solid transparent;padding:9px 12px;font:500 0.88rem var(--sans);color:var(--muted);cursor:pointer;white-space:nowrap;}
.tabs button:hover{color:var(--ink);}
.tabs button.active{color:var(--brand-dark);border-bottom-color:var(--brand);font-weight:600;}
.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;font-size:0.88rem;}
.kv dt{color:var(--muted);}
.kv dd{overflow-wrap:anywhere;white-space:pre-wrap;}
.checklist-group h3{margin:16px 0 6px;}
.check-row{display:grid;grid-template-columns:minmax(0,1fr) 92px 150px 70px;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--bg-2);}
.check-row .lbl{font-size:0.9rem;}
.check-row .lbl small{display:block;color:var(--muted);}
.check-row input[type=date]{padding:4px 6px;}
.money-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed var(--bg-2);}
.money-row strong{font-variant-numeric:tabular-nums;}
.bar{height:8px;background:var(--bg-2);border-radius:4px;overflow:hidden;margin-top:6px;}
.bar > i{display:block;height:100%;background:var(--brand);}
.bar.warn > i{background:var(--navy);}
.bar.over > i{background:var(--danger);}
.trend-up{color:var(--navy);font-weight:700;}
.trend-down{color:var(--navy);}
.dropzone{border:2px dashed var(--line);border-radius:6px;padding:16px;text-align:center;color:var(--muted);}
.dropzone.over{border-color:var(--brand);background:var(--brand-tint);}

/* ---------- modal / toast ---------- */
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,51,0.45);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:100;overflow-y:auto;}
.modal{background:var(--surface);border-radius:10px;box-shadow:0 20px 50px rgba(15,23,51,0.3);width:100%;max-width:640px;padding:20px 22px;}
.modal.wide{max-width:820px;}
.modal-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.modal-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap;}
#toast-host{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;}
.toast{background:var(--indigo);color:#fff;padding:10px 18px;border-radius:6px;box-shadow:var(--shadow);font-weight:500;max-width:min(460px,calc(100vw - 32px));}
.toast.error{background:var(--navy);color:#fff;}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .grid-2{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .shell{grid-template-columns:1fr;}
  .sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;padding:10px 12px;gap:2px;}
  .sidebar .brand{padding:0 8px 0 0;width:100%;}
  .sidebar a{padding:6px 9px;font-size:0.84rem;}
  .sidebar .who{margin-top:6px;width:100%;display:flex;align-items:center;gap:10px;padding:8px 0 0;}
  .sidebar .who .btn{margin-top:0;}
  .main{padding:16px 16px 50px;}
  .check-row{grid-template-columns:1fr 1fr;}
  .check-row .lbl{grid-column:1/-1;}
  .kv{grid-template-columns:1fr;}
  .kv dt{margin-top:6px;}
  .filters input,.filters select,.filters input[type=search]{min-width:0;flex:1 1 140px;}
}
@media print{
  .sidebar,.tabs,.btn,.filters{display:none !important;}
  .shell{display:block;}
}
.mt{margin-top:14px;}
.prewrap{white-space:pre-wrap;overflow-wrap:anywhere;}
.secret.big{font-size:1.1rem;}
.muted-light{opacity:0.75;}

/* ---------- SaaS: shell column, banners, plans, signup ---------- */
.main-col{min-width:0;display:flex;flex-direction:column;}
.banner{padding:10px 28px;font-size:0.86rem;font-weight:500;border-bottom:1px solid var(--line);}
.banner a{font-weight:650;margin-left:4px;}
.banner.info{background:var(--brand-tint);color:var(--navy);}
.banner.warn{background:var(--surface);color:var(--navy);box-shadow:inset 4px 0 0 var(--navy);}
.banner.danger{background:var(--navy);color:#fff;}
.banner.danger a{color:var(--indigo);}
.notice.ok{background:var(--accent-tint);border-color:var(--accent);}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.plan-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;}
.plan-card.current{border:2px solid var(--indigo);}
.plan-card .price{font-size:1.9rem;font-weight:700;letter-spacing:-0.03em;}
.plan-card .price span{font-size:0.85rem;font-weight:500;color:var(--muted);}
.plan-card ul{list-style:none;display:grid;gap:4px;margin:4px 0 8px;}
.plan-card ul li::before{content:"✓ ";color:var(--accent);font-weight:700;}
.plan-card .btn{justify-content:center;margin-top:auto;}
.auth-wrap{background:radial-gradient(1200px 500px at 50% -10%, rgba(43,63,214,0.16), transparent 70%), var(--bg);}
.auth-card.wide{max-width:560px;}
.auth-card .brand{text-decoration:none;color:inherit;}
.auth-switch{text-align:center;margin-top:14px;}
.hipaa-note{text-align:center;margin-top:10px;}
.hipaa-note b{color:var(--indigo-dark);}
@media (max-width:760px){ .banner{padding:10px 16px;} }
td select{min-width:110px;width:auto;}
.notice{color:var(--navy);margin-bottom:14px;}
.onboard{border-left:4px solid var(--accent);margin-bottom:16px;}
.onboard ol{padding-left:20px;display:grid;gap:8px;}
/* ---------- insurance coverage & money flow ---------- */
.cov{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:10px;background:var(--surface);}
.cov-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;}
.cov-nums{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-variant-numeric:tabular-nums;}
.mt-sm{margin:8px 0 0;}
input.amt{width:110px;text-align:right;padding:4px 6px;}
.row-acts{display:flex;flex-direction:column;gap:4px;align-items:stretch;}
/* ---------- EHR ledger upload ---------- */
.banner-inline{background:var(--brand-tint);border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:0.86rem;color:var(--navy);}
.checks{list-style:none;display:grid;gap:6px;margin-top:6px;}
.checks li{display:flex;align-items:baseline;gap:8px;font-size:0.88rem;}
.checks .ck{flex:0 0 20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:0.72rem;font-weight:700;}
.ck-ok .ck{background:var(--mint);color:var(--navy);}
.ck-fill .ck{background:transparent;box-shadow:inset 0 0 0 1.5px var(--navy);color:var(--navy);}
.ck-mismatch .ck{background:var(--navy);color:#fff;}
.ck-missing .ck{background:var(--mist);color:var(--navy);}

/* ---------- tasks, activity, audit ---------- */
.linklike{background:none;border:0;padding:0;font:inherit;color:var(--navy);text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;}
.linklike:hover{text-decoration-color:var(--indigo);}
.alerts .grow,.alerts li > div{flex:1 1 auto;min-width:0;}
.alerts.tasks input[type=checkbox]{margin-top:4px;accent-color:var(--indigo);}
.alerts li.done{opacity:0.7;}
.nav-badge{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;font-size:0.72rem;font-weight:700;line-height:18px;text-align:center;background:rgba(255,255,255,0.16);color:#fff;}
.nav-badge.due{background:var(--indigo);color:#fff;}
.sidebar a.active .nav-badge{background:var(--navy);color:#fff;}
.assignees{border:1px solid var(--line);border-radius:8px;padding:8px 12px 10px;}
.assignees legend{font-size:0.84rem;font-weight:600;padding:0 4px;}
.assignee-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:2px 12px;}
.activity{list-style:none;}
.activity li{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:9px 2px;border-bottom:1px solid var(--bg-2);}
.activity li:last-child{border-bottom:none;}
.activity li.empty{display:block;}
.changes{list-style:none;margin-top:3px;font-size:0.84rem;color:var(--muted);}
.changes li{display:block;padding:0;border:0;}
.changes strong{color:var(--ink);font-weight:600;}
.alarm td:first-child,.activity li.alarm .when{box-shadow:inset 3px 0 0 var(--navy);padding-left:8px;}
table.audit td{vertical-align:top;}
.ck-info .ck{background:var(--bg-2);color:var(--navy);font-style:italic;}
.table-wrap.sample{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:6px;}
.table-wrap.sample th,.table-wrap.sample td{white-space:nowrap;}
@media (max-width:640px){.activity li{grid-template-columns:1fr;gap:2px;}}
[hidden]{display:none !important;}
.check input[type=radio]{width:auto;flex:0 0 auto;margin-top:3px;accent-color:var(--indigo);}

/* ---------- care guide ---------- */
.card.guide{margin-bottom:16px;}
.guide-steps{list-style:none;counter-reset:gs;}
.guide-steps > li{position:relative;padding:12px 0 12px 34px;border-bottom:1px solid var(--bg-2);counter-increment:gs;}
.guide-steps > li:last-child{border-bottom:none;}
.guide-steps > li::before{content:counter(gs);position:absolute;left:0;top:12px;width:22px;height:22px;border-radius:50%;background:var(--bg-2);color:var(--navy);font-size:0.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;}
.guide-steps > li.gs-done::before{content:"✓";background:var(--mint);color:var(--navy);}
.guide-steps > li.gs-now::before{background:var(--navy);color:#fff;}
.guide-steps > li.gs-consider::before,.guide-steps > li.gs-ask::before{background:transparent;box-shadow:inset 0 0 0 2px var(--navy);}
.guide-steps > li.gs-na,.guide-steps > li.gs-dismissed{opacity:0.7;}
.gs-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;}
.gs-body{margin-top:4px;font-size:0.88rem;}
.gs-body details{margin-top:4px;}
.gs-body details p{margin-top:4px;max-width:70ch;}
.gs-actions{margin-top:8px;margin-bottom:0;}
.ref-progress{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:6px;}
.steps{list-style:none;display:flex;gap:4px;flex-wrap:wrap;}
.steps li{font-size:0.72rem;padding:1px 8px;border-radius:999px;background:var(--bg-2);color:var(--muted);}
.steps li.on{background:var(--brand-tint);color:var(--navy);font-weight:600;}
.playbook-steps{padding-left:20px;display:grid;gap:10px;margin-top:8px;}
.playbook-steps p{margin-top:2px;max-width:80ch;}

/* ---------- color: meaning ---------- */
.btn.danger{color:var(--red-ink);border-color:var(--red);}
.btn.danger:hover{background:var(--red);border-color:var(--red);color:#fff;}
.notice{background:var(--amber-tint);border-color:var(--amber);}
.notice.ok{background:var(--accent-tint);border-color:var(--accent);}
.banner.info{background:var(--blue-tint);color:var(--navy);}
.banner.warn{background:var(--amber-tint);color:var(--navy);box-shadow:inset 4px 0 0 var(--amber);}
.banner.danger{background:var(--red);color:#fff;}
.banner.danger a{color:#fff;}
.banner-inline{background:var(--blue-tint);}
.toast.error{background:var(--red);color:#fff;}
.err{color:var(--red-ink);}
.tabs button.active{color:var(--navy);}
.linklike:hover,.btn.link:hover{text-decoration-color:var(--blue);color:var(--blue-ink);}
/* urgency */
.alerts .high .dot{background:var(--red);box-shadow:0 0 0 3px var(--red-tint);}
.alerts .medium .dot{background:var(--amber);box-shadow:0 0 0 3px var(--amber-tint);}
.alerts .low .dot{background:var(--slate);}
.badge-count{background:var(--red);}
.badge-count.med{background:var(--amber);color:#fff;box-shadow:none;}
.chip.overdue,.chip.red{background:var(--red);color:#fff;}
.chip.due,.chip.ochre{background:var(--amber-tint);color:var(--amber-ink);box-shadow:none;}
.chip.done,.chip.teal{background:var(--brand-tint);color:var(--indigo-dark);}
.chip.upcoming,.chip.waiting{background:var(--blue-tint);color:var(--blue-ink);border-color:transparent;}
.chip.info{background:var(--blue-tint);color:var(--blue-ink);}
.chip.legal{background:var(--violet-tint);color:var(--violet);}
.chip.settled{background:var(--teal-tint);color:#0A6F6B;}
.bar.warn > i{background:var(--amber);}
.bar.over > i{background:var(--red);}
.nav-badge.due{background:var(--red);color:#fff;}
.alarm td:first-child,.activity li.alarm .when{box-shadow:inset 3px 0 0 var(--red);}
/* checks (EHR preview) */
.ck-ok .ck{background:var(--mint);color:var(--navy);}
.ck-fill .ck{background:var(--blue-tint);color:var(--blue-ink);box-shadow:none;}
.ck-mismatch .ck{background:var(--red);color:#fff;}
.ck-missing .ck{background:var(--amber-tint);color:var(--amber-ink);}
.ck-info .ck{background:var(--bg-2);color:var(--muted);}
/* care guide */
.guide-steps > li.gs-done::before{background:var(--mint);color:var(--navy);}
.guide-steps > li.gs-now::before{background:var(--red);color:#fff;}
.guide-steps > li.gs-consider::before,.guide-steps > li.gs-ask::before{background:var(--amber);color:#fff;box-shadow:none;}
.guide-steps > li.gs-upcoming::before,.guide-steps > li.gs-waiting::before,.guide-steps > li.gs-snoozed::before{background:var(--blue-tint);color:var(--blue-ink);}
.card.guide{border-top:3px solid var(--indigo);}
.steps li.on{background:var(--brand-tint);color:var(--indigo-dark);}
/* dashboard tiles and pipeline */
.tile{border-left:4px solid var(--line);}
.tiles .tile:nth-child(1){border-left-color:var(--indigo);}
.tiles .tile:nth-child(2){border-left-color:var(--blue);}
.tiles .tile:nth-child(3){border-left-color:var(--teal);}
.tiles .tile:nth-child(4){border-left-color:var(--violet);}
.tiles .tile:nth-child(5){border-left-color:var(--amber);}
.tiles .tile:nth-child(6){border-left-color:var(--red);}
.pipe{border-top:3px solid var(--slate);background:var(--surface);}
.pipe[data-stage=intake]{border-top-color:var(--blue);}
.pipe[data-stage=treating]{border-top-color:var(--indigo);}
.pipe[data-stage=tx_complete]{border-top-color:var(--teal);}
.pipe[data-stage=demand],.pipe[data-stage=litigation],.pipe[data-stage=mediation],.pipe[data-stage=negotiating]{border-top-color:var(--violet);}
.pipe[data-stage=settled]{border-top-color:var(--teal);}
.pipe[data-stage=closed],.pipe[data-stage=dropped]{border-top-color:var(--slate);}
.pipe:hover{border-color:var(--line);box-shadow:var(--shadow);}
.auth-wrap{background:radial-gradient(900px 420px at 20% -10%, rgba(43,63,214,0.18), transparent 70%),radial-gradient(800px 400px at 90% 0%, rgba(47,111,222,0.14), transparent 70%),var(--bg);}
.plan-card ul li::before{color:var(--indigo);}
/* ---------- billing period toggle ---------- */
.interval-toggle{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px;margin:4px 0 14px;}
.interval-toggle button{border:0;background:none;font:600 0.86rem var(--sans);color:var(--muted);padding:6px 14px;border-radius:999px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;}
.interval-toggle button.on{background:var(--navy);color:#fff;}
.interval-toggle button:disabled{opacity:0.5;cursor:default;}
.interval-toggle .save{font-size:0.7rem;background:var(--amber-tint);color:var(--amber-ink);padding:1px 7px;border-radius:999px;}
.interval-toggle button.on .save{background:var(--indigo);color:#fff;}

/* ---------- case suggestions ---------- */
.card.tips{border-top:3px solid var(--blue);margin-bottom:16px;}
.tip-list{list-style:none;display:grid;gap:10px;}
.tip-list > li{border:1px solid var(--line);border-left:4px solid var(--slate);border-radius:8px;padding:10px 12px;display:grid;gap:4px;}
.tip-list > li.cat-gaps{border-left-color:var(--amber);}
.tip-list > li.cat-spec{border-left-color:var(--blue);}
.tip-list > li.cat-eval{border-left-color:var(--violet);}
.chip.cat-gaps{background:var(--amber-tint);color:var(--amber-ink);}
.chip.cat-spec{background:var(--blue-tint);color:var(--blue-ink);}
.chip.cat-eval{background:var(--violet-tint);color:var(--violet);}
.alerts .dot.cat-gaps{background:var(--amber);}
.alerts .dot.cat-spec{background:var(--blue);}
.alerts .dot.cat-eval{background:var(--violet);}

/* ---------- policy limits & case value ---------- */
.card.case-value{border-top:3px solid var(--violet);}
.cv-block{padding:10px 0;border-bottom:1px dashed var(--line);}
.cv-block:last-child{border-bottom:none;}
.cv-title{font-weight:600;font-size:0.9rem;}
.cv-title .small{font-weight:400;}
.cv-big{font-size:1.5rem;font-weight:700;letter-spacing:-0.02em;margin:2px 0 4px;font-variant-numeric:tabular-nums;}
.limit-meter{position:relative;height:12px;border-radius:6px;background:var(--bg-2);overflow:hidden;margin-top:6px;}
.limit-meter > i{position:absolute;left:0;top:0;bottom:0;background:var(--mint);border-radius:6px;}
.limit-meter.note > i{background:var(--blue);}
.limit-meter.warn > i{background:var(--amber);}
.limit-meter.over > i{background:var(--red);}
.limit-meter > b{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:rgba(15,23,51,0.35);}
.limit-scale{position:relative;height:16px;margin:2px 0 8px;}
.limit-scale span{position:absolute;transform:translateX(-50%);}
.limit-scale span:nth-child(1){left:0;transform:none;}
.limit-scale span:nth-child(2){left:33.3%;}
.limit-scale span:nth-child(3){left:50%;}
.limit-scale span:nth-child(4){left:75%;}
.limit-scale span:nth-child(5){left:auto;right:0;transform:none;}

/* ---------- daily huddle ---------- */
.huddle-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:16px;}
.huddle-summary .hs{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:var(--radius);padding:10px 12px;text-decoration:none;color:inherit;display:flex;flex-direction:column;}
.huddle-summary .hs.zero{border-left-color:var(--indigo);opacity:0.75;}
.huddle-summary .n{font-size:1.4rem;font-weight:700;}
.huddle-summary .l{font-size:0.78rem;color:var(--muted);}
.huddle-sec{margin-top:14px;}
table.huddle td{vertical-align:top;}
table.huddle .hc{width:14px;padding-right:0;}
table.huddle .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-top:5px;}
.dot.lv-high{background:var(--red);}
.dot.lv-medium{background:var(--amber);}
.dot.lv-low{background:var(--slate);}
table.huddle .who{width:22%;}
table.huddle .done{width:46px;text-align:center;}
table.huddle .box{display:inline-block;width:14px;height:14px;border:1.5px solid var(--navy);border-radius:3px;}
@media print{
  .phi-banner,.banner,#banner,.huddle-summary{display:none !important;}
  .app-disclaimer{border-top:1px solid #999;}
  .main{padding:0;}
  .card{box-shadow:none;border:1px solid #999;break-inside:avoid-page;}
  table.huddle .who{border-bottom:1px solid #999;}
  a{color:inherit;text-decoration:none;}
  body{background:#fff;}
}

/* ---------- plan features ---------- */
.nav-lock{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;padding:1px 6px;border-radius:999px;background:rgba(255,255,255,0.14);color:rgba(255,255,255,0.85);}
.sidebar a.active .nav-lock{background:var(--navy);color:#fff;}
.card.upgrade{border-top:3px solid var(--violet);max-width:620px;}
.plan-card ul li.no{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(15,23,51,0.3);}
.plan-card ul li.no::before{content:"– ";color:var(--muted);}

/* ---------- patient outreach ---------- */
.card.outreach{border-top:3px solid var(--amber);margin-bottom:16px;}
.card.outreach.st-notify{border-top-color:var(--red);}
.card.outreach.st-hold{border-top-color:var(--violet);}
.card.outreach.st-scheduled{border-top-color:var(--indigo);}

/* ---------- feature suggestions ---------- */
.fb-list{list-style:none;display:grid;gap:8px;margin-top:6px;max-height:240px;overflow:auto;}
.fb-list li{border:1px solid var(--line);border-radius:8px;padding:8px 10px;}
.fb-reply{margin-top:4px;padding:6px 8px;background:var(--blue-tint);border-radius:6px;}

/* ---------- locations ---------- */
.sidebar .loc-switch{margin:0 8px 12px;width:auto;background:rgba(255,255,255,0.08);color:#fff;border:1px solid rgba(255,255,255,0.2);font-size:0.82rem;padding:5px 8px;}
.sidebar .loc-switch option{color:var(--navy);}
.sidebar div.loc-switch{background:none;border:none;color:var(--nav-ink);padding:0 8px;margin-bottom:12px;}

/* Certified website badge (Practice settings) */
.badge-checks{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:0.9rem;}
.badge-checks li{color:var(--muted);}
.badge-checks li span{display:inline-block;width:1.2em;font-weight:700;}
.badge-checks li.ok{color:var(--ink);}
.badge-checks li.ok span{color:var(--indigo);}
.badge-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.badge-tabs{display:flex;gap:6px;flex-wrap:wrap;}
.badge-tabs .chip{border:1px solid var(--line);cursor:pointer;font:inherit;font-size:0.8rem;padding:4px 12px;}
.badge-tabs .chip.on{background:var(--navy);color:#fff;border-color:var(--navy);}
.badge-preview{display:flex;justify-content:center;padding:20px;border-radius:12px;background:var(--bg-2);}
.badge-preview.on-dark{background:#E3E8EF;}
.badge-preview img{max-width:100%;height:auto;}
#badge-code{width:100%;resize:vertical;}

/* Educational-tool disclaimer under every page */
.app-disclaimer{margin:0 28px 28px;padding-top:12px;border-top:1px solid var(--line);font-size:0.76rem;color:var(--muted);line-height:1.45;}
.app-disclaimer a{color:inherit;}
.guide-note{border-left:3px solid var(--line);padding-left:8px;}
@media (max-width:860px){.app-disclaimer{margin:0 16px 20px;}}

/* Promo code on signup */
.promo-row{display:flex;gap:8px;}
.promo-row input{flex:1;min-width:0;text-transform:uppercase;}
.auth-card .promo-row .btn{width:auto;flex:none;margin-top:0;padding:8px 16px;}
label.check > span{flex:1;}
label.check{align-items:flex-start;}
label.check > input{margin-top:3px;}
.promo-ok{color:var(--indigo-dark);font-weight:600;margin-top:4px;}
.promo-bad{color:var(--red);margin-top:4px;}

/* Case-type picker on a new case */
.case-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:8px;}
.case-type{display:flex;flex-direction:column;gap:4px;padding:12px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;background:var(--bg);}
.case-type input{position:absolute;opacity:0;pointer-events:none;}
.case-type .ct-ic{font-size:1.3rem;}
.case-type.on{border-color:var(--indigo);box-shadow:0 0 0 3px var(--brand-tint);}
.case-type:focus-within{outline:2px solid var(--blue);outline-offset:2px;}
@media (max-width:720px){.case-types{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Other providers' estimates */
.est-lines{display:flex;flex-direction:column;margin:6px 0 4px;}
.est-table input[type=number]{width:96px;}
/* Attorney status requests card */
.status-hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.status-hist li{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:0.9rem;}
/* Appointment list upload */
.sched-sum{display:flex;flex-wrap:wrap;gap:8px;}
.sched-table select{max-width:260px;}
.sched-table tr.attn td{background:var(--warn-tint);}
.sched-cols{border:1px solid var(--line);border-radius:12px;padding:12px;}
.sched-words{list-style:none;padding:0;margin:6px 0;}
.review-list{display:flex;flex-direction:column;gap:14px;}
.review-patient{border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.review-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.review-head h3{margin:0;}
.review-table{width:100%;border-collapse:collapse;}
.review-table th{text-align:left;font-size:0.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:6px 8px;}
.review-table td{padding:8px;border-top:1px solid var(--line);vertical-align:top;width:50%;}
.review-table tr.muted td{opacity:.65;}
.review-src{word-break:break-word;}
.pt-results{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto;}
.pt-card{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;}
.pt-card.on{border-color:var(--indigo);box-shadow:0 0 0 3px var(--brand-tint);}
.pt-card > span{display:flex;flex-direction:column;gap:4px;}
.other-cases{margin-top:6px;}
.mkt-check{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:0.92rem;}
.mkt-check .ok{color:var(--indigo-dark);}
.mkt-check .todo{color:var(--muted);}
/* Next steps flow */
.guide-steps > li.gs-divider{counter-increment:none;padding:10px 0 2px;border-bottom:none;font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:0.72rem;}
.guide-steps > li.gs-divider::before{display:none;}
.guide-steps .gs-event .gs-head{opacity:.85;}
.gs-move{display:inline-flex;gap:4px;margin-right:8px;}
.gs-move .btn{padding:2px 8px;min-width:0;}
.ok-text{color:var(--mint-ink);}
.warn-text{color:#B54708;}
/* White label: the practice's logo (on a white chip in the dark sidebar) or name */
.wl-logo{display:inline-flex;align-items:center;}
.wl-logo img{max-height:44px;max-width:220px;width:auto;height:auto;display:block;}
.auth-card .brand .wl-logo img{max-height:56px;}
.wl-logo.on-dark{background:#fff;border-radius:8px;padding:6px 10px;}
.wl-logo.on-dark img{max-height:34px;max-width:180px;}
.wl-name{font-size:1.25rem;font-weight:700;letter-spacing:-0.02em;}
.auth-card .wl-name{color:var(--navy);font-size:1.4rem;}
.wl-preview{display:flex;gap:16px;flex-wrap:wrap;align-items:stretch;margin-top:12px;}
.wl-preview > div{border:1px solid var(--line);border-radius:10px;padding:14px 16px;min-width:220px;}
.wl-preview .dark{background:var(--navy);}
.wl-preview .dark .wl-name{color:#fff;}
.wl-preview .dark .small{color:var(--nav-ink);}
.wl-color-row{flex-wrap:nowrap;align-items:center;}
.wl-color-row input[type=color]{width:46px;min-width:46px;height:38px;padding:2px;border-radius:8px;}
.wl-slug-row{flex-wrap:nowrap;align-items:center;}
.wl-slug-row .mono{white-space:nowrap;}
.terms-points{margin:8px 0 4px 18px;display:flex;flex-direction:column;gap:4px;}
.basis-notice{border-left:4px solid var(--indigo);}
.chip.violet{background:var(--violet-tint);color:var(--violet);}
.chip.mail{background:var(--amber-tint);color:var(--amber-ink);}
.check-row .row-actions{display:flex;gap:12px;margin-top:2px;}
.chip.snoozed{background:var(--bg-2);color:var(--muted);}
.check-row .lbl small.row-actions{display:flex;gap:14px;}
.basis-notice ul{padding-left:18px;margin:4px 0;}

/* Insurance EOB review */
.eob-rev{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-top:12px;background:var(--surface);}
.eob-rev.off{opacity:0.55;}
.eob-rev-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.eob-lines input{width:100%;min-width:0;padding:4px 6px;font-size:0.84rem;}
.eob-lines td{padding:3px 4px;}
.eob-lines .w-code{width:72px;}.eob-lines .w-mod{width:58px;}.eob-lines .w-amt{width:88px;text-align:right;}.eob-lines .w-codes{width:110px;}
.eob-totals{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));}
.eob-checks,.eob-notes{list-style:none;padding:0;margin:10px 0 0;font-size:0.84rem;}
.eob-checks li,.eob-notes li{padding:3px 0;}
.eob-checks b,.eob-notes b{display:inline-block;width:18px;text-align:center;border-radius:50%;margin-right:4px;font-size:0.75rem;}
.eob-checks li.ok b{background:var(--accent-tint);color:var(--mint-ink,#0F766E);}
.eob-checks li.bad b,.eob-note.denied b,.eob-note.below_usual b,.eob-note.below_schedule b{background:var(--navy);color:#fff;}
.eob-note.full_charge b,.eob-note.fee_low b{background:var(--warn-tint);color:var(--navy);}
.ok-ink{color:var(--mint-ink,#0F766E);}
.eob-issues{margin:0;padding-left:18px;}.eob-issues>li{margin:8px 0;}
tr.clickable{cursor:pointer;}tr.clickable:hover td{background:var(--bg-2);}

/* EOB Genie (its own brand kit: Frost Blue, Arctic Blue, Ocean Blue, Midnight Navy, Silver; Montserrat) */
@font-face{font-family:'Montserrat';src:url('genie/montserrat-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap;}
@font-face{font-family:'Montserrat';src:url('genie/montserrat-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap;}
:root{--g-frost:#CFF4FF;--g-arctic:#69C8E8;--g-ocean:#176A96;--g-navy:#152E46;--g-silver:#E6EEF5;}
.genie-head{display:flex;flex-direction:column;gap:4px;}
.genie-logo{height:84px;width:auto;max-width:100%;object-fit:contain;display:block;align-self:flex-start;}
.genie-sub{margin:0;font-size:0.86rem;color:var(--muted);}
.genie-page-head{align-items:center;}
.modal .genie-head{margin-bottom:10px;}.modal .genie-logo{height:56px;}
.genie-btn{background:var(--g-ocean);border-color:var(--g-ocean);color:#fff;}
.genie-btn:hover{background:var(--g-navy);border-color:var(--g-navy);}
.genie-card h2,.genie-upsell h2,.genie-empty h2{font-family:'Montserrat','Inter',system-ui,sans-serif;font-weight:700;color:var(--g-navy);letter-spacing:-0.01em;}
.genie-card{border-top:3px solid var(--g-arctic);}
.genie-tiles .tile{text-align:left;font:inherit;color:inherit;cursor:pointer;}
.genie-tiles .tile.accent{border-left-color:var(--g-ocean);background:linear-gradient(180deg,var(--g-frost),var(--surface) 70%);}
.genie-tiles .tile:hover{border-color:var(--g-arctic);}
.genie-upsell,.genie-empty{display:flex;gap:18px;align-items:center;}
.genie-upsell-icon{width:96px;height:auto;flex:none;}
/* The genie at work (upload progress) */
.gp{display:flex;flex-direction:column;align-items:center;padding:6px 0 10px;text-align:center;}
.gp-stage{position:relative;width:300px;height:250px;margin:0 auto;}
.gp-stage::before{content:"";position:absolute;inset:18px 30px 30px;border-radius:50%;background:radial-gradient(circle,var(--g-frost) 0%,rgba(207,244,255,0) 70%);animation:gp-glow 2.6s ease-in-out infinite;}
.gp-genie{position:absolute;left:50%;top:6px;width:118px;height:auto;margin-left:-59px;transform-origin:50% 100%;animation:gp-rise .9s cubic-bezier(.2,1.4,.4,1) both,gp-float 2.4s ease-in-out .9s infinite;filter:drop-shadow(0 6px 10px rgba(23,106,150,.25));}
.gp-lamp{position:absolute;left:50%;bottom:4px;width:150px;margin-left:-75px;animation:gp-wobble 2.4s ease-in-out infinite;transform-origin:50% 90%;}
.gp-smoke{position:absolute;left:50%;bottom:44px;width:0;height:0;}
.gp-smoke i{position:absolute;left:-14px;bottom:0;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,var(--g-arctic));opacity:0;animation:gp-puff 2.4s ease-out infinite;}
.gp-smoke i:nth-child(2){animation-delay:.6s;}.gp-smoke i:nth-child(3){animation-delay:1.2s;}.gp-smoke i:nth-child(4){animation-delay:1.8s;}
.gp-docs{position:absolute;inset:0;}
.gp-doc{position:absolute;top:110px;left:-6px;width:34px;height:44px;border-radius:4px;background:#fff;border:2px solid var(--g-ocean);box-shadow:0 3px 8px rgba(21,46,70,.15);opacity:0;animation:gp-doc 3.6s ease-in-out infinite;}
.gp-doc::before{content:"";position:absolute;left:6px;right:6px;top:8px;height:2px;background:var(--g-arctic);box-shadow:0 7px 0 var(--g-silver),0 14px 0 var(--g-silver),0 21px 0 var(--g-silver);}
.gp-doc::after{content:"✓";position:absolute;right:-9px;bottom:-9px;width:20px;height:20px;border-radius:50%;background:#2BB673;color:#fff;font:700 13px/20px system-ui,sans-serif;text-align:center;transform:scale(0);animation:gp-check 3.6s ease-in-out infinite;}
.gp-doc:nth-child(2),.gp-doc:nth-child(2)::after{animation-delay:1.2s;}.gp-doc:nth-child(3),.gp-doc:nth-child(3)::after{animation-delay:2.4s;}
.gp-spark{position:absolute;width:16px;height:16px;background:var(--g-arctic);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:gp-twinkle 1.8s ease-in-out infinite;}
.gp-spark:nth-of-type(1){left:52px;top:28px;}.gp-spark:nth-of-type(2){right:50px;top:16px;width:22px;height:22px;animation-delay:.4s;background:#FFD66B;}
.gp-spark:nth-of-type(3){right:34px;top:108px;width:12px;height:12px;animation-delay:.9s;}.gp-spark:nth-of-type(4){left:36px;top:132px;width:12px;height:12px;animation-delay:1.3s;background:#FFD66B;}
.gp-spark:nth-of-type(5){left:96px;top:-4px;width:10px;height:10px;animation-delay:.7s;}
.gp-burst{position:absolute;left:50%;top:70px;width:0;height:0;}
.gp-burst i{position:absolute;left:-6px;top:-6px;width:12px;height:12px;opacity:0;background:var(--g-arctic);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);}
.gp-burst i:nth-child(even){background:#FFD66B;}
.gp-msg{margin:8px 0 10px;min-height:1.4em;font-family:'Montserrat','Inter',system-ui,sans-serif;font-weight:700;font-size:1.02rem;color:var(--g-navy);}
.gp-msg.gp-in{animation:gp-msg .45s ease-out;}
.gp-bar{position:relative;width:min(340px,90%);height:12px;border-radius:999px;background:var(--g-silver);overflow:visible;}
.gp-bar > i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:999px;background:linear-gradient(90deg,var(--g-arctic),var(--g-ocean));background-size:200% 100%;animation:gp-shimmer 1.6s linear infinite;transition:width .25s ease-out;}
.gp-bar-spark{position:absolute;right:-9px;top:50%;width:18px;height:18px;margin-top:-9px;background:#FFD66B;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:gp-spin 1.2s linear infinite;}
.gp-sub{margin:10px 0 0;font-size:0.8rem;color:var(--muted);}
/* ta-da */
.gp-done .gp-genie{animation:gp-tada .8s cubic-bezier(.2,1.6,.4,1) both;}
.gp-done .gp-docs,.gp-done .gp-smoke{opacity:0;transition:opacity .3s;}
.gp-done .gp-burst i{animation:gp-burst .9s ease-out both;}
.gp-done .gp-bar-spark{animation:gp-spin .6s linear infinite;}
.gp-burst i:nth-child(1){--a:0deg;}.gp-burst i:nth-child(2){--a:36deg;}.gp-burst i:nth-child(3){--a:72deg;}.gp-burst i:nth-child(4){--a:108deg;}.gp-burst i:nth-child(5){--a:144deg;}
.gp-burst i:nth-child(6){--a:180deg;}.gp-burst i:nth-child(7){--a:216deg;}.gp-burst i:nth-child(8){--a:252deg;}.gp-burst i:nth-child(9){--a:288deg;}.gp-burst i:nth-child(10){--a:324deg;}
@keyframes gp-rise{0%{transform:translateY(90px) scale(.2);opacity:0;}60%{opacity:1;}100%{transform:translateY(0) scale(1);}}
@keyframes gp-float{0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-10px) rotate(2deg);}}
@keyframes gp-wobble{0%,100%{transform:rotate(-2deg);}50%{transform:rotate(2deg);}}
@keyframes gp-glow{0%,100%{transform:scale(.92);opacity:.7;}50%{transform:scale(1.05);opacity:1;}}
@keyframes gp-puff{0%{transform:translate(0,0) scale(.4);opacity:0;}20%{opacity:.75;}100%{transform:translate(var(--dx,10px),-120px) scale(1.5);opacity:0;}}
.gp-smoke i:nth-child(odd){--dx:-14px;}
@keyframes gp-doc{0%{transform:translate(0,0) rotate(-12deg) scale(.8);opacity:0;}12%{opacity:1;}45%{transform:translate(120px,-30px) rotate(8deg) scale(.9);opacity:1;}55%{transform:translate(140px,-20px) rotate(0) scale(1);}
  88%{transform:translate(272px,10px) rotate(10deg) scale(.85);opacity:1;}100%{transform:translate(300px,14px) rotate(14deg) scale(.8);opacity:0;}}
@keyframes gp-check{0%,50%{transform:scale(0);}60%{transform:scale(1.3);}68%,100%{transform:scale(1);}}
@keyframes gp-twinkle{0%,100%{transform:scale(.3) rotate(0);opacity:.2;}50%{transform:scale(1) rotate(45deg);opacity:1;}}
@keyframes gp-spin{to{transform:rotate(360deg);}}
@keyframes gp-shimmer{to{background-position:-200% 0;}}
@keyframes gp-msg{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@keyframes gp-tada{0%{transform:scale(1);}30%{transform:scale(1.18) rotate(-6deg);}55%{transform:scale(1.12) rotate(5deg);}100%{transform:scale(1.08) rotate(0);}}
@keyframes gp-burst{0%{transform:rotate(var(--a)) translateY(0) scale(.4);opacity:1;}100%{transform:rotate(var(--a)) translateY(-110px) scale(1);opacity:0;}}
@media (prefers-reduced-motion:reduce){.gp *,.gp *::before,.gp *::after,.gp-stage::before{animation:none!important;}.gp-genie{transform:none;}.gp-doc{opacity:0;}.gp-bar > i{transition:none;}}
@media (max-width:480px){.gp-stage{transform:scale(.85);margin:-16px auto -18px;}}
.genie-mini{width:26px;height:26px;border-radius:6px;margin-right:2px;}
.card-head .genie-mini + h2{margin-right:8px;}
@media (max-width:640px){.genie-logo{height:52px;}.genie-upsell,.genie-empty{flex-direction:column;align-items:flex-start;}}
.genie-plan{border-color:var(--g-arctic);}
.genie-plan-logo{height:44px;width:auto;max-width:100%;object-fit:contain;display:block;margin-bottom:6px;align-self:flex-start;}
.genie-signup-logo{height:64px;width:auto;max-width:100%;object-fit:contain;display:block;margin:0 auto 8px;}

.notice.bad{background:var(--danger-tint);border-color:var(--danger);}
ol.fee-steps{padding-left:1.3em;display:flex;flex-direction:column;gap:10px;margin:8px 0 12px;line-height:1.45;}
#su-state-note{margin-top:6px;}
#su-state-note.state-generic{color:inherit;background:var(--blue-tint);padding:8px 10px;border-radius:8px;}
.step-mine{color:var(--violet);margin-top:2px;}
.pip-trail{margin:0 0 8px;padding-left:18px}
.pip-trail li{margin:2px 0}

/* help & training */
.tabs .tab-link{padding:9px 12px;font:500 0.88rem var(--sans);color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap;}
.tabs .tab-link.active{color:var(--brand-dark);border-bottom-color:var(--brand);font-weight:600;}
.help-grid{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start;}
@media (max-width:900px){.help-grid{grid-template-columns:1fr;}}
.help-side input[type=search]{width:100%;}
.help-side h3{font-size:0.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 4px;}
.help-list,.help-lessons{margin:0;padding-left:0;list-style:none;}
.help-list li,.help-lessons li{margin:4px 0;font-size:0.9rem;}
.help-list a.active,.help-lessons li.active a{font-weight:600;}
.help-lessons li.done a{color:var(--muted);}
.help-body{line-height:1.6;max-width:820px;}
.help-body h3{margin-top:18px;}
.help-body ul,.help-body ol{padding-left:20px;}
.help-paths{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:12px;}
.help-path{text-decoration:none;color:inherit;display:block;}
.help-path:hover{border-color:var(--brand);}
.help-path progress,.help-side progress{width:100%;height:8px;}
.quiz{border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:var(--bg-2);}
.quiz .check{display:block;margin:6px 0;}
.bad-text{color:var(--danger);}
.glossary dt{font-weight:600;margin-top:10px;}
.glossary dd{margin:2px 0 0;color:var(--ink);}
.help-link{margin-left:6px;white-space:nowrap;}
.help-grid > .card,.help-paths > .card{margin-top:0;}
.genie-exports { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; }
.genie-exports .btn { width: auto; }
.atty-table td:first-child{white-space:nowrap;}
.atty-table .atty-indent{padding-left:28px;}
.atty-table tr.atty-person td{background:var(--bg-2);}
.atty-table tr.atty-total td, .ref-table tr.atty-total td{font-weight:600;border-top:2px solid var(--line, #ddd);}
.ref-table .ref-cell{background:rgba(43,63,214,var(--a,.2));font-weight:600;}
.atty-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.atty-controls select,.atty-controls input{width:auto;}
.atty-indent-in{padding-left:16px;display:inline-block;}
select.auto-w{width:auto;}
.rel-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;}
@media (max-width:1100px){.rel-panels{grid-template-columns:1fr;}}
.rel-checks{display:flex;flex-direction:column;gap:6px;}
.rel-picks{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.rel-blockers{margin:0 0 12px;padding-left:18px;color:var(--warn-ink);}
.rel-upload{margin-top:8px;cursor:pointer;width:auto;display:inline-flex;}
.rel-banner{margin-top:0;margin-bottom:10px;}
tr.click{cursor:pointer;}
.rel-sha{overflow-wrap:anywhere;}
.rel-panels > .card{margin-top:0;}
