Tasks
- [x] Add
filterTextstate + Input to Board component header - [x] Filter
byColentries by title/name/token (case-insensitive substring match) - [x] Add
showArchivedtoggle (default: true) to show/hide the archived column - [x] Bypass filter when hash token is present in URL (so deep-linked items open)
- [x] Add "no matches" empty state when filter yields zero results
- [x] Test: filter by title narrows cards across all columns
- [x] Test: archived toggle hides/shows archived column
- [x] Test: hash deep-link still opens detail dialog when filter is active