/* GENERATED by build-doc-css.js from css/engine.css — DO NOT EDIT.
 * The quote document's styles, and nothing else. Edit css/engine.css and re-run `npm run build`.
 * Rules are copied verbatim in source order so the cascade matches the app exactly.
 */
/* engine.css sets this globally (line ~32) and the document's widths assume it.
   Scoped to the document so linking this file cannot re-box the page around it. */
.pv-document,.pv-document *,.pv-document *::before,.pv-document *::after{box-sizing:border-box}
/* Document root — the inherited half of .preview-panel (see build-doc-css.js). An
   embedding page puts this class on the element wrapping the rendered document. */
.pv-document{font-family:var(--prose);color:#001830;font-size:11px;line-height:1.45}
.pv-title-band{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 15px 0}
.pv-brandblock{min-width:0;max-width:180px;flex:0 1 auto;overflow:hidden}
.pv-doc-logo{display:block;max-height:44px;max-width:100%;width:auto;object-fit:contain}
.pv-doc-coname{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--navy);line-height:1.2}
.pv-doc-meta{text-align:right;flex:1 1 auto;min-width:0}
.pv-doctitle{font-family:var(--serif);font-size:19px;font-weight:700;letter-spacing:.2px;color:var(--navy);margin:0;line-height:1.05;overflow-wrap:break-word}
.pv-doc-ref{font-family:var(--mono);font-size:7.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--steel);margin-top:5px}
.pv-brass-rule{height:2px;background:var(--navy);margin:9px 15px 0}
.pv-parties{display:grid;grid-template-columns:1fr 1fr;margin:12px 15px 0;border-top:1px solid #EAE7E0}
.pv-party{padding:11px 0;min-width:0}
.pv-parties .pv-party:first-child{padding-right:16px}
.pv-party+.pv-party{padding-left:16px;border-left:1px solid #EAE7E0}
.pv-party-label{font-family:var(--sans);font-size:7px;font-weight:700;letter-spacing:1.2px;color:var(--steel);margin-bottom:4px;text-transform:uppercase}
.pv-party-name{font-weight:700;font-size:11px;color:#001830;line-height:1.25;margin-bottom:1px}
.pv-party-addr{font-size:8.5px;color:#4A6072;line-height:1.45}
.pv-project{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;margin:0 15px;padding:8px 0;border-top:1px solid #EAE7E0;border-bottom:1px solid #EAE7E0}
.pv-proj-title{font-weight:700;font-size:10.5px;color:#001830;line-height:1.3}
.pv-proj-desc{font-size:8.5px;color:#4A6072;line-height:1.4;margin-top:2px;max-width:52ch}
.pv-proj-site{font-size:8.5px;color:#4A6072;line-height:1.4;margin-top:3px;max-width:52ch}
.pv-proj-site-k{font-weight:700;color:#001830}
.pv-proj-dates{display:flex;gap:16px;text-align:right}
.pv-date-val{font-family:var(--mono);font-weight:500;font-size:9px;color:#001830;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:1px}
.pv-sechead{display:flex;align-items:center;gap:8px;margin:22px 15px 5px}
.pv-sectitle{font-family:var(--sans);font-weight:700;font-size:9px;letter-spacing:1.1px;text-transform:uppercase;color:var(--navy);white-space:nowrap}
.pv-sechead::after{content:"";flex:1;height:1px;background:#EAE7E0}
.pv-works{width:calc(100% - 30px);margin:8px 15px 0;border-collapse:collapse;table-layout:fixed}
.pv-works .pv-works-title{font-family:var(--sans);font-weight:700;font-size:9px;letter-spacing:1.1px;text-transform:uppercase;color:var(--navy);text-align:left;padding:0 0 6px}
.pv-works .pv-wh{font-family:var(--sans);font-weight:600;font-size:7.5px;letter-spacing:.3px;text-transform:uppercase;color:var(--steel);text-align:right;padding:0 0 5px;border-bottom:1.2px solid var(--navy)}
.pv-works .pv-wh.desc{text-align:left}
.pv-works .pv-wc{font-family:var(--mono);font-size:9px;color:#001830;text-align:right;padding:6.5px 0;border-bottom:1px solid #F1F0EB;font-variant-numeric:tabular-nums;vertical-align:top;word-break:break-word}
.pv-works .pv-wc.desc{font-family:var(--prose);text-align:left;color:#4A6072;font-weight:500;padding-right:10px}
.pv-works .pv-wc.desc.num{padding-left:18px}
.pv-wc-no{display:inline-block;width:18px;margin-left:-18px;font-family:var(--mono);font-size:8px;font-weight:500;color:var(--steel);font-variant-numeric:tabular-nums}
.pv-wc-qty{color:var(--steel);font-size:8px;font-family:var(--prose)}
.pv-wc-detail{font-family:var(--prose);font-size:8px;color:var(--steel);line-height:1.4;margin-top:2px;font-weight:400}
.pv-pc{font-family:var(--sans);font-size:6.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#526580;border:1px solid #c7c2b8;border-radius:2px;padding:0 3px;white-space:nowrap;vertical-align:1px}
.pv-pc-note{padding:4px 15px 0;font-size:8px;color:var(--steel);font-style:italic}
.pv-empty{padding:22px 15px;text-align:center;color:var(--steel);font-style:italic;font-size:10px}
.pv-bank{font-size:8px;line-height:1.5;color:#1E3A52;margin:0 15px}
.pv-bank-tbl{border-collapse:collapse;margin-top:4px}
.pv-bank-lbl{font-family:var(--sans);font-size:7.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:#526580;text-align:left;vertical-align:baseline;white-space:nowrap;padding:2px 14px 2px 0}
.pv-bank-val{font-family:var(--mono);font-size:9px;color:#001830;font-variant-numeric:tabular-nums;text-align:left;vertical-align:baseline;padding:2px 0}
.pv-bank-ref{margin-top:6px;color:#526580}
.pv-bank-online{margin-top:7px;padding-top:6px;border-top:1px solid #EAE7E0;color:#1E3A52}
.pv-money{display:inline-flex;justify-content:space-between;gap:4px;min-width:56px;margin-left:auto;text-align:left}
.pv-money-sym{color:var(--steel);font-weight:400}
.pv-money-fig{text-align:right;font-variant-numeric:tabular-nums}
.pv-money.muted{color:var(--steel)}
.pv-sum{width:calc(100% - 30px);margin:3px 15px 0;border-collapse:collapse;table-layout:fixed}
.pv-sum td{padding:3px 0;vertical-align:baseline}
.pv-sum .pv-sum-lbl{font-family:var(--sans);text-align:right;font-size:8.5px;color:var(--steel);padding-right:12px}
.pv-sum .pv-sum-val{font-family:var(--mono);text-align:right;font-size:9.5px;color:#001830;font-variant-numeric:tabular-nums}
.pv-sum tr.sub .pv-sum-lbl{font-size:7.5px;color:var(--steel)}
.pv-sum tr.sub .pv-sum-val{font-size:8px;color:var(--steel)}
.pv-sum tr.memo .pv-sum-lbl{font-style:italic}
.pv-sum tr.memo td{padding-top:1px;padding-bottom:7.25px}
.pv-sum tr.gross td{border-top:1px solid #E2DDD3;padding-top:6px}
.pv-sum tr.gross .pv-sum-lbl{font-size:9px;font-weight:700;letter-spacing:.4px;color:var(--navy)}
.pv-sum tr.gross .pv-sum-val{font-size:11px;font-weight:700;color:var(--navy)}
.pv-sum tr.gross .pv-money-sym{color:var(--navy);font-weight:700}
.pv-sum tr.cis .pv-sum-lbl,.pv-sum tr.cis .pv-sum-val{color:#4A6072}
.pv-sum tr.due .pv-sum-lbl{font-weight:700;color:var(--navy)}
.pv-sum tr.due .pv-sum-val{font-size:11px;font-weight:700;color:var(--navy)}
.pv-sum tr.terminal td{border-top:2px solid var(--navy);padding-top:8px}
.pv-sum tr.terminal .pv-sum-lbl{font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--navy)}
.pv-sum tr.terminal .pv-sum-val{font-size:14px;font-weight:700;color:var(--navy)}
.pv-sum tr.terminal .pv-money{min-width:66px}
.pv-sum tr.terminal .pv-money-sym{color:var(--navy);font-weight:700}
.pv-money-na{color:var(--steel);font-weight:400;justify-content:flex-end}
.pv-drc{margin:9px 15px 0;padding:7px 0 0;border-top:1px solid #EAE7E0;font-size:8.5px;color:#1E3A52;line-height:1.5}
.pv-drc strong{color:var(--navy)}
.pv-varline{font-size:9px;color:#4A6072;font-style:italic;margin:6px 15px 0}
.pv-cis-utr{margin:5px 15px 0;font-size:8px;color:#5a6b7a}
.pv-cis-pending{margin:6px 15px 0;padding:7px 10px;font-size:8.5px;line-height:1.5;color:#5c4310;background:#fdf6e3;border:1px dashed #d9c389;border-radius:5px;font-style:italic}
.pv-excl-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 15px}
.pv-excl-col{min-width:0}
@media screen and (max-width:640px){
.pv-excl-grid{grid-template-columns:1fr;gap:8px}
}
.pv-excl-eyebrow{font-family:var(--sans);font-size:7px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--steel);margin-bottom:5px}
.pv-excl-list{list-style:none;margin:0;padding:0}
.pv-excl-list li{position:relative;padding:0 0 3px 11px;font-size:8.5px;color:#4A6072;line-height:1.45;overflow-wrap:anywhere}
.pv-excl-list li::before{content:"–";position:absolute;left:0;top:0;color:var(--navy);font-weight:600}
.pv-prose{font-size:9px;color:#4A6072;line-height:1.5;margin:2px 15px 0;white-space:pre-wrap}
.pv-prose-warn{color:#8a5a10;white-space:normal}
.pv-pay{width:calc(100% - 30px);margin:0 15px;border-collapse:collapse;table-layout:fixed}
.pv-pay .pv-pay-h{font-family:var(--sans);font-weight:600;font-size:7.5px;letter-spacing:.3px;text-transform:uppercase;color:var(--steel);text-align:right;padding:0 0 5px;border-bottom:1.2px solid var(--navy)}
.pv-pay .pv-pay-h:first-child{text-align:left}
.pv-pay .pv-pay-stage{font-family:var(--prose);font-size:9px;color:#4A6072;font-weight:500;text-align:left;padding:4px 0;border-bottom:1px solid #F1F0EB}
.pv-pay .pv-pay-amt{font-family:var(--mono);font-size:9px;color:#001830;text-align:right;padding:4px 0;border-bottom:1px solid #F1F0EB;font-variant-numeric:tabular-nums}
.pv-pay-note{font-size:8px;color:var(--steel);line-height:1.5;margin:6px 15px 0;font-style:italic}
.pv-terms{font-size:8.5px;color:#4A6072;line-height:1.5;margin:2px 15px 0;padding-left:16px}
.pv-terms li{margin-bottom:3px}
.pv-legal{margin:9px 15px 0;padding:0;font-size:7.5px;color:var(--steel);line-height:1.55}
.pv-accept{margin:12px 15px 0;padding:0;background:none;border:0}
.pv-accept-h{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:var(--navy);margin-bottom:7px}
.pv-accept-h::after{content:"";flex:1;height:1px;background:#EAE7E0}
.pv-accept-p{font-size:8.5px;color:#4A6072;line-height:1.5}
.pv-accept-list{list-style:none;margin:6px 0 0;padding:0}
.pv-accept-list li{position:relative;padding:0 0 3px 12px;font-size:8.5px;color:#4A6072;line-height:1.5}
.pv-accept-list li::before{content:"–";position:absolute;left:0;top:0;color:var(--navy);font-weight:600}
.pv-accept strong{color:#001830;font-weight:700}
.pv-accept-close{margin-top:6px;font-size:8px;color:var(--steel);line-height:1.5}
.pv-sig-row{display:flex;padding:6px 15px 8px;gap:24px}
.pv-sig{flex:1;min-width:0}
.pv-sig-rule{border-top:1px solid rgba(10,35,64,.35);margin-top:13px;margin-bottom:4px}
.pv-sig-label{font-family:var(--sans);font-size:7.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--steel)}
