Slate Pro
A neutral slate workhorse theme: balanced greys, restrained accent, built for dense SaaS interfaces that should disappear.
Build something people love.
A live preview of this theme — every color, font, radius, and shadow you see is rendered straight from its tokens.
Color system
Click any swatch to copy. Contrast graded against WCAG.
Typography
Body sample. Inter carries running text — readable paragraphs, comfortable measure, and a rhythm that holds up across long pages of content and UI.
Radius, shadow & fonts
Components
Real UI rendered with this theme's tokens.
A surface for grouping content, with the theme's border, radius, and shadow.
Principles, guidelines & component specs
Do's & don'ts, spacing, motion, iconography, accessibility, and exact component specs — all in the design.md too.
Do
- •Lead with neutrals; reserve the slate primary for primary actions.
- •Use spacing and weight, not colour, for hierarchy.
Don't
- •Don't decorate; every element should earn its place.
- •Don't introduce a saturated brand colour.
- •Keep motion minimal and functional; this theme favours stillness.
Hover to feel this theme's base transition.
Lucide · 1.75px stroke · 1rem. Outline icons with a consistent stroke width; size icons to match adjacent text and align them optically.
- Never use color as the only signal — pair it with text, an icon, or a shape.
- Every interactive element must be keyboard reachable and show a visible focus ring.
- Honor prefers-reduced-motion: reduce by disabling non-essential animation.
- Keep a logical heading order and give every form control a label.
Button
| Background | var(--primary) |
| Text | var(--primary-foreground) |
| Radius | 0.5rem |
| Padding | 0 0.9rem |
| Height | 2.4rem |
| Weight | 600 |
Badge
| Background | var(--accent) / var(--primary) |
| Text | var(--accent-foreground) / var(--primary-foreground) |
| Radius | 0.375rem |
| Padding | 0.15rem 0.55rem |
| Font size | 0.75rem |
| Weight | 600 |
Use for status, counts, and short labels. Keep to one or two words.
Alert
| Radius | 0.75rem |
| Padding | 1rem 1.25rem |
| Border | 1px solid var(--border) |
Always pair the color with an icon and a text label — never rely on color alone.
Form field
| Background | var(--background) |
| Border | 1px solid var(--input) |
| Radius | 0.5rem |
| Height | 2.4rem |
| Padding | 0.5rem 0.75rem |
Label sits above the field; helper or error text sits below.
Card
| Background | var(--card) |
| Text | var(--card-foreground) |
| Border | 1px solid var(--border) |
| Radius | 0.625rem |
| Padding | 1.25rem |
| Shadow | 0 6px 18px -6px rgba(15,23,42,0.10) |
The design brief
Slate Pro is a neutral, professional design system for SaaS products where the UI should recede and the content lead. It is built on a balanced slate ramp with a muted accent for the rare moment you need emphasis.
Principles
- Neutral first — colour is the exception, not the rule.
- A tight grey ramp gives clear hierarchy without borders everywhere.
- Compact controls suit dense tables, forms, and settings.
When to use
Use Slate Pro for admin consoles, internal tools, and data-heavy SaaS where restraint reads as competence. Avoid it for marketing pages that need to pop.
Signature details
- Slate
#475569primary; everything else is greyscale. - Inter + JetBrains Mono, 0.5rem radius for a tidy, engineered feel.
Use this with your AI
Download or copy the design.md and paste it into Claude, Cursor, or v0 — it tells the agent exactly which colors, fonts, radii, and shadows to use, so your site comes out looking like this.
Export tokens
Drop straight into your codebase.
:root {
--radius: 0.5rem;
--background: #ffffff;
--foreground: #1e293b;
--card: #ffffff;
--card-foreground: #1e293b;
--popover: #ffffff;
--popover-foreground: #1e293b;
--primary: #475569;
--primary-foreground: #ffffff;
--secondary: #f1f5f9;
--secondary-foreground: #1e293b;
--muted: #f1f5f9;
--muted-foreground: #64748b;
--accent: #e2e8f0;
--accent-foreground: #1e293b;
--destructive: #dc2626;
--destructive-foreground: #ffffff;
--border: #e2e8f0;
--input: #e2e8f0;
--ring: #475569;
--shadow-sm: 0 1px 2px rgba(15,23,42,0.05);
--shadow-md: 0 6px 18px -6px rgba(15,23,42,0.10);
--shadow-lg: 0 20px 44px -14px rgba(15,23,42,0.16);
--font-sans: 'Inter', ui-sans-serif, system-ui, sans-serif;
--font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;
--ease-standard: cubic-bezier(0.4,0,0.2,1);
--ease-emphasized: cubic-bezier(0.16,1,0.3,1);
--duration-base: 220ms;
}
.dark {
--background: #0b0f15;
--foreground: #e2e8f0;
--card: #131a24;
--card-foreground: #e2e8f0;
--popover: #131a24;
--popover-foreground: #e2e8f0;
--primary: #94a3b8;
--primary-foreground: #0b0f15;
--secondary: #1f2733;
--secondary-foreground: #e2e8f0;
--muted: #1f2733;
--muted-foreground: #94a3b8;
--accent: #283242;
--accent-foreground: #e2e8f0;
--destructive: #f87171;
--destructive-foreground: #450a0a;
--border: #283242;
--input: #283242;
--ring: #94a3b8;
}More designs
Nocturne
Calm, dark-first SaaS theme with a single indigo accent.
Mint Console
A fresh emerald analytics theme: clean whites, a green primary, and crisp type for metrics, monitoring, and growth dashboards.
Velvet
A premium violet SaaS theme: deep purple primary, rich dark surfaces, and a luxe feel for paid products and pro tiers.