INBOX/adhd-friendly-dashboard-variants-v2 (1)/adhd-friendly-colour-variants/olive-oat/olive-oat-style-guide.md
2026-08-07 15:50:54 +02:00

6.9 KiB
Raw Blame History

Olive & Oat UI Style Guide

A muted olive system with oat-coloured surfaces, offering an earthy but cleaner alternative to brown.

Olive & Oat is calm and practical. Keep the olive muted; brighter yellow-green shades quickly become visually demanding.

This system keeps the interface ADHD-friendly by using layered neutral surfaces, one clear primary colour, one quieter secondary colour and very restrained supporting accents.


1. Core rules

  • Use neutral backgrounds and surfaces for most of the page.
  • Reserve the primary colour for the next important action.
  • Use the secondary colour for optional or supporting actions.
  • Use spacing and typography before adding colour.
  • Keep one main task visible at a time.
  • Avoid decorative motion and unexpected layout changes.
  • Never communicate status using colour alone.

2. Light mode

Token Value Purpose
--page #F9F7F0 Main page background
--page-accent #ECE8D9 Subtle page depth
--surface #FFFDF8 Cards and dialogs
--surface-alt #F4F1E5 Inputs and secondary regions
--surface-strong #E3DFCD Selected and elevated elements
--text #35362B Main text
--muted #737363 Secondary text
--border #D7D3C1 Borders and dividers
--primary #777B4F Main action and brand colour
--primary-hover #5D623A Primary hover and active state
--secondary #DDE6E2 Secondary action
--secondary-hover #CEDBD5 Secondary hover state

3. Dark mode

Token Value Purpose
--page #030401 Main dark background
--page-accent #0A0C05 Background depth
--surface #15170E Cards and dialogs
--surface-alt #212418 Inputs and secondary regions
--surface-strong #343827 Selected and elevated elements
--text #F5F4EA Main text
--muted #C4C3B4 Secondary text
--border #505443 Borders and dividers
--primary #A9AD75 Main action and brand colour
--primary-hover #8F945D Primary hover and active state
--secondary #3E5A57 Secondary action
--secondary-hover #50706C Secondary hover state

4. Colour roles

Primary

Use the primary colour for grounded primary actions and selected states.

Use it on:

  • the main button
  • active navigation
  • selected controls
  • important links
  • compact brand marks

The primary colour should answer:

What should I do next?

Secondary

Use the secondary colour for cool green-grey controls that prevent the palette becoming too earthy.

Use it on:

  • secondary buttons
  • optional actions
  • toolbars
  • supporting cards
  • inactive navigation

The secondary colour should answer:

What else can I do?

Supporting accents

Role Light Dark
Accent 1 #96966D #BCBD8D
Accent 2 #6E8B88 #82A09D
Accent 3 #C29A64 #CFAD76
Success #6F8464 #9BAF8F
Danger #A36558 #D18E7E

Use one supporting accent per component whenever possible.

Recommended page balance:

  • 70% neutral backgrounds and surfaces
  • 20% primary and secondary structure
  • 10% supporting accents and status colours

5. Typography

--font-body:
  "Atkinson Hyperlegible",
  "Segoe UI",
  Arial,
  sans-serif;

--font-ui:
  "Lexend",
  "Segoe UI",
  Arial,
  sans-serif;

Use Atkinson Hyperlegible for paragraphs, instructions, tables and form help.

Use Lexend for headings, buttons, navigation and labels.

Recommended settings:

  • body text: 18px
  • body line-height: 1.6
  • paragraphs: no wider than 70ch
  • labels and buttons: 1618px
  • left-aligned body text
  • concise headings
  • no long all-caps passages

6. Layout and spacing

Use an 8-pixel spacing rhythm.

4px   tiny adjustment
8px   closely related elements
16px  normal component spacing
24px  groups inside a section
32px  separation between sections
48px+ major page regions

Keep one purpose per card. Prefer spacing and surface changes over thick borders or multiple shadows.


7. Components

Primary button

background: var(--primary);
color: var(--on-primary);

Use one obvious primary button per task area.

Secondary button

background: var(--secondary);
color: var(--on-secondary);

Use for optional or reversible actions.

Inputs

background: var(--surface-alt);
border: 1px solid var(--border);
color: var(--text);

On focus:

border-color: var(--primary);
outline: 3px solid var(--focus);

Validation

  • Place the error beside the affected field.
  • Explain how to fix the problem.
  • Preserve the users entered data.
  • Use text or an icon as well as colour.

8. ADHD-friendly interaction rules

  • Present one main task at a time.
  • Reduce optional decisions near the primary action.
  • Keep related controls close together.
  • Use consistent button placement.
  • Avoid unexpected layout movement.
  • Respect prefers-reduced-motion.
  • Keep notifications short and actionable.
  • Use progressive disclosure for advanced options.

9. Accessibility checks

Before release:

  • test keyboard navigation
  • verify visible focus states
  • check text and button contrast
  • test at 200% zoom
  • connect labels to controls
  • test light and dark modes separately
  • use semantic HTML before ARIA

10. Quick tokens

:root {
  --page: #F9F7F0;
  --surface: #FFFDF8;
  --surface-alt: #F4F1E5;
  --text: #35362B;
  --muted: #737363;
  --border: #D7D3C1;
  --primary: #777B4F;
  --secondary: #DDE6E2;
}

html[data-theme="dark"] {
  --page: #030401;
  --surface: #15170E;
  --surface-alt: #212418;
  --text: #F5F4EA;
  --muted: #C4C3B4;
  --border: #505443;
  --primary: #A9AD75;
  --secondary: #3E5A57;
}

11. Final rule

When the interface begins to feel busy, remove emphasis before adding another colour. Neutral surfaces should make the primary action easy to find without demanding constant attention.


Typography sample card

Every login demo includes a sample content card so the heading, subheading and paragraph fonts can be compared in a realistic surface.

The demos load the fonts through the Google Fonts CSS API:

@import url(
  "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Lexend:wght@400;500;600;700&display=swap"
);

Recommended use:

  • Lexend for the card heading, subheading, labels and badges
  • Atkinson Hyperlegible for the paragraph and longer reading text

Example structure:

<article class="sample-card">
  <p class="sample-card__eyebrow">Typography sample</p>
  <h3>A calm and readable card heading</h3>
  <p class="sample-card__subheading">
    A concise subheading demonstrates Lexend at a smaller interface size.
  </p>
  <p class="sample-card__body">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  </p>
</article>