MZ Design System — Color Manifesto

Muzamna Technical Solutions

MZ Design System
Color Manifesto

The single source of truth for all color decisions across every section and project.

Version1.4
AuthorSeif Ahmed
DateMay 2025
ScopeAll MZ sections library

Building a Color System from Any Logo

Copy this exact prompt to Claude when starting a new website project. Works for any logo — just describe the colors or upload the image. Perfect for new team members who need to spin up color systems fast.

📋 COPY THIS PROMPT →

“I have a logo with [describe colors, e.g., ‘forest green and golden yellow’ OR attach logo image].

Help me build a complete website color system from it following this structure:

1. Extract from logo:

• Primary color (main brand color) with 7 stops: 100-700
• Accent color(s) with 7 stops: 100-700

2. Generate neutrals:

• Warm or cool gray scale (9 stops: 100-900)
• Must complement the logo colors

3. Deliver full palette with:

• Hex codes for every stop
• CSS variable names (–mz-primary-400, etc.)
• Usage notes (which stop = buttons, backgrounds, text)

4. Strategy guide: Explain which colors go where — headers, buttons, backgrounds, body text, links, borders, hover states. Give me the complete system ready to code.”

✓ DO THIS Before You Start
✓ Upload logo image OR describe colors accurately
✓ Mention if you want warm/cool grays
✓ Ask for CSS variables format
✓ Request a usage table like the one in Section 03
✕ AVOID Common Mistakes
✕ Asking for “just the primary color”
✕ Skipping the neutral scale
✕ Not specifying stop count (100-700)
✕ Forgetting to ask for usage strategy
⚡ GOLDEN PRINCIPLE
Keep Neutrals Neutral = Professional Look
Your logo colors (primary + accent) handle brand identity. Neutrals provide breathing room and readability. Websites that colorize everything look chaotic. Let gray be gray. This is how Apple, Stripe, and Linear achieve their clean aesthetics.
🎯 What You’ll Get Back
1
Complete Primary Scale
7 stops + hex codes
2
Accent Palette
7 stops + usage
3
Neutral System
9 stops for text/bg
4
Usage Strategy
Where each color goes

The Three Ramps

Every color in every section comes from exactly one of these three ramps. If a color you want isn’t here, use a stop that is closest — don’t introduce new colors.

🟢 Primary — Green مهم / CTA / primary button / active states
primary-100 #EAF3DE section bg tint
primary-200 #C0DD97 light accents
primary-300 #97C459 light button
primary-400 #639922 ★ PRIMARY BUTTON
primary-500 #3B6D11 button hover
primary-600 #27500A dark sections
primary-700 #173404 deep dark bg
🟡 Accent — Amber icons / stars / badges / highlights / decorative
accent-100 #FAEEDA badge bg
accent-200 #FAC775 star icons
accent-300 #EF9F27 ★ ACCENT MAIN
accent-400 #BA7517 underlines
accent-500 #854F0B dark text on light
accent-600 #633806 badge text
accent-700 #412402 deep text
⬜ Neutral — Warm Gray all text / borders / card bg / section backgrounds
neutral-100 #F5F2EC ★ section bg
neutral-200 #E8E4DA alt section bg
neutral-300 #D3D1C7 ★ card border
neutral-400 #B4B2A9 strong border
neutral-500 #888780 ★ secondary text
neutral-600 #5F5E5A ★ body text
neutral-900 #1A1917 ★ headings

Background Alternation Pattern

Alternate backgrounds every section to create visual rhythm without using color. Every 3–4 sections, use one dark section as a break.

Section 1
mz-bg-white #FFFFFF
Section 2
mz-neutral-100 #F5F2EC
Section 3
mz-bg-white #FFFFFF
Section 4
mz-primary-600 #27500A DARK BREAK
Section 5
mz-neutral-100 #F5F2EC
Section 6
mz-bg-white #FFFFFF

Every Element → Correct Token

Use this as the lookup table before styling any element. If the element isn’t here, apply the nearest matching rule.

Element Token Color Status Note
Section BG (default) mz-neutral-100 ✓ Use Alternate with white every section
Section BG (alt) mz-bg-white ✓ Use Pure white — alternate with neutral-100
Section BG (CTA / dark) mz-primary-600 ✓ Use Max once every 3–4 sections
Heading text mz-neutral-900 ✓ Use All H1–H3. White on dark sections.
Body / paragraph mz-neutral-600 ✓ Use All descriptive text
Secondary text mz-neutral-500 ✓ Use Meta, captions, labels, dates
Primary button bg mz-primary-400 ✓ Use One per section max. White text.
Primary button hover mz-primary-500 ✓ Use Slightly darker + translateY(-1px)
Ghost / secondary button neutral-300 border + neutral-700 text ✓ Use Hover: neutral-100 bg + neutral-400 border
Card background mz-bg-white ✓ Use Always white — never primary / accent
Card border mz-neutral-300 ✓ Use 1px solid. Hover: neutral-400.
Icons mz-primary-400 or mz-accent-300 ✓ Use Primary for action icons, accent for decorative
Stars / rating mz-accent-300 ✓ Use Always amber. Never green for stars.
Badge / tag bg mz-primary-100 ✓ Use Text must be primary-600 from same ramp
Eyebrow pill mz-bg-white + neutral-300 border ✓ Use Text color: primary-400 or neutral-500
Accent as full BG mz-accent-* ✕ Never Accent is decoration only — never large BG
Primary for body text mz-primary-* ✕ Never Primary is not a text color
Accent as button bg mz-accent-* ✕ Never Buttons are always primary-400

Non-Negotiable Color Rules

Every decision must pass through these rules before it ships.

1
Background
Normal section → neutral-100
Alt section → white
CTA break → primary-600
❌ accent as background ever
2
Text
Heading → neutral-900
Paragraph → neutral-600
Secondary → neutral-500
Dark sections → white + neutral-300
❌ primary color for any text
3
Buttons
Primary → primary-400 bg, white text
Secondary → border + light bg only
❌ more than 1 primary button/section
❌ accent as any button color
4
Accent Usage
Icons, stars, badges, underlines
One highlighted word in title
❌ full text paragraphs
❌ large background areas
❌ buttons of any kind
5
Cards
bg → always white
border → neutral-300
title → neutral-900
text → neutral-600
distinction → accent touches only
❌ primary for card background
6
Hierarchy
Important → primary
Content → neutral
Details → secondary neutral
Touches → accent
7
Color Budget
primary → max 1–2 per section
accent → max 1–2 per section
neutral → unlimited
❌ 3+ colored elements in one section
8
Section Variation
Use stops: 100 / 200 / 300 / 600
Same stop = same purpose always
100 = light bg tint
600 = dark section bg
9
Dark Sections
Used for CTA or visual break
Max once per 3–4 sections
Text: white headings + neutral-300
Button: primary-300 or white
10
Hover States
Primary btn → 1 stop darker + lift
Ghost btn → neutral-100 bg appears
Cards → shadow + translateY(-2px)
Links → primary color or underline
❌ radical color change on hover
11
⭐ Golden Rule
✓ Important → primary
✓ Text → neutral
✓ Attention → accent

Interactive States (live demo)

Hover all elements below to see the correct behavior. No radical color changes — only depth and movement.

Primary Button primary-400 → 500
bg darkens one stop
+ translateY(-1px)
Ghost Button border + bg
neutral-100 bg appears
border goes neutral-400
Card shadow + lift
استبدال مفصل الركبة بعد سنوات من الألم…
translateY(-2px)
shadow appears
Rules what not to do
Radical color swap on hover
Accent color appears strongly on hover
Card background changes to primary
Text color changes on card hover