## Summary
- Closes#7
- Portal Retail **Sales** page: 30-day orders/revenue/units/AOV, daily charts, top products
- Home dashboard cards for 30-day shop sales and revenue when `FEATURE_SHOP` is on
- Stacks on #6 (shop catalog). Merge that first, then retarget `master` if needed.
## Test plan
- [ ] Sales page requires login; empty state with no paid orders
- [ ] Paid/fulfilled in the last 30 days counted; draft/open/cancelled/old excluded
- [ ] Top products ranked by units; home dashboard shows 30-day sales count
- [ ] `manage.py test shop core.tests_features`
Reviewed-on: #8
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
shop,pos_sync,events, andshippingapps gated byFEATURE_*flagsTest plan
manage.py test(152 passed locally)validate-env.shrejects shop without email/payments, POS/shipping without shop