/* ── ANVIL drawing-sheet design system — shared by the public landing page
   and the admin login page. Only rules that are IDENTICAL on both pages live
   here; page-specific metrics (.panel/.ph/.pb paddings, table ramps, layout)
   stay in each page so neither can regress the other. Fonts are the bundled
   IBM Plex Mono TTFs under static/admin/fonts/ — no external requests. ── */

@font-face{font-family:'IBM Plex Mono';font-weight:400;font-style:normal;font-display:swap;src:url("../admin/fonts/IBMPlexMono-Regular.ttf") format('truetype')}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-style:normal;font-display:swap;src:url("../admin/fonts/IBMPlexMono-Medium.ttf") format('truetype')}
@font-face{font-family:'IBM Plex Mono';font-weight:600;font-style:normal;font-display:swap;src:url("../admin/fonts/IBMPlexMono-SemiBold.ttf") format('truetype')}
@font-face{font-family:'IBM Plex Mono';font-weight:700;font-style:normal;font-display:swap;src:url("../admin/fonts/IBMPlexMono-Bold.ttf") format('truetype')}

:root{
  --accent:#2E568A; --accent-2:#3A6BAD; --ink:#14181D; --mid:#6A727C; --faint:#9AA1A9;
  --line:#CBD1D8; --line-2:#E4E7EB; --surface:#EEF1F4; --surface-2:#F6F8FA;
  --green:#2A7A3B; --red:#CC2200; --amber:#B8860B; --backlog:#BDBDB4;
  --paper:#F4F7FA;
  --hatch:repeating-linear-gradient(-45deg,rgba(255,255,255,.36) 0 3px,transparent 3px 8px);
  --hatch-d:repeating-linear-gradient(-45deg,rgba(46,86,138,.10) 0 4px,transparent 4px 10px);
}

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'IBM Plex Mono',monospace;color:var(--ink);
  font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* crop marks — sheet frame corners */
.crop{position:absolute;width:16px;height:16px;border:2px solid var(--accent)}
.crop.tl{top:-1px;left:-1px;border-right:0;border-bottom:0}
.crop.tr{top:-1px;right:-1px;border-left:0;border-bottom:0}
.crop.bl{bottom:-1px;left:-1px;border-right:0;border-top:0}
.crop.br{bottom:-1px;right:-1px;border-left:0;border-top:0}

/* status chips — squared, form-encoded */
.chip{display:inline-block;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border:1px solid}
.chip.ok{color:var(--green);border-color:var(--green);background:#EAF3EE}
.chip.ip{color:var(--amber);border-color:var(--amber);background:#F6F0E2}
.chip.dm{color:var(--red);border-color:var(--red);background:#FBEBE8}

/* out-of-tolerance row marker */
.oot td:first-child{border-left:3px solid var(--red)}
