/**
 * UrToast (assets/js/ui/ur-toast.js) — aviso flutuante que sobe de baixo.
 * Cores por token (TOKENS.md): fundo/texto do card acompanham Claro/Escuro;
 * a faixa e o ícone usam o status (--ur-wait = laranja, fixo nos 6 modelos).
 */
.ur-toast-region {
  position: fixed;
  left: 50%;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
  z-index: 2000;
  width: min(92vw, 440px);
  pointer-events: none;
}
.ur-toast {
  --ur-toast-c: var(--ur-wait, #D97706);
  --ur-toast-soft: var(--ur-wait-soft, rgba(217,119,6,.14));
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 40px 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--ur-toast-c);
  border-left-width: 5px;
  background: linear-gradient(var(--ur-toast-soft), var(--ur-toast-soft)), var(--ur-card, #fff);
  color: var(--ur-tx, #111);
  font-family: var(--ur-font, Montserrat, system-ui, sans-serif);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  pointer-events: auto;
  opacity: 0;
  transform: translateY(120%);
  transition: transform .3s cubic-bezier(.2,.8,.2,1), opacity .3s ease;
}
.ur-toast.is-in { opacity: 1; transform: translateY(0); }
.ur-toast--error   { --ur-toast-c: #DC2626; --ur-toast-soft: rgba(220,38,38,.12); }
.ur-toast--success { --ur-toast-c: var(--ur-ok, #16A34A); --ur-toast-soft: var(--ur-ok-soft, rgba(22,163,74,.12)); }
.ur-toast--info    { --ur-toast-c: var(--ur-accent, #2563EB); --ur-toast-soft: var(--ur-accent-wash, rgba(37,99,235,.12)); }
.ur-toast__msg { flex: 1; min-width: 0; word-wrap: break-word; }
.ur-toast__close {
  position: absolute;
  top: 6px;
  right: 8px;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ur-mu, #5E5E57);
  font-size: 22px;
  line-height: 28px;
  cursor: pointer;
}
.ur-toast__close:hover, .ur-toast__close:focus-visible { background: var(--ur-toast-soft); color: var(--ur-tx, #111); outline: none; }
@media (prefers-reduced-motion: reduce) { .ur-toast { transition: opacity .2s; transform: none; } }
