epic: worker-portal design-conformance pass (shipped UI vs design/canopy-web renders)
## Why
The design team delivered the full canopy-web package — `design/canopy-web/HANDOFF.md` + `.jsx` prototypes + **52 committed reference renders** under `design/canopy-web/renders/` (MR !409, the canonical contract). The shipped worker portal's *foundation* conforms well (23-token Orchard palette with light/dark parity, `PanelFrame` on all 21 panels, global focus-visible ring), but several surfaces **under-use** that foundation — leaving the portal functional yet visibly flatter than the mockups, on the exact surfaces the demo records.
This epic tracks burning that gap down to render-fidelity. It **decomposes #635** (the catch-all conformance audit) into per-theme issues and adopts the adjacent "shipped-portal-vs-design" singletons that were filed separately.
## Canonical reference
- Renders: `design/canopy-web/renders/` (`{surface}[-variant][-theme].png` + README index)
- Spec: `design/canopy-web/HANDOFF.md` §2.5 / §2.7 / §3.1 / §3.5 / §3.7 / §3.8
- Shipped: `services/canopy-web/templates/` + `static/css/canopy-web.css` + `src/theme.rs`
## Children
**Decomposed from #635 (per-theme):**
- HeroStrip + list chips (StatusPill / ProgramTag) — HIGH, demo-critical
- Token hygiene (`--orchard-accent-3`→primary, `.u-input` base rule, divergent-hardcoded fallbacks, radii bypass) — HIGH
- a11y: `prefers-reduced-motion` + ⌘K palette semantics — MEDIUM (wcag-21-aa)
- Loading / error first-class states (skeleton on 21 panels, named service-failure) — MEDIUM
- accent-gold-as-semantic violations → warning-amber — MEDIUM
**Adopted adjacent singletons:** #560 (responsive <900px), #557 (DB ids→labels), #562 (stub-section real data), #530 / #531 (worker-portal bugs), #556 / #555 / #554 / #547 / #526 (customize polish).
## Done when
Each demo-recorded surface matches its committed render in `design/canopy-web/renders/` across both color schemes, and the §3.8 a11y commitments (reduced-motion, ⌘K dialog semantics) are met.
epic