#print-root { display: none; }
@media print {
  @page { size: A4; margin: 16mm 14mm 18mm; }
  body { background: #fff !important; }
  body.printing > *:not(#print-root) { display: none !important; }
  body.printing #print-root { display: block !important; }
  #print-root { font-family: Georgia, "Times New Roman", serif; font-size: 10.5pt; color: #000; }
  #print-root h1 { font-size: 15pt; margin: 0 0 4pt; color: #000; }
  #print-root h2 { font-size: 12.5pt; margin: 12pt 0 4pt; color: #000; border-bottom: 1px solid #000; padding-bottom: 2pt; }
  #print-root h3 { font-size: 11pt; margin: 10pt 0 4pt; color: #000; }
  #print-root table { width: 100%; border-collapse: collapse; margin: 4pt 0 8pt; font-size: 9pt; page-break-inside: auto; }
  #print-root th, #print-root td { border: 1px solid #777; padding: 3pt 5pt; vertical-align: top; text-align: left; }
  #print-root th { background: #e8e8e8 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  #print-root td.num, #print-root th.num { text-align: right; }
  #print-root tr { page-break-inside: avoid; }
  #print-root .wp-head { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #000; margin-bottom: 8pt; }
  #print-root .wp-head div { padding: 3pt 6pt; border-bottom: 1px solid #bbb; font-size: 9pt; }
  #print-root .signoff { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid #000; margin-top: 12pt; font-size: 9pt; }
  #print-root .signoff div { padding: 5pt 6pt; border-right: 1px solid #000; min-height: 34pt; }
  #print-root .signoff div:last-child { border-right: 0; }
  #print-root .draft-mark { border: 1px dashed #000; padding: 4pt 6pt; font-size: 8.5pt; margin: 6pt 0; }
  #print-root .footer { margin-top: 16pt; font-size: 8pt; color: #444; border-top: 1px solid #999; padding-top: 4pt; }
  #print-root .page-break { page-break-before: always; }
}
