/* Printable documents (Paper theme). Readable on black-only photocopies: outlines and words carry the meaning. */
.doc { background: var(--white); color: var(--ink-900); font: 400 13px/1.45 var(--font-text); }
.doc-page { background: var(--white); border: 1.5px solid var(--line); margin: 0 auto var(--space-6); padding: 14mm 12mm; width: 210mm; min-height: 280mm; position: relative; }
.doc-page.landscape { width: 297mm; min-height: 200mm; }
.doc-head { display: grid; grid-template-columns: 56mm 1fr 30mm; align-items: center; gap: 6mm; border-bottom: 2.5px solid #000; padding-bottom: 4mm; margin-bottom: 4mm; }
.doc-head img { width: 100%; height: auto; display: block; }
.doc-head .org { text-align: center; }
.doc-head .org h1 { font: 700 20px/1.2 var(--font-display); }
.doc-head .org .addr { font-size: 12px; color: #333; }
.doc-title { display: inline-block; margin-top: 4px; background: #000; color: #fff; font: 700 14px/1.3 var(--font-display); padding: 3px 14px; border-radius: 6px; letter-spacing: .03em; }
.doc-meta { display: grid; grid-template-columns: repeat(4, auto); gap: 2px 14px; font-size: 12.5px; margin-bottom: 4mm; }
.doc-meta b { font-weight: 700; }
.info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 18px; border: 2px solid #000; border-radius: 8px; padding: 3mm 4mm; margin-bottom: 4mm; font-size: 13px; }
.info-grid .k { color: #444; display: inline-block; min-width: 90px; }
table.d { width: 100%; border-collapse: collapse; font-size: 12.5px; }
table.d th, table.d td { border: 1px solid #000; padding: 4px 6px; }
table.d th { background: var(--red-050); font-weight: 700; text-align: center; }
table.d td.num { text-align: right; font-variant-numeric: tabular-nums; }
table.d td.c { text-align: center; }
table.d .fail { font-weight: 700; text-decoration: underline; }
table.d tr.total td { font-weight: 700; background: #f6f6f6; }
table.d.blank td { height: 9mm; }
.summary-boxes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; margin: 4mm 0; }
.summary-boxes div { border: 2px solid #000; border-radius: 8px; padding: 2mm 3mm; text-align: center; }
.summary-boxes b { display: block; font: 700 18px/1.2 var(--font-display); }
.sign-row { display: flex; justify-content: space-between; gap: 10mm; margin-top: 16mm; }
.sign-row div { flex: 1; text-align: center; border-top: 1.5px solid #000; padding-top: 2mm; font-size: 12px; position: relative; }
.sign-row img { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); max-height: 14mm; max-width: 40mm; }
.watermark { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; overflow: hidden; }
.watermark span { font: 700 96px/1 var(--font-display); color: rgba(0, 0, 0, .07); transform: rotate(-28deg); letter-spacing: .1em; border: 8px solid rgba(0, 0, 0, .07); padding: 10px 30px; border-radius: 20px; }
.doc-foot { font-size: 11px; color: #555; margin-top: 4mm; display: flex; justify-content: space-between; }

@media print {
  body { background: #fff; }
  .app > .sidebar, .topbar, .no-print, #toasts, .page-head, .filters, .tabs { display: none !important; }
  .app { display: block; }
  .content { padding: 0 !important; max-width: none; }
  .doc-page { border: 0; margin: 0; padding: 0; width: auto; min-height: 0; page-break-after: always; break-after: page; }
  .doc-page:last-child { page-break-after: auto; break-after: auto; }
  .panel, .table-wrap { border: 0; padding: 0; }
  .print-only { display: block !important; }
}
.print-only { display: none; }
