*{box-sizing:border-box}body{margin:0;background:#f3f5f8;color:#132238;font-family:Arial,sans-serif}.app{max-width:920px;margin:auto;padding:18px}.hero{background:linear-gradient(135deg,#07192e,#123759);padding:34px;border-radius:24px;color:#fff;margin-bottom:18px}.brand{display:flex;align-items:center;gap:12px}.mono{border:1px solid #d7b36a;color:#d7b36a;padding:9px 11px;border-radius:11px;font-weight:900;font-size:25px}.mono span{font-size:15px}.brand b{letter-spacing:1px}.brand small{display:block;color:#d7b36a;font-size:10px;letter-spacing:3px;margin-top:4px}.tag{display:inline-block;color:#d7b36a;font-size:11px;font-weight:800;letter-spacing:1.4px;margin-top:25px}.hero h1{font-size:34px;margin:8px 0}.hero p{color:#cad5e2}.card{background:#fff;border-radius:22px;padding:28px;margin-bottom:18px;box-shadow:0 8px 30px #15233412}h2{margin:0 0 18px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px}.full{grid-column:1/-1}label{font-size:13px;font-weight:700;color:#34445a}em{font-style:normal;font-weight:400;color:#94a3b8}input,select{width:100%;margin-top:7px;padding:14px;border:1px solid #dbe2e9;border-radius:12px;font-size:15px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.choice{background:#fff;border:1px solid #dbe2e9;border-radius:15px;padding:16px;text-align:left;cursor:pointer}.choice b{display:block;margin-left:30px;margin-top:-20px}.choice small{display:block;margin-left:30px;margin-top:5px;color:#64748b}.choice.active{border:2px solid #d7b36a;background:#fffaf0}.assumption{padding:16px;border-left:4px solid #d7b36a;background:#f8fafc;border-radius:12px;display:flex;gap:25px;justify-content:space-between;margin-bottom:18px}.assumption span{display:block;color:#a47522;font-size:13px;margin-top:5px}.assumption p{margin:0;color:#64748b;font-size:12px;max-width:430px;line-height:1.5}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.45;margin-bottom:18px}.check input{width:auto;margin:2px 0}.primary{width:100%;border:0;background:#102f4d;color:#fff;padding:17px;border-radius:13px;font-weight:900;cursor:pointer}.hidden{display:none}.result-head p{margin:-8px 0 18px;color:#64748b}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metrics div,.details div{background:#f8fafc;padding:15px;border-radius:13px}.metrics small{display:block;color:#64748b;font-size:11px}.metrics strong{display:block;margin-top:7px;font-size:16px}.details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.details span{font-size:12px;color:#64748b}.details b{display:block;font-size:18px;margin-top:6px;color:#102f4d}.chart{margin-top:22px;border:1px solid #e4e9ee;border-radius:16px;padding:17px}.chart-title{display:flex;justify-content:space-between;font-size:13px}.bars{height:200px;display:flex;align-items:flex-end;gap:10px;margin-top:15px;border-bottom:1px solid #e2e8f0}.barWrap{flex:1;text-align:center}.bar{background:linear-gradient(#d7b36a,#8d682c);border-radius:7px 7px 0 0}.barWrap small{font-size:9px;color:#64748b;display:block;margin-top:7px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.timeline div{text-align:center}.timeline i{display:grid;place-items:center;width:32px;height:32px;margin:auto auto 8px;background:#102f4d;color:#d7b36a;border-radius:50%;font-style:normal;font-weight:900}.timeline b,.timeline small{display:block}.timeline small{font-size:11px;color:#64748b;margin-top:5px}.cta{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#eef7f2;padding:18px;border-radius:15px}.cta p{margin:5px 0 0;font-size:12px;color:#64748b}.cta button{border:0;background:#176b4b;color:#fff;padding:13px 16px;border-radius:10px;font-weight:800;cursor:pointer}.notice{font-size:10px;color:#94a3b8;line-height:1.5;margin-top:20px}@media(max-width:650px){.hero h1{font-size:27px}.grid,.choices,.metrics,.details,.timeline{grid-template-columns:1fr}.card{padding:20px}.assumption,.cta{flex-direction:column;align-items:stretch}.cta button{width:100%}}
.confidence{margin:0 0 14px;padding:13px 15px;border-radius:12px;background:#f8fafc;font-size:13px;font-weight:700}
.confidence small{display:block;font-weight:400;color:#64748b;margin-top:4px}

.field-error{display:none;color:#b42318;font-size:12px;font-weight:700;margin-top:6px}
.field-error.show{display:block}
input.invalid{border:2px solid #b42318;background:#fff7f7}
.phone-help{font-size:11px;color:#64748b;margin-top:5px;display:block}

.comparison-section,.installment-evolution{
  margin-top:22px;
  border:1px solid #e4e9ee;
  border-radius:16px;
  padding:18px;
  background:#fff;
}
.section-title{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}
.section-title b{display:block;font-size:15px;color:#132238}
.section-title small{display:block;margin-top:4px;color:#64748b;font-size:12px;line-height:1.45}
.section-title>span{
  white-space:nowrap;
  background:#f8fafc;
  border:1px solid #e4e9ee;
  color:#64748b;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
}
.comparison-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.comparison-card{
  border-radius:14px;
  padding:16px;
  border:1px solid #e4e9ee;
  background:#f8fafc;
}
.comparison-card small{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:700;
}
.comparison-card strong{
  display:block;
  color:#102f4d;
  font-size:19px;
  margin:8px 0;
}
.comparison-card span{
  display:block;
  color:#64748b;
  font-size:10px;
  line-height:1.45;
}
.paid-card{border-top:3px solid #64748b}
.credit-card{border-top:3px solid #d7b36a}
.advantage-card{border-top:3px solid #176b4b;background:#f6fbf8}
.advantage-card strong{color:#176b4b}
.comparison-note{
  margin:12px 0 0;
  color:#94a3b8;
  font-size:10px;
  line-height:1.5;
}
.installment-rows{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.installment-row{
  padding:13px 14px;
  border-radius:12px;
  background:#f8fafc;
  border:1px solid #e4e9ee;
}
.installment-row b{
  display:block;
  color:#102f4d;
  font-size:13px;
}
.installment-row strong{
  display:block;
  margin-top:6px;
  font-size:16px;
  color:#132238;
}
.installment-row small{
  display:block;
  margin-top:4px;
  font-size:10px;
  color:#64748b;
}
@media(max-width:650px){
  .comparison-grid,.installment-rows{grid-template-columns:1fr}
  .section-title{flex-direction:column}
}

.reduced-plan-field{grid-column:1/-1}
.field-help{display:block;margin-top:6px;color:#64748b;font-size:11px;line-height:1.45}

.patrimony-chart-section{
  margin-top:22px;
  border:1px solid #e4e9ee;
  border-radius:16px;
  padding:18px;
  background:#fff;
}
.chart-legend{
  display:flex;
  justify-content:flex-end;
  gap:22px;
  flex-wrap:wrap;
  margin:-4px 0 12px;
  color:#475569;
  font-size:11px;
  font-weight:700;
}
.chart-legend span{display:flex;align-items:center;gap:7px}
.chart-legend i{
  width:24px;height:3px;border-radius:999px;display:inline-block;position:relative;
}
.chart-legend i:after{
  content:"";position:absolute;width:8px;height:8px;border-radius:50%;top:-2.5px;left:8px;background:currentColor;
}
.legend-paid{color:#2f67b2}
.legend-paid i{background:#2f67b2}
.legend-patrimony{color:#176b4b}
.legend-patrimony i{background:#176b4b}
.chart-wrap{
  height:330px;
  width:100%;
  border-radius:12px;
  background:#fff;
}
.chart-wrap canvas{
  display:block;
  width:100%;
  height:100%;
}
.chart-highlight{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin-top:14px;
}
.chart-highlight>div{
  padding:13px 15px;
  border:1px solid #e4e9ee;
  border-radius:12px;
  background:#f8fafc;
}
.chart-highlight small,.chart-highlight span{
  display:block;
  color:#64748b;
  font-size:10px;
  line-height:1.4;
}
.chart-highlight strong{
  display:block;
  margin:5px 0;
  color:#102f4d;
  font-size:17px;
}
.chart-highlight>div:nth-child(2) strong{color:#176b4b}
@media(max-width:650px){
  .chart-wrap{height:260px}
  .chart-highlight{grid-template-columns:1fr}
  .chart-legend{justify-content:flex-start;gap:12px}
}

.reference-method-note{
  margin:14px 0 16px;
  padding:13px 15px;
  border:1px solid #e4e9ee;
  border-left:4px solid #b99348;
  border-radius:12px;
  background:#f8fafc;
}
.reference-method-note b{display:block;color:#102f4d;margin-bottom:5px}
.reference-method-note span{display:block;color:#64748b;font-size:12px;line-height:1.55}


/* V2.3.1 — Patrimônio final projetado com destaque positivo */
.details div.detail-positive{
  border-top:3px solid #176b4b;
  background:#f6fbf8;
}
.details div.detail-positive b{
  color:#176b4b;
}


/* V2.5.0 — Captura centralizada de leads */
.lead-capture-status{
  max-width:1080px;
  margin:12px auto 0;
  padding:0 4px;
  font-size:13px;
  font-weight:700;
  color:#526170;
}
.lead-capture-status.success{color:#176b4b;}
.lead-capture-status.error{color:#a63b32;}
