@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/figtree-latin-ext-400-normal-CXAzuTZb.woff2)format("woff2"),url(/app/assets/figtree-latin-ext-400-normal-Gbh-3PTk.woff)format("woff");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:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/figtree-latin-400-normal-g7Dtegnw.woff2)format("woff2"),url(/app/assets/figtree-latin-400-normal-BD4aNku5.woff)format("woff");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}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/figtree-latin-ext-500-normal-Du0rIuHj.woff2)format("woff2"),url(/app/assets/figtree-latin-ext-500-normal-BOEJvrb_.woff)format("woff");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:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/figtree-latin-500-normal-BWnGEVsr.woff2)format("woff2"),url(/app/assets/figtree-latin-500-normal-B_yy1phn.woff)format("woff");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}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/figtree-latin-ext-600-normal-DJlfifZj.woff2)format("woff2"),url(/app/assets/figtree-latin-ext-600-normal-CQqsimlV.woff)format("woff");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:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/figtree-latin-600-normal-Cv_xCTDl.woff2)format("woff2"),url(/app/assets/figtree-latin-600-normal-BM_oTo4n.woff)format("woff");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}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/barlow-semi-condensed-vietnamese-500-normal-DGADhYWF.woff2)format("woff2"),url(/app/assets/barlow-semi-condensed-vietnamese-500-normal-hJ2t9k9e.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/barlow-semi-condensed-latin-ext-500-normal-BXdp1BvY.woff2)format("woff2"),url(/app/assets/barlow-semi-condensed-latin-ext-500-normal-rZeYuEMb.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2)format("woff2"),url(/app/assets/barlow-semi-condensed-latin-500-normal-CFOoVYFH.woff)format("woff");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}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/barlow-semi-condensed-vietnamese-600-normal-b1FQiZcx.woff2)format("woff2"),url(/app/assets/barlow-semi-condensed-vietnamese-600-normal-DzVrjA0Q.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/barlow-semi-condensed-latin-ext-600-normal-BkQ9hN72.woff2)format("woff2"),url(/app/assets/barlow-semi-condensed-latin-ext-600-normal-BuP8AaxH.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(/app/assets/barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff)format("woff");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{--font:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--font-figure:"Barlow Semi Condensed", var(--font);--fs-lead:44px;--fs-big:38px;--fs-title:20px;--fs-section:16px;--fs-kpi:26px;--fs-body:14px;--fs-small:12px;--col:1152px;--gap:16px;--pad:24px;--card-pad:20px;--radius-card:16px;--radius-inner:10px;--control-height:36px;--t-hover:.15s;--t-press:.12s;--ground:#e4eee8;--surface:#f4faf6;--raised:#e2ece6;--active:#d4e2d9;--rule:#dbe7df;--rule-strong:#cbd9d0;--control:#adbfb3;--text:#0d1a13;--muted:#44564b;--faint:#53665a;--accent:#0a8455;--on-accent:#fff;--primary:#0f3d2b;--primary-ink:#fff;--positive:#0a7a4e;--negative:#b4441c;--warning:#b86e00;--warning-ink:#7a4800;--signal:#d98b00;--flow-1:#44564b;--flow-2:#adbfb3;--flow-3:#8fd9b2;--flow-4:#0a8455;--flow-1-ink:#fff;--flow-2-ink:#111;--flow-3-ink:#111;--flow-4-ink:#fff;--chart-muted:var(--control);--share-1:#008048;--share-2:#dc932e;--share-3:#3072c1;--share-4:#bc598c;--hero-bg:#0f3d2b;--hero-text:#f2f8f4;--hero-muted:#b3cfbf;--hero-accent:#86e3b4;--hero-pos:#9ceac1;--hero-neg:#ffbf9e;--hero-flow-1:#e3f1e8;--hero-flow-1-ink:#0f3d2b;--hero-flow-2:#3f7a5e;--hero-flow-2-ink:#fff;--hero-flow-3:#c9f2dc;--hero-flow-3-ink:#0f3d2b;--hero-flow-4:#6fd6a3;--hero-flow-4-ink:#0f3d2b;--hero-rule:color-mix(in srgb, var(--hero-bg) 84%, #fff);--hero-track:color-mix(in srgb, var(--hero-bg) 78%, #fff);--hero-raised:color-mix(in srgb, var(--hero-bg) 90%, #fff);--hero-control:color-mix(in srgb, var(--hero-bg) 70%, #fff);--shadow-float:0 12px 32px #0d1a1329;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-page=portfolio]{--hero-bg:#0b4b42}:root[data-page=budget]{--hero-bg:#34501a}:root[data-theme=dark]{--ground:#08140f;--surface:#0f2119;--raised:#172f25;--active:#1c372b;--rule:#1a3127;--rule-strong:#244034;--control:#3b5a4b;--text:#edf6f0;--muted:#a6bfb0;--faint:#8ea898;--accent:#4fd394;--on-accent:#06140d;--primary:#cdeedc;--primary-ink:#06140d;--positive:#4fd394;--negative:#f2905f;--warning:#f0b43c;--warning-ink:#f0b43c;--signal:#f0b43c;--flow-1:#6d8a7a;--flow-2:#2c463a;--flow-3:#a6f0c8;--flow-4:#2fae74;--flow-1-ink:#111;--flow-2-ink:#fff;--flow-3-ink:#111;--flow-4-ink:#111;--share-1:#22a56a;--share-2:#c8800d;--share-3:#3a7bcb;--share-4:#c35f92;--hero-bg:#135b40;--hero-text:#f1faf5;--hero-muted:#b7d8c6;--hero-accent:#a6f0c8;--hero-pos:#b4f3d1;--hero-neg:#ffc7a8;--hero-flow-1:#e3f4ea;--hero-flow-1-ink:#0d3b29;--hero-flow-2:#2a7a58;--hero-flow-2-ink:#fff;--hero-flow-3:#d2f7e3;--hero-flow-3-ink:#0d3b29;--hero-flow-4:#7fe3b2;--hero-flow-4-ink:#0d3b29;--shadow-float:0 16px 40px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark][data-page=portfolio]{--hero-bg:#0f5a50}:root[data-theme=dark][data-page=budget]{--hero-bg:#3a5a1e}*{box-sizing:border-box}html,body{margin:0}body{background:var(--ground);min-height:100vh;color:var(--text);font-family:var(--font);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;line-height:20px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:var(--fs-title);letter-spacing:-.01em;font-weight:600;line-height:28px}h2{font-size:var(--fs-section);font-weight:600;line-height:24px}.muted{color:var(--muted)}.num,table{font-variant-numeric:tabular-nums}.pos{color:var(--positive)}.neg{color:var(--negative)}.strong{color:var(--text);font-weight:500}.nowrap{white-space:nowrap}.link{color:var(--text);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--control);text-decoration-color:var(--control)}.link:hover{text-decoration-color:currentColor}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.icon{flex:none}.topbar{z-index:30;background:var(--ground);position:sticky;top:0}.topbar.scrolled{box-shadow:0 1px 0 var(--rule)}.topbar-inner{max-width:calc(var(--col) + 2 * var(--pad));padding:0 var(--pad);align-items:center;gap:28px;height:56px;margin:0 auto;display:flex}.mark{letter-spacing:-.01em;align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.mark svg{display:block}.toplinks{flex:1;gap:4px;display:flex}.toplinks a{height:36px;color:var(--muted);transition:color var(--t-hover);border-radius:999px;align-items:center;padding:0 10px;font-weight:500;display:inline-flex}.toplinks a:hover,.toplinks a[aria-current=page]{color:var(--text)}.top-actions{align-items:center;gap:4px;display:flex;position:relative}.icon-btn{width:36px;height:36px;color:var(--muted);transition:background var(--t-hover), color var(--t-hover);background:0 0;border:0;border-radius:999px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--raised);color:var(--text)}.avatar{background:var(--raised);width:32px;height:32px;color:var(--text);border:0;border-radius:999px;place-items:center;margin-left:6px;font-size:12px;font-weight:600;display:inline-grid}.menu{background:var(--surface);min-width:220px;box-shadow:var(--shadow-float);z-index:50;border-radius:12px;padding:6px;position:absolute;top:44px;right:0}.menu a,.menu button{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;height:40px;padding:0 10px;display:flex}.menu a:hover,.menu button:hover{background:var(--raised)}.menu-head{color:var(--muted);font-size:var(--fs-small);padding:8px 10px 10px}.menu-sep{background:var(--rule);height:1px;margin:6px 4px}.canvas{max-width:calc(var(--col) + 2 * var(--pad));padding:24px var(--pad) 64px;gap:var(--gap);flex-direction:column;margin:0 auto;display:flex}.title-row{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;padding-bottom:8px;display:flex}.title-row .text{flex:320px;min-width:0}.title-row .sub{color:var(--muted);margin-top:4px}.title-row .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.panel{background:var(--surface);border-radius:var(--radius-card);padding:var(--card-pad);min-width:0}.panel-head{align-items:center;gap:12px;min-height:32px;margin-bottom:12px;display:flex}.panel-head h2{flex:1}.panel.hero{--surface:var(--hero-bg);--text:var(--hero-text);--muted:var(--hero-muted);--faint:var(--hero-muted);--accent:var(--hero-accent);--rule:var(--hero-rule);--rule-strong:var(--hero-rule);--raised:var(--hero-raised);--control:var(--hero-control);--positive:var(--hero-pos);--negative:var(--hero-neg);background:var(--surface);color:var(--text);--flow-1:var(--hero-flow-1);--flow-2:var(--hero-flow-2);--flow-3:var(--hero-flow-3);--flow-4:var(--hero-flow-4);--flow-1-ink:var(--hero-flow-1-ink);--flow-2-ink:var(--hero-flow-2-ink);--flow-3-ink:var(--hero-flow-3-ink);--flow-4-ink:var(--hero-flow-4-ink)}.lead-label{color:var(--muted);font-size:14px;font-weight:400}.lead-figure{font-family:var(--font-figure);font-size:var(--fs-lead);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:4px;font-weight:600;line-height:50px}.lead-sub{color:var(--muted);margin-top:6px}.empty-line{border:1px dashed var(--control);color:var(--muted);border-radius:8px;padding:10px 14px}.grid{gap:var(--gap);display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.rows{flex-direction:column;display:flex}.row{min-height:56px;box-shadow:inset 0 -1px 0 var(--rule);align-items:center;gap:12px;padding:8px 0;display:flex}.row:last-child{box-shadow:none}.row .grow{flex:1;min-width:0}.row .end{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.trunc{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.token{background:var(--raised);width:32px;height:32px;color:var(--muted);letter-spacing:.01em;border-radius:999px;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.panel-head .meta{color:var(--muted);font-size:var(--fs-small)}.loading{padding:8px 0}.load-error{background:var(--raised);color:var(--muted);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.insight{white-space:pre-line;line-height:22px}.sub-line{color:var(--muted);font-size:var(--fs-small);margin-top:2px;line-height:16px;display:block}.lead-figure+.share-bar{margin-top:16px}.strip{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;margin-top:20px;display:grid}.strip>div{padding:0 20px}.strip>div:first-child{padding-left:0}.strip>div+div{box-shadow:inset 1px 0 0 var(--rule-strong)}.kpi-label{color:var(--muted)}.kpi-value{font-family:var(--font-figure);font-size:var(--fs-kpi);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:4px;font-weight:600;line-height:32px}.kpi-sub{color:var(--muted);font-size:var(--fs-small);font-variant-numeric:tabular-nums;margin-top:2px}.share-bar{border-radius:999px;gap:2px;height:10px;display:flex;overflow:hidden}.share-bar span{min-width:3px;height:100%;display:block}.dot{vertical-align:1px;border-radius:999px;width:8px;height:8px;margin-right:8px;display:inline-block}.dot-gap{margin-left:16px}.lead-sub b{color:var(--text);font-weight:500}.legend-table{border-collapse:collapse;width:100%;margin-top:14px}.legend-table td{box-shadow:inset 0 1px 0 var(--rule);padding:8px 0}.legend-table tr:first-child td{box-shadow:none}.legend-table td.r{text-align:right;white-space:nowrap;padding-left:12px}.legend-table .pct-col{width:56px}.flow{border-radius:10px;gap:2px;height:36px;margin-top:14px;display:flex;overflow:hidden}.flow span{font-size:var(--fs-small);white-space:nowrap;align-items:center;min-width:0;padding:0 10px;font-weight:500;display:flex;overflow:hidden}.flow-note{margin-top:14px}.flow-fixed{background:var(--flow-1);color:var(--flow-1-ink)}.flow-variable{background:var(--flow-2);color:var(--flow-2-ink)}.flow-free{background:var(--flow-3);color:var(--flow-3-ink)}.flow-invested{background:var(--flow-4);color:var(--flow-4-ink)}.signal-dot{background:var(--signal);border-radius:999px;flex:none;width:8px;height:8px;display:inline-block}.pill-signal{background:color-mix(in srgb, var(--signal) 18%, var(--surface));color:var(--warning-ink)}.sub .signal{color:var(--warning-ink);font-weight:500}:root[data-theme=dark] .sub .signal{color:var(--signal)}details.fold>summary{list-style:none}details.fold>summary::-webkit-details-marker{display:none}details.fold .fold-peek,details.fold .fold-chev{display:none}.btn{height:var(--control-height);border:1px solid var(--control);color:var(--text);white-space:nowrap;transition:background var(--t-hover), transform var(--t-press);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:500;display:inline-flex}.btn:hover{background:var(--raised)}.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.btn-primary:hover{background:color-mix(in srgb, var(--primary) 88%, var(--ground))}.btn-text{border-color:#0000;padding:0 10px}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-block{width:100%}.field{flex-direction:column;gap:8px;display:flex}.field label,.field .label{font-weight:500}.input,.select{border-radius:var(--radius-inner);border:1px solid var(--control);background:var(--surface);width:100%;height:40px;color:var(--text);transition:border-color var(--t-hover);outline:none;padding:0 12px}:root[data-theme=dark] .input,:root[data-theme=dark] .select{background:var(--ground)}.input:focus,.select:focus{border-color:var(--accent)}.input[aria-invalid=true]{border-color:var(--negative)}.hint{color:var(--muted);font-size:var(--fs-small);line-height:16px}.err{color:var(--negative);font-size:var(--fs-small);line-height:16px}.pill{height:22px;font-size:var(--fs-small);white-space:nowrap;background:var(--raised);color:var(--muted);border-radius:999px;flex:none;align-items:center;padding:0 8px;font-weight:500;display:inline-flex}.min0{min-width:0}.small{font-size:var(--fs-small)}.hero-head{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.hero-head .grow{flex:240px;min-width:0}.chart-slot{margin-top:12px}.value-chart{position:relative}.value-chart svg{font-variant-numeric:tabular-nums;touch-action:pan-y;display:block;overflow:visible}.value-chart .grid{stroke:var(--rule);stroke-width:1px}.value-chart .axis{fill:var(--muted);font-size:12px}.value-chart .line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.value-chart .area{fill:var(--accent);opacity:.12}.value-chart .rule{stroke:var(--muted);stroke-width:1px;opacity:.5}.value-chart .dot-mark{fill:var(--surface);stroke:var(--accent);stroke-width:2px}.chart-tip{pointer-events:none;background:var(--surface);color:var(--text);box-shadow:var(--shadow-float);font-size:var(--fs-small);white-space:nowrap;border-radius:6px;padding:6px 8px;line-height:16px;position:absolute;top:0}.chart-tip b{font-weight:600}.kpi-value.kpi-small{font-size:18px;line-height:24px}.alloc-bar{gap:2px;height:16px;display:flex}.alloc-bar span{min-width:4px;height:100%}.alloc-bar span:first-child{border-radius:6px 0 0 6px}.alloc-bar span:last-child{border-radius:0 6px 6px 0}.alloc-bar span:only-child{border-radius:6px}.alloc-ring{place-items:center;width:176px;height:176px;margin:4px auto 0;display:grid;position:relative}.alloc-ring svg{width:176px;height:176px;display:block}.alloc-ring .center{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.alloc-ring .center .figure{font-family:var(--font-figure);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.tabs{box-shadow:inset 0 -1px 0 var(--rule-strong);scrollbar-width:none;gap:20px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{height:40px;color:var(--muted);background:0 0;border:0;flex:none;padding:0;font-weight:500;box-shadow:inset 0 -2px #0000}.tabs button:hover{color:var(--text)}.tabs button[aria-selected=true]{color:var(--text);box-shadow:inset 0 -2px 0 var(--text)}.tabs .count{color:var(--faint);margin-left:6px;font-weight:400}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{height:36px;font-size:var(--fs-small);color:var(--muted);text-align:left;white-space:nowrap;box-shadow:inset 0 -1px 0 var(--rule-strong);padding:0 12px;font-weight:400}.table th:first-child,.table td:first-child{padding-left:0}.table th:last-child,.table td:last-child{padding-right:0}.table th.r,.table td.r{text-align:right}.table th button{all:unset;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.table th button:hover{color:var(--text)}.table th button:focus-visible{outline:2px solid var(--accent);border-radius:4px}.table td{box-shadow:inset 0 -1px 0 var(--rule);vertical-align:middle;white-space:nowrap;padding:12px}.table td:first-child{white-space:normal}.table tbody tr:last-child td{box-shadow:none}.table tfoot td{box-shadow:inset 0 1px 0 var(--rule-strong);font-weight:500}.ident{align-items:center;gap:12px;min-width:0;display:flex}.ident .name{font-weight:500}.table tr.row-link{cursor:pointer;transition:background var(--t-hover)}.table tr.row-link:hover td{background:var(--raised)}.plain-btn{all:unset;cursor:pointer;max-width:100%}.plain-btn:focus-visible{outline:2px solid var(--accent);border-radius:4px}.row-btn{text-align:left;width:100%;color:inherit;background:0 0;border:0;border-radius:0}.row-btn:hover{background:var(--raised)}.block{display:block}.sort-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.sort-row .select{flex:1;width:auto;height:36px}.only-phone{display:none}.hero-flow{margin-top:20px}.month-switch{background:var(--raised);border-radius:999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.month-switch span{text-align:center;min-width:128px;font-weight:500}.bar-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.bar-list li{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;display:grid}.bar-list .bar{grid-column:1/-1;height:2px;margin-top:4px}.total-row{min-height:44px;box-shadow:inset 0 1px 0 var(--rule-strong);margin-top:12px}.total-row+.row{min-height:40px}.pill-inline{vertical-align:1px;margin-left:8px}.is-paused{opacity:.6}.table .date-col{width:64px}.table .actions-col{width:96px}.input-lg{font-variant-numeric:tabular-nums;height:52px;font-size:22px;font-weight:600}.switch{appearance:none;background:var(--control);cursor:pointer;width:34px;height:20px;transition:background var(--t-hover);border-radius:999px;flex:none;margin:1px 0 0;position:relative}.switch:after{content:"";width:16px;height:16px;transition:transform var(--t-hover);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch:checked{background:var(--positive)}.switch:checked:after{transform:translate(14px)}.chat{flex-direction:column;height:calc(100vh - 190px);min-height:520px;padding:0;display:flex;overflow:hidden}.chat-scroll{flex:1;overflow-y:auto}.chat-col{flex-direction:column;gap:20px;max-width:760px;margin:0 auto;padding:24px 20px;display:flex}.msg-user{background:var(--raised);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px 16px 4px;align-self:flex-end;max-width:80%;padding:10px 14px}.msg-ai{overflow-wrap:anywhere;max-width:100%;line-height:22px}.msg-ai p{margin:0 0 10px}.msg-ai p:last-child{margin:0}.msg-ai .md-heading{margin-top:4px;font-weight:600}.msg-ai ul,.msg-ai ol{margin:6px 0 10px;padding-left:20px}.msg-ai li+li{margin-top:4px}.msg-ai code{background:var(--raised);border-radius:4px;padding:1px 4px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.msg-ai table{border-collapse:collapse;font-variant-numeric:tabular-nums;margin:6px 0 12px}.msg-ai th{color:var(--muted);font-weight:400;font-size:var(--fs-small);text-align:left;box-shadow:inset 0 -1px 0 var(--rule-strong);padding:6px 24px 6px 0}.msg-ai td{box-shadow:inset 0 -1px 0 var(--rule);padding:6px 24px 6px 0}.typing span{background:var(--muted);border-radius:50%;width:6px;height:6px;margin-right:4px;animation:1.2s infinite blink;display:inline-block}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.composer-wrap{width:100%;max-width:760px;margin:0 auto;padding:0 20px 20px}.chat-error{margin-bottom:8px}.suggest{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.composer{background:var(--raised);border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 16px;display:flex}.composer input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:36px}.composer .btn-primary{width:36px;padding:0}.composer:focus-within{box-shadow:inset 0 0 0 1.5px var(--accent)}.prose{white-space:pre-line;line-height:22px}.sub-head{margin:20px 0 4px;font-size:14px;font-weight:600}.recommendations{margin:0;padding-left:20px;line-height:22px}.recommendations li{box-shadow:inset 0 -1px 0 var(--rule);padding:8px 0 8px 4px}.recommendations li:last-child{box-shadow:none}.disclaimer{margin-top:16px}.kpi-unit{font-family:var(--font);font-size:14px;font-weight:400}.score-bar{background:var(--rule);border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.score-bar span{background:var(--accent);height:100%;display:block}.flow-scale{color:var(--muted);font-size:var(--fs-small);justify-content:space-between;margin-top:6px;display:flex}.score-hint{margin-top:16px}.score-gap{margin-top:24px}details.older{padding:0;display:block}details.older>summary{cursor:pointer;align-items:flex-start;gap:12px;padding:12px 0;list-style:none;display:flex}details.older>summary::-webkit-details-marker{display:none}details.older .end{flex-direction:column;align-items:flex-end;display:flex}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:14px;line-height:20px;display:-webkit-box;overflow:hidden}details.older[open] .clamp-2{display:none}.older-body{padding:0 0 16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid .full{grid-column:1/-1}.form-actions{justify-content:flex-end;display:flex}.segmented{background:var(--raised);border-radius:999px;align-self:flex-start;gap:2px;padding:2px;display:inline-flex}.segmented button{min-width:44px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:13px;font-weight:500}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}:root[data-theme=dark] .segmented button[aria-pressed=true]{background:var(--control);box-shadow:none}.switch-row{align-items:flex-start;gap:16px;display:flex}.switch-row+.switch-row{margin-top:20px}.switch-row .text{flex:1;min-width:0}.switch-row .hint{margin-top:2px}.settings-row{box-shadow:inset 0 -1px 0 var(--rule-strong);grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:24px 48px;padding:32px 0;display:grid}.settings-row:first-child{padding-top:8px}.settings-row:last-child{box-shadow:none}.settings-row .label-col h2{margin-top:6px}.settings-row .label-col p{color:var(--muted);margin-top:4px}.toasts{z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-float);border-radius:999px;padding:10px 16px;font-weight:500;animation:.18s ease-out pop}.toast-error{background:var(--negative);color:#fff}:root[data-theme=dark] .toast-error{color:#1a0d06}@keyframes pop{0%{opacity:0;transform:translateY(6px)}}@keyframes sheet{0%{opacity:.5;transform:translateY(32px)}}.overlay-center{place-items:center;padding:16px}.dialog{border-radius:var(--radius-card);background:var(--surface);width:100%;max-width:420px;box-shadow:var(--shadow-float);flex-direction:column;gap:12px;padding:24px;display:flex}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.dialog-actions.spread{justify-content:space-between}.dialog-overlay .dialog{border-radius:20px;gap:16px;max-width:520px;max-height:calc(100vh - 32px);animation:.18s ease-out pop;overflow-y:auto}.dialog-head{align-items:center;gap:12px;display:flex}.dialog-head h2{flex:1;min-width:0;font-size:18px}.dialog-form{flex-direction:column;gap:16px;display:flex}.dialog-sub{margin-top:-8px}.well{background:var(--raised);border-radius:var(--radius-inner);padding:12px 14px}.strip.well{margin-top:0}.results{background:var(--raised);border-radius:12px;flex-direction:column;max-height:280px;padding:4px;display:flex;overflow-y:auto}.result{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;min-height:52px;padding:6px 10px;display:flex}.result:hover{background:var(--active)}.result[aria-selected=true]{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--accent)}.result .token{background:var(--surface)}.result .grow{flex:1}.btn-danger{color:var(--negative);border-color:color-mix(in srgb, var(--negative) 45%, transparent)}.pill-warn{background:color-mix(in srgb, var(--warning) 16%, var(--surface));color:var(--warning-ink)}.app-notes{z-index:70;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.app-note{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-float);border-radius:999px;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-weight:500;display:flex}.app-note .btn-primary{background:var(--primary-ink);color:var(--primary);border-color:var(--primary-ink)}.app-note-offline{background:var(--signal);color:#1a1100;padding:10px 16px}.app-notes+.toasts{bottom:80px}.login{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-box{flex-direction:column;gap:16px;width:100%;max-width:380px;display:flex}.login-box .mark{margin-bottom:8px;font-size:20px}.center-note{min-height:60vh;color:var(--muted);place-items:center;display:grid}.overlay{z-index:60;background:#00000080;place-items:end center;display:grid;position:fixed;inset:0}.sheet{width:100%;max-height:92vh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:var(--shadow-float);border-radius:20px 20px 0 0;overflow-y:auto}.sheet-head{align-items:center;margin-bottom:8px;display:flex}.sheet-head h2{flex:1;font-size:18px}.sheet .row{text-align:left;background:0 0;border:0;width:100%}.bottom-nav{display:none}@media (width<=900px){.grid-3,.grid-2{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}.settings-row{grid-template-columns:minmax(0,1fr);gap:16px}}@media (width<=767px){:root{--pad:16px;--card-pad:16px;--fs-lead:40px}.toplinks,.hide-phone,.desktop-only{display:none}.title-row .actions{width:100%}.chat{border-radius:16px;height:calc(100vh - 230px);min-height:420px}.chat-col{padding:16px}.composer-wrap{padding:0 12px 12px}.suggest{scrollbar-width:none;flex-wrap:nowrap;margin:0 -12px 10px;padding:0 12px;overflow-x:auto}.suggest::-webkit-scrollbar{display:none}.suggest .btn{flex:none}.msg-user{max-width:90%}.title-row .actions .month-switch{flex:1;justify-content:space-between}.only-phone{display:revert}.topbar-inner{gap:12px;height:52px}.topbar-inner .mark{flex:1}.canvas{padding:12px 16px calc(96px + env(safe-area-inset-bottom))}.bottom-nav{z-index:30;padding:4px 6px calc(8px + env(safe-area-inset-bottom));background:var(--ground);box-shadow:0 -1px 0 var(--rule);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{min-height:52px;color:var(--faint);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:500;display:flex}.bottom-nav [aria-current=page],.bottom-nav .current{color:var(--text)}.strip{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;row-gap:16px}.strip>div{padding:0 0 0 14px}.strip>div:nth-child(odd){box-shadow:none;padding-left:0}.strip>div.full{box-shadow:none;grid-column:1/-1;padding-left:0}.form-grid{grid-template-columns:minmax(0,1fr)}.settings-row{padding:24px 0}.dialog-overlay{place-items:end center;padding:0}.dialog-overlay .dialog{max-width:none;max-height:92vh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;animation:.2s ease-out sheet}.toasts,.app-notes{bottom:calc(84px + env(safe-area-inset-bottom));width:calc(100% - 32px)}.app-note{border-radius:16px;justify-content:space-between}.app-notes+.toasts{bottom:calc(150px + env(safe-area-inset-bottom))}.toast{text-align:center}details.fold>summary{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex}details.fold>summary .panel-head{flex:1;min-width:0;margin:0}details.fold>summary .panel-head .btn,details.fold>summary .panel-head .meta{display:none}details.fold>summary .panel-head h2{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}details.fold:not([open]) .fold-peek{text-overflow:ellipsis;max-width:50%;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;display:block;overflow:hidden}details.fold .fold-chev{color:var(--muted);transition:transform var(--t-hover);display:block}details.fold[open] .fold-chev{transform:rotate(180deg)}details.fold[open]>summary{margin-bottom:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}
