diff --git a/loop/plan.md b/loop/plan.md
index 3b78eca4..a2d11f44 100644
--- a/loop/plan.md
+++ b/loop/plan.md
@@ -316,7 +316,7 @@
- [x] **UXP-03** — Polish error handling across entire frontend. Run `/polish-errors` on every view and store. Ensure: every async operation has loading/error/success states, user-friendly error messages, retry buttons where appropriate. **Acceptance**: No unhandled promise rejections; all errors shown to user.
-- [ ] **UXP-04** — Polish all forms. Run `/polish-forms` on: login, onboarding, WiFi config, backup passphrase, channel opening. Ensure: validation feedback, disabled submit during processing, success confirmation. **Acceptance**: All forms have complete validation and feedback.
+- [x] **UXP-04** — Polish all forms. Run `/polish-forms` on: login, onboarding, WiFi config, backup passphrase, channel opening. Ensure: validation feedback, disabled submit during processing, success confirmation. **Acceptance**: All forms have complete validation and feedback.
#### Sprint 26: Community Infrastructure (Week 5-8)
diff --git a/neode-ui/src/views/Credentials.vue b/neode-ui/src/views/Credentials.vue
index b7333c28..ee675d4b 100644
--- a/neode-ui/src/views/Credentials.vue
+++ b/neode-ui/src/views/Credentials.vue
@@ -99,7 +99,7 @@