/* Build 684 - isolated Invoice-style A4 header/footer for Report and ERA. */

:root{
  --guard-a4-width:210mm;
  --guard-a4-height:297mm;
  --guard-a4-pad-x:12mm;
  --guard-a4-pad-top:10mm;
  --guard-a4-pad-bottom:6mm;
  --guard-a4-header-height:31mm;
  --guard-a4-footer-height:14mm;
}

/* Existing template and contract documents retain their printable boundary. */
.a4,
.guard-print-shell-v426,
.guard-a4-surface-v426.report-sheet,
.guard-a4-surface-v426.guard-contract-document-v405{
  width:var(--guard-a4-width)!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.a4{
  padding:14mm 16mm 12mm!important;
}
.a4 .doc-header,
.a4 .lh-header,
.a4 .lh-left,
.a4 .lh-right,
.a4 .lh-addr-box,
.a4 .fill-box,
.a4 .info-grid,
.guard-contract-document-v405{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.a4 .lh-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(34mm,42mm)!important;
  gap:12mm!important;
  align-items:start!important;
}
.a4 .lh-left,
.a4 .lh-right{
  width:auto!important;
  max-width:100%!important;
}
.a4 .lh-addr-box{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.a4 .lh-right{
  align-items:flex-end!important;
}
.a4 .lh-right .doc-header-logo img{
  max-width:100%!important;
  height:auto!important;
  max-height:34mm!important;
}

/* Shared non-A4 footer geometry used by contracts and legacy templates. */
.doc-footer,
.guard-contract-pdf-footer-v417,
.guard-contract-footer-v421{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  overflow:hidden!important;
}
.doc-footer .footer-bpca,
.guard-contract-pdf-footer-v417 img,
.guard-contract-footer-v421 img{
  width:auto!important;
  height:8mm!important;
  max-width:12mm!important;
  object-fit:contain!important;
}
.footer-text,
.guard-contract-pdf-footer-v417 span,
.guard-contract-footer-v421 span{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:1px 0 2px!important;
  font-size:7.6pt!important;
  line-height:1.25!important;
  letter-spacing:-.05px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  color:#596159!important;
}

#modal-body .guard-contract-history-screen-v418{
  width:100%!important;
  max-width:210mm!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}

/* Scale only the completed A4 page for the popup. Its internal layout is never changed. */
#modal .modal.guard-a4-static-modal-v619{
  width:min(900px,calc(100vw - 36px))!important;
  max-height:calc(100vh - 36px)!important;
  overflow:hidden!important;
  padding:18px!important;
}
#modal .modal.guard-a4-static-modal-v619 #modal-body{
  overflow:hidden!important;
}
.guard-a4-preview-fit-v619{
  position:relative!important;
  flex:none!important;
  margin:0 auto!important;
  overflow:visible!important;
}
#modal-body .report-sheet.guard-a4-preview-page-v619{
  width:var(--guard-a4-width)!important;
  min-width:var(--guard-a4-width)!important;
  max-width:var(--guard-a4-width)!important;
  height:var(--guard-a4-height)!important;
  min-height:var(--guard-a4-height)!important;
  max-height:var(--guard-a4-height)!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  background:#fff!important;
  transform-origin:top left!important;
}

/*
 * Canonical A4 document:
 * row 1 = fixed header
 * row 2 = bounded document content
 * row 3 = fixed footer
 */
.guard-a4-document-v625{
  width:var(--guard-a4-width)!important;
  min-width:var(--guard-a4-width)!important;
  max-width:var(--guard-a4-width)!important;
  height:var(--guard-a4-height)!important;
  min-height:var(--guard-a4-height)!important;
  max-height:var(--guard-a4-height)!important;
  margin:0!important;
  padding:var(--guard-a4-pad-top) var(--guard-a4-pad-x) var(--guard-a4-pad-bottom)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  position:relative!important;
  display:grid!important;
  grid-template-rows:var(--guard-a4-header-height) minmax(0,1fr) var(--guard-a4-footer-height)!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  background:#fff!important;
}
.guard-a4-document-v625>.report-header{
  grid-row:1!important;
  position:static!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:var(--guard-a4-header-height)!important;
  min-height:var(--guard-a4-header-height)!important;
  max-height:var(--guard-a4-header-height)!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.guard-a4-document-v625>.report-header .doc-brand>img{
  display:block!important;
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  height:auto!important;
  max-height:25mm!important;
  object-fit:contain!important;
  transform:none!important;
}
.guard-a4-document-v625>.guard-a4-content-v625{
  grid-row:2!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.guard-a4-document-v625>.report-footer{
  grid-row:3!important;
  align-self:end!important;
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:var(--guard-a4-footer-height)!important;
  min-height:var(--guard-a4-footer-height)!important;
  max-height:var(--guard-a4-footer-height)!important;
  margin:0!important;
  padding:2.5mm 0 0!important;
  border-top:1px solid #d9ddd6!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:5px!important;
}
.guard-a4-document-v625>.report-footer>img{
  display:block!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  transform:none!important;
}
.guard-a4-document-v625>.report-footer>.report-footer-text{
  display:grid!important;
  grid-template-columns:repeat(7,max-content)!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:1px 0 2px!important;
  overflow:visible!important;
  white-space:nowrap!important;
  color:#596159!important;
  font-size:10px!important;
  font-weight:400!important;
  line-height:1.25!important;
  letter-spacing:0!important;
  transform:none!important;
}
.guard-a4-document-v625>.report-footer>.report-footer-text>.rfs,
.guard-a4-document-v625>.report-footer>.report-footer-text>.rfs-sep{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
}
.guard-a4-document-v625>.report-footer>.report-footer-text>.rfs-sep{
  white-space:pre!important;
}

/* Document-specific spacing lives inside the bounded middle row only. */
.guard-a4-document-v625.guard-treatment-report-sheet-v621>.guard-a4-content-v625>.report-pairs{
  margin:0 0 4mm!important;
  padding-top:9px!important;
}
.guard-a4-document-v625.guard-treatment-report-sheet-v621>.guard-a4-content-v625>.report-section{
  margin:0 0 5.4mm!important;
  padding:0!important;
  border:0!important;
}
.guard-a4-document-v625.guard-era-report-sheet-v621>.guard-a4-content-v625>.report-pairs{
  margin:0 0 2.2mm!important;
  padding-top:9px!important;
}
.guard-a4-document-v625.guard-era-report-sheet-v621>.guard-a4-content-v625>.report-section{
  margin:0 0 3.2mm!important;
  padding:0!important;
  border:0!important;
}
.guard-a4-document-v625.guard-treatment-report-sheet-v621>.guard-a4-content-v625>.report-section:last-child,
.guard-a4-document-v625.guard-era-report-sheet-v621>.guard-a4-content-v625>.report-section:last-child{
  margin-bottom:0!important;
}
.guard-a4-document-v625.guard-treatment-report-sheet-v621>.guard-a4-content-v625>.report-section>h3+div[style*="grid-template-columns:1fr 1fr;gap:12px;font-size:9px"]{
  padding-top:5px!important;
}
.guard-a4-document-v625.guard-era-report-sheet-v621>.guard-a4-content-v625>.report-section>h3+div[style*="grid-template-columns:1fr 1fr;gap:10px"]{
  padding-top:3px!important;
}
.guard-a4-document-v625.guard-era-report-sheet-v621 .era-disposal-box{
  margin-top:4px!important;
  padding:5px 8px!important;
  line-height:1.35!important;
}
.guard-a4-document-v625.guard-invoice-sheet-v622>.guard-a4-content-v625>.guard-invoice-customer-v622{
  margin:3mm 0 8mm!important;
}
.guard-a4-document-v625.guard-invoice-sheet-v622>.guard-a4-content-v625>.guard-invoice-section-v622{
  margin:0 0 10mm!important;
}
.guard-a4-document-v625.guard-invoice-sheet-v622>.guard-a4-content-v625>.guard-invoice-section-v622:last-child{
  margin-bottom:0!important;
}


/* Report and ERA now own the same fixed A4 regions as the approved Invoice.
   These selectors are isolated from all legacy report header/footer owners. */
.guard-report-a4-v684{
  width:210mm!important;min-width:210mm!important;max-width:210mm!important;
  height:297mm!important;min-height:297mm!important;max-height:297mm!important;
  margin:0!important;padding:0!important;border:1px solid #d9ddd6!important;
  box-sizing:border-box!important;overflow:hidden!important;position:relative!important;
  display:block!important;background:#fff!important;color:#20251f!important;
  font-family:Inter,Arial,sans-serif!important;line-height:1.35!important;isolation:isolate!important;
}
.guard-report-a4-v684,.guard-report-a4-v684 *{box-sizing:border-box!important}

.guard-report-a4-v684>.guard-report-a4-header-v684{
  position:absolute!important;z-index:2!important;top:10mm!important;left:12mm!important;right:12mm!important;
  width:auto!important;min-width:0!important;max-width:none!important;height:31mm!important;
  margin:0!important;padding:0 0 4mm!important;border:0!important;border-bottom:2px solid #123f34!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8mm!important;
  overflow:hidden!important;visibility:visible!important;opacity:1!important;background:#fff!important;color:#20251f!important;
}
.guard-report-brand-v684{
  width:auto!important;min-width:0!important;max-width:120mm!important;margin:0!important;
  display:flex!important;align-items:center!important;gap:4mm!important;flex:1 1 auto!important;
  visibility:visible!important;opacity:1!important;
}
.guard-report-brand-v684 img{
  display:block!important;flex:0 0 22mm!important;width:22mm!important;min-width:22mm!important;max-width:22mm!important;
  height:25mm!important;min-height:25mm!important;max-height:25mm!important;margin:0!important;
  object-fit:contain!important;visibility:visible!important;opacity:1!important;transform:none!important;
}
.guard-report-brand-v684 strong{
  display:block!important;margin:0!important;color:#123f34!important;font-size:20px!important;
  line-height:1.15!important;font-weight:800!important;white-space:nowrap!important;visibility:visible!important;opacity:1!important;
}
.guard-report-meta-v684{
  width:58mm!important;min-width:58mm!important;max-width:58mm!important;margin:0!important;
  display:flex!important;flex:0 0 58mm!important;flex-direction:column!important;align-items:flex-end!important;
  justify-content:center!important;gap:1px!important;text-align:right!important;color:#20251f!important;
  font-size:11px!important;line-height:1.25!important;visibility:visible!important;opacity:1!important;
}
.guard-report-meta-v684 strong{
  display:block!important;max-width:100%!important;font-size:12px!important;line-height:1.2!important;
  font-weight:800!important;overflow-wrap:anywhere!important;
}
.guard-report-meta-v684 span{display:block!important;margin:0!important;color:#20251f!important}

.guard-report-a4-v684>.guard-a4-content-v625{
  position:absolute!important;z-index:1!important;top:41mm!important;left:12mm!important;right:12mm!important;bottom:20mm!important;
  width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:9px 0 0!important;overflow:hidden!important;display:block!important;background:#fff!important;
}
.guard-report-a4-v684.guard-treatment-report-sheet-v621>.guard-a4-content-v625>.report-pairs{margin:0 0 4mm!important;padding:0!important}
.guard-report-a4-v684.guard-treatment-report-sheet-v621>.guard-a4-content-v625>.report-section{margin:0 0 5.4mm!important;padding:0!important;border:0!important}
.guard-report-a4-v684.guard-era-report-sheet-v621>.guard-a4-content-v625>.report-pairs{margin:0 0 2.2mm!important;padding:0!important}
.guard-report-a4-v684.guard-era-report-sheet-v621>.guard-a4-content-v625>.report-section{margin:0 0 3.2mm!important;padding:0!important;border:0!important}
.guard-report-a4-v684.guard-era-report-sheet-v621>.guard-a4-content-v625>.guard-era-risk-hierarchy-v726,
.guard-report-a4-v684.guard-era-report-sheet-v621>.guard-a4-content-v625>.guard-era-products-v726,
.guard-report-a4-v684.guard-era-report-sheet-v621>.guard-a4-content-v625>.guard-era-risk-measures-v726{margin-bottom:1.2mm!important}
.guard-report-a4-v684>.guard-a4-content-v625>.report-section:last-child{margin-bottom:0!important}
.guard-report-a4-v684.guard-treatment-report-sheet-v621>.guard-a4-content-v625>.report-section>h3+div[style*="grid-template-columns:1fr 1fr;gap:12px;font-size:9px"]{padding-top:5px!important}
.guard-report-a4-v684.guard-era-report-sheet-v621>.guard-a4-content-v625>.report-section>h3+div[style*="grid-template-columns:1fr 1fr;gap:10px"]{padding-top:3px!important}
.guard-report-a4-v684.guard-era-report-sheet-v621 .era-disposal-box{margin-top:4px!important;padding:5px 8px!important;line-height:1.35!important}

.guard-report-a4-v684>.guard-report-a4-footer-v684{
  position:absolute!important;z-index:2!important;left:12mm!important;right:12mm!important;bottom:6mm!important;
  width:auto!important;min-width:0!important;max-width:none!important;height:14mm!important;
  margin:0!important;padding:2.5mm 0 0!important;border:0!important;border-top:1px solid #d9ddd6!important;
  overflow:visible!important;display:flex!important;align-items:center!important;gap:2mm!important;
  background:#fff!important;color:#70776f!important;visibility:visible!important;opacity:1!important;
}
.guard-report-a4-footer-v684>img{
  display:block!important;flex:0 0 10mm!important;width:10mm!important;min-width:10mm!important;max-width:10mm!important;
  height:10mm!important;min-height:10mm!important;max-height:10mm!important;margin:0!important;
  object-fit:contain!important;visibility:visible!important;opacity:1!important;transform:none!important;
}
.guard-report-a4-footer-v684>span{
  min-width:0!important;width:auto!important;flex:1 1 auto!important;display:flex!important;align-items:center!important;
  justify-content:space-between!important;gap:1.5mm!important;color:#70776f!important;font-size:9.5px!important;
  line-height:1.35!important;white-space:nowrap!important;overflow:visible!important;visibility:visible!important;opacity:1!important;
}
.guard-report-a4-footer-v684 i{color:#8b918a!important;font-style:normal!important}
#modal-body .guard-report-a4-v684.guard-a4-preview-page-v619{
  width:210mm!important;min-width:210mm!important;max-width:210mm!important;
  height:297mm!important;min-height:297mm!important;max-height:297mm!important;
  margin:0!important;transform-origin:top left!important;
}

@page{
  size:A4 portrait;
  margin:0;
}
@media print{
  html,body{
    width:210mm!important;
    min-height:297mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  .a4,
  .guard-print-shell-v426,
  .guard-a4-document-v625{
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    max-height:297mm!important;
    margin:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .a4,
  .guard-print-shell-v426{
    break-after:page!important;
    page-break-after:always!important;
  }
  .a4:last-of-type,
  .guard-print-shell-v426:last-of-type{
    break-after:auto!important;
    page-break-after:auto!important;
  }
  .doc-footer,
  .report-footer{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}

@media screen and (max-width:900px){
  .a4{
    width:100%!important;
    min-height:auto!important;
    padding:24px 20px!important;
  }
  .a4 .lh-header{
    grid-template-columns:minmax(0,1fr) 120px!important;
    gap:20px!important;
  }
  .footer-text{
    font-size:7px!important;
    white-space:normal!important;
  }
}
