Add household support: multi-household isolation, each with own admin and users, 38 tests

This commit is contained in:
agentbox
2026-07-31 21:44:29 +00:00
parent d58828e0ef
commit c48cd265ca
10 changed files with 459 additions and 126 deletions
+37 -1
View File
@@ -36,6 +36,7 @@ body {
}
.brand { font-size: 1.2rem; font-weight: 700; }
.nav-right { display: flex; align-items: center; gap: 12px; }
.nav-household { font-weight: 600; font-size: 0.85rem; color: var(--primary); background: #e3f2fd; padding: 2px 10px; border-radius: 12px; }
.nav-user { font-weight: 500; color: var(--muted); }
/* ── Buttons ── */
@@ -65,9 +66,10 @@ body {
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 32px;
max-width: 380px;
max-width: 420px;
margin: 40px auto;
}
.register-card { max-width: 480px; }
.form-card h2 { margin-bottom: 20px; }
.form-card label { display: block; margin: 12px 0 4px; font-weight: 500; font-size: 0.9rem; }
.form-card input[type="text"],
@@ -81,6 +83,40 @@ body {
.form-card button[type="submit"] { margin-top: 20px; width: 100%; }
.form-footer { margin-top: 16px; text-align: center; font-size: 0.85rem; color: var(--muted); }
/* Household section */
.household-section {
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 16px;
margin: 16px 0;
}
.household-section legend {
font-weight: 600;
font-size: 0.9rem;
padding: 0 8px;
}
.radio-label {
display: flex !important;
align-items: center;
gap: 8px;
margin: 12px 0 4px !important;
cursor: pointer;
font-weight: 400 !important;
}
.radio-label input[type="radio"] { margin: 0; }
.household-block {
margin: 4px 0 12px 24px;
}
.select-input, .text-input {
width: 100%;
padding: 8px 12px;
border: 1px solid var(--border);
border-radius: 4px;
font-size: 1rem;
background: var(--surface);
}
.hint { font-size: 0.8rem; color: var(--muted); margin-top: 4px; }
/* ── Flashes ── */
.flashes { margin-bottom: 16px; }
.flash {