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· SalesUnresolved
10:00 am· Aug 22· DeliverySet
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).