COLOR SYSTEM: Production color system from Figma
PALETTE: 4 Brand Colors | 5 Utility Colors | Neutral System | Special Colors
SHADES: Tailwind-style numbering (100-950)
This color system uses descriptive naming with common sense semantics (red = critical, green = positive) rather than enforced semantic meaning, making colors suitable for both UI and data visualization. Each color has 10 shades plus semantic aliases for convenient use.
Brand Colors: Core colors defining the platform's visual identity. Each has a designated base shade (500) and 10 total shades for hierarchical use. 4 ramps: Primary (navy), Secondary (sky-blue), Accent (legacy orange-red, project-only), Blue (true-blue).
Used for main actions across the system. Aliases: --color-primary → --color-primary-500
Sky-blue brand secondary. Base 500: #35A7E7. Matches Figma "Brand Secondary". Used for hero banners, accent tints, and info accents.
Legacy orange-red ramp inherited from A-Plus. Preserved as project-specific extension; NOT in Applicaa One Identity Figma. Base 500: #EC634B.
True-blue brand accent. Base 500: #3478F6. Matches Figma "Blue". Distinct from Secondary sky-blue. Alias: --color-info → --color-blue-500. For navy-leaning info badges use --color-state-info-*.
Link Blue: Distinct hue from --color-blue-*. Used for links, focus rings, focused-input border, and primary CTAs.
#2C7ECD · links, focus rings, primary CTA
#2664BB · link / CTA hover
#DCEBFB · link-flavored chip / pill bg
Utility Colors: Common sense colors for UI feedback and data visualization. Red = critical, Green = positive, Yellow = caution/warning, Orange = saturated brand accent, Magenta = data expansion.
Warning/caution amber. Base 500: #FFA940. Matches Figma "Yellow". Use dark text for contrast. --color-warning alias points here.
Saturated orange brand accent for promo treatments. Base 500: #F06500. Matches Figma "Orange". Distinct from Yellow.
Aliases: --color-danger → --color-red-500
Aliases: --color-success → --color-green-500
Additional color for data visualization expansion.
Neutral Colors: Universal colors for backgrounds and text hierarchy. Solid neutrals plus translucent variants for overlays and subtle UI elements.
Aliases: --color-light → --color-neutral-100, --color-dark → --color-neutral-900
Base: rgba(37, 58, 106, opacity). Used for texts, shadows, lines, borders, and neutral button appearances.
Special Colors: Specifically tuned for dedicated uses in the platform.
For page backgrounds only. --color-background
For table headers only. --color-table-header
Semantic Names: Convenient aliases for common use cases. All point to shade 500 of their respective colors.
primary
→ primary-500
success
→ green-500
danger
→ red-500
warning
→ yellow-500 (amber, post-Round-1.5)
info
→ blue-500
light
→ neutral-100
dark
→ neutral-900
Note about Secondary (Round 1.5 change):
After Round 1.5, --color-secondary now points to sky-blue (secondary-500 = #35A7E7), matching Figma "Brand Secondary". The legacy orange-red is preserved at --color-accent-*. For component variants like .tw-btn-secondary, neutral colors are used regardless to maintain usability. The --color-warning alias now points to --color-yellow-500 (amber), not the new saturated orange.
Color Pairing: Recommended color combinations for charts and data visualization. See the full analysis document for detailed guidance.
Accessibility Notes:
State Trios: Fixed three-value palette per state. Use for badges, callouts, validation. Tokens: --color-state-{success|danger|warning|info}-{bg|border|ink}.
Ofsted Bands: Convenience aliases for the four Ofsted rating bands used on school cards / profiles.
#237804
#2C7ECD (= --color-link)
#D46B08
#A8071A
Primary Ink/Display: Additive aliases on top of --color-primary (#263C91 action navy). Use ink for body headings, display for hero / display headings.
#263C91 · action navy (unchanged)
#253A6A · body headings
#09326A · display headings
Lines + Surfaces: Named tokens for the most common borders and surface backgrounds across the design system.
#E2E6ED · card / input border
#DDDDDD · section dividers
#F3F4F7 · row hover / muted bg
#FFFFFF · default surface
#F0F8FF · hero wash
#F3F4F7 · muted surface
Singletons: Single-shade tokens with a dedicated purpose. Not part of a numbered ramp.
#000000 (Figma "Custom Colors")
#EEF1F6 (production exact)
#C9D6EC
#FFFFFF
Quick Reference
Brand: primary (navy) | secondary (sky-blue) | accent (legacy orange-red, project-only) | blue (true-blue)
Utility: yellow (caution/warning) | orange (saturated) | red | green | magenta
Neutral: neutral-0 through neutral-950 | neutral-translucent-100 through neutral-translucent-950
Special: background | table-header | black
Semantic Aliases: primary | success (green) | danger (red) | warning (yellow) | info (blue) | light | dark
Utilities: .bg-{color}-{shade} | .text-{color}-{shade} | .border-{color}-{shade}
CSS Variables: var(--color-{name}-{shade}) (e.g., var(--color-primary-500))