M0 · Experience FoundationLive

The shared shell every ContractorOS app inherits.

Tokens, App Shell, and reusable primitives — driven by the Contractor Systems brand (navy + burnt-orange accent). No module-specific imports, no hardcoded colors. Everything below is composed from the exports in @/components/experience.

Controls

Buttons, badges, pills, segmented controls

Every variant is a semantic token. Orange is reserved for primary intent.

Default
Secondary
Outline
DraftActivePaidAt riskOverdueAccent
Data

Table, list, and card primitives

One table shell. Money and counts render with tabular figures.

ProjectOwnerStatusUpdatedValue
Reston Ave — reroofPriya ShahActive2h ago$18,240.00
Fairview HOA — Q3 renewalMarcus LeeDraftyesterday$42,000.00
Hilltop Estates — repairAna OrtizOverdue3d ago$3,120.00
West End tear-offJordan KimPaidJun 28$27,890.00
State

Loading, empty, and error primitives

Owned by the Shell. Modules provide copy + actions only.

Inbox zero

Nothing needs your attention right now.

Overlays

Dialog, Drawer, Popover, Dropdown, Tooltip, Toast

Inputs

Form primitives