/* ==========================================================================
   IMPRESSÃO E PDF
   O painel vira documento: navegação e controles saem de cena, o conteúdo
   ganha margens e nenhum cartão é partido ao meio entre duas páginas.
   ========================================================================== */

.print-header { display: none; }

@page {
  size: A4 landscape;
  margin: 12mm 10mm;
}

@media print {
  html, body {
    height: auto;
    overflow: visible;
    background: #fff;
  }

  /* Fora do documento: navegação, filtros e controles interativos */
  .sidebar,
  .topbar,
  .filterbar,
  .table-toolbar,
  .table-pagination,
  .toast-stack,
  .export-menu,
  .modal-overlay,
  .no-print {
    display: none !important;
  }

  .app {
    display: block;
    height: auto;
  }

  .workspace { display: block; overflow: visible; }

  .content {
    overflow: visible;
    height: auto;
  }

  .content__inner {
    max-width: none;
    padding: 0;
  }

  /* Cabeçalho do documento, com período, filtros e origem dos dados */
  .print-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 10px;
    margin-bottom: 16px;
    border-bottom: 2px solid #101828;
  }

  .print-header__title {
    font-size: 17pt;
    font-weight: 600;
  }

  .print-header__subtitle {
    margin-top: 3px;
    font-size: 9pt;
    color: #4b5768;
  }

  .print-header__meta {
    text-align: right;
    font-size: 8pt;
    color: #4b5768;
  }

  /* Nada de cartão cortado entre páginas */
  .card,
  .kpi,
  .insight {
    break-inside: avoid;
    page-break-inside: avoid;
    box-shadow: none !important;
    border-color: #d3d9e4 !important;
  }

  .grid { gap: 8px; }

  /* Indicadores em quatro colunas ocupam melhor a folha deitada */
  .grid--kpi .col-2 { grid-column: span 3; }

  .col-4, .col-6, .col-8 { grid-column: span 6; }
  .col-12 { grid-column: span 12; }

  .chart--sm, .chart--md { height: 190px; }
  .chart--lg, .chart--xl { height: 230px; }

  /* Na tela o gráfico espera a vez de aparecer; no papel não há rolagem
     que o revele. Toda folha sai com os desenhos completos. */
  .chart--aguardando .chart__canvas { opacity: 1 !important; }

  /* O brilho que percorre a linha é movimento. Congelado numa folha, viraria
     um borrão sem explicação no meio do traço. */
  .chart__line-brilho { display: none !important; }

  .card--insights { break-inside: avoid; }
  .insight-list { grid-template-columns: repeat(2, 1fr); }

  /* A tabela entra com o recorte visível e o cabeçalho repetido */
  .table { font-size: 8pt; }
  .table thead { display: table-header-group; }
  .table thead th { background: #f0f3f9 !important; color: #101828 !important; }
  .table tbody tr { break-inside: avoid; }

  a { text-decoration: none; color: inherit; }
}

/* Preparação aplicada momentos antes da janela de impressão abrir */
body.is-printing .toast-stack,
body.is-printing .export-menu {
  display: none;
}
