Colors

Reference color palettes and semantic tokens with practical usage guidance for consistent UI theming.

Overview

The VD color system is built on a comprehensive palette of colors organized by semantic meaning. Colors are theme-aware and adapt automatically between light and dark modes while maintaining accessibility standards. The colors are divided into three tiers:

  • Root colors

    Root colors, contains color definitin in the pureset form of colors. In this tier, the color tokens are mapped to the hex color value.

  • Brand colors

    Brand colors contains the mapping of semantic color tokens to the root colors. The different brands can have different mapped root colors for same semantic color.

  • Mapped colors

    Mapped colors are the actual colors that are used in the UI. These colors are mapped to the brand colors and are used to create the UI.

Root Color Palettes

BlueGlow

50
#EBE9FE
100
#DEDBFD
200
#BEB7FB
300
#9C92F8
400
#7B6EF6
500
#5A4AF4
600
#483BC3
700
#362C92
800
#251E62
900
#120F31

Grey

50
#F6F5FF
100
#E7E6F5
200
#D7D5E5
300
#9F9CBA
400
#797791
500
#5A5870
600
#47455A
700
#353443
800
#19172B
900
#04021A

Green

50
#e7f3ee
100
#cfe7dd
200
#9fcfbb
300
#6eb799
400
#3e9f77
500
#0e8755
600
#0b6c44
700
#085133
800
#063622
900
#031b11

Red

50
#fbe9ea
100
#f8d2d4
200
#f0a5a9
300
#e9787e
400
#e14b53
500
#da1e28
600
#ae1820
700
#831218
800
#570c10
900
#2c0608

Orange

50
#fcf0e6
100
#f8e0cc
200
#f1c299
300
#eaa366
400
#e38533
500
#dc6600
600
#b05200
700
#843d00
800
#582900
900
#2c1400

Blue

50
#eaf1fb
100
#d6e3f6
200
#adc7ee
300
#83aae5
400
#5a8edd
500
#3172d4
600
#275baa
700
#1d447f
800
#142e55
900
#0a172a

Opaque White

100
rgba(255, 255, 255, 0.1)
200
rgba(255, 255, 255, 0.2)
300
rgba(255, 255, 255, 0.3)
400
rgba(255, 255, 255, 0.4)
500
rgba(255, 255, 255, 0.5)
600
rgba(255, 255, 255, 0.6)
700
rgba(255, 255, 255, 0.7)
800
rgba(255, 255, 255, 0.8)
900
rgba(255, 255, 255, 0.9)
1000
#ffffff

Opaque Black

100
rgba(0, 0, 0, 0.1)
200
rgba(0, 0, 0, 0.2)
300
rgba(0, 0, 0, 0.3)
400
rgba(0, 0, 0, 0.4)
500
rgba(0, 0, 0, 0.5)
600
rgba(0, 0, 0, 0.6)
700
rgba(0, 0, 0, 0.7)
800
rgba(0, 0, 0, 0.8)
900
rgba(0, 0, 0, 0.9)
1000
#000000

Opaque Neutral

Overlay
rgba(4, 2, 26, 0.4)

Brand Color Palettes

The brand color palettes can be different based on the brand. You can change the color for different brand from the theme configuration on the navbar.

Primary

50
--vd-color-primary-50
100
--vd-color-primary-100
200
--vd-color-primary-200
300
--vd-color-primary-300
400
--vd-color-primary-400
500
--vd-color-primary-500
600
--vd-color-primary-600
700
--vd-color-primary-700
800
--vd-color-primary-800
900
--vd-color-primary-900

Error

50
--vd-color-red-50
100
--vd-color-red-100
200
--vd-color-red-200
300
--vd-color-red-300
400
--vd-color-red-400
500
--vd-color-red-500
600
--vd-color-red-600
700
--vd-color-red-700
800
--vd-color-red-800
900
--vd-color-red-900

Success

50
--vd-color-green-50
100
--vd-color-green-100
200
--vd-color-green-200
300
--vd-color-green-300
400
--vd-color-green-400
500
--vd-color-green-500
600
--vd-color-green-600
700
--vd-color-green-700
800
--vd-color-green-800
900
--vd-color-green-900

Warning

50
--vd-color-orange-50
100
--vd-color-orange-100
200
--vd-color-orange-200
300
--vd-color-orange-300
400
--vd-color-orange-400
500
--vd-color-orange-500
600
--vd-color-orange-600
700
--vd-color-orange-700
800
--vd-color-orange-800
900
--vd-color-orange-900

Info

50
--vd-color-blue-50
100
--vd-color-blue-100
200
--vd-color-blue-200
300
--vd-color-blue-300
400
--vd-color-blue-400
500
--vd-color-blue-500
600
--vd-color-blue-600
700
--vd-color-blue-700
800
--vd-color-blue-800
900
--vd-color-blue-900

Neutral

50
--vd-color-grey-50
100
--vd-color-grey-100
200
--vd-color-grey-200
300
--vd-color-grey-300
400
--vd-color-grey-400
500
--vd-color-grey-500
600
--vd-color-grey-600
700
--vd-color-grey-700
800
--vd-color-grey-800
900
--vd-color-grey-900

White

100
--vd-color-opaque-white-100
200
--vd-color-opaque-white-200
300
--vd-color-opaque-white-300
400
--vd-color-opaque-white-400
500
--vd-color-opaque-white-500
600
--vd-color-opaque-white-600
700
--vd-color-opaque-white-700
800
--vd-color-opaque-white-800
900
--vd-color-opaque-white-900
1000
--vd-color-opaque-white-1000

Black

100
--vd-color-opaque-black-100
200
--vd-color-opaque-black-200
300
--vd-color-opaque-black-300
400
--vd-color-opaque-black-400
500
--vd-color-opaque-black-500
600
--vd-color-opaque-black-600
700
--vd-color-opaque-black-700
800
--vd-color-opaque-black-800
900
--vd-color-opaque-black-900
1000
--vd-color-opaque-black-1000

Utilities

Overlay
--vd-color-utilities-overlay-corporate

Mapped Color Palettes

The brand color palettes can be different based on the theme (Light and dark). You can change the color for different theme from the theme configuration on the navbar.

Content

Default

Base
--vd-color-content-default-base
Secondary
--vd-color-content-default-secondary
Tertiary
--vd-color-content-default-tertiary
Disabled
--vd-color-content-default-disabled
AlwaysLight
--vd-color-content-default-always-light
AlwaysDark
--vd-color-content-default-always-dark

Primary

Base
--vd-color-content-primary-base
Secondary
--vd-color-content-primary-secondary
Tertiary
--vd-color-content-primary-tertiary
OnBase
--vd-color-content-primary-on-base
OnSecondary
--vd-color-content-primary-on-secondary
OnTertiary
--vd-color-content-primary-on-tertiary

Success

Base
--vd-color-content-success-base
Secondary
--vd-color-content-success-secondary
Tertiary
--vd-color-content-success-tertiary
OnBase
--vd-color-content-success-on-base
OnSecondary
--vd-color-content-success-on-secondary
OnTertiary
--vd-color-content-success-on-tertiary

Error

Base
--vd-color-content-error-base
Secondary
--vd-color-content-error-secondary
Tertiary
--vd-color-content-error-tertiary
OnBase
--vd-color-content-error-on-base
OnSecondary
--vd-color-content-error-on-secondary
OnTertiary
--vd-color-content-error-on-tertiary

Warning

Base
--vd-color-content-warning-base
Secondary
--vd-color-content-warning-secondary
Tertiary
--vd-color-content-warning-tertiary
OnBase
--vd-color-content-warning-on-base
OnSecondary
--vd-color-content-warning-on-secondary
OnTertiary
--vd-color-content-warning-on-tertiary

Info

Base
--vd-color-content-info-base
Secondary
--vd-color-content-info-secondary
Tertiary
--vd-color-content-info-tertiary
OnBase
--vd-color-content-info-on-base
OnSecondary
--vd-color-content-info-on-secondary
OnTertiary
--vd-color-content-info-on-tertiary

Neutral

Base
--vd-color-content-neutral-base
Secondary
--vd-color-content-neutral-secondary
Tertiary
--vd-color-content-neutral-tertiary
OnBase
--vd-color-content-neutral-on-base
OnSecondary
--vd-color-content-neutral-on-secondary
OnTertiary
--vd-color-content-neutral-on-tertiary

Background

Default

Base
--vd-color-background-default-base
Secondary
--vd-color-background-default-secondary
Tertiary
--vd-color-background-default-tertiary
AlwaysLight
--vd-color-background-default-always-light
AlwaysDark
--vd-color-background-default-always-dark
Disabled
--vd-color-background-default-disabled

Primary

Base
--vd-color-background-primary-base
BaseHover
--vd-color-background-primary-base-hover
Secondary
--vd-color-background-primary-secondary
SecondaryHover
--vd-color-background-primary-secondary-hover
Tertiary
--vd-color-background-primary-tertiary
TertiaryHover
--vd-color-background-primary-tertiary-hover

Success

Base
--vd-color-background-success-base
BaseHover
--vd-color-background-success-base-hover
Secondary
--vd-color-background-success-secondary
SecondaryHover
--vd-color-background-success-secondary-hover
Tertiary
--vd-color-background-success-tertiary
TertiaryHover
--vd-color-background-success-tertiary-hover

Error

Base
--vd-color-background-error-base
BaseHover
--vd-color-background-error-base-hover
Secondary
--vd-color-background-error-secondary
SecondaryHover
--vd-color-background-error-secondary-hover
Tertiary
--vd-color-background-error-tertiary
TertiaryHover
--vd-color-background-error-tertiary-hover

Warning

Base
--vd-color-background-warning-base
BaseHover
--vd-color-background-warning-base-hover
Secondary
--vd-color-background-warning-secondary
SecondaryHover
--vd-color-background-warning-secondary-hover
Tertiary
--vd-color-background-warning-tertiary
TertiaryHover
--vd-color-background-warning-tertiary-hover

Info

Base
--vd-color-background-info-base
BaseHover
--vd-color-background-info-base-hover
Secondary
--vd-color-background-info-secondary
SecondaryHover
--vd-color-background-info-secondary-hover
Tertiary
--vd-color-background-info-tertiary
TertiaryHover
--vd-color-background-info-tertiary-hover

Neutral

Base
--vd-color-background-neutral-base
BaseHover
--vd-color-background-neutral-base-hover
Secondary
--vd-color-background-neutral-secondary
SecondaryHover
--vd-color-background-neutral-secondary-hover
Tertiary
--vd-color-background-neutral-tertiary
TertiaryHover
--vd-color-background-neutral-tertiary-hover

Overlay

Default
--vd-color-background-overlay-default

Border

Default

Base
--vd-color-border-default-base
Secondary
--vd-color-border-default-secondary
Tertiary
--vd-color-border-default-tertiary
Disabled
--vd-color-border-default-disabled

Primary

Base
--vd-color-border-primary-base
Secondary
--vd-color-border-primary-secondary
Tertiary
--vd-color-border-primary-tertiary

Success

Base
--vd-color-border-success-base
Secondary
--vd-color-border-success-secondary
Tertiary
--vd-color-border-success-tertiary

Neutral

Base
--vd-color-border-neutral-base
Secondary
--vd-color-border-neutral-secondary
Tertiary
--vd-color-border-neutral-tertiary

Error

Base
--vd-color-border-error-base
Secondary
--vd-color-border-error-secondary
Tertiary
--vd-color-border-error-tertiary

Warning

Base
--vd-color-border-warning-base
Secondary
--vd-color-border-warning-secondary
Tertiary
--vd-color-border-warning-tertiary

Info

Base
--vd-color-border-info-base
Secondary
--vd-color-border-info-secondary
Tertiary
--vd-color-border-info-tertiary

Usage Guidelines

Basic Color Implementation

Apply color tokens using CSS custom properties:

colors-usage.css

Copy code

Theme Switching

Toggle between light and dark themes by setting the data-theme attribute on the root HTML element. All semantic colors automatically adjust.

theme-switching.html

Copy code

Best Practices

General Rules

  • All colors must be applied using VD tokens — never hardcode hex, RGB, or HSL values in CSS, HTML, or component templates.
  • Apply colors semantically, reflecting status, state, or purpose (e.g., use error tokens for errors, not a raw red).
  • Differentiate usage across text, background, border, and icon categories — each has its own set of tokens.
  • Always prefer mapped tokens over brand or root tokens in application code, as they are theme-aware.

Token Naming Convention

All mapped color tokens follow a consistent naming pattern:

token-pattern

Copy code

  • Category:

    content, background, border

  • Semantic:

    default,primary,success,error,warning,info,neutral

  • Variant:

    base,secondary,tertiary,disabled,on-base/on-secondary/on-tertiary,base-hover/ secondary-hover/tertiary-hover where applicable

Content Colors

Use --vd-color-content-{semantic}-{variant} tokens for both text and icons. Available semantics: default, primary, success, error, warning, info, neutral. Each offers base, secondary, tertiary variants. The default semantic also includes a disabled variant.

Background Colors

Use --vd-color-background-{semantic}-{variant} tokens for surfaces and containers. Each semantic (primary, success, error, warning, info, neutral) provides base, secondary, tertiary variants plus corresponding *-hover states. Use --vd-color-background-overlay-default for modals, tooltips, and overlay backdrops.

Border Colors

Use --vd-color-border-{semantic}-{variant} tokens for all borders and outlines. Each semantic provides base, secondary, and tertiary variants. The default semantic also includes a disabled variant for inactive UI elements.

White & Black Tokens

For opaque color scales, use --vd-color-white-100 through --vd-color-white-1000 and --vd-color-black-100 through --vd-color-black-1000. These are available from brand tokens only (not mapped), as they do not change between light and dark themes. Never use raw hex codes.

Do's and Don'ts

do.css

Copy code

dont.css

Copy code