/* =====================================================================
   Toasts (mensagens flash) — partial: componentes/_toast
   ===================================================================== */
.toasts {
  position: fixed; z-index: 200; right: 24px; bottom: 24px;
  display: flex; flex-direction: column; gap: var(--espaco-2-5); align-items: flex-end;
  pointer-events: none; max-width: calc(100vw - 32px);
}
.toast {
  pointer-events: auto;
  display: flex; align-items: center; gap: var(--espaco-3);
  min-width: 260px; max-width: 420px;
  padding: var(--espaco-3) var(--espaco-3-5) var(--espaco-3) var(--espaco-4);
  border-radius: 12px;
  background: #0F172A; color: #F8FAFC;
  box-shadow: var(--sombra-2);
  font-size: var(--tamanho-md);
  animation: subir 180ms ease;
}
:root[data-theme="dark"] .toast { background: #E6EDF3; color: #0F172A; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .toast { background: #E6EDF3; color: #0F172A; } }
.toast-icone { width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: none; font-size: var(--tamanho-sm); font-weight: var(--peso-bold); color: #fff; }
.toast-sucesso .toast-icone { background: #16A34A; }
.toast-erro .toast-icone { background: #DC2626; }
.toast-info .toast-icone { background: #0F766E; }
.toast-aviso .toast-icone { background: #EA580C; }
.toast-texto { flex: 1; }
.toast .btn-link { color: inherit; text-decoration: underline; }
.toast.saindo { opacity: 0; transform: translateY(8px); transition: all 180ms ease; }
@media (max-width: 1023px) {
  .toasts { left: 16px; right: 16px; bottom: calc(var(--nav-altura) + 84px + env(safe-area-inset-bottom)); align-items: stretch; }
  .toast { max-width: none; min-width: 0; }
}
