@page { size: A4 portrait; margin: 12mm 10mm 16mm; }
html[data-paper="A5"] .print-document, html[data-paper="A5"] .doc-print-page { font-size: 11px; }
@media print {
  .top, nav, .print-controls, .alert, .no-print, button, .btn { display:none !important; }
  body { background:#fff !important; color:#111 !important; font: 12px/1.35 Arial, Helvetica, sans-serif !important; }
  .wrap { max-width:none !important; margin:0 !important; padding:0 !important; }
  .print-document, .doc-print-page { width:100%; margin:0; padding:0; }
  .doc-print-header { display:flex; justify-content:space-between; gap:12mm; border-bottom:2px solid #111; padding-bottom:5mm; margin-bottom:5mm; }
  .doc-company { display:flex; gap:5mm; align-items:flex-start; max-width:70%; }
  .doc-logo { max-width:34mm; max-height:22mm; object-fit:contain; }
  .doc-company h1 { font-size:16px; margin:0 0 2mm; }
  .doc-title { text-align:right; min-width:35mm; }
  .doc-title h2 { margin:0; font-size:19px; letter-spacing:.4px; }
  .doc-paper { font-size:9px; margin-top:2mm; }
  .doc-contact,.doc-legal,.doc-vat { font-size:10px; margin-top:1mm; }
  .doc-party { border:1px solid #bbb; padding:4mm; margin:0 0 5mm; display:grid; grid-template-columns:1fr 1fr; gap:2mm 6mm; }
  table { width:100% !important; border-collapse:collapse !important; margin:4mm 0; }
  th, td { border:1px solid #777 !important; padding:2.5mm 2mm !important; vertical-align:top; }
  th { font-weight:700; }
  tr, img { page-break-inside:avoid; }
  .totals, .summary, .invoice-totals { margin-left:auto; width:55%; page-break-inside:avoid; }
  .doc-print-footer { position:fixed; left:0; right:0; bottom:-10mm; border-top:1px solid #777; padding-top:2mm; text-align:center; font-size:9px; line-height:1.25; }
  .doc-page-number { margin-top:1mm; }
  .doc-page-number:after { content: counter(page); }
  html[data-paper="A5"] { }
}
