.check-page { background: #f4faf7; color: var(--fg); }
.check-page main,
.check-page footer,
.check-page .top nav,
.check-page .notice p { max-width: 64rem; }
.check-page h1 { font-size: clamp(1.6rem, 2.5vw, 2.15rem); }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.promise {
  background: var(--soft); border: 2px solid var(--accent); border-radius: .7rem;
  padding: .9rem 1rem; margin: 1rem 0;
}
.promise strong { font-size: 1.08rem; }
.steps { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: 1rem 0; min-height: 2.75rem; max-width: 100%; }
#step-progress { min-height: 1.4em; }
.steps li { margin: 0; }
.steps button {
  min-height: 44px; padding: .4rem .7rem; border-radius: 999px; border: 2px solid var(--accent);
  background: #fff; color: var(--accent); font: inherit; font-weight: 600; cursor: pointer;
}
.steps button[aria-current="step"] { background: var(--accent); color: #fff; }
.steps button:disabled { border-color: #9aa59f; color: #3d3d3d; background: #e4e4e4; cursor: not-allowed; }
.panel {
  background: #fff; border: 1px solid var(--line); border-radius: .7rem; padding: 1.1rem 1.15rem;
  margin: 0 0 1.1rem;
}
.row-actions, .btn-row { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.check-page input[type="text"],
.check-page input[type="email"],
.check-page input[type="date"],
.check-page input[type="file"],
.check-page select,
.check-page textarea { max-width: none; }
.check-page textarea { width: 100%; }
.line {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .6rem .75rem;
  border: 1px solid var(--line); border-radius: .6rem; padding: 1rem; margin: 0 0 1rem; background: #fff;
}
.line .wide { grid-column: span 2; }
.line .span { grid-column: 1 / -1; }
.line label, .field label { font-size: .88rem; margin: 0 0 .15rem; }
.line input:not([type="checkbox"]):not([type="radio"]),
.field input:not([type="checkbox"]):not([type="radio"]),
.field select,
.field textarea { width: 100%; }
.line .choice input, .eob .choice input { width: 1.3rem; height: 1.3rem; max-width: 1.3rem; }
.eob {
  grid-column: 1 / -1; background: var(--soft); border-radius: .5rem; padding: .5rem .7rem .7rem;
}
.eob summary { cursor: pointer; font-weight: 700; min-height: 44px; display: flex; align-items: center; }
.eob-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: .45rem .6rem; }
.flag {
  border: 1px solid var(--line); border-left: 4px solid #8a5a00; border-radius: .6rem;
  padding: .8rem 1rem; margin: 0 0 .75rem; background: #fff;
}
.badge {
  display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .02em;
  border-radius: 999px; padding: .15rem .55rem; margin-left: .35rem; vertical-align: middle;
}
.badge.unverified { background: #fff4e0; color: #6b3a00; }
.badge.verified { background: #e5f4ec; color: #0e6b4f; }
.meta { font-size: .88rem; color: var(--muted); }
.plan-scroll { max-height: 28rem; overflow: auto; border: 1px solid var(--line); border-radius: .5rem; }
.month { display: flex; gap: .6rem; align-items: flex-start; margin: .35rem 0; }
code, .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.lookup { background: var(--soft); border-radius: .5rem; padding: .7rem .8rem; margin: .5rem 0; }
.danger { background: #fff; color: #7a1f1f; border: 2px solid #7a1f1f; }
@media (max-width: 800px) {
  .line { grid-template-columns: 1fr 1fr; }
  .line .wide { grid-column: span 2; }
}
@media (max-width: 420px) {
  .line, .eob-grid { grid-template-columns: 1fr; }
  .line .wide { grid-column: auto; }
  .check-page .btn { width: 100%; }
  .steps { flex-wrap: nowrap; overflow-x: auto; min-width: 0; padding-bottom: .35rem; }
  .steps li { flex: none; }
  .steps button { width: auto; }
  .row-actions .btn, .btn-row .btn { width: auto; flex: 1 1 12rem; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media print {
  .top, .notice, .steps, footer, .noprint, .btn-row, .row-actions { display: none !important; }
  body.check-page { background: #fff; }
  .check-page main > section { display: none !important; }
  .check-page main > section.print-on { display: block !important; }
  .panel, .line, .flag, .letter { break-inside: avoid; }
  .plan-scroll { max-height: none; overflow: visible; }
}
