.flash-toast-stack {
  position: fixed;
  top: calc(var(--header-clearance, 118px) + env(safe-area-inset-top, 0px) + 8px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 1080;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: min(520px, calc(100vw - 24px));
  pointer-events: none;
}

.flash-toast {
  margin: 0;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18);
  border: 1px solid transparent;
  opacity: 1;
  transition: opacity 0.35s ease, transform 0.35s ease;
  pointer-events: auto;
}

.flash-toast--hide {
  opacity: 0;
  transform: translateY(-6px);
}

.flash-toast--success {
  background: #ecfdf5;
  border-color: #6ee7b7;
  color: #065f46;
}

.flash-toast--error,
.flash-toast--danger {
  background: #fef2f2;
  border-color: #fca5a5;
  color: #991b1b;
}

.flash-toast--warning {
  background: #fffbeb;
  border-color: #fcd34d;
  color: #92400e;
}

.flash-toast--info {
  background: #eff6ff;
  border-color: #93c5fd;
  color: #1e40af;
}

@media (max-width: 720px) {
  .flash-toast-stack {
    top: calc(var(--header-clearance, 118px) + env(safe-area-inset-top, 0px) + 4px);
    width: calc(100vw - 16px);
  }
  .flash-toast {
    font-size: 14px;
    padding: 10px 14px;
  }
}
