Skip to main content
Aura’s token system is designed to be used as-is for the vast majority of use cases. Tokens are centrally maintained and contrast-tested across themes. By using the defaults, consuming applications automatically receive proper theming, accessibility compliance, and future design updates. Some scenarios still require extending or overriding these defaults — typically when building a Flows custom app that needs a customer-facing brand on top of Aura defaults.
Do not customize styling for Cognite Data Fusion (CDF) native apps. Cognite is developing a solution that will enable global theming across all of CDF.

Customization priorities

Builders can customize every color token, but not every group needs to change for a successful rebrand. Work through these priorities in order. For resolved values and usage notes for every token, see Color.

For designers

Before you override anything

Ask these questions first:
  1. Does an existing token cover this use case? Check Color.
  2. Is this a product-specific need or a system gap? If it feels like a system gap, raise it with Cognite.
  3. Will this hold up in both light and dark mode? Overrides that only work in one theme are a red flag.
Aura’s color system has two tiers:
  1. Ramps — raw hue scales (for example fjord-500, mountain-950) that progress evenly in lightness.
  2. Semantic tokens — named roles (for example primary/background, base/foreground) that map to ramp steps and swap between light and dark mode automatically.
When customizing for a customer brand:
  • Apply tokens as sets. Most groups include matching background, background-hover, and foreground tokens — override them together so contrast stays intact.
  • Never put raw hex on semantic tokens. Alias each semantic token to a step on your local brand ramp in Figma.
  • Keep Cognite Light and Dark modes as reference. Add separate brand modes (for example your-org-Light and your-org-Dark) in a local variable collection rather than editing the published Aura library.
  • Work in this order: Primary and Secondary → Decorative → Feedback and status → Neutrals.

Figma workflow

  1. Enable the Aura community file as a library in your project.
  2. Create a local variable collection for brand ramps (primary, secondary, optional decorative and neutral hues). Match Aura’s step naming — 10, 50, 100950.
  3. Add brand Light and Dark modes alongside the Cognite reference modes.
  4. In your brand modes only, re-alias semantic tokens to your ramp steps — starting with primary/* and secondary/*.
Code implementation uses CSS variable overrides in src/styles.css. A skill is in development to help translate Figma customizations to code automatically. Until then, share aliased token names with developers so they can add matching overrides.

For developers

Follow these rules for safe overrides:
  • Scope to your app’s root element or a specific component — never override globally outside your app.
  • Override both light (:root) and dark (.dark) values for theme-sensitive tokens.
  • Test contrast in both themes before shipping.
  • Document the override and the reason in your codebase.

Applying a custom theme

Define token overrides centrally in src/styles.css so they cascade to all Aura components.

Scoped CSS variable overrides

If overrides apply only to part of your app, use a scoped selector instead of :root:

Color tokens to customize

Tokens are grouped by semantic role, matching the Color reference. Override related background, hover, and foreground tokens together. The primary brand color. Reserved for emphasis and interaction — main CTAs and selected states in checkboxes, tabs, radio buttons, and switches. Do not use for general neutral UI. The secondary brand color. Used for secondary CTAs and toggled or selected states — toggle buttons, selected list items, selected cards. Accent colors for avatars, badges, and visual differentiation — no status meaning. Override each numbered group (decorative/1 through decorative/7) as a set. Replace {n} with 17. See Decorative for default values.

Feedback and status — Optional

Semantic colors for alerts, banners, badges, and toasts. Not required for a successful rebrand. If you change them, keep each token within its intended hue family — warning should still read as warning.

Neutrals — Optional

Shift the UI warmer or cooler by overriding neutral layers. Use Cognite defaults as a contrast and lightness guide — your grays should follow the same relative steps on your chosen neutral ramp.

Chart & heatmap — Optional

Chart and heatmap colors are only used for data visualizations. Chart colors often use an extension of the decorative brand palette. Preferred chart colors start with chart-1-450 and decrease in step as more colors in the same hue are needed. Replace {n} with 15. Chart tokens use semi-transparent ramp values for data visualization series. Override only when remapping chart colors to a customer palette. See Chart for the full series list. See Color theme tokens for the full list per group.

Typography tokens to override

Typefaces

Text (Inter)

Code (Source Code Pro)

Building custom components

When your requirements fall outside the scope of existing Aura components, you may need to build custom UI elements. To maintain system stability and visual consistency, follow these guidelines.

File structure

  • Custom components: Place in src/components/common/.
  • Static assets (images, icons): Place in src/assets/.

Extend Aura primitives

Whenever possible, build custom components by composing Aura primitives (such as Button, Card, and Input) rather than writing raw HTML and custom CSS from scratch. Benefits of extending Aura primitives:
  • Automatic theming — Components built with Aura primitives inherit your custom design tokens. Updates to src/styles.css apply automatically.
  • Built-in accessibility — Primitives include baseline ARIA roles and keyboard navigation.
  • Upgrade compatibility — Custom components inherit updates to the Aura design system, reducing maintenance overhead.
Last modified on August 25, 2026