Choose badge classes in Rust instead of interpolating status columns
audit Run 15 Phase 5: CSP script-src drops 'unsafe-inline'
ux: extract all executable inline JS from templates into static files