Button for all actions; labels are plain sentence-case verbs — the wit lives elsewhere.

```jsx
<Button onClick={approve}>Approve</Button>
<Button variant="secondary" icon="sparkles">Brew plan</Button>
<Button variant="ghost" size="sm">Defer</Button>
<Button variant="danger">Delete milestone</Button>
```

Variants: `primary` (spruce fill — one per view), `secondary` (hairline outline), `ghost` (bare), `danger` (madder red, destructive confirms only). Sizes `md` 34px / `sm` 28px. `icon`/`iconRight` take Lucide names.
