Stage 22 — Staff API

GET /api/v1/staff/

Bearer-token protected, read-only staff directory endpoint.
Pupils are restricted to staff linked to their class. Parents are restricted to staff linked to their children's classes. Approved admin/staff roles can query by class_id/category.
Sensitive staff fields (phone, email, address, username, password, signatures and internal codes) are never returned.

Optional query parameters: class_id, category, limit, offset.
No database/schema changes.
