/* ============================================
   TOAST NOTIFICATIONS
   ============================================ */

.toast {
  position: fixed;
  bottom: -100px;
  right: 2rem;
  min-width: 280px;
  max-width: 400px;
  padding: 1rem 1.5rem;
  background: #27272a;
  border: 1px solid #3f3f46;
  border-radius: 8px;
  color: #e4e4e7;
  font-size: 0.95rem;
  line-height: 1.5;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5),
              0 0 0 1px rgba(255, 255, 255, 0.05);
  z-index: 9999;
  animation: slideUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  backdrop-filter: blur(10px);
}

.toast.hide {
  animation: slideDown 0.3s cubic-bezier(0.4, 0, 1, 1) forwards;
}

/* Variante Success */
.toast.success {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.2) 0%, rgba(34, 197, 94, 0.1) 100%);
  border-color: #22c55e;
  color: #bbf7d0;
  box-shadow: 0 8px 32px rgba(34, 197, 94, 0.3),
              0 0 0 1px rgba(34, 197, 94, 0.3);
}

/* Variante Error */
.toast.error {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.2) 0%, rgba(239, 68, 68, 0.1) 100%);
  border-color: #ef4444;
  color: #fecaca;
  box-shadow: 0 8px 32px rgba(239, 68, 68, 0.3),
              0 0 0 1px rgba(239, 68, 68, 0.3);
}

/* Variante Warning */
.toast.warning {
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.2) 0%, rgba(251, 191, 36, 0.1) 100%);
  border-color: #fbbf24;
  color: #fef3c7;
  box-shadow: 0 8px 32px rgba(251, 191, 36, 0.3),
              0 0 0 1px rgba(251, 191, 36, 0.3);
}

/* Animaciones */
@keyframes slideUp {
  from {
    bottom: -100px;
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    bottom: 2rem;
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideDown {
  from {
    bottom: 2rem;
    opacity: 1;
    transform: translateY(0);
  }
  to {
    bottom: -100px;
    opacity: 0;
    transform: translateY(20px);
  }
}

/* Responsive móvil */
@media (max-width: 768px) {
  .toast {
    right: 1rem;
    left: 1rem;
    min-width: auto;
    max-width: none;
  }

  @keyframes slideUp {
    from {
      bottom: -100px;
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      bottom: 1rem;
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes slideDown {
    from {
      bottom: 1rem;
      opacity: 1;
      transform: translateY(0);
    }
    to {
      bottom: -100px;
      opacity: 0;
      transform: translateY(20px);
    }
  }
}