*{box-sizing:border-box}
:root{
  --bg:#08111f;
  --bg2:#0f1a2d;
  --panel:#0e1728;
  --panel2:#111c31;
  --muted:#9bb0d1;
  --text:#edf4ff;
  --line:#243552;
  --line2:#d7e4ff;
  --primary:#2f76ff;
  --good:#34d399;
  --warn:#fbbf24;
  --bad:#f87171;
  --paper:#ffffff;
  --ink:#132238;
  --shadow:0 20px 60px rgba(0,0,0,.28);
}
html,body{margin:0;padding:0;background:radial-gradient(circle at top,#10203d 0,#08111f 42%,#060c17 100%);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif}
button,input,select{font:inherit}
.app-shell{max-width:1440px;margin:0 auto;padding:18px}
.topbar,.panel{background:linear-gradient(180deg,rgba(17,28,49,.96),rgba(11,20,36,.96));border:1px solid rgba(112,140,184,.18);border-radius:24px;box-shadow:var(--shadow)}
.topbar{padding:18px 20px;display:flex;gap:18px;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.brand{display:flex;align-items:flex-start;gap:16px}
.brand img{width:60px;height:60px;object-fit:contain;border-radius:16px;background:rgba(255,255,255,.06);padding:6px}
.eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8aa7dc;margin-bottom:8px}
.eyebrow.dark{color:#48689d}
.brand h1,.hero-copy h2,.section-head h2{margin:0}
.brand p,.hero-copy p,.muted{color:var(--muted)}
.top-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
button,.upload-btn{border-radius:14px;border:1px solid #324a73;background:#16253f;color:var(--text);padding:11px 14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
button.primary{background:linear-gradient(180deg,#3b82f6,#2563eb);border-color:#4a8dff}
button.ghost{background:transparent}
.layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.full{grid-column:1/-1}
.panel{padding:20px}
.hero-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.chips span,.pill{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:700}
.pill.muted{color:#cfe0ff}
.section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.form-grid,.stats-grid,.report-grid,.kit-options{display:grid;gap:12px}
.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.stats-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.stats-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fullcol,.full{grid-column:1/-1}
label{display:flex;flex-direction:column;gap:8px;color:#c2d2ef;font-size:13px}
label.full{grid-column:1/-1}
input,select{width:100%;background:#0a1424;border:1px solid #2a3f63;color:var(--text);padding:12px 13px;border-radius:14px;outline:none}
input:focus,select:focus{border-color:#5d92ff;box-shadow:0 0 0 3px rgba(47,118,255,.16)}
.months-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.month-box,.stat,.kit-card,.selected,.orientation-card,.report-box,.info-banner{background:rgba(9,16,30,.78);border:1px solid rgba(126,153,197,.14);border-radius:18px}
.month-box{padding:12px}.month-box strong{display:block;margin-bottom:8px}
.stat{padding:14px}.stat span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.stat strong{font-size:20px;line-height:1.25}
.compact .stat strong{font-size:16px}
.info-banner{padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;color:#dbe8ff}
.orientation-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.orientation-card{padding:16px}.orientation-card h3{margin:0 0 12px;font-size:18px}.orientation-card .card-sub{font-size:13px;color:var(--muted);margin:-4px 0 12px}
.orientation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.metric{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.metric span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.metric strong{font-size:16px}
.metric.good strong{color:var(--good)}.metric.warn strong{color:var(--warn)}.metric.bad strong{color:var(--bad)}
.help-inline{font-size:12px;color:#afc3e6}
.compass-card{background:linear-gradient(180deg,rgba(12,21,38,.82),rgba(8,15,26,.92));border:1px solid rgba(126,153,197,.18);border-radius:22px;padding:18px}
.compass-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.compass-wrap{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:center}
.compass{position:relative;width:260px;height:260px;border-radius:50%;margin:auto;background:radial-gradient(circle at center,rgba(255,255,255,.06) 0,rgba(255,255,255,.02) 42%,transparent 43%),conic-gradient(from 0deg,rgba(255,255,255,.08),rgba(255,255,255,.02),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.1)}
.compass-ring{position:absolute;inset:14px;border-radius:50%;border:1px dashed rgba(255,255,255,.14)}
.compass-cardinals span{position:absolute;font-weight:800;font-size:22px;color:#dce9ff}
.compass-cardinals .north{top:16px;left:50%;transform:translateX(-50%);color:#7eb4ff}
.compass-cardinals .east{top:50%;right:20px;transform:translateY(-50%)}
.compass-cardinals .south{bottom:16px;left:50%;transform:translateX(-50%)}
.compass-cardinals .west{top:50%;left:20px;transform:translateY(-50%)}
.compass-needle{position:absolute;left:50%;top:50%;width:10px;height:110px;transform-origin:center calc(100% - 8px);transform:translate(-50%,-100%) rotate(0deg)}
.compass-needle::before,.compass-needle::after{content:"";position:absolute;left:50%;transform:translateX(-50%);clip-path:polygon(50% 0,100% 100%,0 100%)}
.compass-needle::before{top:0;width:10px;height:64px;background:#ef4444}
.compass-needle::after{bottom:0;width:10px;height:54px;background:#dbeafe;transform:translateX(-50%) rotate(180deg)}
.compass-center{position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 0 6px rgba(255,255,255,.08)}
.compass-data{display:grid;gap:10px}
.kpi{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.kpi span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.kpi strong{font-size:18px;line-height:1.35}
.orientation-help{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;color:#dce9ff;font-size:13px}
.kit-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.kit-card{padding:16px}.kit-card h3{margin:0 0 8px}.kit-card p{margin:6px 0;color:#e3eeff}
.selected{padding:16px;min-height:128px}.selected.empty{color:var(--muted)}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:12px 10px;border-bottom:1px solid rgba(127,151,188,.16);text-align:left}th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9ab0d5}
#chart{width:100%;max-width:100%;border-radius:22px;border:1px solid rgba(127,151,188,.16);background:#0a1424}
.alerts{margin-bottom:16px;padding:16px 18px;border-radius:18px;background:#311314;border:1px solid #6d2022;color:#ffe2e2}.alerts div+div{margin-top:8px}

.print-report{overflow:hidden}
.proposal-page{width:210mm;min-height:297mm;background:var(--paper);color:var(--ink);margin:0 auto;border-radius:14px;position:relative;box-shadow:0 24px 64px rgba(0,0,0,.18);overflow:hidden}
.proposal-fixed{width:100%;position:relative}.proposal-fixed img{width:100%;display:block}
.proposal-fixed .placeholder-text{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-weight:700;color:#6a83a8;background:linear-gradient(135deg,#ecf4ff,#f8fbff)}
.proposal-fixed.is-placeholder{height:32mm;border-bottom:1px dashed #aec7ea}.proposal-footer.is-placeholder{height:24mm;border-top:1px dashed #aec7ea;border-bottom:none}.proposal-fixed.is-placeholder .placeholder-text{display:flex}
.proposal-content{padding:16mm 14mm 30mm}
.proposal-company{display:flex;gap:16px;align-items:center}.proposal-company img{width:72px;height:72px;object-fit:contain}.proposal-company h2{margin:0 0 6px;font-size:24px;color:#17345d}.proposal-company p{margin:0;color:#5a7298}
.proposal-intro{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #dce8fa;padding-bottom:12px;margin-bottom:14px}
.proposal-meta{min-width:220px;padding:12px 14px;border:1px solid #dce8fa;border-radius:16px;background:#f7fbff;color:#45648d;font-size:13px}.proposal-meta div+div{margin-top:6px}
.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.report-box{padding:14px;background:#f8fbff;border-color:#dce8fa;color:#183252}.report-box h3{margin:0 0 10px;color:#264d82}.report-box div{margin:6px 0}
.proposal-table{width:100%;border-collapse:collapse;margin-top:8px}.proposal-table th,.proposal-table td{border-bottom:1px solid #dce8fa;color:#17345d}.proposal-table th{color:#4b6791}
.result-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.result-strip .stat{background:#f8fbff;border-color:#dce8fa}.result-strip .stat span{color:#4d6a93}.result-strip .stat strong{color:#17345d}
.chart-report{margin-top:14px;padding:14px;border:1px solid #dce8fa;border-radius:16px;background:#f8fbff}.chart-report img{width:100%;display:block;border-radius:12px;border:1px solid #dce8fa}

code{background:rgba(0,0,0,.06);padding:2px 6px;border-radius:8px}

@media (max-width:1180px){.hero-panel,.compass-wrap,.kit-options,.orientation-cards,.info-banner,.months-grid,.stats-grid.cols-4,.stats-grid.cols-3,.form-grid.cols-2,.report-grid,.result-strip{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.topbar,.proposal-intro{flex-direction:column}.layout,.hero-panel,.compass-wrap,.kit-options,.orientation-cards,.info-banner,.months-grid,.stats-grid.cols-4,.stats-grid.cols-3,.form-grid.cols-2,.report-grid,.result-strip,.orientation-help,.metric-list,.orientation-grid{grid-template-columns:1fr}.brand{flex-direction:column}.top-actions{justify-content:flex-start}.app-shell{padding:12px}.panel,.topbar{padding:16px}.compass{width:220px;height:220px}.proposal-page{width:100%;min-height:auto}}
@media print{
  @page{size:A4 portrait;margin:0}
  html,body{background:#fff}
  .topbar,.panel:not(.print-report),.alerts{display:none!important}
  .app-shell{max-width:none;padding:0}
  .print-report{padding:0;background:#fff;border:none;box-shadow:none}
  .proposal-page{width:210mm;min-height:297mm;border-radius:0;box-shadow:none;margin:0}
  .proposal-header,.proposal-footer{position:fixed;left:0;right:0;z-index:5}
  .proposal-header{top:0}.proposal-footer{bottom:0}
  .proposal-header img,.proposal-footer img{width:100%;display:block}
  .proposal-fixed.is-placeholder{display:none}
  .proposal-content{padding:40mm 14mm 28mm}
  a[href]:after{content:none!important}
}

.main-nav{display:flex;gap:10px;flex-wrap:wrap;padding:0 24px 18px}.nav-tab{background:#13253e;color:#dce9ff;border:1px solid #28466f;padding:10px 16px;border-radius:999px;cursor:pointer}.nav-tab.active{background:#0d6efd;color:#fff;border-color:#0d6efd}.view{display:none}.view.active{display:block}.proposal-editor,.pdf-builder{padding:0 24px 24px}.editor-grid{display:grid;gap:18px}.nested-panel{background:#0d1627;border:1px solid #223552;border-radius:18px;padding:16px}.mini-head{font-weight:700;margin-bottom:10px;color:#d9e8ff}.repeat-item,.project-editor-card,.payment-table-editor{background:#111c2f;border:1px solid #243959;border-radius:16px;padding:12px;margin-bottom:10px}.repeat-row{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:10px;align-items:start}.repeat-row textarea{min-height:80px}.repeat-row button,.block-btn{height:42px;border-radius:12px;border:1px solid #36567f;background:#162740;color:#fff;padding:0 14px;cursor:pointer}.upload-card{display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:88px;border:1px dashed #42699d;border-radius:16px;padding:14px;background:#0f1a2b}.upload-card.compact{min-height:auto}.editor-thumb{width:100%;max-width:260px;border-radius:12px;margin-top:8px;object-fit:cover;aspect-ratio:16/9}.pdf-assets-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pdf-document{display:grid;gap:24px;margin:18px 0 32px}.pdf-page{width:210mm;min-height:297mm;margin:0 auto;background:#fff;color:#111;position:relative;box-shadow:0 10px 30px rgba(0,0,0,.28);overflow:hidden}.pdf-page-header,.pdf-page-footer{height:24mm;background:#f1f5f9;display:flex;align-items:center;justify-content:center;overflow:hidden}.pdf-page-header img,.pdf-page-footer img{width:100%;height:100%;object-fit:cover}.pdf-page-body{padding:16mm 14mm;min-height:249mm}.pdf-page-number{position:absolute;right:10mm;bottom:8mm;color:#64748b;font-size:12px}.pdf-logo{max-height:22mm;object-fit:contain}.pdf-logo.small{max-height:14mm}.pdf-cover{display:flex;flex-direction:column;height:100%;justify-content:space-between}.pdf-cover-top{display:flex;justify-content:flex-start}.pdf-cover-image,.pdf-wide-image,.page4-photo,.project-image{background:#eef2f7;border-radius:14px;overflow:hidden}.pdf-cover-image{height:108mm;display:flex;align-items:center;justify-content:center;margin:8mm 0}.pdf-cover-image img,.pdf-wide-image img,.page4-photo img,.project-image img{width:100%;height:100%;object-fit:cover}.pdf-cover-text h1{font-size:18px;margin:0 0 6px}.pdf-cover-text h2{font-size:26px;color:#b96f1a;margin:0 0 4px}.pdf-cover-text h3{font-size:18px;margin:0 0 12px}.pdf-corner-meta{display:flex;justify-content:space-between;color:#475569;font-size:12px}.pdf-heading-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.pdf-heading-row h2{font-size:24px;margin:0;color:#0f172a}.pdf-text-block{font-size:14px;line-height:1.55;color:#1e293b}.pdf-text-block.large{margin-bottom:12px}.pdf-two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.top-gap{margin-top:12px}.small-top{margin-top:12px;height:75mm}.stats-column{display:grid;gap:10px}.stat-box{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:center;background:#f8fafc;border:1px solid #dbe7f3;border-radius:14px;padding:12px}.stat-box .icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:#0d6efd;color:#fff;border-radius:14px;font-size:28px}.stat-box strong{display:block;font-size:24px;color:#c97b17}.stat-box span{display:block;font-size:14px;font-weight:700;color:#111827}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.project-card{display:flex;flex-direction:column;gap:8px;background:#f8fafc;border-radius:16px;border:1px solid #e2e8f0;padding:10px;break-inside:avoid}.project-image{height:43mm}.project-copy h4{margin:0 0 6px;font-size:15px}.project-copy p{margin:0;font-size:12px;line-height:1.45}.page4-layout{grid-template-columns:60mm 1fr}.client-bar{display:flex;gap:10px;align-items:center;margin-bottom:8px}.client-mini{width:28mm;height:16mm;object-fit:contain}.detail-list{display:grid;gap:6px;font-size:14px}.detail-list.compact div{padding:2px 0}.chart-box{margin-top:12px}.chart-box h3,.payback-box h3{font-size:18px;margin:0 0 10px}.chart-box img{width:100%;border:1px solid #dbe2ea;border-radius:14px}.impact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.impact-card{background:#0d6efd;color:#fff;border-radius:14px;padding:16px;min-height:90px}.impact-card .icon{font-size:30px;margin-bottom:8px}.impact-card strong{display:block;margin-bottom:6px}.page5-header{display:flex;justify-content:flex-end;margin-bottom:8px}.right-meta{display:flex;flex-direction:column;align-items:flex-end;color:#334155}.budget-list{display:grid;gap:10px}.budget-item{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid #e2e8f0}.budget-icon{width:48px;height:48px;border-radius:12px;background:#0d6efd;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px}.selected-kit-box{margin-top:10px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid #dbe2ea}.total-investment{font-size:22px;margin:14px 0;font-weight:600}.payment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:10px}.payment-card{border:1px solid #dbe2ea;border-radius:14px;padding:12px;background:#fff}.payment-card h4{margin:0 0 8px}.payment-card table{width:100%;border-collapse:collapse}.payment-card td{padding:6px 0;border-bottom:1px solid #eef2f7;font-size:13px}.finance-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:10px}.finance-kpis{display:grid;gap:12px}.finance-kpis.soft{align-content:start}.finance-item{padding:12px;border-radius:14px;background:#f8fafc;border:1px solid #dbe2ea}.finance-item span{display:block;color:#475569;font-size:14px}.finance-item strong{display:block;font-size:28px;margin-top:4px}.payback-box{margin-top:20px}.paybars{height:180px;display:grid;grid-template-columns:repeat(25,1fr);gap:6px;align-items:end}.paybar{height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center}.paybar span{display:block;width:100%;border-radius:6px 6px 0 0;min-height:4px}.paybar.pos span{background:#4f83c2}.paybar.neg span{background:#d97706}.paybar label{font-size:10px;color:#64748b;margin-top:4px}.finance-note{color:#475569;font-size:12px;margin-top:10px}.img-placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:120px;background:repeating-linear-gradient(45deg,#e2e8f0,#e2e8f0 10px,#f8fafc 10px,#f8fafc 20px);color:#64748b;font-size:14px;text-align:center;padding:12px}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{border-bottom:1px solid #e2e8f0;padding:8px;font-size:12px;text-align:left}.pdf-page .table-wrap{max-height:none}.pdf-page .selected{background:none;border:none;padding:0}.pdf-page .selected div{color:#111}.pdf-page .empty{display:none}
@media (max-width: 980px){.pdf-page{width:100%;min-height:auto}.pdf-assets-row,.payment-grid,.project-grid,.impact-row,.finance-two-col,.pdf-two-col,.repeat-row{grid-template-columns:1fr}.page4-layout{grid-template-columns:1fr}.proposal-editor,.pdf-builder{padding:0 12px 16px}.main-nav{padding:0 12px 14px}}
@media print{body{background:#fff}.topbar,.main-nav,#alerts,.panel .section-head .top-actions,.pdf-assets-row{display:none!important}.app-shell{padding:0;margin:0}.view{display:none!important}.panel{box-shadow:none;border:none;padding:0;background:none}.pdf-page{box-shadow:none;margin:0;page-break-after:always;break-after:page}.pdf-document{gap:0}.pdf-page:last-child{page-break-after:auto}.pdf-page-header,.pdf-page-footer{display:block} body.print-proposal #view-pdf{display:block!important;padding:0} body.print-proposal #view-dimensionador, body.print-proposal #view-proposta{display:none!important} body.print-dimension #view-dimensionador{display:block!important;padding:0} body.print-dimension #view-proposta, body.print-dimension #view-pdf{display:none!important} body.print-dimension .panel:not(.print-report), body.print-dimension .topbar, body.print-dimension .main-nav, body.print-dimension #alerts{display:none!important} body.print-dimension .print-report{display:block!important;padding:0;background:#fff;border:none;box-shadow:none} body.print-dimension .proposal-page{width:210mm;min-height:297mm;border-radius:0;box-shadow:none;margin:0}}


/* Ajustes visuais v4 */
.hero-copy p,.hero-copy .chips{display:none}
.check-inline{display:flex;align-items:center;gap:10px;background:#0f1a2b;border:1px solid #223552;border-radius:16px;padding:14px;color:#d9e8ff}
.check-inline input{width:18px;height:18px}
.repeat-row-icon{grid-template-columns:180px 1fr 1.4fr auto}
.icon-select{appearance:none;background:#111c2f;border:1px solid #2a4266;color:#fff;border-radius:12px;padding:10px 12px}
.svg-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:currentColor}
.svg-icon svg{width:100%;height:100%}
.pdf-page{height:297mm;min-height:297mm;box-sizing:border-box}
.pdf-page-header,.pdf-page-footer{position:absolute;left:0;right:0;height:24mm;background:transparent}
.pdf-page-header{top:0}.pdf-page-footer{bottom:0}
.pdf-page-header img,.pdf-page-footer img{object-fit:contain;background:transparent}
.pdf-page-body{position:absolute;top:24mm;bottom:24mm;left:0;right:0;padding:10mm 14mm;min-height:auto;overflow:hidden;box-sizing:border-box}
.pdf-cover-image,.pdf-wide-image,.page4-photo,.project-image,.editor-thumb{background:transparent}
.pdf-cover-image img,.pdf-wide-image img,.page4-photo img,.project-image img,.editor-thumb{object-fit:contain;background:transparent}
.cover-fixed{gap:8mm;justify-content:flex-start}
.cover-fit{height:82mm;flex:0 0 auto}
.cover-client-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cover-client-item{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;padding:10px 12px;border:1px solid #dbe2ea;border-radius:14px;background:#fff}
.cover-client-item .svg-icon{width:26px;height:26px;color:#0f4c81}
.cover-client-item span{display:block;font-size:12px;color:#64748b}
.cover-client-item strong{display:block;font-size:13px;color:#0f172a}
.pdf-corner-meta{margin-top:auto;padding-top:2mm}
.pdf-cover-text p{font-size:13px;line-height:1.5;color:#334155}
.pdf-wide-image{height:54mm}
.small-top{height:54mm}
.stat-box{background:#fff}
.stat-box .icon{width:64px;height:64px;border:1px solid #cbd5e1;border-radius:16px;background:transparent;color:#0f172a}
.stat-box .icon.mono{background:transparent}
.stat-box strong{font-size:22px}
.stats-column .stat-box span{font-size:13px}
.page4-photo{height:68mm}
.impact-card{background:#16A97A;color:#fff;border-radius:16px;padding:14px;min-height:110px}
.impact-card .icon{color:#fff;width:34px;height:34px;margin-bottom:10px}
.budget-icon{width:48px;height:48px;border-radius:14px;border:1px solid #cbd5e1;background:transparent;color:#0f172a;display:flex;align-items:center;justify-content:center}
.budget-icon .svg-icon{width:24px;height:24px}
.budget-item{grid-template-columns:58px 1fr}
.payback-box img,.chart-box img{width:100%;height:auto;display:block;border:1px solid #dbe2ea;border-radius:14px;background:#fff}
.bom-wrap{margin-top:10px}
.pdf-page .table-wrap table{font-size:11px}
.client-bar{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}
.page5-header{margin-bottom:12px}
.page4-layout .detail-list{font-size:13px}
.pdf-cover-top{margin-bottom:2mm}
@media (max-width:980px){
  .cover-client-grid{grid-template-columns:1fr}
  .repeat-row-icon{grid-template-columns:1fr}
  .pdf-page-body{position:relative;top:auto;bottom:auto;padding:18px}
  .pdf-page-header,.pdf-page-footer{position:relative;height:auto;min-height:60px}
  .pdf-page{height:auto;min-height:auto}
}
@media print{
  html,body{margin:0;padding:0;background:#fff !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pdf-page{width:210mm;height:297mm;min-height:297mm;margin:0;box-shadow:none;break-after:page;page-break-after:always}
  .pdf-page-header,.pdf-page-footer{background:transparent !important}
  .pdf-page-body{overflow:hidden}
}


.proposal-page{height:297mm;min-height:297mm;box-sizing:border-box}
.proposal-fixed{position:absolute;left:0;right:0;width:100%;overflow:hidden}
.proposal-header{top:0;height:24mm}
.proposal-footer{bottom:0;height:24mm}
.proposal-fixed img{width:100%;height:100%;object-fit:cover;display:block;background:transparent}
.proposal-content{position:absolute;top:24mm;left:0;right:0;bottom:24mm;padding:12mm 14mm;overflow:hidden;box-sizing:border-box}
#proposalBomPage .proposal-content{padding-top:10mm}
.print-snapshots{display:none}
.print-snapshots .print-shot{width:210mm;height:297mm;display:block;page-break-after:always;break-after:page}
.print-snapshots .print-shot:last-child{page-break-after:auto;break-after:auto}
.pdf-page-header,.pdf-page-footer{width:100%;overflow:hidden}
.pdf-page-header img,.pdf-page-footer img{width:100%;height:100%;object-fit:cover;display:block;background:transparent}
.pdf-page .bom-table-page table,.proposal-page .bom-table-page table{width:100%;border-collapse:collapse}
.pdf-page .bom-table-page th,.pdf-page .bom-table-page td,.proposal-page .bom-table-page th,.proposal-page .bom-table-page td{padding:6px 8px;border-bottom:1px solid #e2e8f0;font-size:11px;text-align:left;vertical-align:top}
.bom-table-page h3{margin:0 0 10px;font-size:18px;color:#0f172a}
.bom-table-note{margin-top:8px;font-size:11px;color:#64748b}
@media (max-width:980px){
  .proposal-page{width:100%;height:auto;min-height:auto}
  .proposal-content,.proposal-fixed{position:relative;top:auto;bottom:auto;height:auto}
  .proposal-fixed img{height:auto}
}
@media print{
  body.print-proposal #view-pdf, body.print-dimension .print-report{display:none !important}
  body.print-proposal #printSnapshotContainer, body.print-dimension #printSnapshotContainer{display:block !important}
  body.print-proposal #printSnapshotContainer .print-shot, body.print-dimension #printSnapshotContainer .print-shot{display:block !important}
}

@media print{
  body.print-proposal-direct #view-pdf{display:block !important;padding:0}
  body.print-proposal-direct #view-dimensionador,
  body.print-proposal-direct #view-proposta,
  body.print-proposal-direct #printSnapshotContainer{display:none !important}

  body.print-dimension-direct #view-dimensionador{display:block !important;padding:0}
  body.print-dimension-direct #view-proposta,
  body.print-dimension-direct #view-pdf,
  body.print-dimension-direct #printSnapshotContainer{display:none !important}

  body.print-dimension-direct .panel:not(.print-report),
  body.print-dimension-direct .topbar,
  body.print-dimension-direct .main-nav,
  body.print-dimension-direct #alerts{display:none !important}

  body.print-dimension-direct .print-report{display:block !important;padding:0;background:#fff;border:none;box-shadow:none}
}

.page-scale-wrap{transform-origin:top left;will-change:transform;position:relative;min-height:0;background:transparent}
.proposal-content,.pdf-page-body{overflow:hidden}


/* v9 - trava A4 e impede responsivo de quebrar preview/captura */
.pdf-builder,
.print-report{
  overflow-x:auto;
}

#pdfDocument,
.print-report{
  min-width:210mm;
}

.pdf-document{
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:center;
}

.pdf-page,
.proposal-page,
#printSnapshotContainer .print-shot,
#printSnapshotContainer .shot-page{
  width:210mm !important;
  min-width:210mm !important;
  max-width:210mm !important;
  height:297mm !important;
  min-height:297mm !important;
  max-height:297mm !important;
  box-sizing:border-box !important;
  margin:0 auto !important;
  overflow:hidden !important;
}

.pdf-page-header,
.pdf-page-footer,
.proposal-header,
.proposal-footer{
  left:0 !important;
  right:0 !important;
  width:100% !important;
}

.pdf-page-header img,
.pdf-page-footer img,
.proposal-header img,
.proposal-footer img,
.proposal-fixed img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:fill !important;
  background:transparent !important;
}

.pdf-page-body,
.proposal-content{
  position:absolute !important;
  top:24mm !important;
  left:0 !important;
  right:0 !important;
  bottom:24mm !important;
  padding:10mm 14mm !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

.proposal-content{ padding:12mm 14mm !important; }

.page-scale-wrap{
  transform:none !important;
  width:auto !important;
  min-height:0 !important;
  left:0 !important;
  top:0 !important;
}

@media (max-width:980px){
  .pdf-builder,
  .print-report{
    overflow-x:auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  #pdfDocument,
  .print-report{
    min-width:210mm !important;
  }

  .pdf-page,
  .proposal-page,
  #proposalPage,
  #proposalBomPage,
  #pdfDocument .pdf-page{
    width:210mm !important;
    min-width:210mm !important;
    max-width:210mm !important;
    height:297mm !important;
    min-height:297mm !important;
    max-height:297mm !important;
    margin:0 auto !important;
  }

  .pdf-page-header,
  .pdf-page-footer,
  .proposal-header,
  .proposal-footer{
    position:absolute !important;
    height:24mm !important;
  }

  .pdf-page-body,
  .proposal-content{
    position:absolute !important;
    top:24mm !important;
    bottom:24mm !important;
    left:0 !important;
    right:0 !important;
    padding:10mm 14mm !important;
    overflow:hidden !important;
  }

  .proposal-content{ padding:12mm 14mm !important; }
}

/* Ajustes solicitados pelo usuário */
.pdf-cover-text.simple h2{color:#17345d;margin-bottom:10px}
.pdf-cover-text.simple p{max-width:135mm}
.cover-client-grid{display:none}
.page4-customer-box{margin-bottom:12px;padding:12px 14px;border:1px solid #dbe2ea;border-radius:14px;background:#f8fafc}
.page4-customer-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:#17345d}
.page4-customer-head strong{font-size:14px;letter-spacing:.04em}
.customer-details{grid-template-columns:1fr;gap:4px}
.customer-details div{margin:0}

.orientation-table-wrap{overflow:hidden}
.orientation-table{width:100%;table-layout:fixed}
.orientation-table th,.orientation-table td{padding:7px 6px;font-size:11px;line-height:1.2;vertical-align:top;word-break:break-word;overflow-wrap:anywhere}
.orientation-table th:nth-child(2),.orientation-table td:nth-child(2),
.orientation-table th:nth-child(4),.orientation-table td:nth-child(4),
.orientation-table th:nth-child(7),.orientation-table td:nth-child(7){text-align:center}
.orientation-table th:nth-child(5),.orientation-table td:nth-child(5),
.orientation-table th:nth-child(6),.orientation-table td:nth-child(6){font-size:10.5px}

@media (max-width:860px){
  .orientation-table{table-layout:auto}
  .orientation-table-wrap{overflow:auto}
}


/* ==========================================
   FIX PARA IMPRESSÃO E GERAÇÃO DE PDF PERFEITA
   ========================================== */

/* 1. Força as páginas A4 a nunca encolherem ou mudarem de tamanho, 
      mesmo se a janela do navegador for pequena */
.pdf-page, .proposal-page {
  width: 210mm !important;
  height: 297mm !important;
  min-height: 297mm !important;
  max-width: none !important;
  max-height: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  flex-shrink: 0;
  margin: 0 auto;
}

/* 2. Impede que as grades (grids) virem 1 coluna em telas menores, 
      preservando as proporções corretas do A4 */
.pdf-page .pdf-two-col { grid-template-columns: 1.15fr .85fr !important; }
.pdf-page .payment-grid, .pdf-page .project-grid { grid-template-columns: repeat(2, 1fr) !important; }
.pdf-page .finance-two-col { grid-template-columns: 1fr 1fr !important; }
.pdf-page .impact-row { grid-template-columns: repeat(3, 1fr) !important; }
.pdf-page .page4-layout { grid-template-columns: 60mm 1fr !important; }
.proposal-page .report-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.proposal-page .result-strip { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

/* 3. Evita que o cabeçalho e rodapé da proposta saiam do lugar em janelas menores */
.proposal-page .proposal-fixed {
  position: absolute !important;
  height: 24mm !important;
}
.proposal-page .proposal-content {
  position: absolute !important;
  top: 24mm !important;
  bottom: 24mm !important;
  left: 0 !important;
  right: 0 !important;
  height: auto !important;
}

/* 4. Corrige o "corte" de imagens nas capturas de tela (snapshots) */
.print-snapshots .print-shot {
  width: 210mm !important;
  height: 297mm !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.print-snapshots .print-shot img,
.print-snapshots .print-shot canvas {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important; /* Garante que a imagem inteira caiba sem cortar */
  display: block;
}

/* 5. Configuração rígida do @page para a impressão do navegador */
@media print {
  @page {
    size: A4 portrait !important;
    margin: 0 !important;
  }
  html, body {
    width: 210mm !important;
    height: 297mm !important;
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  /* Ocultar barra de rolagem e margens extras que podem criar folhas em branco */
  body {
    overflow: hidden !important;
  }
}

/* Ajuste fino do relatório do dimensionador na página 1 */
.proposal-page #report{display:grid;gap:10px}
.proposal-page .proposal-intro{gap:12px;padding-bottom:10px;margin-bottom:12px}
.proposal-page .proposal-company img{max-height:54px}
.proposal-page .proposal-meta{font-size:12px;line-height:1.35}
.proposal-page .report-grid{gap:10px !important}
.proposal-page .report-box{padding:12px}
.proposal-page .report-box h3{margin:0 0 8px;font-size:16px}
.proposal-page .report-box div{margin:4px 0;font-size:12px;line-height:1.35}
.proposal-page .result-strip{margin-top:10px;gap:8px !important}
.proposal-page .result-strip .stat{padding:10px 12px}
.proposal-page .result-strip .stat span{font-size:11px}
.proposal-page .result-strip .stat strong{font-size:18px}
.proposal-page .orientation-table th,.proposal-page .orientation-table td{padding:6px 5px;font-size:10.5px;line-height:1.15}
.proposal-page .orientation-table th:nth-child(5),.proposal-page .orientation-table td:nth-child(5),
.proposal-page .orientation-table th:nth-child(6),.proposal-page .orientation-table td:nth-child(6){font-size:10px}
.proposal-page .chart-report{margin-top:10px;padding:10px}
.proposal-page .chart-report h3{font-size:16px;margin-bottom:8px !important}
.proposal-page .chart-report img{display:block;width:100%;height:auto;min-height:44mm;max-height:50mm;object-fit:contain}
.proposal-page .page-scale-wrap{transition:transform .15s ease}

.proposal-page .proposal-content.compact-layout .proposal-intro{gap:10px;padding-bottom:8px;margin-bottom:10px}
.proposal-page .proposal-content.compact-layout .proposal-company img{max-height:48px}
.proposal-page .proposal-content.compact-layout .proposal-company h2{font-size:22px}
.proposal-page .proposal-content.compact-layout .proposal-company p,
.proposal-page .proposal-content.compact-layout .proposal-meta{font-size:11px;line-height:1.28}
.proposal-page .proposal-content.compact-layout .report-grid{gap:8px !important}
.proposal-page .proposal-content.compact-layout .report-box{padding:10px}
.proposal-page .proposal-content.compact-layout .report-box h3{font-size:15px;margin-bottom:6px}
.proposal-page .proposal-content.compact-layout .report-box div{margin:3px 0;font-size:11px;line-height:1.28}
.proposal-page .proposal-content.compact-layout .result-strip{margin-top:8px;gap:6px !important}
.proposal-page .proposal-content.compact-layout .result-strip .stat{padding:9px 10px}
.proposal-page .proposal-content.compact-layout .result-strip .stat span{font-size:10.5px}
.proposal-page .proposal-content.compact-layout .result-strip .stat strong{font-size:16px}
.proposal-page .proposal-content.compact-layout .orientation-table th,.proposal-page .proposal-content.compact-layout .orientation-table td{padding:5px 4px;font-size:9.8px;line-height:1.08}
.proposal-page .proposal-content.compact-layout .chart-report{margin-top:8px;padding:8px}
.proposal-page .proposal-content.compact-layout .chart-report h3{font-size:15px;margin-bottom:6px !important}
.proposal-page .proposal-content.compact-layout .chart-report img{min-height:42mm;max-height:46mm}

.proposal-page .proposal-content.ultra-compact .proposal-intro{gap:8px;padding-bottom:6px;margin-bottom:8px}
.proposal-page .proposal-content.ultra-compact .proposal-company img{max-height:44px}
.proposal-page .proposal-content.ultra-compact .proposal-company h2{font-size:20px}
.proposal-page .proposal-content.ultra-compact .proposal-company p,
.proposal-page .proposal-content.ultra-compact .proposal-meta{font-size:10.5px;line-height:1.2}
.proposal-page .proposal-content.ultra-compact .report-grid{gap:6px !important}
.proposal-page .proposal-content.ultra-compact .report-box{padding:8px}
.proposal-page .proposal-content.ultra-compact .report-box h3{font-size:14px;margin-bottom:5px}
.proposal-page .proposal-content.ultra-compact .report-box div{margin:2px 0;font-size:10.5px;line-height:1.2}
.proposal-page .proposal-content.ultra-compact .result-strip{margin-top:6px;gap:5px !important}
.proposal-page .proposal-content.ultra-compact .result-strip .stat{padding:8px 9px}
.proposal-page .proposal-content.ultra-compact .result-strip .stat span{font-size:10px}
.proposal-page .proposal-content.ultra-compact .result-strip .stat strong{font-size:15px}
.proposal-page .proposal-content.ultra-compact .orientation-table th,.proposal-page .proposal-content.ultra-compact .orientation-table td{padding:4px 3px;font-size:9.2px;line-height:1.02}
.proposal-page .proposal-content.ultra-compact .chart-report{margin-top:6px;padding:8px}
.proposal-page .proposal-content.ultra-compact .chart-report h3{font-size:14px;margin-bottom:5px !important}
.proposal-page .proposal-content.ultra-compact .chart-report img{min-height:40mm;max-height:44mm}

.proposal-page .proposal-content.is-fitted .chart-report img{min-height:38mm;max-height:42mm}
