lib/toast.tsx — ToastProvider (wraps the app) + useToast() with
success / error / info. Bottom-center stack, auto-dismiss, click to close.
Wired into key events: invite sent / member removed / invite revoked / role
changed (SharePopover), invite accepted / declined (NotificationsBell), and
Notion connect/disconnect/error + invalid magic-link results (page reads the
redirect query params, toasts, then strips them from the URL).
SharePopover's inline actionError line is replaced by error toasts.