{# Idle-session about-to-expire warning (AUTH-06 / D-06). Presentational only —
the server middleware enforces the actual logout. Shown to authenticated
users; the Alpine countdown (static/src/idle_timeout.js) reveals it 2 minutes
before the 30-minute idle limit and resets on any user interaction.
Seeds: 1800s idle limit (settings.SESSION_COOKIE_AGE), 120s warning lead. #}
{# PWA install affordance (PLAT-02; UI-SPEC component "PWA install affordance").
Non-blocking + dismissible: only shown once the browser fires
`beforeinstallprompt` (x-show="available"), driven by static/src/pwa_install.js.
Never appears when the app is already installed; dismissing hides it for the
session and never blocks the app. Light-mode only, >=44px touch targets. #}