/* ==========================================================================
   PRINT STYLESHEET - OTIMIZAÇÃO PARA PAPEL E EXPORTAÇÃO EM PDF
   Garante fundo branco, texto escuro de alto contraste, sem quebras ruins
   ========================================================================== */

@media print {
  /* 1. Reset Global de Cores e Fundo */
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #0f172a !important; /* Slate-900 legível */
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html, body {
    background-color: #ffffff !important;
    color: #0f172a !important;
    font-size: 11pt !important;
    line-height: 1.5 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 2. Ocultar Elementos de Interface Não Imprimíveis */
  .no-print,
  #sidebar,
  #headerNav,
  .nav-tabs,
  .search-container,
  .quick-actions,
  .notes-drawer,
  .split-gutter,
  .modal-backdrop,
  .toast-notification,
  button,
  .btn,
  input,
  select,
  .theme-toggle,
  .print-hide {
    display: none !important;
  }

  /* 3. Ajuste do Container Principal */
  #mainContent,
  .workspace-container,
  .module-view {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10mm 15mm !important;
    display: block !important;
    overflow: visible !important;
  }

  /* 4. Cabeçalho Formal de Impressão */
  .print-header-banner {
    display: block !important;
    border-bottom: 2pt solid #0284c7 !important;
    padding-bottom: 8pt !important;
    margin-bottom: 15pt !important;
  }

  .print-header-banner h1 {
    font-size: 18pt !important;
    font-weight: 800 !important;
    color: #0369a1 !important;
    margin: 0 0 4pt 0 !important;
  }

  .print-header-banner .meta {
    font-size: 9pt !important;
    color: #64748b !important;
  }

  /* 5. Prevenção de Quebra de Página Indesejada */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid !important;
    break-after: avoid !important;
    color: #0f172a !important;
    font-weight: 700 !important;
  }

  h1 { font-size: 16pt !important; margin-top: 14pt !important; }
  h2 { font-size: 13pt !important; margin-top: 12pt !important; border-bottom: 1pt solid #e2e8f0; padding-bottom: 3pt; }
  h3 { font-size: 11pt !important; margin-top: 10pt !important; }

  p, ul, ol {
    orphans: 3 !important;
    widows: 3 !important;
  }

  .topic-card,
  .study-card,
  .summary-section,
  .code-block,
  table,
  blockquote,
  .chart-wrapper,
  .tradeoff-row {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    border: 1pt solid #cbd5e1 !important;
    border-radius: 4pt !important;
    margin-bottom: 12pt !important;
    padding: 8pt 10pt !important;
    background-color: #f8fafc !important;
  }

  /* 6. Blocos de Código Legíveis no Papel */
  pre, code {
    font-family: 'Courier New', Courier, monospace !important;
    font-size: 8.5pt !important;
    line-height: 1.35 !important;
    background-color: #f1f5f9 !important;
    color: #0f172a !important;
    white-space: pre-wrap !important;
    word-break: break-word !important;
  }

  pre {
    padding: 6pt !important;
    border: 1pt solid #cbd5e1 !important;
    border-radius: 3pt !important;
  }

  /* 7. Tabelas Claras e Formatadas */
  table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 10pt 0 !important;
    font-size: 9pt !important;
  }

  th, td {
    border: 1pt solid #cbd5e1 !important;
    padding: 4pt 6pt !important;
    text-align: left !important;
  }

  th {
    background-color: #e2e8f0 !important;
    font-weight: 700 !important;
  }

  /* 8. Links Visíveis */
  a {
    text-decoration: underline !important;
    color: #0369a1 !important;
  }

  /* 9. Renderização do Iframe em Impressão */
  iframe {
    width: 100% !important;
    border: 1pt solid #cbd5e1 !important;
    height: auto !important;
    min-height: 500px !important;
    page-break-inside: avoid !important;
  }

  /* 10. Rodapé de Impressão */
  @page {
    margin: 15mm 12mm 15mm 12mm;
    size: A4 portrait;
  }
}
