Base variables are the foundation of your theme and should be set at the root level for global consistency. See the Custom Theme page for details on overriding them.
Base theme variables
Base variables define the raw design values for your theme. They are set once at the root level and consumed by the declarative color variables below.Intent colors
Each intent — brand, accent, info, success, warning, and danger — has the same five-step scale. See Intent scale for what each step is for.The focus ring color,
--bq-focus, isn’t a base variable. It’s a mode role that defaults to --bq-brand-strong in light mode and --bq-brand-bright in dark mode. See State colors.Neutral colors
The neutral color scale provides a range of grays for backgrounds, borders, and text.Data visualization colors
For charts and graphs — 12 distinct colors.Typography
Typography variables define font family, sizes, weights, and line heights.Spacing
The spacing scale provides consistent spacing units for margins, paddings, and gaps. It is based on a 4px grid.Border radius
The border radius scale defines corner rounding for UI elements.Box shadow
The box shadow scale provides elevation effects for UI elements.--bq-stroke--primary edge ring, so elevated layers stay visible on dark surfaces:
Stroke
The stroke width scale defines standard border widths.Declarative color variables
Mode roles are used throughout the components and change based on the mode (light/dark). Always prefer these over base or primitive values. In the lists below,{intent} stands for brand, accent, info, success, warning, or danger.
Background colors
Used for various background surfaces such as pages, cards, and panels.Icon colors
Used for SVG icons and graphical elements.Border colors
Used for borders and outlines around UI elements.Text colors
Used for typography and text elements.On-color text
Used for text and icons placed on a solid intent fill (--bq-ui--{intent}). Always pair each fill with its own on-color.
UI colors
Used for small UI elements like buttons, tags, and badges.State colors
Used for interactive states. Hover and active colors aren’t separate tokens per element: components blend the rest color with--bq-hover or --bq-active using the CSS color-mix() function.
Next steps
Component CSS variables
Explore the CSS variables exposed by each BEEQ component for targeted, scoped customization.
Custom Theme
Follow the step-by-step guide to create and apply a fully custom theme to your app.