/* ========================================================================
   PROPOSTA.CSS — Aba Proposta (visual print/PDF padrão Convergente)
   ======================================================================== */

.proposal{background:#fff;color:#222;border-radius:10px;padding:0;overflow:hidden;}

/* Cada página da proposta */
.prop-page{
  padding:38px 50px;
  border-bottom:1px solid #eee;
  page-break-after:always;
  position:relative;
}
.prop-page:last-child{border-bottom:none;page-break-after:auto;}
/* Última .prop-page (marcada via JS) — não força quebra antes do footer */
.prop-page-last{page-break-after:auto!important;border-bottom:none;}

/* Header interno (logo pequena + data) — visível em todas as páginas internas */
.prop-header{
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:18px;margin-bottom:24px;
  border-bottom:1px solid #eee;
}
.prop-header-logo{height:28px;}
/* No fundo branco, o texto "CONVERGENTE" do SVG (que é fill:#fff) precisa virar escuro */
.prop-header-logo .c1{fill:#1A1A1A!important;}
.prop-header-date{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;color:#888;letter-spacing:.05em;}

/* Tipografia */
.prop-h1{font-family:'Montserrat',sans-serif;font-size:30px;font-weight:900;color:#FA5916;margin-bottom:6px;}
.prop-h2{font-family:'Montserrat',sans-serif;font-size:20px;font-weight:800;color:#222;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid #FA5916;}
.prop-h3{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#888;margin:18px 0 10px;}

/* ── CAPA ── */
.prop-cover{
  background:#1A1A1A;color:#fff;
  padding:60px 60px;
  min-height:100vh;
  display:flex;flex-direction:column;justify-content:center;
  box-sizing:border-box;
}
.prop-cover-logo{height:48px;margin-bottom:60px;}
.prop-cover .prop-h1{color:#FA5916;font-size:48px;line-height:1.1;}
.prop-cover .prop-h2{color:#fff;border-color:#FA5916;font-size:26px;margin-top:8px;}
.prop-cover-meta{margin-top:48px;font-family:'Montserrat',sans-serif;font-size:14px;color:#ccc;line-height:2;}
.prop-cover-meta strong{color:#FA5916;}

/* KPIs */
.prop-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0;page-break-inside:avoid;}
.prop-kpi{background:#f7f7f7;border-left:3px solid #FA5916;padding:14px 16px;border-radius:4px;}
.prop-kpi-l{font-family:'Montserrat',sans-serif;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#888;margin-bottom:6px;}
.prop-kpi-v{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:900;color:#222;line-height:1.1;}
.prop-kpi-v.or{color:#FA5916;}
.prop-kpi-v.gv{color:#2DB87A;}
.prop-kpi-s{font-size:11px;color:#888;margin-top:3px;}

/* Tabelas */
.prop-tbl{width:100%;border-collapse:collapse;margin:10px 0 18px;font-size:13px;page-break-inside:avoid;}
.prop-tbl th{background:#1A1A1A;color:#fff;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:9px 12px;text-align:left;}
.prop-tbl th.vr{text-align:right;}
.prop-tbl td{padding:8px 12px;border-bottom:1px solid #eee;}
.prop-tbl td.vr{text-align:right;font-family:'Montserrat',sans-serif;font-weight:700;}
.prop-tbl tr.total td{background:#f7f7f7;font-weight:800;font-family:'Montserrat',sans-serif;color:#FA5916;}
.prop-tbl tr.subtotal td{background:#fafafa;font-weight:700;font-family:'Montserrat',sans-serif;}
.prop-tbl td.merged{background:#FFF4ED;text-align:center;vertical-align:middle;font-family:'Montserrat',sans-serif;font-size:22px;font-weight:900;color:#FA5916;border-left:3px solid #FA5916;}

/* Gráficos da proposta */
.prop-charts-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
  margin:10px 0 18px;page-break-inside:avoid;
}
.prop-chart-card{background:#fafafa;border:1px solid #eee;border-radius:6px;padding:14px;
  min-width:0;}  /* item de grade com min-width:auto não encolhia: o canvas guardava a largura da tela e era cortado */
.prop-chart-title{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#666;margin-bottom:10px;}
.prop-chart-canvas{position:relative;height:200px;}

/* Texto */
.prop-p{font-size:13px;line-height:1.7;color:#444;margin-bottom:10px;}
.prop-ul{margin:8px 0 14px 20px;font-size:13px;line-height:1.7;color:#444;}
.prop-ul li{page-break-inside:avoid;}
/* Ressalva de escopo abaixo de uma lista. Menor e mais clara que o corpo, sem
   virar letra ilegível: é uma condição do preço, não rodapé decorativo. */
.prop-obs{font-size:10.5px;line-height:1.5;color:#777;font-style:italic;margin:-6px 0 14px;}
.prop-card{background:#f7f7f7;border-radius:6px;padding:18px;margin-bottom:12px;}
.prop-card-t{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#888;margin-bottom:8px;}
.prop-card-v{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:800;color:#222;}

/* Footer (assinatura final) */
.prop-footer{
  background:#1A1A1A;color:#888;
  padding:22px 50px;
  font-family:'Montserrat',sans-serif;font-size:11px;
  display:flex;justify-content:space-between;align-items:center;
  border-top:3px solid #FA5916;
  page-break-inside:avoid;
}
.prop-footer strong{color:#FA5916;}
.prop-footer-meta{display:block;color:#666;margin-top:4px;font-size:10px;line-height:1.6;}

/* Section que NÃO quebra (mantém h3 + lista juntos) */
.prop-keep{page-break-inside:avoid;}

/* ─── BANNER DE AVISO acima do botão imprimir (visual de tela, some no PDF) ─── */
.prop-print-warning{
  background:linear-gradient(135deg,#FFF4ED 0%,#fff 100%);
  border:1px solid rgba(250,89,22,.3);border-left:4px solid #FA5916;
  border-radius:8px;padding:14px 18px;margin-bottom:14px;
  font-family:'Montserrat',sans-serif;font-size:12px;color:#444;line-height:1.6;
}
.prop-print-warning strong{color:#FA5916;}
.prop-print-warning code{background:#f0f0f0;padding:1px 6px;border-radius:3px;font-family:monospace;font-size:11px;}

/* ────────────────────────────────────────────────────────────────────────
   PRINT — força impressão de cores e ajusta layout para PDF
   ──────────────────────────────────────────────────────────────────────── */
@media print{
  /* Forçar manutenção de cores e backgrounds (Chrome/Edge/Safari) */
  *,*::before,*::after{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
    color-adjust:exact!important;
  }

  body{background:#fff;color:#222;}
  .topbar,footer,.actions,.tabs,#prop-actions,.prop-print-warning,
  .drawer,.drawer-overlay,.hamb{display:none!important;}
  .main{max-width:none;padding:0;margin:0;}
  .tc{display:none!important;}
  .tc#tab-proposta{display:block!important;}
  .proposal{box-shadow:none;border-radius:0;}
  .prop-page{padding:30px 40px;border-bottom:none;}

  /* Capa ocupa página inteira */
  .prop-cover{
    min-height:100vh;
    padding:60px 50px;
  }

  /* Evitar quebras ruins */
  .prop-kpis,.prop-tbl,.prop-card{page-break-inside:avoid;}
  h2,h3,.prop-h2,.prop-h3{page-break-after:avoid;}
  .prop-footer{page-break-before:avoid;}
  /* Valor em reais numa linha só: com a 6ª coluna da visão investidor ('Lucro do ponto') o
     'R$' quebrava acima do número no A4. */
  .prop-tbl td.vr{white-space:nowrap;}
  /* O gráfico redimensionado no beforeprint sai em vetor com fundo branco opaco: o cartão
     fica branco também, senão aparecia um retângulo branco dentro do cinza. */
  .prop-chart-card{background:#fff;}
}

@media(max-width:900px){
  .prop-kpis{grid-template-columns:1fr 1fr;}
  .prop-cover{padding:40px 30px;}
  .prop-cover .prop-h1{font-size:36px;}
}
