:root{--bg: #f4f5f8;--card: #ffffff;--line: #e6e8ee;--text: #16191f;--muted: #6b7280;--ok: #22b573;--warn: #f2b63b;--over: #e5484d;--accent: #10b981}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0f1115;--card: #171a21;--line: #262a33;--text: #e8eaf0;--muted: #8b93a5;--accent: #34d399}}:root[data-theme=dark]{--bg: #0f1115;--card: #171a21;--line: #262a33;--text: #e8eaf0;--muted: #8b93a5;--accent: #34d399}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.4 -apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{max-width:640px;margin:0 auto;padding:12px 14px 24px}.narrow{max-width:360px;margin:15vh auto 0}h1{font-size:22px;margin:0 0 12px}h2{font-size:13px;margin:0 0 10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:0 0 12px}.card.dim{opacity:.6}.muted{color:var(--muted);font-size:13px}.neg{color:var(--over)}.okbox{border-color:var(--ok);color:var(--ok)}.errbox{border-color:var(--over);color:var(--over)}.hint{color:var(--muted);font-size:13px;margin:0 0 10px}.hint a{text-decoration:underline;color:var(--text)}.hint.reorder{color:var(--text);border:1px dashed var(--accent);border-radius:10px;padding:8px 10px}.topnav{display:flex;gap:6px;margin:2px 0 12px;align-items:center}.topnav{overflow-x:auto;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}.topnav>a{white-space:nowrap;flex:none;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:14px}.topnav>a.on{color:var(--text);border-color:var(--accent);font-weight:600}.topnav .out{margin-left:4px;font-size:12px;border:0;background:none}.theme{margin-left:auto;display:flex;gap:2px;align-items:center}.theme a{width:32px;height:32px;line-height:32px;text-align:center;border-radius:8px;color:var(--muted);font-size:14px}.theme a.on{background:var(--card);border:1px solid var(--line);color:var(--text)}.picker{display:flex;align-items:center;gap:8px;margin:2px 0 12px}.picker select{flex:1;min-width:0;font-size:16px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text)}.picker .nav{width:40px;height:40px;line-height:38px;text-align:center;border-radius:10px;background:var(--card);border:1px solid var(--line);font-size:18px}details>summary{list-style:none;cursor:pointer}details>summary::-webkit-details-marker{display:none}.balance summary{display:flex;align-items:baseline;gap:10px}.balance .l{color:var(--muted);font-size:13px}.balance .v{font-size:26px;font-weight:700;margin-left:auto;white-space:nowrap}.balance .hint{color:var(--muted);font-size:12px;margin:0}.balance .hint:after{content:" ▾"}.balance[open] .hint:after{content:" ▴"}.list{margin-top:10px}.row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-top:1px solid var(--line)}.row .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .a{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;text-align:right}.row .a small{display:block;color:var(--muted);font-weight:400;font-size:12px}.sub summary{padding:8px 0 2px}.tabs{display:flex;gap:8px;margin:0 0 12px}.tabs a{flex:1;text-align:center;padding:10px 8px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:13px}.tabs a b{display:block;font-size:17px;color:var(--text);margin-top:2px}.tabs a.on{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);color:var(--text)}.modes{display:flex;gap:6px;justify-content:flex-end;margin:-2px 0 6px}.modes a{font-size:12px;color:var(--muted);padding:4px 10px;border-radius:999px;border:1px solid var(--line)}.modes a.on{color:var(--text);border-color:var(--accent)}.donut{position:relative;width:min(260px,70vw);margin:4px auto 14px}.donut svg{width:100%;height:auto;display:block}.donut .center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.donut .center .m{color:var(--muted);font-size:13px;text-transform:capitalize}.donut .center .t{font-size:24px;font-weight:700;margin-top:2px}.g{border-top:1px solid var(--line);padding:9px 0}.g:first-of-type{border-top:0}.g .line{display:flex;align-items:center;gap:10px;cursor:pointer}.g .dot{width:10px;height:10px;border-radius:50%;flex:none}.g .n{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g .p{color:var(--muted);width:44px;text-align:right;font-variant-numeric:tabular-nums}.g .a{font-variant-numeric:tabular-nums;font-weight:600;min-width:84px;text-align:right;white-space:nowrap}.g .hl{color:var(--muted);display:flex;padding:4px;margin:-4px 0;border-radius:8px}.g .hl svg{width:18px;height:18px}.g .hl:hover{color:var(--text);background:var(--bg)}.g .chev{color:var(--muted);transform:rotate(90deg);display:inline-block;transition:transform .15s}.g .chev.open{transform:rotate(-90deg)}.bl{font-size:12px;color:var(--muted);margin:2px 0 0 20px}.g .bar{margin:4px 0 2px 20px;height:5px}.g.warn .bar i{background:var(--warn)}.g.over .bar i{background:var(--over)}.g.ok .pct{color:var(--ok)}.g.warn .pct{color:var(--warn)}.g.over .pct{color:var(--over)}.tags{padding:4px 0 4px 20px}.tags .row{padding:6px 0;font-size:14px;border-top:1px dashed var(--line)}.tags .row .p{color:var(--muted);width:44px;text-align:right;margin-left:auto}.tags .row .a{font-weight:500;min-width:84px}.b{padding:10px 0}.b.sum{border-bottom:1px solid var(--line);margin-bottom:6px}.b .h{display:flex;justify-content:space-between;gap:10px;font-variant-numeric:tabular-nums}.b .h .n{font-weight:600}.b .h .s{color:var(--muted);font-size:13px;white-space:nowrap}.bar{height:6px;border-radius:3px;background:var(--line);margin-top:7px;overflow:hidden}.bar i{display:block;height:100%;border-radius:3px;background:var(--ok)}.warn .bar i{background:var(--warn)}.over .bar i{background:var(--over)}.ok .pct{color:var(--ok)}.warn .pct{color:var(--warn)}.over .pct{color:var(--over)}.pct{font-weight:700}.foot{color:var(--muted);font-size:12px;display:flex;justify-content:space-between;margin-top:8px}.foot a{text-decoration:underline}label{display:block;margin-bottom:12px}input[type=password],input[type=text],input[type=date]{width:100%;margin-top:6px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:16px}button.primary{width:100%;padding:11px;border-radius:10px;border:0;background:var(--accent);color:#fff;font-weight:700;font-size:16px}button:disabled{opacity:.6}.err{color:var(--over);margin:0 0 10px}.bsum{padding:10px 14px;margin-bottom:12px}.bsum .h{display:flex;justify-content:space-between;gap:10px;font-variant-numeric:tabular-nums}.bsum .h .n{font-weight:600}.bsum .h .s{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hd{display:flex;align-items:center;justify-content:space-between}.ib-icon{display:inline-flex;padding:4px;margin:-6px 0;border-radius:8px;color:var(--muted)}.ib-icon svg{width:18px;height:18px}.ib-icon.on{color:#fff;background:var(--accent)}.rowset{margin-bottom:14px}.nodes{display:flex;flex-wrap:wrap;gap:6px 0}.pages{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x}.pages::-webkit-scrollbar{display:none}.page{flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;display:grid;grid-template-columns:repeat(4,1fr);row-gap:6px}.pnav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:2px}.pnav .arrow{width:40px;height:32px;line-height:30px;text-align:center;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:22px;user-select:none}.dots{display:flex;gap:6px}.dots i{width:7px;height:7px;border-radius:50%;background:var(--line);display:block}.dots i.on{background:var(--accent)}.node{flex:0 0 25%;max-width:25%;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 2px;user-select:none;-webkit-user-select:none;cursor:pointer;border-radius:12px}.page .node{flex:none;max-width:none}.node .nm{cursor:pointer;font-size:12px;color:var(--muted);height:16px;line-height:16px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node .c{width:62px;height:62px;border-radius:50%;margin:5px 0 4px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;background:#9aa0ad;box-shadow:0 2px 6px #0000001f;touch-action:none}.node .sub{font-size:12px;font-weight:600;white-space:nowrap}.node .ic{width:28px;height:28px}.node.income .c{background:#29b6f6}.node.income .sub{color:#29b6f6}.node.account .c{background:#6b7c93}.node.account .sub{color:#6b7c93}.node.liability .c{background:#ff9800}.node.liability .sub{color:#ff9800}.node.category .c{background:#b0bec5}.node.category.none .c{background:#26c6a6}.node.category.ok .c{background:conic-gradient(#26c6a6 var(--fill),#b0bec5 0)}.node.category.warn .c{background:conic-gradient(#fb8c00 var(--fill),#b0bec5 0)}.node.category.over .c{background:#e53935}.node.category.ok .sub,.node.category.none .sub{color:#26c6a6}.node.category.warn .sub{color:#fb8c00}.node.category.over .sub{color:#e53935}.node.bank-sber .c,.node.bank-tbank .c,.node.bank-tbc .c{background:#fff;border:1px solid var(--line)}.node.bank-sber .sub{color:#21a038}.node.bank-tbank .sub{color:#333}.node.bank-tbc .sub{color:#00a3e0}:root[data-theme=dark] .node.bank-tbank .sub{color:#ffdd2d}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .node.bank-tbank .sub{color:#ffdd2d}}.node.bank-sber .ic,.node.bank-tbc .ic{width:38px;height:38px}.node.bank-tbank .ic{width:40px;height:40px}.node.sel .c{outline:3px solid var(--accent);outline-offset:2px}.node.target .c{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}.node.hover .c{transform:scale(1.12)}.ghost{position:fixed;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;transform:translate(-50%,-50%);pointer-events:none;z-index:30;box-shadow:0 6px 18px #0000004d}.backdrop{position:fixed;inset:0;background:#0006;display:none;z-index:20}.backdrop.open{display:block}.sheet{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-radius:18px 18px 0 0;padding:16px 16px 22px;transform:translateY(105%);transition:transform .18s ease-out;z-index:25;max-width:640px;margin:0 auto;box-shadow:0 -8px 30px #00000040}.sheet.open{transform:translateY(0)}.sheet-title{font-weight:700;font-size:17px;margin-bottom:10px}.sheet label{font-size:13px;color:var(--muted);margin-bottom:10px}.sheet input{font-size:17px}.sheet-actions{display:flex;gap:8px;margin-top:6px}.sheet-actions button{flex:1;padding:12px;border-radius:10px;border:0;font-size:16px;font-weight:700}.sheet-actions .primary{background:var(--accent);color:#fff;width:auto}.sheet-actions .secondary{background:var(--line);color:var(--text)}@media (max-width: 380px){.g .a,.tags .row .a{min-width:70px}.balance .v{font-size:22px}}.badge{display:inline-block;min-width:18px;height:18px;line-height:18px;margin-left:6px;padding:0 5px;border-radius:9px;background:var(--over);color:#fff;font-size:11px;text-align:center;vertical-align:1px}.topnav>a.on .badge{background:var(--accent)}.ib{padding:12px 14px}.ib .head{display:flex;align-items:flex-start;gap:10px}.ib .head .d{color:var(--muted);font-size:12px;padding-top:3px;white-space:nowrap}.ib .head .t{flex:1;min-width:0}.ib .head .t b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ib .head .t small{display:block;color:var(--muted);font-size:12px}.ib .head .s{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ib .head .s b{display:block;font-size:17px}.ib .head .s small{display:block;color:var(--muted);font-size:12px}.ib .head .s .in{color:var(--ok)}.ib .sms{margin:6px 0 0}.ib .sms summary{font-size:12px;color:var(--muted)}.ib .sms pre{margin:4px 0 0;font:12px/1.35 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;color:var(--muted);background:var(--bg);padding:8px 10px;border-radius:8px}.ib .kinds{display:flex;gap:6px;margin:10px 0 8px}.ib .kinds a{font-size:12px;color:var(--muted);padding:5px 11px;border-radius:999px;border:1px solid var(--line)}.ib .kinds a.on{color:var(--text);border-color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.chip{display:inline-flex;align-items:center;gap:5px;padding:6px 10px 6px 7px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:13px;cursor:pointer;user-select:none;max-width:100%}.chip svg{width:16px;height:16px;flex:none;color:var(--muted)}.chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chip.on svg{color:#fff}.chip.hint{border-style:dashed}.chip.split{border-style:dashed;color:var(--muted)}.ib label{font-size:13px;color:var(--muted);margin-bottom:8px}.ib input{margin-top:4px;padding:8px 10px;font-size:15px}.ib .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ib .actions{display:flex;gap:8px;margin-top:4px}.ib .actions button{flex:1;padding:10px;border-radius:10px;border:0;font-size:15px;font-weight:700}.ib .actions .primary{background:var(--accent);color:#fff;width:auto}.ib .actions .danger{background:var(--line);color:var(--over);flex:0 0 auto;padding:10px 14px}.ib .actions .danger.sure{background:var(--over);color:#fff}.ib .e{color:var(--over);font-size:13px;margin:0 0 8px}.empty{text-align:center;color:var(--muted);padding:30px 0}.tabs.small a{padding:8px 4px;font-size:13px}.filters{display:flex;gap:8px;align-items:center;margin:0 0 10px}.filters .chip{flex:none}.filters input{flex:1;min-width:0;margin:0;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:14px}.foot.top{margin:0 0 8px}.day{padding:10px 14px}.day h2{margin:0 0 2px}.tx{cursor:pointer;align-items:flex-start}.tx .n{white-space:normal;flex:1}.tx .n small{display:block;color:var(--muted);font-size:12px}.tx .a.in{color:var(--ok)}.tx .a.tr{color:var(--muted);font-weight:500}.mark{display:inline-block;font-style:normal;font-size:11px;color:var(--muted);margin-left:6px}.mark.in{color:var(--warn);font-weight:700}.sheet .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sheet select{width:100%;margin-top:6px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:16px}.sheet-actions .danger{flex:0 0 auto;background:var(--line);color:var(--over)}.sheet-actions .danger.sure{background:var(--over);color:#fff}.sheet .sms summary{font-size:12px;color:var(--muted)}.sheet .sms pre{margin:4px 0 10px;font:12px/1.35 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;color:var(--muted);background:var(--bg);padding:8px 10px;border-radius:8px}.msg{padding:10px 14px;cursor:pointer}.msg .row{border:0;padding:0;align-items:flex-start}.msg .n{white-space:normal;flex:1}.msg .n small{display:block;color:var(--muted);font-size:12px}.msg .a small{display:block;color:var(--muted);font-weight:400;font-size:11px}.msg .st{font-style:normal;font-size:12px;font-weight:600;color:var(--ok)}.msg.unparsed .st{color:var(--warn)}.msg.failed .st{color:var(--over)}.msg.ignored .st{color:var(--muted)}.msg pre{margin:8px 0 0;font:12px/1.35 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;color:var(--muted);background:var(--bg);padding:8px 10px;border-radius:8px}.ll{font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;padding:3px 0;border-top:1px dashed var(--line);word-break:break-word}.ll:first-child{border-top:0}.ll .t{color:var(--muted)}.ll.W .m{color:var(--warn)}.ll.E .m{color:var(--over)}.tagstrip{display:flex;align-items:center;gap:8px;margin:0 0 12px}.tagstrip .strip{flex:1;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0}.tagstrip .strip::-webkit-scrollbar{display:none}.tagstrip .chip{flex:none}.tagstrip .more{flex:none;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;line-height:1}.tagstrip .more.on{background:var(--line);color:var(--text)}.tagpanel{border:1px dashed var(--line);border-radius:12px;padding:10px;margin:0 0 12px}.tagpanel .addrow{display:flex;gap:8px;align-items:center;margin-bottom:8px}.tagpanel .chips{max-height:40vh;overflow-y:auto}.tagpanel .addrow input{flex:1;min-width:0;margin:0}.tagpanel .addrow button{flex:none;padding:0 14px;border-radius:10px;border:0;background:var(--line);color:var(--text);font-weight:600}.tagpanel p{margin:8px 0 6px}.tagpanel .full{width:100%;padding:9px;border-radius:10px;border:0;background:var(--line);color:var(--text);font-weight:600}.txw{cursor:pointer}.parts{margin:-2px 0 6px;padding:0 0 0 12px;border-left:2px solid var(--line)}.part{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:2px 0}.part .n{color:var(--muted)}.part .n small{font-size:12px}.part .a{font-variant-numeric:tabular-nums;white-space:nowrap}.part .a small{color:var(--muted);font-size:11px}.split{display:inline-block;margin-top:6px;font-size:13px;text-decoration:underline;color:var(--text)}.partsed{margin-bottom:12px;border:1px dashed var(--line);border-radius:12px;padding:8px 10px}.prow{display:grid;grid-template-columns:1fr 110px 24px;gap:6px;align-items:center;margin-bottom:6px}.prow select,.prow input{margin:0;padding:8px 10px;font-size:15px}.prow .x{text-align:center;color:var(--muted);font-size:18px}.pfoot{display:flex;justify-content:space-between;font-size:13px}.pfoot a{text-decoration:underline}.day .dsum{text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;color:var(--text)}.day .dsum .in{color:var(--ok)}.pblock{padding:6px 0 4px;border-top:1px dashed var(--line)}.pblock:first-child{border-top:0;padding-top:0}.pblock .tagstrip{margin-bottom:6px}.pblock .pdesc{margin:0 0 4px;padding:7px 10px;font-size:14px}.mark.link{color:var(--accent)}.quickdays{display:flex;gap:8px;justify-content:flex-end;margin:-2px 0 8px}.quickdays .qd{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:13px}.quickdays .qd:active{color:var(--text);border-color:var(--accent)}
