#print-root { display: none; }
@page { size: A3 portrait; margin: 10mm; }
@media print {
  html, body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  body:has(> #print-root) > :not(#print-root) { display: none !important; }
  #print-root { display: block !important; margin: 0; padding: 0; }
  #print-root .print-page {
    display: block;
    margin: 0 auto;
    padding: 0;
    border: 0;
    box-sizing: content-box;
    break-inside: avoid;
    page-break-inside: avoid;
    break-after: page;
    page-break-after: always;
  }
  #print-root .print-page:last-child { break-after: auto; page-break-after: auto; }
  #print-root svg {
    display: block;
    max-width: none !important;
    max-height: none !important;
    overflow: hidden;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}
