- Add site_service with CRUD, health rollup, device assignment functions - Add sites router with 8 endpoints (CRUD + assign/unassign/bulk-assign) - RBAC: viewer for reads, operator for writes, tenant_admin for delete - Wire sites_router into main.py with /api prefix - Health rollup computes device_count, online_count, online_percent per site Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>