@media print {

  /* ═══════════════════════════════════════════════════════
     PÁGINA
  ═══════════════════════════════════════════════════════ */
  @page {
    size: A4 portrait;
    margin: 2.8cm 2.6cm 3.2cm 2.6cm;
  }

  /* ═══════════════════════════════════════════════════════
     CORREÇÃO CRÍTICA — height/overflow do app
     Sem isso o conteúdo é cortado em uma página
  ═══════════════════════════════════════════════════════ */
  html, body {
    height: auto !important;
    overflow: visible !important;
  }

  .app {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  .main-content {
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
  }

  /* ═══════════════════════════════════════════════════════
     OCULTAR INTERFACE
  ═══════════════════════════════════════════════════════ */
  .sidebar,
  .view-header-actions,
  #toast-container,
  #modal-overlay,
  #ai-overlay,
  .btn { display: none !important; }

  /* ═══════════════════════════════════════════════════════
     TIPOGRAFIA BASE
  ═══════════════════════════════════════════════════════ */
  *, *::before, *::after { box-sizing: border-box; }

  body {
    background: #fff !important;
    color: #111 !important;
    font-family: 'Garamond', 'Book Antiqua', 'Palatino Linotype', 'Times New Roman', serif;
    font-size: 11.5pt;
    line-height: 1.9;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* ═══════════════════════════════════════════════════════
     CONTAINER
  ═══════════════════════════════════════════════════════ */
  .view-container {
    padding: 0 !important;
    max-width: 100% !important;
  }

  /* ═══════════════════════════════════════════════════════
     CABEÇALHO DO DOCUMENTO
  ═══════════════════════════════════════════════════════ */
  .view-header {
    display: block !important;
    text-align: center !important;
    margin-bottom: 28pt !important;
    padding-bottom: 16pt !important;
    border-bottom: none !important;
    position: relative;
  }

  /* Símbolo maçônico */
  .view-header::before {
    content: '⧖';
    display: block;
    font-size: 28pt;
    color: #8b6914;
    margin-bottom: 8pt;
    letter-spacing: 0;
  }

  /* Régua dupla dourada */
  .view-header::after {
    content: '';
    display: block;
    width: 55%;
    margin: 14pt auto 0;
    border-top: 2pt solid #8b6914;
    border-bottom: 0.5pt solid #c9a050;
    padding-top: 4pt;
    height: 5pt;
  }

  .view-header-left {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  .view-header-left h2 {
    font-size: 15pt !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #111 !important;
    margin: 0 0 5pt !important;
    line-height: 1.3 !important;
  }

  .view-header-left p {
    font-size: 9pt !important;
    color: #555 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
  }

  /* ═══════════════════════════════════════════════════════
     CORPO DO BALAÚSTRE
  ═══════════════════════════════════════════════════════ */
  #bal-display {
    margin-top: 0 !important;
  }

  .balaustre-text {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-family: 'Garamond', 'Book Antiqua', 'Palatino Linotype', 'Times New Roman', serif !important;
    font-size: 11.5pt !important;
    line-height: 1.9 !important;
    color: #111 !important;
    white-space: pre-wrap !important;
    text-align: justify !important;
    word-break: break-word !important;
    hyphens: auto !important;
    orphans: 3 !important;
    widows: 3 !important;
  }

  /* ═══════════════════════════════════════════════════════
     ORNAMENTO FINAL
  ═══════════════════════════════════════════════════════ */
  #bal-display::after {
    content: '— ⧖ —';
    display: block;
    text-align: center;
    color: #8b6914;
    font-size: 13pt;
    letter-spacing: 0.5em;
    margin-top: 28pt;
    padding-top: 14pt;
    border-top: 0.5pt solid #bbb;
  }

}
