Prechádzať zdrojové kódy

refactor(beautify): D32 第七轮令牌收割 (hex 764->570)

- uni.scss 新增 22 个高频令牌(≥4 次出现):\-light/\-orange-700/-900/
  \-yellow-light/\-red/\-olive/\-success/\-line/
  \-green-800/\-bluegray-*/\-700/\-bright 等
- replace-hex-to-token.js 新增第七轮 84 条规则(含既有令牌 \-danger-tint-2/
  \-gold-deep/\-info-light/\-mind/\-blue/\-warning 等补登记)
- 96 个文件 213 处 style 块收编;uni.scss 编译校验通过
- 全站硬编码色 764 -> 570;其余 335 页最高债务 15
liaoxg 5 dní pred
rodič
commit
6d0db37a2c
98 zmenil súbory, kde vykonal 301 pridanie a 197 odobranie
  1. 1 1
      cfc-frontend/components/BadgeGrid.vue
  2. 1 1
      cfc-frontend/components/DimensionActivities.vue
  3. 1 1
      cfc-frontend/components/HealthBadge.vue
  4. 1 1
      cfc-frontend/components/HealthTimeline.vue
  5. 1 1
      cfc-frontend/components/RelatedContent.vue
  6. 2 2
      cfc-frontend/components/gate-lock.vue
  7. 3 3
      cfc-frontend/components/wuxing-sandbox.vue
  8. 1 1
      cfc-frontend/pages/achievement/index.vue
  9. 2 2
      cfc-frontend/pages/activity/activity-detail/activity-detail.vue
  10. 1 1
      cfc-frontend/pages/activity/index.vue
  11. 1 1
      cfc-frontend/pages/ai/chat.vue
  12. 1 1
      cfc-frontend/pages/ai/components/AITaskCard.vue
  13. 1 1
      cfc-frontend/pages/article-center/article-detail.vue
  14. 2 2
      cfc-frontend/pages/assessment-plan/detail.vue
  15. 2 2
      cfc-frontend/pages/assessment-plan/list.vue
  16. 9 9
      cfc-frontend/pages/assessment/execution.vue
  17. 3 3
      cfc-frontend/pages/assessment/rating.vue
  18. 3 3
      cfc-frontend/pages/child/tasks.vue
  19. 3 3
      cfc-frontend/pages/cognitive-test/language-test.vue
  20. 3 3
      cfc-frontend/pages/cognitive-test/logic-test.vue
  21. 5 5
      cfc-frontend/pages/cognitive-test/memory-test.vue
  22. 1 1
      cfc-frontend/pages/cognitive-test/perception-test.vue
  23. 2 2
      cfc-frontend/pages/dan-assessment/comparison.vue
  24. 4 4
      cfc-frontend/pages/dan-assessment/report-result.vue
  25. 1 1
      cfc-frontend/pages/diet/index.vue
  26. 3 3
      cfc-frontend/pages/diet/meal-config.vue
  27. 2 2
      cfc-frontend/pages/diet/recommendation.vue
  28. 2 2
      cfc-frontend/pages/diet/records.vue
  29. 2 2
      cfc-frontend/pages/discover-detail/product-detail/product-detail.vue
  30. 2 2
      cfc-frontend/pages/discover/circle-feed.vue
  31. 3 3
      cfc-frontend/pages/discover/circles.vue
  32. 2 2
      cfc-frontend/pages/discover/components/CircleDetail.vue
  33. 1 1
      cfc-frontend/pages/energy/detail.vue
  34. 1 1
      cfc-frontend/pages/family/manual-score-entry.vue
  35. 1 1
      cfc-frontend/pages/family/mbti-entry.vue
  36. 1 1
      cfc-frontend/pages/family/mbti-test.vue
  37. 1 1
      cfc-frontend/pages/family/self-check-ai.vue
  38. 2 2
      cfc-frontend/pages/family/self-check-result.vue
  39. 1 1
      cfc-frontend/pages/games/1a2b.vue
  40. 1 1
      cfc-frontend/pages/games/list.vue
  41. 2 2
      cfc-frontend/pages/games/schulte.vue
  42. 2 2
      cfc-frontend/pages/games/sudoku.vue
  43. 2 2
      cfc-frontend/pages/growth/detail.vue
  44. 2 2
      cfc-frontend/pages/growth/diet-checkin.vue
  45. 1 1
      cfc-frontend/pages/growth/sleep-checkin.vue
  46. 2 2
      cfc-frontend/pages/growth/upload.vue
  47. 1 1
      cfc-frontend/pages/health/challenge-manage.vue
  48. 2 2
      cfc-frontend/pages/health/doa-index.vue
  49. 2 2
      cfc-frontend/pages/health/doa-stage-detail.vue
  50. 6 6
      cfc-frontend/pages/health/gut-flora-foods-detail.vue
  51. 7 7
      cfc-frontend/pages/health/health-plan-summary.vue
  52. 6 6
      cfc-frontend/pages/health/health-status-form.vue
  53. 1 1
      cfc-frontend/pages/health/indicator-curve.vue
  54. 2 2
      cfc-frontend/pages/health/meditation-index.vue
  55. 2 2
      cfc-frontend/pages/health/physical-exam-detail.vue
  56. 1 1
      cfc-frontend/pages/health/report-blocks-renderer.vue
  57. 1 1
      cfc-frontend/pages/health/report-survey.vue
  58. 1 1
      cfc-frontend/pages/health/teacher-service.vue
  59. 2 2
      cfc-frontend/pages/home-pages/components/ContactImport.vue
  60. 2 2
      cfc-frontend/pages/home-pages/components/DailySummary.vue
  61. 4 4
      cfc-frontend/pages/home-pages/components/HealthAlertBanner.vue
  62. 2 2
      cfc-frontend/pages/home-pages/components/gate-guide-bar.vue
  63. 3 3
      cfc-frontend/pages/index-home/index.vue
  64. 1 1
      cfc-frontend/pages/mind-detail/emotion-trend.vue
  65. 1 1
      cfc-frontend/pages/mind-detail/index.vue
  66. 1 1
      cfc-frontend/pages/mind-detail/screening.vue
  67. 1 1
      cfc-frontend/pages/profile-extra/coupons.vue
  68. 3 3
      cfc-frontend/pages/profile-extra/family-members.vue
  69. 1 1
      cfc-frontend/pages/profile/service-role-apply.vue
  70. 2 2
      cfc-frontend/pages/promotion/index.vue
  71. 4 4
      cfc-frontend/pages/psych-assessment/quiz.vue
  72. 1 1
      cfc-frontend/pages/reminder-config/index.vue
  73. 1 1
      cfc-frontend/pages/shop/address/address.vue
  74. 1 1
      cfc-frontend/pages/shop/after-sales-detail/after-sales-detail.vue
  75. 2 2
      cfc-frontend/pages/shop/after-sales/after-sales.vue
  76. 1 1
      cfc-frontend/pages/shop/cart/cart.vue
  77. 1 1
      cfc-frontend/pages/shop/checkout/checkout.vue
  78. 1 1
      cfc-frontend/pages/shop/consignee-edit/consignee-edit.vue
  79. 1 1
      cfc-frontend/pages/shop/index/index.vue
  80. 3 3
      cfc-frontend/pages/shop/logistics/logistics.vue
  81. 6 6
      cfc-frontend/pages/shop/order-detail/order-detail.vue
  82. 4 4
      cfc-frontend/pages/shop/order-list/order-list.vue
  83. 2 2
      cfc-frontend/pages/splash/index.vue
  84. 1 1
      cfc-frontend/pages/teacher/families.vue
  85. 1 1
      cfc-frontend/pages/teacher/orders.vue
  86. 2 2
      cfc-frontend/pages/teacher/service-tasks.vue
  87. 1 1
      cfc-frontend/pages/teacher/teacher-profile.vue
  88. 1 1
      cfc-frontend/pages/tianpan/daily-fortune.vue
  89. 3 3
      cfc-frontend/pages/tianpan/index.vue
  90. 2 2
      cfc-frontend/pages/tianpan/related-items.vue
  91. 1 1
      cfc-frontend/pages/tianpan/relation-detail.vue
  92. 1 1
      cfc-frontend/pages/user-edit/user-edit.vue
  93. 1 1
      cfc-frontend/pages/vendor/order-review/order-review.vue
  94. 3 3
      cfc-frontend/pages/vendor/orders/orders.vue
  95. 3 3
      cfc-frontend/pages/vendor/product-edit/product-edit.vue
  96. 3 3
      cfc-frontend/pages/vendor/products/products.vue
  97. 81 0
      cfc-frontend/scripts/replace-hex-to-token.js
  98. 23 0
      cfc-frontend/uni.scss

+ 1 - 1
cfc-frontend/components/BadgeGrid.vue

@@ -44,7 +44,7 @@ export default {
   width: 80rpx;
   height: 80rpx;
   border-radius: 50%;
-  background: linear-gradient(135deg, $accent-gold, #FFA500);
+  background: linear-gradient(135deg, $accent-gold, $accent-gold-deep);
   display: flex;
   align-items: center;
   justify-content: center;

+ 1 - 1
cfc-frontend/components/DimensionActivities.vue

@@ -242,7 +242,7 @@ export default {
   width: 44rpx;
   height: 44rpx;
   border-radius: 12rpx;
-  background: linear-gradient(135deg, #FF6B9D, #FF8FB1);
+  background: linear-gradient(135deg, $dim-mind, #FF8FB1);
   display: flex;
   align-items: center;
   justify-content: center;

+ 1 - 1
cfc-frontend/components/HealthBadge.vue

@@ -73,7 +73,7 @@ export default {
 }
 .badge-level {
   font-size: 22rpx;
-  color: #047857;
+  color: $status-success-deep-2;
   font-weight: 600;
 }
 .badge-score {

+ 1 - 1
cfc-frontend/components/HealthTimeline.vue

@@ -59,7 +59,7 @@ export default {
 .dot-1 { background: $dim-wealth; }
 .dot-2 { background: $dim-wisdom; }
 .dot-3 { background: $brand-primary; }
-.dot-4 { background: #FF6B9D; }
+.dot-4 { background: $dim-mind; }
 .timeline-line {
   position: absolute;
   left: 9rpx;

+ 1 - 1
cfc-frontend/components/RelatedContent.vue

@@ -404,7 +404,7 @@ export default {
 }
 .ra-status.ongoing {
   background: $status-success-soft-2;
-  color: #166534;
+  color: $mat-green-800;
 }
 .ra-status.ended {
   background: $facade-fill-2;

+ 2 - 2
cfc-frontend/components/gate-lock.vue

@@ -90,7 +90,7 @@ export default {
   margin: 20rpx 30rpx;
 }
 .lock-card {
-  background: linear-gradient(135deg, #1A2A4A, #1E3A5F);
+  background: linear-gradient(135deg, #1A2A4A, $accent-navy);
   border-radius: 24rpx;
   padding: 40rpx 30rpx;
   display: flex;
@@ -135,7 +135,7 @@ export default {
   background: rgba(255,215,0,0.12);
 }
 .reward-energy {
-  color: #42A5F5;
+  color: $mat-blue-400;
   background: rgba(66,165,245,0.12);
 }
 .gate-btn {

+ 3 - 3
cfc-frontend/components/wuxing-sandbox.vue

@@ -610,7 +610,7 @@ export default {
 .wuxing-sandbox {
   margin: 20rpx 30rpx;
   padding: 20rpx 24rpx 24rpx;
-  background: linear-gradient(135deg, #1A2A4A, #1E3A5F, $app-ink-night-2);
+  background: linear-gradient(135deg, #1A2A4A, $accent-navy, $app-ink-night-2);
   border-radius: 24rpx;
   position: relative;
   overflow: hidden;
@@ -720,7 +720,7 @@ export default {
   box-shadow: 0 0 24rpx rgba(255,255,255,0.25);
 }
 .point-dot--fire { background: linear-gradient(135deg, $mind-accent, $mat-orange-strong); }
-.point-dot--water { background: linear-gradient(135deg, #42A5F5, $mat-blue-strong); }
+.point-dot--water { background: linear-gradient(135deg, $mat-blue-400, $mat-blue-strong); }
 .point-dot--earth { background: linear-gradient(135deg, $brown-warm, #5D4037); }
 .point-dot--metal { background: linear-gradient(135deg, $accent-gold, #FF8F00); }
 .point-dot--wood { background: linear-gradient(135deg, $mat-green, $mat-green-strong); }
@@ -772,7 +772,7 @@ export default {
 .dim-item--fire { color: $mind-accent; background: rgba(255,107,53,0.12); }
 .dim-item--earth { color: $brown-warm; background: rgba(141,110,99,0.12); }
 .dim-item--metal { color: $accent-gold; background: rgba(255,215,0,0.12); }
-.dim-item--water { color: #42A5F5; background: rgba(66,165,245,0.12); }
+.dim-item--water { color: $mat-blue-400; background: rgba(66,165,245,0.12); }
 
 /* ============================================================
 个人/全家切换开关

+ 1 - 1
cfc-frontend/pages/achievement/index.vue

@@ -167,7 +167,7 @@ export default {
   margin: 0 auto 12rpx;
 }
 .badge-icon-wrap.unlocked {
-  background: linear-gradient(135deg, $accent-gold, #FFA500);
+  background: linear-gradient(135deg, $accent-gold, $accent-gold-deep);
 }
 .badge-icon-wrap.locked {
   background: $facade-fill-4;

+ 2 - 2
cfc-frontend/pages/activity/activity-detail/activity-detail.vue

@@ -1100,8 +1100,8 @@ export default {
   margin-left: 30rpx;
   margin-right: 30rpx;
   margin-bottom: 10rpx;
-  background: #FEF2F2;
-  border: 2rpx solid #FECACA;
+  background: $status-danger-tint-2;
+  border: 2rpx solid $danger-line;
   border-radius: 12rpx;
   padding: 16rpx 20rpx;
   display: flex;

+ 1 - 1
cfc-frontend/pages/activity/index.vue

@@ -1065,7 +1065,7 @@ uni.showToast({ title: '请先选择家庭成员身份', icon: 'none' })
 }
 
 .status-rejected {
-  background: #FEF2F2;
+  background: $status-danger-tint-2;
   color: $status-danger;
 }
 

+ 1 - 1
cfc-frontend/pages/ai/chat.vue

@@ -799,7 +799,7 @@ export default {
 }
 
 .chat-voice-btn.voice-recording {
-  background: #FF6B6B;
+  background: $accent-coral;
 }
 
 .voice-icon {

+ 1 - 1
cfc-frontend/pages/ai/components/AITaskCard.vue

@@ -221,7 +221,7 @@ export default {
 }
 
 .accept-btn:disabled {
-  background-color: #FDBA74;
+  background-color: $mat-orange-300;
 }
 
 .btn-text {

+ 1 - 1
cfc-frontend/pages/article-center/article-detail.vue

@@ -498,7 +498,7 @@ export default {
 .quiz-dots { display: flex; align-items: center; gap: 8rpx; }
 .quiz-dot { width: 12rpx; height: 12rpx; border-radius: 50%; background: $facade-gray-200; }
 .quiz-dot.active { background: $brand-primary; }
-.quiz-dot.done { background: #FDBA74; }
+.quiz-dot.done { background: $mat-orange-300; }
 .q-title { font-size: 30rpx; font-weight: 600; color: $facade-text-strong; line-height: 1.5; margin-bottom: 20rpx; }
 .q-options { display: flex; flex-direction: column; gap: 12rpx; }
 .q-option-row { display: flex; align-items: center; padding: 16rpx 20rpx; border: 2rpx solid $facade-gray-200; border-radius: 12rpx; }

+ 2 - 2
cfc-frontend/pages/assessment-plan/detail.vue

@@ -188,11 +188,11 @@ export default {
 }
 .status-active { background: $mat-blue-tint; color: $mat-blue-strong; }
 .status-completed { background: $mat-green-tint; color: $mat-green-strong; }
-.status-cancelled { background: #ECEFF1; color: #78909C; }
+.status-cancelled { background: $mat-bluegray-50; color: $mat-bluegray-400; }
 .status-generated { background: $fortune-1-tint; color: $mat-orange-strong; }
 .status-reviewed { background: $mat-green-tint; color: $mat-green-strong; }
 .status-rejected { background: #FDE8E8; color: $status-danger-strong-2; }
-.status-unknown { background: #ECEFF1; color: #78909C; }
+.status-unknown { background: $mat-bluegray-50; color: $mat-bluegray-400; }
 
 /* ===== 元信息 ===== */
 .detail-meta {

+ 2 - 2
cfc-frontend/pages/assessment-plan/list.vue

@@ -161,11 +161,11 @@ export default {
 }
 .status-active { background: $mat-blue-tint; color: $mat-blue-strong; }
 .status-completed { background: $mat-green-tint; color: $mat-green-strong; }
-.status-cancelled { background: #ECEFF1; color: #78909C; }
+.status-cancelled { background: $mat-bluegray-50; color: $mat-bluegray-400; }
 .status-generated { background: $fortune-1-tint; color: $mat-orange-strong; }
 .status-reviewed { background: $mat-green-tint; color: $mat-green-strong; }
 .status-rejected { background: #FDE8E8; color: $status-danger-strong-2; }
-.status-unknown { background: #ECEFF1; color: #78909C; }
+.status-unknown { background: $mat-bluegray-50; color: $mat-bluegray-400; }
 
 /* ===== 维度 ===== */
 .plan-meta {

+ 9 - 9
cfc-frontend/pages/assessment/execution.vue

@@ -330,23 +330,23 @@ export default {
 }
 
 .status-icon.pending {
-  background: linear-gradient(135deg, #ffe0b2, #ffcc80);
+  background: linear-gradient(135deg, $mat-orange-100, #ffcc80);
 }
 
 .status-icon.pending .icon-circle {
-  background: linear-gradient(135deg, $mat-orange-base, #f57c00);
+  background: linear-gradient(135deg, $mat-orange-base, $mat-orange-700);
 }
 
 .status-icon.ready {
-  background: linear-gradient(135deg, #bbdefb, #90caf9);
+  background: linear-gradient(135deg, $mat-blue-light, #90caf9);
 }
 
 .status-icon.ready .icon-circle {
-  background: linear-gradient(135deg, $mat-blue-base, #1976d2);
+  background: linear-gradient(135deg, $mat-blue-base, $mat-blue);
 }
 
 .status-icon.completed {
-  background: linear-gradient(135deg, #c8e6c9, #a5d6a7);
+  background: linear-gradient(135deg, $mat-green-100, #a5d6a7);
 }
 
 .status-icon.completed .icon-circle {
@@ -436,7 +436,7 @@ export default {
 
 /* 评估师图标 */
 .assessor-icon {
-  background: linear-gradient(135deg, $mat-blue-tint, #bbdefb);
+  background: linear-gradient(135deg, $mat-blue-tint, $mat-blue-light);
 }
 .assessor-icon::after {
   content: '';
@@ -461,7 +461,7 @@ export default {
 
 /* 规划师图标 */
 .planner-icon {
-  background: linear-gradient(135deg, $mat-green-tint, #c8e6c9);
+  background: linear-gradient(135deg, $mat-green-tint, $mat-green-100);
 }
 .planner-icon::after {
   content: '';
@@ -486,7 +486,7 @@ export default {
 
 /* 确认图标 */
 .confirm-icon {
-  background: linear-gradient(135deg, $fortune-1-tint, #ffe0b2);
+  background: linear-gradient(135deg, $fortune-1-tint, $mat-orange-100);
 }
 .confirm-icon::after {
   content: '';
@@ -577,7 +577,7 @@ export default {
 }
 
 .btn-primary {
-  background: #1E3A5F;
+  background: $accent-navy;
   color: white;
   border: none;
 }

+ 3 - 3
cfc-frontend/pages/assessment/rating.vue

@@ -255,7 +255,7 @@ export default {
 }
 
 .assessor-section-icon {
-  background: linear-gradient(135deg, $mat-blue-tint, #bbdefb);
+  background: linear-gradient(135deg, $mat-blue-tint, $mat-blue-light);
 }
 .assessor-section-icon::after {
   content: '';
@@ -267,7 +267,7 @@ export default {
 }
 
 .planner-section-icon {
-  background: linear-gradient(135deg, $mat-green-tint, #c8e6c9);
+  background: linear-gradient(135deg, $mat-green-tint, $mat-green-100);
 }
 .planner-section-icon::after {
   content: '';
@@ -353,7 +353,7 @@ export default {
 }
 
 .btn-primary {
-  background: #1E3A5F;
+  background: $accent-navy;
   color: white;
   border: none;
 }

+ 3 - 3
cfc-frontend/pages/child/tasks.vue

@@ -519,7 +519,7 @@ export default {
 /* --- 超时状态 --- */
 .task-card--overdue {
   border-color: var(--color-error, $status-danger);
-  background: linear-gradient(145deg, #FEF2F2, $status-danger-soft);
+  background: linear-gradient(145deg, $status-danger-tint-2, $status-danger-soft);
   box-shadow: inset -2rpx -2rpx 6rpx rgba(239, 68, 68, 0.05),
     3rpx 3rpx 10rpx rgba(239, 68, 68, 0.08);
 }
@@ -575,8 +575,8 @@ export default {
 }
 
 .task-card--overdue .task-icon {
-  background: linear-gradient(145deg, #FEF2F2, #FECACA);
-  border-color: #FECACA;
+  background: linear-gradient(145deg, $status-danger-tint-2, $danger-line);
+  border-color: $danger-line;
 }
 
 .task-icon__emoji {

+ 3 - 3
cfc-frontend/pages/cognitive-test/language-test.vue

@@ -285,7 +285,7 @@ export default {
 }
 
 .btn-primary {
-  background: linear-gradient(135deg, $dim-wealth, #FBBF24);
+  background: linear-gradient(135deg, $dim-wealth, $status-warning);
   color: $app-ink-night;
   font-size: 34rpx;
   font-weight: bold;
@@ -342,7 +342,7 @@ export default {
 
 .timer-fill {
   height: 100%;
-  background: linear-gradient(90deg, $dim-wealth, #FBBF24);
+  background: linear-gradient(90deg, $dim-wealth, $status-warning);
   border-radius: 8rpx;
   transition: width 0.9s linear;
 }
@@ -402,7 +402,7 @@ export default {
 
 .cell-wrong {
   background: #4a2f35;
-  border-color: #ff6b6b;
+  border-color: $accent-coral;
 }
 
 /* ===== 结果页 ===== */

+ 3 - 3
cfc-frontend/pages/cognitive-test/logic-test.vue

@@ -362,7 +362,7 @@ export default {
 }
 .timer-fill {
   height: 100%;
-  background: linear-gradient(90deg, $accent-gold, #FFA500);
+  background: linear-gradient(90deg, $accent-gold, $accent-gold-deep);
   border-radius: 6rpx;
   transition: width 0.1s linear;
 }
@@ -424,7 +424,7 @@ export default {
   width: 240rpx;
   height: 240rpx;
   border-radius: 50%;
-  background: linear-gradient(135deg, $accent-gold, #FFA500);
+  background: linear-gradient(135deg, $accent-gold, $accent-gold-deep);
   display: flex;
   align-items: center;
   justify-content: center;
@@ -495,7 +495,7 @@ export default {
   margin-bottom: 0;
 }
 .btn--primary {
-  background: linear-gradient(135deg, $accent-gold, #FFA500);
+  background: linear-gradient(135deg, $accent-gold, $accent-gold-deep);
   color: $app-ink-night;
 }
 .btn--primary:active {

+ 5 - 5
cfc-frontend/pages/cognitive-test/memory-test.vue

@@ -343,7 +343,7 @@ export default {
   line-height: 96rpx;
   border-radius: 48rpx;
   background: transparent;
-  color: #a5b4fc;
+  color: $indigo-light;
   font-size: 32rpx;
   border: 2rpx solid rgba(99, 102, 241, 0.5);
 }
@@ -394,7 +394,7 @@ export default {
 }
 .rule-item {
   font-size: 24rpx;
-  color: #a5b4fc;
+  color: $indigo-light;
   background: rgba(99, 102, 241, 0.12);
   border-radius: 24rpx;
   padding: 10rpx 24rpx;
@@ -421,7 +421,7 @@ export default {
 }
 .progress-digit {
   font-size: 26rpx;
-  color: #a5b4fc;
+  color: $indigo-light;
   margin-top: 8rpx;
 }
 .progress-track {
@@ -556,7 +556,7 @@ export default {
 }
 .pad-key-ctrl text {
   font-size: 32rpx;
-  color: #a5b4fc;
+  color: $indigo-light;
 }
 
 /* 反馈动画 */
@@ -650,7 +650,7 @@ export default {
 .dimension-tag {
   margin-top: 24rpx;
   font-size: 26rpx;
-  color: #a5b4fc;
+  color: $indigo-light;
   background: rgba(99, 102, 241, 0.15);
   border: 2rpx solid rgba(99, 102, 241, 0.4);
   border-radius: 24rpx;

+ 1 - 1
cfc-frontend/pages/cognitive-test/perception-test.vue

@@ -397,7 +397,7 @@ export default {
 
 .cell-wrong {
   background: #4a2f35;
-  border-color: #ff6b6b;
+  border-color: $accent-coral;
 }
 
 /* ===== 结果页 ===== */

+ 2 - 2
cfc-frontend/pages/dan-assessment/comparison.vue

@@ -189,7 +189,7 @@ export default {
 .delta-item { padding: 12rpx 0; border-bottom: 1rpx solid $uni-border-color-light; display: flex; align-items: center; }
 .delta-code { flex: 1; font-size: 24rpx; color: $uni-text-color-secondary; }
 .delta-added { color: #32CD32; }
-.delta-removed { color: #FF6B6B; }
-.delta-modified { color: #FFA500; }
+.delta-removed { color: $accent-coral; }
+.delta-modified { color: $accent-gold-deep; }
 .empty-tip { padding: 60rpx 0; text-align: center; font-size: 26rpx; color: $app-text-subtle; }
 </style>

+ 4 - 4
cfc-frontend/pages/dan-assessment/report-result.vue

@@ -639,16 +639,16 @@ export default {
 <style scoped lang="scss">
 // ===== DAN 报告页专属色阶(紫罗兰主题 + 图表色板,单页专用;约定见 uni.scss §14)=====
 $c-rpt-bg:           #F3F2FA; // 页面底(淡紫)
-$c-rpt-brown:        #7C2D12; // 深棕徽章文字
+$c-rpt-brown:        $mat-orange-900; // 深棕徽章文字
 $c-rpt-cyan-1:       #A5F3FC; // 渐变青浅档(星级光谱)
 $c-rpt-cyan-2:       #67E8F9; // 渐变青深档
-$c-rpt-orange:       #FDBA74; // 需关注暖橙(徽章/渐变/边框)
+$c-rpt-orange:       $mat-orange-300; // 需关注暖橙(徽章/渐变/边框)
 $c-rpt-grid:         #EEF0F6; // 图表网格灰
 $c-rpt-violet-grid:  #F0ECFA; // 雷达网格/底(浅紫)
 $c-rpt-gray-line:    #C7C9D9; // 灰色分隔
 $c-rpt-violet-soft:  #C4B5FD; // 紫罗兰浅渐变起
-$c-rpt-yellow:       #FCD34D; // 黄渐变起
-$c-rpt-violet-text:  #6D28D9; // 紫罗兰文字
+$c-rpt-yellow:       $accent-amber-light; // 黄渐变起
+$c-rpt-violet-text:  $violet-700; // 紫罗兰文字
 $c-rpt-line:         #F1F2F7; // 浅紫分隔线
 $c-rpt-body:         #4B5563; // 正文灰
 $c-rpt-foot:         #B0B3C3; // 脚注灰

+ 1 - 1
cfc-frontend/pages/diet/index.vue

@@ -620,7 +620,7 @@ export default {
   margin-bottom: 12rpx;
   transition: transform 0.15s ease;
 }
-.nav-icon-green { background: linear-gradient(135deg, #FFF1E6, #FFE0C0); }
+.nav-icon-green { background: linear-gradient(135deg, $tint-warm-soft, #FFE0C0); }
 .nav-icon-blue  { background: linear-gradient(135deg, $uni-primary-pale, #FFEEDD); }
 .nav-icon-orange{ background: linear-gradient(135deg, $dim-body, $dim-body-light); }
 .nav-icon-purple{ background: linear-gradient(135deg, #FFE8D6, #FFD4B0); }

+ 3 - 3
cfc-frontend/pages/diet/meal-config.vue

@@ -247,8 +247,8 @@ export default {
   border-bottom: 1rpx solid $uni-border-color-light;
 }
 .meal-icon-wrap { width: 72rpx; height: 72rpx; border-radius: 22rpx; display: flex; align-items: center; justify-content: center; margin-right: 16rpx; }
-.meal-icon-breakfast { background: linear-gradient(135deg, #38BDF8, #BAE6FD); }
-.meal-icon-lunch     { background: linear-gradient(135deg, #FBBF24, #FCD34D); }
+.meal-icon-breakfast { background: linear-gradient(135deg, $status-info-light, $tint-sky-line); }
+.meal-icon-lunch     { background: linear-gradient(135deg, $status-warning, $accent-amber-light); }
 .meal-icon-dinner    { background: linear-gradient(135deg, #A78BFA, #C4B5FD); }
 .meal-count { font-size: 24rpx; color: $brand-primary; margin-left: auto; }
 .meal-name {
@@ -358,7 +358,7 @@ export default {
   margin-left: 8rpx;
 }
 .tip-card { 
-  background: #D6EAF8; 
+  background: $tint-sky-blue; 
   border-radius: 16rpx; 
   padding: 24rpx 30rpx; 
   margin-bottom: 30rpx; 

+ 2 - 2
cfc-frontend/pages/diet/recommendation.vue

@@ -322,7 +322,7 @@ export default {
   border-radius: 20rpx;
   font-size: 24rpx;
 }
-.status-pending { background: #FFF1E6; color: $brand-primary-deep; }
+.status-pending { background: $tint-warm-soft; color: $brand-primary-deep; }
 .status-accepted {
   background: #E8F1FB;
   color: $mat-blue-base;
@@ -341,7 +341,7 @@ export default {
 .meal-header { display: flex; align-items: center; padding: 24rpx 30rpx; border-bottom: 1rpx solid #FDE8D0; }
 .meal-icon-wrap { width: 64rpx; height: 64rpx; border-radius: 20rpx; display: flex; align-items: center; justify-content: center; margin-right: 16rpx; }
 .meal-icon-breakfast { background: linear-gradient(135deg, $dim-body-light, #FFD48A); }
-.meal-icon-lunch     { background: linear-gradient(135deg, #FBBF24, #FCD34D); }
+.meal-icon-lunch     { background: linear-gradient(135deg, $status-warning, $accent-amber-light); }
 .meal-icon-dinner    { background: linear-gradient(135deg, #A78BFA, #C4B5FD); }
 .meal-icon {
   font-size: 36rpx;

+ 2 - 2
cfc-frontend/pages/diet/records.vue

@@ -450,7 +450,7 @@ export default {
 .top-foods-list { display: flex; flex-direction: column; gap: 12rpx; }
 .top-food-item { display: flex; align-items: center; gap: 16rpx; }
 .top-food-rank {
-  width: 36rpx; height: 36rpx; border-radius: 50%; background: #FFF1E6; color: $dim-body;
+  width: 36rpx; height: 36rpx; border-radius: 50%; background: $tint-warm-soft; color: $dim-body;
   font-size: 22rpx; font-weight: 700; display: flex; align-items: center; justify-content: center;
 }
 .top-food-name { flex: 1; font-size: 26rpx; color: $facade-text-strong; }
@@ -477,7 +477,7 @@ export default {
 .record-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10rpx; }
 .meal-badge { padding: 6rpx 18rpx; border-radius: 20rpx; font-size: 24rpx; font-weight: 600; }
 .meal-breakfast { background: $fortune-1-tint; color: $mat-orange-strong; }
-.meal-lunch     { background: $mat-amber-tint; color: #F57C00; }
+.meal-lunch     { background: $mat-amber-tint; color: $mat-orange-700; }
 .meal-dinner    { background: #F3E5F5; color: #7B1FA2; }
 .meal-snack     { background: $mat-green-tint; color: $mat-green-strong; }
 .record-meta { display: flex; align-items: center; gap: 12rpx; }

+ 2 - 2
cfc-frontend/pages/discover-detail/product-detail/product-detail.vue

@@ -858,7 +858,7 @@ export default {
 .bundle-section { background: $app-surface; margin: 20rpx; border-radius: 16rpx; padding: 24rpx; }
 .bundle-item { display: flex; align-items: center; padding: 12rpx 0; border-bottom: 1rpx solid $facade-fill-2; }
 .bundle-item:last-child { border-bottom: none; }
-.bundle-item-img { width: 80rpx; height: 80rpx; border-radius: 12rpx; margin-right: 16rpx; flex-shrink: 0; background: #f7f7f7; }
+.bundle-item-img { width: 80rpx; height: 80rpx; border-radius: 12rpx; margin-right: 16rpx; flex-shrink: 0; background: $facade-fill-cool; }
 .bundle-item-info { flex: 1; display: flex; flex-direction: column; min-width: 0; }
 .bundle-item-name { font-size: calc(28rpx * var(--font-scale, 1)); color: $facade-text-strong; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
 .bundle-item-spec { font-size: calc(24rpx * var(--font-scale, 1)); color: $facade-text-muted; margin-top: 4rpx; }
@@ -1164,7 +1164,7 @@ export default {
   border-radius: 12rpx;
   margin-right: 16rpx;
   flex-shrink: 0;
-  background: #f7f7f7;
+  background: $facade-fill-cool;
 }
 .gift-select-cf {
   width: 80rpx;

+ 2 - 2
cfc-frontend/pages/discover/circle-feed.vue

@@ -569,7 +569,7 @@ export default {
   height: 56rpx;
   border-radius: 50%;
   background: $mat-blue-tint;
-  color: #1976D2;
+  color: $mat-blue;
   font-size: calc(24rpx * var(--font-scale, 1));
   font-weight: 700;
   display: flex;
@@ -738,7 +738,7 @@ export default {
   height: 56rpx;
   border-radius: 50%;
   background: $mat-blue-tint;
-  color: #1976D2;
+  color: $mat-blue;
   font-size: calc(24rpx * var(--font-scale, 1));
   font-weight: 700;
   display: flex;

+ 3 - 3
cfc-frontend/pages/discover/circles.vue

@@ -491,7 +491,7 @@ export default {
 .form-input {
   width: 100%;
   height: 76rpx;
-  background: #f7f7f7;
+  background: $facade-fill-cool;
   border-radius: 12rpx;
   padding: 0 20rpx;
   font-size: 28rpx;
@@ -500,7 +500,7 @@ export default {
 .form-textarea {
   width: 100%;
   height: 150rpx;
-  background: #f7f7f7;
+  background: $facade-fill-cool;
   border-radius: 12rpx;
   padding: 16rpx 20rpx;
   font-size: 28rpx;
@@ -516,7 +516,7 @@ export default {
   justify-content: center;
   height: 72rpx;
   border-radius: 12rpx;
-  background: #f7f7f7;
+  background: $facade-fill-cool;
   margin-right: 16rpx;
 }
 .cond-opt:last-child {

+ 2 - 2
cfc-frontend/pages/discover/components/CircleDetail.vue

@@ -197,8 +197,8 @@ export default {
 }
 .circle-btn-leave {
   background: $app-surface;
-  color: #FF4444;
-  border: 2rpx solid #FF4444;
+  color: $danger-bright;
+  border: 2rpx solid $danger-bright;
 }
 .circle-btn-close {
   background: $facade-fill-2;

+ 1 - 1
cfc-frontend/pages/energy/detail.vue

@@ -166,7 +166,7 @@ export default {
   box-shadow: 0 0 40rpx rgba(255,255,255,0.15);
 }
 .dim-icon--fire { background: linear-gradient(135deg, $mind-accent, $mat-orange-strong); }
-.dim-icon--water { background: linear-gradient(135deg, #42A5F5, $mat-blue-strong); }
+.dim-icon--water { background: linear-gradient(135deg, $mat-blue-400, $mat-blue-strong); }
 .dim-icon--earth { background: linear-gradient(135deg, $brown-warm, #5D4037); }
 .dim-icon--metal { background: linear-gradient(135deg, $accent-gold, #FF8F00); }
 .dim-icon--wood { background: linear-gradient(135deg, $mat-green, $mat-green-strong); }

+ 1 - 1
cfc-frontend/pages/family/manual-score-entry.vue

@@ -119,7 +119,7 @@ export default {
 .mse-member-role { font-size: 20rpx; padding: 2rpx 10rpx; border-radius: 10rpx; display: inline-block }
 .role-parent { background: $uni-primary-pale; color: $mat-orange-strong }
 .role-child { background: $mat-green-tint; color: $mat-green-strong }
-.role-teacher { background: #E0E7FF; color: #3730A3 }
+.role-teacher { background: $accent-indigo-tint; color: #3730A3 }
 .mse-member-check { margin-top: 8rpx; font-size: 24rpx; color: $brand-primary }
 .mse-slider-item { margin-bottom: 28rpx }
 .mse-slider-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8rpx }

+ 1 - 1
cfc-frontend/pages/family/mbti-entry.vue

@@ -88,7 +88,7 @@ export default {
 .mbe-member-role { font-size: 20rpx; padding: 2rpx 10rpx; border-radius: 10rpx; display: inline-block }
 .role-parent { background: $uni-primary-pale; color: $mat-orange-strong }
 .role-child { background: $mat-green-tint; color: $mat-green-strong }
-.role-teacher { background: #E0E7FF; color: #3730A3 }
+.role-teacher { background: $accent-indigo-tint; color: #3730A3 }
 .mbe-member-check { margin-top: 8rpx; font-size: 24rpx; color: $dim-wisdom }
 .mbe-footer { position: fixed; bottom: 0; left: 0; right: 0; padding: 20rpx 30rpx; background: $app-surface; border-top: 1rpx solid $facade-fill; box-sizing: border-box }
 .mbe-btn { width: 100%; height: 88rpx; line-height: 88rpx; font-size: 30rpx; border-radius: 44rpx; border: none; text-align: center }

+ 1 - 1
cfc-frontend/pages/family/mbti-test.vue

@@ -109,7 +109,7 @@ export default {
 .mbt-page { min-height: 100vh; background: $facade-fill-blue-ghost; padding-bottom: 180rpx }
 .mbt-header { padding: 20rpx 30rpx; text-align: right }
 .mbt-progress-text { font-size: 24rpx; color: $facade-text-muted }
-.mbt-progress-bar { height: 6rpx; background: #E0E7FF; margin: 0 30rpx; border-radius: 3rpx; overflow: hidden }
+.mbt-progress-bar { height: 6rpx; background: $accent-indigo-tint; margin: 0 30rpx; border-radius: 3rpx; overflow: hidden }
 .mbt-progress-fill { height: 100%; transition: width .3s }
 .mbt-loading { display: flex; justify-content: center; padding: 100rpx 0 }
 .mbt-card { background: $app-surface; margin: 20rpx 30rpx; border-radius: 24rpx; padding: 30rpx 24rpx; box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.05) }

+ 1 - 1
cfc-frontend/pages/family/self-check-ai.vue

@@ -305,7 +305,7 @@ export default {
 
 /* Rationale */
 .sc-rationale {
-  background: linear-gradient(135deg, $dim-wisdom-tint-2, #E0E7FF);
+  background: linear-gradient(135deg, $dim-wisdom-tint-2, $accent-indigo-tint);
   border-radius: 16rpx;
   padding: 20rpx 24rpx;
   margin-bottom: 24rpx;

+ 2 - 2
cfc-frontend/pages/family/self-check-result.vue

@@ -489,7 +489,7 @@ export default {
   flex-shrink: 0;
 }
 .scr-dim-level.lvl-healthy { background: $mat-green-tint; color: $mat-green-strong; }
-.scr-dim-level.lvl-attention { background: $mat-amber-tint; color: #F57F17; }
+.scr-dim-level.lvl-attention { background: $mat-amber-tint; color: $mat-amber-strong; }
 .scr-dim-level.lvl-tense { background: $fortune-0-tint; color: $status-danger-strong-2; }
 .scr-guide {
   background: $uni-primary-pale;
@@ -548,7 +548,7 @@ export default {
   flex-shrink: 0;
 }
 .lg-healthy { background: $mat-green-strong; }
-.lg-attention { background: #F57F17; }
+.lg-attention { background: $mat-amber-strong; }
 .lg-tense { background: $status-danger-strong-2; }
 .scr-guide-legend-text {
   font-size: 22rpx;

+ 1 - 1
cfc-frontend/pages/games/1a2b.vue

@@ -289,7 +289,7 @@ export default {
 }
 .result-title {
   font-size: 48rpx;
-  color: #FFE66D;
+  color: $accent-yellow-light;
   display: block;
   margin-bottom: 30rpx;
 }

+ 1 - 1
cfc-frontend/pages/games/list.vue

@@ -98,7 +98,7 @@ export default {
   display: block;
   font-size: 48rpx;
   font-weight: bold;
-  color: #FFE66D;
+  color: $accent-yellow-light;
   text-shadow: 2rpx 2rpx 4rpx rgba(0,0,0,0.5);
 }
 

+ 2 - 2
cfc-frontend/pages/games/schulte.vue

@@ -194,7 +194,7 @@ export default {
   display: block;
   font-size: 48rpx;
   font-weight: bold;
-  color: #FFE66D;
+  color: $accent-yellow-light;
 }
 
 .game-stats {
@@ -277,7 +277,7 @@ export default {
 .result-title {
   display: block;
   font-size: 48rpx;
-  color: #FFE66D;
+  color: $accent-yellow-light;
   margin-bottom: 30rpx;
 }
 

+ 2 - 2
cfc-frontend/pages/games/sudoku.vue

@@ -335,7 +335,7 @@ export default {
   display: block;
   font-size: 48rpx;
   font-weight: bold;
-  color: #FFE66D;
+  color: $accent-yellow-light;
 }
 
 .game-stats {
@@ -460,7 +460,7 @@ export default {
 .result-title {
   display: block;
   font-size: 48rpx;
-  color: #FFE66D;
+  color: $accent-yellow-light;
   margin-bottom: 30rpx;
 }
 

+ 2 - 2
cfc-frontend/pages/growth/detail.vue

@@ -480,8 +480,8 @@ export default {
   height: 80rpx;
   line-height: 80rpx;
   background: $app-surface;
-  color: #ff4444;
-  border: 2rpx solid #ff4444;
+  color: $danger-bright;
+  border: 2rpx solid $danger-bright;
   border-radius: 40rpx;
   font-size: 28rpx;
   text-align: center;

+ 2 - 2
cfc-frontend/pages/growth/diet-checkin.vue

@@ -561,7 +561,7 @@ success: function(res) {
 /* ===== 补打横幅 ===== */
 .backfill-banner {
   display: flex; align-items: center; gap: 12rpx;
-  background: linear-gradient(135deg, $fortune-1-tint, #FFE0B2);
+  background: linear-gradient(135deg, $fortune-1-tint, $mat-orange-100);
   border-bottom: 1rpx solid #FFE082;
   padding: 16rpx 24rpx;
 }
@@ -599,7 +599,7 @@ success: function(res) {
 .recognize-body { padding: 24rpx 32rpx; max-height: 420rpx; overflow-y: auto; }
 .food-chip {
   display: inline-flex; align-items: center; gap: 8rpx;
-  background: $fortune-1-tint; border: 1rpx solid #FFE0B2; border-radius: 24rpx;
+  background: $fortune-1-tint; border: 1rpx solid $mat-orange-100; border-radius: 24rpx;
   padding: 8rpx 20rpx; margin: 6rpx 8rpx 6rpx 0;
 }
 .food-chip-name { font-size: 26rpx; color: $mat-orange-strong; font-weight: 500; }

+ 1 - 1
cfc-frontend/pages/growth/sleep-checkin.vue

@@ -472,7 +472,7 @@ $c-sepia-ink:     #4A2A00; // 深棕文字(暖卡内)
 $c-sky-ghost:     #F8FAFF; // 极浅蓝(卡底)
 $c-sky-soft:      #F1F5FF; // 浅蓝(卡内底)
 $c-sky-line:      #EDF1F7; // 浅蓝分隔线
-$c-emerald-700:   #047857; // 好质量徽章文字(vs 全局 $status-success-deep $status-success-deep)
+$c-emerald-700:   $status-success-deep-2; // 好质量徽章文字(vs 全局 $status-success-deep $status-success-deep)
 $c-rose-400:      #FB7185; // 差质量徽章渐变起点(rose-400,全局 danger 族无此档)
 
 /* ===== 页面基础 ===== */

+ 2 - 2
cfc-frontend/pages/growth/upload.vue

@@ -446,11 +446,11 @@ export default {
   flex: 1;
 }
 .purchase-section {
-  background: #F0F9FF;
+  background: $tint-sky-soft;
   border-radius: 16rpx;
   padding: 24rpx;
   margin-bottom: 30rpx;
-  border: 2rpx solid #BAE6FD;
+  border: 2rpx solid $tint-sky-line;
 }
 .purchase-header {
   display: flex;

+ 1 - 1
cfc-frontend/pages/health/challenge-manage.vue

@@ -785,7 +785,7 @@ export default {
 .active-item-title {
   font-size: 28rpx;
   font-weight: 600;
-  color: #7C2D12;
+  color: $mat-orange-900;
 }
 .active-item-meta {
   font-size: 24rpx;

+ 2 - 2
cfc-frontend/pages/health/doa-index.vue

@@ -145,9 +145,9 @@ export default {
 }
 .domain-health { border-color: $dim-body !important; color: $brand-primary-deep !important; }
 .domain-wealth { border-color: $dim-wealth !important; color: $status-warning-strong-2 !important; }
-.domain-family { border-color: $status-success !important; color: #047857 !important; }
+.domain-family { border-color: $status-success !important; color: $status-success-deep-2 !important; }
 .domain-social { border-color: $dim-wisdom !important; color: #4338CA !important; }
-.domain-help { border-color: #FF6B9D !important; color: #BE185D !important; }
+.domain-help { border-color: $dim-mind !important; color: #BE185D !important; }
 .week-progress { margin-top: 12rpx; }
 .week-text { font-size: 22rpx; color: $status-success; font-weight: 600; }
 .empty { display: flex; flex-direction: column; align-items: center; padding: 100rpx 0; }

+ 2 - 2
cfc-frontend/pages/health/doa-stage-detail.vue

@@ -179,9 +179,9 @@ export default {
 }
 .domain-health { border-color: $dim-body !important; color: $brand-primary-deep !important; }
 .domain-wealth { border-color: $dim-wealth !important; color: $status-warning-strong-2 !important; }
-.domain-family { border-color: $status-success !important; color: #047857 !important; }
+.domain-family { border-color: $status-success !important; color: $status-success-deep-2 !important; }
 .domain-social { border-color: $dim-wisdom !important; color: #4338CA !important; }
-.domain-help { border-color: #FF6B9D !important; color: #BE185D !important; }
+.domain-help { border-color: $dim-mind !important; color: #BE185D !important; }
 .goal-content { font-size: 26rpx; color: $facade-text-slate-700; flex: 1; }
 .week-card { background: $facade-fill-slate-50; border-radius: 12rpx; padding: 20rpx; margin-bottom: 12rpx; }
 .week-header { display: flex; align-items: center; }

+ 6 - 6
cfc-frontend/pages/health/gut-flora-foods-detail.vue

@@ -413,7 +413,7 @@ methods: {
 .search-input-wrap {
   display: flex;
   align-items: center;
-  background: #FFF1E6;
+  background: $tint-warm-soft;
   border-radius: 40rpx;
   padding: 12rpx 24rpx;
 }
@@ -429,7 +429,7 @@ methods: {
 .cat-chip-active { background: $dim-body; }
 .cat-chip-text { font-size: 24rpx; color: $facade-text-body; }
 .cat-chip-active .cat-chip-text { color: $app-surface; }
-.sort-btn { flex-shrink: 0; margin-left: 16rpx; padding: 10rpx 20rpx; background: #FFF1E6; border-radius: 30rpx; }
+.sort-btn { flex-shrink: 0; margin-left: 16rpx; padding: 10rpx 20rpx; background: $tint-warm-soft; border-radius: 30rpx; }
 .sort-btn-text { font-size: 24rpx; color: $brand-primary-deep; font-weight: 600; }
 
 .content { padding: 20rpx 30rpx; height: calc(100vh - 220rpx); }
@@ -444,7 +444,7 @@ methods: {
   border-left: 6rpx solid transparent;
 }
 .food-card.band-neg3, .food-card.band-neg2 { border-left-color: $status-danger-strong-2; }
-.food-card.band-neg1, .food-card.band-neg0 { border-left-color: #F57C00; }
+.food-card.band-neg1, .food-card.band-neg0 { border-left-color: $mat-orange-700; }
 .food-card.band-pos0, .food-card.band-pos1 { border-left-color: #AFB42B; }
 .food-card.band-pos2, .food-card.band-pos3 { border-left-color: #43A047; }
 .food-card.band-null { border-left-color: $facade-text-ghost; }
@@ -461,7 +461,7 @@ methods: {
 }
 .status-bad { background: $fortune-0-tint; color: $status-danger-strong-2; }
 .status-caution { background: $fortune-1-tint; color: $mat-orange-strong; }
-.status-ok { background: $mat-amber-tint; color: #F57C00; }
+.status-ok { background: $mat-amber-tint; color: $mat-orange-700; }
 .status-good { background: $mat-green-tint; color: $mat-green-strong; }
 .status-neutral { background: $facade-fill-2; color: $facade-text-muted; }
 
@@ -475,7 +475,7 @@ methods: {
 }
 .score-neg3, .score-neg2 { background: $fortune-0-tint; color: $status-danger-strong-2; }
 .score-neg1, .score-neg0 { background: $fortune-1-tint; color: $mat-orange-strong; }
-.score-pos0, .score-pos1 { background: $mat-amber-tint; color: #F57C00; }
+.score-pos0, .score-pos1 { background: $mat-amber-tint; color: $mat-orange-700; }
 .score-pos2, .score-pos3 { background: $mat-green-tint; color: $mat-green-strong; }
 .score-null { background: $facade-fill-2; color: $facade-text-muted; }
 
@@ -487,7 +487,7 @@ methods: {
 .score-bar-fill { height: 100%; border-radius: 6rpx; transition: width 0.3s ease; }
 .score-bar-fill.safe   { background: #43A047; }
 .score-bar-fill.mild   { background: #AFB42B; }
-.score-bar-fill.warn   { background: #F57C00; }
+.score-bar-fill.warn   { background: $mat-orange-700; }
 .score-bar-fill.danger { background: $status-danger-strong-2; }
 .score-val { font-size: calc(24rpx * var(--font-scale, 1)); font-weight: 600; color: $facade-text-body; min-width: 50rpx; text-align: right; }
 

+ 7 - 7
cfc-frontend/pages/health/health-plan-summary.vue

@@ -1724,7 +1724,7 @@ selectedMembers: function() {
 }
 .group-title { font-size: calc(28rpx * var(--font-scale, 1)); font-weight: bold; color: $facade-text-strong; }
 .group-arrow { font-size: 24rpx; color: $facade-text-muted; }
-.risk-badge { margin-left: 6rpx; color: #E64340; font-size: 24rpx; }
+.risk-badge { margin-left: 6rpx; color: $wechat-red; font-size: 24rpx; }
 .tag-wrap { display: flex; flex-wrap: wrap; }
 .tag-item {
   padding: 12rpx 24rpx;
@@ -1738,7 +1738,7 @@ selectedMembers: function() {
 
 /* 已选疾病 */
 .selected-area { margin-top: 16rpx; padding: 16rpx; background: $brand-primary-tint-2; border-radius: 12rpx; }
-.selected-title { font-size: calc(26rpx * var(--font-scale, 1)); color: #8A6D3B; margin-bottom: 8rpx; }
+.selected-title { font-size: calc(26rpx * var(--font-scale, 1)); color: $brown-olive; margin-bottom: 8rpx; }
 .sel-row {
   display: flex;
   align-items: center;
@@ -1748,7 +1748,7 @@ selectedMembers: function() {
 }
 .sel-name { font-size: calc(28rpx * var(--font-scale, 1)); color: $facade-text-strong; flex: 1; }
 .sel-diag { font-size: calc(26rpx * var(--font-scale, 1)); color: $brand-primary; }
-.sel-del { font-size: 30rpx; color: #E64340; margin-left: 16rpx; }
+.sel-del { font-size: 30rpx; color: $wechat-red; margin-left: 16rpx; }
 
 /* 自定义疾病输入 */
 .custom-row { display: flex; align-items: center; margin-top: 8rpx; }
@@ -1793,7 +1793,7 @@ selectedMembers: function() {
   border-radius: 10rpx;
 }
 .med-forget { font-size: calc(26rpx * var(--font-scale, 1)); color: $facade-text-muted; margin-left: 16rpx; }
-.med-duration { font-size: calc(26rpx * var(--font-scale, 1)); color: #8A6D3B; }
+.med-duration { font-size: calc(26rpx * var(--font-scale, 1)); color: $brown-olive; }
 .med-time {
   flex: 1;
   height: 64rpx;
@@ -1803,7 +1803,7 @@ selectedMembers: function() {
   font-size: calc(26rpx * var(--font-scale, 1));
   margin-right: 12rpx;
 }
-.med-del { font-size: 26rpx; color: #E64340; }
+.med-del { font-size: 26rpx; color: $wechat-red; }
 
 /* 备注 */
 .notes-area {
@@ -1854,10 +1854,10 @@ selectedMembers: function() {
 }
 .confirm-member-signed {
   font-size: calc(22rpx * var(--font-scale, 1));
-  color: #67c23a;
+  color: $el-success;
 }
 .confirm-extra-block {
-  border-top: 1rpx dashed #E5E5E5;
+  border-top: 1rpx dashed $facade-line;
   margin-top: 8rpx;
   padding-top: 4rpx;
 }

+ 6 - 6
cfc-frontend/pages/health/health-status-form.vue

@@ -434,26 +434,26 @@ export default {
 <style scoped lang="scss">
 .hs-page { min-height: 100vh; background: $app-bg; padding-bottom: 140rpx; }
 .hs-tip { margin: 24rpx 30rpx; padding: 20rpx 24rpx; background: $brand-primary-tint-2; border-radius: 12rpx; }
-.hs-tip-text { font-size: 26rpx; color: #8A6D3B; line-height: 1.6; }
+.hs-tip-text { font-size: 26rpx; color: $brown-olive; line-height: 1.6; }
 .form-section { margin: 0 30rpx 24rpx; background: $app-surface; border-radius: 16rpx; padding: 24rpx; }
 .form-title { font-size: 30rpx; font-weight: bold; color: $facade-text-strong; margin-bottom: 20rpx; }
 .disease-group { margin-bottom: 8rpx; }
 .group-head { display: flex; align-items: center; justify-content: space-between; padding: 12rpx 0; }
 .group-title { font-size: 28rpx; font-weight: bold; color: $facade-text-strong; }
 .group-arrow { font-size: 24rpx; color: $facade-text-muted; }
-.risk-badge { margin-left: 6rpx; color: #E64340; font-size: 24rpx; }
+.risk-badge { margin-left: 6rpx; color: $wechat-red; font-size: 24rpx; }
 .selected-area { margin-top: 16rpx; padding: 16rpx; background: $brand-primary-tint-2; border-radius: 12rpx; }
-.selected-title { font-size: 26rpx; color: #8A6D3B; margin-bottom: 8rpx; }
+.selected-title { font-size: 26rpx; color: $brown-olive; margin-bottom: 8rpx; }
 .sel-row { display: flex; align-items: center; justify-content: space-between; padding: 10rpx 0; border-bottom: 1rpx solid #F0E6D0; }
 .sel-name { font-size: 28rpx; color: $facade-text-strong; flex: 1; }
 .sel-diag { font-size: 26rpx; color: $brand-primary; }
-.sel-del { font-size: 30rpx; color: #E64340; margin-left: 16rpx; }
+.sel-del { font-size: 30rpx; color: $wechat-red; margin-left: 16rpx; }
 .med-row { border: 1rpx solid $facade-fill; border-radius: 12rpx; padding: 16rpx; margin-bottom: 16rpx; }
 .med-line { display: flex; align-items: center; margin-bottom: 12rpx; }
 .med-line:last-child { margin-bottom: 0; }
 .med-picker { font-size: 26rpx; color: $brand-primary; padding: 8rpx 16rpx; background: $app-bg; border-radius: 10rpx; }
 .med-forget { font-size: 26rpx; color: $facade-text-muted; margin-left: 16rpx; }
-.med-duration { font-size: 26rpx; color: #8A6D3B; }
+.med-duration { font-size: 26rpx; color: $brown-olive; }
 .form-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20rpx; }
 .form-label { font-size: 28rpx; color: $facade-text-deep; }
 .form-input { flex: 1; margin-left: 30rpx; height: 68rpx; background: $app-bg; border-radius: 10rpx; padding: 0 20rpx; font-size: 28rpx; text-align: right; }
@@ -467,7 +467,7 @@ export default {
 .med-row { display: flex; align-items: center; margin-bottom: 16rpx; }
 .med-name { flex: 1; height: 64rpx; background: $app-bg; border-radius: 10rpx; padding: 0 16rpx; font-size: 26rpx; margin-right: 12rpx; }
 .med-time { flex: 1; height: 64rpx; background: $app-bg; border-radius: 10rpx; padding: 0 16rpx; font-size: 26rpx; margin-right: 12rpx; }
-.med-del { font-size: 26rpx; color: #E64340; }
+.med-del { font-size: 26rpx; color: $wechat-red; }
 .notes-area { width: 100%; height: 160rpx; background: $app-bg; border-radius: 10rpx; padding: 16rpx 20rpx; font-size: 26rpx; box-sizing: border-box; }
 .save-bar { position: fixed; bottom: 0; left: 0; right: 0; background: $app-surface; padding: 20rpx 30rpx; padding-bottom: calc(20rpx + env(safe-area-inset-bottom)); }
 .save-btn { width: 100%; background: $brand-primary; color: $app-surface; border-radius: 44rpx; height: 84rpx; line-height: 84rpx; font-size: 32rpx; }

+ 1 - 1
cfc-frontend/pages/health/indicator-curve.vue

@@ -396,7 +396,7 @@ export default {
 }
 
 .sort-active {
-  background-color: #D6EAF8;
+  background-color: $tint-sky-blue;
   color: $brand-primary-dark;
 }
 

+ 2 - 2
cfc-frontend/pages/health/meditation-index.vue

@@ -247,7 +247,7 @@ function healthRequest(url, data) {
   box-sizing: border-box;
   height: 80rpx;
   padding: 0 24rpx;
-  border: 2rpx solid #e5e5e5;
+  border: 2rpx solid $facade-line;
   border-radius: 12rpx;
   font-size: 28rpx;
   background: $facade-fill-ghost;
@@ -257,7 +257,7 @@ function healthRequest(url, data) {
   box-sizing: border-box;
   height: 160rpx;
   padding: 16rpx 24rpx;
-  border: 2rpx solid #e5e5e5;
+  border: 2rpx solid $facade-line;
   border-radius: 12rpx;
   font-size: 28rpx;
   background: $facade-fill-ghost;

+ 2 - 2
cfc-frontend/pages/health/physical-exam-detail.vue

@@ -220,7 +220,7 @@ goBack: function() {
 
 /* 摘要卡片 */
 .summary-card {
-  background: linear-gradient(135deg, $mat-blue-tint, #BBDEFB);
+  background: linear-gradient(135deg, $mat-blue-tint, $mat-blue-light);
   border-radius: 20rpx;
   margin: 20rpx 30rpx;
   padding: 28rpx 24rpx;
@@ -302,7 +302,7 @@ goBack: function() {
 /* 状态颜色 */
 .status-high { color: $status-danger-strong-2; }
 .status-low { color: $mat-orange-strong; }
-.status-warn { color: #F57F17; }
+.status-warn { color: $mat-amber-strong; }
 .status-normal { color: $mat-green-strong; }
 
 /* 空状态 */

+ 1 - 1
cfc-frontend/pages/health/report-blocks-renderer.vue

@@ -139,5 +139,5 @@ export default {
 .text-content { font-size: 26rpx; color: $facade-text-deep; line-height: 1.7; white-space: pre-wrap; }
 .chart-placeholder { font-size: 24rpx; color: $facade-text-ghost; }
 /* help button */
-.ind-help-btn { display: inline-flex; align-items: center; justify-content: center; width: 36rpx; height: 36rpx; border-radius: 50%; background: $mat-blue-tint; color: #1976D2; font-size: 22rpx; font-weight: 600; margin-left: 8rpx; flex-shrink: 0; }
+.ind-help-btn { display: inline-flex; align-items: center; justify-content: center; width: 36rpx; height: 36rpx; border-radius: 50%; background: $mat-blue-tint; color: $mat-blue; font-size: 22rpx; font-weight: 600; margin-left: 8rpx; flex-shrink: 0; }
 </style>

+ 1 - 1
cfc-frontend/pages/health/report-survey.vue

@@ -793,7 +793,7 @@ export default {
   border-radius: 12rpx;
 }
 .tip-icon { font-size: 28rpx; margin-right: 12rpx; flex-shrink: 0; }
-.tip-text { font-size: 22rpx; color: #F57F17; line-height: 1.5; }
+.tip-text { font-size: 22rpx; color: $mat-amber-strong; line-height: 1.5; }
 
 .form-section { margin: 10rpx 30rpx 30rpx; }
 

+ 1 - 1
cfc-frontend/pages/health/teacher-service.vue

@@ -167,7 +167,7 @@ export default {
   gap: 12rpx;
 }
 .ts-tip-icon { font-size: 36rpx; }
-.ts-tip-text { font-size: 26rpx; color: #8A6D3B; line-height: 1.6; flex: 1; }
+.ts-tip-text { font-size: 26rpx; color: $brown-olive; line-height: 1.6; flex: 1; }
 
 /* 服务类型切换 */
 .ts-type-bar {

+ 2 - 2
cfc-frontend/pages/home-pages/components/ContactImport.vue

@@ -214,8 +214,8 @@ export default {
   text-align: center;
 }
 .wechat-import-btn {
-  background: #F0F9FF;
-  border: 1rpx solid #BAE6FD;
+  background: $tint-sky-soft;
+  border: 1rpx solid $tint-sky-line;
   border-radius: 16rpx;
   padding: 24rpx 20rpx;
   display: flex;

+ 2 - 2
cfc-frontend/pages/home-pages/components/DailySummary.vue

@@ -57,11 +57,11 @@ export default {
 
 <style scoped lang="scss">
 .daily-summary {
-  background: linear-gradient(135deg, #EBF5FF, #E0F2FE);
+  background: linear-gradient(135deg, #EBF5FF, $tint-sky-tint);
   border-radius: 20rpx;
   padding: 20rpx 24rpx;
   margin: 20rpx 20rpx 0 20rpx;
-  border: 1rpx solid #BAE6FD;
+  border: 1rpx solid $tint-sky-line;
   position: relative;
 }
 .ds-header {

+ 4 - 4
cfc-frontend/pages/home-pages/components/HealthAlertBanner.vue

@@ -55,16 +55,16 @@ export default {
   position: relative;
 }
 .alert-severity-high {
-  background: #FEF2F2;
-  border: 1rpx solid #FECACA;
+  background: $status-danger-tint-2;
+  border: 1rpx solid $danger-line;
 }
 .alert-severity-medium {
   background: $dim-wealth-tint;
   border: 1rpx solid $status-warning-light;
 }
 .alert-severity-low {
-  background: #F0F9FF;
-  border: 1rpx solid #BAE6FD;
+  background: $tint-sky-soft;
+  border: 1rpx solid $tint-sky-line;
 }
 .alert-icon { font-size: 36rpx; flex-shrink: 0; padding-top: 2rpx; }
 .alert-body { flex: 1; min-width: 0; }

+ 2 - 2
cfc-frontend/pages/home-pages/components/gate-guide-bar.vue

@@ -63,13 +63,13 @@ export default {
 }
 </script>
 
-<style scoped>
+<stylescoped lang="scss">
 .gate-guide-bar {
   display: flex;
   align-items: center;
   padding: 16rpx 24rpx;
   margin: 16rpx 30rpx;
-  background: linear-gradient(135deg, #1A2A4A, #1E3A5F);
+  background: linear-gradient(135deg, #1A2A4A, $accent-navy);
   border-radius: 16rpx;
   cursor: pointer;
 }

+ 3 - 3
cfc-frontend/pages/index-home/index.vue

@@ -2032,7 +2032,7 @@ title: '添加家庭成员',
 // ===== 页面级局部调色板(单页专有色阶;同值才映射全局令牌,约定见 uni.scss §14) =====
 // 品牌橙阶(orange-50~900 / amber-700)
 $c-brand-tint-3:  $brand-primary-light-2;   // orange-200
-$c-brand-ink:     #7C2D12;   // orange-900 深文字
+$c-brand-ink:     $mat-orange-900;   // orange-900 深文字
 $c-brand-ink-2:   $mat-orange-deep;   // orange-800
 $c-brand-ink-3:   $status-warning-strong-2;   // amber-700
 // 文字阶(页面既有灰阶)
@@ -2047,11 +2047,11 @@ $c-wisdom-mid:    $accent-indigo-ink;
 $c-wisdom-light:  $dim-wisdom-light;
 $c-action-tint:   $status-success-tint;
 $c-action-ink:    #064E3B;
-$c-action-mid:    #047857;
+$c-action-mid:    $status-success-deep-2;
 $c-action-light:  $status-success-light-3;
 $c-violet-tint:   $facade-violet-tint-2;
 $c-violet-ink:    #4C1D95;
-$c-violet-mid:    #6D28D9;
+$c-violet-mid:    $violet-700;
 // Material 状态阶(页面既有观感,与 §13 tailwind 状态令牌不同值,故局部承载)
 $c-success-tint:  $mat-green-tint;
 $c-success-ink:   $mat-green-strong;

+ 1 - 1
cfc-frontend/pages/mind-detail/emotion-trend.vue

@@ -557,7 +557,7 @@ export default {
 $c-et-heat-1: $flat-danger-line; // 热力档 1(最浅红,与 $flat-danger-line 同值)
 $c-et-heat-2: #FFB0B0; // 热力档 2(浅红)
 $c-et-heat-3: #FFD9A0; // 热力档 3(浅橙)
-$c-et-heat-4: #C8E6C9; // 热力档 4(浅绿)
+$c-et-heat-4: $mat-green-100; // 热力档 4(浅绿)
 $c-et-heat-5: #81C784; // 热力档 5(中绿)
 $c-canvas-bg: #FCFCFC; // 画布近白
 

+ 1 - 1
cfc-frontend/pages/mind-detail/index.vue

@@ -1300,7 +1300,7 @@ $tint-rose: #FDF2F7;
 // 天蓝浅底
 $tint-sky: #EBF2FA;
 // 天蓝浅底·深(旧蓝系浅档,C-2 待翻转)
-$tint-sky-deep: #D6EAF8;
+$tint-sky-deep: $tint-sky-blue;
 // 中性浅底
 $tint-gray: #F8F9FA;
 // 青灰浅底

+ 1 - 1
cfc-frontend/pages/mind-detail/screening.vue

@@ -218,7 +218,7 @@ $c-tint-blue:       $dim-wisdom-tint-3;  // 容器渐变起点(蓝灰浅底)
 $c-tint-violet-soft:#F8F6FF;  // 题目卡/选中项浅底(violet 淡档)
 $c-border-radio:    #D0D0D0;  // 单选框未选中描边
 $c-risk-ink:        #E53E3E;  // 风险条目文字(red-600)
-$c-crisis-from:     #FF6B6B;  // 危机横幅渐变起点(red-400)
+$c-crisis-from:     $accent-coral;  // 危机横幅渐变起点(red-400)
 // 严重程度四级 ramp:值与全局 $status-success/$dim-wealth/$dim-body/$status-danger 同值,
 // 按「同值映射全局」纪律直接引用全局令牌(若后续建 $severity-* 语义族再收敛)
 

+ 1 - 1
cfc-frontend/pages/profile-extra/coupons.vue

@@ -448,7 +448,7 @@ export default {
 
 .card-status-badge.status-expired {
   background: #fff1f0;
-  color: #ff4d4f;
+  color: $status-danger-2;
 }
 
 .card-condition {

+ 3 - 3
cfc-frontend/pages/profile-extra/family-members.vue

@@ -786,13 +786,13 @@ $c-fam-page:         $flat-line; // 页面底(暖灰米)
 $c-fam-card:         #FFFCF5; // 卡片底(米白)
 $c-fam-line:         #F0EAE2; // 暖分隔线
 $c-fam-tint:         #FFF1E8; // 浅橙底
-$c-fam-violet-text:  #6D28D9; // 紫罗兰文字
+$c-fam-violet-text:  $violet-700; // 紫罗兰文字
 $c-fam-violet-bg:    $violet-tint-100; // 紫罗兰底
 $c-fam-violet-line:  #C7D2FE; // 紫罗兰深底(亲密条)
-$c-elm-info-bg:      #f0f9ff; // Element UI 信息浅底
+$c-elm-info-bg:      $tint-sky-soft; // Element UI 信息浅底
 $c-elm-info-bg-2:    #EEF0FF; // Element UI 蓝浅底
 $c-elm-success-bg:   #f0f9eb; // Element UI 成功浅底
-$c-elm-success-text: #67c23a; // Element UI 成功文字
+$c-elm-success-text: $el-success; // Element UI 成功文字
 $c-elm-danger-bg:    #fef0f0; // Element UI 危险浅底
 $c-elm-danger-text:  $el-danger; // Element UI 危险文字
 

+ 1 - 1
cfc-frontend/pages/profile/service-role-apply.vue

@@ -431,7 +431,7 @@ export default {
   border: 2rpx solid #86EFAC;
 }
 .status-card.status-rejected {
-  background: linear-gradient(135deg, #FEF2F2, $status-danger-soft);
+  background: linear-gradient(135deg, $status-danger-tint-2, $status-danger-soft);
   border: 2rpx solid #FCA5A5;
 }
 .status-icon {

+ 2 - 2
cfc-frontend/pages/promotion/index.vue

@@ -841,7 +841,7 @@ export default {
 .stat-card:first-child { margin-left: 0; }
 .stat-card:last-child { margin-right: 0; }
 .today-card { background: linear-gradient(135deg, $brand-primary, $brand-primary-light); }
-.month-card { background: linear-gradient(135deg, $uni-info, #38BDF8); }
+.month-card { background: linear-gradient(135deg, $uni-info, $status-info-light); }
 .total-card { background: linear-gradient(135deg, $status-success, $status-success-light-3); }
 .stat-value {
   font-size: 36rpx;
@@ -972,7 +972,7 @@ export default {
 .icon-commission { background: $status-warning-soft; }
 .icon-withdraw { background: $status-info-soft; }
 .icon-invite { background: $status-success-soft; }
-.icon-share { background: #E0F2FE; }
+.icon-share { background: $tint-sky-tint; }
 .icon-team { background: #FCE7F3; }
 .icon-leaderboard { background: #FFF3CD; }
 .icon-records { background: $violet-tint-100; }

+ 4 - 4
cfc-frontend/pages/psych-assessment/quiz.vue

@@ -393,7 +393,7 @@ export default {
 }
 
 .option-selected .option-text {
-  color: #a5b4fc;
+  color: $indigo-light;
 }
 
 /* 结果页 */
@@ -432,7 +432,7 @@ export default {
 
 .score-comment {
   font-size: 30rpx;
-  color: #a5b4fc;
+  color: $indigo-light;
   margin-top: 30rpx;
   margin-bottom: 50rpx;
 }
@@ -466,7 +466,7 @@ export default {
 
 .dim-tag-text {
   font-size: 24rpx;
-  color: #a5b4fc;
+  color: $indigo-light;
   font-weight: bold;
 }
 
@@ -500,7 +500,7 @@ export default {
   line-height: 96rpx;
   border-radius: 48rpx;
   background: transparent;
-  color: #a5b4fc;
+  color: $indigo-light;
   font-size: 32rpx;
   border: 2rpx solid rgba(99,102,241,0.5);
 }

+ 1 - 1
cfc-frontend/pages/reminder-config/index.vue

@@ -419,7 +419,7 @@ export default {
   color: $app-text-subtle;
 }
 .tip-card {
-  background: #D6EAF8;
+  background: $tint-sky-blue;
   border-radius: 16rpx;
   padding: 24rpx 30rpx;
   margin-bottom: 30rpx;

+ 1 - 1
cfc-frontend/pages/shop/address/address.vue

@@ -273,7 +273,7 @@ export default {
   color: $facade-text-body;
 }
 .delete-btn {
-  color: #ff4d4f;
+  color: $status-danger-2;
 }
 .bottom-bar {
   position: fixed;

+ 1 - 1
cfc-frontend/pages/shop/after-sales-detail/after-sales-detail.vue

@@ -233,7 +233,7 @@ export default {
   background: linear-gradient(135deg, $status-success-3, #73d13d);
 }
 .header-rejected {
-  background: linear-gradient(135deg, #ff4d4f, #ff7875);
+  background: linear-gradient(135deg, $status-danger-2, #ff7875);
 }
 .header-cancelled {
   background: linear-gradient(135deg, $facade-text-muted, $facade-text-ghost-light);

+ 2 - 2
cfc-frontend/pages/shop/after-sales/after-sales.vue

@@ -231,10 +231,10 @@ export default {
 }
 .status-approved {
   color: $status-success-3;
-  background: #f6ffed;
+  background: $status-success-tint-3;
 }
 .status-rejected {
-  color: #ff4d4f;
+  color: $status-danger-2;
   background: #fff2f0;
 }
 .status-completed {

+ 1 - 1
cfc-frontend/pages/shop/cart/cart.vue

@@ -788,7 +788,7 @@ export default {
 }
 .gift-promo-bar {
   height: 16rpx;
-  background: #FCD34D;
+  background: $accent-amber-light;
   border-radius: 8rpx;
   overflow: hidden;
   margin-bottom: 8rpx;

+ 1 - 1
cfc-frontend/pages/shop/checkout/checkout.vue

@@ -1676,7 +1676,7 @@ showOnlineSlotPicker: function() {
 }
 .purchase-field-prefill {
   font-size: 22rpx;
-  color: #67c23a;
+  color: $el-success;
   margin-left: 8rpx;
 }
 /* ===== 购买信息-手签名 ===== */

+ 1 - 1
cfc-frontend/pages/shop/consignee-edit/consignee-edit.vue

@@ -247,7 +247,7 @@ export default {
   padding: 8rpx 0;
 }
 .signature-set {
-  color: #67c23a;
+  color: $el-success;
 }
 .signature-block {
   padding: 0 0 24rpx;

+ 1 - 1
cfc-frontend/pages/shop/index/index.vue

@@ -418,7 +418,7 @@ export default {
   line-height: 32rpx;
   padding: 0 8rpx;
   border-radius: 16rpx;
-  background: #FF4D4F;
+  background: $status-danger-2;
   color: $app-surface;
   font-size: 20rpx;
   text-align: center;

+ 3 - 3
cfc-frontend/pages/shop/logistics/logistics.vue

@@ -187,7 +187,7 @@ export default {
   color: #fa8c16;
 }
 .status-shipped {
-  background: #e6f7ff;
+  background: $status-info-tint-3;
   color: $status-info-3;
 }
 .status-pending_receipt,
@@ -196,7 +196,7 @@ export default {
   color: #fa8c16;
 }
 .status-completed {
-  background: #f6ffed;
+  background: $status-success-tint-3;
   color: $status-success-3;
 }
 .refresh-btn {
@@ -251,7 +251,7 @@ export default {
 .copy-btn {
   font-size: 22rpx;
   color: $status-info-3;
-  background: #e6f7ff;
+  background: $status-info-tint-3;
   padding: 2rpx 16rpx;
   border-radius: 20rpx;
   margin-left: 12rpx;

+ 6 - 6
cfc-frontend/pages/shop/order-detail/order-detail.vue

@@ -407,15 +407,15 @@ export default {
 }
 .order-status-section { background: linear-gradient(135deg, $brand-primary, $brand-primary-light); }
 .order-status-section .status-pending { background: linear-gradient(135deg, $brand-primary, $brand-primary-light); }
-.order-status-section .status-paid { background: linear-gradient(135deg, $status-info-deep-2, #38BDF8); }
-.order-status-section .status-shipped { background: linear-gradient(135deg, $status-info-deep-2, #38BDF8); }
+.order-status-section .status-paid { background: linear-gradient(135deg, $status-info-deep-2, $status-info-light); }
+.order-status-section .status-shipped { background: linear-gradient(135deg, $status-info-deep-2, $status-info-light); }
 .order-status-section .status-completed { background: linear-gradient(135deg, $status-success-strong-2, #4ADE80); }
-.order-status-section .status-refunding { background: linear-gradient(135deg, $status-warning-deep, #FBBF24); }
+.order-status-section .status-refunding { background: linear-gradient(135deg, $status-warning-deep, $status-warning); }
 .order-status-section .status-refunded { background: linear-gradient(135deg, $facade-text-slate, $facade-text-gray-400); }
 .order-status-section .status-cancelled { background: linear-gradient(135deg, $facade-text-slate, $facade-text-gray-400); }
 .order-status-section .status-refund-rejected { background: linear-gradient(135deg, $status-danger-deep, #F87171); }
-.order-status-section .status-pending_receipt { background: linear-gradient(135deg, $status-info-deep-2, #38BDF8); }
-.order-status-section .status-confirmed_by_vendor { background: linear-gradient(135deg, $status-info-deep-2, #38BDF8); }
+.order-status-section .status-pending_receipt { background: linear-gradient(135deg, $status-info-deep-2, $status-info-light); }
+.order-status-section .status-confirmed_by_vendor { background: linear-gradient(135deg, $status-info-deep-2, $status-info-light); }
 .order-status-section .status-received_by_user { background: linear-gradient(135deg, $status-success-strong-2, #4ADE80); }
 .section {
   background: $app-surface;
@@ -556,7 +556,7 @@ export default {
   border: none;
 }
 .btn-logistics {
-  background: #e6f7ff;
+  background: $status-info-tint-3;
   color: $status-info-3;
   font-size: 24rpx;
   padding: 8rpx 24rpx;

+ 4 - 4
cfc-frontend/pages/shop/order-list/order-list.vue

@@ -539,8 +539,8 @@ export default {
   line-height: 1.5;
 }
 .status-pending { background: $brand-primary-tint-2; color: $brand-primary; }
-.status-paid { background: #E0F2FE; color: $status-info-deep-2; }
-.status-shipped { background: #E0F2FE; color: $status-info-deep-2; }
+.status-paid { background: $tint-sky-tint; color: $status-info-deep-2; }
+.status-shipped { background: $tint-sky-tint; color: $status-info-deep-2; }
 .status-completed { background: $status-success-tint-2; color: $status-success-strong-2; }
 .status-refunding { background: $status-warning-soft; color: $status-warning-deep; }
 .status-refunded { background: $facade-fill-2; color: $facade-text-muted; }
@@ -568,7 +568,7 @@ export default {
 }
 .type-activity { background: $brand-primary-tint-2; color: $brand-primary; }
 .type-course { background: $violet-tint-100; color: #7C3AED; }
-.type-physical { background: #E0F2FE; color: $status-info-deep-2; }
+.type-physical { background: $tint-sky-tint; color: $status-info-deep-2; }
 .type-digital { background: $status-success-tint-2; color: $status-success-strong-2; }
 .type-service { background: $status-warning-soft; color: $status-warning-deep; }
 .order-no {
@@ -625,7 +625,7 @@ export default {
   color: $app-surface;
 }
 .btn-confirm {
-  background: #E0F2FE;
+  background: $tint-sky-tint;
   color: $status-info-deep-2;
 }
 .btn-refund {

+ 2 - 2
cfc-frontend/pages/splash/index.vue

@@ -104,7 +104,7 @@ export default {
 .bg-circle-2 {
   width: 280rpx;
   height: 280rpx;
-  background: #FF6B9D;
+  background: $dim-mind;
   bottom: 80rpx;
   left: -60rpx;
   animation: splash-float-2 5s ease-in-out infinite;
@@ -172,7 +172,7 @@ export default {
 .splash-brand-name {
   font-size: 64rpx;
   font-weight: 800;
-  color: #7C2D12;
+  color: $mat-orange-900;
   letter-spacing: 10rpx;
   margin-bottom: 2rpx;
 }

+ 1 - 1
cfc-frontend/pages/teacher/families.vue

@@ -157,7 +157,7 @@ export default {
 
 .family-status {
   font-size: 24rpx;
-  color: #67C23A;
+  color: $el-success;
   background: #f0f9eb;
   padding: 8rpx 16rpx;
   border-radius: 8rpx;

+ 1 - 1
cfc-frontend/pages/teacher/orders.vue

@@ -159,7 +159,7 @@ export default {
 
 .order-status.completed {
   background: #f0f9eb;
-  color: #67C23A;
+  color: $el-success;
 }
 
 .order-status.pending {

+ 2 - 2
cfc-frontend/pages/teacher/service-tasks.vue

@@ -257,11 +257,11 @@ export default {
 }
 
 .task-icon.ready {
-  background: linear-gradient(135deg, $mat-blue-base, #1976d2);
+  background: linear-gradient(135deg, $mat-blue-base, $mat-blue);
 }
 
 .task-icon.pending {
-  background: linear-gradient(135deg, $mat-orange-base, #f57c00);
+  background: linear-gradient(135deg, $mat-orange-base, $mat-orange-700);
 }
 
 /* 对勾 */

+ 1 - 1
cfc-frontend/pages/teacher/teacher-profile.vue

@@ -267,7 +267,7 @@ export default {
 
 .status-tag.pending { background: $status-warning-soft; color: $status-warning-deep; }
 .status-tag.approved { background: $status-success-tint; color: $status-success-deep; }
-.status-tag.rejected { background: #FEF2F2; color: $status-danger-deep; }
+.status-tag.rejected { background: $status-danger-tint-2; color: $status-danger-deep; }
 
 .btn-edit {
   background: $status-info;

+ 1 - 1
cfc-frontend/pages/tianpan/daily-fortune.vue

@@ -90,7 +90,7 @@ export default {
 .tag-item.good { background: $status-success-soft-2; }
 .tag-item.bad { background: $status-danger-soft; }
 .tag-text { font-size: 26rpx; }
-.tag-item.good .tag-text { color: #166534; }
+.tag-item.good .tag-text { color: $mat-green-800; }
 .tag-item.bad .tag-text { color: #991B1B; }
 .advice-content { padding: 8rpx 0; }
 .advice-text { font-size: 28rpx; color: $facade-text-gray-700; line-height: 1.7; }

+ 3 - 3
cfc-frontend/pages/tianpan/index.vue

@@ -697,11 +697,11 @@ import { body, danger, primary, success, wisdom } from '@/utils/brand-colors.js'
 
 <style lang="scss">
 // ===== 天盘页专属色阶(暖橙提示 + 紫罗兰软阶;单页专用,约定见 uni.scss §14)=====
-$c-tp-orange:       #FDBA74; // 暖橙(徽章渐变档)
-$c-tp-brown-deep:   #7C2D12; // 深棕文字(暖卡内)
+$c-tp-orange:       $mat-orange-300; // 暖橙(徽章渐变档)
+$c-tp-brown-deep:   $mat-orange-900; // 深棕文字(暖卡内)
 $c-tp-brown:        $mat-orange-deep; // 棕橙文字(橙卡内)
 $c-tp-violet-soft:  #E0D4FF; // 紫罗兰软底渐变终
-$c-tp-violet-text:  #6D28D9; // 紫罗兰文字
+$c-tp-violet-text:  $violet-700; // 紫罗兰文字
 
 .tianpan-container {
   min-height: 100vh;

+ 2 - 2
cfc-frontend/pages/tianpan/related-items.vue

@@ -117,10 +117,10 @@ export default {
 .status-tag { font-size: 22rpx; padding: 4rpx 16rpx; border-radius: 20rpx; }
 .status-tag.pending { background: $status-warning-soft; color: $status-warning-strong; }
 .status-tag.in-progress { background: $status-info-soft; color: #1E40AF; }
-.status-tag.completed { background: $status-success-soft-2; color: #166534; }
+.status-tag.completed { background: $status-success-soft-2; color: $mat-green-800; }
 .status-tag.cancelled { background: $facade-fill-gray-100; color: $facade-text-slate; }
 .alert-level { font-size: 22rpx; padding: 4rpx 16rpx; border-radius: 20rpx; }
-.alert-low { background: $status-success-soft-2; color: #166534; }
+.alert-low { background: $status-success-soft-2; color: $mat-green-800; }
 .alert-medium { background: $status-warning-soft; color: $status-warning-strong; }
 .alert-high { background: $status-danger-soft; color: #991B1B; }
 .item-meta { display: flex; gap: 24rpx; margin-bottom: 8rpx; }

+ 1 - 1
cfc-frontend/pages/tianpan/relation-detail.vue

@@ -412,7 +412,7 @@ export default {
 
 <style lang="scss">
 // ===== 关系详情页专属色阶(单页专用;约定见 uni.scss §14)=====
-$c-rel-brown: #7C2D12; // 深棕文字(暖橙卡内)
+$c-rel-brown: $mat-orange-900; // 深棕文字(暖橙卡内)
 
 .relation-detail-container {
   min-height: 100vh;

+ 1 - 1
cfc-frontend/pages/user-edit/user-edit.vue

@@ -953,7 +953,7 @@ bindReferralIfNotSelf(code).then(function(res) {
 	background: linear-gradient(135deg, #FFF0DB, #FFD6A5);
 }
 .fubao-bg {
-	background: linear-gradient(135deg, $mat-amber-tint, #FCD34D);
+	background: linear-gradient(135deg, $mat-amber-tint, $accent-amber-light);
 }
 .mascot-card-info {
 	display: flex;

+ 1 - 1
cfc-frontend/pages/vendor/order-review/order-review.vue

@@ -418,7 +418,7 @@ export default {
 .coupon-tag {
   font-size: 26rpx;
   color: $status-success-3;
-  background: #f6ffed;
+  background: $status-success-tint-3;
   padding: 8rpx 20rpx;
   border-radius: 8rpx;
 }

+ 3 - 3
cfc-frontend/pages/vendor/orders/orders.vue

@@ -239,8 +239,8 @@ export default {
   border-radius: 20rpx;
 }
 .status-pending { background: $brand-primary-tint-2; color: #fa8c16; }
-.status-paid { background: #e6f7ff; color: $status-info-3; }
-.status-completed { background: #f6ffed; color: $status-success-3; }
+.status-paid { background: $status-info-tint-3; color: $status-info-3; }
+.status-completed { background: $status-success-tint-3; color: $status-success-3; }
 .order-body {
   display: flex;
   justify-content: space-between;
@@ -295,7 +295,7 @@ export default {
   line-height: 1.5;
 }
 .btn-confirm {
-  background: #e6f7ff;
+  background: $status-info-tint-3;
   color: $status-info-3;
 }
 .btn-review {

+ 3 - 3
cfc-frontend/pages/vendor/product-edit/product-edit.vue

@@ -195,7 +195,7 @@ export default {
   box-sizing: border-box;
   height: 80rpx;
   padding: 0 24rpx;
-  border: 2rpx solid #e5e5e5;
+  border: 2rpx solid $facade-line;
   border-radius: 12rpx;
   font-size: 28rpx;
   background: $facade-fill-ghost;
@@ -205,7 +205,7 @@ export default {
   box-sizing: border-box;
   height: 160rpx;
   padding: 16rpx 24rpx;
-  border: 2rpx solid #e5e5e5;
+  border: 2rpx solid $facade-line;
   border-radius: 12rpx;
   font-size: 28rpx;
   background: $facade-fill-ghost;
@@ -225,7 +225,7 @@ export default {
 .form-picker {
   height: 80rpx;
   padding: 0 24rpx;
-  border: 2rpx solid #e5e5e5;
+  border: 2rpx solid $facade-line;
   border-radius: 12rpx;
   background: $facade-fill-ghost;
   display: flex;

+ 3 - 3
cfc-frontend/pages/vendor/products/products.vue

@@ -273,9 +273,9 @@ export default {
 }
 .status-draft { background: $facade-fill-2; color: $facade-text-muted; }
 .status-pending { background: $brand-primary-tint-2; color: #fa8c16; }
-.status-approved { background: #f6ffed; color: $status-success-3; }
-.status-rejected { background: #fff2f0; color: #ff4d4f; }
-.status-on_shelf { background: #e6f7ff; color: $status-info-3; }
+.status-approved { background: $status-success-tint-3; color: $status-success-3; }
+.status-rejected { background: #fff2f0; color: $status-danger-2; }
+.status-on_shelf { background: $status-info-tint-3; color: $status-info-3; }
 .status-off_shelf { background: $facade-fill-2; color: $facade-text-muted; }
 .card-actions {
   display: flex;

+ 81 - 0
cfc-frontend/scripts/replace-hex-to-token.js

@@ -275,6 +275,87 @@ const ALL_RULES = [
   ['#1a1a1a', '$text-charcoal'],
   ['#AAA',    '$text-ghost-soft'],
   ['#aaa',    '$text-ghost-soft'],
+  // ---- 第七轮(2026-10-21)----
+  ['#FEF2F2', '$status-danger-tint-2'],
+  ['#fef2f2', '$status-danger-tint-2'],
+  ['#FFA500', '$accent-gold-deep'],
+  ['#ffa500', '$accent-gold-deep'],
+  ['#38BDF8', '$status-info-light'],
+  ['#38bdf8', '$status-info-light'],
+  ['#FF4D4F', '$status-danger-2'],
+  ['#ff4d4f', '$status-danger-2'],
+  ['#E6F7FF', '$status-info-tint-3'],
+  ['#e6f7ff', '$status-info-tint-3'],
+  ['#FF6B9D', '$dim-mind'],
+  ['#ff6b9d', '$dim-mind'],
+  ['#1E3A5F', '$accent-navy'],
+  ['#1e3a5f', '$accent-navy'],
+  ['#1976D2', '$mat-blue'],
+  ['#1976d2', '$mat-blue'],
+  ['#FBBF24', '$status-warning'],
+  ['#fbbf24', '$status-warning'],
+  ['#FFF1E6', '$tint-warm-soft'],
+  ['#fff1e6', '$tint-warm-soft'],
+  ['#BAE6FD', '$tint-sky-line'],
+  ['#bae6fd', '$tint-sky-line'],
+  ['#F7F7F7', '$facade-fill-cool'],
+  ['#f7f7f7', '$facade-fill-cool'],
+  ['#F6FFED', '$status-success-tint-3'],
+  ['#f6ffed', '$status-success-tint-3'],
+  ['#FECACA', '$danger-line'],
+  ['#fecaca', '$danger-line'],
+  ['#BBDEFB', '$mat-blue-light'],
+  ['#bbdefb', '$mat-blue-light'],
+  ['#E0E7FF', '$accent-indigo-tint'],
+  ['#e0e7ff', '$accent-indigo-tint'],
+  ['#F57F17', '$mat-amber-strong'],
+  ['#f57f17', '$mat-amber-strong'],
+  ['#F0F9FF', '$tint-sky-soft'],
+  ['#f0f9ff', '$tint-sky-soft'],
+  ['#A5B4FC', '$indigo-light'],
+  ['#a5b4fc', '$indigo-light'],
+  ['#F57C00', '$mat-orange-700'],
+  ['#f57c00', '$mat-orange-700'],
+  ['#7C2D12', '$mat-orange-900'],
+  ['#7c2d12', '$mat-orange-900'],
+  ['#FFE66D', '$accent-yellow-light'],
+  ['#ffe66d', '$accent-yellow-light'],
+  ['#E64340', '$wechat-red'],
+  ['#e64340', '$wechat-red'],
+  ['#8A6D3B', '$brown-olive'],
+  ['#8a6d3b', '$brown-olive'],
+  ['#67C23A', '$el-success'],
+  ['#67c23a', '$el-success'],
+  ['#E5E5E5', '$facade-line'],
+  ['#e5e5e5', '$facade-line'],
+  ['#E0F2FE', '$tint-sky-tint'],
+  ['#e0f2fe', '$tint-sky-tint'],
+  ['#047857', '$status-success-deep-2'],
+  ['#047857', '$status-success-deep-2'],
+  ['#FF6B6B', '$accent-coral'],
+  ['#ff6b6b', '$accent-coral'],
+  ['#FCD34D', '$accent-amber-light'],
+  ['#fcd34d', '$accent-amber-light'],
+  ['#42A5F5', '$mat-blue-400'],
+  ['#42a5f5', '$mat-blue-400'],
+  ['#166534', '$mat-green-800'],
+  ['#166534', '$mat-green-800'],
+  ['#FDBA74', '$mat-orange-300'],
+  ['#fdba74', '$mat-orange-300'],
+  ['#FFE0B2', '$mat-orange-100'],
+  ['#ffe0b2', '$mat-orange-100'],
+  ['#C8E6C9', '$mat-green-100'],
+  ['#c8e6c9', '$mat-green-100'],
+  ['#ECEFF1', '$mat-bluegray-50'],
+  ['#eceff1', '$mat-bluegray-50'],
+  ['#78909C', '$mat-bluegray-400'],
+  ['#78909c', '$mat-bluegray-400'],
+  ['#6D28D9', '$violet-700'],
+  ['#6d28d9', '$violet-700'],
+  ['#D6EAF8', '$tint-sky-blue'],
+  ['#d6eaf8', '$tint-sky-blue'],
+  ['#FF4444', '$danger-bright'],
+  ['#ff4444', '$danger-bright'],
 ].sort((a, b) => b[0].length - a[0].length)
 
 const GRAY_RULES   = ALL_RULES.filter(r => { const i = ALL_RULES.indexOf(r); return i < 30 })

+ 23 - 0
cfc-frontend/uni.scss

@@ -631,6 +631,29 @@ $el-danger:          #F56C6C; // Element UI danger(6 文件)
 $mat-red:            #F44336; // Material red-500(11 文件)
 $text-ghost-soft:    #AAA;    // 弱化灰文字(9 文件)
 $text-charcoal:      #1A1A1A; // 炭黑正文(6 文件)
+// ---- 第七轮高频补档(≥4 次出现,2026-10-21)----
+$indigo-light:       #A5B4FC; // indigo-300 浅靛紫(9 次)
+$mat-orange-700:     #F57C00; // orange-700 深橙(7 次)
+$mat-orange-900:     #7C2D12; // orange-900 暗橙文字(6 次)
+$accent-yellow-light:#FFE66D; // 浅亮黄(6 次)
+$wechat-red:         #E64340; // 微信红(6 次)
+$brown-olive:        #8A6D3B; // 橄榄棕(6 次)
+$el-success:         #67C23A; // Element UI success(6 次)
+$facade-line:        #E5E5E5; // 通用浅分隔线(6 次)
+$tint-sky-tint:      #E0F2FE; // sky-100 浅天蓝底(6 次)
+$status-success-deep-2: #047857; // emerald-700 深绿文字(5 次)
+$accent-coral:       #FF6B6B; // 珊瑚红(5 次)
+$accent-amber-light: #FCD34D; // amber-300 浅琥珀(5 次)
+$mat-blue-400:       #42A5F5; // blue-400(4 次)
+$mat-green-800:      #166534; // green-800(4 次)
+$mat-orange-300:     #FDBA74; // orange-300(4 次)
+$mat-orange-100:     #FFE0B2; // orange-100(4 次)
+$mat-green-100:      #C8E6C9; // green-100(4 次)
+$mat-bluegray-50:    #ECEFF1; // blue-gray-50(4 次)
+$mat-bluegray-400:   #78909C; // blue-gray-400(4 次)
+$violet-700:         #6D28D9; // violet-700(4 次)
+$tint-sky-blue:      #D6EAF8; // 浅天蓝底(4 次)
+$danger-bright:      #FF4444; // 高饱和警示红(4 次)
 $hint-cream-border:  #F0E6C0; // 提示条奶油描边(articles + shop/index)
 $hint-gold-ink:      #B8860B; // 提示条金褐文字(8 文件)
 $facade-fill-page:   #F8F8F8; // 页面灰底(33 文件;health-main 原 $c-fill-warm 同值收敛于此)