:root,[data-theme=light]{--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Fraunces", "Georgia", "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--border-radius-md:10px;--border-radius-lg:16px;--border-radius-xl:20px;--color-background-base:#ede4d6;--color-background-primary:#faf6f0;--color-background-secondary:#f3ebe0;--color-background-tertiary:#ede4d6;--color-background-elevated:#e8ddd0;--color-background-info:#e8621a1a;--color-border-primary:#2a1f141a;--color-border-secondary:#2a1f1424;--color-border-tertiary:#2a1f1414;--color-text-primary:#2a1f14;--color-text-secondary:#6b5d4f;--color-text-tertiary:#9a8b7a;--color-text-info:#c44e12;--color-accent:#e8621a;--color-accent-bright:#f4a030;--color-accent-dark:#c44e12;--color-accent-gradient:linear-gradient(135deg, #f08a2a 0%, #f4b84a 100%);--color-on-accent:#fff;--color-debit:#c44a4a;--color-credit:#2d8f55;--color-warn:#c47a12;--color-surface-good:#e8621a1f;--color-surface-fair:#f4a03024;--color-surface-bad:#c44a4a1a;--color-surface-info:#e8621a14;--color-surface-accent:#e8621a14;--color-glass:#faf6f0b8;--color-overlay:#2a1f1461;--color-chart-empty:#e8e6e1;--gradient-body:radial-gradient(ellipse at top, #f8f1e8 0%, var(--color-background-base) 60%);--gradient-card:linear-gradient(160deg, #fffcf8 0%, var(--color-background-primary) 100%);--gradient-card-warm:linear-gradient(160deg, #fffaf5 0%, var(--color-background-primary) 100%);--gradient-hero:linear-gradient(155deg, #fff9f4 0%, var(--color-background-primary) 100%);--gradient-hero-rich:linear-gradient(155deg, #fff9f4 0%, #fffcf8 40%, var(--color-background-primary) 100%);--gradient-hero-import:linear-gradient(155deg, #fff9f4 0%, #fffcf8 42%, var(--color-background-primary) 100%);--gradient-hero-tall:linear-gradient(165deg, #fff9f4 0%, var(--color-background-primary) 100%);--shadow-card:0 4px 24px #2a1f1412;--shadow-glow:0 0 20px #e8621a1f;--shadow-soft:0 1px 3px #2a1f1414}[data-theme=dark]{--color-background-base:#14100c;--color-background-primary:#1c1611;--color-background-secondary:#241d17;--color-background-tertiary:#18130f;--color-background-elevated:#2e261f;--color-background-info:#f4a0301f;--color-border-primary:#f5ebe01f;--color-border-secondary:#f5ebe029;--color-border-tertiary:#f5ebe014;--color-text-primary:#f5ebe0;--color-text-secondary:#b8a99a;--color-text-tertiary:#7a6f63;--color-text-info:#f4a030;--color-accent:#f08a2a;--color-accent-bright:#f4b84a;--color-accent-dark:#e8621a;--color-accent-gradient:linear-gradient(135deg, #f08a2a 0%, #f4b84a 100%);--color-on-accent:#1a1208;--color-debit:#e07070;--color-credit:#4cb87a;--color-warn:#e0a040;--color-surface-good:#f08a2a29;--color-surface-fair:#f4b84a24;--color-surface-bad:#e0707024;--color-surface-info:#f08a2a1a;--color-surface-accent:#f08a2a1f;--color-glass:#1c1611c7;--color-overlay:#0806049e;--color-chart-empty:#3d3530;--gradient-body:radial-gradient(ellipse at top, #221a14 0%, var(--color-background-base) 62%);--gradient-card:linear-gradient(160deg, #241d17 0%, var(--color-background-primary) 100%);--gradient-card-warm:linear-gradient(160deg, #2a2119 0%, var(--color-background-primary) 100%);--gradient-hero:linear-gradient(155deg, #2a2119 0%, var(--color-background-primary) 100%);--gradient-hero-rich:linear-gradient(155deg, #2e261f 0%, #241d17 42%, var(--color-background-primary) 100%);--gradient-hero-import:linear-gradient(155deg, #2e261f 0%, #241d17 44%, var(--color-background-primary) 100%);--gradient-hero-tall:linear-gradient(165deg, #2a2119 0%, var(--color-background-primary) 100%);--shadow-card:0 4px 28px #00000059;--shadow-glow:0 0 24px #f08a2a2e;--shadow-soft:0 1px 3px #00000047}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--gradient-body);color:var(--color-text-primary);-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.bw{background:var(--color-background-tertiary);height:100vh;min-height:600px;display:flex;overflow:hidden}.sidebar{background:var(--color-background-primary);border-right:.5px solid var(--color-border-tertiary);flex-direction:column;width:220px;min-width:220px;padding:0;display:flex;overflow-y:auto}.brand{border-bottom:.5px solid var(--color-border-tertiary);padding:20px 16px 12px}.brand-name{color:var(--color-text-primary);letter-spacing:-.3px;align-items:center;gap:6px;font-size:17px;font-weight:500;display:flex}.brand-sub{color:var(--color-text-secondary);margin-top:1px;font-size:11px}.nav-section{padding:12px 8px 4px}.nav-label{color:var(--color-text-tertiary);letter-spacing:.5px;text-transform:uppercase;padding:0 8px 6px;font-size:10px;font-weight:500}.nav-item{border-radius:var(--border-radius-md);cursor:pointer;color:var(--color-text-secondary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px;font-size:13px;transition:background .15s;display:flex}.nav-item:hover{background:var(--color-background-secondary)}.nav-item.active{background:var(--color-surface-good);color:var(--color-accent-bright);box-shadow:inset 3px 0 0 var(--color-accent);font-weight:500}.main{flex-direction:column;flex:1;padding:0;display:flex;overflow-y:auto}.topbar{justify-content:space-between;align-items:center;padding:16px 24px 0;display:flex}.page-title{color:var(--color-text-primary);font-size:20px;font-weight:500}.topbar-right{align-items:center;gap:8px;display:flex}.content{flex:1;padding:16px 24px 24px}.btn{border-radius:var(--border-radius-md);border:.5px solid var(--color-border-secondary);color:var(--color-text-primary);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex}.btn:hover{background:var(--color-background-secondary)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-accent-gradient);color:var(--color-on-accent);box-shadow:var(--shadow-glow);border-color:#0000;font-weight:500}.btn-primary:hover{filter:brightness(1.08);border-color:#0000}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.metric-card{background:linear-gradient(145deg, var(--color-background-secondary) 0%, var(--color-background-primary) 100%);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-card);padding:14px 16px}.metric-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:11px}.metric-value{color:var(--color-text-primary);letter-spacing:-.5px;font-size:22px;font-weight:500}.metric-sub{color:var(--color-text-secondary);margin-top:4px;font-size:11px}.metric-green{color:var(--color-credit)}.metric-red{color:var(--color-debit)}.card{background:var(--gradient-card);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-card);padding:16px 18px}.card-title{color:var(--color-text-primary);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:13px;font-weight:500;display:flex}.card-title span{color:var(--color-text-secondary);font-size:11px;font-weight:400}.cat-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.cat-label{width:100px;color:var(--color-text-secondary);flex-shrink:0;font-size:12px}.cat-bar-wrap{flex:1}.cat-amount{text-align:right;width:90px;color:var(--color-text-primary);font-size:12px;font-weight:500}.progress-bar{background:var(--color-background-secondary);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.progress-fill{border-radius:3px;height:100%;transition:width .5s}.tx-item{border-bottom:.5px solid var(--color-border-tertiary);align-items:center;gap:12px;padding:9px 0;display:flex}.tx-item:last-child{border-bottom:none}.tx-icon{background:var(--color-background-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.tx-info{flex:1}.tx-info p{color:var(--color-text-primary);font-size:13px;font-weight:500}.tx-info small{color:var(--color-text-secondary);font-size:11px}.tx-amount{font-size:13px;font-weight:500}.tx-amount.credit{color:var(--color-credit)}.tx-amount.debit{color:var(--color-debit)}.tx-amount.transfer{color:var(--color-text-secondary)}.tag{background:var(--color-background-secondary);color:var(--color-text-secondary);border-radius:20px;margin-left:6px;padding:2px 7px;font-size:10px;font-weight:500;display:inline-block}.account-item{border-bottom:.5px solid var(--color-border-tertiary);align-items:center;gap:12px;padding:10px 0;display:flex}.account-item:last-child{border-bottom:none}.acct-icon{border-radius:var(--border-radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.acct-name{flex:1}.acct-name p{font-size:13px;font-weight:500}.acct-name small{color:var(--color-text-secondary);font-size:11px}.acct-balance{text-align:right}.acct-balance p{font-size:14px;font-weight:500}.budget-row{align-items:center;gap:12px;margin-bottom:14px;display:flex}.budget-cat{width:110px;font-size:13px}.budget-bars{flex:1}.budget-numbers{text-align:right;width:80px;color:var(--color-text-secondary);font-size:12px}.budget-numbers.over{color:var(--color-debit)}.debt-item{border-bottom:.5px solid var(--color-border-tertiary);align-items:center;gap:12px;padding:10px 0;display:flex}.debt-item:last-child{border-bottom:none}.debt-avatar{background:var(--color-background-info);width:34px;height:34px;color:var(--color-text-info);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:500;display:flex}.debt-avatar.owe{background:var(--color-surface-bad);color:var(--color-debit)}.debt-info{flex:1}.debt-info p{font-size:13px;font-weight:500}.debt-info small{color:var(--color-text-secondary);font-size:11px}.debt-amount p{font-size:13px;font-weight:500}.debt-amount.owes-me p{color:var(--color-credit)}.debt-amount.i-owe p{color:var(--color-debit)}.insight-item{border-radius:var(--border-radius-md);align-items:flex-start;gap:10px;margin-bottom:8px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.insight-warn{background:var(--color-surface-fair);color:var(--color-text-primary)}.insight-good{background:var(--color-surface-good);color:var(--color-text-primary)}.insight-info{background:var(--color-surface-info);color:var(--color-text-primary)}.paste-area{border:.5px dashed var(--color-border-secondary);border-radius:var(--border-radius-lg);background:var(--color-background-secondary);padding:20px}.paste-area textarea{background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);width:100%;height:120px;font-size:12px;font-family:var(--font-mono);color:var(--color-text-primary);resize:vertical;padding:10px}.parsed-row{border-bottom:.5px solid var(--color-border-tertiary);grid-template-columns:1fr 100px 90px 90px 1fr;align-items:center;gap:8px;padding:6px 0;font-size:12px;display:grid}.parsed-row.header{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-secondary);padding-bottom:8px;font-weight:500}.health-summary-compact{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);cursor:pointer;align-items:center;gap:16px;margin-bottom:20px;padding:14px 18px;transition:background .15s,border-color .15s;display:flex}.health-summary-compact:hover{background:var(--color-background-elevated);border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.health-mini-ring{border:3px solid var(--color-accent);background:var(--color-surface-good);border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.health-mini-ring.fair{border-color:var(--color-warn);background:var(--color-surface-fair)}.health-mini-ring.bad{border-color:var(--color-debit);background:var(--color-surface-bad)}.health-mini-num{color:var(--color-accent-bright);font-size:18px;font-weight:500;line-height:1}.health-mini-ring.fair .health-mini-num{color:var(--color-warn)}.health-mini-ring.bad .health-mini-num{color:var(--color-debit)}.health-summary-body{flex:1;min-width:0}.health-summary-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.health-summary-title{font-size:13px;font-weight:500}.health-summary-pill{border-radius:20px;padding:2px 8px;font-size:10px;font-weight:500}.health-summary-pill.good{background:var(--color-surface-good);color:var(--color-accent-bright)}.health-summary-pill.fair{background:var(--color-surface-fair);color:var(--color-warn)}.health-summary-pill.bad{background:var(--color-surface-bad);color:var(--color-debit)}.health-summary-text{color:var(--color-text-secondary);font-size:12px;line-height:1.45}.health-pillar-chips{flex-shrink:0;gap:8px;display:flex}.health-chip{border-radius:var(--border-radius-md);background:var(--color-background-secondary);white-space:nowrap;align-items:center;gap:5px;padding:6px 10px;font-size:11px;display:flex}.health-chip.ok{color:var(--color-accent-bright)}.health-chip.warn{color:var(--color-warn)}.health-chip.bad{color:var(--color-debit)}.health-summary-link{color:var(--color-text-secondary);flex-shrink:0;align-items:center;gap:4px;font-size:11px;display:flex}.health-hero{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);align-items:center;gap:24px;margin-bottom:20px;padding:20px 24px;display:flex}.health-score-ring{border:4px solid var(--color-accent);background:var(--color-surface-good);width:88px;height:88px;box-shadow:var(--shadow-glow);border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.health-score-ring.fair{border-color:var(--color-warn);background:var(--color-surface-fair)}.health-score-ring.bad{border-color:var(--color-debit);background:var(--color-surface-bad)}.health-score-num{color:var(--color-accent-bright);font-size:26px;font-weight:500;line-height:1}.pillar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.pillar-card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:16px 18px}.pillar-card.good{border-top:3px solid var(--color-accent)}.pillar-card.warn{border-top:3px solid var(--color-warn)}.pillar-card.bad{border-top:3px solid var(--color-debit)}.pillar-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.pillar-name{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:500}.pillar-track{font-size:11px;font-weight:500}.pillar-track.yes{color:var(--color-accent)}.pillar-track.no{color:var(--color-warn)}.pillar-label{margin-bottom:6px;font-size:17px;font-weight:500}.pillar-msg{color:var(--color-text-secondary);margin-bottom:12px;font-size:12px;line-height:1.5}.pillar-metric{justify-content:space-between;margin-bottom:6px;font-size:11px;display:flex}.pillar-metric span:first-child{color:var(--color-text-secondary)}.brand-icon{color:var(--color-accent);flex-shrink:0}.sidebar-footer{flex-direction:column;gap:6px;margin-top:auto;padding:12px 8px;display:flex}.theme-toggle{border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-secondary);width:100%;color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:background .15s,color .15s;display:flex}.theme-toggle:hover{background:var(--color-background-elevated);color:var(--color-text-primary)}.theme-toggle-label{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.auth-page{background:var(--color-background-tertiary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.auth-split{background:var(--color-background-primary);grid-template-columns:1fr 1fr;min-height:100dvh;animation:.52s cubic-bezier(.22,1,.36,1) both auth-split-in;display:grid;position:relative;overflow:hidden}@keyframes auth-split-in{0%{opacity:0}to{opacity:1}}.auth-split-visual{background:#1a120c;min-height:100dvh;position:relative;overflow:hidden}.auth-split-image{object-fit:cover;object-position:center;width:100%;height:100%;animation:1.1s cubic-bezier(.22,1,.36,1) both auth-image-settle;position:absolute;inset:0;transform:scale(1.02)}@keyframes auth-image-settle{0%{opacity:.72;transform:scale(1.08)}to{opacity:1;transform:scale(1.02)}}.auth-split-visual-scrim{pointer-events:none;background:linear-gradient(#120c0847 0%,#120c0814 38%,#120c088c 100%),linear-gradient(90deg,#0000 60%,#120c082e 100%);position:absolute;inset:0}.auth-split-visual-brand{z-index:1;color:#f7efe6;font-family:var(--font-display);letter-spacing:-.02em;text-shadow:0 1px 18px #00000059;align-items:center;gap:10px;font-size:22px;font-weight:550;animation:.7s cubic-bezier(.22,1,.36,1) .12s both auth-panel-rise;display:inline-flex;position:absolute;bottom:28px;left:28px}.auth-split-panel{background:radial-gradient(ellipse 80% 55% at 100% 0%, #f08a2a17, transparent 55%), var(--color-background-primary);justify-content:center;align-items:center;padding:48px 40px;display:flex;position:relative}.auth-split-content{width:100%;max-width:360px;animation:.7s cubic-bezier(.22,1,.36,1) 80ms both auth-panel-rise}@keyframes auth-panel-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-split-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 10px;font-size:11px;font-weight:600}.auth-split-title{margin:0 0 14px;line-height:1}.auth-split-brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text-primary);font-size:clamp(42px,6vw,56px);font-weight:600;display:block}.auth-split-lede{color:var(--color-text-secondary);max-width:32ch;margin:0 0 28px;font-size:15px;line-height:1.55}.auth-split-note{color:var(--color-text-tertiary);margin:18px 0 0;font-size:12px;line-height:1.5}.auth-split .auth-legal{margin-top:28px}.auth-split .btn-google{border-color:var(--color-border-primary);border-radius:12px;min-height:48px;font-size:15px;font-weight:500;transition:background .16s,border-color .16s,transform .16s}.auth-split .btn-google:hover:not(:disabled){border-color:var(--color-border-secondary);transform:translateY(-1px)}.auth-theme-toggle{z-index:1;width:auto;position:absolute;top:16px;right:16px}.auth-theme-toggle .theme-toggle-label{display:none}.auth-card{background:var(--gradient-card);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-card), var(--shadow-glow);padding:28px}.auth-card p{color:var(--color-text-secondary);margin-bottom:20px;font-size:13px}.auth-divider{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:12px;margin:4px 0 16px;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border-secondary);flex:1;height:1px}.google-auth{margin-bottom:12px}.google-auth .form-error{margin-bottom:10px}.btn-google{background:var(--color-background-primary);width:100%;color:var(--color-text-primary);border:.5px solid var(--color-border-secondary);box-shadow:none;justify-content:center;align-items:center;gap:10px;display:inline-flex}.btn-google:hover:not(:disabled){background:var(--color-background-secondary)}.btn-google-icon{flex-shrink:0}@media (width<=860px){.auth-split{grid-template-rows:clamp(148px,30dvh,240px) auto;grid-template-columns:minmax(0,1fr);min-height:100dvh;overflow:clip auto}.auth-split-visual{min-height:0}.auth-split-image{object-position:center 70%}.auth-split-visual-brand{display:none}.auth-split-panel{min-height:calc(100dvh - clamp(148px,30dvh,240px));padding:28px max(20px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));align-items:safe center;position:static}.auth-split-content{max-width:440px;margin-inline:auto}.auth-split-lede,.auth-split-note{max-width:none}.auth-split .auth-legal a{padding:6px 2px;display:inline-block}.auth-split-brand{font-size:clamp(40px,12vw,48px)}.auth-theme-toggle{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:3;color:#f7efe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#16100c8c;border-color:#f7efe647;border-radius:999px;justify-content:center;width:44px;height:44px;padding:0}}@media (width<=380px){.auth-split{grid-template-rows:132px auto}.auth-split-panel{min-height:calc(100dvh - 132px);padding-inline:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.auth-split-lede{margin-bottom:22px;font-size:14px}}@media (height<=520px) and (orientation:landscape){.auth-split{grid-template-rows:1fr;grid-template-columns:minmax(160px,38vw) minmax(0,1fr);overflow:hidden}.auth-split-visual{min-height:100dvh}.auth-split-image{object-position:center}.auth-split-visual-brand{font-size:16px;display:inline-flex;bottom:14px;left:16px}.auth-split-panel{align-items:center;min-height:100dvh;padding:56px 24px 20px;position:relative;overflow-y:auto}.auth-split-brand{font-size:36px}.auth-split-lede{margin-bottom:16px}.auth-split .auth-legal{margin-top:16px}}.form-field{margin-bottom:14px}.form-field label{color:var(--color-text-secondary);margin-bottom:6px;font-size:12px;display:block}.form-field input,.form-field select{border-radius:var(--border-radius-md);border:.5px solid var(--color-border-secondary);background:var(--color-background-secondary);width:100%;color:var(--color-text-primary);padding:8px 10px;font-size:13px}.form-field input::placeholder{color:var(--color-text-tertiary)}.form-error{color:var(--color-debit);margin-bottom:12px;font-size:12px}.empty-state{color:var(--color-text-secondary);text-align:center;padding:24px 0;font-size:13px}.loading{color:var(--color-text-secondary);padding:24px 0;font-size:13px}.query-error{text-align:center;max-width:420px;margin:48px auto;padding:24px}.query-error-title{color:var(--color-text);margin:0 0 8px;font-size:18px;font-weight:600}.query-error-message{color:var(--color-text-secondary);margin:0 0 16px;font-size:14px}.modal-overlay{background:var(--color-overlay);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--color-background-primary);border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);width:100%;max-width:480px;padding:20px}.modal h2{margin-bottom:16px;font-size:16px;font-weight:500}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.status-box{border-radius:var(--border-radius-md);padding:10px 12px;font-size:12px;line-height:1.5}.status-box.good{background:var(--color-surface-good);color:var(--color-accent-bright)}.status-box.fair{background:var(--color-surface-fair);color:var(--color-warn)}.status-box.bad{background:var(--color-surface-bad);color:var(--color-debit)}.text-link{color:var(--color-accent-dark);font-size:inherit;font-weight:500;text-decoration:none}.text-link:hover{text-decoration:underline}.text-link-btn{color:var(--color-accent-dark);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-weight:500}.text-link-btn:hover{text-decoration:underline}.select-input{border-radius:var(--border-radius-md);border:.5px solid var(--color-border-secondary);color:var(--color-text-primary);font-size:12px;font-family:var(--font-sans);background:0 0;padding:5px 8px}.topbar-left{align-items:center;gap:10px;display:flex}.mobile-menu-btn{display:none}.btn-icon{padding:6px}.sidebar-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;display:none;position:absolute;top:18px;right:12px}.sidebar-backdrop{background:var(--color-overlay);z-index:40;cursor:pointer;border:none;display:none;position:fixed;inset:0}.brand{position:relative}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.filter-search{flex:1;min-width:160px}.onboarding-banner{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-secondary);background:var(--color-background-primary);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 18px;display:flex}.onboarding-banner strong{margin-bottom:4px;font-size:14px;display:block}.onboarding-banner p{color:var(--color-text-secondary);font-size:12px;line-height:1.5}.onboarding-actions{flex-shrink:0;gap:8px;display:flex}.cat-percent{color:var(--color-text-tertiary);font-size:10px;font-weight:400;display:block}.cash-flow-summary{border-top:.5px solid var(--color-border-tertiary);margin-top:14px;padding-top:12px}.cash-flow-label{color:var(--color-text-secondary);margin-bottom:4px;font-size:12px}.cash-flow-row{flex-wrap:wrap;gap:16px;display:flex}.cash-flow-tag{color:var(--color-text-secondary);font-size:11px}.cash-flow-in{color:var(--color-credit);font-size:15px;font-weight:500}.cash-flow-out{color:var(--color-debit);font-size:15px;font-weight:500}.cash-flow-net{font-size:15px;font-weight:500}.account-item-link{color:inherit;border-radius:var(--border-radius-md);margin:0 -8px;padding-left:8px;padding-right:8px;text-decoration:none;transition:background .15s}.account-item-link:hover{background:var(--color-background-secondary)}.budget-amounts{color:var(--color-text-secondary);margin-bottom:3px;font-size:10px}.budget-numbers.near{color:var(--color-warn)!important}.card-footnote{color:var(--color-text-tertiary);border-top:.5px solid var(--color-border-tertiary);margin-top:14px;padding-top:12px;font-size:11px;line-height:1.5}.health-rules{color:var(--color-text-secondary);margin-left:16px;font-size:12px;line-height:1.6}.health-rules li{margin-bottom:6px}.collapse-trigger{border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-primary);width:100%;color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:6px;margin-bottom:12px;padding:10px 14px;font-family:inherit;font-size:12px;display:flex}.collapse-trigger:hover{background:var(--color-background-secondary)}.collapse-icon{margin-left:auto;transition:transform .2s}.collapse-icon.open{transform:rotate(180deg)}.recommendation-item{border-radius:var(--border-radius-md);background:var(--color-background-secondary);padding:10px 12px}.insight-item>div{flex:1}.setup-wizard{max-width:640px;margin:0 auto}.setup-header{text-align:center;margin-bottom:28px}.setup-title{margin-bottom:8px;font-size:24px;font-weight:500}.setup-subtitle{color:var(--color-text-secondary);font-size:14px;line-height:1.5}.setup-steps{gap:8px;margin-bottom:24px;display:flex}.setup-step{border-radius:var(--border-radius-md);background:var(--color-background-secondary);color:var(--color-text-tertiary);flex:1;align-items:center;gap:8px;padding:10px 12px;font-size:11px;display:flex}.setup-step.active{background:var(--color-surface-good);color:var(--color-accent-dark);font-weight:500}.setup-step.done{color:var(--color-credit)}.setup-step-num{background:var(--color-background-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:500;display:flex}.setup-card{text-align:center;padding:28px 24px}.setup-card-icon{background:var(--color-surface-good);width:56px;height:56px;color:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.setup-card h2{margin-bottom:8px;font-size:18px;font-weight:500}.setup-card>p{color:var(--color-text-secondary);margin-bottom:20px;font-size:13px;line-height:1.55}.setup-form{text-align:left;max-width:360px;margin:0 auto}.setup-card-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.setup-choice-card{flex-direction:column;align-items:flex-start;gap:10px;padding:20px;display:flex}.setup-choice-card h2{font-size:15px;font-weight:500}.setup-choice-card p{color:var(--color-text-secondary);flex:1;font-size:12px;line-height:1.55}.setup-choice-primary{border-color:var(--color-accent);background:var(--gradient-card)}.home-hero{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding:22px 24px;display:flex}.home-hero-good{border-color:#2d8f5540}.home-hero-warn{background:var(--gradient-card-warm);border-color:#c47a124d}.home-hero-pill{border-radius:20px;margin-bottom:10px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-block}.home-hero-pill-good{background:var(--color-surface-good);color:var(--color-credit)}.home-hero-pill-warn{background:var(--color-surface-fair);color:var(--color-warn)}.home-hero-headline{letter-spacing:-.4px;margin-bottom:6px;font-size:26px;font-weight:500;line-height:1.2}.home-hero-subline{color:var(--color-text-secondary);font-size:13px;line-height:1.5}.home-hero-aside{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.home-hero-stat{text-align:right}.home-hero-stat-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.4px;font-size:10px;display:block}.home-hero-stat-value{font-size:16px;font-weight:500}.home-hero-cta{white-space:nowrap;font-size:12px}.home-hero-link{font-size:12px}.home-board{flex-direction:column;gap:20px;display:flex}.board-header{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--gradient-card);justify-content:space-between;align-items:flex-start;gap:24px;padding:24px;display:flex}.board-hero{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--gradient-hero-rich);box-shadow:var(--shadow-card);justify-content:space-between;align-items:flex-start;gap:28px;padding:28px 28px 24px;display:flex}.board-hero-eyebrow{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:500}.board-hero-balance{letter-spacing:-.03em;color:var(--color-text-primary);margin-bottom:8px;font-size:36px;font-weight:500;line-height:1.05}.board-hero-sub{color:var(--color-text-secondary);max-width:520px;margin:0 0 16px;font-size:13px;line-height:1.5}.board-hero-period-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 8px;font-size:11px;font-weight:600}.board-activity-hint{border-radius:var(--radius-md);background:#ea580c14;border:1px solid #ea580c2e;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.875rem 1rem;display:flex}.board-activity-hint p{color:var(--color-text);margin:0;font-size:.9rem}.board-hero-metrics{flex-wrap:wrap;gap:8px;display:flex}.board-hero-metric{border-radius:var(--border-radius-md);background:var(--color-glass);border:.5px solid var(--color-border-tertiary);flex-direction:column;gap:2px;min-width:88px;padding:8px 12px;display:flex}.board-hero-metric span{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.board-hero-metric strong{font-size:14px;font-weight:500}.board-hero-metric-link{text-decoration:none;transition:border-color .15s}.board-hero-metric-link:hover{border-color:var(--color-accent)}.board-hero-chart{border-radius:var(--border-radius-md);background:var(--color-glass);border:.5px solid var(--color-border-tertiary);flex-shrink:0;width:min(100%,280px);padding:14px 16px}.board-hero-chart-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:10px;font-size:10px;font-weight:600}.flow-chart-compact{gap:10px;margin-bottom:0}.flow-chart-compact .flow-chart-row{grid-template-columns:72px 1fr;gap:8px}.flow-chart-compact .flow-chart-bar{height:22px}.flow-chart-compact .flow-chart-label strong{font-size:12px}.board-chart-stack{flex-direction:column;gap:20px;display:flex}.chart-panel-bordered{border-top:.5px solid var(--color-border-tertiary);padding-top:16px}.board-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-gauge-body{align-items:center;gap:20px;margin-bottom:14px;display:flex}.budget-gauge-ring{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;display:flex}.budget-gauge-ring-inner{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.budget-gauge-ring-inner span{font-size:18px;font-weight:500;line-height:1.1}.budget-gauge-ring-inner small{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:9px}.budget-gauge-stats{flex-direction:column;flex:1;gap:8px;display:flex}.budget-gauge-stat{justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;display:flex}.budget-gauge-stat span{color:var(--color-text-secondary)}.budget-gauge-stat strong{font-weight:500}.budget-gauge-bar{background:var(--color-background-secondary);border-radius:99px;height:6px;overflow:hidden}.budget-gauge-bar-fill{border-radius:99px;height:100%;transition:width .3s}.home-activity-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.home-activity-item{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.home-activity-item:hover{border-color:var(--color-border-secondary);box-shadow:var(--shadow-soft)}.home-activity-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.home-activity-icon-debit{color:var(--color-debit);background:#c44a4a1a}.home-activity-icon-credit{color:var(--color-credit);background:#2d8f551a}.home-activity-icon-transfer{background:var(--color-background-secondary);color:var(--color-text-secondary)}.home-activity-body{flex:1;min-width:0}.home-activity-title{margin-bottom:2px;font-size:13px;font-weight:500;line-height:1.35}.home-activity-fee{color:var(--color-debit);margin:0 0 2px;font-size:11px}.home-activity-date{color:var(--color-text-tertiary);font-size:11px}.home-activity-amount{white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:600}.home-activity-amount.debit{color:var(--color-debit)}.home-activity-amount.credit{color:var(--color-credit)}.home-activity-amount.transfer{color:var(--color-text-secondary)}.board-eyebrow{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:500}.board-title{letter-spacing:-.5px;margin-bottom:8px;font-size:32px;font-weight:500;line-height:1.1}.board-subtitle{color:var(--color-text-secondary);max-width:520px;font-size:13px;line-height:1.5}.board-subtitle strong{color:var(--color-text-primary);font-weight:500}.board-header-stats{flex-shrink:0;grid-template-columns:repeat(2,minmax(100px,1fr));gap:12px;display:grid}.board-stat{border-radius:var(--border-radius-md);background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);padding:12px 14px}.board-stat-link{text-decoration:none;transition:border-color .15s}.board-stat-link:hover{border-color:var(--color-accent)}.board-stat-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:10px;display:block}.board-stat-value{font-size:15px;font-weight:500}.health-on_track{color:var(--color-credit)}.health-at_risk{color:var(--color-warn)}.health-off_track{color:var(--color-debit)}.board-grid-primary,.board-grid-secondary{grid-template-columns:1fr 1fr;gap:16px;display:grid}.board-card .card-intro{margin-top:0}.board-highlight{color:var(--color-text-secondary);border-radius:var(--border-radius-md);background:var(--color-background-secondary);margin-bottom:14px;padding:10px 12px;font-size:12px;line-height:1.5}.board-table-wrap{overflow-x:auto}.board-table{border-collapse:collapse;width:100%;font-size:12px}.board-table th{text-align:left;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-bottom:.5px solid var(--color-border-tertiary);padding:8px 10px;font-size:10px;font-weight:500}.board-table td{border-bottom:.5px solid var(--color-border-tertiary);vertical-align:middle;padding:10px}.board-table tbody tr:last-child td{border-bottom:none}.board-table-top{background:var(--color-surface-accent)}.board-table-rank{color:var(--color-text-tertiary);width:28px;font-weight:600}.board-table-link{color:var(--color-text-primary);font-weight:500;text-decoration:none}.board-table-link:hover{color:var(--color-accent-dark)}.board-table-meta{color:var(--color-text-tertiary);margin-top:2px;font-size:10px;display:block}.board-table-muted{color:var(--color-text-secondary);text-transform:capitalize}.board-table-amount{white-space:nowrap;font-weight:500}.board-share{align-items:center;gap:8px;min-width:100px;display:flex}.board-share .progress-bar{flex:1;height:6px}.board-share span{color:var(--color-text-tertiary);text-align:right;min-width:32px;font-size:10px}.board-table tfoot td{color:var(--color-text-secondary);border-top:.5px solid var(--color-border);border-bottom:none;padding-top:12px;font-size:11px}.health-board-body{align-items:flex-start;gap:20px;display:flex}.health-ring{flex-shrink:0;width:120px;height:120px;position:relative}.health-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.health-ring-track{fill:none;stroke:var(--color-background-secondary);stroke-width:8px}.health-ring-fill{fill:none;stroke:var(--color-accent);stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .4s}.health-board-good .health-ring-fill{stroke:var(--color-credit)}.health-board-warn .health-ring-fill{stroke:var(--color-warn)}.health-board-bad .health-ring-fill{stroke:var(--color-debit)}.health-ring-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.health-ring-score{font-size:28px;font-weight:500;line-height:1}.health-ring-max{color:var(--color-text-tertiary);font-size:11px}.health-board-label{margin-bottom:6px;font-size:16px;font-weight:500}.health-label-good{color:var(--color-credit)}.health-label-warn{color:var(--color-warn)}.health-label-bad{color:var(--color-debit)}.health-board-summary{color:var(--color-text-secondary);margin-bottom:12px;font-size:12px;line-height:1.5}.health-pillar-list{flex-direction:column;gap:6px;list-style:none;display:flex}.health-pillar{background:var(--color-background-secondary);border-radius:8px;justify-content:space-between;gap:12px;padding:6px 10px;font-size:11px;display:flex}.health-pillar span{color:var(--color-text-secondary)}.health-pillar-good strong{color:var(--color-credit)}.health-pillar-warn strong{color:var(--color-warn)}.health-pillar-bad strong{color:var(--color-debit)}.flow-chart{flex-direction:column;gap:14px;margin-bottom:12px;display:flex}.flow-chart-row{grid-template-columns:120px 1fr;align-items:center;gap:12px;display:grid}.flow-chart-label{flex-direction:column;gap:2px;display:flex}.flow-chart-label span{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.flow-chart-label strong{font-size:13px;font-weight:500}.flow-chart-bar{background:var(--color-background-secondary);border-radius:8px;height:28px;overflow:hidden}.flow-chart-fill{border-radius:8px;min-width:4px;height:100%;transition:width .4s}.flow-chart-fill.income{background:linear-gradient(90deg,#9a8b7a,#c9a87c)}.flow-chart-fill.spent,.progress-fill.spent{background:linear-gradient(90deg,#c44a4a,#e8621a)}.flow-chart-fill.saved{background:linear-gradient(90deg,#2d8f55,#4caf7a)}.flow-chart-fill.overspent{background:linear-gradient(90deg,#a32d2d,#c44a4a)}.flow-chart-legend{color:var(--color-text-secondary);flex-wrap:wrap;gap:16px;font-size:11px;display:flex}.flow-legend-item{align-items:center;gap:6px;display:inline-flex}.flow-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.flow-dot.spent{background:var(--color-debit)}.flow-dot.saved{background:var(--color-credit)}.quick-add-card{margin-bottom:16px;padding:0;overflow:hidden}.quick-add-card.quick-add-empty{text-align:center;padding:20px}.quick-add-card.quick-add-empty p{color:var(--color-text-secondary);margin-bottom:12px;font-size:13px}.quick-add-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;font-family:inherit;display:flex}.quick-add-header-title{color:var(--color-text-primary);align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.quick-add-header-hint{color:var(--color-text-tertiary);font-size:11px}.quick-txn-form{flex-direction:column;gap:12px;padding:0 16px 16px;display:flex}.quick-txn-flash{border-radius:var(--border-radius-md);background:var(--color-surface-good);color:var(--color-credit);padding:10px 12px;font-size:12px;font-weight:500;animation:.2s quick-flash-in}@keyframes quick-flash-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.quick-txn-type{background:var(--color-background-secondary);border-radius:var(--border-radius-md);gap:6px;padding:4px;display:flex}.quick-txn-type-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s}.quick-txn-type-btn.active{background:var(--color-background-primary);box-shadow:0 1px 3px #2a1f1414}.quick-txn-type-btn.active.spent{color:var(--color-debit)}.quick-txn-type-btn.active.received{color:var(--color-credit)}.quick-txn-type-btn.active.transfer{color:var(--color-text)}.quick-txn-type-btn:disabled{opacity:.45;cursor:not-allowed}.quick-txn-transfer-fields{gap:10px;display:grid}.accounts-inactive-toggle{margin:0 0 12px}.account-wallet-inactive{opacity:.62}.account-wallet-inactive .account-wallet-balance{color:var(--color-text-secondary)}.categories-table-actions{text-align:right;width:48px}.btn-danger{background:var(--color-debit);color:#fff;border-color:#0000}.btn-danger:hover{filter:brightness(.95)}.quick-txn-amount-row{align-items:center;gap:8px;padding:4px 0;display:flex}.quick-txn-currency{color:var(--color-text-tertiary);font-size:18px;font-weight:500}.quick-txn-amount{letter-spacing:-.5px;color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:32px;font-weight:500}.quick-txn-amount::placeholder{color:var(--color-text-tertiary)}.quick-txn-description{border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-primary);width:100%;padding:12px 14px;font-family:inherit;font-size:14px}.quick-txn-description:focus{border-color:var(--color-accent);outline:none}.quick-txn-category .category-select-row{grid-template-columns:1fr 1.2fr;gap:8px;display:grid}.quick-txn-details-toggle{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:12px;display:inline-flex}.quick-txn-details-toggle:hover{color:var(--color-accent-dark)}.quick-txn-details{flex-direction:column;gap:10px;padding-top:4px;display:flex}.quick-txn-details .form-field{margin:0}.quick-txn-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.modal-quick-txn{max-width:420px}.category-drilldown.select-mode .category-select-row{grid-template-columns:1fr 1.2fr;gap:8px;display:grid}.category-chip-other{color:var(--color-accent-dark);border-style:dashed}@media (width<=900px){.quick-txn-category .category-select-row,.category-drilldown.select-mode .category-select-row{grid-template-columns:1fr}.chart-panel{flex-direction:column;align-items:center}.chart-legend{width:100%}}.chart-panel{align-items:center;gap:24px;margin:8px 0 4px;display:flex}.donut-chart{border-radius:50%;flex-shrink:0;position:relative}.donut-chart-empty{background:var(--color-background-secondary);color:var(--color-text-tertiary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex}.donut-chart-hole{background:var(--color-background-primary);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:8px;display:flex;position:absolute;inset:22%}.donut-center-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.donut-center-value{margin-top:2px;font-size:15px;font-weight:500;line-height:1.2}.chart-legend{flex-direction:column;flex:1;gap:8px;min-width:0;list-style:none;display:flex}.chart-legend-item{grid-template-columns:10px 1fr auto auto;align-items:center;gap:8px;font-size:12px;display:grid}.chart-legend-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.chart-legend-label{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chart-legend-link{color:inherit;text-decoration:none}.chart-legend-link:hover{color:var(--color-accent-dark)}.chart-legend-value{white-space:nowrap;font-weight:500}.chart-legend-pct{color:var(--color-text-tertiary);text-align:right;min-width:28px;font-size:11px}.h-bar-chart{flex-direction:column;gap:12px;margin:8px 0 12px;display:flex}.h-bar-row{grid-template-columns:minmax(80px,1fr) 2fr auto;align-items:center;gap:10px;display:grid}.h-bar-meta{min-width:0}.h-bar-label{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;display:block;overflow:hidden}.h-bar-sublabel{color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.h-bar-track{background:var(--color-background-secondary);border-radius:999px;height:10px;overflow:hidden}.h-bar-fill{border-radius:999px;min-width:4px;height:100%;transition:width .4s}.h-bar-value{white-space:nowrap;font-size:12px;font-weight:500}.account-chart-links{border-top:.5px solid var(--color-border-tertiary);flex-wrap:wrap;gap:8px;padding-top:4px;display:flex}.account-chart-link{color:var(--color-text-secondary);background:var(--color-background-secondary);border-radius:999px;padding:4px 8px;font-size:11px;text-decoration:none}.account-chart-link:hover{color:var(--color-accent-dark)}.next-actions .card-title span{color:var(--color-text-tertiary);font-size:11px;font-weight:400}.next-action-row{border-radius:var(--border-radius-md);color:inherit;border-bottom:.5px solid var(--color-border-tertiary);justify-content:space-between;align-items:center;gap:12px;margin:0 -10px;padding:12px 10px;text-decoration:none;transition:background .15s;display:flex}.next-action-row:last-child{border-bottom:none}.next-action-row:hover{background:var(--color-background-secondary)}.next-action-row.priority-high .next-action-title{color:var(--color-accent-dark)}.next-action-title{margin-bottom:2px;font-size:13px;font-weight:500}.next-action-desc{color:var(--color-text-secondary);font-size:12px;line-height:1.45}.next-action-chevron{color:var(--color-text-tertiary);flex-shrink:0}.insights-focus{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);align-items:center;gap:20px;margin-bottom:20px;padding:20px 24px;display:flex}.insights-focus.on-track{border-color:#2d8f5533}.insights-focus-score{border:3px solid var(--color-accent);background:var(--color-surface-good);border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.insights-focus-num{color:var(--color-accent-dark);font-size:24px;font-weight:500;line-height:1}.insights-focus-max{color:var(--color-text-tertiary);font-size:10px}.insights-focus-title{margin-bottom:6px;font-size:18px;font-weight:500}.insights-focus-sub{color:var(--color-text-secondary);margin-bottom:8px;font-size:13px;line-height:1.5}.insights-focus-stats{color:var(--color-text-tertiary);flex-wrap:wrap;gap:6px;font-size:11px;display:flex}.insight-action-link{margin-top:6px;font-size:12px;display:inline-block}.insight-item-body{flex:1}.import-guide{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.import-guide-card{border-radius:var(--border-radius-md);background:var(--color-background-secondary);padding:14px 16px;font-size:12px;line-height:1.5}.import-guide-card strong{margin-bottom:4px;font-size:12px;display:block}.import-guide-card p{color:var(--color-text-secondary);margin:0}.card-intro{color:var(--color-text-secondary);margin-bottom:14px;font-size:12px;line-height:1.6}.import-message{color:var(--color-accent-dark);margin-top:12px;font-size:12px}.import-success{text-align:center;padding:40px 24px}.import-success-icon{background:var(--color-surface-good);width:56px;height:56px;color:var(--color-credit);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;font-size:28px;display:flex}.import-success h2{margin-bottom:8px;font-size:20px;font-weight:500}.import-success p{color:var(--color-text-secondary);margin-bottom:20px;font-size:13px}.import-success-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.import-mode-tabs{gap:8px;margin-bottom:16px;display:flex}.import-mode-tab{border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background-primary);color:var(--color-text-secondary);cursor:pointer;text-align:center;flex:1;padding:12px 16px;font-family:inherit;font-size:13px;font-weight:500}.import-mode-tab.active{border-color:var(--color-accent);background:var(--color-surface-accent);color:var(--color-accent-dark)}.source-picker{flex-wrap:wrap;gap:8px;display:flex}.source-picker-btn{border:1px solid var(--color-border);background:var(--color-background-primary);color:var(--color-text-secondary);cursor:pointer;border-radius:999px;padding:8px 12px;font-family:inherit;font-size:12px}.source-picker-btn.active{border-color:var(--color-accent);background:var(--color-surface-accent);color:var(--color-accent-dark)}.format-tabs{background:var(--color-background-secondary);border-radius:var(--border-radius-md);gap:6px;margin-bottom:14px;padding:4px;display:flex}.format-tab{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 10px;font-family:inherit;font-size:12px;font-weight:500}.format-tab.active{background:var(--color-background-primary);color:var(--color-text-primary);box-shadow:0 1px 3px #2a1f1414}.file-upload{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.file-upload input[type=file]{display:none}.file-upload-label{border:1px dashed var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-secondary);cursor:pointer;background:var(--color-background-secondary);align-items:center;padding:10px 16px;font-size:13px;display:inline-flex}.file-upload-status{color:var(--color-text-tertiary);font-size:12px}.mapping-panel{border-radius:var(--border-radius-md);background:var(--color-background-secondary);margin-top:16px;padding:14px}.mapping-panel-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;display:flex}.mapping-detected{color:var(--color-accent-dark);font-size:11px}.mapping-grid{gap:8px;display:grid}.mapping-row{grid-template-columns:120px 1fr;align-items:center;gap:8px;display:grid}.mapping-label{color:var(--color-text-secondary);font-size:11px}.mapping-row select{width:100%;font-size:12px}.mapping-preview{margin-top:12px}.mapping-preview small{color:var(--color-text-tertiary);margin-bottom:6px;font-size:10px;display:block}.mapping-preview-table{color:var(--color-text-secondary);flex-direction:column;gap:4px;font-size:11px;display:flex}.mapping-preview-row{flex-wrap:wrap;gap:12px;display:flex}.transaction-entry-form .form-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.inline-success{padding:8px 0}.inline-success p{color:var(--color-text-secondary);margin-bottom:16px;font-size:13px}.category-drilldown{flex-direction:column;gap:14px;display:flex}.category-drilldown.compact{gap:8px}.category-drilldown-step{flex-direction:column;gap:8px;display:flex}.category-drilldown-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.category-chip-grid{flex-wrap:wrap;gap:6px;display:flex}.category-chip{border:1px solid var(--color-border);background:var(--color-background-primary);color:var(--color-text-secondary);cursor:pointer;text-align:left;border-radius:999px;padding:8px 12px;font-family:inherit;font-size:12px;line-height:1.3}.category-chip-detail{border-radius:var(--border-radius-md)}.category-chip.active{border-color:var(--color-accent);background:var(--color-surface-accent);color:var(--color-accent-dark)}.category-drilldown.compact .category-chip-grid{display:none}.category-drilldown.compact .category-drilldown-step:first-child .category-chip-grid{display:flex}.category-drilldown.compact .category-chip{padding:6px 10px;font-size:11px}.modal-hint{color:var(--color-text-secondary);margin:-8px 0 14px;font-size:12px}.modal-footnote{color:var(--color-text-tertiary);margin:8px 0 0;font-size:11px;line-height:1.5}.modal-empty-icon{background:var(--color-background-secondary);width:56px;height:56px;color:var(--color-text-secondary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.flow-toggle{background:var(--color-background-secondary);border-radius:var(--border-radius-md);gap:6px;margin-bottom:14px;padding:4px;display:flex}.flow-toggle-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:500}.flow-toggle-btn.active{background:var(--color-background-primary);color:var(--color-text-primary);box-shadow:0 1px 3px #2a1f1414}.auth-card-wide{max-width:520px}.auth-card h1{margin-bottom:4px;font-size:22px;font-weight:500}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.profile-step-hint{color:var(--color-text-secondary);margin-bottom:14px;font-size:13px;line-height:1.5}.form-hint{color:var(--color-text-tertiary);margin-top:6px;font-size:11px;line-height:1.45}.combobox{position:relative}.combobox-control{align-items:center;display:flex;position:relative}.combobox-input{border-radius:var(--border-radius-md);border:.5px solid var(--color-border-secondary);background:var(--color-background-primary);width:100%;color:var(--color-text-primary);font-size:14px;font-family:var(--font-sans);padding:10px 36px 10px 12px}.combobox-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #e8621a1f}.combobox.open .combobox-input{border-color:var(--color-accent);border-bottom-right-radius:0;border-bottom-left-radius:0}.combobox-toggle{border-radius:var(--border-radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:4px}.combobox-toggle:hover{background:var(--color-surface-secondary);color:var(--color-text-primary)}.combobox.open .combobox-toggle{transform:rotate(180deg)}.combobox-menu{z-index:20;background:var(--color-background-primary);border:.5px solid var(--color-accent);border-radius:0 0 var(--border-radius-md) var(--border-radius-md);border-top:none;max-height:220px;margin:0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #2a1f141a}.combobox-option{cursor:pointer;color:var(--color-text-primary);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:flex}.combobox-option:hover,.combobox-option.highlighted{background:var(--color-surface-secondary)}.combobox-option.selected{color:var(--color-accent-dark);font-weight:600}.combobox-option-meta{color:var(--color-text-tertiary);letter-spacing:.04em;font-size:11px}.combobox-empty{color:var(--color-text-secondary);padding:10px 12px;font-size:13px}.profile-step-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.choice-cards{gap:10px;margin-bottom:14px;display:grid}.choice-card{text-align:left;border-radius:var(--border-radius-md);border:.5px solid var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;padding:14px 16px;font-family:inherit;transition:border-color .15s,background .15s}.choice-card strong{color:var(--color-text-primary);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.choice-card span{color:var(--color-text-secondary);font-size:12px;line-height:1.45}.choice-card.selected{border-color:var(--color-accent);background:var(--color-surface-good)}.payment-method-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;display:grid}.payment-method-card{text-align:left;border-radius:var(--border-radius-md);border:.5px solid var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;padding:14px 14px 14px 36px;font-family:inherit;transition:border-color .15s,background .15s;position:relative}.payment-method-card strong{color:var(--color-text-primary);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.payment-method-card span:last-child{color:var(--color-text-secondary);font-size:11px;line-height:1.4}.payment-method-card.selected{border-color:var(--color-accent);background:var(--color-surface-good)}.payment-method-check{border:1.5px solid var(--color-border-secondary);width:18px;height:18px;color:var(--color-credit);border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;top:14px;left:12px}.payment-method-card.selected .payment-method-check{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.account-setup-form{margin-top:8px}.account-type-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.account-type-card{text-align:left;border-radius:var(--border-radius-md);border:.5px solid var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;padding:12px;font-family:inherit;transition:border-color .15s,background .15s}.account-type-card strong{color:var(--color-text-primary);margin:6px 0 2px;font-size:12px;display:block}.account-type-card span:last-child{color:var(--color-text-secondary);font-size:10px;line-height:1.35}.account-type-card.selected{border-color:var(--color-accent);background:var(--color-surface-good)}.account-type-icon{font-size:18px;line-height:1}.account-fee-section{border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);margin-top:4px;overflow:hidden}.account-fee-toggle{background:var(--color-background-secondary);width:100%;color:var(--color-text-primary);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.account-fee-toggle-hint{color:var(--color-text-tertiary);font-size:11px;font-weight:400}.account-fee-fields{border-top:.5px solid var(--color-border-secondary);padding:0 14px 14px}.account-fee-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;display:grid}.checkbox-row{color:var(--color-text-primary);align-items:center;gap:8px;margin:10px 0 4px;font-size:13px;display:flex}.modal-wide{max-width:560px;max-height:90vh;overflow-y:auto}.account-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:4px;display:grid}.accounts-page{flex-direction:column;gap:24px;display:flex}.accounts-hero{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--gradient-hero-rich);box-shadow:var(--shadow-card);justify-content:space-between;align-items:flex-start;gap:28px;padding:28px 28px 24px;display:flex}.accounts-hero-eyebrow{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:500}.accounts-hero-balance{letter-spacing:-.03em;color:var(--color-text-primary);margin-bottom:8px;font-size:36px;font-weight:500;line-height:1.05}.accounts-hero-sub{color:var(--color-text-secondary);max-width:420px;margin-bottom:18px;font-size:13px;line-height:1.5}.accounts-hero-cta{gap:6px}.accounts-hero-aside{flex-shrink:0;width:min(100%,280px)}.accounts-hero-stats{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.accounts-hero-stat{border-radius:var(--border-radius-md);background:var(--color-glass);border:.5px solid var(--color-border-tertiary);grid-template-columns:1fr auto auto;align-items:baseline;gap:8px;padding:8px 12px;font-size:12px;display:grid}.accounts-hero-stat-label{color:var(--color-text-secondary)}.accounts-hero-stat-value{color:var(--color-text-primary);font-weight:500}.accounts-hero-stat-pct{color:var(--color-text-tertiary);text-align:right;min-width:28px;font-size:10px}.accounts-allocation{background:var(--color-border-tertiary);border-radius:99px;height:6px;display:flex;overflow:hidden}.accounts-allocation-seg{min-width:4px;transition:flex .3s}.accounts-allocation-bank{background:#e8621a}.accounts-allocation-mobile_money{background:#f4a030}.accounts-allocation-card{background:#c44a4a}.accounts-allocation-cash{background:#2d8f55}.accounts-allocation-other{background:#6b4fa0}.accounts-wallet-section{margin-top:-4px}.accounts-wallet-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.account-wallet-card{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);min-height:200px;color:inherit;text-align:left;cursor:pointer;border-radius:16px;flex-direction:column;padding:18px 18px 16px;font-family:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #2a1f140a}.account-wallet-card:before{content:"";opacity:.9;background:var(--color-border-secondary);height:3px;position:absolute;inset:0 0 auto}.account-wallet-card.account-wallet-type-bank{background:linear-gradient(165deg, #e8621a12 0%, var(--color-background-primary) 48%)}.account-wallet-card.account-wallet-type-bank:before{background:linear-gradient(90deg,#e8621a,#f4a030)}.account-wallet-card.account-wallet-type-mobile_money{background:linear-gradient(165deg, #f4a03017 0%, var(--color-background-primary) 48%)}.account-wallet-card.account-wallet-type-mobile_money:before{background:linear-gradient(90deg,#f4a030,#ffc857)}.account-wallet-card.account-wallet-type-card{background:linear-gradient(165deg, #c44a4a0f 0%, var(--color-background-primary) 48%)}.account-wallet-card.account-wallet-type-card:before{background:linear-gradient(90deg,#c44a4a,#e07070)}.account-wallet-card.account-wallet-type-cash{background:linear-gradient(165deg, #2d8f5512 0%, var(--color-background-primary) 48%)}.account-wallet-card.account-wallet-type-cash:before{background:linear-gradient(90deg,#2d8f55,#4caf7a)}.account-wallet-card.account-wallet-type-other{background:linear-gradient(165deg, #6b4fa012 0%, var(--color-background-primary) 48%)}.account-wallet-card.account-wallet-type-other:before{background:linear-gradient(90deg,#6b4fa0,#9b7fd4)}.account-wallet-card:hover{border-color:#e8621a59;transform:translateY(-2px);box-shadow:0 12px 32px #2a1f1414}.account-wallet-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.account-wallet-type{letter-spacing:.02em;white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:4px 8px;font-size:10px;font-weight:600;display:inline-flex}.account-wallet-body{flex-direction:column;flex:1;gap:2px;display:flex}.account-wallet-name{color:var(--color-text-primary);margin-bottom:4px;font-size:15px;font-weight:600;line-height:1.3}.account-wallet-balance{letter-spacing:-.03em;color:var(--color-text-primary);font-size:26px;font-weight:500;line-height:1.15}.account-wallet-meta{color:var(--color-text-secondary);margin-top:6px;font-size:11px;line-height:1.4}.account-wallet-footer{border-top:.5px solid var(--color-border-tertiary);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:16px;padding-top:14px;display:flex}.account-wallet-share{flex:1;min-width:0}.account-wallet-share-bar{background:var(--color-border-tertiary);border-radius:99px;height:4px;margin-bottom:4px;overflow:hidden}.account-wallet-share-fill{border-radius:99px;height:100%;transition:width .35s;display:block}.account-wallet-share-label{color:var(--color-text-tertiary);font-size:10px}.account-wallet-link{color:var(--color-accent-dark);flex-shrink:0;align-items:center;gap:2px;font-size:11px;font-weight:500;display:inline-flex}.account-wallet-card:hover .account-wallet-link{gap:4px}.account-wallet-add{border-style:dashed;border-color:var(--color-border-secondary);background:0 0;justify-content:center;align-items:center;min-height:200px}.account-wallet-add:hover{border-color:var(--color-accent);background:#e8621a0a}.account-wallet-add:before{display:none}.account-wallet-add-icon{width:44px;height:44px;color:var(--color-accent);background:#e8621a1a;border-radius:50%;justify-content:center;align-items:center;margin-bottom:10px;font-size:24px;font-weight:300;display:flex}.account-wallet-add-label{color:var(--color-text-primary);font-size:14px;font-weight:600}.account-wallet-add-hint{color:var(--color-text-secondary);margin-top:4px;font-size:11px}.accounts-empty{text-align:center;border-radius:var(--border-radius-lg);border:.5px dashed var(--color-border-secondary);background:linear-gradient(180deg, var(--color-background-secondary) 0%, var(--color-background-primary) 100%);padding:48px 24px 56px}.accounts-empty-icon{width:72px;height:72px;color:var(--color-accent);background:#e8621a1a;border-radius:20px;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.accounts-empty h2{margin-bottom:8px;font-size:18px;font-weight:500}.accounts-empty p{color:var(--color-text-secondary);max-width:320px;margin:0 auto 20px;font-size:13px;line-height:1.55}@media (width<=720px){.accounts-hero{flex-direction:column;gap:20px;padding:22px 20px 20px}.accounts-hero-balance{font-size:30px}.accounts-hero-aside{width:100%}.accounts-wallet-grid{grid-template-columns:1fr}}.account-grid-card{border-radius:var(--border-radius-md);border:.5px solid var(--color-border-secondary);background:var(--color-background-secondary);color:inherit;flex-direction:column;gap:12px;min-height:168px;padding:16px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.account-grid-card:hover{border-color:var(--color-accent);transform:translateY(-1px);box-shadow:0 6px 20px #2a1f140f}.account-grid-body{flex-direction:column;flex:1;gap:4px;display:flex}.account-grid-name{color:var(--color-text-primary);font-size:14px;font-weight:600;line-height:1.3}.account-grid-balance{color:var(--color-text-primary);letter-spacing:-.02em;font-size:20px;font-weight:600}.account-grid-meta{color:var(--color-text-secondary);margin-top:auto;font-size:11px;line-height:1.4}.account-logo{border-radius:var(--border-radius-md);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.account-logo-sm{width:32px;height:32px;font-size:11px;font-weight:600}.account-logo-md{width:40px;height:40px;font-size:13px;font-weight:600}.account-logo-lg{width:48px;height:48px;font-size:15px;font-weight:600}.account-logo-xl{border-radius:14px;width:56px;height:56px;font-size:16px;font-weight:600;box-shadow:0 2px 8px #2a1f1414}.account-logo-fallback{letter-spacing:.02em}.account-logo-img{object-fit:cover;width:100%;height:100%;display:block}.account-logo-field-row{align-items:flex-start;gap:14px;display:flex}.account-logo-field-inputs{flex:1;min-width:0}.account-logo-field-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.auth-success-box{border-radius:var(--border-radius-md);background:var(--color-surface-good);padding:16px;font-size:13px;line-height:1.55}.auth-dev-hint{color:var(--color-text-tertiary);margin-top:8px;font-size:11px}@media (width<=900px){.form-row,.payment-method-grid,.account-type-grid,.account-fee-grid,.account-grid{grid-template-columns:1fr}.account-logo-field-row{flex-direction:column}.sidebar{z-index:50;box-shadow:var(--shadow-card);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-close,.sidebar-backdrop{display:block}.mobile-menu-btn{display:inline-flex}.btn-label{display:none}.onboarding-banner{flex-direction:column;align-items:flex-start}.parsed-row{grid-template-columns:1fr;gap:4px;padding:12px 0}.parsed-row.header{display:none}.setup-card-grid,.import-guide{grid-template-columns:1fr}.home-hero{flex-direction:column}.home-hero-aside{align-items:flex-start;width:100%}.insights-focus{flex-direction:column;align-items:flex-start}.grid-3,.grid-4,.pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}.health-summary-compact{flex-wrap:wrap}.health-pillar-chips{flex-wrap:wrap;width:100%}.board-header{flex-direction:column}.board-header-stats{grid-template-columns:repeat(2,1fr);width:100%}.board-hero{flex-direction:column;gap:20px;padding:22px 20px 20px}.board-hero-balance{font-size:30px}.board-hero-chart{width:100%}.board-grid-primary,.board-grid-secondary,.board-grid-three{grid-template-columns:1fr}.budget-gauge-body{text-align:center;flex-direction:column}.budget-gauge-stats{width:100%}.health-board-body{text-align:center;flex-direction:column;align-items:center}.health-pillar-list{width:100%}.flow-chart-row{grid-template-columns:1fr;gap:6px}}.activity-page{flex-direction:column;gap:16px;display:flex}.activity-top{grid-template-columns:7fr 3fr;align-items:stretch;gap:14px;display:grid}.activity-quick-add{background:var(--gradient-hero);border-color:#e8621a33;flex-direction:column;height:100%;min-height:0;margin-bottom:0;display:flex}.activity-quick-add-empty{text-align:center;justify-content:center;align-items:center;padding:24px}.activity-quick-add-empty p{color:var(--color-text-secondary);margin-bottom:12px;font-size:13px}.activity-quick-add-header{background:0 0;flex-shrink:0}.activity-quick-add .quick-txn-form{flex:1}.activity-summary{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--gradient-card);box-shadow:var(--shadow-card);flex-direction:column;min-width:0;padding:18px 20px;display:flex}.activity-summary-eyebrow{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:10px;font-weight:600}.activity-summary-period{color:var(--color-text-secondary);margin-bottom:10px;font-size:11px}.activity-summary-net{letter-spacing:-.03em;color:var(--color-text-primary);margin-bottom:4px;font-size:26px;font-weight:500;line-height:1.05}.activity-summary-net-positive{color:var(--color-credit)}.activity-summary-net-negative{color:var(--color-debit)}.activity-summary-sub{color:var(--color-text-tertiary);margin-bottom:14px;font-size:11px}.activity-summary-breakdown{border-top:.5px solid var(--color-border-tertiary);flex-direction:column;gap:6px;margin-top:auto;padding-top:12px;display:flex}.activity-summary-row{grid-template-columns:14px 1fr auto;align-items:center;gap:6px;font-size:12px;display:grid}.activity-summary-row-out svg{color:var(--color-debit)}.activity-summary-row-in svg{color:var(--color-credit)}.activity-summary-row-transfer svg{color:var(--color-text-tertiary)}.activity-summary-row-label{color:var(--color-text-secondary)}.activity-summary-row-value{color:var(--color-text-primary);font-weight:600}.activity-filters{margin:0}.activity-toolbar{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:12px;align-items:center;gap:8px;padding:6px 8px;display:flex;box-shadow:0 1px 2px #2a1f1408}.activity-toolbar-divider{background:var(--color-border-tertiary);flex-shrink:0;width:1px;height:22px}.activity-type-pills{background:var(--color-background-secondary);border-radius:8px;flex-shrink:0;gap:3px;padding:2px;display:flex}.activity-type-pill{color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 9px;font-family:inherit;font-size:11px;font-weight:500;transition:background .15s,color .15s}.activity-type-pill:hover{color:var(--color-text-primary)}.activity-type-pill.active{background:var(--color-background-primary);color:var(--color-text-primary);box-shadow:0 1px 3px #2a1f1414}.activity-type-pill-debit.active{color:var(--color-debit);box-shadow:none;background:#c44a4a1f}.activity-type-pill-credit.active{color:var(--color-credit);box-shadow:none;background:#2d8f551f}.activity-toolbar-select{flex-shrink:1;width:auto;min-width:0;max-width:118px;padding:6px 8px;font-size:12px}.activity-toolbar-search{border:.5px solid var(--color-border-secondary);background:var(--color-background-secondary);border-radius:8px;flex:1;align-items:center;gap:6px;min-width:72px;max-width:160px;padding:0 8px;display:flex}.activity-toolbar-search-icon{color:var(--color-text-tertiary);flex-shrink:0}.activity-toolbar-search-input{color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:6px 0;font-family:inherit;font-size:12px}.activity-toolbar-search-input::placeholder{color:var(--color-text-tertiary)}.activity-toolbar-search-clear{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.activity-toolbar-search-clear:hover{color:var(--color-text-primary)}.activity-toolbar-clear{color:var(--color-accent-dark);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:5px 8px;font-family:inherit;font-size:11px;font-weight:500}.activity-toolbar-clear:hover{text-decoration:underline}.activity-feed{flex-direction:column;gap:20px;display:flex}.activity-day-group{flex-direction:column;gap:8px;display:flex}.activity-day-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);padding:0 4px;font-size:11px;font-weight:600}.activity-day-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.activity-tx{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #2a1f1408}.activity-tx:hover{border-color:var(--color-border-secondary);box-shadow:0 4px 16px #2a1f140d}.activity-tx-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.activity-tx-icon-debit{color:var(--color-debit);background:#c44a4a1a}.activity-tx-icon-credit{color:var(--color-credit);background:#2d8f551a}.activity-tx-icon-transfer{background:var(--color-background-secondary);color:var(--color-text-secondary)}.activity-tx-body{flex:1;min-width:0}.activity-tx-top{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.activity-tx-desc{color:var(--color-text-primary);font-size:14px;font-weight:500;line-height:1.35}.activity-tx-category{background:var(--color-background-secondary);color:var(--color-text-secondary);border-radius:99px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.activity-tx-meta{color:var(--color-text-secondary);font-size:11px;line-height:1.4}.activity-tx-dot{opacity:.6;margin:0 4px}.activity-tx-side{flex-shrink:0;align-items:center;gap:8px;display:flex}.activity-tx-amount{letter-spacing:-.02em;white-space:nowrap;font-size:14px;font-weight:600}.activity-tx-amount-debit{color:var(--color-debit)}.activity-tx-amount-credit{color:var(--color-credit)}.activity-tx-amount-transfer{color:var(--color-text-secondary)}.activity-tx-delete{opacity:0;color:var(--color-text-tertiary);transition:opacity .15s,color .15s}.activity-tx:hover .activity-tx-delete,.activity-tx-delete:focus-visible{opacity:1}.activity-tx-delete:hover{color:var(--color-debit)}.activity-empty{text-align:center;border-radius:var(--border-radius-lg);border:.5px dashed var(--color-border-secondary);background:linear-gradient(180deg, var(--color-background-secondary) 0%, var(--color-background-primary) 100%);padding:48px 24px 56px}.activity-empty-icon{width:68px;height:68px;color:var(--color-accent);background:#e8621a1a;border-radius:18px;justify-content:center;align-items:center;margin:0 auto 18px;display:flex}.activity-empty h2{margin-bottom:8px;font-size:17px;font-weight:500}.activity-empty p{color:var(--color-text-secondary);max-width:300px;margin:0 auto 18px;font-size:13px;line-height:1.55}@media (width<=720px){.activity-top{grid-template-columns:1fr}.activity-summary-net{font-size:28px}.activity-toolbar{flex-wrap:wrap;gap:6px;padding:8px}.activity-toolbar-divider{display:none}.activity-type-pills{justify-content:space-between;width:100%}.activity-type-pill{text-align:center;flex:1;padding:6px 4px}.activity-toolbar-select{flex:1;max-width:none}.activity-toolbar-search{flex:100%;max-width:none}.activity-tx{gap:12px;padding:12px 14px}.activity-tx-delete{opacity:1}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.import-page{flex-direction:column;gap:20px;display:flex}.import-shell{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--gradient-hero-import);box-shadow:var(--shadow-card);padding:26px 28px 22px}.import-shell-top{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.import-shell-eyebrow{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;font-size:10px;font-weight:600}.import-shell-title{letter-spacing:-.03em;margin-bottom:8px;font-size:26px;font-weight:500;line-height:1.15}.import-shell-sub{color:var(--color-text-secondary);max-width:480px;font-size:14px;line-height:1.55}.import-shell-modes{background:var(--color-glass);border:.5px solid var(--color-border-tertiary);border-radius:12px;flex-shrink:0;gap:6px;padding:4px;display:flex}.import-shell-mode{color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.import-shell-mode:hover{color:var(--color-text-primary)}.import-shell-mode.active{background:var(--color-background-primary);color:var(--color-text-primary);box-shadow:0 2px 8px #2a1f1414}.import-stepper{align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.import-stepper-item{flex:1;align-items:center;gap:8px;display:flex;position:relative}.import-stepper-dot{border:1.5px solid var(--color-border-secondary);background:var(--color-background-primary);width:26px;height:26px;color:var(--color-text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.import-stepper-label{color:var(--color-text-tertiary);white-space:nowrap;font-size:12px;font-weight:500}.import-stepper-line{background:var(--color-border-tertiary);border-radius:99px;flex:1;height:2px;margin:0 12px}.import-stepper-done .import-stepper-dot{background:var(--color-credit);border-color:var(--color-credit);color:var(--color-on-accent)}.import-stepper-done .import-stepper-label{color:var(--color-text-secondary)}.import-stepper-current .import-stepper-dot{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);box-shadow:0 0 0 4px #e8621a26}.import-stepper-current .import-stepper-label{color:var(--color-text-primary)}.import-stepper-done .import-stepper-line{background:#2d8f5559}.import-workspace{grid-template-columns:minmax(240px,300px) 1fr;align-items:start;gap:16px;display:grid}.import-workspace-side{flex-direction:column;gap:14px;display:flex}.import-side-section{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:14px;padding:18px;box-shadow:0 1px 3px #2a1f1408}.import-side-title{margin-bottom:4px;font-size:13px;font-weight:600}.import-side-desc{color:var(--color-text-tertiary);margin-bottom:12px;font-size:11px;line-height:1.45}.import-account-list,.import-source-list{flex-direction:column;gap:6px;display:flex}.import-account-pick{background:var(--color-background-secondary);cursor:pointer;text-align:left;border:1.5px solid #0000;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.import-account-pick:hover{border-color:var(--color-border-secondary)}.import-account-pick.active{background:#e8621a0f;border-color:#e8621a80;box-shadow:0 0 0 3px #e8621a14}.import-account-pick-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.import-source-pick{cursor:pointer;text-align:left;background:0 0;border:1.5px solid #0000;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-family:inherit;transition:background .15s,border-color .15s;display:flex}.import-source-pick:hover{background:var(--color-background-secondary)}.import-source-pick.active{background:var(--color-background-secondary);border-color:#e8621a59}.import-source-mark{letter-spacing:.02em;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:10px;font-weight:700;display:flex}.import-source-label{color:var(--color-text-primary);font-size:12px;font-weight:500;line-height:1.3}.import-reference-guide{padding:0;overflow:hidden}.import-reference-details{border:none}.import-reference-details[open] .import-reference-chevron{transform:rotate(180deg)}.import-reference-summary{cursor:pointer;align-items:center;gap:10px;padding:16px 18px;list-style:none;display:flex}.import-reference-summary::-webkit-details-marker{display:none}.import-reference-summary-icon{width:30px;height:30px;color:var(--color-accent-dark);background:#e8621a1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.import-reference-summary-title{color:var(--color-text-primary);font-size:13px;font-weight:600;display:block}.import-reference-summary-sub{color:var(--color-text-tertiary);margin-top:1px;font-size:11px;display:block}.import-reference-summary .import-reference-chevron{color:var(--color-text-tertiary);margin-left:auto;transition:transform .15s}.import-reference-body{padding:0 18px 18px}.import-reference-intro,.import-reference-note,.import-reference-compact-lead{color:var(--color-text-secondary);margin:0 0 10px;font-size:11px;line-height:1.5}.import-reference-note{background:var(--color-background-secondary);color:var(--color-text-tertiary);border-radius:10px;margin-bottom:12px;padding:10px 12px}.import-reference-columns{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.import-reference-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 6px;font-size:10px;font-weight:700}.import-reference-tip-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.import-reference-tip-list li{color:var(--color-text-secondary);padding-left:12px;font-size:11px;line-height:1.45;position:relative}.import-reference-tip-list li:before{content:"";background:var(--color-accent);border-radius:50%;width:4px;height:4px;position:absolute;top:.55em;left:0}.import-reference-tip-list-avoid li:before{background:#b45309}.import-reference-examples ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.import-reference-example{grid-template-columns:minmax(0,1fr) auto minmax(0,1.4fr);align-items:center;gap:8px;font-size:11px;display:grid}.import-reference-example-weak{color:#92400e;text-overflow:ellipsis;white-space:nowrap;background:#b4530914;border-radius:6px;padding:4px 8px;text-decoration:line-through;overflow:hidden}.import-reference-example-arrow{color:var(--color-text-tertiary);font-size:10px}.import-reference-example-strong{color:#0f6e56;text-overflow:ellipsis;white-space:nowrap;background:#0f6e5614;border-radius:6px;padding:4px 8px;overflow:hidden}.import-reference-compact{border-top:.5px solid var(--color-border-tertiary);margin-top:16px;padding-top:16px}.import-reference-nudge{background:#e8621a0f;border:.5px solid #e8621a40;border-radius:12px;gap:12px;margin-bottom:14px;padding:14px 16px;display:flex}.import-reference-nudge-icon{width:32px;height:32px;color:var(--color-accent-dark);background:#e8621a1f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:flex-start;display:flex}.import-reference-nudge-title{color:var(--color-text-primary);margin:0 0 4px;font-size:13px;font-weight:600}.import-reference-nudge-text{color:var(--color-text-secondary);margin:0 0 8px;font-size:12px;line-height:1.5}.import-reference-nudge-details{font-size:12px}.import-reference-nudge-details summary{cursor:pointer;color:var(--color-accent-dark);align-items:center;gap:4px;font-weight:500;list-style:none;display:inline-flex}.import-reference-nudge-details summary::-webkit-details-marker{display:none}.import-reference-nudge-details[open] .import-reference-chevron{transform:rotate(180deg)}.import-reference-examples.is-compact{margin-top:10px}.import-workspace-main{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:14px;flex-direction:column;min-height:420px;padding:22px 24px;display:flex;box-shadow:0 1px 3px #2a1f1408}.import-workspace-main-full{grid-column:1/-1}.import-mapping-confirm{flex-direction:column;gap:18px;display:flex}.import-mapping-title{margin:0 0 4px;font-size:16px;font-weight:600}.import-mapping-desc{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.import-mapping-samples{flex-direction:column;gap:8px;display:flex}.import-mapping-samples-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:11px;font-weight:600}.import-mapping-samples-table-wrap{border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);border-radius:10px;overflow-x:auto}.import-mapping-samples-table{border-collapse:collapse;width:100%;font-size:11px;font-family:var(--font-mono)}.import-mapping-samples-table th,.import-mapping-samples-table td{text-align:left;white-space:nowrap;border-bottom:.5px solid var(--color-border-tertiary);color:var(--color-text-secondary);padding:8px 10px}.import-mapping-samples-table th{color:var(--color-text-tertiary);background:var(--color-background-primary);font-weight:600}.import-mapping-samples-table tr:last-child td{border-bottom:none}.import-mapping-actions{border-top:.5px solid var(--color-border-tertiary);justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.import-main-head{margin-bottom:16px}.import-main-title{margin-bottom:4px;font-size:16px;font-weight:600}.import-main-desc{color:var(--color-text-secondary);font-size:13px;line-height:1.5}.import-format-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.import-format-card{border:1.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.import-format-card:hover{border-color:var(--color-border-secondary)}.import-format-card.active{background:linear-gradient(160deg, #e8621a0f 0%, var(--color-background-primary) 100%);border-color:#e8621a73;box-shadow:0 4px 14px #e8621a14}.import-format-card-icon{background:var(--color-glass);width:32px;height:32px;color:var(--color-accent);border-radius:8px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.import-format-card-title{color:var(--color-text-primary);font-size:13px;font-weight:600}.import-format-card-desc{color:var(--color-text-tertiary);font-size:10px;line-height:1.4}.import-editor{flex-direction:column;flex:1;display:flex;position:relative}.import-editor-textarea{border:.5px solid var(--color-border-secondary);background:var(--color-background-secondary);width:100%;min-height:200px;font-family:var(--font-mono);color:var(--color-text-primary);resize:vertical;border-radius:12px;outline:none;flex:1;padding:16px;font-size:12px;line-height:1.55;transition:border-color .15s,box-shadow .15s}.import-editor-textarea:focus{background:var(--color-background-primary);border-color:#e8621a73;box-shadow:0 0 0 3px #e8621a1a}.import-editor-textarea:disabled{opacity:.55;cursor:not-allowed}.import-editor-overlay-hint{text-align:center;color:var(--color-text-tertiary);pointer-events:none;background:#faf6f0bf;border-radius:12px;justify-content:center;align-items:center;padding:24px;font-size:13px;display:flex;position:absolute;inset:0}.import-file-panel{flex-direction:column;flex:1;gap:14px;display:flex}.import-pdf-password{gap:6px}.import-pdf-password-hint{color:var(--color-text-tertiary);font-size:11px;line-height:1.45}.import-pdf-unlock-row{justify-content:flex-end;display:flex}.import-file-drop{border:2px dashed var(--color-border-secondary);background:linear-gradient(180deg, var(--color-background-secondary) 0%, var(--color-background-primary) 100%);border-radius:14px;flex:1;min-height:180px;transition:border-color .2s,background .2s;position:relative}.import-file-drop:hover:not(.disabled){border-color:#e8621a73}.import-file-drop.has-file{background:#e8621a0a;border-style:solid;border-color:#e8621a59}.import-file-drop.disabled{opacity:.5;pointer-events:none}.import-file-drop input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.import-file-drop-label{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;min-height:180px;padding:24px;display:flex}.import-file-drop-icon{width:52px;height:52px;color:var(--color-accent);background:#e8621a1a;border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.import-file-drop-title{color:var(--color-text-primary);font-size:14px;font-weight:600}.import-file-drop-hint{color:var(--color-text-tertiary);font-size:12px}.import-pdf-preview{border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);border-radius:12px;padding:16px}.import-pdf-preview h3{margin-bottom:10px;font-size:13px;font-weight:600}.import-pdf-preview pre{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);white-space:pre-wrap;word-break:break-word;color:var(--color-text-secondary);border-radius:8px;max-height:180px;margin:0 0 10px;padding:12px;font-size:11px;line-height:1.45;overflow:auto}.import-pdf-preview-note{color:var(--color-text-tertiary);margin:0;font-size:12px}.import-mapping-card{border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);border-radius:12px;padding:16px}.import-mapping-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.import-mapping-head h3{font-size:13px;font-weight:600}.import-mapping-badge{color:var(--color-accent-dark);background:#e8621a1f;border-radius:99px;padding:3px 8px;font-size:10px;font-weight:600}.import-mapping-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.import-mapping-field{flex-direction:column;gap:4px;min-width:0;display:flex}.import-mapping-field>span{color:var(--color-text-tertiary);font-size:10px}.import-mapping-preview{background:var(--color-background-primary);font-family:var(--font-mono);color:var(--color-text-secondary);border-radius:8px;margin-top:12px;padding:10px 12px;font-size:10px;overflow-x:auto}.import-mapping-preview-line{white-space:nowrap;gap:14px;padding:2px 0;display:flex}.import-main-footer{border-top:.5px solid var(--color-border-tertiary);justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:18px;display:flex}.import-main-footer-hint{color:var(--color-text-tertiary);max-width:280px;font-size:12px;line-height:1.45}.import-continue-btn{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.import-alert{border-radius:10px;margin-top:12px;padding:10px 14px;font-size:13px;line-height:1.45}.import-alert-error{background:var(--color-surface-bad);color:var(--color-debit)}.import-workspace-review{grid-template-columns:1fr minmax(260px,300px)}.import-review-main{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:14px;overflow:hidden;box-shadow:0 1px 3px #2a1f1408}.import-review-toolbar{border-bottom:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.import-review-back{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:4px 0;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.import-review-back:hover{color:var(--color-text-primary)}.import-review-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.import-review-chip{background:var(--color-background-primary);color:var(--color-text-secondary);cursor:pointer;border:none;border-radius:99px;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:500}.import-review-chip:hover{color:var(--color-text-primary)}.import-review-chip.warn{color:var(--color-warn);background:#c47a121a}.import-completeness{border:.5px solid var(--color-border-secondary);background:var(--color-background-secondary);border-radius:12px;margin:0 10px 10px;padding:12px 14px}.import-completeness-complete{background:#2d8f5514;border-color:#2d8f5559}.import-completeness-partial{background:#c47a121a;border-color:#c47a1266}.import-completeness-unknown{border-color:var(--color-border-secondary)}.import-completeness-title{margin:0 0 4px;font-size:13px;font-weight:600}.import-completeness-message{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.45}.import-completeness-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 0;display:grid}.import-completeness-stats div{min-width:0}.import-completeness-stats dt{color:var(--color-text-tertiary);font-size:11px}.import-completeness-stats dd{margin:0;font-size:14px;font-weight:600}.import-completeness-skipped{margin-top:10px;font-size:12px}.import-completeness-skipped summary{cursor:pointer;color:var(--color-warn);font-weight:500}.import-completeness-skipped ul{color:var(--color-text-secondary);margin:8px 0 0;padding-left:18px}.import-completeness-skipped li{margin-bottom:4px}.import-completeness-note{color:var(--color-text-secondary);margin:8px 0 0;font-size:12px}.import-review-rows{flex-direction:column;gap:6px;max-height:min(62vh,560px);margin:0;padding:10px;list-style:none;display:flex;overflow-y:auto}.import-row{border:.5px solid #0000;border-radius:12px;grid-template-columns:auto auto 1fr;align-items:start;gap:12px;padding:12px 14px;transition:background .15s,opacity .15s,border-color .15s;display:grid}.import-row:hover{background:var(--color-background-secondary)}.import-row.is-muted{opacity:.42}.import-row.is-needs-category{background:#ea580c0a;border-color:#ea580c59}.import-row.is-dup{background:#c47a120a;border-color:#c47a124d}.import-row-check{padding-top:5px}.import-row-check input{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer}.import-row-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.import-row-icon-debit{color:var(--color-debit);background:#c44a4a1a}.import-row-icon-credit{color:var(--color-credit);background:#2d8f551a}.import-row-icon-transfer{background:var(--color-background-secondary);color:var(--color-text-secondary)}.import-row-content{min-width:0}.import-row-primary{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.import-row-title{min-width:0;font-size:13px;font-weight:500;line-height:1.35}.import-row-amount{white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:600}.import-row-amount-debit{color:var(--color-debit)}.import-row-amount-credit{color:var(--color-credit)}.import-row-amount-transfer{color:var(--color-text-secondary)}.import-row-fee{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:.75rem;margin-top:.25rem;padding-left:.25rem;font-size:12px;display:flex}.import-row-fee-label{flex:1;min-width:0}.import-row-fee-amount{color:var(--color-debit);white-space:nowrap;font-weight:600}.import-row-secondary{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.import-row-date{color:var(--color-text-tertiary);font-size:11px}.import-row-subtitle{color:var(--color-text-secondary);font-size:11px}.import-row.is-low-confidence{outline-offset:-1px;outline:1px dashed #e8621a59}.import-file-drop.is-loading{opacity:.85;pointer-events:none}.import-row-type-toggle{border:1px solid var(--color-border-secondary);border-radius:999px;display:inline-flex;overflow:hidden}.import-row-type-btn{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:0;padding:2px 8px;font-size:10px;font-weight:600}.import-row-type-btn.active{color:var(--color-accent-primary,#e8621a);background:#e8621a1f}.import-row-type-btn:hover:not(.active){color:var(--color-text-secondary)}.import-row-warn{color:var(--color-warn);align-items:center;gap:4px;font-size:10px;font-weight:600;display:inline-flex}.import-row-category .select-input{padding:5px 8px;font-size:11px}.import-row-category-hint{color:var(--color-text-tertiary);flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 0;font-size:10px;line-height:1.4;display:flex}.import-row-category-hint-none{color:var(--color-warn)}.import-category-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;padding:1px 6px;font-size:9px;font-weight:700;display:inline-flex}.import-category-badge-high{color:var(--color-credit);background:#2d8f551f}.import-category-badge-medium{color:var(--color-accent-dark);background:#e8621a1f}.import-category-badge-low{color:#b45309;background:#c47a121f}.import-review-aside{flex-direction:column;gap:12px;display:flex;position:sticky;top:16px}.import-quality-card{background:var(--color-background-primary)}.import-quality-score-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.import-quality-score{letter-spacing:-.02em;border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;font-size:20px;font-weight:700;display:flex}.import-quality-score-high{color:var(--color-credit);background:#2d8f551f}.import-quality-score-mid{color:var(--color-accent-dark);background:#e8621a1f}.import-quality-score-low{color:#b45309;background:#c47a121f}.import-quality-label{color:var(--color-text-primary);margin:0;font-size:15px;font-weight:600}.import-quality-sub{color:var(--color-text-tertiary);margin:2px 0 0;font-size:11px}.import-quality-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.import-quality-stats div{background:var(--color-background-secondary);border-radius:8px;padding:8px 10px}.import-quality-stats dt{color:var(--color-text-tertiary);font-size:10px}.import-quality-stats dd{margin:2px 0 0;font-size:14px;font-weight:600}.import-confirm-step{max-width:720px;margin:0 auto}.import-confirm-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.import-confirm-progress{background:var(--color-background-secondary);border-radius:999px;flex:1;height:6px;overflow:hidden}.import-confirm-progress-bar{border-radius:inherit;background:var(--color-accent);height:100%;transition:width .2s}.import-confirm-count{color:var(--color-text-secondary);white-space:nowrap;margin:0;font-size:12px}.import-confirm-card{border:.5px solid var(--color-border-tertiary);background:var(--gradient-hero-tall);box-shadow:var(--shadow-card);border-radius:16px;padding:28px 24px}.import-confirm-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 6px;font-size:11px;font-weight:600}.import-confirm-title{margin:0 0 8px;font-size:22px;line-height:1.25}.import-confirm-sub{color:var(--color-text-secondary);margin:0 0 20px;font-size:14px;line-height:1.5}.import-confirm-tx{background:var(--color-background-secondary);border-radius:12px;margin-bottom:18px;padding:14px 16px}.import-confirm-tx-desc{margin:0 0 6px;font-weight:600}.import-confirm-tx-meta{color:var(--color-text-secondary);gap:10px;margin:0;font-size:12px;display:flex}.import-confirm-ref{border-top:.5px solid var(--color-border-tertiary);margin-top:12px;padding-top:12px}.import-confirm-ref-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-bottom:4px;font-size:10px;display:block}.import-confirm-guess{color:var(--color-text-secondary);margin:10px 0 0;font-size:12px}.import-confirm-picker{margin-bottom:14px}.import-confirm-remember{color:var(--color-text-secondary);align-items:center;gap:8px;margin-bottom:18px;font-size:13px;display:flex}.import-confirm-actions{justify-content:space-between;gap:12px;display:flex}.import-review-card{border:.5px solid var(--color-border-tertiary);background:var(--gradient-hero-tall);box-shadow:var(--shadow-card);border-radius:14px;padding:22px 20px}.import-review-card-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-bottom:6px;font-size:10px;font-weight:600}.import-review-card-title{letter-spacing:-.02em;margin-bottom:18px;font-size:22px;font-weight:500;line-height:1.2}.import-review-stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.import-review-stat{background:var(--color-glass);border:.5px solid var(--color-border-tertiary);border-radius:10px;padding:10px 12px}.import-review-stat dt{color:var(--color-text-tertiary);margin-bottom:4px;font-size:10px}.import-review-stat dd{color:var(--color-text-primary);font-size:15px;font-weight:600}.import-review-stat dd.positive{color:var(--color-credit)}.import-review-stat dd.negative{color:var(--color-debit)}.import-review-stat dd.warn{color:var(--color-warn)}.import-review-save{justify-content:center;width:100%;margin-bottom:10px}.import-review-card-note{color:var(--color-text-tertiary);text-align:center;font-size:11px;line-height:1.45}.import-bulk-category{border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);border-radius:12px;margin-bottom:12px;padding:14px 16px}.import-bulk-category-head{color:var(--color-accent-dark);align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.import-bulk-category-title{margin-bottom:2px;font-size:13px;font-weight:600}.import-bulk-category-sub{color:var(--color-text-secondary);font-size:12px}.import-bulk-category-apply{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.import-bulk-category-hint{color:var(--color-text-tertiary);font-size:11px}.import-bulk-category-toggle{color:var(--color-accent-dark);cursor:pointer;background:0 0;border:none;margin-top:10px;padding:0;font-size:12px;text-decoration:underline}.import-bulk-category-group-list{flex-direction:column;gap:8px;margin-top:10px;list-style:none;display:flex}.import-bulk-category-group{background:var(--color-background);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.import-bulk-category-group-label{flex-direction:column;gap:2px;font-size:12px;display:flex}.import-bulk-category-group-label span{color:var(--color-text-tertiary)}.import-balance-check{border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);border-radius:12px;margin-bottom:12px;padding:14px 16px}.import-balance-check-ok{border-color:color-mix(in srgb, var(--color-credit) 35%, var(--color-border-tertiary))}.import-balance-check-warn{border-color:color-mix(in srgb, var(--color-warn) 45%, var(--color-border-tertiary))}.import-balance-check-head{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.import-balance-check-title{font-size:13px;font-weight:600}.import-balance-check-sub{color:var(--color-text-secondary);font-size:12px;line-height:1.45}.import-balance-check-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.import-balance-check-stats div{background:var(--color-background);border-radius:8px;padding:8px 10px}.import-balance-check-stats dt{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.import-balance-check-stats dd{font-size:13px;font-weight:600}.import-balance-check-stats dd.warn{color:var(--color-warn)}.category-rules-section{margin-top:20px}.category-rules-form{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.category-rules-list{flex-direction:column;gap:8px;list-style:none;display:flex}.category-rules-item{border:.5px solid var(--color-border-tertiary);background:var(--color-background);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.category-rules-meta{color:var(--color-text-secondary);margin-top:2px;font-size:12px;display:block}.category-rules-delete{color:var(--color-text-tertiary)}.category-rules-delete:hover{color:var(--color-debit)}.insights-patterns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:20px;display:grid}.insights-patterns-card .card-title{align-items:center;gap:8px;display:flex}.insights-pattern-list{flex-direction:column;gap:10px;list-style:none;display:flex}.insights-pattern-item{border-bottom:.5px solid var(--color-border-tertiary);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.insights-pattern-item:last-child{border-bottom:none;padding-bottom:0}.insights-pattern-sub{color:var(--color-text-secondary);margin-top:2px;font-size:12px}.insights-pattern-date{color:var(--color-text-tertiary);white-space:nowrap;font-size:11px}.import-manual{grid-template-columns:minmax(200px,280px) 1fr;align-items:start;gap:16px;display:grid}.import-manual-aside{border:.5px solid var(--color-border-tertiary);background:var(--gradient-hero-tall);box-shadow:var(--shadow-card);border-radius:14px;padding:22px}.import-manual-aside h2{margin-bottom:8px;font-size:16px;font-weight:600}.import-manual-aside>p{color:var(--color-text-secondary);margin-bottom:16px;font-size:13px;line-height:1.55}.import-manual-tips{flex-direction:column;gap:10px;list-style:none;display:flex}.import-manual-tips li{color:var(--color-text-secondary);padding-left:14px;font-size:12px;line-height:1.45;position:relative}.import-manual-tips li:before{content:"";background:var(--color-accent);border-radius:50%;width:5px;height:5px;position:absolute;top:7px;left:0}.import-manual-form{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:14px;padding:22px 24px;box-shadow:0 1px 3px #2a1f1408}.import-manual-done{text-align:center;border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);box-shadow:var(--shadow-card);border-radius:14px;padding:48px 24px}.import-manual-done-icon{background:var(--color-surface-good);width:56px;height:56px;color:var(--color-credit);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.import-manual-done h2{margin-bottom:6px;font-size:18px;font-weight:500}.import-manual-done p{color:var(--color-text-secondary);margin-bottom:18px;font-size:13px}.import-manual-done-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.import-empty{text-align:center;border-radius:var(--border-radius-lg);border:.5px dashed var(--color-border-secondary);background:linear-gradient(180deg, var(--color-background-secondary) 0%, var(--color-background-primary) 100%);padding:56px 32px}.import-empty-visual{width:72px;height:72px;color:var(--color-accent);background:#e8621a1a;border-radius:20px;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.import-empty h2{margin-bottom:8px;font-size:18px;font-weight:500}.import-empty p{color:var(--color-text-secondary);max-width:340px;margin:0 auto 20px;font-size:14px;line-height:1.55}.import-done{justify-content:center;padding:48px 24px;display:flex;position:relative}.import-done-glow{pointer-events:none;background:radial-gradient(#e8621a1f 0%,#0000 70%);position:absolute;inset:20% 15%}.import-done-card{text-align:center;border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);max-width:400px;box-shadow:var(--shadow-card);padding:40px 36px;position:relative}.import-done-icon{width:60px;height:60px;color:var(--color-accent);background:linear-gradient(135deg,#2d8f5526 0%,#e8621a1f 100%);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;display:flex}.import-done-card h2{letter-spacing:-.02em;margin-bottom:8px;font-size:22px;font-weight:500}.import-done-card p{color:var(--color-text-secondary);margin-bottom:22px;font-size:14px;line-height:1.55}.import-done-actions{flex-direction:column;gap:8px;display:flex}.import-done-actions .btn{justify-content:center}.btn-ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}@media (width<=900px){.import-shell-top{flex-direction:column}.import-shell-modes{width:100%}.import-shell-mode{flex:1;justify-content:center}.import-stepper-label{display:none}.import-workspace,.import-workspace-review,.import-manual{grid-template-columns:1fr}.import-review-aside{position:static}.import-format-grid,.import-reference-columns,.import-mapping-grid{grid-template-columns:1fr}.import-row-primary{flex-direction:column;align-items:flex-start;gap:2px}}.budget-page{flex-direction:column;gap:20px;display:flex}.budget-hero{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--gradient-hero-rich);box-shadow:var(--shadow-card);justify-content:space-between;align-items:flex-start;gap:28px;padding:28px 28px 24px;display:flex}.budget-hero-eyebrow{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:500}.budget-hero-balance{letter-spacing:-.03em;color:var(--color-credit);margin-bottom:8px;font-size:36px;font-weight:500;line-height:1.05}.budget-hero-balance-over{color:var(--color-debit)}.budget-hero-sub{color:var(--color-text-secondary);max-width:460px;margin-bottom:18px;font-size:13px;line-height:1.5}.budget-hero-cta{gap:6px}.budget-hero-aside{flex-direction:column;flex-shrink:0;align-items:center;gap:14px;width:min(100%,240px);display:flex}.budget-pace-ring{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:108px;height:108px;display:flex}.budget-pace-ring-inner{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:82px;height:82px;display:flex}.budget-pace-ring-inner span{letter-spacing:-.02em;color:var(--color-text-primary);font-size:20px;font-weight:500;line-height:1.1}.budget-pace-ring-inner small{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.budget-hero-stats{flex-direction:column;gap:8px;width:100%;display:flex}.budget-hero-stat{border-radius:var(--border-radius-md);background:var(--color-glass);border:.5px solid var(--color-border-tertiary);grid-template-columns:1fr auto;align-items:baseline;gap:8px;padding:8px 12px;font-size:12px;display:grid}.budget-hero-stat-label{color:var(--color-text-secondary)}.budget-hero-stat-value{color:var(--color-text-primary);font-weight:500}.budget-hero-stat-good{color:var(--color-credit)}.budget-hero-stat-warn{color:var(--color-warn)}.budget-hero-placeholder{text-align:center;border-radius:var(--border-radius-md);background:var(--color-glass);border:.5px dashed var(--color-border-secondary);color:var(--color-accent);padding:20px 16px}.budget-hero-placeholder p{color:var(--color-text-secondary);margin-top:10px;font-size:12px;line-height:1.5}.budget-empty{text-align:center;border-radius:var(--border-radius-lg);border:.5px dashed var(--color-border-secondary);background:linear-gradient(180deg, var(--color-background-secondary) 0%, var(--color-background-primary) 100%);padding:48px 24px 56px}.budget-empty-icon{width:72px;height:72px;color:var(--color-accent);background:#e8621a1a;border-radius:20px;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.budget-empty h2{margin-bottom:8px;font-size:18px;font-weight:500}.budget-empty p{color:var(--color-text-secondary);max-width:380px;margin:0 auto 20px;font-size:13px;line-height:1.55}.budget-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.budget-toolbar-pills{background:var(--color-glass);border:.5px solid var(--color-border-tertiary);border-radius:12px;gap:6px;padding:4px;display:flex}.budget-toolbar-pill{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:12px;transition:background .15s,color .15s}.budget-toolbar-pill:hover{color:var(--color-text-primary)}.budget-toolbar-pill.active{background:var(--color-background-primary);color:var(--color-text-primary);box-shadow:var(--shadow-soft)}.budget-toolbar-count{color:var(--color-text-tertiary);font-size:12px}.budget-table-wrap{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);box-shadow:var(--shadow-card);max-height:min(68vh,620px);overflow:auto}.budget-table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.budget-table thead{z-index:1;position:sticky;top:0}.budget-table thead tr{background:var(--color-background-secondary);border-bottom:.5px solid var(--color-border-tertiary)}.budget-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);text-align:left;white-space:nowrap;padding:10px 14px;font-size:10px;font-weight:600}.budget-table-num{font-variant-numeric:tabular-nums;text-align:right!important}.budget-table-progress-col{width:148px;min-width:148px}.budget-table-actions-col{width:76px;min-width:76px}.budget-table tbody tr{border-bottom:.5px solid var(--color-border-tertiary);transition:background .12s}.budget-table tbody tr:hover{background:var(--color-background-secondary)}.budget-table tbody tr:last-child{border-bottom:none}.budget-table-row-over{background:#c44a4a08}.budget-table-row-near{background:#c47a1208}.budget-table td{vertical-align:middle;padding:11px 14px}.budget-table-category-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:500;display:block;overflow:hidden}.budget-table-status{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.budget-table-status-over{background:var(--color-surface-bad);color:var(--color-debit)}.budget-table-status-near{background:var(--color-surface-fair);color:var(--color-warn)}.budget-table-status-ok,.budget-table-status-unused{background:var(--color-surface-good);color:var(--color-accent-dark)}.budget-table-muted{color:var(--color-text-secondary)}.budget-table-over{color:var(--color-debit);font-weight:500}.budget-table-good{color:var(--color-credit);font-weight:500}.budget-table-progress{align-items:center;gap:8px;display:flex}.budget-table-bar{background:var(--color-background-secondary);border-radius:99px;flex:1;min-width:56px;height:6px;overflow:hidden}.budget-table-bar-fill{border-radius:99px;height:100%;transition:width .3s}.budget-table-pct{color:var(--color-text-secondary);text-align:right;font-variant-numeric:tabular-nums;min-width:32px;font-size:11px;font-weight:500}.budget-table-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.budget-table-action{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.budget-table-action:hover{background:var(--color-background-elevated);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.budget-table tfoot tr{background:var(--color-background-secondary);border-top:.5px solid var(--color-border-secondary)}.budget-table-totals td{padding:12px 14px;font-size:13px}.budget-table-totals strong{margin-right:8px;font-weight:500}.budget-table-totals-sub{color:var(--color-text-tertiary);font-size:11px}.budget-filter-empty{text-align:center;color:var(--color-text-secondary);border-radius:var(--border-radius-lg);border:.5px dashed var(--color-border-secondary);padding:32px 20px;font-size:13px}.budget-footnote{color:var(--color-text-tertiary);padding-top:4px;font-size:12px;line-height:1.5}.budget-set-modal{max-width:440px}.budget-set-modal-lead{color:var(--color-text-secondary);margin:-8px 0 16px;font-size:13px;line-height:1.5}.budget-set-modal-hint{color:var(--color-text-secondary);border-radius:var(--border-radius-md);background:var(--color-background-secondary);padding:10px 12px;font-size:13px;line-height:1.5}.budget-set-modal .modal-actions{flex-wrap:wrap;gap:10px}.budget-set-modal-delete{color:var(--color-debit);gap:6px;margin-right:auto}.budget-set-modal-delete:hover{background:var(--color-surface-bad)}.budget-set-modal-actions-end{gap:8px;margin-left:auto;display:flex}@media (width<=720px){.budget-hero{flex-direction:column;gap:20px;padding:22px 20px 20px}.budget-hero-balance{font-size:30px}.budget-hero-aside{flex-direction:row;justify-content:space-between;align-items:flex-start;width:100%}.budget-hero-stats{flex:1}.budget-toolbar{flex-direction:column;align-items:stretch}.budget-toolbar-pills{flex-wrap:nowrap;overflow-x:auto}.budget-set-modal-actions-end{justify-content:flex-end;width:100%}}.iou-page{flex-direction:column;gap:20px;display:flex}.iou-hero{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--gradient-hero-rich);box-shadow:var(--shadow-card);justify-content:space-between;align-items:flex-start;gap:28px;padding:28px 28px 24px;display:flex}.iou-hero-eyebrow{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:500}.iou-hero-balance{letter-spacing:-.03em;color:var(--color-text-primary);margin-bottom:8px;font-size:36px;font-weight:500;line-height:1.05}.iou-hero-balance-positive{color:var(--color-credit)}.iou-hero-balance-negative{color:var(--color-debit)}.iou-hero-sub{color:var(--color-text-secondary);max-width:480px;margin-bottom:18px;font-size:13px;line-height:1.5}.iou-hero-cta{gap:6px}.iou-hero-aside{flex-direction:column;flex-shrink:0;gap:12px;width:min(100%,260px);display:flex}.iou-hero-balance-bar{background:var(--color-border-tertiary);border-radius:99px;height:6px;display:flex;overflow:hidden}.iou-hero-balance-bar-owed{background:var(--color-credit);min-width:4px}.iou-hero-balance-bar-owe{background:var(--color-debit);min-width:4px}.iou-hero-stats{flex-direction:column;gap:8px;display:flex}.iou-hero-stat{border-radius:var(--border-radius-md);background:var(--color-glass);border:.5px solid var(--color-border-tertiary);grid-template-columns:1fr auto;align-items:baseline;gap:8px;padding:8px 12px;font-size:12px;display:grid}.iou-hero-stat-label{color:var(--color-text-secondary)}.iou-hero-stat-value{color:var(--color-text-primary);font-weight:500}.iou-hero-stat-good{color:var(--color-credit)}.iou-hero-stat-warn{color:var(--color-warn)}.iou-hero-placeholder{text-align:center;border-radius:var(--border-radius-md);background:var(--color-glass);border:.5px dashed var(--color-border-secondary);color:var(--color-accent);padding:20px 16px}.iou-hero-placeholder p{color:var(--color-text-secondary);margin-top:10px;font-size:12px;line-height:1.5}.iou-empty{text-align:center;border-radius:var(--border-radius-lg);border:.5px dashed var(--color-border-secondary);background:linear-gradient(180deg, var(--color-background-secondary) 0%, var(--color-background-primary) 100%);padding:48px 24px 56px}.iou-empty-icon{width:72px;height:72px;color:var(--color-accent);background:#e8621a1a;border-radius:20px;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.iou-empty h2{margin-bottom:8px;font-size:18px;font-weight:500}.iou-empty p{color:var(--color-text-secondary);max-width:400px;margin:0 auto 20px;font-size:13px;line-height:1.55}.iou-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.iou-toolbar-pills{background:var(--color-glass);border:.5px solid var(--color-border-tertiary);border-radius:12px;gap:6px;padding:4px;display:flex}.iou-toolbar-pill{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:12px;transition:background .15s,color .15s}.iou-toolbar-pill:hover{color:var(--color-text-primary)}.iou-toolbar-pill.active{background:var(--color-background-primary);color:var(--color-text-primary);box-shadow:var(--shadow-soft)}.iou-toolbar-count{color:var(--color-text-tertiary);font-size:12px}.iou-table-wrap{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);box-shadow:var(--shadow-card);max-height:min(68vh,620px);overflow:auto}.iou-table{border-collapse:collapse;width:100%;min-width:900px;font-size:13px}.iou-table thead{z-index:1;position:sticky;top:0}.iou-table thead tr{background:var(--color-background-secondary);border-bottom:.5px solid var(--color-border-tertiary)}.iou-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);text-align:left;white-space:nowrap;padding:10px 14px;font-size:10px;font-weight:600}.iou-table-num{font-variant-numeric:tabular-nums;text-align:right!important}.iou-table-due-col{white-space:nowrap;min-width:108px}.iou-table-progress-col{width:132px;min-width:132px}.iou-table-actions-col{width:76px;min-width:76px}.iou-table tbody tr{border-bottom:.5px solid var(--color-border-tertiary);transition:background .12s}.iou-table tbody tr:hover{background:var(--color-background-secondary)}.iou-table tbody tr:last-child{border-bottom:none}.iou-table-row-overdue{background:#c44a4a08}.iou-table-row-due_soon{background:#c47a1208}.iou-table-row-partial{background:#e8621a08}.iou-table td{vertical-align:middle;padding:11px 14px}.iou-table-person-inner{align-items:center;gap:10px;min-width:0;display:flex}.iou-table-avatar{width:32px;height:32px;color:var(--color-credit);background:#2d8f551f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.iou-table-avatar-owe{color:var(--color-debit);background:#c44a4a1a}.iou-table-person-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-weight:500;overflow:hidden}.iou-table-direction{white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.iou-table-direction-owes_me{color:var(--color-credit);background:#2d8f551a}.iou-table-direction-i_owe{color:var(--color-debit);background:#c44a4a1a}.iou-table-status{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.iou-table-status-active{background:var(--color-surface-good);color:var(--color-accent-dark)}.iou-table-status-partial{color:var(--color-accent-dark);background:#e8621a1f}.iou-table-status-due_soon{background:var(--color-surface-fair);color:var(--color-warn)}.iou-table-status-overdue{background:var(--color-surface-bad);color:var(--color-debit)}.iou-table-status-settled{background:var(--color-background-secondary);color:var(--color-text-tertiary)}.iou-table-remaining-owes_me{color:var(--color-credit);font-weight:500}.iou-table-remaining-i_owe{color:var(--color-debit);font-weight:500}.iou-table-paid{color:var(--color-text-secondary)}.iou-table-paid-cell{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.iou-table-payments-toggle{color:var(--color-text-info);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:3px;padding:0;font-size:10px;display:inline-flex}.iou-table-payments-toggle:hover{color:var(--color-accent)}.iou-table-row-expanded{border-bottom-color:#0000}.iou-table-expand-row td{background:var(--color-background-secondary);border-bottom:.5px solid var(--color-border-tertiary);padding:0 14px 14px}.iou-table-expand-panel{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:12px;padding:14px 16px 12px}.iou-table-expand-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin-bottom:12px;font-size:11px;font-weight:600}.iou-payment-timeline{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.iou-payment-timeline-item{grid-template-columns:20px 1fr;gap:12px;display:grid;position:relative}.iou-payment-timeline-track{flex-direction:column;align-items:center;padding-top:4px;display:flex}.iou-payment-timeline-dot{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.iou-payment-timeline-line{background:var(--color-border-secondary);flex:1;width:1px;min-height:20px;margin-top:4px}.iou-payment-timeline-body{padding-bottom:16px}.iou-payment-timeline-item:last-child .iou-payment-timeline-body{padding-bottom:0}.iou-payment-timeline-top{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:2px;display:flex}.iou-payment-timeline-top time{color:var(--color-text-primary);font-size:13px}.iou-payment-timeline-top strong{font-variant-numeric:tabular-nums;color:var(--color-credit);font-size:13px;font-weight:600}.iou-payment-timeline-notes{color:var(--color-text-secondary);margin-top:2px;font-size:12px;line-height:1.45}.iou-payment-timeline-balance{color:var(--color-text-tertiary);margin-top:4px;font-size:11px}.iou-payment-history-loading,.iou-payment-history-empty{color:var(--color-text-secondary);margin:0;font-size:12px}.iou-modal-history{border-radius:var(--border-radius-md);background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);margin-bottom:16px;padding:12px 14px}.iou-table-muted{color:var(--color-text-secondary)}.iou-table-due-urgent{color:var(--color-warn);font-weight:500}.iou-table-progress{align-items:center;gap:8px;display:flex}.iou-table-bar{background:var(--color-background-secondary);border-radius:99px;flex:1;min-width:48px;height:6px;overflow:hidden}.iou-table-bar-fill{border-radius:99px;height:100%;transition:width .3s}.iou-table-pct{color:var(--color-text-secondary);text-align:right;font-variant-numeric:tabular-nums;min-width:32px;font-size:11px;font-weight:500}.iou-table-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.iou-table-action{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.iou-table-action:hover{background:var(--color-background-elevated);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.iou-table tfoot tr{background:var(--color-background-secondary);border-top:.5px solid var(--color-border-secondary)}.iou-table-totals td{padding:12px 14px;font-size:13px}.iou-table-totals strong{margin-right:8px;font-weight:500}.iou-table-totals-sub{color:var(--color-text-tertiary);font-size:11px}.iou-table-totals-split{flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;display:flex}.iou-table-good{color:var(--color-credit)}.iou-table-warn{color:var(--color-debit)}.iou-table-net{font-weight:500}.iou-filter-empty{text-align:center;color:var(--color-text-secondary);border-radius:var(--border-radius-lg);border:.5px dashed var(--color-border-secondary);padding:32px 20px;font-size:13px}.iou-footnote{color:var(--color-text-tertiary);font-size:12px;line-height:1.5}.iou-modal{max-width:440px}.iou-modal-lead{color:var(--color-text-secondary);margin:-8px 0 16px;font-size:13px;line-height:1.5}.iou-modal-dates{grid-template-columns:1fr 1fr;gap:12px;display:grid}.iou-payment-summary{border-radius:var(--border-radius-md);background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);flex-direction:column;gap:8px;margin-bottom:16px;padding:12px 14px;display:flex}.iou-payment-summary-row{justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;display:flex}.iou-payment-summary-row span{color:var(--color-text-secondary)}.iou-payment-summary-row strong{font-variant-numeric:tabular-nums;font-weight:500}.iou-payment-summary-paid{color:var(--color-credit)}.iou-payment-summary-remaining{border-top:.5px solid var(--color-border-tertiary);margin-top:2px;padding-top:8px}.iou-payment-summary-remaining strong{color:var(--color-text-primary);font-size:14px}.iou-payment-quick{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.iou-payment-quick-btn{border:.5px solid var(--color-border-secondary);background:var(--color-background-primary);color:var(--color-text-secondary);cursor:pointer;border-radius:99px;padding:4px 10px;font-size:11px;transition:background .15s,color .15s}.iou-payment-quick-btn:hover{background:var(--color-background-elevated);color:var(--color-text-primary)}.iou-payment-history{margin-bottom:16px}.iou-payment-history-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin-bottom:8px;font-size:11px;font-weight:600}.iou-payment-history-list{border-radius:var(--border-radius-md);border:.5px solid var(--color-border-tertiary);max-height:120px;margin:0;padding:0;list-style:none;overflow-y:auto}.iou-payment-history-list li{border-bottom:.5px solid var(--color-border-tertiary);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:12px;display:flex}.iou-payment-history-list li:last-child{border-bottom:none}.iou-payment-history-list li span:first-child{color:var(--color-text-secondary)}.iou-payment-history-list li span:last-child{font-variant-numeric:tabular-nums;font-weight:500}@media (width<=720px){.iou-hero{flex-direction:column;gap:20px;padding:22px 20px 20px}.iou-hero-balance{font-size:30px}.iou-hero-aside{width:100%}.iou-toolbar{flex-direction:column;align-items:stretch}.iou-toolbar-pills{flex-wrap:nowrap;overflow-x:auto}.iou-modal-dates{grid-template-columns:1fr}}.categories-page{flex-direction:column;gap:20px;display:flex}.categories-hero,.settings-hero,.insights-hero{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--gradient-hero-rich);box-shadow:var(--shadow-card);justify-content:space-between;align-items:flex-start;gap:28px;padding:28px 28px 24px;display:flex}.categories-hero-eyebrow,.settings-hero-eyebrow,.insights-hero-eyebrow{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:500}.categories-hero-title,.settings-hero-title,.insights-hero-title{letter-spacing:-.03em;color:var(--color-text-primary);margin-bottom:8px;font-size:32px;font-weight:500;line-height:1.05}.categories-hero-sub,.settings-hero-sub,.insights-hero-sub{color:var(--color-text-secondary);max-width:520px;margin-bottom:18px;font-size:13px;line-height:1.5}.categories-hero-cta{gap:6px}.categories-hero-aside,.insights-hero-aside{flex-shrink:0;width:min(100%,240px)}.categories-hero-placeholder,.insights-hero-placeholder{text-align:center;border-radius:var(--border-radius-md);background:var(--color-glass);border:.5px dashed var(--color-border-secondary);color:var(--color-accent);padding:20px 16px}.categories-hero-placeholder p,.insights-hero-placeholder p{color:var(--color-text-secondary);margin-top:10px;font-size:12px;line-height:1.5}.categories-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.categories-toolbar-pills{background:var(--color-glass);border:.5px solid var(--color-border-tertiary);border-radius:12px;gap:6px;padding:4px;display:flex}.categories-toolbar-pill{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:12px}.categories-toolbar-pill.active{background:var(--color-background-primary);color:var(--color-text-primary);box-shadow:var(--shadow-soft)}.categories-toolbar-count{color:var(--color-text-tertiary);font-size:12px}.categories-table-wrap{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);box-shadow:var(--shadow-card);max-height:min(68vh,620px);overflow:auto}.categories-table{border-collapse:collapse;width:100%;min-width:560px;font-size:13px}.categories-table thead{z-index:1;background:var(--color-background-secondary);position:sticky;top:0}.categories-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);text-align:left;padding:10px 14px;font-size:10px;font-weight:600}.categories-table td{border-bottom:.5px solid var(--color-border-tertiary);padding:11px 14px}.categories-table-name{align-items:center;gap:10px;font-weight:500;display:flex}.categories-table-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px}.categories-table-type{border-radius:99px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.categories-table-type-expense{color:var(--color-debit);background:#c44a4a1a}.categories-table-type-income{color:var(--color-credit);background:#2d8f551a}.categories-table-muted{color:var(--color-text-secondary)}.categories-table-source{color:var(--color-text-tertiary);font-size:11px}.categories-table-source-custom{color:var(--color-accent-dark);font-weight:500}.categories-filter-empty,.categories-footnote{color:var(--color-text-tertiary);font-size:12px}.categories-filter-empty{text-align:center;border-radius:var(--border-radius-lg);border:.5px dashed var(--color-border-secondary);padding:32px 20px}.category-color-picker{flex-wrap:wrap;gap:8px;display:flex}.category-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px}.category-color-swatch.selected{border-color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-background-primary)}.settings-page{flex-direction:column;gap:20px;max-width:640px;display:flex}.settings-form{padding:24px}.settings-section{border-bottom:.5px solid var(--color-border-tertiary);margin-bottom:28px;padding-bottom:24px}.settings-section:last-of-type{border-bottom:none;margin-bottom:20px}.settings-section-title{margin-bottom:16px;font-size:14px;font-weight:500}.form-success{border-radius:var(--border-radius-md);color:var(--color-credit);background:#2d8f551a;margin-bottom:16px;padding:10px 12px;font-size:13px}.insights-page{flex-direction:column;gap:20px;display:flex}.insights-hero-main{flex:1;min-width:0}.insights-hero-stats{color:var(--color-text-secondary);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.insights-hero-aside{flex-direction:column;align-items:center;gap:12px;display:flex}.insights-hero-ring{border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;display:flex}.insights-hero-ring-inner{background:var(--color-background-primary);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:68px;height:68px;line-height:1;display:flex}.insights-hero-ring-inner span{font-size:22px;font-weight:500}.insights-hero-ring-inner small{color:var(--color-text-tertiary);font-size:10px}.insights-focus-card{margin-bottom:0}.account-wallet-link-wrap{min-height:0;color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}.account-wallet-edit{z-index:2;border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;opacity:0;border-radius:8px;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:inline-flex;position:absolute;top:12px;right:12px}.account-wallet-card:hover .account-wallet-edit,.account-wallet-edit:focus-visible{opacity:1}.account-wallet-edit:hover{background:var(--color-background-elevated);color:var(--color-text-primary)}.account-type-readonly{border-radius:var(--border-radius-md);background:var(--color-background-secondary);color:var(--color-text-primary);padding:10px 12px;font-size:13px}.activity-tx-actions{align-items:center;gap:4px;display:flex}.activity-tx-edit{opacity:0;color:var(--color-text-tertiary);transition:opacity .15s,color .15s}.activity-tx:hover .activity-tx-edit,.activity-tx-edit:focus-visible{opacity:1}.activity-tx-edit:hover{color:var(--color-accent)}@media (width<=720px){.categories-hero,.settings-hero,.insights-hero{flex-direction:column;padding:22px 20px 20px}.categories-hero-title,.settings-hero-title,.insights-hero-title{font-size:26px}.categories-hero-aside,.insights-hero-aside{width:100%}.categories-toolbar{flex-direction:column;align-items:stretch}.categories-toolbar-pills{flex-wrap:nowrap;overflow-x:auto}.account-wallet-edit,.activity-tx-edit{opacity:1}}.auth-legal{color:var(--color-text-tertiary);margin-top:20px;font-size:12px}.auth-legal a{color:var(--color-text-secondary)}.legal-doc{width:min(640px,100%);padding:8px 4px 32px}.legal-doc h1{margin:8px 0 16px}.legal-doc h2{margin:24px 0 8px;font-size:16px}.legal-doc p{margin:0 0 12px;line-height:1.5}.verify-banner{border:1px solid var(--color-border-primary);background:var(--color-background-primary);border-radius:12px;margin-bottom:16px;padding:16px 18px}.verify-banner .settings-section-title{margin-top:0}.settings-danger{border-top:1px solid var(--color-border-primary);margin-top:28px;padding-top:20px}.settings-confirm{align-items:center;gap:8px;margin:12px 0 16px;font-size:14px;display:flex}.currency-chip-row{flex-wrap:wrap;gap:8px;display:flex}.currency-chip{border:.5px solid var(--color-border-secondary);background:var(--color-background-secondary);color:var(--color-text-primary);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;display:inline-flex}.currency-chip:hover{border-color:var(--color-border-primary)}.currency-chip.selected{border-color:var(--color-accent);background:var(--color-surface-accent);color:var(--color-text-primary)}.currency-chip-symbol{color:var(--color-text-secondary);font-size:12px}
