@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Noto+Sans+KR:wght@400;500;700&display=swap";html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{color-scheme:dark;--bg: oklch(15% .006 250);--bg-elevated: oklch(19% .007 250);--bg-elevated-2: oklch(23% .008 250);--bg-elevated-3: oklch(27% .009 250);--border: oklch(40% .01 250 / 45%);--border-strong: oklch(48% .012 250 / 65%);--text-primary: oklch(96% .003 250);--text-secondary: oklch(74% .012 250);--text-tertiary: oklch(54% .012 250);--accent: oklch(78% .16 165);--accent-strong: oklch(70% .18 165);--accent-soft: oklch(78% .16 165 / 16%);--accent-on: oklch(18% .02 165);--danger: oklch(74% .18 27);--danger-soft: oklch(74% .18 27 / 16%);--danger-on: oklch(16% .02 27);--cat-1: oklch(76% .17 25);--cat-2: oklch(78% .14 70);--cat-3: oklch(80% .15 122);--cat-4: oklch(78% .16 165);--cat-5: oklch(78% .13 202);--cat-6: oklch(74% .15 255);--cat-7: oklch(76% .14 292);--cat-8: oklch(76% .16 332);--flow-income: oklch(66% .15 255);--flow-expense: oklch(66% .14 70);--flow-saving: oklch(66% .15 165);--flow-leftover: oklch(40% .012 250);--flow-income-soft: oklch(66% .15 255 / 18%);--flow-expense-soft: oklch(66% .14 70 / 18%);--flow-saving-soft: oklch(66% .15 165 / 18%);--flow-previous: oklch(54% .012 250);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 999px;--shadow-ambient: 0 12px 32px -8px rgba(0, 0, 0, .45);--shadow-float: 0 24px 60px rgba(0, 0, 0, .55);--primary: var(--accent);--primary-dim: var(--accent-strong);--primary-container: var(--accent-soft);--on-primary: var(--accent-on);--on-primary-container: var(--accent);--secondary: var(--danger);--secondary-container: var(--danger-soft);--on-secondary: var(--danger-on);--surface: var(--bg);--surface-container-lowest: var(--bg-elevated);--surface-container-low: var(--bg-elevated-2);--surface-container: var(--bg-elevated-3);--surface-container-high: var(--bg-elevated-2);--surface-container-highest: var(--bg-elevated-3);--on-surface: var(--text-primary);--on-surface-variant: var(--text-secondary);--outline-variant: var(--border-strong);font-family:Noto Sans KR,Space Grotesk,Pretendard Variable,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;background-color:var(--bg);color:var(--text-primary);-webkit-text-size-adjust:100%;text-size-adjust:100%}#app{min-height:100vh;min-height:100dvh}@media(hover:none)and (pointer:coarse){input,textarea,select{font-size:16px!important}}.ant-modal-content{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.ant-btn-primary:not(.ant-btn-dangerous){background:linear-gradient(135deg,var(--accent),var(--accent-strong));border:none;color:var(--accent-on)}.ant-btn-primary:not(.ant-btn-dangerous):not(:disabled):hover{background:linear-gradient(135deg,var(--accent-strong),var(--accent))!important;opacity:.92;color:var(--accent-on)!important}.login-container[data-v-5c47cd88]{display:grid;min-height:100vh;grid-template-columns:1fr 480px;background:var(--bg)}.hero[data-v-5c47cd88]{position:relative;padding:4.5rem 5rem;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border)}.hero-glow[data-v-5c47cd88]{position:absolute;width:56rem;height:56rem;border-radius:50%;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 68%);top:-20rem;left:-14rem;filter:blur(10px)}.brand-row[data-v-5c47cd88]{position:relative;display:flex;align-items:center;gap:.75rem}.brand-mark[data-v-5c47cd88]{width:36px;height:36px;object-fit:contain}.brand-name[data-v-5c47cd88]{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--text-primary)}.hero-copy[data-v-5c47cd88]{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;max-width:40rem}.hero-kicker[data-v-5c47cd88]{font-size:.75rem;font-weight:600;letter-spacing:.14em;color:var(--accent);margin:0 0 1.1rem}.hero-title[data-v-5c47cd88]{font-family:Space Grotesk,Noto Sans KR,sans-serif;font-size:clamp(2.6rem,4.2vw,3.5rem);line-height:1.15;font-weight:700;margin:0 0 1.25rem;letter-spacing:-.01em;color:var(--text-primary)}.chart-strip[data-v-5c47cd88]{position:relative;display:flex;align-items:flex-end;gap:.65rem;height:6.9rem;margin-top:2rem}.bar[data-v-5c47cd88]{width:22px;border-radius:5px 5px 0 0;background:var(--bg-elevated-3)}.bar.on[data-v-5c47cd88]{background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.panel[data-v-5c47cd88]{display:flex;align-items:center;justify-content:center;padding:4rem;background:var(--bg-elevated)}.login-card[data-v-5c47cd88]{width:100%;max-width:21.25rem;background:var(--bg-elevated-2);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2.5rem 2rem;box-shadow:var(--shadow-float)}.loading-card[data-v-5c47cd88]{display:flex;min-height:220px;align-items:center;justify-content:center;text-align:center;color:var(--text-secondary)}.card-eyebrow[data-v-5c47cd88]{margin:0 0 .6rem;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.card-title[data-v-5c47cd88]{font-family:Space Grotesk,Noto Sans KR,sans-serif;margin:0 0 2rem;font-size:1.4rem;font-weight:700;color:var(--text-primary)}.card-title span[data-v-5c47cd88]{color:var(--accent)}.oauth-btn[data-v-5c47cd88]{height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.75rem!important;padding:.85rem 1rem!important;border:none!important;border-radius:var(--radius-lg)!important;background:var(--text-primary)!important;color:var(--bg-elevated)!important;font-weight:600!important;font-size:.92rem!important}.oauth-btn[data-v-5c47cd88]:hover{opacity:.92!important}.g-logo[data-v-5c47cd88]{width:18px;height:18px;flex-shrink:0}@media(max-width:960px){.login-container[data-v-5c47cd88]{grid-template-columns:1fr}.hero[data-v-5c47cd88]{min-height:42vh;padding:3rem 2rem 2rem;border-right:none;border-bottom:1px solid var(--border)}.panel[data-v-5c47cd88]{padding:1.5rem 1.25rem 2rem}}.category-chart-card[data-v-cd8bb5a5]{border-radius:.9rem;background:var(--surface-container-lowest);padding:1rem;box-shadow:var(--shadow-ambient)}.category-chart-header h2[data-v-cd8bb5a5]{margin:0;color:var(--on-surface);font-size:1.05rem;font-weight:700}.category-chart-body[data-v-cd8bb5a5]{margin-top:.9rem;display:flex;flex-direction:column;gap:.9rem}.donut-chart[data-v-cd8bb5a5]{position:relative;width:min(260px,100%);aspect-ratio:1 / 1;border-radius:50%;margin:0 auto}.donut-center[data-v-cd8bb5a5]{position:absolute;top:50%;left:50%;width:56%;aspect-ratio:1 / 1;transform:translate(-50%,-50%);border-radius:50%;background:var(--bg-elevated);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;text-align:center}.center-label[data-v-cd8bb5a5]{color:var(--on-surface-variant);font-size:.75rem;font-weight:700}.center-value[data-v-cd8bb5a5]{color:var(--on-surface);font-size:.85rem;line-height:1.2}.category-legend[data-v-cd8bb5a5]{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.45rem}.legend-item[data-v-cd8bb5a5]{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.legend-left[data-v-cd8bb5a5]{min-width:0;display:inline-flex;align-items:center;gap:.45rem}.legend-dot[data-v-cd8bb5a5]{width:.6rem;height:.6rem;border-radius:50%;flex-shrink:0}.legend-name[data-v-cd8bb5a5]{color:var(--on-surface-variant);font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-right[data-v-cd8bb5a5]{display:inline-flex;align-items:baseline;gap:.4rem;color:var(--on-surface);font-size:.78rem;flex-shrink:0}.legend-right small[data-v-cd8bb5a5]{color:var(--on-surface-variant)}.chart-empty[data-v-cd8bb5a5]{margin:1rem 0 0;color:var(--on-surface-variant);font-size:.86rem}.cashflow-summary[data-v-103897b2]{border-radius:.9rem;background:var(--surface-container-lowest);padding:1rem;box-shadow:var(--shadow-ambient)}.cashflow-summary-header[data-v-103897b2]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cashflow-summary-header h2[data-v-103897b2]{margin:0;color:var(--on-surface);font-size:1.05rem;font-weight:700}.cashflow-summary-link[data-v-103897b2]{border:none;background:transparent;color:var(--text-secondary);font:inherit;font-size:.8rem;cursor:pointer}.cashflow-summary-link[data-v-103897b2]:hover{color:var(--text-primary)}.cashflow-summary-grid[data-v-103897b2]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .9rem;margin:.8rem 0 0}.cashflow-summary-grid dt[data-v-103897b2]{display:flex;align-items:center;gap:.35rem;font-size:.74rem;color:var(--text-tertiary)}.cashflow-summary-grid dd[data-v-103897b2]{margin:.1rem 0 0;font-size:.95rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.cashflow-summary-grid dd.negative[data-v-103897b2]{color:var(--danger)}.key[data-v-103897b2]{width:8px;height:8px;border-radius:2px;flex-shrink:0}.cashflow-summary-rate[data-v-103897b2]{margin:.7rem 0 0;font-size:.76rem;color:var(--text-tertiary)}.confirm-message[data-v-16f564f2]{margin:.5rem 0 0;color:var(--on-surface-variant);font-size:.9rem}.confirm-target[data-v-90b5bbe3]{margin:0;color:var(--on-surface-variant);font-size:.85rem}.confirm-error[data-v-90b5bbe3]{margin:.45rem 0 0;color:var(--secondary);font-size:.82rem}.filter-shell[data-v-5e064ecf]{position:relative;z-index:20;margin-bottom:1rem}.filter-primary[data-v-5e064ecf]{position:relative;z-index:95;display:flex;gap:.5rem;align-items:center}.search-wrapper[data-v-5e064ecf]{position:relative;flex:1;min-width:0;display:flex;align-items:center}.search-icon[data-v-5e064ecf]{position:absolute;left:.7rem;width:16px;height:16px;color:var(--text-tertiary);pointer-events:none;flex-shrink:0}.keyword-input[data-v-5e064ecf] .ant-input-affix-wrapper{border-radius:2rem}.keyword-input[data-v-5e064ecf] .ant-input{font-size:.88rem}.filter-toggle-button[data-v-5e064ecf]{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .9rem;border:1px solid var(--border);border-radius:2rem;background:var(--surface-container-lowest);color:var(--on-surface-variant);font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.filter-toggle-button[data-v-5e064ecf]:hover{background:var(--surface-container-low);border-color:var(--outline-variant)}.filter-toggle-button.active[data-v-5e064ecf],.filter-toggle-button.expanded[data-v-5e064ecf]{background:var(--primary-container);border-color:var(--primary);color:var(--on-primary-container)}.filter-icon[data-v-5e064ecf]{width:15px;height:15px;flex-shrink:0}.filter-badge[data-v-5e064ecf]{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:var(--primary);color:var(--on-primary);font-size:.7rem;font-weight:700;line-height:1}.chevron-icon[data-v-5e064ecf]{width:14px;height:14px;flex-shrink:0;transition:transform .15s ease}.chevron-icon.rotated[data-v-5e064ecf]{transform:rotate(180deg)}.filter-backdrop[data-v-5e064ecf]{position:fixed;inset:0;z-index:90;background:#0000008c}.filter-backdrop-enter-active[data-v-5e064ecf],.filter-backdrop-leave-active[data-v-5e064ecf]{transition:opacity .15s ease}.filter-backdrop-enter-from[data-v-5e064ecf],.filter-backdrop-leave-to[data-v-5e064ecf]{opacity:0}.filter-panel[data-v-5e064ecf]{position:absolute;top:calc(100% + .35rem);left:0;min-width:560px;z-index:100;background:var(--bg-elevated-2);border:1px solid var(--border);border-radius:.85rem;box-shadow:var(--shadow-ambient);padding:1.25rem}.filter-grid[data-v-5e064ecf]{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem;margin-bottom:1rem}.filter-group[data-v-5e064ecf]{display:flex;flex-direction:column;gap:.35rem}.filter-label[data-v-5e064ecf]{font-size:.6875rem;font-weight:600;color:var(--on-surface-variant);letter-spacing:.05em;text-transform:uppercase}.date-range[data-v-5e064ecf],.amount-range[data-v-5e064ecf]{display:flex;align-items:center;gap:.4rem}.date-sep[data-v-5e064ecf]{color:var(--text-tertiary);font-size:.85rem;flex-shrink:0}.filter-input[data-v-5e064ecf]{flex:1;min-width:0}.filter-select[data-v-5e064ecf]{width:100%}.filter-actions[data-v-5e064ecf]{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.85rem;border-top:1px solid var(--border)}.filter-panel-enter-active[data-v-5e064ecf],.filter-panel-leave-active[data-v-5e064ecf]{transition:opacity .15s ease,transform .15s ease}.filter-panel-enter-from[data-v-5e064ecf],.filter-panel-leave-to[data-v-5e064ecf]{opacity:0;transform:translateY(-8px)}@media(max-width:768px){.filter-panel[data-v-5e064ecf]{left:0;right:0;min-width:unset}.filter-grid[data-v-5e064ecf]{grid-template-columns:1fr}}@media(max-width:480px){.filter-panel[data-v-5e064ecf]{position:fixed;inset:auto 0 0;border-radius:1rem 1rem 0 0;max-height:75vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.filter-panel-enter-from[data-v-5e064ecf],.filter-panel-leave-to[data-v-5e064ecf]{opacity:0;transform:translateY(100%)}}.month-calendar-card[data-v-7ae2c54e]{border-radius:.9rem;background:var(--surface-container-lowest);box-shadow:var(--shadow-ambient);overflow:hidden;flex-shrink:0}.month-calendar-header h2[data-v-7ae2c54e]{margin:0;color:var(--on-surface);font-size:1.05rem;font-weight:700;padding:1rem 1rem 0}.month-calendar-body[data-v-7ae2c54e]{margin-top:.5rem}.month-calendar-body[data-v-7ae2c54e] .ant-picker-calendar-mini,.month-calendar-body[data-v-7ae2c54e] .ant-picker-panel{border-top:none}.calendar-date-cell[data-v-7ae2c54e]{display:flex;flex-direction:column;gap:.4rem;width:100%;height:100%;padding:0 .25rem}.calendar-date-number[data-v-7ae2c54e]{display:flex;justify-content:center;font-size:.85rem;color:var(--on-surface);line-height:1.5}.calendar-date-number--today[data-v-7ae2c54e]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background-color:var(--primary);color:var(--on-primary);font-weight:700;margin:0 auto}.calendar-date-content[data-v-7ae2c54e]{min-height:1.4rem;align-content:center}.month-calendar-body[data-v-7ae2c54e] .ant-picker-content thead th{display:table-cell;font-size:0;font-weight:600}.month-calendar-body[data-v-7ae2c54e] .ant-picker-content thead th:before{display:block;font-size:.75rem;color:var(--on-surface-variant)}.month-calendar-body[data-v-7ae2c54e] .ant-picker-content thead th:nth-child(1):before{content:"일";color:var(--danger)}.month-calendar-body[data-v-7ae2c54e] .ant-picker-content thead th:nth-child(2):before{content:"월"}.month-calendar-body[data-v-7ae2c54e] .ant-picker-content thead th:nth-child(3):before{content:"화"}.month-calendar-body[data-v-7ae2c54e] .ant-picker-content thead th:nth-child(4):before{content:"수"}.month-calendar-body[data-v-7ae2c54e] .ant-picker-content thead th:nth-child(5):before{content:"목"}.month-calendar-body[data-v-7ae2c54e] .ant-picker-content thead th:nth-child(6):before{content:"금"}.month-calendar-body[data-v-7ae2c54e] .ant-picker-content thead th:nth-child(7):before{content:"토";color:var(--cat-6)}.month-calendar-body[data-v-7ae2c54e] .ant-picker-cell{pointer-events:none;cursor:default;border-top:1px solid rgba(240,242,244,.06);border-left:1px solid rgba(240,242,244,.06)}.month-calendar-body[data-v-7ae2c54e] .ant-picker-content td:first-child{border-left:none}.month-calendar-body[data-v-7ae2c54e] tbody tr:not(:has(.ant-picker-cell-in-view)){display:none}.calendar-month-title[data-v-7ae2c54e]{padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:var(--on-surface);text-align:center}.calendar-day-amount[data-v-7ae2c54e]{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--on-surface-variant);font-size:.65rem;font-weight:600;line-height:1.3}.modal-body[data-v-6d1be40e]{padding:.25rem 0}.hint[data-v-6d1be40e]{margin:.55rem 0 0;color:var(--on-surface-variant);font-size:.78rem}.error[data-v-6d1be40e]{margin:.5rem 0 0;color:var(--secondary);font-size:.8rem}.row-context-menu[data-v-5c3a6af1]{position:fixed;z-index:1400;min-width:140px;border-radius:.7rem;overflow:hidden;border:1px solid var(--border-strong);box-shadow:var(--shadow-float)}.row-context-menu[data-v-5c3a6af1]:focus{outline:none}[data-v-5c3a6af1] .ant-menu{border-inline-end:none!important;background:#111417eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.35rem;border-radius:.7rem}[data-v-5c3a6af1] .ant-menu-item{border-radius:.5rem;font-size:.84rem;font-weight:600;color:var(--on-surface);height:auto;line-height:1.5;padding:.55rem .65rem;margin:0}[data-v-5c3a6af1] .ant-menu-item:not(.ant-menu-item-selected):hover{background:transparent!important}[data-v-5c3a6af1] .ant-menu-item-selected{background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px #1bd79e59;color:var(--text-primary)!important}[data-v-5c3a6af1] .ant-menu-item-danger{color:var(--danger)!important}[data-v-5c3a6af1] .ant-menu-item-danger.ant-menu-item-selected{background:var(--danger-soft)!important;box-shadow:inset 0 0 0 1px #ff7b6f66;box-shadow:inset 0 0 0 1px oklch(74% .18 27 / 40%);color:var(--danger)!important}.payment-method-spend-card[data-v-2c726b2d]{border-radius:.9rem;background:var(--surface-container-lowest);padding:1rem;box-shadow:var(--shadow-ambient)}.payment-method-spend-header[data-v-2c726b2d]{display:block}.payment-method-spend-header h2[data-v-2c726b2d]{margin:0;color:var(--on-surface);font-size:1.05rem;font-weight:700}.payment-method-spend-body[data-v-2c726b2d]{margin-top:.9rem}.payment-method-spend-list[data-v-2c726b2d]{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.85rem}.payment-method-spend-item[data-v-2c726b2d]{display:flex;flex-direction:column;gap:.45rem;padding:.15rem 0}.payment-method-spend-row[data-v-2c726b2d]{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.payment-method-spend-main[data-v-2c726b2d]{min-width:0;display:flex;flex-direction:column;gap:.2rem}.payment-method-spend-name-wrap[data-v-2c726b2d]{min-width:0;display:inline-flex;align-items:center;gap:.45rem}.payment-method-spend-dot[data-v-2c726b2d]{width:.62rem;height:.62rem;border-radius:999px;flex-shrink:0}.payment-method-spend-name[data-v-2c726b2d]{color:var(--on-surface-variant);font-size:.84rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-method-spend-requirement[data-v-2c726b2d]{color:var(--on-surface-variant);font-size:.74rem}.payment-method-spend-requirement.is-empty[data-v-2c726b2d]{color:var(--outline-variant)}.payment-method-spend-side[data-v-2c726b2d]{display:flex;flex-direction:column;align-items:flex-end;gap:.18rem;flex-shrink:0}.payment-method-spend-amount[data-v-2c726b2d]{flex-shrink:0;color:var(--on-surface);font-size:.82rem}.payment-method-spend-rate[data-v-2c726b2d]{color:var(--on-surface-variant);font-size:.73rem;font-weight:700}.payment-method-spend-rate.is-empty[data-v-2c726b2d]{color:var(--outline-variant)}.payment-method-spend-progress-track[data-v-2c726b2d]{width:100%;height:.5rem;border-radius:999px;background:var(--surface-container-low);box-sizing:border-box;overflow:hidden;border:.5px solid var(--border)}.payment-method-spend-progress-fill[data-v-2c726b2d]{height:100%;border-radius:inherit}.payment-method-spend-progress-fill.is-empty[data-v-2c726b2d]{opacity:.7}.payment-method-spend-empty[data-v-2c726b2d]{margin:1rem 0 0;color:var(--on-surface-variant);font-size:.86rem}th[data-v-5bef6128]{padding:.65rem .8rem;background-color:var(--surface-container-low);font-weight:600;font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant);text-align:left}th[data-v-5bef6128]:last-child{border-right:none}.content-col[data-v-5bef6128]{width:auto}.category-col[data-v-5bef6128]{width:130px;min-width:130px;max-width:130px}.amount-col[data-v-5bef6128]{text-align:right;width:110px;min-width:110px;max-width:110px}.payment-method-col[data-v-5bef6128]{width:130px;min-width:130px;max-width:130px}.date-col[data-v-5bef6128]{width:110px;min-width:110px;max-width:110px}.sort-header-button[data-v-5bef6128]{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:.45rem;border:none;background:transparent;padding:0;color:inherit;font:inherit;cursor:pointer}.sort-indicator[data-v-5bef6128]{color:var(--outline-variant);font-size:.82rem}.amount-header[data-v-5bef6128]{justify-content:flex-end}@media(max-width:720px){.category-col[data-v-5bef6128],.payment-method-col[data-v-5bef6128]{width:100px;min-width:100px;max-width:100px}.amount-col[data-v-5bef6128]{width:96px;min-width:96px;max-width:96px}.date-col[data-v-5bef6128]{width:104px;min-width:104px;max-width:104px}}.ledger-badge[data-v-b3a06c53]{display:inline-flex;align-items:center;gap:.36rem;max-width:100%;padding:.22rem .52rem;border-radius:999px;border:1px solid transparent}.ledger-badge-icon[data-v-b3a06c53]{font-size:.72rem;line-height:1}.ledger-badge-label[data-v-b3a06c53]{font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-dropdown[data-v-20d5d010]{width:100%;min-height:46px;padding:.6rem .8rem;display:flex;align-items:center;justify-content:space-between;gap:.45rem;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--on-surface);font-size:.88rem;box-sizing:border-box;transition:box-shadow .14s ease,background-color .14s ease}.category-dropdown[data-v-20d5d010]:focus{outline:none;box-shadow:inset 0 0 0 2px var(--primary);background-color:var(--surface-container-lowest)}.category-dropdown.saving[data-v-20d5d010]{box-shadow:inset 0 0 0 2px var(--primary)}.category-dropdown.invalid[data-v-20d5d010]{box-shadow:inset 0 0 0 2px var(--secondary);background-color:var(--secondary-container)}.category-dropdown.disabled[data-v-20d5d010]{opacity:.65;cursor:not-allowed}.dropdown-arrow[data-v-20d5d010]{color:var(--outline-variant);font-size:.7rem;flex-shrink:0}.category-dropdown-menu[data-v-20d5d010]{background:#1a1d21d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:.55rem;box-shadow:var(--shadow-ambient);padding:.3rem}.dropdown-option[data-v-20d5d010]{width:100%;border:none;border-radius:.45rem;background:transparent;text-align:left;cursor:pointer;padding:.38rem .42rem;display:flex;align-items:center}.dropdown-option[data-v-20d5d010]:hover{background:var(--surface-container-low)}.dropdown-option.active[data-v-20d5d010]{background:var(--primary-container)}.placeholder-option[data-v-20d5d010]{color:var(--on-surface-variant);font-size:.82rem}.placeholder[data-v-20d5d010]{color:var(--outline-variant)}.option-kind[data-v-20d5d010]{margin-left:auto;padding:.05rem .4rem;border-radius:var(--radius-full);font-size:.68rem;font-weight:600;white-space:nowrap}.option-kind.kind-INCOME[data-v-20d5d010]{background:var(--flow-income-soft);color:var(--text-primary)}.option-kind.kind-SAVING[data-v-20d5d010]{background:var(--flow-saving-soft);color:var(--text-primary)}td[data-v-fb5fefde]{padding:0;text-align:left;color:var(--on-surface);font-size:.9rem;vertical-align:top}.ledger-row[data-v-fb5fefde]{transition:background-color .15s ease;-webkit-touch-callout:none}.ledger-row[data-v-fb5fefde]:nth-child(odd):not(.draft-row){background-color:var(--surface-container-lowest)}.ledger-row[data-v-fb5fefde]:nth-child(2n):not(.draft-row){background-color:var(--surface-container-low)}.draft-row[data-v-fb5fefde]{background-color:var(--surface-container)}.content-col[data-v-fb5fefde]{width:auto}.category-col[data-v-fb5fefde],.payment-method-col[data-v-fb5fefde]{width:130px;min-width:130px;max-width:130px}.date-col[data-v-fb5fefde]{width:110px;min-width:110px;max-width:110px}.amount-col[data-v-fb5fefde]{text-align:right;font-variant-numeric:tabular-nums;width:110px;min-width:110px;max-width:110px}.cell-input[data-v-fb5fefde],.cell-surface[data-v-fb5fefde]{width:100%;min-height:46px;padding:.6rem .8rem;border:none;border-radius:0;background-color:transparent;color:var(--on-surface);font-size:.88rem;box-sizing:border-box;transition:box-shadow .14s ease,background-color .14s ease}.cell-surface[data-v-fb5fefde]{display:flex;align-items:center;cursor:text;-webkit-user-select:none;user-select:none}.description-content[data-v-fb5fefde]{min-width:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.description-text[data-v-fb5fefde]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recognized-badge[data-v-fb5fefde]{flex-shrink:0;border-radius:999px;background:var(--primary-container);color:var(--on-primary-container);font-size:.72rem;font-weight:700;padding:.14rem .42rem;cursor:pointer}.cell-surface[data-v-fb5fefde]:focus{outline:none}.category-surface[data-v-fb5fefde]{cursor:pointer}.cell-active[data-v-fb5fefde]{box-shadow:inset 0 0 0 2px var(--primary-container);background-color:color-mix(in oklch,var(--primary) 14%,var(--surface-container-low))}.cell-editing[data-v-fb5fefde]:focus{outline:none;box-shadow:inset 0 0 0 2px var(--primary);background-color:var(--surface-container-lowest)}.placeholder[data-v-fb5fefde]{color:var(--outline-variant)}.cell-input.saving[data-v-fb5fefde],.cell-surface.saving[data-v-fb5fefde]{box-shadow:inset 0 0 0 2px var(--primary)}.cell-input.invalid[data-v-fb5fefde],.cell-surface.invalid[data-v-fb5fefde]{box-shadow:inset 0 0 0 2px var(--secondary);background-color:var(--secondary-container)}.cell-error[data-v-fb5fefde]{margin:.33rem 0 0;color:var(--secondary);font-size:.77rem}.cell-surface.not-applicable[data-v-fb5fefde]{cursor:default}.not-applicable-text[data-v-fb5fefde]{color:var(--text-tertiary)}.amount-surface[data-v-fb5fefde]{justify-content:flex-end;text-align:right;font-variant-numeric:tabular-nums}.amount-surface.amount-income[data-v-fb5fefde]{color:var(--flow-income);font-weight:600}.amount-surface.amount-saving[data-v-fb5fefde]{color:var(--flow-saving);font-weight:600}.amount-input[data-v-fb5fefde]{text-align:right}.amount-error[data-v-fb5fefde]{text-align:left}.recognized-tooltip-content[data-v-fb5fefde]{display:flex;flex-direction:column;gap:.15rem}.recognized-tooltip-label[data-v-fb5fefde]{font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;opacity:.65}.recognized-tooltip-value[data-v-fb5fefde]{font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums}@media(max-width:720px){.category-col[data-v-fb5fefde],.payment-method-col[data-v-fb5fefde]{width:100px;min-width:100px;max-width:100px}.amount-col[data-v-fb5fefde]{width:96px;min-width:96px;max-width:96px}.date-col[data-v-fb5fefde]{width:104px;min-width:104px;max-width:104px}}.ledger-view[data-v-f3cb79db]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0 2rem 2rem}.ledger-controls[data-v-f3cb79db]{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-bottom:.75rem;flex-shrink:0}.month-input[data-v-f3cb79db]{border:none;border-radius:.55rem;background:var(--bg-elevated-2);color:var(--on-surface);padding:.38rem .52rem;font-size:.84rem;min-height:2.25rem;outline:1px solid var(--border)}.ledger-content-layout[data-v-f3cb79db]{display:grid;grid-template-columns:6fr 4fr;gap:1rem;align-items:stretch;flex:1;min-height:0;overflow:hidden}.ledger-main-panel[data-v-f3cb79db]{min-width:0;min-height:0;height:100%;overflow:visible;position:relative;z-index:1;display:flex;flex-direction:column}.ledger-side-panel[data-v-f3cb79db]{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.add-error[data-v-f3cb79db]{margin:0 0 .7rem;flex-shrink:0}.ledger-table-wrap[data-v-f3cb79db]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background-color:var(--surface-container-lowest);border-radius:.85rem;position:relative;box-shadow:var(--shadow-ambient)}.ledger-table-header-outer[data-v-f3cb79db]{flex-shrink:0;overflow:hidden}.ledger-table-scroll[data-v-f3cb79db]{flex:1;min-height:0;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.ledger-table[data-v-f3cb79db]{width:100%;table-layout:fixed;border-collapse:collapse;min-width:0}.col-category[data-v-f3cb79db],.col-payment-method[data-v-f3cb79db]{width:130px}.col-amount[data-v-f3cb79db],.col-date[data-v-f3cb79db]{width:110px}.add-row-outer[data-v-f3cb79db]{background:#1a1d21f5;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 -6px 12px #00000059;border-radius:0 0 .85rem .85rem;flex-shrink:0}.table-add-row-button[data-v-f3cb79db]{width:100%;border:none;background:transparent;color:var(--on-surface-variant);font-size:.88rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;justify-content:flex-start;padding:.72rem .85rem;cursor:pointer;transition:background-color .12s ease,color .12s ease}.table-add-row-button[data-v-f3cb79db]:hover{background:var(--surface-container-low);color:var(--primary)}.table-add-row-button[data-v-f3cb79db]:disabled{opacity:.6;cursor:not-allowed}.loading-state[data-v-f3cb79db],.error-state[data-v-f3cb79db],.empty-state[data-v-f3cb79db]{color:var(--on-surface-variant);text-align:center;padding:1rem}.error-state[data-v-f3cb79db]{color:var(--secondary)}@media(max-width:1500px){.ledger-content-layout[data-v-f3cb79db]{grid-template-columns:minmax(0,1fr)}.ledger-side-panel[data-v-f3cb79db]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:start}}@media(min-width:961px)and (max-width:1500px){.ledger-view[data-v-f3cb79db]{flex:none;min-height:auto;overflow:visible}.ledger-content-layout[data-v-f3cb79db]{flex:none;overflow:visible}.ledger-main-panel[data-v-f3cb79db]{height:max(420px,calc(100vh - 170px));height:max(420px,calc(100dvh - 170px))}.ledger-side-panel[data-v-f3cb79db]{height:auto;overflow-y:visible}}@media(max-width:960px){.ledger-view[data-v-f3cb79db]{flex:none;min-height:auto;overflow:visible}.ledger-content-layout[data-v-f3cb79db]{overflow:visible;flex:none}.ledger-main-panel[data-v-f3cb79db]{height:auto;overflow:visible;display:block}.ledger-table-wrap[data-v-f3cb79db]{flex:none;min-height:auto;overflow:visible}.ledger-table-scroll[data-v-f3cb79db]{flex:none;min-height:auto;overflow-x:auto;overflow-y:visible;max-height:none;border-radius:inherit}.add-row-outer[data-v-f3cb79db]{border-radius:0}.ledger-side-panel[data-v-f3cb79db]{height:auto;overflow-y:visible}}@media(max-width:720px){.ledger-view[data-v-f3cb79db]{padding:0 1rem 1rem}.ledger-table[data-v-f3cb79db]{min-width:560px}.col-category[data-v-f3cb79db],.col-payment-method[data-v-f3cb79db]{width:100px}.col-amount[data-v-f3cb79db]{width:96px}.col-date[data-v-f3cb79db]{width:104px}}.ledger-layout[data-v-3835374d]{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}.ledger-layout-header[data-v-3835374d]{flex-shrink:0;padding:2rem 2rem 0;margin-bottom:.75rem}.ledger-layout-title[data-v-3835374d]{display:flex;align-items:baseline;gap:1.5rem}.ledger-layout-title h1[data-v-3835374d]{margin:0;font-size:1.5rem;font-weight:800;color:var(--on-surface);flex-shrink:0;font-family:Space Grotesk,sans-serif;letter-spacing:-.01em}.ledger-tabs[data-v-3835374d]{display:flex;gap:1.25rem}.ledger-tab[data-v-3835374d]{text-decoration:none;color:var(--on-surface-variant);font-size:.95rem;font-weight:500;padding:.2rem 0;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.ledger-tab[data-v-3835374d]:hover{color:var(--on-surface)}.ledger-tab.router-link-active[data-v-3835374d]{color:var(--on-surface);font-weight:600;border-bottom-color:var(--primary)}.ledger-layout-content[data-v-3835374d]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}@media(max-width:960px){.ledger-layout[data-v-3835374d]{height:auto;min-height:100dvh;overflow:visible}.ledger-layout-content[data-v-3835374d]{flex:none;overflow-y:visible}}@media(max-width:720px){.ledger-layout-header[data-v-3835374d]{padding:1rem 1rem 0}}.app-segmented[data-v-80760b9f]{background:var(--bg-elevated-2);padding:3px}.app-segmented[data-v-80760b9f] .ant-segmented-item-selected,.app-segmented[data-v-80760b9f] .ant-segmented-thumb{background:var(--bg-elevated-3);color:var(--text-primary)}.app-segmented[data-v-80760b9f] .ant-segmented-item-label{font-weight:600}.kind-notice[data-v-f6d942fc]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:var(--radius-lg);background:var(--flow-income-soft);border:1px solid var(--border)}.kind-notice-body[data-v-f6d942fc]{min-width:0}.kind-notice-actions[data-v-f6d942fc]{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.kind-notice-title[data-v-f6d942fc]{margin:0;font-size:.88rem;font-weight:700;color:var(--text-primary)}.kind-notice-text[data-v-f6d942fc]{margin:.2rem 0 0;font-size:.8rem;line-height:1.5;color:var(--text-secondary)}.kind-notice-text strong[data-v-f6d942fc]{color:var(--text-primary)}@media(max-width:640px){.kind-notice[data-v-f6d942fc]{flex-direction:column;align-items:flex-start}}.stats-card[data-v-6fbb4bc5]{min-width:0;border-radius:var(--radius-lg);background:var(--surface-container-lowest);padding:1rem 1.1rem 1.1rem;box-shadow:var(--shadow-ambient)}.stats-card-header[data-v-6fbb4bc5]{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.stats-card-heading[data-v-6fbb4bc5]{min-width:0}.stats-card-heading h3[data-v-6fbb4bc5]{margin:0;font-size:.98rem;font-weight:700;color:var(--text-primary)}.stats-card-subtitle[data-v-6fbb4bc5]{margin:.2rem 0 0;font-size:.78rem;color:var(--text-tertiary)}.stats-card-actions[data-v-6fbb4bc5]{flex-shrink:0}.flow-headline[data-v-765f9b11]{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.flow-headline-label[data-v-765f9b11]{display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;color:var(--text-secondary)}.flow-headline-value[data-v-765f9b11]{font-size:1.05rem;color:var(--text-primary)}.flow-key[data-v-765f9b11]{display:inline-block;width:.6rem;height:.6rem;border-radius:2px;flex-shrink:0}.flow-bar[data-v-765f9b11]{position:relative;display:flex;gap:2px;height:14px;border-radius:4px;background:var(--bg-elevated-2)}.flow-bar-segment[data-v-765f9b11]{height:100%;min-width:2px}.flow-bar-segment[data-v-765f9b11]:first-child{border-radius:4px 0 0 4px}.flow-bar-segment[data-v-765f9b11]:last-of-type{border-radius:0 4px 4px 0}.flow-bar-segment[data-v-765f9b11]:only-of-type{border-radius:4px}.flow-income-marker[data-v-765f9b11]{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--text-primary);border-radius:1px}.flow-overspent[data-v-765f9b11]{margin:.45rem 0 0;font-size:.76rem;color:var(--danger)}.flow-legend[data-v-765f9b11]{list-style:none;margin:.8rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.flow-legend-row[data-v-765f9b11]{display:grid;grid-template-columns:minmax(0,1fr) auto 3.2rem;align-items:center;gap:.6rem;font-size:.84rem}.flow-legend-label[data-v-765f9b11]{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-secondary)}.flow-legend-value[data-v-765f9b11]{color:var(--text-primary);font-variant-numeric:tabular-nums}.flow-legend-share[data-v-765f9b11]{text-align:right;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.flow-saved[data-v-765f9b11]{display:flex;justify-content:space-between;gap:1rem;margin-top:.85rem;padding:.7rem .8rem;border-radius:var(--radius-md);background:var(--flow-saving-soft)}.flow-saved.negative[data-v-765f9b11]{background:var(--danger-soft)}.flow-saved-rate[data-v-765f9b11]{text-align:right}.flow-saved-label[data-v-765f9b11]{margin:0;font-size:.76rem;color:var(--text-secondary)}.flow-saved-formula[data-v-765f9b11]{color:var(--text-tertiary)}.flow-saved-value[data-v-765f9b11]{margin:.1rem 0 0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.flow-empty[data-v-765f9b11]{margin:.85rem 0 0;font-size:.8rem;line-height:1.5;color:var(--text-tertiary)}.flow-sources[data-v-765f9b11]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem 1rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--border)}.flow-source-title[data-v-765f9b11]{margin:0 0 .35rem;font-size:.74rem;font-weight:600;color:var(--text-tertiary)}.flow-source-group ul[data-v-765f9b11]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.flow-source-group li[data-v-765f9b11]{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem}.flow-source-name[data-v-765f9b11]{display:inline-flex;align-items:center;gap:.35rem;min-width:0;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-source-dot[data-v-765f9b11]{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.flow-source-amount[data-v-765f9b11]{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.cashflow-chart[data-v-e49826f2]{position:relative;width:100%}.chart-legend[data-v-e49826f2]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem .9rem;margin-bottom:.3rem;font-size:.74rem;color:var(--text-secondary)}.legend-item[data-v-e49826f2]{display:inline-flex;align-items:center;gap:.35rem}.legend-swatch[data-v-e49826f2]{width:10px;height:10px;border-radius:2px}.legend-ref[data-v-e49826f2]{width:16px;border-top:1.5px dashed var(--text-secondary)}.legend-note[data-v-e49826f2]{color:var(--text-tertiary)}.chart-svg[data-v-e49826f2]{display:block;overflow:visible}.grid line[data-v-e49826f2]{stroke:var(--border);stroke-width:1}.grid text[data-v-e49826f2],.x-label[data-v-e49826f2]{font-size:10px;fill:var(--text-tertiary);font-variant-numeric:tabular-nums}.x-label.future[data-v-e49826f2]{opacity:.45}.x-label.active[data-v-e49826f2]{fill:var(--text-primary);font-weight:700}.bar.income[data-v-e49826f2]{fill:var(--flow-income)}.bar.expense[data-v-e49826f2]{fill:var(--flow-expense)}.bar.saving[data-v-e49826f2]{fill:var(--flow-saving)}.column-group[data-v-e49826f2]{transition:opacity .15s ease}.column-group.partial .bar[data-v-e49826f2]{opacity:.5}.column-group.dimmed .bar[data-v-e49826f2]{opacity:.35}.reference line[data-v-e49826f2]{stroke:var(--text-secondary);stroke-width:1.5;stroke-dasharray:5 4;opacity:.8}.hit[data-v-e49826f2]{fill:transparent;outline:none}.hit.clickable[data-v-e49826f2]{cursor:pointer}.chart-tooltip[data-v-e49826f2]{position:absolute;top:1.5rem;width:184px;padding:.5rem .65rem;border-radius:var(--radius-md);background:var(--bg-elevated-3);border:1px solid var(--border-strong);box-shadow:var(--shadow-float);pointer-events:none;z-index:5}.tooltip-title[data-v-e49826f2]{margin:0 0 .3rem;font-size:.76rem;font-weight:700;color:var(--text-primary)}.tooltip-row[data-v-e49826f2]{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem .4rem;margin:.1rem 0 0;font-size:.78rem;color:var(--text-secondary)}.tooltip-row strong[data-v-e49826f2]{color:var(--text-primary);font-variant-numeric:tabular-nums}.tooltip-key[data-v-e49826f2]{width:12px;height:2px;border-radius:1px}.tooltip-foot[data-v-e49826f2]{margin:.3rem 0 0;padding-top:.3rem;border-top:1px solid var(--border);font-size:.74rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.tooltip-hint[data-v-e49826f2]{margin:.25rem 0 0;font-size:.7rem;color:var(--text-tertiary)}.stat-delta[data-v-8b397335]{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-delta-icon[data-v-8b397335]{font-size:.62rem}.tone-positive[data-v-8b397335]{color:var(--accent)}.tone-negative[data-v-8b397335]{color:var(--danger)}.tone-neutral[data-v-8b397335]{color:var(--text-secondary)}.comparison-legend[data-v-79c96fe0]{display:flex;justify-content:flex-end;gap:1rem;margin:-.35rem 0 .5rem;font-size:.74rem;color:var(--text-tertiary)}.legend-item[data-v-79c96fe0]{display:inline-flex;align-items:center;gap:.35rem}.legend-bar[data-v-79c96fe0]{width:14px;height:8px;border-radius:0 3px 3px 0;background:var(--text-secondary)}.legend-marker[data-v-79c96fe0]{width:2px;height:12px;border-radius:1px;background:var(--text-primary)}.comparison-list[data-v-79c96fe0]{list-style:none;margin:0;padding:0}.comparison-row[data-v-79c96fe0]{width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(90px,1fr) 7.2rem 6.4rem;align-items:center;gap:.75rem;padding:.55rem .4rem;border:none;border-bottom:1px solid var(--border);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s ease}.comparison-row[data-v-79c96fe0]:hover,.comparison-row[data-v-79c96fe0]:focus-visible{background:var(--bg-elevated-2);outline:none}.row-name[data-v-79c96fe0]{display:flex;align-items:center;gap:.4rem;min-width:0}.row-dot[data-v-79c96fe0]{width:.55rem;height:.55rem;border-radius:50%;flex-shrink:0}.row-icon[data-v-79c96fe0]{flex-shrink:0;font-size:.9rem;line-height:1}.row-label[data-v-79c96fe0]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;color:var(--text-primary)}.row-meta[data-v-79c96fe0]{flex-shrink:0;font-size:.72rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.row-track[data-v-79c96fe0]{position:relative;display:block;height:8px;border-radius:0 4px 4px 0;background:var(--bg-elevated-2)}.row-fill[data-v-79c96fe0]{display:block;height:100%;min-width:2px;border-radius:0 4px 4px 0}.row-marker[data-v-79c96fe0]{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;border-radius:1px;background:var(--text-primary);box-shadow:0 0 0 1px var(--surface-container-lowest)}.row-amount[data-v-79c96fe0]{text-align:right;font-size:.88rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.row-delta[data-v-79c96fe0]{display:flex;justify-content:flex-end}.comparison-empty[data-v-79c96fe0]{margin:0;font-size:.85rem;color:var(--text-tertiary)}.comparison-more[data-v-79c96fe0]{display:block;margin:.6rem auto 0;padding:.3rem .8rem;border:1px solid var(--border);border-radius:var(--radius-full);background:transparent;color:var(--text-secondary);font-size:.78rem;cursor:pointer}.comparison-more[data-v-79c96fe0]:hover{color:var(--text-primary)}@media(max-width:640px){.comparison-row[data-v-79c96fe0]{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name amount" "bar delta";row-gap:.4rem}.row-name[data-v-79c96fe0]{grid-area:name}.row-bar[data-v-79c96fe0]{grid-area:bar}.row-amount[data-v-79c96fe0]{grid-area:amount}.row-delta[data-v-79c96fe0]{grid-area:delta}}.cumulative-chart[data-v-d3f988fa]{position:relative;width:100%}.chart-legend[data-v-d3f988fa]{display:flex;justify-content:flex-end;gap:.9rem;margin-bottom:.25rem;font-size:.74rem;color:var(--text-tertiary)}.legend-item[data-v-d3f988fa]{display:inline-flex;align-items:center;gap:.35rem}.legend-line[data-v-d3f988fa]{width:16px;height:0;border-top:2px solid}.legend-line.current[data-v-d3f988fa]{border-color:var(--flow-expense)}.legend-line.previous[data-v-d3f988fa]{border-color:var(--flow-previous)}.legend-line.projected[data-v-d3f988fa]{border-top-style:dashed;border-color:var(--flow-expense)}.chart-svg[data-v-d3f988fa]{display:block;touch-action:pan-y}.grid line[data-v-d3f988fa]{stroke:var(--border);stroke-width:1}.grid text[data-v-d3f988fa]{font-size:10px;fill:var(--text-tertiary);font-variant-numeric:tabular-nums}.line[data-v-d3f988fa]{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.line.current[data-v-d3f988fa]{stroke:var(--flow-expense)}.line.previous[data-v-d3f988fa]{stroke:var(--flow-previous)}.line.projected[data-v-d3f988fa]{stroke:var(--flow-expense);stroke-width:1.5;stroke-dasharray:4 4;opacity:.75}.end-dot[data-v-d3f988fa]{fill:var(--flow-expense);stroke:var(--surface-container-lowest);stroke-width:2}.end-label[data-v-d3f988fa]{font-size:11px;font-weight:700;fill:var(--text-primary)}.crosshair line[data-v-d3f988fa]{stroke:var(--text-tertiary);stroke-width:1}.hover-dot[data-v-d3f988fa]{stroke:var(--surface-container-lowest);stroke-width:2}.hover-dot.current[data-v-d3f988fa]{fill:var(--flow-expense)}.hover-dot.previous[data-v-d3f988fa]{fill:var(--flow-previous)}.chart-tooltip[data-v-d3f988fa]{position:absolute;top:1.4rem;width:176px;padding:.5rem .65rem;border-radius:var(--radius-md);background:var(--bg-elevated-3);border:1px solid var(--border-strong);box-shadow:var(--shadow-float);pointer-events:none;z-index:5}.tooltip-title[data-v-d3f988fa]{margin:0 0 .3rem;font-size:.74rem;color:var(--text-tertiary)}.tooltip-row[data-v-d3f988fa]{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem .4rem;margin:.1rem 0 0;font-size:.78rem;color:var(--text-secondary)}.tooltip-row strong[data-v-d3f988fa]{color:var(--text-primary);font-variant-numeric:tabular-nums}.tooltip-key[data-v-d3f988fa]{width:12px;height:0;border-top:2px solid}.tooltip-key.current[data-v-d3f988fa]{border-color:var(--flow-expense)}.tooltip-key.previous[data-v-d3f988fa]{border-color:var(--flow-previous)}.tooltip-diff[data-v-d3f988fa]{margin:.3rem 0 0;padding-top:.3rem;border-top:1px solid var(--border);font-size:.76rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.insight-list[data-v-fde602ca]{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.25rem}.insight-item[data-v-fde602ca]{display:flex;align-items:flex-start;gap:.6rem;min-width:0;padding:.55rem 0;border-bottom:1px solid var(--border)}.insight-icon[data-v-fde602ca]{flex-shrink:0;width:1.4rem;height:1.4rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;background:var(--bg-elevated-3);color:var(--text-secondary)}.tone-positive .insight-icon[data-v-fde602ca]{background:var(--accent-soft);color:var(--accent)}.tone-negative .insight-icon[data-v-fde602ca]{background:var(--danger-soft);color:var(--danger)}.insight-body[data-v-fde602ca]{min-width:0}.insight-message[data-v-fde602ca]{margin:0;font-size:.88rem;line-height:1.45;color:var(--text-primary);word-break:keep-all;overflow-wrap:anywhere}.insight-detail[data-v-fde602ca]{margin:.15rem 0 0;font-size:.76rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.insight-empty[data-v-fde602ca]{margin:0;font-size:.85rem;color:var(--text-tertiary)}@media(max-width:860px){.insight-list[data-v-fde602ca]{grid-template-columns:minmax(0,1fr)}}.recurring-total[data-v-14e62ef7]{display:flex;align-items:baseline;gap:.35rem;margin-bottom:.5rem;font-size:.82rem;color:var(--text-secondary)}.recurring-total strong[data-v-14e62ef7]{font-size:1.05rem;color:var(--text-primary)}.recurring-list[data-v-14e62ef7]{list-style:none;margin:0;padding:0}.recurring-row[data-v-14e62ef7]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .35rem;border:none;border-bottom:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.recurring-row[data-v-14e62ef7]:hover,.recurring-row[data-v-14e62ef7]:focus-visible{background:var(--bg-elevated-2);outline:none}.recurring-main[data-v-14e62ef7]{display:flex;flex-direction:column;gap:.12rem;min-width:0}.recurring-title[data-v-14e62ef7]{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recurring-dot[data-v-14e62ef7]{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.recurring-sub[data-v-14e62ef7]{font-size:.74rem;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recurring-side[data-v-14e62ef7]{display:flex;flex-direction:column;align-items:flex-end;gap:.05rem;flex-shrink:0}.recurring-side strong[data-v-14e62ef7]{font-size:.88rem;color:var(--text-primary);font-variant-numeric:tabular-nums}.recurring-side small[data-v-14e62ef7]{font-size:.72rem;color:var(--accent)}.recurring-side small.pending[data-v-14e62ef7]{color:var(--text-tertiary)}.recurring-empty[data-v-14e62ef7]{margin:0;font-size:.82rem;line-height:1.55;color:var(--text-tertiary)}.stat-tile[data-v-1fe7511f]{min-width:0;display:flex;flex-direction:column;gap:.3rem;padding:.95rem 1rem .9rem;border-radius:var(--radius-lg);background:var(--surface-container-lowest);box-shadow:var(--shadow-ambient)}.stat-label[data-v-1fe7511f]{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.stat-dot[data-v-1fe7511f]{width:.55rem;height:.55rem;border-radius:2px;flex-shrink:0}.stat-value[data-v-1fe7511f]{margin:0;font-size:1.45rem;font-weight:700;line-height:1.2;color:var(--text-primary);letter-spacing:-.01em;overflow-wrap:anywhere}.muted .stat-value[data-v-1fe7511f]{color:var(--text-tertiary)}.stat-delta-row[data-v-1fe7511f]{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;font-size:.76rem;color:var(--text-tertiary)}.stat-caption[data-v-1fe7511f]{margin:0;font-size:.76rem;color:var(--text-tertiary)}.stat-spark-wrap[data-v-1fe7511f]{position:relative;margin-top:.2rem}.stat-spark[data-v-1fe7511f]{display:block;width:100%;height:26px;overflow:visible}.stat-spark-dot[data-v-1fe7511f]{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;box-shadow:0 0 0 2px var(--surface-container-lowest);pointer-events:none}@media(max-width:720px){.stat-tile[data-v-1fe7511f]{padding:.8rem .85rem}.stat-value[data-v-1fe7511f]{font-size:1.2rem}}.rank-list[data-v-e00bf820]{list-style:none;margin:0;padding:0}.rank-row[data-v-e00bf820]{width:100%;display:grid;grid-template-columns:1.4rem minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.5rem .35rem;border:none;border-bottom:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.rank-row[data-v-e00bf820]:hover,.rank-row[data-v-e00bf820]:focus-visible{background:var(--bg-elevated-2);outline:none}.rank-index[data-v-e00bf820]{font-size:.8rem;font-weight:700;color:var(--text-tertiary);text-align:center}.rank-main[data-v-e00bf820]{display:flex;flex-direction:column;gap:.12rem;min-width:0}.rank-title[data-v-e00bf820]{font-size:.88rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-tag[data-v-e00bf820]{margin-left:.3rem;padding:.02rem .35rem;border-radius:var(--radius-full);background:var(--bg-elevated-3);font-size:.66rem;font-weight:600;color:var(--text-secondary);vertical-align:middle}.rank-sub[data-v-e00bf820]{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-dot[data-v-e00bf820]{width:.45rem;height:.45rem;border-radius:50%;flex-shrink:0}.rank-amount[data-v-e00bf820]{display:flex;flex-direction:column;align-items:flex-end;gap:.05rem}.rank-amount strong[data-v-e00bf820]{font-size:.88rem;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.rank-amount small[data-v-e00bf820]{font-size:.72rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.rank-empty[data-v-e00bf820]{margin:0;font-size:.85rem;line-height:1.5;color:var(--text-tertiary)}.weekday-bars[data-v-836080b9]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;align-items:end}.weekday-column[data-v-836080b9]{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.3rem 0 .35rem;border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;cursor:default}.weekday-column[data-v-836080b9]:hover,.weekday-column[data-v-836080b9]:focus-visible{background:var(--bg-elevated-2);outline:none}.weekday-bar-area[data-v-836080b9]{display:flex;align-items:flex-end;justify-content:center;width:100%;border-bottom:1px solid var(--border)}.weekday-bar[data-v-836080b9]{display:block;width:min(24px,70%);border-radius:4px 4px 0 0;background:var(--flow-expense-soft);box-shadow:inset 0 0 0 1px var(--flow-expense-soft)}.peak .weekday-bar[data-v-836080b9]{background:var(--flow-expense)}.weekday-label[data-v-836080b9]{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.weekend .weekday-label[data-v-836080b9]{color:var(--text-primary)}.weekday-value[data-v-836080b9]{font-size:.7rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.weekday-caption[data-v-836080b9]{min-height:1.2em;margin:.55rem 0 0;font-size:.76rem;color:var(--text-tertiary)}.weekday-empty[data-v-836080b9]{margin:0;font-size:.85rem;color:var(--text-tertiary)}.monthly-panel[data-v-3aab83fc]{display:flex;flex-direction:column;gap:1rem}.kpi-row[data-v-3aab83fc]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.grid-2[data-v-3aab83fc]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.grid-2.wide-left[data-v-3aab83fc]{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.empty-card[data-v-3aab83fc]{padding:2rem 1.25rem;border-radius:var(--radius-lg);background:var(--surface-container-lowest);box-shadow:var(--shadow-ambient);text-align:center}.empty-title[data-v-3aab83fc]{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.empty-text[data-v-3aab83fc]{margin:.4rem 0 0;font-size:.84rem;color:var(--text-tertiary)}@media(max-width:1100px){.kpi-row[data-v-3aab83fc]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.grid-2[data-v-3aab83fc],.grid-2.wide-left[data-v-3aab83fc]{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.kpi-row[data-v-3aab83fc]{gap:.6rem}}.annual-breakdown[data-v-1ccbf627]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:1rem}.share-list[data-v-1ccbf627]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.share-meta[data-v-1ccbf627]{display:flex;justify-content:space-between;gap:.5rem;font-size:.84rem}.share-name[data-v-1ccbf627]{display:inline-flex;align-items:center;gap:.35rem;min-width:0;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-dot[data-v-1ccbf627]{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.share-amount[data-v-1ccbf627]{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.share-track[data-v-1ccbf627]{height:6px;margin-top:.3rem;border-radius:0 3px 3px 0;background:var(--bg-elevated-2)}.share-fill[data-v-1ccbf627]{height:100%;min-width:2px;border-radius:0 3px 3px 0}.share-sub[data-v-1ccbf627]{margin:.25rem 0 0;font-size:.72rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.heatmap-scroll[data-v-1ccbf627]{overflow-x:auto}.heatmap-grid[data-v-1ccbf627]{display:grid;gap:3px;min-width:340px}.heat-month[data-v-1ccbf627]{padding:2px 0;border:none;border-radius:3px;background:transparent;color:var(--text-tertiary);font:inherit;font-size:.68rem;text-align:center;cursor:pointer}.heat-month[data-v-1ccbf627]:hover,.heat-month[data-v-1ccbf627]:focus-visible{color:var(--text-primary);background:var(--bg-elevated-2);outline:none}.heat-label[data-v-1ccbf627]{display:flex;align-items:center;gap:.25rem;min-width:0}.heat-icon[data-v-1ccbf627]{flex-shrink:0;font-size:.75rem}.heat-name[data-v-1ccbf627]{font-size:.72rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heat-cell[data-v-1ccbf627]{height:22px;padding:0;border:1px solid var(--border);border-radius:3px;cursor:pointer}.heat-cell[data-v-1ccbf627]:hover,.heat-cell[data-v-1ccbf627]:focus-visible,.heat-cell.active[data-v-1ccbf627]{outline:2px solid var(--text-primary);outline-offset:1px}.heat-readout[data-v-1ccbf627]{min-height:1.3em;margin:.6rem 0 0;font-size:.78rem;color:var(--text-tertiary)}.heat-readout strong[data-v-1ccbf627]{margin-right:.35rem;color:var(--text-primary)}.empty[data-v-1ccbf627]{margin:0;font-size:.85rem;color:var(--text-tertiary)}@media(max-width:980px){.annual-breakdown[data-v-1ccbf627]{grid-template-columns:minmax(0,1fr)}}.avg-grid[data-v-12e6c2c4]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;margin:0 0 .9rem}.avg-item dt[data-v-12e6c2c4]{display:flex;align-items:center;gap:.35rem;font-size:.74rem;color:var(--text-tertiary)}.avg-item dd[data-v-12e6c2c4]{margin:.15rem 0 0;font-size:1rem;font-weight:700;color:var(--text-primary)}.key[data-v-12e6c2c4]{width:8px;height:8px;border-radius:2px;flex-shrink:0}.metric[data-v-12e6c2c4]{padding-top:.75rem;margin-top:.75rem;border-top:1px solid var(--border)}.metric-head[data-v-12e6c2c4]{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-size:.8rem;color:var(--text-secondary)}.metric-head strong[data-v-12e6c2c4]{font-size:.98rem;color:var(--text-primary);white-space:nowrap}.metric-head strong.negative[data-v-12e6c2c4]{color:var(--danger)}.meter[data-v-12e6c2c4]{position:relative;height:8px;margin-top:.5rem;border-radius:0 4px 4px 0;background:var(--flow-saving-soft)}.meter-fill[data-v-12e6c2c4]{height:100%;border-radius:0 4px 4px 0;background:var(--flow-saving)}.meter-ref[data-v-12e6c2c4]{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;border-radius:1px;background:var(--text-primary)}.metric-note[data-v-12e6c2c4]{margin:.4rem 0 0;font-size:.74rem;line-height:1.5;color:var(--text-tertiary)}.month-table-wrap[data-v-f05bc8bf]{overflow-x:auto}.month-table[data-v-f05bc8bf]{width:100%;min-width:640px;border-collapse:collapse;font-size:.84rem}.month-table th[data-v-f05bc8bf],.month-table td[data-v-f05bc8bf]{padding:.5rem .55rem;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.month-table thead th[data-v-f05bc8bf]{font-size:.74rem;font-weight:600;color:var(--text-tertiary)}.month-table tbody th[data-v-f05bc8bf]{font-weight:600;color:var(--text-primary)}.month-table tbody tr[data-v-f05bc8bf]{cursor:pointer;transition:background-color .15s ease}.month-table tbody tr[data-v-f05bc8bf]:hover,.month-table tbody tr[data-v-f05bc8bf]:focus-visible{background:var(--bg-elevated-2);outline:none}.month-table tbody tr.empty th[data-v-f05bc8bf],.month-table tbody tr.empty td[data-v-f05bc8bf]{color:var(--text-tertiary)}.num[data-v-f05bc8bf]{text-align:right!important;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.num.strong[data-v-f05bc8bf]{color:var(--text-primary);font-weight:600}.num.negative[data-v-f05bc8bf]{color:var(--danger)}.muted[data-v-f05bc8bf]{color:var(--text-tertiary)}.key[data-v-f05bc8bf]{display:inline-block;width:8px;height:8px;margin-right:.3rem;border-radius:2px}.partial-tag[data-v-f05bc8bf]{margin-left:.3rem;padding:.05rem .35rem;border-radius:var(--radius-full);background:var(--bg-elevated-3);font-size:.66rem;font-weight:600;color:var(--text-secondary)}.month-table tfoot th[data-v-f05bc8bf],.month-table tfoot td[data-v-f05bc8bf]{border-bottom:none;border-top:1px solid var(--border-strong);font-weight:700;color:var(--text-primary)}.yearly-panel[data-v-6d17b3ea]{display:flex;flex-direction:column;gap:1rem}.kpi-row[data-v-6d17b3ea]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.grid-2[data-v-6d17b3ea]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.table-gap[data-v-6d17b3ea]{height:1rem}.empty-card[data-v-6d17b3ea]{padding:2rem 1.25rem;border-radius:var(--radius-lg);background:var(--surface-container-lowest);box-shadow:var(--shadow-ambient);text-align:center}.empty-title[data-v-6d17b3ea]{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.empty-text[data-v-6d17b3ea]{margin:.4rem 0 0;font-size:.84rem;color:var(--text-tertiary)}@media(max-width:1100px){.kpi-row[data-v-6d17b3ea]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.grid-2[data-v-6d17b3ea]{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.kpi-row[data-v-6d17b3ea]{gap:.6rem}}.stats-view[data-v-a4ed2d58]{width:100%;max-width:1240px;padding:0 2rem 2.5rem}.stats-header[data-v-a4ed2d58]{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:.9rem 1.25rem;margin-bottom:1rem}.stats-title h1[data-v-a4ed2d58]{margin:0;font-size:1.5rem;font-weight:800;color:var(--on-surface);font-family:Space Grotesk,sans-serif;letter-spacing:-.01em}.stats-description[data-v-a4ed2d58]{margin:.2rem 0 0;font-size:.84rem;color:var(--text-tertiary)}.stats-controls[data-v-a4ed2d58]{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.period-nav[data-v-a4ed2d58]{display:flex;align-items:center;gap:.35rem}.month-input[data-v-a4ed2d58]{border:none;border-radius:.55rem;background:var(--bg-elevated-2);color:var(--on-surface);padding:.38rem .52rem;font-size:.84rem;min-height:2.25rem;outline:1px solid var(--border);color-scheme:dark}.kind-notice[data-v-a4ed2d58]{margin-bottom:1rem}.state-message[data-v-a4ed2d58]{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:0 0 1rem;padding:1rem;border-radius:var(--radius-lg);background:var(--surface-container-lowest);color:var(--text-secondary);box-shadow:var(--shadow-ambient);font-size:.88rem}.state-message.error[data-v-a4ed2d58]{color:var(--danger)}.stats-body[data-v-a4ed2d58]{transition:opacity .2s ease}.stats-body.refreshing[data-v-a4ed2d58]{opacity:.55;pointer-events:none}@media(max-width:720px){.stats-view[data-v-a4ed2d58]{padding:0 1rem 2rem}.stats-controls[data-v-a4ed2d58]{width:100%}}.color-picker[data-v-14c21586]{display:flex;gap:.45rem;flex-wrap:wrap}.color-picker.is-cell[data-v-14c21586]{align-items:center}.color-picker.is-modal[data-v-14c21586]{flex-direction:column}.color-picker-main[data-v-14c21586]{display:inline-flex;align-items:center;gap:.5rem}.color-picker-label[data-v-14c21586]{color:var(--on-surface-variant);font-size:.82rem;font-weight:600}.current-color-preview-button[data-v-14c21586]{width:1.85rem;height:1.85rem;border:1px solid var(--border);border-radius:.5rem;box-sizing:border-box;cursor:pointer;background:var(--surface-container-lowest)}.native-color-input[data-v-14c21586]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.preset-color-row[data-v-14c21586]{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.preset-color-button[data-v-14c21586]{width:1rem;height:1rem;border:1px solid var(--border);border-radius:999px;box-sizing:border-box;cursor:pointer}.preset-color-button[data-v-14c21586]:disabled,.current-color-preview-button[data-v-14c21586]:disabled{cursor:not-allowed;opacity:.45}.create-form[data-v-ee5f569e]{display:flex;flex-direction:column;gap:.6rem;padding:.25rem 0}.hint[data-v-ee5f569e]{margin:0;color:var(--on-surface-variant);font-size:.78rem}.error[data-v-ee5f569e]{margin:0;color:var(--secondary);font-size:.82rem}.settings-section[data-v-ff85a594]{border-radius:.9rem;background:var(--surface-container-lowest);padding:1rem;margin-top:1rem;box-shadow:var(--shadow-ambient)}.section-header[data-v-ff85a594]{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}.section-header h3[data-v-ff85a594]{margin:0;color:var(--on-surface);font-size:1rem;font-weight:700;font-family:Space Grotesk,sans-serif}.section-description[data-v-ff85a594]{margin:.2rem 0 0;color:var(--on-surface-variant);font-size:.84rem}.table-wrap[data-v-ff85a594]{overflow-x:auto}.settings-table[data-v-ff85a594]{width:100%;border-collapse:collapse;min-width:680px}.settings-table[data-v-ff85a594] th,.settings-table[data-v-ff85a594] td{border-bottom:1px solid var(--border);padding:.55rem .45rem;text-align:left;vertical-align:middle}.settings-table[data-v-ff85a594] th{color:var(--on-surface-variant);font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:var(--surface-container-low)}.drag-col[data-v-ff85a594]{width:48px;text-align:center}.action-col[data-v-ff85a594]{width:72px;text-align:center}.row-actions[data-v-ff85a594]{display:flex;align-items:center;justify-content:center;gap:.2rem}.settings-table tbody tr[data-v-ff85a594]{transition:background .12s}.settings-table tbody tr[data-v-ff85a594]:hover{background:#f0f2f408}.drag-handle[data-v-ff85a594]{border:1px solid var(--border);border-radius:.45rem;background:var(--surface-container-lowest);color:var(--on-surface-variant);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:grab;padding:0;opacity:0;transition:opacity .12s}.settings-table tbody tr:hover .drag-handle[data-v-ff85a594],.settings-table tbody tr:focus-within .drag-handle[data-v-ff85a594]{opacity:1}.drag-handle[data-v-ff85a594]:active{cursor:grabbing}.drag-handle[data-v-ff85a594]:disabled{opacity:.3!important;cursor:not-allowed}.drag-handle svg[data-v-ff85a594]{width:14px;height:14px;fill:currentColor}.edit-btn[data-v-ff85a594]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:.45rem;background:transparent;color:var(--on-surface-variant);cursor:pointer;padding:0;opacity:0;transition:opacity .12s,background .12s}.settings-table tbody tr:hover .edit-btn[data-v-ff85a594],.settings-table tbody tr:focus-within .edit-btn[data-v-ff85a594]{opacity:.45}.edit-btn[data-v-ff85a594]:hover{opacity:1!important;background:var(--surface-container-low)}.edit-btn[data-v-ff85a594]:disabled{opacity:.15!important;cursor:not-allowed}.edit-btn svg[data-v-ff85a594]{width:15px;height:15px;stroke-width:1.75}.delete-btn[data-v-ff85a594]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:.45rem;background:transparent;color:var(--secondary);cursor:pointer;padding:0;opacity:0;transition:opacity .12s,background .12s}.settings-table tbody tr:hover .delete-btn[data-v-ff85a594],.settings-table tbody tr:focus-within .delete-btn[data-v-ff85a594]{opacity:.38}.delete-btn[data-v-ff85a594]:hover{opacity:1!important;background:var(--danger-soft)}.delete-btn[data-v-ff85a594]:disabled{opacity:.15!important;cursor:not-allowed}.delete-btn svg[data-v-ff85a594]{width:17px;height:17px;stroke-width:1.75}.drag-over-row[data-v-ff85a594]{background:var(--primary-container)!important}.move-buttons[data-v-ff85a594]{display:none;flex-direction:column;align-items:center;gap:.15rem}.move-btn[data-v-ff85a594]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:26px;border:1px solid var(--border);border-radius:.45rem;background:var(--surface-container-lowest);color:var(--on-surface-variant);padding:0;cursor:pointer}.move-btn[data-v-ff85a594]:disabled{opacity:.3;cursor:not-allowed}.move-btn svg[data-v-ff85a594]{width:14px;height:14px}.empty-cell[data-v-ff85a594]{text-align:center;color:var(--on-surface-variant);font-size:.84rem;padding:1rem}.global-error[data-v-ff85a594]{margin:.35rem 0 0;color:var(--secondary);font-size:.76rem}@media(max-width:980px){.section-header[data-v-ff85a594]{align-items:stretch;flex-direction:column}}@media(max-width:720px){.settings-table[data-v-ff85a594]{min-width:0}.settings-table[data-v-ff85a594] th,.settings-table[data-v-ff85a594] td{padding:.55rem .3rem}.drag-col[data-v-ff85a594]{width:40px}.action-col[data-v-ff85a594]{width:68px}.drag-handle[data-v-ff85a594]{touch-action:none;opacity:.4;cursor:not-allowed}.edit-btn[data-v-ff85a594],.delete-btn[data-v-ff85a594]{opacity:.38}}@media(hover:none){.edit-btn[data-v-ff85a594],.delete-btn[data-v-ff85a594]{opacity:.7;width:32px;height:32px}.drag-handle[data-v-ff85a594]{display:none}.move-buttons[data-v-ff85a594]{display:flex}}.cell-text[data-v-e61d648f]{color:var(--on-surface);font-size:.875rem;white-space:nowrap}.cell-text--icon[data-v-e61d648f]{font-size:1rem}.kind-badge[data-v-e61d648f]{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.kind-dot[data-v-e61d648f]{width:.55rem;height:.55rem;border-radius:50%;flex-shrink:0}.kind-field[data-v-e61d648f]{display:flex;flex-direction:column;gap:.35rem}.kind-field-label[data-v-e61d648f]{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.kind-field-hint[data-v-e61d648f]{margin:0;font-size:.76rem;color:var(--text-tertiary)}.kind-field-warning[data-v-e61d648f]{color:var(--danger)}.color-swatch[data-v-e61d648f]{display:inline-block;width:1.4rem;height:1.4rem;border-radius:.35rem;border:1px solid var(--border);vertical-align:middle}.cell-text[data-v-e79e4ee3]{color:var(--on-surface);font-size:.875rem;white-space:nowrap}.color-swatch[data-v-e79e4ee3]{display:inline-block;width:1.4rem;height:1.4rem;border-radius:.35rem;border:1px solid var(--border);vertical-align:middle}.settings-view[data-v-87226556]{min-height:100vh;padding:2rem}.settings-header[data-v-87226556]{margin-bottom:.9rem}.settings-header h1[data-v-87226556]{margin:0;color:var(--on-surface);font-size:1.45rem;font-weight:800;font-family:Space Grotesk,sans-serif;letter-spacing:-.01em}.state-message[data-v-87226556]{border-radius:.75rem;background:var(--surface-container-lowest);color:var(--on-surface-variant);padding:1rem;box-shadow:var(--shadow-ambient)}.state-message.error[data-v-87226556]{color:var(--secondary)}@media(max-width:720px){.settings-view[data-v-87226556]{padding:1rem}.settings-header h1[data-v-87226556]{font-size:1.2rem}}.app-navbar[data-v-4ec0eeeb]{width:260px;min-width:260px;height:100vh;height:100dvh;position:sticky;top:0;display:flex;flex-direction:column;padding:1.5rem 1rem;background:var(--bg);border-right:1px solid var(--border)}.brand[data-v-4ec0eeeb]{display:flex;align-items:center;gap:.65rem;padding:.4rem .6rem 1rem}.brand h1[data-v-4ec0eeeb]{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:.02em;color:var(--on-surface);font-family:Space Grotesk,sans-serif}.brand-icon[data-v-4ec0eeeb]{width:26px;height:26px;object-fit:contain;flex-shrink:0}.nav-links[data-v-4ec0eeeb]{display:flex;flex-direction:column;gap:.25rem}.nav-link[data-v-4ec0eeeb]{display:flex;align-items:center;width:100%;text-decoration:none;color:var(--on-surface-variant);font-size:1rem;font-weight:600;letter-spacing:.02em;padding:.55rem .65rem;border-radius:.5rem;box-sizing:border-box;transition:background-color .15s ease,color .15s ease}.nav-link[data-v-4ec0eeeb]:hover{background-color:var(--primary-container);color:var(--primary)}.nav-link-active[data-v-4ec0eeeb]{background-color:var(--primary-container);color:var(--on-primary-container)}.navbar-footer[data-v-4ec0eeeb]{margin-top:auto;border-top:1px solid var(--border);padding:1rem .6rem .2rem}.user-meta[data-v-4ec0eeeb]{margin-bottom:.8rem}.user-name[data-v-4ec0eeeb]{margin:0;color:var(--on-surface);font-size:.9rem;font-weight:700}.user-email[data-v-4ec0eeeb]{margin:.2rem 0 0;color:var(--on-surface-variant);font-size:.78rem;word-break:break-all}.drawer-close-button[data-v-4ec0eeeb]{display:none;margin-left:auto;padding:.35rem;border:none;background:none;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);line-height:0;flex-shrink:0}.drawer-close-button[data-v-4ec0eeeb]:hover{background-color:var(--bg-elevated-3);color:var(--text-primary)}@media(max-width:960px){.drawer-close-button[data-v-4ec0eeeb]{display:flex;align-items:center;justify-content:center}}.main-layout[data-v-320f4c09]{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.main-content[data-v-320f4c09]{min-width:0;min-height:100vh;background-color:var(--bg);display:flex;flex-direction:column}.mobile-top-bar[data-v-320f4c09],.drawer-backdrop[data-v-320f4c09]{display:none}@media(max-width:960px){.main-layout[data-v-320f4c09]{grid-template-columns:1fr}[data-v-320f4c09] .app-navbar{position:fixed;left:0;top:0;height:100vh;height:100dvh;z-index:500;transform:translate(-100%);transition:transform .28s ease;box-shadow:none}[data-v-320f4c09] .app-navbar.drawer-open{transform:translate(0);box-shadow:var(--shadow-float)}.drawer-backdrop[data-v-320f4c09]{display:block;position:fixed;inset:0;z-index:490;background:#00000059}.mobile-top-bar[data-v-320f4c09]{display:flex;align-items:center;position:sticky;top:0;z-index:400;height:52px;background:var(--surface-container-high);padding:0 1rem;gap:.75rem;flex-shrink:0}.hamburger-button[data-v-320f4c09]{width:40px!important;height:40px!important;padding:0!important;color:var(--on-surface-variant)!important;flex-shrink:0}.mobile-page-title[data-v-320f4c09]{font-size:.95rem;font-weight:700;color:var(--on-surface);flex:1;text-align:center}.mobile-top-bar-spacer[data-v-320f4c09]{width:40px;flex-shrink:0}}.phrases-layout[data-v-b9b3764f]{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}.phrases-layout-header[data-v-b9b3764f]{flex-shrink:0;padding:2rem 2rem 0;margin-bottom:.75rem}.phrases-layout-title[data-v-b9b3764f]{display:flex;align-items:baseline;gap:1.5rem}.phrases-layout-title h1[data-v-b9b3764f]{margin:0;font-size:1.5rem;font-weight:800;color:var(--on-surface);flex-shrink:0;font-family:Space Grotesk,sans-serif;letter-spacing:-.01em}.phrases-tabs[data-v-b9b3764f]{display:flex;gap:1.25rem}.phrases-tab[data-v-b9b3764f]{text-decoration:none;color:var(--on-surface-variant);font-size:.95rem;font-weight:500;padding:.2rem 0;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.phrases-tab[data-v-b9b3764f]:hover{color:var(--on-surface)}.phrases-tab.router-link-active[data-v-b9b3764f]{color:var(--on-surface);font-weight:600;border-bottom-color:var(--primary)}.phrases-layout-content[data-v-b9b3764f]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}@media(max-width:960px){.phrases-layout[data-v-b9b3764f]{height:auto;min-height:100dvh;overflow:visible}.phrases-layout-content[data-v-b9b3764f]{flex:none;overflow-y:visible}}@media(max-width:720px){.phrases-layout-header[data-v-b9b3764f]{padding:1rem 1rem 0}}.tab-content[data-v-a0ccf0ad]{flex:1;min-height:0;overflow-y:auto;padding:0 2rem 2rem;display:flex;justify-content:center}.form-card[data-v-a0ccf0ad]{width:100%;max-width:620px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem}.field[data-v-a0ccf0ad]{margin-bottom:1.4rem}.field-label[data-v-a0ccf0ad]{display:block;font-size:.72rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.form-textarea[data-v-a0ccf0ad] textarea{background:var(--bg-elevated-2);border-color:var(--border-strong);color:var(--text-primary);font-family:inherit}.translate-row[data-v-a0ccf0ad]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.translate-row .field-label[data-v-a0ccf0ad]{margin-bottom:0}.ai-btn[data-v-a0ccf0ad]{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border:none;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:700;cursor:pointer}.ai-btn svg[data-v-a0ccf0ad]{width:13px;height:13px}.ai-btn[data-v-a0ccf0ad]:disabled{opacity:.5;cursor:not-allowed}.hint[data-v-a0ccf0ad]{text-align:center;font-size:.75rem;color:var(--text-tertiary);margin:.75rem 0 0}@media(hover:none)and (pointer:coarse){.hint[data-v-a0ccf0ad],.shortcut-label[data-v-a0ccf0ad]{display:none}}@media(max-width:960px){.tab-content[data-v-a0ccf0ad]{flex:none;min-height:auto;overflow-y:visible}}@media(max-width:720px){.tab-content[data-v-a0ccf0ad]{padding:0 1rem 1rem}}.tab-content[data-v-40349c54]{flex:1;min-height:0;overflow-y:auto;padding:0 2rem 2rem;display:flex;justify-content:center}.inner[data-v-40349c54]{width:100%;max-width:720px}.search-row[data-v-40349c54]{display:flex;gap:.5rem;margin-bottom:1.25rem}.search-input[data-v-40349c54]{flex:1}.search-input[data-v-40349c54] .ant-input-affix-wrapper,.search-input[data-v-40349c54] .ant-input{border-radius:var(--radius-full)}.state-message[data-v-40349c54]{text-align:center;color:var(--text-secondary);padding:3rem 0;font-size:.9rem}.phrase-list[data-v-40349c54]{display:flex;flex-direction:column;gap:.75rem}.phrase-card[data-v-40349c54]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.phrase-text[data-v-40349c54]{min-width:0}.kor[data-v-40349c54]{font-size:.98rem;font-weight:700;color:var(--text-primary);margin:0 0 .3rem}.eng[data-v-40349c54]{font-size:.85rem;color:var(--text-secondary);margin:0}.card-actions[data-v-40349c54]{display:flex;gap:.5rem;flex-shrink:0}.edit-input[data-v-40349c54]{width:100%;margin-bottom:.5rem}.pill-btn[data-v-40349c54]{padding:.44rem .95rem;border:none;border-radius:var(--radius-full);font-size:.78rem;font-weight:700;cursor:pointer}.pill-secondary[data-v-40349c54]{background:var(--bg-elevated-3);color:var(--text-secondary)}.pill-danger[data-v-40349c54]{background:var(--danger-soft);color:var(--danger)}@media(max-width:960px){.tab-content[data-v-40349c54]{flex:none;min-height:auto;overflow-y:visible}}@media(max-width:720px){.tab-content[data-v-40349c54]{padding:0 1rem 1rem}.phrase-card[data-v-40349c54]{flex-direction:column;align-items:stretch}}.tab-content[data-v-cbdadeee]{flex:1;min-height:0;overflow-y:auto;padding:0 2rem 2rem;display:flex;justify-content:center}.inner[data-v-cbdadeee]{width:100%;max-width:620px}.state-message[data-v-cbdadeee]{text-align:center;color:var(--text-secondary);padding:3rem 0;font-size:.9rem}.quiz-card[data-v-cbdadeee]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2rem;display:flex;flex-direction:column;gap:1.1rem}.quiz-label[data-v-cbdadeee]{font-size:.8rem;color:var(--text-tertiary);margin:0}.quiz-korean[data-v-cbdadeee]{font-family:Space Grotesk,Noto Sans KR,sans-serif;font-size:1.4rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.4}.quiz-answer-box[data-v-cbdadeee]{min-height:3.8rem;background:var(--bg-elevated-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:1rem 1.1rem;display:flex;align-items:center}.quiz-answer-box.revealed[data-v-cbdadeee]{background:var(--accent-soft);border-color:transparent}.quiz-answer-text[data-v-cbdadeee]{font-size:1.05rem;font-weight:700;color:var(--accent);margin:0}.quiz-answer-hidden[data-v-cbdadeee]{font-size:1rem;color:var(--text-tertiary);letter-spacing:.3em;margin:0}.quiz-actions[data-v-cbdadeee]{margin-top:.25rem}@media(max-width:960px){.tab-content[data-v-cbdadeee]{flex:none;min-height:auto;overflow-y:visible}}@media(max-width:720px){.tab-content[data-v-cbdadeee]{padding:0 1rem 1rem}}
