Clean up hardcoded hex colors in app/components/ and replace with $slp- design tokens

Summary

An audit of app/components/ revealed ~30+ hardcoded hex color values across ~15 files. Many of these are exact matches to existing slippers-ui design tokens and can be replaced directly. Others are close approximations or represent gaps in the token library.

This issue tracks the cleanup effort to improve design consistency and reduce drift from the token system.

Related: #971 (Typography design token naming)


Exact Token Matches (find-and-replace, zero visual change)

These hex values are identical to existing tokens and can be swapped safely.

Hex Token File(s)
#171321 $color-surface-700 / $color-text-300 templates/DevSurveyLanding.vue (2x), partners/GroupButtons.vue, solutions/GroupButtons.vue, free-trial/DevSecOpsHero.vue
#45424d $color-surface-600 gitlab-duo/Faq.vue, gitlab-duo/Intro.vue, gitlab-duo/Addons.vue, gitlab-duo/GartnerBanner.vue, common/RecognitionCards.vue, platform/FeaturedCta.vue, why-gitlab/TenReasons.vue
#f2f1f5 $color-surface-100 templates/DevSurveyLanding.vue
#e8e7eb $color-surface-200 common/MktoForm.vue
#d1d0d3 $color-surface-300 templates/CaseStudy.vue (box-shadow)
#a2a1a6 $color-surface-400 gitlab-duo/Faq.vue
#74717A $color-surface-500 / $color-text-200 releases/whats-new/FeatureList.vue
#7759C2 $color-accent-500 / $color-text-link-100 common/About.vue, company/CopyAbout.vue
#e3d6ff $color-surface-950 company/ByTheNumbers.vue (gradient start)
#ffd4d8 $color-alert-100 company/ByTheNumbers.vue (gradient end)
#F6F3FE $color-surface-800 common/AccordionFlourish.vue (default prop)
#fff / #FFFFFF $color-surface-50 / $color-text-50 templates/DevSurveyLanding.vue
Edited by Megan Filo