/* ============================================
   NFR-014: Color System with WCAG AA Compliance
   All colors tested for 4.5:1 contrast ratio
   ============================================ */

:root {
    /* Primary Colors */
    --deep-trust-blue: #1976D2;
    --deep-trust-blue-dark: #1565C0;
    --deep-trust-blue-light: #E3F2FD;
    
    /* Accent Colors */
    --energetic-orange: #FF9800;
    --energetic-orange-dark: #F57C00;
    --energetic-orange-light: #FFF3E0;
    
    /* Background Colors */
    --clean-cream: #FFF8E1;
    --clean-cream-dark: #FFF9C4;
    
    /* Neutral Colors */
    --neutral-gray: #595959;
    --neutral-gray-light: #757575;
    --neutral-gray-lighter: #BDBDBD;
    --neutral-gray-lightest: #E0E0E0;
    
    /* Status Colors */
    --success-green: #4CAF50;
    --success-green-light: #E8F5E9;
    
    --alert-red: #F44336;
    --alert-red-light: #FFEBEE;
    
    --warning-yellow: #FFC107;
    --warning-yellow-light: #FFF9C4;
    
    --info-blue: #2196F3;
    --info-blue-light: #E3F2FD;
    
    /* Text Colors (WCAG AA compliant) */
    --text-primary: #212121;        /* 16.1:1 on white */
    --text-secondary: #595959;      /* 7.0:1 on white */
    --text-on-primary: #FFFFFF;     /* 7.26:1 on blue */
    --text-on-dark: #FFFFFF;
}

/* === Color Utility Classes === */
.bg-primary {
    background-color: var(--deep-trust-blue);
    color: var(--text-on-primary);
}

.bg-accent {
    background-color: var(--energetic-orange);
    color: var(--text-on-dark);
}

.bg-cream {
    background-color: var(--clean-cream);
    color: var(--text-primary);
}

.bg-success {
    background-color: var(--success-green-light);
    color: var(--text-primary);
    border-left: 4px solid var(--success-green);
}

.bg-error {
    background-color: var(--alert-red-light);
    color: var(--text-primary);
    border-left: 4px solid var(--alert-red);
}

.bg-warning {
    background-color: var(--warning-yellow-light);
    color: var(--text-primary);
    border-left: 4px solid var(--warning-yellow);
}

.bg-info {
    background-color: var(--info-blue-light);
    color: var(--text-primary);
    border-left: 4px solid var(--info-blue);
}

/* === Text Color Utilities === */
.text-primary {
    color: var(--text-primary);
}

.text-secondary {
    color: var(--text-secondary);
}

.text-blue {
    color: var(--deep-trust-blue);
}

.text-success {
    color: var(--success-green);
}

.text-error {
    color: var(--alert-red);
}

/* === Goal Badge Colors (Dynamic) === */
.goal-badge {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #FFFFFF;
    margin-right: 0.25rem;
}

.goal-badge--neutral {
    background-color: var(--neutral-gray);
}

/* === Dark Mode Support (Future) === */
@media (prefers-color-scheme: dark) {
    :root {
        --clean-cream: #1E1E1E;
        --text-primary: #E0E0E0;
        --text-secondary: #BDBDBD;
    }
}

