Subject: TASK-005 — UX sweep and cross-retailer price comparison

Hi team,

We're shipping a major app UX pass: shared image placeholders, skeleton loaders, debounced search, in-card quantity steppers, and a compare-prices table on product pages (PnP vs Checkers vs Woolworths with cheapest highlighted). Ops catalogue API gains optional fields on `prices[]` (promo, size, unit price, stock hints).

Deploy note: deploy **baskit_ops** catalogue changes before the app build that reads the new fields (app remains backward compatible).

Docs: `docs/tasks/TASK-005.md`, `docs/CHANGELOG.md`.

Thanks,
Tanya
