:root{--color-primary: #3b82f6;--color-primary-dark: #2563eb;--color-primary-light: #eff6ff;--color-background: #f8fafc;--color-surface: #ffffff;--color-text: #1e293b;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-success: #10b981;--color-success-bg: #f0fdf4;--color-success-bg-strong: #dcfce7;--color-success-border: #86efac;--color-error: #ef4444;--color-error-bg: #fef2f2;--color-error-bg-strong: #fee2e2;--color-error-border: #fecaca;--color-warning: #f59e0b;--color-warning-bg: #fefce8;--color-warning-bg-strong: #fef3c7;--color-warning-border: #fcd34d;--color-info: #3b82f6;--color-info-bg: #f0f9ff;--color-info-border: #93c5fd;--nav-height: 64px}:root.dark{--color-primary: #0058e6;--color-primary-dark: #0044b3;--color-primary-light: #0062ff;--color-background: #0f172a;--color-surface: #1e293b;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-border: #334155;--color-border-light: #1e293b;--color-success: #34d399;--color-success-bg: #064e3b;--color-success-bg-strong: #065f46;--color-success-border: #047857;--color-error: #f87171;--color-error-bg: #450a0a;--color-error-bg-strong: #7f1d1d;--color-error-border: #991b1b;--color-warning: #fbbf24;--color-warning-bg: #422006;--color-warning-bg-strong: #78350f;--color-warning-border: #92400e;--color-info: #60a5fa;--color-info-bg: #1e3a5f;--color-info-border: #1d4ed8}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--color-background);color:var(--color-text);line-height:1.5;transition:background-color .2s ease,color .2s ease}input,select,textarea{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}.app[data-v-50a4b954]{min-height:100vh;display:flex;flex-direction:column;container-type:inline-size;container-name:app}.nav-bar[data-v-50a4b954]{position:fixed;bottom:0;left:0;right:0;height:var(--nav-height);background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;padding:0 .5rem;z-index:50}@container app (min-width: 768px){.nav-bar[data-v-50a4b954]{top:0;bottom:auto;border-top:none;border-bottom:1px solid var(--color-border);padding:0 2rem}}.nav-links[data-v-50a4b954]{display:flex;align-items:center;flex:1;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:.125rem;padding:0 .25rem}@container app (min-width: 768px){.nav-links[data-v-50a4b954]{justify-content:center;gap:.5rem;flex:none;overflow:visible;padding:0}}.nav-links[data-v-50a4b954]::-webkit-scrollbar{display:none}.nav-link[data-v-50a4b954]{display:flex;flex-direction:column;align-items:center;gap:.0625rem;padding:.375rem .5rem;text-decoration:none;color:var(--color-text-muted);border-radius:8px;transition:all .2s;flex-shrink:0;min-width:3.5rem}@container app (min-width: 768px){.nav-link[data-v-50a4b954]{flex-direction:row;gap:.5rem;padding:.5rem 1rem}}.nav-link[data-v-50a4b954]:hover{background:var(--color-background)}.nav-link.active[data-v-50a4b954]{color:var(--color-primary-light)}.nav-icon[data-v-50a4b954]{font-size:1.125rem}@container app (min-width: 768px){.nav-icon[data-v-50a4b954]{font-size:1.25rem}}.nav-label[data-v-50a4b954]{font-size:.625rem;font-weight:500}@container app (min-width: 768px){.nav-label[data-v-50a4b954]{font-size:.875rem}}.user-menu[data-v-50a4b954]{display:flex;align-items:center;gap:.25rem;flex-shrink:0;padding-left:.25rem;border-left:1px solid var(--color-border);margin-left:.25rem}@container app (min-width: 768px){.user-menu[data-v-50a4b954]{gap:.75rem;position:absolute;right:2rem;border-left:none;margin-left:0;padding-left:0}}.user-name[data-v-50a4b954]{display:none;font-size:.875rem;font-weight:500;color:var(--color-text-muted)}@container app (min-width: 768px){.user-name[data-v-50a4b954]{display:block}}.logout-btn[data-v-50a4b954]{background:none;border:none;cursor:pointer;padding:.375rem;border-radius:8px;font-size:1rem;transition:background-color .15s ease;color:var(--color-text-muted)}@container app (min-width: 768px){.logout-btn[data-v-50a4b954]{padding:.5rem;font-size:1.25rem}}.logout-btn[data-v-50a4b954]:hover{background:var(--color-background)}.main-content[data-v-50a4b954]{flex:1;padding:.75rem;padding-bottom:calc(var(--nav-height) + .75rem);max-width:800px;margin:0 auto;width:100%}@container app (min-width: 768px){.main-content[data-v-50a4b954]{padding:1rem;padding-top:calc(var(--nav-height) + 1rem);padding-bottom:2rem}}.loading-overlay[data-v-50a4b954]{position:fixed;inset:0;background:#fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}:root.dark .loading-overlay[data-v-50a4b954]{background:#0f172acc}.loading-spinner[data-v-50a4b954]{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-50a4b954 1s linear infinite}.loading-text[data-v-50a4b954]{margin-top:1rem;color:var(--color-text-muted);font-size:.875rem}@keyframes spin-50a4b954{to{transform:rotate(360deg)}}.success-toast[data-v-50a4b954]{position:fixed;bottom:calc(var(--nav-height) + .75rem);left:50%;transform:translate(-50%);background:var(--color-success);color:#fff;padding:.5rem 1rem;border-radius:8px;font-weight:500;font-size:.875rem;z-index:100}.error-toast[data-v-50a4b954]{position:fixed;bottom:calc(var(--nav-height) + .75rem);left:50%;transform:translate(-50%);background:#dc2626;color:#fff;padding:.5rem 1rem;border-radius:8px;font-weight:500;font-size:.875rem;z-index:100}.info-toast[data-v-50a4b954]{position:fixed;bottom:calc(var(--nav-height) + .75rem);left:50%;transform:translate(-50%);background:var(--color-info);color:#fff;padding:.5rem 1rem;border-radius:8px;font-weight:500;font-size:.875rem;z-index:100}@container app (min-width: 768px){.info-toast[data-v-50a4b954]{bottom:2rem;padding:.75rem 1.5rem;font-size:1rem}}@container app (min-width: 768px){.success-toast[data-v-50a4b954],.error-toast[data-v-50a4b954]{bottom:2rem}}.sandbox-panel[data-v-94932554]{background:#fffbeb;border:2px solid #f59e0b;border-radius:12px;padding:1rem}:root.dark .sandbox-panel[data-v-94932554]{background:#422006;border-color:#d97706}.sandbox-header[data-v-94932554]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sandbox-header h3[data-v-94932554]{margin:0;color:#92400e}:root.dark .sandbox-header h3[data-v-94932554]{color:#fcd34d}.sandbox-actions[data-v-94932554]{display:flex;gap:.5rem}.sandbox-content[data-v-94932554]{display:flex;flex-direction:column;gap:1.5rem}.sandbox-section h4[data-v-94932554]{font-size:.875rem;font-weight:500;margin:0 0 .75rem;color:#78350f}:root.dark .sandbox-section h4[data-v-94932554]{color:#fcd34d}.section-hint[data-v-94932554]{font-size:.75rem;color:#92400e;margin:0 0 .75rem}:root.dark .section-hint[data-v-94932554]{color:#fbbf24}.type-toggle[data-v-94932554]{display:flex;gap:.5rem;margin-bottom:.75rem}.type-btn[data-v-94932554]{flex:1;padding:.5rem;border:2px solid #fcd34d;border-radius:6px;background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:.875rem;font-weight:500}:root.dark .type-btn[data-v-94932554]{border-color:#92400e}.type-btn.active[data-v-94932554]{border-color:#f59e0b;background:#fef3c7;color:#78350f}:root.dark .type-btn.active[data-v-94932554]{background:#78350f;color:#fcd34d}.add-contract-form[data-v-94932554]{display:flex;gap:.5rem;flex-wrap:wrap}.input[data-v-94932554]{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;background:var(--color-surface);color:var(--color-text)}.input-amount[data-v-94932554]{width:100px}.select[data-v-94932554]{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;background:var(--color-surface);color:var(--color-text)}.btn-add[data-v-94932554]{width:36px;height:36px;border:none;border-radius:6px;background:#f59e0b;color:#fff;font-size:1.25rem;cursor:pointer}.btn-add[data-v-94932554]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-94932554]{padding:.5rem 1rem;border:none;border-radius:6px;background:#f59e0b;color:#fff;font-size:.875rem;cursor:pointer}.btn-secondary[data-v-94932554]{padding:.5rem 1rem;border:1px solid #d97706;border-radius:6px;background:var(--color-surface);color:#d97706;font-size:.875rem;cursor:pointer}:root.dark .btn-secondary[data-v-94932554]{border-color:#fbbf24;color:#fbbf24}.btn-close[data-v-94932554]{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:#78350f;font-size:1rem;cursor:pointer}:root.dark .btn-close[data-v-94932554]{color:#fbbf24}.temp-contracts[data-v-94932554]{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.temp-contracts-label[data-v-94932554]{font-size:.75rem;font-weight:600;color:#78350f;margin-top:.5rem}:root.dark .temp-contracts-label[data-v-94932554]{color:#fbbf24}.temp-contracts-label.income-label[data-v-94932554]{color:#059669}:root.dark .temp-contracts-label.income-label[data-v-94932554]{color:#34d399}.temp-contract-item[data-v-94932554]{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--color-surface);border-radius:6px}.temp-contract-item.income-item[data-v-94932554]{background:#f0fdf4}:root.dark .temp-contract-item.income-item[data-v-94932554]{background:#064e3b}.temp-contract-item .contract-name[data-v-94932554]{flex:1}.temp-contract-item .contract-amount[data-v-94932554]{font-weight:500}.income-amount[data-v-94932554]{color:var(--color-success)}.btn-remove[data-v-94932554]{width:24px;height:24px;border:none;border-radius:4px;background:var(--color-error-border);color:var(--color-error);cursor:pointer}.contracts-toggle-list[data-v-94932554]{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.contract-toggle[data-v-94932554]{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--color-surface);border-radius:6px;cursor:pointer}.contract-toggle input[data-v-94932554]{width:18px;height:18px}.contract-toggle .contract-icon[data-v-94932554]{font-size:.875rem}.contract-toggle .contract-name[data-v-94932554]{flex:1}.contract-toggle .contract-amount[data-v-94932554]{color:var(--color-text-muted);font-size:.875rem}.contract-toggle .contract-amount.income-amount[data-v-94932554]{color:var(--color-success)}.contract-toggle.is-income[data-v-94932554]{background:#f0fdf4}:root.dark .contract-toggle.is-income[data-v-94932554]{background:#064e3b}.contracts-group[data-v-94932554]{margin-bottom:1rem}.contracts-group[data-v-94932554]:last-child{margin-bottom:0}.group-label[data-v-94932554]{font-size:.75rem;font-weight:600;color:#78350f;margin-bottom:.5rem}:root.dark .group-label[data-v-94932554]{color:#fbbf24}.group-label.income-label[data-v-94932554]{color:#059669}:root.dark .group-label.income-label[data-v-94932554]{color:#34d399}.contracts-adjust-list[data-v-94932554]{display:flex;flex-direction:column;gap:.5rem;max-height:250px;overflow-y:auto}.contract-adjust-item[data-v-94932554]{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--color-surface);border-radius:6px;border:1px solid transparent}.contract-adjust-item.is-income[data-v-94932554]{background:#f0fdf4}:root.dark .contract-adjust-item.is-income[data-v-94932554]{background:#064e3b}.contract-adjust-item.is-disabled[data-v-94932554]{opacity:.5}.contract-adjust-item.has-change[data-v-94932554]{border-color:#f59e0b;background:#fffbeb}:root.dark .contract-adjust-item.has-change[data-v-94932554]{background:#78350f}.contract-adjust-item.is-income.has-change[data-v-94932554]{background:#ecfdf5;border-color:#10b981}:root.dark .contract-adjust-item.is-income.has-change[data-v-94932554]{background:#065f46}.contract-checkbox[data-v-94932554]{width:18px;height:18px;flex-shrink:0}.contract-adjust-item .contract-name[data-v-94932554]{flex:1;font-size:.875rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amount-display[data-v-94932554]{display:flex;align-items:center;gap:.5rem}.amount-edit[data-v-94932554]{display:flex;align-items:center;gap:.25rem}.amount-input[data-v-94932554]{width:80px;padding:.25rem .5rem;border:1px solid #f59e0b;border-radius:4px;font-size:.875rem;text-align:right;background:var(--color-surface);color:var(--color-text)}.contract-adjust-item .contract-amount[data-v-94932554]{font-size:.875rem;font-weight:500}.contract-adjust-item .contract-amount.clickable[data-v-94932554]{cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .15s}.contract-adjust-item .contract-amount.clickable[data-v-94932554]:hover{background:#f59e0b33}.amount-diff[data-v-94932554]{font-size:.75rem;color:#059669;font-weight:500}.amount-diff.expense-diff[data-v-94932554]{color:#dc2626}.btn-save[data-v-94932554]{width:24px;height:24px;border:none;border-radius:4px;background:#10b981;color:#fff;cursor:pointer;font-size:.875rem}.btn-cancel[data-v-94932554]{width:24px;height:24px;border:none;border-radius:4px;background:#6b7280;color:#fff;cursor:pointer;font-size:.875rem}.btn-reset[data-v-94932554]{width:24px;height:24px;border:none;border-radius:4px;background:#fef3c7;color:#92400e;cursor:pointer;font-size:.875rem}.btn-reset[data-v-94932554]:hover{background:#fcd34d}:root.dark .btn-reset[data-v-94932554]{background:#78350f;color:#fcd34d}:root.dark .btn-reset[data-v-94932554]:hover{background:#92400e}.deadline-widget[data-v-96bc83d2]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.widget-header[data-v-96bc83d2]{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--color-border)}.widget-header h3[data-v-96bc83d2]{margin:0;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.header-icon[data-v-96bc83d2]{font-size:1.125rem}.urgent-badge[data-v-96bc83d2]{background:var(--color-error);color:#fff;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.deadline-count[data-v-96bc83d2]{background:var(--color-background);padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600;color:var(--color-text-muted)}.notification-banner[data-v-96bc83d2]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-info-bg);border-bottom:1px solid var(--color-info-border);font-size:.875rem}.btn-notify[data-v-96bc83d2]{padding:.375rem .75rem;background:var(--color-info);color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer}.btn-notify[data-v-96bc83d2]:hover{opacity:.9}.deadline-list[data-v-96bc83d2]{display:flex;flex-direction:column}.deadline-item[data-v-96bc83d2]{display:flex;gap:.75rem;padding:1rem;border-bottom:1px solid var(--color-border);transition:background .15s}.deadline-item[data-v-96bc83d2]:last-child{border-bottom:none}.deadline-item[data-v-96bc83d2]:hover{background:var(--color-background)}.deadline-item.critical[data-v-96bc83d2]{background:var(--color-error-bg)}.deadline-item.critical[data-v-96bc83d2]:hover{background:var(--color-error-bg-strong)}.deadline-item.warning[data-v-96bc83d2]{background:var(--color-warning-bg)}.deadline-item.warning[data-v-96bc83d2]:hover{background:var(--color-warning-bg-strong)}.deadline-indicator[data-v-96bc83d2]{width:4px;border-radius:2px;flex-shrink:0}.deadline-content[data-v-96bc83d2]{flex:1;min-width:0}.deadline-header[data-v-96bc83d2]{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.contract-name[data-v-96bc83d2]{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deadline-date[data-v-96bc83d2]{font-weight:600;font-size:.875rem;white-space:nowrap}.deadline-details[data-v-96bc83d2]{display:flex;flex-wrap:wrap;gap:1rem;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.5rem}.detail-item[data-v-96bc83d2]{display:flex;gap:.25rem}.detail-label[data-v-96bc83d2]{opacity:.8}.deadline-actions[data-v-96bc83d2]{display:flex;gap:.5rem}.btn-dismiss[data-v-96bc83d2]{padding:.25rem .5rem;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .15s}.btn-dismiss[data-v-96bc83d2]:hover{background:var(--color-border-light);color:var(--color-text)}.no-deadlines[data-v-96bc83d2]{padding:2rem;text-align:center;color:var(--color-text-muted)}.no-deadlines p[data-v-96bc83d2]{margin:0}.button[data-v-0bb804ce]{border:none;border-radius:8px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background .15s,color .15s,transform .1s,box-shadow .15s}.button[data-v-0bb804ce]:active:not(.disabled){transform:scale(.98)}.button.disabled[data-v-0bb804ce]{opacity:.5;cursor:not-allowed}.button.full-width[data-v-0bb804ce]{width:100%}.size-sm[data-v-0bb804ce]{padding:.375rem .75rem;font-size:.8125rem}.size-md[data-v-0bb804ce]{padding:.5rem 1rem;font-size:.875rem}.size-lg[data-v-0bb804ce]{padding:.75rem 1.5rem;font-size:1rem}.variant-primary[data-v-0bb804ce]{background:var(--color-primary);color:#fff}.variant-primary[data-v-0bb804ce]:hover:not(.disabled){background:var(--color-primary-dark)}.variant-secondary[data-v-0bb804ce]{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.variant-secondary[data-v-0bb804ce]:hover:not(.disabled){background:var(--color-background);border-color:var(--color-text-muted)}.variant-success[data-v-0bb804ce]{background:var(--color-success);color:#fff}.variant-success[data-v-0bb804ce]:hover:not(.disabled){filter:brightness(1.1)}.variant-danger[data-v-0bb804ce]{background:var(--color-error);color:#fff}.variant-danger[data-v-0bb804ce]:hover:not(.disabled){filter:brightness(1.1)}.variant-ghost[data-v-0bb804ce]{background:transparent;color:var(--color-text)}.variant-ghost[data-v-0bb804ce]:hover:not(.disabled){background:var(--color-background)}.icon-button[data-v-3caf5627]{border:none;border-radius:6px;background:var(--color-background);color:var(--color-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s,transform .1s}.icon-button[data-v-3caf5627]:hover:not(.disabled){background:var(--color-border)}.icon-button[data-v-3caf5627]:active:not(.disabled){transform:scale(.95)}.icon-button.disabled[data-v-3caf5627]{opacity:.5;cursor:not-allowed}.size-sm[data-v-3caf5627]{width:24px;height:24px;font-size:.6875rem}.size-md[data-v-3caf5627]{width:28px;height:28px;font-size:.75rem}.size-lg[data-v-3caf5627]{width:32px;height:32px;font-size:.875rem}.variant-default[data-v-3caf5627]:hover:not(.disabled){background:var(--color-border)}.variant-danger[data-v-3caf5627]:hover:not(.disabled){background:var(--color-error-bg);color:var(--color-error)}.variant-success[data-v-3caf5627]:hover:not(.disabled){background:var(--color-success-bg);color:var(--color-success)}.variant-primary[data-v-3caf5627]{background:var(--color-primary-light);color:var(--color-primary)}.variant-primary[data-v-3caf5627]:hover:not(.disabled){background:var(--color-primary);color:#fff}.badge[data-v-3abca681]{display:inline-flex;align-items:center;gap:.25rem;font-weight:600;border-radius:4px;white-space:nowrap}.size-sm[data-v-3abca681]{padding:.125rem .375rem;font-size:.625rem}.size-md[data-v-3abca681]{padding:.25rem .5rem;font-size:.75rem}.variant-default[data-v-3abca681]{background:var(--color-background);color:var(--color-text-muted)}.variant-success[data-v-3abca681]{background:var(--color-success-bg);color:var(--color-success)}.variant-error[data-v-3abca681]{background:var(--color-error-bg);color:var(--color-error)}.variant-warning[data-v-3abca681]{background:var(--color-warning-bg);color:var(--color-warning)}.variant-info[data-v-3abca681]{background:var(--color-info-bg);color:var(--color-info)}.monthly-breakdown[data-v-3b9cab83]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1rem;container-type:inline-size;container-name:monthly-breakdown}@container monthly-breakdown (min-width: 400px){.monthly-breakdown[data-v-3b9cab83]{padding:1.5rem}}.breakdown-header[data-v-3b9cab83]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}@container monthly-breakdown (min-width: 350px){.breakdown-header[data-v-3b9cab83]{flex-direction:row;justify-content:space-between;align-items:center}}.breakdown-header h2[data-v-3b9cab83]{margin:0;font-size:1.125rem;font-weight:600}@container monthly-breakdown (min-width: 400px){.breakdown-header h2[data-v-3b9cab83]{font-size:1.25rem}}.year-selector[data-v-3b9cab83]{display:flex;align-items:center;gap:.5rem}.year-btn[data-v-3b9cab83]{width:28px;height:28px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-background);cursor:pointer;font-weight:700}.year-btn[data-v-3b9cab83]:hover{background:var(--color-surface)}.year-display[data-v-3b9cab83]{font-weight:600;min-width:60px;text-align:center;cursor:pointer}.year-display[data-v-3b9cab83]:hover{color:var(--color-primary)}.empty-state[data-v-3b9cab83]{text-align:center;padding:2rem;color:var(--color-text-muted)}.year-summary[data-v-3b9cab83]{display:flex;flex-direction:column;background:var(--color-background);border-radius:8px;border:1px solid var(--color-border-light);margin-bottom:1.5rem;overflow:hidden}.summary-row[data-v-3b9cab83]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light)}.summary-row[data-v-3b9cab83]:last-child{border-bottom:none}.summary-row.deposit[data-v-3b9cab83]{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.summary-row.income .summary-value[data-v-3b9cab83]{color:var(--color-success)}.summary-row.expenses .summary-value[data-v-3b9cab83]{color:var(--color-error)}.summary-row.balance.positive[data-v-3b9cab83]{background:var(--color-success-bg)}.summary-row.balance.positive .summary-value[data-v-3b9cab83]{color:var(--color-success)}.summary-row.balance.negative[data-v-3b9cab83]{background:var(--color-error-bg)}.summary-row.balance.negative .summary-value[data-v-3b9cab83]{color:var(--color-error)}.summary-icon[data-v-3b9cab83]{font-size:1.125rem;flex-shrink:0;width:1.5rem;text-align:center}.summary-label[data-v-3b9cab83]{flex:1;font-size:.75rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container monthly-breakdown (min-width: 350px){.summary-label[data-v-3b9cab83]{font-size:.875rem}}.summary-row.deposit .summary-label[data-v-3b9cab83]{font-weight:500}.summary-value[data-v-3b9cab83]{font-size:.8125rem;font-weight:600;white-space:nowrap;text-align:right;flex-shrink:0}@container monthly-breakdown (min-width: 350px){.summary-value[data-v-3b9cab83]{font-size:.9375rem}}.months-grid[data-v-3b9cab83]{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@container monthly-breakdown (min-width: 400px){.months-grid[data-v-3b9cab83]{grid-template-columns:repeat(3,1fr);gap:.75rem}}@container monthly-breakdown (min-width: 550px){.months-grid[data-v-3b9cab83]{grid-template-columns:repeat(4,1fr)}}@container monthly-breakdown (min-width: 700px){.months-grid[data-v-3b9cab83]{grid-template-columns:repeat(6,1fr)}}.month-card[data-v-3b9cab83]{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:.5rem;cursor:pointer;transition:all .15s ease;text-align:left;font-family:inherit;container-type:inline-size;container-name:month-card}@container monthly-breakdown (min-width: 400px){.month-card[data-v-3b9cab83]{padding:.75rem}}.month-card[data-v-3b9cab83]:hover{border-color:var(--color-primary);background:var(--color-surface)}.month-card.current-month[data-v-3b9cab83]{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.month-header[data-v-3b9cab83]{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem}.month-name[data-v-3b9cab83]{font-weight:600;font-size:.875rem;color:var(--color-text)}.current-month .month-name[data-v-3b9cab83]{color:#fff}.month-values[data-v-3b9cab83]{display:flex;flex-direction:column;gap:.125rem}@container month-card (min-width: 120px){.month-values[data-v-3b9cab83]{gap:.25rem}}.month-row[data-v-3b9cab83]{display:flex;flex-direction:column;align-items:flex-start;font-size:.75rem;gap:0}@container month-card (min-width: 100px){.month-row[data-v-3b9cab83]{flex-direction:row;justify-content:space-between;align-items:center;gap:.25rem}}@container month-card (min-width: 120px){.month-row[data-v-3b9cab83]{font-size:.8125rem}}.month-label[data-v-3b9cab83]{color:var(--color-text-muted);font-size:.625rem;white-space:nowrap}@container month-card (min-width: 100px){.month-label[data-v-3b9cab83]{font-size:.6875rem}}@container month-card (min-width: 120px){.month-label[data-v-3b9cab83]{font-size:.75rem}}.current-month .month-label[data-v-3b9cab83]{color:#ffffffb3}.month-income[data-v-3b9cab83],.month-expenses[data-v-3b9cab83],.month-balance-value[data-v-3b9cab83]{font-weight:600;font-size:.75rem;white-space:nowrap}@container month-card (min-width: 120px){.month-income[data-v-3b9cab83],.month-expenses[data-v-3b9cab83],.month-balance-value[data-v-3b9cab83]{font-size:.8125rem}}.month-income[data-v-3b9cab83]{color:var(--color-success)}.current-month .month-income[data-v-3b9cab83]{color:#86efac}.month-expenses[data-v-3b9cab83]{color:var(--color-error)}.current-month .month-expenses[data-v-3b9cab83]{color:#fca5a5}.month-row.balance[data-v-3b9cab83]{margin-top:.25rem;padding-top:.25rem;border-top:1px solid var(--color-border-light)}.current-month .month-row.balance[data-v-3b9cab83]{border-top-color:#fff3}.month-row.balance.positive .month-balance-value[data-v-3b9cab83]{color:var(--color-success)}.current-month .month-row.balance.positive .month-balance-value[data-v-3b9cab83]{color:#86efac}.month-row.balance.negative .month-balance-value[data-v-3b9cab83]{color:var(--color-error)}.current-month .month-row.balance.negative .month-balance-value[data-v-3b9cab83]{color:#fca5a5}.month-empty[data-v-3b9cab83]{color:var(--color-text-muted);font-size:.8125rem;text-align:center;padding:.5rem 0}.current-month .month-empty[data-v-3b9cab83]{color:#ffffffb3}.modal-overlay[data-v-3b9cab83]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-content[data-v-3b9cab83]{background:var(--color-surface);border-radius:12px;width:100%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header[data-v-3b9cab83]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface);z-index:1}.modal-header h3[data-v-3b9cab83]{margin:0;font-size:1.25rem;font-weight:600}.modal-close[data-v-3b9cab83]{width:32px;height:32px;border:none;background:var(--color-background);border-radius:6px;cursor:pointer;font-size:1rem;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center}.modal-close[data-v-3b9cab83]:hover{background:var(--color-border);color:var(--color-text)}.modal-summary[data-v-3b9cab83]{display:flex;gap:1rem;padding:1rem 1.25rem;background:var(--color-background);border-bottom:1px solid var(--color-border)}.modal-summary-item[data-v-3b9cab83]{flex:1;text-align:center}.modal-summary-item .summary-label[data-v-3b9cab83]{display:block;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.25rem}.modal-summary-item .summary-amount[data-v-3b9cab83]{font-size:1rem;font-weight:700}.modal-summary-item.expenses .summary-amount[data-v-3b9cab83]{color:var(--color-error)}.modal-summary-item.income .summary-amount[data-v-3b9cab83],.modal-summary-item.balance.positive .summary-amount[data-v-3b9cab83]{color:var(--color-success)}.modal-summary-item.balance.negative .summary-amount[data-v-3b9cab83]{color:var(--color-error)}.modal-section[data-v-3b9cab83]{padding:1rem 1.25rem}.modal-section h4[data-v-3b9cab83]{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--color-text-muted)}.section-toggle[data-v-3b9cab83]{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:0;cursor:pointer;margin-bottom:.75rem}.section-toggle h4[data-v-3b9cab83]{margin:0;color:var(--color-success)}.section-toggle .toggle-icon[data-v-3b9cab83]{font-size:.625rem;color:var(--color-success)}.modal-contracts[data-v-3b9cab83]{display:flex;flex-direction:column;gap:.5rem}.modal-contract-item[data-v-3b9cab83]{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-background);border-radius:8px}.modal-contract-item.is-income[data-v-3b9cab83]{background:var(--color-success-bg)}.modal-contract-item .contract-icon[data-v-3b9cab83]{font-size:1.25rem}.modal-contract-item .contract-name[data-v-3b9cab83]{flex:1;font-size:.9375rem}.modal-contract-item .contract-amount[data-v-3b9cab83]{font-size:1rem;font-weight:600;color:var(--color-text)}.modal-contract-item .contract-amount.income[data-v-3b9cab83]{color:var(--color-success)}.no-items[data-v-3b9cab83]{padding:1rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.note[data-v-3b9cab83]{margin:1rem 0 0;font-size:.75rem;color:var(--color-text-muted);text-align:center}.widget[data-v-1f8c4f10]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.widget-header[data-v-1f8c4f10]{padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.tabs[data-v-1f8c4f10]{display:flex;gap:.25rem;background:var(--color-background);padding:.25rem;border-radius:8px}.tabs button[data-v-1f8c4f10]{flex:1;padding:.625rem 1rem;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--color-text-muted);transition:all .15s ease}.tabs button.active[data-v-1f8c4f10]{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 3px #0000001a}.tabs button[data-v-1f8c4f10]:hover:not(.active){color:var(--color-text)}.tab-content[data-v-1f8c4f10]{padding:1.25rem 1.5rem}.comparison-grid[data-v-1f8c4f10]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.comparison-card[data-v-1f8c4f10]{background:var(--color-background);border-radius:8px;padding:1rem}.comparison-header[data-v-1f8c4f10]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.comparison-title[data-v-1f8c4f10]{font-weight:600;font-size:.875rem}.comparison-badge[data-v-1f8c4f10]{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:9999px;background:var(--color-border-light);color:var(--color-text-muted)}.comparison-badge.positive[data-v-1f8c4f10]{background:var(--color-success-bg-strong);color:var(--color-success)}.comparison-badge.negative[data-v-1f8c4f10]{background:var(--color-error-bg);color:var(--color-error)}.comparison-row[data-v-1f8c4f10]{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.875rem}.comparison-row.current[data-v-1f8c4f10]{font-weight:600}.year-label[data-v-1f8c4f10]{color:var(--color-text-muted)}.comparison-row.current .year-label[data-v-1f8c4f10]{color:var(--color-text)}.comparison-diff[data-v-1f8c4f10]{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border-light);font-size:.8125rem;font-weight:600;text-align:center}.comparison-diff.positive[data-v-1f8c4f10]{color:var(--color-success)}.comparison-diff.negative[data-v-1f8c4f10]{color:var(--color-error)}.contract-changes[data-v-1f8c4f10]{display:flex;flex-direction:column;gap:1rem}.change-section h4[data-v-1f8c4f10]{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.change-list[data-v-1f8c4f10]{display:flex;flex-direction:column;gap:.375rem}.change-item[data-v-1f8c4f10]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.875rem}.change-icon[data-v-1f8c4f10]{font-weight:700;width:1rem;text-align:center}.change-item.new .change-icon[data-v-1f8c4f10]{color:var(--color-success)}.change-item.ended .change-icon[data-v-1f8c4f10]{color:var(--color-error)}.change-name[data-v-1f8c4f10]{flex:1}.change-amount[data-v-1f8c4f10]{font-weight:500;color:var(--color-text-muted)}.upcoming-payments[data-v-1f8c4f10]{margin-bottom:1.5rem}.upcoming-payments h4[data-v-1f8c4f10]{margin:0 0 .75rem;font-size:.875rem;font-weight:600}.payment-list[data-v-1f8c4f10]{display:flex;flex-direction:column;gap:.5rem}.payment-item[data-v-1f8c4f10]{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-warning-bg);border-radius:8px;border-left:3px solid var(--color-warning)}.payment-icon[data-v-1f8c4f10]{font-size:1.25rem}.payment-info[data-v-1f8c4f10]{flex:1;display:flex;flex-direction:column}.payment-name[data-v-1f8c4f10]{font-weight:500;font-size:.875rem}.payment-date[data-v-1f8c4f10]{font-size:.75rem;color:var(--color-text-muted)}.payment-amount[data-v-1f8c4f10]{font-weight:700;font-size:.9375rem}.forecast-months h4[data-v-1f8c4f10]{margin:0 0 .75rem;font-size:.875rem;font-weight:600}.month-list[data-v-1f8c4f10]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.forecast-month[data-v-1f8c4f10]{background:var(--color-background);border-radius:8px;padding:.75rem}.forecast-month.is-current[data-v-1f8c4f10]{background:var(--color-primary);color:#fff}.forecast-month-header[data-v-1f8c4f10]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.forecast-month-name[data-v-1f8c4f10]{font-weight:600;font-size:.875rem}.forecast-month-year[data-v-1f8c4f10]{font-size:.75rem;color:var(--color-text-muted)}.is-current .forecast-month-year[data-v-1f8c4f10]{color:#ffffffb3}.forecast-values[data-v-1f8c4f10]{display:flex;flex-direction:column;gap:.25rem}.forecast-expense[data-v-1f8c4f10]{font-size:.9375rem;font-weight:600;color:var(--color-error)}.is-current .forecast-expense[data-v-1f8c4f10]{color:#fca5a5}.forecast-balance[data-v-1f8c4f10]{font-size:.8125rem;font-weight:600}.forecast-balance.positive[data-v-1f8c4f10]{color:var(--color-success)}.is-current .forecast-balance.positive[data-v-1f8c4f10]{color:#86efac}.forecast-balance.negative[data-v-1f8c4f10]{color:var(--color-error)}.is-current .forecast-balance.negative[data-v-1f8c4f10]{color:#fca5a5}.income-expense-chart[data-v-ea453dc2]{container-type:inline-size;container-name:ie-chart;background:var(--color-surface);border-radius:12px;padding:1rem;border:1px solid var(--color-border)}.chart-header[data-v-ea453dc2]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}@container ie-chart (min-width: 500px){.chart-header[data-v-ea453dc2]{flex-direction:row;justify-content:space-between;align-items:center}}.chart-header h3[data-v-ea453dc2]{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}@container ie-chart (min-width: 400px){.chart-header h3[data-v-ea453dc2]{font-size:1.125rem}}.chart-controls[data-v-ea453dc2]{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.toggle-group[data-v-ea453dc2]{display:flex;background:var(--color-background);border-radius:8px;padding:2px}.toggle-group button[data-v-ea453dc2]{padding:.375rem .625rem;border:none;background:transparent;color:var(--color-text-muted);font-size:.75rem;font-weight:500;cursor:pointer;border-radius:6px;transition:all .15s ease}@container ie-chart (min-width: 400px){.toggle-group button[data-v-ea453dc2]{padding:.5rem .75rem;font-size:.8125rem}}.toggle-group button[data-v-ea453dc2]:hover{color:var(--color-text)}.toggle-group button.active[data-v-ea453dc2]{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 3px #0000001a}.year-select[data-v-ea453dc2]{padding:.375rem .5rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:.75rem;cursor:pointer}@container ie-chart (min-width: 400px){.year-select[data-v-ea453dc2]{padding:.5rem .75rem;font-size:.8125rem}}.summary-stats[data-v-ea453dc2]{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}@container ie-chart (min-width: 450px){.summary-stats[data-v-ea453dc2]{grid-template-columns:repeat(4,1fr)}}.stat-item[data-v-ea453dc2]{background:var(--color-background);border-radius:8px;padding:.625rem;text-align:center}.stat-label[data-v-ea453dc2]{display:block;font-size:.6875rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:.25rem}.stat-value[data-v-ea453dc2]{display:block;font-size:.9375rem;font-weight:700}@container ie-chart (min-width: 400px){.stat-item[data-v-ea453dc2]{padding:.75rem}.stat-label[data-v-ea453dc2]{font-size:.75rem}.stat-value[data-v-ea453dc2]{font-size:1.0625rem}}.stat-item.income .stat-value[data-v-ea453dc2]{color:var(--color-success)}.stat-item.expenses .stat-value[data-v-ea453dc2]{color:var(--color-error)}.stat-item.balance.positive .stat-value[data-v-ea453dc2],.stat-item.rate.positive .stat-value[data-v-ea453dc2]{color:var(--color-success)}.stat-item.balance.negative .stat-value[data-v-ea453dc2],.stat-item.rate.negative .stat-value[data-v-ea453dc2]{color:var(--color-error)}.chart-container[data-v-ea453dc2]{height:200px;position:relative}@container ie-chart (min-width: 400px){.chart-container[data-v-ea453dc2]{height:250px}}@container ie-chart (min-width: 600px){.chart-container[data-v-ea453dc2]{height:300px}}.no-data[data-v-ea453dc2]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);font-size:.875rem}.chart-legend[data-v-ea453dc2]{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-border-light);justify-content:center}.legend-item[data-v-ea453dc2]{display:flex;align-items:center;gap:.375rem}.legend-color[data-v-ea453dc2]{width:12px;height:12px;border-radius:3px;flex-shrink:0}.legend-color.income[data-v-ea453dc2]{background:#10b981}.legend-color.expenses[data-v-ea453dc2]{background:#ef4444}.legend-label[data-v-ea453dc2]{font-size:.75rem;color:var(--color-text-muted)}@container ie-chart (min-width: 400px){.legend-label[data-v-ea453dc2]{font-size:.8125rem}}.modal-overlay[data-v-47e632dc]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal[data-v-47e632dc]{background:var(--color-surface);border-radius:12px;width:100%;max-width:450px;max-height:90vh;display:flex;flex-direction:column}.modal-header[data-v-47e632dc]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-header h2[data-v-47e632dc]{margin:0;font-size:1.25rem}.close-btn[data-v-47e632dc]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-muted)}.modal-body[data-v-47e632dc]{flex:1;overflow-y:auto;padding:1.5rem}.settings-hint[data-v-47e632dc]{margin:0 0 1.5rem;font-size:.875rem;color:var(--color-text-muted)}.widget-list[data-v-47e632dc]{display:flex;flex-direction:column;gap:.5rem}.widget-item[data-v-47e632dc]{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--color-background);border-radius:8px;border:1px solid var(--color-border);transition:opacity .2s}.widget-item.disabled[data-v-47e632dc]{opacity:.5}.widget-info[data-v-47e632dc]{display:flex;flex-direction:column;gap:.25rem}.widget-toggle[data-v-47e632dc]{display:flex;align-items:center;gap:.5rem;cursor:pointer}.widget-toggle input[data-v-47e632dc]{width:18px;height:18px;cursor:pointer}.widget-name[data-v-47e632dc]{font-weight:600}.widget-description[data-v-47e632dc]{font-size:.75rem;color:var(--color-text-muted);padding-left:1.75rem}.widget-actions[data-v-47e632dc]{display:flex;flex-direction:column;gap:.25rem}.btn-order[data-v-47e632dc]{width:28px;height:24px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:.625rem;display:flex;align-items:center;justify-content:center;transition:background .15s}.btn-order[data-v-47e632dc]:hover:not(:disabled){background:var(--color-border-light)}.btn-order[data-v-47e632dc]:disabled{opacity:.3;cursor:not-allowed}.modal-footer[data-v-47e632dc]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.btn-reset[data-v-47e632dc]{padding:.5rem 1rem;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;font-size:.875rem}.btn-reset[data-v-47e632dc]:hover{background:var(--color-background)}.btn-primary[data-v-47e632dc]{padding:.5rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500}.btn-primary[data-v-47e632dc]:hover{background:var(--color-primary-dark)}.dashboard-view[data-v-19c6ecc6]{display:flex;flex-direction:column;gap:1.5rem}.page-header[data-v-19c6ecc6]{display:flex;justify-content:space-between;align-items:center}.file-info[data-v-19c6ecc6]{display:flex;align-items:center;gap:.5rem}.page-title[data-v-19c6ecc6]{font-size:1.5rem;font-weight:600;margin:0;color:var(--color-text)}.unsaved-indicator[data-v-19c6ecc6]{color:var(--color-warning);font-size:1.5rem;line-height:1}.btn-sandbox[data-v-19c6ecc6]{background:var(--color-warning-bg-strong);color:var(--color-warning);border:1px solid var(--color-warning-border);border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-weight:500}.btn-sandbox[data-v-19c6ecc6]:hover{background:var(--color-warning-bg)}.btn-settings[data-v-19c6ecc6]{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;padding:.5rem .75rem;cursor:pointer;font-size:1rem;transition:background .15s}.btn-settings[data-v-19c6ecc6]:hover{background:var(--color-background)}.header-actions[data-v-19c6ecc6]{display:flex;gap:.5rem}.quick-stats[data-v-19c6ecc6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.stat-card[data-v-19c6ecc6]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem;text-align:center}.stat-value[data-v-19c6ecc6]{display:block;font-size:2rem;font-weight:600;color:var(--color-primary)}.stat-label[data-v-19c6ecc6]{font-size:.875rem;color:var(--color-text-muted)}
