Calm, premium, unopinionated where it matters.
Every component is built on a small set of tokens defined in src/styles.css. Change a token, and the entire product moves with it — in both light and dark.
Tokens
The whole system, in eight surfaces and one accent.
Typography
Two families, six sizes, honest hierarchy.
Marketing, in plain English.
Weekly performance is stable.
Three things worth your attention
Revenue held steady week over week. Meta ads are pulling their weight — reactivating the Spring Sale creative could add about $1,200 next week with high confidence.
Based on 8 weeks of data. Last synced 2 minutes ago.
$18,420.00 · +4.2% WoW
Cards
Hairline border + soft elevation. Never a shadow alone.
It drove your best week in the last two months. Turning it back on could add about $1,200 in revenue over the next 7 days.
Inputs
Predictable focus ring, aligned to the accent.
Sundays at 8am, your local time.
You can revoke access anytime.
Selects & Menus
Same surface as popovers, same rhythm as buttons.
Charts
Sparklines earn their place. Anything else must justify a pixel.
Tables
Left-align text, right-align numbers, always tabular figures.
| Campaign | Spend | Revenue | Return | Status |
|---|---|---|---|---|
| Spring Sale — Meta | $1,240 | $3,844 | 3.1× | Active |
| Brand — Google | $820 | $1,476 | 1.8× | Active |
| Retargeting — Meta | $410 | $902 | 2.2× | Paused |
| Newsletter — Mailchimp | $0 | $610 | — | Sent |
Dialogs & Tooltips
Interruptive UI reserved for confirmations and destructive intents.
Notifications
Toasts + inline alerts. No banners users have to dismiss.
All providers synced
Meta Ads token expired
Empty states
Explain what's missing. Offer the one action that unlocks value.
No reports yet
Connect at least one marketing account and we'll write your first weekly report by Sunday.
Loading states
Skeletons match final layout. Spinners only when we truly can't.