:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f2;--surface:#fff;--surface-2:#e9eeea;--line:#d8dfd9;--ink:#13201c;--ink-2:#44544d;--ink-3:#5c6b64;--brand:#0f5d4c;--brand-hover:#0b4a3d;--brand-ink:#fff;--brand-soft:#d9ece5;--accent:#f2b632;--accent-ink:#2a1d00;--hero-bg:#0f3f34;--hero-ink:#eaf6f1;--hero-ink-2:#a8cdc1;--logo-bg:#0f4a3d;--logo-fg:#eaf6f1;--logo-dot:#f2b632;--good:#16713f;--good-soft:#dcf0e4;--warn:#8a4b06;--warn-soft:#fbead0;--bad:#b3261e;--bad-soft:#fbe1de;--focus:#0f5d4c;--series-income:#2a78d6;--series-expense:#eb6834;--series-line:#13201c;--grid:#dfe5e0;--font:ui-rounded, "SF Pro Rounded", "Avenir Next", "Segoe UI Variable Text", system-ui, sans-serif;--font-display:"Avenir Next", "Segoe UI Variable Display", ui-rounded, system-ui, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.625rem;--text-2xl:2.25rem;--text-hero:clamp(2.5rem, 9vw, 3.5rem);--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--r-sm:.5rem;--r-md:.875rem;--r-lg:1.375rem;--shadow-1:0 1px 2px #1332290f, 0 2px 8px #1332290d;--shadow-2:0 8px 30px #13322929;--tap:44px;--tabbar-h:4.25rem;--ease:cubic-bezier(.2, .7, .2, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1411;--surface:#151f1b;--surface-2:#1d2a25;--line:#2b3a34;--ink:#e8f1ed;--ink-2:#b1c1b9;--ink-3:#93a49c;--brand:#5fd0ae;--brand-hover:#7ddcbf;--brand-ink:#062119;--brand-soft:#173229;--accent:#f2b632;--hero-bg:#16382f;--hero-ink:#eaf6f1;--hero-ink-2:#9fc4b8;--logo-bg:#16382f;--good:#58cf8c;--good-soft:#14301f;--warn:#f0b768;--warn-soft:#382a10;--bad:#ff8f86;--bad-soft:#3b1b18;--focus:#5fd0ae;--series-income:#3987e5;--series-expense:#d95926;--series-line:#e8f1ed;--grid:#24322c;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 30px #00000080}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1411;--surface:#151f1b;--surface-2:#1d2a25;--line:#2b3a34;--ink:#e8f1ed;--ink-2:#b1c1b9;--ink-3:#93a49c;--brand:#5fd0ae;--brand-hover:#7ddcbf;--brand-ink:#062119;--brand-soft:#173229;--accent:#f2b632;--hero-bg:#16382f;--hero-ink:#eaf6f1;--hero-ink-2:#9fc4b8;--logo-bg:#16382f;--good:#58cf8c;--good-soft:#14301f;--warn:#f0b768;--warn-soft:#382a10;--bad:#ff8f86;--bad-soft:#3b1b18;--focus:#5fd0ae;--series-income:#3987e5;--series-expense:#d95926;--series-line:#e8f1ed;--grid:#24322c;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 30px #00000080}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--ink);font:var(--text-md) / 1.5 var(--font);font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;overflow-wrap:break-word;margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;line-height:1.15}h1{font-size:var(--text-xl);font-weight:700}h2{font-size:var(--text-md);font-weight:700}h3{font-size:var(--text-lg);font-weight:700}p{text-wrap:pretty}a{color:var(--brand);text-underline-offset:.2em}button,input,select,textarea{font:inherit;color:inherit}button{touch-action:manipulation}img,svg{max-width:100%;display:block}ul{margin:0;padding:0;list-style:none}dl,dd{margin:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}[tabindex="-1"]:focus{outline:none}.muted{color:var(--ink-2)}.stack{gap:var(--sp-3);display:grid}.row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.grow{flex:1;min-width:0}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.clamp{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.skip-link{z-index:100;left:var(--sp-3);top:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-sm);background:var(--brand);color:var(--brand-ink);font-weight:650;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.shell{min-height:100dvh}.main{max-width:46rem;padding:max(var(--sp-4), env(safe-area-inset-top)) max(var(--sp-4), env(safe-area-inset-right)) calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--sp-6)) max(var(--sp-4), env(safe-area-inset-left));margin:0 auto}.sidebar{display:none}.tabbar{z-index:20;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.nav-link{min-height:var(--tap);color:var(--ink-3);font-size:var(--text-xs);touch-action:manipulation;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;text-decoration:none;display:flex}.nav-link:hover{color:var(--ink)}.nav-link[data-active=true]{color:var(--brand)}.nav-icon{place-items:center;display:grid}.nav-link[data-primary=true] .nav-icon{background:var(--accent);width:3.4rem;height:3.4rem;color:var(--accent-ink);box-shadow:0 6px 18px #f2b63273, 0 0 0 5px var(--bg);transition:transform .15s var(--ease);border-radius:50%;margin-top:-1.5rem}.nav-link[data-primary=true]:active .nav-icon{transform:scale(.94)}.nav-link[data-primary=true][data-active=true] .nav-icon{box-shadow:0 6px 18px #f2b63273, 0 0 0 5px var(--bg), 0 0 0 7px var(--brand)}.nav-link[data-primary=true]{color:var(--ink-2)}@media (min-width:900px){.shell{grid-template-columns:16rem 1fr;display:grid}.tabbar{display:none}.sidebar{gap:var(--sp-5);height:100dvh;padding:var(--sp-5) var(--sp-4);border-right:1px solid var(--line);background:var(--surface);flex-direction:column;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--sp-3);padding:0 var(--sp-2);display:flex}.brand strong{font-family:var(--font-display);font-size:var(--text-md);display:block}.brand-biz{font-size:var(--text-sm);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;max-width:10rem;display:block;overflow:hidden}.sidebar nav{gap:var(--sp-1);display:grid}.sidebar .nav-link{justify-content:flex-start;gap:var(--sp-3);padding:0 var(--sp-3);border-radius:var(--r-md);font-size:var(--text-md);flex-direction:row}.sidebar .nav-link:hover{background:var(--surface-2)}.sidebar .nav-link[data-active=true]{background:var(--brand-soft);color:var(--brand)}.main{padding:var(--sp-6) var(--sp-6) var(--sp-7);width:100%;max-width:60rem}}.splash{place-items:center;min-height:100dvh;display:grid}.splash .logo{animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.45}}.btn,.icon-btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap);min-width:var(--tap);border-radius:var(--r-md);cursor:pointer;transition:background-color .15s, border-color .15s, transform .1s var(--ease);border:1px solid #0000;font-weight:650;text-decoration:none;display:inline-flex}.btn{padding:0 var(--sp-4)}.btn[data-size=lg]{min-height:3.25rem;padding:0 var(--sp-5);font-size:var(--text-md)}.btn:active,.icon-btn:active{transform:scale(.97)}.btn[data-variant=primary]{background:var(--brand);color:var(--brand-ink)}.btn[data-variant=primary]:hover{background:var(--brand-hover)}.btn[data-variant=secondary]{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn[data-variant=secondary]:hover{background:var(--surface-2)}.btn[data-variant=ghost]{color:var(--brand);background:0 0}.btn[data-variant=ghost]:hover{background:var(--brand-soft)}.btn[data-variant=danger]{background:var(--bad);color:#fff}.btn[data-variant=danger]:hover{filter:brightness(.92)}.btn:disabled,.icon-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn[data-busy]{color:#0000;position:relative}.btn[data-busy]:after{content:"";border:2px solid var(--brand-ink);border-right-color:#0000;border-radius:50%;width:1.1rem;height:1.1rem;animation:.7s linear infinite spin;position:absolute}.btn[data-busy][data-variant=secondary]:after,.btn[data-busy][data-variant=ghost]:after{border-color:var(--brand);border-right-color:#0000}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{color:var(--ink-2);background:0 0;padding:0}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.btn-block{width:100%}.field{gap:var(--sp-1);min-width:0;display:grid}.field>label{font-size:var(--text-sm);color:var(--ink-2);font-weight:650}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.input{width:100%;min-height:var(--tap);background:var(--surface);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-md);padding:.55rem .8rem;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:4rem}.field select,select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%2393a49c' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;padding-right:2.2rem}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink-3)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.input:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 28%, transparent);outline:none}.field[data-invalid=true] input,.field[data-invalid=true] select{border-color:var(--bad)}.field-error{color:var(--bad);font-size:var(--text-sm);font-weight:600}.field-hint{color:var(--ink-3);font-size:var(--text-sm)}.field-row{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.form{gap:var(--sp-4);display:grid}.form-error{padding:var(--sp-3);border-radius:var(--r-md);background:var(--bad-soft);color:var(--bad);font-weight:600;font-size:var(--text-sm)}select option,select optgroup{background:var(--surface);color:var(--ink)}.switch{justify-content:space-between;align-items:center;gap:var(--sp-4);min-height:var(--tap);cursor:pointer;font-weight:600;display:flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:var(--line);border-radius:1rem;flex:none;width:3rem;height:1.75rem;transition:background-color .15s;position:relative}.switch-track:after{content:"";width:1.4rem;height:1.4rem;box-shadow:var(--shadow-1);transition:transform .18s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--brand)}.switch input:checked+.switch-track:after{transform:translate(1.25rem)}.switch input:focus-visible+.switch-track{outline:3px solid var(--focus);outline-offset:2px}.segmented{background:var(--surface-2);border-radius:var(--r-md);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented label{min-width:0;position:relative}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented span{justify-content:center;align-items:center;gap:var(--sp-2);min-height:2.5rem;padding:0 var(--sp-3);border-radius:calc(var(--r-md) - 4px);font-weight:650;font-size:var(--text-sm);color:var(--ink-2);text-align:center;transition:background-color .15s,color .15s;display:flex}.segmented .icon{flex:none}.segmented[data-size=lg] span{min-height:3.25rem;font-size:var(--text-md)}.segmented input:checked+span{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.segmented label[data-tone=good] input:checked+span{background:var(--good);color:#fff}.segmented label[data-tone=bad] input:checked+span{background:var(--bad);color:#fff}.segmented label[data-tone=warn] input:checked+span{background:var(--accent);color:var(--accent-ink)}.segmented input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.stepper{align-items:center;gap:var(--sp-2);display:flex}.stepper .icon-btn{background:var(--surface-2);width:3.25rem;height:3.25rem;color:var(--ink);border-radius:var(--r-md);flex:none}.stepper input{text-align:center;font-size:var(--text-xl);font-weight:750;min-height:3.25rem!important}.stepper-unit{color:var(--ink-3);min-width:2ch;font-weight:650}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--shadow-1);min-width:0}.card-head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.card-head h2{color:var(--ink)}.page{gap:var(--sp-4);display:grid}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--sp-3);padding-bottom:var(--sp-1);flex-wrap:wrap;display:flex}.page-sub{color:var(--ink-2);font-size:var(--text-sm);margin-top:var(--sp-1)}.page-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.badge{font-size:var(--text-xs);white-space:nowrap;background:var(--surface-2);color:var(--ink-2);border-radius:1rem;align-items:center;gap:.3rem;padding:.15rem .6rem;font-weight:700;display:inline-flex}.badge[data-tone=good]{background:var(--good-soft);color:var(--good)}.badge[data-tone=warn]{background:var(--warn-soft);color:var(--warn)}.badge[data-tone=bad]{background:var(--bad-soft);color:var(--bad)}.empty{justify-items:center;gap:var(--sp-2);text-align:center;padding:var(--sp-6) var(--sp-4);display:grid}.empty p{color:var(--ink-2);max-width:30ch;margin-bottom:var(--sp-2)}.empty h3{font-size:var(--text-md)}.empty-icon{background:var(--brand-soft);width:3.5rem;height:3.5rem;color:var(--brand);border-radius:50%;place-items:center;display:grid}.empty-icon[data-tone=bad]{background:var(--bad-soft);color:var(--bad)}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, color-mix(in srgb, var(--surface-2) 55%, var(--surface)) 50%, var(--surface-2) 75%);border-radius:var(--r-sm);background-size:200% 100%;width:100%;animation:1.4s linear infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}.subnav{gap:var(--sp-2);scrollbar-width:none;margin:0 calc(var(--sp-4) * -1);padding:2px var(--sp-4);display:flex;overflow-x:auto}.subnav::-webkit-scrollbar{display:none}.subnav a,.chip{align-items:center;gap:var(--sp-2);min-height:2.5rem;padding:0 var(--sp-4);border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);font-weight:650;font-size:var(--text-sm);cursor:pointer;border-radius:1.5rem;flex:none;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.subnav a:hover,.chip:hover{border-color:var(--ink-3);color:var(--ink)}.subnav a[aria-current=page],.chip[aria-pressed=true],.chip[aria-checked=true]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.list{gap:var(--sp-2);display:grid}.item{align-items:center;gap:var(--sp-3);width:100%;min-height:3.75rem;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);text-align:left;cursor:pointer;min-width:0;transition:border-color .15s,background-color .15s;display:flex}button.item:hover{border-color:var(--ink-3)}.item-main{flex:1;gap:2px;min-width:0;display:grid}.item-title{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.item-sub{font-size:var(--text-sm);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item-end{text-align:right;white-space:nowrap;justify-items:end;gap:2px;font-weight:700;display:grid}.item[data-low=true]{border-color:color-mix(in srgb, var(--warn) 55%, var(--line));background:color-mix(in srgb, var(--warn-soft) 55%, var(--surface))}.item[data-inactive=true]{opacity:.6}.search{position:relative}.search .icon{color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.search input{padding-left:2.6rem!important}.fab{z-index:15;right:max(var(--sp-4), env(safe-area-inset-right));bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--sp-4));box-shadow:var(--shadow-2);position:fixed}@media (min-width:900px){.fab{bottom:var(--sp-6);right:var(--sp-6)}}.sheet{border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface);width:100%;max-width:32rem;max-height:min(92dvh,46rem);color:var(--ink);box-shadow:var(--shadow-2);overscroll-behavior:contain;border:0;margin:auto auto 0;padding:0}.sheet::backdrop{overscroll-behavior:contain;background:#06140f8c}.sheet[open]{animation:sheet-in .26s var(--ease)}.sheet[open]::backdrop{animation:.2s fade-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(2rem)}}@keyframes fade-in{0%{opacity:0}}.sheet-body{gap:var(--sp-4);padding:var(--sp-4) var(--sp-4) calc(var(--sp-5) + env(safe-area-inset-bottom));max-height:inherit;display:grid;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.sheet-head h2{font-size:var(--text-lg)}.sheet-actions{gap:var(--sp-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.sheet-actions .grow-left{margin-right:auto}@media (min-width:600px){.sheet{border-radius:var(--r-lg);margin:auto}}.toasts{z-index:60;left:50%;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--sp-3));gap:var(--sp-2);pointer-events:none;width:min(92vw,26rem);display:grid;position:fixed;transform:translate(-50%)}@media (min-width:900px){.toasts{bottom:var(--sp-5)}}.toast{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--ink);color:var(--bg);border-radius:var(--r-md);box-shadow:var(--shadow-2);font-weight:600;font-size:var(--text-sm);animation:toast-in .25s var(--ease);display:flex}.toast[data-kind=error]{background:var(--bad);color:#fff}.toast .icon{flex:none}@keyframes toast-in{0%{opacity:0;transform:translateY(.75rem)}}.chips-scroll{scrollbar-width:none;margin:0 calc(var(--sp-4) * -1);padding:2px var(--sp-4);flex-wrap:nowrap;overflow-x:auto}.chips-scroll::-webkit-scrollbar{display:none}.has-fab{padding-bottom:5rem}.toolbar{gap:var(--sp-2);align-items:center;display:flex}.toolbar .search{flex:1;min-width:0}.list>li{content-visibility:auto;contain-intrinsic-size:auto 4rem}.auth{min-height:100dvh;padding:max(var(--sp-4), env(safe-area-inset-top)) var(--sp-4) max(var(--sp-4), env(safe-area-inset-bottom));justify-items:center;gap:var(--sp-4);grid-template-rows:auto 1fr auto;display:grid}.auth-top{justify-content:flex-end;justify-self:end;width:100%;max-width:26rem;display:flex}.lang-select{width:auto;min-width:11rem}.auth-card{align-self:center;gap:var(--sp-5);width:100%;max-width:26rem;padding:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);display:grid}.auth-title{gap:var(--sp-1);display:grid}.auth-title h1{font-size:var(--text-xl)}.auth-foot{text-align:center;color:var(--ink-2);font-size:var(--text-sm)}.auth-tag{color:var(--ink-3);font-size:var(--text-sm);text-align:center}.link-btn{padding:var(--sp-2);min-height:var(--tap);color:var(--brand);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;font-weight:650;text-decoration:underline}.stock{justify-items:end;gap:2px;display:inline-grid}.stock strong{font-size:var(--text-md)}.stock small{color:var(--ink-3);font-weight:600}.stock-state{font-size:var(--text-xs);align-items:center;gap:3px;font-weight:700;display:inline-flex}.stock[data-tone=warn] strong,.stock[data-tone=warn] .stock-state{color:var(--warn)}.stock[data-tone=bad] strong,.stock[data-tone=bad] .stock-state{color:var(--bad)}.item .btn{flex:none}.chip-product{min-height:var(--tap)}ul.chips{margin:0;padding:0;list-style:none}.field-label{font-size:var(--text-sm);color:var(--ink-2);font-weight:650}.picked{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-4);border:1.5px solid var(--brand);background:var(--brand-soft);border-radius:var(--r-md);display:flex}.date-nav{align-items:center;gap:var(--sp-2);display:flex}.date-nav .icon-btn{background:var(--surface);border:1px solid var(--line)}.dayrow{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:grid}.dayrow[data-inactive=true]{opacity:.65}.dayrow-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.daystats{gap:var(--sp-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.daystats dt{font-size:var(--text-xs);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.daystats dd{font-weight:700;font-size:var(--text-sm)}.daystats [data-tone=good] dd{color:var(--good)}.daystats [data-tone=bad] dd{color:var(--bad)}.daystats [data-tone=warn] dd{color:var(--warn)}.daystats-close dd{font-size:var(--text-md)}.daystats-close[data-negative] dd{color:var(--bad)}.move-icon{background:var(--surface-2);width:2.25rem;height:2.25rem;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;display:grid}.move[data-type=in] .move-icon{background:var(--good-soft);color:var(--good)}.move[data-type=out] .move-icon{background:var(--bad-soft);color:var(--bad)}.move[data-type=adjust] .move-icon{background:var(--warn-soft);color:var(--warn)}[data-tone=good].num{color:var(--good)}[data-tone=bad].num{color:var(--bad)}[data-tone=warn].num{color:var(--warn)}.move{cursor:default}.move small{color:var(--ink-3);font-weight:600}.cat-row{align-items:flex-end;gap:var(--sp-2);display:flex}.cat-row .btn,.cat-row .icon-btn{flex:none;margin-bottom:0}.amount-input{font-weight:700;font-size:var(--text-xl)!important;min-height:3.25rem!important}.totalbar{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--brand-soft);border-radius:var(--r-md);display:flex}.totalbar-value{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.01em;display:block}a.btn[aria-disabled=true]{pointer-events:none;opacity:.5}.range{gap:var(--sp-3);display:grid}.alert-strip{align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn);font-weight:650;text-decoration:none;display:flex}.alert-strip:hover{filter:brightness(.97)}.hero{gap:var(--sp-2);padding:var(--sp-5) var(--sp-5) 5.5rem;border-radius:var(--r-lg);background:var(--hero-bg);color:var(--hero-ink);box-shadow:var(--shadow-2);display:grid;position:relative;overflow:hidden}.hero-label{font-size:var(--text-sm);color:var(--hero-ink-2);font-weight:650}.hero-value{font-family:var(--font-display);font-size:var(--text-hero);letter-spacing:-.03em;overflow-wrap:anywhere;font-weight:700;line-height:1}.hero-value[data-negative]{color:#ffb8ad}.hero-meta{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.hero-hint{font-size:var(--text-sm);color:var(--hero-ink-2)}.hero .spark{width:100%;height:4.5rem;position:absolute;bottom:0;left:0;right:0}.spark-line{fill:none;stroke:var(--hero-ink);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.spark-area{fill:var(--hero-ink);opacity:.12}.hero .delta{background:#ffffff1f}.hero .delta[data-tone=good]{color:#9be8bd}.hero .delta[data-tone=bad]{color:#ffb8ad}.hero .delta[data-tone=neutral]{color:var(--hero-ink-2)}.delta{font-size:var(--text-xs);background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border-radius:1rem;align-items:center;gap:3px;width:-moz-fit-content;width:fit-content;padding:.1rem .5rem;font-weight:700;display:inline-flex}.delta[data-tone=good]{background:var(--good-soft);color:var(--good)}.delta[data-tone=bad]{background:var(--bad-soft);color:var(--bad)}.tiles{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tile{align-content:start;gap:var(--sp-1);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);min-width:0;display:grid}.tile-label{font-size:var(--text-sm);color:var(--ink-2);font-weight:650}.tile-value{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;font-size:1.125rem}.tile-hint{font-size:var(--text-xs);color:var(--ink-3)}@media (min-width:720px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.two-col{gap:var(--sp-4);display:grid}@media (min-width:900px){.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}}.export-note{font-size:var(--text-sm);margin-bottom:var(--sp-3)}.legend{gap:var(--sp-2) var(--sp-4);font-size:var(--text-sm);color:var(--ink-2);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.legend span,.tooltip span{align-items:center;gap:6px;display:inline-flex}.sw{border-radius:3px;flex:none;width:.7rem;height:.7rem;display:inline-block}.sw-income{background:var(--series-income)}.sw-expense{background:var(--series-expense)}.sw-line{background:var(--series-line);border-radius:2px;width:.9rem;height:3px}.chart{width:100%;position:relative}.chart-svg{border-radius:var(--r-sm);display:block;overflow:visible}.chart-svg:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.chart .grid{stroke:var(--grid);stroke-width:1px}.chart .axis{stroke:var(--ink-3);stroke-width:1px}.chart .tick{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px}.bar-income{fill:var(--series-income)}.bar-expense{fill:var(--series-expense)}.profit-line{fill:none;stroke:var(--series-line);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.profit-dot{fill:var(--series-line);stroke:var(--surface);stroke-width:2px}.hover-band{fill:var(--ink);opacity:.06}.tooltip{min-width:11rem;padding:var(--sp-2) var(--sp-3);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);font-size:var(--text-sm);pointer-events:none;z-index:2;gap:4px;display:grid;position:absolute;top:0;transform:translate(-50%)}.tooltip b{padding-left:var(--sp-3);margin-left:auto}.tooltip span{width:100%}.chart-foot{margin-top:var(--sp-1);justify-content:flex-end;display:flex}.table-wrap{max-height:22rem;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th,.data-table td{padding:var(--sp-2) var(--sp-2);text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.data-table th:first-child{text-align:left}.data-table thead th{background:var(--surface);color:var(--ink-2);position:sticky;top:0}.data-table td[data-negative]{color:var(--bad)}.rowbars{gap:var(--sp-3);display:grid}.rowbars-head{justify-content:space-between;gap:var(--sp-3);font-size:var(--text-sm);display:flex}.rowbars-track{background:var(--surface-2);border-radius:.25rem;height:.5rem;margin-top:4px;overflow:hidden}.rowbars-fill{border-radius:.25rem;height:100%;display:block}.rowbars-income{background:var(--series-income)}.rowbars-expense{background:var(--series-expense)}.rowbars-sub{font-size:var(--text-xs);color:var(--ink-3)}
