/* Impressão melhorada — versão 2 (03/10/2026).
   Vale ao imprimir qualquer tela (Ctrl+P, ou "Imprimir / Exportar PDF" de
   Relatórios e Financeiro). Ligado pelo index.html (não depende do código-
   fonte). Ajustado pros nomes reais do sistema publicado (menu = aside,
   barra do topo = .topbar, conteúdo = .main-wrap / .main-content).

   NÃO mexe no cupom do caixa: enquanto o caixa imprime o cupom, a página
   fica com body.printing-receipt — todas as regras abaixo valem só quando
   essa marcação NÃO está presente. Também não força tamanho de papel (A4,
   bobina...): quem decide é a impressora/configuração de impressão. */
@media print {
  /* Esconde menu, barra do topo, botões e filtros */
  body:not(.printing-receipt) aside,
  body:not(.printing-receipt) .sb__bg,
  body:not(.printing-receipt) .topbar,
  body:not(.printing-receipt) nav,
  body:not(.printing-receipt) .btn,
  body:not(.printing-receipt) button,
  body:not(.printing-receipt) .pgsz,
  body:not(.printing-receipt) .date-filter,
  body:not(.printing-receipt) .no-print {
    display: none !important;
  }

  /* Conteúdo ocupa a folha inteira (sem o espaço do menu lateral) */
  body:not(.printing-receipt) .main-wrap,
  body:not(.printing-receipt) .main-content {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
  }
  body:not(.printing-receipt) { background: #fff !important; }
  body:not(.printing-receipt) .card-s {
    box-shadow: none !important;
    border: 1px solid #ddd !important;
  }

  /* Texto em preto (legível em impressora preto e branco) */
  body:not(.printing-receipt) * { color: #000 !important; }
  body:not(.printing-receipt) h1,
  body:not(.printing-receipt) h2,
  body:not(.printing-receipt) h3 { break-after: avoid; }

  /* Tabelas: cabeçalho repete em cada página, linha não quebra ao meio */
  body:not(.printing-receipt) table { width: 100% !important; border-collapse: collapse !important; }
  body:not(.printing-receipt) thead { display: table-header-group; }
  body:not(.printing-receipt) tr { break-inside: avoid; }
  body:not(.printing-receipt) th,
  body:not(.printing-receipt) td { border: 1px solid #ccc !important; padding: 6px 8px !important; font-size: 11px; }

  /* Gráficos e cartões não quebram no meio da página */
  body:not(.printing-receipt) canvas,
  body:not(.printing-receipt) .card-s { break-inside: avoid; }
}
