.pie-chart-wrapper[data-v-a98a6443]{display:flex;flex-direction:column}.chart-area[data-v-a98a6443]{position:relative;max-width:200px;margin:0 auto 12px}.chart-center[data-v-a98a6443]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.center-amount[data-v-a98a6443]{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.ranked-list[data-v-a98a6443]{display:flex;flex-direction:column;gap:1px}.ranked-item[data-v-a98a6443]{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--border-light)}.ranked-item[data-v-a98a6443]:last-child{border-bottom:none}.ranked-dot[data-v-a98a6443]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ranked-label[data-v-a98a6443]{flex:1;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranked-value[data-v-a98a6443]{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary);flex-shrink:0}.expand-btn[data-v-a98a6443]{display:block;width:100%;padding:6px 0;border:none;background:none;font-family:var(--font);font-size:12px;font-weight:500;color:var(--accent);cursor:pointer;text-align:center;transition:opacity .2s}.expand-btn[data-v-a98a6443]:hover{opacity:.7}.empty-chart[data-v-a98a6443]{display:flex;align-items:center;justify-content:center;min-height:200px}.calendar[data-v-63985ab2]{position:relative}.month-label[data-v-63985ab2]{font-weight:600;font-size:15px;min-width:160px;text-align:center}.cal-grid[data-v-63985ab2]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-header[data-v-63985ab2]{text-align:center;font-size:12px;font-weight:600;color:var(--text-secondary);padding:6px 0}.cal-cell[data-v-63985ab2]{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:4px 2px;border-radius:var(--radius-sm);transition:background .15s;min-height:48px;cursor:default}.cal-cell[data-v-63985ab2]:not(.empty):hover{background:var(--surface-secondary)}.cal-cell.today .day-num[data-v-63985ab2]{background:var(--accent);color:#fff;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%}.day-num[data-v-63985ab2]{font-size:13px;font-weight:500;margin-bottom:2px}.dots[data-v-63985ab2]{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}.dot[data-v-63985ab2]{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.dot-bill[data-v-63985ab2]{background:var(--orange)}.dot-sub[data-v-63985ab2]{background:var(--accent)}.cal-tooltip[data-v-63985ab2]{position:absolute;bottom:60px;left:50%;transform:translate(-50%);background:#1c1c1ef2;color:#fff;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;z-index:10;white-space:nowrap;box-shadow:var(--shadow-lg)}.tooltip-item[data-v-63985ab2]{display:flex;align-items:center;gap:6px;padding:2px 0}.legend[data-v-63985ab2]{display:flex;gap:16px;font-size:12px;color:var(--text-secondary)}.legend span[data-v-63985ab2]{display:flex;align-items:center;gap:4px}.settings-dialog[data-v-20db3586]{background:var(--surface);border-radius:var(--radius-lg);padding:28px;max-width:440px;width:90%;box-shadow:var(--shadow-lg)}.settings-dialog h3[data-v-20db3586]{margin-bottom:16px;text-align:center}.presets[data-v-20db3586]{display:flex;gap:8px;margin-bottom:20px}.preset-btn[data-v-20db3586]{flex:1;padding:8px 4px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.preset-btn[data-v-20db3586]:hover{border-color:var(--accent)}.preset-btn.active[data-v-20db3586]{background:var(--accent);border-color:var(--accent);color:#fff}.sliders[data-v-20db3586]{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.slider-row[data-v-20db3586]{display:flex;align-items:center;gap:12px}.slider-row label[data-v-20db3586]{display:flex;align-items:center;gap:6px;width:80px;font-size:14px;font-weight:500;flex-shrink:0}.slider-dot[data-v-20db3586]{width:10px;height:10px;border-radius:50%;display:inline-block}.slider-row input[type=range][data-v-20db3586]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:3px;outline:none}.slider-row input[type=range][data-v-20db3586]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px #0003}.slider-value[data-v-20db3586]{width:40px;text-align:right;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.preview-bar[data-v-20db3586]{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-bottom:20px}.preview-segment[data-v-20db3586]{transition:width .3s ease}.actions[data-v-20db3586]{display:flex;gap:12px;justify-content:center}.chart-container[data-v-817af4b1]{height:300px}.empty-chart[data-v-817af4b1]{display:flex;align-items:center;justify-content:center;min-height:200px}.income-section[data-v-23f79abe]{text-align:center}.income-display[data-v-23f79abe]{display:flex;align-items:baseline;justify-content:center;position:relative;gap:2px;cursor:pointer;padding:8px;border-radius:var(--radius-md);transition:background .2s}.income-display[data-v-23f79abe]:hover{background:var(--surface)}.income-display .dollar[data-v-23f79abe]{font-size:28px;font-weight:600;color:var(--text-secondary)}.income-display .amount[data-v-23f79abe]{font-family:Manrope,system-ui;font-size:48px;font-weight:800;letter-spacing:-1px;color:var(--green)}.edit-hint[data-v-23f79abe]{position:absolute;margin-left:8px;opacity:0;transition:opacity .2s}.income-display:hover .edit-hint[data-v-23f79abe]{opacity:1}.income-edit[data-v-23f79abe]{display:flex;align-items:center;justify-content:center;gap:4px}.income-edit .dollar[data-v-23f79abe]{font-size:28px;font-weight:600;color:var(--text-secondary)}.income-input[data-v-23f79abe]{font-size:48px;font-weight:700;letter-spacing:-1px;border:none;border-bottom:2px solid var(--accent);background:transparent;text-align:center;width:300px;padding:4px;outline:none;font-family:var(--font);color:var(--text-primary)}.mt-4[data-v-23f79abe]{margin-top:4px}.expense-banner .summary-cards[data-v-23f79abe]{grid-template-columns:repeat(2,1fr)}.budget-categories[data-v-23f79abe]{display:flex;flex-direction:column;gap:12px}.budget-card[data-v-23f79abe]{padding:0;overflow:hidden}.budget-card-header[data-v-23f79abe]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;border:none;background:none;cursor:pointer;font-family:var(--font);text-align:left;color:var(--text-primary)}.budget-card-header[data-v-23f79abe]:hover{background:var(--surface-secondary)}.budget-card-left[data-v-23f79abe]{display:flex;align-items:center;gap:12px}.cat-badge[data-v-23f79abe]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:#fff;font-size:13px;font-weight:700;flex-shrink:0}.cat-name[data-v-23f79abe]{font-size:16px;font-weight:600}.cat-spent[data-v-23f79abe]{color:var(--text-secondary)}.budget-card-right[data-v-23f79abe]{display:flex;align-items:center;gap:12px}.cat-remaining[data-v-23f79abe]{font-size:18px;font-weight:700;text-align:right}.cat-remaining .text-sm[data-v-23f79abe]{font-weight:400}.chevron[data-v-23f79abe]{font-size:14px;color:var(--text-tertiary);transition:transform .25s ease}.chevron.open[data-v-23f79abe]{transform:rotate(180deg)}.progress-track[data-v-23f79abe]{height:6px;background:var(--bg);margin:0 20px;border-radius:3px;overflow:hidden;position:relative}.progress-fill[data-v-23f79abe]{height:100%;border-radius:3px;transition:width .4s ease,background .3s ease}.progress-track.warning .progress-fill[data-v-23f79abe]{animation:pulse-23f79abe 2s ease-in-out infinite}.progress-track.critical .progress-fill[data-v-23f79abe]{animation:pulse-23f79abe 1.5s ease-in-out infinite}@keyframes pulse-23f79abe{0%,to{opacity:1}50%{opacity:.7}}.progress-overflow[data-v-23f79abe]{position:absolute;top:0;right:0;height:100%;background:var(--red);opacity:.4;border-radius:3px}.progress-label[data-v-23f79abe]{padding:6px 20px 12px}.cat-items[data-v-23f79abe]{border-top:1px solid var(--border-light);padding:4px 20px 12px;animation:revealItems-23f79abe .25s ease}@keyframes revealItems-23f79abe{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.cat-item[data-v-23f79abe]{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light)}.cat-item[data-v-23f79abe]:last-child{border-bottom:none}.cat-item-left[data-v-23f79abe]{display:flex;align-items:center;gap:8px}.item-type-dot[data-v-23f79abe]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cat-item-amount[data-v-23f79abe]{font-weight:600;font-variant-numeric:tabular-nums}.text-warning[data-v-23f79abe]{color:#f59e0b}.text-critical[data-v-23f79abe]{color:#ef4444}.budget-info-hint[data-v-23f79abe]{border:none;background:none;cursor:pointer;font-size:16px;font-weight:400;color:var(--text-tertiary);margin-left:4px;padding:0 2px;vertical-align:middle;transition:color .2s}.budget-info-hint[data-v-23f79abe]:hover{color:var(--accent)}.budget-hint-text[data-v-23f79abe]{background:var(--surface);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:12px;line-height:1.5}.budget-hint-text strong[data-v-23f79abe]{color:var(--text-primary)}.btn-sm[data-v-23f79abe]{font-size:12px;padding:6px 14px}.seasonal-editor[data-v-372aed67]{padding:12px 0}.months-grid[data-v-372aed67]{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}@media (max-width: 600px){.months-grid[data-v-372aed67]{grid-template-columns:repeat(3,1fr)}}.month-input[data-v-372aed67]{display:flex;flex-direction:column;gap:4px}.month-input label[data-v-372aed67]{font-size:12px;font-weight:600;color:var(--text-secondary)}.current-month label[data-v-372aed67]{color:var(--accent)}.current-month input[data-v-372aed67]:not(:placeholder-shown){color:var(--accent)}.month-input input[data-v-372aed67]{padding:6px 8px;font-size:13px;text-align:center;width:100%}.amount-cell[data-v-f145ea91]{display:flex;align-items:center;justify-content:flex-end;gap:2px}.amount-col[data-v-f145ea91],.amount-col input[data-v-f145ea91]{text-align:right}.seasonal-amount[data-v-f145ea91]{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;padding:10px 12px 10px 0}.seasonal-active[data-v-f145ea91]{background:#0a84ff1a;color:var(--accent)!important;border-radius:50%}.notes-input[data-v-f145ea91]{field-sizing:content;resize:none;min-width:120px}.row-actions[data-v-f145ea91]{display:flex;gap:2px}.totals-row td[data-v-f145ea91]{border-top:2px solid var(--border);padding-top:12px}.bill-table[data-v-f145ea91]{min-width:800px}.bill-table th[data-v-f145ea91]:first-child,.bill-table td[data-v-f145ea91]:first-child{min-width:160px}.cat-border[data-v-f145ea91]{border-left:5px solid;border-radius:2px 0 0 2px}.read-only[data-v-8965e1c8]{padding:10px 12px;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.money-col[data-v-8965e1c8],.money-col input[data-v-8965e1c8]{text-align:right}.totals-row td[data-v-8965e1c8]{border-top:2px solid var(--border);padding-top:12px}.sub-table[data-v-8965e1c8]{min-width:900px}.sub-table th[data-v-8965e1c8]:first-child,.sub-table td[data-v-8965e1c8]:first-child{min-width:160px}.sub-table .read-only[data-v-8965e1c8]{white-space:nowrap}.name-input[data-v-8965e1c8]{field-sizing:content;resize:none;min-width:140px}.notes-input[data-v-8965e1c8]{field-sizing:content;resize:none;min-width:120px}.seasonal-amount[data-v-8965e1c8]{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;padding:10px 12px 10px 0}.seasonal-active[data-v-8965e1c8]{background:#0a84ff1a;color:var(--accent)!important;border-radius:50%}.row-actions[data-v-8965e1c8]{display:flex;gap:2px}.cat-border[data-v-8965e1c8]{border-left:5px solid;border-radius:2px 0 0 2px}.freq-col select[data-v-8965e1c8]{min-width:100px}.day-col[data-v-8965e1c8]{width:70px;max-width:70px}.day-col input[data-v-8965e1c8]{width:100%}.expense-table[data-v-5d9e037d]{min-width:600px}.expense-table th[data-v-5d9e037d]:first-child,.expense-table td[data-v-5d9e037d]:first-child{min-width:160px}.money-col[data-v-5d9e037d],.money-col input[data-v-5d9e037d]{text-align:right}.cost-cell[data-v-5d9e037d]{display:flex;align-items:center;justify-content:flex-end}.dollar-prefix[data-v-5d9e037d]{font-size:14px;color:var(--text-secondary)}.totals-row td[data-v-5d9e037d]{border-top:2px solid var(--border);padding-top:12px}.history-list[data-v-5d9e037d]{display:flex;flex-direction:column;gap:10px}.history-card[data-v-5d9e037d]{padding:0;overflow:hidden}.history-header[data-v-5d9e037d]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 20px;border:none;background:none;cursor:pointer;font-family:var(--font);color:var(--text-primary);text-align:left}.history-header[data-v-5d9e037d]:hover{background:var(--surface-secondary)}.history-label[data-v-5d9e037d]{font-weight:600;font-size:15px;margin-right:8px}.history-total[data-v-5d9e037d]{font-weight:700;font-size:16px;color:var(--red);font-variant-numeric:tabular-nums}.chevron[data-v-5d9e037d]{font-size:14px;color:var(--text-tertiary);transition:transform .25s ease}.chevron.open[data-v-5d9e037d]{transform:rotate(180deg)}.history-items[data-v-5d9e037d]{border-top:1px solid var(--border-light);padding:4px 20px 12px}.history-item[data-v-5d9e037d]{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light)}.history-item[data-v-5d9e037d]:last-child{border-bottom:none}.history-item-amount[data-v-5d9e037d]{font-weight:600;font-variant-numeric:tabular-nums}.about[data-v-16c91a6d]{max-width:720px;line-height:1.6;color:var(--text-primary)}.about h3[data-v-16c91a6d]{font-family:Manrope,system-ui;font-weight:800;font-size:18px;margin-top:28px;margin-bottom:8px;color:var(--green)}.about p[data-v-16c91a6d]{margin:0 0 14px;color:var(--text-secondary)}.about ul[data-v-16c91a6d]{margin:0 0 14px;padding-left:20px;color:var(--text-secondary)}.about li[data-v-16c91a6d]{margin-bottom:8px}.about strong[data-v-16c91a6d]{color:var(--text-primary);font-weight:600}.tagline[data-v-16c91a6d]{margin-top:24px;font-style:italic;color:var(--green)!important;font-weight:600}svg[data-v-519d49d3]{display:block;width:100%;height:100%}.app-title[data-v-7449940b]{font-family:Manrope,system-ui;font-weight:800}.app-title-row[data-v-7449940b]{display:flex;align-items:center;gap:.75rem}.app-icon-tile[data-v-7449940b]{position:relative;width:1em;height:1em;font-size:var(--app-title-size, 2rem);background:var(--green);border-radius:.18em;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-icon[data-v-7449940b]{width:78%;height:78%;color:#fff}.app-header[data-v-7449940b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.header-right[data-v-7449940b]{display:flex;align-items:center;gap:16px}.user-menu[data-v-7449940b]{position:relative}.avatar-btn[data-v-7449940b]{background:none;border:none;padding:0;cursor:pointer;border-radius:50%;line-height:0;transition:box-shadow .2s}.avatar-btn[data-v-7449940b]:hover,.avatar-btn[data-v-7449940b]:focus-visible{box-shadow:0 0 0 2px var(--green);outline:none}.avatar[data-v-7449940b]{width:32px;height:32px;border-radius:50%;display:block}.avatar-lg[data-v-7449940b]{width:40px;height:40px}.user-dropdown[data-v-7449940b]{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000001f;padding:8px 0;z-index:100}.user-dropdown-header[data-v-7449940b]{display:flex;align-items:center;gap:12px;padding:8px 16px 12px}.user-dropdown-identity[data-v-7449940b]{min-width:0}.user-dropdown-name[data-v-7449940b]{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-email[data-v-7449940b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-divider[data-v-7449940b]{height:1px;background:var(--border);margin:4px 0}.user-dropdown-item[data-v-7449940b]{display:block;width:100%;text-align:left;background:none;border:none;padding:10px 16px;font:inherit;color:var(--text-primary);cursor:pointer}.user-dropdown-item[data-v-7449940b]:hover{background:var(--surface-secondary);color:var(--red)}.theme-row[data-v-7449940b]{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:default}.user-dropdown-section[data-v-7449940b]{padding:8px 16px}.user-dropdown-label[data-v-7449940b]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:8px}.palette-options[data-v-7449940b]{display:flex;flex-direction:column;gap:4px}.palette-option[data-v-7449940b]{display:flex;align-items:center;gap:10px;padding:6px 8px;background:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font:inherit;color:var(--text-primary);text-align:left}.palette-option[data-v-7449940b]:hover{background:var(--surface-secondary)}.palette-option.active[data-v-7449940b]{border-color:var(--accent);background:var(--surface-secondary)}.palette-swatches[data-v-7449940b]{display:inline-flex;gap:2px}.palette-swatch[data-v-7449940b]{width:14px;height:14px;border-radius:3px;border:1px solid var(--border)}.theme-row[data-v-7449940b]:hover{background:transparent;color:var(--text-primary)}.sign-in-link[data-v-7449940b]{color:var(--accent);cursor:pointer;font-weight:500}.sign-in-link[data-v-7449940b]:hover{text-decoration:underline}.theme-toggle[data-v-7449940b]{border:none;background:none;cursor:pointer;padding:0;outline:none}.toggle-track[data-v-7449940b]{width:56px;height:28px;border-radius:14px;background:linear-gradient(180deg,#74b9ff,#81ecec);position:relative;overflow:hidden;transition:background .4s ease}.dark .toggle-track[data-v-7449940b]{background:linear-gradient(180deg,#2d3436,#636e72)}.toggle-thumb[data-v-7449940b]{width:22px;height:22px;border-radius:50%;background:#ffeaa7;position:absolute;top:3px;left:3px;transition:all .4s ease;box-shadow:0 0 6px #fdcb6e99;z-index:2}.dark .toggle-thumb[data-v-7449940b]{left:31px;background:#dfe6e9;box-shadow:0 0 6px #dfe6e966}.crater[data-v-7449940b]{position:absolute;border-radius:50%;background:#b2bec3;opacity:0;transition:opacity .4s ease}.dark .crater[data-v-7449940b]{opacity:1}.crater-1[data-v-7449940b]{width:5px;height:5px;top:4px;left:6px}.crater-2[data-v-7449940b]{width:3px;height:3px;top:12px;left:10px}.crater-3[data-v-7449940b]{width:4px;height:4px;top:8px;left:3px}.stars[data-v-7449940b]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.star[data-v-7449940b]{position:absolute;border-radius:50%;background:#fff;opacity:0;transition:opacity .4s ease}.dark .star[data-v-7449940b]{opacity:1}.star-1[data-v-7449940b]{width:2px;height:2px;top:6px;left:10px}.star-2[data-v-7449940b]{width:3px;height:3px;top:16px;left:16px}.star-3[data-v-7449940b]{width:2px;height:2px;top:10px;left:22px}.sync-badge[data-v-7449940b]{font-size:8px;color:var(--green);margin-left:6px;vertical-align:middle;transition:color .3s}.sync-badge.syncing[data-v-7449940b]{color:var(--orange);animation:pulse-7449940b 1s ease infinite}@keyframes pulse-7449940b{0%,to{opacity:1}50%{opacity:.3}}.tab-bar[data-v-7449940b]{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;border-bottom:1px solid var(--border);margin-bottom:28px}.tab-buttons[data-v-7449940b]{display:flex;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tab-buttons[data-v-7449940b]::-webkit-scrollbar{display:none}.tab-btn[data-v-7449940b],.month-select[data-v-7449940b]{flex-shrink:0}.month-select[data-v-7449940b]{font-family:var(--font);font-size:14px;font-weight:500;padding:4px 28px 4px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--green);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:auto;max-width:150px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' fill='none' stroke='%238e8e93' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:border-color .2s}.month-select[data-v-7449940b]:hover{border-color:var(--green)}.month-select[data-v-7449940b]:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #118c4f26}.tab-btn[data-v-7449940b]{padding:10px 20px;border:none;background:none;font-family:var(--font);font-size:15px;font-weight:500;color:var(--text-secondary);cursor:pointer;position:relative;transition:color .2s ease}.tab-btn[data-v-7449940b]:hover{color:var(--text-primary)}.tab-btn.active[data-v-7449940b]{color:var(--green)}.tab-btn.active[data-v-7449940b]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2.5px;background:var(--green);border-radius:2px 2px 0 0;animation:slideIn-7449940b .25s ease}@keyframes slideIn-7449940b{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tab-content[data-v-7449940b]{min-height:400px}:root{--accent: #0a84ff;--accent-light: #409cff;--green: #118C4F;--red: #ff453a;--orange: #ff9f0a;--yellow: #ffd60a;--teal: #64d2ff;--bg: #f2f2f7;--surface: #ffffff;--surface-secondary: #f9f9fb;--border: #e5e5ea;--border-light: #f0f0f5;--text-primary: #1c1c1e;--text-secondary: #8e8e93;--text-tertiary: #aeaeb2;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif}[data-theme=dark]{--bg: #1c1c1e;--surface: #2c2c2e;--surface-secondary: #3a3a3c;--border: #48484a;--border-light: #38383a;--text-primary: #f5f5f7;--text-secondary: #98989d;--text-tertiary: #6e6e73;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5)}[data-palette=bonsai]{--accent: #4F128C;--accent-light: #7a3fb8;--red: #8b1e2e;--orange: #b8860b;--yellow: #c9a227;--teal: #3a8a85;--bg: #f4f1e9;--surface: #ffffff;--surface-secondary: #faf8f1;--border: #e8e3d5;--border-light: #f1ede2}[data-palette=bonsai][data-theme=dark]{--accent: #7a3fb8;--accent-light: #9a5ec0;--red: #c94b5c;--orange: #d4a437;--bg: #18191a;--surface: #23242a;--surface-secondary: #2d2e35;--border: #3a3b42;--border-light: #2f3036}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1100px;margin:0 auto;padding:24px 20px 60px}h1{font-size:34px;font-weight:700;letter-spacing:-.5px}h2{font-family:Manrope,system-ui;font-size:22px;font-weight:800;letter-spacing:-.3px;color:var(--green)}h3{font-size:17px;font-weight:600}.text-secondary{color:var(--text-secondary)}.text-sm{font-size:13px}.card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px;transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius-sm);font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;background:var(--accent);color:#fff}.btn:hover{filter:brightness(1.1)}.btn:active{transform:scale(.97)}.btn-secondary{background:var(--bg);color:var(--text-primary)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--red);color:#fff}.btn-sm{padding:5px 10px;font-size:13px}.btn-icon{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.btn-icon:hover{background:var(--bg);color:var(--text-primary)}input[type=text],input[type=number],select,textarea{font-family:var(--font);font-size:15px;padding:8px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0a84ff26}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.data-table th{text-align:left;padding:10px 12px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table th:hover{color:var(--text-primary)}.data-table th .sort-arrow{display:inline-block;margin-left:4px;opacity:.55;transition:opacity .2s}.data-table th.sorted .sort-arrow{opacity:1;color:var(--accent)}.data-table td{padding:10px 12px;border-bottom:1px solid var(--border-light);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .15s ease}.data-table tbody tr:hover{background:var(--surface-secondary)}.data-table .row-dimmed{opacity:.45}.cell-edit{padding:0}.cell-edit input,.cell-edit select{border:none;border-radius:0;padding:10px 12px;background:transparent;width:100%;font-size:14px}.cell-edit input:focus,.cell-edit select:focus{background:#0a84ff0f;box-shadow:none}.chip{display:inline-block;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:500;background:var(--bg);color:var(--text-secondary);margin:1px 2px}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.chart-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 900px){.chart-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.chart-row{grid-template-columns:1fr}#app{padding:16px 12px 40px}}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 600px){.summary-cards{grid-template-columns:1fr}}.summary-card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px;text-align:center}.summary-card .label{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.summary-card .value{font-size:28px;font-weight:700;letter-spacing:-.5px}.empty-state{text-align:center;padding:48px 20px;color:var(--text-tertiary)}.empty-state .icon{font-size:48px;margin-bottom:12px}.empty-state p{font-size:15px;margin-bottom:16px}.toggle{position:relative;width:44px;height:26px;display:inline-block}.toggle input{opacity:0;width:0;height:0}.toggle .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--border);border-radius:13px;transition:background .3s}.toggle .slider:before{content:"";position:absolute;width:22px;height:22px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 1px 3px #0003}.toggle input:checked+.slider{background:var(--accent)}.toggle input:checked+.slider:before{transform:translate(18px)}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog{background:var(--surface);border-radius:var(--radius-lg);padding:28px;max-width:340px;width:90%;box-shadow:var(--shadow-lg);text-align:center}.confirm-dialog h3{margin-bottom:8px}.confirm-dialog p{color:var(--text-secondary);font-size:14px;margin-bottom:20px}.confirm-dialog .actions{display:flex;gap:12px;justify-content:center}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}[data-theme=dark] select option{background:var(--surface);color:var(--text-primary)}[data-theme=dark] .confirm-overlay{background:#0009}
