/* ════════════════════════════════════════════════════════════════════════════
   laudo-pdf.css — Folha A4 para exportação de laudo em PDF (via window.print)

   Zero dependência: o médico usa "Salvar como PDF" do próprio navegador.
   A folha é montada off-screen por laudo-pdf.js e só aparece na impressão.
   Fontes/cores derivam de design-tokens.css; paleta de TINTA (claro/escuro
   p/ papel), pois o app é dark e a impressão precisa de fundo branco.
   ════════════════════════════════════════════════════════════════════════════ */

:root {
  --pdf-ink:        #1b242c;  /* texto principal (quase preto azulado) */
  --pdf-ink-soft:   #6b7884;  /* texto secundário / meta */
  --pdf-label:      #4a5763;  /* rótulos de seção (cinza-ardósia discreto) */
  --pdf-accent:     #0a7d8c;  /* único toque de cor — nome da clínica */
  --pdf-rule:       #e3e8ec;  /* régua fina / divisórias */
  --pdf-paper:      #ffffff;
}

/* A folha fica escondida na tela — só existe para a impressão. */
#laudo-pdf-print-root { display: none; }

/* ── Estrutura da folha (estilos válidos em tela e impressão) ── */
.laudo-pdf-folha {
  box-sizing: border-box;
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  padding: 22mm 22mm 18mm;
  background: var(--pdf-paper);
  color: var(--pdf-ink);
  font-family: var(--font-ui, 'Inter', system-ui, sans-serif);
  font-size: 10.5pt;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
}

/* ── Cabeçalho ── */
.laudo-pdf-header {
  border-bottom: 1px solid var(--pdf-rule);
  padding-bottom: 12px;
  margin-bottom: 24px;
}
.laudo-pdf-clinica {
  font-family: var(--font-brand, 'Montserrat', sans-serif);
  font-size: 15pt;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--pdf-accent);
  margin: 0 0 3px;
}
.laudo-pdf-clinica-sub {
  font-size: 9pt;
  color: var(--pdf-ink-soft);
  margin: 0 0 8px;
}
.laudo-pdf-medico {
  font-size: 10.5pt;
  font-weight: 600;
  color: var(--pdf-ink);
}
.laudo-pdf-meta {
  font-size: 8.5pt;
  color: var(--pdf-ink-soft);
  margin-top: 3px;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

/* ── Corpo do laudo (HTML clonado do editor) ── */
.laudo-pdf-corpo { flex: 1 1 auto; }

.laudo-pdf-corpo .laudo-titulo {
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11pt;
  font-weight: 600;
  color: var(--pdf-ink);
  margin: 0 0 22px;
}
/* máscaras às vezes repetem o título — esconde o duplicado */
.laudo-pdf-corpo .laudo-titulo + .laudo-titulo { display: none; }

.laudo-pdf-corpo .laudo-subtitulo {
  text-align: center;
  font-size: 9.5pt;
  color: var(--pdf-ink-soft);
  margin: -14px 0 22px;
}
.laudo-pdf-corpo p {
  margin: 0 0 11px;
  text-align: left;
  break-inside: avoid;
}
/* rótulo de seção (FÍGADO:, VIAS BILIARES: …) — discreto, não colorido */
.laudo-pdf-corpo strong {
  color: var(--pdf-label);
  font-weight: 600;
}

/* bloco da impressão ganha mais respiro acima */
.laudo-pdf-corpo p:has(+ .laudo-impressao) {
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid var(--pdf-rule);
}
.laudo-pdf-corpo .laudo-impressao {
  margin: 6px 0 0;
  padding-left: 18px;
  list-style: none;
}
.laudo-pdf-corpo .laudo-impressao li {
  position: relative;
  margin-bottom: 6px;
  padding-left: 2px;
  break-inside: avoid;
}
.laudo-pdf-corpo .laudo-impressao li::before {
  content: '';
  position: absolute;
  left: -14px;
  top: 0.62em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--pdf-accent);
}

/* campos não preenchidos viram um traço discreto, nunca "[<>]" */
.laudo-pdf-corpo .laudo-campo { font-style: normal; }

/* ── Rodapé / assinatura ── */
.laudo-pdf-rodape {
  margin-top: 44px;
  text-align: center;
  break-inside: avoid;
}
.laudo-pdf-assinatura-linha {
  width: 58mm;
  margin: 0 auto 8px;
  border-top: 1px solid var(--pdf-ink-soft);
}
.laudo-pdf-assinatura-nome { font-weight: 600; font-size: 10.5pt; }
.laudo-pdf-assinatura-crm  { font-size: 9pt; color: var(--pdf-ink-soft); margin-top: 1px; }
.laudo-pdf-assinatura-data { font-size: 8.5pt; color: var(--pdf-ink-soft); margin-top: 10px; }
.laudo-pdf-rodape-info { font-size: 8pt; color: var(--pdf-ink-soft); margin-top: 4px; }

/* ════════════════════════════════════════════════════════════════════════════
   IMPRESSÃO — esconde toda a UI do app, mostra só a folha
   ════════════════════════════════════════════════════════════════════════════ */
@media print {
  @page { size: A4; margin: 0; }

  html, body { background: #fff !important; }

  /* esconde tudo que é filho direto do body, exceto a folha */
  body.laudo-pdf-printing > *:not(#laudo-pdf-print-root) { display: none !important; }

  #laudo-pdf-print-root { display: block !important; }

  .laudo-pdf-folha {
    margin: 0;
    box-shadow: none;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* o modal de config e o menu nunca saem na impressão */
  .lpdf-cfg-overlay,
  .lpdf-menu { display: none !important; }
}

/* ── Menu do botão PDF (Imprimir | Salvar PDF) ── */
.lpdf-menu {
  z-index: 9100;
  min-width: 168px;
  padding: 4px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: var(--bg-panel-elevated, #142230);
  border: 1px solid var(--border-default, #2a3d50);
  border-radius: var(--radius-md, 6px);
  box-shadow: var(--shadow-md, 0 4px 12px rgba(0,0,0,0.35));
}
.lpdf-menu-item {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 7px 10px;
  background: none;
  border: none;
  border-radius: var(--radius-sm, 4px);
  color: var(--text-primary, #e8f4f8);
  font-family: var(--font-ui, 'Inter', system-ui, sans-serif);
  font-size: var(--fs-13, 13px);
  text-align: left;
  cursor: pointer;
}
.lpdf-menu-item:hover { background: var(--bg-input-hover, #1f2e3d); }
.lpdf-menu-item svg { flex: 0 0 auto; opacity: 0.85; }

/* ════════════════════════════════════════════════════════════════════════════
   MODAL "Configurar PDF" — UI do app (tema escuro, tokens de design-tokens.css)
   ════════════════════════════════════════════════════════════════════════════ */
.lpdf-cfg-overlay {
  position: fixed;
  inset: 0;
  z-index: 9000;
  background: rgba(4, 10, 14, 0.62);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  backdrop-filter: blur(2px);
}
.lpdf-cfg-modal {
  width: min(760px, 100%);
  max-height: 90vh;
  overflow: auto;
  background: var(--bg-panel, #0f1923);
  border: 1px solid var(--border-default, #2a3d50);
  border-radius: var(--radius-xl, 12px);
  box-shadow: var(--shadow-lg, 0 12px 32px rgba(0,0,0,0.45));
  color: var(--text-primary, #e8f4f8);
  font-family: var(--font-ui, 'Inter', system-ui, sans-serif);
  padding: 20px 22px 18px;
}
.lpdf-cfg-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}
.lpdf-cfg-head h2 {
  margin: 0;
  font-size: var(--fs-16, 16px);
  font-weight: 600;
}
.lpdf-cfg-x {
  background: none;
  border: none;
  color: var(--text-tertiary, #6b8aa0);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: var(--radius-sm, 4px);
}
.lpdf-cfg-x:hover { color: var(--text-primary, #e8f4f8); background: var(--bg-input, #1a2735); }
.lpdf-cfg-hint {
  margin: 0 0 14px;
  font-size: var(--fs-12, 12px);
  color: var(--text-secondary, #9ab3c4);
}
.lpdf-cfg-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
@media (max-width: 640px) { .lpdf-cfg-body { grid-template-columns: 1fr; } }

.lpdf-cfg-form { display: flex; flex-direction: column; gap: 10px; }
.lpdf-cfg-field { display: flex; flex-direction: column; gap: 4px; }
.lpdf-cfg-label {
  font-size: var(--fs-11, 11px);
  font-weight: 500;
  color: var(--text-secondary, #9ab3c4);
}
.lpdf-cfg-input {
  height: var(--h-input, 28px);
  padding: 0 10px;
  background: var(--bg-input, #1a2735);
  border: 1px solid var(--border-default, #2a3d50);
  border-radius: var(--radius-md, 6px);
  color: var(--text-primary, #e8f4f8);
  font-size: var(--fs-13, 13px);
  font-family: inherit;
}
.lpdf-cfg-input:focus {
  outline: none;
  border-color: var(--border-focus, #00e5ff);
  box-shadow: var(--shadow-focus, 0 0 0 3px rgba(0,229,255,0.15));
}
.lpdf-cfg-check {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  font-size: var(--fs-12, 12px);
  color: var(--text-secondary, #9ab3c4);
  cursor: pointer;
}

/* Preview do cabeçalho — fundo de papel, usa as classes reais da folha */
.lpdf-cfg-preview-wrap { display: flex; flex-direction: column; gap: 6px; }
.lpdf-cfg-preview-label {
  font-size: var(--fs-11, 11px);
  font-weight: 500;
  color: var(--text-tertiary, #6b8aa0);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.lpdf-cfg-preview {
  background: #fff;
  border-radius: var(--radius-md, 6px);
  padding: 16px 18px;
  border: 1px solid var(--border-subtle, #1e2d3c);
}
.lpdf-cfg-preview .laudo-pdf-header { margin-bottom: 0; }
.lpdf-cfg-preview-empty {
  color: #94a3ad;
  font-size: 9.5pt;
  font-style: italic;
  text-align: center;
  padding: 8px 0;
}

.lpdf-cfg-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
}
.lpdf-cfg-btn {
  height: var(--h-input-lg, 36px);
  padding: 0 16px;
  background: var(--bg-input, #1a2735);
  border: 1px solid var(--border-default, #2a3d50);
  border-radius: var(--radius-md, 6px);
  color: var(--text-primary, #e8f4f8);
  font-size: var(--fs-13, 13px);
  font-family: inherit;
  font-weight: 500;
  cursor: pointer;
  transition: background var(--t-fast, 120ms);
}
.lpdf-cfg-btn:hover { background: var(--bg-input-hover, #1f2e3d); }
.lpdf-cfg-btn--primary {
  background: var(--accent, #00e5ff);
  border-color: var(--accent, #00e5ff);
  color: #04222a;
  font-weight: 600;
}
.lpdf-cfg-btn--primary:hover { background: var(--accent-hover, #33eaff); }
