/* report.css - printable report. ROR palette: navy 1C3557, blue 2E5B8C, band E8EDF5, label EAECF0, border C4D0E2. */
@page { size: A4 portrait; margin: 11mm 10mm 14mm 10mm; }
.rpt { font-family: Calibri, Carlito, "Segoe UI", Arial, sans-serif; font-size: 8.6pt; line-height: 1.25; color: #1a1a1a; background: #fff; width: 190mm; margin: 0 auto; position: relative; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rpt * { box-sizing: border-box; }
.rpt .dash { color: #9aa3b2; }
.rpt .nw { white-space: nowrap; }
.rpt .muted { color: #6b7380; font-size: 7.4pt; }
.rpt .fail { color: #C00000; font-weight: 700; }
.rpt .pass { color: #0B7A3B; font-weight: 700; }
.rpt .pf { font-weight: 700; font-size: 7.8pt; letter-spacing: .02em; }
.rpt .pf.pass { color: #0B7A3B; } .rpt .pf.fail { color: #C00000; } .rpt .pf.na { color: #6b7380; font-weight: 400; }
.rpt .watermark { position: fixed; top: 40%; left: 0; right: 0; text-align: center; font-size: 60pt; font-weight: 700; color: rgba(192, 0, 0, .10); transform: rotate(-20deg); pointer-events: none; z-index: 0; }

/* header */
.rpt .band { background: #1C3557; color: #fff; display: grid; grid-template-columns: 40mm 1fr 42mm; align-items: center; gap: 4mm; padding: 2mm 3mm; }
.rpt .band .logo { width: 38mm; height: auto; display: block; }
.rpt .band .t1 { font-size: 15pt; font-weight: 700; letter-spacing: .02em; }
.rpt .band .t2 { font-size: 9pt; color: #C4D0E2; margin-top: .5mm; }
.rpt .band .cert { text-align: right; font-size: 8pt; color: #C4D0E2; } .rpt .band .cert div:first-child { color: #fff; font-weight: 700; font-size: 9pt; }
.rpt .intro { font-size: 8pt; color: #4A5568; margin: 1.5mm 0 1mm; }

/* key/value tables */
.rpt table { border-collapse: collapse; width: 100%; }
.rpt .ctl td, .rpt .kvt td { border: .5pt solid #C4D0E2; padding: .6mm 1.5mm; vertical-align: top; }
.rpt .ctl td.k, .rpt .kvt td.k { background: #EAECF0; color: #4A5568; font-weight: 700; font-size: 7.6pt; white-space: normal; width: 24mm; }
.rpt .kvt td.k.wide { white-space: normal; width: 95mm; }
.rpt .ctl td.v, .rpt .kvt td.v { font-size: 8.6pt; }
.rpt .kvt.four td.k { width: 22mm; } .rpt .kvt.four { table-layout: fixed; } .rpt .kvt.four td.v { width: auto; }
.rpt .kvt tr.exrow td.k { background: #E8EDF5; color: #1C3557; }

/* sections */
.rpt .sec { margin-top: 2.2mm; }
.rpt .sec h2 { background: #E8EDF5; border-left: 2.4pt solid #1C3557; color: #1C3557; font-size: 9.6pt; font-weight: 700; padding: .9mm 2.2mm; margin: 0 0 1mm; }
.rpt .sec h2 .n { display: inline-block; min-width: 6mm; }
.rpt .sec h3 { font-size: 8.6pt; color: #1C3557; margin: 1.6mm 0 .6mm; }
.rpt .meta { font-size: 7.8pt; color: #4A5568; margin: 0 0 1mm; }
.rpt .two { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm; align-items: start; }
.rpt .sec.avoid, .rpt .kvt, .rpt .ck, .rpt .pt, .rpt .sign { page-break-inside: auto; }
.rpt tr { page-break-inside: avoid; }
.rpt thead { display: table-header-group; }

/* checklist */
.rpt .ck th, .rpt .ck td { border: .5pt solid #C4D0E2; padding: .4mm 1.3mm; font-size: 7.9pt; }
.rpt .ck th { background: #EAECF0; color: #4A5568; text-align: left; font-size: 7.4pt; }
.rpt .ck td.rem { color: #4A5568; font-size: 7.4pt; }
.rpt .ck tr:nth-child(even) td { background: #F7F8FA; }
.rpt .ck tr.grp td { background: #E8EDF5; color: #1C3557; font-weight: 700; font-size: 7.4pt; text-transform: uppercase; letter-spacing: .03em; }

/* measurement tables */
.rpt .mt { margin-top: 1.2mm; }
.rpt .mt th, .rpt .mt td { border: .5pt solid #C4D0E2; padding: .5mm 1.2mm; font-size: 7.9pt; text-align: center; }
.rpt .mt th { background: #EAECF0; color: #4A5568; font-size: 7.3pt; font-weight: 700; }
.rpt .mt th.rxh { background: #E8EDF5; color: #1C3557; } .rpt .mt th.rth { background: #1C3557; color: #fff; }
.rpt .mt td.k { text-align: left; font-weight: 700; color: #4A5568; background: #F4F6F9; white-space: nowrap; }
.rpt .mt td.l { text-align: left; }
.rpt .mt td.rem { text-align: left; color: #4A5568; font-size: 7.3pt; }
.rpt .mt td.crit { text-align: left; color: #4A5568; font-size: 7.3pt; }
.rpt .mt td.just { text-align: left; color: #4A5568; font-size: 7.6pt; }
.rpt .mt tr.grp td { background: #E8EDF5; color: #1C3557; font-weight: 700; text-align: left; font-size: 7.8pt; }
.rpt .et td.k { width: 42mm; white-space: normal; }
.rpt .et td.crit { width: 36mm; }
.rpt .jt td.l { font-size: 7.6pt; }

/* flamepath drawing */
.rpt .fpd { width: 140mm; margin: 0 auto 1.5mm; page-break-inside: avoid; }
.rpt .fpd svg { width: 100%; height: auto; display: block; }

/* summary */
.rpt .sum .col p { margin: .5mm 0 1mm; font-size: 8.4pt; }
.rpt .pt { margin: .6mm 0 1.2mm; }
.rpt .pt th, .rpt .pt td { border: .5pt solid #C4D0E2; padding: .5mm 1.4mm; font-size: 7.9pt; text-align: left; }
.rpt .pt th { background: #EAECF0; color: #4A5568; font-size: 7.3pt; }
.rpt ul.comp { margin: .5mm 0 1mm 4mm; padding: 0; font-size: 8.2pt; } .rpt ul.comp li { margin-bottom: .5mm; }
.rpt .rp p { margin: 0 0 1mm; font-size: 8.4pt; background: #FFFBEE; border: .5pt solid #C4D0E2; padding: 1.2mm 1.8mm; }
.rpt .mark td.symcell { width: 16mm; text-align: center; vertical-align: middle; }
.rpt svg.sym { width: 12mm; height: 12mm; display: inline-block; }
.rpt .note { background: #FFFBEE; border: .5pt solid #C4D0E2; padding: 1mm 1.8mm; font-size: 8pt; color: #5a4a10; margin: 1mm 0; }
.rpt .recl { margin-bottom: 1mm; }

/* signatures */
.rpt .sign { margin-top: 2.5mm; }
.rpt .sign th { background: #EAECF0; color: #4A5568; font-size: 7.3pt; border: .5pt solid #C4D0E2; padding: .5mm 1.4mm; text-align: left; }
.rpt .sign td { border: .5pt solid #C4D0E2; padding: 1mm 1.4mm; height: 14mm; vertical-align: top; font-size: 8.2pt; }
.rpt .fine { font-size: 7.2pt; color: #6b7380; margin: 1mm 0 0; }

/* photos */
.rpt .pg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2mm; }
.rpt .pg figure { margin: 0; border: .5pt solid #C4D0E2; padding: 1mm; page-break-inside: avoid; }
.rpt .pg img { width: 100%; height: 42mm; object-fit: cover; display: block; }
.rpt .pg figcaption { font-size: 7.4pt; color: #4A5568; padding-top: .6mm; text-align: center; }
.rpt ul.att { margin: .5mm 0 1mm 4mm; padding: 0; font-size: 8.2pt; }
.rpt figure.attimg { margin: 1.5mm 0; page-break-inside: avoid; } .rpt figure.attimg img { max-width: 100%; max-height: 240mm; display: block; border: .5pt solid #C4D0E2; }
.rpt figure.attimg figcaption { font-size: 7.4pt; color: #4A5568; }

/* footer */
.rpt .pfoot { display: none; }
@media print {
  .rpt .pfoot { display: flex; position: fixed; bottom: 0; left: 0; right: 0; justify-content: space-between; font-size: 7.2pt; color: #8A94A6; border-top: .5pt solid #C4D0E2; padding-top: .6mm; background: #fff; }
  .rpt { width: auto; }
}

/* layout fixes 2026-10-20: headings stay with their content, group rows with their first line */
.rpt .sec h2 { page-break-after: avoid; break-after: avoid; }
.rpt .mt tr.grp, .rpt .mt thead { page-break-after: avoid; break-after: avoid; }
.rpt .mt thead { display: table-header-group; }
.rpt .kvt td.v { word-break: normal; overflow-wrap: anywhere; }
.rpt .jt td.l { white-space: normal; }
.rpt .jt td { padding: .4mm 1mm; }
.rpt .mt.jt th, .rpt .mt.jt td { font-size: 7.4pt; }
.rpt .instr { width: 100%; }
.rpt .mark td.symcell { width: 16mm; text-align: center; vertical-align: middle; }
.rpt .jt th:nth-child(5) { width: 19mm; } .rpt .jt td:nth-child(5) .muted { white-space: nowrap; }
.rpt .jt th:nth-child(4) { width: 11mm; }
.rpt .mark td.k { width: 18mm; }
.rpt .sign, .rpt .mark, .rpt .kvt.four.mark { page-break-inside: avoid; break-inside: avoid; }
.rpt .one .col { max-width: 100%; }
.rpt .one .pt { width: 60%; }
.rpt .kvt.one td.k { width: 22mm; } .rpt .kvt.one td.v { font-size: 8.3pt; }
.rpt .sum h3 { margin: 1.2mm 0 .6mm; }
.rpt .rec td.l { text-align: left; }
.rpt .sign td { height: 16mm; }
.rpt table.sumt { width: 100%; border-collapse: collapse; table-layout: fixed; page-break-inside: auto; }
.rpt table.sumt > tbody > tr { page-break-inside: auto; break-inside: auto; }
.rpt table.sumt > tbody > tr > td { vertical-align: top; padding: 0; width: 50%; }
.rpt table.sumt > tbody > tr > td + td { padding-left: 2mm; }
.rpt table.sumt > tbody > tr > td:only-child { width: 100%; }
.rpt .sum h3.first { margin-top: 0; }
.rpt .sum h3, .rpt .meta { page-break-after: avoid; break-after: avoid; }
.rpt .sec > .meta + table { page-break-before: avoid; break-before: avoid; }
/* compressor report: position tables carry twelve value columns, so they print a little smaller */
.rpt .mt.cp th, .rpt .mt.cp td { font-size: 7.2pt; padding: .4mm .8mm; }
.rpt .mt.cp td.k { white-space: normal; }
.rpt .mt.ct td.k { width: 38mm; white-space: normal; } .rpt .mt.ct td.crit { width: 40mm; }
.rpt .band .t1.long { font-size: 12.2pt; line-height: 1.15; }
.rpt .keep { break-inside: avoid; page-break-inside: avoid; }
