/* =========================================================================
 * print.css — printed documents and reports (also used by the A4 preview).
 * ========================================================================= */
.pr-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; border-bottom: 2px solid #1c3350; padding-bottom: 8px; margin-bottom: 10px; }
.pr-company { display: flex; gap: 10px; align-items: center; }
.pr-cname { font-size: 15px; font-weight: 700; color: #15263a; }
.pr-cmeta { font-size: 10.5px; color: #555; }
.pr-title { text-align: end; }
.pr-title h1 { font-size: 18px; font-weight: 700; margin: 0 0 2px; color: #15263a; }
.pr-title > div { font-size: 11.5px; }
.pr-blocks { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.pr-block { border: 1px solid #b9c2cd; border-radius: 3px; padding: 6px 8px; font-size: 11.5px; }
.pr-bt { font-size: 10px; font-weight: 700; color: #1c3350; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 2px; }
.pr-party { font-size: 13.5px; font-weight: 700; }
.pr-meta { width: 100%; font-size: 11.5px; }
.pr-meta th { color: #555; font-weight: 500; padding: 1px 0; width: 42%; }
.pr-meta td { font-weight: 600; padding: 1px 0; }
.print-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.print-table th { background: #e6ebf1 !important; border: 1px solid #9aa6b4; padding: 4px 5px; font-weight: 700; text-align: start; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.print-table td { border: 1px solid #c3cbd5; padding: 3px 5px; }
.print-table .text-end { text-align: end; }
.print-table tr.pr-blank td { height: 20px; }
.print-table tr.pg-group td { background: #eef2f6 !important; font-weight: 700; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.print-table tr.pg-subtotal td, .print-table tfoot td { font-weight: 700; background: #f4f6f9 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.print-table .st-badge, .print-table .sk-badge { border: 0; background: none !important; padding: 0; height: auto; color: #000 !important; }
.print-table .st-badge .bi, .print-table .sk-badge .bi { display: none; }
.pr-bottom { display: grid; grid-template-columns: 1fr 260px; gap: 12px; margin-top: 10px; }
.pr-notes { font-size: 11.5px; }
.pr-totals { width: 100%; border-collapse: collapse; font-size: 12px; }
.pr-totals th { text-align: start; font-weight: 500; padding: 3px 6px; border: 1px solid #c3cbd5; background: #f4f6f9; }
.pr-totals td { text-align: end; padding: 3px 6px; border: 1px solid #c3cbd5; font-weight: 600; }
.pr-totals tr.g th, .pr-totals tr.g td { background: #1c3350 !important; color: #fff; font-size: 13.5px; font-weight: 700; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.pr-totals tr.g2 td { font-size: 13px; }
.pr-signs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 34px; }
.pr-signs > div { border-top: 1px solid #555; padding-top: 4px; text-align: center; font-size: 11px; color: #333; }
.pr-foot { margin-top: 18px; text-align: center; font-size: 10px; color: #777; border-top: 1px solid #ddd; padding-top: 5px; }
.pr-report .print-table { font-size: 10.5px; }

@media print {
  @page { size: A4; margin: 10mm; }
  body { display: block !important; height: auto !important; overflow: visible !important; background: #fff !important; }
  body > *:not(#print-root) { display: none !important; }
  .modal, .modal-backdrop { display: none !important; }
  #print-root { display: block !important; color: #000; font-size: 11px; }
  #print-root.landscape { }
  .pr-page { width: 100%; }
}
@media print and (orientation: landscape) { @page { size: A4 landscape; } }
