/* Toast — composant global réutilisable, pas de scope propre à un bloc. Déclenché
   depuis n'importe quel bloc via window.showSiteToast(message, variant). Inspiré du
   NbToast Flutter (icône + message, fond teinté, coin bas-droite, auto-dismiss ~3s) —
   voir nafabeat-app/lib/core/widgets/nb_toast.dart pour l'esprit visuel, valeurs
   recalibrées pour fond marine (aucune variante OnDark de success/danger dans les 3
   thèmes Dart à ce jour — successSubtle/dangerSubtle existants sont fond clair). */

#site-toast {
  /* --_prov-success / --_prov-error : provisoires, à formaliser via /design-token. */
  position: fixed; bottom: 24px; right: 24px; z-index: 300;
  display: flex; align-items: center; gap: 10px;
  padding: 12px 18px; border-radius: 10px;
  font-family: var(--font-body); font-size: 13.5px; font-weight: 600;
  box-shadow: 0 12px 32px -8px rgba(0,0,0,0.5);
  opacity: 0; transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  max-width: min(360px, calc(100vw - 48px));
}
#site-toast.site-toast-shown { opacity: 1; transform: translateY(0); pointer-events: auto; }
#site-toast.site-toast-success { background: rgba(52,211,153,0.14); color: #34D399; border: 1px solid rgba(52,211,153,0.35); }
#site-toast.site-toast-error { background: rgba(217,82,74,0.14); color: #D9524A; border: 1px solid rgba(217,82,74,0.35); }
#site-toast .site-toast-icon { flex-shrink: 0; width: 18px; height: 18px; display: flex; }
#site-toast .site-toast-message { line-height: 1.4; }
@media (max-width: 560px) {
  #site-toast { left: 16px; right: 16px; bottom: 16px; max-width: none; }
}
