.household-panel[data-v-80cfdf43]{z-index:10;text-align:left;width:320px;position:absolute;top:2.8rem;right:0}@media (width<=720px){.household-panel[data-v-80cfdf43]{width:auto;max-height:70vh;position:fixed;inset:auto .5rem .5rem;overflow-y:auto;box-shadow:0 -4px 24px #00000080}}.hint[data-v-80cfdf43]{color:var(--text-dim);margin:0 0 .75rem;font-size:.85rem}.role[data-v-80cfdf43]{color:var(--text-dim);margin-left:.25rem;font-size:.8rem}li .actions[data-v-80cfdf43]{gap:.25rem;display:inline-flex}.data-row[data-v-80cfdf43]{flex-wrap:wrap;gap:.5rem;margin:0 0 .5rem;display:flex}.data-row a[data-v-80cfdf43]{text-decoration:none}.danger[data-v-80cfdf43]{color:#e74c3c;border-color:#c0392b}ul[data-v-80cfdf43]{flex-direction:column;gap:.4rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}li[data-v-80cfdf43]{justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.leave-row[data-v-80cfdf43]{align-items:center;gap:.5rem;margin:0 0 .75rem;display:flex}.hint-inline[data-v-80cfdf43]{color:var(--text-dim);font-size:.75rem}.pending em[data-v-80cfdf43]{color:var(--text-dim);font-style:italic}.invite .actions[data-v-80cfdf43]{gap:.3rem;display:flex}.small[data-v-80cfdf43]{padding:.2rem .5rem;font-size:.75rem}hr[data-v-80cfdf43]{border:none;border-top:1px solid var(--border);margin:.75rem 0}form[data-v-80cfdf43]{gap:.5rem;display:flex}input[data-v-80cfdf43]{flex:1}.error[data-v-80cfdf43]{color:var(--red);margin:.5rem 0 0;font-size:.8rem}.login-wrap[data-v-21b3e661]{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box[data-v-21b3e661]{text-align:center;width:360px}h1[data-v-21b3e661]{color:var(--cyan);margin:0 0 .25rem}.hint[data-v-21b3e661]{color:var(--text-dim);margin:.25rem 0 1rem;font-size:.9rem}.btn[href][data-v-21b3e661]{text-align:center;text-decoration:none;display:inline-block}.error[data-v-21b3e661]{color:var(--red);font-size:.85rem}.update-banner[data-v-b9e4452f]{background:var(--bg-panel-alt);border-bottom:1px solid var(--cyan);color:var(--cyan);flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:flex}.update-banner .btn[data-v-b9e4452f]{padding:.35rem .9rem}.whats-new-backdrop[data-v-b9e4452f]{z-index:100;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.whats-new[data-v-b9e4452f]{border-color:var(--cyan);width:100%;max-width:28rem;max-height:90vh;overflow-y:auto}.whats-new h2[data-v-b9e4452f]{color:var(--cyan);margin:0 0 .5rem;font-size:1.1rem}.whats-new ul[data-v-b9e4452f]{margin:.5rem 0 1rem;padding-left:1.25rem;line-height:1.45}.whats-new li+li[data-v-b9e4452f]{margin-top:.4rem}.version-line[data-v-b9e4452f]{color:var(--text-dim);margin:0 0 1rem;font-family:ui-monospace,monospace;font-size:.75rem}.update-toast[data-v-b9e4452f]{z-index:100;background:var(--bg-panel-alt);border:1px solid var(--cyan);max-width:calc(100vw - 2rem);color:var(--text);pointer-events:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.app-loading[data-v-eb4af1ff]{min-height:100vh;color:var(--text-dim);justify-content:center;align-items:center;display:flex}.app[data-v-eb4af1ff]{max-width:1100px;margin:0 auto;padding:1.5rem}header[data-v-eb4af1ff]{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:flex;position:relative}h1[data-v-eb4af1ff]{color:var(--cyan);margin:0;font-size:1.4rem}nav[data-v-eb4af1ff]{flex:1;gap:.5rem;display:flex}.household-area[data-v-eb4af1ff]{display:inline-block;position:relative}.tab[data-v-eb4af1ff]{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:4px;padding:.4rem .8rem;font-size:.85rem;text-decoration:none;display:inline-block}.tab.active[data-v-eb4af1ff]{border-color:var(--cyan);color:var(--cyan)}.logout[data-v-eb4af1ff]{font-size:.8rem}@media (width<=720px){.app[data-v-eb4af1ff]{padding:.75rem}header[data-v-eb4af1ff]{gap:.5rem;margin-bottom:.75rem}h1[data-v-eb4af1ff]{flex:auto;font-size:1.1rem}nav[data-v-eb4af1ff]{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;flex:100%;order:3;padding-bottom:.25rem;overflow-x:auto}.tab[data-v-eb4af1ff]{white-space:nowrap;flex:none;padding:.5rem .7rem}.logout[data-v-eb4af1ff],header>.btn-secondary[data-v-eb4af1ff]{padding:.4rem .6rem;font-size:.75rem}}.app-footer[data-v-eb4af1ff]{border-top:1px solid var(--border);color:var(--text-dim);text-align:center;margin-top:1.5rem;padding-top:.5rem;font-family:ui-monospace,monospace;font-size:.7rem}:root{--bg:#14141a;--bg-panel:#1e1e26;--bg-panel-alt:#24242e;--border:#33333f;--text:#eaeaf0;--text-dim:#9494a0;--cyan:#00d4ff;--purple:#8a2be2;--green:#2ecc71;--red:#e74c3c;--amber:#f39c12;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button{cursor:pointer;font-family:inherit}input,select{background:var(--bg-panel-alt);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.5rem;font-family:inherit}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:1rem}.btn{background:var(--cyan);color:#06202b;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:600}.btn:hover{opacity:.9}.btn-secondary{background:var(--bg-panel-alt);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:.5rem 1rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem}th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.hint{color:var(--text-dim);font-size:.85rem}.error{color:var(--red)}.dim{color:var(--text-dim)}.actions-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.edit-form{background:var(--bg-panel-alt);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;display:flex}.edit-form input,.edit-form select{flex:1;min-width:130px}.edit-form .check{color:var(--text-dim);white-space:nowrap;flex:0;align-items:center;gap:.3rem;font-size:.85rem;display:flex}.edit-form .check input{width:auto}.form-actions{gap:.5rem;display:flex}.edit-form [aria-invalid=true],.add-form [aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.actions{white-space:nowrap;align-items:center;gap:.4rem;display:flex}.icon-btn{background:0 0;border:none;min-width:2rem;min-height:2rem;padding:.1rem .3rem;font-size:1rem}.icon-btn:hover,.icon-btn:focus-visible{opacity:.7}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}@media (width<=720px){.panel{border-radius:6px;padding:.75rem}table{-webkit-overflow-scrolling:touch;white-space:nowrap;font-size:.85rem;display:block;overflow-x:auto}th,td{padding:.4rem}input,select,.btn,.btn-secondary,button:not(.icon-btn):not(.tab):not(.tab-small):not(.toggle-btn){min-height:40px}.edit-form input,.edit-form select,.add-form input,.add-form select{flex:100%;width:100%;min-width:0}.edit-form .form-actions,.add-form .form-actions{justify-content:flex-end;width:100%}.header-row{flex-wrap:wrap;gap:.5rem}}
