/* ==========================================
   PRINT STYLES - Optimized for A4
   Loaded conditionally via media="print"
   ========================================== */

@media print {
  /* Reset de elementos desnecessários */
  header, footer, nav, aside,
  .no-print,
  button, .sidebar, .scroll-button,
  [role="navigation"],
  [role="banner"],
  [data-print-hide="true"] {
    display: none !important;
  }
  
  /* Ocultar scrollbars */
  ::-webkit-scrollbar {
    display: none;
  }
  
  /* Configuração de página A4 */
  @page {
    size: A4 portrait;
    margin: 2cm 1.5cm;
  }
  
  html, body {
    width: 210mm;
    height: 297mm;
    margin: 0;
    padding: 0;
    background: white !important;
    color: black !important;
  }
  
  /* Remover animações e transições */
  *, *::before, *::after {
    animation-duration: 0s !important;
    animation-delay: 0s !important;
    transition: none !important;
  }
  
  /* Forçar cores de texto legíveis */
  h1, h2, h3, h4, h5, h6, p, span, li {
    color: #1a1a1a !important;
  }
  
  /* Simplificar backgrounds */
  .card, .border, div {
    background: white !important;
    border-color: #e0e0e0 !important;
    box-shadow: none !important;
  }
  
  /* Quebras de página inteligentes */
  h1, h2, h3 {
    page-break-after: avoid;
    break-after: avoid;
  }
  
  p, li {
    page-break-inside: avoid;
    break-inside: avoid;
    orphans: 3;
    widows: 3;
  }
  
  .print-page-break {
    page-break-before: always;
    break-before: page;
  }
  
  h2 {
    margin-top: 1.5em;
    page-break-after: avoid;
  }
  
  /* Container do relatório */
  .print-report-container {
    max-height: none !important;
    overflow: visible !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  /* Títulos com espaçamento adequado */
  .print-report-container h2 {
    font-size: 18pt;
    font-weight: bold;
    margin-top: 24pt;
    margin-bottom: 12pt;
  }
  
  .print-report-container h3 {
    font-size: 14pt;
    font-weight: 600;
    margin-top: 16pt;
    margin-bottom: 8pt;
  }
  
  /* Parágrafos */
  .print-report-container p {
    font-size: 11pt;
    line-height: 1.6;
    text-align: justify;
    margin-bottom: 8pt;
  }
  
  /* Listas */
  .print-report-container ul,
  .print-report-container ol {
    margin-left: 20pt;
    margin-bottom: 12pt;
  }
  
  .print-report-container li {
    font-size: 11pt;
    line-height: 1.5;
    margin-bottom: 4pt;
  }
  
  /* Forçar containers de relatório a expandir */
  body[data-printing="true"] .print-report-container {
    max-height: none !important;
    overflow: visible !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  
  /* Ocultar elementos decorativos */
  body[data-printing="true"] .absolute,
  body[data-printing="true"] .sticky {
    position: static !important;
    display: none !important;
  }
  
  /* Garantir que o prose seja renderizado corretamente */
  .prose {
    max-width: none !important;
  }
}
