/* A4 batch-record document (screen preview + print). */
.printbar { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 12px 20px; background: var(--navy); color: var(--bg);
  position: sticky; top: 0; z-index: 5; font-size: 13px; font-weight: 600; }
.printbar span { opacity: 0.8; }
.docwrap { padding: 24px 16px 60px; overflow-x: auto; }
.doc { background: #fff; color: #201e1d; width: 210mm; max-width: 100%; margin: 0 auto; padding: 15mm; box-shadow: 0 3px 14px rgba(16,58,104,0.18);
  font-size: 9.5pt; line-height: 1.4; }
.doc .runhead { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 2px solid var(--navy); padding-bottom: 6pt;
  margin-bottom: 12pt; font-size: 9pt; font-weight: 700; color: var(--navy); }
.doc h1 { margin: 0 0 2pt; font-size: 21pt; font-weight: 800; letter-spacing: -0.01em; color: var(--navy); }
.doc .docsub { font-size: 10pt; font-weight: 700; color: var(--green-text); margin-bottom: 14pt; }
.doc table { width: 100%; border-collapse: collapse; }
.doc td, .doc th { border: 1px solid rgba(16,58,104,0.3); padding: 4pt 6pt; text-align: right; vertical-align: top; }
.doc .hdrt { margin-bottom: 18pt; }
.doc .hdrt td { width: 25%; }
.doc .hdrt td.k, .doc .sigt td.k { background: var(--computed); font-weight: 700; }
.doc .sigt td.k { width: 38%; }
.doc .sigt td.sv { background: #f0f7f3; }
.doc .sigt { margin-top: 6pt; }
.doc .sigt td.mark { width: 48pt; text-align: center; font-weight: 800; color: #8a93a0; }
.doc .sigt td.mark.on { color: var(--green-text); }
.doc .blk { margin-bottom: 16pt; }
.doc h2 { margin: 0 0 6pt; font-size: 13pt; font-weight: 800; color: var(--navy); border-bottom: 2px solid var(--navy); padding-bottom: 3pt; }
.doc h3 { margin: 8pt 0 4pt; font-size: 10.5pt; font-weight: 800; color: var(--navy); }
.doc .dtab th { background: var(--navy); color: #fff; font-size: 8pt; font-weight: 700; border-color: rgba(16,58,104,0.45); }
.doc .dtab td { font-size: 9pt; }
.doc .dtab td.n { direction: ltr; text-align: left; }
.doc .dtab td.b { font-weight: 700; }
.doc .dtab td.bad { background: var(--red-bg); color: var(--red); font-weight: 800; }
.doc .dtab td.signed { background: #f0f7f3; font-weight: 700; }
.doc .dtab img { display: block; max-width: 90pt; height: 22pt; object-fit: contain; }
.doc img.inl { height: 18pt; vertical-align: middle; }
.doc .note { margin: 6pt 0 0; }
.doc .none { font-size: 9pt; color: #8a93a0; padding: 2pt 0; }
.doc .pgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8pt; }
.doc figure { margin: 0; border: 1px solid rgba(16,58,104,0.3); }
.doc figure img { display: block; width: 100%; height: 110pt; object-fit: cover; }
.doc figcaption { padding: 3pt 5pt; font-size: 8.5pt; }
.doc footer { border-top: 2px solid var(--navy); padding-top: 8pt; margin-top: 6pt; font-size: 8.5pt; line-height: 1.55; color: var(--muted); }
.doc footer .fl { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 5pt; font-weight: 700; color: var(--navy); }

@page { size: A4; margin: 15mm; }
@media print {
  body { background: #fff; }
  .printbar, .toast { display: none !important; }
  .docwrap { padding: 0; }
  .doc { width: auto; padding: 0; box-shadow: none; }
  .doc h2, .doc h3 { break-after: avoid; }
  .doc tr, .doc figure { break-inside: avoid; }
  .doc { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
