Design system  /  Colors

Cobalt-first, with one accent.

Dutch flag blue at the center. KNVB orange for accents. Vermillion for errors only. White holds 70% of every surface.

Why these colors · the design rationale

Why cobalt #21468B?

Our legacy blue (#4376FC) read as "cloud / SaaS", light, frisky, lacking weight. A product company that works with governments needs to project trust. Cobalt is the official blue of the Dutch flag, Dutch by birthright, dark enough to feel serious, light enough to stay blue, and AAA-contrast on white so it can carry body text.

CandidateHexL%On whiteVerdict
Legacy #4376FC 63% 3.99 Too light, too "tech", fails AA for body text.
Cobalt #21468B 34% 9.05 Dutch flag blue. Dark enough to be trustworthy, light enough to stay blue. AAA on white.
NLDS Utrecht #154273 27% 10.19 Nice, but no flag association, reads as municipal design system.
Rijks-lint #01689B 31% 6.07 Strong government signal, confusing for us as a company.
Midnight #0C2D48 17% 14.19 Too dark, loses blue identity, drifts toward black.

Why KNVB orange #F36C21?

Three Dutch oranges considered. Rijkshuisstijl orange fails on three fronts at once: worst contrast on cobalt (under WCAG 3:1), highest positioning risk (reads as government), and darkest luminance, sinks into cobalt instead of popping. KNVB wins on harmony with cobalt and "Oranje" mass-appeal without the government baggage.

CandidateHexOn cobaltVerdict
Wimpel #FF7F00 3.58 Pure orange, ceremonial / poster-feel. Vibrates against cobalt.
Rijks #E17000 2.82 Fails contrast on cobalt. Reads as Rijkshuisstijl, confuses brand position.
KNVB #F36C21 3.01 Slightly red-leaning, lower saturation. Warmer pairing with cobalt. "Oranje" without governmental weight.

Cost we pay: ~0.57 contrast points less on cobalt. For icon and accent use that's fine (WCAG AA for non-text is 3:1). For larger elements that need to be readable, we use orange on white (4.96:1, AAA-large), not on cobalt.

What orange means for Conduction
01 · Warmth

People, not an institution.

We're a company of humans, not a monolith. Orange carries the warmth and approachability that cobalt, by design, doesn't.

02 · Identity

"Oranje" without the government.

National team, Koningsdag, Oranjegekte, recognised by everyone, owned by no agency. Mass-appeal Dutch identity without Rijks-association.

03 · Optimism

Pragmatic energy.

Action, motion, "we build things that work". Counterweight to cobalt: cobalt carries structure and trust, orange carries movement.

04 · Focus

One thing at a time.

In UI, orange pulls the eye to one thing per screen, the primary CTA highlight, the focus ring, the badge. Never two.

05 · The 8% rule

Accent, not co-star.

Maximum 8% of any surface. Above 10%, orange starts competing with cobalt and loses its attention-pulling power. The number is the discipline.

06 · Where it doesn't go

No big fills, no body.

No hero backgrounds, no sidebar fills, no card backgrounds, no body text on white. Orange is for accents and one-thing-per-screen highlights only.

Position · against neighbouring Dutch palettes

Cobalt + KNVB-orange isn't unclaimed territory. Banks, government, sport, multiple Dutch identities live in this register. Our position sits in the gap between bank-navy (too dark, too corporate) and Rijks (too brown, too institutional). Bright enough to not feel corporate, dark enough to be trustworthy, warmer than government.

Conduction 2026
Cobalt L=34, KNVB H=22. Warm-professional, Dutch-accessible.
Rabobank
Navy L=20 (almost black). Bank-feel, not product-feel.
ING
Same dark register as Rabo. Modern fintech.
Rijkshuisstijl
Orange darker, browner. Government, bewust uitgesloten.
KNVB · elftal
Same orange, we borrow it, they don't borrow ours. Their navy is darker.

No neighbour shares exactly our pair, but a fast glance can read like Rabo, ING or "something governmental". Our distinction comes from proportion and application as much as hue: the 8% rule, the hex wrapper, Figtree, white dominance. Together those mark us, not the hex values alone.

Adjacent products · same palette neighbourhood, our space

Dutch products in document, case, and overheidsdata land near our palette. We keep them here so a fresh glance at a deck or website doesn't quietly drift their way. Links go to the live site, the note is the palette read, the line under the name is what they ship.

Sovereign document and case management. Dutch product for organisations that want full control over their information.
Navy L=24 (darker than us), orange more saturated (#FF6600 vs #F36C21). Same register, more SaaS-tech read.
Federated search across 12 million Dutch government publications: Kamerstukken, Woo-besluiten, gemeenteberichten.
Near-black navy + bright tech-blue CTA. Government-search palette, no orange, leans data-platform.
Proportion · the 70 / 20 / 8 / 2 rule
White · #FFFFFF70%
Cobalt · #21468B20%
Orange · #F36C218%
Vermillion2%
Brand
9.05 AAA
Cobalt
Primary · brand, structure, body text, CTAs
#21468Bcobalt-500
3.45 AA-large
KNVB Orange
Accent · focus rings, hover, badges
#F36C21coral-500
6.83 AA
Vermillion
Tertiary · errors, destructive only
#AE1C28red
guest
Nextcloud Blue
Guest color · ConNext context only · always solid
#0082C9nextcloud-blue
guest
Nextcloud Cyan
Guest color · Nextcloud accent, lighter pair to the blue. Rarely used; never as a primary fill.
#1CAFFFnextcloud-cyan
guest
Common Ground Yellow
Guest color · Common Ground context only
#F6AD00commonground
Cobalt scale · derived for surfaces, fills, hex-prism faces
50#EEF2F8
100#DCE3F0
200#B6C2DD
300#8095BD
400#4D69A4
500 ★#21468B
600#1B3A75
700#152D5C
800#102246
900#0A172F
Hex categorical families · sanctioned, for flat illustration faces

Brand is flat-hex only (the 3D prism mechanism was removed in v3.0.0). Per the policy locked in tokens.css: each diagram hex picks exactly one of lavender, mint, forest, terracotta. The workspace hex uses workspace-blue (= Nextcloud's own brand blue). Cobalt is brand chrome, never a category. Each family ships two stops: -300 is the lighter hover/wash, -500 is the saturated face you use most.

Lavender
300500
Process / workflow
OpenConnector, Procest, ZaakAfhandelApp, anything orchestration-flavoured. Use when the hex represents a step in a flow.
Mint
300500
Integrate / connect
Integration adapters, the "stable" status pill, anything that signals connected and OK. Mint-500 is the canonical Stable status colour.
Forest
300500
Data / trustworthy / NLDS-compliant
OpenRegister-flavoured hexes, register thumbnails, compliance-strong surfaces. Deeper and more "official" than mint.
Terracotta
300500
Documents / human work
DocuDesk-flavoured hexes, document thumbnails, anything paper-shaped or human-craft.
Workspace
300500
Nextcloud, as platform
The single workspace hex on every platform diagram. --c-workspace-* aliases --c-workspaceblue-*; 500 is Nextcloud blue. Always solid, never a gradient.
Reserved utility scales · NOT categorical families, kept for specific jobs

These scales live in tokens.css alongside the categorical families but serve different jobs and must not be picked up as a category. Coral is the KNVB-orange accent scale (≤ 8 % page area). Gold is the Conduction-Certified trustmark scale. Gray is the neutral support scale. All three ship the same two stops.

Coral
300500
Single-use accent
KNVB-orange (coral-500 = --c-orange-knvb). Focus, hover, the one highlight per scene. Capped at ~8 % of any surface. Never as a primary hex fill.
Gold
300500
Conduction-Certified trustmark
Reserved for the cert avatar and trustmark badges. Don't use for generic UI. Near Common Ground yellow but distinct.
Gray
300500
Neutral support
Diagram supports, ambient elements, side-box bodies, disabled states. Strokes and dividers. Not a category.
Status colors
Stable
--c-mint-500 · #2E9866
Beta
--c-orange-knvb · #F36C21
Error · destructive
--c-red-vermillion · #AE1C28
Pairing rules
Aa
Cobalt + white · Primary surface. AAA at 9.05:1. Default for inverted hero, footer, primary CTA.
Aa
White + cobalt body · Default page. Body text in cobalt rather than charcoal grey, owns the brand.
Install
Orange as accent · One accent per screen, focus ring, hover state, or one badge. Never as a primary fill.
Brand citation · "Next" in Nextcloud-blue
Make Nextcloud your workspace.
Welcome to ConNext, Conduction's apps for Nextcloud.

Only the "Next" in ConNext, the brand-word "Nextcloud" in copy, and idiomatic "next" when it's directly about Nextcloud-as-platform. Not on functional "next" (next page, next year).

Brand citation · "Common Ground" in CG-yellow
Onze hosting voor Common Ground.
commonground.nu, beheerde Nextcloud per gemeente.

Use .cg-yellow on the brand-word "Common Ground" and on commonground.nu when referring to the platform-as-platform. Pairs with how Nextcloud-blue is used for "Nextcloud". Never on functional words ("ground" alone, "common" alone).