Every list designs four states besides the normal one: loading, empty (no records yet), no results (filters exclude everything) and error. They sit inside the table card, so the page keeps its shape.
Empty: no records yet
No jobs yet
Jobs you create, or estimates people accept, show up here.
No results
Says what's excluding everything, in the screen's words, and offers to undo it.
No jobs match
Nothing matches Status: Declined, search “skim”. Remove a filter or try a different search.
Error
Loading
Skeleton rows in the columns' own widths, so nothing moves when the data arrives. They shimmer unless reduced motion is on.