/* =========================================================
   V7 MASTER Workspace Design System Migration 1.2
   Sprint 1 – Commercial Workspace Design Layer
   IMPORTANT: visual layer only. No JS/data/calculation logic.
   ========================================================= */
:root{
  --v7-bg:#fbfbfa;
  --v7-surface:rgba(255,255,255,.92);
  --v7-surface-soft:rgba(238,244,239,.68);
  --v7-line:#d7e3d8;
  --v7-green:#00663b;
  --v7-green-strong:#08743f;
  --v7-green-soft:#a8fbce;
  --v7-text:#07131f;
  --v7-muted:#66756d;
  --v7-radius:18px;
  --v7-radius-sm:12px;
  --v7-shadow:0 18px 45px rgba(16,70,43,.075);
  --v7-shadow-soft:0 10px 26px rgba(16,70,43,.055);
}
body{
  background:var(--v7-bg) !important;
  color:var(--v7-text);
  font-family:Urbanist, Arial, sans-serif;
}
.wrap{
  max-width:1380px !important;
  padding:18px 26px 28px !important;
}
.top{
  border-bottom:1px solid var(--v7-line) !important;
  padding-bottom:14px !important;
  margin-bottom:18px !important;
}
.brand img{
  width:142px !important;
  max-height:52px !important;
  object-fit:contain !important;
}
.crumb{
  font-size:11px !important;
  letter-spacing:.10em !important;
  color:var(--v7-green) !important;
  font-weight:800 !important;
}
.title{
  font-size:28px !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
  font-weight:650 !important;
}
.sub{
  font-size:13px !important;
  color:var(--v7-muted) !important;
  font-weight:450 !important;
}
.grid{
  grid-template-columns:minmax(520px, 1fr) minmax(520px, 1fr) !important;
  gap:18px !important;
  align-items:start !important;
}
.leftStack,.right{
  gap:14px !important;
}
.card{
  background:var(--v7-surface) !important;
  border:1px solid var(--v7-line) !important;
  border-radius:var(--v7-radius) !important;
  box-shadow:var(--v7-shadow-soft) !important;
  padding:16px !important;
}
.card:hover{
  box-shadow:var(--v7-shadow) !important;
}
.productStampCard{
  padding:14px !important;
  display:grid !important;
  place-items:center !important;
}
.stamp{
  width:100% !important;
  max-height:500px !important;
  object-fit:contain !important;
  border-radius:14px !important;
}
.sectionTitle{
  margin:0 0 14px !important;
  font-size:18px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  letter-spacing:.045em !important;
  color:var(--v7-green) !important;
  text-transform:uppercase !important;
}
.field label{
  font-size:12px !important;
  font-weight:650 !important;
  color:#143828 !important;
  margin-bottom:7px !important;
}
.input,.select{
  height:42px !important;
  border:1px solid #cfe1d5 !important;
  border-radius:12px !important;
  padding:0 14px !important;
  background:rgba(255,255,255,.96) !important;
  color:var(--v7-text) !important;
  font:600 14px Urbanist,Arial,sans-serif !important;
  outline:none !important;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease !important;
}
.input:focus,.select:focus{
  border-color:#75f38d !important;
  box-shadow:0 0 0 4px rgba(168,251,206,.35) !important;
}
.offerGrid{
  grid-template-columns:1fr 120px 100px !important;
  gap:10px !important;
}
.calcBtn{
  height:88px !important;
  border:1px solid #aee0bd !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#fbfffd,#f0fff6) !important;
  box-shadow:var(--v7-shadow-soft) !important;
  color:var(--v7-green) !important;
  font-size:13px !important;
  font-weight:800 !important;
}
.calcBtn b{font-size:25px !important;}
.calcMetrics{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:9px !important;
  margin-top:12px !important;
}
.metric{
  background:linear-gradient(180deg,#fbfffd,#f7fbf8) !important;
  border:1px solid #dcebe1 !important;
  border-radius:13px !important;
  padding:9px 11px !important;
}
.metric span{
  color:#587064 !important;
  font-size:11px !important;
  font-weight:650 !important;
}
.metric b{
  color:#06391f !important;
  font-size:15px !important;
  font-weight:800 !important;
}
.miniRows{gap:4px !important;margin-top:10px !important;}
.miniRow,.sumRow{
  border-bottom:1px solid #edf4ef !important;
  padding:6px 0 !important;
  font-size:13px !important;
  line-height:1.25 !important;
}
.miniRow span,.sumRow span{color:#23362e !important;}
.miniRow b,.sumRow b{
  font-weight:750 !important;
  color:#06111f !important;
}
.summary-left{
  padding:16px !important;
}
.sumRow.total{
  background:linear-gradient(180deg,#eafff3,#e5fff0) !important;
  border:1px solid var(--v7-green-soft) !important;
  border-radius:13px !important;
  padding:13px 14px !important;
  margin-top:10px !important;
  font-size:17px !important;
  color:#064928 !important;
}
.engineBadge{
  border:1px solid var(--v7-line) !important;
  background:#f7fbf8 !important;
  color:#0b5a33 !important;
  border-radius:999px !important;
  padding:7px 11px !important;
  font-size:11px !important;
  font-weight:700 !important;
}
.address{
  grid-template-columns:1fr 1fr 1.12fr !important;
  gap:9px !important;
}
.logButtons{
  gap:9px !important;
  margin-top:9px !important;
}
.checks{
  gap:16px !important;
  margin-top:10px !important;
  font-size:13px !important;
  color:#123328 !important;
}
.checks input{accent-color:var(--v7-green-strong) !important;}
.mapbox{
  height:94px !important;
  border:1px solid #dbe9df !important;
  border-radius:16px !important;
  background:linear-gradient(155deg,#f2f8f4,#fff) !important;
  margin-top:10px !important;
}
.mapbox span{
  border:1px solid var(--v7-line) !important;
  box-shadow:var(--v7-shadow-soft) !important;
  font-size:14px !important;
  font-weight:800 !important;
}
.freightDisclaimer{
  margin-top:10px !important;
  border:1px solid var(--v7-line) !important;
  border-left:4px solid var(--v7-green-strong) !important;
  background:#f4faf6 !important;
  border-radius:12px !important;
  padding:10px 12px !important;
  color:#315b43 !important;
  font-size:12px !important;
  font-weight:650 !important;
}
.contact{
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}
.submitRow{
  grid-template-columns:1fr 158px 116px !important;
  gap:10px !important;
  margin-top:12px !important;
}
.primary,.secondary,.pill{
  border-radius:13px !important;
  font-family:Urbanist,Arial,sans-serif !important;
  font-weight:750 !important;
  letter-spacing:.01em !important;
}
.primary{
  height:46px !important;
  background:linear-gradient(180deg,#159447,#08743f) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 14px 28px rgba(0,102,59,.18) !important;
}
.primary:hover{filter:brightness(.98) !important;}
.secondary,.pill{
  height:46px !important;
  border:1px solid #bcd9c6 !important;
  background:rgba(255,255,255,.92) !important;
  color:#0b5a33 !important;
  box-shadow:var(--v7-shadow-soft) !important;
}
.security{
  font-size:12px !important;
  color:#50825f !important;
  font-weight:650 !important;
  margin-top:10px !important;
}
@media(max-width:1100px){
  .grid{grid-template-columns:1fr !important;}
  .address,.contact{grid-template-columns:1fr !important;}
  .stamp{max-height:none !important;}
}
@media(max-width:720px){
  .wrap{padding:14px !important;}
  .offerGrid,.submitRow,.calcMetrics{grid-template-columns:1fr !important;}
  .calcBtn{height:64px !important;}
}
