.ui-toast-zone {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
  max-width: calc(100vw - 32px);
}

.ui-toast-msg {
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .25s, transform .25s;
  pointer-events: auto;
  max-width: 360px;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
  background: #1a1f2e;
  border: 1px solid rgba(255,255,255,.1);
  color: #e5e7eb;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}

.ui-toast-msg.show {
  opacity: 1;
  transform: translateY(0);
}

.ui-toast-msg.t-ok {
  background: rgba(34,197,94,.15);
  border: 1px solid rgba(34,197,94,.4);
  color: #4ade80;
}

.ui-toast-msg.t-err {
  background: rgba(239,68,68,.15);
  border: 1px solid rgba(239,68,68,.4);
  color: #f87171;
}

.ui-toast-msg.t-info {
  background: rgba(56,189,248,.15);
  border: 1px solid rgba(56,189,248,.4);
  color: #38bdf8;
}

.ui-toast-msg.t-warn {
  background: rgba(251,191,36,.15);
  border: 1px solid rgba(251,191,36,.4);
  color: #fbbf24;
}

@media (max-width: 600px) {
  .ui-toast-zone {
    top: auto;
    bottom: 80px;
    left: 16px;
    right: 16px;
    max-width: none;
  }
  .ui-toast-msg {
    max-width: none;
  }
}
