fix(gymtracker): admin API auth and KV shape for production
- Treat Cloudflare Access as authenticated when either Cf-Access-Jwt-Assertion
or Cf-Access-Authenticated-User-Email is present (email OTP flows).
- Normalize KV ads payload as array or { ads: [...] }; safer legacy migration.
- Parse /api/admin/ads response as text and surface non-JSON responses.
- Document prod KV vs preview and API troubleshooting in ACCESS_SETUP.md.
- Prefer /api/* first in run_worker_first ordering (same coverage as before).