/* ============================================================
   AudioHistoria — estilos personalizados y hoja de impresión
   ============================================================ */

/* Grabadora: medidor de nivel de voz */
.barra-nivel {
  width: 10px;
  border-radius: 9999px;
  background: linear-gradient(180deg, #06b6d4, #1d4ed8);
  height: 8px;
  transition: height 0.08s ease;
  min-height: 8px;
  max-height: 56px;
}

/* Documento clínico editable */
.doc-seccion h2:focus,
.doc-parrafo:focus,
.doc-linea:focus,
.doc-resumen:focus,
#doc-titulo:focus {
  outline: 2px dashed #93c5fd;
  outline-offset: 6px;
  border-radius: 4px;
}

.doc-parrafo:empty::before,
.doc-linea:empty::before {
  content: '…';
  color: #94a3b8;
}

/* Vista del documento (papel) */
.papel-doc {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  box-shadow: 0 10px 30px -18px rgba(15, 23, 42, 0.25);
}

/* Animación de latido del botón de grabar */
@keyframes latido {
  0%   { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.45); }
  70%  { box-shadow: 0 0 0 22px rgba(220, 38, 38, 0); }
  100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); }
}
.latido-grabando { animation: latido 1.6s infinite; }

/* Pasos del procesamiento */
@keyframes pulso-paso {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}
.paso-activo { animation: pulso-paso 1.4s ease-in-out infinite; }

/* ============================================================
   HOJA DE IMPRESIÓN (PDF mediante el diálogo del navegador)
   ============================================================ */
@media print {
  @page {
    size: letter;
    margin: 16mm 14mm 18mm 14mm;
  }

  body {
    background: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .no-imprimir { display: none !important; }

  #vista-documento { display: block !important; }
  .papel-doc {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #area-imprimible {
    color: #111827 !important;
    font-family: 'Segoe UI', Arial, sans-serif !important;
    font-size: 11.5pt !important;
    line-height: 1.55 !important;
  }

  #doc-titulo {
    font-size: 17pt !important;
    color: #111827 !important;
    border: none !important;
    margin: 6mm 0 4mm 0 !important;
    text-align: center;
  }

  .doc-encabezado-print {
    display: block !important;
    border-bottom: 2px solid #1d4ed8 !important;
    padding-bottom: 3mm !important;
    margin-bottom: 4mm !important;
    text-align: center;
  }

  .doc-encabezado-print .marca {
    font-size: 13pt !important;
    font-weight: 700 !important;
    color: #1d4ed8 !important;
  }

  .doc-encabezado-print .meta {
    font-size: 9.5pt !important;
    color: #374151 !important;
    margin-top: 1.5mm;
  }

  .doc-seccion {
    break-inside: avoid-page;
    margin-top: 5mm !important;
  }

  .doc-seccion h2 {
    font-size: 12pt !important;
    font-weight: 700 !important;
    color: #1d4ed8 !important;
    border-bottom: 1px solid #cbd5e1 !important;
    padding-bottom: 1mm !important;
    margin: 0 0 2mm 0 !important;
    background: none !important;
  }

  .doc-parrafo {
    margin: 0 0 2.5mm 0 !important;
    text-align: justify;
    color: #111827 !important;
  }

  .doc-resumen {
    background: none !important;
    border-left: 3px solid #1d4ed8 !important;
    padding-left: 4mm !important;
    color: #111827 !important;
  }

  .doc-analisis-titulo {
    font-size: 12pt !important;
    font-weight: 700 !important;
    color: #1d4ed8 !important;
    border-bottom: 1px solid #cbd5e1 !important;
    padding-bottom: 1mm !important;
    margin: 8mm 0 3mm 0 !important;
  }

  .doc-lista { margin: 0 0 3mm 6mm !important; }
  .doc-lista li { margin-bottom: 2mm !important; break-inside: avoid-page; }

  .doc-nota-final {
    margin-top: 8mm !important;
    font-size: 8.5pt !important;
    color: #6b7280 !important;
    border-top: 1px solid #e5e7eb;
    padding-top: 2mm;
  }

  .doc-firma {
    margin-top: 14mm !important;
    text-align: center;
    font-size: 9.5pt !important;
    color: #374151 !important;
  }

  .doc-firma .linea {
    width: 60mm;
    border-top: 1px solid #374151;
    margin: 0 auto 1.5mm auto;
  }
}
