Adds a search box (matches name, location, and labels) and a Location/Label
grouping toggle to Inventory, and fixes the unstyled Suggestions page.
(Renumbered from 0.19.0 → 0.22.0: Pantry work took 0.19–0.21 in parallel.)
Hardening from a max-effort code review of the new grid:
- Contained items resolve to their container's effective location, so search
finds them and the flat view groups them under the right place (not "No
location").
- Location/label groups key on id, not name, so same-named places/labels stay
separate; synthetic bucket renamed "No labels" to avoid colliding with a real
label; fixed duplicate React keys and two empty-state regressions.
- deleteItem now reparents a deleted container's contents into its own spot
(its place or parent item) instead of orphaning them; the grid also treats
any still-orphaned child as top-level so nothing silently vanishes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>