.app-footer[data-v-c82c52fa]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.25rem 1.5rem;font-size:var(--text-xs);color:var(--color-text-muted);border-top:1px solid var(--color-border-muted)}.footer-sep[data-v-c82c52fa]{opacity:.4}.admin-layout[data-v-58fd6e42]{min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg-subtle)}.admin-nav[data-v-58fd6e42]{display:flex;align-items:center;gap:1.5rem;padding:0 1.5rem;height:52px;background:var(--color-bg-card);border-bottom:1px solid var(--color-border-muted)}.admin-brand[data-v-58fd6e42]{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:var(--text-sm);text-decoration:none;color:var(--color-text-primary)}.admin-badge[data-v-58fd6e42]{font-size:var(--text-xs);font-weight:500;padding:.125rem .5rem;border-radius:999px;background:var(--color-accent-subtle);color:var(--color-accent)}.admin-link[data-v-58fd6e42]{font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none}.admin-link[data-v-58fd6e42]:hover,.admin-link.router-link-active[data-v-58fd6e42]{color:var(--color-text-primary)}.admin-main[data-v-58fd6e42]{flex:1;padding:1.5rem;max-width:1100px;width:100%;margin:0 auto}.nav[data-v-f1a495d3]{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.nav-inner[data-v-f1a495d3]{display:flex;align-items:center;gap:1rem;padding:0 1.5rem;height:3.5rem}.nav-brand[data-v-f1a495d3]{display:flex;align-items:center;gap:.4rem;text-decoration:none;flex-shrink:0}.nav-logo[data-v-f1a495d3]{font-size:1.25rem;color:var(--color-accent)}.nav-name[data-v-f1a495d3]{font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary)}.nav-links[data-v-f1a495d3]{display:flex;align-items:center;gap:.25rem;flex:1}.nav-link[data-v-f1a495d3]{padding:.375rem .625rem;font-size:var(--text-sm);color:var(--color-text-secondary);border-radius:var(--radius-md);text-decoration:none;transition:background var(--transition),color var(--transition)}.nav-link[data-v-f1a495d3]:hover,.nav-link.router-link-active[data-v-f1a495d3]{background:var(--color-bg-subtle);color:var(--color-text-primary);text-decoration:none}.nav-user[data-v-f1a495d3]{position:relative;flex-shrink:0}.user-btn[data-v-f1a495d3]{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem .25rem .25rem;background:none;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition),border-color var(--transition);color:var(--color-text-primary);font-size:var(--text-sm)}.user-btn[data-v-f1a495d3]:hover,.user-btn.open[data-v-f1a495d3]{background:var(--color-bg-subtle);border-color:var(--color-border-muted)}.user-avatar[data-v-f1a495d3]{width:1.75rem;height:1.75rem;border-radius:50%;background:var(--color-accent);color:#fff;font-size:.6875rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-name[data-v-f1a495d3]{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chevron[data-v-f1a495d3]{font-size:.625rem;color:var(--color-text-muted);margin-left:.125rem}.user-dropdown[data-v-f1a495d3]{position:absolute;top:calc(100% + .375rem);right:0;min-width:180px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 4px 16px #00000024;padding:.375rem;display:flex;flex-direction:column;z-index:110}.dropdown-item[data-v-f1a495d3]{display:block;width:100%;padding:.5rem .625rem;font-size:var(--text-sm);color:var(--color-text-secondary);background:none;border:none;border-radius:var(--radius-md);text-align:left;text-decoration:none;cursor:pointer;transition:background var(--transition),color var(--transition)}.dropdown-item[data-v-f1a495d3]:hover{background:var(--color-bg-subtle);color:var(--color-text-primary);text-decoration:none}.dropdown-item--danger[data-v-f1a495d3]{color:var(--color-danger)}.dropdown-item--danger[data-v-f1a495d3]:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.dropdown-item--admin[data-v-f1a495d3]{color:var(--color-accent)}.dropdown-item--admin[data-v-f1a495d3]:hover{background:var(--color-accent-subtle);color:var(--color-accent)}.dropdown-divider[data-v-f1a495d3]{height:1px;background:var(--color-border-muted);margin:.25rem 0}.nav-burger[data-v-f1a495d3]{display:none;flex-direction:column;justify-content:center;gap:5px;padding:.5rem;background:none;border:none;cursor:pointer;margin-left:auto;border-radius:var(--radius-md)}.nav-burger[data-v-f1a495d3]:hover{background:var(--color-bg-subtle)}.burger-bar[data-v-f1a495d3]{display:block;width:20px;height:2px;background:var(--color-text-primary);border-radius:2px;transition:opacity var(--transition)}.nav-mobile[data-v-f1a495d3]{display:flex;flex-direction:column;padding:.75rem 1rem 1rem;border-top:1px solid var(--color-border-muted);background:var(--color-bg);gap:.125rem}.nav-mobile-user[data-v-f1a495d3]{display:flex;align-items:center;gap:.625rem;padding:.375rem .5rem;margin-bottom:.25rem}.mobile-avatar[data-v-f1a495d3]{width:2rem;height:2rem;border-radius:50%;background:var(--color-accent);color:#fff;font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-name[data-v-f1a495d3]{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-mobile-item[data-v-f1a495d3]{display:block;width:100%;padding:.625rem .5rem;font-size:var(--text-sm);color:var(--color-text-secondary);background:none;border:none;border-radius:var(--radius-md);text-align:left;text-decoration:none;cursor:pointer;transition:background var(--transition),color var(--transition);font-family:inherit}.nav-mobile-item[data-v-f1a495d3]:hover{background:var(--color-bg-subtle);color:var(--color-text-primary);text-decoration:none}.nav-mobile-item--danger[data-v-f1a495d3]{color:var(--color-danger)}.nav-mobile-item--danger[data-v-f1a495d3]:hover{background:var(--color-danger-subtle)}.nav-mobile-item--admin[data-v-f1a495d3]{color:var(--color-accent)}.nav-mobile-item--admin[data-v-f1a495d3]:hover{background:var(--color-accent-subtle)}.nav-mobile-divider[data-v-f1a495d3]{height:1px;background:var(--color-border-muted);margin:.25rem .5rem}@media (max-width: 640px){.nav-links[data-v-f1a495d3],.nav-user[data-v-f1a495d3]{display:none}.nav-burger[data-v-f1a495d3]{display:flex}}.app-layout[data-v-fce738ca]{min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg-subtle)}.app-main[data-v-fce738ca]{flex:1;padding:1.5rem;max-width:1200px;width:100%;margin:0 auto}@media (max-width: 640px){.app-main[data-v-fce738ca]{padding:1rem}}.household-header[data-v-4c04f363]{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.back-btn[data-v-4c04f363]{background:none;border:none;font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;padding:.25rem 0;font-family:var(--font-sans);flex-shrink:0}.back-btn[data-v-4c04f363]:hover{color:var(--color-text-primary)}.household-title[data-v-4c04f363]{font-size:var(--text-2xl);font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-nav[data-v-4c04f363]{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;overflow-x:auto;overflow-y:hidden}.tab-link[data-v-4c04f363]{padding:.625rem .875rem;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color var(--transition),border-color var(--transition)}.tab-link[data-v-4c04f363]:hover{color:var(--color-text-primary);text-decoration:none}.tab-link.router-link-active[data-v-4c04f363]{color:var(--color-accent);border-bottom-color:var(--color-accent)}.loading-placeholder[data-v-4c04f363]{padding:2rem 0;color:var(--color-text-muted);font-size:var(--text-sm)}.landing[data-v-df7b6945]{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.hero[data-v-df7b6945]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1.5rem 3rem;background:linear-gradient(160deg,var(--color-accent-subtle) 0%,var(--color-bg) 60%)}.brand[data-v-df7b6945]{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem}.brand-logo[data-v-df7b6945]{font-size:2rem;color:var(--color-accent)}.brand-name[data-v-df7b6945]{font-size:var(--text-xl);font-weight:700;color:var(--color-text-primary)}.tagline[data-v-df7b6945]{font-size:clamp(1.75rem,5vw,3rem);font-weight:700;line-height:1.2;color:var(--color-text-primary);margin-bottom:1rem}.sub[data-v-df7b6945]{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.6;margin-bottom:2.5rem}.gate[data-v-df7b6945]{width:100%;max-width:460px;text-align:left}.gate-label[data-v-df7b6945]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:.75rem}.gate-row[data-v-df7b6945]{display:flex;gap:.5rem}.gate-row input[data-v-df7b6945]{flex:1;min-width:0;padding:.5rem .75rem;font-size:var(--text-base)}.msg-error[data-v-df7b6945]{margin-top:.5rem;margin-bottom:0}.features[data-v-df7b6945]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:2rem 1.5rem;max-width:900px;margin:0 auto;width:100%}.feature-card[data-v-df7b6945]{text-align:center;padding:1.5rem}.feature-icon[data-v-df7b6945]{font-size:1.75rem;display:block;margin-bottom:.75rem}.feature-card h3[data-v-df7b6945]{font-size:var(--text-base);font-weight:600;margin-bottom:.4rem}.feature-card p[data-v-df7b6945]{font-size:var(--text-sm);color:var(--color-text-secondary)}.landing-footer[data-v-df7b6945]{text-align:center;padding:1.5rem;font-size:var(--text-sm);color:var(--color-text-muted);border-top:1px solid var(--color-border-muted)}.auth-wrap[data-v-ee1ecf76]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-subtle)}.auth-box[data-v-ee1ecf76]{width:100%;max-width:380px}.auth-header[data-v-ee1ecf76]{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}h1[data-v-ee1ecf76]{font-size:var(--text-xl);font-weight:600}h2[data-v-ee1ecf76]{font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary);margin-bottom:1.25rem}.msg-error[data-v-ee1ecf76]{margin-bottom:.75rem}.btn[data-v-ee1ecf76]{margin-top:.25rem}.password-label-row[data-v-ee1ecf76]{display:flex;align-items:baseline;justify-content:space-between}.forgot-link[data-v-ee1ecf76]{font-size:var(--text-xs)}.auth-switch[data-v-ee1ecf76]{margin-top:1.25rem;text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-wrap[data-v-a3d06c1b]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-subtle)}.auth-box[data-v-a3d06c1b]{width:100%;max-width:400px}.auth-header[data-v-a3d06c1b]{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}h1[data-v-a3d06c1b]{font-size:var(--text-xl);font-weight:600}h2[data-v-a3d06c1b]{font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary);margin-bottom:1.25rem}.field-row[data-v-a3d06c1b]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.msg-error[data-v-a3d06c1b]{margin-bottom:.75rem}.btn[data-v-a3d06c1b]{margin-top:.25rem}.auth-switch[data-v-a3d06c1b]{margin-top:1.25rem;text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-wrap[data-v-73c77495]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-subtle)}.auth-box[data-v-73c77495]{width:100%;max-width:380px}.auth-header[data-v-73c77495]{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}h1[data-v-73c77495]{font-size:var(--text-xl);font-weight:600}h2[data-v-73c77495]{font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary);margin-bottom:1.25rem}.info[data-v-73c77495]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:1.25rem;line-height:1.6}.msg-error[data-v-73c77495]{margin-bottom:.75rem}.btn[data-v-73c77495]{margin-top:.25rem}.auth-switch[data-v-73c77495]{margin-top:1.25rem;text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-wrap[data-v-2fab3f6b]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-subtle)}.auth-box[data-v-2fab3f6b]{width:100%;max-width:380px}.auth-header[data-v-2fab3f6b]{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}h1[data-v-2fab3f6b]{font-size:var(--text-xl);font-weight:600}h2[data-v-2fab3f6b]{font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary);margin-bottom:1.25rem}.info[data-v-2fab3f6b]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:1.25rem;line-height:1.6}.msg-error[data-v-2fab3f6b]{margin-bottom:.75rem}.btn[data-v-2fab3f6b]{margin-top:.25rem}.auth-switch[data-v-2fab3f6b]{margin-top:1.25rem;text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}input[data-v-2ed78ea8]:disabled{background:var(--color-bg-subtle);color:var(--color-text-muted);cursor:not-allowed}.msg-warning[data-v-2ed78ea8]{background:var(--color-warning-subtle, #fff8c5);color:var(--color-warning-fg, #7d4e00);border:1px solid var(--color-warning-muted, #f0d350);border-radius:6px;padding:.625rem .875rem;font-size:var(--text-sm);margin-bottom:1rem}.loading-text[data-v-2ed78ea8]{color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;padding:1rem 0}.onboarding-wrap[data-v-04bdd167]{display:grid;place-items:center;padding:2rem 0}.onboarding-card[data-v-04bdd167]{width:100%;max-width:480px}.step-indicator[data-v-04bdd167]{display:flex;align-items:center;gap:.5rem;margin-bottom:1.75rem}.step[data-v-04bdd167]{font-size:var(--text-xs);font-weight:500;padding:.25rem .625rem;border-radius:999px;background:var(--color-bg-inset);color:var(--color-text-muted);transition:background var(--transition),color var(--transition)}.step.active[data-v-04bdd167],.step.done[data-v-04bdd167]{background:var(--color-accent-subtle);color:var(--color-accent)}.step-sep[data-v-04bdd167]{color:var(--color-text-muted);font-size:var(--text-xs)}.onboarding-header[data-v-04bdd167]{margin-bottom:1.5rem}.onboarding-header h1[data-v-04bdd167]{font-size:var(--text-xl);font-weight:600;margin-bottom:.375rem}.onboarding-header p[data-v-04bdd167]{font-size:var(--text-sm);color:var(--color-text-secondary)}.mode-options[data-v-04bdd167]{display:flex;flex-direction:column;gap:.75rem}.mode-divider[data-v-04bdd167]{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;position:relative}.mode-divider[data-v-04bdd167]:before,.mode-divider[data-v-04bdd167]:after{content:"";position:absolute;top:50%;width:35%;height:1px;background:var(--color-border-muted)}.mode-divider[data-v-04bdd167]:before{left:0}.mode-divider[data-v-04bdd167]:after{right:0}.demo-scenarios[data-v-04bdd167]{display:flex;flex-direction:column;gap:.5rem}.mode-card[data-v-04bdd167]{display:grid;grid-template-columns:2rem 1fr;grid-template-rows:auto auto;column-gap:.75rem;align-items:center;width:100%;padding:.875rem 1rem;background:var(--color-bg-subtle);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.mode-card[data-v-04bdd167]:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-subtle)}.mode-card[data-v-04bdd167]:disabled{opacity:.6;cursor:not-allowed}.mode-card--fresh[data-v-04bdd167]{border-color:var(--color-accent)}.mode-icon[data-v-04bdd167]{grid-row:1 / 3;font-size:1.375rem;line-height:1;display:flex;align-items:center;justify-content:center}.mode-label[data-v-04bdd167]{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.mode-desc[data-v-04bdd167]{font-size:var(--text-xs);color:var(--color-text-secondary)}.mode-loading[data-v-04bdd167]{grid-column:2;font-size:var(--text-xs);color:var(--color-accent)}.invite-form[data-v-04bdd167]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.invite-btn[data-v-04bdd167]{flex-shrink:0}.invite-list[data-v-04bdd167]{list-style:none;margin:.75rem 0;display:flex;flex-direction:column;gap:.5rem}.invite-item[data-v-04bdd167]{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--color-bg-subtle);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);font-size:var(--text-sm)}.invite-badge[data-v-04bdd167]{font-size:var(--text-xs);font-weight:500;padding:.125rem .5rem;border-radius:999px;background:var(--color-accent-subtle);color:var(--color-accent)}.onboarding-actions[data-v-04bdd167]{margin-top:1.25rem}.msg-error[data-v-04bdd167]{margin-bottom:.75rem}.page-header[data-v-ea7d2c72]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-title[data-v-ea7d2c72]{font-size:var(--text-2xl);font-weight:600}.page-subtitle[data-v-ea7d2c72]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:.2rem}.households-grid[data-v-ea7d2c72]{display:flex;flex-direction:column;gap:.75rem;max-width:560px}.household-card[data-v-ea7d2c72]{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem 1.25rem;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition);font-family:var(--font-sans);font-size:var(--text-base)}.household-card[data-v-ea7d2c72]:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.household-icon[data-v-ea7d2c72]{font-size:1.25rem}.household-name[data-v-ea7d2c72]{flex:1;font-weight:500;color:var(--color-text-primary)}.member-count[data-v-ea7d2c72]{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-inset);padding:.15rem .5rem;border-radius:999px}.household-arrow[data-v-ea7d2c72]{color:var(--color-text-muted);font-size:1.25rem}.empty[data-v-ea7d2c72],.muted[data-v-ea7d2c72]{color:var(--color-text-muted);font-size:var(--text-sm)}.onboarding-wrap[data-v-500b117e]{display:grid;place-items:center;padding:2rem 0}.onboarding-card[data-v-500b117e]{width:100%;max-width:480px}.onboarding-header[data-v-500b117e]{margin-bottom:1.5rem}.onboarding-header h1[data-v-500b117e]{font-size:var(--text-xl);font-weight:600;margin-bottom:.375rem}.onboarding-header p[data-v-500b117e]{font-size:var(--text-sm);color:var(--color-text-secondary)}.mode-options[data-v-500b117e]{display:flex;flex-direction:column;gap:.75rem}.mode-divider[data-v-500b117e]{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;position:relative}.mode-divider[data-v-500b117e]:before,.mode-divider[data-v-500b117e]:after{content:"";position:absolute;top:50%;width:35%;height:1px;background:var(--color-border-muted)}.mode-divider[data-v-500b117e]:before{left:0}.mode-divider[data-v-500b117e]:after{right:0}.demo-scenarios[data-v-500b117e]{display:flex;flex-direction:column;gap:.5rem}.mode-card[data-v-500b117e]{display:grid;grid-template-columns:2rem 1fr;grid-template-rows:auto auto;column-gap:.75rem;align-items:center;width:100%;padding:.875rem 1rem;background:var(--color-bg-subtle);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);text-align:left;cursor:pointer;font-family:var(--font-sans);transition:border-color var(--transition),background var(--transition)}.mode-card[data-v-500b117e]:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-subtle)}.mode-card[data-v-500b117e]:disabled{opacity:.6;cursor:not-allowed}.mode-card--fresh[data-v-500b117e]{border-color:var(--color-accent)}.mode-icon[data-v-500b117e]{grid-row:1 / 3;font-size:1.375rem;line-height:1;display:flex;align-items:center;justify-content:center}.mode-label[data-v-500b117e]{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.mode-desc[data-v-500b117e]{font-size:var(--text-xs);color:var(--color-text-secondary)}.msg-error[data-v-500b117e]{margin-bottom:.75rem}.profile-wrap[data-v-a032a553]{max-width:480px;display:flex;flex-direction:column;gap:1.25rem}.back-btn[data-v-a032a553]{background:none;border:none;font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;padding:.25rem 0;margin-bottom:0;font-family:var(--font-sans);display:block;align-self:flex-start}.back-btn[data-v-a032a553]:hover{color:var(--color-text-primary)}.profile-card[data-v-a032a553]{padding:1.25rem}.section-title[data-v-a032a553]{font-size:var(--text-base);font-weight:600;margin-bottom:.375rem}.section-desc[data-v-a032a553]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:1.25rem}.fields-row[data-v-a032a553]{display:flex;gap:.75rem}.fields-row .field[data-v-a032a553]{flex:1}.disabled-input[data-v-a032a553]{opacity:.5;cursor:not-allowed}.form-footer[data-v-a032a553]{display:flex;align-items:center;gap:1rem;margin-top:1rem}.msg-success[data-v-a032a553]{font-size:var(--text-sm);color:#4ade80}.msg-error[data-v-a032a553]{font-size:var(--text-sm);color:var(--color-danger, #e5534b)}.danger-zone[data-v-a032a553]{border:1px solid var(--color-danger-border, #f1897b)}.delete-actions[data-v-a032a553]{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.btn-danger[data-v-a032a553]{background:var(--color-danger, #e5534b);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:var(--text-sm);font-weight:500;cursor:pointer;min-height:2.5rem;font-family:var(--font-sans)}.btn-danger[data-v-a032a553]:disabled{opacity:.4;cursor:not-allowed}.settings-grid[data-v-6d0465c1]{display:flex;flex-direction:column;gap:1.25rem;max-width:560px}.settings-section[data-v-6d0465c1]{padding:1.25rem}.section-title[data-v-6d0465c1]{font-size:var(--text-base);font-weight:600;margin-bottom:1rem}.field-hint[data-v-6d0465c1]{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:400}.subsection-title[data-v-6d0465c1]{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:.75rem}.member-list[data-v-6d0465c1]{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.inline-form[data-v-6d0465c1]{display:flex;align-items:center;gap:.75rem}.member-item[data-v-6d0465c1]{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.rename-form[data-v-6d0465c1]{flex:1;display:flex;align-items:center;gap:.375rem;min-width:0}.rename-input[data-v-6d0465c1]{flex:1;min-width:0;font-size:var(--text-sm)}.btn-rename[data-v-6d0465c1]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:1rem;padding:.25rem .375rem;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0}.btn-rename[data-v-6d0465c1]:hover{color:var(--color-accent);background:var(--color-accent-subtle)}.btn-rename-save[data-v-6d0465c1]{background:none;border:none;cursor:pointer;color:var(--color-success);font-size:1rem;padding:.25rem .375rem;border-radius:4px;flex-shrink:0}.btn-rename-save[data-v-6d0465c1]:disabled{opacity:.4;cursor:not-allowed}.btn-rename-cancel[data-v-6d0465c1]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:.9rem;padding:.25rem .375rem;border-radius:4px;flex-shrink:0}.btn-rename-cancel[data-v-6d0465c1]:hover{color:var(--color-danger)}.btn-remove[data-v-6d0465c1]{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:1.25rem;line-height:1;padding:.25rem .375rem;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0}.btn-remove[data-v-6d0465c1]:hover:not(:disabled){color:var(--color-danger, #e5534b);background:var(--color-danger-subtle, #ffeef0)}.btn-remove[data-v-6d0465c1]:disabled{opacity:.4;cursor:not-allowed}.btn-leave[data-v-6d0465c1]{margin-left:auto;background:none;border:1px solid var(--color-border-muted);cursor:pointer;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:500;padding:.2rem .6rem;border-radius:4px;transition:color .15s,border-color .15s;flex-shrink:0}.btn-leave[data-v-6d0465c1]:hover:not(:disabled){color:var(--color-danger, #e5534b);border-color:var(--color-danger, #e5534b)}.btn-leave[data-v-6d0465c1]:disabled{opacity:.4;cursor:not-allowed}.member-avatar[data-v-6d0465c1]{width:2rem;height:2rem;border-radius:50%;background:var(--color-accent-subtle);color:var(--color-accent);font-size:var(--text-sm);font-weight:600;display:grid;place-items:center;flex-shrink:0}.member-info[data-v-6d0465c1]{flex:1;display:flex;align-items:center;gap:.5rem}.badge-you[data-v-6d0465c1]{font-size:var(--text-xs);font-weight:500;color:var(--color-accent);background:var(--color-accent-subtle);padding:.1rem .4rem;border-radius:999px}.member-name[data-v-6d0465c1]{font-size:var(--text-sm);font-weight:500}.badge[data-v-6d0465c1]{font-size:var(--text-xs);font-weight:500;padding:.125rem .5rem;border-radius:999px;flex-shrink:0}.badge-active[data-v-6d0465c1]{background:var(--color-accent-subtle);color:var(--color-accent)}.badge-pending[data-v-6d0465c1],.badge-left[data-v-6d0465c1]{background:var(--color-bg-inset);color:var(--color-text-muted)}.leave-confirm[data-v-6d0465c1]{margin-top:.75rem;padding:.875rem;background:var(--color-bg-inset);border:1px solid var(--color-border-muted);border-radius:8px}.leave-confirm-text[data-v-6d0465c1]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:.75rem}.leave-confirm-actions[data-v-6d0465c1]{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.btn-danger-outline[data-v-6d0465c1]{background:none;border:1px solid var(--color-danger, #e5534b);color:var(--color-danger, #e5534b);padding:.4rem .875rem;border-radius:6px;font-size:var(--text-sm);font-weight:500;cursor:pointer;min-height:2.25rem;transition:background .15s}.btn-danger-outline[data-v-6d0465c1]:hover:not(:disabled){background:var(--color-danger-subtle, #ffeef0)}.btn-danger-outline[data-v-6d0465c1]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-6d0465c1]{background:none;border:none;color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;padding:.4rem .5rem}.btn-cancel[data-v-6d0465c1]:hover{color:var(--color-text-secondary)}.invite-divider[data-v-6d0465c1]{height:1px;background:var(--color-border-muted);margin:1rem 0}.remove-confirm[data-v-6d0465c1]{margin-top:.75rem;padding:.875rem;background:var(--color-bg-inset);border:1px solid var(--color-danger-border, #f1897b);border-radius:8px}.remove-confirm-text[data-v-6d0465c1]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:.75rem}.inline-invite-form[data-v-6d0465c1]{margin-top:.75rem;padding:.875rem;background:var(--color-bg-inset);border:1px solid var(--color-border-muted);border-radius:8px}.inline-invite-label[data-v-6d0465c1]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:.5rem}.btn-invite-member[data-v-6d0465c1]{background:none;border:1px solid var(--color-border-muted);cursor:pointer;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:500;padding:.2rem .6rem;border-radius:4px;transition:color .15s,border-color .15s;flex-shrink:0}.btn-invite-member[data-v-6d0465c1]:hover{color:var(--color-accent);border-color:var(--color-accent)}.add-member-hint[data-v-6d0465c1]{margin-top:.5rem;font-size:var(--text-xs);color:var(--color-text-muted)}.danger-zone[data-v-6d0465c1]{border:1px solid var(--color-danger-border, #f1897b)}.danger-desc[data-v-6d0465c1]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:1rem}.btn-danger[data-v-6d0465c1]{background:var(--color-danger, #e5534b);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:var(--text-sm);font-weight:500;cursor:pointer;min-height:2.5rem}.btn-danger[data-v-6d0465c1]:disabled{opacity:.4;cursor:not-allowed}.sr-only[data-v-6d0465c1]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.section-title-row[data-v-6d0465c1]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.section-title-row .section-title[data-v-6d0465c1]{margin-bottom:0}.unsaved-badge[data-v-6d0465c1]{font-size:var(--text-xs, .7rem);font-weight:500;color:var(--color-warning, #b45309);background:var(--color-warning-bg, #fef3c7);border:1px solid var(--color-warning-border, #fcd34d);border-radius:999px;padding:.15rem .6rem;white-space:nowrap}.btn-dirty[data-v-6d0465c1]{outline:2px solid var(--color-warning, #b45309);outline-offset:2px}.form-actions[data-v-6d0465c1]{display:flex;gap:.5rem;align-items:center}.combobox[data-v-ce89f1e4]{position:relative}.combobox-input-wrap[data-v-ce89f1e4]{position:relative;display:flex;align-items:center}.combobox-input[data-v-ce89f1e4]{width:100%;padding:.375rem 2rem .375rem .75rem;min-height:2.25rem;font-size:var(--text-base);border-radius:6px;background:var(--color-bg);color:var(--color-text);box-sizing:border-box}.combobox-input[data-v-ce89f1e4]:focus{outline:none;border-color:var(--color-accent)}.combobox-clear[data-v-ce89f1e4]{position:absolute;right:.4rem;background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:1.1rem;line-height:1;padding:.1rem .25rem;border-radius:3px}.combobox-clear[data-v-ce89f1e4]:hover{color:var(--color-text)}.combobox-dropdown[data-v-ce89f1e4]{position:absolute;z-index:200;top:calc(100% + 4px);left:0;right:0;background:var(--color-bg-elevated, #1e2030);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 16px #00000040;list-style:none;margin:0;padding:.25rem 0;max-height:220px;overflow-y:auto}.combobox-option[data-v-ce89f1e4]{padding:.45rem .75rem;font-size:var(--text-sm);cursor:pointer;color:var(--color-text);display:flex;align-items:center;gap:.4rem}.combobox-option.highlighted[data-v-ce89f1e4]{background:var(--color-accent-subtle, #dbeafe);color:var(--color-accent)}.combobox-option.selected[data-v-ce89f1e4]{font-weight:600}.combobox-create[data-v-ce89f1e4]{color:var(--color-accent)}.combobox-create.loading[data-v-ce89f1e4]{opacity:.6;pointer-events:none}.create-icon[data-v-ce89f1e4]{font-size:1rem;font-weight:600}.combobox-error[data-v-ce89f1e4]{margin-top:.25rem;font-size:var(--text-xs);color:var(--color-danger, #e5534b)}.ledger-wrap[data-v-e407aadf]{display:flex;flex-direction:column;gap:1rem}.ledger-toolbar[data-v-e407aadf]{display:flex;align-items:center;justify-content:space-between}.section-title[data-v-e407aadf]{font-size:var(--text-base);font-weight:600}.section-subtitle[data-v-e407aadf]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:.2rem}.empty-state[data-v-e407aadf],.muted[data-v-e407aadf]{color:var(--color-text-muted);font-size:var(--text-sm)}.entry-table-wrap[data-v-e407aadf]{overflow-x:auto}.entry-table[data-v-e407aadf]{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.entry-table th[data-v-e407aadf]{text-align:left;padding:.5rem .75rem;font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.entry-table td[data-v-e407aadf]{padding:.625rem .75rem;border-bottom:1px solid var(--color-border-muted);vertical-align:middle}.entry-table tbody tr[data-v-e407aadf]:hover{background:var(--color-bg-subtle)}.cell-label[data-v-e407aadf]{font-weight:500}.cell-amount[data-v-e407aadf]{font-weight:600;white-space:nowrap}.cell-secondary[data-v-e407aadf]{color:var(--color-text-secondary)}.cat-icon[data-v-e407aadf]{margin-right:.3em;font-style:normal}.positive[data-v-e407aadf]{color:var(--color-success, #3fb950)}.negative[data-v-e407aadf]{color:var(--color-danger, #e5534b)}.badge-kind[data-v-e407aadf]{font-size:var(--text-xs);background:var(--color-bg-inset);border:1px solid var(--color-border-muted);padding:.1rem .45rem;border-radius:999px}.cell-actions[data-v-e407aadf]{white-space:nowrap;text-align:right}.btn-icon[data-v-e407aadf]{background:none;border:none;cursor:pointer;padding:.25rem .375rem;border-radius:4px;font-size:1rem;color:var(--color-text-muted);transition:color .15s,background .15s}.btn-icon[data-v-e407aadf]:hover{color:var(--color-text-primary);background:var(--color-bg-inset)}.btn-icon-danger[data-v-e407aadf]:hover{color:var(--color-danger, #e5534b);background:var(--color-bg-inset)}.picker-section-label[data-v-e407aadf]{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.625rem}.picker-grid[data-v-e407aadf]{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem}.picker-card[data-v-e407aadf]{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem .5rem;background:var(--color-bg-subtle);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;transition:border-color var(--transition),background var(--transition)}.picker-card[data-v-e407aadf]:hover{border-color:var(--color-accent);background:var(--color-accent-subtle)}.picker-icon[data-v-e407aadf]{font-size:1.5rem;line-height:1}.picker-name[data-v-e407aadf]{font-size:var(--text-xs);font-weight:500;color:var(--color-text-primary);text-align:center;word-break:break-word}.picker-count[data-v-e407aadf]{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-inset);border-radius:999px;padding:.05rem .4rem;line-height:1.4}.picker-hint[data-v-e407aadf]{margin-top:1.25rem;font-size:var(--text-xs);color:var(--color-text-muted);text-align:center}.picker-skip[data-v-e407aadf]{display:block;margin:.75rem auto 0;background:none;border:none;font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;text-decoration:underline;font-family:var(--font-sans)}.picker-skip[data-v-e407aadf]:hover{color:var(--color-text-secondary)}.modal-header-left[data-v-e407aadf]{display:flex;align-items:center;gap:.5rem}.modal-back[data-v-e407aadf]{background:none;border:none;font-size:1.4rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0 .25rem;border-radius:4px}.modal-back[data-v-e407aadf]:hover{color:var(--color-text-primary);background:var(--color-bg-inset)}.modal-backdrop[data-v-e407aadf]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:grid;place-items:center;z-index:200;padding:1rem}.modal-box[data-v-e407aadf]{width:100%;max-width:560px;padding:1.5rem;max-height:90dvh;overflow-y:auto}.modal-header[data-v-e407aadf]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.modal-title[data-v-e407aadf]{font-size:var(--text-lg);font-weight:600;margin-bottom:0}.breadcrumb-dim[data-v-e407aadf]{color:var(--color-text-muted);font-weight:400}.modal-close[data-v-e407aadf]{background:none;border:none;font-size:1.4rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0 .25rem;border-radius:4px}.modal-close[data-v-e407aadf]:hover{color:var(--color-text-primary);background:var(--color-bg-inset)}.modal-form[data-v-e407aadf]{display:flex;flex-direction:column;gap:.875rem}.modal-actions[data-v-e407aadf]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.5rem}.modal-actions-right[data-v-e407aadf]{display:flex;gap:.75rem}.continuous-toggle[data-v-e407aadf]{display:flex;align-items:center;gap:.4rem;font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.member-checks[data-v-e407aadf]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.member-check[data-v-e407aadf]{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:999px;border:1px solid var(--color-border);font-size:var(--text-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s}.member-check.checked[data-v-e407aadf]{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.row-transfer[data-v-e407aadf]{background:#60a5fa0a}.member-filter[data-v-e407aadf]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.filter-label[data-v-e407aadf]{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.filter-tags[data-v-e407aadf]{display:flex;flex-wrap:wrap;gap:.375rem}.filter-tag[data-v-e407aadf]{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .65rem;border-radius:999px;border:1px solid var(--color-border);background:transparent;font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s,color .15s}.filter-tag[data-v-e407aadf]:hover{background:var(--color-bg-subtle);border-color:var(--color-border)}.filter-tag.active[data-v-e407aadf]{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.transfer-arrow[data-v-e407aadf]{display:block;font-size:var(--text-xs);color:var(--color-accent);margin-top:.1rem}.me-badge[data-v-e407aadf]{margin-left:.375rem;font-size:.65rem;padding:.1rem .35rem;border-radius:3px;background:var(--color-accent-subtle);color:var(--color-accent);font-weight:600;vertical-align:middle}.check-box[data-v-e407aadf]{width:1rem;text-align:center;font-size:var(--text-xs)}select[data-v-e407aadf]{width:100%;padding:.5rem .75rem;background:var(--color-bg-input, var(--color-bg-subtle));border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-primary);font-size:var(--text-sm);font-family:var(--font-sans);min-height:2.5rem}select[data-v-e407aadf]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.inline-create[data-v-e407aadf]{display:flex;gap:.375rem;margin-top:.375rem}.inline-create-input[data-v-e407aadf]{flex:1;padding:.375rem .625rem;font-size:var(--text-xs);border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-subtle);color:var(--color-text-primary);font-family:var(--font-sans)}.inline-create-input[data-v-e407aadf]::placeholder{color:var(--color-text-muted)}.inline-create-input[data-v-e407aadf]:focus{outline:none;border-color:var(--color-accent)}.btn-inline-add[data-v-e407aadf]{padding:0 .625rem;background:var(--color-accent-subtle);border:1px solid var(--color-accent);color:var(--color-accent);border-radius:6px;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s}.btn-inline-add[data-v-e407aadf]:disabled{opacity:.4;cursor:not-allowed}.btn-inline-add[data-v-e407aadf]:not(:disabled):hover{background:var(--color-accent);color:#fff}.categories-wrap[data-v-3476f278]{max-width:480px}.categories-section[data-v-3476f278]{padding:1.25rem}.section-title[data-v-3476f278]{font-size:var(--text-base);font-weight:600;margin-bottom:.375rem}.section-desc[data-v-3476f278]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:1rem;line-height:1.5}.section-desc code[data-v-3476f278]{font-family:var(--font-mono, monospace);font-size:.8em;background:var(--color-bg-inset);padding:.1em .35em;border-radius:3px}.inline-form[data-v-3476f278]{display:flex;gap:.75rem;align-items:center}.divider[data-v-3476f278]{height:1px;background:var(--color-border-muted);margin:1rem 0}.list-header[data-v-3476f278]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.list-actions[data-v-3476f278]{display:flex;gap:.5rem;align-items:center}.btn-danger[data-v-3476f278]{background:var(--color-danger, #e5534b);color:#fff;border:none}.btn-danger[data-v-3476f278]:hover:not(:disabled){opacity:.85}.btn-danger[data-v-3476f278]:disabled{opacity:.5;cursor:not-allowed}.muted[data-v-3476f278]{color:var(--color-text-muted);font-size:var(--text-sm)}.filter-wrap[data-v-3476f278]{margin-bottom:.5rem}.filter-input[data-v-3476f278]{width:100%;padding:.375rem .75rem;min-height:2.25rem;font-size:var(--text-base);font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text-primary)}.filter-input[data-v-3476f278]:focus{outline:none;border-color:var(--color-accent)}.tree-controls[data-v-3476f278]{margin-bottom:.5rem}.btn-text[data-v-3476f278]{background:none;border:none;cursor:pointer;font-size:var(--text-xs);color:var(--color-text-muted);padding:0}.btn-text[data-v-3476f278]:hover{color:var(--color-text-secondary)}.cat-list[data-v-3476f278]{list-style:none;display:flex;flex-direction:column;gap:.25rem}.cat-item[data-v-3476f278]{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;border-radius:6px;padding-left:calc(.625rem + var(--indent, 0) * 1.25rem)}.cat-item-header[data-v-3476f278]{background:transparent;padding-top:0;padding-bottom:.25rem}.cat-group[data-v-3476f278]{background:transparent;cursor:default}.group-toggle[data-v-3476f278]{background:none;border:none;cursor:pointer;padding:.125rem .25rem;color:var(--color-text-muted);line-height:1;flex-shrink:0;border-radius:3px}.group-toggle[data-v-3476f278]:hover{color:var(--color-text-secondary);background:var(--color-bg-subtle)}.toggle-icon[data-v-3476f278]{font-size:.6rem}.group-label[data-v-3476f278]{flex:1;font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.group-count[data-v-3476f278]{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-inset);padding:.1rem .4rem;border-radius:999px;flex-shrink:0}.cat-leaf[data-v-3476f278]{background:var(--color-bg-subtle)}.cat-leaf.selected[data-v-3476f278]{background:var(--color-accent-subtle, #dbeafe)}.cat-checkbox[data-v-3476f278]{cursor:pointer;accent-color:var(--color-accent);width:15px;height:15px;flex-shrink:0}.cat-name[data-v-3476f278]{flex:1;font-size:var(--text-sm);font-weight:500}.icon-btn[data-v-3476f278]{background:none;border:1px dashed var(--color-border-muted);border-radius:5px;cursor:pointer;font-size:1rem;line-height:1;padding:.1rem .3rem;color:var(--color-text-muted);flex-shrink:0;transition:border-color .15s;min-width:1.75rem;text-align:center}.icon-btn.has-icon[data-v-3476f278]{border-style:solid;border-color:var(--color-border);color:inherit}.icon-btn[data-v-3476f278]:hover{border-color:var(--color-accent)}.icon-input[data-v-3476f278]{width:3.5rem;padding:.15rem .3rem;font-size:1rem;text-align:center;border:1px solid var(--color-accent);border-radius:4px;background:var(--color-bg);color:var(--color-text);flex-shrink:0}.icon-input[data-v-3476f278]:focus{outline:none}.btn-action[data-v-3476f278]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:1rem;line-height:1;padding:.125rem .375rem;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0}.btn-action[data-v-3476f278]:hover{color:var(--color-accent);background:var(--color-accent-subtle, #dbeafe)}.btn-remove[data-v-3476f278]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:1.25rem;line-height:1;padding:.125rem .375rem;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0}.btn-remove[data-v-3476f278]:hover{color:var(--color-danger, #e5534b);background:var(--color-danger-subtle, #ffeef0)}.edit-input[data-v-3476f278]{flex:1;padding:.2rem .4rem;font-size:var(--text-sm);border:1px solid var(--color-accent);border-radius:4px;background:var(--color-bg);color:var(--color-text)}.edit-input[data-v-3476f278]:focus{outline:none}.edit-error[data-v-3476f278]{font-size:var(--text-xs);color:var(--color-danger, #e5534b)}.sr-only[data-v-3476f278]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sankey-diagram[data-v-4a67c04a]{position:relative;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.sankey-svg[data-v-4a67c04a]{display:block;min-width:300px}.link[data-v-4a67c04a]{cursor:pointer;transition:stroke .15s}.node rect[data-v-4a67c04a]{transition:opacity .15s}.node-label[data-v-4a67c04a]{font-size:11px;fill:var(--color-text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none}.tooltip[data-v-4a67c04a]{position:fixed;background:var(--color-bg-elevated, #1e2030);border:1px solid var(--color-border);border-radius:6px;padding:.375rem .625rem;font-size:var(--text-xs);color:var(--color-text);pointer-events:none;white-space:nowrap;z-index:9999;box-shadow:0 4px 12px #0000004d}.legend[data-v-4a67c04a]{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1rem}.legend-item[data-v-4a67c04a]{display:flex;align-items:center;gap:.375rem;font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:capitalize}.legend-dot[data-v-4a67c04a]{width:10px;height:10px;border-radius:3px;flex-shrink:0}.sankey-empty[data-v-4a67c04a]{padding:2rem 0}.sankey-wrap[data-v-6eef4759]{position:relative}.sankey-toolbar[data-v-6eef4759]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.toolbar-label[data-v-6eef4759]{font-size:var(--text-sm);color:var(--color-text-secondary)}.toolbar-spacer[data-v-6eef4759]{flex:1}.depth-btns[data-v-6eef4759]{display:flex;gap:.25rem}.depth-btn[data-v-6eef4759]{width:2rem;height:2rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-subtle);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);font-weight:500;transition:background .15s,border-color .15s}.depth-btn[data-v-6eef4759]:hover{border-color:var(--color-accent)}.depth-btn.active[data-v-6eef4759]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.muted[data-v-6eef4759]{color:var(--color-text-muted);font-size:var(--text-sm)}.tl-wrap[data-v-dac077fa]{width:100%;overflow-x:auto}.tl-header[data-v-dac077fa]{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.tl-header-left[data-v-dac077fa]{display:flex;flex-direction:column;gap:.2rem}.tl-month[data-v-dac077fa]{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.tl-hint[data-v-dac077fa]{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.hint-dot[data-v-dac077fa]{font-size:.6rem;vertical-align:middle}.hint-dot.in[data-v-dac077fa]{color:#34d399}.hint-dot.out[data-v-dac077fa]{color:#f87171}.tl-legend[data-v-dac077fa]{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-size:var(--text-xs);color:var(--color-text-muted)}.leg-item[data-v-dac077fa]{display:inline-flex;align-items:center;gap:5px;padding:.2rem .45rem;border-radius:4px;border:1px solid transparent;background:transparent;font-size:var(--text-xs);font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s,border-color .15s,background .15s}.leg-item[data-v-dac077fa]:hover{background:var(--color-bg-subtle);border-color:var(--color-border-muted)}.leg-item.active[data-v-dac077fa]{border-color:var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-primary)}.leg-item.dimmed[data-v-dac077fa]{opacity:.35}.leg-line[data-v-dac077fa]{display:inline-block;width:16px;height:2px;border-radius:1px;flex-shrink:0}.leg-sep[data-v-dac077fa]{display:inline-block;width:1px;height:10px;background:var(--color-border-muted);margin:0 4px;vertical-align:middle}.leg-today-swatch[data-v-dac077fa]{display:inline-block;width:14px;height:2px;background:var(--color-accent);border-radius:1px;margin-right:2px;opacity:.7;vertical-align:middle}.chart-area[data-v-dac077fa]{position:relative;display:inline-block;width:100%}.tl-svg[data-v-dac077fa]{display:block;cursor:crosshair}.tl-tooltip[data-v-dac077fa]{position:absolute;pointer-events:none;z-index:10;min-width:180px;max-width:260px;padding:.5rem .65rem;border-radius:6px;background:var(--color-bg-overlay, #1e1e2e);border:1px solid var(--color-border);box-shadow:0 4px 12px #00000040;font-size:var(--text-xs);font-family:var(--font-sans)}.tt-day[data-v-dac077fa]{font-size:.7rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem;padding-bottom:.3rem;border-bottom:1px solid var(--color-border-muted)}.tt-row[data-v-dac077fa]{display:flex;align-items:baseline;gap:.35rem;padding:.2rem 0;flex-wrap:wrap}.tt-swatch[data-v-dac077fa]{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:1px}.tt-pool[data-v-dac077fa]{flex:1;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-bal[data-v-dac077fa]{font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-text-primary);flex-shrink:0}.budget-wrap[data-v-578a2b7a]{max-width:860px}.summary-scroll[data-v-578a2b7a]{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1.5rem}.budget-summary[data-v-578a2b7a]{display:flex;align-items:stretch;gap:0;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;min-width:max-content}.summary-stat[data-v-578a2b7a]{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:9rem;padding:.875rem 1.125rem;border-right:1px solid var(--color-border-muted)}.summary-stat[data-v-578a2b7a]:last-child{border-right:none}.summary-result[data-v-578a2b7a]{border-left:2px solid var(--color-border);border-right:none;background:var(--color-bg-inset)}.summary-label[data-v-578a2b7a]{display:flex;align-items:center;gap:.35rem;font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.summary-dot[data-v-578a2b7a]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot-income[data-v-578a2b7a]{background:#93c5fd}.dot-expenses[data-v-578a2b7a]{background:#fca5a5}.dot-savings[data-v-578a2b7a]{background:#6ee7b7}.dot-investments[data-v-578a2b7a]{background:#fcd34d}.summary-value[data-v-578a2b7a]{font-size:var(--text-base);font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.summary-value.available[data-v-578a2b7a]{color:#34d399}.summary-value.negative[data-v-578a2b7a]{color:#f87171}.budget-header[data-v-578a2b7a]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.section-title[data-v-578a2b7a]{font-size:var(--text-base);font-weight:600;margin-bottom:.375rem}.section-desc[data-v-578a2b7a]{font-size:var(--text-sm);color:var(--color-text-secondary);max-width:60ch}.table-wrap[data-v-578a2b7a]{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:2rem}.transfers-table[data-v-578a2b7a]{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.transfers-table th[data-v-578a2b7a]{text-align:left;padding:.5rem .75rem;font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.transfers-table td[data-v-578a2b7a]{padding:.625rem .75rem;border-bottom:1px solid var(--color-border-muted);vertical-align:middle}.transfers-table tr:last-child td[data-v-578a2b7a]{border-bottom:none}.col-amount[data-v-578a2b7a]{text-align:right}.col-day[data-v-578a2b7a]{text-align:center}.amount[data-v-578a2b7a]{font-variant-numeric:tabular-nums;font-weight:500}.pool-badge[data-v-578a2b7a]{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:var(--text-xs);font-weight:500;max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pool-from[data-v-578a2b7a]{background:#60a5fa26;color:#60a5fa}.pool-to[data-v-578a2b7a]{background:#a78bfa26;color:#a78bfa}.timeline-section[data-v-578a2b7a]{margin-top:2rem;margin-bottom:2rem}.subsection-header[data-v-578a2b7a]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.legend-in[data-v-578a2b7a]{color:#34d399;font-size:.7rem}.legend-out[data-v-578a2b7a]{color:#f87171;font-size:.7rem}.projection-form[data-v-578a2b7a]{padding:.875rem 1rem;margin-bottom:1rem}.proj-form-header[data-v-578a2b7a]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.875rem}.proj-form-row[data-v-578a2b7a]{display:flex;align-items:center;gap:.5rem}.proj-form-label[data-v-578a2b7a]{font-size:var(--text-sm);color:var(--color-text-secondary);width:11rem;flex-shrink:0}.proj-day-input[data-v-578a2b7a]{width:9rem;padding:.25rem .4rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-inset);color:var(--color-text-primary);font-size:var(--text-sm);font-family:var(--font-sans);text-align:center}.balances-grid[data-v-578a2b7a]{margin-top:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.balances-table[data-v-578a2b7a]{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.balances-table th[data-v-578a2b7a]{text-align:left;padding:.5rem .75rem;font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.balances-table td[data-v-578a2b7a]{padding:.625rem .75rem;border-bottom:1px solid var(--color-border-muted);vertical-align:middle}.balances-table tr:last-child td[data-v-578a2b7a]{border-bottom:none}.col-bal[data-v-578a2b7a]{text-align:right;width:12rem}.col-flow[data-v-578a2b7a]{text-align:right;width:10rem;white-space:nowrap}.col-in .flow-val[data-v-578a2b7a]{color:#34d399;font-size:var(--text-sm);font-weight:500;font-variant-numeric:tabular-nums}.col-out .flow-val[data-v-578a2b7a]{color:#f87171;font-size:var(--text-sm);font-weight:500;font-variant-numeric:tabular-nums}.col-projected .projected-val[data-v-578a2b7a]{font-weight:500;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.col-projected .projected-val.negative[data-v-578a2b7a]{color:#f87171}.balance-input-wrap[data-v-578a2b7a]{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.balance-currency[data-v-578a2b7a]{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.balance-input[data-v-578a2b7a]{width:7rem;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-inset);color:var(--color-text-primary);font-size:var(--text-sm);font-family:var(--font-sans);text-align:right;font-variant-numeric:tabular-nums}.balance-input[data-v-578a2b7a]:focus,.proj-day-input[data-v-578a2b7a]:focus,.amount-input[data-v-578a2b7a]:focus{outline:none;border-color:var(--color-accent)}.amount-input-wrap[data-v-578a2b7a]{display:inline-flex;align-items:center;gap:.35rem;justify-content:flex-end}.amount-currency[data-v-578a2b7a]{font-size:var(--text-xs);color:var(--color-text-muted)}.amount-input[data-v-578a2b7a]{width:7rem;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-inset);color:var(--color-text-primary);font-size:var(--text-sm);font-family:var(--font-sans);text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.btn-ghost[data-v-578a2b7a]{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.btn-ghost[data-v-578a2b7a]:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn-xs[data-v-578a2b7a]{font-size:var(--text-xs);padding:.25rem .6rem;min-height:unset;flex-shrink:0}.sankey-section[data-v-578a2b7a]{margin-bottom:.5rem}.subsection-title[data-v-578a2b7a]{font-size:var(--text-sm);font-weight:600;margin-bottom:.25rem}.col-hint[data-v-578a2b7a]{font-weight:400;color:var(--color-text-muted);font-size:.7rem}.day-badge[data-v-578a2b7a]{display:inline-block;min-width:1.75rem;text-align:center;padding:.15rem .4rem;background:var(--color-bg-inset);border-radius:4px;font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.day-input[data-v-578a2b7a]{width:3.5rem;padding:.25rem .4rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-inset);color:var(--color-text-primary);font-size:var(--text-sm);font-family:var(--font-sans);text-align:center;font-variant-numeric:tabular-nums;font-weight:500}.day-input[data-v-578a2b7a]:focus{outline:none;border-color:var(--color-accent)}.empty-state[data-v-578a2b7a]{padding:3rem 0;text-align:center}.member-filter[data-v-578a2b7a]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.filter-label[data-v-578a2b7a]{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.filter-tags[data-v-578a2b7a]{display:flex;flex-wrap:wrap;gap:.375rem}.filter-tag[data-v-578a2b7a]{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .65rem;border-radius:999px;border:1px solid var(--color-border);background:transparent;font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s,color .15s}.filter-tag[data-v-578a2b7a]:hover{background:var(--color-bg-subtle);border-color:var(--color-border)}.filter-tag.active[data-v-578a2b7a]{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.me-badge[data-v-578a2b7a]{margin-left:.375rem;font-size:.65rem;padding:.1rem .35rem;border-radius:3px;background:var(--color-accent-subtle);color:var(--color-accent);font-weight:600;vertical-align:middle}.page-header[data-v-c0332e50]{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1.5rem}.page-header h1[data-v-c0332e50]{font-size:var(--text-xl);font-weight:600}.count[data-v-c0332e50]{font-size:var(--text-sm);color:var(--color-text-muted)}.state-msg[data-v-c0332e50]{color:var(--color-text-muted);font-size:var(--text-sm)}.feedback-list[data-v-c0332e50]{display:flex;flex-direction:column;gap:1rem}.feedback-card[data-v-c0332e50]{background:var(--color-bg-card);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);padding:1rem 1.25rem}.feedback-meta[data-v-c0332e50]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem;gap:.5rem}.feedback-meta-left[data-v-c0332e50]{display:flex;align-items:center;gap:.5rem}.feedback-category[data-v-c0332e50]{font-size:var(--text-xs);font-weight:500;background:var(--color-bg-subtle);border:1px solid var(--color-border-muted);border-radius:999px;padding:.125rem .5rem;white-space:nowrap}.feedback-subject[data-v-c0332e50]{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:.375rem}.feedback-email[data-v-c0332e50]{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.feedback-date[data-v-c0332e50]{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.feedback-message[data-v-c0332e50]{font-size:var(--text-sm);color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;line-height:1.6}.feedback-wrap[data-v-5d436280]{max-width:560px}.back-btn[data-v-5d436280]{background:none;border:none;font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;padding:.25rem 0;margin-bottom:1rem;font-family:var(--font-sans);display:block}.back-btn[data-v-5d436280]:hover{color:var(--color-text-primary)}.feedback-card[data-v-5d436280]{padding:1.25rem}.section-title[data-v-5d436280]{font-size:var(--text-base);font-weight:600;margin-bottom:.375rem}.section-desc[data-v-5d436280]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:1.25rem}.fb-categories[data-v-5d436280]{display:flex;gap:.5rem;margin-bottom:.875rem}.fb-cat-btn[data-v-5d436280]{flex:1;padding:.375rem .5rem;border:1px solid var(--color-border-muted);border-radius:var(--radius-sm);background:transparent;font-size:var(--text-sm);font-family:inherit;cursor:pointer;color:var(--color-text-secondary);transition:border-color var(--transition),background var(--transition),color var(--transition)}.fb-cat-btn[data-v-5d436280]:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.fb-cat-btn.active[data-v-5d436280]{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.feedback-input[data-v-5d436280]{width:100%;margin-bottom:.75rem;font-size:var(--text-sm)}.feedback-textarea[data-v-5d436280]{width:100%;resize:vertical;min-height:160px;margin-bottom:1rem;font-size:var(--text-sm)}.thanks[data-v-5d436280]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:1rem}.msg-error[data-v-5d436280]{font-size:var(--text-sm);color:var(--color-danger);margin-bottom:.75rem}:root{color-scheme:light dark;--color-bg: #ffffff;--color-bg-subtle: #f6f8fa;--color-bg-inset: #eaeef2;--color-border: #d0d7de;--color-border-muted: #eaeef2;--color-text-primary: #1f2328;--color-text-secondary: #636c76;--color-text-muted: #9198a1;--color-accent: #6d4aff;--color-accent-hover: #5a38e8;--color-accent-subtle: #f0edff;--color-accent-fg: #ffffff;--color-danger: #cf222e;--color-danger-subtle: #fff0f0;--color-success: #1a7f37;--color-success-subtle: #dafbe1;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 3px rgba(31, 35, 40, .08);--shadow-md: 0 4px 12px rgba(31, 35, 40, .12);--transition: .15s ease}@media (prefers-color-scheme: dark){:root{--color-bg: #0d1117;--color-bg-subtle: #161b22;--color-bg-inset: #21262d;--color-border: #30363d;--color-border-muted: #21262d;--color-text-primary: #e6edf3;--color-text-secondary: #8d96a0;--color-text-muted: #6e7681;--color-accent: #8b6fff;--color-accent-hover: #a688ff;--color-accent-subtle: #1e1640;--color-accent-fg: #ffffff;--color-danger: #f85149;--color-danger-subtle: #2d1217;--color-success: #3fb950;--color-success-subtle: #0d2b1a;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.auth-wrap{min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:var(--color-bg-subtle)}.auth-box{width:100%;max-width:400px}.auth-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}.auth-logo{font-size:var(--text-2xl);color:var(--color-accent)}.auth-title{font-size:var(--text-xl);font-weight:600}.auth-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:1.25rem}.auth-switch{margin-top:1.25rem;text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 480px){.field-row{grid-template-columns:1fr}}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}input,select,textarea{padding:.375rem .75rem;min-height:2.25rem;font-size:var(--text-base);font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}.field{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.field label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.field input,.field select,.field textarea{width:100%}.field select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.375rem .875rem;min-height:2.25rem;font-size:var(--text-base);font-family:var(--font-sans);font-weight:500;line-height:1;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-fg)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-secondary{background:var(--color-bg-subtle);border-color:var(--color-border);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-inset)}.btn-ghost{background:transparent;border-color:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-subtle);color:var(--color-text-primary)}.btn-block{width:100%}.btn-sm{font-size:var(--text-base);padding:.25rem .75rem;min-height:1.875rem}.msg-error{font-size:var(--text-sm);color:var(--color-danger);background:var(--color-danger-subtle);border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:.5rem .75rem}
