## 1. Route resilience - [x] 1.1 Добавить native route-keyed ErrorBoundary вокруг `AppRoutes` с fallback без технических деталей и безопасной навигацией для authenticated и unauthenticated user. - [x] 1.2 Добавить colocated tests для public/protected route errors и восстановления после navigation на исправный route. ## 2. Finance UI patterns - [x] 2.1 Разделить Brokerage Account list на container, view-model и Loading/Error/Empty/Loaded views; сохранить query policy и recovery actions, добавить colocated tests. - [x] 2.2 Разделить Portfolio page на container, view-model и Loading/Error/Empty/Loaded views; сохранить opaque `accountId`, local API errors, stale Portfolio Snapshot и portfolio presentation, добавить colocated tests. - [x] 2.3 Разделить T-Bank connection status на container, view-model и state views; оставить form, modal и mutation behavior в Loaded view, добавить colocated tests известных errors и recovery actions. ## 3. Cleanup, documentation и verification - [x] 3.1 Удалить `NotFoundPageEmpty` и оставить существующее 404 presentation в static page без artificial state components. - [x] 3.2 Обновить frontend `AGENTS.md`, `docs/UI-PATTERN.md` и `docs/TESTING.md`; добавить в `docs/features/` фактическое описание route fallback и recovery behavior. - [x] 3.3 Выполнить `npm run verify` и убедиться, что UI refactor не меняет auth redirects, logout/refresh и известные finance states.