.confirm-overlay[data-v-209c7586]{z-index:1000;-webkit-backdrop-filter:blur(6px);background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.confirm-dialog[data-v-209c7586]{border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border-strong);width:min(100%,340px);box-shadow:var(--shadow-lg);text-align:center;padding:28px 24px 22px}.confirm-icon[data-v-209c7586]{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 16px;font-size:24px;font-weight:700;display:flex}.confirm-icon.default[data-v-209c7586]{color:var(--color-primary);background:#0d94881f}.confirm-icon.danger[data-v-209c7586]{background:var(--color-danger-bg);color:var(--color-danger-text)}.confirm-title[data-v-209c7586]{color:var(--color-text);letter-spacing:-.02em;margin-bottom:8px;font-size:18px;font-weight:700}.confirm-message[data-v-209c7586]{color:var(--color-text-secondary);margin-bottom:24px;font-size:14px;line-height:1.6}.confirm-actions[data-v-209c7586]{gap:10px;display:flex}.confirm-actions .btn[data-v-209c7586]{flex:1;min-height:44px}.btn-danger-solid[data-v-209c7586]{color:#fff;background:linear-gradient(135deg,#e11d48 0%,#fb7185 100%);box-shadow:0 8px 20px #e11d4840}.btn-danger-solid[data-v-209c7586]:active:not(:disabled){filter:brightness(.92);transform:scale(.97)}.confirm-fade-enter-active[data-v-209c7586],.confirm-fade-leave-active[data-v-209c7586]{transition:opacity .2s}.confirm-fade-enter-from[data-v-209c7586],.confirm-fade-leave-to[data-v-209c7586]{opacity:0}.confirm-scale-enter-active[data-v-209c7586]{transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .2s}.confirm-scale-leave-active[data-v-209c7586]{transition:transform .15s,opacity .15s}.confirm-scale-enter-from[data-v-209c7586],.confirm-scale-leave-to[data-v-209c7586]{opacity:0;transform:scale(.92)translateY(8px)}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#0d9488;--color-primary-light:#14b8a6;--color-primary-dark:#0f766e;--color-primary-gradient:linear-gradient(135deg, #0f766e 0%, #115e59 100%);--color-income:#047857;--color-expense:#be123c;--color-bg:#eef2f6;--color-bg-accent:radial-gradient(ellipse 80% 60% at 10% -10%, #0d94881f, transparent), radial-gradient(ellipse 60% 50% at 90% 0%, #6366f114, transparent), #eef2f6;--color-surface:#fff;--color-surface-elevated:#fff;--color-text:#0f172a;--color-text-secondary:#64748b;--color-text-muted:#5e6d84;--color-border:#0f172a14;--color-border-strong:#0f172a1f;--color-danger-bg:#fff1f2;--color-danger-text:#e11d48;--color-nav-active-bg:#0d94881a;--color-cat-active-bg:#0d948814;--color-icon-bg:#0f172a0a;--color-press-overlay:#0f172a0f;--shadow-sm:0 1px 2px #0f172a0a;--shadow:0 1px 3px #0f172a0f, 0 8px 24px #0f172a0f;--shadow-lg:0 4px 6px #0f172a0a, 0 20px 40px #0f172a14;--shadow-primary:0 8px 20px #0d948847;--hero-gradient:linear-gradient(135deg, #0f766e 0%, #0d9488 45%, #115e59 100%);--action-expense-bg:linear-gradient(145deg, #fff1f2, #ffe4e6);--action-expense-text:#be123c;--action-expense-icon:#be123c1f;--action-income-bg:linear-gradient(145deg, #ecfdf5, #d1fae5);--action-income-text:#047857;--action-income-icon:#0478571f;--action-todo-bg:linear-gradient(145deg, #f5f3ff, #ede9fe);--action-todo-text:#7c3aed;--action-todo-icon:#7c3aed1f;--action-bills-bg:linear-gradient(145deg, #f0fdfa, #ccfbf1);--action-bills-text:#0d9488;--action-bills-icon:#0d94881f;--radius:16px;--radius-sm:10px;--radius-xs:8px;--radius-full:999px;--nav-height:56px;--bottom-nav-offset:12px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--sidebar-width:240px;--font:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, sans-serif}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#2dd4bf;--color-primary-light:#5eead4;--color-primary-dark:#14b8a6;--color-primary-gradient:linear-gradient(135deg, #0f766e 0%, #115e59 100%);--color-income:#34d399;--color-expense:#fb7185;--color-bg:#0b1120;--color-bg-accent:radial-gradient(ellipse 80% 60% at 10% -10%, #2dd4bf14, transparent), radial-gradient(ellipse 60% 50% at 90% 0%, #6366f10f, transparent), #0b1120;--color-surface:#151d2e;--color-surface-elevated:#1a2438;--color-text:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-muted:#7e8ea6;--color-border:#ffffff0f;--color-border-strong:#ffffff1a;--color-danger-bg:#fb71851f;--color-danger-text:#fda4af;--color-nav-active-bg:#2dd4bf1f;--color-cat-active-bg:#2dd4bf1a;--color-icon-bg:#ffffff0f;--color-press-overlay:#ffffff14;--shadow-sm:0 1px 2px #0003;--shadow:0 1px 3px #00000040, 0 8px 24px #0003;--shadow-lg:0 4px 6px #0003, 0 20px 40px #0000004d;--shadow-primary:0 8px 20px #2dd4bf33;--hero-gradient:linear-gradient(135deg, #134e4a 0%, #0f766e 50%, #115e59 100%);--action-expense-bg:linear-gradient(145deg, #fb718526, #e11d4814);--action-expense-text:#fda4af;--action-expense-icon:#fb71852e;--action-income-bg:linear-gradient(145deg, #34d39926, #05966914);--action-income-text:#6ee7b7;--action-income-icon:#34d3992e;--action-todo-bg:linear-gradient(145deg, #a78bfa26, #7c3aed14);--action-todo-text:#c4b5fd;--action-todo-icon:#a78bfa2e;--action-bills-bg:linear-gradient(145deg, #2dd4bf26, #0d948814);--action-bills-text:#5eead4;--action-bills-icon:#2dd4bf2e}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{touch-action:manipulation;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;height:100%;min-height:100dvh;overflow:hidden}html{background:var(--color-bg);text-size-adjust:100%}button,a,input[type=button],input[type=submit],input[type=reset],[role=button],.pill-tab,.segment-btn,.theme-option,.action-btn,.nav-item,.bottom-nav-item,.app-select-trigger,.app-date-trigger,.app-color-trigger,.app-select-option,.cat-btn,.link-btn,.checkbox,.delete-btn,.color-dot,.day-cell,.nav-btn,.today-btn,.back-btn,.hero-card,.summary-card{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;-webkit-touch-callout:none}button,input,select,textarea{font-family:inherit;font-size:inherit;-webkit-appearance:none;appearance:none}button{color:inherit;background-color:#0000}button:focus:not(:focus-visible){outline:none}a:focus:not(:focus-visible){outline:none}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}[role=button]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:active:not(:disabled),.pill-tab:active,.segment-btn:active,.theme-option:active,.action-btn:active,.nav-item:active,.bottom-nav-item:active,.app-select-trigger:active,.app-date-trigger:active,.app-color-trigger:active,.cat-btn:active,.color-dot:active,.day-cell:active:not(:disabled),.nav-btn:active,.today-btn:active,.back-btn:active{transition:transform .1s;transform:scale(.97)}.btn:active:not(:disabled){transform:scale(.97)}.btn-ghost:active:not(:disabled),.btn-danger:active:not(:disabled){filter:brightness(.95)}.link-btn:active,.delete-btn:active,.completed-toggle:active{opacity:.65}.checkbox:active{transform:scale(.92)}.hero-card:active,.summary-card:active{filter:brightness(.96);transform:scale(.985)}.hero-card{cursor:pointer}.hero-card:hover{filter:brightness(1.04);box-shadow:var(--shadow-lg), 0 0 0 1px color-mix(in srgb, var(--color-primary-light) 35%, transparent)}body{font-family:var(--font);color:var(--color-text);background:var(--color-bg-accent);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-size:15px;line-height:1.5;transition:background .3s,color .25s}a{color:var(--color-primary);text-decoration:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px;transition:background-color .25s,border-color .25s,box-shadow .25s}.card-hover:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:transform .15s,filter .15s,box-shadow .2s,background-color .2s;display:inline-flex;overflow:hidden}.btn-primary{background:var(--color-primary-gradient);color:#fff;box-shadow:var(--shadow-primary)}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-primary:active:not(:disabled){filter:brightness(.92);transform:scale(.97)}.btn-ghost{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-strong)}.btn-ghost:hover{background:var(--color-icon-bg);color:var(--color-text)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.btn-sm{padding:7px 14px;font-size:13px}.link-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:500;transition:opacity .2s}.link-btn:hover{opacity:.75}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-title{letter-spacing:-.02em;font-size:26px;font-weight:700}.page-subtitle{color:var(--color-text-secondary);margin-top:4px;font-size:14px}.section-title{letter-spacing:-.01em;margin-bottom:14px;font-size:15px;font-weight:600}.section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-header .section-title{margin-bottom:0}.segment-control{background:var(--color-icon-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:20px;padding:4px;display:flex}.segment-btn{border-radius:var(--radius-xs);cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;flex:1;padding:9px 12px;font-size:14px;font-weight:500;transition:transform .15s,background-color .2s,box-shadow .2s,color .2s;overflow:hidden}.segment-btn.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}.segment-btn.active.expense{color:var(--color-expense)}.segment-btn.active.income{color:var(--color-income)}.pill-tabs{gap:8px;margin-bottom:18px;padding-bottom:4px;display:flex;overflow-x:auto}.pill-tab{border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);cursor:pointer;white-space:nowrap;color:var(--color-text-secondary);padding:8px 18px;font-size:13px;font-weight:500;transition:transform .15s,border-color .2s,background-color .2s,color .2s;overflow:hidden}.pill-tab:hover{border-color:var(--color-primary-light);color:var(--color-text)}.pill-tab.active{border-color:var(--tab-color,var(--color-primary));background:color-mix(in srgb, var(--tab-color,var(--color-primary)) 12%, var(--color-surface));color:var(--tab-color,var(--color-primary));font-weight:600}.pill-tab.dashed{color:var(--color-text-muted);border-style:dashed}.icon-circle{background:var(--color-icon-bg);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.icon-circle.sm{border-radius:10px;width:36px;height:36px;font-size:18px}.icon-circle svg,.cat-icon svg{width:1em;height:1em;display:block}.list-rows{list-style:none}.list-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.list-row:last-child{border-bottom:none}.list-row-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.list-row-title{font-size:15px;font-weight:500}.list-row-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:6px;margin-top:2px;font-size:12px;display:flex}.hero-card{background:var(--hero-gradient);border-radius:var(--radius);color:#fff;box-shadow:var(--shadow-lg);margin-bottom:24px;padding:24px;position:relative;overflow:hidden}.hero-card:after{content:"";pointer-events:none;background:#ffffff14;border-radius:50%;width:200px;height:200px;position:absolute;top:-40%;right:-20%}.hero-header{margin-bottom:20px}.hero-label{opacity:.95;font-size:13px;font-weight:500}.hero-balance-block{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.hero-balance-label{opacity:.95;font-size:12px}.hero-balance-value{letter-spacing:-.03em;font-size:32px;font-weight:700;line-height:1.1}.hero-stats{border-top:1px solid #fff3;grid-template-columns:1fr 1fr;gap:0;padding-top:16px;display:grid}.hero-stat{flex-direction:column;gap:4px;display:flex}.hero-stat:first-child{border-right:1px solid #fff3;padding-right:16px}.hero-stat:last-child{padding-left:16px}.hero-stat-label{opacity:.95;font-size:12px}.hero-stat-value{letter-spacing:-.02em;font-size:18px;font-weight:600}.form-group{margin-bottom:18px}.form-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text);outline:none;padding:11px 14px;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent)}.empty-state{text-align:center;color:var(--color-text-secondary);padding:48px 24px}.empty-state .icon{opacity:.9;margin-bottom:14px;font-size:52px}.empty-state .icon svg{width:1em;height:1em;margin:0 auto;display:block}.empty-state p{font-size:14px;line-height:1.6}.amount-income{color:var(--color-income)}.amount-expense{color:var(--color-expense)}.loading-state{text-align:center;color:var(--color-text-muted);padding:48px;font-size:14px}.theme-switch{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.theme-option{border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-icon-bg);color:var(--color-text-secondary);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;transition:all .2s;display:flex}.theme-option:hover{border-color:var(--color-primary-light)}.theme-option.active{border-color:var(--color-primary);background:var(--color-nav-active-bg);color:var(--color-primary);font-weight:600}.theme-option .icon{font-size:22px}.theme-option .icon svg{width:1em;height:1em;margin:0 auto;display:block}.theme-option .label{font-size:13px}.tag{background:var(--color-icon-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);padding:5px 12px;font-size:13px}.main-content,.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.main-content::-webkit-scrollbar{width:0;height:0;display:none}.no-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}
