:root{--wine:#6f1021;--wine2:#8b1830;--wine3:#4d0a16;--bg:#f4f6f8;--panel:#fff;--text:#1b2430;--muted:#697586;--line:#dfe4ea;--soft:#f8fafc;--green:#14804a;--amber:#b76e00;--red:#ba1a1a;--blue:#2156a5;--shadow:0 14px 34px rgba(21,31,44,.08);--radius:18px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top right,#a2273e 0,#6f1021 28%,#3b0912 75%)}.auth-card{width:min(440px,100%);background:#fff;border-radius:26px;padding:34px;box-shadow:0 24px 80px rgba(0,0,0,.28)}.auth-brand,.brand{display:flex;align-items:center;gap:12px}.auth-brand{margin-bottom:32px}.auth-brand strong,.brand strong{display:block;letter-spacing:.08em}.auth-brand span,.brand span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,var(--wine2),var(--wine3));color:#fff;font-weight:900;font-size:22px}.auth-card h1{margin:6px 0 8px;font-size:30px}.auth-card p{color:var(--muted);line-height:1.55;margin:0 0 20px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--wine)}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#475569}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px 12px;color:var(--text);outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:#b05265;box-shadow:0 0 0 3px rgba(111,16,33,.08)}textarea{resize:vertical}.auth-card label{margin:12px 0}.auth-message{min-height:20px;margin-top:12px;font-size:12px;color:var(--red)}.auth-foot{display:block;margin-top:20px;color:#8b95a3;line-height:1.4}.auth-separator{display:flex;align-items:center;gap:10px;color:#9aa3ad;font-size:12px;margin:16px 0}.auth-separator:before,.auth-separator:after{content:"";height:1px;background:var(--line);flex:1}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#5d0d1b,#3b0912);color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:30}.sidebar .brand{padding:4px 8px 22px}.sidebar .brand-mark{background:#fff;color:var(--wine)}.sidebar .brand span{color:#d8b8c0}.nav{display:flex;flex-direction:column;gap:5px}.nav-item{position:relative;border:0;background:transparent;color:#eadde0;text-align:left;padding:11px 12px;border-radius:10px;display:flex;gap:10px;align-items:center;font-weight:650}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.12);color:#fff}.nav-item span{width:20px;text-align:center}.nav-count{margin-left:auto;border-radius:999px;background:#fff;color:var(--wine);padding:1px 7px;font-size:11px}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:16px 8px 0;display:flex;flex-direction:column;gap:8px;color:#d7c4c8}.mode-pill{align-self:flex-start;border:1px solid rgba(255,255,255,.22);padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.main{min-width:0}.topbar{height:86px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:0 28px;position:sticky;top:0;z-index:20}.topbar-copy{flex:1}.topbar h1{font-size:20px;margin:0}.topbar p{margin:4px 0 0;color:var(--muted);font-size:12px}.top-actions{display:flex;align-items:center;gap:9px}.user-box{display:flex;align-items:center;gap:9px;padding-right:8px}.user-box strong{display:block;font-size:12px}.user-box small{display:block;color:var(--muted);font-size:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f2e7e9;color:var(--wine);font-size:11px;font-weight:900}.btn,.icon-btn,.mini-btn{border:0;border-radius:10px;font-weight:750;transition:.15s}.btn{padding:10px 14px}.btn.primary{background:var(--wine);color:#fff}.btn.primary:hover{background:var(--wine2)}.btn.secondary{background:#f1e8ea;color:var(--wine)}.btn.ghost{background:#fff;border:1px solid var(--line);color:#334155}.btn.light{background:#fff;color:var(--wine)}.btn.warning{background:#fff3d7;color:#8d5800;border:1px solid #f0d28b}.btn.success{background:var(--green);color:#fff}.btn.danger{background:#fee9e7;color:var(--red)}.btn.wide{width:100%}.icon-btn{width:38px;height:38px;background:#f4f6f8;color:#344054;font-size:20px}.mini-btn{padding:7px 9px;background:#f4f6f8;color:#344054;font-size:11px}.mini-btn.danger{color:var(--red);background:#fff0ee}.view{display:none;padding:24px 28px 48px}.view.active{display:block}.hero-panel{background:linear-gradient(125deg,var(--wine3),var(--wine2));color:#fff;border-radius:22px;padding:30px 34px;margin-bottom:18px;display:flex;align-items:center;gap:20px;justify-content:space-between;box-shadow:var(--shadow)}.hero-panel .eyebrow{color:#f3c7cf}.hero-panel h2{margin:7px 0 8px;font-size:28px}.hero-panel p{margin:0;color:#edd8dc}.kpi-grid{display:grid;gap:14px;margin-bottom:18px}.kpi-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 20px rgba(20,28,38,.03)}.kpi-card{padding:18px}.kpi-card span{display:block;color:var(--muted);font-size:11px;font-weight:750}.kpi-card strong{display:block;font-size:24px;margin:8px 0 4px}.kpi-card small{color:#8b95a3}.kpi-card.accent{border-color:#d8aeba;background:#fffafb}.panel{padding:20px;margin-bottom:16px}.panel.compact{padding:14px 16px}.panel-grid{display:grid;gap:16px}.panel-grid.two{grid-template-columns:1fr 1fr}.panel-head{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;margin-bottom:16px}.panel-head h2{font-size:16px;margin:0}.panel-head p{font-size:12px;color:var(--muted);margin:4px 0 0}.panel-head.split{align-items:center}.flow-list{display:grid;gap:13px}.flow-list>div{display:flex;gap:12px;align-items:flex-start}.flow-list b{flex:0 0 30px;height:30px;border-radius:9px;background:#f5eaec;color:var(--wine);display:grid;place-items:center}.flow-list strong,.flow-list small{display:block}.flow-list small{margin-top:2px;color:var(--muted)}.recent-list,.saved-list{display:grid;gap:10px}.recent-card,.saved-card{border:1px solid var(--line);border-radius:13px;padding:13px;display:flex;justify-content:space-between;gap:14px;align-items:center;background:#fff}.recent-card:hover{border-color:#caa0aa}.recent-card h3,.saved-card h3{margin:0;font-size:13px}.recent-card p,.saved-card p{margin:4px 0 0;color:var(--muted);font-size:11px}.recent-value,.saved-value{font-weight:850;white-space:nowrap}.quote-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;position:sticky;top:100px;z-index:10}.quote-id>span{font-size:10px;color:var(--muted);font-weight:800}.quote-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quote-title-line>strong{font-size:18px}.quote-id small{color:var(--muted)}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.revision-pill,.status-badge,.approval-badge,.internal-tag{display:inline-flex;align-items:center;border-radius:999px;font-size:10px;font-weight:850;padding:4px 8px}.revision-pill{background:#eef1f4;color:#536071}.status-badge{background:#edf1f5;color:#536071}.status-approved{background:#e4f6ec;color:#10713f}.status-rejected{background:#fee9e7;color:#a92c24}.status-sent{background:#e8f1ff;color:#255c9d}.status-analysis{background:#fff3d7;color:#8b5900}.status-expired{background:#f1eef7;color:#6d4c87}.approval-badge{background:#fff0d8;color:#905a00}.internal-tag{background:#f5eaec;color:var(--wine)}.internal-panel{border-left:4px solid var(--wine)}.form-grid{display:grid;gap:12px;margin-bottom:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.tax-note,.policy-note{background:#f7f8fa;border-radius:11px;padding:10px 12px;color:#5d6775;font-size:11px;line-height:1.45}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 12px;border-bottom:1px solid #e9edf1;text-align:left;vertical-align:middle;font-size:12px}th{background:#f7f8fa;color:#5f6b79;font-size:10px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}tbody tr:last-child td{border-bottom:0}.items-table td:nth-child(2){min-width:310px}.item-code{font-weight:850;color:#263241}.item-desc{font-size:11px;color:var(--muted);margin-top:2px}.inline-input{min-width:76px;padding:7px 8px}.item-actions{display:flex;gap:6px;justify-content:flex-end}.empty-state{text-align:center;padding:34px;color:var(--muted)}.empty-state strong,.empty-state span{display:block}.empty-state span{font-size:11px;margin-top:4px}.totals-panel{display:flex;flex-direction:column}.totals-list{display:grid;gap:8px}.totals-list>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line)}.totals-list span{color:var(--muted);font-size:12px}.totals-list .grand{margin-top:5px;padding-top:14px;border-top:2px solid #d4d9df;border-bottom:0}.totals-list .grand strong{font-size:22px;color:var(--wine)}.margin-box{margin-top:14px;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fafbfc}.margin-box span,.margin-box small{display:block;color:var(--muted);font-size:11px}.margin-box strong{display:block;font-size:22px;margin:3px 0}.approval-reason{margin-top:12px;background:#fff5e3;border:1px solid #efdaa9;color:#805209;border-radius:11px;padding:10px;font-size:11px;line-height:1.5}.filter-row{display:flex;gap:10px;margin-bottom:14px}.filter-row input{flex:1}.filter-row select{width:220px}.saved-main{flex:1}.saved-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.saved-meta{display:flex;gap:12px;align-items:center;margin-top:7px;font-size:11px;color:var(--muted)}.saved-meta strong{margin-left:auto;color:var(--text);font-size:13px}.saved-actions{flex-wrap:wrap}.pagination-note{font-size:11px;color:var(--muted);margin-top:10px}.timeline{display:grid;gap:10px}.timeline-item{display:grid;grid-template-columns:145px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:10px 0}.timeline-time{color:var(--muted);font-size:11px}.timeline-body strong{display:block;font-size:12px}.timeline-body p{margin:4px 0 0;color:var(--muted);font-size:11px}.role-pill{font-size:10px;font-weight:800;border-radius:999px;padding:4px 7px;background:#edf1f5;color:#52606f}.check-line{flex-direction:row;align-items:center}.check-line input{width:auto}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(10,15,22,.58);z-index:100}.modal.open{display:flex}.modal-card{width:min(540px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;padding:20px;box-shadow:0 30px 90px rgba(0,0,0,.24)}.modal-card.large{width:min(850px,100%)}.modal-card.print-modal{width:min(1050px,96vw)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.modal-head h2{margin:0;font-size:18px}.modal-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.modal-search{margin-bottom:12px}.product-results{display:grid;gap:7px;max-height:55vh;overflow:auto}.product-result{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff}.product-result:hover{border-color:#bb8491}.product-result strong,.product-result span{display:block}.product-result span{color:var(--muted);font-size:11px;margin-top:2px}.mec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}.mec-row{display:grid;grid-template-columns:1fr 90px;gap:8px}.mec-preview{margin-top:12px;background:#f7f8fa;border-radius:11px;padding:12px;font-size:11px;color:#5d6775}.toast{position:fixed;right:24px;bottom:24px;background:#18212b;color:#fff;border-radius:11px;padding:12px 16px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:200;box-shadow:var(--shadow);font-size:12px}.toast.show{opacity:1;transform:translateY(0)}.print-preview-host{background:#e8ebef;padding:24px;border-radius:14px;overflow:auto}.print-doc{width:210mm;min-height:297mm;margin:auto;background:#fff;color:#111;padding:9mm;font-family:Arial,sans-serif;font-size:10px;box-shadow:0 8px 30px rgba(0,0,0,.14)}.nf-head{border:2px solid #111;display:grid;grid-template-columns:1.2fr .8fr}.nf-brand,.nf-title{padding:9px}.nf-brand h1{margin:0;font-size:22px;letter-spacing:.12em}.nf-brand p{margin:4px 0 0}.nf-title{border-left:2px solid #111;text-align:center}.nf-title strong{font-size:16px;display:block}.nf-title span{display:block;margin-top:5px}.nf-section{border:1px solid #111;margin-top:5px}.nf-section-title{background:#efefef;border-bottom:1px solid #111;padding:3px 5px;font-weight:bold;font-size:8px;letter-spacing:.06em}.nf-grid{display:grid}.nf-grid.cols4{grid-template-columns:2fr 1fr 1fr 1fr}.nf-grid.cols3{grid-template-columns:2fr 1fr 1fr}.nf-cell{padding:5px;border-right:1px solid #111;min-height:34px}.nf-cell:last-child{border-right:0}.nf-cell small{display:block;font-size:7px;text-transform:uppercase;color:#555}.nf-cell b{display:block;margin-top:3px}.nf-items{width:100%;border-collapse:collapse}.nf-items th,.nf-items td{border-right:1px solid #111;border-bottom:1px solid #111;padding:4px;font-size:8px}.nf-items th{background:#efefef;color:#111}.nf-items tr:last-child td{border-bottom:0}.nf-items th:last-child,.nf-items td:last-child{border-right:0}.nf-total-grid{display:grid;grid-template-columns:repeat(5,1fr)}.nf-notes{min-height:70px;padding:7px;white-space:pre-wrap}.nf-footer{text-align:center;margin-top:8px;font-size:8px;color:#444}.print-sheet{display:none}.mobile-only{display:none}.mode-demo{background:#fff0d8!important;color:#895500!important;border-color:#e5c77e!important}
@media(max-width:1180px){.kpi-grid.five{grid-template-columns:repeat(3,1fr)}.form-grid.five,.form-grid.four{grid-template-columns:repeat(2,1fr)}.panel-grid.two{grid-template-columns:1fr}.app-shell{grid-template-columns:220px 1fr}}
@media(max-width:800px){.mobile-only{display:inline-grid}.app-shell{display:block}.sidebar{position:fixed;left:-270px;width:250px;transition:.2s}.sidebar.open{left:0}.topbar{height:auto;min-height:74px;padding:12px 14px}.topbar-copy p,.user-box{display:none}.top-actions .btn.ghost{display:none}.view{padding:16px}.hero-panel{padding:24px;align-items:flex-start;flex-direction:column}.kpi-grid.five{grid-template-columns:1fr 1fr}.form-grid.two,.form-grid.four,.form-grid.five{grid-template-columns:1fr}.quote-toolbar{top:84px;align-items:flex-start;flex-direction:column}.filter-row{flex-direction:column}.filter-row select{width:100%}.recent-card,.saved-card{align-items:flex-start;flex-direction:column}.saved-meta{flex-wrap:wrap}.saved-meta strong{margin-left:0}.mec-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr}.print-doc{width:100%;min-height:0;padding:14px}.print-preview-host{padding:8px}}
@media(max-width:520px){.kpi-grid.five{grid-template-columns:1fr}.top-actions #newQuoteTopBtn{padding:9px 10px}.topbar-copy h1{font-size:16px}.toolbar-actions{width:100%}.toolbar-actions .btn{flex:1}.panel{padding:15px}}
@media print{body{background:#fff}.app-shell,.auth-screen,.modal,.toast{display:none!important}.print-sheet{display:block!important}.print-doc{box-shadow:none;margin:0;width:210mm;min-height:297mm;padding:7mm}@page{size:A4;margin:0}}

/* V6.2 — Custo x Venda */
.field-help{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}
.internal-value{font-weight:800;color:#6e2132;background:#fffafb}
.item-margin{min-width:112px}
.item-margin strong{display:block;font-size:12px}
.item-margin small{display:block;margin-top:3px;color:var(--muted);font-size:9px;white-space:nowrap}
.item-margin.margin-ok strong{color:#177245}
.item-margin.margin-warn strong{color:#9a6700}
.item-margin.margin-bad strong{color:#b42318}
.profitability-block{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.profitability-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.profitability-title span{font-size:10px;font-weight:900;letter-spacing:.06em;color:var(--wine)}
.profitability-title small{color:var(--muted);font-size:9px;text-align:right}
.profitability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.profit-card{padding:10px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}
.profit-card span{display:block;color:var(--muted);font-size:10px}
.profit-card strong{display:block;margin-top:4px;font-size:15px}
.margin-box.margin-healthy{border-color:#b9dfc9;background:#f4fbf7}
.margin-box.margin-healthy strong{color:#177245}
.margin-box.margin-critical{border-color:#efc3bd;background:#fff7f6}
.margin-box.margin-critical strong{color:#b42318}
@media(max-width:760px){.profitability-grid{grid-template-columns:1fr}.profitability-title{display:block}.profitability-title small{display:block;text-align:left;margin-top:3px}}

/* V6.6 — catálogo multi-família: apenas complementos funcionais, sem alterar o layout V6.4/V6.5.1 */
.v66-product-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:10px;margin-bottom:10px}
.v66-product-filters .modal-search{margin:0}
.product-family-tag,.item-family-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:5px;padding:2px 7px;border-radius:999px;background:rgba(112,20,28,.08);color:#70141c;font-size:10px;font-style:normal;font-weight:700;line-height:1.35}
.item-family-badge{margin-top:4px}
@media(max-width:720px){.v66-product-filters{grid-template-columns:1fr}}

/* V7.7 — Proposta comercial inspirada nos modelos Word oficiais fornecidos */
.v77-fiscal-summary{margin-top:14px}.v77-fiscal-summary strong{color:var(--wine)}.v77-fiscal-alert{margin-top:6px;color:#8a5100;background:#fff5df;border-radius:7px;padding:6px 8px}.proposal-doc{font-family:Arial,Helvetica,sans-serif;color:#111}.proposal-page{position:relative;width:210mm;min-height:297mm;box-sizing:border-box;margin:0 auto 18px;background:#fff;padding:8mm 7mm 10mm;box-shadow:0 8px 30px rgba(0,0,0,.14);overflow:hidden}.proposal-doc-header{position:relative;display:grid;grid-template-columns:150px 1fr 48px;align-items:center;min-height:22mm;border-bottom:2px solid #111}.proposal-logo-wrap{display:flex;align-items:center;justify-content:flex-start;height:18mm}.proposal-logo-wrap img{max-width:145px;max-height:42px;object-fit:contain}.proposal-company{text-align:center;font-size:9px;line-height:1.25}.proposal-company strong,.proposal-company span{display:block}.proposal-company strong{font-size:10px}.proposal-ref{justify-self:center;border:1px solid #111;padding:2px 5px;font-size:11px;font-weight:800;font-style:italic}.proposal-special-title{position:absolute;left:150px;right:48px;top:-1px;text-align:center;font-size:13px;line-height:1.05;background:#fff}.proposal-special-title strong,.proposal-special-title span{display:block}.proposal-special-title span{font-weight:700;margin-top:2px}.proposal-special-title+.proposal-company{padding-top:9mm}.proposal-supply-title{text-align:center;font-weight:800;font-size:12px;border-bottom:2px solid #111;padding:3px 4px;text-transform:uppercase}.proposal-page-no{position:absolute;right:8mm;bottom:5mm;font-size:9px}.proposal-client-grid{display:grid;grid-template-columns:1.6fr 1fr;column-gap:12mm;row-gap:6px;border-bottom:2px solid #111;padding:4mm 2mm;font-size:9px;min-height:39mm}.proposal-client-grid>div:nth-child(odd){text-align:left}.proposal-warning{margin:3mm 0 0;background:#fff0d7;border:1px solid #d89c31;color:#835400;font-weight:800;text-align:center;padding:7px;font-size:9px}.proposal-cover{height:135mm;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7mm}.proposal-cover img{max-width:90%;max-height:96mm;object-fit:contain}.proposal-cover h2{margin:0;font-size:16px;text-decoration:underline;text-transform:uppercase}.proposal-cover h3{margin:-4mm 0 0;font-size:14px}.proposal-intro{font-size:8.6px;line-height:1.25;margin:0 4mm}.proposal-intro strong{display:block;text-align:center;text-decoration:underline;font-size:7px}.proposal-intro p{margin:4mm 0 0;text-align:justify}.proposal-section-heading{text-align:center;font-size:14px;margin:8mm 0 5mm;text-decoration:underline}.proposal-red-table{width:100%;border-collapse:collapse;table-layout:auto}.proposal-red-table th,.proposal-red-table td{border:1px solid #111;padding:5px 6px;font-size:8px;vertical-align:top}.proposal-red-table th{background:#d71920;color:#fff;font-weight:800;text-align:center}.proposal-red-table td:nth-last-child(-n+3){text-align:center}.proposal-red-table.commercial td:nth-last-child(-n+4){text-align:center}.proposal-red-table.commercial td:nth-last-child(-n+2){white-space:nowrap;text-align:right}.proposal-tech-note{margin-top:8mm;font-size:9px;line-height:1.35}.proposal-tech-note strong{display:block;border-bottom:1px solid #111;padding-bottom:2px}.proposal-tech-note p{text-align:justify}.proposal-totals{width:57%;margin:5mm 0 6mm auto;border:1px solid #111;font-size:9px}.proposal-totals>div{display:flex;justify-content:space-between;gap:8px;padding:4px 6px;border-bottom:1px solid #111}.proposal-totals>div:last-child{border-bottom:0}.proposal-total-final{background:#f4f4f4;font-size:10px}.proposal-notes{font-size:9px;line-height:1.4}.proposal-notes h3,.proposal-tax-block h3,.proposal-reference h3{font-size:10px;margin:4mm 0 2mm}.proposal-notes p{margin:2mm 0}.proposal-tax-block{margin-top:7mm;font-size:9px;line-height:1.55}.proposal-tax-block>div{margin:1mm 0}.proposal-reference{margin-top:9mm;font-size:9px;line-height:1.45}.proposal-reference p{text-align:justify}.proposal-reference>strong{display:block;margin-top:6mm}.proposal-accept{margin-top:12mm;font-size:9px;text-align:center;font-weight:700}.proposal-accept>div{margin-top:8mm}.proposal-sign-line{border-top:1px solid #111;padding-top:2mm;width:70%;margin-left:auto!important;margin-right:auto!important}.proposal-signatures{position:absolute;left:10mm;right:10mm;bottom:16mm;display:grid;grid-template-columns:1fr 1fr;gap:18mm;font-size:8px}.proposal-signatures div{display:flex;flex-direction:column;gap:2px}.proposal-signatures strong{font-size:9px}.print-preview-host .proposal-page:last-child{margin-bottom:0}

@media(max-width:800px){.proposal-page{width:100%;min-height:auto;padding:14px}.proposal-doc-header{grid-template-columns:110px 1fr 38px}.proposal-logo-wrap img{max-width:105px}.proposal-client-grid{grid-template-columns:1fr}.proposal-cover{height:auto;min-height:420px}.proposal-signatures{position:static;margin-top:30px}.proposal-page-no{display:none}}

@media print{.proposal-doc{width:210mm}.proposal-page{box-shadow:none;margin:0;width:210mm;height:297mm;min-height:297mm;page-break-after:always;break-after:page}.proposal-page:last-child{page-break-after:auto;break-after:auto}.print-preview-host{padding:0;background:#fff}}

/* V7.8 — perfil fiscal separado + especificações técnicas por item */
.v78-tax-setup-grid{display:grid;gap:12px}.v78-tax-section{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.v78-tax-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid #edf0f3}.v78-tax-section-head strong{font-size:12px;color:#273142}.v78-tax-section-head span{font-size:10px;color:var(--muted);text-align:right;max-width:420px;line-height:1.35}.proposal-tech-kicker{font-size:10px;font-weight:800;margin:4mm 0 2mm;text-transform:uppercase;border-bottom:1px solid #111;padding-bottom:1.5mm}.proposal-spec-table{width:100%;border-collapse:collapse;font-size:9px;margin-bottom:6mm}.proposal-spec-table th,.proposal-spec-table td{border:1px solid #111;padding:6px 8px}.proposal-spec-table th{width:64%;text-align:left;background:#f3f3f3}.proposal-spec-table td{text-align:center;font-weight:700}.proposal-tech-copy{font-size:9px;line-height:1.42}.proposal-tech-copy h3{font-size:10px;margin:5mm 0 2mm;border-bottom:1px solid #111;padding-bottom:1mm}.proposal-tech-copy p{text-align:justify;margin:2.5mm 0}.proposal-item-spec-head{border:1px solid #111;display:grid;grid-template-columns:24mm 1fr;margin-bottom:5mm;font-size:9px}.proposal-item-spec-head span{background:#f3f3f3;font-weight:800;text-align:center;padding:7px;border-right:1px solid #111}.proposal-item-spec-head strong{padding:7px}.proposal-module-title{display:flex;gap:12px;align-items:center;border-bottom:2px solid #111;margin:0 0 4mm;padding:0 0 2mm}.proposal-module-title b{font-size:12px}.proposal-module-title span{font-size:11px}.proposal-tech-list{margin:0;padding-left:6mm;font-size:9px;line-height:1.5}.proposal-tech-list li{margin:1.7mm 0}.proposal-observation-list{font-size:9px;line-height:1.42}.proposal-observation-list li{margin:2mm 0}.proposal-dimension-note{margin-top:7mm;padding:6px 8px;border:1px solid #111;background:#fafafa;font-size:9px}.proposal-source-note{margin-top:6mm;padding-top:2mm;border-top:1px solid #bbb;font-size:7.5px;color:#555}.proposal-component-table th,.proposal-component-table td{font-size:7.6px}.proposal-component-table td:nth-last-child(-n+2){text-align:center;white-space:nowrap}
@media(max-width:800px){.v78-tax-section-head{display:block}.v78-tax-section-head span{display:block;text-align:left;margin-top:4px}.proposal-item-spec-head{grid-template-columns:1fr}.proposal-item-spec-head span{border-right:0;border-bottom:1px solid #111}}

/* V7.8.1 — ficha técnica por código */
.proposal-tech-profile-title{display:flex;flex-direction:column;gap:2px;margin:0 0 5mm;padding:4mm;border:1px solid #111;background:#fafafa;text-align:center}.proposal-tech-profile-title b{font-size:12px}.proposal-tech-profile-title span{font-size:9px}.proposal-product-spec-table th{width:42%}.proposal-product-spec-table td{text-align:left;font-weight:600}.proposal-source-note b{color:#222}


/* V7.8.3 — aprovação com alçada */
.v783-approval-snapshot{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--border,#e1e4ea);border-radius:12px;background:rgba(120,20,38,.04);margin-bottom:14px}.v783-approval-snapshot span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.v783-approval-snapshot strong{font-size:24px}.v783-approval-snapshot small{opacity:.7}.modal-actions .spacer{flex:1}@media(max-width:780px){.v783-back-btn{width:36px;height:36px}.toolbar-actions #quotePrevStageBtn{order:-1;width:100%}}


/* V7.8.5 — navegação interna corrigida */
.v784-back-btn{height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 10px 0 7px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.07);color:#eadde0;font-size:11px;font-weight:750;line-height:1;white-space:nowrap;flex:0 0 auto;transition:background .15s,border-color .15s,color .15s,transform .15s}.v784-back-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.v784-back-btn:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.24);color:#fff;transform:translateX(-1px)}.v784-back-btn:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.v784-back-btn:disabled,.v784-back-btn.is-disabled{opacity:.35;cursor:default;transform:none}.v784-back-btn.hidden{display:none!important}
@media(max-width:800px){.v784-back-btn{width:36px;height:36px;padding:0;justify-content:center;border-radius:10px}.v784-back-btn span{display:none}}

/* V7.8.5 — interface orientada por permissão e aprovação de desconto em destaque */
.permission-blocked{display:none!important}.v785-approve-discount{background:#167a4a;color:#fff;border:1px solid #12643d;box-shadow:0 4px 12px rgba(22,122,74,.18)}.v785-approve-discount:hover{background:#12643d}.v785-approve-discount.hidden{display:none!important}.approval-badge.v785-approved{background:#e4f6ec;color:#10713f}
@media(max-width:900px){.toolbar-actions .v785-approve-discount{order:-1}}

/* V7.8.7 — fluxo de navegação e retorno após criação */
.v786-back-btn{height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 12px 0 7px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:.16s ease;flex:0 0 auto}.v786-back-btn:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);transform:translateX(-1px)}.v786-back-btn:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}.v786-back-icon{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.12)}.v786-back-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.v786-back-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}.v786-back-copy small{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#d9c3c8;font-weight:750}.v786-back-copy strong{font-size:11px;color:#fff;font-weight:800;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast.success{background:#126b43}.toast.error{background:#a92c24}.toast.warning{background:#8a5a05}.v786-created-highlight{animation:v786Created 2.6s ease}@keyframes v786Created{0%,25%{box-shadow:0 0 0 3px rgba(20,128,74,.18),0 8px 24px rgba(20,128,74,.14);border-color:#62ad87}100%{box-shadow:none}}
@media(max-width:980px){.v786-back-copy small{display:none}.v786-back-copy strong{max-width:90px}}
@media(max-width:800px){.v786-back-btn{width:38px;height:38px;padding:0;justify-content:center;border-radius:11px}.v786-back-icon{background:transparent;width:36px;height:36px}.v786-back-copy{display:none}}

/* V7.8.7 — workspace com abas, breadcrumb e retorno contextual */
.v786-workspace{position:sticky;top:86px;z-index:18;background:rgba(250,251,252,.96);backdrop-filter:blur(10px);border-bottom:1px solid #dfe4ea;padding:7px 28px 8px;box-shadow:0 4px 14px rgba(27,36,48,.035)}
.v786-workspace-breadcrumb{min-height:18px;display:flex;align-items:center;gap:6px;color:#7a8491;font-size:10px;font-weight:700;letter-spacing:.01em;margin-bottom:5px}.v786-workspace-breadcrumb span:last-of-type{color:#4b5563}.v786-workspace-breadcrumb b{font-size:13px;color:#a5adb7;font-weight:600}
.v786-workspace-tabs-wrap{display:flex;align-items:center;gap:10px;min-width:0}.v786-workspace-tabs{display:flex;align-items:flex-end;gap:5px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:0 1px}.v786-workspace-tabs::-webkit-scrollbar{height:4px}.v786-workspace-tabs::-webkit-scrollbar-thumb{background:#cfd5dc;border-radius:99px}
.v786-workspace-tab{height:36px;min-width:116px;max-width:230px;display:flex;align-items:center;border:1px solid #d9dfe6;border-bottom-color:#cfd6df;border-radius:10px 10px 7px 7px;background:#f3f5f7;color:#606b78;transition:.16s ease;flex:0 0 auto;overflow:hidden}.v786-workspace-tab:hover{background:#fff;border-color:#c9d0d9}.v786-workspace-tab.active{background:#fff;color:#6f1021;border-color:#d5c2c7;box-shadow:0 -2px 0 #6f1021 inset,0 3px 10px rgba(50,30,36,.05)}
.v786-workspace-tab-main{height:100%;min-width:0;flex:1;border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:7px;padding:0 8px 0 10px;text-align:left;font-size:11px;font-weight:780}.v786-workspace-tab-dot{width:6px;height:6px;border-radius:50%;background:#aeb6c0;flex:0 0 auto}.v786-workspace-tab.active .v786-workspace-tab-dot{background:#8b1830;box-shadow:0 0 0 3px rgba(139,24,48,.09)}.v786-workspace-tab-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v786-workspace-tab-close{width:28px;height:28px;margin-right:3px;border:0;border-radius:8px;background:transparent;color:#8d96a2;font-size:17px;line-height:1;display:grid;place-items:center}.v786-workspace-tab-close:hover{background:#f1e8ea;color:#6f1021}.v786-workspace-tab.active .v786-workspace-tab-close{color:#866570}.v786-tabs-summary{margin-left:auto;flex:0 0 auto;color:#8b95a3;font-size:9px;font-weight:750;white-space:nowrap}
.v786-back-btn{border-color:rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.06))}.v786-back-btn .v786-back-icon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.v786-created-highlight{position:relative;animation:v786Created 2.6s ease!important}@keyframes v786Created{0%,30%{box-shadow:0 0 0 3px rgba(20,128,74,.22),0 10px 28px rgba(20,128,74,.16);border-color:#4da879;background:#f5fff9}100%{box-shadow:none;background:inherit}}
@media(max-width:980px){.v786-tabs-summary{display:none}.v786-workspace{padding-left:18px;padding-right:18px}.v786-workspace-tab{min-width:105px;max-width:185px}}
@media(max-width:800px){.v786-workspace{top:74px;padding:5px 12px 7px}.v786-workspace-breadcrumb{display:none}.v786-workspace-tab{height:34px;min-width:102px;max-width:160px}.v786-workspace-tab-main{font-size:10px;padding-left:8px}.v786-workspace-tab-close{width:25px;height:25px}.view{padding-top:18px}}
.v786-workspace{top:62px}.v786-workspace ~ .view .quote-toolbar{top:132px}
@media(max-width:800px){.v786-workspace{top:62px}.v786-workspace ~ .view .quote-toolbar{top:108px}}
/* V7.9.1 — conjuntos impressos como um único item comercial com detalhamento técnico */
.proposal-set-components{display:flex;flex-direction:column;gap:3px;margin-top:5px;font-size:9px;line-height:1.35;color:#333}
.proposal-set-component{display:block;padding-left:2px}
@media print{.proposal-set-components{font-size:8.5px}}

/* V7.9.4 — paginação inteligente/compacta da proposta */
/* Na visualização, as páginas lógicas após a capa deixam de reservar uma folha A4 inteira. */
.print-preview-host .proposal-doc{background:#fff;width:210mm;margin:0 auto;box-shadow:0 8px 30px rgba(0,0,0,.14)}
.print-preview-host .proposal-page:not(:first-child){min-height:0;height:auto;margin:0;box-shadow:none;overflow:visible;padding-top:6mm;padding-bottom:7mm;border-top:1px dashed #d9d9d9}
.print-preview-host .proposal-page:not(:first-child) .proposal-page-no{display:none}
.print-preview-host .proposal-page:not(:first-child) .proposal-signatures{position:static;margin:12mm 3mm 0}

@media print{
  /* A capa continua sendo uma página controlada. O restante vira fluxo paginado pelo navegador. */
  .proposal-doc{width:210mm}
  .proposal-page:first-child{width:210mm;height:297mm;min-height:297mm;margin:0;overflow:hidden;page-break-after:always;break-after:page}
  .proposal-page:not(:first-child){width:auto;height:auto;min-height:0;margin:0;overflow:visible;box-shadow:none;padding:5mm 7mm 6mm;page-break-after:auto;break-after:auto;break-before:auto}
  .proposal-page:not(:first-child) .proposal-page-no{display:none}
  .proposal-page:not(:first-child) .proposal-signatures{position:static;margin:12mm 3mm 0}

  /* Mantém unidades pequenas juntas, mas permite que seções longas usem o restante da folha anterior. */
  .proposal-section-heading,.proposal-tech-kicker,.proposal-module-title,.proposal-item-spec-head,
  .proposal-notes h3,.proposal-tax-block h3,.proposal-reference h3{break-after:avoid;page-break-after:avoid}
  .proposal-red-table tr,.proposal-spec-table tr,.proposal-component-table tr,
  .proposal-totals>div,.proposal-payment-schedule>div,.proposal-tech-list li,
  .proposal-observation-list li{break-inside:avoid;page-break-inside:avoid}
  .proposal-totals,.proposal-warning,.proposal-dimension-note,.proposal-source-note{break-inside:avoid;page-break-inside:avoid}
  .proposal-red-table thead,.proposal-spec-table thead,.proposal-component-table thead{display:table-header-group}
  .proposal-red-table tfoot,.proposal-spec-table tfoot,.proposal-component-table tfoot{display:table-footer-group}
  .proposal-client-grid{break-inside:avoid;page-break-inside:avoid}
  .print-preview-host{padding:0;background:#fff}
}

/* V7.13.11 — vendedor interno ou representante sem acesso */
.v71311-responsibility-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));align-items:start}
.v71311-responsibility-grid label{min-width:0}
.proposal-v71311 .proposal-payment-condition{margin:0 0 2.5mm;padding:2.2mm 2.8mm;border-left:2.5px solid #650d20;background:#f7f2f4;font-weight:700;line-height:1.45}
@media(max-width:760px){.v71311-responsibility-grid{grid-template-columns:1fr}}

/* V7.9.5 — fechamento visual das tabelas na proposta/print.
   O Chromium pode omitir a borda colapsada da ultima linha quando a tabela
   participa do fluxo paginado. Reforcamos apenas o contorno final, sem
   engrossar as divisorias internas. */
.proposal-red-table,
.proposal-spec-table,
.proposal-component-table{
  border-bottom:1px solid #111;
}
.proposal-red-table tbody tr:last-child > td,
.proposal-red-table tbody tr:last-child > th,
.proposal-spec-table tbody tr:last-child > td,
.proposal-spec-table tbody tr:last-child > th,
.proposal-component-table tbody tr:last-child > td,
.proposal-component-table tbody tr:last-child > th{
  border-bottom:1px solid #111 !important;
}
@media print{
  .proposal-red-table,
  .proposal-spec-table,
  .proposal-component-table{
    border-bottom:1px solid #111 !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  .proposal-red-table tbody tr:last-child > td,
  .proposal-red-table tbody tr:last-child > th,
  .proposal-spec-table tbody tr:last-child > td,
  .proposal-spec-table tbody tr:last-child > th,
  .proposal-component-table tbody tr:last-child > td,
  .proposal-component-table tbody tr:last-child > th{
    border-bottom:1px solid #111 !important;
  }
}

/* V7.13.0 — proposta compacta, capa editorial e fluxo técnico contínuo */
.proposal-v713 .proposal-cover-page{padding:0;overflow:hidden;background:#fff}
.proposal-cover-hero{position:relative;height:183mm;background:#4d0a16;overflow:hidden}
.proposal-cover-photo{width:100%;height:100%;object-fit:cover;display:block}
.proposal-cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(63,5,17,.94) 0%,rgba(87,10,27,.76) 42%,rgba(0,0,0,.12) 100%)}
.proposal-cover-logo{position:absolute;left:15mm;top:16mm;width:50mm;max-height:20mm;object-fit:contain;object-position:left center}
.proposal-cover-copy{position:absolute;left:15mm;right:18mm;bottom:20mm;color:#fff;max-width:145mm}
.proposal-cover-copy span{display:block;font-size:10px;letter-spacing:.18em;font-weight:800;margin-bottom:5mm}
.proposal-cover-copy h1{font-size:26px;line-height:1.08;margin:0 0 7mm;text-transform:uppercase;max-width:140mm}
.proposal-cover-copy strong{display:inline-block;font-size:13px;border:1px solid rgba(255,255,255,.55);padding:3mm 5mm;border-radius:2mm}
.proposal-cover-client{display:grid;grid-template-columns:1.4fr 1.4fr .7fr .8fr;gap:0;border-bottom:1px solid #ddd;height:63mm;padding:10mm 12mm;background:#fff}
.proposal-cover-client>div{padding:0 5mm;border-right:1px solid #ddd}.proposal-cover-client>div:first-child{padding-left:0}.proposal-cover-client>div:last-child{border-right:0}
.proposal-cover-client small{display:block;font-size:7px;letter-spacing:.12em;color:#777;margin-bottom:3mm}.proposal-cover-client b{font-size:10px;line-height:1.35}
.proposal-cover-footer{height:21mm;background:#650d20;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 12mm;font-size:8px}
.proposal-cover-warning{position:absolute;z-index:5;top:4mm;right:4mm;left:auto;margin:0;max-width:95mm}
.proposal-v713 .proposal-flow-page{padding-top:5mm;padding-bottom:6mm}
.proposal-v713 .proposal-doc-header{min-height:15mm;grid-template-columns:115px 1fr 38px}.proposal-v713 .proposal-logo-wrap{height:12mm}.proposal-v713 .proposal-logo-wrap img{max-width:110px;max-height:30px}
.proposal-v713 .proposal-supply-title{font-size:9px;padding:2px 4px}.proposal-v713 .proposal-company{font-size:7.5px}.proposal-v713 .proposal-company strong{font-size:8.5px}.proposal-v713 .proposal-ref{font-size:9px}
.proposal-v713 .proposal-section-heading{font-size:12px;margin:5mm 0 3mm;text-decoration:none;color:#650d20;text-align:left;border-bottom:2px solid #650d20;padding-bottom:1.5mm}
.proposal-tech-divider{height:1px;background:#ddd;margin:5mm 0}
.proposal-v713 .proposal-item-spec-head{margin-bottom:3mm}.proposal-v713 .proposal-tech-profile-title{margin-bottom:3mm;padding:2.5mm}.proposal-v713 .proposal-tech-profile-title b{font-size:10px}
.proposal-v713 .proposal-spec-table{margin-bottom:3mm;font-size:8px}.proposal-v713 .proposal-spec-table th,.proposal-v713 .proposal-spec-table td{padding:4px 6px}
.proposal-v713 .proposal-red-table th,.proposal-v713 .proposal-red-table td{padding:4px 5px;font-size:7.5px}.proposal-v713 .proposal-component-table th,.proposal-v713 .proposal-component-table td{font-size:7px}
.proposal-v713 .proposal-tech-copy{font-size:8px;line-height:1.3}.proposal-v713 .proposal-tech-copy h3{margin:3mm 0 1.5mm}.proposal-v713 .proposal-tech-copy p{margin:1.5mm 0}
.proposal-v713 .proposal-tech-list{font-size:8px;line-height:1.3}.proposal-v713 .proposal-tech-list li{margin:1mm 0}.proposal-v713 .proposal-source-note{margin-top:3mm;font-size:6.8px}.proposal-v713 .proposal-dimension-note{margin-top:3mm;font-size:8px}
.proposal-v713 .proposal-totals{margin:3mm 0 4mm auto;font-size:8px}.proposal-v713 .proposal-totals>div{padding:3px 5px}
.proposal-commercial-grid{display:grid;grid-template-columns:1fr 1fr;gap:8mm;margin-top:3mm}.proposal-v713 .proposal-notes,.proposal-v713 .proposal-tax-block{font-size:8px;line-height:1.3;margin:0}.proposal-v713 .proposal-notes h3,.proposal-v713 .proposal-tax-block h3{color:#650d20;margin:2mm 0 1.5mm;font-size:9px}.proposal-v713 .proposal-notes p{margin:1.5mm 0}.proposal-v713 .proposal-tax-block>div{margin:.7mm 0}
.proposal-v713 .proposal-payment-schedule{gap:2px}.proposal-v713 .proposal-payment-schedule div{font-size:7.5px;padding:3px 5px}.proposal-pix-code{font-size:6.5px;word-break:break-all}
.proposal-reference-compact{margin-top:5mm!important;font-size:8px!important}.proposal-reference-compact h3{margin:0 0 1.5mm!important;color:#650d20}.proposal-reference-compact p{margin:0}
.proposal-accept-compact{margin-top:6mm!important;font-size:8px!important}.proposal-accept-compact>div{margin-top:5mm!important}.proposal-signatures-compact{position:static!important;margin:7mm 3mm 0!important;font-size:7.5px!important}
@media print{
 .proposal-v713 .proposal-cover-page{width:210mm!important;height:297mm!important;min-height:297mm!important;page-break-after:always!important;break-after:page!important}
 .proposal-v713 .proposal-flow-page{page-break-after:auto!important;break-after:auto!important}
 .proposal-v713 .proposal-tech-divider{break-after:auto;page-break-after:auto}
 .proposal-commercial-grid,.proposal-reference-compact,.proposal-accept-compact,.proposal-signatures-compact{break-inside:avoid;page-break-inside:avoid}
}


/* V7.13.1 — nova capa editorial da proposta técnico-comercial */
.proposal-cover-v7131{position:relative!important;background:#fff!important;color:#172033!important}
.proposal-cover-v7131 .proposal-cover-warning{position:absolute;z-index:20;top:4mm;right:4mm}
.v7131-cover-top{position:relative;height:176mm;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fff 70%,#fafafa 100%)}
.v7131-cover-brand{position:absolute;left:18mm;top:14mm;width:63mm;height:30mm;display:flex;align-items:center}
.v7131-cover-brand img{display:block;max-width:63mm;max-height:28mm;object-fit:contain;object-position:left center}
.v7131-cover-kicker{position:absolute;left:18mm;top:51mm;display:flex;align-items:center;gap:4mm;color:#5f0c1d}
.v7131-cover-kicker span{width:15mm;height:1px;background:#9c1027}.v7131-cover-kicker b{font-size:9px;letter-spacing:.12em}
.v7131-cover-title{position:absolute;left:18mm;top:67mm;width:105mm;z-index:5}
.v7131-cover-title h1{margin:0;font-size:28px;line-height:1.02;letter-spacing:-.02em;font-weight:900;color:#1c1a1b}
.v7131-cover-title h1 em{font-style:normal;color:#a60f28}
.v7131-cover-title p{margin:7mm 0 5mm;max-width:84mm;font-size:10px;line-height:1.45;color:#596273}
.v7131-cover-title strong{display:inline-block;background:#650d20;color:#fff;padding:3mm 5mm;border-radius:1.5mm;font-size:11px;letter-spacing:.04em}
.v7131-cover-visual{position:absolute;right:-1mm;top:0;width:92mm;height:176mm}
.v7131-cover-red-frame{position:absolute;inset:0;background:linear-gradient(145deg,#b20d29,#650d20);clip-path:polygon(48% 0,100% 0,100% 100%,0 61%,31% 48%,0 38%);z-index:1}
.v7131-cover-photo-wrap{position:absolute;right:0;top:20mm;width:78mm;height:128mm;clip-path:polygon(40% 0,100% 0,100% 100%,0 76%,28% 56%,0 42%);z-index:2;background:#5d0a18;overflow:hidden}
.v7131-cover-photo-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(93,10,24,.08),rgba(128,0,25,.42));mix-blend-mode:multiply}
.v7131-cover-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9) contrast(1.04)}
.v7131-client-card{height:87mm;padding:8mm 13mm 6mm;background:#fff;border-top:1px solid #eee}
.v7131-client-heading{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid #8e1025;padding-bottom:3mm;margin-bottom:4mm}
.v7131-client-heading span{font-size:8px;letter-spacing:.13em;font-weight:800;color:#9d1129}
.v7131-client-heading strong{font-size:12px;color:#1b2433;max-width:115mm;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v7131-client-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3mm 5mm}
.v7131-client-grid>div{border-bottom:1px solid #e5e7eb;padding:0 0 2.3mm;min-height:13mm}
.v7131-client-grid .wide{grid-column:span 2}
.v7131-client-grid small{display:block;color:#8b93a2;font-size:6.5px;letter-spacing:.1em;margin-bottom:1.5mm}
.v7131-client-grid b{display:block;color:#202938;font-size:8.5px;line-height:1.25}
.v7131-cover-bottom{height:34mm;background:linear-gradient(90deg,#720d20,#ab0f29);color:#fff;padding:0 13mm;display:grid;grid-template-columns:56mm 1fr 38mm;align-items:center;gap:8mm}
.v7131-cover-bottom>div:first-child{display:flex;align-items:center;gap:3mm;border-right:1px solid rgba(255,255,255,.45)}
.v7131-cover-bottom>div:first-child b{font-size:27px;line-height:1}.v7131-cover-bottom>div:first-child span{font-size:7px;font-weight:800;line-height:1.2}
.v7131-cover-contact{display:flex;flex-direction:column;gap:1.5mm;font-size:6.8px;line-height:1.3}
.v7131-cover-bottom img{width:36mm;max-height:17mm;object-fit:contain}
@media print{
  .proposal-cover-v7131{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .v7131-cover-red-frame,.v7131-cover-bottom,.v7131-cover-title strong{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}


/* V7.13.2 — cabeçalho recorrente + paginação inteligente */
.proposal-running-header{display:none}
.proposal-v7132 .proposal-commercial-table caption{
  caption-side:top;text-align:left;color:#650d20;font-size:12px;font-weight:800;
  border-bottom:2px solid #650d20;padding:0 0 1.5mm;margin:0 0 3mm;
}
.proposal-v7132 .proposal-commercial-grid .proposal-tax-block{order:1}
.proposal-v7132 .proposal-commercial-grid .proposal-notes{order:2}

/* Evita títulos "órfãos" no fim da página */
.proposal-v7132 .proposal-tech-copy h3,
.proposal-v7132 .proposal-module-title,
.proposal-v7132 .proposal-tech-profile-title,
.proposal-v7132 .proposal-item-spec-head,
.proposal-v7132 .proposal-reference h3,
.proposal-v7132 .proposal-notes h3,
.proposal-v7132 .proposal-tax-block h3{
  break-after:avoid-page!important;
  page-break-after:avoid!important;
}

/* Listas técnicas curtas viajam inteiras para a página seguinte.
   Listas longas podem quebrar normalmente para aproveitar a folha. */
.proposal-v7132 .proposal-tech-list:not(:has(li:nth-child(8))){
  break-inside:avoid-page!important;
  page-break-inside:avoid!important;
}
.proposal-v7132 .proposal-tech-copy h3:has(+ .proposal-tech-list:not(:has(li:nth-child(8)))){
  break-before:auto!important;
  break-after:avoid-page!important;
}

/* O caption "PROPOSTA COMERCIAL" faz parte da tabela, então não fica isolado. */
.proposal-v7132 .proposal-commercial-table{
  break-before:auto;
}
.proposal-v7132 .proposal-commercial-table caption,
.proposal-v7132 .proposal-commercial-table thead{
  break-after:avoid-page!important;
  page-break-after:avoid!important;
}

/* Mantém pequenos blocos junto do conteúdo que os sucede. */
.proposal-v7132 .proposal-source-note,
.proposal-v7132 .proposal-dimension-note{
  orphans:3;widows:3;
}
.proposal-v7132 .proposal-tech-copy p{
  orphans:3;widows:3;
}

/* Evita uma página final criada apenas por título/assinatura. */
.proposal-v7132 .proposal-reference-compact,
.proposal-v7132 .proposal-accept-compact,
.proposal-v7132 .proposal-signatures-compact{
  break-inside:avoid-page!important;
  page-break-inside:avoid!important;
}

@media print{
  /* Cabeçalho fixo repetido em todas as páginas internas.
     A capa tem fundo/z-index acima dele e continua limpa. */
  .proposal-v7132 .proposal-running-header{
    display:grid!important;
    position:fixed!important;
    z-index:2;
    top:4mm;left:7mm;right:7mm;
    height:15mm;
    grid-template-columns:38mm 1fr 14mm;
    align-items:center;
    border-bottom:1.5px solid #650d20;
    background:#fff;
    padding:0 1mm 2mm;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  .proposal-running-logo img{max-width:34mm;max-height:11mm;object-fit:contain;object-position:left center}
  .proposal-running-title{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.12}
  .proposal-running-title strong{font-size:8px;color:#20252e}
  .proposal-running-title span{font-size:6.2px;color:#737b88;margin-top:1mm}
  .proposal-running-ref{justify-self:end;border:1px solid #222;padding:1mm 2mm;font-size:7px;font-weight:800}

  /* conteúdo interno começa abaixo do cabeçalho recorrente */
  .proposal-v7132 .proposal-flow-page{
    padding-top:22mm!important;
  }

  /* A capa cobre completamente o cabeçalho fixo. */
  .proposal-v7132 .proposal-cover-v7131{
    position:relative!important;
    z-index:10!important;
    background:#fff!important;
  }

  /* Quando um bloco técnico não couber, prefere movê-lo ao invés de deixar só o título. */
  .proposal-v7132 .proposal-tech-divider{margin:3.5mm 0}
  .proposal-v7132 .proposal-spec-table{break-inside:auto!important}
  .proposal-v7132 .proposal-spec-table thead{display:table-header-group}

  /* Melhor aproveitamento vertical sem apertar demais */
  .proposal-v7132 .proposal-flow-page{padding-bottom:5mm!important}
  .proposal-v7132 .proposal-section-heading{margin-top:3.5mm!important;margin-bottom:2.5mm!important}
  .proposal-v7132 .proposal-commercial-grid{gap:7mm!important}
}


/* V7.13.3 — reserva física de cabeçalho nas quebras de página.
   Corrige conteúdo/tabelas que entravam por baixo do header fixo. */
@media print{
  /* Todas as páginas internas ganham uma faixa superior reservada.
     A primeira página (capa) continua sem margem. */
  @page{
    size:A4;
    margin:20mm 0 6mm 0;
  }
  @page :first{
    size:A4;
    margin:0;
  }

  /* O header fica dentro da faixa reservada, e não sobre o conteúdo. */
  .proposal-v7132 .proposal-running-header{
    top:-17mm!important;
    left:7mm!important;
    right:7mm!important;
    height:14mm!important;
    padding:0 1mm 1.5mm!important;
    background:#fff!important;
    z-index:50!important;
  }

  /* A reserva agora vem do @page; não precisamos duplicar 22 mm no início do bloco. */
  .proposal-v7132 .proposal-flow-page{
    padding-top:5mm!important;
    padding-bottom:4mm!important;
    min-height:271mm!important;
    overflow:visible!important;
  }

  /* A capa mantém exatamente o desenho A4 da V7.13.1. */
  .proposal-v7132 .proposal-cover-v7131{
    width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    margin-top:0!important;
    overflow:hidden!important;
  }

  /* Impede linhas de tabela de atravessarem a área reservada.
     Cada linha é indivisível; tabelas grandes continuam quebrando entre linhas. */
  .proposal-v7132 .proposal-red-table tr,
  .proposal-v7132 .proposal-spec-table tr,
  .proposal-v7132 .proposal-component-table tr{
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
  }

  /* Repetição limpa do cabeçalho das tabelas após quebra. */
  .proposal-v7132 .proposal-red-table thead,
  .proposal-v7132 .proposal-spec-table thead,
  .proposal-v7132 .proposal-component-table thead{
    display:table-header-group!important;
  }

  /* Bordas e linhas não avançam sobre o header em Chromium. */
  .proposal-v7132 .proposal-red-table,
  .proposal-v7132 .proposal-spec-table,
  .proposal-v7132 .proposal-component-table{
    position:relative;
    z-index:1;
  }

  /* Elementos que normalmente aparecem no final/início de páginas recebem folga mínima. */
  .proposal-v7132 .proposal-dimension-note,
  .proposal-v7132 .proposal-source-note,
  .proposal-v7132 .proposal-item-spec-head,
  .proposal-v7132 .proposal-tech-profile-title{
    margin-top:2.5mm!important;
  }
}


/* V7.13.4 — HOTFIX: cabeçalho recorrente no TOPO das páginas internas */
@media print{
  /* Mantém a área superior reservada em todas as páginas internas. */
  @page{
    size:A4;
    margin:20mm 0 6mm 0;
  }
  @page :first{
    size:A4;
    margin:0;
  }

  /* O cabeçalho deve ficar no topo físico da folha, nunca no rodapé. */
  .proposal-v7132 .proposal-running-header{
    display:grid!important;
    position:fixed!important;
    top:0!important;
    bottom:auto!important;
    left:7mm!important;
    right:7mm!important;
    height:15mm!important;
    margin:0!important;
    padding:1.5mm 1mm 2mm!important;
    box-sizing:border-box!important;
    background:#fff!important;
    border-top:0!important;
    border-bottom:1.5px solid #650d20!important;
    z-index:9999!important;
    transform:none!important;
  }

  /* Conteúdo começa abaixo da área reservada do cabeçalho. */
  .proposal-v7132 .proposal-flow-page{
    padding-top:5mm!important;
    margin-top:0!important;
  }

  /* A capa continua cobrindo qualquer header fixo da primeira folha. */
  .proposal-v7132 .proposal-cover-v7131{
    position:relative!important;
    z-index:10000!important;
    background:#fff!important;
  }
}

/* V7.13.5 */
.v7135-product-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.v7135-import-steps{display:grid;gap:10px;margin:4px 0 14px}.v7135-import-steps>div{display:grid;grid-template-columns:34px minmax(220px,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e2e7ed;border-radius:12px;background:#fbfcfd}.v7135-import-steps>div>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#650d20;color:#fff}.v7135-import-steps span{display:flex;flex-direction:column;gap:3px}.v7135-import-steps small{color:#727c8b}.v7135-import-summary{padding:10px 12px;background:#f5f7fa;border-radius:9px;margin:10px 0;font-size:13px}.v7135-preview-wrap{max-height:310px}.v7135-status{display:inline-block;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:700}.v7135-status.ok{background:#eaf8f0;color:#167a49}.v7135-status.bad{background:#fff0f0;color:#af2733}.v7135-import-errors{margin-top:10px;padding:10px 12px;border:1px solid #efc2c6;background:#fff7f7;border-radius:9px;color:#8e1c28;font-size:12px}.v7135-import-errors ul{margin:7px 0 0;padding-left:20px}@media(max-width:800px){.v7135-import-steps>div{grid-template-columns:34px 1fr}.v7135-import-steps input,.v7135-import-steps button{grid-column:2}.v7135-product-actions{justify-content:flex-start}}

.v71352-advanced{margin:12px 0;border:1px solid #e1e5ea;border-radius:10px;padding:10px 12px}.v71352-advanced summary{cursor:pointer;font-weight:700;color:#650d20;margin-bottom:8px}

/* V7.13.6 — wizard de importação e relatórios */
.v7136-wizard-card{max-height:94vh;overflow:auto}.v7136-wizard-intro{display:flex;flex-direction:column;gap:4px;margin:4px auto 18px;max-width:850px}.v7136-wizard-intro strong{font-size:17px}.v7136-wizard-intro span{color:#6c7684}
.v7136-stage-flow{max-width:850px;margin:0 auto}.v7136-stage{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid #e3e7ec;border-radius:14px;background:#fff;box-shadow:0 4px 16px rgba(20,29,40,.04)}.v7136-stage-number{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#8b1026;color:#fff;font-size:20px;font-weight:800}.v7136-stage-body h3{margin:1px 0 5px;font-size:16px}.v7136-stage-body p{margin:0 0 10px;color:#5f6977;line-height:1.5}.v7136-stage-arrow{text-align:center;font-size:22px;color:#a7adb6;height:27px;line-height:27px}.v7136-required{padding:8px 10px;background:#f7f3f4;border-radius:8px;color:#5d2530;font-size:12px}
.v7136-upload-stage{border-color:#d8bec4;background:#fffafb}.v7136-dropzone{display:flex;min-height:135px;border:2px dashed #9c8490;border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:#fff;cursor:pointer;transition:.15s}.v7136-dropzone:hover,.v7136-dropzone.dragover{border-color:#650d20;background:#fff5f7}.v7136-upload-icon{font-size:28px;color:#650d20}.v7136-dropzone strong{color:#650d20}.v7136-dropzone small{color:#7a8390}
.v7136-review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.v7136-review-head h3{margin:3px 0}.eyebrow{font-size:10px;letter-spacing:.1em;color:#8a94a1;font-weight:800}
.v7136-warning-panel{display:grid;grid-template-columns:46px 1fr;gap:14px;border:1px solid #efcf9e;background:#fffaf1;border-radius:14px;padding:18px}.v7136-warning-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#f59a23;color:#fff;font-size:22px;font-weight:900}.v7136-warning-panel h3{margin:0 0 8px;color:#84510d}.v7136-warning-panel p{line-height:1.55;color:#525c69}.v7136-confirm-check{display:flex;gap:9px;align-items:center;margin-top:16px;font-weight:700}.v7136-confirm-check input{width:19px;height:19px}
.v7136-status-title{display:flex;align-items:center;gap:14px;padding:14px 0}.v7136-status-title h3{margin:0 0 3px}.v7136-status-title p{margin:0;color:#6d7784}.v7136-spinner{width:34px;height:34px;border:4px solid #eadde1;border-top-color:#650d20;border-radius:50%;animation:v7136spin .8s linear infinite}.v7136-spinner.done{animation:none;border-color:#1e9d64;position:relative}.v7136-spinner.done:after{content:"✓";position:absolute;inset:-5px;display:grid;place-items:center;color:#1e9d64;font-weight:900}.v7136-spinner.error{animation:none;border-color:#bd3342;position:relative}.v7136-spinner.error:after{content:"×";position:absolute;inset:-5px;display:grid;place-items:center;color:#bd3342;font-weight:900;font-size:22px}@keyframes v7136spin{to{transform:rotate(360deg)}}
.v7136-progress{height:8px;background:#eceff2;border-radius:999px;overflow:hidden;margin:8px 0 18px}.v7136-progress span{display:block;height:100%;width:8%;background:#650d20;border-radius:999px;transition:width .35s}.v7136-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.v7136-status-grid>div{border:1px solid #e1e6eb;border-radius:11px;padding:12px;background:#fafbfc}.v7136-status-grid span{display:block;font-size:11px;color:#77818e}.v7136-status-grid strong{display:block;font-size:22px;margin-top:3px}.v7136-status-message{margin-top:14px;padding:10px 12px;background:#f6f7f9;border-radius:9px;color:#596472}
.v7136-export-format{display:flex;justify-content:space-between;align-items:center;background:#f7f2f4;border:1px solid #e1cfd4;border-radius:10px;padding:11px 13px;margin-bottom:14px}.v7136-export-format span{font-size:12px;color:#727b87}.v7136-export-format strong{color:#650d20}.v7136-export-count{margin:12px 0 0;padding:9px 11px;border-radius:8px;background:#f5f7f9;color:#626d79;font-size:12px}
@media(max-width:760px){.v7136-status-grid{grid-template-columns:1fr 1fr}.v7136-stage{grid-template-columns:40px 1fr}.v7136-stage-number{width:36px;height:36px}}

/* V7.13.10 — paginação A4 medida antes da visualização e impressão */
.proposal-pagination-stage{position:fixed;left:-12000px;top:0;width:210mm;visibility:hidden;pointer-events:none;z-index:-100;background:#fff}
/* V7.13.36: durante a medição, não recortar o conteúdo; o paginador reserva 4 mm antes do rodapé. */
.proposal-pagination-stage .proposal-v71310 .proposal-auto-content{overflow:visible!important}
.proposal-v71310.proposal-paginated{width:210mm;margin:0 auto;background:#fff}
.proposal-v71310 .proposal-auto-page{width:210mm!important;height:297mm!important;min-height:297mm!important;margin:0 auto 18px!important;padding:0 7mm!important;display:grid!important;grid-template-rows:20mm 265mm 12mm;box-sizing:border-box!important;overflow:hidden!important;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.14)}
.proposal-v71310 .proposal-auto-header{height:20mm;display:grid;grid-template-columns:38mm 1fr 14mm;align-items:center;border-bottom:1.5px solid #650d20;padding:2mm 1mm 1.5mm;box-sizing:border-box;background:#fff}
.proposal-v71310 .proposal-running-logo img{display:block;max-width:34mm;max-height:11mm;object-fit:contain;object-position:left center}
.proposal-v71310 .proposal-running-title{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.12}
.proposal-v71310 .proposal-running-title strong{max-width:100%;font-size:8px;color:#20252e;white-space:normal;overflow-wrap:anywhere}
.proposal-v71310 .proposal-running-title span{max-width:100%;font-size:6.2px;color:#737b88;margin-top:1mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.proposal-v71310 .proposal-running-ref{justify-self:end;border:1px solid #222;padding:1mm 2mm;font-size:7px;font-weight:800}
.proposal-v71310 .proposal-auto-content{height:265mm;min-height:0;padding:4mm 0 3mm;box-sizing:border-box;overflow:hidden;background:#fff}
.proposal-v71310 .proposal-auto-footer{height:12mm;display:flex;align-items:center;justify-content:space-between;gap:5mm;border-top:1px solid #cfd3d8;color:#69717e;font-size:6.5px;padding:1.5mm 1mm 0;box-sizing:border-box}
.proposal-v71310 .proposal-auto-footer span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proposal-v71310 .proposal-auto-footer b{flex:0 0 auto;color:#650d20;font-size:7px}
.proposal-v71310 .proposal-auto-content>.proposal-section-heading:first-child,.proposal-v71310 .proposal-auto-content>.proposal-tech-copy:first-child>h3:first-child{margin-top:0!important}
.proposal-v71310 .proposal-auto-content table{width:100%;table-layout:fixed;border-collapse:collapse}
.proposal-v71310 .proposal-auto-content th,.proposal-v71310 .proposal-auto-content td{white-space:normal!important;overflow-wrap:anywhere;word-break:normal;hyphens:auto;vertical-align:top}
.proposal-v71310 .proposal-commercial-table th:nth-child(1){width:7%}.proposal-v71310 .proposal-commercial-table th:nth-child(2){width:45%}.proposal-v71310 .proposal-commercial-table th:nth-child(3),.proposal-v71310 .proposal-commercial-table th:nth-child(4){width:8%}.proposal-v71310 .proposal-commercial-table th:nth-child(5),.proposal-v71310 .proposal-commercial-table th:nth-child(6){width:16%}
.proposal-v71310 .proposal-component-table th:nth-child(1){width:19%}.proposal-v71310 .proposal-component-table th:nth-child(2){width:45%}.proposal-v71310 .proposal-component-table th:nth-child(3){width:18%}.proposal-v71310 .proposal-component-table th:nth-child(4),.proposal-v71310 .proposal-component-table th:nth-child(5){width:9%}
.proposal-v71310 .proposal-commercial-grid-fragment{grid-template-columns:1fr!important;gap:0!important}
.proposal-v71310 .proposal-oversize-fragment{font-size:7px!important;line-height:1.18!important;overflow-wrap:anywhere;word-break:break-word}
.proposal-v71310 table.proposal-oversize-fragment th,.proposal-v71310 table.proposal-oversize-fragment td{font-size:6px!important;padding:2.5px 3px!important;line-height:1.15!important}
.proposal-v71310 .proposal-auto-content [data-continuation]::before{content:'Continuação';display:block;margin-bottom:1.5mm;color:#650d20;font-size:7px;font-weight:800;text-transform:uppercase}

/* V7.13.37 — a medição usa a mesma tipografia aplicada pelo Chromium na impressão. */
.proposal-commercial-summary-start{height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important}
.proposal-print-layout .proposal-set-heading{font-size:8.5px;line-height:1.25}
.proposal-print-layout .proposal-set-member-product{font-size:8.5px;line-height:1.3}
.proposal-print-layout .proposal-set-member-qty{font-size:8.5px;line-height:1.3}
.proposal-print-layout .proposal-set-description-inline{font-size:7px}

@media print{
  @page{size:A4;margin:0}
  @page :first{size:A4;margin:0}
  .proposal-pagination-stage{display:none!important}
  .proposal-v71310.proposal-paginated{width:210mm!important;margin:0!important}
  .proposal-v71310.proposal-paginated .proposal-cover-page{width:210mm!important;height:297mm!important;min-height:297mm!important;margin:0!important;padding:0!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important;box-shadow:none!important}
  .proposal-v71310.proposal-paginated .proposal-auto-page{width:210mm!important;height:297mm!important;min-height:297mm!important;margin:0!important;padding:0 7mm!important;display:grid!important;grid-template-rows:20mm 265mm 12mm!important;overflow:hidden!important;break-before:auto!important;page-break-before:auto!important;break-after:page!important;page-break-after:always!important;box-shadow:none!important}
  .proposal-v71310.proposal-paginated .proposal-auto-page:last-child{break-after:auto!important;page-break-after:auto!important}
  .proposal-v71310 .proposal-auto-header{position:static!important;display:grid!important;transform:none!important}
  .proposal-v71310 .proposal-auto-content{height:265mm!important;overflow:hidden!important}
  .proposal-v71310 .proposal-auto-footer{display:flex!important}
  .proposal-v71310 .proposal-auto-content table thead{display:table-header-group!important}
  .proposal-v71310 .proposal-auto-content table tr,.proposal-v71310 .proposal-auto-content li{break-inside:avoid!important;page-break-inside:avoid!important}
  .proposal-v71310 .proposal-auto-content caption{break-after:avoid!important;page-break-after:avoid!important}
  .proposal-v71310 .proposal-auto-header,.proposal-v71310 .proposal-auto-footer,.proposal-v71310 .proposal-auto-content{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.proposal-commercial-grid .proposal-notes-full{grid-column:1/-1}

/* V7.13.25 — ajuste comercial do MAF e alinhamento de conjuntos na proposta */
.v71325-maf-adjustment{display:grid;grid-template-columns:minmax(108px,1.15fr) minmax(78px,.85fr);gap:5px;align-items:center;min-width:195px}
.v71325-maf-adjustment .inline-input{min-width:0;width:100%}
.proposal-set-heading{display:block;line-height:1.25}
.proposal-set-qty-heading{visibility:hidden}
.proposal-set-qty-components{margin-top:5px}
.proposal-set-unit{vertical-align:top;padding-top:calc(9px + 1.25em)!important}
@media(max-width:900px){.v71325-maf-adjustment{grid-template-columns:1fr;min-width:130px}}
@media print{.proposal-set-heading{font-size:8.5px;line-height:1.25}.proposal-set-qty-components{margin-top:5px}.proposal-set-unit{vertical-align:top;padding-top:calc(5px + 1.25em)!important}}

/* V7.13.26 — revisão, pisos e notas */
.proposal-floor-row td{text-align:left!important}
.proposal-force-new-page{break-before:page!important;page-break-before:always!important}
.v7131-client-grid b,.proposal-signatures strong{text-transform:uppercase}
@media print{.proposal-force-new-page{break-before:page!important;page-break-before:always!important}}

/* V7.13.27 — impressão: impostos somente com valor e QTD alinhada por componente do conjunto */
.proposal-set-member-row td{vertical-align:top}
.proposal-set-member-row:not(.proposal-set-member-first) td{border-top:1px solid #e5e5e5}
.proposal-set-member-product{display:block;line-height:1.35}
.proposal-set-member-qty{white-space:nowrap;vertical-align:top!important}
.proposal-set-item-no,.proposal-set-unit,.proposal-set-value{vertical-align:top!important}
.proposal-set-unit{padding-top:6px!important}
.proposal-set-value{padding-top:6px!important}
@media print{
  .proposal-set-member-product{font-size:8.5px;line-height:1.3}
  .proposal-set-member-qty{font-size:8.5px;line-height:1.3}
  .proposal-set-member-row td{break-inside:avoid;page-break-inside:avoid}
}


/* V7.13.30 — alinhamento da tabela, descrição do conjunto e nomes em negrito */
.proposal-red-table.commercial th:nth-child(1),
.proposal-red-table.commercial td:nth-child(1){text-align:center!important;vertical-align:middle!important}
.proposal-red-table.commercial th:nth-child(2),
.proposal-red-table.commercial td:nth-child(2){text-align:left!important;vertical-align:middle!important}
.proposal-red-table.commercial th:nth-child(3),
.proposal-red-table.commercial td:nth-child(3){text-align:center!important;vertical-align:middle!important}
.proposal-red-table.commercial th:nth-child(4),
.proposal-red-table.commercial td:nth-child(4){text-align:center!important;vertical-align:middle!important}
.proposal-red-table.commercial th:nth-child(5),
.proposal-red-table.commercial td:nth-child(5),
.proposal-red-table.commercial th:nth-child(6),
.proposal-red-table.commercial td:nth-child(6){text-align:right!important;vertical-align:middle!important}
.proposal-set-member-row td{vertical-align:middle!important}
.proposal-set-member-qty{text-align:center!important;vertical-align:middle!important}
.proposal-set-item-no,.proposal-set-unit,.proposal-set-value{vertical-align:middle!important}
.proposal-set-unit{text-align:center!important;padding-top:5px!important}
.proposal-set-value{text-align:right!important;padding-top:5px!important}
.proposal-set-member-product{display:block;text-align:left;line-height:1.35}
.proposal-product-name,.proposal-set-member-product>b{font-weight:800}
.proposal-product-description{font-weight:400}
.proposal-set-sub{display:block;margin-top:2px}
.proposal-set-description-inline{display:block;margin:2px 0 5px;font-size:7.4px;font-weight:400;line-height:1.35}
.proposal-set-description{margin:2mm 0 3mm;padding:2mm 2.5mm;border-left:2px solid #d71920;background:#f8f8f8;font-size:8px;line-height:1.4;text-align:left}
.v71330-set-description-chip{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}
#productSetDescription{width:100%;resize:vertical;min-height:72px}
@media print{
  .proposal-red-table.commercial td{vertical-align:middle!important}
  .proposal-set-member-row td{vertical-align:middle!important}
  .proposal-set-member-qty,.proposal-set-unit{text-align:center!important}
  .proposal-set-value{text-align:right!important}
  .proposal-set-description-inline{font-size:7px}
}

/* V7.13.31 — centralização definitiva da QTD em componentes de conjuntos
   Em linhas subsequentes do conjunto, a célula QTD muda de posição por causa dos rowspans.
   Por isso o alinhamento deve ser feito pela classe semântica, e não por nth-child. */
.proposal-red-table.commercial td.proposal-set-member-qty{
  text-align:center!important;
  vertical-align:middle!important;
  padding-left:0!important;
  padding-right:0!important;
}
.proposal-red-table.commercial td.proposal-set-member-qty .proposal-set-member-qty-inner{
  display:flex!important;
  width:100%!important;
  min-width:100%!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  margin:0!important;
  padding:0 2px!important;
  white-space:nowrap!important;
}
@media print{
  .proposal-red-table.commercial td.proposal-set-member-qty{
    text-align:center!important;
    vertical-align:middle!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .proposal-red-table.commercial td.proposal-set-member-qty .proposal-set-member-qty-inner{
    display:flex!important;
    width:100%!important;
    min-width:100%!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
}

/* V7.13.32 — descrição do conjunto em linha própria na proposta comercial */
.proposal-red-table.commercial tr.proposal-set-description-row td{
  vertical-align:middle!important;
}
.proposal-red-table.commercial td.proposal-set-description-cell{
  text-align:left!important;
  padding-top:5px!important;
  padding-bottom:5px!important;
  background:#fafafa;
}
.proposal-red-table.commercial td.proposal-set-description-cell .proposal-set-heading{
  display:block;
  font-weight:800;
  margin-bottom:2px;
}
.proposal-red-table.commercial td.proposal-set-description-cell .proposal-set-description-inline{
  display:block;
  margin:0;
  font-weight:400;
  line-height:1.35;
}
.proposal-red-table.commercial td.proposal-set-description-qty{
  text-align:center!important;
  vertical-align:middle!important;
  padding:0!important;
  background:#fafafa;
}
@media print{
  .proposal-red-table.commercial tr.proposal-set-description-row{
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .proposal-red-table.commercial td.proposal-set-description-cell,
  .proposal-red-table.commercial td.proposal-set-description-qty{
    background:#fafafa!important;
  }
}

/* V7.13.35 — fallback seguro para conjuntos maiores do que uma folha */
.proposal-v71310 .proposal-set-safe-row .proposal-set-safe-meta{vertical-align:middle!important;text-align:center!important}
.proposal-v71310 .proposal-ultra-compact th,.proposal-v71310 .proposal-ultra-compact td{font-size:5.2px!important;line-height:1.08!important;padding:1.5px 2px!important}

/* V7.13.38 — descrição técnica escolhida e complementos de plug-ins/DIFAL */
.v71338-description-choice{display:grid;gap:5px;margin-top:8px;max-width:460px}
.v71338-description-choice>span{font-size:11px;font-weight:700;color:#64748b}
.v71338-description-choice select{width:100%;min-width:270px;padding:7px 9px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font-size:11px}
.v71338-description-choice small{display:block;color:#475569;font-size:10px;line-height:1.35;white-space:normal}
.v71339-set-description{max-width:none;margin-top:6px}
.v71339-set-description select{min-width:0;font-size:10px}
.v71339-set-description small{margin-top:0!important}
.v71339-static-description{display:block}
.proposal-v713 .proposal-difal-notice{margin:2.4mm 0 0;padding-top:2mm;border-top:1px solid #cbd5e1;font-size:7.4px;line-height:1.35;text-align:justify}
.proposal-v713 .proposal-plugin-lead-time{padding:1.5mm 2mm;border-left:2px solid #650d20;background:#fff7f8}
.proposal-v713 .proposal-plugin-final{font-size:8px;line-height:1.35}
.proposal-v713 .proposal-plugin-final .proposal-busway-section-title{margin:0 0 4mm;font-size:11px;text-decoration:underline}
@media(max-width:760px){.v71338-description-choice select{min-width:0}}
@media print{
  .v71338-description-choice{display:none!important}
  .proposal-v713 .proposal-difal-notice,.proposal-v713 .proposal-plugin-lead-time{break-inside:avoid;page-break-inside:avoid}
  .proposal-v713 .proposal-plugin-final .proposal-busway-section-title{break-after:avoid;page-break-after:avoid}
}

/* V7.13.40 — blocos selecionáveis de notas */
.proposal-v71340-selected-notes{font-size:8.5px;line-height:1.35}.proposal-v71340-note-block{margin:0 0 5mm}.proposal-v71340-note-block h3{color:#650d20;font-size:10px;margin:0 0 2mm;border-bottom:1px solid #650d20;padding-bottom:1.5mm}.proposal-v71340-note-block h4{font-size:9px;margin:3mm 0 1.5mm}.proposal-v71340-note-list,.proposal-v71340-numbered-notes{margin:0 0 2.5mm;padding-left:5mm}.proposal-v71340-note-list li,.proposal-v71340-numbered-notes li{margin:0 0 1.1mm;text-align:justify}.proposal-v71340-note-block h3,.proposal-v71340-note-block h4{break-after:avoid;page-break-after:avoid}@media print{.proposal-v71340-selected-notes{font-size:8px;line-height:1.3}.proposal-v71340-note-block{break-inside:auto;page-break-inside:auto}}
.proposal-v71340-note-heading{color:#650d20;font-size:10px;margin:4mm 0 2mm;border-bottom:1px solid #650d20;padding-bottom:1.5mm}.proposal-v71340-note-subheading{font-size:9px;margin:3mm 0 1.5mm}.proposal-v71340-note-heading,.proposal-v71340-note-subheading{break-after:avoid;page-break-after:avoid}

/* V7.13.41 — catálogo de nomes do conjunto e linha técnica unificada na proposta */
#productSetName + #productSetNameOptions + .field-help,
.field-help{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.35}
.proposal-red-table.commercial tr.proposal-floor-row > td.proposal-floor-item-spacer,
.proposal-red-table.commercial tr.proposal-set-description-row > td.proposal-set-description-item-spacer{
  text-align:center!important;
  vertical-align:middle!important;
  padding:0!important;
}
.proposal-red-table.commercial tr.proposal-floor-row > td.proposal-floor-label{
  text-align:left!important;
  vertical-align:middle!important;
  padding-left:9px!important;
}
.proposal-red-table.commercial tr.proposal-floor-row > td.proposal-floor-label > strong{
  display:block!important;
  width:100%!important;
  text-align:left!important;
  margin:0!important;
}
.proposal-red-table.commercial tr.proposal-set-description-row > td.proposal-set-description-full{
  text-align:left!important;
  vertical-align:middle!important;
  padding:7px 9px!important;
  background:#fafafa!important;
}
.proposal-red-table.commercial tr.proposal-set-description-row > td.proposal-set-description-full .proposal-set-heading,
.proposal-red-table.commercial tr.proposal-set-description-row > td.proposal-set-description-full .proposal-set-description-inline{
  display:block!important;
  width:100%!important;
  text-align:left!important;
}
.proposal-red-table.commercial tr.proposal-set-description-row > td.proposal-set-description-full .proposal-set-heading{font-weight:800;margin:0 0 3px}
.proposal-red-table.commercial tr.proposal-set-description-row > td.proposal-set-description-full .proposal-set-description-inline{margin:0;line-height:1.35}
@media print{
  .proposal-red-table.commercial tr.proposal-floor-row > td.proposal-floor-label,
  .proposal-red-table.commercial tr.proposal-floor-row > td.proposal-floor-label > strong{text-align:left!important}
  .proposal-red-table.commercial tr.proposal-set-description-row > td.proposal-set-description-full{
    text-align:left!important;
    background:#fafafa!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
}
