# Vera Design System Guidelines
## Master Order Dashboard Design Reference
> **Version:** 1.0
> **Last Updated:** January 2026
> **Reference Implementation:** Bill Tracking Dashboard
This document captures all design patterns, colors, typography, and component styles used in the Bill Tracking Dashboard. Use this as a reference when building new dashboards to maintain consistency.
---
## Table of Contents
1. [Theme System](#1-theme-system)
2. [Color Palette](#2-color-palette)
3. [Typography](#3-typography)
4. [Spacing System](#4-spacing-system)
5. [Border & Shadows](#5-border--shadows)
6. [Odoo Navigation Bar](#6-odoo-navigation-bar)
7. [Dashboard Header Bar](#7-dashboard-header-bar)
8. [Component Library](#8-component-library)
9. [Layout Patterns](#9-layout-patterns)
10. [Responsive Design](#10-responsive-design)
11. [Icons](#11-icons)
12. [Interactive States](#12-interactive-states)
13. [Code Snippets](#13-code-snippets)
---
## 1. Theme System
### 1.1 CSS Variables
All theme colors are defined as CSS variables in `master_order_theme_variables.scss`:
```scss
:root {
// Primary Colors (change per theme)
--mo-theme-primary: #4682B4;
--mo-theme-primary-dark: #3A6D99;
--mo-theme-primary-light: #5B9BD5;
--mo-theme-primary-pale: #E8F4FC;
// Background Colors
--mo-theme-background: #F9FAFB;
--mo-theme-card-bg: #FFFFFF;
--mo-theme-border: #D9D9D9;
// Text Colors
--mo-theme-text: #1d1d1f;
--mo-theme-text-muted: #86868b;
}
```
### 1.2 Available Themes
| Theme Name | Primary | Background | Use Case |
|------------|---------|------------|----------|
| **Vera Blue Eye** | `#4682B4` | `#F9FAFB` | Default, eye-friendly |
| **Vera Excel** | `#23764A` | `#FFFFFF` | Excel-like, pure white |
| **Ocean Teal** | `#017e84` | `#F8F9FA` | Odoo Enterprise style |
### 1.3 Theme Switcher Component
```xml
```
### 1.4 Using Theme Variables
Always use CSS variables instead of hardcoded colors:
```scss
// ✅ GOOD - Theme aware
.my-element {
color: var(--mo-theme-primary);
background: var(--mo-theme-background);
border: 1px solid var(--mo-theme-border);
}
// ❌ BAD - Hardcoded
.my-element {
color: #4682B4;
background: #F9FAFB;
}
```
---
## 2. Color Palette
### 2.1 Primary Theme Colors
| Variable | Vera Blue Eye | Vera Excel | Ocean Teal |
|----------|---------------|------------|------------|
| `--mo-theme-primary` | `#4682B4` | `#23764A` | `#017e84` |
| `--mo-theme-primary-dark` | `#3A6D99` | `#1A5A38` | `#015d62` |
| `--mo-theme-primary-light` | `#5B9BD5` | `#2D8F5E` | `#02a5ad` |
| `--mo-theme-primary-pale` | `#E8F4FC` | `#E8F5ED` | `#E8F8F9` |
### 2.2 Status Colors
| Status | Dot Color | Badge Background | Text Color |
|--------|-----------|------------------|------------|
| **Paid** | `#34c759` | `#d4edda` | `#155724` |
| **Partial** | `var(--mo-theme-primary)` | `--mo-theme-primary-pale` | `--mo-theme-primary` |
| **Not Paid** | `#ff3b30` | `#f8d7da` | `#721c24` |
| **Pending** | `#ff9500` | `#fff3cd` | `#856404` |
### 2.3 Background Colors
| Element | Color | Usage |
|---------|-------|-------|
| Page Background | `var(--mo-theme-background)` | Main dashboard background |
| Card Background | `var(--mo-theme-card-bg)` / `#FFFFFF` | All cards |
| Hover Background | `rgba(0,0,0,0.02)` | Row hover states |
| Input Background | `#f5f5f7` | Form inputs, badges |
### 2.4 Semantic Colors
```scss
// Success (Green)
$color-success: #34c759;
$color-success-bg: #d4edda;
$color-success-text: #155724;
// Warning (Yellow/Orange)
$color-warning: #ff9500;
$color-warning-bg: #fff3cd;
$color-warning-text: #856404;
// Danger (Red)
$color-danger: #ff3b30;
$color-danger-bg: #f8d7da;
$color-danger-text: #721c24;
// Muted (Gray)
$color-muted: #86868b;
$color-muted-bg: #f5f5f7;
```
---
## 3. Typography
### 3.1 Font Stack
```scss
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
```
### 3.2 Font Sizes
| Element | Size | Weight | Line Height |
|---------|------|--------|-------------|
| Page Title | `28px` | 600 | 1.2 |
| Subtitle | `13px` | 400 | 1.4 |
| Card Value (Large) | `24px` | 600 | 1.2 |
| Card Label | `12px` | 500 | 1.4 |
| Card Sub-text | `11px` | 400 | 1.4 |
| Customer Name | `16px` | 600 | 1.3 |
| Bill Number | `13px` | 600 | 1.4 |
| Badge Text | `11px` | 500 | 1 |
| Small Text | `10px` | 400 | 1.4 |
### 3.3 Text Colors
| Type | Color | Usage |
|------|-------|-------|
| Primary Text | `#1d1d1f` | Headlines, important values |
| Secondary Text | `#86868b` | Labels, descriptions |
| Muted Text | `#6c757d` | Hints, timestamps |
| Link Text | `var(--mo-theme-primary)` | Clickable elements |
| Danger Text | `#ff3b30` | Negative values, warnings |
| Success Text | `#34c759` | Positive values |
---
## 4. Spacing System
### 4.1 Base Units
Use multiples of 4px for consistency:
| Name | Size | Usage |
|------|------|-------|
| `xs` | `4px` | Icon margins, tight gaps |
| `sm` | `8px` | Badge padding, small gaps |
| `md` | `12px` | Component gaps |
| `lg` | `16px` | Section gaps |
| `xl` | `24px` | Card padding, grid gaps |
| `2xl` | `32px` | Section margins |
| `3xl` | `48px` | Major section breaks |
### 4.2 Page Layout
```scss
.dashboard {
padding: 32px 40px 240px 40px; // Top Right Bottom Left
// Note: 240px bottom for generous scroll space
}
```
### 4.3 Card Spacing
```scss
.summary-card {
padding: 20px;
gap: 24px; // Grid gap between cards
margin-bottom: 48px; // Before divider
}
.customer-card {
padding: 20px;
gap: 16px; // Between elements inside
}
```
---
## 5. Border & Shadows
### 5.1 Border Radius
| Element | Radius |
|---------|--------|
| Cards (Summary/Customer) | `16px` |
| Buttons | `8px` |
| Badges | `6px` |
| Progress Bars | `4px` |
| Small Elements | `4px` |
### 5.2 Border Color
```scss
border: 1px solid var(--mo-theme-border, #D9D9D9);
```
### 5.3 Shadows
| State | Shadow |
|-------|--------|
| Default Card | `0 2px 12px rgba(0, 0, 0, 0.03)` |
| Hover Card | `0 8px 24px rgba(70, 130, 180, 0.15)` |
| Elevated | `0 4px 20px rgba(0, 0, 0, 0.04)` |
### 5.4 Dividers
```scss
// Section Divider
&::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: var(--mo-theme-border, #D9D9D9);
}
```
---
## 6. Odoo Navigation Bar
The main Odoo navigation bar (top menu) follows the theme colors for a cohesive branded experience.
### 6.1 Navigation Bar Structure
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ [App Icon] Master Orders │ Dashboard │ Bill Tracking │ ... │ + │ 🔔 │ User │
└─────────────────────────────────────────────────────────────────────────────┘
```
### 6.2 Navigation Bar Colors
| Element | Color |
|---------|-------|
| Background | `var(--mo-theme-primary-dark)` |
| Text | `rgba(255, 255, 255, 0.85)` |
| Hover Background | `var(--mo-theme-primary)` |
| Active Menu Item | `var(--mo-theme-primary)` |
### 6.3 Navigation Bar SCSS Override
```scss
// Override Odoo's default navbar to follow Master Order theme
.o_main_navbar {
background-color: var(--mo-theme-primary-dark) !important;
border-bottom: 1px solid var(--mo-theme-primary-dark) !important;
// App name/brand
.o_menu_brand {
color: white !important;
&:hover {
background-color: var(--mo-theme-primary) !important;
}
}
// Menu items
.o_menu_sections .o_nav_entry {
color: rgba(255, 255, 255, 0.85) !important;
&:hover, &:focus, &.active {
background-color: var(--mo-theme-primary) !important;
color: white !important;
}
}
// Dropdown menus
.dropdown-menu {
background-color: var(--mo-theme-primary-dark) !important;
border: 1px solid var(--mo-theme-primary) !important;
.dropdown-item {
color: rgba(255, 255, 255, 0.85) !important;
&:hover {
background-color: var(--mo-theme-primary) !important;
color: white !important;
}
}
}
// Right side icons (systray)
.o_menu_systray .o_nav_entry {
color: rgba(255, 255, 255, 0.85) !important;
&:hover {
background-color: var(--mo-theme-primary) !important;
}
}
}
```
### 6.4 Theme Color on Navigation
| Theme | Nav Background | Nav Hover |
|-------|---------------|-----------|
| **Vera Blue Eye** | `#3A6D99` | `#4682B4` |
| **Vera Excel** | `#1A5A38` | `#23764A` |
| **Ocean Teal** | `#015d62` | `#017e84` |
### 6.5 Important Note
The navigation bar uses `!important` to override Odoo's default styles. This ensures our theme colors take precedence.
---
## 7. Dashboard Header Bar
The header bar is a consistent element across all dashboards. It should always follow the theme colors.
### 6.1 Header Bar Structure
```xml
```
### 6.2 Header Bar Styling
```scss
.dashboard-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 32px;
padding: 16px 20px;
background: var(--mo-theme-card-bg, white);
border: 1px solid var(--mo-theme-border, #D9D9D9);
border-radius: 12px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
```
### 6.3 Title with Icon Box
```scss
.title {
font-size: 24px;
font-weight: 600;
color: var(--mo-theme-text, #1d1d1f);
display: flex;
align-items: center;
i {
color: var(--mo-theme-primary);
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: var(--mo-theme-primary-pale);
border-radius: 10px;
margin-right: 12px;
font-size: 22px;
}
}
.subtitle {
font-size: 13px;
color: var(--mo-theme-text-muted, #86868b);
margin-top: 4px;
margin-left: 52px; // Align with title text (after icon)
}
```
### 6.4 Filter Toggle
```scss
.filter-toggle {
display: flex;
align-items: center;
gap: 8px;
cursor: pointer;
font-size: 12px;
color: var(--mo-theme-text-muted);
padding: 6px 12px;
background: var(--mo-theme-primary-pale);
border-radius: 6px;
border: 1px solid var(--mo-theme-border, #D9D9D9);
&:hover {
border-color: var(--mo-theme-primary);
}
input[type="checkbox"] {
width: 16px;
height: 16px;
accent-color: var(--mo-theme-primary);
}
}
```
### 6.5 Refresh Button
```scss
.refresh-btn {
border-radius: 6px;
padding: 6px 12px;
font-size: 12px;
border: 1px solid var(--mo-theme-primary);
color: var(--mo-theme-primary);
background: transparent;
&:hover {
background: var(--mo-theme-primary);
color: white;
}
i {
margin-right: 4px;
}
}
```
### 6.6 View Toggle
```scss
.view-toggle {
display: flex;
gap: 2px;
background: var(--mo-theme-primary-pale);
padding: 3px;
border-radius: 8px;
border: 1px solid var(--mo-theme-border, #D9D9D9);
.btn {
padding: 6px 12px;
border-radius: 6px;
border: none;
font-size: 12px;
// Inactive state
&.btn-outline-secondary {
background: transparent;
color: var(--mo-theme-text-muted);
&:hover {
background: rgba(255,255,255,0.7);
color: var(--mo-theme-primary);
}
}
// Active state
&.btn-primary {
background: linear-gradient(135deg,
var(--mo-theme-primary) 0%,
var(--mo-theme-primary-light) 100%);
color: white;
box-shadow: 0 2px 8px rgba(70, 130, 180, 0.25);
}
}
}
```
### 6.7 Theme Switcher Dots
```scss
.theme-switcher {
display: flex;
align-items: center;
gap: 6px;
padding: 4px 8px;
background: rgba(0, 0, 0, 0.04);
border-radius: 20px;
.theme-dot {
width: 18px;
height: 18px;
border-radius: 50%;
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease;
padding: 0;
&:hover {
transform: scale(1.2);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
// Each theme has gradient showing primary + background
&.theme-blue-eye {
background: linear-gradient(135deg, #4682B4 60%, #F9FAFB 100%);
border: 1px solid #4682B4;
}
&.theme-excel {
background: linear-gradient(135deg, #23764A 60%, #FFFFFF 100%);
border: 1px solid #23764A;
}
&.theme-teal {
background: linear-gradient(135deg, #017e84 60%, #F8F9FA 100%);
border: 1px solid #017e84;
}
}
}
```
---
## 8. Component Library
### 6.1 Summary Cards
```scss
.summary-card {
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 20px;
background: var(--mo-theme-card-bg, white);
border-radius: 16px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
border: 1px solid var(--mo-theme-border, #D9D9D9);
}
.summary-card-icon {
width: 44px;
height: 44px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, var(--mo-theme-primary-pale) 0%, white 100%);
color: var(--mo-theme-primary);
font-size: 18px;
}
.summary-card-value {
font-size: 24px;
font-weight: 600;
color: #1d1d1f;
}
.summary-card-label {
font-size: 12px;
font-weight: 500;
color: #86868b;
}
.summary-card-sub {
font-size: 11px;
color: #86868b;
}
```
### 6.2 Customer/Entity Cards
```scss
.entity-card {
background: var(--mo-theme-card-bg, white);
border-radius: 16px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);
border: 1px solid var(--mo-theme-border, #D9D9D9);
padding: 20px;
cursor: pointer;
transition: all 0.3s ease;
&:hover {
box-shadow: 0 8px 24px rgba(70, 130, 180, 0.15);
border-color: var(--mo-theme-primary);
}
}
```
### 6.3 Status Badges (Dot Style)
```scss
.status-badge {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 11px;
font-weight: 500;
white-space: nowrap;
&::before {
content: "●";
font-size: 8px;
}
// Paid - Green
&.badge-paid {
color: #34c759;
&::before { color: #34c759; }
}
// Partial - Theme Primary
&.badge-partial {
color: var(--mo-theme-primary);
&::before { color: var(--mo-theme-primary); }
}
// Not Paid - Red
&.badge-not_paid {
color: #ff3b30;
&::before { color: #ff3b30; }
}
// Pending - Orange
&.badge-pending {
color: #ff9500;
&::before { color: #ff9500; }
}
}
```
### 6.4 Logistics Badges (Pill Style)
```scss
.logistics-badge {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 3px 10px;
border-radius: 6px;
font-size: 11px;
font-weight: 500;
white-space: nowrap;
// Default (CTN count)
background: #f5f5f7;
color: #6c757d;
// Sent - Green
&.badge-sent {
background: #d4edda;
color: #155724;
}
// Remain - Yellow (if has value)
&.badge-remain.has-value {
background: #fff3cd;
color: #856404;
}
// Remain - Gray (if zero)
&.badge-remain {
background: #f5f5f7;
color: #6c757d;
}
}
```
### 6.5 Progress Bars
```scss
.progress-bar-container {
height: 4px;
background: #f2f2f7;
border-radius: 4px;
overflow: hidden;
}
.progress-bar-fill {
height: 100%;
border-radius: 4px;
transition: width 0.3s ease;
// Default - Theme Primary
background: linear-gradient(90deg,
var(--mo-theme-primary) 0%,
var(--mo-theme-primary-light) 100%);
// 100% - Green
&.complete {
background: linear-gradient(90deg, #34c759 0%, #30d158 100%);
}
}
.progress-label {
font-size: 10px;
color: var(--mo-theme-primary);
margin-top: 4px;
}
```
### 6.6 Buttons
```scss
// Primary Action Button
.btn-primary-action {
background: linear-gradient(135deg,
var(--mo-theme-primary) 0%,
var(--mo-theme-primary-light) 100%);
color: white;
border: none;
border-radius: 8px;
padding: 8px 16px;
font-size: 12px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
&:hover {
background: linear-gradient(135deg,
var(--mo-theme-primary-dark) 0%,
var(--mo-theme-primary) 100%);
box-shadow: 0 4px 12px rgba(70, 130, 180, 0.3);
}
}
// Icon Button
.btn-icon {
width: 28px;
height: 28px;
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
border: 1px solid #e5e5ea;
color: #86868b;
cursor: pointer;
transition: all 0.2s ease;
&:hover {
background: #f5f5f7;
color: var(--mo-theme-primary);
}
}
```
---
## 7. Layout Patterns
### 7.1 Dashboard Structure
```xml
```
### 7.2 Grid Layouts
```scss
// Summary Cards Grid
.summary-cards-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 24px;
}
// Entity Cards Grid
.entity-cards-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 16px;
}
```
### 7.3 Card Internal Layout
```scss
// Two-row layout for bill items
.bill-row {
display: flex;
flex-direction: column;
gap: 8px;
padding: 12px;
.bill-top {
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.bill-bottom {
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
flex-wrap: wrap;
}
}
```
---
## 8. Responsive Design
### 8.1 Breakpoints
| Name | Width | Target |
|------|-------|--------|
| Desktop | `> 1024px` | Full layout |
| Tablet | `768px - 1024px` | Reduced columns |
| Mobile | `480px - 768px` | Stacked layout |
| Small Mobile | `< 480px` | Minimal layout |
### 8.2 Responsive SCSS
```scss
// Tablet
@media (max-width: 1024px) {
.dashboard {
padding: 24px 24px 200px 24px;
}
.summary-cards-grid {
grid-template-columns: repeat(3, 1fr);
}
}
// Mobile
@media (max-width: 768px) {
.dashboard {
padding: 16px 16px 180px 16px;
}
.summary-cards-grid {
grid-template-columns: repeat(2, 1fr);
gap: 12px;
}
.entity-cards-grid {
grid-template-columns: 1fr;
}
}
// Small Mobile
@media (max-width: 480px) {
.summary-cards-grid {
grid-template-columns: 1fr;
}
.card-value {
font-size: 20px;
}
}
```
### 8.3 Scrolling Setup
```scss
// Override Odoo container restrictions
.o_action_manager,
.o_action_manager > .o_action,
.o_view_manager_content,
.o_content {
overflow-y: auto !important;
overflow-x: hidden !important;
height: auto !important;
max-height: none !important;
}
// Dashboard wrapper
.dashboard {
min-height: 100vh;
height: auto !important;
overflow: visible !important; // Let parent scroll
}
```
---
## 9. Icons
### 9.1 Icon Library
Using **Font Awesome 4.x** (available in Odoo).
### 9.2 Common Icons
| Use Case | Icon | Class |
|----------|------|-------|
| Money/Amount | 💰 | `fa-money` |
| Paid/Success | ✓ | `fa-check-circle` |
| Outstanding | ⊘ | `fa-exclamation-circle` |
| Delayed/Time | ⏱ | `fa-clock-o` |
| Shipping/CTN | 📦 | `fa-cubes` |
| Truck/Sent | 🚚 | `fa-truck` |
| CBM/Volume | ⬛ | `fa-cube` |
| Remain/Inbox | 📥 | `fa-inbox` |
| Bill/Document | 📄 | `fa-file-text-o` |
| User/Customer | 👤 | `fa-user` |
| Vendor | 🏢 | `fa-building` |
| Payment | 💳 | `fa-credit-card` |
| View/Eye | 👁 | `fa-eye` |
| Refresh | 🔄 | `fa-refresh` |
| Expand/Collapse | ▼▲ | `fa-chevron-down` / `fa-chevron-up` |
| Grid View | ⊞ | `fa-th-large` |
| List View | ☰ | `fa-list` |
### 9.3 Icon Styling
```scss
.icon {
font-size: 18px;
color: var(--mo-theme-primary);
// In badges
&.badge-icon {
font-size: 10px;
margin-right: 4px;
}
// In card headers
&.card-icon {
width: 44px;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
background: var(--mo-theme-primary-pale);
border-radius: 12px;
}
}
```
---
## 10. Interactive States
### 10.1 Hover States
```scss
// Card Hover
.card:hover {
box-shadow: 0 8px 24px rgba(70, 130, 180, 0.15);
border-color: var(--mo-theme-primary);
}
// Row Hover
.row:hover {
background: rgba(0, 0, 0, 0.02);
}
// Button Hover
.btn:hover {
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
// Link Hover
a:hover {
color: var(--mo-theme-primary-dark);
text-decoration: underline;
}
```
### 10.2 Transitions
```scss
// Standard transition
transition: all 0.3s ease;
// Smooth cubic bezier
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
// Quick transition (buttons)
transition: all 0.2s ease;
```
### 10.3 Focus States
```scss
// Accessible focus
:focus {
outline: 2px solid var(--mo-theme-primary);
outline-offset: 2px;
}
// Focus within cards
.card:focus-within {
border-color: var(--mo-theme-primary);
}
```
---
## 11. Code Snippets
### 11.1 Complete Summary Card
```xml
```
### 11.2 Complete Entity Card
```xml
```
### 11.3 Complete Bill Row
```xml
```
### 11.4 Theme Setter JavaScript
```javascript
async setTheme(themeName) {
// Apply immediately
document.documentElement.setAttribute('data-mo-theme', themeName);
document.body?.setAttribute('data-mo-theme', themeName);
localStorage.setItem('mo_theme', themeName);
// Save to backend
if (window.moTheme) {
await window.moTheme.setTheme(themeName);
}
}
```
---
## Quick Reference Card
### Colors to Remember
| Purpose | Color |
|---------|-------|
| Border | `#D9D9D9` |
| Background (Eye-friendly) | `#F9FAFB` |
| Card Background | `#FFFFFF` |
| Muted Text | `#86868b` |
| Primary Text | `#1d1d1f` |
| Success Green | `#34c759` |
| Warning Yellow | `#ff9500` |
| Danger Red | `#ff3b30` |
### Sizes to Remember
| Element | Size |
|---------|------|
| Card Border Radius | `16px` |
| Button Border Radius | `8px` |
| Badge Border Radius | `6px` |
| Card Padding | `20px` |
| Grid Gap | `16px` - `24px` |
| Page Bottom Padding | `240px` |
### Files to Update
| Component | File |
|-----------|------|
| Theme Variables | `static/src/scss/master_order_theme_variables.scss` |
| Dashboard Styles | `static/src/scss/[dashboard_name]_dashboard.scss` |
| Templates | `static/src/xml/[dashboard_name]_templates.xml` |
| JavaScript | `static/src/js/[dashboard_name]_dashboard.js` |
| Python Model | `models/res_users.py` (for theme field) |
---
*This design system ensures visual consistency across all Master Order dashboards.*