Dashboard widget: the viewer's next calendar events, soonest first.
Rendered by phoenix_kit_dashboards (duck-typed contract — see
PhoenixKitCalendar.phoenix_kit_widgets/0). The query is scoped to the
widget VIEWER's own calendar via the scope assign the host passes —
a shared dashboard never leaks anyone else's events, because each
viewer sees their own.
Renders defensively: no scope, no DB, or an unauthorized viewer all degrade to a friendly empty state — a widget must never crash the host dashboard.