@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f4f1e8;--surface:#fffdf7;--ink:#15130f;--muted:#66615a;--border:#15130f;--bw:2.5px;--accent:#ff2d8e;--accent-ink:#15130f;--shadow:#15130f;--done-bg:#d8f7e6;--done-fg:#0a7a47;--pend-bg:#ffe6a8;--pend-fg:#7a560c;--note-bg:#ebe8df;--note-fg:#4f4b44;--in:#0a7a47;--out:#c2185b;--radius:0px;--gridline:transparent;--chip:#efebdf;--c1:#ff2d8e;--c2:#2f5bea;--c3:#15130f;--skel:#e9e5d8}[data-skin=amber]{--bg:#080705;--surface:#0f0d09;--ink:#e8c98a;--muted:#9a8350;--border:#3a2e12;--bw:1px;--accent:#ffb000;--accent-ink:#080705;--shadow:#ffb00055;--done-bg:#ffb00029;--done-fg:#ffb000;--pend-bg:#ff5a282e;--pend-fg:#ff8a4d;--note-bg:#e8c98a1a;--note-fg:#b89b62;--in:#9ee6b0;--out:#ff8a4d;--radius:2px;--gridline:transparent;--chip:#181410;--c1:#ffb000;--c2:#ff8a4d;--c3:#e8c98a;--skel:#1a160f}[data-skin=blueprint]{--bg:#06243f;--surface:#08213ab8;--ink:#cfe8ff;--muted:#7fa9cb;--border:#2f6f9e;--bw:1px;--accent:#38e1ff;--accent-ink:#06243f;--shadow:#38e1ff44;--done-bg:#38e1ff21;--done-fg:#38e1ff;--pend-bg:#ffb05026;--pend-fg:#ffb050;--note-bg:#cfe8ff14;--note-fg:#8fb6d8;--in:#6ff0c0;--out:#ff9ec0;--radius:3px;--gridline:#56bdff17;--chip:#0c2c4a;--c1:#38e1ff;--c2:#ffb050;--c3:#6ff0c0;--skel:#0d3254}[data-skin=phosphor]{--bg:#04120a;--surface:#071a0e;--ink:#b8f5c8;--muted:#5f9a74;--border:#153a22;--bw:1px;--accent:#39ff8b;--accent-ink:#04120a;--shadow:#39ff8b44;--done-bg:#39ff8b26;--done-fg:#39ff8b;--pend-bg:#ffd75029;--pend-fg:#ffd750;--note-bg:#b8f5c814;--note-fg:#7fc99a;--in:#8effb0;--out:#ff9e9e;--radius:2px;--gridline:#39ff8b0f;--chip:#0a2a16;--c1:#39ff8b;--c2:#ffd750;--c3:#b8f5c8;--skel:#0c2616}:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-expo:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.5,0,.75,0);--d-fast:.12s;--d-base:.2s;--d-slow:.32s;--d-enter:.56s}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-jetbrains-mono),"JetBrains Mono Variable","JetBrains Mono",ui-monospace,monospace;background:var(--bg);color:var(--ink);background-image:linear-gradient(var(--gridline) 1px,transparent 1px),linear-gradient(90deg,var(--gridline) 1px,transparent 1px);-webkit-font-smoothing:antialiased;background-size:30px 30px;font-size:13px;line-height:1.45}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num,.amt,.v,.mv,.gt,.cur,.tgt,td.r{font-variant-numeric:tabular-nums}.app{grid-template-columns:224px minmax(0,1fr);min-height:100vh;display:grid}.nav{border-right:var(--bw) solid var(--border);background:var(--surface);flex-direction:column;gap:3px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.01em;white-space:nowrap;padding:4px 9px 16px;font-size:17px;font-weight:800}.brand b{color:var(--accent);transition:transform var(--d-slow) var(--ease-expo);display:inline-block}.brand:hover b{transform:skew(-14deg)}.navsec{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:14px 9px 5px;font-size:11px;font-weight:700}.nav a,.nav button{border-radius:var(--radius);color:var(--ink);cursor:pointer;transition:border-color var(--d-fast) var(--ease-out),background-color var(--d-base) var(--ease-out),color var(--d-base) var(--ease-out);border:1.5px solid #0000;align-items:center;gap:10px;padding:8px 9px;font-size:13px;font-weight:600;text-decoration:none;display:flex;position:relative}.nav button{text-align:left;background:0 0;width:100%}.nav button:disabled{cursor:default;opacity:.6}.nav a:hover,.nav button:not(:disabled):hover{border-color:var(--border);color:var(--ink)}.nav a .ic,.nav button .ic{text-align:center;width:18px;transition:transform var(--d-base) var(--ease-expo);flex:none}.nav a:hover .ic{transform:translate(3px)}.nav a.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.nav a.active .ic{transform:none}.nav a .badge,.nav button .badge{background:var(--ink);color:var(--bg);border-radius:999px;margin-left:auto;padding:0 7px;font-size:10.5px;font-weight:800;line-height:17px}.nav a.active .badge{background:var(--accent-ink);color:var(--accent)}.user{color:var(--muted);border-top:1.5px solid var(--border);align-items:center;gap:8px;margin-top:auto;padding:12px 9px 2px;font-size:12px;display:flex}.av{border:1.5px solid var(--border);width:26px;height:26px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:flex}.logout{color:var(--muted);cursor:pointer;border-radius:var(--radius);transition:border-color var(--d-fast),color var(--d-fast);background:0 0;border:1.5px solid #0000;margin-left:auto;padding:2px 6px;font-size:11px;font-weight:700}.logout:hover{border-color:var(--border);color:var(--ink)}.main{min-width:0;max-width:1440px;padding:20px 24px 56px}.bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.ptitle{letter-spacing:-.02em;font-size:22px;font-weight:800;line-height:1.1}.month{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:4px;padding:3px 4px;font-weight:800;display:flex}.month select{cursor:pointer;color:inherit;background:0 0;border:none;padding:3px 4px;font-size:15px;font-weight:800}.month select option{background:var(--surface);color:var(--ink)}.mnav{cursor:pointer;border-radius:var(--radius);color:var(--ink);transition:border-color var(--d-fast),transform var(--d-fast) var(--ease-out);background:0 0;border:1.5px solid #0000;padding:3px 8px;font-weight:800}.mnav:hover:not(:disabled){border-color:var(--border)}.mnav:active:not(:disabled){transform:scale(.9)}.mnav:disabled{color:var(--muted);opacity:.5;cursor:default}.spacer{flex:1}.btn{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);cursor:pointer;box-shadow:3px 3px 0 var(--shadow);transition:transform var(--d-fast) var(--ease-out),box-shadow var(--d-fast) var(--ease-out),background-color var(--d-base),opacity var(--d-base);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:7px 13px;font-size:12.5px;font-weight:800;display:inline-flex}.btn:hover:not(:disabled){box-shadow:4px 4px 0 var(--shadow);transform:translate(-1px,-1px)}.btn:active:not(:disabled){box-shadow:0 0 0 var(--shadow);transition-duration:60ms;transform:translate(3px,3px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ink{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.ghost{color:var(--ink);box-shadow:none;background:0 0}.btn.ghost:hover:not(:disabled){box-shadow:3px 3px 0 var(--shadow)}.btn.sm{box-shadow:2px 2px 0 var(--shadow);padding:4px 9px;font-size:11.5px}.btn.block{width:100%}.btn.dashed{color:var(--muted);box-shadow:none;background:0 0;border-style:dashed;font-weight:700}.btn.dashed:hover:not(:disabled){color:var(--ink);box-shadow:3px 3px 0 var(--shadow);border-style:solid}.btn .spin,.iconbtn .spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:11px;height:11px;animation:.7s linear infinite spin}.iconbtn{border:1.5px solid var(--border);min-width:26px;height:24px;color:var(--ink);cursor:pointer;border-radius:var(--radius);transition:background-color var(--d-fast),color var(--d-fast),transform var(--d-fast) var(--ease-out),border-color var(--d-fast);background:0 0;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.iconbtn:hover:not(:disabled){background:var(--ink);color:var(--bg);border-color:var(--ink)}.iconbtn:active:not(:disabled){transform:scale(.88)}.iconbtn:disabled{opacity:.45;cursor:default}.iconbtn.danger{border-color:var(--out);color:var(--out)}.iconbtn.danger:hover:not(:disabled),.iconbtn.danger.armed{background:var(--out);color:var(--surface);border-color:var(--out)}.iconbtn.armed{animation:arm var(--d-slow) var(--ease-expo)}.ctls{transition:opacity var(--d-base);align-items:center;gap:5px;display:inline-flex}.ctls.busy,.busy{opacity:.5;pointer-events:none}.input,.search,.sel{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--ink);min-width:0;transition:border-color var(--d-fast),box-shadow var(--d-base) var(--ease-out);padding:6px 9px;font-size:12.5px}.input::placeholder,.search::placeholder{color:var(--muted)}.input:focus,.search:focus,.sel:focus{border-color:var(--accent);box-shadow:3px 3px 0 var(--accent);outline:none}.input.inline{text-align:right;width:100px;padding:2px 6px;font-weight:700}.search{border-width:var(--bw);flex:1;min-width:160px;padding:8px 11px}.sel{border-width:var(--bw);cursor:pointer;font-weight:700}.sel.sm{border-width:1.5px;padding:2px 6px;font-size:12px}.form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.form .grow{flex:2 140px}.form .narrow{flex:80px}.field{flex-direction:column;gap:4px;display:flex}.fields{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:10px;display:grid}.lens,.toggle{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);isolation:isolate;width:max-content;max-width:100%;display:flex;position:relative;overflow:hidden}.lens button,.toggle button{z-index:1;color:var(--ink);border:none;border-right:var(--bw) solid var(--border);cursor:pointer;transition:color var(--d-base) var(--ease-out);white-space:nowrap;background:0 0;padding:6px 12px;font-size:12px;font-weight:700;position:relative}.lens button:last-of-type,.toggle button:last-of-type{border-right:none}.lens button.active,.toggle button.active{color:var(--accent-ink)}.lens:not(.has-ind) button.active,.toggle:not(.has-ind) button.active{background:var(--accent)}.seg-ind{z-index:0;background:var(--accent);transition:transform var(--d-slow) var(--ease-expo),width var(--d-slow) var(--ease-expo);pointer-events:none;position:absolute;top:0;bottom:0;left:0}.skins{flex-wrap:wrap;gap:5px;display:flex}.skin{cursor:pointer;border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);transition:transform var(--d-fast) var(--ease-out),background-color var(--d-base),color var(--d-base);align-items:center;gap:6px;padding:5px 9px;font-size:11.5px;font-weight:700;display:flex}.skin:hover{transform:translateY(-1px)}.skin:active{transform:scale(.95)}.skin.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.dot{width:10px;height:10px;box-shadow:0 0 0 1.5px var(--surface);border-radius:50%;flex:none}.skin.active .dot{animation:pop var(--d-slow) var(--ease-expo)}.card{background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius);box-shadow:4px 4px 0 var(--shadow);min-width:0;margin-bottom:16px;padding:18px}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.hint{color:var(--muted);margin-top:8px;font-size:12px}h3{text-transform:uppercase;letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:800;display:flex}.cardhead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.cardhead h3{margin:0}.kpis{flex-wrap:wrap;gap:10px;margin:4px 0 16px;display:flex}.card .kpis{margin-bottom:6px}.kpi{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:120px;transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base) var(--ease-out);padding:9px 13px}.kpi:hover{box-shadow:3px 3px 0 var(--shadow);transform:translate(-2px,-2px)}.kpi .v{letter-spacing:-.01em;font-size:19px;font-weight:800;line-height:1.2}.kpi .k{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:11px;font-weight:700}.kpi .s{color:var(--muted);margin-top:1px;font-size:11.5px}.kpi.lead{border-width:var(--bw);border-color:var(--accent)}.kpi.lead .v{color:var(--accent)}.kpi.neg .v{color:var(--out)}.kpi.pos .v{color:var(--in)}svg.sankey{width:100%;height:auto;margin-top:6px;display:block;overflow:visible}.sk-label{font:600 12px var(--font-jetbrains-mono),"JetBrains Mono",monospace}.sk-amt{font:800 12px var(--font-jetbrains-mono),"JetBrains Mono",monospace}.sk-ribbon{fill-opacity:.32;transition:fill-opacity var(--d-base) var(--ease-out);cursor:default}svg.sankey.hovering .sk-ribbon{fill-opacity:.1}svg.sankey.hovering .sk-ribbon.hot{fill-opacity:.62}.sk-node{transform-box:fill-box;transform-origin:0}svg.sankey.hovering .sk-text:not(.hot){opacity:.35}.sk-text{transition:opacity var(--d-base) var(--ease-out)}.cols{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);align-items:start;gap:16px;display:grid}.cols.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mini{border-bottom:1px dashed var(--border);justify-content:space-between;gap:10px;padding:7px 0;font-size:13px;display:flex}.mini:last-child{border-bottom:none}.mini .mv{color:var(--out);white-space:nowrap;font-weight:700}.mini.block{display:block}a.mini{color:inherit;transition:background-color var(--d-fast),padding var(--d-base) var(--ease-out);text-decoration:none}a.mini:hover{background:color-mix(in srgb,var(--accent) 9%,transparent);color:inherit}.count,.cnt{color:var(--muted);border:1.5px solid var(--border);text-transform:none;letter-spacing:0;border-radius:999px;padding:0 7px;font-size:10.5px;font-weight:700;line-height:17px}.group{border:1.5px solid var(--border);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.ghead{background:color-mix(in srgb,var(--accent) 7%,transparent);transition:background-color var(--d-base);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.ghead[role=button]{cursor:pointer}.ghead[role=button]:hover{background:color-mix(in srgb,var(--accent) 13%,transparent)}.ghead .gn{text-transform:uppercase;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:800;display:flex}.ghead .gt{font-size:13px;font-weight:800}.chev{width:12px;transition:transform var(--d-slow) var(--ease-expo);color:var(--muted);display:inline-block}.group.open .chev{transform:rotate(90deg)}.gadd{color:var(--accent);cursor:pointer;text-transform:none;transition:transform var(--d-fast) var(--ease-out);background:0 0;border:none;padding:2px 4px;font-size:12px;font-weight:800}.gadd:hover{text-decoration:underline}.gadd:active{transform:scale(.92)}.gwrap{transition:grid-template-rows var(--d-slow) var(--ease-expo);grid-template-rows:1fr;display:grid}.group:not(.open) .gwrap{grid-template-rows:0fr}.gwrap>.gbody{min-height:0;overflow:hidden}.gbody{padding:0 12px}.dot-i{border-radius:50%;width:10px;height:10px;display:inline-block}.row{border-bottom:1.5px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;font-size:13px;display:flex}.row:last-child{border-bottom:none}.rl{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.rname{font-weight:600}.rr{flex:none;align-items:center;gap:8px;display:flex}.amt{white-space:nowrap;font-weight:700}.row.is-done .rname{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1.5px;-webkit-text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent);text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}.row.adding{background:color-mix(in srgb,var(--accent) 9%,transparent);border:1.5px dashed var(--accent);animation:drop-in var(--d-slow) var(--ease-expo) both;margin:6px -4px;padding:8px}.chip{background:var(--chip);color:var(--muted);white-space:nowrap;border:1.5px solid #0000;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:600}.chip.acct{border-color:var(--border);background:0 0}button.chip{cursor:pointer;transition:background-color var(--d-base) var(--ease-out),color var(--d-base),transform var(--d-fast) var(--ease-out)}button.chip:hover{border-color:var(--border);color:var(--ink)}button.chip:active{transform:scale(.93)}button.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.pill{border-radius:var(--radius);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;cursor:pointer;transition:filter var(--d-fast),transform var(--d-fast) var(--ease-out);border:none;padding:3px 8px;font-size:10.5px;font-weight:800}.pill:hover{filter:brightness(.94)}.pill:active{transform:scale(.92)}.pill.flip{animation:flip var(--d-slow) var(--ease-expo)}.pill.done{background:var(--done-bg);color:var(--done-fg)}.pill.pend{background:var(--pend-bg);color:var(--pend-fg)}.pill.note{background:var(--note-bg);color:var(--note-fg);text-transform:none;font-weight:600}.check{border:1.5px solid var(--border);width:16px;height:16px;color:var(--accent-ink);transition:background-color var(--d-base) var(--ease-out),border-color var(--d-base);flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.check.on{background:var(--accent);border-color:var(--accent)}.check.on span{animation:tick var(--d-slow) var(--ease-expo);display:inline-block}.tagline{color:var(--muted);margin-top:10px;font-size:12px;font-style:italic;line-height:1.5}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:8px;display:grid}.cah{color:var(--muted);text-align:center;padding:2px;font-size:11px;font-weight:700}.cell{border:1.5px solid var(--border);border-radius:var(--radius);min-height:52px;transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base) var(--ease-out);padding:4px 5px;position:relative}.cell.empty{border:none}.cell .dn{color:var(--muted);font-size:11px;font-weight:700}.cell .dots{flex-wrap:wrap;gap:3px;margin-top:2px;display:flex}.cell .d{border-radius:50%;width:8px;height:8px}.cell.has{background:color-mix(in srgb,var(--accent) 9%,transparent)}.cell.has:hover{box-shadow:3px 3px 0 var(--shadow);z-index:1;transform:translate(-2px,-2px)}.cell.today{border-color:var(--accent);border-width:var(--bw)}.cell .tot{font-size:10.5px;font-weight:800;position:absolute;bottom:3px;right:4px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tab{border:1.5px solid var(--border);color:var(--ink);cursor:pointer;transition:background-color var(--d-base) var(--ease-out),color var(--d-base),transform var(--d-fast) var(--ease-out);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.tab:hover{transform:translateY(-1px)}.tab:active{transform:scale(.95)}.tab.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tab.on .cnt{border-color:var(--accent-ink);color:var(--accent-ink)}.day{border:1.5px solid var(--border);border-radius:var(--radius);text-align:center;min-width:30px;padding:1px 5px;font-size:11px;font-weight:800}.flag{color:var(--out);border:1.5px solid var(--out);border-radius:999px;padding:0 7px;font-size:10.5px;font-weight:800}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:16px;display:grid}.fund{background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius);box-shadow:4px 4px 0 var(--shadow);min-width:0;transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base) var(--ease-out);flex-direction:column;gap:9px;padding:16px;display:flex}.fund:hover{box-shadow:6px 6px 0 var(--shadow);transform:translate(-2px,-2px)}.fund.addtile{min-height:150px;box-shadow:none;color:var(--muted);cursor:pointer;border-style:dashed;justify-content:center;align-items:center;font-size:13px;font-weight:700}.fund.addtile:hover{color:var(--ink);box-shadow:4px 4px 0 var(--shadow);border-style:solid}.fund.addtile .plus{transition:transform var(--d-slow) var(--ease-expo);font-size:22px;display:block}.fund.addtile:hover .plus{transform:rotate(90deg)}.fund.form-tile{animation:drop-in var(--d-slow) var(--ease-expo) backwards}.fhead{justify-content:space-between;align-items:center;gap:8px;display:flex}.fname{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;font-size:14.5px;font-weight:800;display:flex}.cat{text-transform:uppercase;border:1.5px solid var(--border);color:var(--muted);border-radius:999px;padding:0 7px;font-size:10.5px;font-weight:800}.pct{color:var(--accent);font-size:14px;font-weight:800}.pct.done{color:var(--in)}.amts{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.amts .cur{letter-spacing:-.02em;font-size:24px;font-weight:800}.amts .tgt{color:var(--muted);font-size:13px}.track{border:1.5px solid var(--border);border-radius:var(--radius);height:14px;position:relative;overflow:hidden}.fill{background:var(--accent);transform-origin:0;max-width:100%;height:100%;animation:grow-x var(--d-enter) var(--ease-expo) backwards;animation-delay:.12s;display:block}.fill.done{background:var(--in)}.fill.warn{background:var(--out)}.meta{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;display:flex}.srcs{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.src{background:var(--chip);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:600}.alloc{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:8px;padding:5px 0;font-size:12.5px;display:flex}.alloc:last-child{border-bottom:none}.eta{color:var(--ink);font-weight:800}.eta.warn{color:var(--out)}.dl{border-bottom:1.5px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;font-size:13px;display:flex}.dl:last-child{border-bottom:none}.dld{border:1.5px solid var(--border);border-radius:var(--radius);text-align:center;min-width:60px;padding:2px 8px;font-size:11.5px;font-weight:800}.dld.soon{background:var(--out);color:var(--surface);border-color:var(--out);animation:nudge 2.4s var(--ease-out) 1s 2}.filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.catrow{align-items:center;gap:10px;padding:6px 0;font-size:12.5px;display:flex}.catrow .nm{text-overflow:ellipsis;white-space:nowrap;width:150px;font-weight:600;overflow:hidden}.catrow .track{flex:1;height:13px}.catrow .vl{text-align:right;font-variant-numeric:tabular-nums;width:96px;font-weight:700}.merch{border-bottom:1px dashed var(--border);justify-content:space-between;gap:10px;padding:7px 0;font-size:13px;display:flex}.merch:last-child{border-bottom:none}.merch .mv{font-variant-numeric:tabular-nums;font-weight:700}.util{border:1.5px solid var(--border);height:10px;margin-top:5px;overflow:hidden}.util .uf{background:var(--out);transform-origin:0;height:100%;animation:grow-x var(--d-enter) var(--ease-expo) backwards;display:block}.tablewrap{margin:0 -4px;padding:0 4px;overflow-x:auto}.txntable,.postable,.restable{border-collapse:collapse;width:100%;font-size:12.5px}.txntable thead th,.postable thead th,.restable thead th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:var(--bw) solid var(--border);background:var(--surface);padding:8px 7px;font-size:11px;position:sticky;top:0}.txntable th.r,.postable th.r,.restable th.r{text-align:right}.txntable tbody td,.postable tbody td,.restable tbody td{border-bottom:1.5px solid var(--border);padding:8px 7px}.txntable tbody tr,.postable tbody tr,.restable tbody tr{transition:background-color var(--d-fast)}.txntable tbody tr:hover,.postable tbody tr:hover,.restable tbody tr:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}td.r{text-align:right;font-weight:700}.cr{color:var(--in);font-weight:800}.recbadge,.revflag{white-space:nowrap;border:1.5px solid;border-radius:999px;padding:0 7px;font-size:10.5px;font-weight:800}.recbadge{color:var(--in)}.revflag{color:var(--out)}.rowend{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.bigval{letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1.1}.allocbar{border:1.5px solid var(--border);height:18px;margin:10px 0 6px;display:flex;overflow:hidden}.allocbar i{transform-origin:0;height:100%;animation:grow-x var(--d-enter) var(--ease-expo) backwards;transition:width var(--d-slow) var(--ease-expo);display:block}.legend{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border:1px solid var(--border);width:10px;height:10px;display:inline-block}.pnl-up{color:var(--in);font-weight:800}.pnl-dn{color:var(--out);font-weight:800}.trend{align-items:flex-end;gap:8px;height:190px;margin-top:14px;display:flex;position:relative}.tbar{height:100%;color:inherit;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;text-decoration:none;display:flex;position:relative}.tbar i{transform-origin:bottom;background:var(--ink);width:100%;transition:background-color var(--d-base) var(--ease-out),filter var(--d-base);display:block}.tbar.neg i{background:var(--out)}.tbar:hover i{background:var(--accent)}.tbar .tm{color:var(--muted);font-size:11px;font-weight:700}.tbar .tv{bottom:calc(var(--h,0px) + 26px);white-space:nowrap;background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;transition:opacity var(--d-fast),transform var(--d-base) var(--ease-expo);z-index:2;padding:2px 6px;font-size:11px;font-weight:800;position:absolute;left:50%;transform:translate(-50%,4px)}.tbar:hover .tv,.tbar:focus-visible .tv{opacity:1;transform:translate(-50%)}.tbar:hover .tm{color:var(--ink)}.drop{border:2px dashed var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 5%,transparent);transition:border-color var(--d-base),background-color var(--d-base),transform var(--d-base) var(--ease-out);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:16px;display:flex;position:relative;overflow:hidden}.drop.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-style:solid;transform:scale(1.008)}.drop .big{font-size:14px;font-weight:800}.drop .sm{color:var(--muted);margin-top:2px;font-size:12px}.drop .sm.ok{color:var(--in);font-weight:700}.drop .sm.err{color:var(--out);font-weight:700}.drop.busy:after{content:"";background:linear-gradient(90deg,transparent,var(--accent),transparent);height:3px;animation:sweep 1.1s var(--ease-out) infinite;position:absolute;bottom:0;left:0;right:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.offline,.emptystate{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--muted);background:color-mix(in srgb,var(--accent) 4%,transparent);padding:22px;font-size:13px;line-height:1.5}.emptystate b,.offline b{color:var(--ink)}.pal-back{background:color-mix(in srgb,var(--bg) 70%,transparent);z-index:1000;animation:fade-in var(--d-base) var(--ease-out) both;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.pal{background:var(--surface);border:var(--bw) solid var(--border);width:min(600px,92vw);box-shadow:8px 8px 0 var(--shadow);animation:pal-in var(--d-slow) var(--ease-expo) both}.pal input{border:none;border-bottom:var(--bw) solid var(--border);background:var(--bg);width:100%;color:var(--ink);outline:none;padding:14px 16px;font-size:16px}.pal-list{max-height:52vh;padding:4px 0;overflow:auto}.pal-item{cursor:pointer;justify-content:space-between;gap:12px;padding:9px 16px;font-size:13px;transition:background-color 80ms,color 80ms;display:flex;position:relative}.pal-item .h{opacity:.7;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:11px}.pal-item.sel{background:var(--accent);color:var(--accent-ink)}.pal-empty{color:var(--muted);padding:14px 16px;font-size:13px}.pal-foot{border-top:1.5px solid var(--border);color:var(--muted);gap:14px;padding:8px 16px;font-size:11px;display:flex}.pal-foot kbd,.kbd{font:inherit;border:1.5px solid var(--border);color:var(--ink);border-radius:3px;padding:0 5px;font-size:10.5px;font-weight:700}.cmdk{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);cursor:pointer;min-width:180px;transition:border-color var(--d-fast),box-shadow var(--d-base) var(--ease-out);justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-size:12.5px;display:inline-flex}.cmdk:hover{box-shadow:3px 3px 0 var(--shadow);color:var(--ink)}.skel{background:var(--skel);border-radius:var(--radius);position:relative;overflow:hidden}.skel:after{content:"";background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 60%,transparent),transparent);animation:shimmer 1.3s var(--ease-out) infinite;position:absolute;inset:0;transform:translate(-100%)}.login-shell{place-items:center;min-height:100dvh;padding:2rem;display:grid}.login-card{border:3px solid var(--border);box-shadow:8px 8px 0 var(--shadow);background:var(--surface);text-align:center;width:min(24rem,100%);animation:login-in var(--d-enter) var(--ease-expo) both;padding:2.25rem 2.5rem}.login-title{letter-spacing:-.01em;margin:0 0 .35rem;font-size:22px;font-weight:800}.login-title b{color:var(--accent)}.login-sub{color:var(--muted);margin:0 0 1.5rem;font-size:13px}.login-error{color:var(--out);animation:shake var(--d-slow) var(--ease-out);margin:1rem 0 0;font-size:13px;font-weight:700}.main>*{animation:rise var(--d-slow) var(--ease-expo) backwards}.main>:nth-child(2){animation-delay:40ms}.main>:nth-child(3){animation-delay:80ms}.main>:nth-child(4){animation-delay:.12s}.main>:nth-child(5){animation-delay:.16s}.main>:nth-child(n+6){animation-delay:.2s}.grid>*{animation:rise var(--d-slow) var(--ease-expo) backwards;animation-delay:calc(var(--i,0) * 45ms + 80ms)}.stagger>*{animation:rise-sm var(--d-base) var(--ease-expo) backwards;animation-delay:calc(var(--i,0) * 22ms)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes rise-sm{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes pal-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}@keyframes login-in{0%{opacity:0;box-shadow:0 0 0 var(--shadow);transform:translate(8px,-14px)}to{opacity:1;box-shadow:8px 8px 0 var(--shadow);transform:none}}@keyframes pop{0%{transform:scale(.4)}to{transform:scale(1)}}@keyframes flip{0%{opacity:.2;transform:rotateX(90deg)}to{opacity:1;transform:none}}@keyframes tick{0%{transform:scale(0)rotate(-30deg)}to{transform:none}}@keyframes arm{0%{transform:scale(.85)}to{transform:scale(1)}}@keyframes nudge{0%,to{transform:none}10%{transform:translate(-2px)}20%{transform:translate(2px)}30%{transform:none}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){animation:skin-reveal .62s var(--ease-expo)}@keyframes skin-reveal{0%{clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,0))}to{clip-path:circle(150vmax at var(--vt-x,50%) var(--vt-y,0))}}@media (width<=1100px){.app{grid-template-columns:minmax(0,1fr)}.nav{z-index:50;border-right:none;border-bottom:var(--bw) solid var(--border);scrollbar-width:none;flex-direction:row;align-items:center;gap:4px;height:auto;padding:8px 12px;position:sticky;top:0;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav .navsec{display:none}.nav .user{border-top:none;flex:none;margin:0 0 0 8px;padding:0}.nav .user .av,.nav .user .uname{display:none}.brand{padding:4px 10px 4px 2px;font-size:15px}.nav a,.nav button{white-space:nowrap;flex:none;padding:6px 9px}.nav a .badge{display:none}.main{padding:16px 16px 48px}}@media (width<=760px){.skin .sl{display:none}.skin{padding:7px 8px}.cmdk{flex:100%;order:9;min-width:0}.cmdk .kbd,.cell .tot{display:none}.cell{min-height:40px}.card:has(>svg.sankey){overflow-x:auto}svg.sankey{min-width:620px}.main>.bar .spacer{display:none}.cols,.cols.even{grid-template-columns:minmax(0,1fr)}.kpi{flex:140px}.catrow .nm{width:96px}.ptitle{font-size:19px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}::view-transition-new(root){animation:none!important}}.hint.neg{color:var(--out);font-weight:700}.notice{z-index:30;border:2px solid var(--ink);background:var(--accent);color:var(--bg);animation:fadein var(--d-2,.2s) var(--ease-expo,ease-out) backwards;margin:0 0 12px;padding:8px 12px;font-weight:700;position:sticky;top:8px}@keyframes fadein{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.notice{animation:none}}
