.sidebar[data-v-5d6832db]{width:var(--sidebar-width);background:var(--sidebar-bg);color:#fff;position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column;z-index:100;transition:width .2s ease}.sidebar-brand[data-v-5d6832db]{padding:16px;font-size:1.25rem;font-weight:700;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px}.brand-text[data-v-5d6832db]{white-space:nowrap;overflow:hidden;transition:opacity .2s}.toggle-btn[data-v-5d6832db]{background:none;border:none;color:#fff9;cursor:pointer;font-size:1rem;padding:4px 8px;border-radius:4px;flex-shrink:0}.toggle-btn[data-v-5d6832db]:hover{background:#ffffff1a;color:#fff}.sidebar-nav[data-v-5d6832db]{padding:12px 0;display:flex;flex-direction:column;gap:2px}.nav-item[data-v-5d6832db]{display:flex;align-items:center;gap:12px;padding:10px 16px;color:#ffffffb3;text-decoration:none;font-size:.9rem;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden}.nav-item[data-v-5d6832db]:hover{background:#ffffff14;color:#fff}.nav-item.active[data-v-5d6832db]{background:var(--primary);color:#fff}.nav-icon[data-v-5d6832db]{font-family:monospace;width:20px;text-align:center;flex-shrink:0}.nav-label[data-v-5d6832db]{transition:opacity .2s}.sidebar.collapsed .brand-text[data-v-5d6832db],.sidebar.collapsed .nav-label[data-v-5d6832db]{opacity:0;width:0}.sidebar.collapsed .nav-item[data-v-5d6832db]{justify-content:center;padding:10px}.sidebar.collapsed .sidebar-brand[data-v-5d6832db]{justify-content:center;padding:16px 10px}@media(max-width:768px){.sidebar[data-v-5d6832db]{display:none}}.header[data-v-a2181ab4]{height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.header-title[data-v-a2181ab4]{font-size:1.1rem;font-weight:600}.header-right[data-v-a2181ab4]{display:flex;align-items:center;gap:16px}.header-date[data-v-a2181ab4]{font-size:.85rem;color:var(--text-secondary)}.theme-toggle[data-v-a2181ab4]{width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);cursor:pointer;font-family:monospace;font-size:1rem;transition:background .15s}.theme-toggle[data-v-a2181ab4]:hover{background:var(--primary-light)}*{margin:0;padding:0;box-sizing:border-box}:root{--sidebar-width: 220px;--header-height: 56px;--bg: #f5f1eb;--surface: #fdfbf7;--text: #3d3428;--text-secondary: #6b5d4d;--primary: #4a7c59;--primary-light: #d4e5d8;--border: #ddd5c9;--radius: 8px;--sidebar-bg: #3d3428}[data-theme=dark]{--bg: #1a1816;--surface: #252220;--text: #e8e4df;--text-secondary: #a89f94;--primary: #6b9b7a;--primary-light: #2d3d32;--border: #3d3835;--sidebar-bg: #131211}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column}.page-content{padding:24px;flex:1}@media(max-width:768px){.main-content{margin-left:0}:root{--sidebar-width: 0px}}.event-list[data-v-c19366bf]{display:flex;flex-direction:column;gap:8px}.day-separator[data-v-c19366bf]{display:flex;align-items:center;gap:8px;margin-top:12px}.day-separator--first[data-v-c19366bf]{margin-top:0}.day-separator[data-v-c19366bf]:after{content:"";flex:1;height:1px;background:var(--border)}.day-label[data-v-c19366bf]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);white-space:nowrap}.event-item[data-v-c19366bf]{display:flex;gap:12px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left:3px solid var(--primary);cursor:pointer}.event-item[data-v-c19366bf]:hover{background:var(--bg)}.event-item.event-past[data-v-c19366bf]{opacity:.45;border-left-color:var(--text-secondary)}.event-time[data-v-c19366bf]{font-size:.8rem;color:var(--text-secondary);min-width:110px;padding-top:2px}.event-past .event-title[data-v-c19366bf]{text-decoration:line-through}.event-title[data-v-c19366bf]{font-weight:500}.event-location[data-v-c19366bf]{font-size:.8rem;color:var(--text-secondary);margin-top:2px}.empty[data-v-c19366bf]{color:var(--text-secondary);font-size:.9rem;padding:8px 0}.modal-backdrop[data-v-21599493]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-21599493]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:100%;max-width:420px;display:flex;flex-direction:column;gap:20px}.modal h3[data-v-21599493]{font-size:1rem;margin:0}.fields[data-v-21599493]{display:flex;flex-direction:column;gap:12px}.field[data-v-21599493]{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--text-secondary)}.field input[data-v-21599493]{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:.9rem}.field input[data-v-21599493]:focus{outline:none;border-color:var(--primary)}.field-inline[data-v-21599493]{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer}.field-row[data-v-21599493]{display:flex;gap:12px}.field-row .field[data-v-21599493]{flex:1}.field-error[data-v-21599493]{color:#ef4444;font-size:.85rem}.actions[data-v-21599493]{display:flex;justify-content:flex-end;align-items:center;gap:8px}.btn-delete[data-v-21599493]{margin-right:auto}.btn-cancel[data-v-21599493]{padding:7px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;font-size:.9rem}.btn-cancel[data-v-21599493]:hover{background:var(--bg)}.btn-save[data-v-21599493]{padding:7px 16px;border:none;border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;font-size:.9rem}.btn-save[data-v-21599493]:disabled{opacity:.6;cursor:default}.btn-delete[data-v-21599493]{padding:7px 16px;border:1px solid #ef4444;border-radius:var(--radius);background:transparent;color:#ef4444;cursor:pointer;font-size:.9rem}.btn-delete[data-v-21599493]:hover{background:#ef444415}.btn-delete[data-v-21599493]:disabled{opacity:.6;cursor:default}.widget-grid[data-v-9894080f]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.widget[data-v-9894080f]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.widget h2[data-v-9894080f]{font-size:1rem;margin-bottom:12px}.widget-notice[data-v-9894080f]{color:var(--text-secondary);font-size:.9rem}.widget-notice a[data-v-9894080f]{color:var(--primary)}.spend-list[data-v-9894080f]{display:flex;flex-direction:column;gap:6px}.spend-total[data-v-9894080f]{display:flex;justify-content:space-between;font-weight:600;font-size:.95rem}.spend-divider[data-v-9894080f]{border-top:1px solid var(--border);margin:4px 0}.spend-row[data-v-9894080f]{display:flex;justify-content:space-between;font-size:.9rem}.cat-name[data-v-9894080f]{color:var(--text-secondary)}.cat-amount[data-v-9894080f]{font-weight:500}.amount[data-v-9894080f]{font-weight:600}.loading[data-v-9894080f],.empty[data-v-9894080f]{color:var(--text-secondary);font-size:.9rem}@media(max-width:768px){.widget-grid[data-v-9894080f]{grid-template-columns:1fr}}.cal-grid[data-v-2059d83b]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.header-row[data-v-2059d83b],.allday-row[data-v-2059d83b]{display:grid;border-bottom:1px solid var(--border)}.allday-row[data-v-2059d83b]{background:var(--bg)}.txn-row[data-v-2059d83b]{display:grid;border-bottom:1px solid var(--border)}.txn-gutter[data-v-2059d83b]{display:flex;align-items:center;justify-content:flex-end;padding-right:6px;font-size:.75rem;color:var(--text-secondary)}.txn-cell[data-v-2059d83b]{padding:4px;border-left:1px solid var(--border);min-height:34px;display:flex}.txn-box[data-v-2059d83b]{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);cursor:pointer;font-size:.7rem;line-height:1.3;text-align:left;min-width:0}.txn-box[data-v-2059d83b]:hover{border-color:var(--primary)}.txn-count[data-v-2059d83b]{font-weight:600}.txn-out[data-v-2059d83b]{color:var(--text-secondary)}.txn-in[data-v-2059d83b]{color:#10b981;font-weight:600}.txn-empty[data-v-2059d83b]{margin:auto;color:var(--border);font-size:.8rem}.allday-cell[data-v-2059d83b]{padding:4px;border-left:1px solid var(--border);min-height:24px;display:flex;flex-direction:column;gap:2px}.allday-event[data-v-2059d83b]{background:var(--primary);color:#fff;border-radius:3px;padding:2px 6px;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-gutter[data-v-2059d83b]{width:52px}.day-header[data-v-2059d83b]{padding:8px 4px;text-align:center;border-left:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:2px}.day-header.today .day-num[data-v-2059d83b]{background:var(--primary);color:#fff;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center}.day-name[data-v-2059d83b]{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.day-num[data-v-2059d83b]{font-size:1rem;font-weight:600}.grid-body[data-v-2059d83b]{display:flex;overflow-y:auto}.time-col[data-v-2059d83b]{width:52px;flex-shrink:0}.hour-label[data-v-2059d83b]{height:56px;font-size:.7rem;color:var(--text-secondary);padding:4px 6px 0;text-align:right}.days-area[data-v-2059d83b]{flex:1;position:relative}.hour-lines[data-v-2059d83b]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hour-line[data-v-2059d83b]{height:56px;border-top:1px solid var(--border)}.day-columns[data-v-2059d83b]{display:grid;height:100%}.day-col[data-v-2059d83b]{position:relative;border-left:1px solid var(--border);height:var(--v31d6bf08)}.day-col.today[data-v-2059d83b]{background:color-mix(in srgb,var(--primary-light) 40%,transparent)}.event-block[data-v-2059d83b]{position:absolute;left:2px;right:2px;background:var(--primary);color:#fff;border-radius:4px;padding:3px 5px;overflow:hidden;cursor:pointer;font-size:.75rem;line-height:1.3}.event-block[data-v-2059d83b]:hover{opacity:.9}.event-block-title[data-v-2059d83b]{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-block-time[data-v-2059d83b]{display:block;opacity:.85}.now-line[data-v-2059d83b]{position:absolute;left:0;right:0;height:2px;background:#ef4444;pointer-events:none;z-index:10}.now-line[data-v-2059d83b]:before{content:"";position:absolute;left:0;top:-4px;width:8px;height:8px;border-radius:50%;background:#ef4444}.month-grid[data-v-6b0ed9bd]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.month-head[data-v-6b0ed9bd]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--bg);border-bottom:1px solid var(--border)}.month-head-cell[data-v-6b0ed9bd]{padding:8px 4px;text-align:center;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.month-body[data-v-6b0ed9bd]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-cell[data-v-6b0ed9bd]{min-height:110px;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:0;border-top:1px solid var(--border);border-left:1px solid var(--border)}.month-cell[data-v-6b0ed9bd]:nth-child(7n+1){border-left:none}.month-cell[data-v-6b0ed9bd]:nth-child(-n+7){border-top:none}.month-cell.today[data-v-6b0ed9bd]{background:color-mix(in srgb,var(--primary-light) 40%,transparent)}.month-cell.outside[data-v-6b0ed9bd]{opacity:.45}.month-cell-top[data-v-6b0ed9bd]{display:flex;align-items:center;justify-content:space-between;gap:4px}.month-num[data-v-6b0ed9bd]{font-size:.8rem;font-weight:600;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.month-cell.today .month-num[data-v-6b0ed9bd]{background:var(--primary);color:#fff}.month-txn[data-v-6b0ed9bd]{display:flex;flex-direction:column;align-items:flex-end;gap:0;padding:1px 5px;min-width:0;border:1px solid var(--border);border-radius:4px;background:var(--bg);cursor:pointer;font-size:.65rem;line-height:1.3;color:var(--text-secondary)}.month-txn[data-v-6b0ed9bd]:hover{border-color:var(--primary)}.month-txn-in[data-v-6b0ed9bd]{color:#10b981;font-weight:600}.month-events[data-v-6b0ed9bd]{display:flex;flex-direction:column;gap:2px;min-width:0}.month-event[data-v-6b0ed9bd]{font-size:.7rem;padding:1px 5px;border-radius:3px;cursor:pointer;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);border-left:3px solid var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.month-event.allday[data-v-6b0ed9bd]{background:var(--primary);color:#fff}.month-event-time[data-v-6b0ed9bd]{opacity:.75;margin-right:2px}.month-more[data-v-6b0ed9bd]{font-size:.68rem;color:var(--text-secondary);padding-left:4px}.calendar-page[data-v-d7f4d935]{display:flex;flex-direction:column;gap:24px}.page-actions[data-v-d7f4d935]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.cal-nav[data-v-d7f4d935]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cal-title[data-v-d7f4d935]{font-size:1.05rem;margin:0 0 0 8px}.cal-actions[data-v-d7f4d935]{display:flex;gap:6px}.seg-toggle[data-v-d7f4d935]{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--bg);margin-right:6px}.seg-toggle button[data-v-d7f4d935]{border:none;background:none;cursor:pointer;padding:3px 12px;border-radius:999px;font-size:.8rem;color:var(--text-secondary)}.seg-toggle button.active[data-v-d7f4d935]{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #0000001f}.section[data-v-d7f4d935]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.section-full[data-v-d7f4d935]{background:none;border:none;padding:0}.section-header[data-v-d7f4d935]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h2[data-v-d7f4d935]{font-size:1rem}.btn-sm[data-v-d7f4d935]{padding:4px 12px;font-size:.8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer}.btn-sm[data-v-d7f4d935]:hover{background:var(--bg)}.notice[data-v-d7f4d935]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.notice a[data-v-d7f4d935]{color:var(--primary)}.loading[data-v-d7f4d935]{color:var(--text-secondary);font-size:.9rem}.today-txns[data-v-d7f4d935]{margin-top:12px;width:100%;display:flex;gap:10px;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);cursor:pointer;font-size:.85rem;text-align:left}.today-txns span[data-v-d7f4d935]:first-child{flex:1;font-weight:600}.today-txns[data-v-d7f4d935]:hover{border-color:var(--primary)}.txn-backdrop[data-v-d7f4d935]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000073;opacity:0;pointer-events:none;transition:opacity .2s}.txn-backdrop.open[data-v-d7f4d935]{opacity:1;pointer-events:auto}.txn-drawer[data-v-d7f4d935]{position:fixed;top:0;right:0;height:100%;width:400px;max-width:100%;z-index:101;background:var(--surface);border-left:1px solid var(--border);box-shadow:-12px 0 32px #00000040;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s ease}.txn-drawer.open[data-v-d7f4d935]{transform:translate(0)}.drawer-header[data-v-d7f4d935]{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}.drawer-header h3[data-v-d7f4d935]{margin:0;font-size:1rem}.drawer-close[data-v-d7f4d935]{width:30px;height:30px;border-radius:6px;background:none;border:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer}.drawer-close[data-v-d7f4d935]:hover{background:var(--bg);color:var(--text)}.drawer-body[data-v-d7f4d935]{flex:1;overflow-y:auto;padding:16px 22px;display:flex;flex-direction:column;gap:16px}.drawer-group-label[data-v-d7f4d935]{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:4px}.drawer-row[data-v-d7f4d935]{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.drawer-row[data-v-d7f4d935]:last-child{border-bottom:none}.drawer-row-main[data-v-d7f4d935]{flex:1;display:flex;flex-direction:column;min-width:0}.drawer-row-label[data-v-d7f4d935]{font-weight:500;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-row-sub[data-v-d7f4d935]{font-size:.75rem;color:var(--text-secondary)}.drawer-row-amount[data-v-d7f4d935]{font-weight:600;font-size:.9rem;white-space:nowrap}.drawer-in[data-v-d7f4d935]{color:#10b981}.drawer-footer[data-v-d7f4d935]{padding:14px 22px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.drawer-total[data-v-d7f4d935]{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600}.drawer-link[data-v-d7f4d935]{margin-top:4px;font-size:.85rem;color:var(--primary);text-decoration:none;align-self:flex-end}@media(max-width:480px){.txn-drawer[data-v-d7f4d935]{width:100%}}.settings-page[data-v-2bbba3f5]{display:flex;flex-direction:column;gap:24px;max-width:700px}.settings-section[data-v-2bbba3f5]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.settings-section h2[data-v-2bbba3f5]{font-size:1rem;margin-bottom:12px}.status-row[data-v-2bbba3f5]{display:flex;justify-content:space-between;padding:6px 0;font-size:.9rem}.status-ok[data-v-2bbba3f5]{color:#16a34a;font-weight:500}.status-missing[data-v-2bbba3f5]{color:#ef4444;font-weight:500}.setup-guide[data-v-2bbba3f5]{margin-top:16px}.setup-guide h3[data-v-2bbba3f5]{font-size:.95rem;margin-bottom:8px}.setup-guide ol[data-v-2bbba3f5]{padding-left:20px;font-size:.9rem;line-height:1.8}.setup-guide code[data-v-2bbba3f5]{background:var(--bg);padding:2px 6px;border-radius:4px;font-size:.85em}.setup-guide pre[data-v-2bbba3f5]{background:var(--bg);padding:10px;border-radius:var(--radius);margin-top:6px;font-size:.85em;overflow-x:auto}.btn-primary[data-v-2bbba3f5]{margin-top:12px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-weight:500}.btn-primary[data-v-2bbba3f5]:hover{opacity:.9}.connected-row[data-v-2bbba3f5]{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.connected-msg[data-v-2bbba3f5]{color:#16a34a;font-size:.9rem}.btn-disconnect[data-v-2bbba3f5]{padding:6px 14px;font-size:.85rem;border:1px solid #ef4444;border-radius:var(--radius);background:transparent;color:#ef4444;cursor:pointer}.btn-disconnect[data-v-2bbba3f5]:hover{background:#ef444415}.hint[data-v-2bbba3f5]{font-size:.8rem;color:var(--text-secondary);margin-top:6px}.hint code[data-v-2bbba3f5]{background:var(--bg);padding:2px 6px;border-radius:4px;font-size:.85em}.category-list[data-v-2bbba3f5]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.category-item[data-v-2bbba3f5]{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:4px 10px;font-size:.85rem}.btn-remove[data-v-2bbba3f5]{background:none;border:none;cursor:pointer;font-size:.75rem;color:var(--text-secondary);padding:0;line-height:1;transition:color .15s}.btn-remove[data-v-2bbba3f5]:hover{color:#ef4444}.btn-rename[data-v-2bbba3f5]{background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--text-secondary);padding:0;line-height:1;transition:color .15s}.btn-rename[data-v-2bbba3f5]:hover{color:var(--primary)}.category-item.editing[data-v-2bbba3f5]{background:var(--surface);border-color:var(--primary);padding:3px 6px}.rename-input[data-v-2bbba3f5]{width:110px;padding:2px 6px;font-size:.85rem;border:1px solid var(--primary);border-radius:var(--radius);background:var(--bg);color:var(--text);outline:none}.btn-save[data-v-2bbba3f5]{padding:2px 8px;font-size:.8rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer}.btn-save[data-v-2bbba3f5]:disabled{opacity:.4;cursor:not-allowed}.btn-cancel[data-v-2bbba3f5]{background:none;border:none;cursor:pointer;font-size:.75rem;color:var(--text-secondary);padding:0;line-height:1}.btn-cancel[data-v-2bbba3f5]:hover{color:#ef4444}.add-category-form[data-v-2bbba3f5]{display:flex;gap:8px}.cat-input[data-v-2bbba3f5]{flex:1;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;background:var(--bg);color:var(--text);outline:none}.cat-input[data-v-2bbba3f5]:focus{border-color:var(--primary)}.btn-add[data-v-2bbba3f5]{padding:7px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:.9rem;font-weight:500}.btn-add[data-v-2bbba3f5]:hover:not(:disabled){opacity:.9}.btn-add[data-v-2bbba3f5]:disabled{opacity:.4;cursor:not-allowed}.empty-hint[data-v-2bbba3f5]{font-size:.85rem;color:var(--text-secondary)}.btn-logout[data-v-2bbba3f5]{padding:7px 16px;border:1px solid #ef4444;border-radius:var(--radius);background:transparent;color:#ef4444;cursor:pointer;font-size:.9rem}.btn-logout[data-v-2bbba3f5]:hover{background:#ef444415}.vendor-input[data-v-10460dfa]{position:relative;flex:1;min-width:160px}.input[data-v-10460dfa]{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:.9rem;color:var(--text);outline:none;transition:border-color .15s}.input[data-v-10460dfa]:focus{border-color:var(--primary)}.dropdown[data-v-10460dfa]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;list-style:none;max-height:220px;overflow-y:auto;z-index:200}.dropdown-item[data-v-10460dfa]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;cursor:pointer;transition:background .1s;gap:12px}.dropdown-item[data-v-10460dfa]:hover,.dropdown-item.active[data-v-10460dfa]{background:var(--bg)}.vendor-name[data-v-10460dfa]{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vendor-cat[data-v-10460dfa]{font-size:.78rem;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.vendor-panel[data-v-ad4d192a]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.panel-header[data-v-ad4d192a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-header h2[data-v-ad4d192a]{font-size:1rem}.vendor-filters[data-v-ad4d192a]{display:flex;gap:8px;margin-bottom:12px}.vendor-filters .input[data-v-ad4d192a]{flex:1}.vendor-list[data-v-ad4d192a]{display:flex;flex-direction:column;gap:6px}.vendor-card[data-v-ad4d192a]{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden;transition:border-color .15s}.vendor-card.expanded[data-v-ad4d192a]{border-color:var(--primary)}.card-row[data-v-ad4d192a]{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.card-row[data-v-ad4d192a]:hover{background:color-mix(in srgb,var(--bg) 80%,var(--border))}.card-left[data-v-ad4d192a]{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.vendor-name[data-v-ad4d192a]{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge[data-v-ad4d192a]{font-size:.72rem;padding:2px 7px;border-radius:20px;background:var(--primary-light);color:var(--primary);flex-shrink:0}.derived-tag[data-v-ad4d192a]{font-size:.7rem;color:var(--text-secondary);border:1px dashed var(--border);padding:1px 6px;border-radius:20px;flex-shrink:0}.card-actions[data-v-ad4d192a]{display:flex;align-items:center;gap:6px;flex-shrink:0}.icon-btn[data-v-ad4d192a]{font-size:.9rem;padding:3px 6px;border-radius:4px;text-decoration:none;color:var(--text-secondary);transition:background .1s,color .1s;cursor:pointer}.icon-btn[data-v-ad4d192a]:hover{background:var(--surface);color:var(--text)}.btn-save-derived[data-v-ad4d192a]{background:none;border:1px solid var(--primary);color:var(--primary);border-radius:var(--radius);padding:2px 10px;font-size:.78rem;cursor:pointer;transition:background .15s}.btn-save-derived[data-v-ad4d192a]:hover{background:var(--primary-light)}.chevron[data-v-ad4d192a]{font-size:.7rem;color:var(--text-secondary);flex-shrink:0}.card-detail[data-v-ad4d192a]{padding:12px 14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.detail-loading[data-v-ad4d192a]{font-size:.85rem;color:var(--text-secondary)}.detail-field[data-v-ad4d192a]{display:flex;flex-direction:column;gap:4px}.detail-field label[data-v-ad4d192a]{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.input[data-v-ad4d192a]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;font-size:.88rem;color:var(--text);outline:none;transition:border-color .15s;width:100%}.input[data-v-ad4d192a]:focus{border-color:var(--primary)}.input-sm[data-v-ad4d192a]{font-size:.85rem}.empty[data-v-ad4d192a]{color:var(--text-secondary);font-size:.88rem;padding:8px 0}.purchases-empty[data-v-ad4d192a]{font-size:.82rem;color:var(--text-secondary);padding:6px 0}.purchases-scroll[data-v-ad4d192a]{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.purchase-row[data-v-ad4d192a]{display:grid;grid-template-columns:90px 1fr 2fr auto;align-items:center;gap:8px;padding:7px 10px;font-size:.82rem;border-bottom:1px solid var(--border)}.purchase-row[data-v-ad4d192a]:last-child{border-bottom:none}.purchase-row[data-v-ad4d192a]:hover{background:color-mix(in srgb,var(--bg) 80%,var(--border))}.pr-date[data-v-ad4d192a]{color:var(--text-secondary);white-space:nowrap}.pr-category[data-v-ad4d192a]{font-size:.72rem;padding:2px 7px;border-radius:20px;background:var(--primary-light);color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-notes[data-v-ad4d192a]{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-amount[data-v-ad4d192a]{font-weight:600;white-space:nowrap;text-align:right}.color-picker[data-v-0ce04a39]{display:flex;flex-direction:column;gap:8px}.cp-row[data-v-0ce04a39]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cp-swatch[data-v-0ce04a39]{width:22px;height:22px;border-radius:50%;padding:0;cursor:pointer;border:2px solid transparent;outline:1px solid var(--border);outline-offset:1px}.cp-swatch.active[data-v-0ce04a39]{border-color:var(--surface);outline:2px solid var(--text)}.cp-wheel-toggle[data-v-0ce04a39]{width:26px;height:26px;border-radius:50%;padding:0;cursor:pointer;border:1px solid var(--border);background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.cp-wheel-toggle.open[data-v-0ce04a39]{outline:2px solid var(--text);outline-offset:1px}.cp-preview[data-v-0ce04a39]{width:26px;height:26px;border-radius:6px;border:1px solid var(--border)}.cp-hex[data-v-0ce04a39]{display:flex;align-items:center;gap:2px;padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);font-family:ui-monospace,monospace;font-size:.85rem;color:var(--text-secondary)}.cp-hex[data-v-0ce04a39]:focus-within{border-color:var(--primary)}.cp-hex.invalid[data-v-0ce04a39]{border-color:#ef4444}.cp-hex input[data-v-0ce04a39]{width:64px;border:none;outline:none;background:transparent;color:var(--text);font:inherit;text-transform:lowercase}.cp-wheel-panel[data-v-0ce04a39]{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px;border:1px solid var(--border);border-radius:var(--radius)}.cp-wheel[data-v-0ce04a39]{position:relative;width:150px;height:150px;border-radius:50%;cursor:crosshair;touch-action:none;flex-shrink:0;background:radial-gradient(circle closest-side,hsl(0 0% var(--l)),transparent),conic-gradient(hsl(0 100% var(--l)),hsl(60 100% var(--l)),hsl(120 100% var(--l)),hsl(180 100% var(--l)),hsl(240 100% var(--l)),hsl(300 100% var(--l)),hsl(360 100% var(--l)))}.cp-marker[data-v-0ce04a39]{position:absolute;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);border:2px solid #fff;box-shadow:0 0 0 1px #00000080;pointer-events:none}.cp-light[data-v-0ce04a39]{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--text-secondary);flex:1;min-width:120px}.finances-page[data-v-6ab148c4]{display:flex;flex-direction:column;gap:20px}.panel[data-v-6ab148c4]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.panel-warn[data-v-6ab148c4]{border-color:#f59e0b}.panel h2[data-v-6ab148c4]{font-size:1rem;margin-bottom:16px}.panel-header[data-v-6ab148c4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-header h2[data-v-6ab148c4]{margin-bottom:0}.summary-controls[data-v-6ab148c4]{display:flex;align-items:center;gap:6px}.btn-ghost.active[data-v-6ab148c4]{background:var(--primary);color:#fff;border-color:var(--primary)}.input[data-v-6ab148c4]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:.9rem;color:var(--text);outline:none;transition:border-color .15s}.input[data-v-6ab148c4]:focus{border-color:var(--primary)}.input-sm[data-v-6ab148c4]{padding:5px 10px;font-size:.82rem}.capture-form[data-v-6ab148c4]{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.file-attach[data-v-6ab148c4]{display:inline-flex;align-items:center;padding:7px 12px;border:1px dashed var(--border);border-radius:var(--radius);font-size:.85rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.file-attach input[data-v-6ab148c4]{display:none}.file-attach[data-v-6ab148c4]:hover{border-color:var(--primary);color:var(--primary)}.file-attach.has-file[data-v-6ab148c4]{border-color:var(--primary);color:var(--primary);border-style:solid}.amount-row[data-v-6ab148c4]{display:flex;align-items:center}.currency-symbol[data-v-6ab148c4]{background:var(--bg);border:1px solid var(--border);border-right:none;border-radius:var(--radius) 0 0 var(--radius);padding:8px 10px;font-size:.9rem;color:var(--text-secondary);line-height:1.4}.amount-row .input[data-v-6ab148c4]{border-radius:0 var(--radius) var(--radius) 0;width:100px}.notes-input[data-v-6ab148c4]{flex:1;min-width:140px}.btn-primary[data-v-6ab148c4]{background:var(--primary);color:#fff;border:none;border-radius:var(--radius);padding:8px 18px;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:opacity .15s}.btn-primary[data-v-6ab148c4]:hover:not(:disabled){opacity:.88}.btn-primary[data-v-6ab148c4]:disabled{opacity:.5;cursor:not-allowed}.btn-ghost[data-v-6ab148c4]{background:none;border:1px solid var(--border);border-radius:var(--radius);padding:6px 14px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;transition:background .15s}.btn-ghost[data-v-6ab148c4]:hover{background:var(--bg)}.btn-icon[data-v-6ab148c4]{background:none;border:none;cursor:pointer;font-size:.85rem;padding:4px 6px;border-radius:4px;color:var(--text-secondary);transition:background .15s,color .15s;flex-shrink:0}.btn-icon[data-v-6ab148c4]:hover{background:var(--bg);color:var(--text)}.form-actions[data-v-6ab148c4]{display:flex;gap:8px}.recurring-list[data-v-6ab148c4]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;max-height:400px;overflow-y:auto}.recurring-item[data-v-6ab148c4]{display:flex;flex-direction:column;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);transition:border-color .15s;cursor:pointer}.recurring-item.item-warn[data-v-6ab148c4]{border-color:#f59e0b}.recurring-item.due-soon[data-v-6ab148c4]{border-color:#d97706}.recurring-item.overdue[data-v-6ab148c4]{border-color:#ef4444;background:#ef44440f}.recurring-item.inactive[data-v-6ab148c4]{opacity:.45}.recurring-item.editing[data-v-6ab148c4]{border-color:var(--primary)}.recurring-row[data-v-6ab148c4]{display:flex;align-items:center;gap:10px;width:100%}.recurring-left[data-v-6ab148c4]{flex:1;min-width:0}.recurring-name[data-v-6ab148c4]{font-size:.9rem;font-weight:500;margin-bottom:4px}.recurring-provider[data-v-6ab148c4]{font-size:.72rem;color:var(--text-muted);margin-bottom:4px;cursor:pointer}.recurring-provider[data-v-6ab148c4]:hover{color:var(--primary)}.recurring-meta[data-v-6ab148c4]{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:0;overflow:hidden}.recurring-right[data-v-6ab148c4]{text-align:right;flex-shrink:0}.recurring-amount[data-v-6ab148c4]{font-size:.95rem;font-weight:600}.recurring-next-due[data-v-6ab148c4]{display:flex;flex-direction:column;align-items:flex-end;margin-top:2px;gap:1px}.next-due-date[data-v-6ab148c4]{font-size:.82rem;color:var(--text);font-weight:500}.next-due-rel[data-v-6ab148c4]{font-size:.72rem;color:var(--text-secondary)}.due-soon-text[data-v-6ab148c4]{color:#d97706;font-weight:500}.overdue-text[data-v-6ab148c4]{color:#ef4444;font-weight:600}.badge[data-v-6ab148c4]{font-size:.72rem;padding:2px 7px;border-radius:20px;background:var(--primary-light);color:var(--primary);text-transform:capitalize}.loan-calc-block[data-v-6ab148c4]{width:100%;display:flex;flex-direction:column;gap:10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.loan-calc-block--edit[data-v-6ab148c4]{margin-top:4px}.loan-field--full[data-v-6ab148c4]{flex:1 1 100%}.due-day-picker[data-v-6ab148c4]{display:flex;flex-wrap:wrap;gap:4px}.due-day-picker--week[data-v-6ab148c4]{flex-wrap:nowrap}.day-btn[data-v-6ab148c4]{width:30px;height:28px;padding:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:.75rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s,color .12s}.due-day-picker--week .day-btn[data-v-6ab148c4]{width:40px}.day-btn[data-v-6ab148c4]:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.day-btn.active[data-v-6ab148c4]{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.due-day-annual[data-v-6ab148c4]{display:flex;gap:8px;align-items:center}.loan-row[data-v-6ab148c4]{display:flex;gap:12px;flex-wrap:wrap}.loan-field[data-v-6ab148c4]{display:flex;flex-direction:column;gap:4px;flex:1;min-width:140px}.loan-field label[data-v-6ab148c4]{font-size:.75rem;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.calc-hint[data-v-6ab148c4]{font-size:.7rem;color:var(--primary);font-style:italic}.auto-filled[data-v-6ab148c4]{border-color:var(--primary)!important;background:var(--primary-light)!important}.loan-summary[data-v-6ab148c4]{display:flex;flex-wrap:wrap;gap:14px;padding:8px 10px;background:var(--primary-light);border-radius:var(--radius);font-size:.82rem;color:var(--text-secondary)}.loan-summary strong[data-v-6ab148c4]{color:var(--text)}.loan-toggle[data-v-6ab148c4],.credit-payment-toggle[data-v-6ab148c4]{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.loan-toggle input[data-v-6ab148c4],.credit-payment-toggle input[data-v-6ab148c4]{cursor:pointer}.loan-progress[data-v-6ab148c4]{display:flex;flex-direction:column;gap:4px;padding:6px 4px 2px}.loan-counts[data-v-6ab148c4]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.loan-payoff[data-v-6ab148c4]{font-style:italic}.progress-track[data-v-6ab148c4]{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill[data-v-6ab148c4]{height:100%;background:var(--primary);border-radius:2px;transition:width .4s ease}.btn-log-payment[data-v-6ab148c4]{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius);padding:3px 10px;font-size:.78rem;cursor:pointer;flex-shrink:0;transition:background .15s}.btn-log-payment[data-v-6ab148c4]:hover{background:var(--primary);color:#fff}.vendor-link[data-v-6ab148c4]{font-size:.8rem;margin-left:5px;text-decoration:none;color:var(--text-secondary);transition:color .15s}.vendor-link[data-v-6ab148c4]:hover{color:var(--primary)}.recurring-search[data-v-6ab148c4]{width:140px;margin-left:auto}.recurring-total[data-v-6ab148c4]{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-secondary)}.recurring-sublabel[data-v-6ab148c4]{font-size:.75rem;opacity:.6}.total-amount[data-v-6ab148c4]{font-weight:600;color:var(--text);font-size:1rem}.lower-grid[data-v-6ab148c4]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:stretch}.right-col[data-v-6ab148c4]{display:flex;flex-direction:column;gap:20px}.summary-total[data-v-6ab148c4]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.total-label[data-v-6ab148c4]{font-size:.85rem;color:var(--text-secondary)}.total-value[data-v-6ab148c4]{font-size:1.5rem;font-weight:700}.stacked-bar[data-v-6ab148c4]{display:flex;height:14px;border-radius:7px;overflow:hidden;margin-bottom:14px;gap:2px}.stacked-segment[data-v-6ab148c4]{height:100%;transition:width .4s ease;border-radius:2px;min-width:2px}.cat-legend[data-v-6ab148c4]{display:flex;flex-wrap:wrap;gap:10px 20px}.legend-item[data-v-6ab148c4]{display:flex;align-items:center;gap:6px;font-size:.82rem}.legend-dot[data-v-6ab148c4]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-name[data-v-6ab148c4]{color:var(--text)}.legend-amount[data-v-6ab148c4]{color:var(--text-secondary)}.purchase-header-right[data-v-6ab148c4]{display:flex;align-items:center;gap:10px}.txn-title[data-v-6ab148c4]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.seg-toggle[data-v-6ab148c4]{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--bg)}.seg-toggle button[data-v-6ab148c4]{border:none;background:none;cursor:pointer;padding:3px 12px;border-radius:999px;font-size:.8rem;color:var(--text-secondary);display:inline-flex;align-items:center;gap:5px}.seg-toggle button.active[data-v-6ab148c4]{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #0000001f}.seg-count[data-v-6ab148c4]{font-size:.7rem;background:var(--border);border-radius:99px;padding:0 6px}.txn-cash-form[data-v-6ab148c4]{margin-bottom:8px}.purchase-total-label[data-v-6ab148c4]{font-weight:600;font-size:.95rem}.purchase-filters[data-v-6ab148c4]{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.purchase-filter-dates[data-v-6ab148c4]{display:flex;gap:8px}.purchase-filter-dates .input[data-v-6ab148c4]{flex:1}.purchase-filter-chips[data-v-6ab148c4]{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.filter-chip-count[data-v-6ab148c4]{opacity:.6;font-size:.7rem;margin-left:2px}.vendor-typeahead[data-v-6ab148c4]{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface, var(--bg));cursor:text}.vendor-typeahead[data-v-6ab148c4]:focus-within{border-color:var(--primary)}.vendor-token[data-v-6ab148c4]{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 9px;border-radius:999px;font-size:.78rem;background:var(--primary);color:#fff}.vendor-token-remove[data-v-6ab148c4]{background:none;border:none;color:inherit;cursor:pointer;font-size:.9rem;line-height:1;padding:0 3px;opacity:.8}.vendor-token-remove[data-v-6ab148c4]:hover{opacity:1}.vendor-typeahead-input[data-v-6ab148c4]{flex:1;min-width:120px;border:none;outline:none;background:transparent;color:var(--text);font-size:.82rem;padding:3px 2px}.vendor-suggestions[data-v-6ab148c4]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;list-style:none;margin:0;padding:4px;max-height:240px;overflow-y:auto;background:var(--surface, var(--bg));border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 20px #0000001f}.vendor-suggestions li[data-v-6ab148c4]{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:4px;font-size:.82rem;cursor:pointer}.vendor-suggestions li.highlighted[data-v-6ab148c4]{background:color-mix(in srgb,var(--primary) 12%,transparent)}.filter-chip[data-v-6ab148c4]{padding:3px 10px;border-radius:999px;font-size:.78rem;cursor:pointer;border:1px solid var(--border);background:none;color:var(--text-secondary);transition:background .15s,color .15s,border-color .15s}.filter-chip[data-v-6ab148c4]:hover{border-color:var(--chip-color, var(--primary));color:var(--chip-color, var(--primary))}.filter-chip.active[data-v-6ab148c4]{background:var(--chip-color, var(--primary));color:#fff;border-color:var(--chip-color, var(--primary))}.purchase-list[data-v-6ab148c4]{display:flex;flex-direction:column;gap:4px;max-height:400px;overflow-y:auto}.purchase-item-wrap[data-v-6ab148c4]{border-radius:var(--radius)}.purchase-item-wrap:hover>.purchase-item[data-v-6ab148c4]{background:var(--bg)}.purchase-item[data-v-6ab148c4]{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:var(--radius);font-size:.88rem;transition:background .15s;border:1px solid transparent;cursor:pointer}.purchase-item.item-warn[data-v-6ab148c4]{border-color:#f59e0b}.purchase-item.selected[data-v-6ab148c4]{background:var(--primary-light)}.drawer-backdrop[data-v-6ab148c4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000073;opacity:0;pointer-events:none;transition:opacity .25s ease}.drawer-backdrop.open[data-v-6ab148c4]{opacity:1;pointer-events:auto}.purchase-drawer[data-v-6ab148c4]{position:fixed;top:0;right:0;height:100%;width:440px;z-index:101;background:var(--surface);border-left:1px solid var(--border);box-shadow:-12px 0 32px #00000040;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}.purchase-drawer.open[data-v-6ab148c4]{transform:translate(0)}@media(max-width:480px){.purchase-drawer[data-v-6ab148c4]{width:100%}}.drawer-header[data-v-6ab148c4]{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-title[data-v-6ab148c4]{font-size:1rem;font-weight:600;margin:0}.drawer-close[data-v-6ab148c4]{width:30px;height:30px;border-radius:6px;background:none;border:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer}.drawer-close[data-v-6ab148c4]:hover{background:var(--bg);color:var(--text)}.drawer-body[data-v-6ab148c4]{flex:1;overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column;gap:16px}.drawer-footer[data-v-6ab148c4]{flex-shrink:0;padding:16px 22px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface)}.footer-actions[data-v-6ab148c4]{display:flex;gap:8px}.footer-actions--full[data-v-6ab148c4]{margin-left:auto}.btn-danger[data-v-6ab148c4]{background:none;border:1px solid #dc2626;color:#dc2626;border-radius:var(--radius);padding:8px 16px;font-size:.9rem;cursor:pointer}.btn-danger[data-v-6ab148c4]:hover{background:#fef2f2}.field[data-v-6ab148c4]{display:flex;flex-direction:column;gap:6px}.field-row[data-v-6ab148c4]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-label[data-v-6ab148c4]{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:600}.divider[data-v-6ab148c4]{border:none;border-top:1px solid var(--border);margin:0}.purchase-vendor[data-v-6ab148c4]{font-weight:500;margin-bottom:2px}.purchase-date[data-v-6ab148c4]{font-size:.78rem;color:var(--text-secondary)}.purchase-right[data-v-6ab148c4]{display:flex;align-items:center;gap:6px;flex-shrink:0}.purchase-amount[data-v-6ab148c4]{font-weight:600}.receipt-link[data-v-6ab148c4]{font-size:1rem;line-height:1;text-decoration:none;opacity:.75;transition:opacity .15s}.receipt-link[data-v-6ab148c4]:hover{opacity:1}.empty[data-v-6ab148c4]{color:var(--text-secondary);font-size:.88rem;padding:8px 0}.tab-bar[data-v-6ab148c4]{display:flex;gap:4px;border-bottom:1px solid var(--border);padding-bottom:0}.tab[data-v-6ab148c4]{background:none;border:none;border-bottom:2px solid transparent;padding:8px 16px;font-size:.9rem;color:var(--text-secondary);cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:6px}.tab[data-v-6ab148c4]:hover{color:var(--text)}.tab.active[data-v-6ab148c4]{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.tab-count[data-v-6ab148c4]{font-size:.75rem;background:var(--primary-light);color:var(--primary);padding:1px 6px;border-radius:20px}.vendor-prompt[data-v-6ab148c4]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding:10px 14px;background:var(--primary-light);border-radius:var(--radius);font-size:.88rem}.btn-sm[data-v-6ab148c4]{padding:5px 12px;font-size:.82rem}.split-toggle[data-v-6ab148c4]{white-space:nowrap}.payback-section[data-v-6ab148c4]{margin-top:10px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px}.payback-section--inline[data-v-6ab148c4]{margin-top:6px;width:100%}.payback-label[data-v-6ab148c4]{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.payback-add-row[data-v-6ab148c4]{display:flex;gap:6px;align-items:center}.payback-input-wrap[data-v-6ab148c4]{position:relative;flex:1}.payback-suggestions[data-v-6ab148c4]{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:10;max-height:120px;overflow-y:auto}.payback-suggestion[data-v-6ab148c4]{display:block;width:100%;text-align:left;padding:6px 10px;border:none;background:none;font-size:.85rem;color:var(--text);cursor:pointer}.payback-suggestion[data-v-6ab148c4]:hover{background:var(--bg)}.payback-person-row[data-v-6ab148c4]{display:flex;align-items:center;gap:8px;padding:4px 0}.payback-name[data-v-6ab148c4]{font-size:.85rem;font-weight:500;min-width:60px;white-space:nowrap}.amount-row--sm[data-v-6ab148c4]{flex-shrink:0}.amount-row--sm .amount-input[data-v-6ab148c4]{width:80px}.currency-symbol--sm[data-v-6ab148c4]{padding:5px 8px;font-size:.82rem}.payback-note[data-v-6ab148c4]{flex:1;min-width:80px}@media(max-width:900px){.capture-form[data-v-6ab148c4]{flex-direction:column;align-items:stretch}.amount-row .input[data-v-6ab148c4]{width:100%}.payback-person-row[data-v-6ab148c4]{flex-wrap:wrap}}.goals-tab[data-v-6ab148c4]{display:flex;flex-direction:column;gap:20px}.goal-form[data-v-6ab148c4],.goal-edit-form[data-v-6ab148c4]{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-top:1px solid var(--border);margin-top:10px}.goal-form-row[data-v-6ab148c4]{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(min-width:640px){.goal-form-row[data-v-6ab148c4]{grid-template-columns:repeat(4,1fr)}}.goal-form-actions[data-v-6ab148c4]{display:flex;gap:8px}.method-row[data-v-6ab148c4]{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.method-toggle[data-v-6ab148c4]{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;flex-shrink:0}.method-btn[data-v-6ab148c4]{padding:6px 16px;font-size:.85rem;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s}.method-btn.active[data-v-6ab148c4]{background:var(--primary);color:#fff}.method-desc[data-v-6ab148c4]{font-size:.82rem;color:var(--text-secondary)}.extra-payment-row[data-v-6ab148c4]{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.extra-payment-label[data-v-6ab148c4]{font-size:.85rem;font-weight:500;white-space:nowrap}.extra-payment-row .amount-row[data-v-6ab148c4]{width:140px}.debt-summary-pill[data-v-6ab148c4]{font-size:.78rem;color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:99px;padding:3px 10px}.debt-list[data-v-6ab148c4]{display:flex;flex-direction:column;gap:12px;margin-top:12px}.debt-card[data-v-6ab148c4]{padding:14px;border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s}.debt-card.debt-focus[data-v-6ab148c4]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.debt-card-header[data-v-6ab148c4]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.debt-rank[data-v-6ab148c4]{font-size:.78rem;font-weight:700;color:var(--text-secondary);min-width:24px}.debt-card.debt-focus .debt-rank[data-v-6ab148c4]{color:var(--primary)}.debt-card-title[data-v-6ab148c4]{display:flex;align-items:center;gap:8px;flex:1}.debt-name[data-v-6ab148c4]{font-weight:600;font-size:.95rem}.focus-badge[data-v-6ab148c4]{font-size:.65rem;font-weight:700;letter-spacing:.08em;background:var(--primary);color:#fff;border-radius:4px;padding:2px 6px}.debt-meta[data-v-6ab148c4]{font-size:.82rem;color:var(--text-secondary);margin-bottom:8px}.goal-progress-row[data-v-6ab148c4]{display:flex;align-items:center;gap:10px;margin-bottom:6px}.goal-progress-track[data-v-6ab148c4]{flex:1;height:8px;background:var(--border);border-radius:999px;overflow:hidden}.debt-progress-fill[data-v-6ab148c4]{height:100%;border-radius:999px;background:var(--primary);transition:width .3s}.goal-pct[data-v-6ab148c4]{font-size:.8rem;font-weight:600;width:36px;text-align:right;flex-shrink:0}.debt-amounts-row[data-v-6ab148c4]{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--text-secondary);margin-bottom:8px}.debt-eta[data-v-6ab148c4]{font-weight:600;color:var(--primary)}.goal-card-actions[data-v-6ab148c4]{display:flex;gap:4px;flex-shrink:0}.goal-manual-update[data-v-6ab148c4]{display:flex;gap:8px;align-items:center}.goal-manual-update .input[data-v-6ab148c4]{max-width:180px}.credit-tab[data-v-6ab148c4]{display:flex;flex-direction:column;gap:16px}.credit-tab-actions[data-v-6ab148c4]{display:flex;gap:8px}.empty-credit[data-v-6ab148c4]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px;text-align:center;color:var(--text-secondary)}.credit-card-panel[data-v-6ab148c4]{display:flex;flex-direction:column;gap:10px}.credit-card-header[data-v-6ab148c4]{display:flex;align-items:center;justify-content:space-between}.credit-card-name-row[data-v-6ab148c4]{display:flex;align-items:center;gap:10px}.credit-card-name[data-v-6ab148c4]{font-weight:600;font-size:1rem}.credit-card-apr[data-v-6ab148c4]{font-size:.78rem;color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:99px;padding:2px 8px}.credit-util-row[data-v-6ab148c4]{display:flex;align-items:center;gap:10px}.credit-bar-track[data-v-6ab148c4]{flex:1;height:8px;background:var(--border);border-radius:999px;overflow:hidden}.credit-bar-fill[data-v-6ab148c4]{height:100%;border-radius:999px;transition:width .3s}.credit-bar-fill.util-low[data-v-6ab148c4]{background:#10b981}.credit-bar-fill.util-mid[data-v-6ab148c4]{background:#f59e0b}.credit-bar-fill.util-high[data-v-6ab148c4]{background:#ef4444}.credit-util-pct[data-v-6ab148c4]{font-size:.8rem;font-weight:600;min-width:36px;text-align:right}.credit-stats[data-v-6ab148c4]{display:flex;justify-content:space-between;font-size:.82rem}.credit-balance-label[data-v-6ab148c4]{font-weight:600}.credit-avail-label[data-v-6ab148c4]{color:var(--text-secondary)}.credit-payment-form[data-v-6ab148c4]{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;background:var(--bg);border-radius:var(--radius);border:1px solid var(--border)}.credit-payment-form .amount-row[data-v-6ab148c4]{width:160px}.min-toggle[data-v-6ab148c4]{padding:6px 12px;font-size:.8rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.min-toggle.active[data-v-6ab148c4]{border-color:#10b981;background:color-mix(in srgb,#10b981 12%,transparent);color:#065f46}.min-badge[data-v-6ab148c4]{font-size:.65rem;font-weight:700;letter-spacing:.06em;background:color-mix(in srgb,#10b981 15%,transparent);color:#065f46;border:1px solid #10b981;border-radius:4px;padding:1px 5px;flex-shrink:0}.credit-txn-toggle[data-v-6ab148c4]{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;border-top:1px solid var(--border);padding:8px 0 0;cursor:pointer;color:var(--text-secondary);font-size:.82rem;text-align:left}.credit-txn-toggle[data-v-6ab148c4]:hover{color:var(--text)}.credit-txn-count[data-v-6ab148c4]{background:var(--border);border-radius:99px;padding:1px 7px;font-size:.72rem}.credit-txn-chevron[data-v-6ab148c4]{margin-left:auto;font-size:.7rem}.credit-txn-list[data-v-6ab148c4]{display:flex;flex-direction:column;gap:2px}.credit-txn-row[data-v-6ab148c4]{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);font-size:.85rem}.credit-txn-row[data-v-6ab148c4]:last-child{border-bottom:none}.credit-txn-payment[data-v-6ab148c4]{opacity:.75}.credit-txn-date[data-v-6ab148c4]{color:var(--text-secondary);min-width:80px;font-size:.78rem}.credit-txn-vendor[data-v-6ab148c4]{flex:1;font-weight:500}.credit-txn-cat[data-v-6ab148c4]{font-size:.72rem;flex-shrink:0}.credit-txn-amount[data-v-6ab148c4]{font-weight:600;min-width:70px;text-align:right;flex-shrink:0}.txn-debit[data-v-6ab148c4]{color:var(--text)}.txn-credit[data-v-6ab148c4]{color:#10b981}.credit-add-btn[data-v-6ab148c4]{align-self:flex-start}.income-tab[data-v-6ab148c4]{display:flex;flex-direction:column;gap:20px}.income-form[data-v-6ab148c4]{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-top:1px solid var(--border);margin-top:10px}.income-form-row[data-v-6ab148c4]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.income-list[data-v-6ab148c4]{display:flex;flex-direction:column;gap:10px;margin-top:12px}.income-card[data-v-6ab148c4]{padding:14px;border:1px solid var(--border);border-radius:var(--radius)}.income-card-header[data-v-6ab148c4]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.income-card-title[data-v-6ab148c4]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.income-name[data-v-6ab148c4]{font-weight:600;font-size:.95rem}.income-card-actions[data-v-6ab148c4]{display:flex;gap:4px;flex-shrink:0}.income-amounts[data-v-6ab148c4]{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.income-monthly[data-v-6ab148c4]{font-size:1.05rem;font-weight:700;color:var(--text)}.income-raw[data-v-6ab148c4]{font-size:.78rem;color:var(--text-secondary)}.inactive-tag[data-v-6ab148c4]{font-size:.7rem;color:var(--text-secondary);border:1px dashed var(--border);padding:1px 7px;border-radius:999px}.income-type-badge[data-v-6ab148c4]{font-size:.72rem;padding:2px 8px;border-radius:999px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.income-type--salary[data-v-6ab148c4]{background:#dcfce7;color:#166534}.income-type--wage[data-v-6ab148c4]{background:#d1fae5;color:#065f46}.income-type--freelance[data-v-6ab148c4]{background:#dbeafe;color:#1e40af}.income-type--credit_line[data-v-6ab148c4]{background:#ede9fe;color:#5b21b6}.income-type--checking[data-v-6ab148c4]{background:#e0f2fe;color:#0369a1}.income-type--rental[data-v-6ab148c4]{background:#fef9c3;color:#854d0e}.income-type--investment[data-v-6ab148c4]{background:#fce7f3;color:#9d174d}.income-type--other[data-v-6ab148c4]{background:var(--primary-light);color:var(--primary)}.credit-line-fields[data-v-6ab148c4]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.credit-line-summary[data-v-6ab148c4]{margin-top:4px}.credit-bar-row[data-v-6ab148c4]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.credit-bar-track[data-v-6ab148c4]{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.credit-bar-fill[data-v-6ab148c4]{height:100%;background:#8b5cf6;border-radius:3px;transition:width .3s}.credit-pct[data-v-6ab148c4]{font-size:.75rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.credit-pct.util-low[data-v-6ab148c4]{color:#10b981}.credit-pct.util-mid[data-v-6ab148c4]{color:#f59e0b}.credit-pct.util-high[data-v-6ab148c4]{color:#ef4444}.credit-line-meta[data-v-6ab148c4]{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.8rem;color:var(--text-secondary)}.credit-line-meta strong[data-v-6ab148c4]{color:var(--text)}.income-total[data-v-6ab148c4]{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-secondary)}.income-edit-form[data-v-6ab148c4]{display:flex;flex-direction:column;gap:10px}.wage-hours[data-v-6ab148c4]{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-bottom:8px}.wage-hours .credit-txn-list[data-v-6ab148c4],.wage-hours .credit-payment-form[data-v-6ab148c4]{align-self:stretch}.hours-input[data-v-6ab148c4]{width:100px}.wage-hours-actions[data-v-6ab148c4]{display:flex;gap:6px}.wage-overview-card .wage-hours[data-v-6ab148c4]{margin-bottom:0}.color-dot[data-v-6ab148c4]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.account-chip[data-v-6ab148c4]{display:inline-flex;align-items:center;font-size:.7rem;font-weight:500;line-height:1.4;padding:2px 8px;border-radius:20px;border:1px solid var(--border);background:var(--bg);color:var(--text);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.purchase-date .account-chip[data-v-6ab148c4]{margin-left:4px}.recurring-done[data-v-6ab148c4]{margin-top:10px}.recurring-done-row[data-v-6ab148c4]{opacity:.8}.done-group-label[data-v-6ab148c4]{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:8px 0 2px}.done-group-label[data-v-6ab148c4]:first-child{padding-top:0}.done-item .recurring-done-row[data-v-6ab148c4]{cursor:pointer}.done-item:not(:last-child) .recurring-done-row[data-v-6ab148c4]{border-bottom:1px solid var(--border)}.done-chevron[data-v-6ab148c4]{margin-left:0;width:12px;flex-shrink:0}.done-history[data-v-6ab148c4]{margin:2px 0 8px 22px;padding:6px 10px;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:2px}.done-history-row[data-v-6ab148c4]{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary);padding:2px 0}.done-history-amount[data-v-6ab148c4]{margin-left:auto;font-weight:600;color:var(--text)}.done-history-total[data-v-6ab148c4]{display:flex;justify-content:space-between;font-size:.78rem;font-weight:600;padding-top:6px;margin-top:4px;border-top:1px dashed var(--border)}.recurring-done-row[data-v-6ab148c4]:hover{opacity:1}.cc-pay-cards[data-v-6ab148c4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-bottom:12px}.cc-pay-card[data-v-6ab148c4]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:none;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}.cc-pay-card[data-v-6ab148c4]:hover{border-color:var(--card-color, var(--primary))}.cc-pay-card.active[data-v-6ab148c4]{border-color:var(--card-color, var(--primary));background:color-mix(in srgb,var(--card-color, var(--primary)) 10%,transparent)}.cc-pay-name[data-v-6ab148c4]{font-weight:600;font-size:.85rem}.cc-pay-balance[data-v-6ab148c4]{font-size:.8rem}.cc-pay-form select[data-v-6ab148c4]{min-width:160px}.cc-pay-status[data-v-6ab148c4]{margin:8px 0 0;font-size:.8rem;color:#10b981}.ts-nav[data-v-6ab148c4]{display:flex;align-items:center;gap:6px}.ts-range[data-v-6ab148c4]{flex:1;text-align:center;font-weight:600;font-size:.9rem}.ts-today[data-v-6ab148c4]{margin-left:4px}.ts-grid[data-v-6ab148c4]{display:flex;flex-direction:column}.ts-row[data-v-6ab148c4]{display:grid;grid-template-columns:64px 80px minmax(0,1fr) 76px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border)}.ts-head[data-v-6ab148c4]{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.ts-week-break[data-v-6ab148c4]{border-top:2px solid var(--border)}.ts-today-row[data-v-6ab148c4]{background:color-mix(in srgb,var(--primary) 8%,transparent);border-radius:4px}.ts-day[data-v-6ab148c4]{display:flex;flex-direction:column;line-height:1.2;padding-left:4px}.ts-day small[data-v-6ab148c4]{color:var(--text-secondary);font-size:.72rem}.ts-hours[data-v-6ab148c4]{width:100%}.ts-earned[data-v-6ab148c4]{text-align:right;font-size:.85rem;font-weight:600;color:#10b981;display:flex;justify-content:flex-end;gap:4px;padding-right:4px}.ts-status[data-v-6ab148c4]{font-weight:400;font-size:.75rem;color:var(--text-secondary)}.ts-status--error[data-v-6ab148c4]{color:#ef4444;font-weight:700}.ts-footer[data-v-6ab148c4]{align-items:center}.ts-total-hours[data-v-6ab148c4]{font-weight:700;font-size:1.05rem}.ts-total-earned[data-v-6ab148c4]{font-weight:700;font-size:1.2rem;color:#10b981}.hours-hint[data-v-6ab148c4]{font-size:.75rem;color:var(--text-secondary)}.hours-month[data-v-6ab148c4]{font-size:.78rem;color:#10b981}.hours-notes[data-v-6ab148c4]{font-weight:400;color:var(--text-secondary)}.cash-list[data-v-6ab148c4]{margin-top:12px}.payoff-stats[data-v-6ab148c4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}.payoff-stats>div[data-v-6ab148c4]{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius)}.payoff-stat[data-v-6ab148c4]{display:block;font-size:1.1rem;font-weight:700}.payoff-stat.util-low[data-v-6ab148c4]{color:#10b981}.payoff-stat.util-mid[data-v-6ab148c4]{color:#f59e0b}.payoff-stat.util-high[data-v-6ab148c4]{color:#ef4444}.payoff-budget[data-v-6ab148c4]{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:14px}.payoff-budget label[data-v-6ab148c4]{display:flex;flex-direction:column;gap:4px;font-size:.8rem;font-weight:500}.payoff-budget .amount-row[data-v-6ab148c4]{width:180px}.payoff-compare[data-v-6ab148c4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px}.payoff-plan[data-v-6ab148c4]{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:none;color:var(--text);cursor:pointer}.payoff-plan.active[data-v-6ab148c4]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.payoff-plan.disabled[data-v-6ab148c4]{cursor:default;opacity:.75}.payoff-plan-name[data-v-6ab148c4]{font-weight:700;display:flex;align-items:center;gap:6px}.payoff-best[data-v-6ab148c4]{font-size:.65rem;font-weight:600;padding:1px 6px;border-radius:99px;background:color-mix(in srgb,#10b981 15%,transparent);color:#10b981}.payoff-plan-desc[data-v-6ab148c4]{font-size:.75rem;color:var(--text-secondary);margin-bottom:6px}.payoff-plan-main[data-v-6ab148c4]{font-size:.9rem;font-weight:600}.payoff-plan-sub[data-v-6ab148c4]{font-size:.78rem;color:var(--text-secondary)}.payoff-never[data-v-6ab148c4]{color:#ef4444}.payoff-rank[data-v-6ab148c4]{width:22px;height:22px;border-radius:50%;background:var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.payoff-when[data-v-6ab148c4]{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;min-width:110px;text-align:right}.payoff-pay[data-v-6ab148c4]{font-weight:700;font-size:.9rem;padding:2px 10px;border-radius:99px;border:1px solid var(--border);white-space:nowrap}.payoff-pay small[data-v-6ab148c4]{font-weight:400;font-size:.7rem;color:var(--text-secondary);margin-left:1px}.payoff-pay.focus[data-v-6ab148c4]{border-color:#10b981;background:color-mix(in srgb,#10b981 14%,transparent)}.payoff-pay-total[data-v-6ab148c4]{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;padding:8px 0 0;margin-top:4px;border-top:1px solid var(--border)}.payoff-note[data-v-6ab148c4]{margin:10px 0 0;line-height:1.5}.auto-paycheck-toggle[data-v-6ab148c4]{flex-wrap:wrap;gap:6px}.auto-tag[data-v-6ab148c4]{font-size:.65rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:1px 6px;border-radius:99px;border:1px solid #10b981;color:#10b981;margin-left:4px}.pay-schedule[data-v-6ab148c4]{display:flex;flex-direction:column;gap:6px}.pay-schedule-label[data-v-6ab148c4]{font-size:.8rem;font-weight:500}.pay-schedule-row[data-v-6ab148c4]{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.pay-schedule-row>select[data-v-6ab148c4]{flex:1;min-width:160px}.pay-anchor[data-v-6ab148c4]{display:flex;flex-direction:column;gap:2px}.pay-time[data-v-6ab148c4]{width:130px}.pay-schedule-summary[data-v-6ab148c4]{font-size:.8rem;color:var(--text-secondary);margin:-4px 0 8px}.pay-next[data-v-6ab148c4]{color:#10b981;font-weight:500}.paycheck-block[data-v-6ab148c4]{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-bottom:8px}.paycheck-block .credit-txn-list[data-v-6ab148c4],.paycheck-block .credit-payment-form[data-v-6ab148c4]{align-self:stretch}.deposit-sources[data-v-6ab148c4]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.cash-flow-panel[data-v-6ab148c4]{padding:20px}.cash-flow-grid[data-v-6ab148c4]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.cash-flow-item[data-v-6ab148c4]{padding:12px 16px;border-radius:var(--radius);border:1px solid var(--border);text-align:center}.cf-label[data-v-6ab148c4]{display:block;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.cf-value[data-v-6ab148c4]{font-size:1.2rem;font-weight:700;color:var(--text)}.cf-sub[data-v-6ab148c4]{display:block;font-size:.72rem;color:var(--text-secondary);margin-top:2px}.cash-flow-income[data-v-6ab148c4]{border-color:#22c55e;background:#f0fdf4}.cash-flow-committed[data-v-6ab148c4]{border-color:#f59e0b;background:#fffbeb}.cash-flow-net.cf-positive[data-v-6ab148c4]{border-color:#6366f1;background:#eef2ff}.cash-flow-net.cf-positive .cf-value[data-v-6ab148c4]{color:#4338ca}.cash-flow-net.cf-negative[data-v-6ab148c4]{border-color:#ef4444;background:#fef2f2}.cash-flow-net.cf-negative .cf-value[data-v-6ab148c4]{color:#dc2626}.cash-flow-actual.cf-positive[data-v-6ab148c4]{border-color:#22c55e;background:#f0fdf4}.cash-flow-actual.cf-positive .cf-value[data-v-6ab148c4]{color:#16a34a}.cash-flow-actual.cf-negative[data-v-6ab148c4]{border-color:#ef4444;background:#fef2f2}.cash-flow-actual.cf-negative .cf-value[data-v-6ab148c4]{color:#dc2626}[data-theme=dark] .cash-flow-income[data-v-6ab148c4]{border-color:#166534;background:#14251a}[data-theme=dark] .cash-flow-committed[data-v-6ab148c4]{border-color:#92400e;background:#231c0e}[data-theme=dark] .cash-flow-net.cf-positive[data-v-6ab148c4]{border-color:#3730a3;background:#1a1a2e}[data-theme=dark] .cash-flow-net.cf-positive .cf-value[data-v-6ab148c4]{color:#818cf8}[data-theme=dark] .cash-flow-net.cf-negative[data-v-6ab148c4]{border-color:#991b1b;background:#240f0f}[data-theme=dark] .cash-flow-net.cf-negative .cf-value[data-v-6ab148c4]{color:#f87171}[data-theme=dark] .cash-flow-actual.cf-positive[data-v-6ab148c4]{border-color:#166534;background:#14251a}[data-theme=dark] .cash-flow-actual.cf-positive .cf-value[data-v-6ab148c4]{color:#4ade80}[data-theme=dark] .cash-flow-actual.cf-negative[data-v-6ab148c4]{border-color:#991b1b;background:#240f0f}[data-theme=dark] .cash-flow-actual.cf-negative .cf-value[data-v-6ab148c4]{color:#f87171}.cf-bar-wrap[data-v-6ab148c4]{display:flex;align-items:center;gap:12px}.cf-bar-track[data-v-6ab148c4]{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.cf-bar-committed[data-v-6ab148c4]{height:100%;background:#f59e0b;border-radius:4px;transition:width .4s ease}.cf-bar-label[data-v-6ab148c4]{font-size:.78rem;color:var(--text-secondary);white-space:nowrap}@media(max-width:600px){.cash-flow-grid[data-v-6ab148c4]{grid-template-columns:repeat(2,1fr)}.income-form-row[data-v-6ab148c4]{grid-template-columns:1fr}}.export-dropdown[data-v-6ab148c4]{position:relative}.export-menu[data-v-6ab148c4]{position:absolute;right:0;top:100%;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:50;min-width:100px;overflow:hidden}.export-menu button[data-v-6ab148c4]{display:block;width:100%;text-align:left;padding:8px 14px;font-size:.85rem;background:none;border:none;cursor:pointer;color:var(--text)}.export-menu button[data-v-6ab148c4]:hover{background:var(--bg)}.category-breakdown[data-v-6ab148c4]{display:flex;gap:20px;align-items:center;margin-top:4px}.summary-pie[data-v-6ab148c4]{flex-shrink:0}@media(max-width:500px){.category-breakdown[data-v-6ab148c4]{flex-direction:column;align-items:flex-start}}.insights-month-bar[data-v-6ab148c4]{display:flex;justify-content:flex-end;margin-bottom:4px}.callout-grid[data-v-6ab148c4]{display:flex;flex-direction:column;gap:8px}.callout-card[data-v-6ab148c4]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);font-size:.875rem}.callout-icon[data-v-6ab148c4]{font-size:1rem;width:20px;text-align:center;flex-shrink:0}.callout-text[data-v-6ab148c4]{flex:1}.callout-info[data-v-6ab148c4]{background:var(--bg);color:var(--text)}.callout-warn[data-v-6ab148c4]{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 10%,transparent);color:#92400e}.callout-good[data-v-6ab148c4]{border-color:#10b981;background:color-mix(in srgb,#10b981 10%,transparent);color:#065f46}.callout-clickable[data-v-6ab148c4]{cursor:pointer;-webkit-user-select:none;user-select:none}.callout-clickable[data-v-6ab148c4]:hover{filter:brightness(.95)}.callout-expand[data-v-6ab148c4]{font-size:.7rem;opacity:.7;flex-shrink:0}.uncat-list[data-v-6ab148c4]{border:1px solid #f59e0b;border-top:none;border-radius:0 0 var(--radius) var(--radius);overflow:hidden}.uncat-row[data-v-6ab148c4]{display:flex;align-items:center;gap:12px;padding:8px 14px;font-size:.83rem;border-top:1px solid color-mix(in srgb,#f59e0b 30%,transparent);background:color-mix(in srgb,#f59e0b 5%,var(--surface))}.uncat-row[data-v-6ab148c4]:first-child{border-top:none}.uncat-date[data-v-6ab148c4]{color:var(--text-secondary);min-width:90px;font-size:.78rem}.uncat-vendor[data-v-6ab148c4]{flex:1;font-weight:500}.uncat-vendor-link[data-v-6ab148c4]{cursor:pointer;color:var(--primary);text-decoration:underline;text-underline-offset:2px}.uncat-vendor-link[data-v-6ab148c4]:hover{opacity:.75}.uncat-amount[data-v-6ab148c4]{font-weight:600;min-width:60px;text-align:right}.breakdown-list[data-v-6ab148c4]{display:flex;flex-direction:column;gap:10px}.breakdown-row[data-v-6ab148c4]{display:flex;align-items:center;gap:10px}.breakdown-bar-wrap[data-v-6ab148c4]{flex:1;display:flex;flex-direction:column;gap:3px}.breakdown-name[data-v-6ab148c4]{font-size:.82rem;color:var(--text-secondary)}.breakdown-track[data-v-6ab148c4]{height:6px;background:var(--bg);border-radius:99px;overflow:hidden}.breakdown-fill[data-v-6ab148c4]{height:100%;border-radius:99px;transition:width .4s}.breakdown-amount[data-v-6ab148c4]{font-size:.85rem;font-weight:600;min-width:60px;text-align:right}.breakdown-pct[data-v-6ab148c4]{font-size:.78rem;color:var(--text-secondary);min-width:34px;text-align:right}.trend-wrap[data-v-6ab148c4]{position:relative}.trend-chart[data-v-6ab148c4]{display:flex;align-items:flex-end;gap:8px;height:140px;position:relative}.trend-bar-wrap[data-v-6ab148c4]{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.trend-bar-col[data-v-6ab148c4]{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}.trend-amount[data-v-6ab148c4]{font-size:.7rem;color:var(--text-secondary)}.trend-bar-track[data-v-6ab148c4]{width:100%;height:80px;display:flex;align-items:flex-end}.trend-bar-fill[data-v-6ab148c4]{width:100%;background:var(--primary);border-radius:4px 4px 0 0;opacity:.6;transition:height .4s}.trend-bar-wrap.current .trend-bar-fill[data-v-6ab148c4]{opacity:1}.trend-bar-wrap.over .trend-bar-fill[data-v-6ab148c4]{background:#ef4444}.trend-label[data-v-6ab148c4]{font-size:.72rem;color:var(--text-secondary)}.income-line[data-v-6ab148c4]{position:absolute;left:0;right:0;height:2px;background:#10b981;pointer-events:none;z-index:2}.income-line[data-v-6ab148c4]:before{content:"";position:absolute;left:0;top:-3px;width:6px;height:6px;border-radius:50%;background:#10b981}.income-line-label[data-v-6ab148c4]{position:absolute;right:0;top:-16px;font-size:.7rem;font-weight:600;color:#10b981;white-space:nowrap}.insight-callouts[data-v-6ab148c4]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.insight-chip[data-v-6ab148c4]{font-size:.8rem;padding:5px 10px;border-radius:20px;border:1px solid var(--border);background:var(--bg)}.insight-info[data-v-6ab148c4]{border-color:var(--border);color:var(--text-secondary)}.insight-warn[data-v-6ab148c4]{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 10%,transparent);color:#92400e}.insight-good[data-v-6ab148c4]{border-color:#10b981;background:color-mix(in srgb,#10b981 10%,transparent);color:#065f46}.md-editor[data-v-6ab148c4]{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.md-toolbar[data-v-6ab148c4]{display:flex;align-items:center;gap:2px;padding:4px 6px;background:var(--bg);border-bottom:1px solid var(--border)}.md-tool[data-v-6ab148c4]{padding:3px 7px;font-size:.8rem;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;line-height:1}.md-tool[data-v-6ab148c4]:hover{background:var(--border);color:var(--text)}.md-toolbar-sep[data-v-6ab148c4]{width:1px;height:16px;background:var(--border);margin:0 4px}.md-tab[data-v-6ab148c4]{padding:3px 10px;font-size:.78rem;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer}.md-tab.active[data-v-6ab148c4]{background:var(--surface);color:var(--text);font-weight:600}.md-tab[data-v-6ab148c4]:hover:not(.active){background:var(--border)}.insight-textarea[data-v-6ab148c4]{width:100%;box-sizing:border-box;resize:vertical;font-family:Courier New,monospace;font-size:.85rem;padding:10px 12px;border:none;border-radius:0;background:var(--surface);color:var(--text);line-height:1.6;min-height:120px}.insight-textarea[data-v-6ab148c4]:focus{outline:none}.insight-preview[data-v-6ab148c4]{min-height:120px;padding:10px 12px;background:var(--surface);font-size:.875rem;line-height:1.7;color:var(--text)}.md-body h1[data-v-6ab148c4],.md-body h2[data-v-6ab148c4],.md-body h3[data-v-6ab148c4]{font-weight:600;margin:.6em 0 .3em}.md-body h1[data-v-6ab148c4]{font-size:1.15rem}.md-body h2[data-v-6ab148c4]{font-size:1rem}.md-body h3[data-v-6ab148c4]{font-size:.9rem}.md-body p[data-v-6ab148c4]{margin:.4em 0}.md-body ul[data-v-6ab148c4],.md-body ol[data-v-6ab148c4]{padding-left:1.4em;margin:.4em 0}.md-body li[data-v-6ab148c4]{margin:.2em 0}.md-body code[data-v-6ab148c4]{font-family:monospace;background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:1px 4px;font-size:.82rem}.md-body pre[data-v-6ab148c4]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;overflow-x:auto}.md-body pre code[data-v-6ab148c4]{border:none;padding:0;background:none}.md-body strong[data-v-6ab148c4]{font-weight:600}.md-body em[data-v-6ab148c4]{font-style:italic}.md-body a[data-v-6ab148c4]{color:var(--primary)}.md-body blockquote[data-v-6ab148c4]{border-left:3px solid var(--border);margin:.4em 0;padding-left:10px;color:var(--text-secondary)}.md-body hr[data-v-6ab148c4]{border:none;border-top:1px solid var(--border);margin:.8em 0}.insight-actions[data-v-6ab148c4]{margin-top:10px;display:flex;justify-content:flex-end}.pie-wrap[data-v-6ab148c4]{position:relative;display:inline-block}.pie-tooltip[data-v-6ab148c4]{position:absolute;z-index:10;pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;min-width:180px;box-shadow:0 4px 12px #00000026}.pie-tooltip-title[data-v-6ab148c4]{font-weight:600;font-size:.85rem;margin-bottom:6px}.pie-tooltip ul[data-v-6ab148c4]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.pie-tooltip li[data-v-6ab148c4]{display:flex;justify-content:space-between;gap:12px;font-size:.82rem}.meta-tag[data-v-6ab148c4]{display:inline-flex;align-items:center;font-size:.7rem;font-weight:500;padding:2px 8px;border-radius:20px;white-space:nowrap;border:1px solid transparent;line-height:1.4;max-width:160px;overflow:hidden;text-overflow:ellipsis}.meta-tag--cycle[data-v-6ab148c4]{background:var(--primary-light);color:var(--primary);text-transform:capitalize}.meta-tag--category[data-v-6ab148c4]{background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border)}.meta-tag--split[data-v-6ab148c4]{background:var(--primary-light);color:var(--primary)}.meta-tag--autopay[data-v-6ab148c4]{background:#fee2e2;color:#b91c1c;border-color:#fca5a5;font-weight:600;letter-spacing:.03em}.modal-overlay[data-v-6ab148c4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000080;display:flex;align-items:center;justify-content:center}.modal-card[data-v-6ab148c4]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px;max-width:400px;width:100%;box-shadow:0 8px 32px #0000004d}.modal-title[data-v-6ab148c4]{font-size:1rem;font-weight:600;margin-bottom:12px}.modal-body[data-v-6ab148c4]{font-size:.9rem;color:var(--text-secondary);margin-bottom:20px;line-height:1.5}.modal-body strong[data-v-6ab148c4]{color:var(--text)}.modal-actions[data-v-6ab148c4]{display:flex;flex-direction:column;gap:8px}.login-page[data-v-1c5d38ad]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f0f0f}.login-card[data-v-1c5d38ad]{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:2.5rem 3rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;min-width:300px}h1[data-v-1c5d38ad]{margin:0;font-size:1.5rem;color:#fff;font-weight:600}.google-btn[data-v-1c5d38ad]{display:flex;align-items:center;gap:10px;background:#fff;color:#333;border:none;border-radius:6px;padding:10px 20px;font-size:.95rem;font-weight:500;cursor:pointer;width:100%;justify-content:center;transition:background .15s}.google-btn[data-v-1c5d38ad]:hover:not(:disabled){background:#f0f0f0}.google-btn[data-v-1c5d38ad]:disabled{opacity:.6;cursor:not-allowed}.error[data-v-1c5d38ad]{color:#f87171;font-size:.875rem;margin:0}
