/* Browser entry layout. Keep paper typography and geometry in forms.css. */
@media screen {
  .page { width: min(100% - 32px, 1056px); min-height: 0; margin: 20px auto; padding: 32px; }
  .page > * { min-width: 0; }
  .printbar { position: sticky; top: 0; right: auto; padding: 12px 16px; background: #e9ecef; flex-wrap: wrap; }
  .printbar button, .printbar a { min-height: 44px; box-sizing: border-box; }
  .fld > label, .fld__lbl, .sigline__lbl { font-size: 11px; letter-spacing: .06em; white-space: normal; overflow-wrap: anywhere; }
  .page input:not([type="checkbox"]):not([type="radio"]), .page textarea {
    font-size: 16px; min-height: 44px; padding: 10px 8px !important;
    background: #f8fafc; border: 1px solid #a7b4c2; border-radius: 3px;
  }
  .page input:focus, .page textarea:focus { outline: 2px solid var(--color-navy); outline-offset: 1px; background: #fff; }
  .page input[type="checkbox"], .page input[type="radio"] { flex-shrink: 0; }
  .cbox { min-height: 44px; font-size: 14px; }
  .doc-sub, .fineprint, .callout-form, .yn-row, .note { font-size: 13px; line-height: 1.6; }
  .sec { flex-wrap: wrap; }
  .sec__hint { flex-basis: 100%; margin-left: 0; font-size: 12px; }
  .pfoot { margin-top: 24px; gap: 12px; flex-wrap: wrap; }
  .table-scroll { max-width: 100%; overflow-x: auto; margin: 8px 0; }
  .table-scroll:focus-visible { outline: 2px solid var(--color-navy); }
  .table-scroll table { min-width: 680px; }
  .table-scroll table.sched { min-width: 1000px; }
  .table-scroll th { font-size: 11px; overflow-wrap: anywhere; }
  .table-scroll-hint { font-size: 12px; color: var(--fg-secondary); margin: 8px 0 0; }
}

@media screen and (max-width: 900px) {
  .page { width: 100%; margin: 0 0 16px; padding: 24px 16px; box-shadow: none; }
  .lh { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; }
  .lh__mark { width: 48px; height: 48px; }
  .lh__mark img { width: 40px; height: 40px; }
  .lh__brand { font-size: 17px; line-height: 1.2; }
  .lh__tag { font-size: 7px; letter-spacing: .08em; }
  .lh__contact { grid-column: 1 / -1; min-width: 0; padding: 8px 0; border-left: 0; }
  .lh__addr { font-size: 10px; }
  .docmeta, .runhead { gap: 8px; flex-wrap: wrap; }
  .docref { font-size: 8px; }
  .page .fgrid, .page .bs-table, .page .sigblock, .page .stat-mini,
  .page .stat-strip, .page .contact-grid, .page .term-band { grid-template-columns: minmax(0, 1fr) !important; }
  .page .fgrid > [class*="span-"] { grid-column: auto; }
  .sigline { min-width: 0; }
  .yn-row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .page table.fill { table-layout: fixed; }
  .page table.fill td.label-cell { width: 48%; overflow-wrap: anywhere; }
  .wrap { padding: 24px 16px !important; }
  .wrap .grid { grid-template-columns: minmax(0, 1fr); }
}

/* Each paper page already includes its own margins in its padding. Adding
   @page margins again made a Letter-sized .page overflow a Letter sheet. */
@media print {
  @page { margin: 0; }
  .table-scroll { overflow: visible; }
  .table-scroll-hint { display: none; }
}

