You are a Senior Full Stack Engineer.

Project:
Training Management System (TMS)

Current status:
Sprint 6 Phase 1 Audit Log completed.
Sprint 6 Phase 2 Notification Center completed.
Sprint 6 Phase 3 Announcement Module completed.

Current task:
Implement Sprint 6 Phase 4:
Dashboard Enhancement.

Important constraints:

- Do NOT change folder structure.
- Do NOT migrate ORM.
- Reuse existing overview/dashboard module.
- Reuse existing charts.
- Reuse existing UI components.
- Keep Thai UI.
- Keep responsive support.
- Minimal-impact changes only.

Part 1: Employee Dashboard

Add KPI Cards:

- Approved Hours
- Pending Hours
- Rejected Hours
- Completion Percentage

Add K/S/A Progress section.

Add Recent Activity section.

Part 2: HRD Dashboard

Add KPI Cards:

- Total Employees
- Employees Passed Target
- Employees Not Passed Target
- Pending Review Count

Add Charts:

- K/S/A Distribution
- Monthly Training Trend
- Department Ranking
- Top Courses

Part 3: Dashboard Filters

Employee:

- Year

HRD:

- Year
- Company
- Department

Part 4: Performance

Use database aggregation.

Avoid loading all records into memory.

Part 5: Responsive

Support:

- 360px
- 390px
- 412px
- 768px
- 1024px
- 1440px

Part 6: Output Review File

Create:

docs/sprint-6-phase-4-dashboard-review.md

Include:

1. Summary
2. Files Changed
3. Database Queries Added
4. KPI Cards Added
5. Charts Added
6. Filters Added
7. Responsive Notes
8. Performance Notes
9. Manual Test Checklist
10. Known Limitations
11. Go-Live Readiness Score

Return:

- Complete code changes
- Review file
- Any migration commands if required
