Components
Bothsrc/components/toast.tsx

Toast

The transient receipt for an async action. It wears the primary-button surface, an inverted-ink pill (ink in light, white in dark), with a contrast circle at the start and the label after it. Fixed bottom-center, portaled to <body>. Never an error channel (failures stay inline at their source).

Confirmation

A completed action: the check strokes itself in, then it auto-dismisses (~3s). First used on the billing update-payment save.

Loading

An in-flight action: a spinner instead of the check, and no auto-dismiss (the owner closes it when the work resolves). Used by the multi-role switch.

Undoable

The one action a receipt may carry. It sits at the end, stays up ~7s instead of ~3s, and pauses on hover or focus so the window is reachable. Used where an undo can erase rather than amend: the scheduling approvals, not the person event log.

Refused

The act did not happen: a warning mark in place of the check, and the refusal's own action at the end, if it has one. Used by Scheduling when a drag lands on a taken slot or no car is free.