.quote-workspace{max-width:1210px;margin:0 auto;color:#17304c}.quote-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;padding:18px 22px;border:1px solid #dfe6f0;border-radius:14px;margin-bottom:12px;box-shadow:0 2px 12px #12304a0d}.quote-toolbar strong{display:block;font-size:19px;color:#142d49}.quote-toolbar small{display:block;color:#78879a;margin-top:4px}.quote-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quote-toolbar-tag{padding:7px 11px;background:#edf3fa;color:#28507d;border-radius:18px;font-size:12px;font-weight:650}.quote-toolbar .btn{min-height:36px;padding:7px 12px}.quote-context{background:#fff;border:1px solid #dfe6f0;border-radius:12px;padding:15px 20px;margin:0 0 18px}.quote-context h3{font-size:13px;letter-spacing:.04em;margin:0 0 12px;color:#60748c}.quote-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 15px}.quote-field{display:flex;flex-direction:column;gap:5px;min-width:0;margin-bottom:8px;font-size:12px;font-weight:600;color:#47617b}.quote-field input,.quote-field select,.quote-field textarea,.quote-meta input,.quote-description textarea,.quote-quantity input,.quote-unit input,.quote-discount input{width:100%;min-width:0;border:1px solid #d7e0ea;background:#fff;border-radius:6px;padding:7px 9px;color:#183654;font:inherit}.quote-field textarea{resize:vertical;min-height:58px}.quote-context>.quote-field{margin-top:8px}.quote-brand-controls{border-top:1px solid #e2e9f1;margin-top:10px;padding-top:9px}.quote-brand-controls summary{cursor:pointer;color:#28517c;font-weight:650;font-size:12px;margin-bottom:10px}.quote-stamp-option{display:block;font-size:12px;color:#365674;margin-top:8px}.quote-muted{color:#8190a2;font-size:12px}.quote-stamp-option+.quote-muted{display:block;margin-top:5px}.quote-history{background:#fff;border-radius:9px;padding:12px 15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:12px}.quote-paper{position:relative;background:#fff;border:1px solid #dce5ef;box-shadow:0 12px 38px #102f5218;padding:36px 42px 44px;min-height:1000px;overflow:hidden}.quote-letterhead{display:grid;grid-template-columns:130px 1fr 118px;align-items:center;gap:24px;min-height:124px;border-bottom:3px solid #1f4f82;padding-bottom:20px}.quote-logo{max-width:130px;max-height:105px;object-fit:contain}.quote-mascot{max-width:118px;max-height:118px;object-fit:contain;justify-self:end}.quote-company{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;color:#385675;font-size:12px}.quote-company-name{font-size:17px;font-weight:800;letter-spacing:.015em;color:#143a67}.quote-company strong{color:#23588c;font-size:13px}.quote-meta{background:#f3f7fb;display:flex;justify-content:space-between;gap:20px;padding:14px 20px;margin-top:18px;border-radius:5px}.quote-meta>div{display:flex;align-items:center;gap:12px;min-width:0}.quote-meta span{color:#637995;font-size:11px;font-weight:700;text-transform:uppercase}.quote-meta strong{font-size:13px;color:#204b7b}.quote-meta input{width:auto;font-size:12px}.quote-meta small{color:#7084a0}.quote-document-title{text-align:center;color:#183e6b;font-size:24px;letter-spacing:.14em;margin:27px 0 25px}.quote-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-panel{background:#f7f9fc;border:1px solid #e6ebf2;border-radius:6px;padding:16px 19px;min-height:225px}.quote-panel h2{font-size:14px;text-transform:uppercase;color:#255887;border-bottom:2px solid #cbdce9;padding-bottom:9px;margin:0 0 11px}.quote-panel .quote-field{display:grid;grid-template-columns:125px 1fr;align-items:start;gap:8px;margin-bottom:7px}.quote-panel .quote-field>span:first-child{padding-top:8px;font-size:11px}.quote-panel .quote-field input,.quote-panel .quote-field textarea{font-size:12px;min-height:28px;padding:5px 7px}.quote-panel .quote-static{font-size:12px;padding:7px 0;color:#253d57;font-weight:500}.quote-multiline{white-space:pre-wrap;overflow-wrap:anywhere}.quote-products-bar{display:flex;justify-content:space-between;align-items:center;margin:24px 0 12px;color:#74859b;font-size:12px}.quote-products-bar .btn{background:#17568e;font-size:12px;min-height:36px}.quote-table-scroller{overflow:auto}.quote-table{min-width:750px;width:100%;border-collapse:collapse;table-layout:fixed}.quote-table th{background:#19456f;color:white;font-weight:650;font-size:10px;letter-spacing:.035em;padding:12px 7px;text-transform:uppercase}.quote-table td{border-bottom:1px solid #dfe7ef;vertical-align:middle;font-size:12px;padding:12px 7px;color:#2d4460}.quote-table th:nth-child(1){width:42px}.quote-table th:nth-child(2){width:16%}.quote-table th:nth-child(3){width:100px}.quote-table th:nth-child(4){width:30%}.quote-table th:nth-child(5){width:75px}.quote-table th:nth-child(6){width:105px}.quote-table th:nth-child(7){width:112px}.quote-product-cell strong,.quote-product-cell span{display:block;overflow-wrap:anywhere}.quote-product-cell strong{color:#195188}.quote-product-cell span{margin-top:5px}.quote-picture img,.quote-picture .quote-no-image{width:74px;height:65px;object-fit:contain;display:grid;place-items:center;background:#f5f8fb;border:1px solid #e1e8f0;border-radius:5px}.quote-no-image{font-size:10px;color:#a7b5c5;font-weight:800}.quote-description textarea{font-size:12px;resize:vertical;min-height:58px}.quote-description span{white-space:pre-wrap}.quote-discount{font-size:10px;color:#78899e;display:flex;align-items:center;gap:4px;margin-top:5px}.quote-discount input{width:65px;font-size:11px;padding:3px 5px}.quote-quantity input,.quote-unit input{text-align:right;font-size:12px;padding:6px}.quote-line-total{text-align:right;white-space:nowrap}.quote-line-total strong{color:#1a4673}.quote-delete{display:block;margin:9px 0 0 auto;border:0;background:none;color:#b24747;font-size:10px;cursor:pointer}.quote-empty{text-align:center;padding:26px!important;color:#8798ab!important}.quote-summary{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:32px;margin-top:28px}.quote-notes h3{font-size:12px;text-transform:uppercase;color:#24547f;margin:0 0 9px}.quote-notes textarea{width:100%;min-height:90px;border:1px solid #dce5ef;border-radius:5px;padding:9px;resize:vertical;color:#344b65}.quote-notes .quote-static{font-size:12px;color:#475f7b}.quote-summary-amounts>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid #e0e8f0;font-size:12px}.quote-summary-amounts .quote-grand{background:#173f6e;color:white;border:0;border-radius:4px;padding:17px 15px;font-weight:800;letter-spacing:.04em}.quote-grand strong{font-size:18px}.quote-signatures{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:125px;padding:0 22px;text-align:center}.quote-signatures>div{position:relative}.quote-signatures span{display:block;margin-top:9px;color:#667c97;font-size:11px}.quote-signature-line{border-top:1px solid #9caec1}.quote-stamp{position:absolute;max-width:150px;max-height:125px;object-fit:contain;bottom:18px;left:50%;transform:translateX(-50%)}.quote-draft-mark{position:absolute;right:27px;bottom:18px;color:#a7b4c3;font-size:10px;letter-spacing:.2em}.quote-static{overflow-wrap:anywhere}.quote-modal-backdrop{position:fixed;inset:0;z-index:100;background:#13253fb8;display:grid;place-items:center;padding:24px}.quote-modal{background:#fff;border-radius:14px;width:min(1050px,100%);max-height:90vh;overflow:auto;padding:20px;box-shadow:0 20px 55px #0003}.quote-modal header{display:flex;align-items:center;justify-content:space-between}.quote-modal h2{margin:0;color:#1b416e}.quote-picker-tools{display:flex;gap:12px;align-items:end;margin:17px 0 7px;flex-wrap:wrap}.quote-picker-tools label{display:flex;flex-direction:column;gap:5px;color:#63748a;font-size:12px;flex:1}.quote-picker-tools input,.quote-picker-tools select{border:1px solid #cbd6e3;border-radius:7px;padding:9px}.quote-layout{display:flex;gap:5px}.quote-picker-main{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:16px;margin-top:14px}.quote-picker-results{max-height:410px;overflow:auto;border:1px solid #e0e8f2;border-radius:8px}.quote-picker-product{border:0;border-bottom:1px solid #e1e9f1;background:#fff;width:100%;display:flex;gap:13px;align-items:center;padding:11px;text-align:left;cursor:pointer}.quote-picker-product:hover,.quote-picker-product.selected{background:#eaf3fc}.quote-picker-product img,.quote-picker-product .quote-no-image{width:65px;height:56px;object-fit:contain}.quote-picker-product>span{display:flex;flex-direction:column;gap:4px;color:#2f5171;font-size:12px}.quote-picker-product b{color:#195388}.quote-picker-results.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.quote-picker-results.cards .quote-picker-product{flex-direction:column;align-items:start;border-right:1px solid #e1e9f1}.quote-picker-preview{background:#f5f8fc;border:1px solid #e3ebf4;border-radius:9px;padding:16px;display:flex;flex-direction:column;gap:9px;align-items:start;font-size:12px}.quote-picker-preview img,.quote-picker-preview .quote-no-image{width:100%;height:125px;object-fit:contain}.quote-picker-preview h3{margin:0;color:#1b4876}.quote-picker-preview p{margin:0;line-height:1.5}.quote-picker-preview .btn{width:100%;margin-top:auto}.quote-picker-error{color:#a63737}.quote-product-preview{max-width:180px;max-height:130px;display:block;object-fit:contain;margin-bottom:10px}
@media(max-width:1000px){.quote-paper{padding:26px}.quote-letterhead{grid-template-columns:100px 1fr 75px}.quote-logo,.quote-mascot{max-width:100%}.quote-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-panel .quote-field{grid-template-columns:1fr;gap:0}.quote-panel .quote-field>span:first-child{padding-top:0}.quote-signatures{gap:40px}}
@media(max-width:650px){.quote-paper{padding:17px}.quote-toolbar{align-items:start;flex-direction:column}.quote-context-grid,.quote-panels,.quote-summary,.quote-picker-main{grid-template-columns:1fr}.quote-letterhead{grid-template-columns:70px 1fr 54px;gap:8px}.quote-company-name{font-size:12px}.quote-company{font-size:9px}.quote-meta{flex-direction:column}.quote-signatures{gap:16px;margin-top:80px;padding:0}.quote-modal-backdrop{padding:7px}.quote-picker-results{max-height:200px}.quote-picker-preview img{height:70px}}
@page{size:A4;margin:12mm}
@media print{html,body,:root{background:#fff!important;color:#172b41!important}.shell{display:block!important}.side,.top,.quote-toolbar,.quote-context,.quote-history,.quote-modal-mount,.quote-products-bar,.quote-delete,.quote-discount,.quote-draft-mark,.alert{display:none!important}.main,.content,.quote-workspace{display:block!important;margin:0!important;padding:0!important;max-width:none!important;width:100%!important}.quote-paper{border:0!important;box-shadow:none!important;margin:0!important;min-height:0!important;padding:0!important;overflow:visible!important}.quote-letterhead{min-height:85px;grid-template-columns:100px 1fr 80px}.quote-mascot{max-height:85px}.quote-meta{margin-top:12px}.quote-document-title{margin:20px 0}.quote-panel{min-height:180px;padding:10px}.quote-table-scroller{overflow:visible!important}.quote-table{min-width:0!important;font-size:10px}.quote-table th{font-size:8px!important;padding:7px 3px}.quote-table td{padding:7px 3px;font-size:9px}.quote-table th:nth-child(3){width:65px}.quote-table th:nth-child(5){width:46px}.quote-table th:nth-child(6){width:70px}.quote-table th:nth-child(7){width:80px}.quote-picture img,.quote-picture .quote-no-image{width:54px;height:48px}.quote-paper input,.quote-paper textarea{border:0!important;background:transparent!important;padding:0!important;resize:none;box-shadow:none}.quote-signatures{margin-top:85px}.quote-grand{print-color-adjust:exact;-webkit-print-color-adjust:exact}.quote-table thead{display:table-header-group}.quote-item,.quote-panel,.quote-summary,.quote-signatures{break-inside:avoid}body{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Configurable quotation print/layout settings */
.quote-paper{font-family:var(--quote-font,Arial),sans-serif;font-size:var(--quote-base,12px);padding:var(--quote-padding,42px)}
.quote-company{text-align:var(--quote-header-align,center);align-items:var(--quote-header-align,center)}
.quote-logo{max-width:var(--quote-logo,130px)}
.quote-mascot{max-width:var(--quote-mascot,118px)}
.quote-document-title{text-align:var(--quote-title-align,center)}
.quote-panels{gap:var(--quote-panel-gap,18px);margin-top:var(--quote-section-gap,24px)}
.quote-panels.terms_customer .quote-customer-panel{order:2}.quote-panels.terms_customer .quote-terms-panel{order:1}
.quote-products-bar{margin-top:var(--quote-section-gap,24px)}
.quote-table th{font-size:calc(var(--quote-table,10px) - 2px)}.quote-table td{font-size:var(--quote-table,10px)}
.quote-picture img,.quote-picture .quote-no-image{width:var(--quote-image,74px);height:calc(var(--quote-image,74px) * .88)}
.quote-signatures{margin-top:var(--quote-signature-gap,125px)}
@media print{@page{size:A4;margin:var(--quote-page-margin,12mm)}.quote-paper{font-family:var(--quote-font,Arial),sans-serif!important;font-size:var(--quote-base,12px)!important;padding:0!important}.quote-table th{font-size:calc(var(--quote-table,10px) - 2px)!important}.quote-table td{font-size:var(--quote-table,10px)!important}.quote-signatures{margin-top:var(--quote-signature-gap,85px)!important}.quote-picture img,.quote-picture .quote-no-image{width:var(--quote-image,54px)!important;height:calc(var(--quote-image,54px) * .88)!important}}

@media print{.quote-approvals{display:none!important}.quote-stamp{display:block!important;position:static!important;transform:none!important;margin:0 auto 8px;max-width:150px;max-height:125px}.quote-signatures>div{display:flex;flex-direction:column}.quote-stamp{order:-1}.quote-signatures{break-inside:avoid}}

/* A4 output projection: eight product lines per page, independent of the editor. */
#quote-print-root{position:absolute;left:-10000px;top:0;width:190mm;pointer-events:none;color:#17304c;background:#fff}
#quote-print-root *{box-sizing:border-box}
#quote-print-root .quote-print-page{position:relative;width:190mm;height:275mm;background:#fff;overflow:hidden}
#quote-print-root .quote-print-content{position:absolute;top:0;left:0;width:190mm;transform-origin:top left;font-family:var(--quote-font,Arial),sans-serif;font-size:10px;line-height:1.2}
#quote-print-root .quote-letterhead{grid-template-columns:27mm 1fr 22mm;gap:5mm;min-height:0;height:25mm;padding:0 0 2mm;border-bottom-width:2px}
#quote-print-root .quote-logo{width:27mm;max-width:27mm;max-height:22mm}
#quote-print-root .quote-mascot{width:22mm;max-width:22mm;max-height:22mm}
#quote-print-root .quote-company{gap:2px;font-size:9px}
#quote-print-root .quote-company-name{font-size:13px}
#quote-print-root .quote-company strong{font-size:10px}
#quote-print-root .quote-meta{margin-top:2mm;padding:2mm 3mm;gap:3mm;font-size:9px}
#quote-print-root .quote-meta span,#quote-print-root .quote-meta strong{font-size:9px}
#quote-print-root .quote-meta>div{gap:2mm}
#quote-print-root .quote-document-title{font-size:17px;letter-spacing:.06em;margin:3mm 0}
#quote-print-root .quote-panels{display:grid;grid-template-columns:1fr 1fr;gap:3mm;margin-bottom:3mm}
#quote-print-root .quote-panel{min-height:0;padding:2mm 3mm;border-radius:3px}
#quote-print-root .quote-panel h2{font-size:10px;margin:0 0 1mm;padding:0 0 1mm}
#quote-print-root .quote-panel .quote-field{display:grid;grid-template-columns:25mm 1fr;gap:1mm;margin:0 0 1mm;font-size:9px}
#quote-print-root .quote-panel .quote-field>span:first-child{padding:0;font-size:9px}
#quote-print-root .quote-panel .quote-static{padding:0;font-size:9px;white-space:pre-wrap}
#quote-print-root .quote-table{min-width:0;width:100%;table-layout:fixed;border-collapse:collapse;margin:0}
#quote-print-root .quote-table th{font-size:8px!important;padding:2mm 1mm!important}
#quote-print-root .quote-table td{font-size:9px!important;padding:1.5mm 1mm!important;line-height:1.25}
#quote-print-root .quote-table th:nth-child(1){width:7mm}
#quote-print-root .quote-table th:nth-child(2){width:31mm}
#quote-print-root .quote-table th:nth-child(3){width:20mm}
#quote-print-root .quote-table th:nth-child(4){width:65mm}
#quote-print-root .quote-table th:nth-child(5){width:13mm}
#quote-print-root .quote-table th:nth-child(6){width:25mm}
#quote-print-root .quote-table th:nth-child(7){width:29mm}
#quote-print-root .quote-item{height:14mm}
#quote-print-root .quote-picture img,#quote-print-root .quote-picture .quote-no-image{width:17mm!important;height:11mm!important;object-fit:contain;border:0;background:transparent}
#quote-print-root .quote-product-cell span{margin-top:2px}
#quote-print-root .quote-description span{overflow-wrap:anywhere;white-space:pre-wrap}
#quote-print-root .quote-summary{display:grid;grid-template-columns:1fr 58mm;gap:5mm;margin-top:3mm}
#quote-print-root .quote-notes h3{font-size:9px;margin:0 0 1mm}
#quote-print-root .quote-notes .quote-static{font-size:9px;margin-bottom:1mm}
#quote-print-root .quote-summary-amounts>div{font-size:10px;padding:2mm 3mm}
#quote-print-root .quote-grand strong{font-size:13px}
#quote-print-root .quote-signatures{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:15mm;margin-top:4mm!important;padding:0 8mm}
#quote-print-root .quote-signatures>div{display:flex;flex-direction:column}
#quote-print-root .quote-signatures span{font-size:9px;margin-top:1mm}
#quote-print-root .quote-stamp{position:static!important;transform:none!important;display:block!important;order:0!important;max-width:28mm;max-height:23mm;margin:0 auto 1mm!important}
#quote-print-root .quote-print-footer{position:absolute;bottom:0;left:0;width:100%;height:7mm;border-top:1px solid #dce5ef;display:flex;justify-content:space-between;align-items:center;font:9px Arial,sans-serif;color:#667c97}
#quote-print-root .quote-print-continued{text-align:right;color:#667c97;font-size:9px;margin:3mm 0}
@media print{
 @page{size:A4 portrait;margin:10mm}
 body.quote-printing{margin:0!important;padding:0!important;background:#fff!important}
 body.quote-printing>:not(#quote-print-root){display:none!important}
 body.quote-printing #quote-print-root{position:static!important;left:auto!important;width:190mm!important;pointer-events:auto}
 #quote-print-root .quote-print-page{break-after:page;page-break-after:always;break-inside:avoid}
 #quote-print-root .quote-print-page:last-child{break-after:auto;page-break-after:auto}
 #quote-print-root .quote-print-content{overflow:visible}
 #quote-print-root .quote-table thead{display:table-row-group}
}
