Primary
main ·#4836ff
The OCL accent. Use for primary actions, links, active nav, focus rings, and status indicators that need the most visual weight.
The OCL palette is a Material 3 tonal system
defined in oclweb3/src/common/colors.jsx. Every palette exposes shades from 10 (darkest)
to 99 (lightest), plus main / light / dark / contrastText
for MUI theme compatibility. Reference shades by name (primary.80, surface.n96) so the
design and the code speak the same language.
sx prop
or when reading from theme.palette.
#4836ff
The OCL accent. Use for primary actions, links, active nav, focus rings, and status indicators that need the most visual weight.
#5e5c71
Muted companion for supporting text, dividers, and secondary chip borders. secondary.main is the default body text color via TEXT_GRAY.
#7a5368
Accent for content categories that need to be distinguishable from primary (e.g. tagged metadata, alternate entity types). Use sparingly.
#fcf8fd
Backgrounds and borders. surface.main is the app background. surface.n96 is the subtle panel background. surface.nv80 is the default card border.
#ba1a1a
Destructive actions, validation failures, and error states. Only a few shades are defined — expand in colors.jsx if you need more.
A sparse neutral scale used for disabled/placeholder text. Most gray needs are covered by surface.* or the named grays below.
colors.jsx constants
Legacy constants still referenced throughout the app. Prefer the palette shades above when adding new code.
In oclweb3/src/index.jsx, success is aliased to primary and info
to secondary. There is no dedicated warning palette. If a design calls for warning
semantics, use tertiary or add a new palette to colors.jsx and this file.