/* The Verichain screen (static/verichain.js, 5 October 2026). It draws with the Business screen's styles (business.css,
   .biz); these are the few it adds, on the same tokens (app.css). Bar lengths are set from verichain.js, never inline,
   because the page's Content-Security-Policy allows no inline style. */
.vc .hbars.teal .bar{background:var(--teal)}
.vc .hbars.violet .bar{background:var(--violet)}
.vc .kpis .card .sub{display:block}
.vc table td.n,.vc table th.n{text-align:right;font-variant-numeric:tabular-nums}
.vc table tbody tr{cursor:default}
.vc table td b{font-weight:600;color:#eef2fb}
.vc .vc-funnel td,.vc .vc-dom td{padding:.62rem .6rem}
.vc details.vc-rules{margin-top:1rem;border-top:1px solid var(--row);padding-top:.8rem}
.vc details.vc-rules summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:600 .82rem/1.2 var(--sans);color:#eef2fb}
.vc details.vc-rules td{font-size:.8rem;vertical-align:top}
.vc .toolbar{margin:.4rem 0 .3rem}
.vc #vc-msg{margin:0}
.vc dl.kv dd{max-width:44rem;text-align:left}
.vc .phone-only{display:none}
/* Paired cards keep their own height: a short card beside a long one (each phase beside the countries) is not drawn
   as a tall empty box. */
.vc .grid2{align-items:start}
.vc td.nw{white-space:nowrap}
.vc td .v{display:block}
/* The lead: the real candidates' journey, one step a row (verichain.js journeyCard). Its own class, not "steps":
   refund.css styles every ol.steps on the page as the refund case's numbered checklist. */
.vc ol.vc-steps{list-style:none;margin:1.1rem 0 .4rem;padding:0}
.vc ol.vc-steps li{display:grid;grid-template-columns:minmax(13rem,1.25fr) minmax(6.5rem,auto) 2fr minmax(10rem,1fr);gap:.35rem 1.1rem;align-items:center;padding:.8rem 0;border-top:1px solid var(--row)}
.vc ol.vc-steps li:first-child{border-top:0}
.vc ol.vc-steps .lab{color:#eef2fb;font-weight:600;font-size:.94rem}
/* The counts in the sans: Austin News Deck draws old-style figures, where 11 reads as two letters (verichain_pdf.py kpis). */
.vc ol.vc-steps .num{font:500 clamp(1.45rem,1.9vw,1.85rem)/1 var(--sans);font-variant-numeric:tabular-nums lining-nums;text-align:right;white-space:nowrap}
.vc ol.vc-steps .tbd{font:400 .8rem/1.2 var(--sans);color:var(--muted)}
.vc ol.vc-steps .trk{display:block;height:14px;border-radius:0 5px 5px 0;background:rgba(209,221,255,.06)}
.vc ol.vc-steps .bar{display:block;height:14px;min-width:3px;border-radius:0 5px 5px 0;background:var(--azure)}
.vc ol.vc-steps .conv{font-size:.84rem;color:var(--lead);font-variant-numeric:tabular-nums}
.vc ol.vc-steps .why{grid-column:1 / -1;margin:0;font-size:.8rem;line-height:1.45;color:var(--muted);max-width:62rem}
/* A late or failed source says so at length; business.css keeps every .age on one line (white-space:nowrap), which ran
   past the card on a phone (5 October 2026, 01:07Z). Wrap here, and break the error's one long word. */
.vc .age{white-space:normal}
.vc .age.err{overflow-wrap:anywhere}
.vc .asof{margin:.9rem 0 0;font-size:.75rem;color:var(--quiet)}
/* a zero's reason, under the 0 in a numbers column */
.vc td.n .sub{white-space:normal;max-width:17rem;margin-left:auto}
@media (max-width:760px){
  .vc ol.vc-steps li{grid-template-columns:1fr auto}
  .vc ol.vc-steps .trk,.vc ol.vc-steps .conv{grid-column:1 / -1}
  .vc dl.kv div{flex-direction:column;gap:.3rem}
  .vc .vc-funnel td,.vc .vc-dom td{padding:.25rem 0}
  /* a phone shows each step's real count, and each domain's non-empty cells only */
  .vc .vc-funnel .aud,.vc .vc-dom td.empty{display:none}
  .vc .phone-only{display:block}
}
