/* One-pager A4. Na tela, aparece como folha na pré-visualização; na impressão, só ele sai. */
.report {
  --rp-blue: #4259DF;
  --rp-blue-soft: #EEF1FE;
  --rp-navy: #1C265E;
  --rp-ink: #1C265E;
  --rp-text: #334155;
  --rp-muted: #64748B;
  --rp-line: #DCE1F7;
  --rp-amber: #B45309;
  --rp-amber-soft: #FEF3C7;
  --rp-green: #047857;
  --rp-green-soft: #D1FAE5;

  display: grid;
  gap: 1.5rem;
  overflow-x: auto;
  padding-bottom: 0.5rem;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.rp-pagina {
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  padding: 0 0 12mm;
  background: #fff;
  color: var(--rp-text);
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-size: 9.6pt;
  line-height: 1.45;
  box-shadow: 0 1px 3px rgba(28, 38, 94, 0.1), 0 20px 50px -24px rgba(28, 38, 94, 0.4);
  display: flex;
  flex-direction: column;
}
.rp-pagina > section, .rp-pagina > .rp-grade { margin: 0 14mm; }
.rp-pagina p { margin: 0; }

.rp-h2 {
  margin: 0 0 2mm;
  font-family: "Century Gothic", "Didact Gothic", "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 11pt;
  font-weight: 700;
  color: var(--rp-ink);
  letter-spacing: -0.01em;
}
.rp-kicker {
  font-size: 7.5pt;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rp-blue);
  font-weight: 700;
}

/* Cabeçalho */
.rp-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 8mm;
  padding: 11mm 14mm 8mm;
  margin-bottom: 7mm;
  background: var(--rp-navy);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.rp-header::after {
  content: "";
  position: absolute;
  right: -18mm;
  top: -22mm;
  width: 70mm;
  height: 70mm;
  border-radius: 14mm;
  transform: rotate(14deg);
  background: rgba(140, 160, 245, 0.16);
}
.rp-marca {
  order: 2;
  font-family: "Century Gothic", "Didact Gothic", "Trebuchet MS", sans-serif;
  font-weight: 700;
  font-size: 13pt;
  position: relative;
  z-index: 1;
}
.rp-header .rp-kicker { color: #B9C6FF; }
.rp-titulo {
  margin: 1.5mm 0 1.5mm;
  font-family: "Century Gothic", "Didact Gothic", "Trebuchet MS", sans-serif;
  font-size: 21pt;
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-weight: 700;
}
.rp-meta { font-size: 8.5pt; color: rgba(255, 255, 255, 0.75); }

/* Problema */
.rp-problema {
  display: grid;
  grid-template-columns: 1fr 64mm;
  gap: 8mm;
  align-items: center;
  padding-bottom: 6mm;
  margin-bottom: 6mm !important;
  border-bottom: 1px solid var(--rp-line);
}
.rp-problema-texto p { font-size: 10.5pt; color: var(--rp-text); }
.rp-numero {
  padding: 4.5mm 5mm;
  border-radius: 3mm;
  background: var(--rp-blue-soft);
  border-left: 1.4mm solid var(--rp-blue);
}
.rp-numero-rotulo { font-size: 7.8pt; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rp-muted); font-weight: 700; }
.rp-numero-valor {
  font-family: "Century Gothic", "Didact Gothic", "Trebuchet MS", sans-serif;
  font-size: 23pt;
  font-weight: 700;
  color: var(--rp-blue);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
}
.rp-numero-sub { font-size: 8.3pt; color: var(--rp-muted); }

/* Grade investimento + solução */
.rp-grade {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8mm;
  margin-bottom: 6mm !important;
}
.rp-tabela-invest { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.rp-tabela-invest th { text-align: left; font-weight: 400; color: var(--rp-muted); padding: 1.1mm 0; }
.rp-tabela-invest td { text-align: right; font-weight: 700; color: var(--rp-ink); padding: 1.1mm 0; }
.rp-tabela-invest tr + tr { border-top: 1px solid var(--rp-line); }
.rp-tabela-invest .rp-total th, .rp-tabela-invest .rp-total td { color: var(--rp-blue); font-weight: 700; font-size: 10.5pt; }

.rp-barras { display: grid; gap: 1.6mm; margin: 3.5mm 0 2mm; }
.rp-barra { display: grid; grid-template-columns: 19mm 1fr 25mm; align-items: center; gap: 2mm; font-size: 7.8pt; }
.rp-barra-rotulo { color: var(--rp-muted); }
.rp-barra-trilho { height: 3.2mm; background: #F1F3FB; border-radius: 2mm; overflow: hidden; }
.rp-barra-fill { display: block; height: 100%; border-radius: 2mm; }
.rp-barra-custo { background: var(--rp-navy); }
.rp-barra-invest { background: var(--rp-blue); }
.rp-barra-valor { text-align: right; font-weight: 700; color: var(--rp-ink); font-variant-numeric: tabular-nums; }
.rp-comparativo { font-size: 8.6pt; font-weight: 700; color: var(--rp-green); }

.rp-solucao-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 2.2mm; }
.rp-solucao-lista li { display: grid; gap: 0.3mm; padding-left: 4mm; border-left: 0.7mm solid var(--rp-blue); }
.rp-solucao-lista strong { color: var(--rp-ink); font-size: 9.3pt; }
.rp-solucao-lista span { font-size: 8.6pt; color: var(--rp-text); }

/* Reforma */
.rp-reforma {
  padding: 5mm 6mm;
  margin-bottom: 6mm !important;
  border-radius: 3mm;
  border: 1px solid var(--rp-line);
  background: linear-gradient(180deg, #FAFBFF 0%, #fff 100%);
}
.rp-reforma > p { font-size: 9.2pt; }
.rp-reforma-numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4mm; margin: 4mm 0 3mm; }
.rp-kpi { padding-top: 2mm; border-top: 0.6mm solid var(--rp-blue); }
.rp-kpi:nth-child(2) { border-top-color: var(--rp-amber); }
.rp-kpi-rotulo { font-size: 7.6pt; color: var(--rp-muted); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.rp-kpi-valor {
  font-family: "Century Gothic", "Didact Gothic", "Trebuchet MS", sans-serif;
  font-size: 15pt;
  font-weight: 700;
  color: var(--rp-ink);
  font-variant-numeric: tabular-nums;
}
.rp-kpi:nth-child(2) .rp-kpi-valor { color: var(--rp-amber); }
.rp-kpi-sub { font-size: 7.6pt; color: var(--rp-muted); }
.rp-reforma-vazio { margin: 3mm 0 !important; font-weight: 700; color: var(--rp-muted); }
.rp-reforma-nota { font-size: 7.4pt !important; color: var(--rp-muted); }

/* Clientes (aparece só quando há conteúdo autorizado) */
.rp-clientes { margin-bottom: 6mm !important; }
.rp-clientes-lista { font-weight: 700; color: var(--rp-ink); }
.rp-depoimento { margin: 2mm 0 0; padding-left: 4mm; border-left: 0.7mm solid var(--rp-line); font-style: italic; }
.rp-depoimento cite { display: block; font-style: normal; font-size: 8pt; color: var(--rp-muted); margin-top: 1mm; }

/* Próximo passo */
.rp-passo {
  margin-top: auto !important;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8mm;
  align-items: center;
  padding: 5mm 6mm;
  border-radius: 3mm;
  background: var(--rp-navy);
  color: #fff;
}
.rp-passo .rp-h2 { color: #B9C6FF; font-size: 9pt; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 1mm; }
.rp-passo-texto {
  font-family: "Century Gothic", "Didact Gothic", "Trebuchet MS", sans-serif;
  font-size: 12.5pt;
  font-weight: 700;
}
.rp-passo-sub { font-size: 8.4pt; color: rgba(255, 255, 255, 0.72); margin-top: 1mm !important; }
.rp-vendedor { text-align: right; font-size: 8.6pt; color: rgba(255, 255, 255, 0.85); padding-left: 6mm; border-left: 1px solid rgba(255, 255, 255, 0.2); }
.rp-vendedor-nome { font-weight: 700; font-size: 10pt; color: #fff; }

/* Anexo de premissas */
.rp-pagina-anexo { padding: 14mm 14mm 12mm; }
.rp-anexo-header { margin-bottom: 6mm; }
.rp-anexo-header > p:last-child { color: var(--rp-text); max-width: 150mm; }
.rp-titulo-anexo {
  margin: 1.5mm 0 2mm;
  font-family: "Century Gothic", "Didact Gothic", "Trebuchet MS", sans-serif;
  font-size: 17pt;
  color: var(--rp-ink);
}
.rp-premissas { width: 100%; border-collapse: collapse; font-size: 8.4pt; }
.rp-premissas th {
  text-align: left;
  font-size: 7.4pt;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--rp-muted);
  padding: 0 2.5mm 2mm 0;
  border-bottom: 0.5mm solid var(--rp-navy);
}
.rp-premissas td { vertical-align: top; padding: 2.6mm 2.5mm 2.6mm 0; border-bottom: 1px solid var(--rp-line); }
.rp-premissas td:first-child { width: 30%; color: var(--rp-ink); font-weight: 600; }
.rp-premissa-valor { width: 20%; font-weight: 700; color: var(--rp-blue); }
.rp-tag { display: inline-block; padding: 0.4mm 2mm; border-radius: 10mm; font-size: 7pt; font-weight: 700; white-space: nowrap; }
.rp-tag-validada { background: var(--rp-green-soft); color: var(--rp-green); }
.rp-tag-estimativa { background: var(--rp-amber-soft); color: var(--rp-amber); }
.rp-tag-informada { background: var(--rp-blue-soft); color: var(--rp-blue); }
.rp-anexo-nota { margin-top: 5mm !important; font-size: 8pt; color: var(--rp-muted); }

/* Como calculamos */
.rp-h3 {
  margin: 0 0 2.5mm;
  font-family: "Century Gothic", "Didact Gothic", "Trebuchet MS", sans-serif;
  font-size: 10.5pt;
  color: var(--rp-ink);
}
.rp-pagina-anexo > .rp-calculo { margin: 0 0 7mm; break-inside: avoid; }
.rp-calculo-intro { font-size: 8.4pt; color: var(--rp-text); margin-bottom: 2.5mm !important; }
.rp-calculo-nota { font-size: 8.4pt; font-weight: 700; color: var(--rp-amber); margin-top: 2.5mm !important; }

.rp-tabela-calculo, .rp-tabela-credito { width: 100%; border-collapse: collapse; font-size: 8.4pt; font-variant-numeric: tabular-nums; }
.rp-tabela-calculo th, .rp-tabela-calculo td { padding: 2mm 2.5mm 2mm 0; border-bottom: 1px solid var(--rp-line); text-align: left; vertical-align: top; }
.rp-tabela-calculo tbody th { width: 30%; color: var(--rp-ink); font-weight: 600; }
.rp-conta { color: var(--rp-text); }
.rp-resultado { text-align: right !important; font-weight: 700; color: var(--rp-ink); white-space: nowrap; padding-right: 0 !important; }
.rp-tabela-calculo tfoot th, .rp-tabela-calculo tfoot td { border-bottom: none; border-top: 0.5mm solid var(--rp-navy); color: var(--rp-blue); font-weight: 700; font-size: 9.4pt; }

.rp-tabela-credito th, .rp-tabela-credito td { padding: 1.8mm 1.5mm; text-align: right; border-bottom: 1px solid var(--rp-line); white-space: nowrap; }
.rp-tabela-credito th:first-child { text-align: left; padding-left: 0; }
.rp-tabela-credito td:last-child, .rp-tabela-credito th:last-child { padding-right: 0; }
.rp-tabela-credito thead th { font-size: 7pt; text-transform: uppercase; letter-spacing: 0.04em; color: var(--rp-muted); border-bottom: 0.5mm solid var(--rp-navy); }
.rp-tabela-credito tbody th { color: var(--rp-ink); font-weight: 600; }
.rp-tabela-credito .rp-pct { color: var(--rp-muted); font-size: 7.6pt; }
.rp-tabela-credito tfoot th, .rp-tabela-credito tfoot td { font-weight: 700; color: var(--rp-blue); border-bottom: none; border-top: 0.5mm solid var(--rp-navy); }
.rp-premissas tr { break-inside: avoid; }

/* Impressão: só o relatório */
@page { size: A4; margin: 0; }

@media print {
  body { background: #fff; }
  .topbar, .app, .previa-titulo, .historico, .equipe, .tela-acesso { display: none !important; }
  .previa { padding: 0; max-width: none; }
  .report { display: block; overflow: visible; padding: 0; gap: 0; }
  .rp-pagina { box-shadow: none; margin: 0; height: 297mm; min-height: 0; overflow: hidden; break-after: page; }
  .rp-pagina:last-child { break-after: auto; }
  /* O anexo pode seguir para uma terceira página se houver muitas premissas. */
  .rp-pagina-anexo { height: auto; min-height: 0; overflow: visible; padding-top: 12mm; }
}
