feat: chat fixes, header cleanup, scrollbar, UI improvements
- chat: fix create_direct endpoint (was /chats/ → /chats/create_direct/ with user_id)
- chat: fix backend NotSupportedError — remove select_for_update()+distinct() combo
- chat: normalize chat objects (participant_id from other_participant.id)
- chat: enrich new chats with contact data so contacts section updates correctly
- chat: sendMessage — JSON when no file, FormData only with attachment
- chat: show send errors in UI instead of silent catch
- header: hide search, language, contacts, workspaces, account buttons
- theme: thin custom scrollbar (6px, theme-aware light/dark)
- settings: always high contrast, vertical nav only, purple default, Inter font
- settings-button: replaced gear icon with dark/light toggle + fullscreen button
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>