| Check | Result |
| Table renders one row per course with columns Course, Status, Enrollment, Students, Lessons, Rating, Updated, Actions | Pass |
| Cell text lines up with its column header (measured left edges) | Pass 0px delta on all 8 columns; the page layout centers text, so the table sets text-start on its container |
| Status filter tabs (All 6 · Published 4 · Draft 1 · Archived 1) and result counter | Pass |
| Client-side sort on Course, Students, Lessons, Rating, Updated; direction arrow always to the right of the label | Pass |
| Row actions kebab: Manage, Settings, Archive, Open Enrollment, Duplicate (state-changing items not clicked) | Pass |
| Mobile (390px) falls back to a stacked list, no table overflow | Pass |
| Vietnamese locale: all headers translated, no raw i18n keys | Pass |
| Browser console errors / warnings during the walkthrough | None |
| Course title and meta line were centered in the cell (inherited text-align) | Found → fixed in commits dd6a8f9 → 373ed55, screenshots below are after the fix |
| Column widths: metric columns were ~130-143px each for 1-3 character values, spreading the row across the full 1440px | Found → fixed Students/Lessons/Rating pinned to 96px, Updated 128px, Course takes the slack (638px), table fills the container width. Every column is left-aligned, header and cells, and sort icons always trail the label. Screenshots are after the fix. |
| Backend / API client changes | None (diff is under apps/frontend only) |