/* Estilos personalizados adicionales si se necesitan */
body {
  margin: 0;
  padding: 0;
  font-family: system-ui, -apple-system, sans-serif;
}

/* Animaciones para notificaciones */
.notification-enter-active {
  transition: all 0.3s ease-out;
}

.notification-leave-active {
  transition: all 0.3s ease-in;
}

.notification-enter-from {
  opacity: 0;
  transform: translateX(100%);
}

.notification-leave-to {
  opacity: 0;
  transform: translateX(100%);
}

.notification-move {
  transition: transform 0.3s ease;
}

/* Animación de shake para errores de login */
@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-5px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(5px);
  }
}

.animate-shake {
  animation: shake 0.5s ease-in-out;
}

/* Soporte modo oscuro para elementos genéricos (inputs, tablas sin dark: explícito) */
.dark input:not([type="checkbox"]):not([type="radio"]),
.dark select,
.dark textarea {
  background-color: rgb(55 65 81);
  border-color: rgb(75 85 99);
  color: #fff;
}
.dark input::placeholder,
.dark textarea::placeholder {
  color: rgb(156 163 175);
}
.dark table {
  color: rgb(229 231 235);
}
.dark thead {
  background-color: rgba(55 65 81 / 0.5);
  color: rgb(229 231 235);
  border-color: rgb(75 85 99);
}
.dark tbody tr {
  border-color: rgb(55 65 81);
}
.dark tbody tr:hover {
  background-color: rgba(55 65 81 / 0.3);
}
