/* Hospital Charge Atlas — tokens. Palette: deep teal (clinical), receipt paper, charge red vs payment green. */
:root{
  --bg:#F4F6F5; --surface:#FFFFFF; --ink:#152322; --muted:#566664; --line:#D7DFDD; --line-strong:#AAB8B5;
  --accent:#1F5E5B; --accent-ink:#FFFFFF; --accent-soft:#DCEDEB;
  --cool:#1F5E5B; --cool-soft:#DCEDEB; --ok:#2E7A52; --ok-soft:#DDF0E4; --warm:#B05A1A; --warm-soft:#F8E6D6; --bad:#B23A2E; --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:#E5EEEC; --paper:#FFFDF6; --charge:#C8473A; --pay:#3C8D5F; --bldg:#E9EFEE;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0F1716; --surface:#172221; --ink:#E7EFEE; --muted:#A1B1AE; --line:#253331; --line-strong:#41524F;
  --accent:#7CC6BF; --accent-ink:#0B2220; --accent-soft:#173331; --cool:#7CC6BF; --cool-soft:#173331;
  --ok:#7CC79A; --ok-soft:#1A3326; --warm:#F0A060; --warm-soft:#3D2714; --bad:#F09A8E; --bad-soft:#3E1F1C;
  --hero-art-bg:#162321; --paper:#1F2B29; --charge:#E07468; --pay:#6FBE8F; --bldg:#22302E; color-scheme:dark;
}}
.brand-mark{width:18px;height:18px;border-radius:4px;background:linear-gradient(90deg,var(--charge) 0 65%,var(--pay) 66%)}
.hero{background:linear-gradient(180deg,var(--surface),var(--bg))}
.hero-art{background:linear-gradient(180deg,var(--accent-soft),var(--hero-art-bg))}
.art .art-ground{fill:var(--line)}.art .art-bldg{fill:var(--bldg);stroke:var(--ink);stroke-width:3}.art .art-bldg2{fill:var(--bldg);stroke:var(--ink);stroke-width:3}
.art .art-cross-bg{fill:var(--surface);stroke:var(--ink);stroke-width:2}.art .art-cross{stroke:var(--charge);stroke-width:6;fill:none}
.art .art-win{fill:var(--accent-soft);stroke:var(--ink);stroke-width:1.5}.art .art-door{fill:var(--accent);stroke:var(--ink);stroke-width:2}
.art .art-bill{fill:var(--paper);stroke:var(--ink);stroke-width:2.5}.art .art-line{fill:var(--line-strong)}.art .art-charge{fill:var(--charge)}.art .art-pay{fill:var(--pay)}
.tool{border-top:5px solid var(--charge)}
.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(--charge)}
.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}
.chg{color:var(--charge);font-weight:600}.pay{color:var(--pay);font-weight:600}
.up{color:var(--bad)}.down{color:var(--ok)}
.note{border-left:4px solid var(--warm);background:var(--warm-soft);padding:10px 14px;border-radius:6px;margin:12px 0;font-size:.95rem}
.enf{list-style:none;padding:0}.enf li{padding:6px 0;border-bottom:1px solid var(--line)}
.sources{font-size:.84rem;color:var(--muted);border-left:3px solid var(--charge);padding:6px 12px;margin:14px 0}.sources a{color:var(--muted)}
.band{margin:30px -16px;padding:26px 16px;background:var(--accent);color:#ECF5F4;border-top:6px solid var(--charge)}
.band h2{color:#fff;margin-top:0}.band a{color:#FFD9C9}.band .cards .card{background:rgba(255,255,255,.08);border-color:transparent;color:#ECF5F4}.band .card span{color:#CFE3E0}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;align-items:start}
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)}
.hero-copy h1,.hero-copy .lede{overflow-wrap:anywhere}.hero-copy{min-width:0}
@media (max-width:700px){.crumb a{display:inline;padding:0;line-height:2.2}}
td.desc{min-width:220px}
