# Cyan Usage Audit - Action 11.3.1.1

**Date**: 2025-01-27  
**Scope**: All `kodo-cyan` usage across the codebase  
**Total Instances**: 965 matches across 217 files

## Summary

Cyan is currently used extensively throughout the application. This audit categorizes usage to identify opportunities for reducing overuse and applying the 80/20 rule (80% neutral, 20% color).

## Categories

### 1. Primary Actions (✅ Keep Cyan)
**Purpose**: Main CTAs, primary interactive elements  
**Count**: ~150 instances

**Examples**:
- Button default variant: `bg-kodo-cyan` (primary CTAs)
- Active navigation states: `text-kodo-cyan`, `bg-kodo-cyan/10`
- Focus rings: `focus-visible:ring-kodo-cyan`
- Primary links and important actions
- Active tab indicators
- Selected states in lists

**Files**:
- `apps/web/src/components/ui/button.tsx` - Primary button variant
- `apps/web/src/components/layout/Sidebar.tsx` - Active nav items
- `apps/web/src/components/ui/tabs.tsx` - Active tabs
- `apps/web/src/pages/DashboardPage.tsx` - Primary actions
- `apps/web/src/features/library/pages/LibraryPage.tsx` - Primary filters/actions

### 2. Secondary Actions (⚠️ Replace with Steel)
**Purpose**: Non-primary buttons, hover states, borders  
**Count**: ~200 instances

**Examples**:
- Hover states on outline buttons: `hover:border-kodo-cyan/50`
- Secondary button borders
- Non-primary interactive elements
- Icon buttons (non-primary)
- Secondary navigation items

**Files**:
- `apps/web/src/components/ui/button.tsx` - Outline variant hover
- `apps/web/src/components/layout/Header.tsx` - Secondary nav items
- `apps/web/src/components/views/FileManagerView.tsx` - Secondary actions
- `apps/web/src/features/tracks/components/TrackFilters.tsx` - Filter buttons

### 3. Decorative/Background (⚠️ Reduce or Replace)
**Purpose**: Backgrounds, borders, decorative elements  
**Count**: ~300 instances

**Examples**:
- Backgrounds with opacity: `bg-kodo-cyan/10`, `bg-kodo-cyan/20`
- Decorative borders: `border-kodo-cyan/30`
- Empty state icons: `text-kodo-cyan`
- Section headers: `text-kodo-cyan`
- Card borders and highlights
- Progress indicators (non-critical)

**Files**:
- `apps/web/src/components/ui/KodoEmptyState.tsx` - Icon and border
- `apps/web/src/components/views/StudioView.tsx` - Decorative elements
- `apps/web/src/components/ui/progress.tsx` - Progress bars
- `apps/web/src/components/education/CourseCard.tsx` - Card decorations
- `apps/web/src/components/social/PostCard.tsx` - Card highlights

### 4. Informational (⚠️ Consider Steel or Keep)
**Purpose**: Info alerts, status indicators, metadata  
**Count**: ~150 instances

**Examples**:
- Info toasts: `bg-kodo-cyan/10 border-kodo-cyan/30`
- Status indicators
- Metadata highlights
- Info badges
- Loading spinners

**Files**:
- `apps/web/src/components/feedback/Toast.tsx` - Info variant
- `apps/web/src/components/feedback/Alert.tsx` - Info variant
- `apps/web/src/components/ui/Spinner.tsx` - Loading states
- `apps/web/src/components/OfflineIndicator.tsx` - Status indicator

### 5. Focus/Interaction States (✅ Keep Cyan)
**Purpose**: Focus rings, active states, keyboard navigation  
**Count**: ~100 instances

**Examples**:
- Focus rings: `focus-visible:ring-kodo-cyan`
- Active states: `active:bg-kodo-cyan`
- Keyboard navigation highlights
- Input focus states

**Files**:
- `apps/web/src/components/ui/input.tsx` - Focus states
- `apps/web/src/components/ui/select.tsx` - Focus states
- `apps/web/src/components/ui/checkbox.tsx` - Focus states
- All form components with focus rings

### 6. Text/Links (⚠️ Review Context)
**Purpose**: Text color, links, headings  
**Count**: ~65 instances

**Examples**:
- Links: `text-kodo-cyan hover:text-kodo-cyan`
- Headings: `text-kodo-cyan`
- Emphasized text
- Helper text

**Files**:
- `apps/web/src/components/layout/Header.tsx` - Links
- `apps/web/src/features/auth/components/TwoFactorVerify.tsx` - Links
- `apps/web/src/components/views/ProfileView.tsx` - Text highlights

## Recommendations

### High Priority (Action 11.3.1.2)
1. **Replace secondary action borders** with `kodo-steel`
   - Outline button hover states
   - Secondary navigation borders
   - Non-primary card borders

2. **Reduce decorative backgrounds**
   - Replace `bg-kodo-cyan/10` with `bg-kodo-steel/10` for non-primary elements
   - Keep cyan backgrounds only for primary CTAs and active states

3. **Update empty state icons**
   - Consider using `kodo-steel` for decorative icons
   - Keep cyan only for actionable icons

### Medium Priority
4. **Review informational elements**
   - Consider using `kodo-steel` for info alerts (non-critical)
   - Keep cyan for success/important info

5. **Audit text/links**
   - Replace non-primary links with steel
   - Keep cyan for primary navigation links

### Low Priority
6. **Maintain primary actions**
   - Keep all primary button variants
   - Keep active navigation states
   - Keep focus rings

## Target Distribution (80/20 Rule)

**Current**: ~40% cyan usage (estimated)  
**Target**: ~20% cyan usage

**Breakdown**:
- **80% Neutral**: Use `kodo-steel`, `kodo-graphite`, `kodo-ink` for backgrounds, borders, secondary elements
- **20% Color**: Use `kodo-cyan` only for:
  - Primary CTAs
  - Active states
  - Focus rings
  - Critical status indicators
  - Primary navigation

## Files Requiring Changes

### High Impact (Many instances):
1. `apps/web/src/components/ui/button.tsx` - Button variants
2. `apps/web/src/components/layout/Sidebar.tsx` - Navigation
3. `apps/web/src/components/views/StudioView.tsx` - Decorative elements
4. `apps/web/src/components/ui/KodoEmptyState.tsx` - Empty states
5. `apps/web/src/components/views/FileManagerView.tsx` - Secondary actions
6. `apps/web/src/features/tracks/components/TrackFilters.tsx` - Filters
7. `apps/web/src/components/education/CourseCard.tsx` - Cards
8. `apps/web/src/components/social/PostCard.tsx` - Cards

### Medium Impact:
- All view components with decorative cyan
- Form components with secondary cyan borders
- Card components with cyan highlights

## Next Steps

1. ✅ **Action 11.3.1.1**: Audit complete
2. ⏭️ **Action 11.3.1.2**: Replace secondary cyan with steel (non-primary actions)
3. ⏭️ **Action 11.3.1.3**: Apply 80/20 rule (80% neutral, 20% color)

## Notes

- This audit is based on pattern matching and may require manual review for context-specific decisions
- Some decorative uses may be intentional for brand consistency
- Focus states and active states should remain cyan for accessibility
- Primary CTAs must remain cyan for clear visual hierarchy
