/* ============================================================================
   ledger.css — THE DEMAND LAYER (/rates/{cpt}/{payer}/{metro})
   NEW, additive, single-owner (LEDGER lane, Agent 3 · 2026-07-14). Does NOT
   touch rd-chrome.css / brand-lockup.js / global-nav.js / index.html — this
   file only styles content INSIDE the pages those scripts wrap. Inherits the
   live light-theme token set verbatim (teal #0FB5A6 / ink #0A0B0C / IBM Plex).
   Light theme only. No dark mode on this surface (rule 5).
   ========================================================================== */

.ldg{
  --ldg-acc:#0FB5A6; --ldg-acc-deep:#0A8E83; --ldg-acc-cta:#077A70;
  --ldg-ink:#0A0B0C; --ldg-body:#191D21; --ldg-muted:#5B6166; --ldg-faint:#6B7480;
  --ldg-bg:#FFFFFF; --ldg-band:#F5F8F7; --ldg-elev:#F7F9FB;
  --ldg-hair:#EAEBEC; --ldg-hair-strong:#D6DADC;
  --ldg-good:#1F9D57; --ldg-warn:#B07A00;
  --ldg-r:14px; --ldg-rs:10px;
  font-family:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ldg-body); background:var(--ldg-bg);
  max-width:880px; margin:0 auto; padding:96px 22px 64px;
  line-height:1.65;
}
.ldg *{box-sizing:border-box}
.ldg a{color:var(--ldg-acc-deep); text-decoration:underline; text-decoration-color:rgba(10,142,131,.35); text-underline-offset:2px}
.ldg a:hover{text-decoration-color:currentColor}
.ldg .mono{font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace}

.ldg-eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-family:'IBM Plex Mono',monospace;
  font-size:11.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--ldg-acc-deep);
  font-weight:600; margin-bottom:14px;
}
.ldg-eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--ldg-acc);box-shadow:0 0 0 3px rgba(15,181,166,.18)}

.ldg h1{
  font-size:clamp(26px, 1.4rem + 1.6vw, 40px); font-weight:700; letter-spacing:-.01em;
  color:var(--ldg-ink); margin:0 0 14px; line-height:1.16;
}
.ldg h1 .mono{color:var(--ldg-acc-deep)}
.ldg .ldg-sub{color:var(--ldg-muted); font-size:15.5px; margin:0 0 28px; max-width:64ch}

/* ── the answer-first block: the sentence we want an LLM to quote ── */
.ldg-answer{
  background:var(--ldg-band); border:1px solid var(--ldg-hair); border-radius:var(--ldg-r);
  padding:22px 24px; margin:0 0 30px; font-size:16.5px; line-height:1.6; color:var(--ldg-ink);
}
.ldg-answer strong{color:var(--ldg-acc-deep)}

/* ── the distribution card: p10..p90 as a labeled bar ── */
.ldg-card{
  background:var(--ldg-bg); border:1px solid var(--ldg-hair); border-radius:var(--ldg-r);
  padding:24px; margin:0 0 26px; box-shadow:0 1px 2px rgba(16,24,40,.05), 0 12px 28px -14px rgba(16,24,40,.10);
}
.ldg-card h2{font-size:13px; text-transform:uppercase; letter-spacing:.07em; color:var(--ldg-muted); font-weight:600; margin:0 0 18px}

.ldg-bar{position:relative; height:64px; margin:12px 0 6px}
.ldg-bar-track{position:absolute; left:0; right:0; top:26px; height:8px; border-radius:6px;
  background:linear-gradient(90deg, var(--ldg-hair) 0%, rgba(15,181,166,.35) 45%, var(--ldg-acc) 100%)}
.ldg-bar-tick{position:absolute; top:14px; width:2px; height:34px; background:var(--ldg-ink); border-radius:2px}
.ldg-bar-tick.p50{width:3px; background:var(--ldg-acc-cta)}
.ldg-bar-label{position:absolute; top:0; transform:translateX(-50%); font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ldg-muted); white-space:nowrap}
.ldg-bar-val{position:absolute; top:52px; transform:translateX(-50%); font-family:'IBM Plex Mono',monospace; font-size:12.5px; font-weight:600; color:var(--ldg-ink); white-space:nowrap}

.ldg-stats{display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:8px}
.ldg-stat{text-align:center; padding:12px 4px; border-radius:var(--ldg-rs); background:var(--ldg-elev)}
.ldg-stat.p50{background:rgba(15,181,166,.10); border:1px solid rgba(15,181,166,.28)}
.ldg-stat .k{display:block; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ldg-faint); margin-bottom:5px}
.ldg-stat .v{display:block; font-size:16px; font-weight:700; color:var(--ldg-ink)}
@media (max-width:640px){ .ldg-stats{grid-template-columns:repeat(3,1fr)} .ldg-stat:nth-child(4),.ldg-stat:nth-child(5){display:none} }

.ldg-meta{display:flex; flex-wrap:wrap; gap:18px; margin-top:18px; padding-top:16px; border-top:1px solid var(--ldg-hair); font-size:12.5px; color:var(--ldg-muted)}
.ldg-meta b{color:var(--ldg-body)}
.ldg-badge{display:inline-block; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:3px 9px; border-radius:999px}
.ldg-badge.high{background:rgba(31,157,87,.12); color:var(--ldg-good)}
.ldg-badge.medium{background:rgba(176,122,0,.12); color:var(--ldg-warn)}
.ldg-badge.flat{background:rgba(91,97,102,.12); color:var(--ldg-muted)}

/* ── standalone fact sentences: each an independently-quotable <li> ── */
.ldg-facts{list-style:none; margin:0 0 30px; padding:0; display:flex; flex-direction:column; gap:12px}
.ldg-facts li{
  position:relative; padding:14px 16px 14px 40px; background:var(--ldg-bg);
  border:1px solid var(--ldg-hair); border-radius:var(--ldg-rs); font-size:15px; color:var(--ldg-body);
}
.ldg-facts li::before{content:'#'; position:absolute; left:14px; top:14px; font-family:'IBM Plex Mono',monospace; font-weight:700; color:var(--ldg-acc)}
.ldg-facts .cite{display:block; margin-top:5px; font-size:12px; color:var(--ldg-faint)}
.ldg-facts .cite a{color:var(--ldg-faint); text-decoration-color:rgba(107,116,128,.4)}

/* ── the bridge: NPI lookup, zero signup ── */
.ldg-bridge{
  background:linear-gradient(180deg, rgba(15,181,166,.06), rgba(15,181,166,.02));
  border:1px solid rgba(15,181,166,.28); border-radius:var(--ldg-r); padding:26px 24px; margin:0 0 30px;
}
.ldg-bridge h2{font-size:19px; font-weight:700; color:var(--ldg-ink); margin:0 0 6px}
.ldg-bridge p{margin:0 0 16px; color:var(--ldg-muted); font-size:14.5px}
.ldg-bridge form{display:flex; gap:10px; flex-wrap:wrap}
.ldg-bridge input[type=text]{
  flex:1 1 220px; min-width:0; padding:12px 14px; border-radius:10px; border:1px solid var(--ldg-hair-strong);
  font-size:15px; font-family:'IBM Plex Mono',monospace; background:#fff; color:var(--ldg-ink);
}
.ldg-bridge input[type=text]:focus{outline:2px solid var(--ldg-acc); outline-offset:1px}
.ldg-bridge button{
  flex:0 0 auto; padding:12px 22px; border:0; border-radius:10px; background:var(--ldg-acc-cta);
  color:#fff; font-weight:700; font-size:14.5px; cursor:pointer;
}
.ldg-bridge button:hover{background:var(--ldg-acc-deep)}
.ldg-bridge .fine{margin-top:10px; font-size:11.5px; color:var(--ldg-faint)}

/* ── empty / insufficient-data state ── */
.ldg-empty{
  background:var(--ldg-elev); border:1px dashed var(--ldg-hair-strong); border-radius:var(--ldg-r);
  padding:32px 26px; text-align:center; margin:0 0 30px;
}
.ldg-empty .ico{font-size:26px; margin-bottom:10px}
.ldg-empty h1{font-size:22px; margin-bottom:10px}
.ldg-empty p{color:var(--ldg-muted); max-width:52ch; margin:0 auto 18px; font-size:14.5px}
.ldg-empty .ldg-cta-row{display:flex; gap:10px; justify-content:center; flex-wrap:wrap}
.ldg-empty .ldg-cta{
  display:inline-block; padding:10px 18px; border-radius:999px; font-size:14px; font-weight:700;
  background:var(--ldg-acc-cta); color:#fff; text-decoration:none;
}
.ldg-empty .ldg-cta.ghost{background:transparent; border:1px solid var(--ldg-hair-strong); color:var(--ldg-body)}

.ldg-foot-nav{display:flex; gap:16px; flex-wrap:wrap; margin-top:18px; font-size:13px}
.ldg-foot-nav a{color:var(--ldg-muted)}

.ldg-source-note{font-size:12px; color:var(--ldg-faint); border-top:1px solid var(--ldg-hair); padding-top:16px; margin-top:8px; line-height:1.7}
.ldg-source-note a{color:var(--ldg-faint)}

/* generic site footer (mirrors the estate's downcode-index.html footer pattern) */
.ldg-sitefoot{background:var(--ldg-ink); color:rgba(255,255,255,.6); padding:44px 22px 26px; margin-top:60px}
.ldg-sitefoot .wrap{max-width:1080px; margin:0 auto}
.ldg-sitefoot .brand{display:inline-flex; align-items:center; gap:8px; color:#fff; font-weight:700; font-size:15px; margin-bottom:10px}
.ldg-sitefoot p{max-width:64ch; font-size:13px; line-height:1.7; color:rgba(255,255,255,.5); margin:0 0 18px}
.ldg-sitefoot .bar{border-top:1px solid rgba(255,255,255,.12); padding-top:16px; font-size:11.5px; color:rgba(255,255,255,.4)}
.ldg-sitefoot a{color:rgba(255,255,255,.68)}

@media (max-width:520px){
  .ldg{padding:84px 16px 48px}
  .ldg-bridge form{flex-direction:column}
  .ldg-bridge button{width:100%}
}

/* ============================================================================
   APPENDED, ADDITIVE (LEDGER lane, Agent 4 — THE IDENTITY LAYER /npi/{npi}
   · 2026-07-14). Namespaced `.lgp-*` (Ledger Page), zero overlap with `.ldg-*`
   above (Agent 3 / demand layer) or any other lane's selectors. Same live
   light-theme token set (teal #0FB5A6 / #0A8E83, ink #0A0B0C, IBM Plex).
   Does not touch anything above this line.
   ========================================================================== */
:root{
  --lgp-acc:#0A8E83;--lgp-acc2:#0FB5A6;--lgp-acc-cta:#077A70;
  --lgp-text:#0A0B0C;--lgp-dim:#5B6166;--lgp-faint:#6B7480;
  --lgp-bg:#FFFFFF;--lgp-bg1:#F6F8FA;--lgp-border:#EAEBEC;--lgp-border2:#D6DADC;
  --lgp-good:#0E9F6E;--lgp-warn:#B45309;--lgp-bad:#C2410C;--lgp-crit:#DC2626;
  --lgp-mono:'IBM Plex Mono',ui-monospace,monospace;--lgp-sans:'IBM Plex Sans',sans-serif;
  --lgp-ease:cubic-bezier(.16,1,.3,1);
}

.lgp-main{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:clamp(108px,12vh,140px) 20px 60px;color:var(--lgp-text);font-family:var(--lgp-sans)}
.lgp-main *{box-sizing:border-box}
.lgp-main a{color:var(--lgp-acc);text-decoration:none}

.lgp-kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--lgp-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--lgp-acc2);margin-bottom:14px}
.lgp-kicker .d{width:6px;height:6px;border-radius:50%;background:var(--lgp-acc2);box-shadow:0 0 8px rgba(15,181,166,.6)}

.lgp-hero h1{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin:0 0 8px;max-width:20ch}
.lgp-sub{font-size:15.5px;color:var(--lgp-dim);margin:0 0 26px}
.lgp-hero--empty{padding-bottom:20px}

/* ── score block ── */
.lgp-score{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:28px;border-radius:20px;background:var(--lgp-bg1);box-shadow:inset 0 0 0 1px var(--lgp-border);margin-bottom:22px}
.lgp-score__num{font-family:var(--lgp-mono);font-weight:700;font-size:clamp(3.4rem,7vw,5rem);line-height:1;padding:.1em .28em;border-radius:16px}
.lgp-score__meta{display:flex;flex-direction:column;gap:8px;min-width:220px}
.lgp-score__scale{font-size:13px;color:var(--lgp-dim)}
.lgp-score__band{display:inline-flex;align-self:flex-start;padding:.3em .85em;border-radius:999px;font-size:12.5px;font-weight:700}
.lgp-score__pct{font-family:var(--lgp-mono);font-size:12.5px;color:var(--lgp-faint)}

.lgp-badge--top,.lgp-badge--strong{color:var(--lgp-good);background:rgba(14,159,110,.10)}
.lgp-badge--fair{color:var(--lgp-warn);background:rgba(180,83,9,.10)}
.lgp-badge--weak{color:var(--lgp-bad);background:rgba(194,65,12,.10)}
.lgp-badge--critical{color:var(--lgp-crit);background:rgba(220,38,38,.10)}
.lgp-badge{display:inline-flex;align-items:center;padding:.28em .75em;border-radius:999px;font-family:var(--lgp-mono);font-weight:700;font-size:13px}

/* ── coverage strip ── */
.lgp-coverage{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}
@media(max-width:680px){.lgp-coverage{grid-template-columns:repeat(2,1fr)}}
.lgp-coverage>div{padding:16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--lgp-border);text-align:center}
.lgp-coverage b{display:block;font-family:var(--lgp-mono);font-size:1.5rem;font-weight:700;color:var(--lgp-text)}
.lgp-coverage span{display:block;margin-top:4px;font-size:11.5px;color:var(--lgp-dim);letter-spacing:.02em}

.lgp-blame{font-size:14.5px;line-height:1.6;color:var(--lgp-dim);padding:16px 18px;border-radius:14px;background:rgba(220,38,38,.05);box-shadow:inset 0 0 0 1px rgba(220,38,38,.18);margin-bottom:18px}
.lgp-blame b{color:var(--lgp-text)}

/* ── claim banner ── */
.lgp-claim{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--lgp-border2);margin-bottom:22px}
.lgp-claim--verified{box-shadow:inset 0 0 0 1px rgba(14,159,110,.35);background:rgba(14,159,110,.05)}
.lgp-claim__ic{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--lgp-bg1);font-size:15px;color:var(--lgp-acc)}
.lgp-claim--verified .lgp-claim__ic{background:rgba(14,159,110,.15);color:var(--lgp-good)}
.lgp-claim__t{font-weight:700;font-size:15px;margin-bottom:3px}
.lgp-claim__d{font-size:13.5px;line-height:1.55;color:var(--lgp-dim)}
.lgp-claim__cta{display:inline-block;margin-top:10px;font-weight:600;font-size:13.5px}

/* ── sections + tables ── */
.lgp-section{margin-top:clamp(40px,7vh,64px)}
.lgp-section h2{font-size:clamp(1.2rem,2.6vw,1.6rem);font-weight:600;letter-spacing:-.02em;margin:0 0 6px}
.lgp-section__sub{font-size:13.5px;color:var(--lgp-dim);margin:0 0 16px;max-width:66ch}
.lgp-table-wrap{overflow-x:auto;border-radius:14px;box-shadow:inset 0 0 0 1px var(--lgp-border)}
.lgp-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
.lgp-table th{text-align:left;padding:11px 14px;background:var(--lgp-bg1);color:var(--lgp-faint);font-weight:600;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.lgp-table td{padding:11px 14px;border-top:1px solid var(--lgp-border);white-space:nowrap}
.lgp-t__payer{font-weight:600}
.lgp-t__num{font-family:var(--lgp-mono);text-align:right}
.lgp-t__num.is-under{color:var(--lgp-bad);font-weight:700}

/* ── promise / share ── */
.lgp-promise{margin-top:clamp(36px,6vh,56px);padding:22px 24px;border-radius:16px;background:linear-gradient(180deg,rgba(15,181,166,.06),transparent);box-shadow:inset 0 0 0 1px rgba(15,181,166,.22)}
.lgp-promise__k{font-family:var(--lgp-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--lgp-acc2);margin-bottom:8px}
.lgp-promise p{font-size:14px;line-height:1.65;color:var(--lgp-dim);margin:0}
.lgp-share{margin-top:clamp(36px,6vh,56px)}
.lgp-share h2{font-size:1.25rem;font-weight:600;margin:0 0 6px}
.lgp-share p{font-size:14px;color:var(--lgp-dim);margin:0 0 16px}

/* ── empty state ── */
.lgp-empty{padding:28px;border-radius:18px;background:var(--lgp-bg1);box-shadow:inset 0 0 0 1px var(--lgp-border);margin-bottom:22px;text-align:left}
.lgp-empty__ic{font-family:var(--lgp-mono);font-size:26px;color:var(--lgp-faint);margin-bottom:8px}
.lgp-empty__t{font-weight:700;font-size:16px;margin-bottom:8px}
.lgp-empty__d{font-size:14px;line-height:1.6;color:var(--lgp-dim);margin:0 0 10px}
.lgp-empty__meta{font-size:12.5px;color:var(--lgp-faint);margin:4px 0 0}

/* ── CTAs ── */
.lgp-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.lgp-btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;padding:13px 22px;border-radius:12px;transition:transform .18s var(--lgp-ease),box-shadow .18s}
.lgp-btn--fill{color:#fff;background:linear-gradient(180deg,var(--lgp-acc2),var(--lgp-acc-cta));box-shadow:0 10px 26px -12px rgba(15,181,166,.5)}
.lgp-btn--fill:hover{transform:translateY(-2px)}
.lgp-btn--ghost{color:var(--lgp-text);background:#fff;box-shadow:inset 0 0 0 1px var(--lgp-border2)}
.lgp-btn--ghost:hover{background:var(--lgp-bg1);transform:translateY(-2px)}

/* ── footer ── */
.lgp-foot{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:48px 20px 32px;border-top:1px solid var(--lgp-border)}
.lgp-foot__in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
@media(max-width:680px){.lgp-foot__in{grid-template-columns:1fr}}
.lgp-foot__brand img{height:36px;width:auto;margin-bottom:10px}
.lgp-foot__brand p{font-size:12.5px;color:var(--lgp-faint);max-width:36ch;line-height:1.55}
.lgp-foot__col h2{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--lgp-faint);margin:0 0 10px}
.lgp-foot__col a{display:block;font-size:13px;color:var(--lgp-dim);margin-bottom:7px}
.lgp-foot__col a:hover{color:var(--lgp-acc)}
.lgp-foot__legal{margin-top:28px;font-size:11.5px;line-height:1.6;color:var(--lgp-faint);max-width:90ch}

@media (prefers-reduced-motion: reduce){
  .lgp-btn,.lgp-btn--fill,.lgp-btn--ghost{transition:none!important}
}
