My Design System

You can use these CSS Custom Properties to apply a consistent color palette across your application.


Import the custom properties before using them in your style sheets.

import '@vaadin/vaadin-lumo-styles/color';

Dark Mode

Dark mode is commonly used in low-light environments or during night-time. A dark color palette is defined in addition to the default light color palette.

Set the theme attribute on the <html> element.

document.documentElement.setAttribute("theme", "dark");

You can also add the theme="dark" attribute on any HTML element which is in the global style scope, to apply the dark color palette to a part of the application.

Use the theme toggle button next to the docs search input to preview the dark color palette values.


The Lumo theme defines the following colors.

The default color palette is not fully WCAG 2.0 AA level compliant. Follow the issue on GitHub.


The base color is used as the main background color for the system. The Grayscale colors are designed to be used on top of it, and the Text colors are designed to have enough contrast with it.

DescriptionCSS Custom Property




These colors form the foundation for your application colors. The grayscale colors are useful for dividing pages into sections with different backgrounds and borders, or used as text colors, for example.

DescriptionCSS Custom Property

Contrast 5%
Button background. Button toolbar. Secondary section background.


Contrast 10%
Input field background


Contrast 20%
Divider border color


Contrast 30%
Disabled text


Contrast 40%


Contrast 50%
Tertiary text


Contrast 60%


Contrast 70%
Secondary text


Contrast 80%


Contrast 90%
Body text


Contrast 100%
Heading text



The most prominent color in the system. It is used to bring attention to certain elements in the interface. Accompanying text and contrast colors are also defined.

DescriptionCSS Custom Property

Primary 10%
Badge background


Primary 50%
Focus outline color


Primary 100%
Primary button background


Primary Text
Secondary & tertiary button text


Primary Contrast
Primary button text



Most often a red color, used for error indicators, error messages and buttons that can cause permanent data loss. Accompanying text and contrast colors are also defined.

DescriptionCSS Custom Property

Error 10%
Error badge background


Error 50%


Error 100%
Primary error button background


Error Text
Secondary & tertiary error button text


Error Contrast
Primary error button text



Most often a green color, used for success messages and buttons that complete a certain task. Accompanying text and contrast colors are also defined.

DescriptionCSS Custom Property

Success 10%
Success badge background


Success 50%


Success 100%
Primary success button background


Success Text
Secondary & tertiary success button text


Success Contrast
Primary success button text



The following text colors have the desired contrast with the Base color.

DescriptionCSS Custom Property

Heading text


Body text


Secondary text


Tertiary text


Disabled text