/* toast */
.toast-host {
  position: fixed;
  bottom: calc(var(--quickbar-height) + var(--space-3) + env(safe-area-inset-bottom, 0px));
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  z-index: var(--z-toast);
  pointer-events: none;
  width: min(420px, calc(100vw - 2 * var(--space-4)));
}
.toast {
  background: var(--bg-secondary);
  color: var(--text-primary);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  font-size: var(--font-size-sm);
  pointer-events: auto;
  animation: toast-in var(--duration-normal) var(--ease-out);
  display: flex; align-items: center; gap: var(--space-2);
}
.toast.is-leaving { animation: toast-out var(--duration-fast) ease-in forwards; }
.toast--positive { border-left: 4px solid var(--positive); }
.toast--warning  { border-left: 4px solid var(--warning); }
.toast--negative { border-left: 4px solid var(--negative); }
.toast--info     { border-left: 4px solid var(--profil-aktiv-strong); }

@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes toast-out { to { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) { .toast, .toast.is-leaving { animation: none; } }
