.sonner-toaster {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 9999;
  display: grid;
  gap: 10px;
  width: min(360px, calc(100vw - 28px));
  pointer-events: none;
}

.sonner-toast {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: flex-start;
  gap: 10px;
  min-height: 48px;
  padding: 12px 12px 12px 14px;
  border: 1px solid var(--color-border, #e2e8f0);
  border-radius: 12px;
  background: rgba(255, 255, 255, .96);
  color: var(--color-text, #0f172a);
  box-shadow: 0 14px 36px rgba(15, 23, 42, .14), 0 3px 8px rgba(15, 23, 42, .08);
  pointer-events: auto;
  transform: translateX(14px);
  opacity: 0;
  animation: sonner-in 180ms ease forwards;
}

.sonner-toast[data-removing="true"] {
  animation: sonner-out 160ms ease forwards;
}

.sonner-icon {
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  color: #fff;
  flex-shrink: 0;
}

.sonner-toast.success .sonner-icon { background: var(--color-ok, #16a34a); }
.sonner-toast.error .sonner-icon { background: var(--color-bad, #dc2626); }
.sonner-toast.warning .sonner-icon { background: var(--color-warn, #d97706); }
.sonner-toast.info .sonner-icon { background: var(--color-primary, #2563eb); }

.sonner-content {
  min-width: 0;
}

.sonner-title {
  font-size: 13.5px;
  font-weight: 650;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.sonner-close {
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 7px;
  padding: 0;
  display: grid;
  place-items: center;
  background: transparent;
  color: var(--color-text-secondary, #64748b);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  transition: background 100ms ease, color 100ms ease;
}

.sonner-close:hover {
  background: var(--prim-gray-100, #f1f5f9);
  color: var(--color-text, #0f172a);
  box-shadow: none;
}

@keyframes sonner-in {
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes sonner-out {
  to {
    transform: translateX(14px);
    opacity: 0;
  }
}

@media (max-width: 600px) {
  .sonner-toaster {
    top: 10px;
    right: 10px;
    left: 10px;
    width: auto;
  }
}
