ProductBrand
Join us
Foundations
  • Introduction
  • Colors
  • Typography
  • Icons
  • Illustrations
  • Logos
  • Shadows
Components
  • Accordion
  • Alert Dialog
  • Avatar
  • Badge
  • Button
  • Calendar
  • Card
  • Chart
  • Checkbox
  • Collapsible
  • Combobox
  • Context Menu
  • Date Picker
  • Dialog
  • Drawer
  • Dropdown Menu
  • Fluid Avatar
  • Hover Scroll Text
  • Input
  • Kbd
  • Popover
  • Progress Bar
  • Radio Group
  • Scroll Area
  • Select
  • Selectors
  • Separator
  • Separator Dot
  • Shimmer Text
  • Skeleton
  • Slider
  • Switch
  • Tabs
  • Textarea
  • Toast
  • Tooltip
Compositions
  • Empty State
  • File Attachment
  • Floating Bar
  • Input Banner
  • Markdown Editor
  • Media Controls
  • Product Feature Banner
  • Panels
  • Sidebar
  • Reasoning Trace
  • Pagination
  • Data Table
  • Breadcrumb
  • Thread Outline
Inline
  • Overview
  • Stat Tile
  • Metric Row
  • Comparison Table
  • Chart Card
  • Trend Tile
  • Cite
  • Custom
  • Agent skill

Colors

Foundational color tokens for backgrounds, borders, text and charts.

Overview

All colors in the Rogo design system are defined as CSS custom properties and mapped to Tailwind utility classes. Colors automatically adapt between light and dark modes. Always use semantic tokens rather than raw color values.

Backgrounds

Background colors define the layered surfaces of the interface. Use increasingly darker backgrounds to create visual hierarchy and depth.

CSS VariableTailwind ClassUsage
--background-primarybg-primaryDefault app background. Use for body background and large zones.
--background-secondarybg-secondarySubtle background differentiation. Use for alternate sections or hover states.
--background-tertiarybg-tertiaryHover states or when more differentiation is needed.
--background-quaternarybg-quaternaryStrongest background differentiation. Use sparingly.

Surfaces

Surface colors are for elevated UI elements that sit above the background layers.

CSS VariableTailwind ClassUsage
--surfacebg-surfaceElevated surfaces like popovers, menus, dropdowns, and cards.
--surface-invertedbg-surface-invertedDark background surfaces like tooltips or inverted UI sections.

Elevated

CSS VariableTailwind ClassUsage
--elevatedbg-elevatedSubtle elevation effect. Semi-transparent overlay for hover states on dark backgrounds.

Text

Text colors provide hierarchy for typography. Use primary for important content and progressively lighter variants for supporting text.

CSS VariableTailwind ClassUsage
--text-primarytext-primaryPrimary, emphasized text. Use for headers, bold text, and important content.
--text-secondarytext-secondaryDefault content body text. Use for paragraphs and standard UI text.
--text-tertiarytext-tertiaryLower emphasis text. Use for captions, labels, and supporting content.
--text-quaternarytext-quaternarySubtle, light text. Use for placeholders, disclaimers, and disabled states.
--text-primary-invertedtext-primary-invertedPrimary text on inverted/dark surfaces.
--text-secondary-invertedtext-secondary-invertedSecondary body or lower emphasis text on inverted surfaces.

text-inverted and text-inverted-secondary are the pre-rename names. They only work in apps/frontend and apps/global-admin-panel, which each alias them locally; anywhere else they silently render nothing. Write the canonical names above.

Borders

Border colors define the edges of UI elements. Use alpha variants by default for better blending, solid variants when transparency causes issues.

CSS VariableTailwind ClassUsage
--border-primaryborder-primaryStandard border color. Uses alpha transparency for natural blending.
--border-primary-solidborder-primary-solidStandard border as a solid color. Use when alpha causes visual issues.
--border-secondaryborder-secondaryStronger border for inputs, focused elements. Uses alpha transparency.
--border-secondary-solidborder-secondary-solidStronger border as a solid color. Use when alpha causes visual issues.
--border-invertedborder-invertedBorder on inverted/dark surfaces.

Brand

Brand colors represent Rogo's identity. Use for primary actions, links, and branded elements.

CSS VariableTailwind ClassUsage
--brand-primarybg-brand-primary, text-brand-primaryPrimary brand color. Use for primary buttons, links, and key actions.
--brand-primary-hoverbg-brand-primary-hover, text-brand-primary-hoverHover state for primary brand elements.
--brand-secondarybg-brand-secondary, text-brand-secondaryLighter brand color using opacity. Use for subtle brand accents and backgrounds.
--brand-secondary-solidbg-brand-secondary-solidLighter brand color as a solid. Use when alpha causes visual issues.
--brand-foregroundtext-brand-foregroundForeground color for elements on brand backgrounds. Use for text/icons on brand buttons.
--brand-invertedbg-brand-invertedModified brand color for use on inverted/dark surfaces.

Decorative

Decorative colors are non-brand accents for illustrations, tags, callouts, and supporting visual elements. Use sparingly and reach for brand tokens for primary actions.

CSS VariableTailwind ClassUsage
--decorative-greenbg-decorative-green, text-decorative-greenDeep teal-green accent. Pairs naturally with brand without competing.
--decorative-bluebg-decorative-blue, text-decorative-blueMuted ocean blue accent. Use for informational tags and illustrations.
--decorative-olivebg-decorative-olive, text-decorative-oliveDesaturated yellow-green accent. Warm, earthy complement.
--decorative-crimsonbg-decorative-crimson, text-decorative-crimsonDeep red accent. Distinct from --destructive, decorative only.

Charts

Chart colors are used for data visualization. Use in sequence for multi-series charts.

The tokens are raw RGB channel triples (e.g. 27 140 108), so wrap them: rgb(var(--chart-1)), or rgb(var(--chart-1) / 0.5) for alpha.

CSS VariableUsage
--chart-1First chart color in the sequence. Green.
--chart-2Second chart color. Blue.
--chart-3Third chart color. Orange.
--chart-4Fourth chart color. Dark teal.
--chart-5Fifth chart color. Mauve.

Notifications

Semantic colors for system feedback and alerts.

CSS VariableTailwind ClassUsage
--destructivebg-destructive, text-destructiveDestructive actions, errors, and critical warnings. Red.
--warningbg-warning, text-warningWarning states and caution indicators. Amber.
--successbg-success, text-successCompleted actions, healthy status, and confirmations. Green.

For a tinted background behind a success icon or badge, use an alpha of the same token (bg-success/10) rather than a second solid token, the same pattern --destructive uses.

Status Tones

Tones for a surface that reports state rather than acting on it: the Badge status variants, and any tinted status pill built the same way. Use one token for both halves of the pair, bg-status-success/10 text-status-success: each value flips per theme so the label stays legible on its own tint in light and dark.

Reach for these instead of --destructive / --warning when the color carries text. Those two are tuned as fills, borders, and icons; amber at fill strength sits near 2:1 as small text on a light surface, which is why every app that hand-rolled a status pill ended up reaching into the raw palette for amber-700. amber-700 is not the fix either: on its own 10% tint it measures 4.3:1, under the 4.5:1 bar that 10–14px pill text has to clear, so these tones sit a step darker. Every value here clears 4.5:1 on its own tint in both themes.

CSS VariableTailwind ClassUsage
--status-successbg-status-success, text-status-successHealthy, active, complete. Green.
--status-warningbg-status-warning, text-status-warningDegraded but working, approaching a limit. Amber.
--status-criticalbg-status-critical, text-status-criticalFailed, expired, over a hard limit. Red.
--status-infobg-status-info, text-status-infoNeutral, non-urgent state. Blue.

Usage Guidelines

Do

  • Use semantic color tokens (bg-primary, text-secondary) instead of raw values
  • Layer backgrounds to create depth: bg-primary → bg-secondary → bg-tertiary
  • Use text-primary for headings, text-secondary for body, text-tertiary for captions
  • Use border-primary for subtle dividers, border-secondary for input borders
  • Use brand colors sparingly for primary actions and key UI elements

Don't

  • Don't use hardcoded colors like bg-stone-500 or #135b44
  • Don't use text colors for backgrounds or vice versa
  • Don't mix light mode colors on dark surfaces (use inverted variants)
  • Don't use brand colors for large background areas
  • Don't use more than 5 chart colors in a single visualization
PreviousIntroduction
NextTypography
Made in NYC© 2026 Rogo Technologies Inc.

Design at Rogo

We’re redesigning an entire industry. Come design it with us.

See open roles

Design at Rogo

  • How we workThe mission of design at Rogo, and the open roles
  • About RogoThe company and the product