/**
 * NES — Folha unificada de impressão clínica (A4)
 * Aplica-se a documentos clínicos, receituários, protocolos e HTML legado.
 */

@page {
  size: A4 portrait;
  margin: 12mm 12mm 14mm 12mm;
}

@media print {
  html,
  body {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #0f2f3f !important;
    font-size: 11pt !important;
    line-height: 1.4 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .no-print,
  button,
  nav,
  aside,
  .sidebar,
  .topbar,
  .nes-form-footer,
  .nes-m2-toolbar,
  .modal-actions,
  .nes-print-preview-toolbar {
    display: none !important;
  }

  /* Raiz documento clínico NES */
  .nes-doc-print-root {
    padding: 0 !important;
    background: #fff !important;
  }

  /* Contêiner A4 — altura natural, sem página fantasma */
  .documento-a4,
  .nes-print-doc,
  .print-area,
  body.nes-print-body {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    page-break-after: auto !important;
    page-break-before: auto !important;
  }

  .documento-a4:last-child,
  body > *:last-child {
    page-break-after: avoid !important;
  }

  /* Seções — evitar quebras internas desnecessárias */
  .doc-section,
  .doc-header,
  .doc-assinatura,
  .doc-footer,
  .doc-content,
  section,
  .blk,
  .nes-sec,
  .capa,
  .sig,
  .assinatura,
  footer,
  header {
    page-break-inside: avoid;
  }

  tr,
  table {
    page-break-inside: avoid;
  }

  /* Corpo longo pode quebrar entre parágrafos */
  .conteudo-corpo,
  .nes-sec-body,
  .blk p {
    page-break-inside: auto;
  }

  /* Assinatura compacta */
  .doc-assinatura,
  .assinatura,
  .sig {
    margin-top: 12px !important;
    padding-top: 6px !important;
    page-break-inside: avoid;
  }

  .doc-assinatura img,
  .assinatura img {
    max-height: 42px !important;
    max-width: 180px !important;
    margin-bottom: 4px !important;
    object-fit: contain;
  }

  .doc-assinatura .linha-assinatura {
    width: 200px !important;
    margin: 4px auto !important;
  }

  .doc-qr img {
    width: 72px !important;
    height: 72px !important;
  }

  /* Rodapé */
  .doc-footer,
  footer,
  .foot {
    position: static !important;
    margin-top: 10px !important;
    padding-top: 6px !important;
    page-break-inside: avoid;
  }

  /* Marca d'água discreta */
  .watermark,
  .watermark-svg,
  .nes-doc-watermark {
    opacity: 0.05 !important;
  }

  /* Tabelas — largura útil total */
  table {
    width: 100% !important;
    font-size: 9.5pt !important;
    border-collapse: collapse !important;
  }

  th,
  td {
    padding: 3px 5px !important;
    vertical-align: top !important;
  }

  /* Documentos legados com max-width restritivo */
  body {
    max-width: none !important;
  }

  h1 {
    font-size: 14pt !important;
    margin: 0 0 6px !important;
  }

  h2,
  h3,
  h4 {
    font-size: 11pt !important;
    margin: 8px 0 4px !important;
  }

  p {
    margin: 4px 0 !important;
  }

  .doc-section {
    margin-bottom: 8px !important;
    padding: 8px 10px !important;
    border-radius: 0 !important;
  }

  .doc-grid {
    gap: 4px 12px !important;
  }

  .doc-content {
    min-height: 0 !important;
  }

  /* Escala de impressão do navegador */
  @supports (zoom: 1) {
    body {
      zoom: 1;
    }
  }
}
