risk-derived node colors, and particle animation; integrated into work, event,
group, and student detail pages
- Extract domain API services (students, events, groups, reference-sets, users,
analysis-runs, audit) from WorksApiService
- Add RiskLevelPipe for translating risk level values to Russian
- Replace raw IDs with entity names across all detail page overview sections
- Dashboard: remove Works tab, reorder tabs (Students, Events, Groups, Ref-sets),
hide list cards when empty or on error
- Hide secondary blocks (runs, matches, graph, analytics) on error instead of
showing error text; keep top-level entity load errors visible
- Refset detail: split Ingestions tab into separate list and upload cards;
hide list card when empty or on error
- Convert analysis runs list to table; fix kv-grid vertical alignment
- Style native select[tuiSelect] to match other form fields
- Add favicon (yellow star) from sparkguardian