.alerta-banner {
  --alerta-tono: var(--jm-blue-texto);
  --alerta-fondo: var(--azul-suave);
  --alerta-borde: var(--jm-border);
  --alerta-circulo: #D7E9F8;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  padding: 10px 14px;
  border: 1px solid var(--alerta-borde);
  border-radius: 12px;
  background: var(--alerta-fondo);
  color: var(--jm-navy);
  font-size: var(--t-base);
  line-height: 1.45;
}

.alerta-banner.alerta {
  --alerta-tono: var(--alerta);
  --alerta-fondo: #FEF2F2;
  --alerta-borde: #FECACA;
  --alerta-circulo: #FEE2E2;
}

.alerta-banner.aviso {
  --alerta-tono: var(--aviso);
  --alerta-fondo: #FFFBEB;
  --alerta-borde: #FDE68A;
  --alerta-circulo: #FEF3C7;
}

.alerta-banner.info {
  --alerta-tono: var(--jm-blue-texto);
  --alerta-fondo: #EFF6FC;
  --alerta-borde: #BFDBFE;
  --alerta-circulo: #DBEAFE;
}

.alerta-banner.correcta {
  --alerta-tono: var(--correcto);
  --alerta-fondo: #F0FDF4;
  --alerta-borde: #BBF7D0;
  --alerta-circulo: #DCFCE7;
}

.alerta-banner-icono {
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: var(--alerta-circulo);
  color: var(--alerta-tono);
}

.alerta-banner-icono .icono { width: 20px; height: 20px; }

.alerta-banner-contenido { flex: 1; min-width: 0; }
.alerta-banner-texto { margin: 0; color: var(--jm-navy); }
.alerta-banner .cifra { color: var(--alerta-tono); font-size: 1.1em; font-weight: 800; font-variant-numeric: tabular-nums; }
.alerta-banner .dato-clave,
.alerta-banner.compacto .dato-clave,
.costeo-vivo .alerta-banner .dato-clave { color: var(--alerta-tono); font-size: inherit; font-weight: 700; }
.alerta-banner.ficha-ia-franja .ficha-ia-texto strong.dato-clave,
.alerta-banner.ficha-ia-franja .ficha-ia-texto strong.cifra { color: var(--alerta-tono); }
.alerta-banner a { color: var(--jm-blue-texto); font-weight: 600; text-underline-offset: 2px; }
.alerta-banner[hidden] { display: none; }

.alertas-costeo {
  display: grid;
  gap: 12px;
  min-width: 0;
  margin: 18px 0 0;
}

.alertas-costeo:empty { display: none; }
.alertas-costeo.compactos { margin-top: 12px; }

.alerta-banner.contrato-faltan,
.alerta-banner.decisiones,
.alerta-banner.minimo-negociado-banner {
  align-items: flex-start;
}

.alerta-banner.contrato-faltan .alerta-banner-icono,
.alerta-banner.decisiones .alerta-banner-icono { margin-top: 1px; }

.alerta-banner.contrato-faltan ul { margin: 4px 0 0; padding-left: 18px; color: var(--jm-navy); }
.alerta-banner.minimo-negociado-banner { margin-top: var(--hueco-2); }
.alerta-banner.minimo-negociado-banner .alerta-banner-icono { margin-top: 1px; }
.alerta-banner.minimo-negociado-banner .incumplimientos.minimo-negociado {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.alerta-banner.minimo-negociado-banner .minimo-cabecera { margin-bottom: 8px; }
.alerta-banner.minimo-negociado-banner .minimo-cabecera h4 { color: var(--jm-navy); }
.alerta-banner.minimo-negociado-banner .hallazgos { margin: 0; padding-left: 16px; }
.alerta-banner.incumplimientos.decisiones { margin: var(--hueco-2) 0; }
.alerta-banner.incumplimientos.decisiones .minimo-titulo { color: var(--jm-navy); }

.alerta-banner.presentar-restricciones {
  display: block;
  padding: 0;
  transition: opacity 160ms var(--ease-out);
}

.alerta-banner.presentar-restricciones[hidden] { display: none; }
.alerta-banner.presentar-restricciones.entrando { opacity: 0; }
.alerta-banner.presentar-restricciones > summary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  color: var(--jm-navy);
  cursor: pointer;
  list-style: none;
}

.alerta-banner.presentar-restricciones > summary::-webkit-details-marker { display: none; }
.alerta-banner.presentar-restricciones > summary .alerta-banner-icono { flex: 0 0 40px; }
.alerta-banner.presentar-restricciones > summary strong { flex: 1; }
.alerta-banner.presentar-restricciones > summary [data-presentar-restricciones-cuenta] { font-size: var(--t-mini); }
.alerta-banner.presentar-restricciones ul { margin: 0 16px 12px 70px; padding: 0; list-style: none; }

.alerta-banner.ficha-ia-franja { transition: none; }
.ficha-ia[data-estado="hecho"] .alerta-banner.ficha-ia-franja,
.ficha-ia[data-estado="error"] .alerta-banner.ficha-ia-franja,
.ficha-ia[data-estado="revisar"] .alerta-banner.ficha-ia-franja {
  background: var(--alerta-fondo);
  border-color: var(--alerta-borde);
  color: var(--jm-navy);
}
.ficha-ia[data-estado="hecho"] .alerta-banner.ficha-ia-franja .ficha-ia-icono,
.ficha-ia[data-estado="error"] .alerta-banner.ficha-ia-franja .ficha-ia-icono,
.ficha-ia[data-estado="revisar"] .alerta-banner.ficha-ia-franja .ficha-ia-icono {
  background: var(--alerta-circulo);
  color: var(--alerta-tono);
}
.alerta-banner.ficha-ia-franja .ficha-ia-texto strong { color: var(--jm-navy); }

.alerta-banner-lista { margin: 0; padding-left: 18px; }
.alerta-banner-lista li + li { margin-top: 5px; }

.alerta-banner--entrada { animation: alerta-banner-entrada 160ms var(--ease-out) both; }

@keyframes alerta-banner-entrada {
  from { opacity: 0; }
  to { opacity: 1; }
}

.boton-contorno {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  box-sizing: border-box;
  padding: 9px 16px;
  border: 1px solid var(--jm-blue-texto);
  border-radius: 12px;
  background: #fff;
  color: var(--jm-blue-texto);
  font: inherit;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 140ms var(--ease-out), opacity 140ms var(--ease-out),
              transform 120ms var(--ease-out);
}

.boton-contorno.completo { width: 100%; }
.boton-contorno .icono { width: 20px; height: 20px; flex: none; }

@media (hover: hover) and (pointer: fine) {
  .boton-contorno:hover:not(:disabled):not([aria-disabled="true"]) { background: var(--azul-suave); }
}

.boton-contorno:active:not(:disabled):not([aria-disabled="true"]) { transform: scale(.98); }
.boton-contorno:focus-visible { outline: 2px solid var(--jm-blue-texto); outline-offset: 3px; }
.boton-contorno:disabled,
.boton-contorno[aria-disabled="true"] {
  border-color: var(--jm-border);
  background: var(--hundido);
  color: var(--jm-sub);
  opacity: .65;
  cursor: not-allowed;
}

@media (max-width: 480px) {
  .alerta-banner { gap: 10px; font-size: var(--t-base); }
  .alerta-banner-icono { flex-basis: 32px; width: 32px; height: 32px; }
  .alerta-banner-icono .icono { width: 17px; height: 17px; }
  .alerta-banner.presentar-restricciones > summary .alerta-banner-icono { flex-basis: 32px; }
  .alerta-banner.presentar-restricciones ul { margin-left: 58px; }
}

@media (prefers-reduced-motion: reduce) {
  .alerta-banner--entrada { animation: none; }
  .alerta-banner.presentar-restricciones { transition: none; }
  .alerta-banner.presentar-restricciones.entrando { opacity: 1; }
  .boton-contorno { transition: none; }
  .boton-contorno:active:not(:disabled):not([aria-disabled="true"]) { transform: none; }
}

/* En la columna angosta «Así queda» y en los paneles laterales: más compacto y con aire sobre el medidor. */
.costeo-vivo .costeo-vivo-margen { margin-bottom: 14px; }
.costeo-vivo .alertas-costeo { margin-top: 16px; gap: 8px; }
.costeo-vivo .alerta-banner { gap: 10px; padding: 9px 11px; }
.costeo-vivo .alerta-banner-icono { flex-basis: 28px; width: 28px; height: 28px; }
.costeo-vivo .alerta-banner-icono .icono { width: 15px; height: 15px; }
.costeo-vivo .alerta-banner-texto { font-size: var(--t-chico); }
.costeo-vivo .alerta-banner .cifra { font-size: 1.05em; font-weight: 700; }

.alerta-banner.compacto {
  gap: 10px;
  min-height: 0;
  margin-top: 12px;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: var(--t-chico);
}

.alerta-banner.compacto + .alerta-banner.compacto { margin-top: 6px; }
.alerta-banner.compacto .alerta-banner-icono { flex: 0 0 24px; width: 24px; height: 24px; }
.alerta-banner.compacto .alerta-banner-icono .icono { width: 13px; height: 13px; }
.alerta-banner.compacto .cifra { font-size: 1.05em; font-weight: 700; }
