Appointment card — operator view (5 states)
9:00 am · Tomorrow · Sales Set
JMJenna M.
10:30 am · Jun 14 · Service Confirmed
TBTaylor B.
1:00 pm · Today · Delivery Unresolved
11:15 am · Today · Sales Completed
JMJenna M.
2:30 pm · Today · Other Declined
TBTaylor B.
Meta row: time (semiBold) · date · type — dot-separated, all gray-03 metadata. Date rule — Today/Tomorrow/Yesterday show the word; else the date only ('Jun 14'). Status = colored text, no dot, right-aligned before the menu. Name = white + ext-link. Uniform 1px gray-06 outline (appointments aren't draggable — no lift/drag shadow). UNRESOLVED gets an orange-02 needs-attention surface (gray-06 hairline kept for now). Confirm = quiet gray .sb-msel; past+Unresolved keeps Complete/Missed/Declined; Declined/Missed mirror the done-task treatment — time·date struck + faded, status keeps its color, customer/avatar/menu stay active (no whole-card dim). NEW (Showroom Phase S1, prescriptive — no code counterpart yet): In Showroom status = yellow-01 colored text (.ap-status--inshowroom), mirroring the Showroom customer status color; 'Unconfirmed' is a display alias of Set in showroom contexts.
Manager day view — .sb-appt--row (6)
9:00 amJordan AverySetJM
10:30 amPriya NairConfirmedTB
11:15 amDana ColeCompletedJM
1:00 pmMarcus LeeUnresolvedTB
2:30 pmEvan RossDeclinedJM
4:00 pmRenee ParkSetTB
Single line (~44px): time (semiBold) · customer · STATUS as colored text · 16px assignee avatar (atomic: round-robin ring + status dot). No type chips, no status dots. Unresolved rows get the orange-02 needs-attention surface (hairline kept); Completed/Declined deliberately stay quiet — no green-02 or other tints. Hover/click expands to the operator card.