feat(frontend): migrate LoginPage, RegisterPage, ProfilePage to design system
- LoginPage: <input>/<label> → <TextField>, <button> → <Button>,
<h1> → <Heading>, inline error → <Text tone="negative">
- RegisterPage: same pattern, 4 fields, minLength via slotProps.htmlInput
- ProfilePage: <div> inline styles → <Surface>, <input> → <TextField>,
<button> → <Button>, email/role → <Text>+<Text variant="label">
- Tests: loading state checks updated from text change to
toBeDisabled() (DS Button keeps text, shows spinner)
- 264 lines removed, 134 net reduction