- Replace the raw JSON textarea in Settings → Ansible with a proper
per-source card UI: add, inline-edit, remove, and git-sync each
source independently via HTMX without a page reload
- Each source card shows type badge (git/local), URL or path, branch,
and pull interval; git sources get a Sync button that triggers
git pull and returns inline status
- Add source form uses a type-aware select that shows URL/branch/interval
fields for git or path field for local, collapsed in a details accordion
- Add new settings routes: sources/add, sources/<idx>/remove,
sources/<idx>/save, sources/<idx>/sync
- Update browse.html and run_detail.html to use CSS vars throughout
(removed hardcoded hex colors); link empty state to Settings page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>