test: 42 web UI tests covering all pages and settings
tests/test_ui.py — 7 test classes, 42 tests:
TestLoginUI (4): form fields, empty submit, wrong password, success redirect
TestRegisterUI (6): join/create options, admin on create, not admin on join,
duplicate name, missing selection, password mismatch
TestDashboardUI (6): correct columns, own response buttons, other-user badges,
date nav, changed-mind badge, history mode
TestAccountSettingsUI (7): section visible, password form, wrong current,
success, mismatch, too short, delete requires password
TestHouseholdSettingsUI (8): hidden from non-admin, admin sees all sections,
generate/disable/enable public link
TestPublicPageUI (5): household name, no response buttons, date nav,
invalid token 404, disabled token 404
TestLanguageUI (6): default en, fr switch, de switch, session persist,
public page lang, footer links