/* NPI Desk — tokens. Palette: indigo (records), clinical teal, warm amber for codes. */
:root{
  --bg:#F5F6F9; --surface:#FFFFFF; --ink:#171B2B; --muted:#5A6075; --line:#DADDE7; --line-strong:#AEB3C4;
  --accent:#3B4A8C; --accent-ink:#FFFFFF; --accent-soft:#E2E6F5;
  --cool:#2D7F86; --cool-soft:#DDF0F1; --ok:#2E7A52; --ok-soft:#DDF0E4; --warm:#B7700F; --warm-soft:#FBEED8; --bad:#A63A2C; --bad-soft:#F7E0DA;
  --r:10px; --max:1080px;
  --sans:Inter,"Avenir Next","Segoe UI",system-ui,-apple-system,Roboto,sans-serif; --mono:ui-monospace,Menlo,Consolas,monospace;
  --display:"Barlow Condensed","Avenir Next Condensed","Arial Narrow",var(--sans);
  --hero-art-bg:#E6EAF6; --amber:#F2B544; --desk:#C9B79A;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#10131C; --surface:#181C28; --ink:#E8EBF4; --muted:#A3A9BD; --line:#272C3C; --line-strong:#454C63;
  --accent:#9BA9EC; --accent-ink:#121733; --accent-soft:#1E2442; --cool:#7CC8CE; --cool-soft:#15302F;
  --ok:#7CC79A; --ok-soft:#1A3326; --warm:#F0B860; --warm-soft:#3B2B12; --bad:#F09A8E; --bad-soft:#3E1F1C;
  --hero-art-bg:#1A1F33; --amber:#E9B04A; --desk:#3E3628; color-scheme:dark;
}}
.brand-mark{width:18px;height:18px;border-radius:4px;background:linear-gradient(135deg,var(--accent) 0 60%,var(--amber) 61%)}
.hero{background:linear-gradient(180deg,var(--surface),var(--bg))}
.hero-art{background:linear-gradient(180deg,var(--cool-soft),var(--hero-art-bg))}
.art .art-desk{fill:var(--desk);opacity:.6}.art .art-form{fill:var(--surface);stroke:var(--ink);stroke-width:2.5}.art .art-line{fill:var(--line-strong)}.art .art-box{fill:var(--warm-soft);stroke:var(--warm);stroke-width:2}
.art .art-card{fill:var(--surface);stroke:var(--ink);stroke-width:3}.art .art-band{fill:var(--accent)}.art .art-avatar{fill:var(--cool-soft);stroke:var(--ink);stroke-width:2}.art .art-avatar-b{fill:var(--cool);stroke:var(--ink);stroke-width:2}
.art .art-chip{fill:var(--amber);stroke:var(--ink);stroke-width:2}.art .art-tube{stroke:var(--ink);stroke-width:7;fill:none;stroke-linecap:round}.art .art-bell{fill:var(--line-strong);stroke:var(--ink);stroke-width:3}.art .art-bell-in{fill:var(--surface)}
.art .art-label{font:700 15px var(--display);letter-spacing:.14em;fill:var(--muted)}.art .art-npi{font:700 26px var(--mono);fill:var(--ink)}.art .art-code{font:700 19px var(--mono);fill:#171B2B}.art .art-small{font:600 15px var(--sans);fill:var(--muted)}.art .art-tiny{font:700 12px var(--mono);fill:var(--warm)}
.tool{border-top:5px solid var(--amber)}
.code{font-family:var(--mono);font-weight:700;background:var(--warm-soft);color:var(--ink);padding:1px 6px;border-radius:4px;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0 6px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;border-left:4px solid var(--amber)}
.kpi .k{font:600 .76rem var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.kpi .v{font:700 1.45rem/1.15 var(--display);color:var(--ink)}.kpi .s{font-size:.8rem;color:var(--muted)}
.state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:14px 0}
.state-grid a{display:flex;justify-content:space-between;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-decoration:none;color:var(--ink);font-size:.94rem;min-height:40px;align-items:center}
.state-grid a:hover{border-color:var(--accent)}.state-grid small{color:var(--muted);font-variant-numeric:tabular-nums}
.def{border-left:4px solid var(--cool);background:var(--cool-soft);padding:12px 16px;border-radius:6px;margin:14px 0}.def p{margin:.3em 0}.def cite{font-size:.82rem;color:var(--muted);font-style:normal}
.tree{list-style:none;padding:0;margin:12px 0}.tree li{padding:6px 0 6px 18px;border-left:2px solid var(--line);position:relative}.tree li::before{content:"";position:absolute;left:-2px;top:16px;width:12px;border-top:2px solid var(--line)}.tree li.here{font-weight:700}
.sources{font-size:.84rem;color:var(--muted);border-left:3px solid var(--amber);padding:6px 12px;margin:14px 0}.sources a{color:var(--muted)}
.band{margin:30px -16px;padding:26px 16px;background:var(--accent);color:#EEF0FA;border-top:6px solid var(--amber)}
.band h2{color:#fff;margin-top:0}.band a{color:#FFE0A6}.band .cards .card{background:rgba(255,255,255,.08);border-color:transparent;color:#EEF0FA}.band .card span{color:#D6DAF0}
.res{display:grid;gap:8px;margin:12px 0}.res .r{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.res .r b{font-size:1.02rem}.res .r span{display:block;color:var(--muted);font-size:.9rem}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;align-items:start}
#tf-out{max-height:420px;overflow:auto}
input:not([type]){width:100%;min-height:44px;padding:8px 10px;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r)}
.crumb{overflow-wrap:anywhere}
@media (max-width:700px){.crumb a{display:inline;padding:0;line-height:2.2}}
.hero-copy h1,.hero-copy .lede{overflow-wrap:anywhere}.hero-copy{min-width:0}
