/* V516 - Professional A4 quotation, rebuilt from scratch.
   Scope is intentionally limited to quotation preview/public pages. */
.v379-public-quote-page{
  --v516-green:#0b5a2a;
  --v516-green-dark:#07451f;
  --v516-line:#cdd7d0;
  --v516-soft:#f5f8f6;
  --v516-text:#111;
  background:#eef1ef!important;
  min-height:100vh!important;
  padding:18px!important;
  box-sizing:border-box!important;
}
.v379-public-quote-page .v372-paper.v379-a4-paper,
.v371-preview-overlay .v372-paper.v379-a4-paper{
  width:210mm!important;
  max-width:210mm!important;
  min-height:297mm!important;
  margin:0 auto!important;
  padding:9mm 9mm 8mm!important;
  box-sizing:border-box!important;
  background:#fff!important;
  color:var(--v516-text)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:0 14px 40px rgba(15,23,42,.16)!important;
  overflow:hidden!important;
  font-family:"Times New Roman",Times,serif!important;
  font-size:12px!important;
  line-height:1.35!important;
  position:relative!important;
}
.v379-public-quote-page .v372-paper.v379-a4-paper:before,
.v371-preview-overlay .v372-paper.v379-a4-paper:before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3.2mm;
  background:linear-gradient(90deg,var(--v516-green-dark),var(--v516-green));
}

/* Header: company left, quotation metadata right. */
.v379-public-quote-page .v372-header,
.v371-preview-overlay .v372-header{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(58mm,.65fr)!important;
  gap:8mm!important;
  align-items:start!important;
  padding:5mm 0 4.5mm!important;
  margin:0!important;
  border:0!important;
  border-bottom:1.3px solid var(--v516-green)!important;
  background:#fff!important;
}
.v379-public-quote-page .v372-company,
.v371-preview-overlay .v372-company{
  display:flex!important;
  align-items:flex-start!important;
  gap:4mm!important;
  min-width:0!important;
}
.v379-public-quote-page .v372-company img,
.v371-preview-overlay .v372-company img,
.v379-public-quote-page .v372-logo-fallback,
.v371-preview-overlay .v372-logo-fallback{
  width:31mm!important;
  height:22mm!important;
  object-fit:contain!important;
  flex:0 0 auto!important;
}
.v379-public-quote-page .v372-logo-fallback,
.v371-preview-overlay .v372-logo-fallback{
  display:flex!important;align-items:center!important;justify-content:center!important;
  color:var(--v516-green)!important;font-size:22px!important;font-weight:700!important;
}
.v379-public-quote-page .v372-company h2,
.v371-preview-overlay .v372-company h2{
  margin:0 0 1.3mm!important;
  color:var(--v516-green-dark)!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}
.v379-public-quote-page .v372-company p,
.v371-preview-overlay .v372-company p{
  margin:.75mm 0!important;
  color:#252525!important;
  font-size:10px!important;
  line-height:1.28!important;
}
.v379-public-quote-page .v372-title,
.v371-preview-overlay .v372-title{
  text-align:left!important;
  padding:0!important;
  min-width:0!important;
}
.v379-public-quote-page .v372-title h1,
.v371-preview-overlay .v372-title h1{
  margin:0 0 3mm!important;
  color:var(--v516-green-dark)!important;
  font-size:29px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.4px!important;
  text-align:center!important;
}
.v379-public-quote-page .v372-title>p,
.v371-preview-overlay .v372-title>p,
.v379-public-quote-page .v372-title .v372-date,
.v371-preview-overlay .v372-title .v372-date,
.v379-public-quote-page .v372-title>small,
.v371-preview-overlay .v372-title>small{
  display:grid!important;
  grid-template-columns:27mm 1fr!important;
  gap:2mm!important;
  margin:0!important;
  padding:1.1mm 2mm!important;
  color:#222!important;
  font-size:10px!important;
  line-height:1.2!important;
  background:#fff!important;
  border-left:1px solid var(--v516-line)!important;
  border-right:1px solid var(--v516-line)!important;
}
.v379-public-quote-page .v372-title>p,
.v371-preview-overlay .v372-title>p{border-top:1px solid var(--v516-line)!important;border-radius:1.7mm 1.7mm 0 0!important;padding-top:1.8mm!important}
.v379-public-quote-page .v372-title>small,
.v371-preview-overlay .v372-title>small{border-bottom:1px solid var(--v516-line)!important;border-radius:0 0 1.7mm 1.7mm!important;padding-bottom:1.8mm!important}

/* Customer: full width and deliberately minimal. */
.v379-public-quote-page .v372-info,
.v371-preview-overlay .v372-info{
  display:block!important;
  width:100%!important;
  margin:4mm 0 0!important;
  padding:0!important;
  border:1.15px solid var(--v516-green)!important;
  border-radius:2mm!important;
  overflow:hidden!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.v379-public-quote-page .v372-info>div,
.v371-preview-overlay .v372-info>div{
  width:100%!important;
  padding:0 4mm 3mm!important;
  border:0!important;
  box-sizing:border-box!important;
}
.v379-public-quote-page .v372-info h3,
.v371-preview-overlay .v372-info h3{
  display:inline-block!important;
  min-width:54mm!important;
  margin:0 0 2.5mm -4mm!important;
  padding:2mm 5mm!important;
  color:#fff!important;
  background:linear-gradient(90deg,var(--v516-green-dark),var(--v516-green))!important;
  border:0!important;
  border-radius:0 0 1.8mm 0!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.2px!important;
  text-align:center!important;
}
.v379-public-quote-page .v372-info p,
.v371-preview-overlay .v372-info p{
  display:grid!important;
  grid-template-columns:38mm minmax(0,1fr)!important;
  gap:3mm!important;
  margin:1.5mm 0!important;
  font-size:11px!important;
  line-height:1.35!important;
  min-width:0!important;
}
.v379-public-quote-page .v372-info p b,
.v371-preview-overlay .v372-info p b{font-weight:700!important;color:#181818!important}
.v379-public-quote-page .v372-info .v516-customer-name,
.v371-preview-overlay .v372-info .v516-customer-name{font-size:11.5px!important}

/* Product table */
.v379-public-quote-page .v372-table-wrap,
.v371-preview-overlay .v372-table-wrap{
  margin:4mm 0 0!important;
  border:1px solid #b8c7bd!important;
  border-radius:1.8mm!important;
  overflow:hidden!important;
  background:#fff!important;
}
.v379-public-quote-page .v372-table,
.v371-preview-overlay .v372-table{
  width:100%!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  font-size:9.6px!important;
}
.v379-public-quote-page .v372-table th,
.v371-preview-overlay .v372-table th{
  height:10.5mm!important;
  padding:1.5mm .8mm!important;
  background:linear-gradient(180deg,var(--v516-green),var(--v516-green-dark))!important;
  color:#fff!important;
  border-right:1px solid rgba(255,255,255,.26)!important;
  text-align:center!important;
  vertical-align:middle!important;
  font-size:9px!important;
  line-height:1.18!important;
  font-weight:700!important;
}
.v379-public-quote-page .v372-table td,
.v371-preview-overlay .v372-table td{
  height:8.7mm!important;
  padding:1.4mm 1.2mm!important;
  border-right:1px solid #dce3de!important;
  border-bottom:1px solid #dce3de!important;
  color:#111!important;
  background:#fff!important;
  vertical-align:middle!important;
  line-height:1.22!important;
  overflow-wrap:anywhere!important;
}
.v379-public-quote-page .v372-table tbody tr:nth-child(even) td,
.v371-preview-overlay .v372-table tbody tr:nth-child(even) td{background:#fbfcfb!important}
.v379-public-quote-page .v372-table th:nth-child(1),.v371-preview-overlay .v372-table th:nth-child(1){width:7mm!important}
.v379-public-quote-page .v372-table th:nth-child(2),.v371-preview-overlay .v372-table th:nth-child(2){width:18mm!important}
.v379-public-quote-page .v372-table th:nth-child(3),.v371-preview-overlay .v372-table th:nth-child(3){width:auto!important}
.v379-public-quote-page .v372-table th:nth-child(4),.v371-preview-overlay .v372-table th:nth-child(4){width:12mm!important}
.v379-public-quote-page .v372-table th:nth-child(5),.v371-preview-overlay .v372-table th:nth-child(5){width:16mm!important}
.v379-public-quote-page .v372-table th:nth-child(6),.v371-preview-overlay .v372-table th:nth-child(6){width:27mm!important}
.v379-public-quote-page .v372-table th:nth-child(7),.v371-preview-overlay .v372-table th:nth-child(7){width:14mm!important}
.v379-public-quote-page .v372-table th:nth-child(8),.v371-preview-overlay .v372-table th:nth-child(8){width:31mm!important}
.v379-public-quote-page .v372-table td:nth-child(1),.v371-preview-overlay .v372-table td:nth-child(1),
.v379-public-quote-page .v372-table td:nth-child(2),.v371-preview-overlay .v372-table td:nth-child(2),
.v379-public-quote-page .v372-table td:nth-child(4),.v371-preview-overlay .v372-table td:nth-child(4),
.v379-public-quote-page .v372-table td:nth-child(5),.v371-preview-overlay .v372-table td:nth-child(5),
.v379-public-quote-page .v372-table td:nth-child(7),.v371-preview-overlay .v372-table td:nth-child(7){text-align:center!important}
.v379-public-quote-page .v372-table td:nth-child(3),.v371-preview-overlay .v372-table td:nth-child(3){text-align:left!important;font-weight:600!important}
.v379-public-quote-page .v372-table td:nth-child(6),.v371-preview-overlay .v372-table td:nth-child(6),
.v379-public-quote-page .v372-table td:nth-child(8),.v371-preview-overlay .v372-table td:nth-child(8){text-align:right!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}

/* Thank-you + totals */
.v379-public-quote-page .v372-summary,
.v371-preview-overlay .v372-summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 76mm!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #c9d4cc!important;
  border-top:0!important;
  border-radius:0 0 1.8mm 1.8mm!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
.v379-public-quote-page .v372-thankyou,
.v371-preview-overlay .v372-thankyou{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:3mm 4mm!important;
  background:linear-gradient(90deg,#fbfcfb,#f4f8f5)!important;
  border-right:1px solid #d3ddd6!important;
}
.v379-public-quote-page .v372-thankyou strong,
.v371-preview-overlay .v372-thankyou strong{color:var(--v516-green)!important;font-size:10.5px!important}
.v379-public-quote-page .v372-thankyou p,
.v371-preview-overlay .v372-thankyou p{margin:1.2mm 0 0!important;font-size:9.5px!important;line-height:1.3!important}
.v379-public-quote-page .v372-total,
.v371-preview-overlay .v372-total{border:0!important;border-radius:0!important;overflow:visible!important}
.v379-public-quote-page .v372-total>div,
.v371-preview-overlay .v372-total>div{
  display:grid!important;
  grid-template-columns:1fr 28mm!important;
  gap:2mm!important;
  align-items:center!important;
  min-height:8mm!important;
  padding:1.5mm 3mm!important;
  border:0!important;
  border-bottom:1px solid #d4ddd7!important;
  font-size:9.5px!important;
}
.v379-public-quote-page .v372-total>div b,
.v371-preview-overlay .v372-total>div b{text-align:right!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
.v379-public-quote-page .v372-total .grand,
.v371-preview-overlay .v372-total .grand{
  background:linear-gradient(90deg,var(--v516-green),var(--v516-green-dark))!important;
  color:#fff!important;
  border-bottom:0!important;
  font-size:10.5px!important;
}
.v379-public-quote-page .v372-total .grand b,
.v371-preview-overlay .v372-total .grand b{font-size:13px!important}

/* Payment + confirmation: true 50/50, full width. */
.v379-public-quote-page .v372-footer.v516-footer,
.v371-preview-overlay .v372-footer.v516-footer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  width:100%!important;
  margin:4mm 0 0!important;
  padding:0!important;
  gap:0!important;
  border:1px solid #c6d2ca!important;
  border-radius:2mm!important;
  overflow:hidden!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.v379-public-quote-page .v516-footer>div,
.v371-preview-overlay .v516-footer>div{
  min-width:0!important;
  min-height:40mm!important;
  padding:3mm 4mm!important;
  box-sizing:border-box!important;
}
.v379-public-quote-page .v516-footer>div+div,
.v371-preview-overlay .v516-footer>div+div{border-left:1px solid #cfd9d2!important}
.v379-public-quote-page .v516-footer h4,
.v371-preview-overlay .v516-footer h4{
  margin:0 0 3mm!important;
  color:var(--v516-green-dark)!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-align:left!important;
}
.v379-public-quote-page .v516-payment p,
.v371-preview-overlay .v516-payment p{
  display:grid!important;
  grid-template-columns:27mm minmax(0,1fr)!important;
  gap:2mm!important;
  margin:1.5mm 0!important;
  font-size:10px!important;
  line-height:1.3!important;
}
.v379-public-quote-page .v516-payment p b,
.v371-preview-overlay .v516-payment p b{font-weight:700!important}
.v379-public-quote-page .v516-payment-note,
.v371-preview-overlay .v516-payment-note{
  margin-top:3mm!important;
  padding-top:2.3mm!important;
  border-top:1px dashed #c8d3cb!important;
  color:#333!important;
  font-size:9px!important;
  line-height:1.35!important;
}
.v379-public-quote-page .v516-confirm h4,
.v371-preview-overlay .v516-confirm h4{text-align:left!important}
.v379-public-quote-page .v516-sign-grid,
.v371-preview-overlay .v516-sign-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  width:100%!important;
  min-height:31mm!important;
}
.v379-public-quote-page .v516-sign-grid>div,
.v371-preview-overlay .v516-sign-grid>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  min-width:0!important;
  padding:0 3mm!important;
  box-sizing:border-box!important;
}
.v379-public-quote-page .v516-sign-grid>div+div,
.v371-preview-overlay .v516-sign-grid>div+div{border-left:1px solid #d5ddd8!important}
.v379-public-quote-page .v516-sign-grid strong,
.v371-preview-overlay .v516-sign-grid strong{font-size:9.5px!important;line-height:1.2!important}
.v379-public-quote-page .v516-sign-grid small,
.v371-preview-overlay .v516-sign-grid small{margin-top:.8mm!important;font-size:8.5px!important;color:#555!important}
.v379-public-quote-page .v516-sign-grid p,
.v371-preview-overlay .v516-sign-grid p{
  flex:1 1 auto!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  width:100%!important;
  min-height:18mm!important;
  margin:0!important;
  padding-bottom:1mm!important;
  font-size:10px!important;
  font-weight:700!important;
}
.v379-public-quote-page .v516-sign-grid em,
.v371-preview-overlay .v516-sign-grid em{font-style:normal!important;font-size:8px!important;color:#666!important}

/* Contact footer */
.v379-public-quote-page .v374-contact-strip,
.v371-preview-overlay .v374-contact-strip{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:3mm!important;
  margin:4mm -9mm 0!important;
  padding:2.4mm 9mm!important;
  background:linear-gradient(90deg,var(--v516-green-dark),var(--v516-green))!important;
  border:0!important;
  color:#fff!important;
  font-size:9px!important;
  text-align:center!important;
}
.v379-public-quote-page .v374-brand-footer,
.v371-preview-overlay .v374-brand-footer{
  margin:0 -9mm -8mm!important;
  padding:1.8mm 9mm 2.1mm!important;
  background:var(--v516-green-dark)!important;
  color:#fff!important;
  font-size:8px!important;
  text-align:center!important;
  letter-spacing:.35px!important;
}

/* Watermark should never compete with quotation text. */
.v379-public-quote-page .v390-config-logo-watermark,
.v371-preview-overlay .v390-config-logo-watermark{opacity:.025!important;pointer-events:none!important}

/* UI around the paper */
.v379-public-quote-page .v373-public-toolbar,
.v379-public-quote-page .v372-preview-actions{max-width:210mm!important;margin:0 auto 10px!important}

@media(max-width:900px){
  .v379-public-quote-page{padding:8px!important;overflow-x:auto!important}
  .v379-public-quote-page .v372-paper.v379-a4-paper,
  .v371-preview-overlay .v372-paper.v379-a4-paper{width:210mm!important;min-width:210mm!important;max-width:none!important;margin:0 auto!important}
}

@media print{
  @page{size:A4 portrait;margin:0}
  html,body{background:#fff!important}
  .v379-public-quote-page{background:#fff!important;padding:0!important;margin:0!important}
  .v379-public-quote-page .v373-public-toolbar,
  .v379-public-quote-page .v372-preview-actions,
  .v379-public-quote-page .v377-mobile-actions{display:none!important}
  .v379-public-quote-page .v372-paper.v379-a4-paper,
  .v371-preview-overlay .v372-paper.v379-a4-paper{
    width:210mm!important;max-width:210mm!important;min-height:297mm!important;
    margin:0!important;padding:9mm 9mm 8mm!important;box-shadow:none!important;border:0!important;
  }
  .v379-public-quote-page .v372-header,.v371-preview-overlay .v372-header,
  .v379-public-quote-page .v372-info,.v371-preview-overlay .v372-info,
  .v379-public-quote-page .v372-summary,.v371-preview-overlay .v372-summary,
  .v379-public-quote-page .v516-footer,.v371-preview-overlay .v516-footer,
  .v379-public-quote-page .v372-table tr,.v371-preview-overlay .v372-table tr{
    break-inside:avoid!important;page-break-inside:avoid!important;
  }
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

/* V517 customer and column refinement */
.v379-public-quote-page .v517-customer-top,.v371-preview-overlay .v517-customer-top{display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(50mm,.75fr)!important;gap:6mm!important;align-items:center!important;width:100%!important}
.v379-public-quote-page .v372-info .v517-customer-top p,.v371-preview-overlay .v372-info .v517-customer-top p{margin:1.5mm 0!important}
.v379-public-quote-page .v372-info .v516-customer-name,.v371-preview-overlay .v372-info .v516-customer-name{grid-template-columns:max-content minmax(0,1fr)!important;white-space:nowrap!important}
.v379-public-quote-page .v372-info .v516-customer-name span,.v371-preview-overlay .v372-info .v516-customer-name span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-weight:600!important}
.v379-public-quote-page .v372-info .v517-customer-phone,.v371-preview-overlay .v372-info .v517-customer-phone{grid-template-columns:max-content minmax(0,1fr)!important;white-space:nowrap!important}
.v379-public-quote-page .v372-info .v517-customer-phone span,.v371-preview-overlay .v372-info .v517-customer-phone span{white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
.v379-public-quote-page .v372-table th:nth-child(2),.v371-preview-overlay .v372-table th:nth-child(2){width:17mm!important}
.v379-public-quote-page .v372-table th:nth-child(4),.v371-preview-overlay .v372-table th:nth-child(4){width:11mm!important}
.v379-public-quote-page .v372-table th:nth-child(5),.v371-preview-overlay .v372-table th:nth-child(5){width:20mm!important}
.v379-public-quote-page .v372-table th:nth-child(6),.v371-preview-overlay .v372-table th:nth-child(6){width:26mm!important}
.v379-public-quote-page .v372-table th:nth-child(7),.v371-preview-overlay .v372-table th:nth-child(7){width:12mm!important}
.v379-public-quote-page .v372-table th:nth-child(8),.v371-preview-overlay .v372-table th:nth-child(8){width:30mm!important}
.v379-public-quote-page .v372-table td:nth-child(5),.v371-preview-overlay .v372-table td:nth-child(5){text-align:center!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}


/* =========================================================
   V519 - REBUILT QUOTE LAYOUT
   Scoped, valid CSS; designed to match the approved A4 mockup.
   ========================================================= */

/* CUSTOMER INFO — compact vertical stack, no artificial empty height */
.v379-public-quote-page .v372-info,
.v371-preview-overlay .v372-info{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-top:4mm!important;
}
.v379-public-quote-page .v372-info>div,
.v371-preview-overlay .v372-info>div{
  height:auto!important;
  min-height:0!important;
  padding:0 4mm 3.2mm!important;
}
.v379-public-quote-page .v519-customer-stack,
.v371-preview-overlay .v519-customer-stack{
  display:grid!important;
  grid-template-columns:1fr!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  gap:0!important;
  padding:.5mm 0 .4mm!important;
  margin:0!important;
}
.v379-public-quote-page .v372-info .v519-customer-stack p,
.v371-preview-overlay .v372-info .v519-customer-stack p{
  display:grid!important;
  grid-template-columns:42mm minmax(0,1fr)!important;
  column-gap:3mm!important;
  align-items:center!important;
  width:100%!important;
  min-height:5.2mm!important;
  margin:0!important;
  padding:.7mm 0!important;
  font-size:10.5px!important;
  line-height:1.25!important;
  box-sizing:border-box!important;
}
.v379-public-quote-page .v372-info .v519-customer-stack b,
.v371-preview-overlay .v372-info .v519-customer-stack b{
  white-space:nowrap!important;
  font-weight:700!important;
  color:#111!important;
}
.v379-public-quote-page .v372-info .v519-customer-name span,
.v371-preview-overlay .v372-info .v519-customer-name span{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-weight:700!important;
}
.v379-public-quote-page .v372-info .v519-customer-address span,
.v371-preview-overlay .v372-info .v519-customer-address span{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.v379-public-quote-page .v372-info .v519-customer-phone span,
.v371-preview-overlay .v372-info .v519-customer-phone span{
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}

/* PRODUCT TABLE — approved proportions, slightly wider quantity column */
.v379-public-quote-page .v372-table th:nth-child(1),.v371-preview-overlay .v372-table th:nth-child(1){width:7mm!important}
.v379-public-quote-page .v372-table th:nth-child(2),.v371-preview-overlay .v372-table th:nth-child(2){width:18mm!important}
.v379-public-quote-page .v372-table th:nth-child(3),.v371-preview-overlay .v372-table th:nth-child(3){width:auto!important}
.v379-public-quote-page .v372-table th:nth-child(4),.v371-preview-overlay .v372-table th:nth-child(4){width:11mm!important}
.v379-public-quote-page .v372-table th:nth-child(5),.v371-preview-overlay .v372-table th:nth-child(5){width:21mm!important}
.v379-public-quote-page .v372-table th:nth-child(6),.v371-preview-overlay .v372-table th:nth-child(6){width:27mm!important}
.v379-public-quote-page .v372-table th:nth-child(7),.v371-preview-overlay .v372-table th:nth-child(7){width:11mm!important}
.v379-public-quote-page .v372-table th:nth-child(8),.v371-preview-overlay .v372-table th:nth-child(8){width:31mm!important}
.v379-public-quote-page .v372-table td:nth-child(1),
.v379-public-quote-page .v372-table td:nth-child(2),
.v379-public-quote-page .v372-table td:nth-child(4),
.v379-public-quote-page .v372-table td:nth-child(5),
.v379-public-quote-page .v372-table td:nth-child(7),
.v371-preview-overlay .v372-table td:nth-child(1),
.v371-preview-overlay .v372-table td:nth-child(2),
.v371-preview-overlay .v372-table td:nth-child(4),
.v371-preview-overlay .v372-table td:nth-child(5),
.v371-preview-overlay .v372-table td:nth-child(7){text-align:center!important}
.v379-public-quote-page .v372-table td:nth-child(5),
.v371-preview-overlay .v372-table td:nth-child(5){white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
.v379-public-quote-page .v372-table td:nth-child(6),
.v379-public-quote-page .v372-table td:nth-child(8),
.v371-preview-overlay .v372-table td:nth-child(6),
.v371-preview-overlay .v372-table td:nth-child(8){text-align:right!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important}

/* PAYMENT + CONFIRMATION — two equal bordered cards like approved design */
.v379-public-quote-page .v372-footer.v519-footer,
.v371-preview-overlay .v372-footer.v519-footer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:stretch!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  gap:4mm!important;
  margin:4mm 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.v379-public-quote-page .v519-card,
.v371-preview-overlay .v519-card{
  display:block!important;
  position:relative!important;
  width:auto!important;
  min-width:0!important;
  min-height:55mm!important;
  height:55mm!important;
  margin:0!important;
  padding:4mm 4mm 3mm!important;
  border:1px solid #c6d3ca!important;
  border-radius:2.3mm!important;
  background:#fff!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.v379-public-quote-page .v519-card h4,
.v371-preview-overlay .v519-card h4{
  display:flex!important;
  align-items:center!important;
  gap:2mm!important;
  height:6mm!important;
  margin:0 0 3mm!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#0a5d2c!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  text-align:left!important;
  white-space:nowrap!important;
}
.v379-public-quote-page .v519-title-icon,
.v371-preview-overlay .v519-title-icon{
  display:inline-grid!important;
  place-items:center!important;
  width:5mm!important;
  height:5mm!important;
  flex:0 0 5mm!important;
  color:#0a5d2c!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
}
.v379-public-quote-page .v519-bank-grid,
.v371-preview-overlay .v519-bank-grid{
  display:grid!important;
  grid-template-columns:28mm minmax(0,1fr)!important;
  column-gap:3mm!important;
  row-gap:1.6mm!important;
  align-items:start!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  font-size:9.5px!important;
  line-height:1.3!important;
}
.v379-public-quote-page .v519-bank-grid b,
.v371-preview-overlay .v519-bank-grid b{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.v379-public-quote-page .v519-bank-grid span,
.v371-preview-overlay .v519-bank-grid span{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  font-weight:500!important;
  overflow-wrap:anywhere!important;
}
.v379-public-quote-page .v519-payment-terms,
.v371-preview-overlay .v519-payment-terms{
  display:block!important;
  width:100%!important;
  margin:3.2mm 0 0!important;
  padding:2.6mm 0 0!important;
  border-top:1px dotted #b4c1b8!important;
}
.v379-public-quote-page .v519-payment-terms p,
.v371-preview-overlay .v519-payment-terms p{
  display:grid!important;
  grid-template-columns:5mm minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:1.8mm!important;
  width:100%!important;
  margin:1.1mm 0!important;
  padding:0!important;
  font-size:8.5px!important;
  line-height:1.2!important;
}
.v379-public-quote-page .v519-payment-terms i,
.v371-preview-overlay .v519-payment-terms i{
  display:grid!important;
  place-items:center!important;
  width:4.5mm!important;
  height:4.5mm!important;
  margin:0!important;
  border-radius:50%!important;
  background:#0a5d2c!important;
  color:#fff!important;
  font-style:normal!important;
  font-size:7px!important;
  font-weight:800!important;
  line-height:1!important;
}
.v379-public-quote-page .v519-sign-grid,
.v371-preview-overlay .v519-sign-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  width:100%!important;
  height:42mm!important;
  min-height:42mm!important;
  margin:0!important;
  padding:0!important;
}
.v379-public-quote-page .v519-sign-col,
.v371-preview-overlay .v519-sign-col{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  padding:0 3mm!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.v379-public-quote-page .v519-sign-col+.v519-sign-col,
.v371-preview-overlay .v519-sign-col+.v519-sign-col{
  border-left:1px solid #d7e0da!important;
}
.v379-public-quote-page .v519-sign-col strong,
.v371-preview-overlay .v519-sign-col strong{
  margin:0!important;
  font-size:9.1px!important;
  line-height:1.2!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.v379-public-quote-page .v519-sign-col small,
.v371-preview-overlay .v519-sign-col small{
  margin:.7mm 0 0!important;
  font-size:8.1px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  color:#333!important;
}
.v379-public-quote-page .v519-sign-space,
.v371-preview-overlay .v519-sign-space{
  display:block!important;
  flex:0 0 20mm!important;
  width:100%!important;
  height:20mm!important;
}
.v379-public-quote-page .v519-sign-line,
.v371-preview-overlay .v519-sign-line{
  display:block!important;
  flex:0 0 auto!important;
  width:78%!important;
  height:0!important;
  margin:0 auto 1mm!important;
  border:0!important;
  border-bottom:1px dotted #777!important;
}
.v379-public-quote-page .v519-signer-name,
.v371-preview-overlay .v519-signer-name{
  display:block!important;
  min-height:3.5mm!important;
  margin:0!important;
  padding:0!important;
  font-size:8.5px!important;
  line-height:1.15!important;
  font-weight:600!important;
  text-align:center!important;
}
.v379-public-quote-page .v519-sign-col em,
.v371-preview-overlay .v519-sign-col em{
  display:block!important;
  margin:auto 0 0!important;
  padding:0!important;
  font-style:normal!important;
  font-size:8px!important;
  line-height:1!important;
  color:#333!important;
}

/* Prevent old generic footer rules from flattening V519 children. */
.v379-public-quote-page .v519-footer>section,
.v371-preview-overlay .v519-footer>section{
  float:none!important;
  clear:none!important;
  max-width:none!important;
}

@media print{
  .v379-public-quote-page .v372-info,
  .v371-preview-overlay .v372-info,
  .v379-public-quote-page .v372-footer.v519-footer,
  .v371-preview-overlay .v372-footer.v519-footer{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .v379-public-quote-page .v519-card,
  .v371-preview-overlay .v519-card{
    height:55mm!important;
    min-height:55mm!important;
  }
}


/* =========================================================
   V520 - FIX TWO REMAINING QUOTE AREAS
   ========================================================= */
.v379-public-quote-page .v372-title.v520-title,
.v371-preview-overlay .v372-title.v520-title{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;min-width:0!important}
.v379-public-quote-page .v372-title.v520-title h1,
.v371-preview-overlay .v372-title.v520-title h1{margin:0 0 3mm!important;text-align:center!important}
.v379-public-quote-page .v520-quote-meta,
.v371-preview-overlay .v520-quote-meta{display:grid!important;grid-template-columns:1fr!important;width:100%!important;margin:0!important;padding:0!important;border:1px solid #c8d3cb!important;border-radius:2mm!important;background:#fff!important;overflow:hidden!important;box-sizing:border-box!important}
.v379-public-quote-page .v520-meta-row,
.v371-preview-overlay .v520-meta-row{display:grid!important;grid-template-columns:29mm minmax(0,1fr)!important;align-items:center!important;column-gap:2mm!important;min-height:7.2mm!important;margin:0!important;padding:1.2mm 2.8mm!important;border:0!important;border-bottom:1px solid #e1e7e3!important;border-radius:0!important;background:#fff!important;color:#1f2923!important;font-size:9.6px!important;line-height:1.15!important;box-sizing:border-box!important}
.v379-public-quote-page .v520-meta-row:last-child,
.v371-preview-overlay .v520-meta-row:last-child{border-bottom:0!important}
.v379-public-quote-page .v520-meta-row>span,
.v371-preview-overlay .v520-meta-row>span{white-space:nowrap!important;font-weight:700!important}
.v379-public-quote-page .v520-meta-row>b,
.v371-preview-overlay .v520-meta-row>b,
.v379-public-quote-page .v520-meta-row>strong,
.v371-preview-overlay .v520-meta-row>strong{min-width:0!important;margin:0!important;text-align:right!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-weight:700!important;color:#222!important}
.v379-public-quote-page .v520-meta-code>strong,
.v371-preview-overlay .v520-meta-code>strong{color:#d71920!important;font-size:14px!important;letter-spacing:.15px!important}

.v379-public-quote-page .v372-summary,
.v371-preview-overlay .v372-summary{align-items:stretch!important}
.v379-public-quote-page .v372-thankyou.v520-thankyou,
.v371-preview-overlay .v372-thankyou.v520-thankyou{align-self:stretch!important;display:grid!important;grid-template-columns:13mm minmax(0,1fr)!important;align-items:center!important;gap:3mm!important;width:100%!important;height:100%!important;min-height:24mm!important;margin:0!important;padding:3mm 4mm!important;background:linear-gradient(90deg,#fbfcfb 0%,#f3f8f4 100%)!important;border-right:1px solid #d3ddd6!important;box-sizing:border-box!important}
.v379-public-quote-page .v520-thankyou-icon,
.v371-preview-overlay .v520-thankyou-icon{display:grid!important;place-items:center!important;width:12mm!important;height:12mm!important;border:1px solid #d6e0d9!important;border-radius:50%!important;background:#fff!important;color:#0a6a32!important;font-size:20px!important;line-height:1!important}
.v379-public-quote-page .v520-thankyou-copy,
.v371-preview-overlay .v520-thankyou-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important}
.v379-public-quote-page .v372-thankyou.v520-thankyou strong,
.v371-preview-overlay .v372-thankyou.v520-thankyou strong{display:block!important;margin:0 0 1mm!important;color:#0a5d2c!important;font-size:9.6px!important;line-height:1.25!important;font-style:normal!important;font-weight:700!important}
.v379-public-quote-page .v372-thankyou.v520-thankyou p,
.v371-preview-overlay .v372-thankyou.v520-thankyou p{display:block!important;max-width:none!important;margin:0!important;padding:0!important;color:#333!important;font-size:9px!important;line-height:1.35!important;font-style:normal!important}


/* V521 — footer exactly like approved design: one green contact bar only */
.v379-public-quote-page .v374-brand-footer.v521-brand-footer-removed,
.v371-preview-overlay .v374-brand-footer.v521-brand-footer-removed{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.v379-public-quote-page .v374-contact-footer,
.v371-preview-overlay .v374-contact-footer{
  margin-bottom:0!important;
  border-radius:4mm!important;
  min-height:8mm!important;
  height:8mm!important;
  padding:0 8mm!important;
  align-items:center!important;
}
@media print{
  .v379-a4-paper .v374-brand-footer.v521-brand-footer-removed{display:none!important}
  .v379-a4-paper .v374-contact-footer{margin-bottom:0!important}
}

/* =========================================================
   V522 - HEADER + PRODUCT TABLE REFINEMENT
   Only the two areas marked by the user are changed.
   ========================================================= */

/* 1) Header: larger logo/company block, less dead space, balanced with quote meta */
.v379-public-quote-page .v372-header,
.v371-preview-overlay .v372-header{
  grid-template-columns:minmax(0,1.42fr) minmax(58mm,.58fr)!important;
  gap:6mm!important;
  align-items:center!important;
  padding:2.5mm 0 3mm!important;
  min-height:0!important;
}
.v379-public-quote-page .v372-company,
.v371-preview-overlay .v372-company{
  align-items:center!important;
  gap:5mm!important;
}
.v379-public-quote-page .v372-company img,
.v371-preview-overlay .v372-company img,
.v379-public-quote-page .v372-logo-fallback,
.v371-preview-overlay .v372-logo-fallback{
  width:36mm!important;
  height:25mm!important;
  max-width:36mm!important;
  max-height:25mm!important;
}
.v379-public-quote-page .v372-company>div:last-child,
.v371-preview-overlay .v372-company>div:last-child{
  min-width:0!important;
  padding-top:0!important;
}
.v379-public-quote-page .v372-company h2,
.v371-preview-overlay .v372-company h2{
  margin:0 0 1.2mm!important;
  font-size:14px!important;
  line-height:1.15!important;
}
.v379-public-quote-page .v372-company p,
.v371-preview-overlay .v372-company p{
  margin:.55mm 0!important;
  font-size:10.4px!important;
  line-height:1.22!important;
}
.v379-public-quote-page .v372-title.v520-title h1,
.v371-preview-overlay .v372-title.v520-title h1{
  margin:0 0 2.2mm!important;
  font-size:29px!important;
}
.v379-public-quote-page .v520-meta-row,
.v371-preview-overlay .v520-meta-row{
  min-height:6.6mm!important;
  padding:1mm 2.5mm!important;
}

/* customer block to table: tighten the vertical rhythm */
.v379-public-quote-page .v372-info,
.v371-preview-overlay .v372-info{
  margin-top:3.2mm!important;
  margin-bottom:0!important;
}

/* 2) Product table: remove redundant outer frame and pull it closer to customer info */
.v379-public-quote-page .v372-table-wrap,
.v371-preview-overlay .v372-table-wrap{
  margin:2.2mm 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
}
.v379-public-quote-page .v372-table,
.v371-preview-overlay .v372-table{
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid #b8c7bd!important;
  border-radius:1.8mm!important;
  overflow:hidden!important;
  background:#fff!important;
}
.v379-public-quote-page .v372-table thead th:first-child,
.v371-preview-overlay .v372-table thead th:first-child{
  border-top-left-radius:1.5mm!important;
}
.v379-public-quote-page .v372-table thead th:last-child,
.v371-preview-overlay .v372-table thead th:last-child{
  border-top-right-radius:1.5mm!important;
  border-right:0!important;
}
.v379-public-quote-page .v372-table tbody td:last-child,
.v371-preview-overlay .v372-table tbody td:last-child{
  border-right:0!important;
}
.v379-public-quote-page .v372-table tbody tr:last-child td,
.v371-preview-overlay .v372-table tbody tr:last-child td{
  border-bottom:0!important;
}

@media print{
  .v379-public-quote-page .v372-header,
  .v371-preview-overlay .v372-header{
    padding:2.2mm 0 2.8mm!important;
  }
  .v379-public-quote-page .v372-table-wrap,
  .v371-preview-overlay .v372-table-wrap{
    margin-top:2mm!important;
  }
}


/* V523 - Vietnamese Times New Roman typography
   Informational/body text = 12px. Existing large titles/headings remain unchanged. */
.v379-public-quote-page .v372-sheet,
.v371-preview-overlay .v372-sheet{
  font-family:"Times New Roman", Times, serif!important;
}
.v379-public-quote-page .v372-sheet p,
.v379-public-quote-page .v372-sheet td,
.v379-public-quote-page .v372-sheet .v372-info,
.v379-public-quote-page .v372-sheet .v519-payment-row,
.v379-public-quote-page .v372-sheet .v519-payment-note,
.v379-public-quote-page .v372-sheet .v519-sign-role,
.v379-public-quote-page .v372-sheet .v519-sign-sub,
.v379-public-quote-page .v372-sheet .v519-sign-name,
.v379-public-quote-page .v372-sheet .v519-sign-date,
.v379-public-quote-page .v372-sheet .v521-footer,
.v371-preview-overlay .v372-sheet p,
.v371-preview-overlay .v372-sheet td,
.v371-preview-overlay .v372-sheet .v372-info,
.v371-preview-overlay .v372-sheet .v519-payment-row,
.v371-preview-overlay .v372-sheet .v519-payment-note,
.v371-preview-overlay .v372-sheet .v519-sign-role,
.v371-preview-overlay .v372-sheet .v519-sign-sub,
.v371-preview-overlay .v372-sheet .v519-sign-name,
.v371-preview-overlay .v372-sheet .v519-sign-date,
.v371-preview-overlay .v372-sheet .v521-footer{
  font-family:"Times New Roman", Times, serif!important;
  font-size:12px!important;
}

/* Table headers remain visually prominent but use Times New Roman */
.v379-public-quote-page .v372-sheet th,
.v371-preview-overlay .v372-sheet th{
  font-family:"Times New Roman", Times, serif!important;
}

/* Keep larger designed typography sizes */
.v379-public-quote-page .v372-sheet .v372-title,
.v371-preview-overlay .v372-sheet .v372-title,
.v379-public-quote-page .v372-sheet h1,
.v371-preview-overlay .v372-sheet h1,
.v379-public-quote-page .v372-sheet h2,
.v371-preview-overlay .v372-sheet h2,
.v379-public-quote-page .v372-sheet h3,
.v371-preview-overlay .v372-sheet h3,
.v379-public-quote-page .v372-sheet .v519-section-title,
.v371-preview-overlay .v372-sheet .v519-section-title{
  font-family:"Times New Roman", Times, serif!important;
}


/* V524 - VAT from system + employee signature */
.v524-system-vat{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;padding:2px 5px;border-radius:3px;
  font-family:"Times New Roman",Times,serif;font-size:12px;font-weight:700;
  background:#f3f7f4;color:#143d2a;border:1px solid #cfe0d5;
  white-space:nowrap;
}
.v524-sign-space{display:flex!important;align-items:flex-end!important;justify-content:center!important;overflow:hidden!important}
.v524-quote-signature{display:block!important;max-width:42mm!important;max-height:22mm!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:0 auto 1mm!important;mix-blend-mode:multiply}
.v524-signature-profile{width:100%;margin-top:14px;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:8px}
.v524-signature-profile>strong{font-size:12px;color:var(--foreground)}
.v524-profile-signature-img{display:block;max-width:150px;max-height:70px;object-fit:contain;background:#fff;border:1px solid var(--border);padding:6px}
.v524-profile-signature-empty{width:150px;min-height:62px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);background:var(--background);font-size:11px;color:var(--muted-foreground)}
.v524-signature-upload{width:100%;text-align:center}
@media print{
  .v524-quote-signature{max-width:42mm!important;max-height:22mm!important}
}
\n\n/* V527 - center requested quote table data columns */\n.v379-public-quote-page .v372-table tbody td:nth-child(3),\n.v371-preview-overlay .v372-table tbody td:nth-child(3),\n.v379-public-quote-page .v372-table tbody td:nth-child(6),\n.v371-preview-overlay .v372-table tbody td:nth-child(6),\n.v379-public-quote-page .v372-table tbody td:nth-child(8),\n.v371-preview-overlay .v372-table tbody td:nth-child(8){\n  text-align:center!important;\n  vertical-align:middle!important;\n}\n.v379-public-quote-page .v372-table tbody td:nth-child(6),\n.v371-preview-overlay .v372-table tbody td:nth-child(6),\n.v379-public-quote-page .v372-table tbody td:nth-child(8),\n.v371-preview-overlay .v372-table tbody td:nth-child(8){\n  white-space:nowrap!important;\n  font-variant-numeric:tabular-nums!important;\n}\n

/* V528 - 12px Times New Roman for the 3 marked areas */

/* 1) Company information in header */
.v379-public-quote-page .v372-sheet .v372-company,
.v371-preview-overlay .v372-sheet .v372-company,
.v379-public-quote-page .v372-sheet .v372-company p,
.v371-preview-overlay .v372-sheet .v372-company p,
.v379-public-quote-page .v372-sheet .v372-company div,
.v371-preview-overlay .v372-sheet .v372-company div,
.v379-public-quote-page .v372-sheet .v372-company span,
.v371-preview-overlay .v372-sheet .v372-company span,
.v379-public-quote-page .v372-sheet .v372-company b,
.v371-preview-overlay .v372-sheet .v372-company b{
  font-family:"Times New Roman", Times, serif!important;
  font-size:12px!important;
  line-height:1.35!important;
}

/* 2) Bank / account / account holder rows */
.v379-public-quote-page .v372-sheet .v519-payment-row,
.v371-preview-overlay .v372-sheet .v519-payment-row,
.v379-public-quote-page .v372-sheet .v519-payment-row *,
.v371-preview-overlay .v372-sheet .v519-payment-row *{
  font-family:"Times New Roman", Times, serif!important;
  font-size:12px!important;
  line-height:1.35!important;
}

/* 3) Payment method / payment term / quotation validity rows */
.v379-public-quote-page .v372-sheet .v519-payment-note,
.v371-preview-overlay .v372-sheet .v519-payment-note,
.v379-public-quote-page .v372-sheet .v519-payment-note *,
.v371-preview-overlay .v372-sheet .v519-payment-note *{
  font-family:"Times New Roman", Times, serif!important;
  font-size:12px!important;
  line-height:1.35!important;
}

/* Preserve larger designed section titles */
.v379-public-quote-page .v372-sheet .v519-section-title,
.v371-preview-overlay .v372-sheet .v519-section-title{
  font-size:inherit!important;
}


/* V529 - Quote footer text 14px */
.v379-public-quote-page .v372-sheet .v521-footer,
.v379-public-quote-page .v372-sheet .v521-footer *,
.v371-preview-overlay .v372-sheet .v521-footer,
.v371-preview-overlay .v372-sheet .v521-footer *{
  font-family:"Times New Roman", Times, serif!important;
  font-size:14px!important;
  line-height:1.25!important;
}
