UI primitives

Harbor on one component set

These are the shared shadcn controls under components/ui. This page only applies the contract skin — we never fork Buttons per system.

Aesthetic brief: Quiet paper ops surfaces, semantic status chips, dense index rows — no cinema. Status preview. Compose with npx shadcn@latest add … then keep agents inside this contract's tokens via MCP.

Buttons & badges
Primary, outline, ghost, destructive — brand comes from this contract's --brand.
DefaultSecondaryOutline