3. Overall Architecture
3.1 Three-Panel Layout
Desktop (≥1024px):
ASCII Layout:
┌────────────────────────────────────────────────────────────────────────────┐
│ Top Bar (60px height) │
│ 🔍 Search | 🎛️ Filters (3) | Breadcrumbs | 👤 User | ❓ Help │
├─────────────┬──────────────────────────────────────────────────────────────┤
│ │ │
│ Left │ Main Content Area (fluid width) │
│ Sidebar │ │
│ (280px) │ ┌────────────────────────────────────────────────────┐ │
│ │ │ │ │
│ Dashboard │ │ Active View: │ │
│ ├─ 📊 Port │ │ - Portfolio Overview (default) │ │
│ ├─ 📋 Task │ │ - Multi-Project Kanban Board │ │
│ ├─ 📈 Anal │ │ - Timeline Chart (Gantt) │ │
│ ├─ 🔍 Sear │ │ - Analytics Dashboard │ │
│ │ │ │ │
│ Projects │ │ Content rendered based on view selection │ │
│ ├─ Core(3) │ │ (see sections 5-8 for detailed specs) │ │
│ ├─ Cloud(4)│ │ │ │
│ ├─ Dev(10) │ │ │ │
│ ├─ ... │ │ │ │
│ │ └────────────────────────────────────────────────────┘ │
│ Milestones │ │
│ ├─ Beta │ │
│ ├─ Pilot │ │
│ └─ GTM │ │
│ │ │
└─────────────┴──────────────────────────────────────────────────────────────┘
Dimensions:
- Top Bar: 100% width × 60px height (fixed)
- Left Sidebar: 280px width × calc(100vh - 60px) height (fixed)
- Main Content: calc(100vw - 280px) width × calc(100vh - 60px) height (fluid)
Behavior:
- Top Bar: Fixed position (always visible on scroll)
- Left Sidebar: Fixed position (always visible, scrollable internally)
- Main Content: Scrollable (overflow-y: auto)
3.2 Color System
Brand Colors:
/* Primary */
--primary-blue: #0066CC; /* Links, CTAs, focus states */
--primary-blue-dark: #004C99; /* Hover states */
--primary-blue-light: #E6F2FF; /* Backgrounds, highlights */
/* Status Colors */
--status-green: #00A651; /* >70% complete, success */
--status-yellow: #FFB700; /* 40-70% complete, warning */
--status-red: #DC3545; /* <40% complete, error */
--status-blue: #17A2B8; /* 100% complete, info */
/* Priority Colors */
--priority-p0: #DC3545; /* P0 - Critical */
--priority-p1: #FF6B00; /* P1 - High */
--priority-p2: #FFB700; /* P2 - Medium */
--priority-p3: #6C757D; /* P3 - Low */
/* Neutrals */
--gray-900: #212529; /* Primary text */
--gray-700: #495057; /* Secondary text */
--gray-500: #ADB5BD; /* Tertiary text, borders */
--gray-300: #DEE2E6; /* Dividers */
--gray-100: #F8F9FA; /* Backgrounds */
--white: #FFFFFF; /* Cards, modals */
Accessibility Notes:
- All text colors meet WCAG 2.1 AA contrast ratio (≥4.5:1 for normal text, ≥3:1 for large text)
- Status colors have distinct shapes (●■▲◆) for color-blind users
- Focus indicators use 2px solid blue outline (#0066CC)
3.3 Typography
/* Font Stack */
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
"Helvetica Neue", Arial, sans-serif;
/* Font Sizes */
--font-size-xs: 0.75rem; /* 12px - Labels, badges */
--font-size-sm: 0.875rem; /* 14px - Secondary text */
--font-size-base: 1rem; /* 16px - Body text */
--font-size-lg: 1.125rem; /* 18px - Headings H4 */
--font-size-xl: 1.25rem; /* 20px - Headings H3 */
--font-size-2xl: 1.5rem; /* 24px - Headings H2 */
--font-size-3xl: 2rem; /* 32px - Headings H1 */
/* Font Weights */
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;
/* Line Heights */
--line-height-tight: 1.25;
--line-height-base: 1.5;
--line-height-relaxed: 1.75;
3.4 Spacing System (8px Grid)
--spacing-xs: 0.25rem; /* 4px */
--spacing-sm: 0.5rem; /* 8px */
--spacing-md: 1rem; /* 16px */
--spacing-lg: 1.5rem; /* 24px */
--spacing-xl: 2rem; /* 32px */
--spacing-2xl: 3rem; /* 48px */
--spacing-3xl: 4rem; /* 64px */
Grid Usage:
- All margins, padding, and gaps use multiples of 8px
- Exception: Fine-tuning allowed for 4px (half-grid)