D Experience · Foundations
Surface anatomy
Use this page to understand how D Experience surfaces are layered across the app shell, navigation, canvas, cards, and actions.
Hex values come from styles/tokens/d-experience-light.css (encoded in OKLCH). This page documents them as the rules to apply in markup. See /docs/colors for the per-token visual reference across all four PRIZM themes.
Anatomy diagram
Numbered pins show key surfaces. Hover or focus a pin to see its label.
The diagram defaults to light. Use the switcher above the diagram to preview the dark counterpart — the switch is local to the preview only and does not affect the rest of the page or any other route.
Anatomy preview
Light mode is the default for D Experience systems. Dark mode is optional for preview/testing only.
Records
Recent records
A short supporting line for this surface.
The mock is a lightweight visual approximation — not the live shell. For the real chrome (sticky behaviour, mobile drawer, profile menu) see the shell template preview, which has its own light/dark switcher.
Surface specs
Switch between Light and Dark to view the surface tokens for each mode.
Top app bar background
Light
#0A1628Dark
#0A1628Same in both modes
Use · The deep-navy band that carries product mark, search, notifications, and avatar. The only navy chrome — identical in light and dark modes.
Avoid · Anywhere off the chrome — never on cards, forms, tables, or canvas.
Top bar text & icons — primary
Light
#FFFFFFDark
#F4F2ECUse · Brand mark text and top-bar primary text on the navy bar.
Top bar text & icons — secondary
Light
#F4F2ECDark
#BFC8D6Use · Muted top-bar foreground: idle icon stroke, search placeholder, eyebrow labels.
Small top-bar accent
Light
#5B8EE8Dark
#5B8EE8Same in both modes
Use · Subtle cues on the navy bar only — notification unread dot, status pip.
Avoid · The light work surface. This blue exists because it pops sharper than the primary accent against navy.
Left nav background
Light
#FFFFFF--prizm-color-surfaceDark
#1A2940--prizm-color-surfaceUse · The rail surface. White in light mode; lifted dark navy in dark mode.
Avoid · Don't darken the rail in light mode. Don't apply the navy top-bar value here in dark mode — that's chrome only.
Left nav border
Light
#E6E1D8--prizm-color-borderDark
#324166--prizm-color-borderUse · The vertical border separating the rail from the canvas, and dividers inside the rail.
Left nav active row background
Light
#EEF4FFDark
#2D3F66Use · The currently selected nav item, paired with the accent for text and icon.
Avoid · Anywhere outside the nav rail. This tint is the selected-row signal only.
Left nav active text & icon
Light
#1B65F8--prizm-color-accentDark
#5B8EE8--prizm-color-accentUse · The selected nav row's label and icon. Same accent used for actions and links.
Main canvas background
Light
#F8F7F2--prizm-color-bgDark
#0A1628--prizm-color-bgUse · The primary content surface inside the shell — the area children render in. Warm off-white in light, DSTA deep navy in dark.
Muted section background
Light
#F4F2EC--prizm-color-bg-mutedDark
#14223A--prizm-color-bg-mutedUse · Hover states, secondary surfaces, table-header strips, hero washes — anywhere a calmer fill is needed.
Cards, forms, tables
Light
#FFFFFF--prizm-color-surfaceDark
#1A2940--prizm-color-surfaceUse · Every panel that floats on the canvas. Cards, form sections, table bodies, inspector panes.
Card / table border
Light
#E6E1D8--prizm-color-borderDark
#324166--prizm-color-borderUse · The hairline border around every floating surface and the row dividers inside tables.
Primary action / link / selected
Light
#1B65F8--prizm-color-accentDark
#5B8EE8--prizm-color-accentUse · Primary buttons, inline links, active tab indicator, brand mark on the navy bar.
Hover / pressed state for actions
Light
#2558B8--prizm-color-accent-hoverDark
#84A8EE--prizm-color-accent-hoverUse · The hovered or pressed state of anything that uses the accent. Same blue, one step different — not a tint.
What not to do
Don't use orange as system UI.
Orange has no role in D Experience system surfaces. The public-site source cue is the navy bar itself — the cross-system handoff is already conveyed by the chrome.
Don't darken the left nav.
The left rail stays white in every profile (applicant, operator). A dark sidenav competes with the navy top bar and breaks the rule that navy is for chrome only.
Don't use #EEF4FF outside the nav.
The blue-tinted highlight exists for the active nav row. Using it elsewhere overloads the signal.
Don't use #5B8EE8 on the light surface.
Lighter brand blue belongs on the navy bar only. On the warm canvas it competes with #1B65F8 actions for no benefit.
Don't introduce new surface colours per screen.
If a surface needs a colour, it should resolve to one of the pins above. Per-screen palettes are the failure mode this page exists to prevent.
See also
- Build Guide
Practical implementer playbook — foundation canvas, shell setup, responsive specs, patterns, checklist.
- PRIZM colour reference
Per-token visual reference across all four PRIZM themes (the underlying source).