.native-ptr[data-v-3cb57c90]{position:relative;min-height:100%}.native-ptr-indicator[data-v-3cb57c90]{position:sticky;top:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;pointer-events:none;transition:height .15s ease-out}.native-ptr-arrow[data-v-3cb57c90]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-bottom:.35rem;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);font-size:1.15rem;line-height:1;box-shadow:var(--shadow-sm);transition:color .15s ease,border-color .15s ease,background .15s ease}.native-ptr-arrow--ready[data-v-3cb57c90]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated))}.native-ptr-arrow--spinning[data-v-3cb57c90]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));animation:native-ptr-spin-3cb57c90 .75s linear infinite}.native-ptr-content[data-v-3cb57c90]{will-change:transform}@keyframes native-ptr-spin-3cb57c90{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.welcome-share-panel[data-v-85a4a388]{margin:0 0 1rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg-card) 70%,var(--border))}.welcome-share-label[data-v-85a4a388]{display:block;margin-bottom:.4rem;color:var(--text-muted);font-size:.85rem}.welcome-share-row[data-v-85a4a388]{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.welcome-share-row input[data-v-85a4a388]{flex:1;min-width:10rem;padding:.5rem .75rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:inherit;font-family:inherit;letter-spacing:.06em;text-transform:uppercase}.welcome-share-panel .error[data-v-85a4a388]{margin:.6rem 0 0}.update-savings-previous[data-v-b49cdc34]{margin:0 0 .85rem;font-size:.85rem;color:var(--text-muted)}.update-savings-info[data-v-b49cdc34]{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 .85rem;font-size:.9rem;color:#9f1f2e}.field-hint[data-v-b49cdc34]{display:block;margin-top:.25rem;font-size:.8rem;color:var(--text-muted)}.placements-grid[data-v-727ef78b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.placement-card[data-v-727ef78b]{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem}.placement-card-positive[data-v-727ef78b]{background:color-mix(in srgb,var(--success) 16%,var(--bg-card));border-color:color-mix(in srgb,var(--success) 40%,var(--border))}.placement-card-negative[data-v-727ef78b]{background:color-mix(in srgb,var(--danger) 14%,var(--bg-card));border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.placement-card-total[data-v-727ef78b]{grid-column:1 / -1}.placement-card-title[data-v-727ef78b]{margin:0;font-size:1rem}.placement-card-values[data-v-727ef78b]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.placement-card-metric[data-v-727ef78b]{display:flex;flex-direction:column;gap:.2rem}.placement-card-label[data-v-727ef78b]{color:var(--text-muted);font-size:.85rem}.placement-card-metric strong[data-v-727ef78b]{font-size:.95rem}.placement-card-annual-savings[data-v-727ef78b]{color:var(--purple)}.placement-card-empty[data-v-727ef78b]{color:var(--text-muted)}.patrimoine-share-section[data-v-727ef78b]{display:flex;flex-direction:column;gap:1rem}.patrimoine-share-label[data-v-727ef78b]{display:block;color:var(--text-muted);font-size:.85rem;margin-bottom:.35rem}.patrimoine-share-code-row[data-v-727ef78b]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.patrimoine-share-code[data-v-727ef78b]{font-size:1.1rem;letter-spacing:.08em;padding:.45rem .75rem;border-radius:6px;background:color-mix(in srgb,var(--bg-card) 70%,var(--border));border:1px solid var(--border)}.patrimoine-share-input[data-v-727ef78b]{flex:1;min-width:12rem;padding:.5rem .75rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-input, var(--bg-card));color:inherit;font-family:inherit;letter-spacing:.06em;text-transform:uppercase}.patrimoine-share-member[data-v-727ef78b]{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.patrimoine-share-status[data-v-727ef78b]{margin:0}.success-message[data-v-727ef78b]{margin:0;color:var(--success)}.login-page[data-v-1c0239e9]{min-height:100%;display:flex;align-items:center;justify-content:center;padding:calc(2rem + env(safe-area-inset-top,0px)) 2rem 2rem}.login-card[data-v-1c0239e9]{width:min(100%,420px);background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:2rem;display:flex;flex-direction:column;gap:1rem}.login-card h1[data-v-1c0239e9]{margin:0;font-size:1.5rem;color:var(--text)}.login-subtitle[data-v-1c0239e9]{margin:0;color:var(--text-muted);line-height:1.5;font-size:.95rem}.login-form[data-v-1c0239e9]{display:flex;flex-direction:column;gap:.85rem}.login-field[data-v-1c0239e9]{display:flex;flex-direction:column;gap:.35rem;color:var(--text-muted);font-size:.9rem}.login-field input[data-v-1c0239e9]{width:100%;padding:.7rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-input);color:var(--text)}.login-field input[data-v-1c0239e9]:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.login-btn[data-v-1c0239e9]{width:100%;padding:.75rem 1rem;border-radius:8px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.login-btn[data-v-1c0239e9]:disabled{opacity:.6;cursor:not-allowed}.login-link[data-v-1c0239e9]{color:var(--accent);font-size:.9rem;text-decoration:none}.login-link[data-v-1c0239e9]:hover{text-decoration:underline}.login-info[data-v-1c0239e9]{margin:0;color:var(--accent);font-size:.9rem;line-height:1.45}.login-error[data-v-1c0239e9]{margin:0;color:#f87171;font-size:.9rem}.placements-grid[data-v-eff29ae8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.investment-block[data-v-eff29ae8]{display:flex;flex-direction:column;gap:.75rem}.investment-card[data-v-eff29ae8]{position:relative;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem}.investment-card-delete[data-v-eff29ae8]{position:absolute;top:.65rem;right:.65rem;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.85rem;line-height:1}.investment-card-delete[data-v-eff29ae8]:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.investment-card-title[data-v-eff29ae8]{margin:0;padding-right:2rem;font-size:1rem}.investment-card-metric[data-v-eff29ae8]{display:flex;flex-direction:column;gap:.2rem}.investment-card-label[data-v-eff29ae8]{color:var(--text-muted);font-size:.85rem}.investment-card-metric strong[data-v-eff29ae8]{font-size:.95rem}.investment-monthly-payment[data-v-eff29ae8]{margin:0;color:var(--purple);font-size:.85rem}.investment-card-actions[data-v-eff29ae8]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.investment-inline-panel[data-v-eff29ae8]{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.investment-edit-form[data-v-eff29ae8]{display:grid;grid-template-columns:1fr;gap:.75rem;min-width:0}@media(min-width:480px){.investment-edit-form[data-v-eff29ae8]{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}}.savings-type-breakdown-link[data-v-eff29ae8]{display:inline-block;margin-top:.35rem;color:var(--accent);font-weight:600;text-decoration:none}.savings-type-breakdown-link[data-v-eff29ae8]:hover{color:var(--accent-hover);text-decoration:underline}.savings-type-breakdown-list[data-v-eff29ae8]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.savings-type-breakdown-item[data-v-eff29ae8]{display:grid;grid-template-columns:minmax(0,1.4fr) auto auto;gap:.75rem 1rem;align-items:center;padding:.75rem .85rem;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-subtle)}.savings-type-breakdown-tag[data-v-eff29ae8]{justify-self:start}.savings-type-breakdown-amount[data-v-eff29ae8]{font-weight:600;white-space:nowrap}.savings-type-breakdown-metrics[data-v-eff29ae8]{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.savings-type-breakdown-share[data-v-eff29ae8]{color:var(--accent);font-weight:600;white-space:nowrap}.savings-type-breakdown-target[data-v-eff29ae8]{color:var(--text-muted);font-size:.82rem;white-space:nowrap}@media(max-width:640px){.savings-type-breakdown-item[data-v-eff29ae8]{grid-template-columns:1fr auto;grid-template-rows:auto auto auto}.savings-type-breakdown-metrics[data-v-eff29ae8]{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:baseline}.savings-type-breakdown-amount[data-v-eff29ae8]{grid-column:1 / -1}}.login-page[data-v-4651f19e]{min-height:100%;display:flex;align-items:center;justify-content:center;padding:calc(2rem + env(safe-area-inset-top,0px)) 2rem 2rem}.login-card[data-v-4651f19e]{width:min(100%,420px);background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:2rem;display:flex;flex-direction:column;gap:1rem}.login-card h1[data-v-4651f19e]{margin:0;font-size:1.75rem;color:var(--text)}.login-subtitle[data-v-4651f19e]{margin:0;color:var(--text-muted);line-height:1.5}.login-form[data-v-4651f19e]{display:flex;flex-direction:column;gap:.85rem}.login-field[data-v-4651f19e]{display:flex;flex-direction:column;gap:.35rem;color:var(--text-muted);font-size:.9rem}.login-field input[data-v-4651f19e]{width:100%;padding:.7rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-input);color:var(--text)}.login-field input[data-v-4651f19e]:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.login-password-wrap[data-v-4651f19e]{position:relative;display:flex;align-items:center}.login-password-wrap input[data-v-4651f19e]{padding-right:5.25rem}.login-password-toggle[data-v-4651f19e]{position:absolute;right:.45rem;padding:.35rem .55rem;border:none;border-radius:6px;background:transparent;color:var(--accent);font-size:.8rem;font-weight:500;cursor:pointer;line-height:1.2}.login-password-toggle[data-v-4651f19e]:hover:not(:disabled){background:var(--accent-soft)}.login-password-toggle[data-v-4651f19e]:disabled{opacity:.6;cursor:not-allowed}.login-forgot[data-v-4651f19e]{align-self:flex-start;margin-top:-.25rem;color:var(--accent);font-size:.85rem;text-decoration:none}.login-forgot[data-v-4651f19e]:hover{text-decoration:underline}.login-btn[data-v-4651f19e]{width:100%;padding:.75rem 1rem;border-radius:8px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.login-btn[data-v-4651f19e]:disabled{opacity:.6;cursor:not-allowed}.login-btn-secondary[data-v-4651f19e]{background:transparent;border:1px solid var(--border);color:var(--text)}.login-link[data-v-4651f19e]{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.9rem;padding:0;text-align:left}.login-link[data-v-4651f19e]:disabled{opacity:.6;cursor:not-allowed}.login-divider[data-v-4651f19e]{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-size:.85rem}.login-divider[data-v-4651f19e]:before,.login-divider[data-v-4651f19e]:after{content:"";flex:1;height:1px;background:var(--border)}.login-legal[data-v-4651f19e]{margin:0;color:var(--text-muted);font-size:.8rem;line-height:1.45;text-align:center}.login-legal a[data-v-4651f19e]{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.login-info[data-v-4651f19e]{margin:0;color:var(--accent);font-size:.9rem;line-height:1.4}.login-error[data-v-4651f19e]{margin:0;color:#f87171;font-size:.9rem}.dual-range[data-v-f263bdae]{position:relative;height:1.5rem;margin:.15rem 0}.dual-range-track[data-v-f263bdae]{position:absolute;top:50%;left:0;right:0;height:.35rem;transform:translateY(-50%);border-radius:999px;background:var(--border);pointer-events:none}.dual-range-fill[data-v-f263bdae]{position:absolute;top:0;bottom:0;border-radius:999px;background:var(--accent)}.dual-range-input[data-v-f263bdae]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;margin:0;padding:0;background:transparent;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.dual-range-input--start[data-v-f263bdae]{z-index:1}.dual-range-input--end[data-v-f263bdae]{z-index:2}.dual-range-input--active[data-v-f263bdae]{z-index:3}.dual-range-input[data-v-f263bdae]::-webkit-slider-runnable-track{height:.35rem;background:transparent;border:none}.dual-range-input[data-v-f263bdae]::-moz-range-track{height:.35rem;background:transparent;border:none}.dual-range-input[data-v-f263bdae]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.1rem;height:1.1rem;margin-top:calc((.35rem - 1.1rem) / 2);border-radius:50%;border:2px solid var(--accent);background:var(--bg-card);box-shadow:0 0 0 2px #0c101759;cursor:pointer;pointer-events:auto;transition:transform .12s ease,box-shadow .12s ease}.dual-range-input[data-v-f263bdae]::-moz-range-thumb{width:1.1rem;height:1.1rem;border-radius:50%;border:2px solid var(--accent);background:var(--bg-card);box-shadow:0 0 0 2px #0c101759;cursor:pointer;pointer-events:auto;transition:transform .12s ease,box-shadow .12s ease}.dual-range-input[data-v-f263bdae]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-glow)}.dual-range-input[data-v-f263bdae]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--accent-glow)}.dual-range-input--active[data-v-f263bdae]::-webkit-slider-thumb{transform:scale(1.08)}.dual-range-input--active[data-v-f263bdae]::-moz-range-thumb{transform:scale(1.08)}.simulation-page--standalone[data-v-06da5222]{min-height:100vh;background:var(--bg-app)}.simulation-top[data-v-06da5222]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:calc(1rem + env(safe-area-inset-top,0px)) 1.5rem 1rem;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c1017d1;border-bottom:1px solid rgba(232,238,247,.08)}.simulation-brand-link[data-v-06da5222]{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;font-size:1.05rem;color:var(--text);text-decoration:none}.simulation-brand-icon[data-v-06da5222]{font-size:1.2rem}.simulation-brand-version[data-v-06da5222]{font-size:.75rem;font-weight:600;opacity:.65}.simulation-top-actions[data-v-06da5222]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.simulation-top-link[data-v-06da5222]{color:var(--text-muted);text-decoration:none;font-weight:600;font-size:.92rem}.simulation-top-link[data-v-06da5222]:hover{color:var(--text)}.simulation-top-cta[data-v-06da5222]{border-radius:999px;padding:.5rem 1rem;background:linear-gradient(135deg,#4d9fff,#3b7fd9);color:#fff;font-weight:600;text-decoration:none;font-size:.92rem}.simulation-content[data-v-06da5222]{padding-top:1.5rem}.simulation-subtitle[data-v-06da5222]{font-weight:600;color:var(--text)}.simulation-form-section[data-v-06da5222],.simulation-placements[data-v-06da5222]{display:flex;flex-direction:column;gap:1rem}.simulation-placement-card[data-v-06da5222]{position:relative;padding:1.25rem;border-radius:14px;border:1px solid var(--border-subtle);background:var(--bg-subtle)}.simulation-remove[data-v-06da5222]{position:absolute;top:.65rem;right:.65rem;width:2rem;height:2rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-muted);cursor:pointer;line-height:1;font-size:.85rem}.simulation-remove[data-v-06da5222]:hover{color:var(--text);border-color:var(--text-faint)}.simulation-fields[data-v-06da5222]{padding-right:2rem}.simulation-field-title[data-v-06da5222],.simulation-slider-field[data-v-06da5222]{grid-column:1 / -1}.simulation-slider-header[data-v-06da5222]{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.simulation-slider-header strong[data-v-06da5222]{color:var(--accent);font-size:.95rem}.simulation-slider[data-v-06da5222]{width:100%;accent-color:var(--accent);cursor:pointer}.simulation-age-range-help[data-v-06da5222]{margin:.5rem 0 0;font-size:.82rem;color:var(--text-muted)}.simulation-card-help[data-v-06da5222]{margin:.75rem 0 0}.simulation-add[data-v-06da5222]{align-self:flex-start}.projection-chart-block[data-v-06da5222]{margin-top:0}.projection-chart-title[data-v-06da5222]{margin:0 0 .35rem;font-size:1.05rem}@media(max-width:640px){.simulation-top-actions .simulation-top-link[data-v-06da5222]:first-of-type{display:none}.simulation-fields[data-v-06da5222]{padding-right:0;padding-top:1.75rem}}.real-estates-grid[data-v-6360a095]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.real-estate-block[data-v-6360a095]{display:flex;flex-direction:column;gap:.75rem}.real-estate-card[data-v-6360a095]{position:relative;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem}.real-estate-card-delete[data-v-6360a095]{position:absolute;top:.65rem;right:.65rem;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.85rem;line-height:1}.real-estate-card-delete[data-v-6360a095]:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.real-estate-card-title[data-v-6360a095]{margin:0;padding-right:2rem;font-size:1rem}.real-estate-card-row[data-v-6360a095]{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;min-width:0}.real-estate-card-row-primary[data-v-6360a095]{align-items:flex-start}.real-estate-card-value[data-v-6360a095]{font-size:.95rem;text-align:right;white-space:nowrap}.real-estate-card-row-net[data-v-6360a095]{font-weight:600}.real-estate-card-metric[data-v-6360a095]{display:flex;flex-direction:column;gap:.15rem;min-width:0}.real-estate-card-metric-emphasis strong[data-v-6360a095]{color:var(--text)}.real-estate-card-label[data-v-6360a095]{color:var(--text-muted);font-size:.8rem;font-weight:500}.real-estate-card-actions[data-v-6360a095]{display:flex;flex-wrap:wrap;gap:.5rem}.real-estate-card .loan-progress-panel[data-v-6360a095]{max-width:none;width:100%}.real-estate-inline-panel[data-v-6360a095]{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.real-estate-edit-form[data-v-6360a095]{display:grid;grid-template-columns:1fr;gap:.75rem;min-width:0}.loan-create-form[data-v-6360a095]{margin-bottom:.75rem}.loan-list[data-v-6360a095]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.loan-list-item[data-v-6360a095]{display:flex;flex-direction:column;gap:.45rem;padding:.75rem 0;border-top:1px solid var(--border-subtle)}.loan-list-item--editing[data-v-6360a095]{gap:.65rem}.loan-list-summary[data-v-6360a095]{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.loan-list-date[data-v-6360a095]{color:var(--text-muted);font-size:.875rem}.loan-list-amount[data-v-6360a095]{font-size:.95rem}.loan-list-details[data-v-6360a095]{display:flex;flex-wrap:wrap;gap:.35rem .75rem;color:var(--text-muted);font-size:.82rem}.loan-list-actions[data-v-6360a095]{display:flex;flex-wrap:wrap;gap:.4rem}.loan-edit-panel[data-v-6360a095]{display:grid;gap:.75rem}.loan-edit-fields[data-v-6360a095]{display:grid;grid-template-columns:1fr;gap:.65rem}.loan-edit-fields label[data-v-6360a095]{display:grid;gap:.35rem;font-size:.85rem;color:var(--text-muted);min-width:0}.loan-disbursements-section[data-v-6360a095]{display:grid;gap:.65rem;margin-top:.35rem;padding-top:.65rem;border-top:1px dashed var(--border-subtle)}.loan-disbursements-section h4[data-v-6360a095]{margin:0;font-size:.9rem}.loan-disbursement-form[data-v-6360a095]{margin-bottom:0}@media(min-width:560px){.real-estate-edit-form[data-v-6360a095],.loan-edit-fields[data-v-6360a095]{grid-template-columns:repeat(2,minmax(0,1fr))}}.login-page[data-v-6e633139]{min-height:100%;display:flex;align-items:center;justify-content:center;padding:calc(2rem + env(safe-area-inset-top,0px)) 2rem 2rem}.login-card[data-v-6e633139]{width:min(100%,420px);background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:2rem;display:flex;flex-direction:column;gap:1rem}.login-card h1[data-v-6e633139]{margin:0;font-size:1.5rem;color:var(--text)}.login-subtitle[data-v-6e633139]{margin:0;color:var(--text-muted);line-height:1.5;font-size:.95rem}.login-form[data-v-6e633139]{display:flex;flex-direction:column;gap:.85rem}.login-field[data-v-6e633139]{display:flex;flex-direction:column;gap:.35rem;color:var(--text-muted);font-size:.9rem}.login-field input[data-v-6e633139]{width:100%;padding:.7rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-input);color:var(--text)}.login-field input[data-v-6e633139]:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.login-password-wrap[data-v-6e633139]{position:relative;display:flex;align-items:center}.login-password-wrap input[data-v-6e633139]{padding-right:5.25rem}.login-password-toggle[data-v-6e633139]{position:absolute;right:.45rem;padding:.35rem .55rem;border:none;border-radius:6px;background:transparent;color:var(--accent);font-size:.8rem;font-weight:500;cursor:pointer;line-height:1.2}.login-password-toggle[data-v-6e633139]:hover:not(:disabled){background:var(--accent-soft)}.login-password-toggle[data-v-6e633139]:disabled{opacity:.6;cursor:not-allowed}.login-btn[data-v-6e633139]{width:100%;padding:.75rem 1rem;border-radius:8px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.login-btn[data-v-6e633139]:disabled{opacity:.6;cursor:not-allowed}.login-link[data-v-6e633139]{color:var(--accent);font-size:.9rem;text-decoration:none}.login-link[data-v-6e633139]:hover{text-decoration:underline}.login-muted[data-v-6e633139]{margin:0;color:var(--text-muted);font-size:.85rem;line-height:1.4}.login-error[data-v-6e633139]{margin:0;color:#f87171;font-size:.9rem}.allocation-reset-actions[data-v-3d9cebb7]{display:flex;justify-content:flex-end;margin-bottom:1rem}.allocation-sum-warning[data-v-3d9cebb7]{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.85rem 1rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--warning) 45%,transparent);background:var(--warning-soft);color:var(--text);line-height:1.45}.allocation-sum-warning-icon[data-v-3d9cebb7]{flex-shrink:0;font-size:1.1rem;line-height:1.35;color:var(--warning)}.allocation-sum-warning strong[data-v-3d9cebb7]{color:var(--warning)}.allocation-percent-input[data-v-3d9cebb7]{width:4rem;padding:.35rem .5rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text)}.allocation-input-wrap[data-v-3d9cebb7]{display:inline-flex;align-items:center;justify-content:flex-end;gap:.25rem}.allocation-percent-suffix[data-v-3d9cebb7]{color:var(--text-muted)}.allocation-saving[data-v-3d9cebb7]{margin-left:0;margin-top:.15rem;color:var(--text-muted);font-size:.85rem}.allocation-cards-grid[data-v-3d9cebb7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.allocation-card[data-v-3d9cebb7]{display:flex;flex-direction:column;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;min-width:0}.allocation-card--expanded[data-v-3d9cebb7]{border-color:var(--border)}.allocation-card-header[data-v-3d9cebb7]{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem .9rem;border:none;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-input) 55%,transparent);color:inherit;font:inherit;cursor:pointer;text-align:left}.allocation-card-body[data-v-3d9cebb7]{display:flex;flex-direction:column;gap:.55rem;padding:.75rem .9rem}.allocation-card-metrics[data-v-3d9cebb7]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem}.allocation-card-metric[data-v-3d9cebb7]{display:flex;flex-direction:column;gap:.15rem;min-width:0;font-size:.84rem}.allocation-card-metric-end[data-v-3d9cebb7]{align-items:flex-end;text-align:right}.allocation-card-label[data-v-3d9cebb7]{color:var(--text-muted);font-size:.72rem;line-height:1.2}.allocation-card-details[data-v-3d9cebb7]{padding:0 .9rem .75rem}.allocation-placement-list[data-v-3d9cebb7]{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-subtle)}.allocation-placement-item[data-v-3d9cebb7]{display:flex;flex-direction:column;gap:.35rem;padding:.6rem 0;border-bottom:1px solid var(--border-subtle)}.allocation-placement-item[data-v-3d9cebb7]:last-child{border-bottom:none}.allocation-placement-row[data-v-3d9cebb7]{display:flex;align-items:baseline;justify-content:space-between;gap:.65rem;min-width:0}.allocation-placement-name[data-v-3d9cebb7]{font-size:.86rem;overflow-wrap:anywhere}.allocation-placement-type[data-v-3d9cebb7]{color:var(--text-muted);font-size:.78rem;text-align:right;flex-shrink:0}.allocation-placement-row-values[data-v-3d9cebb7]{align-items:end}.accordion-chevron[data-v-3d9cebb7]{color:var(--text-muted);font-size:.75rem;flex-shrink:0}.projection-chart-block[data-v-3d9cebb7]{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.projection-chart-title[data-v-3d9cebb7]{margin:0 0 .35rem;font-size:1rem}.yield-cards-grid[data-v-3d9cebb7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.yield-card[data-v-3d9cebb7]{display:flex;flex-direction:column;gap:.45rem;padding:.75rem .9rem;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:12px;min-width:0}.yield-card-total[data-v-3d9cebb7]{grid-column:1 / -1;background:color-mix(in srgb,var(--bg-input) 70%,transparent);border-color:var(--border)}.yield-card-row[data-v-3d9cebb7]{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;min-width:0}.yield-card-row-secondary[data-v-3d9cebb7]{align-items:end}.yield-card-name[data-v-3d9cebb7]{font-size:.88rem;line-height:1.3;min-width:0;overflow-wrap:anywhere}.yield-card-value-col[data-v-3d9cebb7]{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;flex-shrink:0;text-align:right}.yield-card-value[data-v-3d9cebb7]{font-size:.88rem;font-weight:600;white-space:nowrap}.yield-card-sub[data-v-3d9cebb7]{color:var(--purple);font-size:.72rem;line-height:1.25;white-space:nowrap}.yield-card-metric[data-v-3d9cebb7]{display:flex;flex-direction:column;gap:.1rem;min-width:0;font-size:.82rem}.yield-card-metric-end[data-v-3d9cebb7]{align-items:flex-end;text-align:right}.yield-card-label[data-v-3d9cebb7]{color:var(--text-muted);font-size:.72rem;line-height:1.2}.cash-flow-onboarding-card[data-v-6fc17643]{max-width:32rem}.cash-flow-onboarding-progress[data-v-6fc17643]{margin-bottom:1rem}.cash-flow-onboarding-icon[data-v-6fc17643]{margin-right:.35rem}.cash-flow-onboarding-help[data-v-6fc17643]{margin-top:0}.budget-ai-modal .section-help[data-v-f03fbc52]{margin-bottom:1rem}.budget-ai-result[data-v-f03fbc52]{margin-top:1.25rem;padding:1rem 1.1rem;border-radius:12px;background:color-mix(in srgb,var(--accent, #0f766e) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent, #0f766e) 22%,transparent)}.ai-insight-text[data-v-f03fbc52]{margin:0;white-space:pre-wrap;line-height:1.55}.ai-insight-disclaimer[data-v-f03fbc52],.budget-ai-cached[data-v-f03fbc52]{margin:.75rem 0 0;font-size:.85rem;opacity:.75}.ai-insight-loading[data-v-f03fbc52],.ai-insight-error[data-v-f03fbc52]{margin-top:1rem}.ai-insight-loading[data-v-f03fbc52]{color:var(--muted, #64748b)}.ai-insight-error[data-v-f03fbc52]{color:#b91c1c}.cash-flow-savings-balance-block[data-v-b89a9c89]{margin-top:1.25rem}.cash-flow-savings-balance-wrap[data-v-b89a9c89]{position:relative;height:120px}.cash-flow-waterfall-block[data-v-47495954]{margin-top:1.25rem}.cash-flow-waterfall-wrap[data-v-47495954]{position:relative;height:340px}.cash-flow-waterfall-legend[data-v-47495954]{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:.75rem 0 0;padding:0;list-style:none;color:var(--text-muted);font-size:.85rem}.cash-flow-waterfall-legend li[data-v-47495954]{display:inline-flex;align-items:center;gap:.4rem}.cash-flow-legend-swatch[data-v-47495954]{width:.85rem;height:.85rem;border-radius:3px}.cash-flow-legend-revenu[data-v-47495954]{background:#3dd68c}.cash-flow-legend-charge[data-v-47495954]{background:#ff8a65}.cash-flow-legend-epargne[data-v-47495954]{background:#a78bfa}.cash-flow-legend-balance[data-v-47495954]{background:#4d9fff}.header-actions[data-v-1a5d8dc3]{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:flex-end}.ai-analyze-button[data-v-1a5d8dc3]{display:inline-flex;align-items:center;gap:.35rem}.cash-flow-form-card h2[data-v-1a5d8dc3]{margin-top:0}.cash-flow-form-scroll-target[data-v-1a5d8dc3]{scroll-margin-top:5rem}.cash-flow-actions[data-v-1a5d8dc3]{display:flex;gap:.35rem;flex-wrap:nowrap;justify-content:flex-end;white-space:nowrap}.cash-flow-icon-button[data-v-1a5d8dc3]{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.85rem;line-height:1;flex-shrink:0}.cash-flow-icon-button-edit[data-v-1a5d8dc3]:hover{color:var(--accent);border-color:var(--accent)}.cash-flow-icon-button-delete[data-v-1a5d8dc3]:hover{color:var(--danger);border-color:var(--danger)}.cash-flow-virtual-tag[data-v-1a5d8dc3]{display:inline-block;margin-left:.5rem;color:var(--text-muted);font-size:.8rem}.cash-flow-category-cell[data-v-1a5d8dc3]{display:inline-flex;align-items:center;gap:.4rem}.cash-flow-category-icon[data-v-1a5d8dc3]{font-size:1rem;line-height:1}.goal-block[data-v-31ba9e67]{display:flex;flex-direction:column;gap:.75rem}.goal-block .gauge-card[data-v-31ba9e67]{position:relative;padding:1rem 1.25rem}.goal-card-delete[data-v-31ba9e67]{position:absolute;top:.65rem;right:.65rem;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.85rem;line-height:1}.goal-card-delete[data-v-31ba9e67]:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.goal-card-actions[data-v-31ba9e67]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.ai-analyze-button[data-v-31ba9e67]{display:inline-flex;align-items:center;gap:.35rem}.ai-insight[data-v-31ba9e67]{margin-top:.85rem;padding:.75rem .85rem;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-subtle)}.ai-insight-text[data-v-31ba9e67]{margin:0;color:var(--text);font-size:.88rem;line-height:1.45;white-space:pre-line}.ai-insight-disclaimer[data-v-31ba9e67]{margin:.55rem 0 0;color:var(--text-faint);font-size:.75rem}.ai-insight-loading[data-v-31ba9e67],.ai-insight-error[data-v-31ba9e67]{margin:0;font-size:.88rem;line-height:1.4}.ai-insight-loading[data-v-31ba9e67]{color:var(--text-muted)}.ai-insight-error[data-v-31ba9e67]{color:var(--danger)}.goal-inline-panel[data-v-31ba9e67]{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.checkpoint-form-stacked[data-v-31ba9e67]{grid-template-columns:1fr}.goal-edit-form[data-v-31ba9e67]{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.gauge-investment[data-v-31ba9e67],.gauge-monthly-payment[data-v-31ba9e67]{margin:.35rem 0 0;color:var(--text-muted);font-size:.85rem}.gauge-monthly-payment[data-v-31ba9e67]{color:var(--purple)}.checkpoint-edit-cell[data-v-31ba9e67]{padding:.85rem .75rem}.checkpoint-edit-fields[data-v-31ba9e67]{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem}.checkpoint-edit-fields label[data-v-31ba9e67]{display:flex;flex-direction:column;gap:.35rem;margin:0;font-size:.85rem;color:var(--text-muted)}.checkpoint-edit-actions[data-v-31ba9e67]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.checkpoint-view-cell[data-v-31ba9e67]{padding:.85rem .75rem}.checkpoint-view-summary[data-v-31ba9e67]{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem}.checkpoint-row--editing td[data-v-31ba9e67]{background:var(--bg-subtle)}.savings-types-grid[data-v-e592fed5]{display:grid;gap:1rem}.savings-type-card h2[data-v-e592fed5]{margin:0 0 .35rem;font-size:1.05rem}.savings-type-card-header[data-v-e592fed5]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.placement-type-list[data-v-e592fed5]{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.placement-type-item[data-v-e592fed5]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .75rem;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-input)}.placement-type-add-form[data-v-e592fed5]{display:grid;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.placement-type-add-form label[data-v-e592fed5]{display:grid;gap:.35rem}.savings-type-add-button[data-v-e592fed5]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid color-mix(in srgb,var(--success) 45%,var(--border));border-radius:999px;background:var(--success-soft);color:var(--success);cursor:pointer;font-size:1.25rem;font-weight:600;line-height:1;flex-shrink:0}.savings-type-add-button[data-v-e592fed5]:hover{background:color-mix(in srgb,var(--success) 22%,var(--bg-card));border-color:var(--success)}*,*:before,*:after{box-sizing:border-box}:root{color-scheme:dark;font-family:DM Sans,system-ui,sans-serif;line-height:1.5;font-weight:400;--bg-app: #0c1017;--bg-elevated: #121820;--bg-card: #171e28;--bg-subtle: #1e2733;--bg-input: #111820;--bg-hover: #232d3b;--border: #2a3545;--border-subtle: #222b38;--text: #edf2f8;--text-muted: #8fa3bc;--text-faint: #64748b;--accent: #4d9fff;--accent-hover: #6db0ff;--accent-soft: rgba(77, 159, 255, .14);--accent-glow: rgba(77, 159, 255, .28);--success: #3dd68c;--success-soft: rgba(61, 214, 140, .16);--warning: #f5b942;--warning-soft: rgba(245, 185, 66, .14);--danger: #ff6b7a;--danger-soft: rgba(255, 107, 122, .14);--purple: #a78bfa;--cyan: #22d3ee;--shadow: 0 14px 40px rgba(0, 0, 0, .45);--shadow-sm: 0 6px 20px rgba(0, 0, 0, .3);color:var(--text);background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(77,159,255,.12),transparent),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(167,139,250,.08),transparent),var(--bg-app)}body.theme-share-readonly{color-scheme:light;--bg-app: #fff6ed;--bg-elevated: #fffaf5;--bg-card: #ffffff;--bg-subtle: #ffedd5;--bg-input: #fff7ed;--bg-hover: #fed7aa;--border: #fdba74;--border-subtle: #ffedd5;--text: #7c2d12;--text-muted: #9a3412;--text-faint: #c2410c;--accent: #ea580c;--accent-hover: #f97316;--accent-soft: rgba(234, 88, 12, .12);--accent-glow: rgba(234, 88, 12, .22);--success: #16a34a;--success-soft: rgba(22, 163, 74, .14);--warning: #d97706;--warning-soft: rgba(217, 119, 6, .14);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .12);--purple: #c2410c;--cyan: #ea580c;--shadow: 0 14px 40px rgba(154, 52, 18, .12);--shadow-sm: 0 6px 20px rgba(154, 52, 18, .08);color:var(--text);background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(249,115,22,.18),transparent),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(251,146,60,.12),transparent),var(--bg-app)}body.theme-share-readonly .primary-button{background:linear-gradient(135deg,#ea580c,#f97316);box-shadow:0 4px 14px var(--accent-glow);color:#fff7ed}body.theme-share-readonly .app-nav,body.theme-share-readonly .app-footer{background:#fff7edeb}body{margin:0;min-height:100vh;min-height:100dvh}#app{min-height:100vh;min-height:100dvh}button,input,select{font:inherit;color:inherit}a{color:var(--accent)}.page{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 3rem;min-width:0}.page-wide{max-width:1200px}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.page-icon{margin-right:.45rem;font-style:normal}.eyebrow{margin:0 0 .25rem;color:var(--accent);font-size:.875rem;text-transform:uppercase;letter-spacing:.08em}h1,h2,h3{color:var(--text)}h1{margin:0;font-size:2.25rem}h2{margin:0 0 1rem;font-size:1.125rem}.subtitle,.section-help,.info-help,.checkpoint-help{margin:0 0 1rem;color:var(--text-muted);font-size:.9rem}.subtitle{margin-top:.5rem}.field-help{display:block;margin-top:.35rem;color:var(--text-muted);font-size:.8rem;line-height:1.35;overflow-wrap:anywhere}.section-help{margin-bottom:1rem;font-size:.9rem}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card,.form-card,.table-card,.section-card,.chart-card,.gauge-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.stat-card{padding:1rem 1.25rem;transition:border-color .2s,transform .2s}.stat-card:hover{border-color:var(--accent-glow);transform:translateY(-1px)}.stat-card:nth-child(1) strong{color:var(--accent)}.stat-card:nth-child(2) strong{color:var(--cyan)}.stat-card:nth-child(3) strong{color:var(--purple)}.stat-label{display:block;color:var(--text-muted);font-size:.875rem;margin-bottom:.25rem}.stat-card strong{font-size:1.5rem}.form-card,.section-card{padding:1.25rem;margin-bottom:1.5rem;min-width:0;overflow:hidden}.table-card{overflow:hidden;margin-bottom:1.5rem}.chart-card{padding:1.25rem;margin-bottom:1.5rem}.form-grid,.checkpoint-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem;min-width:0}label{display:grid;gap:.4rem;font-size:.9rem;color:var(--text-muted);min-width:0}input[type=text],input[type=date],input[type=number],select{width:100%;max-width:100%;min-width:0;border:1px solid var(--border);border-radius:10px;padding:.7rem .85rem;background:var(--bg-input);color:var(--text);transition:border-color .2s,box-shadow .2s}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.checkbox-field{display:flex;align-items:center;gap:.6rem;margin-top:1.8rem;color:var(--text)}.checkbox-field--compact{margin-top:0}.form-field-note{grid-column:1 / -1}.field-hint{margin:.4rem 0 0 1.75rem;color:var(--text-muted);font-size:.85rem;line-height:1.45}.form-actions,.checkpoint-form-actions{grid-column:1 / -1}.primary-button{border:none;border-radius:999px;padding:.75rem 1.25rem;background:linear-gradient(135deg,var(--accent),#3b7fd9);color:#fff;cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;box-shadow:0 4px 14px var(--accent-glow);transition:transform .15s,box-shadow .15s}.primary-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px var(--accent-glow)}.primary-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.secondary-button{border:1px solid var(--border);border-radius:999px;padding:.45rem .9rem;background:var(--bg-subtle);color:var(--text);cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;transition:background .15s,border-color .15s}.secondary-button:hover{background:var(--bg-hover);border-color:var(--text-faint)}.secondary-button:disabled{opacity:.6;cursor:not-allowed}.danger-button{border:1px solid rgba(255,107,122,.35);border-radius:999px;padding:.45rem .9rem;background:var(--danger-soft);color:var(--danger);cursor:pointer;font-weight:600;transition:background .15s}.danger-button:hover{background:#ff6b7a38}.danger-button:disabled{opacity:.6;cursor:not-allowed}.compact-button{padding:.45rem .9rem}.link-button{padding:.75rem 1.25rem}.table-scroll{overflow-x:auto}.table-scroll table{min-width:640px}.table-scroll th,.table-scroll td{white-space:nowrap}table{width:100%;border-collapse:collapse}.checkpoint-table{margin-top:.5rem}.checkpoint-list{list-style:none;margin:.5rem 0 0;padding:0;border-top:1px solid var(--border-subtle)}.checkpoint-list-item{display:flex;flex-direction:column;gap:.4rem;padding:.55rem 0;border-bottom:1px solid var(--border-subtle)}.checkpoint-list-item--editing{gap:.5rem;padding:.65rem 0}.checkpoint-list-summary{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;min-width:0}.checkpoint-list-date{color:var(--text-muted);font-size:.875rem}.checkpoint-list-amount{font-weight:600;font-size:.9rem;text-align:right}.checkpoint-list-actions{display:flex;flex-wrap:wrap;gap:.4rem}.checkpoint-list-edit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}@media(max-width:480px){.checkpoint-list-edit-fields{grid-template-columns:1fr}}th,td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--border-subtle)}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg-subtle)}.sticky-col{position:sticky;left:0;background:var(--bg-card);z-index:1}thead .sticky-col,tfoot .sticky-col,.total-row{background:var(--bg-subtle)}.total-row td{border-top:2px solid var(--border)}.checkpoint-row td{background:var(--bg-elevated)}.checkpoint-panel{padding:.5rem 0}.checkpoint-panel h3{margin:0 0 .35rem;font-size:1rem}.checkpoint-actions,.row-actions{display:flex;gap:.5rem;flex-wrap:wrap}.row-actions--inline{flex-wrap:nowrap;white-space:nowrap}.empty-cell{color:var(--text-faint)}.empty-state{padding:2rem;color:var(--text-muted)}.empty-state.compact{padding:1rem 0}.badge{display:inline-block;padding:.25rem .65rem;border-radius:999px;font-size:.8rem;font-weight:600}.badge-liquid{background:var(--success-soft);color:var(--success)}.badge-illiquid{background:var(--warning-soft);color:var(--warning)}.badge-success,.badge-enrich{background:var(--success-soft);color:var(--success)}.badge-withdraw{background:var(--warning-soft);color:var(--warning)}.badge-balanced{background:var(--accent-soft);color:var(--accent)}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.info-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.info-card-illiquid{background:var(--warning-soft);border-color:#f5b9424d}.info-label{display:block;color:var(--text-muted);font-size:.875rem;margin-bottom:.35rem}.info-card strong{font-size:1.35rem;color:var(--text)}.info-help{margin-top:.5rem;font-size:.85rem}.dashboard-summary h2{margin:0 0 1rem;font-size:1.1rem}.dashboard-summary-total{margin:1rem 0 0;padding-top:.85rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.95rem}.dashboard-summary-total strong{color:var(--accent);font-size:1.15rem}.dashboard-budget-summary h2{margin:0;font-size:1.1rem}.dashboard-budget-summary-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dashboard-budget-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-budget-card-revenu{background:color-mix(in srgb,var(--success) 12%,var(--bg-subtle));border-color:color-mix(in srgb,var(--success) 35%,var(--border))}.dashboard-budget-card-charge{background:color-mix(in srgb,var(--danger) 10%,var(--bg-subtle));border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}.dashboard-budget-card-positive{background:color-mix(in srgb,var(--success) 16%,var(--bg-subtle));border-color:color-mix(in srgb,var(--success) 40%,var(--border))}.dashboard-budget-card-negative{background:color-mix(in srgb,var(--danger) 14%,var(--bg-subtle));border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.setup-checklist-accordion{margin-bottom:1.5rem;padding:0;overflow:hidden}.setup-checklist-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1rem 1.25rem;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.setup-checklist-header:hover{background:var(--bg-hover)}.setup-checklist-title{display:inline-flex;align-items:center;gap:.45rem;font-size:1.1rem;font-weight:600}.setup-checklist-summary{display:inline-flex;align-items:center;gap:.65rem;flex-shrink:0}.setup-checklist-progress-label{color:var(--text-muted);font-size:.9rem;font-weight:600}.setup-checklist-body{padding:0 1.25rem 1.25rem}.setup-progress{margin-bottom:1rem}.setup-progress-track{height:.55rem;border-radius:999px;background:var(--bg-subtle);overflow:hidden}.setup-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--success),var(--accent));transition:width .25s ease}.setup-progress-caption{margin:.45rem 0 0;color:var(--text-muted);font-size:.85rem}.setup-checklist-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.setup-checklist-item{display:flex;align-items:flex-start;gap:.65rem;color:var(--text-muted)}.setup-checklist-item input[type=checkbox]{margin-top:.15rem;accent-color:var(--success)}.setup-checklist-item label{line-height:1.4}.setup-checklist-item--done{color:var(--text)}.setup-checklist-item--done label{color:var(--success)}.gauges-section{margin-bottom:1.5rem}.gauges-section h2{margin:0 0 1rem}.gauges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.gauge-card{padding:1.25rem}.gauge-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.gauge-header h3{margin:0;font-size:1rem}.gauge-row{display:flex;align-items:center;gap:.75rem}.gauge-track{flex:1;height:12px;background:var(--bg-input);border-radius:999px;overflow:hidden;border:1px solid var(--border-subtle)}.gauge-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--cyan));border-radius:999px;transition:width .3s ease;box-shadow:0 0 12px var(--accent-glow)}.gauge-fill.complete{background:linear-gradient(90deg,var(--success),#2eb872);box-shadow:0 0 12px #3dd68c59}.gauge-percent{font-weight:600;color:var(--text);min-width:3.5rem;text-align:right}.gauge-amounts{margin:.65rem 0 0;color:var(--text-muted);font-size:.9rem}.gauge-savings-share{color:var(--text);font-weight:500}.stat-share{margin:.35rem 0 0;color:var(--text-muted);font-size:.85rem;font-weight:500}.loan-progress-row td{background:var(--bg-subtle);border-top:none;padding:.65rem 1rem .85rem}.loan-progress-panel{max-width:42rem}.loan-progress-label{margin:0 0 .5rem;color:var(--text-muted);font-size:.9rem}.loan-progress-label strong{color:var(--text)}.available-balance{grid-column:1 / -1;margin:0;color:var(--text-muted);font-size:.9rem}.available-inline{display:block;margin-top:.35rem;color:var(--text-faint);font-size:.8rem}.form-field-warning{margin:.35rem 0 0;font-size:.85rem}.chart-container{height:420px}.error{color:var(--danger);margin:0 0 1rem}.app-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.app-main{flex:1 1 auto;min-width:0}.app-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem .65rem;padding:.85rem 1rem 1.1rem;border-top:1px solid var(--border-subtle);color:var(--text-faint);font-size:.82rem}.app-footer-link{color:var(--text-muted);text-decoration:none}.app-footer-link:hover{color:var(--accent);text-decoration:underline}.app-footer-sep{color:var(--text-faint)}.app-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:calc(.85rem + env(safe-area-inset-top,0px)) 1.5rem .85rem;background:#121820d9;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100}.app-shell--share-readonly{--share-readonly-banner-offset: calc(3.25rem + env(safe-area-inset-top, 0px)) }.app-nav--with-readonly-banner{top:var(--share-readonly-banner-offset, 3.25rem);padding-top:.85rem}.share-readonly-banner{position:sticky;top:0;z-index:110;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:calc(.65rem + env(safe-area-inset-top,0px)) 1.5rem .65rem;background:linear-gradient(135deg,#ea580c,#f97316);color:#fff7ed;border-bottom:1px solid color-mix(in srgb,#9a3412 35%,transparent);box-shadow:0 4px 16px #9a341240}.share-readonly-banner-text{margin:0;font-size:.95rem;font-weight:600}.share-readonly-banner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.share-readonly-banner-button{border:1px solid rgba(255,247,237,.55);border-radius:999px;padding:.45rem .95rem;background:#fff7ed29;color:#fff7ed;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s ease}a.share-readonly-banner-button{display:inline-flex;align-items:center}.share-readonly-banner-button--primary{background:#fff7ed;color:#9a3412;border-color:#fff7ed}.share-readonly-banner-button:hover:not(:disabled){background:#fff7ed47}.share-readonly-banner-button--primary:hover:not(:disabled){background:#ffedd5}.share-readonly-banner-button:disabled{opacity:.7;cursor:not-allowed}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.1rem;color:var(--text);text-decoration:none}.brand-icon{font-style:normal;font-size:1.25rem}.brand-version{font-size:.72rem;font-weight:600;color:var(--text-muted);padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-subtle);letter-spacing:.02em;line-height:1.2}.nav-menu{display:flex;align-items:center;gap:.35rem;min-width:0}.nav-links{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.nav-separator{color:var(--text-muted);font-weight:600;padding:0 .1rem}.nav-links a{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-muted);text-decoration:none;padding:.45rem .85rem;border-radius:999px;font-weight:600;font-size:.9rem;transition:background .15s,color .15s}.nav-links a:hover{color:var(--text);background:var(--bg-hover)}.nav-links a.router-link-active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-glow)}.nav-icon{font-style:normal;font-size:1rem;line-height:1}.nav-user{display:inline-flex;align-items:center;gap:.75rem;margin-left:.5rem;padding-left:.75rem;border-left:1px solid var(--border)}.nav-user-email{color:var(--text-muted);font-size:.85rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-logout{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:999px;padding:.35rem .75rem;font-size:.8rem;cursor:pointer}.nav-logout:hover{color:var(--text);background:var(--bg-hover)}@media(max-width:768px){.page{padding:1.25rem 1rem 2rem}.header,.stats,.summary-grid,.form-grid,.checkpoint-form,.dashboard-budget-grid{grid-template-columns:1fr;display:grid}.header{gap:1rem}.app-shell--share-readonly{--share-readonly-banner-offset: calc(5.25rem + env(safe-area-inset-top, 0px)) }.share-readonly-banner{padding-left:.75rem;padding-right:.75rem;gap:.5rem}.share-readonly-banner-text{font-size:.85rem}.app-nav{align-items:center;padding:calc(.5rem + env(safe-area-inset-top,0px)) .75rem .5rem;gap:.5rem}.app-nav--with-readonly-banner{padding-top:.5rem}.brand{align-self:center;font-size:.95rem;flex-shrink:0}.brand-icon{font-size:1.1rem}.nav-menu{flex:1;flex-direction:column;align-items:stretch;gap:.3rem;min-width:0}.nav-links{justify-content:flex-end;gap:.2rem}.nav-separator{font-size:.8rem}.nav-links a{font-size:.8rem;padding:.35rem .45rem}.nav-links a .nav-text{display:none}.nav-user{justify-content:flex-end;margin-left:0;padding-left:0;border-left:none;gap:.5rem}.nav-user-email{max-width:min(12rem,55vw);font-size:.75rem}.nav-logout{padding:.25rem .55rem;font-size:.72rem;flex-shrink:0}}body.modal-open{overflow:hidden}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:flex-end;justify-content:center;min-height:100dvh;padding:max(.5rem,env(safe-area-inset-top,0px)) 0 env(safe-area-inset-bottom,0px);background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{width:100%;max-height:calc(100dvh - max(.5rem,env(safe-area-inset-top,0px)) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-bottom:none;border-radius:1rem 1rem 0 0;padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom));background:var(--bg-card);box-shadow:var(--shadow-sm)}.modal-title{margin:0 0 .75rem;font-size:1.15rem;line-height:1.35}.modal-title.centered{text-align:center}.modal-intro{margin:0 0 1.25rem;color:var(--text-muted);font-size:.88rem;line-height:1.45}.modal-intro p{margin:0 0 .85rem}.modal-intro p:last-child{margin-bottom:0}.modal-intro.centered{text-align:center}.modal-intro--compact{margin:0 0 .75rem;font-size:.85rem}.modal-warning-note{font-style:italic;color:var(--warning)}.onboarding-form{display:grid;gap:1rem}.onboarding-form label{width:100%}.onboarding-form input[type=text]{min-height:44px;width:100%}.modal-actions{display:flex;flex-direction:column-reverse;gap:.75rem;margin-top:.5rem}.modal-card .modal-actions{position:sticky;bottom:0;z-index:1;margin-top:1rem;padding-top:.75rem;background:var(--bg-card);box-shadow:0 -10px 20px color-mix(in srgb,var(--bg-card) 88%,transparent)}.modal-actions>.primary-button,.modal-actions>.secondary-button{width:100%;justify-content:center}.modal-actions--success{margin-top:1.25rem}.modal-actions--single{margin-top:.25rem}.modal-actions--single>.primary-button{width:100%}.onboarding-success{display:grid;gap:.55rem}.victory-title-row{display:flex;align-items:center;gap:.5rem}.first-investment-victory{position:relative;overflow:hidden}.first-investment-victory:before{content:"";position:absolute;inset:-30% -20% auto -20%;height:55%;background:radial-gradient(circle at center,rgba(61,214,140,.22),transparent 70%);pointer-events:none;animation:victoryGlow 1.2s ease-out}.onboarding-celebration{display:inline-flex;margin:0;font-size:clamp(1.5rem,7vw,2.1rem);line-height:1;flex-shrink:0;animation:celebrationPop .9s ease-out,victoryBounce 1.8s ease-in-out .9s infinite}@keyframes celebrationPop{0%{transform:scale(.6) rotate(-12deg);opacity:0}60%{transform:scale(1.15) rotate(6deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes victoryBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.03)}}@keyframes victoryGlow{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.onboarding-next-links{display:flex;flex-direction:column;gap:.75rem;margin-top:.25rem}.onboarding-next-links .link-button{width:100%;justify-content:center;text-align:center;text-decoration:none}.modal-card--wide{max-height:min(92dvh,800px)}.amortization-table-scroll{max-height:min(60dvh,520px);overflow:auto;margin-bottom:1rem;border:1px solid var(--border);border-radius:8px}.amortization-table{font-size:.85rem}@media(min-width:769px){.modal-overlay{align-items:center;padding:1.5rem}.modal-card{max-width:480px;max-height:min(85dvh,640px);border:1px solid var(--border);border-radius:1rem;padding:1.75rem;box-shadow:var(--shadow)}.modal-card .modal-actions{position:static;margin-top:.5rem;padding-top:0;box-shadow:none}.modal-card--wide{max-width:min(96vw,1100px);max-height:min(90dvh,800px)}.modal-title{font-size:1.25rem}.modal-intro{font-size:.95rem}.modal-actions{flex-direction:row;justify-content:flex-end}.modal-actions>.primary-button,.modal-actions>.secondary-button{width:auto}.modal-actions--single>.primary-button{width:auto;min-width:10rem}}.savings-type-tag{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.35;border:1px solid transparent;white-space:nowrap}.savings-tag-1{color:#0f4c81;background:#dbeafe;border-color:#93c5fd}.savings-tag-2{color:#1d4ed8;background:#e0e7ff;border-color:#a5b4fc}.savings-tag-3{color:#166534;background:#dcfce7;border-color:#86efac}.savings-tag-4{color:#9a3412;background:#ffedd5;border-color:#fdba74}.savings-tag-5{color:#7c2d12;background:#fee2e2;border-color:#fca5a5}.savings-tag-6{color:#86198f;background:#fae8ff;border-color:#e879f9}.savings-tag-7{color:#374151;background:#f3f4f6;border-color:#d1d5db}.checkpoint-source-tag{display:inline-block;margin-left:.4rem;padding:.1rem .4rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;vertical-align:middle}.checkpoint-source-tag--auto{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.checkpoint-source-tag--manuel{color:var(--warning);background:color-mix(in srgb,var(--warning) 16%,transparent);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent)}.cash-flow-table .cash-flow-revenu td{background:color-mix(in srgb,var(--success) 12%,transparent)}.cash-flow-table .cash-flow-charge td{background:color-mix(in srgb,var(--danger) 10%,transparent)}.cash-flow-table .cash-flow-section-row td{background:var(--bg-subtle);color:var(--text)}.cash-flow-table .cash-flow-category-subtotal td{background:color-mix(in srgb,var(--danger) 6%,transparent)}.cash-flow-table-compact th,.cash-flow-table-compact td{padding:.45rem .6rem;font-size:.92rem}.cash-flow-table-compact .cash-flow-actions{gap:.25rem;min-width:4.25rem}.cash-flow-table .cash-flow-summary-positive td{background:color-mix(in srgb,var(--success) 18%,transparent)}.cash-flow-table .cash-flow-summary-negative td{background:color-mix(in srgb,var(--danger) 18%,transparent)}.cash-flow-modal-revenu{border:1px solid color-mix(in srgb,var(--success) 45%,transparent);background:color-mix(in srgb,var(--success) 8%,var(--bg-card))}.cash-flow-modal-charge{border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 8%,var(--bg-card))}.cash-flow-onboarding-card .setup-progress-fill{background:linear-gradient(90deg,var(--accent),var(--success))}.cash-flow-modal-charge .setup-progress-fill{background:linear-gradient(90deg,#f87171,#ef4444)}.cash-flow-modal-revenu .setup-progress-fill{background:linear-gradient(90deg,#4ade80,#16a34a)}
