.login-view[data-v-4455aaba]{display:flex;justify-content:center;padding-top:var(--space-6)}.login-card[data-v-4455aaba]{width:100%;max-width:360px}.login-card form[data-v-4455aaba]{display:flex;flex-direction:column;gap:var(--space-3)}.login-card input[data-v-4455aaba]{width:100%}.chart[data-v-f0fbff26]{display:flex;flex-direction:column;gap:var(--space-2)}.current-value[data-v-f0fbff26]{font-size:20px;font-weight:700}.svg[data-v-f0fbff26]{width:100%;height:140px;overflow:visible}.zero-line[data-v-f0fbff26]{stroke:var(--color-border);stroke-width:1;stroke-dasharray:4}.line[data-v-f0fbff26]{fill:none;stroke:var(--color-primary);stroke-width:2}.point[data-v-f0fbff26]{fill:var(--color-primary)}.labels[data-v-f0fbff26]{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-muted)}.chart[data-v-f44f8b0d]{display:flex;flex-direction:column;gap:var(--space-2)}.bars[data-v-f44f8b0d]{display:flex;align-items:flex-end;gap:var(--space-3);height:160px}.month-col[data-v-f44f8b0d]{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);height:100%;justify-content:flex-end}.bar-pair[data-v-f44f8b0d]{display:flex;align-items:flex-end;gap:3px;height:140px;width:100%;justify-content:center}.bar[data-v-f44f8b0d]{width:14px;border-radius:2px 2px 0 0;min-height:2px}.bar.income[data-v-f44f8b0d]{background:var(--color-income)}.bar.expense[data-v-f44f8b0d]{background:var(--color-expense)}.month-label[data-v-f44f8b0d]{font-size:11px;color:var(--color-text-muted)}.legend[data-v-f44f8b0d]{display:flex;gap:var(--space-4);font-size:11px;color:var(--color-text-muted);justify-content:center}.dot[data-v-f44f8b0d]{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.dot.income[data-v-f44f8b0d]{background:var(--color-income)}.dot.expense[data-v-f44f8b0d]{background:var(--color-expense)}.budget-breakdown[data-v-2cd0e2f4]{display:flex;flex-direction:column;gap:var(--space-3)}.picker-row[data-v-2cd0e2f4]{display:flex;gap:var(--space-2);align-items:center}.income-row[data-v-2cd0e2f4]{display:flex;align-items:center;gap:var(--space-2);font-size:13px}.income-row input[data-v-2cd0e2f4]{width:120px}.body[data-v-2cd0e2f4]{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.pie-panel[data-v-2cd0e2f4]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex-shrink:0}.pie-svg[data-v-2cd0e2f4]{width:140px;height:140px}.overspent[data-v-2cd0e2f4]{margin:0;font-weight:600;font-size:13px}.legend[data-v-2cd0e2f4]{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:220px}.legend-row[data-v-2cd0e2f4]{display:flex;align-items:center;gap:var(--space-2);font-size:13px}.leftover-row[data-v-2cd0e2f4]{border-top:1px solid var(--color-border);padding-top:var(--space-2)}.legend-name[data-v-2cd0e2f4]{flex:1;min-width:0;display:flex;align-items:flex-end;overflow:hidden;white-space:nowrap}.legend-name[data-v-2cd0e2f4]:after{content:"";flex:1;min-width:var(--space-3);margin:0 var(--space-2);border-bottom:1px dotted var(--color-border);transform:translateY(-4px)}.legend-value[data-v-2cd0e2f4]{color:var(--color-text-muted);white-space:nowrap;min-width:90px;text-align:right}.status[data-v-2cd0e2f4]{font-weight:600;min-width:70px;text-align:right;white-space:nowrap;margin-left:var(--space-5)}.dot[data-v-2cd0e2f4]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dashboard-view[data-v-79a87c0a]{display:flex;flex-direction:column;gap:var(--space-4)}.list-header[data-v-79a87c0a]{display:flex;align-items:center;justify-content:space-between}.net-worth[data-v-79a87c0a]{font-size:14px}.account-row[data-v-79a87c0a]{display:flex;gap:var(--space-3);flex-wrap:wrap}.account-card[data-v-79a87c0a]{background:var(--color-surface-raised);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-width:140px}.two-col[data-v-79a87c0a]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:640px){.two-col[data-v-79a87c0a]{grid-template-columns:1fr}}.clickable[data-v-79a87c0a]{cursor:pointer}.clickable[data-v-79a87c0a]:hover{border-color:var(--color-primary)}.uncategorized-count[data-v-79a87c0a]{font-size:32px;font-weight:700}.badge[data-v-c94022b1]{display:inline-flex;align-items:center;gap:6px;font-size:13px}.dot[data-v-c94022b1]{width:8px;height:8px;border-radius:50%;background:var(--badge-color);flex-shrink:0}.overlay[data-v-bf5aff3b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-bf5aff3b]{width:380px;max-width:calc(100vw - 32px);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}.modal h2[data-v-bf5aff3b]{margin:0 0 var(--space-2)}.field-row[data-v-bf5aff3b]{display:flex;gap:var(--space-4)}.nature-row[data-v-bf5aff3b]{display:flex;gap:var(--space-4);font-size:13px}.selected-purchase[data-v-bf5aff3b]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:13px;background:var(--color-surface-raised);border-radius:var(--radius-sm);padding:var(--space-2)}.refund-candidates[data-v-bf5aff3b]{list-style:none;margin:var(--space-1) 0 0;padding:0;max-height:150px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.refund-candidates li[data-v-bf5aff3b]{padding:var(--space-2);font-size:13px;cursor:pointer;border-bottom:1px solid var(--color-border)}.refund-candidates li[data-v-bf5aff3b]:last-child{border-bottom:none}.refund-candidates li[data-v-bf5aff3b]:hover{background:var(--color-surface-raised)}.field[data-v-bf5aff3b]{display:flex;flex-direction:column;gap:var(--space-1)}.field input[data-v-bf5aff3b],.field select[data-v-bf5aff3b],.field textarea[data-v-bf5aff3b]{width:100%}.actions[data-v-bf5aff3b]{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.chart[data-v-e6ca4002]{display:flex;flex-direction:column;gap:var(--space-3)}.row[data-v-e6ca4002]{display:grid;grid-template-columns:140px 1fr 140px;align-items:center;gap:var(--space-3)}@media(max-width:640px){.row[data-v-e6ca4002]{grid-template-columns:1fr auto;grid-template-areas:"label amounts" "track track";row-gap:var(--space-1)}.row-label[data-v-e6ca4002]{grid-area:label}.track[data-v-e6ca4002]{grid-area:track}.row-amounts[data-v-e6ca4002]{grid-area:amounts}}.row-label[data-v-e6ca4002]{display:flex;align-items:center;gap:6px;font-size:13px}.dot[data-v-e6ca4002]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.track[data-v-e6ca4002]{position:relative;height:14px;background:var(--color-surface-raised);border-radius:var(--radius-sm);overflow:visible}.fill[data-v-e6ca4002]{height:100%;border-radius:var(--radius-sm);transition:width .2s ease}.fill.over[data-v-e6ca4002]{background:var(--color-expense)!important}.budget-marker[data-v-e6ca4002]{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--color-text)}.row-amounts[data-v-e6ca4002]{font-size:13px;text-align:right;white-space:nowrap}.monthly-view[data-v-5608f9a1]{display:flex;flex-direction:column;gap:var(--space-4)}.month-nav[data-v-5608f9a1]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.account-filter[data-v-5608f9a1]{margin-left:auto}.month-label[data-v-5608f9a1]{font-weight:600}.summary-cards[data-v-5608f9a1]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media(max-width:640px){.summary-cards[data-v-5608f9a1]{grid-template-columns:1fr}}.summary-card .amount[data-v-5608f9a1]{font-size:22px;font-weight:700;margin-top:var(--space-1)}.budget-grid[data-v-5608f9a1]{display:grid;grid-template-columns:200px 120px;gap:var(--space-3) var(--space-4);align-items:center}@media(max-width:640px){.budget-grid[data-v-5608f9a1]{grid-template-columns:minmax(0,1fr) 90px}}.budget-grid input[data-v-5608f9a1]{width:100%}.list-header[data-v-5608f9a1]{display:flex;align-items:center;justify-content:space-between}.row-actions[data-v-5608f9a1]{display:flex;gap:var(--space-2);white-space:nowrap}.imported-tag[data-v-5608f9a1]{font-size:11px}.filter-row th[data-v-5608f9a1]{padding-top:0;padding-bottom:var(--space-2)}.filter-row input[data-v-5608f9a1]{width:100%;font-size:12px;padding:var(--space-1) var(--space-2);text-transform:none;font-weight:400}.import-view[data-v-1ed655d0]{display:flex;flex-direction:column;gap:var(--space-4)}.file-input[data-v-1ed655d0]{max-width:100%}.mapping-grid[data-v-1ed655d0]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}@media(max-width:640px){.mapping-grid[data-v-1ed655d0]{grid-template-columns:1fr}}.field[data-v-1ed655d0]{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;text-transform:capitalize;font-size:13px}.field select[data-v-1ed655d0],.field input[data-v-1ed655d0]{width:100%;min-width:0}.checkbox-field[data-v-1ed655d0]{flex-direction:row;align-items:center;gap:var(--space-2);text-transform:none}.list-header[data-v-1ed655d0]{display:flex;align-items:center;justify-content:space-between}.actions[data-v-1ed655d0]{display:flex;gap:var(--space-2)}.excluded[data-v-1ed655d0]{opacity:.4}.original-desc[data-v-1ed655d0]{color:var(--color-text-muted);font-size:12px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transfer-toggle[data-v-1ed655d0]{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--color-text-muted);white-space:nowrap;margin-bottom:2px}.dup-tag[data-v-1ed655d0]{display:inline-block;margin-left:var(--space-2);padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-warning);font-size:11px;white-space:nowrap}.add-form[data-v-e6fbc635]{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.add-form input[type=text][data-v-e6fbc635]{flex:1;min-width:160px}.accounts-view[data-v-8c71a26e]{display:flex;flex-direction:column;gap:var(--space-4)}.add-form[data-v-8c71a26e]{display:flex;gap:var(--space-2);align-items:flex-end;flex-wrap:wrap}.add-form input[type=text][data-v-8c71a26e]{flex:1;min-width:160px}.balance-field[data-v-8c71a26e]{display:flex;flex-direction:column;gap:var(--space-1);font-size:13px}.list-header[data-v-8c71a26e]{display:flex;align-items:center;justify-content:space-between}.net-worth[data-v-8c71a26e]{font-size:14px}.row-actions[data-v-8c71a26e]{display:flex;gap:var(--space-2);white-space:nowrap}.rules-view[data-v-23a31328]{display:flex;flex-direction:column;gap:var(--space-4)}.mode-row[data-v-23a31328]{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-3);font-size:13px}.search-row[data-v-23a31328]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.search-row input[data-v-23a31328]{flex:1;min-width:140px}.results[data-v-23a31328]{margin-top:var(--space-3);max-height:400px;overflow-y:auto}.scroll-table[data-v-23a31328]{max-height:400px;overflow-y:auto}.clickable-row[data-v-23a31328]{cursor:pointer}.clickable-row[data-v-23a31328]:hover{background:var(--color-surface-raised)}.row-actions[data-v-23a31328]{display:flex;gap:var(--space-2);white-space:nowrap}.app-loading[data-v-6378a1f0]{display:flex;justify-content:center;padding-top:var(--space-6);color:var(--color-text-muted)}.app-shell[data-v-6378a1f0]{max-width:1100px;margin:0 auto;padding:var(--space-5)}.app-header[data-v-6378a1f0]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-primary)}.brand[data-v-6378a1f0]{display:flex;align-items:center;gap:var(--space-2)}.brand-mark[data-v-6378a1f0]{width:40px;height:auto}.app-header h1[data-v-6378a1f0]{font-size:27px;margin:0;color:var(--color-text);font-weight:800;letter-spacing:.02em}.app-nav[data-v-6378a1f0]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.nav-toggle[data-v-6378a1f0]{display:none;font-size:18px;line-height:1;padding:var(--space-2) var(--space-3)}@media(max-width:860px){.nav-toggle[data-v-6378a1f0]{display:inline-flex}.app-nav[data-v-6378a1f0]{display:none;flex-basis:100%;flex-direction:column;margin-top:var(--space-3)}.app-nav.open[data-v-6378a1f0]{display:flex}.app-nav button[data-v-6378a1f0]{width:100%}}:root{--color-bg: #101311;--color-surface: #161a19;--color-surface-raised: #202524;--color-border: #333a38;--color-text: #efe9d8;--color-text-muted: #a8a498;--color-primary: #1e6b4c;--color-primary-hover: #268a5f;--color-gold: #c9a44c;--color-income: #4CAF50;--color-expense: #ef5350;--color-warning: #ff9800;--color-danger: #ef5350;--radius-sm: 4px;--radius-md: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;overflow-x:hidden}#app{min-height:100vh}a{color:var(--color-primary)}button{font-family:inherit;font-size:14px;cursor:pointer;background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}button:hover{border-color:var(--color-primary)}button.primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text);font-weight:600}button.primary:hover{background:var(--color-primary-hover)}button.danger:hover{border-color:var(--color-danger);color:var(--color-danger)}input,select,textarea{font-family:inherit;font-size:14px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}th{color:var(--color-text-muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.card h2{margin-top:0}.text-income{color:var(--color-income)}.text-expense{color:var(--color-expense)}.text-neutral{color:var(--color-warning)}.text-muted{color:var(--color-text-muted)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{width:max-content;min-width:100%}@media(max-width:640px){input,select,textarea{font-size:16px}}
