/* Toast container sits above everything */
.toast-stack {
  position: fixed;
  left: 50%;
  bottom: 1.25rem;
  transform: translateX(-50%);
  display: grid;
  gap: 0.6rem;
  z-index: 3000;
  pointer-events: none;
}

/* Single toast */
.toast {
  pointer-events: auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.75rem;

  width: min(92vw, 420px);
  padding: 0.85rem 0.95rem;
  border-radius: 12px;

  background: var(--panel-bg);
  backdrop-filter: blur(15px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);

  border: 1px solid rgba(0,0,0,0.08);
  color: #222;

  opacity: 0;
  transform: translateY(8px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.toast.show {
  opacity: 1;
  transform: translateY(0);
}

.toast .toast-msg {
  font-size: 0.95rem;
  line-height: 1.25rem;
}

.toast .toast-actions {
  display: inline-flex;
  gap: 0.4rem;
}

/* Buttons inside toast */
.toast button {
  font: inherit;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 0.4rem 0.6rem;
  cursor: pointer;
  background: transparent;
  color: #222;
}

.toast button.toast-close {
  border-color: rgba(0,0,0,0.12);
}

.toast button.toast-action {
  background: #0066cc;
  color: #fff;
}
.toast button.toast-action:hover { background: #0052a3; }

/* Type accents (subtle left border) */
.toast.info { border-left: 4px solid #0066cc; }
.toast.success { border-left: 4px solid #047857; }
.toast.error { border-left: 4px solid #b00020; }
.toast.warn { border-left: 4px solid #b45309; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .toast { transition: none; }
}