- Schema: books, tasks (book/page links, status, priority, due_at),
time_entries (open entry = running timer), user profile columns
(avatar, locale, theme, bg_image, bg_blur)
- Books CRUD; pages can live in a book (book_id, validated same-workspace)
- Tasks CRUD with status filter and due_at range query for the calendar
- Time API: start (409 if running), stop (computes duration), list with
open timer, update, delete
- Users: fuzzy discovery for invites, PATCH /me profile/appearance,
password change; members list now includes avatars
- Admin API (is_admin guard): overview counts, user list, grant/revoke
admin, delete user (self-demote/delete blocked)