# Loyalty UI Checklist For each engage route: - [x] Loading state (portal loading + query loaders) - [x] Empty state - [x] Error / 403 permission empty - [x] Header + breadcrumbs - [x] Search/sort/pagination on table pages - [x] Create dialog / edit drawer / confirm delete where CRUD exists - [x] Export CSV where configured - [x] Dark mode via shell toggle - [x] Responsive sidebar - [x] Real backend wiring (or ScopeNotice)