# Appendix A — 逐頁深度盤點
**Companion to:** `claude_design_brief.md`
**Version:** 1.0 (2026-05-01)
**Scope:** 41 個 HTML template + 3 個共用 component，每頁的版面結構、元件、互動、設計問題與改造重點。

---

## 0. 重要更新：發現第四種設計風格

原 brief 提到「兩套設計系統」，深掃後發現實際是 **四種視覺風格混雜**：

| 風格 | 背景 | Accent | 代表頁面 |
|------|------|--------|---------|
| **A. 深藍 + 藍紫漸層**（舊） | `#f5f7fa` | `#1e3c72→#2a5298` + `#667eea→#764ba2` | `base.html`、`dashboard.html`、`sales_analysis.html` |
| **B. 焦糖橘暖系**（目標） | `#ebe6dc` | `#c96442` | `ewoooc_base.html`、`vendor_stockout_index_v2.html` |
| **C. 紫色獨立頁** | `#667eea→#764ba2` 漸層 | `#4F46E5` | `login.html`、`403.html`、`maintenance.html`、`_loading.html` |
| **D. GitHub Dark Terminal** | `#0d1117` | `#3fb950`/`#58a6ff`/`#bc8cff` | `ai_automation_smoke.html`、`code_review.html` |

**改造原則**：
- 風格 A 全部遷移至風格 B（焦糖橘）
- 風格 C 統一品牌入口頁，可保留漸層但改用焦糖橘色相
- 風格 D（開發者工具頁）可保留深色主題，但需與焦糖橘做點綴對齊

---

## 1. 主儀表板與分析報表（風格 A，全部待遷移）

### 1.1 dashboard.html — 商品看板（首頁）
- **路徑**：`templates/dashboard.html`（1405 行）
- **路由**：`/`（系統首頁）
- **Layout**：獨立（自包含 HTML，不 extends）
- **用途**：MOMO 價格監控主控台，KPI + 商品清單 + 歷史圖表
- **區塊（從上到下）**：
  1. Navbar（include `_navbar.html`）
  2. KPI Cards（2 大卡：商品監控概況 + 今日價格動態）
  3. 動態 KPI Grid（9 小卡：漲/降/下架數、平均幅度、活躍度、最活躍分類、最大變動）
  4. 控制列（搜尋 + 分類篩選 + 狀態篩選 button group + 更新/通知按鈕）
  5. 商品列表 Table（可排序，含商品圖、名稱、品號、價格、漲跌幅、上架時間）
  6. Pagination
  7. Modal: 歷史價格圖表（Chart.js line + 雙軸）
  8. Modal: 價格變動明細（xl，動態 fetch + table）
- **元件**：Bootstrap Card/Table/Modal/Dropdown/Badge/Button Group + Chart.js 3.9.1
- **互動**：
  - `/api/history/{productId}` 取歷史價格
  - `/api/price_change_details?type=...` 取分類/變動明細
  - `/api/run_task` 手動爬蟲、`/api/trigger_momo_notification` 發送通知
  - 行點擊 → 開歷史圖 Modal
  - KPI 卡點擊 → 開明細 Modal
  - 品號點擊 → Clipboard API 複製
- **配色現況**：⚠️ 風格 A，主色 `#667eea/#764ba2`（藍紫）+ Navbar `#1e3c72/#2a5298`
- **設計問題**：
  - 內嵌 `<style>` 636 行，多處 inline `padding-top: 70px`
  - 無空狀態插圖（搜尋無結果只有純文字）
  - Modal 無 skeleton loading，直接顯示 spinner
  - 表行 hover 用 `transform: scale(1.002)` 易觸發重排
  - 大圓角（卡片 16~20px、KPI 卡 20px）與新版方角不符
- **Claude Design 改造重點**：
  1. 抽出全部 inline style，套用 `--momo-*` token，棄藍紫改焦糖橘
  2. KPI Grid 改 CSS Grid 自適應（mobile 2x4、desktop 3x3），數字字體換 JetBrains Mono
  3. Modal Header 改暖墨色 `--momo-ink`，棄藍紫漸層
  4. 商品列表加空狀態插圖 + 引導文字
  5. 圓角全改 `--momo-radius-md` (4px) 或 `--momo-radius-lg` (6px)

### 1.2 sales_analysis.html — 業績分析（系統最大頁面）
- **路徑**：`templates/sales_analysis.html`（3165 行）
- **路由**：`/sales_analysis`
- **Layout**：獨立
- **用途**：多維度業績分析（廠商 Top 10、分類餅、價格帶 TreeMap、散點、BCG 矩陣、淡旺季熱力、行銷活動）
- **區塊**：
  1. Navbar
  2. 進階篩選器（日期、地區、廠商、借採轉、類別）— 自訂 dropdown 樣式
  3. Loading Overlay（複雜雲端漂浮 + 旋轉光環動畫）
  4. 多圖表區（橫條/餅/TreeMap/散點/BCG/熱力/星期/小時）
  5. 行銷活動折扣 + 折價券圖
  6. DataTable（AJAX 載入）
- **元件**：Chart.js 3.9.1 + ECharts 5.4.3 + chartjs-chart-treemap 2.0.2 + DataTables 1.11.5 + Flatpickr 4.6.13
- **互動**：篩選聯動 fetch → 多圖表並行更新；無 URL state 保留
- **配色**：⚠️ 風格 A，篩選列 `#667eea→#764ba2`，圖表用 `#4F46E5`
- **設計問題**：
  - `<style>` 569 行，含複雜 Loading Overlay 動畫
  - **三種圖表庫並存**（Chart.js / ECharts / Treemap plugin），維護成本高
  - 篩選器無 URL query state（刷新遺失）
  - 熱力圖色階對紅綠色盲不友善
  - 無虛擬滾動，廠商超過 100 筆會卡
- **Claude Design 改造重點**：
  1. 統一改 Chart.js（棄 ECharts），複雜圖（Heatmap/Sankey）改 D3 或 Plotly
  2. Loading Overlay 改輕量 Skeleton Screen（移除雲端漂浮動畫）
  3. 篩選列改標準 form-select + URL query state，可分享網址
  4. DataTable 改虛擬滾動
  5. 圖表色板改焦糖橘為主，狀態色用 `#2a7a3f`（漲）/ `#b5342f`（跌），補色盲友善色階

### 1.3 monthly_summary_analysis.html — 月份總表分析
- **路徑**：`templates/monthly_summary_analysis.html`（1473 行）
- **路由**：`/monthly_summary_analysis`
- **Layout**：獨立
- **用途**：月度 KPI + 廠商排行 + YoY 對比 + 品牌分類分析
- **區塊**：頁標 → 篩選列 → 商業洞察 Top 3 → YoY 對比 → Top 50 廠商 → 類別分佈 → 價格帶 → 月份摘要 DataTable
- **元件**：ECharts（多種類）+ DataTables + Bootstrap Card/Form Select
- **配色**：⚠️ 風格 A，洞察卡用 `bg-primary/success/warning`
- **設計問題**：
  - Highlights 卡 `display:none` 時佔位影響佈局（應用 collapse）
  - Top 50 廠商圖固定高 900px，手機爆表
  - 「特定/身體保養/彩妝」分類圖只有容器無實作
  - ECharts 全局初始化無錯誤處理
- **Claude Design 改造重點**：
  1. Highlights 改 Bootstrap Offcanvas 或 collapse 避免 layout shift
  2. 廠商排行加分頁或虛擬滾動
  3. 分類分析改 Tab 元件
  4. ECharts 統一替換 Chart.js
  5. 響應式高度：Desktop 900px → Tablet 600px → Mobile 350px

### 1.4 daily_sales.html — 當日業績
- **路徑**：`templates/daily_sales.html`（1905 行）
- **路由**：`/daily_sales`
- **Layout**：獨立
- **用途**：單日業績看板，日曆 + 6 KPI + 30 天趨勢 + DoD/WoW + Top 10 + 行銷活動
- **區塊**：
  1. Navbar
  2. 漸層 page-header + 日期 select
  3. **Calendar Container**（自訂月曆，每日 KPI、DoD badge、選中 pulseGlow 動畫）
  4. KPI 卡組（6 張：營收/成本/毛利/SKU/客單/銷量）
  5. 圖表區（30 天趨勢雙軸 + DoD/WoW 折線 + Top 10 橫條）
  6. 行銷活動貢獻（折扣/折價券並列）
  7. 分類業績明細 DataTable
- **元件**：自訂 CSS Calendar + Chart.js（雙軸、響應式容器）+ DataTables
- **配色**：⚠️ 風格 A，page header 藍紫漸層
- **設計問題**：
  - 月曆 CSS 878 行，響應式斷點 5 層
  - 圖表 `min-width: 400/450/500px` 手機需橫滾
  - 月度/單日 KPI 共用同卡片邏輯混亂
  - 行銷活動圖條件編譯佈局不穩定
- **Claude Design 改造重點**：
  1. 月曆改 `fullcalendar.io` 庫，減少自訂 CSS
  2. 圖表容器改 `aspect-ratio: 16/9`，棄 `min-width`
  3. 月度/單日 KPI 用 `{% if is_month_view %}` 分離為兩組
  4. 行銷活動先 render skeleton，無資料時隱藏
  5. 分類表加搜尋 + 排序 UI

### 1.5 growth_analysis.html — 成長分析
- **路徑**：`templates/growth_analysis.html`（250 行）
- **路由**：`/growth_analysis`
- **Layout**：獨立
- **用途**：YTD 累計 + 月營收 + AOV + 訂單 + 月增率 + 毛利率
- **區塊**：頁標 → 3 KPI 卡 → 4 圖表（混合柱+線、雙軸、條件背景）
- **元件**：純 Chart.js
- **配色**：⚠️ Bootstrap 原色（bg-primary/success/info），Chart 用 `#36a2eb/#2ecc71`
- **設計問題**：
  - `<style>` 僅 25 行，缺現代設計語言
  - 圖表高度固定 350px / 300px
  - 無 YoY 對比視覺化
  - Chart 初始化無 try-catch
- **Claude Design 改造重點**：
  1. 套 design token 統一色板
  2. KPI 卡支援 Current vs LY 對比
  3. 圖表用 CSS Grid 2x2 響應式
  4. 加空狀態 illustration
  5. 加 try-catch fallback

### 1.6 price_comparison.html — PChome vs MOMO 比價
- **路徑**：`templates/price_comparison.html`（598 行）
- **路由**：`/price_comparison`
- **Layout**：base.html (extends)
- **用途**：兩平台商品爬取 + 上傳 Excel + 手動輸入 → 相似度匹配 → 價差分析
- **區塊**：標題 → 三步驟操作區 → 比價按鈕 → 進度顯示 → 結果統計卡（4 張）→ 結果表（7 欄）→ 匯出 → 上傳/手動 Modal
- **元件**：Bootstrap Card/Form/Modal/Alert/Table/Badge
- **互動**：爬取 PChome → 上傳 Excel → quick_compare → 前端 CSV 匯出
- **配色**：Bootstrap 原色 btn-primary/info/warning/success
- **設計問題**：
  - 相似度閾值 0.8/0.6 硬編碼無 UI 控制
  - 結果表欄寬 35% 商品名 truncate 不易對比
  - 比較結果無記憶（重新比價會遺失舊結果）
  - 手動輸入 textarea placeholder 過長
- **Claude Design 改造重點**：
  1. 三步驟改 Wizard/Stepper UI
  2. 相似度閾值改 Slider 可調
  3. 結果表改可展開行（Collapse），顯示完整描述
  4. 結果存 localStorage 支援 undo/redo
  5. 手動輸入改 drag-drop + 表格編輯模式

### 1.7 abc_analysis_detail.html — ABC 分類詳情
- **路徑**：`templates/abc_analysis_detail.html`（196 行）
- **路由**：`/api/abc_analysis_detail`（彈窗/新視窗）
- **Layout**：獨立
- **用途**：A/B/C 類別深潛 + 補貨係數調整 + 匯出 Excel
- **區塊**：Navbar → 工具列（補貨係數 input + 匯出 + 關閉）→ DataTable（11 欄含條件欄）
- **元件**：DataTables + Input Group
- **配色**：Navbar `#4F46E5→#6366F1`
- **設計問題**：
  - `window.close()` 被現代瀏覽器擋
  - 補貨係數 input 無驗證
  - 累積營收佔比純數字無視覺化
  - 無空狀態
- **Claude Design 改造重點**：
  1. 關閉按鈕改 `history.back()`
  2. 補貨係數改 Slider (0.5-2.0, step 0.1) + 即時預覽
  3. 累積營收改迷你進度條
  4. 加空狀態
  5. 匯出按鈕改 sticky header

### 1.8 trends.html — 趨勢資料看板
- **路徑**：`templates/trends.html`（136 行）
- **路由**：`/trends`
- **Layout**：base.html (extends)
- **用途**：Google News / PTT / Dcard / YouTube 關鍵字+新聞標題彙整
- **區塊**：頁標 → 篩選列（來源/分類/天數/刷新）→ 雙欄（熱門關鍵字 + 趨勢記錄表）
- **元件**：Bootstrap Card/Form Select/Badge/Table
- **設計問題**：
  - 篩選項無視覺反饋
  - 趨勢表 50 筆固定 limit 無分頁
  - 標題無連結
  - 無 skeleton loading
- **Claude Design 改造重點**：
  1. 篩選列改 Sticky Bar，篩選項加 Badge 計數
  2. 熱門關鍵字改水平滾動（mobile 友善）
  3. 趨勢記錄改 Infinite Scroll
  4. 標題加連結 `target="_blank"`
  5. 加 Skeleton Screen

---

## 2. EDM 活動與廠商缺貨（新舊版本並存）

### 2.1 edm_dashboard.html — EDM 活動看板（舊版）
- **路徑**：`templates/edm_dashboard.html`（431 行）
- **路由**：`/edm/dashboard`
- **Layout**：獨立 + Navbar
- **用途**：EDM 限時搶購監控，分時段商品異動
- **區塊**：Navbar → Page Header（含動態頁籤導覽）→ 排程統計警告 → 時段 Pills → Tab Content 商品表 → 無 Modal
- **元件**：Bootstrap Tab/Pills/Tooltip + 自訂 CSS
- **配色**：⚠️ 風格 A，Navbar `#4F46E5→#6366F1`
- **設計問題**：
  - 內嵌 style 200+ 行
  - 表格寬度固定未響應
  - JS 散落 inline，未模組化
- **Claude Design 改造重點**：
  1. 抽出 style 至外部 CSS
  2. 複製品號改 Toast 提示
  3. 表格 sticky header + 響應式列寬
  4. 動態頁籤改 data-* 驅動
  5. JS 模組化

### 2.2 edm_dashboard_v2.html — EDM 活動看板（新版）⭐
- **路徑**：`templates/edm_dashboard_v2.html`（1130 行）
- **路由**：`/edm/dashboard_v2`
- **Layout**：**ewoooc_base.html**（風格 B 範例頁）
- **用途**：採用 EwoooC 設計系統的 EDM 看板，按月查歷史價
- **區塊**：Campaign Hero（漸層）→ KPI Panel → 時段 Tab → Campaign Table（含篩選）→ 歷史 Modal（Chart.js）
- **元件**：Bootstrap + Chart.js + EwoooC CSS 變數系統
- **配色**：✅ 風格 B：Hero 用 EDM 紅 `#dc2626→#ea580c→#f97316`、Festival 紫 `#7c3aed`、Ink `#372b27`
- **設計問題**：
  - CSS 600+ 行依賴 var() 但無 fallback
  - Chart.js 初始化在 Modal show 後可能 race condition
  - 篩選按鈕用 `is-hidden` class 管理複雜
- **Claude Design 改造重點**：
  1. Chart.js 抽為獨立 module，支援銷毀/重建
  2. 篩選改 data-filter 驅動取代 is-hidden
  3. CSS 變數加 fallback color
  4. Modal maxHeight 動態調整
  5. 圖表加重試機制

### 2.3 vendor_stockout_index_v2.html — 廠商缺貨首頁（風格 B 樣板）⭐
- **路徑**：`templates/vendor_stockout_index_v2.html`（497 行）
- **路由**：`/vendor-stockout`
- **Layout**：**ewoooc_base.html**
- **用途**：缺貨系統首頁，KPI + 工作流程入口
- **區塊**：Hero Panel（標題+操作按鈕）→ Pulse Box（最新批次）→ KPI Grid（4 卡）→ Flow Cards（5 入口）→ Summary Grid（3 摘要）
- **元件**：純 EwoooC CSS
- **配色**：✅ 風格 B：Eyebrow `accent-strong`、Pulse Box `--momo-ink` 深底白字、KPI Danger `--momo-danger`
- **設計問題**：
  - Flow Cards hover 陰影不明顯
  - Summary Grid 三列在 720~980px 擠壓
- **Claude Design 改造重點**：
  1. Flow Cards 加陰影漸變 hover
  2. 補 768~980px 中斷點 2 列
  3. 數字加計數動畫（Intersection Observer）
  4. Summary Grid 數字+文字垂直對齊優化

### 2.4 vendor_stockout_import_v2.html — 缺貨批次匯入
- **路徑**：`templates/vendor_stockout_import_v2.html`（574 行）
- **路由**：`/vendor-stockout/import`
- **Layout**：**ewoooc_base.html**
- **用途**：Excel 拖曳上傳 + 進度提示
- **區塊**：Header → Import Note → Dropzone → Sidebar（必要欄位+範本下載）→ File Panel → Progress Panel（脈衝動畫）→ Result/Error Panel
- **配色**：✅ Dropzone 邊框 `--momo-accent`、Progress Bar `--momo-accent`、Side Panel `--momo-bg-paper`
- **設計問題**：
  - `stockout-pulse` 只改 opacity 視覺弱
  - 上傳中無法取消
  - Error Panel 無嚴重程度區分
- **Claude Design 改造重點**：
  1. 脈衝改 scale + 顏色漸變
  2. 加 AbortController 中止按鈕
  3. Result Panel 各卡片加邊框顏色
  4. 加檔案大小驗證提示

### 2.5 templates/index.html — 限時搶購首頁（舊）
- **路徑**：`templates/index.html`（431 行）
- **路由**：`/`（舊路由，與 dashboard 重疊）
- **Layout**：獨立 + Navbar
- **用途**：EDM 限時搶購活動首頁
- **區塊**：Navbar → Page Title → 排程警告 → Pills 標籤 → Tab Pane 商品表
- **配色**：⚠️ 風格 A
- **設計問題**：與 edm_dashboard.html 高度重疊；複雜 Jinja 邏輯難維護
- **Claude Design 改造重點**：考慮直接刪除，導向 edm_dashboard_v2

### 2.6 web/templates/vendor_stockout/index.html — 缺貨系統首頁（簡化）
- **路徑**：`web/templates/vendor_stockout/index.html`（319 行）
- **路由**：`/vendor-stockout`
- **Layout**：獨立 + Navbar
- **用途**：3 張功能卡片導覽（缺貨清單/廠商管理/發送歷史）
- **配色**：Card border-top `#2ecc71`/`#f39c12`，按鈕 hover scale
- **設計問題**：
  - 與 `vendor_stockout_index_v2.html` 競爭，缺 Excel 匯入卡
  - 紅綠色與深藍 Navbar 衝突
- **Claude Design 改造重點**：
  1. 加 Excel 匯入卡片
  2. 統一卡片配色為 `--momo-accent`
  3. 加卡片 transition
  4. 加快速開始流程視覺化
  5. **建議與 v2 版本擇一保留**

### 2.7 web/templates/vendor_stockout/list.html — 缺貨清單管理（巨型）
- **路徑**：`web/templates/vendor_stockout/list.html`（1793 行）
- **路由**：`/vendor-stockout/list`
- **Layout**：獨立 + Navbar
- **用途**：缺貨 CRUD + 批次郵件 + 狀態切換 + Excel 匯入（內嵌 Tab）
- **區塊**：
  1. Page Header
  2. Workflow Guide（紫色容器，3 步流程）
  3. Main Tabs（缺貨清單 / Excel 匯入）
  4. 缺貨清單 Tab：4 KPI → 待發送/已發送 子 Tab → 篩選（批次/廠商/排序）→ 批次操作 → 12 欄表 → 分頁
  5. Excel 匯入 Tab
  6. Modals: 編輯 / 郵件模板（含預覽）/ 重送確認
- **元件**：Bootstrap + 自訂 CSS（382 行）
- **配色**：Tabs 綠色漸層 `#27ae60→#2ecc71`、Workflow Guide 紫 `#667eea→#764ba2`
- **設計問題**：
  - **超大 inline JS（1600+ 行）**，難維護
  - 表格 12 欄平板溢出
  - 批次操作分散兩處易混淆
  - 郵件模板預覽用 `innerHTML` 有 XSS 風險
  - 全局 state（`selectedIds` Set + `currentStatus` string）未模組化
- **Claude Design 改造重點**：
  1. **JS 模組化**：分 API/state/render layer，class 或 module pattern
  2. **表格響應化**：mobile < 768px 改卡片視圖
  3. **批次操作合併**：context-aware UI 取代分散按鈕
  4. **XSS 防護**：DOMPurify 或 textContent
  5. **流程圖**：CSS Grid 自適應或 mobile 改垂直時間軸

### 2.8 web/templates/vendor_stockout/history.html — 發送歷史（佔位）
- **路徑**：`web/templates/vendor_stockout/history.html`（128 行）
- **狀態**：⚠️ **完全未實作**，僅有 Phase 6 提示 alert
- **Claude Design 改造重點**：
  1. 實作發送歷史表（郵件/狀態/時間/廠商）
  2. 加統計卡（總發送/成功率/失敗）
  3. 篩選（狀態/廠商/日期）
  4. 失敗重試 UI

### 2.9 web/templates/vendor_stockout/import.html — 獨立匯入頁
- **路徑**：`web/templates/vendor_stockout/import.html`（397 行）
- **與 list.html 內 Tab 功能重複**
- **配色**：Dropzone `#3498db`（藍）— 與 vendor_management 紫色 `#9b59b6` 不一致
- **Claude Design 改造重點**：
  1. 統一 Dropzone 為 `--momo-accent` 焦糖橘
  2. 考慮刪除此獨立頁（與 list.html Tab 重複）
  3. 加上傳百分比
  4. 加返回清單快速連結

### 2.10 web/templates/vendor_stockout/send_email.html — 郵件發送記錄
- **路徑**：`web/templates/vendor_stockout/send_email.html`（431 行）
- **路由**：`/vendor-stockout/send-email`
- **Layout**：獨立 + Navbar
- **用途**：郵件發送記錄查看與統計
- **區塊**：Page Header → 4 KPI（總/成功/失敗/成功率，30s 自動更新）→ 篩選（狀態/廠商/日期）→ 8 欄表 → 分頁
- **配色**：Stats `#3498db/#28a745/#dc3545/#17a2b8`
- **設計問題**：
  - 數字更新無 transition 突兀
  - subject 列無 truncate
  - 錯誤訊息塞表格內混亂
  - 無重試按鈕
- **Claude Design 改造重點**：
  1. 數字加 fade + 滾動動畫
  2. subject 加 ellipsis + tooltip
  3. 錯誤改 tooltip 或詳情 Modal
  4. 加重試失敗批次操作
  5. 30s 輪詢改事件驅動或 SSE

### 2.11 web/templates/vendor_stockout/vendor_management.html — 廠商管理
- **路徑**：`web/templates/vendor_stockout/vendor_management.html`（956 行）
- **路由**：`/vendor-stockout/vendor-management`
- **Layout**：獨立 + Navbar
- **用途**：廠商 CRUD + 郵件管理 + Excel 匯入
- **區塊**：Header → Tabs（廠商清單 / Excel 匯入）→ 廠商 Tab（3 KPI + 搜尋 + 5 欄表 + 分頁）→ Modals（新增/編輯廠商、管理郵件）
- **配色**：Tab 紫漸層 `#9b59b6→#8e44ad`、Upload 邊框 `#9b59b6`
- **設計問題**：
  - Stats Cards 單調無色彩層次
  - Dropzone 配色與 import.html 不一致（紫 vs 藍）
  - 郵件管理只在 Modal 內無 inline 列表
- **Claude Design 改造重點**：
  1. Stats Cards 加邊框色（primary/purple/success）
  2. 統一 Dropzone 為 `--momo-accent`
  3. 郵件管理改 inline 表或側邊欄
  4. 搜尋改即時篩選

---

## 3. AI 功能頁（風格 A + D 混雜）

### 3.1 ai_recommend.html — AI 文案生成（最複雜 AI 頁）
- **路徑**：`templates/ai_recommend.html`（1000+ 行）
- **路由**：`/ai_recommend`
- **Layout**：base.html (extends)
- **用途**：多引擎（Ollama 本地 + Gemini 雲端）AI 文案生成 + Web 搜尋 + 市場洞察
- **區塊**：
  1. Page Header（含 AI 引擎狀態徽章）
  2. **左欄**：文案生成表單（商品名/風格/引擎/模型/進階 accordion）
  3. Gemini 使用量面板（費用/請求/Token）
  4. 關鍵字 + 節日可收合區
  5. AI 智慧搜尋區（Web 搜尋 + 快速標籤）
  6. 商品洞察分析區
  7. **右欄**：4 頁籤面板（趨勢洞察/熱銷商品/排行榜/趨勢新聞）
  8. 全螢幕載入動畫 overlay
  9. 使用說明 Modal
- **元件**：Bootstrap Card/Accordion/Tabs/Modal + 自訂 spinner
- **互動**：
  - `/api/ai/generate_copy` 文案生成
  - `/api/ai/web_search` Web 搜尋
  - `/api/ai/bestsellers` 熱銷
  - COSME 排行榜、mybest 推薦
  - `/api/ai/gemini_usage` 用量查詢
  - 即時 Ollama ↔ Gemini 切換
- **配色**：⚠️ Bootstrap primary `#0d6efd`
- **設計問題**：
  - 文案生成 Web Search 30~60s 無進度
  - 模型切換無狀態保留
  - 結果格式化用 `【大標題】` 自訂無視覺化
  - 無錯誤恢復重試
- **Claude Design 改造重點（AI UX 重點）**：
  1. **流式輸出（Streaming）**：即時展示 AI 思考過程
  2. **拆解分析頁籤**：除文案外顯示「為何選這些」
  3. **A/B 對比 + 一鍵重生**：歷史小卡側邊欄
  4. **AI Sidebar**：浮動面板「為何有效/何時用/改進空間」
  5. **模型性能對比**：Ollama 生成時並列 Gemini 估算（不調用）

### 3.2 ai_history.html — AI 歷史記錄
- **路徑**：`templates/ai_history.html`（723 行）
- **路由**：`/ai_history`
- **Layout**：base.html (extends)
- **用途**：AI 文案歷史檢索/編輯/評分/批量操作
- **區塊**：Page Header → 4 KPI（總生成/收藏/已用/平均時間）→ 篩選列（搜尋/類型/收藏/日期）→ 批次操作列 → 歷史卡片列表（複選+類型徽章+預覽+操作）→ 分頁 → 編輯 Modal（評分星星/收藏/已用/備註）→ Toast
- **元件**：Bootstrap Card/Form/Modal/Toast/自訂 Rating Stars
- **設計問題**：
  - 無 skeleton loading
  - 文案預覽限高 120px 用漸層遮罩，不利查看
  - 評分星星 hover 預選離開復原 UX 不明確
  - 編輯後需刷新才同步統計
- **Claude Design 改造重點**：
  1. 加時間軸視圖（月/週分組熱度）
  2. 智慧分類（高轉化/實驗性/模板）自動標籤
  3. 對比檢視（兩筆 diff）
  4. 「基於此重新生成」直接跳轉預填
  5. 「已使用」改「轉化事件」整合銷售反饋

### 3.3 ai_intelligence.html — AI 競情中樞 (ICAIM)
- **路徑**：`templates/ai_intelligence.html`（465 行）
- **路由**：`/ai_intelligence`
- **Layout**：base.html (extends)
- **用途**：即時競品價格監控 + AI 決策 + 挑品清單
- **區塊**：Page Header（4 操作：立即分析/產生挑品/補抓 PChome/重整）→ 上次更新 badge → 4 KPI → 雙欄（左 70% PChome 比價熱力表 / 右 30% AI 決策日誌）→ Trigger Toast
- **元件**：Bootstrap + sticky header table + Progress Bar
- **配色**：熱力圖 `#fee2e2/#fef9c3/#f0fdf4`、策略 Badge 多色
- **互動**：60s 自動重整、`/api/ai/icaim/dashboard`、`/api/ai/icaim/trigger`、產生挑品、補抓、商品搜尋
- **設計問題**：
  - 表格 7 欄寬度固定橫向溢出
  - 推理足跡資訊密集小字難讀
  - 無 Diff 對比
- **Claude Design 改造重點**：
  1. WebSocket / SSE 即時推送，加彩色脈衝動畫
  2. AI 決策日誌展開詳情，展示 Hermes→NemoTron 完整鏈路流程圖
  3. 高風險卡片加「限時調價建議」快速面板
  4. 加「競品群聚分析」相似商品價格帶
  5. 每筆決策加「反饋」按鈕用於模型微調

### 3.4 ai_automation_smoke.html — AI 自動化監控（風格 D）⚡
- **路徑**：`templates/ai_automation_smoke.html`（314 行）
- **路由**：`/ai_automation_smoke`
- **Layout**：**獨立**（GitHub Dark 風格）
- **用途**：監控 EventRouter/AutoHeal/NemoTron/OpenClaw/ElephantAlpha 五代理健康
- **區塊**：Hero（深藍漸層、玻璃 pill、整體狀態 badge、4 操作）→ 4 摘要卡（OK/Warning/Critical/生成時間）→ 趨勢卡（200 筆點陣圖）→ 每日摘要表 → Smoke 檢查卡片網格（每代理一卡，含 Detail Box）
- **元件**：純 CSS Grid + Flexbox（**無 Bootstrap**）
- **配色**：✅ 風格 D：bg `#0d1117`、panel `#161b22`、border `#30363d`、text `#e6edf3`、狀態 `#3fb950/#d29922/#f85149/#58a6ff/#bc8cff`
- **互動**：3s/30s 動態輪詢、清歷史、推播、JSONL 匯出
- **設計問題**：
  - Detail Box JSON 格式技術導向不直覺
  - 趨勢點陣圖 200 筆過密
  - Critical 無即時通知（推播僅手動）
  - 無「上次正常時間」/「持續時間」
- **Claude Design 改造重點**：
  1. 故障時間線卡（開始→發現→修復）
  2. AI 生成「今日風險評分」+ 建議行動
  3. Detail Box 加「推薦檢查項目」（OpenClaw 驅動）
  4. 趨勢圖加 7 天平均虛線
  5. Critical 加「自動修復建議」一鍵觸發

### 3.5 notification_templates.html — 通知模板管理
- **路徑**：`templates/notification_templates.html`（339 行）
- **路由**：`/notification_templates`
- **Layout**：base.html (extends)
- **用途**：Telegram + LINE 雙渠道訊息模板 CRUD + 即時預覽
- **區塊**：Page Header（分類篩選+初始化按鈕）→ 7 欄表 → 編輯 Modal（含 monospace textarea + 預覽區）
- **配色**：預覽區深色 `#1a1a1a` 模擬訊息氣泡
- **設計問題**：
  - 樣本變數硬編碼無動態
  - 無傳遞測試
  - 無版本控制/回滾
- **Claude Design 改造重點**：
  1. 變數選擇器（可拖放插入）
  2. 場景下拉預覽（新訂單/退貨/優惠等）
  3. 多語言頁籤（繁/簡/英）
  4. 「傳送測試」實際發送驗證
  5. LINE 訊息過長自動拆分提示

### 3.6 ai_intelligence + send_email + brand_assets + code_review

#### send_email.html（76 行）
- ⚠️ **完全未實作**，Phase 6 占位
- **Claude Design 改造重點**：
  1. 三步驟精靈（分群→模板→預覽→確認）
  2. TinyMCE/Quill 富文本編輯
  3. 樣本預覽各廠商分群效果
  4. 自動生成 CSV/PDF 附件
  5. 寄送追蹤（待寄/已寄/未開/已開）

#### brand_assets.html（197 行）
- **路由**：`/brand_assets`
- **Layout**：獨立（無 Bootstrap）
- **用途**：WOOO TECH Logo 各版本下載
- **配色**：`#f8f9fa` bg、`#4F46E5` link、checkbox 透明度背景
- **Claude Design 改造重點**：
  1. Lightbox 預覽 + 多背景測試
  2. 側欄品牌規範（最小尺寸/安全距離/色彩）
  3. 批量下載 ZIP
  4. 色彩提取器（hover 顯示 HEX）

#### code_review.html（474 行）⚡（風格 D）
- **路徑**：`templates/code_review.html`
- **路由**：`/code-review`
- **Layout**：獨立（GitHub Dark）
- **用途**：AI Code Review 五步代理流程儀表板（Hermes→OpenClaw→Elephant Alpha→NemoTron→AiderHeal）
- **區塊**：Topbar（pulsing live 點）→ 雙欄（左 340px Sidebar：Pipeline 進度+嚴重度分佈+部署資訊+歷史；右 Main：Status Bar + 三 Tab：問題清單/OpenClaw 評估/Elephant Alpha 決策）
- **配色**：✅ 風格 D，嚴重度色 `#f85149/#d29922/#e3b341/#3fb950`、代理色多彩
- **互動**：3s/30s 動態輪詢、歷史切換、Tab 切換
- **設計問題**：詳細資訊小字難讀、表格行無展開詳情、無修復複製
- **Claude Design 改造重點**：
  1. Pipeline 改橫向流程圖卡（步驟+箭頭+耗時）
  2. 問題詳情抽屜（語法高亮+完整說明）
  3. OpenClaw「架構決策樹」可視化
  4. Elephant Alpha 「推理步驟」可展開列表
  5. 一鍵觸發 AiderHeal（流式日誌）

---

## 4. 系統管理頁（風格 A，全部待遷移）

### 4.1 user_management.html — 用戶管理
- **路徑**：`templates/user_management.html`（906 行）
- **路由**：`/admin/users`（推測）
- **Layout**：base.html (extends)
- **用途**：用戶 CRUD + 角色 + 權限 + 密碼重設 + 停用
- **區塊**：Page Header（新增按鈕）→ 控制列（停用帳號開關）→ DataTable 8 欄（帳號/名稱/郵件/角色/狀態/建立/更新/操作）→ Modals：新增編輯 / 重設密碼（含生成器）/ 刪除確認（紅頭）/ 權限編輯（lg + scrollable）
- **設計問題**：
  - 權限編輯 Modal 內容過多需滾動，**權限項無分組**
  - 密碼強度提示位置在 form-text 不顯眼
  - 用戶列表**無搜尋/篩選**
- **Claude Design 改造重點**：
  1. **權限矩陣 2D 表格**（用戶 × 模組），分組標籤
  2. 密碼強度進度條（紅黃綠）+ 即時反饋
  3. 列表加搜尋 + 角色/狀態篩選
  4. 編輯時隱藏密碼欄，獨立「重設密碼」按鈕
  5. 停用 Modal 強化（顯示活躍工作階段）

### 4.2 settings.html — 爬蟲管理中心（巨型）
- **路徑**：`templates/settings.html`（1650 行）
- **路由**：`/admin/settings`
- **Layout**：獨立 + Navbar
- **用途**：爬蟲狀態 + 執行頻率 + 分類 URL CRUD
- **設定群組結構**：
  ```
  ├─ 爬蟲狀態管理
  │  ├─ 統計面板（3 卡：active/paused/total）
  │  └─ 爬蟲卡片列表（動態渲染）
  │     ├─ 標題 + 狀態徽章
  │     ├─ 資訊網格（最後執行/下次執行/頻率）
  │     └─ 控制（Toggle Switch + 修改頻率）
  │
  └─ 爬蟲網址設定
     ├─ 新增分類按鈕
     ├─ 搜尋框（動態顯示）
     ├─ 分類卡片網格
     │  ├─ 名稱 + tag icon
     │  ├─ URL 超連結
     │  └─ 操作（測試/編輯/刪除）
     └─ Modal: Category Modal（新增/編輯）
  ```
- **配色**：紫漸層 `#667eea→#764ba2`、active 綠 `#10b981→#059669`、paused 黃 `#f59e0b→#d97706`
- **設計問題**：
  - 爬蟲卡 padding-top: 70px **與標題重疊**
  - 搜尋框只在有分類時顯示邏輯隱晦
  - 資訊網格無標籤只有 icon + 數值
  - 測試 URL 按鈕無 loading 反饋
- **Claude Design 改造重點**：
  1. 二層 Tab 或可折疊卡片分離爬蟲/分類
  2. 爬蟲卡修正 padding，加標籤（最後執行/下次執行/頻率）
  3. 搜尋框常顯，加分類/狀態篩選
  4. 測試 URL 狀態機（測試中→✓ 成功/✗ 失敗）
  5. 右下 FAB 新增分類

### 4.3 crawler_management.html — 爬蟲管理（簡化版，與 settings 重複）
- **路徑**：`templates/crawler_management.html`（426 行）
- **與 settings.html 功能重疊**
- **Claude Design 改造重點**：
  1. 合併功能至 settings.html，保留為「快速開關」頁
  2. 卡片補資訊（最後執行/下次/狀態）
  3. 運行中加 animated pulse

### 4.4 system_settings.html — 系統備份與匯入
- **路徑**：`templates/system_settings.html`（341 行）
- **路由**：`/admin/system-settings`
- **Layout**：獨立 + Navbar
- **用途**：系統備份 + 月份總表/即時業績/通用 Excel 匯入
- **區塊**：Page Header → 4 區塊（系統維護完整備份 / 月份總表 42 欄匯入 / 即時業績全月匯入 / 通用 Excel 自動建表）
- **配色**：紫漸層
- **設計問題**：
  - 三匯入無優先級區分
  - 進度條只有月份總表有
  - 「自動建表」邏輯不清（會否覆蓋？）
  - 無匯入結果頁
- **Claude Design 改造重點**：
  1. Tab 或折疊卡片分「維護/業績/資料」
  2. 統一 drag-drop + 進度條
  3. 完成後顯示摘要卡（總/成功/失敗/重複）
  4. 每匯入旁加「下載範本」
  5. 覆蓋操作加備份時間提示

### 4.5 logs.html — 系統日誌（最複雜篩選）
- **路徑**：`templates/logs.html`（872 行）
- **路由**：`/admin/logs`
- **Layout**：base.html (extends)
- **用途**：實時日誌檢視 + 篩選 + 搜尋 + 下載
- **區塊**：Page Header（連接狀態指示）→ 4 KPI（total/error/warning/info）→ 控制面板（主操作 + 等級按鈕篩選 + 搜尋 + 字體大小 + 自動滾動）→ 黑色終端日誌容器
- **日誌等級篩選**：按鈕式（ALL/ERROR/WARNING/INFO）active 時彩色漸層
- **日誌行視覺化**：
  - ERROR 行紅底 `rgba(239,68,68,0.15)` + 紅左邊框 `#ef4444`
  - WARNING 行黃底 + 黃左邊框 `#f59e0b`
  - INFO 行藍左邊框 `#3b82f6`
  - 時間戳綠 `#10b981` 粗體
  - 關鍵字高亮黃 `rgba(251,191,36,0.4)`
- **配色**：紫漸層按鈕、終端 bg `#1e1e1e`、文字 `#d4d4d4`
- **設計問題**：
  - 統計卡與篩選按鈕重複等級資訊
  - 搜尋框與篩選按鈕混排小屏折行
  - 自動滾動開關位置隱晦
  - 容器固定 65vh 大屏浪費空間
  - 清除日誌無確認
- **Claude Design 改造重點**：
  1. 篩選器改單行「等級標籤」複選 + 視覺優先級
  2. 搜尋加正則切換 + 上/下匹配 + 計數
  3. 日誌統計改右下浮窗
  4. 容器改 CSS Grid 自適應高度
  5. 匯出加 CSV/JSON/全選

### 4.6 login_history.html — 登入歷史
- **路徑**：`templates/login_history.html`（90 行）
- **路由**：`/admin/login-history`
- **Layout**：base.html (extends)
- **用途**：登入記錄與異常追蹤
- **區塊**：Page Header → Card（最近記錄 + 50/100/200 筆下拉）→ 6 欄表（時間/帳號/狀態/IP/原因/UA）
- **設計問題**：
  - User Agent 過長無 truncate（max-width 失效）
  - 無日期範圍篩選
  - 無 IP 地理位置
  - UA 對普通用戶無意義
- **Claude Design 改造重點**：
  1. IP 旁加地理定位（城市/國家）
  2. 加日期範圍
  3. UA 解析為「Windows PC/iPhone」等
  4. failed 行紅色弱化背景
  5. 加匯出 CSV

### 4.7 change_password.html — 變更密碼
- **路徑**：`templates/change_password.html`（219 行）
- **路由**：`/user/change-password`
- **Layout**：base.html (extends)
- **用途**：當前用戶密碼修改
- **區塊**：Centered Card → 表單（舊密/新密+強度+相符提示/確認）→ Alert Info 密碼要求 → 按鈕（變更/取消）
- **互動**：強度檢測（長度+大小寫+數字+特殊）、相符檢測、AJAX 提交
- **Claude Design 改造重點**：
  1. 強度視覺化升級（進度條+彩色徽章+反饋文字）
  2. 規則實時逐項檢查（✓/✗）
  3. 舊密 AJAX 即時驗證
  4. 規則改可折疊減高度

### 4.8 pchome_crawler.html — PChome 爬蟲工具
- **路徑**：`templates/pchome_crawler.html`（444 行）
- **路由**：`/crawler/pchome`
- **Layout**：base.html (extends)
- **用途**：館別/關鍵字/自訂 URL 三模式爬取
- **區塊**：Page Header → 3 並排卡（館別/搜尋/自訂 URL）→ 爬取進度 → 結果區（DataTable + 匯出 Excel/JSON）
- **配色**：Card Header bg-primary/success/info
- **設計問題**：
  - 三方式無優先級
  - 進度文字無百分比
  - 圖片欄 80px 太小
  - 結果無分頁
  - 匯出無 loading
- **Claude Design 改造重點**：
  1. 三層 Step 流程（選方式→設參數→看結果）
  2. 進度顯示「45/100 筆」
  3. 圖片 modal 放大、商品名 popover
  4. 加全選+批量操作
  5. DataTable 分頁+排序

### 4.9 import.html — 通用匯入頁
- **路徑**：`templates/import.html`（353 行）
- **路由**：`/import`（推測）
- **Layout**：獨立 + Navbar
- **用途**：Excel 拖曳上傳缺貨資料
- **區塊**：Page Title → Upload Area（drag-drop）→ File Info → Progress Bar → Result Area（4 欄統計 + 批次編號 + 連結按鈕）→ Error Area
- **配色**：邊框藍 `#3498db`、drag-over 綠 `#d5f4e6`、進度紫漸層
- **設計問題**：
  - hover scale 1.02 影響體驗
  - 結果統計無標籤色彩弱
  - 無檔案校驗提示
  - 再次匯入未清空舊結果
- **Claude Design 改造重點**：
  1. 移除 scale，改邊框色變化
  2. 統計卡加彩色徽章 + 圖標
  3. 上傳前校驗格式/大小
  4. 失敗項可展開列表
  5. 多步驟進度（解析/驗證/寫入）

### 4.10 auto_import_index.html — 自動匯入監控
- **路徑**：`templates/auto_import_index.html`（737 行）
- **路由**：`/auto-import`
- **Layout**：獨立 + Navbar
- **用途**：當日業績報表匯入監控
- **區塊**：Page Header → Card（日期+檔案+上傳）→ 匯入清單表（狀態 5 種：pending/downloading/importing/completed/failed）
- **設計問題**：
  - 兩處可上傳易混淆
  - 狀態徽章 rgba 太淡
  - 進度條無百分比
  - 無結果摘要
  - 刪除無確認
- **Claude Design 改造重點**：
  1. 上方只保留「選檔+上傳」，下方歷史清單
  2. 狀態徽章加圖標+動畫（spinning）
  3. 點擊行展開詳細進度
  4. 完成後顯示「成功 1000/失敗 5」摘要卡
  5. 加日期範圍篩選

---

## 5. 入口頁與錯誤頁（風格 C）

### 5.1 login.html
- **路徑**：`templates/login.html`（242 行）
- **路由**：`/login`
- **Layout**：獨立
- **用途**：品牌登入頁，密碼單一認證
- **結構**：固定 Navbar → 全頁紫漸層背景 → 居中卡片（深藍 Header + 白 Body 含 password input + eye toggle + 登入按鈕 + 安全徽章 + 版本號）
- **配色**：背景紫漸層 `#667eea→#764ba2`、Header 深藍 `#1e3c72→#2a5298`
- **設計問題**：
  - 配色與主系統不一致
  - 響應式不足（max-width 420px）
  - 密碼 toggle 無 ARIA
- **Claude Design 改造重點**：
  1. 改用主色焦糖橘
  2. 密碼 toggle 加 `aria-label/aria-pressed`
  3. 768px 以下 padding/font 微調
  4. 字體加 Noto Sans TC
  5. 加密碼強度或失敗次數提醒

### 5.2 maintenance.html
- **路徑**：`templates/maintenance.html`（240 行）
- **用途**：系統維護狀態頁，台北時間實時更新
- **結構**：深色基層 `#0f172a` + Mesh 漸層 + 2 浮動 Orb + 玻璃態中央卡（Logo + 標題 + 描述 + 狀態徽章脈衝 + 實時時間）
- **配色**：`--primary: #4F46E5`、`--secondary: #7C3AED`、`--accent: #06B6D4`
- **獨特元素**：3 層 radial-gradient mesh、`backdrop-filter: blur(12px)`、Orb 浮動、slideUp 進場
- **設計問題**：
  - `--secondary` 與 `--primary` 都紫色無差異
  - 480px 標題仍 1.8rem 偏大
  - 時間更新無 `aria-live`
- **Claude Design 改造重點**：
  1. CSS 變數差異化（secondary 改 `#8B5CF6`）
  2. 時間加 `aria-live="polite"`
  3. 480px 改 1.5rem 行高 1.6
  4. 加倒數或進度提示
  5. 移動端禁用 Orb

### 5.3 403.html
- **路徑**：`templates/403.html`（87 行）
- **用途**：權限不足錯誤頁
- **結構**：紫漸層 bg + 居中白卡（紅禁止 icon + 403 + 標題 + 說明 + 返回按鈕）
- **配色**：背景紫漸層、icon `#dc3545`
- **Claude Design 改造重點**：
  1. 卡片加 `role="alert"`，icon 加 `aria-hidden`
  2. 加「返回前頁」+「聯繫管理員」
  3. 改用焦糖橘色系
  4. 加淡入動畫
  5. 文案改「請聯繫 admin@xxx」

### 5.4 test_base.html — 測試頁
- **路徑**：`templates/test_base.html`（85 行）
- **用途**：base.html 整合測試頁
- **結構**：頁標 → 2 列（測試項目 list-group / 系統資訊表）→ 操作按鈕
- **問題**：未測 extra_css/extra_js block 或 loading_overlay
- **Claude Design 改造重點**：
  1. 加 extra_css/extra_js 測試
  2. 用 Chart.js demo
  3. Toast 測試 success/error/warning 三種
  4. 文案統一中或英

---

## 6. 共用 Components（核心架構）

### 6.1 components/_navbar.html — 全站固定導航（舊版）
- **路徑**：`templates/components/_navbar.html`（194 行）
- **API（Jinja vars）**：
  - `active_page` (str) — 當前頁面 ID 用於 active 高亮
  - `datetime_now` (str) — 右側時間顯示
  - `metabase_url` (str, optional) — Metabase 外部連結
  - `grist_url` (str, optional) — Grist 外部連結
- **結構**：
  ```
  Navbar.fixed-top.bg-custom-dark
  ├─ Brand: WOOO（sm 以上顯示）
  ├─ Toggler（mobile）
  ├─ navbar-nav.me-auto
  │   ├─ 商品看板 / 活動看板
  │   ├─ 分析報表 dropdown（4+ Metabase/Grist 條件）
  │   ├─ 廠商缺貨
  │   ├─ AI 助手 dropdown（2 項）
  │   ├─ 雲端匯入
  │   └─ 系統管理 dropdown（6 項）
  └─ navbar-text: 時間（fa-clock）
  ```
- **配色**：`.bg-custom-dark` = `--primary-gradient` 深藍 `#1e3c72→#2a5298`
- **設計問題**：
  - 無 ARIA（dropdown/aria-expanded、time aria-live）
  - 外部連結無 `rel="noopener noreferrer"`（安全隱患）
  - 無搜尋功能（相比 ewoooc shell）
  - 無用戶菜單/登出/通知 badge
- **Claude Design 改造重點**：
  1. ARIA 強化（dropdown/time/外部連結）
  2. 加右側用戶菜單（頭像+名+登出）
  3. 加搜尋框（⌘K 快捷鍵）
  4. 479px 以下改 Offcanvas
  5. 時間更新 setInterval 改 RAF

### 6.2 components/_loading.html — WOOO 載入動畫
- **路徑**：`templates/components/_loading.html`（337 行）
- **用途**：全屏品牌載入覆蓋層
- **結構**（Logo 容器 160×160px）：
  - 脈衝光暈（放射漸層圓）
  - 外層光環（順時針旋轉，紫色）
  - 內層光環（逆時針，粉+金）
  - 環繞粒子（4 顆軌道旋轉）
  - 閃爍星星（6 顆金黃延遲錯開）
  - LOGO 文字（紫漸層 + drop-shadow）
  - 載入文字（fa-spinner）
  - 進度條（漸層流動）
  - 提示文字
- **JS API**：
  ```js
  showLoading(text, hint)
  hideLoading()
  updateLoadingText(text)
  updateLoadingHint(hint)
  ```
- **動畫集**（7 個 keyframes）：cloud-float / ring-spin / ring-spin-reverse / pulse-expand / orbit-rotate / sparkle-twinkle / progress-flow
- **設計問題**：
  - 內層光環粉+金與主紫色不配
  - 無 `role="status"`/`aria-live`
  - **8 層同時動畫，移動端會掉幀**
  - z-index 9999 可能蓋過 Modal
- **Claude Design 改造重點**：
  1. 內層光環改 `#8B5CF6/#A78BFA` 保持紫系（或改焦糖橘配色）
  2. 加 `role="status" aria-live="polite" aria-label="正在載入"`
  3. 移動端自動禁 Sparkles
  4. CSS 變數控制動畫速度
  5. 支援 `showLoading(text, hint, speed)` 快速模式

### 6.3 components/_ewoooc_shell.html — EwoooC Sidebar（新版）
- **路徑**：`templates/components/_ewoooc_shell.html`（101 行）
- **API（Jinja vars）**：
  - `active_page` (str)
  - `scheduler_stats` (dict) — `{"momo_task": [{...}, ...]}`
  - `next_run` (str, optional)
  - `session` (dict) — username/role/logged_in
- **結構**：
  ```
  Aside.momo-sidebar
  ├─ Logo: 9 格網點（3×3）+ "EwoooC" + "價格監控 V2"
  ├─ Nav 群組
  │   ├─ 監控: 商品看板(01) / 活動看板(02) / 分析報表(03)
  │   ├─ 營運: 廠商缺貨(04) / AI 助手(05) / 雲端匯入(06)
  │   └─ 系統: 系統管理(07)
  └─ Status Card: 標籤 + 實時點 + 上次執行/掃描/新增
  ```
- **內部 Jinja 邏輯**（極複雜）：14 行變數初始化，多層 default + is mapping 防禦
- **設計問題**：
  - **Jinja 邏輯過重**（應移後端視圖）
  - 鍵名脆弱（`momo_task`/`last_run` 變更即破裂）
  - 無 ARIA（navigation/status）
  - 9 格 logo 用 9 個空 span 無法 SR
- **Claude Design 改造重點**：
  1. **後端預先計算 status**，Jinja 只展示
  2. 加 `role="navigation"` / `role="status"` / `aria-live`
  3. Logo 改 SVG 或 icon font
  4. 編號改 `aria-label="編號 01"`
  5. 狀態改 SSE 即時推送

---

## 7. 額外發現的頁面（之前列表外）

完整 ls 後發現以下檔案需要單獨盤點（建議排在後續迭代）：

| 檔名 | 大小 | 推測用途 |
|------|------|---------|
| `cicd_dashboard.html` | TBD | CI/CD 部署儀表板 |
| `dashboard_v2.html` | 61KB | 商品看板 V2 升級版（待比對與舊版差異）|
| `history.html` | TBD | 通用歷史頁 |
| `list.html` | TBD | 通用列表頁（與 web/templates/vendor_stockout/list.html 區分）|
| `vendor_stockout_list_v2.html` | TBD | 廠商缺貨詳情 V2 |

---

## 8. 跨頁面設計債務總結

### 8.1 風格混雜（最高優先）

```
風格 A（深藍+藍紫）→ 待全部遷移至風格 B（焦糖橘）
  影響頁面: dashboard, sales_analysis, monthly_summary, daily_sales,
           growth, edm_dashboard(舊), vendor_stockout(舊),
           ai_recommend, ai_history, ai_intelligence, notification_templates,
           user_management, settings, system_settings, logs, login_history,
           change_password, pchome_crawler, import, auto_import,
           price_comparison, abc_analysis_detail, trends
  共 23+ 個頁面

風格 C（紫色獨立）→ 改用焦糖橘色相
  影響頁面: login, 403, maintenance, _loading
  共 4 個頁面

風格 D（GitHub Dark）→ 保留深色但與焦糖橘對齊
  影響頁面: ai_automation_smoke, code_review
  共 2 個頁面

風格 B（焦糖橘）→ 維持
  影響頁面: ewoooc_base 體系下的所有頁面
  共 6+ 個頁面
```

### 8.2 共性技術債

| 問題 | 受影響頁面 | 建議處理 |
|------|----------|---------|
| 內嵌 `<style>` 過長 | dashboard(636行)、sales_analysis(569行)、daily_sales(878行)、settings、edm_dashboard_v2(600+行)、list.html(382行) | 抽出至 `*-page.css` 或統一進 design system |
| 內嵌 `<script>` 過長 | list.html (1600+行)、其他多處 | 模組化（class/module pattern）|
| 多種圖表庫並存 | sales_analysis、monthly_summary | 統一 Chart.js |
| 大圓角（16~20px） | dashboard、sales_analysis、daily_sales | 改 `--momo-radius-md/lg` (4~6px) |
| Modal Header 藍紫漸層 | dashboard、sales_analysis、user_management | 改 `--momo-ink` 暖墨 |
| 篩選無 URL state | sales_analysis、monthly_summary、trends | 加 query param 持久化 |
| 無空狀態插圖 | dashboard、growth、trends、abc_detail、user_management | 統一空狀態元件 |
| 無 Skeleton Loading | 全部 AJAX 頁 | 加 skeleton 統一元件 |
| 無虛擬滾動 | sales_analysis、monthly_summary、abc_detail、logs | 大資料集啟用 |
| ARIA 標籤缺失 | 全部 | Accessibility 統一補強 |
| 9 格 Logo 用空 span | _ewoooc_shell | 改 SVG |
| Loading 動畫 8 層同跑 | _loading | 移動端降級 |
| Jinja 邏輯過重 | _ewoooc_shell | 移至後端視圖 |
| 重複頁面（v1/v2 並存） | edm_dashboard / vendor_stockout / web 路徑 | 擇一保留 |
| XSS 風險（innerHTML） | list.html、send_email | DOMPurify 或 textContent |

### 8.3 元件化優先順序

建議建立統一元件庫（CSS 或 Jinja macro）：

1. **EmptyState** — 空狀態插圖+標題+CTA（複用率最高）
2. **SkeletonScreen** — 載入骨架（替代 spinner）
3. **KPICard** — 統一 KPI 卡（含趨勢箭頭、對比值、圖示）
4. **DataTable** — 包裝 DataTables，提供統一 hover/sort/empty
5. **Dropzone** — 統一拖曳上傳區
6. **Toast** — 統一通知（取代各頁面自訂）
7. **Modal** — 統一 Header/Footer 樣式
8. **FilterBar** — 篩選列（含 URL state、Badge 計數、清除全部）
9. **PaginationBar** — 統一分頁
10. **Stepper / Wizard** — 多步驟流程（用於 import / price_comparison）

---

*本附錄由 5 個並行 Explore agent 深掃 41 個 template + 3 個 component 後彙整，2026-05-01。*
