- Replace Tailwind CDN with local build (PostCSS + autoprefixer + daisyui)
- Add CSS build scripts with automatic prepare hook on npm install
- Create account-actions.js service layer with unified response format
- Extend ErrorHandler.withLoading() for automatic loading state management
- Add skeleton screens for initial load, silent refresh for subsequent updates
- Implement loading animations for async operations (buttons, modals)
- Improve empty states and add ARIA labels for accessibility
- Abstract component styles using @apply (buttons, badges, inputs)
- Add JSDoc documentation for Dashboard modules
- Update README and CLAUDE.md with development guidelines
- Add standalone Models tab with real-time quota/status display
- Move model identity table from Dashboard to Models tab
- Slim down Dashboard to KPI cards and charts only
- Dashboard charts now use unfiltered data (independent of Models filters)
Settings > Models improvements:
- Remove redundant Alias column (only Mapping is functional)
- Fix column misalignment bug (empty td)
- Add column widths and hidden row opacity styling
- Single row edit constraint (only one Mapping editable at a time)
- showHiddenModels toggle now only affects Settings (not Models tab)
- Update description text to match current functionality
i18n:
- Add 'models' and 'modelsPageDesc' keys (EN/ZH)
- Add 'modelMappingHint' for Claude CLI guidance
- Update 'modelsDesc' to reflect new functionality