.toasts{position:fixed;z-index:200;left:14px;right:14px;bottom:calc(var(--safe-bottom) + 92px);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:460px;width:100%;padding:12px 14px 12px 16px;border-radius:20px;background:var(--ink);color:var(--on-ink);font-weight:500;box-shadow:var(--float-shadow)}.toast.error svg{color:var(--toast-bad)}.toast .btn{background:transparent;color:inherit;border-color:color-mix(in srgb,var(--on-ink) 30%,transparent)}.toast-enter-active,.toast-leave-active{transition:all .25s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(12px)}@media(min-width:900px){.toasts{left:auto;right:28px;bottom:28px;align-items:flex-end}}html.sheet-open body{overflow:hidden}.sheet-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center}.sheet-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim)}.sheet{position:relative;display:flex;flex-direction:column;width:100%;max-height:calc(100dvh - var(--safe-top) - 12px);border-radius:28px 28px 0 0;background:var(--glass-strong);border:1px solid var(--glass-border);border-bottom:0;box-shadow:var(--frost-edge),var(--float-shadow);-webkit-backdrop-filter:blur(36px) saturate(160%);backdrop-filter:blur(36px) saturate(160%);outline:none}.sheet:focus-visible{outline:none}.sheet-grabber{width:38px;height:5px;border-radius:3px;background:color-mix(in srgb,var(--muted) 45%,transparent);margin:8px auto 0}.sheet-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:8px 14px 10px}.sheet-head>:first-child{justify-self:start}.sheet-head>:last-child{justify-self:end}.sheet-title{font-size:17px;font-weight:700;text-align:center}.sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px 16px calc(20px + var(--safe-bottom))}.sheet-foot{padding:10px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--line)}.sheet-foot+.sheet-body,.sheet-body:has(+.sheet-foot){padding-bottom:16px}.sheet-enter-active,.sheet-leave-active{transition:opacity .25s ease}.sheet-enter-active .sheet,.sheet-leave-active .sheet{transition:transform .32s cubic-bezier(.2,.9,.3,1)}.sheet-enter-from,.sheet-leave-to{opacity:0}.sheet-enter-from .sheet,.sheet-leave-to .sheet{transform:translateY(100%)}@media(min-width:900px){.sheet-layer{align-items:center;padding:32px}.sheet{max-width:520px;max-height:min(820px,calc(100dvh - 64px));border-radius:28px;border-bottom:1px solid var(--glass-border)}.sheet.wide{max-width:720px}.sheet-grabber{display:none}.sheet-head{padding-top:16px}.sheet-body{padding-bottom:20px}.sheet-enter-from .sheet,.sheet-leave-to .sheet{transform:translateY(16px) scale(.98)}}.templates{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 12px;padding:0 16px 2px}.template-chip{font-size:13px;padding:6px 12px;cursor:pointer}.type-seg{margin-bottom:8px}.amount-field{display:flex;align-items:baseline;justify-content:center;gap:6px;padding:14px 0 18px}.amount-field input{min-width:0;max-width:70%;border:0;background:transparent;color:var(--text);text-align:center;font:700 44px/1.1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;outline:none}.amount-field input::placeholder{color:color-mix(in srgb,var(--muted) 55%,transparent)}.amount-sign{font:600 32px var(--font-display);color:var(--muted)}.amount-field.deposit .amount-sign{color:var(--income)}.amount-code{font-weight:600;color:var(--muted)}.delete{margin-top:8px}.blocker{margin:-4px 2px 12px}.readonly-amount{padding:14px 0 18px;text-align:center;font:700 40px/1.1 var(--font-display);letter-spacing:-.03em}.readonly-facts{margin-bottom:12px}.shell{min-height:100dvh}.main{padding:0 calc(16px + var(--safe-right)) calc(110px + var(--safe-bottom)) calc(16px + var(--safe-left));max-width:760px;margin:0 auto}.side{display:none}.tabbar{position:fixed;z-index:50;left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(var(--safe-bottom) + 10px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto repeat(2,minmax(0,1fr));align-items:center;height:66px;max-width:480px;margin-inline:auto;padding:0 8px;border-radius:33px;background:color-mix(in srgb,var(--glass-base) 70%,transparent);border:1px solid var(--glass-border);box-shadow:var(--frost-edge),var(--float-shadow);-webkit-backdrop-filter:blur(30px) saturate(170%);backdrop-filter:blur(30px) saturate(170%)}.tab{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0;color:var(--bare-text);font-size:11.5px;font-weight:600}.tab-pill{position:relative;display:grid;place-items:center;width:min(52px,100%);height:32px;border-radius:16px;transition:background .2s ease}.tab.on{color:var(--text)}.tab.on .tab-pill{background:var(--pill);box-shadow:0 3px 12px #46281429}.tab-dot{position:absolute;top:3px;right:calc(50% - 15px);width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--glass-base)}.tab-plus{display:grid;place-items:center;width:52px;height:52px;margin:0 6px;border:0;border-radius:50%;background:var(--ink);color:var(--on-ink);box-shadow:0 6px 18px #17130f4d}.tab-plus:active{transform:scale(.94)}@media(max-width:299px){.tab-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.tab-plus{width:46px;height:46px;margin:0 2px}}@media(min-width:900px){.tabbar{display:none}.side{display:flex;flex-direction:column;position:fixed;top:16px;bottom:16px;left:16px;width:248px;padding:18px 12px;border-radius:26px;z-index:40}.main{max-width:1180px;margin:0 0 0 calc(280px + max(0px,(100vw - 280px - 1180px) / 2));padding:0 32px 48px}.side-nav{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;margin:0 -4px;padding:0 4px 4px}.side-nav.more-below{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 44px),transparent)}}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 16px}.brand img{border-radius:10px}.brand-name{font-weight:750;font-size:18px;letter-spacing:-.02em}.side-add{margin-bottom:10px}.side-section{margin:16px 12px 6px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.side-link{display:flex;align-items:center;gap:11px;padding:9px 12px;margin:1px 0;border-radius:14px;font-weight:550;color:color-mix(in srgb,var(--text) 82%,transparent)}.side-link:hover{background:var(--faint)}.side-link.on{background:var(--pill);color:var(--text);box-shadow:0 4px 14px #46281424}.side-badge{min-width:22px;padding:1px 7px;border-radius:999px;background:var(--badge);color:var(--on-badge);font-size:12px;font-weight:700;text-align:center}@media(min-width:900px)and (max-height:820px){.side{padding:12px}.brand{padding-bottom:10px}.side-section{margin:10px 12px 4px}.side-link{padding-block:6px}}:root{--bg: #d9c7b3;--text: #1d1915;--muted: #574b42;--faint: rgba(255, 255, 255, .35);--line: rgba(255, 255, 255, .55);--good: #1d6b4b;--spend: #c4441f;--income: #1d6b4b;--warn: #7a5200;--bad: #c0322b;--accent: #e2552c;--ink: #17130f;--on-ink: #ffffff;--pill: #ffffff;--bare-text: color-mix(in srgb, var(--text) 78%, transparent);--badge: #c4441f;--on-badge: #ffffff;--toast-bad: #ff9d8f;--radius: 22px;--radius-sm: 14px;--glow1: #8a5a3c;--glow2: #f1e4d3;--glow3: #5f6b4a;--glass-base: #fffaf4;--glass-tint: 22%;--glass-blur: 28px;--glass: linear-gradient(160deg, rgba(255, 255, 255, .42), rgba(255, 255, 255, .18)), color-mix(in srgb, var(--glass-base) var(--glass-tint), transparent);--glass-border: rgba(255, 255, 255, .6);--glass-strong: rgba(250, 243, 235, .82);--frost-edge: inset 0 1px 0 rgba(255, 255, 255, .75), inset 0 0 0 1px rgba(255, 255, 255, .35);--card-shadow: 0 10px 30px rgba(70, 40, 20, .12);--float-shadow: 0 14px 40px rgba(60, 35, 15, .22);--field: rgba(255, 255, 255, .45);--field-border: rgba(255, 255, 255, .7);--scrim: rgba(40, 25, 12, .28);--track: rgba(255, 255, 255, .5);--chart: #7a4a2e;--chart-soft: rgba(122, 74, 46, .18);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1a1512;--text: #f3ebe3;--muted: #c2b5a8;--faint: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .1);--good: #5cc796;--spend: #f08a63;--income: #5cc796;--warn: #e6b450;--bad: #f07067;--accent: #f0703f;--ink: #f3ebe3;--on-ink: #17130f;--pill: rgba(255, 255, 255, .16);--badge: var(--accent);--on-badge: var(--on-ink);--toast-bad: #b3261e;--glow1: #8a4b25;--glow2: #2b3a55;--glow3: #2f3a28;--glass-base: #2a211b;--glass-tint: 55%;--glass: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03)), color-mix(in srgb, var(--glass-base) var(--glass-tint), transparent);--glass-border: rgba(255, 255, 255, .12);--glass-strong: rgba(36, 29, 24, .88);--frost-edge: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 0 0 1px rgba(255, 255, 255, .04);--card-shadow: 0 10px 30px rgba(0, 0, 0, .3);--float-shadow: 0 14px 40px rgba(0, 0, 0, .45);--field: rgba(255, 255, 255, .07);--field-border: rgba(255, 255, 255, .14);--scrim: rgba(0, 0, 0, .5);--track: rgba(255, 255, 255, .1);--chart: #e3a77f;--chart-soft: rgba(227, 167, 127, .2);color-scheme:dark}}:root[data-theme=night]{--bg: #1a1512;--text: #f3ebe3;--muted: #c2b5a8;--faint: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .1);--good: #5cc796;--spend: #f08a63;--income: #5cc796;--warn: #e6b450;--bad: #f07067;--accent: #f0703f;--ink: #f3ebe3;--on-ink: #17130f;--pill: rgba(255, 255, 255, .16);--badge: var(--accent);--on-badge: var(--on-ink);--toast-bad: #b3261e;--glow1: #8a4b25;--glow2: #2b3a55;--glow3: #2f3a28;--glass-base: #2a211b;--glass-tint: 55%;--glass: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03)), color-mix(in srgb, var(--glass-base) var(--glass-tint), transparent);--glass-border: rgba(255, 255, 255, .12);--glass-strong: rgba(36, 29, 24, .88);--frost-edge: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 0 0 1px rgba(255, 255, 255, .04);--card-shadow: 0 10px 30px rgba(0, 0, 0, .3);--float-shadow: 0 14px 40px rgba(0, 0, 0, .45);--field: rgba(255, 255, 255, .07);--field-border: rgba(255, 255, 255, .14);--scrim: rgba(0, 0, 0, .5);--track: rgba(255, 255, 255, .1);--chart: #e3a77f;--chart-soft: rgba(227, 167, 127, .2);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100dvh;font-family:var(--font);font-size:15px;line-height:1.4;color:var(--text);background:transparent;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(30vmax 40vmax at 12% 18%,color-mix(in srgb,var(--glow1) 42%,transparent),transparent 70%),radial-gradient(40vmax 26vmax at 70% 12%,color-mix(in srgb,var(--glow2) 95%,transparent),transparent 70%),radial-gradient(34vmax 22vmax at 55% 48%,rgba(40,32,28,.22),transparent 70%),radial-gradient(28vmax 28vmax at 88% 70%,color-mix(in srgb,var(--glow3) 40%,transparent),transparent 70%),radial-gradient(50vmax 30vmax at 40% 95%,color-mix(in srgb,var(--glow1) 45%,transparent),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 40%,#fff),var(--bg))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) body:after{background:radial-gradient(30vmax 36vmax at 14% 20%,color-mix(in srgb,var(--glow1) 75%,transparent),transparent 70%),radial-gradient(36vmax 24vmax at 74% 14%,color-mix(in srgb,var(--glow2) 90%,transparent),transparent 70%),radial-gradient(28vmax 28vmax at 88% 72%,color-mix(in srgb,var(--glow3) 80%,transparent),transparent 70%),radial-gradient(50vmax 30vmax at 40% 98%,color-mix(in srgb,var(--glow1) 55%,transparent),transparent 70%),linear-gradient(180deg,#221b17,var(--bg))}}:root[data-theme=night] body:after{background:radial-gradient(30vmax 36vmax at 14% 20%,color-mix(in srgb,var(--glow1) 75%,transparent),transparent 70%),radial-gradient(36vmax 24vmax at 74% 14%,color-mix(in srgb,var(--glow2) 90%,transparent),transparent 70%),radial-gradient(28vmax 28vmax at 88% 72%,color-mix(in srgb,var(--glow3) 80%,transparent),transparent 70%),radial-gradient(50vmax 30vmax at 40% 98%,color-mix(in srgb,var(--glow1) 55%,transparent),transparent 70%),linear-gradient(180deg,#221b17,var(--bg))}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3{margin:0;font-family:var(--font-display);letter-spacing:-.01em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card.flush :focus-visible,.seg button:focus-visible{outline-offset:-2px}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.num{font-variant-numeric:tabular-nums}.pos{color:var(--income)}.neg{color:var(--text)}.bad{color:var(--bad)}.warn{color:var(--warn)}.good{color:var(--good)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack>*+*{margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.glass,.card{background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--frost-edge),var(--card-shadow);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);backdrop-filter:blur(var(--glass-blur)) saturate(150%)}.card{border-radius:var(--radius);padding:16px}.card+.card{margin-top:12px}.card.flush{padding:0;overflow:hidden}.card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.card.flush .card-title{padding:14px 16px 0}.section-title{margin:22px 4px 8px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--bare-text)}.list{list-style:none;margin:0;padding:0}.item{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 16px;border:0;background:transparent;text-align:left;border-top:1px solid var(--line)}.list>li:first-child>.item,.list>.item:first-child{border-top:0}button.item:hover,a.item:hover{background:var(--faint)}.item-title{font-weight:500;overflow-wrap:anywhere}.item-sub{font-size:13px;color:var(--muted)}.item-sub.pos{color:var(--income)}.item-end{margin-left:auto;text-align:right;flex-shrink:0}.chev{color:var(--muted);flex-shrink:0}.avatar{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:13px;background:var(--field);border:1px solid var(--field-border);font-weight:600;font-size:15px;color:var(--text)}.avatar img{width:100%;height:100%;border-radius:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--field-border);background:var(--field);font-weight:600;font-size:15px;white-space:nowrap;transition:transform .12s ease,background .2s ease}.btn:active{transform:scale(.97)}.btn.primary{background:var(--ink);color:var(--on-ink);border-color:var(--ink);box-shadow:0 6px 18px #17130f40}.btn.danger{color:var(--bad)}.btn.small{min-height:34px;padding:0 13px;font-size:14px}.btn.block{width:100%}.btn.icon{width:44px;padding:0}.btn.small.icon{width:34px}@media(pointer:coarse){.btn.small{min-height:44px}.btn.small.icon{width:44px}}.btn[disabled]{opacity:.45;pointer-events:none}.btn .spinner{width:16px;height:16px}.seg{display:inline-flex;padding:3px;border-radius:999px;background:var(--faint);box-shadow:inset 0 0 0 1px var(--line);gap:2px;max-width:100%;overflow-x:auto;scrollbar-width:none}.seg button{border:0;background:transparent;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap}.seg button.on,.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--ink);color:var(--on-ink)}@media(pointer:coarse){.seg button{min-height:40px}}.seg.block{display:flex}.seg.block button{flex:1}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--field);border:1px solid var(--field-border);white-space:nowrap}.chip.good{color:var(--good)}.chip.warn{color:var(--warn)}.chip.bad{color:var(--bad)}.field{display:block;margin-bottom:12px}.field>span{display:block;margin:0 4px 6px;font-size:13px;font-weight:600;color:var(--muted)}.input,.field input,.field select,.field textarea{width:100%;min-height:46px;padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--field-border);background:var(--field);box-shadow:inset 0 1px #ffffff40;color:var(--text);font:16px/1.3 var(--font);-webkit-appearance:none;-moz-appearance:none;appearance:none}.field textarea{min-height:84px;resize:vertical}.field select,select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23887766' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.input:focus,.field :is(input,select,textarea):focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.field input[type=date]{min-width:0}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.switch{position:relative;width:51px;height:31px;flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;background:var(--track);border:1px solid var(--field-border);cursor:pointer;transition:background .2s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:25px;height:25px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0003;transition:transform .2s}.switch:checked{background:var(--good)}.switch:checked:after{transform:translate(20px)}.search{position:relative}.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted)}.search input{padding-left:40px;border-radius:999px}.track{position:relative;height:8px;border-radius:999px;background:var(--track);overflow:hidden}.track>i{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--good);transition:width .5s ease}.track>i.warn{background:var(--warn)}.track>i.bad{background:var(--bad)}.track>i.ink{background:var(--chart)}.hero{padding:20px}.hero-label{font-size:13px;font-weight:600;color:var(--muted)}.hero-value{margin-top:2px;font-family:var(--font-display);font-size:40px;font-weight:700;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}.hero-value .cents{font-size:.55em;font-weight:600;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{border-radius:18px;padding:12px 14px}.kpi-label{font-size:12px;font-weight:600;color:var(--muted)}.kpi-value{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.empty{padding:40px 20px;text-align:center;color:var(--muted)}.empty h3{color:var(--text);font-size:17px;margin-bottom:4px}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;animation:spin .8s linear infinite}.loading{display:grid;place-items:center;padding:40px;color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:10px;background:linear-gradient(90deg,var(--faint),color-mix(in srgb,var(--faint) 30%,transparent),var(--faint));background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:16px;font-size:14px}.banner.warn{color:var(--text);background:color-mix(in srgb,var(--warn) 16%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}.banner.bad{background:color-mix(in srgb,var(--bad) 13%,transparent);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
