.toast-container[data-v-33e64e67]{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.65rem;pointer-events:none;max-width:min(360px,calc(100vw - 2rem))}.toast[data-v-33e64e67]{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;border-radius:12px;box-shadow:0 8px 24px #0f172a26;pointer-events:all;color:#fff;font-size:.9rem;line-height:1.4}.toast--success[data-v-33e64e67]{background:#059669}.toast--error[data-v-33e64e67]{background:#dc2626}.toast--info[data-v-33e64e67]{background:#475569}.toast__icon[data-v-33e64e67]{flex-shrink:0;width:1.2rem;height:1.2rem;margin-top:.05rem}.toast__icon svg[data-v-33e64e67]{width:100%;height:100%}.toast__message[data-v-33e64e67]{flex:1}.toast__close[data-v-33e64e67]{flex-shrink:0;background:transparent;border:none;padding:0;color:#ffffffbf;cursor:pointer;width:1rem;height:1rem;margin-top:.1rem;border-radius:4px;transition:color .15s}.toast__close[data-v-33e64e67]:hover{color:#fff}.toast__close svg[data-v-33e64e67]{width:100%;height:100%}.toast-enter-active[data-v-33e64e67],.toast-leave-active[data-v-33e64e67]{transition:all .35s cubic-bezier(.34,1.56,.64,1)}.toast-enter-from[data-v-33e64e67]{opacity:0;transform:translate(100%) scale(.9)}.toast-leave-to[data-v-33e64e67]{opacity:0;transform:translate(100%) scale(.9);transition:all .25s ease-in}.toast-move[data-v-33e64e67]{transition:transform .3s ease}.slide-up-enter-active[data-v-20c19c39],.slide-up-leave-active[data-v-20c19c39]{transition:transform .3s ease,opacity .3s ease}.slide-up-enter-from[data-v-20c19c39],.slide-up-leave-to[data-v-20c19c39]{transform:translateY(20px);opacity:0}.month-selector[data-v-24b04365]{position:relative;display:inline-flex;align-items:center;gap:2px}.nav-btn[data-v-24b04365]{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0!important;border:none;background:transparent;border-radius:999px;cursor:pointer;color:var(--color-on-surface-muted);transition:background .15s,color .15s}.nav-btn[data-v-24b04365]:hover:not(:disabled){background:var(--color-surface-container-high);color:var(--color-on-surface)}.nav-btn[data-v-24b04365]:disabled{opacity:.25;cursor:not-allowed}.label-btn[data-v-24b04365]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:var(--color-surface-container-high);border:1.5px solid transparent;border-radius:999px;font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--color-on-surface);cursor:pointer;transition:background .15s;min-width:148px;justify-content:center}.label-btn[data-v-24b04365]:hover{background:var(--color-surface-bright)}.month-grid-dropdown[data-v-24b04365]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--color-surface-bright);border-radius:1rem;box-shadow:var(--shadow-float);padding:14px;width:224px;z-index:100}.grid-year-nav[data-v-24b04365]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.grid-year-label[data-v-24b04365]{font-family:var(--font-display);font-size:.9375rem;font-weight:700;color:var(--color-on-surface)}.year-nav-btn[data-v-24b04365]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0!important;border:none;background:transparent;border-radius:999px;cursor:pointer;color:var(--color-on-surface-muted);transition:background .15s,color .15s}.year-nav-btn[data-v-24b04365]:hover:not(:disabled){background:var(--color-surface-container-highest);color:var(--color-on-surface)}.year-nav-btn[data-v-24b04365]:disabled{opacity:.25;cursor:not-allowed}.month-grid[data-v-24b04365]{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.month-cell[data-v-24b04365]{padding:7px 4px;border:none;background:transparent;border-radius:999px;font-family:var(--font-body);font-size:.8rem;font-weight:500;color:var(--color-on-surface-variant);cursor:pointer;transition:background .12s,color .12s;text-align:center}.month-cell[data-v-24b04365]:hover:not(.disabled):not(.selected){background:var(--color-surface-container-highest);color:var(--color-on-surface)}.month-cell.selected[data-v-24b04365]{background:var(--color-primary);color:var(--color-on-primary);font-weight:700}.month-cell.disabled[data-v-24b04365]{opacity:.25;cursor:not-allowed}.dropdown-enter-active[data-v-24b04365],.dropdown-leave-active[data-v-24b04365]{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from[data-v-24b04365],.dropdown-leave-to[data-v-24b04365]{opacity:0;transform:translate(-50%) translateY(-6px)}.bell-wrap[data-v-7073b5b4]{position:relative}.bell-btn[data-v-7073b5b4]{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0!important;border:none;background:transparent;border-radius:999px;cursor:pointer;color:var(--color-on-surface-muted);transition:background .15s,color .15s}.bell-btn[data-v-7073b5b4]:hover,.bell-btn.active[data-v-7073b5b4]{background:var(--color-surface-container-high);color:var(--color-on-surface)}.badge[data-v-7073b5b4]{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;background:var(--color-primary);color:var(--color-on-primary);border-radius:99px;font-family:var(--font-body);font-size:.625rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid var(--color-surface-container-low);line-height:1}.notif-panel[data-v-7073b5b4]{position:absolute;top:calc(100% + 10px);right:0;width:340px;background:var(--color-surface-bright);border-radius:1rem;box-shadow:var(--shadow-float);z-index:100;overflow:hidden}.panel-header[data-v-7073b5b4]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid rgba(70,70,82,.2)}.panel-title[data-v-7073b5b4]{font-family:var(--font-display);font-size:.9375rem;font-weight:700;color:var(--color-on-surface)}.mark-all-btn[data-v-7073b5b4]{border:none;background:none;font-family:var(--font-body);font-size:.8rem;color:var(--color-primary);cursor:pointer;font-weight:600;padding:0;border-radius:999px;transition:opacity .15s}.mark-all-btn[data-v-7073b5b4]:hover{opacity:.75}.panel-empty[data-v-7073b5b4]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 0;color:var(--color-on-surface-muted);font-family:var(--font-body);font-size:.875rem}.panel-empty p[data-v-7073b5b4]{margin:0}.notif-list[data-v-7073b5b4]{list-style:none;margin:0;padding:.375rem;max-height:380px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.notif-item[data-v-7073b5b4]{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:.625rem;cursor:pointer;transition:background .12s;position:relative}.notif-item[data-v-7073b5b4]:hover{background:var(--color-surface-container-highest)}.notif-item.unread[data-v-7073b5b4]{background:#bac3ff12}.notif-item.unread[data-v-7073b5b4]:hover{background:#bac3ff1f}.notif-icon[data-v-7073b5b4]{flex-shrink:0;width:32px;height:32px;padding:0!important;border-radius:8px;display:flex;align-items:center;justify-content:center}.notif-content[data-v-7073b5b4]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-type-label[data-v-7073b5b4]{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--color-on-surface);margin:0}.notif-expense-label[data-v-7073b5b4]{font-family:var(--font-body);font-size:.8rem;color:var(--color-on-surface-variant);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-time[data-v-7073b5b4]{font-family:var(--font-body);font-size:.72rem;color:var(--color-on-surface-muted);margin:2px 0 0}.unread-dot[data-v-7073b5b4]{flex-shrink:0;width:7px;height:7px;background:var(--color-primary);border-radius:50%;margin-top:5px}.dropdown-enter-active[data-v-7073b5b4],.dropdown-leave-active[data-v-7073b5b4]{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from[data-v-7073b5b4],.dropdown-leave-to[data-v-7073b5b4]{opacity:0;transform:translateY(-6px)}.app-shell[data-v-d213c5c0]{min-height:100dvh;display:grid;grid-template-columns:1fr;background:var(--color-surface)}.sidebar[data-v-d213c5c0]{display:none}@media (min-width: 768px){.app-shell[data-v-d213c5c0]{grid-template-columns:260px minmax(0,1fr)}.sidebar[data-v-d213c5c0]{display:flex;flex-direction:column;background:var(--color-surface-container-low);height:100dvh;position:sticky;top:0;padding:1.5rem 1rem;overflow-y:auto}.hamburger[data-v-d213c5c0]{display:none!important}}.sidebar-logo[data-v-d213c5c0]{display:flex;align-items:center;gap:.65rem;margin-bottom:1.75rem;padding:0 .25rem}.logo-icon[data-v-d213c5c0]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-text-block[data-v-d213c5c0]{display:flex;flex-direction:column;gap:1px}.logo-text[data-v-d213c5c0]{font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--color-on-surface);letter-spacing:-.01em;line-height:1.1}.logo-sub[data-v-d213c5c0]{font-family:var(--font-body);font-size:.67rem;color:var(--color-on-surface-muted);letter-spacing:.02em}.space-switcher[data-v-d213c5c0]{position:relative;margin-bottom:1.25rem}.space-btn[data-v-d213c5c0]{display:flex;align-items:center;gap:.5rem;width:100%;background:var(--color-surface-container);border:none;border-radius:10px;padding:.5rem .75rem;cursor:pointer;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--color-on-surface);transition:background .15s}.space-btn[data-v-d213c5c0]:hover{background:var(--color-surface-container-high)}.space-dot[data-v-d213c5c0]{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.space-label[data-v-d213c5c0]{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-menu[data-v-d213c5c0]{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--color-surface-bright);border-radius:12px;box-shadow:var(--shadow-float);z-index:60;padding:.4rem;display:flex;flex-direction:column;gap:.1rem}.space-menu-divider[data-v-d213c5c0]{height:1px;background:#46465240;margin:.3rem .25rem}.space-option[data-v-d213c5c0]{display:flex;align-items:center;gap:.5rem;width:100%;background:transparent;border:none;border-radius:8px;padding:.5rem .65rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--color-on-surface);cursor:pointer;text-align:left;transition:background .12s}.space-option[data-v-d213c5c0]:hover{background:var(--color-surface-container-highest)}.space-option.selected[data-v-d213c5c0]{background:#bac3ff1a;color:var(--color-primary)}.space-option-badge[data-v-d213c5c0]{margin-left:auto;font-size:.7rem;font-weight:600;background:#44ddc126;color:var(--color-secondary);border-radius:4px;padding:2px 7px}.space-manage-link[data-v-d213c5c0]{display:flex;align-items:center;gap:.4rem;padding:.5rem .65rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--color-primary);text-decoration:none;border-radius:8px;transition:background .12s}.space-manage-link[data-v-d213c5c0]:hover{background:#bac3ff14}.side-nav[data-v-d213c5c0]{display:flex;flex-direction:column;gap:.15rem;flex:1}.side-nav a[data-v-d213c5c0]{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--color-on-surface-variant);padding:.7rem .9rem;border-radius:10px;font-family:var(--font-body);font-size:.9rem;font-weight:500;transition:background .15s,color .15s}.side-nav a[data-v-d213c5c0]:hover:not(.active){background:var(--color-surface-container);color:var(--color-on-surface)}.side-nav a.active[data-v-d213c5c0]{background:#44ddc11a;color:var(--color-secondary);font-weight:600}.nav-divider[data-v-d213c5c0]{height:1px;background:#46465233;margin:.4rem .25rem}.sidebar-user[data-v-d213c5c0]{padding-top:1rem;margin-top:.5rem;display:flex;flex-direction:column;gap:.35rem;border-top:1px solid rgba(70,70,82,.15)}.user-info[data-v-d213c5c0]{display:flex;align-items:center;gap:.65rem;padding:.25rem}.user-avatar[data-v-d213c5c0]{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-container) 100%);color:var(--color-on-primary);font-family:var(--font-display);font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-details[data-v-d213c5c0]{display:flex;flex-direction:column;min-width:0}.user-name[data-v-d213c5c0]{font-family:var(--font-body);font-size:.8375rem;font-weight:600;color:var(--color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email[data-v-d213c5c0]{font-size:.72rem;color:var(--color-on-surface-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn[data-v-d213c5c0]{display:flex;align-items:center;justify-content:start;gap:.5rem;background:transparent;color:var(--color-on-surface-variant);font-family:var(--font-body);font-size:.875rem;font-weight:500;padding:.5rem .9rem;border-radius:8px;cursor:pointer;border:none;width:100%;transition:background .15s,color .15s}.logout-btn[data-v-d213c5c0]:hover{background:#ffb4ab1a;color:var(--color-error)}.workspace[data-v-d213c5c0]{min-width:0;display:flex;flex-direction:column}.topbar[data-v-d213c5c0]{background:var(--color-surface-container-low);padding:.75rem 1.25rem;display:flex;align-items:center;gap:.75rem;position:sticky;top:0;z-index:10}.topbar-right[data-v-d213c5c0]{display:flex;align-items:center;gap:8px;margin-left:auto}.hamburger[data-v-d213c5c0]{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:none;background:var(--color-surface-container);border-radius:10px;cursor:pointer;color:var(--color-on-surface-variant);flex-shrink:0;transition:background .15s,color .15s}.hamburger[data-v-d213c5c0]:hover{background:var(--color-surface-container-high);color:var(--color-on-surface)}.drawer-backdrop[data-v-d213c5c0]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100}.drawer[data-v-d213c5c0]{position:fixed;top:0;left:0;bottom:0;width:min(300px,84vw);z-index:110;background:#1c1b1bf0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-right:1px solid rgba(70,70,82,.12);border-top-right-radius:24px;border-bottom-right-radius:24px;padding:1.5rem 1rem 1.25rem;display:flex;flex-direction:column;overflow-y:auto;box-shadow:6px 0 40px #00000080}.drawer-header[data-v-d213c5c0]{display:flex;align-items:center;justify-content:space-between}.drawer-close[data-v-d213c5c0]{width:32px;height:32px;padding:0;border:none;background:var(--color-surface-container);border-radius:8px;cursor:pointer;color:var(--color-on-surface-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.drawer-close[data-v-d213c5c0]:hover{background:var(--color-surface-container-high);color:var(--color-on-surface)}.drawer-support[data-v-d213c5c0]{margin-top:1.25rem;padding:.875rem 1rem;background:var(--color-surface-container);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0}.support-label[data-v-d213c5c0]{font-family:var(--font-body);font-size:.65rem;font-weight:700;color:var(--color-on-surface-muted);letter-spacing:.1em;text-transform:uppercase;margin:0}.support-desc[data-v-d213c5c0]{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--color-on-surface);margin:0}.slide-drawer-enter-active[data-v-d213c5c0],.slide-drawer-leave-active[data-v-d213c5c0]{transition:transform .28s cubic-bezier(.32,.72,0,1)}.slide-drawer-enter-from[data-v-d213c5c0],.slide-drawer-leave-to[data-v-d213c5c0]{transform:translate(-100%)}.fade-backdrop-enter-active[data-v-d213c5c0],.fade-backdrop-leave-active[data-v-d213c5c0]{transition:opacity .25s ease}.fade-backdrop-enter-from[data-v-d213c5c0],.fade-backdrop-leave-to[data-v-d213c5c0]{opacity:0}.content[data-v-d213c5c0]{padding:2rem;flex:1}@media screen and (max-width: 768px){.content[data-v-d213c5c0]{padding:2rem 1rem}}/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Manrope", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--color-surface:#131313;--color-surface-dim:#0e0e0e;--color-surface-container-lowest:#171717;--color-surface-container-low:#1c1b1b;--color-surface-container:#222;--color-surface-container-high:#2a2a2a;--color-surface-container-highest:#323232;--color-surface-bright:#393939;--color-surface-variant:#44475a;--color-on-surface:#e5e2e1;--color-on-surface-variant:#9e9ba0;--color-on-surface-muted:#6b6876;--color-primary:#bac3ff;--color-primary-container:#1f3297;--color-on-primary:#0e1a6e;--color-on-primary-container:#dee0ff;--color-secondary:#44ddc1;--color-secondary-container:#0a3d35;--color-on-secondary:#003731;--color-on-secondary-container:#60f8e2;--color-tertiary:#cdbdff;--color-error:#ffb4ab;--color-error-container:#93000a;--color-outline-variant:#464652;--shadow-ambient:0px 20px 40px #e5e2e10f;--shadow-card:0px 4px 16px #e5e2e108;--shadow-float:0px 8px 32px #e5e2e114}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.right-4{right:calc(var(--spacing) * 4)}.bottom-20{bottom:calc(var(--spacing) * 20)}.left-4{left:calc(var(--spacing) * 4)}.z-50{z-index:50}.z-\[100\]{z-index:100}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-5{margin-top:calc(var(--spacing) * 5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-12{height:calc(var(--spacing) * 12)}.w-12{width:calc(var(--spacing) * 12)}.w-full{width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-2{flex:2}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-\[\#bac3ff\]{background-color:#bac3ff}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-blue-700{background-color:var(--color-blue-700)}.bg-surface{background-color:var(--color-surface)}.bg-white{background-color:var(--color-white)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.\!px-5{padding-inline:calc(var(--spacing) * 5)!important}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-left{text-align:left}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\!text-\[\#0e1a6e\]{color:#0e1a6e!important}.text-\[\#0e1a6e\]{color:#0e1a6e}.text-\[\#d1d5db\]{color:#d1d5db}.text-error{color:var(--color-error)}.text-on-surface{color:var(--color-on-surface)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-slate-600{color:var(--color-slate-600)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.italic{font-style:italic}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-\[\#bac3ff\]:hover{background-color:#bac3ff}.hover\:bg-blue-800:hover{background-color:var(--color-blue-800)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-surface-container:hover{background-color:var(--color-surface-container)}}}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--color-surface);color:var(--color-on-surface);min-height:100dvh;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-on-surface);margin:0;line-height:1.2}p,span,li{font-family:var(--font-body);color:var(--color-on-surface)}a{color:var(--color-primary);text-decoration:none}input,select,textarea,button{font-family:var(--font-body);font-size:1rem}.display-lg{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-on-surface);font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;line-height:1.05}.display-md{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-on-surface);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.1}.display-sm{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-on-surface);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;line-height:1.15}.headline-lg{font-family:var(--font-display);color:var(--color-on-surface);font-size:1.5rem;font-weight:700}.headline-md{font-family:var(--font-display);color:var(--color-on-surface);font-size:1.25rem;font-weight:600}.headline-sm{font-family:var(--font-display);color:var(--color-on-surface);font-size:1.1rem;font-weight:600}.body-lg{font-family:var(--font-body);color:var(--color-on-surface);font-size:1rem;font-weight:500}.body-md{font-family:var(--font-body);color:var(--color-on-surface);font-size:.9375rem;font-weight:400}.body-sm{font-family:var(--font-body);color:var(--color-on-surface-variant);font-size:.875rem;font-weight:400}.label-lg{font-family:var(--font-body);letter-spacing:.01em;color:var(--color-on-surface);font-size:.875rem;font-weight:600}.label-md{font-family:var(--font-body);color:var(--color-on-surface-variant);font-size:.8125rem;font-weight:500}.label-sm{font-family:var(--font-body);letter-spacing:.015em;color:var(--color-on-surface-muted);font-size:.75rem;font-weight:500}button{cursor:pointer;font-family:var(--font-body);white-space:nowrap;box-sizing:border-box;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9rem;font-weight:600;line-height:1;transition:opacity .18s,background .18s,border-color .18s;display:inline-flex}.btn-primary,button.primary{background:var(--color-primary);color:var(--color-on-primary);border:1.5px solid #0000}.btn-primary:hover,button.primary:hover{opacity:.85}.btn-primary:active,button.primary:active{opacity:.7}.btn-primary:disabled,button.primary:disabled{opacity:.35;cursor:not-allowed}.btn-secondary,button.secondary{background:var(--color-surface-container-high);color:var(--color-on-surface);border:1.5px solid #0000}.btn-secondary:hover,button.secondary:hover{background:var(--color-surface-bright)}.btn-secondary:disabled,button.secondary:disabled{opacity:.35;cursor:not-allowed}.btn-inverted,button.inverted{background:var(--color-on-surface);color:var(--color-surface);border:1.5px solid #0000}.btn-inverted:hover,button.inverted:hover{opacity:.88}.btn-inverted:disabled,button.inverted:disabled{opacity:.35;cursor:not-allowed}.btn-outlined,button.outlined{color:var(--color-on-surface);border:1.5px solid var(--color-outline-variant);background:0 0}.btn-outlined:hover,button.outlined:hover{background:var(--color-surface-container-high);border-color:var(--color-on-surface-muted)}.btn-outlined:disabled,button.outlined:disabled{opacity:.35;cursor:not-allowed}.btn-danger,button.danger{color:var(--color-error);background:0 0;border:1.5px solid #ffb4ab4d}.btn-danger:hover,button.danger:hover{border-color:var(--color-error);background:#ffb4ab1a}.btn-icon{color:var(--color-on-surface-variant);background:0 0;border:none;border-radius:999px;width:2.25rem;height:2.25rem;padding:.5rem}.btn-icon:hover{background:var(--color-surface-container-high);color:var(--color-on-surface)}input,select,textarea{background:var(--color-surface-container-highest);width:100%;color:var(--color-on-surface);caret-color:var(--color-secondary);border:none;border-bottom:2px solid #46465233;border-radius:.5rem .5rem 0 0;outline:none;padding:.875rem 1rem;transition:border-color .2s;display:block}input::placeholder,textarea::placeholder{color:var(--color-on-surface-muted)}input:focus,select:focus,textarea:focus{border-bottom:2px solid var(--color-secondary)}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%239E9BA0' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}select option{background:var(--color-surface-container-high);color:var(--color-on-surface)}.card{background:var(--color-surface-container-high);box-shadow:var(--shadow-card);border-radius:1.25rem;padding:1.25rem;transition:background .2s}.card:hover{background:var(--color-surface-bright)}.card-elevated{background:var(--color-surface-container-high);box-shadow:var(--shadow-ambient);border-radius:1.5rem;padding:1.5rem}.card-glass{-webkit-backdrop-filter:blur(24px);background:#222222b3;border-radius:1.25rem;padding:1.25rem}.surface-section{background:var(--color-surface-container-low);border-radius:1.25rem;padding:1.5rem}.badge{font-family:var(--font-body);letter-spacing:.01em;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{color:var(--color-primary);background:#bac3ff1f}.badge-secondary{color:var(--color-secondary);background:#44ddc11f}.badge-tertiary{color:var(--color-tertiary);background:#cdbdff1f}.badge-error{color:var(--color-error);background:#93000a66}.list-row{cursor:default;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;transition:background .15s;display:flex}.list-row:hover{background:var(--color-surface-container-low)}.list-row+.list-row{margin-top:.25rem}.stack{gap:1rem;display:grid}.stack-lg{gap:1.5rem;display:grid}.row-between{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.row-start{align-items:center;gap:.75rem;display:flex}.form-grid{gap:1rem;display:grid}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.panel-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.app-shell{background:var(--color-surface);grid-template-columns:1fr;min-height:100dvh;display:grid}.workspace{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--color-surface-container-low);z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.topbar h1{color:var(--color-on-surface);margin:0;font-size:1.1rem;font-weight:600}.top-actions{align-items:center;gap:.5rem;display:flex}.content{background:var(--color-surface);flex:1;min-height:calc(100dvh - 4.5rem)}.bottom-nav{background:var(--color-surface-container-low);z-index:10;padding-bottom:env(safe-area-inset-bottom,0);grid-template-columns:repeat(5,1fr);display:grid;position:sticky;bottom:0}.bottom-nav a{text-align:center;color:var(--color-on-surface-muted);font-family:var(--font-body);flex-direction:column;align-items:center;gap:.2rem;padding:.75rem .25rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.bottom-nav a.router-link-active{color:var(--color-secondary)}.auth-screen{background:var(--color-surface);place-items:center;min-height:100dvh;padding:1rem;display:grid}.auth-card{background:var(--color-surface-container-low);width:min(420px,100%);box-shadow:var(--shadow-float);border-radius:1.5rem;gap:1.25rem;padding:2rem 1.5rem;display:grid}.auth-tabs{background:var(--color-surface-container);border-radius:999px;grid-template-columns:1fr 1fr;gap:.5rem;padding:.25rem;display:grid}.auth-tabs button{color:var(--color-on-surface-variant);background:0 0;border-radius:999px;padding:.5rem 1rem;font-size:.875rem;transition:background .2s,color .2s}.auth-tabs button.active{background:var(--color-surface-bright);color:var(--color-on-surface)}.auth-google{width:100%}.muted{color:var(--color-on-surface-variant);font-size:.875rem}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-tertiary{color:var(--color-tertiary)}.text-error{color:var(--color-error)}.text-muted{color:var(--color-on-surface-variant)}.status-line[data-status=ok]{color:var(--color-secondary)}.status-line[data-status=alerta]{color:#f4c55b}.status-line[data-status=critico]{color:var(--color-error)}.error-text{color:var(--color-error);margin:0;font-size:.875rem}progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface-container-highest);border-radius:999px;width:100%;height:6px;overflow:hidden}progress::-webkit-progress-bar{background:var(--color-surface-container-highest);border-radius:999px}progress::-webkit-progress-value{background:linear-gradient(90deg,var(--color-secondary),var(--color-primary));border-radius:999px}progress::-moz-progress-bar{background:linear-gradient(90deg,var(--color-secondary),var(--color-primary));border-radius:999px}.dashboard-grid{gap:1.25rem;display:grid}.kpi-grid{gap:1rem;display:grid}.expense-row{gap:.75rem;display:grid}.expense-main h3{font-family:var(--font-body);color:var(--color-on-surface);margin:0;font-size:.9375rem;font-weight:500}.expense-side{font-family:var(--font-display);color:var(--color-on-surface);font-size:1.05rem;font-weight:700}.expense-actions{justify-content:flex-end}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-surface-container-highest);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-outline-variant)}.planning-view{gap:1.25rem;display:grid}.planning-header{flex-direction:column;gap:1rem;display:flex}.planning-header__overline{font-family:var(--font-display);color:var(--color-on-surface);letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:700;line-height:1.15}.planning-header__sub{font-family:var(--font-body);color:var(--color-on-surface-muted);margin:4px 0 0;font-size:.875rem}.planning-tabs{background:var(--color-surface-container);border-radius:999px;gap:.25rem;width:fit-content;padding:.25rem;display:inline-flex}.planning-tab{color:var(--color-on-surface-variant);background:0 0;border:none;border-radius:999px;padding:.5rem 1.25rem;font-size:.8125rem;font-weight:600;transition:background .2s,color .2s}.planning-tab.active{background:var(--color-secondary);color:var(--color-on-secondary)}.planning-tab:not(.active):hover{background:var(--color-surface-container-high);color:var(--color-on-surface)}.planning-kpi-grid{gap:1rem;display:grid}.planning-kpi{background:var(--color-surface-container-high);border-radius:1.25rem;flex-direction:column;gap:.35rem;padding:1.25rem 1.5rem;transition:background .2s;display:flex}.planning-kpi:hover{background:var(--color-surface-bright)}.planning-kpi__label{color:var(--color-secondary);letter-spacing:.08em;font-size:.6875rem;font-weight:700}.planning-kpi__value{margin:0;line-height:1.1}.planning-kpi__value--category{font-size:clamp(1.25rem,2.5vw,1.75rem)}.planning-kpi__delta{align-items:center;gap:.35rem;margin-top:.25rem;display:inline-flex}.delta-positive{color:var(--color-secondary)}.delta-negative{color:var(--color-error)}.delta-neutral{color:var(--color-on-surface-variant)}.planning-chart-card{background:var(--color-surface-container-high);border-radius:1.25rem;padding:1.5rem;transition:background .2s}.planning-chart-card:hover{background:var(--color-surface-bright)}.planning-chart-card .headline-md{margin-bottom:.75rem}.distribution-layout{flex-direction:column;align-items:stretch;gap:1rem;width:100%;margin-top:1rem;display:flex}.distribution-chart{flex-shrink:0;width:100%;max-width:260px;margin:0 auto}.distribution-legend{gap:.75rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.distribution-legend__item{grid-template-columns:10px minmax(0,1fr) auto;align-items:center;column-gap:.75rem;display:grid}.distribution-legend__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.distribution-legend__name{font-family:var(--font-body);color:var(--color-on-surface-variant);flex:1;font-size:.8125rem}.distribution-legend__pct{font-family:var(--font-body);color:var(--color-on-surface);text-align:right;min-width:3ch;font-size:.875rem;font-weight:700}.planning-bottom-grid{align-items:stretch;gap:1.25rem;display:grid}.planning-bottom-grid>.planning-chart-card,.planning-bottom-grid>.planning-insight-card{flex-direction:column;display:flex}.planning-bottom-grid>.planning-chart-card .distribution-layout{flex:1;justify-content:flex-start;align-items:stretch;width:100%;display:flex}.planning-insight-card{background:var(--color-surface-container-low);border-radius:1.25rem;flex-direction:column;gap:.75rem;min-height:270px;padding:1.5rem;display:flex}.planning-insight-card__header{align-items:center;gap:.65rem;display:flex}.planning-insight-card__icon{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-container));width:36px;height:36px;color:var(--color-on-primary-container);border-radius:3rem;flex-shrink:0;place-items:center;display:grid}.planning-insight-card__body{color:var(--color-on-surface-variant);flex:1;margin:0;line-height:1.55}.planning-insight-card__link{color:var(--color-on-surface);cursor:pointer;font-weight:600;font-family:var(--font-body);background:0 0;border:none;border-radius:0;justify-content:flex-start;align-items:center;gap:.35rem;padding:0;font-size:.9375rem;text-decoration:none;transition:color .15s;display:inline-flex}.planning-insight-card__link:hover{color:var(--color-secondary)}.planning-mini-kpi-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.planning-mini-kpi{background:var(--color-surface-container-high);border-radius:1.25rem;gap:.35rem;padding:1.25rem;display:grid}.planning-mini-kpi:hover{background:var(--color-surface-bright)}.planning-mini-kpi__icon{margin-bottom:.25rem}.planning-mini-kpi__label{color:var(--color-on-surface-muted);letter-spacing:.06em;font-size:.6875rem;font-weight:600}.planning-mini-kpi__value{margin:0;line-height:1.2}.planning-tooltip{background:var(--color-surface-container-highest);box-shadow:var(--shadow-float);border-radius:.75rem;gap:.15rem;padding:.6rem .85rem;display:grid}.planning-tooltip__label{font-family:var(--font-body);color:var(--color-on-surface-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:500}.planning-tooltip__value{font-family:var(--font-display);color:var(--color-secondary);font-size:1.1rem;font-weight:800}.savings-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);background:#0e0e0e99;justify-content:flex-end;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.savings-panel{background:var(--color-surface-container-low);flex-direction:column;width:min(480px,100%);height:100%;animation:.3s cubic-bezier(.16,1,.3,1) savings-slide-in;display:flex;overflow:hidden}@keyframes savings-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.savings-fade-enter-active{transition:opacity .25s}.savings-fade-leave-active{transition:opacity .2s}.savings-fade-enter-from,.savings-fade-leave-to{opacity:0}.savings-panel__header{border-bottom:1px solid var(--color-surface-container-highest);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.savings-panel__icon{background:linear-gradient(135deg,var(--color-secondary),var(--color-secondary-container));width:38px;height:38px;color:var(--color-on-secondary-container);border-radius:.75rem;place-items:center;display:grid}.savings-panel__body{flex:1;align-content:start;gap:1rem;padding:1rem 1.5rem 2rem;display:grid;overflow-y:auto}.savings-tip{background:var(--color-surface-container);border-radius:1rem;gap:1rem;padding:1.15rem;transition:background .15s;display:flex}.savings-tip:hover{background:var(--color-surface-container-high)}.savings-tip__icon-wrap{border-radius:.75rem;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.savings-tip__icon--pace{color:var(--color-secondary);background:#44ddc11f}.savings-tip__icon--spike{color:var(--color-error);background:#ffb4ab1f}.savings-tip__icon--reduction{color:var(--color-secondary);background:#44ddc11f}.savings-tip__icon--subs{color:var(--color-tertiary);background:#cdbdff1f}.savings-tip__icon--days{color:var(--color-primary);background:#bac3ff1f}.savings-tip__icon--rule{color:#f4c55b;background:#f4c55b1f}.savings-tip__content{gap:.35rem;min-width:0;display:grid}.savings-tip__content .label-lg{margin:0}.savings-tip__content .body-sm{margin:0;line-height:1.5}.savings-tip__action{color:var(--color-on-surface-muted);align-items:center;gap:.3rem;margin-top:.15rem;font-style:italic;display:flex}.savings-tip__list{gap:.25rem;margin:.25rem 0 0;padding:0;list-style:none;display:grid}.savings-tip__list li{background:var(--color-surface-container-high);border-radius:.5rem;padding:.35rem .65rem;font-size:.8125rem}.savings-rule-bars{gap:.5rem;margin-top:.5rem;display:grid}.savings-rule-bar{grid-template-columns:5.5rem 1fr auto;align-items:center;gap:.65rem;display:grid}.savings-rule-bar__track{background:var(--color-surface-container-highest);border-radius:999px;height:6px;overflow:hidden}.savings-rule-bar__fill{border-radius:999px;height:100%}.savings-rule-bar__fill--needs{background:var(--color-secondary)}.savings-rule-bar__fill--wants{background:var(--color-primary)}.savings-rule-bar__fill--savings{background:var(--color-tertiary)}.savings-empty{text-align:center;place-items:center;gap:1rem;padding:3rem 1rem;display:grid}@media (min-width:768px){.bottom-nav{display:none}.app-shell{grid-template-columns:260px 1fr}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);align-items:start}.kpi-grid{grid-template-columns:repeat(2,1fr)}.expense-row{grid-template-columns:1fr auto auto;align-items:center}.planning-header{flex-direction:row;justify-content:space-between;align-items:center}.planning-kpi-grid{grid-template-columns:repeat(3,1fr)}.planning-bottom-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.planning-bottom-grid>.planning-chart-card .distribution-layout{flex-direction:row;justify-content:center;align-items:center;gap:2.25rem}.planning-bottom-grid>.planning-chart-card .distribution-chart{max-width:300px;margin:0}.planning-bottom-grid>.planning-chart-card .distribution-legend{width:min(360px,100%)}}@media (min-width:1280px){.kpi-grid{grid-template-columns:repeat(4,1fr)}}.goals-view{gap:2rem;display:grid}.goals-header__title{font-family:var(--font-display);color:var(--color-on-surface);letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:700;line-height:1.15}.goals-header__title em{color:var(--color-secondary);font-style:italic}.goals-header__sub{font-family:var(--font-body);color:var(--color-on-surface-muted);margin:4px 0 0;font-size:.875rem}.goals-hero-row{gap:1rem;display:grid}.goals-hero-card{background:var(--color-surface-container-low);border-radius:1.5rem;flex-direction:column;gap:1rem;padding:1.75rem;transition:background .2s;display:flex;position:relative}.goals-hero-card__actions{align-items:flex-start;gap:.5rem;display:flex;position:relative}.goals-hero-card:hover{background:var(--color-surface-container)}.goals-hero-card--empty{place-items:center;min-height:180px;display:grid}.goals-hero-card__top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.goals-hero-card__meta{align-items:center;gap:.5rem;min-width:0;display:flex}.goals-hero-card__badges{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.goals-hero-card__pct{text-align:right;flex-direction:column;gap:.1rem;display:flex}.goals-hero-card__pct .display-sm{line-height:1}.goals-hero-card__pct .label-sm{color:var(--color-on-surface-muted)}.goals-hero-card__title{margin:0}.goals-hero-card__desc{color:var(--color-on-surface-variant);margin:0}.goals-hero-card__amounts{justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:.5rem;display:flex}.goals-hero-card__amounts .label-sm{color:var(--color-on-surface-muted);letter-spacing:.08em;margin-bottom:.25rem;font-size:.6875rem;font-weight:700;display:block}.goals-hero-card__amounts .display-sm{line-height:1}.goals-hero-card__target{text-align:right}.goals-create-card{background:var(--color-surface-container-high);text-align:center;cursor:pointer;border-radius:1.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:160px;padding:1.75rem;transition:background .2s;display:flex}.goals-create-card:hover{background:var(--color-surface-bright)}.goals-create-card__icon{background:var(--color-surface-container-lowest);width:52px;height:52px;color:var(--color-on-surface);border-radius:50%;place-items:center;transition:background .2s;display:grid}.goals-create-card:hover .goals-create-card__icon{background:var(--color-surface-container)}.goals-create-card .body-sm{color:var(--color-on-surface-variant);margin:0}.goals-grid{gap:1rem;display:grid}.goals-card{background:var(--color-surface-container-high);border-radius:1.25rem;flex-direction:column;gap:.5rem;padding:1.25rem;transition:background .2s;display:flex;position:relative}.goals-card:hover{background:var(--color-surface-bright)}.goals-card__header{justify-content:space-between;align-items:center;display:flex}.goals-card__icon{background:var(--color-surface-container-lowest);width:40px;height:40px;color:var(--color-secondary);border-radius:.75rem;flex-shrink:0;place-items:center;display:grid}.goals-card__menu{position:relative}.goals-card__dropdown{z-index:20;background:var(--color-surface-bright);box-shadow:var(--shadow-float);border-radius:.75rem;gap:.15rem;min-width:140px;padding:.35rem;display:grid;position:absolute;top:100%;right:0}.goals-card__dropdown-item{color:var(--color-on-surface);background:0 0;border:none;border-radius:.5rem;justify-content:flex-start;align-items:center;gap:.5rem;width:100%;padding:.55rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s;display:flex}.goals-card__dropdown-item:hover{background:var(--color-surface-container-highest)}.goals-card__dropdown-item--danger{color:var(--color-error)}.goals-card__title{margin:0}.goals-card__desc{color:var(--color-on-surface-variant);margin:0}.goals-card__footer{justify-content:space-between;align-items:baseline;margin-top:auto;padding-top:.5rem;display:flex}.goals-card__amount{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1}.goals-achievements{gap:1.25rem;display:grid}.goals-achievements__link{color:var(--color-on-surface);cursor:pointer;font-weight:600;font-family:var(--font-body);background:0 0;border:none;border-radius:0;align-items:center;gap:.35rem;padding:0;font-size:.9375rem;display:inline-flex}.goals-achievements__link:hover{color:var(--color-secondary)}.goals-achievements-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;display:grid}.goals-achievement{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;display:flex}.goals-achievement__circle{background:var(--color-surface-container-high);width:64px;height:64px;color:var(--color-on-surface-variant);border-radius:50%;place-items:center;transition:background .2s;display:grid}.goals-achievement:hover .goals-achievement__circle{background:var(--color-surface-bright)}.goals-achievement__title{margin:0;font-size:.8125rem}.goals-patrimony-chart__header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.goal-drawer-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);background:#0e0e0e99;justify-content:flex-end;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.goal-drawer{background:var(--color-surface-container-low);flex-direction:column;width:min(480px,100%);height:100%;animation:.3s cubic-bezier(.16,1,.3,1) goal-drawer-slide;display:flex;overflow:hidden}@keyframes goal-drawer-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.goal-drawer__header{border-bottom:1px solid var(--color-surface-container-highest);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.goal-drawer__icon-preview{background:linear-gradient(135deg,var(--color-secondary),var(--color-secondary-container));width:38px;height:38px;color:var(--color-on-secondary-container);border-radius:.75rem;place-items:center;display:grid}.goal-drawer__body{flex:1;align-content:start;gap:1.15rem;padding:1.25rem 1.5rem 2rem;display:grid;overflow-y:auto}.goal-form-field{gap:.4rem;display:grid}.goal-form-field .label-sm{color:var(--color-secondary);letter-spacing:.08em;font-size:.6875rem;font-weight:700}.goal-form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.goal-icon-grid{flex-wrap:wrap;gap:.5rem;display:flex}.goal-icon-option{background:var(--color-surface-container);width:40px;height:40px;color:var(--color-on-surface-variant);border:2px solid #0000;border-radius:.75rem;place-items:center;padding:0;transition:background .15s,border-color .15s;display:grid}.goal-icon-option:hover{background:var(--color-surface-container-high);color:var(--color-on-surface)}.goal-icon-option.active{border-color:var(--color-secondary);color:var(--color-secondary);background:var(--color-surface-container-high)}.goal-drawer__actions{gap:.75rem;padding-top:.5rem;display:flex}.fade-enter-active{transition:opacity .15s}.fade-leave-active{transition:opacity .1s}.fade-enter-from,.fade-leave-to{opacity:0}.goal-currency-toggle{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.goal-currency-btn{background:var(--color-surface-container);color:var(--color-on-surface-variant);border:2px solid #0000;border-radius:.75rem;justify-content:center;align-items:center;gap:.4rem;padding:.65rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:flex}.goal-currency-btn:hover{background:var(--color-surface-container-high);color:var(--color-on-surface)}.goal-currency-btn.active{border-color:var(--color-secondary);color:var(--color-secondary);background:var(--color-surface-container-high)}.goal-form-hint{color:var(--color-on-surface-muted);margin:.2rem 0 0;font-size:.8125rem}.goals-streak-section{gap:1.25rem;display:grid}.goals-streak-list{gap:1rem;display:grid}.goals-streak-card{background:var(--color-surface-container-high);border-radius:1.25rem;flex-direction:column;gap:1rem;min-width:0;padding:1.25rem;transition:background .2s;display:flex}.goals-streak-card:hover{background:var(--color-surface-bright)}.goals-streak-card__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.goals-streak-card__info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.goals-streak-card__info h4{white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.goals-streak-card__streak{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.goals-streak-card__fire{font-size:1.4rem;line-height:1}.goals-streak-card__count,.goals-streak-card__max{flex-direction:column;align-items:center;gap:.1rem;display:flex}.goals-streak-card__number{font-family:var(--font-display);color:var(--color-secondary);font-size:1.75rem;font-weight:800;line-height:1}.goals-streak-card__max-number{font-family:var(--font-display);color:var(--color-on-surface-variant);font-size:1.25rem;font-weight:700;line-height:1}.goals-streak-periods{scrollbar-width:none;gap:.4rem;min-width:0;padding-bottom:.25rem;display:flex;overflow-x:auto}.goals-streak-periods::-webkit-scrollbar{display:none}.goals-streak-period{cursor:pointer;background:0 0;border:none;border-radius:.625rem;flex-direction:column;flex-shrink:0;align-items:center;gap:.35rem;min-width:2.5rem;padding:.4rem .25rem;transition:background .15s;display:flex}.goals-streak-period:hover{background:var(--color-surface-container-highest)}.goals-streak-period__dot{background:var(--color-surface-container-highest);width:28px;height:28px;color:var(--color-secondary);border:2px solid #0000;border-radius:50%;place-items:center;transition:background .15s,border-color .15s;display:grid}.goals-streak-period--achieved .goals-streak-period__dot{background:linear-gradient(135deg,var(--color-secondary),var(--color-primary));color:var(--color-on-secondary);border-color:#0000}.goals-streak-period--current .goals-streak-period__dot{border-color:var(--color-secondary)}.goals-streak-period--achieved.goals-streak-period--current .goals-streak-period__dot{border-color:#0000}.goals-streak-period__label{font-family:var(--font-body);color:var(--color-on-surface-muted);white-space:nowrap;font-size:.65rem;font-weight:500}.goals-streak-period--current .goals-streak-period__label{color:var(--color-secondary);font-weight:700}@media (min-width:768px){.goals-hero-row{grid-template-columns:2fr 1fr}.goals-grid{grid-template-columns:repeat(3,1fr)}.goals-achievements-grid{grid-template-columns:repeat(4,1fr)}.goals-streak-list{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.goals-streak-card__top{flex-wrap:wrap;gap:.5rem}.goals-streak-card__info{flex:100%}.goals-streak-card__streak{margin-left:auto}.goals-hero-card__meta{flex-direction:column;align-items:flex-start;gap:.35rem}.goals-create-card{min-height:unset;border-radius:1rem;flex-direction:row;order:-1;justify-content:flex-start;align-items:center;gap:.75rem;padding:.875rem 1.25rem}.goals-create-card__icon{flex-shrink:0;width:36px;height:36px}.goals-create-card .body-sm{display:none}.goals-create-card h3{text-align:left;margin:0;font-size:.9375rem}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
