# QSP-39315 — Overview Search Across All Visible Columns

Broaden the Overview page search field to match all three tree levels (capability, team, component) instead of capability only. When a child row matches, its ancestor rows are preserved and non-matching siblings are pruned. The grade badges and grade history chart update to reflect the filtered data.

**Commit:** `feat: broaden overview search to match all tree levels QSP-39315`

---

## What Changed

- Overview search now matches at all three tree levels (capability, team, component) instead of capability only
- Non-matching siblings are pruned when a child matches; the parent chain is always kept visible
- Matching subtrees are auto-expanded so results appear immediately without manual expansion
- Grade badges and grade history chart now reflect filtered data — previously only the table was affected
- Search field label changed from "Search for capability" to the generic "Search"
- URL param renamed from `?capability=` to `?search=`

---

## Acceptance Criteria

- AC-1: Typing a capability name shows that capability and all its children
- AC-2: Typing a team name shows the matching team + parent capability; non-matching sibling teams are hidden
- AC-3: Typing a component name shows the matching component + parent team + parent capability; non-matching siblings are hidden
- AC-4: Search matching is case-insensitive substring
- AC-5: The search field uses the generic label `'Search'` (no longer capability-specific)
- AC-6: Clearing the search field restores the full unfiltered table
- AC-7: Grade badges update to reflect only filtered data
- AC-8: Grade history chart updates to reflect only filtered data
- AC-9: The tree auto-expands to reveal matching rows when a search is active
- AC-10: URL search param is renamed from `?capability=` to `?search=`
