ServiceManager with JSON file persistence replaces static env var config.
CRUD API endpoints (POST/PUT/DELETE /api/services) with WebSocket broadcast.
Dashboard: add/edit/delete services via modal form.
Co-Authored-By: Claude <noreply@anthropic.com>
- Add 5-second polling interval to refresh all dashboard data
- IdleTimer now counts down every second client-side
- Timer turns orange when < 60 seconds remain
- ServiceList shows target URL, health status, and last check time
- Unhealthy services now show red dot instead of gray
Co-Authored-By: Claude <noreply@anthropic.com>