/* ============================================================
   Toasts (section 15)
   ============================================================ */

.toast-container {
  position: fixed;
  bottom: var(--space-5);
  right: var(--space-5);
  display: flex;
  flex-direction: column-reverse;
  gap: var(--space-2);
  z-index: 1000;
  pointer-events: none;
}

.toast {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  background: var(--bg-elevated);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  font-size: var(--text-sm);
  color: var(--text-primary);
  pointer-events: auto;
  animation: toast-in 240ms ease-out;
}

.toast.removing {
  animation: toast-out 180ms ease-in forwards;
}

@keyframes toast-in {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes toast-out {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
}

.toast-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.toast-message {
  flex: 1;
}

.toast-close {
  color: var(--text-tertiary);
  transition: color 120ms;
}

.toast-close:hover {
  color: var(--text-primary);
}

/* Variants */
.toast-success {
  border-color: rgba(0, 212, 138, 0.25);
}

.toast-success .toast-icon {
  color: var(--positive);
}

.toast-error {
  border-color: rgba(255, 61, 92, 0.25);
}

.toast-error .toast-icon {
  color: var(--negative);
}

.toast-warning {
  border-color: rgba(240, 160, 48, 0.25);
}

.toast-warning .toast-icon {
  color: var(--warning);
}

.toast-info {
  border-color: var(--border-accent);
}

.toast-info .toast-icon {
  color: var(--accent);
}
