:root{--color-bg:#f4f5f7;--color-surface:#fff;--color-border:#d8dbe2;--color-text:#1c2128;--color-text-muted:#5b6472;--color-primary:#1f4b8f;--color-primary-hover:#17386c;--color-primary-contrast:#fff;--color-danger:#b3261e;--color-danger-bg:#fbeceb;--color-danger-border:#f0c6c3;--color-focus:#1f4b8f;--radius-sm:6px;--radius-md:10px;--shadow-card:0 1px 2px #1018280f, 0 4px 12px #10182814;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#12151a;--color-surface:#1a1e25;--color-border:#2c323c;--color-text:#e7e9ec;--color-text-muted:#9aa3b0;--color-primary:#6f9ce8;--color-primary-hover:#8fb3ee;--color-primary-contrast:#0b1220;--color-danger:#f2a29c;--color-danger-bg:#351f1e;--color-danger-border:#5c2f2c;--color-focus:#6f9ce8}}*{box-sizing:border-box}html,body{height:100%}body{background-color:var(--color-bg);color:var(--color-text);margin:0;line-height:1.5}#app{min-height:100%}h1{margin:0 0 .25rem;font-size:1.5rem}a{color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.brand-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 1.25rem;font-size:.8rem;font-weight:600}.auth-subtitle,.muted-text{color:var(--color-text-muted);margin:0 0 1.5rem}.auth-layout{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;max-width:26rem;box-shadow:var(--shadow-card);padding:2rem}.auth-footer{text-align:center;color:var(--color-text-muted);margin:1.5rem 0 0;font-size:.9rem}.form-field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.form-field label{font-size:.9rem;font-weight:600}.form-field input,.form-field select{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text);padding:.6rem .75rem}.form-field input:focus-visible,.form-field select:focus-visible{border-color:var(--color-focus)}.form-field input[aria-invalid=true]{border-color:var(--color-danger)}.field-hint{color:var(--color-text-muted);margin:0;font-size:.8rem}.field-error{color:var(--color-danger);margin:0;font-size:.8rem}.alert-error{background-color:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);border-radius:var(--radius-sm);margin:0 0 1.25rem;padding:.75rem 1rem;font-size:.9rem}.button-primary,.button-ghost{font:inherit;border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:.65rem 1.25rem;font-weight:600}.button-primary{background-color:var(--color-primary);width:100%;color:var(--color-primary-contrast)}.form-actions .button-primary{width:auto}.button-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.button-primary:disabled,.button-ghost:disabled{opacity:.6;cursor:not-allowed}.button-link{text-align:center;width:auto;margin-top:.5rem;text-decoration:none;display:inline-block}.button-ghost{border-color:var(--color-border);color:var(--color-text);background-color:#0000}.button-ghost:hover:not(:disabled){border-color:var(--color-text-muted)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.top-bar{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.top-bar-brand{align-items:center;gap:1.5rem;display:flex}.top-bar-brand .brand-kicker{margin:0}.top-bar-nav{gap:1rem;display:flex}.top-bar-link{color:var(--color-text-muted);font-size:.9rem;font-weight:600;text-decoration:none}.top-bar-link:hover,.top-bar-link.router-link-active{color:var(--color-primary)}.page-content{flex:1;justify-content:center;padding:2rem 1.5rem;display:flex}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;max-width:32rem;box-shadow:var(--shadow-card);height:fit-content;padding:2rem}.profile-summary{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0 0 1.5rem;display:grid}.profile-summary dt{color:var(--color-text-muted);font-size:.85rem}.profile-summary dd{margin:0;font-weight:500}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));align-items:start;gap:1.5rem;width:100%;max-width:64rem;display:grid}.card-wide{max-width:48rem}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.search-bar{gap:.5rem;margin-bottom:1.5rem;display:flex}.search-bar input{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text);flex:1;padding:.6rem .75rem}.household-list{flex-direction:column;gap:.75rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.household-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.household-name{align-items:center;gap:.5rem;margin:0;font-weight:600;display:flex}.household-meta{margin:.15rem 0 0;font-size:.85rem}.badge-active{text-transform:uppercase;letter-spacing:.03em;color:var(--color-primary-contrast);background-color:var(--color-primary);border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:700}.household-actions{flex-wrap:wrap;gap:.5rem;display:flex}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.form-actions{align-items:center;gap:1rem;margin-top:.5rem;display:flex}
