body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #f9fafb;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
    monospace;
}

@media print {
  @page {
    margin: 0 !important;
    size: auto;
  }

  /* Reset global agressivo para impressão */
  html, body, #root {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background-color: white !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  /* Forçar que containers ocupem 100% da largura e fluam verticalmente */
  .flex, .lg\:flex-row, .flex-col, main, nav, aside {
    display: block !important;
    height: auto !important;
    width: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Remover sticky, shadows e bordas que não devem aparecer ou que cortam a página */
  .sticky, .overflow-hidden, .overflow-y-auto, .shadow-lg, .shadow-xl, .shadow-md {
    position: static !important;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    box-shadow: none !important;
  }

  /* Esconder elementos desnecessários (Navegação, Botões, Sidebar) */
  .print\:hidden, aside, nav, header:not(.print-only-header) {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
  }

  /* Área principal de conteúdo ajustada para impressão */
  .print-full-width {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 1.5cm !important; /* Margem interna simulada para compensar o margin: 0 da página */
    border: none !important;
    max-width: none !important;
    position: relative !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
  }

  .print-no-sticky {
    position: static !important;
  }

  .print-no-overflow {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }

  /* Comportamento de blocos de texto e títulos */
  .prose, #report-content {
    page-break-inside: auto !important;
    break-inside: auto !important;
    display: block !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Forçar quebras de página em títulos SOMENTE se necessário para evitar órfãos */
  h2 {
    page-break-before: auto;
    page-break-after: avoid;
    break-after: avoid;
    margin-top: 1.5rem !important;
  }
}

/*# sourceMappingURL=main.5feda559.css.map*/