.dialog-overlay[data-v-0c908b8e]{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#0f172a8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.dialog-card[data-v-0c908b8e]{width:min(520px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:24px;border-radius:var(--radius-lg);color:var(--text);background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.dialog-header[data-v-0c908b8e]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.dialog-header h3[data-v-0c908b8e]{margin:0;color:var(--text);font-size:1.15rem;font-weight:700}.dialog-close[data-v-0c908b8e]{border:0;font-size:26px;line-height:1;color:var(--text-muted);background:transparent;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all .2s ease}.dialog-close[data-v-0c908b8e]:hover{color:var(--text);background:var(--bg-soft)}.dialog-message[data-v-0c908b8e]{white-space:pre-wrap;line-height:1.65;color:var(--text-secondary);margin:8px 0 0;font-size:.92rem}.dialog-fields[data-v-0c908b8e]{display:grid;gap:14px;margin:20px 0}.field[data-v-0c908b8e]{display:grid;gap:6px}.field span[data-v-0c908b8e]{color:var(--text);font-size:.85rem;font-weight:600}.field input[data-v-0c908b8e],.field select[data-v-0c908b8e],.field textarea[data-v-0c908b8e]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:.92rem;background:var(--card);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}.field input[data-v-0c908b8e]:focus,.field select[data-v-0c908b8e]:focus,.field textarea[data-v-0c908b8e]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.field textarea[data-v-0c908b8e]{resize:vertical;font-family:inherit}.dialog-actions[data-v-0c908b8e]{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:22px}.ghost-btn[data-v-0c908b8e]{background:transparent;border:1px solid var(--border);color:var(--text);padding:10px 18px;border-radius:var(--radius);font-size:.92rem;font-weight:500;cursor:pointer;transition:all .2s ease}.ghost-btn[data-v-0c908b8e]:hover{background:var(--bg-soft);border-color:var(--primary);color:var(--primary)}.ghost-btn[data-v-0c908b8e]:disabled{cursor:not-allowed;opacity:.5}.primary-btn[data-v-0c908b8e]{background:var(--primary-gradient);color:#fff;border:0;padding:10px 18px;border-radius:var(--radius);font-size:.92rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.primary-btn[data-v-0c908b8e]:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.primary-btn[data-v-0c908b8e]:disabled{cursor:not-allowed;opacity:.6;transform:none}.danger-btn[data-v-0c908b8e]{background:var(--expense);color:#fff;border:0;padding:10px 18px;border-radius:var(--radius);font-size:.92rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.danger-btn[data-v-0c908b8e]:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.danger-btn[data-v-0c908b8e]:disabled{cursor:not-allowed;opacity:.6;transform:none}.pwd-field[data-v-0c908b8e]{position:relative}.pwd-field input[data-v-0c908b8e]{padding-right:42px}.pwd-toggle[data-v-0c908b8e]{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer;transition:all .2s ease}.pwd-toggle[data-v-0c908b8e]:hover{background:var(--primary-soft);color:var(--primary)}.pwd-strength[data-v-0c908b8e]{margin-top:8px;display:flex;align-items:center;gap:8px}.pwd-strength-bars[data-v-0c908b8e]{display:flex;gap:4px;flex:1}.pwd-strength-bars span[data-v-0c908b8e]{flex:1;height:5px;border-radius:3px;background:var(--bg-soft);transition:background .2s ease}.pwd-strength-bars.low span[data-v-0c908b8e]:nth-child(1){background:var(--expense)}.pwd-strength-bars.mid span[data-v-0c908b8e]:nth-child(1),.pwd-strength-bars.mid span[data-v-0c908b8e]:nth-child(2){background:var(--warning)}.pwd-strength-bars.high span[data-v-0c908b8e]{background:var(--success)}.pwd-strength-label[data-v-0c908b8e]{font-size:12px;font-weight:600;min-width:28px;text-align:right}.pwd-strength-label.low[data-v-0c908b8e]{color:var(--expense)}.pwd-strength-label.mid[data-v-0c908b8e]{color:var(--warning)}.pwd-strength-label.high[data-v-0c908b8e]{color:var(--success)}.notification-center[data-v-30708bb3]{position:relative}.notification-trigger[data-v-30708bb3]{position:relative;display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);background:var(--card);cursor:pointer;transition:all .2s ease}.notification-trigger[data-v-30708bb3]:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px var(--primary-glow)}.notification-trigger svg[data-v-30708bb3]{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-badge[data-v-30708bb3]{position:absolute;top:-6px;right:-7px;min-width:18px;height:18px;padding:0 4px;border:2px solid var(--card);border-radius:99px;color:#fff;background:var(--expense);font-size:9px;font-weight:800;line-height:14px}.notification-panel[data-v-30708bb3]{position:absolute;z-index:80;top:48px;right:0;width:min(380px,calc(100vw - 28px));overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-lg)}.notification-panel header[data-v-30708bb3],.notification-panel footer[data-v-30708bb3]{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-panel header[data-v-30708bb3]{padding:18px 18px 14px;border-bottom:1px solid var(--border)}.notification-panel header div span[data-v-30708bb3],.notification-panel header div strong[data-v-30708bb3]{display:block}.notification-panel header div span[data-v-30708bb3]{margin-bottom:3px;color:var(--primary);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.notification-panel header div strong[data-v-30708bb3]{color:var(--text);font-size:17px;font-weight:700}.notification-panel button[data-v-30708bb3]{font:inherit}.notification-panel header>button[data-v-30708bb3],.notification-panel footer>button[data-v-30708bb3]{padding:4px 8px;border:0;color:var(--primary);background:transparent;font-size:10px;font-weight:700;cursor:pointer;border-radius:var(--radius-sm);transition:background .2s ease}.notification-panel header>button[data-v-30708bb3]:hover,.notification-panel footer>button[data-v-30708bb3]:hover{background:var(--primary-soft)}.notification-list[data-v-30708bb3]{max-height:410px;overflow:auto}.notification-item[data-v-30708bb3]{position:relative;display:flex;width:100%;gap:11px;padding:14px 17px;border:0;border-bottom:1px solid var(--border);background:var(--card);text-align:left;cursor:pointer;transition:background .2s ease}.notification-item[data-v-30708bb3]:hover{background:var(--bg-soft)}.notification-item.unread[data-v-30708bb3]{background:var(--primary-soft)}.notification-item.unread[data-v-30708bb3]:hover{background:var(--primary-soft);filter:brightness(.97)}.notification-icon[data-v-30708bb3]{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border-radius:var(--radius);font-size:11px;font-style:normal;font-weight:800}.notification-icon.blue[data-v-30708bb3]{color:var(--primary);background:var(--primary-soft)}.notification-icon.amber[data-v-30708bb3]{color:var(--warning);background:var(--warning-soft)}.notification-icon.red[data-v-30708bb3]{color:var(--expense);background:var(--expense-soft)}.notification-icon.teal[data-v-30708bb3]{color:var(--income);background:var(--income-soft)}.notification-copy[data-v-30708bb3]{min-width:0;flex:1}.notification-copy strong[data-v-30708bb3],.notification-copy span[data-v-30708bb3],.notification-copy small[data-v-30708bb3]{display:block}.notification-copy strong[data-v-30708bb3]{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.notification-copy span[data-v-30708bb3]{display:-webkit-box;margin:4px 0;color:var(--text-secondary);font-size:10px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.notification-copy small[data-v-30708bb3]{color:var(--text-muted);font-size:9px}.unread-dot[data-v-30708bb3]{position:absolute;top:18px;right:13px;width:6px;height:6px;border-radius:50%;background:var(--primary)}.notification-empty[data-v-30708bb3]{display:flex;min-height:210px;flex-direction:column;align-items:center;justify-content:center;padding:30px;color:var(--text-muted);text-align:center}.notification-empty i[data-v-30708bb3]{display:grid;width:42px;height:42px;margin-bottom:11px;place-items:center;border-radius:var(--radius);color:var(--income);background:var(--income-soft);font-size:18px;font-style:normal}.notification-empty strong[data-v-30708bb3]{color:var(--text);font-size:13px}.notification-empty span[data-v-30708bb3]{margin-top:6px;font-size:10px}.notification-panel footer[data-v-30708bb3]{padding:10px 16px;color:var(--text-muted);background:var(--bg-soft);font-size:9px}@media(max-width:600px){.notification-panel[data-v-30708bb3]{position:fixed;top:72px;right:10px;left:10px;width:auto}.notification-list[data-v-30708bb3]{max-height:calc(100vh - 230px)}}.onboarding-overlay[data-v-d13e40c4]{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.onboarding-card[data-v-d13e40c4]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;max-width:500px;width:90%;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:24px}.onboarding-header[data-v-d13e40c4]{display:flex;justify-content:space-between;align-items:center}.step-indicator[data-v-d13e40c4]{color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:.04em}.skip-btn[data-v-d13e40c4]{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:4px 12px;border-radius:var(--radius-sm);transition:all .2s ease}.skip-btn[data-v-d13e40c4]:hover{background:var(--bg-soft);color:var(--text)}.onboarding-body[data-v-d13e40c4]{text-align:center;display:flex;flex-direction:column;gap:16px}.step-icon[data-v-d13e40c4]{font-size:64px;margin-bottom:8px}.onboarding-body h2[data-v-d13e40c4]{color:var(--text);font-size:24px;margin:0;font-weight:700}.step-description[data-v-d13e40c4]{color:var(--text-secondary);font-size:16px;line-height:1.6;white-space:pre-line;margin:0}.step-action[data-v-d13e40c4]{margin-top:16px}.action-btn[data-v-d13e40c4]{background:var(--primary-gradient);color:#fff;border:none;padding:12px 32px;border-radius:var(--radius);font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 10px var(--primary-glow);transition:transform .2s ease,box-shadow .2s ease}.action-btn[data-v-d13e40c4]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.onboarding-footer[data-v-d13e40c4]{display:flex;justify-content:space-between;gap:12px}.ghost-btn[data-v-d13e40c4]{background:transparent;border:1px solid var(--border);color:var(--text);padding:10px 24px;border-radius:var(--radius);font-size:15px;cursor:pointer;transition:all .2s ease}.ghost-btn[data-v-d13e40c4]:hover{background:var(--bg-soft);border-color:var(--primary);color:var(--primary)}.primary-btn[data-v-d13e40c4]{background:var(--primary-gradient);color:#fff;border:none;padding:10px 32px;border-radius:var(--radius);font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 4px 10px var(--primary-glow);transition:transform .2s ease,box-shadow .2s ease}.primary-btn[data-v-d13e40c4]:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.progress-dots[data-v-d13e40c4]{display:flex;justify-content:center;gap:8px}.dot[data-v-d13e40c4]{width:8px;height:8px;border-radius:50%;background:var(--border-strong);transition:all .3s ease}.dot.active[data-v-d13e40c4]{background:var(--primary);width:24px;border-radius:4px}.dot.completed[data-v-d13e40c4]{background:var(--success)}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;--bg: #F8FAFC;--bg-soft: #F1F5F9;--bg-hover: #EEF2F7;--card: #FFFFFF;--border: rgba(15, 23, 42, .06);--border-strong: rgba(15, 23, 42, .1);--text: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--primary: #4F46E5;--primary-hover: #4338CA;--primary-soft: #EEF2FF;--primary-glow: rgba(79, 70, 229, .15);--primary-gradient: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);--accent: #7C3AED;--income: #059669;--income-soft: #ECFDF5;--expense: #DC2626;--expense-soft: #FEF2F2;--transfer: #7C3AED;--transfer-soft: #F5F3FF;--danger: #DC2626;--warning: #D97706;--warning-soft: #FFFBEB;--success: #059669;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .05), 0 1px 2px rgba(15, 23, 42, .03);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .06), 0 2px 4px -2px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -4px rgba(15, 23, 42, .05);--shadow-glow: 0 0 0 1px rgba(79, 70, 229, .1), 0 4px 12px rgba(79, 70, 229, .12);--radius-sm: 8px;--radius: 10px;--radius-lg: 14px;--radius-xl: 18px;color:#0f172a;background:#f8fafc}:root[data-theme=dark]{--bg: #0B1220;--bg-soft: #0F1729;--bg-hover: #182240;--card: #131C30;--border: rgba(148, 163, 184, .08);--border-strong: rgba(148, 163, 184, .15);--text: #F1F5F9;--text-secondary: #94A3B8;--text-muted: #64748B;--primary: #7C8CFF;--primary-hover: #9BA8FF;--primary-soft: rgba(124, 140, 255, .12);--primary-glow: rgba(124, 140, 255, .2);--primary-gradient: linear-gradient(135deg, #7C8CFF 0%, #A78BFA 100%);--accent: #A78BFA;--income: #34D399;--income-soft: rgba(52, 211, 153, .12);--expense: #FB7185;--expense-soft: rgba(251, 113, 133, .12);--transfer: #A78BFA;--transfer-soft: rgba(167, 139, 250, .12);--danger: #FB7185;--warning: #FBBF24;--warning-soft: rgba(251, 191, 36, .12);--success: #34D399;color:#f1f5f9;background:#0b1220}:root[data-theme=dark] body,:root[data-theme=dark] .main{background:#0b1220}:root[data-theme=dark] .panel,:root[data-theme=dark] .asset-card,:root[data-theme=dark] .topbar,:root[data-theme=dark] .calendar-cell{color:#f1f5f9;background:#131c30;border-color:#94a3b814}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color:#f1f5f9;background:#0f1729;border-color:#94a3b826}:root[data-theme=blue]{background:#eef2ff;--bg: #EEF2FF}body{background-image:radial-gradient(circle at 20% 0%,rgba(79,70,229,.04) 0%,transparent 50%),radial-gradient(circle at 80% 100%,rgba(124,58,237,.03) 0%,transparent 50%);background-attachment:fixed}:root[data-theme=dark] body{background-image:radial-gradient(circle at 20% 0%,rgba(124,140,255,.05) 0%,transparent 50%),radial-gradient(circle at 80% 100%,rgba(167,139,250,.04) 0%,transparent 50%)}*{box-sizing:border-box}.loading-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef5ff,#f8fbff 48%,#edf9f5)}.loading-card{padding:24px 32px;border-radius:14px;background:var(--card, #fff);border:1px solid var(--border, #e5e7eb);box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .06));color:var(--text-secondary, #6b7280);font-size:14px}:root[data-theme=dark] .loading-screen{background:linear-gradient(135deg,#0b1220,#111827)}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef5ff,#f8fbff 48%,#edf9f5)}.auth-card{width:min(420px,100%);display:grid;gap:14px;padding:32px;border-radius:22px;background:#fff;box-shadow:0 24px 70px #1f6feb24}.auth-card .brand-icon{margin:0 auto;width:64px;height:64px;font-size:28px;border-radius:20px;color:#fff}.auth-card h2{margin:0;text-align:center;font-size:1.4rem;color:#1c2a3a}.auth-card input{width:100%;box-sizing:border-box}.auth-card .primary-btn{margin-top:4px}.auth-card .link-btn{font-size:.9rem}.auth-card .error{max-width:100%;margin:0;text-align:center;font-size:.85rem}.auth-card .auth-notice{margin:0;padding:10px 12px;border-radius:10px;color:#245b47;background:#e9f8f1;text-align:center;font-size:.84rem;line-height:1.5}.block{display:block}.muted{color:#64748b;font-weight:400}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-head{margin-bottom:8px;color:#4b5563;font-size:13px;text-align:center}.calendar-cell{min-height:112px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:10px;border:1px solid #e4ebf5;border-radius:12px;color:#1c2a3a;background:#fff}.calendar-cell:hover{border-color:#6ba2ef;background:#f6f9ff}.calendar-cell.empty{visibility:hidden}.calendar-cell small{font-size:11px}.calendar-cell i{margin-top:auto;color:#6b7280;font-size:11px;font-style:normal}.tag button{margin-left:5px;padding:0;border:0;color:inherit;background:transparent;font-size:11px}.sub-title{margin-top:24px}.compact-list{max-height:420px;margin-top:14px;overflow:auto}.dialog-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#0f1c3094;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-card{width:min(520px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:24px;border-radius:20px;color:#172033;background:#fff;box-shadow:0 28px 90px #00194647}.dialog-header,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-header h3{margin:0}.dialog-close{border:0;font-size:26px;color:#475569;background:transparent}.dialog-message{white-space:pre-wrap;line-height:1.65;color:#374151}.dialog-fields{display:grid;gap:14px;margin:20px 0}.dialog-actions{justify-content:flex-end;margin-top:22px}.danger-btn{border:0;border-radius:10px;padding:10px 16px;color:#fff;background:#d9363e}:root[data-theme=dark] .dialog-card{color:#e5edf8;background:#182337}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;color:var(--text);background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.brand-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;font-weight:800;font-size:15px;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 10px #4f46e540}.brand h1{margin:0;font-size:18px;font-weight:700;letter-spacing:.02em}.brand p,.eyebrow{margin:4px 0 0;color:var(--text-muted);font-size:12px}.nav{display:grid;gap:8px}.nav button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:16px;padding:12px 14px;color:var(--text-secondary);background:transparent;text-align:left}.nav button.active,.nav button:hover{color:var(--primary);background:var(--bg-soft)}.nav button.active{background:var(--primary-soft);color:var(--primary)}.side-card{margin-top:26px;padding:18px;border-radius:16px;background:var(--bg-soft);border:1px solid var(--border)}.side-card span{display:block;color:var(--text-secondary);font-size:13px;font-weight:500}.side-card strong{display:block;margin-top:8px;font-size:24px;color:var(--primary)}.main{padding:30px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 22px}.topbar .eyebrow{color:var(--text-muted);letter-spacing:.08em}h2,h3{margin:0}.topbar h2,.topbar .page-title{margin-top:6px;font-size:22px;font-weight:700;color:var(--text)}.toolbar,.filters,.inline-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}input,select,textarea{border:1px solid #d6e0eb;border-radius:14px;padding:11px 13px;color:#172033;background:#fff;outline:none}textarea{resize:vertical}.primary-btn,.ghost-btn,.link-btn,.upload-btn{border:0;border-radius:14px;padding:11px 16px}.primary-btn{color:#fff;background:linear-gradient(135deg,#1f6feb,#11b0a1)}.primary-btn.wide{width:100%}.ghost-btn{color:#1f6feb;background:#e8f1ff}.ghost-btn.danger{color:#e5484d;background:#ffe5e7}.ghost-btn:disabled{cursor:not-allowed;opacity:.5}.upload-btn{position:relative;display:inline-flex;color:#1f6feb;background:#e8f1ff;overflow:hidden}.upload-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.link-btn{padding:6px 8px;color:#1f6feb;background:transparent}.link-btn.danger{color:#e5484d}.view{margin:0}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.metric,.panel,.asset-card{border-radius:24px;background:#fffffff5;box-shadow:0 18px 40px #111f3614}.metric{padding:22px}.metric span{display:block;margin-bottom:8px;color:#374151;font-size:.88rem;font-weight:600;letter-spacing:.02em}.metric strong{font-size:28px}.income{color:#0f9f6e}.expense{color:#e5484d}.transfer{color:#7c3aed}.balance,.asset{color:#1f6feb}.grid{display:grid;gap:18px;margin-bottom:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.panel{padding:22px;margin-bottom:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-title h3{color:#1e293b;font-size:1.05rem;margin:0}.panel-title>span{color:#64748b;font-size:.88rem;font-weight:500}.budget-hero{display:flex;align-items:center;gap:22px}.ring{display:grid;width:112px;height:112px;place-items:center;border-radius:50%;background:radial-gradient(closest-side,white 72%,transparent 73%),conic-gradient(#1f6feb var(--p),#e8eef6 0)}.ring span{font-weight:800}.account-list{display:grid;gap:10px}.rule-list{display:grid;gap:12px}.rule-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf2f7}.rule-row small{display:block;margin-top:5px;color:#475569}.batch-bar,.reimburse-form,.budget-total-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:14px;border-radius:18px;background:#f4f8fc}.reimburse-form h4{width:100%;margin:0}.budget-total-box{justify-content:space-between}.budget-total-box .field{min-width:260px}.budget-total-box small{display:block;margin-top:4px;color:#475569}.attachment-item{display:inline-flex;align-items:center;gap:8px;padding:8px;border-radius:14px;background:#fff}.attachment-item a{display:inline-flex;align-items:center;gap:8px;color:#1f6feb;text-decoration:none}.attachment-preview{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;color:inherit;background:transparent}.attachment-item img{width:56px;height:56px;border-radius:10px;object-fit:cover}.account-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #edf2f7}.record-panel{max-width:920px}.record-form{display:grid;gap:16px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);padding:5px;border-radius:18px;background:#edf3f8}.segmented button{border:0;border-radius:14px;padding:12px;color:#374151;background:transparent}.segmented button.active{color:#fff;background:#1f6feb}.tab-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.tab-bar button{padding:.5rem 1rem;border:1px solid var(--border, #e4ebf5);border-radius:6px;background:var(--card, #fff);color:var(--text, #172033);cursor:pointer;font-weight:500;transition:all .2s}.tab-bar button:hover{border-color:var(--primary, #1f6feb);background:var(--bg, #eef4fb)}.tab-bar button.active{background:var(--primary, #1f6feb);color:#fff;border-color:var(--primary, #1f6feb)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:8px}.field.full{grid-column:1 / -1}.field span,.tags-box>span{color:#334155;font-size:13px;font-weight:700}.tags-box,.switches{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tag-check,.switches label{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:99px;background:#edf3f8}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 10px;border-bottom:1px solid #e5edf5;text-align:left;white-space:nowrap}th{color:#334155;font-size:13px;font-weight:600}.date-group-row td{color:#374151;background:#f4f8fc}.date-group-row strong{margin-right:12px;color:#172033}.pill{display:inline-flex;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:700}.pill.income{color:#0f7f59;background:#dff8ef}.pill.expense{color:#bd2d35;background:#ffe5e7}.pill.transfer{color:#6d28d9;background:#eee7ff}.mini-tag,.tag{display:inline-flex;margin:2px;border-radius:99px;padding:4px 9px;color:#fff;background:#1f6feb;font-size:12px}.chart{width:100%;height:320px}.category-list,.budget-list{display:grid;gap:12px}.category-row,.budget-row{display:grid;grid-template-columns:150px 1fr 120px;align-items:center;gap:14px}.budget-row{grid-template-columns:160px 160px 1fr 150px}.budget-row small{display:block;margin-top:4px;color:#475569}.bar-wrap{height:10px;overflow:hidden;border-radius:99px;background:#edf3f8}.bar{height:100%;border-radius:99px;background:linear-gradient(90deg,#1f6feb,#11b0a1)}.bar.danger{background:linear-gradient(90deg,#ff9f43,#e5484d)}.asset-card{padding:22px}.asset-card span,.asset-card small{color:#475569}.asset-card h3{margin:8px 0}.asset-card strong{display:block;margin-bottom:8px;font-size:26px}.card-actions{display:flex;gap:8px;margin-top:10px}.inline-form.stack{align-items:stretch;flex-direction:column}.inline-form.stack input,.inline-form.stack select,.inline-form.stack button{width:100%}.tag-cloud{margin-top:18px}.error{margin:0 0 16px;padding:12px 14px;border-radius:16px;color:#bd2d35;background:#ffe5e7}.empty{color:#64748b;text-align:center;font-size:.9rem;padding:16px}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-grid,.grid.two,.form-grid{grid-template-columns:1fr}.topbar{align-items:stretch;flex-direction:column}.category-row,.budget-row{grid-template-columns:1fr}.calendar-cell{min-height:82px;padding:7px}}@media(max-width:600px){.calendar-grid{gap:3px}.calendar-cell{min-height:68px;padding:5px;border-radius:8px}.calendar-cell small{display:none}}.app-shell{grid-template-columns:248px minmax(0,1fr);background:var(--bg)}.sidebar{padding:20px 14px 16px;background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.brand-button{width:100%;border:0;color:inherit;background:transparent;text-align:left}.brand-button strong,.brand-button small{display:block}.brand-button strong{font-size:18px;color:var(--text)}.brand-button small,.sidebar-user small{margin-top:4px;color:var(--text-muted);font-size:12px}.nav-section{display:grid;gap:3px}.nav-grouped .nav-primary-link{min-height:42px;padding:9px 12px;font-weight:600}.nav-chevron{color:var(--text-muted);font-size:16px}.nav-submenu{display:grid;gap:2px;margin:1px 0 6px 35px;padding-left:9px;border-left:1px solid var(--border)}.nav-grouped .nav-submenu button{min-height:34px;padding:7px 10px;font-size:13px}.nav-grouped .nav-submenu button.active{box-shadow:none;background:var(--primary-soft);color:var(--primary)}.sidebar-footer{display:grid;gap:10px;margin-top:auto}.sidebar-footer .side-card{margin-top:8px;padding:14px}.sidebar-footer .side-card strong{margin-top:5px;font-size:20px}.sidebar-user{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:12px;color:var(--text);background:var(--bg-soft);text-align:left;transition:background .2s ease}.sidebar-user:hover{background:var(--bg-hover)}.sidebar-user strong,.sidebar-user small{display:block}.user-avatar{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);font-weight:700;box-shadow:0 2px 6px #4f46e540}.subscription-badge{display:flex;align-items:center;gap:6px;width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-soft);color:var(--text);font-size:12px;line-height:1.4;text-align:left;cursor:pointer;transition:background .2s ease,border-color .2s ease}.subscription-badge:hover{background:var(--bg-hover);border-color:var(--primary)}.subscription-badge__dot{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.subscription-badge.is-paid .subscription-badge__dot{background:#10b981}.subscription-badge__name{font-weight:600;color:var(--text)}.subscription-badge__cycle{padding:1px 6px;border-radius:4px;background:var(--bg-elevated, #EEF2FF);color:var(--primary, #4F46E5);font-size:11px;font-weight:500}.subscription-badge__expiry{margin-left:auto;color:var(--text-muted);font-size:11px}.main{min-width:0;padding:26px 30px 40px}.topbar{position:sticky;top:0;z-index:50;align-items:center;margin:0 -30px 22px;padding:14px 30px 18px;border-bottom:1px solid var(--border);background:#f8fafccc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.page-heading .eyebrow{margin:0 0 5px;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.page-heading .page-title{margin:0;color:var(--text);font-size:22px;font-weight:700;line-height:1.2}.page-heading .eyebrow+.page-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.topbar-context{flex-wrap:nowrap}.compact-field{display:grid;gap:3px}.compact-field>span{padding-left:2px;color:var(--text-muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.compact-field select,.compact-field input{height:38px;min-width:128px;padding:7px 10px;border-radius:10px;background:var(--card);border:1px solid var(--border);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}.compact-field select:hover,.compact-field input:hover{border-color:var(--primary)}.compact-field select:focus,.compact-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.month-picker input[type=month]{background:var(--card);border:1px solid var(--border);border-radius:10px;transition:border-color .2s ease,box-shadow .2s ease}.month-picker input[type=month]:hover{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.month-picker input[type=month]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.icon-btn{display:grid;width:40px;height:40px;align-self:end;place-items:center;border:1px solid var(--border);border-radius:11px;color:var(--text-secondary);background:var(--card);font-size:22px;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease}.icon-btn:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.record-cta{min-height:40px;align-self:end;white-space:nowrap;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 10px #4f46e540;border:0;border-radius:11px;padding:10px 18px;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.record-cta:hover{transform:translateY(-2px);box-shadow:0 8px 16px #4f46e552}.record-cta:active{transform:translateY(0)}.sidebar-backdrop,.mobile-bottom-nav{display:none}@media(max-width:980px){.app-shell{grid-template-columns:minmax(0,1fr)}.main{padding:62px 18px 36px}.topbar{padding-left:0;padding-right:0;margin-left:0;margin-right:0}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:999;border:0;background:#0a172b75}}@media(max-width:700px){.main{padding:64px 12px 92px}.topbar{display:grid;align-items:start;gap:14px;margin-bottom:16px;padding-bottom:14px}.page-heading h2,.page-heading .page-title{font-size:24px}.topbar-context{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;width:100%;gap:8px}.compact-field select,.compact-field input{width:100%;min-width:0;box-sizing:border-box}.topbar-context .record-cta{display:none}.mobile-bottom-nav{display:grid;position:fixed;right:0;bottom:0;left:0;z-index:900;grid-template-columns:repeat(5,1fr);min-height:68px;padding:6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid #e1e7ef;background:#fffffff7;box-shadow:0 -8px 28px #21385717;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-bottom-nav button{display:grid;place-items:center;gap:2px;border:0;color:#758399;background:transparent;font-size:11px}.mobile-bottom-nav button.active{color:#1769d2;font-weight:700}.mobile-nav-icon{font-size:21px;line-height:1}.mobile-bottom-nav button.primary .mobile-nav-icon{display:grid;width:46px;height:46px;margin-top:-24px;place-items:center;border:5px solid #f5f7fb;border-radius:50%;color:#fff;background:linear-gradient(135deg,#1f7af0,#1658bd);box-shadow:0 7px 18px #1658bd4d;font-size:28px}}:root[data-theme=dark] .app-shell{background:var(--bg)}:root[data-theme=dark] .page-heading h2,:root[data-theme=dark] .page-heading .page-title{color:var(--text)}:root[data-theme=dark] .topbar{border-bottom-color:var(--border)}:root[data-theme=dark] .mobile-bottom-nav{border-top-color:var(--border);background:#121c2df7}.nav-grouped{display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex:1;padding-bottom:8px}.nav-grouped::-webkit-scrollbar{width:4px}.nav-grouped::-webkit-scrollbar-track{background:transparent}.nav-grouped::-webkit-scrollbar-thumb{background:#0f172a26;border-radius:4px}.nav-grouped::-webkit-scrollbar-thumb:hover{background:#0f172a40}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group-label{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px 4px;margin-top:4px;border:0;background:transparent;color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;text-align:left;transition:color .2s ease}.nav-group-label:hover{color:var(--text-secondary)}.nav-group-label.active{color:var(--primary)}.nav-group-label-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-grouped button{display:flex;align-items:center;gap:8px;padding:8px 12px;border:none;border-radius:10px;background:transparent;color:var(--text-secondary);font-size:.88rem;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.nav-grouped button:hover{background:var(--bg-soft);color:var(--text)}.nav-grouped button.active{background:var(--primary-soft);color:var(--primary);font-weight:600;box-shadow:none}.nav-icon{font-size:1.15rem;flex-shrink:0;width:24px;text-align:center;filter:brightness(1.1)}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-menu-toggle{display:none;position:fixed;top:12px;left:12px;z-index:1001;width:44px;height:44px;border:none;border-radius:12px;background:#1570ef;color:#fff;font-size:1.4rem;cursor:pointer;box-shadow:0 2px 8px #1570ef4d;align-items:center;justify-content:center}.mobile-close-btn{display:none;position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:8px;background:#f2f4f7;color:#475569;font-size:1.1rem;cursor:pointer;align-items:center;justify-content:center}@media(max-width:980px){.mobile-menu-toggle,.mobile-close-btn{display:flex}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:-300px;width:280px;height:100vh;z-index:1000;transition:left .3s ease;box-shadow:none}.sidebar.mobile-open{left:0;box-shadow:4px 0 24px #00000026}.main{padding-top:70px}.topbar{padding-left:56px;margin-left:0;margin-right:0}.nav-grouped{padding:0 8px}.sidebar.mobile-open:after{content:"";position:fixed;inset:0 0 0 280px;background:#0000004d;z-index:-1}}@media(max-width:600px){.topbar .toolbar{flex-wrap:wrap;gap:6px}.topbar .toolbar select,.topbar .toolbar input{min-width:0;flex:1}.topbar .page-title,.topbar h2{font-size:1.2rem}.topbar .eyebrow{display:none}.panel-title h3{font-size:1rem}.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-grid .metric strong{font-size:1.1rem}}:root[data-theme=dark] .auth-screen{background:linear-gradient(135deg,#0d1b2a,#1b2838 48%,#0d2818)}:root[data-theme=dark] .auth-card{background:#1a2332;box-shadow:0 24px 70px #00000080}:root[data-theme=dark] .auth-card h2{color:#e5edf8}:root[data-theme=dark] .auth-card input{background:#0d1b2a;border-color:#2d4a6f;color:#e5edf8}:root[data-theme=dark] .auth-card .error{background:#3d1f23;color:#f5a5a9}:root[data-theme=dark] body{background:#0d1117;color:#e5edf8}:root[data-theme=dark]{--card-bg: #182337;--tag-bg: #1a2d47;--hover-bg: #1e3250;--input-bg: #111b2c;--input-border: #34435a;--shadow: rgba(0, 0, 0, .4)}:root{--card-bg: #ffffff;--tag-bg: #f1f5f9;--hover-bg: #f8fafc;--input-bg: #ffffff;--input-border: #e2e8f0;--shadow: rgba(0, 0, 0, .08)}:root[data-theme=dark] .sidebar{background:#131c30b3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right-color:var(--border);color:var(--text)}:root[data-theme=dark] .sidebar .brand h1,:root[data-theme=dark] .sidebar .brand p{color:var(--text)}:root[data-theme=dark] .nav-grouped .nav-group-label{color:var(--text-muted)}:root[data-theme=dark] .nav-grouped button{color:var(--text-secondary)}:root[data-theme=dark] .nav-grouped button:hover{background:var(--bg-soft);color:var(--text)}:root[data-theme=dark] .nav-grouped button.active{background:var(--primary-soft);color:var(--primary)}:root[data-theme=dark] .side-card{background:var(--bg-soft);border-color:var(--border);color:var(--text)}:root[data-theme=dark] .side-card strong{color:var(--primary)}:root[data-theme=dark] .sidebar-user{background:var(--bg-soft);color:var(--text)}:root[data-theme=dark] .sidebar-user:hover{background:var(--bg-hover)}:root[data-theme=dark] .subscription-badge{background:var(--bg-soft);border-color:var(--border);color:var(--text)}:root[data-theme=dark] .subscription-badge:hover{background:var(--bg-hover);border-color:var(--primary)}:root[data-theme=dark] .subscription-badge__cycle{background:#6366f12e;color:#a5b4fc}:root[data-theme=dark] .brand-button strong,:root[data-theme=dark] .brand-button small,:root[data-theme=dark] .sidebar-user small{color:var(--text-muted)}:root[data-theme=dark] .topbar{background:#0b1220cc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom-color:var(--border)}:root[data-theme=dark] .topbar .eyebrow{color:var(--text-muted)}:root[data-theme=dark] .topbar h2,:root[data-theme=dark] .topbar .page-title{color:var(--text)}:root[data-theme=dark] .compact-field select,:root[data-theme=dark] .compact-field input,:root[data-theme=dark] .month-picker input[type=month]{background:var(--card);border-color:var(--border);color:var(--text)}:root[data-theme=dark] .icon-btn{color:var(--text-secondary);background:var(--card);border-color:var(--border)}:root[data-theme=dark] .icon-btn:hover{border-color:var(--primary);color:var(--primary)}:root[data-theme=dark] .record-cta{background:linear-gradient(135deg,#7c8cff,#a78bfa);color:#fff}:root[data-theme=dark] .primary-btn{background:#1f6feb;color:#fff}:root[data-theme=dark] .primary-btn:hover{background:#3b82f6}:root[data-theme=dark] .ghost-btn{color:#8fa3c4;border-color:#34435a}:root[data-theme=dark] .ghost-btn:hover{background:#1e3250;color:#e5edf8;border-color:#4a9eff}:root[data-theme=dark] .link-btn{color:#4a9eff}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color:#e5edf8;background:#111b2c;border-color:#34435a}:root[data-theme=dark] input:focus,:root[data-theme=dark] select:focus,:root[data-theme=dark] textarea:focus{border-color:#4a9eff;box-shadow:0 0 0 3px #4a9eff26;outline:none}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#4a6280}:root[data-theme=dark] .view-header h2{color:#e5edf8}:root[data-theme=dark] .view-header .subtitle{color:#8fa3c4}:root[data-theme=dark] table th{background:#1a2d47;color:#8fa3c4;border-color:#2a3952}:root[data-theme=dark] table td{color:#e5edf8;border-color:#2a3952}:root[data-theme=dark] table tr:hover td{background:#1e3250}:root[data-theme=dark] .transaction-item{border-bottom-color:#2a3952}:root[data-theme=dark] .transaction-item:hover{background:#1e3250}:root[data-theme=dark] .tx-meta{color:#6b82a6}:root[data-theme=dark] .dialog-overlay{background:#000000b3}:root[data-theme=dark] .dialog-card{background:#182337;border-color:#2a3952;color:#e5edf8}:root[data-theme=dark] .upload-area{background:#111b2c;border-color:#34435a;color:#8fa3c4}:root[data-theme=dark] .upload-area:hover{border-color:#4a9eff;background:#1a2d47}:root[data-theme=dark] .calendar-cell{background:#182337;border-color:#2a3952;color:#e5edf8}:root[data-theme=dark] .calendar-cell.today{background:#1a2d47;border-color:#4a9eff}:root[data-theme=dark] .calendar-cell.other-month{color:#4a6280}:root[data-theme=dark] .format-badge,:root[data-theme=dark] .bank-tag{background:#1a2d47;color:#4a9eff}:root[data-theme=dark] .preview-section{background:#182337;border-color:#2a3952}:root[data-theme=dark] .preview-header{border-bottom-color:#2a3952}:root[data-theme=dark] .cat-tab,:root[data-theme=dark] .filter-btn,:root[data-theme=dark] .sort-btn{color:#c0d0e8;border-color:#34435a;background:#182337}:root[data-theme=dark] .cat-tab:hover,:root[data-theme=dark] .filter-btn:hover{border-color:#4a9eff;color:#e5edf8}:root[data-theme=dark] .template-card,:root[data-theme=dark] .bank-card{background:#182337;border-color:#2a3952;color:#e5edf8}:root[data-theme=dark] .template-card:hover,:root[data-theme=dark] .bank-card:hover{border-color:#4a9eff;box-shadow:0 4px 12px #0000004d}:root[data-theme=dark] .template-card.active,:root[data-theme=dark] .bank-card.active{background:#1a2d47;border-color:#4a9eff}:root[data-theme=dark] .post-card{background:#182337;border-color:#2a3952;color:#e5edf8}:root[data-theme=dark] .post-card:hover{box-shadow:0 2px 8px #0000004d}:root[data-theme=dark] .post-excerpt{color:#8fa3c4}:root[data-theme=dark] .invoice-card{background:#182337;border-color:#2a3952}:root[data-theme=dark] .comment-item{background:#1a2d47}:root[data-theme=dark] .reply-item{border-left-color:#34435a}:root[data-theme=dark] .quotes-table{background:#182337;border-color:#2a3952}:root[data-theme=dark] .table-header{background:#1a2d47;color:#6b82a6}:root[data-theme=dark] .table-row{border-bottom-color:#2a3952;color:#e5edf8}:root[data-theme=dark] .portfolio-card{background:#182337;border-color:#2a3952}:root[data-theme=dark] .stat-card{background:#182337;border-color:#2a3952;color:#e5edf8}:root[data-theme=dark] .event-item{background:#1a2d47}:root[data-theme=dark] .modal-card{background:#182337;border-color:#2a3952;color:#e5edf8}:root[data-theme=dark] .modal-overlay{background:#000000b3}:root[data-theme=dark] .loading-state,:root[data-theme=dark] .empty-state{color:#6b82a6}:root[data-theme=dark] .error{color:#f87171}*:focus-visible{outline:2px solid var(--primary, #1f6feb);outline-offset:2px;border-radius:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary, #1f6feb);outline-offset:2px}:root[data-theme=dark] *:focus-visible{outline-color:#4a9eff}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){:root{--border: #000000;--text: #000000;--text-secondary: #333333}:root[data-theme=dark]{--border: #ffffff;--text: #ffffff;--text-secondary: #cccccc}button,input,select,textarea{border-width:2px}}.skip-nav{position:absolute;top:-40px;left:0;padding:8px 16px;background:var(--primary, #1f6feb);color:#fff;text-decoration:none;z-index:9999;border-radius:0 0 4px;font-weight:600}.skip-nav:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}[aria-live=polite],[aria-live=assertive]{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.panel{overflow-x:auto}@media(max-width:1200px){.toolbar{flex-wrap:wrap}.toolbar select,.toolbar input{min-width:120px}}@media(max-width:980px){.main{padding:20px 16px}.topbar{gap:12px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid.two{grid-template-columns:1fr;gap:12px}}@media(max-width:600px){.main{padding:12px 8px}.topbar h2{font-size:24px}.summary-grid{grid-template-columns:1fr;gap:10px}.metric,.panel{padding:14px;border-radius:16px}.panel-title{flex-direction:column;align-items:flex-start;gap:8px}.panel-title h3{font-size:18px}}@media(max-width:400px){.main{padding:8px 4px}.topbar{gap:8px;margin-bottom:12px}.toolbar{gap:4px}.toolbar select,.toolbar input,.toolbar button{font-size:.85rem;padding:8px 10px}}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table,th,td{text-align:left}@media(max-width:980px){.col-tags,.col-note{display:none}.filters{flex-wrap:wrap}.filters select,.filters input{min-width:130px;flex:1 1 130px}.link-btn{padding:4px 6px;font-size:.85rem}}@media(max-width:600px){.col-account{display:none}.table-wrap table{font-size:.85rem}.table-wrap th,.table-wrap td{padding:8px 5px}.link-btn{padding:3px 4px;font-size:.78rem}.filters select,.filters input{min-width:100px;font-size:.85rem;padding:8px}.col-amount{white-space:nowrap;font-weight:600}}:root[data-theme=dark] .icon-btn:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}:root[data-theme=dark] .metric{background:#182337;box-shadow:0 18px 40px #00000040}:root[data-theme=dark] .metric span{color:#8fa3c4}:root[data-theme=dark] .panel-title h3{color:#e5edf8}:root[data-theme=dark] .panel-title>span{color:#8fa3c4}:root[data-theme=dark] .segmented{background:#111b2c}:root[data-theme=dark] .segmented button{color:#c0d0e8}:root[data-theme=dark] .segmented button.active{color:#fff;background:#1f6feb}:root[data-theme=dark] .compact-field>span{color:var(--text-muted)}:root[data-theme=dark] .danger-btn{background:#c0392b;color:#fff}:root[data-theme=dark] .danger-btn:hover{background:#e74c3c}:root[data-theme=dark] .tag{background:#1f6feb;color:#fff}:root[data-theme=dark] .category-row,:root[data-theme=dark] .budget-row{border-bottom-color:#2a3952}:root[data-theme=dark] .nav-group-label{color:var(--text-muted)}:root[data-theme=dark] .nav-group-label:hover{color:var(--text-secondary)}:root[data-theme=dark] .nav-group-label.active{color:var(--primary)}:root[data-theme=dark] .nav-submenu button{color:var(--text-secondary)}:root[data-theme=dark] .nav-submenu button:hover{color:var(--text);background:var(--bg-soft)}:root[data-theme=dark] .nav-submenu button.active{color:var(--primary);background:var(--primary-soft)}:root[data-theme=dark] .mobile-bottom-nav button{color:#8fa3c4}:root[data-theme=dark] .mobile-bottom-nav button.active{color:#4a9eff}:root[data-theme=dark] .mobile-bottom-nav button.primary .mobile-nav-icon{border-color:#101827;background:linear-gradient(135deg,#1f7af0,#1658bd)}:root[data-theme=dark] .muted{color:#8fa3c4}:root[data-theme=dark] .sub-title{color:#e5edf8}:root[data-theme=dark] .income{color:#34d399}:root[data-theme=dark] .expense{color:#f87171}:root[data-theme=dark] .transfer{color:#a78bfa}:root[data-theme=dark] .balance,:root[data-theme=dark] .asset{color:#4a9eff}.pwd-field{position:relative}.pwd-field input{padding-right:42px}.pwd-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#64748b;font-size:16px;line-height:1;cursor:pointer}.pwd-toggle:hover{background:#1f6feb14;color:#1f6feb}.pwd-strength{margin-top:8px;display:flex;align-items:center;gap:8px}.pwd-strength-bars{display:flex;gap:4px;flex:1}.pwd-strength-bars span{flex:1;height:5px;border-radius:3px;background:#e2e8f0;transition:background .2s}.pwd-strength-bars.low span:nth-child(1){background:#ef4444}.pwd-strength-bars.mid span:nth-child(1),.pwd-strength-bars.mid span:nth-child(2){background:#f59e0b}.pwd-strength-bars.high span{background:#10b981}.pwd-strength-label{font-size:12px;font-weight:600;min-width:28px;text-align:right}.pwd-strength-label.low{color:#ef4444}.pwd-strength-label.mid{color:#f59e0b}.pwd-strength-label.high{color:#10b981}:root[data-theme=dark] .pwd-toggle{color:#8b9dc3}:root[data-theme=dark] .pwd-toggle:hover{background:#37d5c81f;color:#37d5c8}:root[data-theme=dark] .pwd-strength-bars span{background:#2a3952}:root[data-theme=dark] .pwd-strength-bars.low span:nth-child(1){background:#f87171}:root[data-theme=dark] .pwd-strength-bars.mid span:nth-child(1),:root[data-theme=dark] .pwd-strength-bars.mid span:nth-child(2){background:#fbbf24}:root[data-theme=dark] .pwd-strength-bars.high span{background:#34d399}
