/* ============================================================
   PRINT CSS · Relatório do cliente · PDF export
   ----
   Imprime tudo em uma única corrida vertical, sem chrome,
   sem efeitos, sem animações. Cada seção forçada como bloco,
   quebra de página inteligente entre seções principais.
   ============================================================ */

@media print {
  /* tamanho da página · A4 portrait com margens */
  @page {
    size: A4;
    margin: 14mm 12mm;
  }

  /* esconde chrome da UI */
  header[data-screen-label],
  .no-print,
  [data-no-print],
  button,
  .tweaks-panel,
  [aria-label*="Tweaks"],
  .report-sticky-header,
  [data-pauta-nav],
  [data-print-hide] {
    display: none !important;
  }

  /* corpo */
  html, body {
    background: #fff !important;
    color: #1A1A1A !important;
    font-size: 11pt !important;
  }

  /* recolhe sombras, efeitos pesados, aurora */
  *, *::before, *::after {
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Aurora · oculta blobs */
  [aria-hidden="true"] {
    display: none !important;
  }

  /* todas as bands com fundo neutro */
  section[data-theme] {
    background: #fff !important;
    color: #1A1A1A !important;
    padding: 8mm 0 !important;
    page-break-inside: avoid;
  }

  /* titulos com cor visível em papel */
  h1, h2, h3, h4 { color: #1A1A1A !important; page-break-after: avoid; }
  .t-display, .t-h1, .t-h2, .t-h3 { color: #1A1A1A !important; }
  .punch { color: #7879C9 !important; font-weight: 600 !important; }
  .t-light { color: #4F4E5F !important; }

  /* cards · borda sólida + sem sombra */
  [style*="surface"], [style*="border"] {
    box-shadow: none !important;
  }

  /* tabelas */
  table { page-break-inside: auto; }
  tr { page-break-inside: avoid; page-break-after: auto; }

  /* charts em SVG · mantém contraste */
  svg { color: #1A1A1A; }

  /* quebra de página entre seções principais */
  section { page-break-inside: avoid; }
  section + section { page-break-before: auto; }

  /* posts e cards do mês · preservados */
  [data-print-keep-together] { page-break-inside: avoid; }

  /* esconde gradientes de capa */
  [style*="linear-gradient"] {
    background: #fff !important;
    border: 1px solid #C4C2D6 !important;
    color: #1A1A1A !important;
  }

  /* hero KPI · gradiente roxo · força a ficar legível */
  [style*="rgba(154,155,229"] {
    background: #F4F3F9 !important;
    color: #1A1A1A !important;
  }

  /* MetricDrawer · sempre escondido em impressão */
  aside[role="dialog"] { display: none !important; }
}

/* ============================================================
   MOBILE · ajustes pra telas pequenas
   ============================================================ */
@media (max-width: 720px) {
  /* topbar quebra em duas linhas */
  header[style*="sticky"] > div {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }
  /* hero do morning não pode estourar */
  section[style*="78vh"] {
    min-height: 64vh !important;
    padding: var(--space-6) var(--space-4) !important;
  }
  /* grids de auto-fit ficam single column quando muito apertado */
  main, [style*="gridTemplateColumns: minmax(0, 1.4fr)"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  /* tabela do calendário rola horizontal */
  table {
    font-size: 12px;
  }
  /* drawer ocupa quase tela inteira */
  aside[role="dialog"] {
    top: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    width: calc(100vw - 16px) !important;
    max-width: none !important;
  }
}
.no-print { /* nada por default; só age em print */ }

/* ============================================================
   PROPOSTA · modo de impressão isolado
   Quando body tem .print-proposal-only, esconde tudo no
   index e mostra apenas o preview da proposta gerada.
   ============================================================ */
@media print {
  body.print-proposal-only > *:not(:has(#proposal-preview)) {
    display: none !important;
  }
  body.print-proposal-only #proposal-preview {
    margin: 0 !important;
    padding: 8mm !important;
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    animation: none !important;
  }
  body.print-proposal-only header,
  body.print-proposal-only [data-no-print] {
    display: none !important;
  }
  /* esconde os botões dentro da própria preview */
  body.print-proposal-only #proposal-preview button,
  body.print-proposal-only #proposal-preview a[role="button"] {
    display: none !important;
  }
}
