/**
 * assets/css/print.css — Layout A4 Paisagem dedicado para impressão
 * Carregado apenas com media="print"
 * Independente do layout do site
 */

/* ─── Página A4 Paisagem ──────────────────────────────────────────────────── */
@page {
  size: A4 landscape;
  margin: 12mm 14mm 14mm 14mm;
}

@page :first {
  margin-top: 8mm;
}

/* ─── Reset ───────────────────────────────────────────────────────────────── */
*, *::before, *::after {
  box-shadow: none !important;
  text-shadow: none !important;
  animation: none !important;
  transition: none !important;
}

body {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 9pt;
  line-height: 1.45;
  color: #111;
  background: #fff;
  margin: 0;
  padding: 0;
}

/* ─── Oculta navegação e elementos interativos ────────────────────────────── */
.sidebar,
.content-header,
.nav-fases,
.abas,
.aba,
.btn,
.modal-overlay,
#cookie-banner,
#modal-planos-overlay,
.sidebar__acoes,
.sidebar__toggle,
.bmc-bloco__add,
.bmc-card__acoes,
.bmc-input-wrapper,
.bmc-sugestoes,
.bmc-tooltip-btn,
.bmc-empty,
.estado-vazio,
[id^="btn-"],
[data-jornada-add],
[data-excluir],
[data-editar],
[data-excluir-equipe],
[data-editar-equipe],
[data-excluir-equip],
[data-editar-equip],
[data-excluir-custo],
[data-editar-custo],
[data-excluir-forn],
[data-editar-forn],
[data-editar-prod],
[data-excluir-prod],
[data-toggle-mvp],
.prod-sazonal-check,
#sazon-produtos,
.sazon-mes__input,
.grafico-wrapper canvas,
.sugestoes-equip,
#sugestoes-custos,
#lista-captacao-alt,
.alerta--info { display: none !important; }

/* ─── Layout principal ────────────────────────────────────────────────────── */
.app-shell  { display: block !important; }

.content-area {
  margin-left: 0 !important;
  width: 100% !important;
  padding-bottom: 0 !important;
  display: block !important;
}

.content-main {
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* ─── Capa ────────────────────────────────────────────────────────────────── */
.content-main::before {
  content: "PLANO DE NEGÓCIO";
  display: block;
  font-size: 20pt;
  font-weight: 800;
  color: #0F1923;
  text-align: center;
  padding-bottom: 5pt;
  border-bottom: 2.5pt solid #2ECC8B;
  margin-bottom: 10pt;
  letter-spacing: 0.05em;
}

/* Rodapé automático */
.content-main::after {
  content: "Simulador de Negócios v2.0 — As informações são estimativas para planejamento estratégico. Consulte um contador antes de tomar decisões.";
  display: block;
  font-size: 6.5pt;
  color: #aaa;
  text-align: center;
  border-top: 0.5pt solid #ddd;
  padding-top: 5pt;
  margin-top: 14pt;
}

/* ─── Fases ───────────────────────────────────────────────────────────────── */
.fase {
  display: block !important;
  page-break-before: always;
  padding-bottom: 8pt;
}

.fase:first-of-type {
  page-break-before: avoid;
}

.fase__eyebrow {
  font-size: 6.5pt;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #2ECC8B;
  margin-bottom: 2pt;
  display: block;
}

.fase__titulo {
  font-size: 14pt;
  font-weight: 800;
  color: #0F1923;
  margin-bottom: 2pt;
  border-bottom: 1pt solid #2ECC8B;
  padding-bottom: 3pt;
}

.fase__descricao {
  font-size: 8pt;
  color: #555;
  margin-bottom: 8pt;
}

/* ─── Cards ───────────────────────────────────────────────────────────────── */
.card {
  border: 0.5pt solid #ddd !important;
  border-radius: 0 !important;
  padding: 6pt 8pt !important;
  margin-bottom: 6pt !important;
  background: #fff !important;
  page-break-inside: avoid;
}

.card--ambar  { border-color: #F5A623 !important; background: #FFFBF0 !important; }
.card--destaque { border-color: #2ECC8B !important; }

.card__titulo {
  font-size: 10pt;
  font-weight: 700;
  margin-bottom: 5pt;
  color: #0F1923;
}

.secao__titulo {
  font-size: 8pt;
  font-weight: 700;
  border-bottom: 0.3pt solid #eee;
  padding-bottom: 2pt;
  margin-bottom: 5pt;
  color: #333;
}

/* ─── Abas/Painéis: mostra tudo ──────────────────────────────────────────── */
.aba-painel { display: block !important; }

/* ─── BMC — Paisagem A4: grid 5 colunas cabe perfeitamente ──────────────── */
.bmc-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  gap: 3pt !important;
  overflow: visible !important;
  page-break-inside: avoid;
}

.bmc-bloco--parceiros    { grid-column: 1 !important; grid-row: 1 / 3 !important; }
.bmc-bloco--atividades   { grid-column: 2 !important; grid-row: 1 !important; }
.bmc-bloco--proposta     { grid-column: 3 !important; grid-row: 1 / 3 !important; }
.bmc-bloco--relacionamento { grid-column: 4 !important; grid-row: 1 !important; }
.bmc-bloco--clientes     { grid-column: 5 !important; grid-row: 1 / 3 !important; }
.bmc-bloco--recursos     { grid-column: 2 !important; grid-row: 2 !important; }
.bmc-bloco--canais       { grid-column: 4 !important; grid-row: 2 !important; }
.bmc-bloco--custos       { grid-column: 1 / 4 !important; grid-row: 3 !important; }
.bmc-bloco--receitas     { grid-column: 4 / 6 !important; grid-row: 3 !important; }

.bmc-bloco {
  min-height: 55pt !important;
  padding: 4pt 5pt !important;
  border: 0.4pt solid #ccc !important;
  border-radius: 0 !important;
  background: #fff !important;
  page-break-inside: avoid;
}

.bmc-bloco__titulo {
  font-size: 5.5pt !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #666;
  margin-bottom: 3pt;
  border-bottom: 0.3pt solid #eee;
  padding-bottom: 2pt;
}

.bmc-card {
  font-size: 7pt;
  padding: 2pt 3pt;
  margin-bottom: 2pt;
  border: 0.3pt solid #e5e5e5;
  background: #fff;
  page-break-inside: avoid;
}

.bmc-card__texto { font-size: 7pt; color: #222; }

/* ─── Jornada ─────────────────────────────────────────────────────────────── */
.jornada-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 4pt !important;
  page-break-inside: avoid;
  overflow: visible !important;
  flex-wrap: unset !important;
}

.jornada-coluna {
  min-width: 0 !important;
  flex-shrink: unset !important;
}

.jornada-coluna__header { padding: 3pt 4pt !important; }
.jornada-coluna__icone  { font-size: 10pt; }
.jornada-coluna__etapa  { font-size: 6pt; font-weight: 700; text-transform: uppercase; }

.jornada-item {
  font-size: 7.5pt;
  padding: 2pt 3pt;
  margin-bottom: 2pt;
  border: 0.3pt solid #ddd;
  border-left-width: 2pt;
  page-break-inside: avoid;
}

/* ─── Tabelas ─────────────────────────────────────────────────────────────── */
.tabela-projecao-wrapper {
  overflow: visible !important;
}

.tabela { width: 100%; border-collapse: collapse; }

.tabela th {
  font-size: 6.5pt;
  font-weight: 700;
  padding: 3pt 4pt;
  background: #f5f5f5 !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  color: #333;
  border: 0.3pt solid #ddd;
  text-align: left;
  white-space: nowrap;
}

.tabela td {
  font-size: 7.5pt;
  padding: 2pt 4pt;
  border: 0.3pt solid #eee;
}

.tabela .mono { font-family: 'Courier New', monospace; font-size: 7pt; }
.tabela .positivo { color: #1A8A5C !important; font-weight: 700; }
.tabela .negativo { color: #C0392B !important; font-weight: 700; }

/* ─── KPIs ────────────────────────────────────────────────────────────────── */
.kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 4pt !important;
  margin-bottom: 6pt;
}

/* Paisagem A4 tem espaço para 5 KPIs por linha */
@media print {
  .kpi-grid { grid-template-columns: repeat(5, 1fr) !important; }
}

.kpi-card {
  padding: 4pt 6pt !important;
  border: 0.5pt solid #ddd !important;
  border-radius: 0 !important;
  background: #fff !important;
  page-break-inside: avoid;
}

.kpi-card__label { font-size: 6pt; color: #666; margin-bottom: 1pt; }
.kpi-card__valor { font-size: 10pt; font-weight: 700; color: #111; }
.kpi-card__sub   { font-size: 5.5pt; color: #888; }

.kpi-card__valor--jade  { color: #1A8A5C !important; }
.kpi-card__valor--ambar { color: #C07D0A !important; }
.kpi-card__valor--coral { color: #C0392B !important; }

/* ─── Layout 2 colunas para fases com mais espaço em landscape ───────────── */
.form-grid-2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 5pt;
}

.form-grid-3 {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 4pt;
}

.form-grupo { margin-bottom: 4pt; }

.form-label {
  font-size: 7pt;
  font-weight: 700;
  color: #333;
  display: block;
  margin-bottom: 1.5pt;
}

.form-label-hint { display: none; }

.form-input,
.form-select,
.form-textarea {
  font-size: 8pt;
  border: 0.5pt solid #ccc !important;
  background: #fff !important;
  padding: 2pt 4pt !important;
  border-radius: 0 !important;
  width: 100%;
  color: #111;
}

/* ─── Badges ──────────────────────────────────────────────────────────────── */
.badge-tipo {
  font-size: 6.5pt;
  padding: 1pt 4pt;
  border-radius: 2pt;
  border: 0.3pt solid #ccc;
  background: #f5f5f5 !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* ─── Gráficos: substitui canvas por mensagem ─────────────────────────────── */
.grafico-wrapper {
  border: 0.5pt dashed #ccc !important;
  padding: 6pt !important;
  text-align: center;
  page-break-inside: avoid;
  background: #fafafa !important;
}

.grafico-wrapper::after {
  content: "[ Gráfico disponível apenas na versão digital ]";
  display: block;
  font-size: 7.5pt;
  color: #aaa;
  font-style: italic;
}

/* ─── Alertas ─────────────────────────────────────────────────────────────── */
.alerta {
  padding: 3pt 5pt !important;
  font-size: 7.5pt !important;
  border: 0.5pt solid #ccc !important;
  border-radius: 0 !important;
  margin-bottom: 4pt;
  display: flex;
  gap: 4pt;
}

.alerta--ok   { border-color: #2ECC8B !important; }
.alerta--erro { border-color: #E85D4A !important; }

/* Oculta alertas informativos (muito verbosos) */
.alerta--info, .alerta--oculto { display: none !important; }

/* ─── Quebras de página ───────────────────────────────────────────────────── */
h1, h2, .fase__titulo, .card__titulo { page-break-after: avoid; }
.card, .bmc-bloco, .kpi-card, .jornada-item { page-break-inside: avoid; }
tr { page-break-inside: avoid; }

/* ─── Links ───────────────────────────────────────────────────────────────── */
a { color: #111 !important; text-decoration: none !important; }

/* ─── Mono ────────────────────────────────────────────────────────────────── */
.mono { font-family: 'Courier New', monospace !important; }
