Changes are applied immediately but reset on server restart.
+
+
@@ -487,6 +580,41 @@ h3 {
border-color: var(--color-accent);
}
+.settings-divider {
+ border: none;
+ border-top: 1px solid var(--color-border);
+ margin: var(--space-lg) 0;
+}
+
+.password-fields {
+ display: flex;
+ flex-direction: column;
+ gap: var(--space-sm);
+ margin-top: var(--space-sm);
+ max-width: 320px;
+}
+
+.settings-input {
+ padding: var(--space-sm);
+ background: var(--color-bg);
+ color: var(--color-text);
+ border: 1px solid var(--color-border);
+ border-radius: var(--radius-sm);
+ font-family: var(--font-ui);
+ font-size: var(--font-size-sm);
+}
+
+.settings-input:focus {
+ outline: none;
+ border-color: var(--color-accent);
+}
+
+.password-error {
+ color: var(--color-error);
+ font-size: var(--font-size-sm);
+ font-weight: 500;
+}
+
/* Expandable session rows */
.session-row.clickable {
cursor: pointer;
diff --git a/frontend/src/components/AppLayout.vue b/frontend/src/components/AppLayout.vue
index 6a5bd60..d8b0b69 100644
--- a/frontend/src/components/AppLayout.vue
+++ b/frontend/src/components/AppLayout.vue
@@ -71,6 +71,7 @@ const activeTab = ref