/* Alertas modales reutilizables */
.modal-alert-bg {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.85);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(2px);
}
.modal-alert {
  background: #000;
  color: var(--text-color, #33ff33);
  border: 2px solid var(--text-color, #33ff33);
  border-radius: 0;
  box-shadow: var(--glow, 0 0 15px rgba(51, 255, 51, 0.4));
  padding: 2rem 2.5rem 1.5rem 2.5rem;
  min-width: 260px;
  max-width: 90vw;
  text-align: center;
  position: relative;
  animation: modalIn .2s cubic-bezier(.4,2,.6,1) 1;
  font-family: 'Courier New', Courier, monospace;
}
@keyframes modalIn {
  from { transform: scale(.8); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}
.modal-alert-icon {
  font-size: 2.5rem;
  margin-bottom: .5rem;
  filter: drop-shadow(0 0 5px var(--text-color));
}
.modal-alert-msg {
  font-size: 1.1rem;
  margin-bottom: 1.2rem;
  color: var(--text-color, #33ff33);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.modal-alert-btn {
  background: var(--text-color, #33ff33);
  color: #000;
  border: none;
  border-radius: 0;
  padding: .5rem 1.5rem;
  font-size: 1rem;
  font-family: inherit;
  font-weight: bold;
  cursor: pointer;
  text-transform: uppercase;
  transition: background .2s;
}
.modal-alert-btn:hover {
  background: #2ecc71;
  box-shadow: var(--glow);
}