Presets Boxwood Ballast

Boxwood Ballast

Institutional, high-readability UI for marketing agencies: one deep green action color on true-neutral surfaces, with Newsreader for headings.

Free Use in Figma, free Download

Colour

Five ramps, 50 to 950

brand50f1f8f4100dcefe4200b9dfc93008ccaa64005fb0855003f92686002d775270022603f8001a4b319001237219500a2215
neutral50fafafa100f5f5f5200e5e5e5300d4d4d4400a3a3a35007373736005252527004040408002626269001717179500a0a0a
success50effaf8100d5f2ec200ace4d930077cfc040045b3a35002a96876001f7a6f7001b635b800174f49900123b379500a2624
warning50fff8e6100feefc4200fbe08f300f2c94c400d9ac2c500b98a12600946d0c70074550a80056400a9003b2c08950241b04
danger50fff1f4100ffe0e7200fec2cf300fd94aa400f0607f500d93f67600bd2c557009e21468007c1a379005a12299503a0a1a

Semantic tokens

Light and dark

LightPrimarySecondary
background#fafafa
foreground#0a0a0a
card#ffffff
card-foreground#0a0a0a
popover#ffffff
popover-foreground#0a0a0a
primary#2d7752
primary-foreground#ffffff
secondary#f5f5f5
secondary-foreground#171717
muted#f5f5f5
muted-foreground#525252
accent#dcefe4
accent-foreground#123721
destructive#bd2c55
destructive-foreground#ffffff
success#1b635b
success-foreground#ffffff
warning#fbe08f
warning-foreground#3b2c08
border#e5e5e5
input#d4d4d4
ring#3f9268
DarkPrimarySecondary
background#0a0a0a
foreground#f5f5f5
card#171717
card-foreground#f5f5f5
popover#171717
popover-foreground#f5f5f5
primary#5fb085
primary-foreground#0a2215
secondary#262626
secondary-foreground#f5f5f5
muted#262626
muted-foreground#a3a3a3
accent#123721
accent-foreground#dcefe4
destructive#f0607f
destructive-foreground#3a0a1a
success#45b3a3
success-foreground#0a2624
warning#d9ac2c
warning-foreground#241b04
border#262626
input#404040
ring#5fb085

Typography

Newsreader, Public Sans and IBM Plex Mono

Grow what matters

display-lg · 49/1.08 · 600 · -0.022em
Newsreader

Grow what matters

display-md · 39/1.12 · 600 · -0.018em
Newsreader

A calmer way to work

heading-lg · 25/1.24 · 500 · -0.012em
Newsreader

A calmer way to work

heading-md · 20/1.3 · 600 · -0.008em
Public Sans

A calmer way to work

heading-sm · 16/1.4 · 600 · -0.002em
Public Sans

Good systems disappear. People notice the product, not the parts.

body-lg · 18/1.65 · 400
Public Sans

Good systems disappear. People notice the product, not the parts.

body-md · 16/1.6 · 400
Public Sans

Good systems disappear. People notice the product, not the parts.

body-sm · 14/1.55 · 400
Public Sans

Save changes

label · 14/1.25 · 500 · 0.005em
Public Sans

Updated 2 minutes ago

caption · 12/1.4 · 500 · 0.012em
Public Sans

const theme = preset("boxwood-ballast")

code · 14/1.5 · 400
IBM Plex Mono

Spacing · radius · shadow

The quiet rules

0.52px
14px
1.56px
28px
312px
416px
520px
624px
832px
1040px
1248px
1664px
2080px
2496px
sm
4px
md
8px
lg
12px
xl
16px
full
full
sm
md
lg

Components

Every part, every state

Buttons

DefaultHoverFocusDisabledPrimaryPrimaryPrimaryPrimaryPrimarySecondarySecondarySecondarySecondarySecondaryOutlineOutlineOutlineOutlineOutlineGhostGhostGhostGhostGhostDestructiveDeleteDeleteDeleteDelete
SmallMediumLargeNew invoiceSavingLearn more

Inputs

Md Rakib ShekhPlaceholder
nusrat@studio.coFocused
••••••Use at least 8 characters
Design
EngineeringDesign Marketing
Search customersisrat-jahan.studioDisabled
Hi Israt, the new onboarding is ready for review.
Email updatesSMS alerts–Some selectedDisabled
MonthlyYearlyLifetime
Dark modeAuto-saveLocked

Navigation

ProductPricingCustomersDocsSign inGet started
OverviewActivityMembersBilling
DayWeekMonthHome / Projects / Q3 launch
123…12

Feedback

New version availableReload to get the latest features.
Payment received$2,400 from Md Rakib Shekh.
Card expires soonUpdate it before Friday.
Sync failedWe will try again in 30 seconds.
NJ
Nusrat JahanCommented on Q3 launch
View
Invoice sent to Israt Jahan
Undo
PrimarySecondaryOutlineActivePendingFailedNew
Copied to clipboard72%
MRNJIJMRNJIJ+5

Cards, table and overlays

Monthly revenue12.4%

$48,210

74% of the $65k goal
The marketing agency report

What changed this quarter, and what to do next.

MRMd Rakib Shekh4 min read
IJ
Israt Jahan

Product designer

MessageFollow
CustomerDateStatusAmount
MRMd Rakib ShekhMar 12Paid$2,400.00
NJNusrat JahanMar 11Pending$860.00
IJIsrat JahanMar 09Failed$1,120.00
Showing 1–3 of 36
123…12
Delete project?

“Q3 launch” and its 24 files will be removed for everyone. You can’t undo this.

CancelDelete
No messages yet

When customers write to you, their messages show up here.

Invite your team

Screens

Boxwood Ballast as a real product

Landing page

boxwood-ballast.com
ProductPricingCustomersDocsSign inGet started
New · marketing agency

Boxwood Ballast

Institutional, high-readability UI for marketing agencies: one deep green action color on true-neutral surfaces, with Newsreader for headings.

Get startedBook a demo
MRNJIJLoved by 2,000+ teams
This week

+24.6%

Dashboard

OverviewReportsInbox12CustomersProjectsSettings

Good morning, Rakib

Overview

New report
Revenue

$48,210

+12.4%
Customers

2,318

+4.1%
Churn

1.8%

-0.3%
RevenueWeekMonthYear
CustomerDateStatusAmount
MRMd Rakib ShekhMar 12Paid$2,400.00
NJNusrat JahanMar 11Pending$860.00
IJIsrat JahanMar 09Failed$1,120.00

Phone app

9:41●●● 100%

Welcome back

Md Rakib Shekh
MR
Balance

$12,480

SendRequest
Search
MR
Md Rakib ShekhPaid
$2,400
NJ
Nusrat JahanPending
$860
IJ
Israt JahanFailed
$1,120
HomeStatsInboxProfile
9:41●●● 100%

Q3 launch

TasksFilesChat
Write onboarding copyMd Rakib Shekh · Today
Review new pricingNusrat Jahan · Tomorrow
Ship release notesIsrat Jahan · Friday
1 of 3 doneOn track for Friday.
HomeStatsInboxProfile

Pricing

Starter

$0 /month

For trying things out

Start free
  • 1 project
  • Basic reports
  • Email support
ProPopular

$24 /month

For growing teams

Choose Pro
  • Unlimited projects
  • Team workspaces
  • Priority support
  • Advanced reports
Business

$79 /month

For larger organisations

Choose Business
  • Everything in Pro
  • SSO and audit log
  • A dedicated manager

Sign in

Welcome back

Sign in to continue to your workspace.

Continue with Googleor
israt@studio.co
••••••••••
Remember meForgot password?
Sign in

“We set up our whole workspace in an afternoon.”

NJNusrat Jahan
Head of operations

Settings

OverviewReportsInbox12CustomersProjectsSettings

Settings

ProfileNotificationsBilling
MRMd Rakib Shekhrakib@studio.coChange photo
Email notificationsA summary every Monday.
Two-factor sign-inProtect your account with a code.
LanguageUsed across the app.English
Delete accountThis removes all your data.Delete
CancelSave changes

Use Boxwood Ballast

In Figma

Open UIX, go to Presets and search “Boxwood Ballast”. Press Use this preset, then Sync to Figma.

Install UIX

In code

Install the theme with shadcn/ui, or download the files.

DESIGN.mdtheme.csstokens.dtcg.jsonfigma-variables.jsonshadcn-theme.jsonpreset.json

Send to your AI agent

Connect the UIX MCP once, then ask Claude Code, Cursor or any MCP client: “Use the Boxwood Ballast preset”.

Get your MCP link

About Boxwood Ballast

Overview

Boxwood Ballast is for agency leadership, account managers and client-facing teams. They need tools that look as dependable as the work they sell. The system relies on restraint. One deep green (brand.600 in light mode, brand.400 in dark) marks every interactive element. Zero-chroma neutral surfaces leave client work unaltered. Comfortable spacing on a 4px grid keeps long briefs and reports readable.

Color

Keel (the brand ramp, hue around 150) is the only action color. It is used for primary buttons, selected states and the focus ring (ring = brand.500 light / brand.400 dark, ≥3.6:1 against background). The neutral ramp has zero chroma by design, so client brand colors shown inside the product are never shifted by the chrome around them. This is the one deliberate exception to tinting. The status ramps share the brand's cool temperature and its chroma curve, which is low at 50–100, peaks at 400–600 and recedes at 900–950. Success sits in teal (hue around 175), so a success badge never reads as a Keel button. Warning is a muted amber. Destructive is a cool crimson with a magenta cast, far from Keel in hue in both modes. Light-mode pairs: primary/white 5.4:1, destructive/white 5.6:1, success/white 7.0:1, muted-foreground/muted 7.2:1. Dark-mode pairs: primary/brand.950 6.4:1, destructive/danger.950 5.4:1, success/success.950 6.3:1, muted-foreground/muted 6.0:1.

Typography

The type scale uses a major third (1.25) on a 16px base, rounded to whole pixels: heading-sm 16, heading-md 20, heading-lg 25, display-md 39, display-lg 49. display-md sits two steps (1.25²) above heading-lg so page titles separate clearly from section titles. Newsreader (500/600) is used only for heading-lg and above, where letterSpacing tightens from -0.012em to -0.022em as size grows. Public Sans (400/500/600) handles navigation, tables, forms and buttons. Its body styles use line heights of 1.55–1.65. IBM Plex Mono (400/500) is reserved for campaign IDs, UTM parameters and code snippets.

Layout

Comfortable density on a 4px base grid with half-steps at 2px and 6px for icon gaps. Content columns cap at 1200px, and long-form reading blocks cap at about 72ch of body-md. Table rows are at least 44px tall so budget and performance figures can be scanned without strain.

Elevation

Mostly flat and structural. Cards separate from the page with a 1px border token and shadow.sm. shadow.md is reserved for popovers and menus, and shadow.lg for dialogs. In dark mode, depth comes from surface steps instead: background is neutral.950 and card/popover are neutral.900, one step lighter.

Shapes

Rounding is measured. Buttons and inputs use radius.md (8px) and cards use radius.lg (12px). radius.full is reserved for status badges, so a pill shape always means status, never action.

Do

  • Use one primary button (primary / primary-foreground, 40px, radius.md) per view. Render other actions as secondary or ghost buttons at the same 40px height.
  • Set budget and metric figures in body-sm or body-md with font-feature-settings: 'tnum', and right-align them in table columns.
  • Use Newsreader only for heading-lg (25px) and above. Use the Public Sans styles for heading-md, heading-sm, body, label and caption.
  • Pair every success, warning and destructive badge or alert with an icon or text label, so meaning never relies on color alone.
  • Keep table rows at least 44px tall. On tables longer than 10 rows, stripe alternate rows with the muted token and keep row text at foreground, not muted-foreground.
  • Show keyboard focus as a 2px ring token outline with a 2px offset on buttons, inputs and selectable rows, in both modes.

Don’t

  • Don't use primary for errors, negative variances or destructive confirmations. Use destructive, and confirm in a dialog with shadow.lg.
  • Don't use success where primary is meant. The teal success ramp is for completed or positive states, never for calls to action.
  • Don't set body text longer than two lines on the accent surface. Accent is for highlighted and selected rows only.
  • Don't use shadow.md or shadow.lg on cards. Card separation comes from the 1px border token and shadow.sm.
  • Don't tint the neutral ramp or build custom grays. Use neutral.50–950 so client colors displayed in the product stay unaltered.
  • Don't set Newsreader below 24px, in all caps, or at weights other than 500 and 600.
Access
Free
Industries
marketing agency, professional services, agency operations
Mood
institutional, stable, precise, calm
Display font
Newsreader
Body font
Public Sans
Mono font
IBM Plex Mono
Density
Comfortable
Contrast
High
Corner radius
8px

Similar presets

All 251 presets →