:root{--bg:#f9f9f7;--card:#fcfcfb;--ink:#0b0b0b;--ink2:#52514e;--mut:#898781;--grid:#e1e0d9;--bd:#0b0b0b1a;--acc:#2a78d6;--trk:#cde2fb;--grn:#006300;--red:#d03b3b;--wrn:#ec835a;--sh:0 1px 3px #0b0b0b0d;--sidebar:216px;--tabbar:76px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0d0d0d;--card:#1a1a19;--ink:#fff;--ink2:#c3c2b7;--mut:#898781;--grid:#2c2c2a;--bd:#ffffff1a;--acc:#3987e5;--trk:#184f95;--grn:#0ca30c;--red:#d03b3b;--wrn:#ec835a;--sh:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:13.5px;line-height:1.4}a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.005em;margin:0 0 16px;font-size:24px;font-weight:800}h1 .sub{color:var(--mut);letter-spacing:0;margin-top:4px;font-size:12.5px;font-weight:400;display:block}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}.num,.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--mut)}.ink2{color:var(--ink2)}.grn{color:var(--grn)}.red{color:var(--red)}.wrn{color:var(--wrn)}.acc{color:var(--acc)}.mono{font-family:ui-monospace,Menlo,monospace}.nowrap{white-space:nowrap}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.right{text-align:right}.flex{display:flex}.aic{align-items:center}.jcsb{justify-content:space-between}.g8{gap:8px}.g10{gap:10px}.g12{gap:12px}.wrap{flex-wrap:wrap}.mt8{margin-top:8px}.mt10{margin-top:10px}.mt12{margin-top:12px}.mt14{margin-top:14px}.mt16{margin-top:16px}.mt18{margin-top:18px}.grow{flex:1}.hide-mobile{display:initial}.show-mobile{display:none}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar);border-right:1px solid var(--bd);flex-direction:column;flex:none;gap:2px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.sidebar .brand{padding:6px 10px 16px;font-size:16px;font-weight:800}.sidebar .nav{color:var(--ink2);border:1px solid #0000;border-radius:8px;padding:9px 10px;font-size:13.5px;text-decoration:none;display:block}.sidebar .nav:hover{background:color-mix(in srgb, var(--ink) 5%, transparent);text-decoration:none}.sidebar .nav.active{color:var(--ink);background:var(--card);border-color:var(--bd);font-weight:600}.sidebar .user{color:var(--mut);margin-top:auto;padding:10px;font-size:12px;line-height:1.5}.sidebar .user .signout{color:var(--acc);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.content{flex:1;min-width:0;max-width:1180px;padding:26px 32px}.tabbar{display:none}@media (width<=767px){.sidebar{display:none}.hide-mobile{display:none!important}.show-mobile{display:initial}.content{padding:18px 16px calc(var(--tabbar) + env(safe-area-inset-bottom,0px) + 12px);max-width:none}h1{margin-bottom:12px;font-size:22px}.tabbar{z-index:30;height:calc(var(--tabbar) + env(safe-area-inset-bottom,0px));padding:8px 2px calc(14px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--bd);grid-template-columns:repeat(7,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--mut);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:44px;font-size:9.5px;text-decoration:none;display:flex}.tabbar a span{font-size:19px;line-height:1}.tabbar a.active{color:var(--acc);font-weight:600}}.card{background:var(--card);border:1px solid var(--bd);box-shadow:var(--sh);border-radius:12px;padding:16px 18px}.card.tight{padding:14px 18px}.card.table{padding:4px 18px 10px}.card.kpi{padding:14px 18px}.card.hero{padding:22px 24px}.card.accent{background:color-mix(in srgb, var(--acc) 5%, var(--card));border-color:color-mix(in srgb, var(--acc) 32%, transparent);padding:18px 20px}.card.dashed{border-style:dashed}.sec-h{letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);font-size:11px;font-weight:700}.kpi .label{color:var(--ink2);font-size:12.5px}.kpi .value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;font-weight:800}.kpi .sub{color:var(--mut);margin-top:2px;font-size:12px}.kpi .sub.grn{color:var(--grn)}.kpi .sub.wrn{color:var(--wrn);font-weight:600}.kpi .sub.up{color:var(--red);font-weight:600}.kpi .sub.down{color:var(--grn);font-weight:600}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=767px){.card{padding:13px 14px}.card.kpi{padding:12px 14px}.card.hero{padding:16px}.kpi .label{font-size:12px}.kpi .value{margin-top:3px;font-size:22px}.kpi .sub{font-size:11.5px}.grid2{grid-template-columns:1fr;gap:12px}.grid4{grid-template-columns:1fr 1fr;gap:10px}.grid3{grid-template-columns:1fr;gap:10px}.sec-h{font-size:10.5px}}.th{letter-spacing:.07em;text-transform:uppercase;color:var(--mut);gap:12px;padding:12px 0 8px;font-size:10.5px;font-weight:700;display:grid}.tr{border-top:1px solid var(--grid);align-items:center;gap:12px;padding:9px 0;display:grid}.tr:hover,.row:hover{background:color-mix(in srgb, var(--ink) 4%, transparent)}.row{border-bottom:1px solid var(--grid);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.row:last-child{border-bottom:0}.tr.warn{background:color-mix(in srgb, var(--wrn) 5%, transparent)}.tr.muted-row{opacity:.5}.total-row{border-top:1px solid var(--ink);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:2px;padding:9px 0 0;font-size:13.5px;font-weight:800;display:flex}.cell-date{color:var(--ink2);font-variant-numeric:tabular-nums;font-size:12.5px}.cell-merchant{font-size:13.5px;font-weight:600}.cell-sub{color:var(--mut);font-size:11.5px}.cell-amt{text-align:right;font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:650}.cell-amt.income{color:var(--grn)}.icons{letter-spacing:.12em;font-size:11.5px}.pager{text-align:center;color:var(--ink2);font-variant-numeric:tabular-nums;margin-top:14px;font-size:13px}.pager button{color:var(--acc);background:0 0;border:0;padding:0 4px;font-size:13px}.pager button:disabled{color:var(--mut);cursor:default}.btn{background:var(--card);color:var(--ink);border:1px solid var(--bd);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--mut);text-decoration:none}.btn.primary{background:var(--acc);color:#fff;border-color:#0000;padding:8px 15px}.btn.primary:hover{filter:brightness(.92);border-color:#0000}.btn.warn{background:var(--wrn);color:#fff;border-color:#0000;padding:6px 13px;font-size:12px;font-weight:700}.btn.warn:hover{filter:brightness(.94)}.btn.sm{padding:4px 11px;font-size:11.5px}.btn.danger{color:var(--red);border-color:color-mix(in srgb, var(--red) 40%, transparent)}.btn.danger:hover{background:color-mix(in srgb, var(--red) 8%, transparent)}.btn:disabled,.btn.disabled{opacity:.45;cursor:default;pointer-events:none}.btn.pill{border-radius:99px}.btn.link{color:var(--acc);background:0 0;border:0;padding:0;font-weight:600}.btn.link.danger{color:var(--mut)}.btn.link.danger:hover{color:var(--red);background:0 0}.btn.block{width:100%;display:flex}@media (width<=767px){.btn.m-pill{border-radius:99px}}.pill{border:1px solid var(--bd);color:var(--ink2);white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:2px 9px;font-size:10.5px;font-weight:700;line-height:1.4;display:inline-flex}.pill.grn{color:var(--grn);border-color:color-mix(in srgb, var(--grn) 40%, transparent);background:color-mix(in srgb, var(--grn) 7%, transparent)}.pill.red{color:var(--red);border-color:color-mix(in srgb, var(--red) 40%, transparent);background:color-mix(in srgb, var(--red) 7%, transparent)}.pill.wrn{color:var(--wrn);border-color:color-mix(in srgb, var(--wrn) 45%, transparent);background:color-mix(in srgb, var(--wrn) 9%, transparent);padding:3px 10px;font-size:11px;font-weight:600}.pill.acc{color:var(--acc);border-color:color-mix(in srgb, var(--acc) 40%, transparent);padding:2px 9px;font-size:10px}.pill.status{letter-spacing:.05em;padding:2px 10px}.pill.src{color:var(--mut);text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;font-size:10px}.pill.state{color:var(--ink2)}.pill.state.ok{color:var(--grn)}.pill.state.fail{color:var(--red)}.pill.type{padding:2px 9px}.pill.type.invoice{color:var(--acc);background:color-mix(in srgb, var(--acc) 8%, transparent)}.pill.type.receipt{color:var(--grn);background:color-mix(in srgb, var(--grn) 8%, transparent)}.pill.type.subscription{color:var(--wrn);background:color-mix(in srgb, var(--wrn) 8%, transparent)}.pill.type.payment{color:var(--ink2);background:color-mix(in srgb, var(--ink2) 8%, transparent)}.pill.mono{padding:3px 11px;font-family:ui-monospace,Menlo,monospace;font-size:11.5px;font-weight:600}.pill.chip{color:var(--ink2);font-variant-numeric:tabular-nums;padding:6px 13px;font-size:12px;font-weight:400}.pill.chip.grn{font-weight:600}.pill.clickable{cursor:pointer}.pill.clickable:hover{border-color:var(--mut)}.spinner{border:2px solid var(--bd);border-top-color:var(--acc);border-radius:99px;flex:none;width:8px;height:8px;animation:1s linear infinite spin;display:inline-block}.spinner.lg{width:9px;height:9px}@keyframes spin{to{transform:rotate(360deg)}}.cat-chip{border:1px solid var(--bd);background:var(--card);white-space:nowrap;cursor:pointer;color:var(--ink);appearance:none;border-radius:8px;align-items:center;gap:4px;max-width:100%;padding:5px 9px;font-size:12px;display:inline-flex}.cat-chip:hover{border-color:var(--mut)}.cat-chip.uncat{color:var(--wrn);border-color:var(--wrn)}@media (width<=767px){.cat-chip{border-radius:99px;padding:4px 10px;font-size:11.5px}}.input,.select{background:var(--bg);border:1px solid var(--bd);color:var(--ink);border-radius:8px;outline:none;width:100%;min-width:0;padding:8px 11px;font-size:13px}.input.card-bg,.select.card-bg{background:var(--card)}.input:focus,.select:focus{border-color:var(--acc)}.input::placeholder{color:var(--mut)}.select{appearance:auto}.input.sm{border-radius:7px;padding:5px 9px;font-size:12.5px}.input.right{text-align:right}.field{color:var(--mut);font-size:11px;display:block}.field>.input,.field>.select{margin-top:4px}.check{color:var(--ink2);cursor:pointer;align-items:center;gap:7px;font-size:13px;display:inline-flex}.check input{opacity:0;width:0;height:0;position:absolute}.check .box{border:1.5px solid var(--bd);background:var(--card);color:#fff;border-radius:4px;flex:none;justify-content:center;align-items:center;width:15px;height:15px;font-size:11px;font-weight:800;display:inline-flex}.check input:checked+.box{background:var(--acc);border-color:var(--acc)}.check input:checked+.box:after{content:"✓"}.radio-card{border:1px solid var(--bd);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.radio-card.selected{border-color:var(--acc);background:color-mix(in srgb, var(--acc) 5%, transparent)}.radio-card input{opacity:0;width:0;height:0;position:absolute}.radio-card .dot{border:1.5px solid var(--bd);border-radius:99px;flex:none;width:15px;height:15px;margin-top:1px}.radio-card.selected .dot{border:4.5px solid var(--acc);background:#fff}.radio-card .t{font-size:13px;font-weight:600;display:block}.radio-card .d{color:var(--mut);font-size:11.5px}.filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filters .input,.filters .select{width:auto}@media (width<=767px){.filters{gap:8px}.filters .input,.filters .select{border-radius:99px;padding:7px 12px;font-size:12px}}.meter{background:var(--trk);border-radius:99px;height:14px;overflow:hidden}.meter.lg{height:18px}.meter.sm{height:12px}.meter>div{background:var(--acc);border-radius:99px;height:100%;transition:width .4s}.catbar{align-items:center;height:16px;display:flex;position:relative}.catbar .fill{background:var(--acc);border-radius:3px;height:12px}.catbar .fill.over{background:var(--red)}.catbar .tick{background:var(--ink);opacity:.5;border-radius:1px;width:2px;height:18px;position:absolute;top:-1px}@media (width<=767px){.catbar{height:14px}.catbar .fill{height:10px}}.skel{background:var(--grid);border-radius:6px;animation:1.4s ease-in-out infinite shim}@keyframes shim{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.err{border:1px solid color-mix(in srgb, var(--red) 40%, transparent);color:var(--red);background:color-mix(in srgb, var(--red) 7%, transparent);border-radius:10px;padding:9px 12px;font-size:12px;font-weight:600}.err u,.err .link{cursor:pointer;text-decoration:underline}.warnbox{border:1px solid color-mix(in srgb, var(--wrn) 45%, transparent);color:var(--wrn);background:color-mix(in srgb, var(--wrn) 9%, transparent);border-radius:10px;padding:9px 12px;font-size:12px;font-weight:600}.banner{border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.banner.ok{background:color-mix(in srgb, var(--grn) 8%, var(--card));border:1px solid color-mix(in srgb, var(--grn) 35%, transparent);color:var(--grn)}.banner.warn{background:color-mix(in srgb, var(--wrn) 9%, transparent);border:1px solid color-mix(in srgb, var(--wrn) 45%, transparent);color:var(--wrn);padding:11px 14px;font-size:12.5px}.banner .x{color:var(--mut);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:14px}.banner .x:hover{color:var(--ink)}.callout{border-radius:10px;padding:11px 14px;font-size:12.5px;line-height:1.6}.callout.red{border:1px solid color-mix(in srgb, var(--red) 35%, transparent);background:color-mix(in srgb, var(--red) 6%, transparent)}.callout.grn{border:1px solid color-mix(in srgb, var(--grn) 35%, transparent);background:color-mix(in srgb, var(--grn) 6%, transparent)}.empty{border:1px dashed var(--bd);background:var(--card);text-align:center;border-radius:12px;padding:34px 20px}.empty .emoji{font-size:34px}.empty .title{margin-top:10px;font-size:14.5px;font-weight:700}.empty .sub{color:var(--mut);margin-top:5px;font-size:12px}.empty .btn{margin-top:14px}.modal-bg{z-index:50;background:color-mix(in srgb, var(--ink) 42%, transparent);justify-content:center;align-items:flex-start;padding:34px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--card);border:1px solid var(--bd);border-radius:12px;width:100%;max-width:720px;padding:20px 22px;box-shadow:0 18px 50px #00000047}.modal.sm{max-width:480px;padding:18px 20px}.modal .title{font-size:19px;font-weight:800}.modal.sm .title{font-size:17px}.modal .close{color:var(--mut);cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:16px}.modal .close:hover{color:var(--ink)}.modal .actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}@media (width<=767px){.modal-bg{padding:16px 10px}.modal{padding:16px}}.menu{z-index:40;background:var(--card);border:1px solid var(--bd);text-align:left;border-radius:10px;width:200px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0000002e}.menu button{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:7px;padding:8px 10px;font-size:12.5px;font-weight:600;display:block}.menu button:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.menu button.quiet{color:var(--mut);border-top:1px solid var(--grid);border-radius:0 0 7px 7px;margin-top:4px;font-weight:400}.seg{border:1px solid var(--bd);border-radius:8px;font-size:11.5px;font-weight:600;display:inline-flex;overflow:hidden}.seg button{color:var(--ink2);background:0 0;border:0;padding:4px 11px}.seg button:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.seg button.on{background:var(--ink);color:var(--bg)}.thumb{border:1px solid var(--bd);background:repeating-linear-gradient(0deg, var(--bg) 0 5px, var(--grid) 5px 7px);border-radius:8px;flex:none;justify-content:center;align-items:center;width:56px;height:56px;font-size:18px;display:flex;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.photo{border:1px solid var(--bd);background:repeating-linear-gradient(0deg, var(--bg) 0 7px, var(--grid) 7px 9px);height:238px;color:var(--mut);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:11px;display:flex;overflow:hidden}.photo img{object-fit:contain;cursor:zoom-in;width:100%;height:100%}.tooltip{background:var(--ink);color:var(--bg);white-space:nowrap;font-variant-numeric:tabular-nums;z-index:2;pointer-events:none;border-radius:6px;margin-bottom:7px;padding:4px 8px;font-size:10.5px;font-weight:600;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.tooltip:after{content:"";border:4px solid #0000;border-top-color:var(--ink);position:absolute;top:100%;left:50%;transform:translate(-50%)}.auth-wrap{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--card);border:1px solid var(--bd);box-shadow:var(--sh);text-align:center;border-radius:12px;width:320px;max-width:100%;padding:34px 40px}.auth-card .logo{letter-spacing:2px;font-size:34px}.auth-card .name{margin-top:10px;font-size:22px;font-weight:800}.auth-card .sub{color:var(--mut);margin-top:4px;font-size:13px}.auth-card .btn{margin-top:18px;padding:11px;font-size:14px}@media (width<=767px){.auth-card{width:100%;padding:32px 26px}.auth-card .btn{padding:13px}}.dash-goal{margin-top:16px;padding:15px 18px}.dash-goal .head{justify-content:space-between;align-items:baseline;display:flex}.dash-goal .details{color:var(--acc);font-size:13px}.dash-goal .meter{margin-top:10px}.dash-goal .lines{color:var(--ink2);font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;margin-top:8px;font-size:12px;display:flex}.dash-sec{margin-top:16px}.dash-card .sec-h.mb8{margin-bottom:8px}.dash-card .sec-h.mb4{margin-bottom:4px}.dash-acct{padding:11px 0;font-size:14px}.dash-acct .amt{font-weight:650}.dash-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.dash-chip{gap:6px;padding:3px 10px;font-size:11px;font-weight:600}a.dash-chip:hover{text-decoration:none}.dash-recent{padding:8px 0;font-size:13.5px}.dash-recent .who{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.dash-recent .m{font-weight:600}.dash-recent .d{color:var(--mut);font-size:12px}.dash-recent .amt{flex:none;margin-left:10px;font-weight:650}.dash-recent .amt.income{color:var(--grn)}.dash-empty-line{color:var(--ink2);padding:6px 0;font-size:12.5px;line-height:1.9}.dash-none{color:var(--mut);padding:6px 0;font-size:12.5px}@media (width<=767px){.dash-goal{margin-top:12px;padding:13px 14px}.dash-goal .details{font-size:12.5px}.dash-goal .meter{height:12px;margin-top:9px}.dash-goal .lines{flex-direction:column;gap:2px;margin-top:7px;font-size:11.5px}.dash-goal .lines span:last-child{color:var(--mut)}.dash-sec{margin-top:12px}.dash-card .sec-h.mb8{margin-bottom:4px}.dash-acct{padding:10px 0;font-size:13.5px}}.tx-filters .tx-search{flex:1;max-width:280px}.tx-filters .tx-ai{margin-left:auto}.tx-filters .check{position:relative}.sel-wrap{max-width:100%;display:inline-flex;position:relative}.tx-filters .sel-wrap>select{appearance:none;padding-right:26px}.sel-wrap:after{content:"▾";pointer-events:none;color:var(--ink2);font-size:12px;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.sel-wrap.month>select{font-variant-numeric:tabular-nums}.sel-wrap.cats>select{color:var(--ink2)}.tx-ai-err{margin-top:10px}.tx-banner{margin-top:12px}.tx-grid{grid-template-columns:86px 1fr 262px 110px}.tx-card{margin-top:14px}.tx-card.after-banner{margin-top:12px}.cell-m{min-width:0}.cell-cat{align-items:center;gap:7px;min-width:0;display:flex}.tx-amt{flex-direction:column;align-items:flex-end;gap:5px;min-width:0;display:flex}.row-err{grid-column:1/-1;margin-top:4px}.chip-wrap{max-width:100%;display:inline-flex;position:relative}.chip-wrap>.cat-chip{text-overflow:ellipsis;padding-right:24px;overflow:hidden}.chip-wrap:after{content:"▾";pointer-events:none;color:var(--ink);font-size:12px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.chip-wrap.uncat:after{color:var(--wrn)}.doc-menu{text-align:left;display:inline-block;position:relative}.doc-pill{border:1px solid color-mix(in srgb, var(--wrn) 45%, transparent);color:var(--wrn);background:var(--card);white-space:nowrap;cursor:pointer;border-radius:99px;align-items:center;gap:5px;padding:4px 11px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}.doc-pill:hover{border-color:var(--wrn)}.doc-pill:disabled{opacity:.6;cursor:default}.tx-empty,.tx-err{margin-top:14px}.tx-chips{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.tx-chips::-webkit-scrollbar{display:none}.tx-chips .sel-wrap{flex:none}.tx-chips .sel-wrap>select{white-space:nowrap}.tx-chips .sel-wrap:after{right:12px}.m-chip{border:1px solid var(--bd);background:var(--card);color:var(--ink2);white-space:nowrap;cursor:pointer;border-radius:99px;flex:none;padding:7px 12px;font-size:12px;font-weight:600}.m-chip.on{color:var(--wrn);border-color:color-mix(in srgb, var(--wrn) 45%, transparent);background:color-mix(in srgb, var(--wrn) 9%, transparent)}.tx-row2{gap:8px;margin-top:8px;display:flex}.tx-row2 .input{background:var(--card);border-radius:99px;flex:1;padding:7px 12px;font-size:12px}.tx-row2 .btn{border-radius:99px;padding:7px 13px;font-size:12px}.tx-cards{flex-direction:column;gap:8px;margin-top:12px;display:flex}.mcard{padding:11px 13px}.mcard.warn{background:color-mix(in srgb, var(--wrn) 5%, var(--card))}.mcard-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.mcard-top .m{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.mcard-top .m .icons{letter-spacing:.1em;font-size:11px}.mcard-top .d{color:var(--mut);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.mcard-bot{justify-content:space-between;align-items:center;gap:8px;margin-top:7px;display:flex}.mcard-bot .amt{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:700}.mcard-bot .amt.income{color:var(--grn)}.mcard-doc{justify-content:flex-end;margin-top:8px;display:flex}.mcard .row-err{margin-top:8px}.rc-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rc-head h1{margin:0}.rc-head .btn.primary{padding:9px 15px}.rc-head-m{justify-content:space-between;align-items:center;gap:10px;display:flex}.rc-head-m h1{margin:0}.rc-head-m .btn.primary{padding:9px 14px;font-size:12.5px}.rc-sub-m{color:var(--mut);margin-top:5px;font-size:11.5px}.rc-list,.grid4.rc-grid{margin-top:18px}.rc-list .empty .btn.primary{padding:9px 15px}@media (width<=767px){.rc-list{margin-top:14px}.grid4.rc-grid{grid-template-columns:1fr;gap:10px;margin-top:14px}}.card.rc-card{cursor:pointer;padding:14px}.card.rc-card:hover{border-color:var(--mut)}.card.rc-card:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.card.rc-card.failed{opacity:.55}.rc-top{align-items:flex-start;gap:12px;display:flex}.rc-body{flex:1;min-width:0}.rc-merchant{font-size:14px;font-weight:700}.rc-meta{color:var(--mut);margin-top:2px;font-size:11.5px}.rc-amtrow{align-items:center;gap:8px;margin-top:6px;display:flex}.rc-amt{font-size:14px;font-weight:700}.rc-cat{color:var(--ink2);margin-top:10px;font-size:12px}.rc-match{margin-top:3px;font-size:11.5px;display:block}button.rc-match,.rc-linkish{font:inherit;text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;margin:0;padding:0}button.rc-match:hover,.rc-linkish:hover{text-decoration:underline}.card.rc-card.m{padding:12px}.rc-card.m .rc-top{align-items:center;gap:11px}.rc-card.m .thumb{width:48px;height:48px;font-size:16px}.rc-card.m .rc-line1{justify-content:space-between;gap:8px;display:flex}.rc-card.m .rc-merchant,.rc-card.m .rc-amt{font-size:13.5px}.rc-card.m .rc-amt{flex:none}.rc-card.m .rc-meta{font-size:11px}.rc-card.m .rc-amtrow{gap:7px;min-width:0;margin-top:5px}.rc-card.m .pill{padding:2px 8px;font-size:10px}.rc-card.m .rc-match{min-width:0;margin-top:0;font-size:10.5px}.rc-skel .rc-body>.skel+.skel{margin-top:8px}.rd-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.rc-dmeta{color:var(--mut);margin-top:4px;font-size:12.5px}.rc-dmeta .rc-b{font-weight:600}.rd-body{grid-template-columns:1fr 218px;gap:18px;margin-top:16px;display:grid}.rd-th{letter-spacing:.07em;color:var(--mut);grid-template-columns:1fr 44px 70px;gap:10px;padding:7px 0;font-size:10.5px;font-weight:700;display:grid}.rd-tr{border-top:1px solid var(--grid);grid-template-columns:1fr 44px 70px;gap:10px;padding:6px 0;font-size:12.5px;display:grid}.rd-tr:hover{background:color-mix(in srgb, var(--ink) 3%, transparent)}.rd-avoid{font-size:10.5px}.rd-more{text-align:left;border:0;border-top:1px solid var(--grid);width:100%;color:var(--mut);cursor:pointer;background:0 0;padding:6px 0;font-size:11.5px;display:block}.rd-more:hover{color:var(--ink)}.rd-err{margin-top:8px}.rd-photo a{width:100%;height:100%;display:block}.rd-zoom{color:var(--mut);text-align:center;margin-top:6px;font-size:10.5px}.rd-actions{border-top:1px solid var(--grid);justify-content:space-between;gap:8px;margin-top:16px;padding-top:14px;display:flex}.rd-actions .btn{padding:7px 13px;font-size:12.5px}@media (width<=767px){.rd-body{grid-template-columns:1fr;gap:14px}}.rc-cash .rc-dmeta{margin-top:3px;font-size:12px}.rc-cash .rc-dmeta b{color:var(--ink)}.rc-cash .warnbox{margin-top:12px;padding:8px 12px}.rc-options{flex-direction:column;gap:8px;margin-top:12px;display:flex}.rc-options .radio-card{position:relative}.rc-fields{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.rc-cash .select{appearance:none}.rc-tiprow{border:1px solid var(--grid);border-radius:10px;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;display:flex}.rc-tiplabel{flex:1;font-size:13px;font-weight:600}.rc-tiprow .input{text-align:right;width:80px;padding:7px 11px}.rc-explain{color:var(--mut);margin-top:8px;font-size:11.5px}.rc-explain b{color:var(--ink)}.rc-cash .actions .btn.primary{padding:8px 16px}.rc-cash .err{margin-top:10px}.subs-head h1{margin:0}.subs-stat{align-items:baseline;gap:10px;margin-top:16px;display:flex}.subs-stat .label{color:var(--ink2);font-size:12.5px}.subs-stat .value{font-size:28px;font-weight:800}.subs-stat .sub{color:var(--mut);font-size:13px}.subs-table{margin-top:16px;padding-bottom:8px}.subs-grid{grid-template-columns:1fr 92px 112px 64px 96px 84px}.emails-grid{grid-template-columns:64px 104px 1fr 84px 104px}.subs-merchant .name{font-size:13.5px;font-weight:700;display:block}.subs-merchant .cell-sub{display:block}.emails-subject{min-width:0}.emails-subject .subj{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.emails-amt{font-size:13px}.match{font-size:11.5px;font-weight:600}.subs-table .btn.sm{color:var(--ink2)}.subs-sec{margin:22px 0 8px}.subs-sec+.subs-table{margin-top:0}.subs-skel{margin-top:16px;padding-bottom:10px}.subs-sec+.subs-skel{margin-top:0}.subs-empty{text-align:left;color:var(--ink2);padding:16px 18px;font-size:12.5px;line-height:1.6}.subs-empty-first{margin-top:16px}.subs-cards{display:none}.subs-card{padding:11px 13px}.subs-card .top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.subs-card .top .name{min-width:0;font-size:13.5px;font-weight:700}.subs-card .top .amt{flex:none;font-size:13.5px;font-weight:700}.subs-card .bottom{justify-content:space-between;align-items:center;gap:8px;margin-top:5px;display:flex}.subs-card .bottom .line{color:var(--mut);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.subs-card .bottom .btn{color:var(--ink2);flex:none;padding:3px 10px;font-size:10.5px}.subs-card.muted-row{opacity:.5}@media (width<=767px){.subs-rescan{padding:8px 13px;font-size:12px}.subs-stat{margin-top:12px;display:block}.subs-stat .label{font-size:12px;display:block}.subs-stat .value{font-size:24px;display:inline}.subs-stat .sub{margin-left:4px;font-size:12px}.subs-table{display:none}.subs-cards{flex-direction:column;gap:8px;margin-top:12px;display:flex}.subs-sec{margin:18px 0 8px}.subs-sec+.subs-cards{margin-top:0}.subs-skel{margin-top:12px}.subs-sec+.subs-skel{margin-top:0}.subs-empty-first{margin-top:12px}}.rep-head{align-items:center;gap:10px;display:flex}.rep-head h1{flex:1;margin:0}.rep-controls{align-items:center;gap:10px;display:flex}.rep-week{align-items:center;display:inline-flex;position:relative}.rep-week select{appearance:none;background:var(--card);border:1px solid var(--bd);color:var(--ink);cursor:pointer;border-radius:8px;outline:none;padding:8px 26px 8px 12px;font-size:13px}.rep-week select:hover{border-color:var(--mut)}.rep-week select:focus{border-color:var(--acc)}.rep-week .caret{pointer-events:none;color:var(--ink);font-size:12px;position:absolute;right:11px}.reports .kpi .value{font-size:24px}.rep-sugg .rep-summary{max-width:760px;margin:12px 0 0;font-size:13.5px;line-height:1.6}.rep-sugg .rep-bullets{max-width:760px;color:var(--ink);margin:10px 0 0;padding-left:20px;font-size:13px;line-height:1.65}.rep-sugg .rep-closing{margin:12px 0 0;font-size:13px;line-height:1.6}.rep-sec{margin-bottom:2px}.rep-th{letter-spacing:.07em;text-transform:uppercase;color:var(--mut);gap:10px;padding:8px 0 6px;font-size:10.5px;font-weight:700;display:grid}.rep-tr{border-top:1px solid var(--grid);align-items:center;gap:10px;padding:8px 0;font-size:12.5px;display:grid}.rep-tr:hover{background:color-mix(in srgb, var(--ink) 3%, transparent)}.rep-cat{grid-template-columns:minmax(0,1fr) 76px 76px 72px 72px;gap:8px}.rep-cat .rep-name{white-space:normal;line-height:1.25}.rep-merch{grid-template-columns:1fr 64px 92px}.rep-delta{font-weight:650}.rep-merchants{align-self:start}.rep-avoid-note{color:var(--mut);margin-top:6px;font-size:12px}.rep-avoid .rep-th{margin-top:6px;padding:10px 0 6px}.rep-avoid-grid{grid-template-columns:1fr 108px}.rep-avoid-row{padding:7px 0}.rep-avoid-src{font-size:11.5px}.rep-avoid-amt{font-weight:650}.rep-avoid-none{margin-top:12px;font-size:13px;font-weight:600}@media (width<=767px){.rep-head{flex-wrap:wrap;gap:0}.rep-head h1{flex-basis:100%}.rep-controls{gap:8px;margin-top:10px}.rep-week select{border-radius:99px;padding:7px 24px 7px 12px;font-size:12px}.rep-week .caret{font-size:11px;right:10px}.rep-controls .btn{padding:7px 12px;font-size:12px}.rep-kpis{margin-top:12px}.reports .kpi .label{font-size:11.5px}.reports .kpi .value{margin-top:2px;font-size:20px}.reports .kpi .sub{margin-top:1px;font-size:11px}.rep-kpi-spent{order:1}.rep-kpi-tx{order:2}.rep-kpi-income{order:3}.rep-kpi-subs{order:4}.rep-sugg{margin-top:12px;padding:14px 15px}.rep-sugg .rep-summary{margin-top:9px;font-size:12.5px;line-height:1.55}.rep-sugg .rep-bullets{margin-top:8px;padding-left:17px;font-size:12px;line-height:1.6}.rep-sugg .rep-closing{margin-top:9px;font-size:12px;line-height:1.55}.rep-th.rep-cat{display:none}.rep-cat{grid-template-columns:1fr 74px 64px;gap:8px}.rep-tr.rep-cat{padding:7px 0;font-size:12px}.rep-cat .rep-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rep-lw,.rep-av{display:none}.rep-merch{grid-template-columns:1fr 52px 84px;gap:8px}.rep-tr.rep-merch{padding:7px 0;font-size:12px}.rep-avoid-grid{grid-template-columns:1fr 92px;gap:8px}.rep-tr.rep-avoid-row{font-size:12px}}.sv-head{justify-content:space-between;align-items:center;display:flex}.btn.sv-edit-mob{display:none}.sv-hero .sv-hero-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sv-hero .sv-hero-top .sec-h{padding-top:6px}.sv-edit-desk{padding:6px 12px;font-size:12.5px}.sv-figure{letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:8px;font-size:48px;font-weight:800;line-height:1.15}.sv-pct{color:var(--ink2);font-variant-numeric:tabular-nums;margin-top:2px;font-size:14px}.sv-hero .meter{margin-top:16px}.sv-togo{color:var(--ink2);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:9px;font-size:12.5px;display:flex}.sv-togo .sv-dot{display:none}.sv-pills{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.sv-goal-form{margin-top:16px}.sv-fields{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.sv-actions{align-items:center;gap:8px;margin-top:14px;display:flex}.sv-grid{grid-template-columns:400px 1fr;align-items:start;gap:16px;margin-top:16px;display:grid}.sv-add-fields{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.sv-add-note{margin-top:10px}.sv-add-btn{margin-top:12px;padding:8px 16px}.sv-tip{color:var(--mut);margin-top:12px;font-size:11.5px;line-height:1.5}.sv-list .sec-h{margin-bottom:2px}.sv-th,.sv-row{grid-template-columns:110px 1fr 110px 36px;align-items:center;gap:10px;display:grid}.sv-th{letter-spacing:.07em;text-transform:uppercase;color:var(--mut);padding:8px 0 6px;font-size:10.5px;font-weight:700}.sv-row{border-top:1px solid var(--grid);padding:9px 0;font-size:12.5px}.sv-row:hover{background:color-mix(in srgb, var(--ink) 3%, transparent)}.sv-row .sv-date{color:var(--ink2);font-variant-numeric:tabular-nums}.sv-row .sv-note{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.sv-row .sv-auto{letter-spacing:.05em;text-transform:uppercase;color:var(--mut);margin-left:6px;font-size:10px;font-weight:700}.sv-row .sv-amt{text-align:right;font-variant-numeric:tabular-nums;font-weight:650}.sv-row .sv-amt.neg{color:var(--red)}.sv-x{text-align:right;color:var(--mut);cursor:pointer;background:0 0;border:0;justify-self:end;padding:0 4px;font-size:13px;line-height:1}.sv-x:hover{color:var(--red)}.sv-confirm{grid-column:3/5;justify-content:flex-end;align-items:center;gap:6px;display:flex}.sv-list .empty{margin-top:8px}@media (width<=767px){.sv-head{margin-bottom:12px}.sv-head h1{margin:0}.btn.sv-edit-mob{border-radius:99px;padding:7px 12px;font-size:12px;display:inline-flex}.btn.sv-edit-desk{display:none}.sv-figure{margin-top:6px;font-size:34px}.sv-pct{font-size:12.5px}.sv-hero .meter.lg{height:14px;margin-top:12px}.sv-togo{margin-top:8px;font-size:11.5px;display:block}.sv-togo .sv-dot{display:inline}.sv-pills{flex-direction:column;gap:7px;margin-top:12px}.sv-pills .pill.chip{align-self:flex-start;padding:6px 12px;font-size:11px}.sv-goal-form{margin-top:12px}.sv-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}.sv-add-fields{gap:8px;margin-top:10px}.sv-add-fields .input{padding:9px 11px;font-size:12.5px}.sv-add-note,.sv-tip{display:none}.sv-add-btn{width:100%;margin-top:10px;padding:10px;display:flex}.sv-list .sec-h{margin-bottom:3px}.sv-th{display:none}.sv-row{grid-template-columns:auto 1fr auto 24px;gap:8px;padding:8px 0;font-size:12px}.sv-row .sv-note{color:var(--mut)}}.st-page{padding-bottom:26px}.st-card+.st-card,.st-banner+.st-card,.st-banner+.st-banner{margin-top:14px}.st-sys-card{margin-bottom:26px}.st-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.st-head .sec-h{flex:1}.st-country{width:auto;padding:7px 11px;font-size:12.5px}.st-note{color:var(--mut);margin-top:8px;font-size:12px}.st-desc{color:var(--mut);margin-top:6px;font-size:12.5px;line-height:1.5}.st-action-err{margin-top:10px}.st-link{color:var(--mut);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.st-link:hover{color:var(--red)}.st-link.acc{color:var(--acc);font-weight:600}.st-link.acc:hover{color:var(--acc);text-decoration:underline}.st-confirm{color:var(--ink2);align-items:center;gap:6px;font-size:12px;display:inline-flex}.st-bank{border:1px solid var(--grid);border-radius:10px;margin-top:12px;padding:12px 14px}.st-bank+.st-bank{margin-top:10px}.st-bank-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.st-bank-name{flex:1;font-size:14px;font-weight:700}.st-accts{border-top:1px solid var(--grid);margin-top:6px;padding-top:2px}.st-acct{justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0 3px;font-size:12.5px;display:flex}.st-acct .iban,.st-acct .synced{color:var(--mut);font-size:11.5px}.st-acct .synced{margin-left:auto}.st-acct .bal{font-weight:650}.st-consent{color:var(--mut);margin-top:7px;font-size:11.5px}.st-consent.red{color:var(--red)}.st-bank .err{margin-top:8px}.st-empty{border:1px dashed var(--bd);text-align:center;color:var(--mut);border-radius:10px;margin-top:12px;padding:14px;font-size:12.5px}.pill.st-mut{color:var(--mut)}.st-mob{display:none}.st-mob-bank{align-items:center;gap:8px;padding:8px 0 2px;display:flex}.st-mob-bank.first{border-top:1px solid var(--grid);margin-top:8px;padding:10px 0 4px}.st-mob-bank .name{flex:1;font-size:13px;font-weight:700}.st-mob-bank .bal{font-size:12px;font-weight:650}.st-mob-bank .pill{padding:2px 9px;font-size:10px}.st-mob-sync{color:var(--mut);margin-top:8px;font-size:11px}.st-mob-sync .st-link{font-size:11px}.st-mob .btn.primary.sm{border-radius:99px;padding:6px 11px}.st-picker-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.st-picker-head .st-country{padding:6px 10px;font-size:12px}.st-picker{border:1px solid var(--grid);border-radius:10px;max-height:290px;margin-top:12px;overflow-y:auto}.st-inst{border-bottom:1px solid var(--grid);align-items:center;gap:11px;padding:10px 13px;font-size:13px;display:flex}.st-inst:last-child{border-bottom:0}.st-inst:hover{background:color-mix(in srgb, var(--ink) 4%, transparent)}.st-logo{opacity:.85;object-fit:contain;border-radius:6px;flex:none;width:20px;height:20px}.st-inst .name{flex:1;font-weight:600}.st-inst .name .muted{font-size:11.5px;font-weight:400}.st-inst .btn:hover{border-color:var(--acc);color:var(--acc)}.st-picker-note{color:var(--mut);margin-top:10px;font-size:11.5px}.st-picker .err,.st-picker-rows{margin:10px 13px}.st-gmail-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.pill.st-gpill{white-space:normal;padding:4px 12px;font-size:11.5px;font-weight:600}.st-connect{margin-top:12px}.st-cat-h{letter-spacing:.07em;color:var(--mut);grid-template-columns:1fr 150px 40px;gap:10px;padding:8px 0 6px;font-size:10.5px;font-weight:700;display:grid}.st-cat{border-top:1px solid var(--grid);grid-template-columns:1fr 150px 40px;align-items:center;gap:10px;padding:6px 0;font-size:13px;display:grid}.st-cat:hover{background:color-mix(in srgb, var(--ink) 3%, transparent)}.st-cat .hint{color:var(--mut);margin-left:6px;font-size:11px}.st-cat .cell-r{justify-content:flex-end;display:flex}.st-cat .x,.st-rule .x{color:var(--mut);cursor:pointer;text-align:center;background:0 0;border:0;padding:0;font-size:13px}.st-cat .x:hover,.st-rule .x:hover{color:var(--red)}.st-cat .st-confirm{grid-column:1/-1;padding:2px 0 4px}.st-budget{justify-content:flex-end;align-items:center;gap:3px;width:96px;min-width:64px;display:inline-flex}.st-budget:focus-within{border-color:var(--acc)}.st-budget input{text-align:right;width:100%;min-width:0;font:inherit;color:var(--ink);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;padding:0}.st-budget input::placeholder{color:var(--ink);opacity:1}.st-add{border-top:1px solid var(--grid);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.st-add .input{border-radius:7px;padding:6px 11px;font-size:12.5px}.st-add .emoji{text-align:center;flex:none;width:44px;padding:6px 4px}.st-add .name{flex:1;min-width:120px}.st-add .budget{text-align:right;flex:none;width:90px}.st-add .btn{padding:6px 13px;font-size:12.5px}.st-rule{border-top:1px solid var(--grid);align-items:center;gap:10px;padding:7px 0;font-size:13px;display:flex}.st-rule:hover{background:color-mix(in srgb, var(--ink) 3%, transparent)}.st-rule .name{flex:1}.st-rule .x{width:40px}.st-rules{margin-top:8px}.st-sys{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;font-size:13px;display:flex}.st-sys.first{margin-top:12px}.st-sys .k{color:var(--ink2);flex:none;width:130px}.st-sys .v{font-size:12.5px}.st-sys .d{color:var(--mut);font-size:12px}.st-sys-card .warnbox{margin-top:10px}.st-skel-h{margin-bottom:6px}@media (width<=767px){.st-desk{display:none}.st-mob{display:block}.st-card+.st-card,.st-banner+.st-card{margin-top:12px}.st-head{gap:8px}.st-head .sec-h{font-size:10.5px}.st-gmail-row{gap:8px;margin-top:10px}.pill.st-gpill{padding:4px 11px;font-size:11px}.st-cat-h{display:none}.st-cat{grid-template-columns:1fr auto 28px;gap:8px;padding:7px 0;font-size:12.5px}.st-budget{width:84px;min-width:64px;padding:4px 9px;font-size:11.5px}.st-add .name{min-width:100%}.st-sys .k{width:110px}.st-sys-card{margin-bottom:0}}
