/* 全局轻提示 Toast（不依赖作用域） */
.toast-wrap {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
}
.toast {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 240px;
  max-width: 380px;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid #e5eaf3;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .14);
  font-size: 13.5px;
  color: #1a1d29;
  opacity: 0;
  transform: translateX(24px);
  transition: opacity .3s ease, transform .3s cubic-bezier(.175,.885,.32,1.275);
}
.toast.show { opacity: 1; transform: translateX(0); }
.toast__ico {
  width: 20px; height: 20px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-size: 12px; font-weight: 700; flex-shrink: 0;
}
.toast--success .toast__ico { background: #10b981; }
.toast--error   .toast__ico { background: #ef4444; }
.toast--warning .toast__ico { background: #f59e0b; }
.toast--info    .toast__ico { background: #3b82f6; }
.toast--error   { border-color: #fecaca; }
.toast--success { border-color: #bbf7d0; }
.toast--warning { border-color: #fde68a; }
