.firebase-config[data-v-c1b328ee]{background-color:var(--bg-default);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.firebase-config__card[data-v-c1b328ee]{width:100%;max-width:600px;padding:40px}.firebase-config__logo-icon[data-v-c1b328ee]{color:var(--primary-color);margin-bottom:16px;font-size:64px}.firebase-config__title[data-v-c1b328ee]{margin-bottom:12px;font-size:1.75rem}.firebase-config__description[data-v-c1b328ee]{color:var(--text-secondary);margin-bottom:32px;line-height:1.5}.firebase-config__form[data-v-c1b328ee]{flex-direction:column;gap:16px;display:flex}.text-center[data-v-c1b328ee]{text-align:center}.full-width[data-v-c1b328ee]{width:100%;margin-top:16px;padding:16px;font-size:1.1rem}.mt-16[data-v-c1b328ee]{margin-top:16px}.text-link[data-v-c1b328ee]{color:var(--primary-color);font-weight:600;text-decoration:none}.text-link[data-v-c1b328ee]:hover{text-decoration:underline}@media (width<=600px){.firebase-config__card[data-v-c1b328ee]{padding:24px}}.modal-dialog__color-picker[data-v-cc8d6ffd]{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.modal-dialog__color-swatch[data-v-cc8d6ffd]{cursor:pointer;color:#222026;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .2s;display:flex}.modal-dialog__color-swatch[data-v-cc8d6ffd]:hover{transform:scale(1.1)}.modal-dialog__color-swatch--selected[data-v-cc8d6ffd]{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-card)}.modal-dialog__color-swatch span[data-v-cc8d6ffd]{font-size:20px;font-weight:700}.navbar[data-v-bd353ad3]{z-index:100;border-top:none;border-left:none;border-right:none;border-radius:0;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.navbar__brand[data-v-bd353ad3]{color:var(--primary-color);align-items:center;gap:12px;display:flex}.navbar__logo-icon[data-v-bd353ad3]{font-size:32px}.navbar__title[data-v-bd353ad3]{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:800}.navbar__links[data-v-bd353ad3]{gap:8px;display:flex}.navbar__tab[data-v-bd353ad3]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.navbar__tab .material-symbols-rounded[data-v-bd353ad3]{font-size:20px}.navbar__tab[data-v-bd353ad3]:not(.navbar__tab--active):hover{color:var(--text-primary);background-color:#ffffff1a}.navbar__tab--active[data-v-bd353ad3]{background-color:var(--primary-color);color:var(--color-white)}.navbar__actions[data-v-bd353ad3]{gap:8px;display:flex}.navbar__menu-button[data-v-bd353ad3]{display:none}.navbar__menu[data-v-bd353ad3]{width:min(360px,100vw - 32px);max-width:none;color:var(--text-primary);background:var(--color-bg-header);border:1px solid var(--border-color);padding:24px}.navbar__menu[data-v-bd353ad3]::backdrop{background:var(--color-bg-modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.navbar__menu-header[data-v-bd353ad3]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.navbar__menu-title[data-v-bd353ad3]{font-size:1.25rem}.navbar__menu-action[data-v-bd353ad3]{width:100%;color:var(--text-primary);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:12px;font-weight:600;display:flex}.navbar__menu-action[data-v-bd353ad3]:hover{background:var(--color-hover-bg)}.navbar__menu-action--danger[data-v-bd353ad3]{color:var(--danger-color)}@media (width<=1024px){.navbar[data-v-bd353ad3]{padding:10px 16px}.navbar__links[data-v-bd353ad3]{gap:2px;min-width:0}.navbar__tab[data-v-bd353ad3]{padding:8px 10px}}@media (width<=768px){.navbar[data-v-bd353ad3]{padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border-color);background:var(--color-bg-header);border-bottom:none;justify-content:flex-start;gap:4px;position:fixed;inset:auto 0 0}.navbar__brand[data-v-bd353ad3]{display:none}.navbar__links[data-v-bd353ad3]{flex:1;justify-content:space-around;gap:0}.navbar__tab[data-v-bd353ad3]{flex-direction:column;flex:1;justify-content:center;gap:0;padding:8px 4px}.navbar__tab span[data-v-bd353ad3]{font-size:24px}.navbar__tab-label[data-v-bd353ad3],.navbar__actions[data-v-bd353ad3],.navbar__tab--family[data-v-bd353ad3]{display:none}.navbar__menu-button[data-v-bd353ad3]{display:flex}.navbar__menu[data-v-bd353ad3]{margin:auto}}.stat-tile[data-v-90fd579e]{align-items:center;gap:16px;padding:20px;display:flex}.stat-icon[data-v-90fd579e]{background-color:var(--color-bg-pill);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.stat-icon span[data-v-90fd579e]{font-size:28px}.stat-content[data-v-90fd579e]{flex-direction:column;display:flex}.stat-label[data-v-90fd579e]{color:var(--text-secondary);margin-bottom:4px;font-size:.875rem;font-weight:500}.stat-value[data-v-90fd579e]{color:var(--text-primary);letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.stat-subtext[data-v-90fd579e]{align-items:center;gap:4px;margin-top:4px;font-size:.75rem;font-weight:600;display:flex}.stat-subtext span[data-v-90fd579e]{font-size:14px}.trend-up[data-v-90fd579e]{color:var(--success-color)}.trend-down[data-v-90fd579e]{color:var(--danger-color)}.trend-neutral[data-v-90fd579e]{color:var(--text-secondary)}.chart-container[data-v-0fd8cb35]{flex-direction:column;gap:24px;height:100%;padding:24px;display:flex}.chart-header[data-v-0fd8cb35]{justify-content:space-between;align-items:center;display:flex}.chart-title[data-v-0fd8cb35]{margin:0;font-size:1.125rem}.chart-filter[data-v-0fd8cb35]{border-radius:8px;padding:4px 12px;font-size:.875rem}.chart-body[data-v-0fd8cb35]{flex:1;gap:16px;height:200px;display:flex}.chart-y-axis[data-v-0fd8cb35]{color:var(--text-secondary);text-align:right;flex-direction:column;justify-content:space-between;min-width:30px;font-size:.75rem;display:flex}.chart-bars-area[data-v-0fd8cb35]{border-bottom:1px solid var(--border-color);flex:1;justify-content:space-around;align-items:flex-end;padding-bottom:8px;display:flex}.chart-group[data-v-0fd8cb35]{flex-direction:column;justify-content:flex-end;align-items:center;gap:12px;height:100%;display:flex}.bars-wrapper[data-v-0fd8cb35]{align-items:flex-end;gap:4px;width:24px;height:100%;display:flex}.bar[data-v-0fd8cb35]{border-radius:4px 4px 0 0;width:10px;min-height:2px;transition:height .8s cubic-bezier(.2,.8,.2,1)}.income-bar[data-v-0fd8cb35]{background-color:var(--success-color)}.spend-bar[data-v-0fd8cb35]{background-color:var(--danger-color)}.chart-x-label[data-v-0fd8cb35]{color:var(--text-secondary);font-size:.75rem;font-weight:500}.reminder-list[data-v-b3da0907]{padding:24px}.reminder-list__header[data-v-b3da0907]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.reminder-list__title[data-v-b3da0907]{margin:0;font-size:1.125rem}.reminder-list__badge[data-v-b3da0907]{background-color:var(--primary-color);color:var(--color-white);border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:700}.reminder-list__empty-state[data-v-b3da0907]{color:var(--text-secondary);flex-direction:column;align-items:center;gap:8px;padding:24px 0;display:flex}.reminder-list__empty-state span[data-v-b3da0907]{color:var(--success-color);opacity:.5;font-size:48px}.reminder-list__items[data-v-b3da0907]{flex-direction:column;gap:12px;list-style:none;display:flex}.reminder-list__item[data-v-b3da0907]{background-color:#00000005;border-radius:12px;align-items:flex-start;gap:16px;padding:16px;display:flex}.reminder-list__item span[data-v-b3da0907]{margin-top:2px}.reminder-list__item--warning[data-v-b3da0907]{border-left:4px solid var(--warning-color)}.reminder-list__item--warning .reminder-list__icon[data-v-b3da0907]{color:var(--warning-color)}.reminder-list__item--danger[data-v-b3da0907]{border-left:4px solid var(--danger-color)}.reminder-list__item--danger .reminder-list__icon[data-v-b3da0907]{color:var(--danger-color)}.reminder-list__item--info[data-v-b3da0907]{border-left:4px solid var(--primary-color)}.reminder-list__item--info .reminder-list__icon[data-v-b3da0907]{color:var(--primary-color)}.reminder-list__item-title[data-v-b3da0907]{margin:0 0 4px;font-size:.875rem;font-weight:700}.reminder-list__item-message[data-v-b3da0907]{color:var(--text-secondary);margin:0;font-size:.75rem;line-height:1.4}.dashboard-page__header[data-v-368386c1]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.dashboard-page__title[data-v-368386c1]{margin:0;font-size:1.75rem}.dashboard-page__grid[data-v-368386c1]{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.dashboard-page__charts-grid[data-v-368386c1]{grid-template-columns:2fr 1fr;gap:24px;margin-top:24px;display:grid}@media (width<=1024px){.dashboard-page__charts-grid[data-v-368386c1]{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.dashboard-page__header[data-v-368386c1]{flex-direction:column;align-items:stretch;gap:16px}.dashboard-page__title[data-v-368386c1]{font-size:1.5rem}.dashboard-page__grid[data-v-368386c1]{grid-template-columns:1fr;gap:12px}.dashboard-page__charts-grid[data-v-368386c1]{gap:16px;margin-top:16px}}.avatar-circle[data-v-cf352ba2]{-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:-.02em;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex;position:relative;box-shadow:inset 0 2px 4px #fff6,0 2px 8px #22202614}.avatar-image[data-v-cf352ba2]{object-fit:cover;border-radius:50%;width:100%;height:100%;position:absolute;top:0;left:0}.member-card[data-v-3c287b9b]{flex-direction:column;gap:20px;padding:24px;display:flex}.member-card__header[data-v-3c287b9b]{align-items:center;gap:16px;display:flex}.member-card__title[data-v-3c287b9b]{flex-direction:column;gap:4px;display:flex}.member-card__name[data-v-3c287b9b]{margin:0;font-size:1.125rem;font-weight:700}.member-card__badge[data-v-3c287b9b]{background-color:var(--border-color);color:var(--text-secondary);border-radius:4px;align-self:flex-start;padding:4px 8px;font-size:.75rem;font-weight:500}.member-card__stats[data-v-3c287b9b]{background-color:#00000005;border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.member-card__stat-item[data-v-3c287b9b]{justify-content:space-between;align-items:center;display:flex}.member-card__stat-label[data-v-3c287b9b]{color:var(--text-secondary);font-size:.875rem}.member-card__stat-value[data-v-3c287b9b]{font-weight:700}.member-card__stat-value--success[data-v-3c287b9b]{color:var(--success-color)}.member-card__actions[data-v-3c287b9b]{justify-content:flex-end;margin-top:auto;display:flex}.member-card__btn-edit[data-v-3c287b9b]{color:var(--text-primary);align-items:center;gap:4px;margin-right:8px;padding:4px 8px;font-size:.875rem;display:flex}.member-card__btn-edit span[data-v-3c287b9b]{font-size:18px}.member-card__btn-delete[data-v-3c287b9b]{color:var(--danger-color);align-items:center;gap:4px;padding:4px 8px;font-size:.875rem;display:flex}.member-card__btn-delete span[data-v-3c287b9b]{font-size:18px}.family-page__header[data-v-ebc9a434]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.family-page__title[data-v-ebc9a434]{margin:0;font-size:1.75rem}.family-page__grid[data-v-ebc9a434]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}@media (width<=1024px){.family-page__grid[data-v-ebc9a434]{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}}@media (width<=600px){.family-page__header[data-v-ebc9a434]{flex-direction:column;align-items:stretch;gap:16px}.family-page__title[data-v-ebc9a434]{font-size:1.5rem}.family-page__grid[data-v-ebc9a434]{gap:16px}}.progress-bar-container[data-v-04d7706c]{flex-direction:column;gap:6px;width:100%;display:flex}.progress-bar-track[data-v-04d7706c]{appearance:none;background-color:var(--color-bg-pill);border:0;border-radius:4px;width:100%;height:8px;display:block;overflow:hidden;box-shadow:inset 0 1px 2px #0000000d}.progress-bar-track[data-v-04d7706c]::-webkit-progress-bar{background-color:var(--color-bg-pill);border-radius:4px}.progress-bar-track[data-v-04d7706c]::-webkit-progress-value{background-color:var(--progress-bar-color);border-radius:4px;transition:width .8s cubic-bezier(.2,.8,.2,1)}.progress-bar-track[data-v-04d7706c]::-moz-progress-bar{background-color:var(--progress-bar-color);border-radius:4px;transition:width .8s cubic-bezier(.2,.8,.2,1)}.progress-bar-labels[data-v-04d7706c]{color:var(--text-secondary);justify-content:space-between;font-size:.75rem;font-weight:500;display:flex}.investment-row[data-v-41017304]{flex-direction:column;gap:16px;padding:20px;transition:background-color .2s;display:flex}.investment-row:hover .investment-row__actions[data-v-41017304]{opacity:1}.investment-row__header[data-v-41017304]{justify-content:space-between;align-items:flex-start;display:flex}.investment-row__title-area[data-v-41017304]{align-items:center;gap:12px;display:flex}.investment-row__icon[data-v-41017304]{border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.investment-row__icon--fixed-income[data-v-41017304]{color:var(--accent-color);background-color:#a8dff826}.investment-row__icon--variable-income[data-v-41017304]{color:var(--warning-color);background-color:#f6b35226}.investment-row__name[data-v-41017304]{font-size:1.1rem;font-weight:700}.investment-row__type[data-v-41017304]{color:var(--text-secondary);align-items:center;gap:6px;font-size:.75rem;display:flex}.investment-row__bullet[data-v-41017304]{opacity:.5}.investment-row__actions[data-v-41017304]{opacity:0;gap:4px;transition:opacity .2s;display:flex}.investment-row__actions .danger-icon[data-v-41017304]:hover{color:var(--danger-color)}.investment-row__grid[data-v-41017304]{background-color:#00000005;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:16px;padding:16px;display:grid}.dark-theme{background-color:#ffffff05}.investment-row__label[data-v-41017304]{color:var(--text-secondary);margin-bottom:4px;font-size:.75rem}.investment-row__value[data-v-41017304]{font-size:1rem;font-weight:700}.investment-row__value--highlight[data-v-41017304]{color:var(--primary-color)}.investment-row__value--success[data-v-41017304]{color:var(--success-color)}.investment-row__value--danger[data-v-41017304]{color:var(--danger-color)}.investment-row__edit-mode[data-v-41017304]{align-items:center;gap:8px;display:flex}.investment-row__input[data-v-41017304]{width:100px;padding:4px 8px;font-size:.875rem}.investment-row__btn-save[data-v-41017304]{min-height:auto;padding:4px 12px;font-size:.75rem}@media (width<=600px){.investment-row[data-v-41017304]{padding:16px}.investment-row__actions[data-v-41017304]{opacity:1}.investment-row__grid[data-v-41017304]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px}.investment-row__data-point[data-v-41017304]{min-width:0}.investment-row__value[data-v-41017304]{overflow-wrap:anywhere}}.mt-16[data-v-41017304]{margin-top:16px}.investments-page__header[data-v-2fe40f85]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.investments-page__title[data-v-2fe40f85]{margin:0;font-size:1.75rem}.investments-page__grid[data-v-2fe40f85]{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px;display:grid}.investments-page__empty-state[data-v-2fe40f85]{color:var(--text-secondary);text-align:center;grid-column:1/-1;padding:40px}@media (width<=1024px){.investments-page__grid[data-v-2fe40f85]{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}}@media (width<=600px){.investments-page__header[data-v-2fe40f85]{flex-direction:column;align-items:stretch;gap:16px}.investments-page__title[data-v-2fe40f85]{font-size:1.5rem}.investments-page__grid[data-v-2fe40f85]{gap:16px}}.transaction-row[data-v-33c755ac]{border-bottom:1px solid var(--border-color);align-items:center;gap:16px;padding:16px;transition:background-color .2s;display:flex}.transaction-row[data-v-33c755ac]:last-child{border-bottom:none}.transaction-row[data-v-33c755ac]:hover{background-color:#ffffff08}.transaction-row:hover .transaction-row__actions[data-v-33c755ac]{opacity:1}.transaction-row__icon-container[data-v-33c755ac]{border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.transaction-row__icon-container--income[data-v-33c755ac]{color:var(--success-color);background-color:#a7e46a26}.transaction-row__icon-container--spend[data-v-33c755ac]{color:var(--danger-color);background-color:#ff6b6b26}.transaction-row__info[data-v-33c755ac]{flex:1}.transaction-row__description[data-v-33c755ac]{color:var(--text-primary);margin-bottom:4px;font-weight:600}.transaction-row__meta[data-v-33c755ac]{color:var(--text-secondary);align-items:center;gap:6px;font-size:.75rem;display:flex}.transaction-row__bullet[data-v-33c755ac]{opacity:.5}.transaction-row__amount[data-v-33c755ac]{font-size:1rem;font-weight:700}.transaction-row__amount--income[data-v-33c755ac]{color:var(--success-color)}.transaction-row__amount--spend[data-v-33c755ac]{color:var(--text-primary)}.transaction-row__actions[data-v-33c755ac]{opacity:0;color:var(--text-secondary);transition:opacity .2s}.transaction-row__actions--edit[data-v-33c755ac]:hover{color:var(--text-primary)}.transaction-row__actions--delete[data-v-33c755ac]:hover{color:var(--danger-color)}@media (width<=600px){.transaction-row[data-v-33c755ac]{flex-wrap:wrap;align-items:flex-start;gap:8px;padding:14px 10px}.transaction-row__info[data-v-33c755ac]{flex-basis:calc(100% - 56px);min-width:0}.transaction-row__meta[data-v-33c755ac]{flex-wrap:wrap}.transaction-row__amount[data-v-33c755ac]{margin-left:48px;margin-right:auto}.transaction-row__actions[data-v-33c755ac]{opacity:1}}.transactions-page__header[data-v-437b6b91]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.transactions-page__title[data-v-437b6b91]{margin:0;font-size:1.75rem}.transactions-page__list[data-v-437b6b91]{flex-direction:column;list-style:none;display:flex}.transactions-page__empty-state[data-v-437b6b91]{text-align:center;color:var(--text-secondary);padding:40px}@media (width<=600px){.transactions-page__header[data-v-437b6b91]{flex-direction:column;align-items:stretch;gap:16px}.transactions-page__title[data-v-437b6b91]{font-size:1.5rem}}.app-layout[data-v-9058be8e]{flex-direction:column;min-height:100vh;display:flex}.app-layout__content[data-v-9058be8e]{flex:1;padding:32px 24px}.app-layout__loading-state[data-v-9058be8e]{height:60vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.app-layout__spinning[data-v-9058be8e]{color:var(--primary-color);margin-bottom:16px;font-size:48px;animation:1.5s linear infinite spin-9058be8e}@keyframes spin-9058be8e{to{transform:rotate(360deg)}}@media (width<=1024px){.app-layout__content[data-v-9058be8e]{padding:24px}}@media (width<=768px){.app-layout__content[data-v-9058be8e]{padding:20px 16px calc(96px + env(safe-area-inset-bottom))}}:root{--color-charcoal:#222026;--color-gray-light:#ebebeb;--color-lime:#a7e46a;--color-lime-dark:#8ecf51;--color-blue:#a8dff8;--color-blue-dark:#8acbea;--color-white:#fff;--color-text-primary:#222026;--color-text-secondary:#5a5860;--color-text-muted:#706f76;--color-text-light:#fff;--color-border:#ffffff80;--color-border-dark:#22202614;--color-bg-gradient:radial-gradient(circle at 10% 20%, #ebeef2 0%, #e6e6e6 90%);--shadow-sm:0 2px 8px #22202608;--shadow-md:0 8px 24px #2220260d;--shadow-lg:0 16px 40px #22202614;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--font-primary:"Urbanist", sans-serif;--transition-smooth:all .3s cubic-bezier(.25, .8, .25, 1);--color-bg-card:#ffffff80;--color-bg-header:#ffffffbf;--color-bg-pill:#fff;--color-bg-modal-overlay:#22202666;--color-bg-control:#ffffff80;--color-bg-control-focus:#fff;--color-border-card:#ffffff80;--color-border-card-hover:#fffc;--color-border-light:#fff9;--color-border-subtle:#22202614;--color-hover-bg:#2220260f;--color-input-text:#222026;--color-shadow:#2220260d;--color-shadow-lg:#22202614;--color-bg-switch:#2220260d;--color-border-switch:#2220260a;--color-bg-badge-variable:#a8dff833;--color-text-badge-variable:#276787;--color-bg-badge-fixed:#a7e46a26;--color-text-badge-fixed:var(--color-income-text);--color-income-text:#2d721a;--color-primary-hover:#333139;--color-btn-secondary-hover:#fff;--primary-color:var(--color-charcoal);--border-color:var(--color-border-subtle);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--success-color:var(--color-income-text);--danger-color:#b42318;--bg-card:var(--color-bg-card);--bg-default:var(--color-gray-light);--accent-color:#276787;--warning-color:#8a4b08}body.dark-theme{--color-charcoal:#eaeaef;--color-gray-light:#222026;--color-white:#17161a;--color-text-primary:#fff;--color-text-secondary:#c5c4cb;--color-text-muted:#a1a0a7;--color-border:#ffffff14;--color-border-dark:#ffffff26;--color-bg-gradient:radial-gradient(circle at 10% 20%, #151419 0%, #0a090b 90%);--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 24px #0000004d;--shadow-lg:0 16px 40px #0006;--color-bg-card:#1a181ea6;--color-bg-header:#141217bf;--color-bg-pill:#232128e6;--color-bg-modal-overlay:#0009;--color-bg-control:#23212880;--color-bg-control-focus:#1e1c22;--color-border-card:#ffffff0d;--color-border-card-hover:#ffffff1a;--color-border-light:#ffffff0f;--color-border-subtle:#ffffff1a;--color-hover-bg:#ffffff0f;--color-input-text:#fff;--color-shadow:#0000004d;--color-shadow-lg:#0006;--color-bg-switch:#ffffff14;--color-border-switch:#ffffff0f;--color-bg-badge-variable:#a8dff81f;--color-text-badge-variable:#99d4ef;--color-bg-badge-fixed:#a7e46a1f;--color-text-badge-fixed:var(--color-income-text);--color-income-text:#a7e46a;--color-primary-hover:#f2f1f5;--color-btn-secondary-hover:#2e2c35;--primary-color:var(--color-charcoal);--border-color:var(--color-border-subtle);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--success-color:var(--color-income-text);--danger-color:#ff6b6b;--bg-card:var(--color-bg-card);--bg-default:var(--color-gray-light);--accent-color:#99d4ef;--warning-color:#f6b352}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background:var(--color-bg-gradient);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2220261a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#22202633}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;color:var(--color-text-primary);font-weight:700}a{color:inherit;text-decoration:none}button{font-family:var(--font-primary);cursor:pointer;background:0 0;border:none}button:focus-visible,a:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}.glass-panel{background:var(--color-bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition-smooth);padding:24px}.glass-panel:hover{box-shadow:var(--shadow-lg);border-color:var(--color-border-card-hover)}.btn-primary{background:var(--color-charcoal);color:var(--color-white);border-radius:var(--radius-xl);transition:var(--transition-smooth);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;display:inline-flex}.btn-primary:hover{box-shadow:var(--shadow-md);background:var(--color-primary-hover);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-bg-pill);border:1px solid var(--color-border-subtle);color:var(--color-text-primary);border-radius:var(--radius-xl);transition:var(--transition-smooth);align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;display:inline-flex}.btn-secondary:hover{background:var(--color-btn-secondary-hover);transform:translateY(-2px)}.btn-icon{background:var(--color-bg-pill);border:1px solid var(--color-border-card);width:40px;height:40px;color:var(--color-text-primary);transition:var(--transition-smooth);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{background:var(--color-btn-secondary-hover);transform:scale(1.05)}.form-group{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.form-group label,.form-group .form-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.form-input{font-family:var(--font-primary);background:var(--color-bg-control);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-primary);transition:var(--transition-smooth);padding:12px 16px;font-size:15px;font-weight:500}.form-input:focus{outline:2px solid var(--accent-color);outline-offset:2px;background-color:var(--color-bg-control-focus);border-color:var(--color-text-secondary);box-shadow:0 0 0 3px var(--color-border-subtle)}.form-input::placeholder{color:var(--color-text-secondary);opacity:1}dialog{color:var(--color-text-primary);border:none;margin:auto;overflow:visible}.modal-dialog::backdrop{background:var(--color-bg-modal-overlay,#00000080);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-dialog__header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-dialog__title{margin:0}.modal-dialog__body{flex-direction:column;display:flex}.modal-dialog__footer{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.form-row{gap:16px;display:flex}@media (width<=600px){.form-row{flex-direction:column;gap:0}}.form-row .form-group{flex:1}@media (width<=600px){.firebase-config .form-row{flex-direction:column;gap:16px}}.material-symbols-rounded{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;vertical-align:middle}
