Desktop (≥1024px):
- Tab bar becomes a 220px left sidebar with brand name and nav items
- Page content shifts right and max-width constrained to 1200px
- Base font-size reset to 16px for readable text
- AI assistant floating button stays in bottom-right corner
- No change to mobile layout (bottom tab bar preserved)
Centralizes all hardcoded page paths, storage keys, external URLs, and branding into a single uni-app/src/config.js. Fixes trackMarketingEffect sending wrong field names (action/content_preview -> event_type/content) that silently dropped tracking data. Adds notes, estimated_value, next_followup_at to Customer response. Removes '翻译' from bottom tab nav (5 tabs now), adds quick translate card on home page. Makes profile page header color consistent with app theme (#1890ff).
- Backend: guest UUID format fix, /auth/me guest branch, UUID validation in deps.py, CORS config fix
- Frontend: switch to native tabbar (custom: false), cleanup App.vue, redesign quick-actions with colored icons, conditional wechat login, proxy API requests via Vite