/* Printed test report (/app/print/, /demo/print/): an A4 sheet on screen, the same on paper. Classes start with exo- (rule 7). */
.exo-print-page { background: #e9e8e3; }
.exo-print-bar { display: flex; gap: 12px; align-items: center; padding: 10px 16px; background: var(--exo-surface); border-bottom: 3px solid var(--exo-accent); }
.exo-print-root { padding: 16px; }
.exo-print-sheet { width: 210mm; max-width: 100%; margin: 0 auto; padding: 14mm 14mm 22mm; background: #fff; color: #111; font-size: 11pt; line-height: 1.35; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2); }
.exo-print-head { text-align: center; border-bottom: 2px solid #111; padding-bottom: 6px; margin-bottom: 10px; }
.exo-print-lab { font-weight: 700; font-size: 13pt; text-transform: uppercase; }
.exo-print-small { font-size: 9.5pt; color: #444; }
.exo-print-title { text-align: center; margin: 8px 0 12px; }
.exo-print-title h1 { margin: 0; font-size: 17pt; }
.exo-print-no { font-weight: 700; margin-top: 2px; }
.exo-print-dl { display: grid; grid-template-columns: 38mm 1fr; gap: 2px 10px; margin: 6px 0 10px; }
.exo-print-dl dt { color: #444; }
.exo-print-dl dd { margin: 0; overflow-wrap: anywhere; }
.exo-print-sample { margin-top: 12px; break-inside: avoid-page; }
.exo-print-sample h2, .exo-print-statements h2 { font-size: 12pt; margin: 8px 0 4px; border-bottom: 1px solid #999; }
.exo-print-table { width: 100%; border-collapse: collapse; font-size: 10pt; }
.exo-print-table th, .exo-print-table td { border: 1px solid #777; padding: 3px 5px; text-align: left; vertical-align: top; }
.exo-print-table thead { display: table-header-group; background: #eee; }
.exo-print-table tr { break-inside: avoid; }
.exo-print-result { font-weight: 700; white-space: nowrap; }
.exo-print-pass { color: #145a38; font-weight: 700; }
.exo-print-fail { color: #9c1c14; font-weight: 700; }
.exo-print-notes { margin: 4px 0 0; padding-left: 18px; font-size: 10pt; }
.exo-print-notes p { margin: 0 0 2px; }
.exo-print-second { color: #444; font-style: italic; }
.exo-print-sign { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-top: 18px; break-inside: avoid; }
.exo-print-end { font-style: italic; }
.exo-print-signature { min-width: 60mm; text-align: center; }
.exo-print-signname { margin-top: 18mm; font-weight: 700; }
.exo-print-foot { margin-top: 14px; padding-top: 4px; border-top: 1px solid #999; font-size: 8.5pt; color: #444; text-align: center; }
/* The minutes of a management review and the report of an internal audit (/app/print/quality/, /demo/print/quality/): the same sheet, with parts to sign. */
.exo-print-h2 { font-size: 12pt; margin: 12px 0 4px; border-bottom: 1px solid #999; break-after: avoid; }
.exo-print-h3 { font-size: 10.5pt; margin: 8px 0 2px; break-after: avoid; }
.exo-print-item { break-inside: avoid; margin-bottom: 4px; }
.exo-print-text p { margin: 0 0 3px; white-space: pre-wrap; overflow-wrap: anywhere; }
.exo-print-figures { margin: 3px 0 4px; padding: 3px 6px; border-left: 3px solid #bbb; background: #f6f6f4; }
.exo-print-fig { font-size: 9pt; line-height: 1.3; overflow-wrap: anywhere; }
.exo-print-fig-1 { padding-left: 4mm; }
.exo-print-fig-2 { padding-left: 8mm; }
.exo-print-fig-3 { padding-left: 12mm; }
.exo-print-fig-4 { padding-left: 16mm; }
.exo-print-fig-title { margin-bottom: 2px; }
.exo-print-attendance, .exo-print-actions, .exo-print-findings { break-inside: avoid-page; }
.exo-print-closing { break-inside: avoid; }
.exo-print-signcol { width: 55mm; height: 9mm; }
.exo-print-signs { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 7mm 16px; margin-top: 16px; break-inside: avoid; }
.exo-print-signs .exo-print-signature { flex: 1 1 55mm; max-width: 80mm; }
.exo-print-signspace { height: 16mm; }
.exo-print-signs .exo-print-signname { margin-top: 0; }
/* The printed quotation (/app/print/quote/, /demo/print/quote/): the same sheet, with the lines priced and a place for each side to sign. */
.exo-print-num { text-align: right; white-space: nowrap; }
.exo-print-draft { margin-top: 6px; padding: 4px 8px; border: 1.5px solid #9c1c14; color: #9c1c14; font-weight: 700; display: inline-block; }
.exo-print-qr { float: right; width: 27mm; margin: 0 0 4px 10px; text-align: center; font-size: 7pt; color: #444; line-height: 1.15; }
.exo-print-qr svg { display: block; width: 27mm; height: 27mm; margin-bottom: 1px; }
.exo-print-seal { margin-top: 2px; font-size: 7.5pt; overflow-wrap: anywhere; }
.exo-print-grand { display: flex; justify-content: space-between; gap: 16px; margin: 4px 0 8px; padding-top: 4px; border-top: 2px solid #111; font-size: 12pt; }
.exo-print-quote .exo-print-note { white-space: pre-wrap; overflow-wrap: anywhere; }
.exo-print-quote .exo-print-foot { position: static; margin-top: 10px; }
@media print {
  @page { size: A4; margin: 10mm; }
  .exo-print-page { background: #fff; }
  .exo-print-bar { display: none; }
  .exo-print-root { padding: 0; }
  .exo-print-sheet { width: auto; margin: 0; padding: 0 0 12mm; box-shadow: none; }
  .exo-print-foot { position: fixed; bottom: 0; left: 0; right: 0; margin: 0; background: #fff; }
  .exo-print-quality .exo-print-foot, .exo-print-quote .exo-print-foot { position: static; margin-top: 10px; }
}
