/* Layout clínico de impressão. Mantido separado da interface e da grade transanestésica. */
@page {
  size: A4 portrait;
  margin: 9mm 8mm;
}

@media print {
  :root {
    --print-ink: #152b28;
    --print-muted: #586966;
    --print-green: #0d7569;
    --print-line: #aabbb7;
    --print-soft: #f2f7f5;
    --print-space-1: 1.2mm;
    --print-space-2: 2mm;
    --print-space-3: 3mm;
    --print-radius: 1.5mm;
  }

  html,
  body {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: var(--print-ink) !important;
    font: 8.5pt/1.28 Arial, Helvetica, sans-serif !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body:has(.fixed-record-actions:not([hidden])) .app-shell,
  .app-shell {
    width: 194mm !important;
    max-width: 194mm !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  #anesthesiaForm {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #anesthesiaForm .sheet-section {
    margin: 0 0 var(--print-space-1) !important;
    padding: var(--print-space-2) !important;
    border: .25mm solid var(--print-line) !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  #anesthesiaForm .sheet-section.print-section-indivisible {
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  #anesthesiaForm .section-heading,
  #anesthesiaForm .subheading {
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
    break-after: avoid-page !important;
    page-break-after: avoid !important;
  }

  #anesthesiaForm .section-heading {
    align-items: flex-start !important;
    gap: var(--print-space-2) !important;
    margin: 0 0 var(--print-space-2) !important;
  }

  #anesthesiaForm .section-number {
    min-width: 7mm;
    padding: .7mm 1mm !important;
    border: .2mm solid #b9d5cf;
    border-radius: var(--print-radius) !important;
    background: #e8f4f1 !important;
    color: var(--print-green) !important;
    font-size: 8pt !important;
    line-height: 1.1;
    text-align: center;
  }

  #anesthesiaForm .section-heading h2 {
    margin: 0 !important;
    color: var(--print-ink) !important;
    font-size: 11pt !important;
    line-height: 1.05 !important;
  }

  #anesthesiaForm .section-heading p {
    margin: .5mm 0 0 !important;
    color: var(--print-muted) !important;
    font-size: 7.5pt !important;
    line-height: 1.15 !important;
  }

  #anesthesiaForm .subheading {
    margin: var(--print-space-2) 0 var(--print-space-1) !important;
    color: var(--print-green) !important;
    font-size: 8.5pt !important;
    line-height: 1.15 !important;
  }

  #anesthesiaForm .field-grid,
  #anesthesiaForm .vitals-grid {
    display: grid !important;
    align-items: start;
    gap: var(--print-space-1) var(--print-space-3) !important;
    margin: 0 !important;
  }

  #anesthesiaForm .grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  #anesthesiaForm .grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  #anesthesiaForm .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #anesthesiaForm .vitals-grid { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
  #anesthesiaForm .pre-vitals-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  #anesthesiaForm .spacing-top { margin-top: var(--print-space-2) !important; }
  #anesthesiaForm .procedure-datetime-grid { margin-bottom: var(--print-space-2) !important; }
  #anesthesiaForm .identity-block + .identity-block { margin-top: var(--print-space-2) !important; }
  #anesthesiaForm .report-identity-section label:has([name="procedimento"]),
  #anesthesiaForm .report-identity-section label:has([name="equipe"]) { grid-column: span 2; }

  #anesthesiaForm .vitals-grid {
    padding: var(--print-space-2) !important;
    border: 0 !important;
    border-radius: var(--print-radius) !important;
    background: var(--print-soft) !important;
  }

  #anesthesiaForm label {
    min-width: 0;
    gap: .4mm !important;
    color: var(--print-muted) !important;
    font-size: 7.25pt !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  #anesthesiaForm .print-text-value {
    display: block !important;
    min-height: 0 !important;
    color: #111 !important;
    font-size: 8.5pt !important;
    font-weight: 700 !important;
    line-height: 1.26 !important;
    white-space: pre-wrap !important;
    overflow: visible !important;
    overflow-wrap: anywhere;
    word-break: normal;
    orphans: 3;
    widows: 3;
  }

  #anesthesiaForm label:has(textarea),
  #anesthesiaForm label:has(textarea) .print-text-value {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  #anesthesiaForm .report-pre-section .spacing-top > label:has(textarea),
  #anesthesiaForm .report-protocol-section .grid-2 > :has(textarea),
  #anesthesiaForm .medications-grid > :nth-child(n + 3) {
    grid-column: 1 / -1;
  }

  #anesthesiaForm .print-empty,
  #anesthesiaForm .print-empty-section,
  #anesthesiaForm .print-empty-group {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  /* A segunda classe vence a regra inline `.print-only { display: block }`
     sem depender da largura da tela usada para abrir a caixa de impressão. */
  .print-only.print-document-header {
    display: flex !important;
    min-height: 14mm;
    width: 100% !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5mm !important;
    margin: 0 0 var(--print-space-2) !important;
    padding: 0 0 var(--print-space-2) !important;
    border-bottom: .3mm solid var(--print-line) !important;
  }

  .print-hospital-brand {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0;
    flex-flow: row nowrap !important;
    align-items: center !important;
    gap: 3mm !important;
    color: var(--print-ink) !important;
    font-size: 10pt !important;
  }

  .print-hospital-brand[hidden] { display: none !important; }

  .print-hospital-brand img {
    width: auto !important;
    max-width: 34mm !important;
    height: 14mm !important;
    object-fit: contain !important;
  }

  .print-hospital-brand strong {
    max-width: 55mm;
    line-height: 1.1;
    overflow-wrap: anywhere;
  }

  .print-brand {
    display: flex !important;
    flex: 0 0 auto;
    align-items: center !important;
    gap: var(--print-space-2) !important;
    margin: 0 !important;
    color: var(--print-ink) !important;
    font-size: 8pt !important;
  }

  .print-brand img {
    width: 6mm !important;
    height: 6mm !important;
    object-fit: contain !important;
  }

  .print-responsibility {
    margin: var(--print-space-1) 0 0 !important;
    padding: var(--print-space-1) 0 0 !important;
    border-top: .2mm solid var(--print-line) !important;
    color: var(--print-muted) !important;
    font-size: 6.5pt !important;
    line-height: 1.2 !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  .app-shell > :last-child {
    margin-bottom: 0 !important;
  }
}
