vite-plugin-pwa with manifest scoped to /cashup/, purple £ icons matching
portal style, auto install prompt when opened with ?install=1 from the
portal dashboard, nginx no-cache rules for sw.js and manifest.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>