- New director-board component: 2-step drawer (pick WON candidate → fill appointment details) - Pending appointments section: highlights WON candidates not yet given a designation - mat-datepicker for all date fields; tenure end auto-fills to +5 years from start - Frontend validation: required field indicators + inline mat-error on submit attempt - Past dates disabled via [min]="today" on all date pickers - mat-select for Designation and Status (CBS outline style) - Election service: appointDirector, updateDirector, deleteDirector, getDirectors, getPendingDirectors - Route added: /election/directors; nav link in election dashboard - Error handler: suppress 404 toast for /election/directors (backend not yet deployed guard) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>