Skip to main content
Auth0 Universal Components are built on a design system backed by Tailwind CSS and Radix UI primitives. You apply brand customization by setting CSS custom properties that the components read directly. Choose your CSS setup below.

Setup

Import the pre-compiled stylesheet in your app entry point:
Then override tokens in your CSS:
All component colors cascade from these two tokens. Add more from the CSS variables reference as needed.
In plain CSS mode, setting --primary or --color-primary has no effect. The compiled stylesheet reads --auth0-* variables directly.

Theme presets

Pass themeSettings to Auth0ComponentProvider to switch between built-in visual variants.
PresetDescription
defaultStandard Auth0 look with balanced shadows and borders
minimalReduced visual weight — fewer shadows, lighter borders
roundedIncreased border radii for a softer appearance
Shadow variables only take effect with the default preset. The minimal and rounded presets disable shadows internally.

CSS variables reference

All visual properties are driven by CSS custom properties. Override them in your stylesheet (as shown in Setup above) or via the themeSettings.variables prop.Set these in :root for light mode defaults. Use .dark or themeSettings.mode for dark mode values.

Override via JS API

Pass themeSettings.variables to Auth0ComponentProvider for programmatic overrides. These take the highest specificity and override both :root CSS and any stylesheet values.Variables are organized into three buckets:
  • common — applied regardless of mode (radius, typography)
  • light — applied when mode: "light"
  • dark — applied when mode: "dark"
themeSettings.variables always uses --auth0-* names for color tokens, regardless of your CSS setup. Border radius and typography tokens use their own names (--radius-*, --font-size-*).

Override per component

Every component accepts a styling prop to scope overrides without affecting global styles.
Use variables for CSS token overrides scoped to this component, and classes for Tailwind or custom classes applied to specific component parts.
SsoProviderCreate
  • SsoProviderCreate-header, SsoProviderCreate-wizard
  • ProviderSelect-root, ProviderDetails-root, ProviderConfigure-root
SsoProviderTable
  • SsoProviderTable-header, SsoProviderTable-table, SsoProviderTable-row
SsoProviderEdit
  • SsoProviderEdit-header, SsoProviderEdit-tabs
  • SsoProviderEdit-ssoTab, SsoProviderEdit-provisioningTab, SsoProviderEdit-domainsTab
DomainTable
  • DomainTable-header, DomainTable-table
  • DomainTable-createModal, DomainTable-configureModal, DomainTable-deleteModal
OrganizationDetailsEdit
  • OrganizationDetailsEdit-header, OrganizationDetailsEdit-form, OrganizationDetailsEdit-actions

Common customizations

Brand color

Soft corners

Compact typography


Dark mode

Components respond to themeSettings.mode. Wire it to your app’s theme state:
Or sync with system preference:
For Next.js with server-side rendering, read the preferred mode from a cookie to avoid a flash on load:
layout.tsx