/* Flash y alertas globales (Bootstrap alert + animación) */
.tcsm-flash-stack {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.tcsm-flash-stack:empty {
  display: none;
}

.tcsm-flash-alert {
  animation: tcsm-flash-in 0.35s ease-out;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.08);
}

@keyframes tcsm-flash-in {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.tcsm-flash-alert.tcsm-flash-hiding {
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
