Portal restyle · PR-F
One shared, email-client-safe shell in the rodeorecruiting language — all nine client emails inherit it. Mono-uppercase eyebrows (system monospace), ink CTA buttons, hairline dividers, the real mono lockup, §3 grayscale. No glass, no motion, no gradients (email can't render them). Fonts fall back to system stacks (Geist can't be relied on in mail); the one periwinkle accent appears exactly once across the set.
Logo: hosted /portal-brand/lockup-black.png — the exact asset the portal ships (hosted HTTPS beats data-URI/CID, which Gmail strips). Not invented: content fields mirror the live templates.
The shell
Every email is renderPortalEmail({ eyebrow, heading, sub, body, cta, footer }). Fixed frame, swappable middle. This is the skeleton all nine inherit.
mono lockup (hosted png)
SECTION LABEL
mono eyebrow · .1emBody copy sits here in the system sans stack at a comfortable 15px / 1.62. Grayscale g700. Hairlines separate regions — never boxes-in-boxes clutter.
Primary actionink button · no gradientSent to you as a client of Rodeo Marketing · Manage notifications
123 Example St, City, ST · Unsubscribe
Highest volume · daily
The workhorse email. Left = proposed (new language) · right = today (warm-paper / Georgia / gold "dossier"). Same data, restyled: greeting, order ref, appointment cards with the prospect note, outcome chips, portal CTA — all preserved.
DELIVERY REPORT · ORDER #RM-2048
Delivered Jul 4 · 8 of 10 fulfilled
Homeowner, insurance claim in progress after storm damage. Prefers afternoon callbacks — asked about financing.
Ready to replace within 30 days, three competing quotes. Decision-maker confirmed.
Daily report for Apex Roofing · Manage notifications
The call: retire warm-paper + Georgia + gold for the cool-gray brand language. Same information, unified voice.
4 variants → 1 template
Admin invite, resend, Stripe welcome, and team invite all collapse onto one branded body (today: four separate blue-button divs).
CLIENT PORTAL
You've been added to the Apex Roofing client portal on Rodeo Marketing. Set up your account to track appointments, listen to call recordings, and review your daily reports in one place.
Set up your accountThis link expires in 7 days. If you weren't expecting this, you can ignore it.
Invitation sent to you by your Rodeo Marketing account manager.
Transactional
Same shell, different eyebrow + one restrained semantic accent where it earns it (amber alert keyline on a failed payment — not the periwinkle accent).
SECURITY
We received a request to reset the password for your Rodeo Marketing portal account. Click below to choose a new one.
Reset passwordThis link expires in 60 minutes. If you didn't request a reset, no action is needed — your password stays the same.
Sent for account security.
BILLING
We couldn't process your latest payment for the Apex Roofing subscription. Update your payment method to keep deliveries running without interruption.
Card ending 4242 declined on Jul 4. We'll retry in 3 days.
Billing notice · Contact support
The one delight · the only accent in the set
A genuine positive milestone — it earns the single periwinkle accent chip (accent-budget item: the one "earned" state), same as the portal's Hired chip. Everything else stays grayscale.
REFERRAL
Your referral of Summit Exteriors just started their first campaign. We've added 2 free deliverables to your account as a thank-you.
View your accountReferral reward · Refer another client
Robustness
How the shell holds up when a client's mail app force-inverts (Apple Mail / Gmail dark), and at phone width (the 600px card goes fluid). Lockup swaps to lockup-white.png; the ink button inverts to white.
DELIVERY REPORT · ORDER #RM-2048
Insurance claim in progress; afternoon callbacks.
Daily report for Apex Roofing
CLIENT PORTAL
Set up your account to track appointments, recordings, and reports.
Set up your accountInvitation from your account manager.
/portal-brand/lockup-black.png (white variant in dark mode) — no data-URI / CID.