The campaign assignment dialog was fully built. The backend API was complete. The component existed, rendered correctly, handled save and cancel. And in both places where you'd need it — the order detail page and the order detail modal — it wasn't wired up. A disabled: true comment in the action menu was the clue: this had been intentionally deferred during the MVP sprint. Ship the feature later. Later arrived.
Three wiring changes: import the dialog in both detail views, enable the Campaign menu item in the order action menu, trigger the dialog on click. The work of connecting what already exists to where it's needed.
The other fix was spatial. The floating action buttons for email and SMS were positioned at bottom: 2rem. The Bermuda AI chat button also lives at the bottom of the screen. Two things, same spot, one covering the other. The FABs moved to bottom: 6rem. Four rem of breathing room between a send button and a chat button — the kind of pixel-level collision that only surfaces when you're actually using the app on a phone.