/* ═══════════ PRINT / PDF — folha de estilo para impressão ═══════════
   Aplica-se quando o usuário imprime QUALQUER página do app, mas é
   especialmente desenhada para o iframe gerado por printView() em ui.js.
   O conteúdo a imprimir vai dentro de .pv-doc; tudo fora vira display:none.
*/

@media print {
  @page { size: A4; margin: 18mm 16mm 18mm 16mm; }

  /* Esconde a UI do app quando o usuário usa Ctrl+P direto da página */
  #topbar, .nav-bar, #toast, .modal-bg, #tv-screen, #login-screen,
  #particles, .nebula, .tv-btn, .logout-btn, .btn, .nav-btn,
  .nav-dd, .nav-group,
  .modal-close, .modal-footer { display: none !important; }

  body { background: #fff !important; color: #000 !important; }
  #app, #content, .view, .view.active { display: block !important; background: #fff !important; }
  * { box-shadow: none !important; text-shadow: none !important; }
  a { color: #000 !important; text-decoration: none !important; }
}

/* ─── Estilos do documento gerado pelo printView() ─── */
/* (carregados no iframe; servem também para preview) */

.pv-doc {
  font-family: 'Nunito', system-ui, -apple-system, sans-serif;
  color: #1a1a1a;
  background: #fff;
  font-size: 11pt;
  line-height: 1.45;
  max-width: 178mm;
  margin: 0 auto;
  padding: 0;
}

.pv-doc h1, .pv-doc h2, .pv-doc h3 {
  font-family: 'Cinzel', 'Fraunces', serif;
  color: #1a1a1a;
  margin: 14pt 0 6pt;
  page-break-after: avoid;
}

.pv-doc h1 { font-size: 18pt; }
.pv-doc h2 { font-size: 14pt; border-bottom: 1px solid #999; padding-bottom: 3pt; }
.pv-doc h3 { font-size: 12pt; }

.pv-doc p { margin: 0 0 8pt; }

.pv-doc table {
  width: 100%;
  border-collapse: collapse;
  margin: 8pt 0;
  font-size: 10pt;
  page-break-inside: auto;
}
.pv-doc table tr { page-break-inside: avoid; page-break-after: auto; }
.pv-doc table th, .pv-doc table td {
  border: 1px solid #888;
  padding: 4pt 6pt;
  text-align: left;
  vertical-align: top;
}
.pv-doc table th {
  background: #f0f0f0;
  font-weight: 700;
}

.pv-doc ul, .pv-doc ol { margin: 4pt 0 8pt 18pt; }
.pv-doc li { margin: 2pt 0; }

/* Cabeçalho institucional */
.pv-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #1a1a1a;
  padding-bottom: 8pt;
  margin-bottom: 14pt;
}
.pv-header .pv-school {
  font-family: 'Cinzel', serif;
  font-size: 14pt;
  font-weight: 700;
}
.pv-header .pv-meta {
  font-size: 9pt;
  color: #555;
  text-align: right;
}

/* Rodapé */
.pv-footer {
  margin-top: 18pt;
  padding-top: 8pt;
  border-top: 1px solid #999;
  font-size: 8.5pt;
  color: #555;
  display: flex;
  justify-content: space-between;
}

/* Linha de assinatura */
.pv-sign-line {
  margin-top: 36pt;
  border-top: 1px solid #000;
  width: 80mm;
  padding-top: 3pt;
  text-align: center;
  font-size: 9pt;
}

/* Boxes destacados */
.pv-box {
  border: 1px solid #999;
  border-radius: 3pt;
  padding: 8pt 10pt;
  margin: 6pt 0;
  background: #fafafa;
}
.pv-box.muted { background: #f5f5f5; color: #444; }

/* Quebra de página manual */
.pv-page-break { page-break-after: always; }

/* Tag/badge inline */
.pv-tag {
  display: inline-block;
  padding: 1pt 5pt;
  background: #eee;
  border-radius: 8pt;
  font-size: 8.5pt;
  font-family: 'JetBrains Mono', monospace;
  margin-right: 3pt;
}

/* Toolbar do iframe (não imprime) */
.pv-toolbar {
  background: #1a1a1a;
  color: #fff;
  padding: 8px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: system-ui, sans-serif;
  font-size: 13px;
  position: sticky;
  top: 0;
  z-index: 100;
}
.pv-toolbar button {
  background: #f5c842;
  color: #1a1a1a;
  border: none;
  padding: 6px 14px;
  border-radius: 4px;
  font-weight: 700;
  cursor: pointer;
  margin-left: 6px;
}
.pv-toolbar button.ghost { background: transparent; color: #fff; border: 1px solid #555; }
@media print { .pv-toolbar { display: none !important; } }
