/* GAINVO v4.7.5 - A4 PDF and print fidelity.
   The browser print sheet and the downloaded PDF use one predictable A4
   composition. Short documents stay on one page; long documents may flow
   naturally without clipping important blocks. */

/* The off-screen export clone represents the full A4 sheet. jsPDF places it
   edge-to-edge; the sheet itself owns the professional document margins. */
.receipt-paper.document-export-mode{
  box-sizing:border-box!important;
  width:794px!important;
  max-width:794px!important;
  min-width:794px!important;
  min-height:1123px!important;
  height:auto!important;
  padding:50px 58px!important;
  margin:0!important;
  overflow:visible!important;
  background:#fff!important;
}
.document-export-mode .receipt-rule{margin:20px 0!important}
.document-export-mode .receipt-meta{margin-bottom:20px!important}
.document-export-mode .receipt-items th,
.document-export-mode .receipt-items td{padding:8px 9px!important}
.document-export-mode .receipt-totals{margin-top:20px!important;gap:28px!important;grid-template-columns:1fr 260px!important}
.document-export-mode .document-payment-instructions{margin-top:20px!important;padding:14px 15px!important}
.document-export-mode .document-section-title{margin-bottom:9px!important}
.document-export-mode .document-payment-methods article{padding:8px 9px!important}
.document-export-mode .document-closing-block{margin-top:18px!important;gap:24px!important;grid-template-columns:minmax(0,1fr) 190px!important}
.document-export-mode .document-closing-copy{gap:9px!important}
.document-export-mode .document-signatory{min-height:82px!important}
.document-export-mode .document-signatory img{max-height:48px!important}
.document-export-mode .receipt-foot{margin-top:22px!important;padding-top:14px!important}
.document-export-mode .receipt-customer-message{max-width:390px!important}
.document-export-mode .tax-disclaimer{padding-top:8px!important;margin-top:8px!important}

/* Compact only the vertical rhythm if an otherwise short invoice is a little
   taller than one A4 page. This is applied by app.js after real DOM measuring. */
.receipt-paper.document-export-mode.document-export-fit-one{
  padding-top:42px!important;
  padding-bottom:40px!important;
}
.document-export-fit-one .receipt-business img,
.document-export-fit-one .receipt-logo-placeholder{width:56px!important;height:56px!important}
.document-export-fit-one .receipt-business h2{font-size:18px!important}
.document-export-fit-one .receipt-title span{font-size:25px!important}
.document-export-fit-one .receipt-rule{margin:16px 0!important;height:3px!important}
.document-export-fit-one .receipt-meta{margin-bottom:16px!important}
.document-export-fit-one .receipt-items th,
.document-export-fit-one .receipt-items td{padding:7px 8px!important}
.document-export-fit-one .receipt-totals{margin-top:16px!important}
.document-export-fit-one .document-payment-instructions{margin-top:15px!important;padding:11px 13px!important}
.document-export-fit-one .document-payment-methods article{padding:7px 8px!important}
.document-export-fit-one .document-closing-block{margin-top:14px!important;gap:20px!important}
.document-export-fit-one .document-signatory{min-height:72px!important}
.document-export-fit-one .receipt-foot{margin-top:16px!important;padding-top:10px!important}
.document-export-fit-one .tax-disclaimer{padding-top:6px!important;margin-top:6px!important}

/* The business message belongs to the identity/footer zone instead of becoming
   a loose block below the verification footer. */
.receipt-customer-message{
  margin:6px 0 0!important;
  max-width:430px;
  color:var(--receipt-brand)!important;
  font-size:8px!important;
  line-height:1.4!important;
  font-weight:750!important;
  overflow-wrap:anywhere;
}

@page gainvo-a4-v475{size:A4 portrait;margin:0}

@media print{
  /* Use modern page fragmentation controls. */
  #receiptPaper,.public-document-main>.receipt-paper{page:gainvo-a4-v475}
  #receiptPaper .receipt-items thead,
  .public-document-main>.receipt-paper .receipt-items thead{display:table-header-group!important}
  #receiptPaper .receipt-items tr,
  .public-document-main>.receipt-paper .receipt-items tr{break-inside:avoid-page!important;page-break-inside:avoid!important}
  #receiptPaper .receipt-totals>div:last-child,
  .public-document-main>.receipt-paper .receipt-totals>div:last-child,
  #receiptPaper .document-payment-instructions,
  .public-document-main>.receipt-paper .document-payment-instructions,
  #receiptPaper .document-signatory,
  .public-document-main>.receipt-paper .document-signatory,
  #receiptPaper .receipt-foot,
  .public-document-main>.receipt-paper .receipt-foot{
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
  }

  html,body{
    width:210mm!important;
    max-width:210mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  .app-shell,.app-main,.content,.document-view-grid,.public-document-main{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  #receiptPaper,.public-document-main>.receipt-paper{
    box-sizing:border-box!important;
    width:208mm!important;
    max-width:208mm!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0 auto!important;
    padding:12.5mm 14mm!important;
    overflow:visible!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  #receiptPaper .receipt-business img,#receiptPaper .receipt-logo-placeholder,
  .public-document-main>.receipt-paper .receipt-business img,
  .public-document-main>.receipt-paper .receipt-logo-placeholder{width:15mm!important;height:15mm!important}
  #receiptPaper .receipt-business h2,.public-document-main>.receipt-paper .receipt-business h2{font-size:15pt!important}
  #receiptPaper .receipt-business p,.public-document-main>.receipt-paper .receipt-business p{font-size:7.5pt!important}
  #receiptPaper .receipt-title span,.public-document-main>.receipt-paper .receipt-title span{font-size:22pt!important}
  #receiptPaper .receipt-rule,.public-document-main>.receipt-paper .receipt-rule{margin:5mm 0!important;height:1mm!important}
  #receiptPaper .receipt-meta,.public-document-main>.receipt-paper .receipt-meta{margin-bottom:5mm!important}
  #receiptPaper .receipt-items th,#receiptPaper .receipt-items td,
  .public-document-main>.receipt-paper .receipt-items th,
  .public-document-main>.receipt-paper .receipt-items td{padding:2.4mm!important;font-size:7.5pt!important}
  #receiptPaper .receipt-items td small,
  .public-document-main>.receipt-paper .receipt-items td small{font-size:6pt!important}
  #receiptPaper .receipt-totals,.public-document-main>.receipt-paper .receipt-totals{
    grid-template-columns:1fr 67mm!important;gap:7mm!important;margin-top:5mm!important;
  }
  #receiptPaper .document-payment-instructions,
  .public-document-main>.receipt-paper .document-payment-instructions{margin-top:5mm!important;padding:3.2mm 3.5mm!important}
  #receiptPaper .document-payment-methods article,
  .public-document-main>.receipt-paper .document-payment-methods article{padding:2.1mm 2.4mm!important}
  #receiptPaper .document-closing-block,
  .public-document-main>.receipt-paper .document-closing-block{margin-top:5mm!important;gap:6mm!important;grid-template-columns:minmax(0,1fr) 48mm!important}
  #receiptPaper .document-signatory,.public-document-main>.receipt-paper .document-signatory{min-height:21mm!important}
  #receiptPaper .document-signatory img,.public-document-main>.receipt-paper .document-signatory img{max-height:12mm!important}
  #receiptPaper .receipt-foot,.public-document-main>.receipt-paper .receipt-foot{margin-top:5mm!important;padding-top:3mm!important}
  #receiptPaper .receipt-customer-message,.public-document-main>.receipt-paper .receipt-customer-message{font-size:6.5pt!important;line-height:1.35!important;margin-top:1.5mm!important}
  #receiptPaper .tax-disclaimer,.public-document-main>.receipt-paper .tax-disclaimer{font-size:5.5pt!important;line-height:1.35!important;padding-top:2mm!important;margin-top:2mm!important}

  /* Thermal rules from the existing output layer remain authoritative. */
  body[data-print-format^="thermal"] #receiptPaper{width:var(--gainvo-thermal-width)!important;margin:0!important;padding:var(--gainvo-thermal-padding)!important}
}

/* Public secure view keeps its message compact as well. */
.public-document-main>.receipt-paper .receipt-thanks{margin:16px 0 7px!important;font-size:10px!important;line-height:1.4!important}
@media print{
  .public-document-main>.receipt-paper .receipt-thanks{margin:3mm 0 1.5mm!important;font-size:7pt!important;line-height:1.35!important}
}
