Tasks tab — with cards
Follow up on financing
1d overdue
JMJenna M.
Send lease quote
Due 3:30 pm
TBTaylor B.
ExtendedColumn: a CustomTabBarView<CustomerAgendaTab> sub-tab bar (l16/t8/r16/b8) over a TabbedPageView. Tasks tab = scrollable list of Task cards — embeds the current task-card spec (radio + semiBold title · plain-text due states · customer subtitle + ext-link · assignee + single action; overdue red-02 / due-soon orange-02 surfaces) + "Add Task".
Empty — InfoView
No tasks yet
Empty tab → InfoView "No tasks yet"; the Add affordance stays.
Appointments tab — with cards
2:30 pm · Yesterday · Sales Unresolved
10:00 am · Aug 22 · Delivery Set
JMJenna M.
Appointments tab = AgendaAppointmentsListView — embeds the current operator appointment-card spec (time · date · type meta with dot separators · status as colored text · customer + ext-link · assignee footer · time-rule actions; Unresolved = orange-02 surface) + "Add Appointment".
Loading — skeleton rows
LoadingListStateConsumer → skeleton rows mirroring the current card anatomy (meta · name · footer).