Estimate sends instant with live status updates

Sending an estimate no longer reloads the page. Status changes appear live as events arrive from Resend.

What's New

Sending an estimate, submitting for review, or approving now updates instantly without a page reload. The send card reflects each status change — Sent, Delivered, Viewed, Decided — as events arrive from Resend, with no flicker or delay.

The email preview button now shows a loading spinner while the preview renders, so you know it's fetching.

Bug Fixes

Organization logos now render correctly in delivered estimate emails (were previously broken images due to incorrect URL resolution).