/* Calculadora de Dosis Veterinaria — © 2026 Jesús Ventura. Todos los derechos reservados.
   Software propietario — ver LICENSE en la raíz del repositorio. Prohibida su copia,
   modificación, distribución o reutilización, total o parcial, sin autorización por escrito. */

:root {
  --azul: #2563eb;
  --azul-oscuro: #1e40af;
  --azul-claro: #eaf1ff;
  --gris-fondo: #f3f5f9;
  --gris-borde: #e2e5eb;
  --gris-texto: #4b5563;
  --texto-oscuro: #111827;
  --verde: #059669;
  --verde-claro: #ecfdf5;
  --rojo: #b91c1c;
  --rojo-claro: #fef2f2;
  --ambar: #b45309;
  --ambar-fondo: #fffbeb;
  --radio: 12px;
  font-size: 16px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--gris-fondo);
  color: var(--texto-oscuro);
  min-height: 100vh;
  display: flex;
  justify-content: center;
  padding: 24px 16px 60px;
}

.app {
  width: 100%;
  max-width: 680px;
}

header {
  text-align: center;
  margin-bottom: 20px;
}

header h1 {
  font-size: 1.5rem;
  margin: 0 0 4px;
}

header p {
  color: var(--gris-texto);
  margin: 0;
  font-size: 0.9rem;
}

header .ultima-actualizacion {
  font-size: 0.78rem;
  margin-top: 4px;
  opacity: 0.75;
}

.app-footer {
  text-align: center;
  margin-top: 24px;
  padding-top: 14px;
  border-top: 1px solid var(--gris-borde);
}
.app-footer p {
  color: var(--gris-texto);
  font-size: 0.75rem;
  margin: 0;
  line-height: 1.5;
}
.app-footer a { color: var(--gris-texto); }

/* ---- Pestañas principales ---- */
.tabs-principales {
  display: flex;
  gap: 6px;
  background: #fff;
  padding: 6px;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.tab-principal {
  flex: 1 1 auto;
  min-width: 90px;
  padding: 10px 8px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--gris-texto);
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
  white-space: nowrap;
}

.tab-principal.activa {
  background: var(--azul);
  color: #fff;
}

.vista.oculto { display: none !important; }

/* ---- Tarjetas ---- */
.tarjeta {
  background: #fff;
  border-radius: var(--radio);
  padding: 20px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  margin-bottom: 16px;
}

.titulo-tarjeta {
  margin: 0 0 10px;
  font-size: 1.1rem;
}

.cabecera-paciente {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.cabecera-paciente .titulo-tarjeta { margin: 0; }
.boton-nuevo-paciente { margin-top: 0; white-space: nowrap; }

.contador {
  color: var(--gris-texto);
  font-weight: 400;
  font-size: 0.9rem;
}

label {
  display: block;
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--gris-texto);
  margin-bottom: 6px;
}

.campo-busqueda { position: relative; }

input[type="text"],
input[type="number"],
select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--gris-borde);
  border-radius: 10px;
  font-size: 1rem;
  background: #fff;
  color: var(--texto-oscuro);
}

/* Los campos numéricos solo deben admitir valores escritos con el teclado:
   se ocultan las flechas de incremento/decremento (se manejan con el ratón). */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

input:focus, select:focus {
  outline: none;
  border-color: var(--azul);
  box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

.sugerencias {
  list-style: none;
  margin: 4px 0 0;
  padding: 4px;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid var(--gris-borde);
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
  max-height: 280px;
  overflow-y: auto;
  z-index: 10;
}

.sugerencias li {
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 0.95rem;
}

.sugerencias li:hover { background: var(--gris-fondo); }
.sugerencias li.sugerencia-info { cursor: default; color: var(--gris-texto); font-size: 0.85rem; }
.sugerencias li.sugerencia-info:hover { background: transparent; }
.sugerencias .termino { font-weight: 600; }
.sugerencias .tipo-tag {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--azul);
  background: var(--azul-claro);
  padding: 2px 6px;
  border-radius: 6px;
}
.sugerencias .submeta { width: 100%; font-size: 0.8rem; color: var(--gris-texto); }

.oculto { display: none !important; }

.fila {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.fila-3 { grid-template-columns: 1fr 1.4fr; }
.fila-busqueda { grid-template-columns: 1.3fr 1fr; align-items: start; }
@media (max-width: 480px) {
  .fila-busqueda { grid-template-columns: 1fr; }
}

.campo { margin-bottom: 12px; }
.campo:last-child { margin-bottom: 0; }

.campo-busqueda-protocolos { margin: 4px 0 14px; }

.info-farmaco { margin-bottom: 14px; position: relative; }
.info-farmaco h2 { margin: 0 0 2px; font-size: 1.2rem; padding-right: 32px; }
.boton-cerrar-farmaco {
  position: absolute;
  top: 0;
  right: 0;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 50%;
  background: var(--gris-fondo, #f0f0f0);
  color: var(--gris-texto);
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
}
.boton-cerrar-farmaco:hover { background: var(--rojo-claro); color: var(--rojo); }
.info-farmaco .categoria {
  color: var(--azul-oscuro);
  font-size: 0.85rem;
  font-weight: 600;
  margin: 0 0 6px;
}
.info-farmaco .comerciales { color: var(--gris-texto); font-size: 0.88rem; margin: 0; }

/* ---- Sub-pestañas del fármaco ---- */
.subtabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--gris-borde);
  margin-bottom: 16px;
  overflow-x: auto;
}
.subtab {
  padding: 8px 10px;
  border: none;
  background: transparent;
  color: var(--gris-texto);
  font-weight: 600;
  font-size: 0.82rem;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}
.subtab.activa { color: var(--azul); border-bottom-color: var(--azul); }
.panel.oculto { display: none !important; }

.bloque-dosis { margin-bottom: 18px; }
.bloque-dosis:last-child { margin-bottom: 0; }
.subtitulo {
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--gris-texto);
  margin: 0 0 8px;
}

.aviso-inline {
  background: var(--ambar-fondo);
  color: var(--ambar);
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 0.85rem;
  margin: 8px 0 0;
}
#aviso-especie {
  background: var(--ambar-fondo);
  color: var(--ambar);
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 0.9rem;
  margin-bottom: 14px;
}

.placeholder { color: var(--gris-texto); font-size: 0.9rem; margin: 0; }
.ayuda { color: var(--gris-texto); font-size: 0.85rem; margin: 0 0 12px; }

.resultado-card { border-top: 1px solid var(--gris-borde); padding-top: 12px; }
.resultado-dosis { font-size: 1.5rem; font-weight: 700; color: var(--verde); }
.resultado-detalle {
  display: flex; gap: 6px; flex-wrap: wrap;
  color: var(--gris-texto); font-size: 0.88rem; margin-top: 4px;
}
.resultado-volumen {
  margin-top: 10px; padding: 10px 12px;
  background: var(--azul-claro); border-radius: 8px; font-size: 0.9rem;
}
.notas { margin-top: 8px; font-size: 0.85rem; color: var(--gris-texto); font-style: italic; }

.boton-anadir, .boton-primario {
  margin-top: 12px;
  background: var(--azul);
  color: #fff;
  border: none;
  padding: 10px 16px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  width: 100%;
}
.boton-anadir:hover, .boton-primario:hover { background: var(--azul-oscuro); }
.boton-primario:disabled { background: var(--gris-borde); color: var(--gris-texto); cursor: not-allowed; }

.boton-secundario {
  margin-top: 10px;
  background: transparent;
  border: 1px solid var(--gris-borde);
  color: var(--rojo);
  padding: 8px 14px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
}

/* ---- PubMed ---- */
.boton-pubmed {
  display: block;
  background: var(--azul-claro);
  color: var(--azul-oscuro);
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 600;
  margin-bottom: 8px;
}
.boton-pubmed:hover { background: #dbe8ff; }
.boton-pubmed-general { background: var(--gris-fondo); color: var(--gris-texto); }

/* ---- Bibliografía (PubMed, búsqueda automática) ---- */
.bibliografia-articulo { border-top: 1px solid var(--gris-borde); padding: 12px 0; }
.bibliografia-articulo:first-of-type { border-top: none; }
.bibliografia-titulo { display: block; font-weight: 700; font-size: 0.92rem; color: var(--azul-oscuro); text-decoration: none; }
.bibliografia-titulo:hover { text-decoration: underline; }
.bibliografia-meta { color: var(--gris-texto); font-size: 0.8rem; margin-top: 2px; }
.bibliografia-dosis-lista { margin: 8px 0 0; padding-left: 18px; font-size: 0.85rem; }
.bibliografia-dosis-lista li { margin-bottom: 4px; }
.bibliografia-dosis-lista strong { color: var(--verde); }
.bibliografia-contexto { color: var(--gris-texto); font-style: italic; }
.bibliografia-sin-dosis { margin-top: 10px; }
.bibliografia-sin-dosis summary { cursor: pointer; color: var(--gris-texto); font-size: 0.85rem; }

/* ---- CIMAVET ---- */
.cimavet-fila {
  border-top: 1px solid var(--gris-borde);
  padding: 12px 0;
}
.cimavet-fila:first-of-type { border-top: none; }
.cimavet-nombre { font-weight: 700; font-size: 0.95rem; margin-bottom: 4px; }
.cimavet-meta {
  display: flex; flex-wrap: wrap; gap: 6px;
  color: var(--gris-texto); font-size: 0.82rem; margin-bottom: 3px;
}
.badge-si { color: var(--verde); font-weight: 600; }
.badge-no { color: var(--gris-texto); }
.badge-humano {
  display: inline-block;
  background: var(--ambar-fondo);
  color: var(--ambar);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 2px 6px;
  border-radius: 6px;
  vertical-align: middle;
}
.cimavet-enlaces { display: flex; gap: 14px; margin-top: 6px; }
.cimavet-enlaces a { color: var(--azul); font-size: 0.82rem; font-weight: 600; text-decoration: none; }
.cimavet-enlaces a:hover { text-decoration: underline; }

.calculo-dosis-detalle-bibliografia { margin: 4px 0 18px; padding-bottom: 14px; border-bottom: 1px solid var(--gris-borde); }
.calculo-dosis-detalle { margin-top: 10px; }
.calculo-dosis-detalle summary { cursor: pointer; color: var(--azul); font-size: 0.85rem; font-weight: 600; }
.calculo-dosis-caja { margin-top: 10px; padding: 10px 12px; background: var(--gris-fondo); border-radius: 10px; }
.calculo-dosis-caja .fila { margin-bottom: 8px; }
.calculo-dosis-caja .campo { margin-bottom: 0; }

/* ---- Resumen del paciente ---- */
.resumen-paciente-info {
  font-size: 0.85rem;
  color: var(--gris-texto);
  margin: 0 0 10px;
  font-weight: 600;
}
.resumen-fila {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  border-top: 1px solid var(--gris-borde);
  padding: 12px 0;
}
.resumen-fila:first-of-type { border-top: none; }
.resumen-farmaco { font-weight: 700; }
.resumen-dosis { color: var(--verde); font-weight: 600; font-size: 0.95rem; margin-top: 2px; }
.resumen-detalle { color: var(--gris-texto); font-size: 0.82rem; margin-top: 2px; }
.tag-origen {
  display: inline-block;
  background: var(--gris-fondo);
  padding: 1px 6px;
  border-radius: 6px;
  margin-left: 4px;
}
.boton-eliminar {
  border: none;
  background: var(--rojo-claro);
  color: var(--rojo);
  width: 28px; height: 28px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 0.9rem;
  flex-shrink: 0;
}

/* ---- Protocolos ---- */
.subtitulo-seccion {
  font-size: 0.95rem;
  color: var(--gris-texto);
  margin: 20px 4px 10px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.checkboxes-especie { display: flex; gap: 18px; }

/* ---- Comprobación de interacciones ---- */
.interaccion-aviso {
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 10px;
  font-size: 0.88rem;
}
.interaccion-aviso p { margin: 4px 0 0; }
.interaccion-aviso ul { margin: 6px 0 0; padding-left: 18px; }
.interaccion-aviso li { margin-bottom: 4px; }
.interaccion-cabecera { font-weight: 700; }
.interaccion-alta { background: var(--rojo-claro); color: var(--rojo); }
.interaccion-media { background: var(--ambar-fondo); color: var(--ambar); }
.interaccion-baja { background: var(--gris-fondo); color: var(--texto-oscuro); }
.interaccion-info { background: var(--azul-claro); color: var(--azul-oscuro); }
.checkboxes-especie label { display: flex; align-items: center; gap: 6px; font-weight: 500; color: var(--texto-oscuro); }
.checkboxes-especie input[type="checkbox"] { width: auto; }

.protocolo-card .categoria {
  color: var(--azul-oscuro);
  font-size: 0.8rem;
  font-weight: 600;
  margin: 0 0 8px;
}
.protocolo-componentes { margin: 10px 0; }
.protocolo-componente {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px;
  padding: 8px 0;
  border-top: 1px solid var(--gris-borde);
  font-size: 0.88rem;
}
.protocolo-componente:first-child { border-top: none; }
.protocolo-componente-nombre { font-weight: 600; flex: 1 1 100%; }
.protocolo-componente-dosis { color: var(--verde); font-weight: 600; }
.protocolo-dosis-mgkg { color: var(--gris-texto); font-weight: 400; font-size: 0.82rem; }
.protocolo-componente-via { color: var(--gris-texto); font-size: 0.82rem; }
.protocolo-concentracion {
  flex: 1 1 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.protocolo-concentracion label {
  margin: 0;
  font-size: 0.78rem;
  white-space: nowrap;
}
.protocolo-concentracion input {
  padding: 6px 10px;
  font-size: 0.85rem;
  max-width: 110px;
}
.protocolo-opciones-presentacion {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  flex-basis: 100%;
}
.protocolo-opciones-presentacion .boton-secundario {
  margin-top: 0;
  padding: 5px 12px;
  font-size: 0.82rem;
  width: auto;
}
.protocolo-comp-buscador {
  flex: 1 1 100%;
  margin-top: 6px;
}
.protocolo-comp-buscador label {
  margin: 0 0 4px;
  font-size: 0.78rem;
}
.protocolo-comp-buscador input {
  padding: 8px 10px;
  font-size: 0.88rem;
}
.presentacion-detectada .protocolo-comp-cambiar {
  margin-left: 4px;
  font-size: 0.78rem;
}
.protocolo-card-deshabilitada {
  opacity: 0.85;
  background: var(--gris-fondo);
}
.protocolo-card-deshabilitada .aviso-inline { margin: 10px 0; }

.presentacion-detectada {
  flex: 1 1 100%;
  margin: 4px 0 0;
  color: var(--verde);
  font-size: 0.8rem;
}

/* ---- Dosis por indicación (antibióticos) y uso responsable ---- */
.fuente-cita {
  font-size: 0.75rem;
  color: var(--gris-texto);
  font-style: italic;
  margin: 4px 0 12px;
}
.opcion-antibiotico {
  border: 1px solid var(--gris-borde);
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 8px;
  font-size: 0.85rem;
}
.opcion-antibiotico-actual {
  border-color: var(--azul);
  background: var(--azul-claro);
}
.opcion-antibiotico-nombre {
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.opcion-antibiotico-dosis { color: var(--verde); font-weight: 600; margin-top: 2px; }
.opcion-antibiotico-notas { color: var(--gris-texto); font-size: 0.8rem; margin-top: 4px; font-style: italic; }

.badge-ema {
  font-size: 0.68rem;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 6px;
  text-transform: uppercase;
}
.badge-ema-a { background: var(--rojo-claro); color: var(--rojo); }
.badge-ema-b { background: var(--ambar-fondo); color: var(--ambar); }
.badge-ema-c { background: #fff7d6; color: #92720a; }
.badge-ema-d { background: var(--verde-claro); color: var(--verde); }

.badge-hospital { display: inline-block; font-size: 0.75rem; font-weight: 600; padding: 3px 8px; border-radius: 8px; margin: 2px 4px 2px 0; }
.badge-hospital-primera { background: var(--verde-claro); color: var(--verde); border: 1px solid var(--verde); }
.badge-hospital-recomendado { background: var(--verde-claro); color: var(--verde); }
.badge-hospital-necesidad { background: var(--ambar-fondo); color: var(--ambar); }
.badge-hospital-fuera { background: var(--rojo-claro); color: var(--rojo); }
.boton-favorito-hospital {
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  border: 1px solid transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.boton-favorito-hospital:hover { border-color: currentColor; }
.boton-favorito-hospital:active { transform: scale(0.97); }
.boton-favorito-hospital.es-favorito { border-color: currentColor; }

/* Botón de favorito dentro de una fila de sugerencia (CRI): área generosa para que sea
   fácil de tocar/pulsar sin acertar por casualidad en el texto de al lado. */
.cri-favorito-boton {
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  font-size: 1.1rem;
  line-height: 1;
  padding: 6px 8px;
  margin: -6px 2px -6px -6px;
  cursor: pointer;
  border-radius: 8px;
  -webkit-tap-highlight-color: transparent;
}
.cri-favorito-boton:hover { background: var(--gris-fondo); }

.disclaimer {
  font-size: 0.78rem;
  color: var(--gris-texto);
  text-align: center;
  line-height: 1.5;
  margin-top: 20px;
}

/* ---- Etiqueta "Personalizado" en sugerencias / avisos ---- */
.tipo-tag-personalizado { color: var(--verde); background: var(--verde-claro); }
#aviso-personalizado {
  background: var(--verde-claro);
  color: var(--verde);
  padding: 8px 10px;
  border-radius: 8px;
  font-weight: 600;
}
.boton-enlace {
  background: none;
  border: none;
  color: var(--azul);
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
  font-size: inherit;
}

#aviso-no-en-bd { margin-top: 10px; }

#listado-completo-boton { margin-top: 12px; display: block; }

#listado-completo { margin-top: 10px; }
#listado-completo-filtro { margin-bottom: 8px; }
#listado-completo-lista { max-height: 340px; overflow-y: auto; border: 1px solid var(--gris-borde); border-radius: 10px; }
.listado-completo-fila {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--gris-borde);
  cursor: pointer;
}
.listado-completo-fila:last-child { border-bottom: none; }
.listado-completo-fila:hover { background: var(--azul-claro); }

#importar-comparacion-lista { max-height: 340px; overflow-y: auto; border: 1px solid var(--gris-borde); border-radius: 10px; margin-bottom: 12px; }
.importar-comparacion-fila {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--gris-borde);
}
.importar-comparacion-fila:last-child { border-bottom: none; }
.importar-comparacion-opciones { display: flex; gap: 12px; flex-shrink: 0; font-size: 0.85rem; white-space: nowrap; }
.importar-comparacion-opciones label { display: flex; align-items: center; gap: 4px; cursor: pointer; }
.listado-completo-nombre { font-weight: 700; flex: 1 1 100%; }
.listado-completo-comerciales { color: var(--gris-texto); font-size: 0.85rem; }
.listado-completo-categoria { color: var(--azul-oscuro); font-size: 0.8rem; font-weight: 600; }

/* ---- Desplegable de nombre comercial (CIMAVET) junto al buscador ---- */
#comercial-cimavet-detalle .cimavet-fila { border-top: 1px solid var(--gris-borde); margin-top: 10px; padding-top: 10px; }

/* ---- Selector de patología ---- */
#patologia-selector-contenedor { margin-bottom: 16px; }

/* ---- Concentración detectada en CIMAVET ---- */
#concentracion-cimavet { margin-bottom: 8px; }
#concentracion-cimavet-estado { margin: 0 0 10px; }
label[for="concentracion"] { margin-top: 4px; }

/* ---- Imágenes ---- */
.boton-subir-imagen { display: inline-block; text-align: center; }
.imagenes-galeria {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.imagen-item {
  border: 1px solid var(--gris-borde);
  border-radius: 10px;
  padding: 6px;
  text-align: center;
}
.imagen-miniatura {
  width: 100%;
  height: 100px;
  object-fit: cover;
  border-radius: 6px;
  cursor: zoom-in;
  display: block;
}
.imagen-miniatura.imagen-grande {
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: min(90vw, 600px);
  height: auto;
  max-height: 90vh;
  object-fit: contain;
  z-index: 100;
  box-shadow: 0 10px 40px rgba(0,0,0,0.4);
  cursor: zoom-out;
  background: #fff;
}
.imagen-descripcion { font-size: 0.75rem; color: var(--gris-texto); margin: 6px 0 4px; }
.boton-eliminar-imagen {
  border: none;
  background: var(--rojo-claro);
  color: var(--rojo);
  border-radius: 6px;
  padding: 4px 8px;
  font-size: 0.75rem;
  cursor: pointer;
  width: 100%;
}

/* ---- Mi base de datos: formulario de fármaco personalizado ---- */
.patologia-fila {
  border: 1px solid var(--gris-borde);
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 12px;
  background: var(--gris-fondo);
}
.boton-eliminar-patologia {
  background: var(--rojo-claro);
  color: var(--rojo);
  border: none;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.8rem;
  cursor: pointer;
  width: 100%;
}
.fila-botones-form {
  display: flex;
  gap: 10px;
  margin-top: 16px;
}
.fila-botones-form .boton-primario,
.fila-botones-form .boton-secundario {
  margin-top: 0;
  flex: 1;
}
#comercial-cimavet-detalle:empty { display: none; }

/* Impresión del resumen del paciente: solo se imprime el tratamiento prescrito */
.solo-impresion { display: none; }
@media print {
  body * { visibility: hidden; }
  #tarjeta-resumen, #tarjeta-resumen * { visibility: visible; }
  #tarjeta-resumen { position: absolute; left: 0; top: 0; width: 100%; box-shadow: none; border: none; margin: 0; padding: 0; }
  #tarjeta-resumen .boton-eliminar, #vaciar-resumen, #imprimir-resumen { display: none !important; }
  #tarjeta-resumen .solo-impresion { display: block; }
  .resumen-fila { break-inside: avoid; }
}
