
/* =========================================================
   V379 — Professional A4 + public quote display
   Same visual language for desktop, mobile, preview and print
   ========================================================= */

:root{
  --v379-green:#0b6339;
  --v379-green-dark:#08492d;
  --v379-green-soft:#f5faf7;
  --v379-border:#c8d8cf;
  --v379-grid:#dbe5df;
  --v379-text:#17251d;
  --v379-muted:#607068;
  --v379-red:#c62828;
}

/* Page shell */
.v379-public-quote-page{
  min-height:100vh!important;
  background:#eef2ef!important;
  padding:18px 14px 34px!important;
}

.v379-public-quote-page .v373-public-toolbar,
.v379-public-quote-page .v372-preview-actions{
  width:min(1120px,calc(100vw - 28px))!important;
  max-width:1120px!important;
  margin:0 auto 12px!important;
  border:1px solid #d8e1dc!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(17,45,29,.06)!important;
}

/* Professional A4 visual paper */
.v379-a4-paper{
  width:1120px!important;
  max-width:calc(100vw - 28px)!important;
  margin:0 auto!important;
  border:1px solid #9fb9aa!important;
  border-top:3px solid var(--v379-green)!important;
  border-radius:2px!important;
  background:#fff!important;
  box-shadow:0 10px 32px rgba(17,45,29,.08)!important;
  overflow:hidden!important;
  color:var(--v379-text)!important;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:geometricPrecision!important;
}

/* Header aligned like approved mockup */
.v379-a4-paper .v372-header{
  display:grid!important;
  grid-template-columns:1.16fr .72fr .38fr!important;
  gap:18px!important;
  align-items:start!important;
  padding:20px 22px 18px!important;
  border-top:0!important;
  border-bottom:1px solid var(--v379-border)!important;
  background:#fff!important;
}

.v379-a4-paper .v372-company{
  display:grid!important;
  grid-template-columns:118px 1fr!important;
  gap:16px!important;
  align-items:start!important;
}
.v379-a4-paper .v372-company img,
.v379-a4-paper .v372-logo-fallback{
  width:112px!important;
  height:82px!important;
  object-fit:contain!important;
}
.v379-a4-paper .v372-company h2{
  margin:0!important;
  font-size:18px!important;
  line-height:1.18!important;
  font-weight:900!important;
  color:var(--v379-green)!important;
}
.v379-a4-paper .v372-company p{
  margin:4px 0 0!important;
  font-size:9.4px!important;
  line-height:1.42!important;
  color:#28372e!important;
}

.v379-a4-paper .v372-title{
  text-align:center!important;
}
.v379-a4-paper .v372-title h1{
  margin:0!important;
  font-size:40px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.035em!important;
  color:var(--v379-green)!important;
}
.v379-a4-paper .v372-title>p{
  margin:10px 0 0!important;
  font-size:12px!important;
}
.v379-a4-paper .v372-title>p strong{
  color:var(--v379-red)!important;
  font-size:14px!important;
}
.v379-a4-paper .v372-date{
  width:max-content!important;
  margin:9px auto 6px!important;
  padding:5px 12px!important;
  border:1px solid #9fb7a9!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#26372e!important;
  font-size:9.8px!important;
  font-weight:850!important;
}
.v379-a4-paper .v372-title small{
  font-size:9.4px!important;
  color:#3e4d45!important;
}

.v379-a4-paper .v372-qr{
  display:grid!important;
  justify-items:center!important;
  align-content:start!important;
  gap:6px!important;
  text-align:center!important;
}
.v379-a4-paper .v378-real-qr{
  width:94px!important;
  height:94px!important;
  padding:4px!important;
  border:1px solid #7fa58f!important;
  border-radius:7px!important;
  background:#fff!important;
}
.v379-a4-paper .v372-qr strong{
  font-size:8.9px!important;
  color:#25352c!important;
}
.v379-a4-paper .v372-qr small{
  max-width:150px!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:var(--v379-green)!important;
  color:#fff!important;
  font-size:7.2px!important;
  word-break:break-all!important;
}

/* Customer + notes cards */
.v379-a4-paper .v372-info{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  border-bottom:1px solid var(--v379-border)!important;
  background:#fff!important;
}
.v379-a4-paper .v372-info>div{
  padding:14px 16px 15px!important;
}
.v379-a4-paper .v372-info>div+div{
  border-left:1px solid var(--v379-border)!important;
}
.v379-a4-paper .v372-info h3{
  display:inline-flex!important;
  margin:0 0 9px!important;
  padding:5px 10px!important;
  border-radius:4px!important;
  background:var(--v379-green)!important;
  color:#fff!important;
  font-size:9.8px!important;
  font-weight:900!important;
}
.v379-a4-paper .v372-info p{
  display:grid!important;
  grid-template-columns:126px 1fr!important;
  gap:8px!important;
  margin:5px 0 0!important;
  font-size:9.4px!important;
  line-height:1.45!important;
  color:#29372f!important;
}
.v379-a4-paper .v372-info p b{
  font-weight:850!important;
  color:#17251d!important;
}

/* Product table */
.v379-a4-paper .v372-table-wrap{
  overflow:visible!important;
}
.v379-a4-paper .v372-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  font-size:9.25px!important;
}
.v379-a4-paper .v372-table th{
  padding:8px 6px!important;
  background:linear-gradient(180deg,var(--v379-green) 0%,var(--v379-green-dark) 100%)!important;
  color:#fff!important;
  border-right:1px solid rgba(255,255,255,.28)!important;
  text-align:center!important;
  font-size:8.5px!important;
  font-weight:900!important;
  letter-spacing:.025em!important;
  white-space:nowrap!important;
}
.v379-a4-paper .v372-table th:nth-child(1){width:5.5%!important}
.v379-a4-paper .v372-table th:nth-child(2){width:12%!important}
.v379-a4-paper .v372-table th:nth-child(3){width:25%!important}
.v379-a4-paper .v372-table th:nth-child(4){width:8%!important}
.v379-a4-paper .v372-table th:nth-child(5){width:11%!important}
.v379-a4-paper .v372-table th:nth-child(6){width:18%!important}
.v379-a4-paper .v372-table th:nth-child(7){width:20.5%!important}
.v379-a4-paper .v372-table td{
  padding:9px 7px!important;
  border-right:1px solid var(--v379-grid)!important;
  border-bottom:1px solid var(--v379-grid)!important;
  background:#fff!important;
  color:#1f2b24!important;
  vertical-align:middle!important;
}
.v379-a4-paper .v372-table tbody tr:nth-child(even) td{
  background:#fbfdfc!important;
}
.v379-a4-paper .v372-table td:nth-child(1),
.v379-a4-paper .v372-table td:nth-child(4),
.v379-a4-paper .v372-table td:nth-child(5){
  text-align:center!important;
}
.v379-a4-paper .v372-table td:nth-child(6),
.v379-a4-paper .v372-table td:nth-child(7){
  text-align:right!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}
.v379-a4-paper .v372-table td:nth-child(7){
  font-weight:900!important;
  color:var(--v379-green)!important;
}

/* Totals and thank-you */
.v379-a4-paper .v372-summary{
  display:grid!important;
  grid-template-columns:1fr 48%!important;
  gap:14px!important;
  padding:14px 16px!important;
}
.v379-a4-paper .v372-thankyou{
  align-self:stretch!important;
  padding:13px 14px!important;
  border:1px solid #d7e3db!important;
  border-radius:8px!important;
  background:#fbfdfb!important;
}
.v379-a4-paper .v372-thankyou strong{
  color:var(--v379-green)!important;
  font-size:10.4px!important;
  font-weight:900!important;
}
.v379-a4-paper .v372-thankyou p{
  margin:6px 0 0!important;
  font-size:9.2px!important;
  line-height:1.5!important;
  color:#59665e!important;
}
.v379-a4-paper .v372-total{
  border:1px solid #b8cbbf!important;
  border-radius:7px!important;
  overflow:hidden!important;
}
.v379-a4-paper .v372-total>div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:9px 12px!important;
  border-bottom:1px solid #dce6df!important;
  background:#fff!important;
  font-size:9.6px!important;
}
.v379-a4-paper .v372-total>div b{
  font-size:11px!important;
  font-weight:900!important;
}
.v379-a4-paper .v372-total .grand{
  border-bottom:0!important;
  background:linear-gradient(180deg,var(--v379-green) 0%,var(--v379-green-dark) 100%)!important;
  color:#fff!important;
  font-size:12.5px!important;
  font-weight:900!important;
}
.v379-a4-paper .v372-total .grand b{
  color:#fff!important;
  font-size:19px!important;
}

/* Footer blocks */
.v379-a4-paper .v372-footer{
  display:grid!important;
  grid-template-columns:1fr 1fr 1.18fr!important;
  border-top:1px solid var(--v379-border)!important;
}
.v379-a4-paper .v372-footer>div{
  min-height:132px!important;
  padding:14px 15px!important;
  background:#fff!important;
}
.v379-a4-paper .v372-footer>div+div{
  border-left:1px solid var(--v379-border)!important;
}
.v379-a4-paper .v372-footer h4{
  margin:0 0 8px!important;
  color:var(--v379-green)!important;
  font-size:9.5px!important;
  font-weight:900!important;
}
.v379-a4-paper .v372-footer p{
  margin:5px 0 0!important;
  font-size:8.9px!important;
  line-height:1.45!important;
  color:#303e36!important;
}
.v379-a4-paper .v372-sign{
  text-align:center!important;
}

/* Contact strip */
.v379-a4-paper .v374-contact-strip{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:10px!important;
  padding:10px 16px!important;
  border-top:1px solid #d5e0d9!important;
  background:#fff!important;
  font-size:8.8px!important;
}
.v379-a4-paper .v374-contact-strip span:nth-child(2){text-align:center!important}
.v379-a4-paper .v374-contact-strip span:nth-child(3){text-align:right!important}
.v379-a4-paper .v374-brand-footer{
  padding:7px 14px!important;
  background:var(--v379-green)!important;
  color:#fff!important;
  text-align:center!important;
  font-size:9px!important;
  font-weight:850!important;
}

/* MOBILE — same template, reorganized, not a different design */
@media(max-width:900px){
  .v379-public-quote-page{
    padding:8px 8px 82px!important;
  }
  .v379-a4-paper{
    width:100%!important;
    max-width:100%!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .v379-a4-paper .v372-header{
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:14px 13px 12px!important;
  }
  .v379-a4-paper .v372-company{
    grid-template-columns:88px 1fr!important;
    gap:10px!important;
  }
  .v379-a4-paper .v372-company img,
  .v379-a4-paper .v372-logo-fallback{
    width:82px!important;
    height:66px!important;
  }
  .v379-a4-paper .v372-title{
    text-align:left!important;
    padding-top:10px!important;
    border-top:1px solid #d9e3dd!important;
  }
  .v379-a4-paper .v372-title h1{
    font-size:31px!important;
  }
  .v379-a4-paper .v372-date{
    margin-left:0!important;
  }
  .v379-a4-paper .v372-qr{
    grid-template-columns:82px 1fr!important;
    justify-items:start!important;
    text-align:left!important;
  }
  .v379-a4-paper .v378-real-qr{
    width:80px!important;
    height:80px!important;
    grid-row:1/4!important;
  }
  .v379-a4-paper .v372-info{
    grid-template-columns:1fr!important;
  }
  .v379-a4-paper .v372-info>div+div{
    border-left:0!important;
    border-top:1px solid var(--v379-border)!important;
  }
  .v379-a4-paper .v372-info p{
    grid-template-columns:118px 1fr!important;
    font-size:9.1px!important;
  }
  .v379-a4-paper .v372-table-wrap{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .v379-a4-paper .v372-table{
    min-width:690px!important;
    table-layout:auto!important;
  }
  .v379-a4-paper .v372-summary{
    grid-template-columns:1fr!important;
    padding:12px!important;
  }
  .v379-a4-paper .v372-footer{
    grid-template-columns:1fr!important;
  }
  .v379-a4-paper .v372-footer>div{
    min-height:auto!important;
    padding:12px 13px!important;
  }
  .v379-a4-paper .v372-footer>div+div{
    border-left:0!important;
    border-top:1px solid var(--v379-border)!important;
  }
  .v379-a4-paper .v374-contact-strip{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
  .v379-a4-paper .v374-contact-strip span{
    text-align:left!important;
  }
}

/* PRINT — true A4 scale. No inherited screen media tricks. */
@media print{
  @page{size:A4 portrait;margin:0!important}
  html,body{
    width:210mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  .v373-public-toolbar,
  .v372-preview-actions,
  .v377-mobile-actions{
    display:none!important;
  }
  .v379-public-quote-page{
    padding:0!important;
    background:#fff!important;
  }
  .v379-a4-paper{
    width:196mm!important;
    max-width:196mm!important;
    margin:7mm auto 0!important;
    border:0!important;
    box-shadow:none!important;
  }
  .v379-a4-paper .v372-header{
    padding:10mm 4mm 4mm!important;
  }
  .v379-a4-paper .v372-company{
    grid-template-columns:26mm 1fr!important;
    gap:3mm!important;
  }
  .v379-a4-paper .v372-company img,
  .v379-a4-paper .v372-logo-fallback{
    width:24mm!important;
    height:17mm!important;
  }
  .v379-a4-paper .v372-company h2{
    font-size:11pt!important;
  }
  .v379-a4-paper .v372-company p{
    font-size:6.6pt!important;
  }
  .v379-a4-paper .v372-title h1{
    font-size:24pt!important;
  }
  .v379-a4-paper .v372-title>p{
    font-size:8pt!important;
  }
  .v379-a4-paper .v372-title>p strong{
    font-size:9pt!important;
  }
  .v379-a4-paper .v372-date,
  .v379-a4-paper .v372-title small{
    font-size:6.6pt!important;
  }
  .v379-a4-paper .v378-real-qr{
    width:19mm!important;
    height:19mm!important;
  }
  .v379-a4-paper .v372-qr strong{
    font-size:6.3pt!important;
  }
  .v379-a4-paper .v372-qr small{
    font-size:5pt!important;
  }
  .v379-a4-paper .v372-info>div{
    padding:3mm 4mm!important;
  }
  .v379-a4-paper .v372-info h3{
    font-size:6.5pt!important;
  }
  .v379-a4-paper .v372-info p{
    grid-template-columns:28mm 1fr!important;
    font-size:6.4pt!important;
    margin-top:1.2mm!important;
  }
  .v379-a4-paper .v372-table{
    font-size:6.3pt!important;
  }
  .v379-a4-paper .v372-table th{
    padding:2mm 1.2mm!important;
    font-size:5.8pt!important;
  }
  .v379-a4-paper .v372-table td{
    padding:2mm 1.5mm!important;
  }
  .v379-a4-paper .v372-summary{
    grid-template-columns:1fr 48%!important;
    gap:3mm!important;
    padding:3mm 4mm!important;
  }
  .v379-a4-paper .v372-thankyou{
    padding:3mm!important;
  }
  .v379-a4-paper .v372-thankyou strong{
    font-size:7pt!important;
  }
  .v379-a4-paper .v372-thankyou p{
    font-size:6pt!important;
  }
  .v379-a4-paper .v372-total>div{
    padding:2.2mm 3mm!important;
    font-size:6.4pt!important;
  }
  .v379-a4-paper .v372-total>div b{
    font-size:7pt!important;
  }
  .v379-a4-paper .v372-total .grand{
    font-size:8pt!important;
  }
  .v379-a4-paper .v372-total .grand b{
    font-size:12pt!important;
  }
  .v379-a4-paper .v372-footer>div{
    min-height:27mm!important;
    padding:3mm 4mm!important;
  }
  .v379-a4-paper .v372-footer h4{
    font-size:6.4pt!important;
  }
  .v379-a4-paper .v372-footer p,
  .v379-a4-paper .v372-sign strong{
    font-size:6pt!important;
  }
  .v379-a4-paper .v374-contact-strip{
    padding:2.4mm 4mm!important;
    font-size:5.9pt!important;
  }
  .v379-a4-paper .v374-brand-footer{
    padding:2mm 4mm!important;
    font-size:6.2pt!important;
  }
}
