*{ box-sizing: border-box; }
html, body{ margin: 0; padding: 0; }

/* App-wide default for every print job (Requisition, and anything else
   that calls window.print() without its own @page override) — portrait
   is what "Print" should mean unless a feature explicitly needs
   otherwise, the way Manifest's wide table does (see css/modal.css's own
   comment on how that one opts into landscape just for itself). */
@page{ size: portrait; margin: 12mm; }

body{
  background: var(--bg);
  background-image:
    linear-gradient(var(--border) 1px, transparent 1px),
    linear-gradient(90deg, var(--border) 1px, transparent 1px);
  background-size: 28px 28px;
  background-attachment: fixed;
  color: var(--ink);
  font-family: var(--font-body);
  min-height: 100vh;
}

::selection{ background: var(--accent-soft); color: var(--accent-ink); }

button, input, select{ font-family: inherit; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible{
  outline: 2px solid var(--steel);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}
