@page { size: A4 portrait; margin: 7mm; }

@media print {
  html, body { background: #fff !important; }
  .print-sheet {
    padding: 0;
    color: #000;
    background: #fff;
    font-family: Arial, sans-serif;
    font-size: 9pt;
  }

  .print-header {
    min-height: 24mm;
    padding: 3mm;
    margin-bottom: 3mm;
    border: .35mm solid #000;
    border-bottom: 1.8mm solid #000;
    border-radius: 3mm;
    background: #fff;
    color: #000;
  }

  .print-business { color: #000; line-height: 1.45; }
  .print-business b { font-size: 14pt; }
  .print-logo { width: 45mm; height: 19mm; padding: .5mm; filter: grayscale(1) contrast(1.15); }
  .print-mark { display: grid; place-items: center; width: 19mm; height: 19mm; border-radius: 2.5mm; background: #000; color: #fff; font-size: 27pt; font-weight: 800; }
  .print-title-row { position: relative; display: flex; justify-content: center; align-items: end; min-height: 13mm; margin: 0 0 3mm; border-bottom: .35mm solid #000; padding-bottom: 2mm; }
  .print-title { width: 100%; margin: 0; color: #000; font-size: 21pt; text-align: center; }
  .print-title-row span { position: absolute; left: 0; bottom: 2mm; font-size: 7.5pt; direction: rtl; }

  .print-meta { gap: 2mm; padding: 0; margin-bottom: 3mm; background: #fff; }
  .print-meta > div, .print-field { min-height: 11mm; padding: 2.2mm; border: .3mm solid #000; border-right-width: 1.2mm; border-radius: 2.5mm; background: #fff; }
  .print-grid { gap: 2mm; margin-bottom: 3mm; }
  .print-field b, .print-meta b { display: block; margin-bottom: .6mm; color: #000; font-size: 7.6pt; }

  .print-disclosure { padding: 2.5mm; margin: 3mm 0; border: .3mm solid #000; border-right: 1.5mm solid #000; border-radius: 2.5mm; background: #fff; font-size: 7pt; line-height: 1.25; overflow: hidden; }
  .print-disclosure h3 { margin: -2.5mm -2.5mm 1.5mm; padding: 1.5mm 2.5mm; background: #000; color: #fff; font-size: 10pt; }
  .print-disclosure ol { margin: 1mm 0 0; }
  .print-disclosure li { margin-bottom: .6mm; }

  .print-signature { display: block; margin-top: 2mm; }
  .print-signature > div { position: relative; min-height: 37mm; padding: 9mm 2mm 2mm; border: .3mm solid #000; border-radius: 2.5mm; background: #fff; overflow: hidden; }
  .print-signature > div > b { position: absolute; top: 0; right: 0; left: 0; padding: 1.5mm 2.5mm; background: #000; color: #fff; font-size: 9pt; }
  .print-signature img { display: block; max-height: 25mm; margin: auto; filter: grayscale(1) contrast(1.15); }
  .print-sign-line { display: block; width: 62%; margin: 21mm auto 0; border-bottom: .3mm solid #000; }
  .print-footer { bottom: 2mm; border-top: .35mm solid #000; color: #000; font-weight: 700; }

  .report-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 8mm; padding: 4mm; margin-bottom: 5mm; border: .4mm solid #000; border-radius: 3mm; }
  .report-heading h1 { margin: 0 0 2mm; font-size: 19pt; }
  .report-heading p { margin: 0; font-size: 10pt; }
  .report-heading > span { white-space: nowrap; font-size: 8pt; }
  .image-print-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 5mm; }
  .image-print-grid figure { break-inside: avoid; margin: 0; padding: 3mm; border: .35mm solid #000; border-radius: 3mm; text-align: center; }
  .image-print-grid figure:first-child:nth-last-child(1) { grid-column: 1 / -1; }
  .image-print-grid img { display: block; width: 100%; height: 105mm; object-fit: contain; }
  .image-print-grid figcaption { padding-top: 2mm; border-top: .25mm solid #000; font-weight: 700; }
  .stale-report table { min-width: 0; width: 100%; border-collapse: collapse; }
  .stale-report th, .stale-report td { padding: 2.2mm 1.7mm; border: .25mm solid #000; color: #000; font-size: 8pt; }
  .stale-report th { background: #fff; font-weight: 800; }
  .image-report .print-footer, .stale-report .print-footer { position: fixed; }
}
