The orders page had a toolbar with campaign filters, date pickers, unmeasured toggles, and an advanced filter dialog. Power user controls for a user who checks the app between mowing a lawn and driving to the next one. Too much interface for the moment.

The toolbar stripped down to just the floating action button. Filter chips replaced the toolbar: New, Has Email, Has Phone. Toggle them on and the server-side filter applies instantly. Toggle them off and they're gone. No dropdown menus, no date range pickers, no "Advanced" button that opens a dialog with twelve fields.

Stat cards reordered to match the business flow: New → Leads → Quoted → Sold → Total → Revenue. A "New" stat card showing hot leads — orders less than 24 hours old — because the freshest leads are the ones most likely to convert and the ones most likely to be forgotten.

Pagination became infinite scroll via IntersectionObserver. Twelve orders at a time, more on scroll. The phone-between-jobs workflow is scroll-based, not page-based. You're scanning for the next action, not reading page three of a report. Default sort by created date descending — newest first, hottest first, most urgent first.

The backend gained a phone_exist filter with proper model scopes. The changes cleaned out unused code: the AdvancedFilterDialog integration, column definitions for a DataTable that no longer exists, duplicate stat card CSS.

Less interface, more action. The orders page stopped being a database viewer and started being a work queue.