:root {
  --report-ink: #17212b;
  --report-muted: #52606d;
  --report-line: #7b8794;
  --report-accent: #f26a21;
}

* { box-sizing: border-box; }
body { background: #eef1f4; color: var(--report-ink); font-family: Arial, Helvetica, sans-serif; margin: 0; }
.print-controls { display: flex; gap: 0.75rem; justify-content: center; padding: 1rem; }
.print-controls button, .print-controls a { border: 1px solid #25313d; border-radius: 0.3rem; cursor: pointer; font: 600 1rem Arial, sans-serif; padding: 0.65rem 1rem; text-decoration: none; }
.print-controls button { background: #25313d; color: white; }
.print-controls a { background: white; color: #25313d; }
.testing-report-page { background: white; margin: 0 auto 1rem; min-height: 10in; padding: 0.28in 0.34in 0.25in; position: relative; width: 7.5in; }
.testing-report-page:not(:last-child) { break-after: page; page-break-after: always; }
.report-header { align-items: center; border-bottom: 3px solid var(--report-accent); display: grid; gap: 0.22in; grid-template-columns: 2.4in 1fr; margin-bottom: 0.09in; padding-bottom: 0.06in; }
.report-logo { display: block; height: auto; max-width: 2.35in; width: 100%; }
.report-title { font-size: 16pt; letter-spacing: 0.035em; margin: 0; text-align: right; }
.report-section-title { background: #e9edf1; border: 1px solid var(--report-line); font-size: 9pt; letter-spacing: 0.05em; margin: 0.08in 0 0; padding: 0.045in 0.06in; text-transform: uppercase; }
.report-fields { border-left: 1px solid var(--report-line); border-top: 1px solid var(--report-line); display: grid; grid-template-columns: repeat(4, 1fr); }
.report-field { border-bottom: 1px solid var(--report-line); border-right: 1px solid var(--report-line); min-height: 0.37in; padding: 0.035in 0.05in; }
.report-field.wide { grid-column: span 2; }
.report-field.full { grid-column: 1 / -1; }
.report-label { color: var(--report-muted); display: block; font-size: 6.7pt; font-weight: 700; letter-spacing: 0.035em; text-transform: uppercase; }
.report-value { display: block; font-size: 8.3pt; font-weight: 600; line-height: 1.2; min-height: 0.12in; overflow-wrap: anywhere; white-space: pre-wrap; }
.report-table { border-collapse: collapse; font-size: 7.6pt; margin-top: 0.035in; width: 100%; }
.report-table th, .report-table td { border: 1px solid var(--report-line); line-height: 1.08; padding: 0.025in 0.045in; text-align: left; vertical-align: top; }
.report-table th { background: #e9edf1; font-size: 6.8pt; letter-spacing: 0.03em; text-transform: uppercase; }
.report-table .number { text-align: center; width: 0.34in; }
.report-table .man-id { font-weight: 700; width: 1.25in; }
.report-table .result { font-weight: 700; text-align: center; width: 0.52in; }
.report-signatures { display: grid; gap: 0.18in; grid-template-columns: 1fr 0.75in 1fr 0.75in; margin-top: 0.12in; }
.signature-line { border-bottom: 1px solid var(--report-ink); min-height: 0.27in; padding: 0.02in; }
.signature-label { color: var(--report-muted); display: block; font-size: 6.8pt; margin-top: 0.025in; text-transform: uppercase; }
.vendor-man-list { border: 1px solid var(--report-line); display: grid; grid-auto-flow: column; grid-template-rows: repeat(12, auto); margin-top: 0.035in; }
.vendor-man { border-bottom: 1px solid #c7cdd3; border-right: 1px solid #c7cdd3; display: grid; font-size: 8pt; grid-template-columns: 0.32in 1fr; min-height: 0.24in; padding: 0.03in 0.05in; }
.vendor-man:nth-child(12n) { border-bottom: 0; }
.vendor-man-number { color: var(--report-muted); }
.vendor-man-id { font-weight: 700; }
.report-statement { border: 1px solid var(--report-line); font-size: 8pt; line-height: 1.35; margin-top: 0.1in; padding: 0.08in; }
.report-footer { bottom: 0.13in; color: var(--report-muted); display: grid; font-size: 6.8pt; grid-template-columns: 1fr 1fr 1fr; left: 0.34in; position: absolute; right: 0.34in; }
.report-footer span:nth-child(2) { text-align: center; }
.report-footer span:last-child { text-align: right; }
.url-value { overflow-wrap: anywhere; word-break: break-word; }
thead { display: table-header-group; }
tr { break-inside: avoid; page-break-inside: avoid; }

@page { size: Letter; margin: 0.5in; }

@media print {
  body { background: white; }
  .print-controls { display: none !important; }
  .testing-report-page { margin: 0; min-height: 10in; padding: 0; width: auto; }
  .report-footer { bottom: 0; left: 0; right: 0; }
}
