@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/jakarta-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/jakarta-latin-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/space-grotesk-latin-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root,:root[data-theme=light]{--bg: #f4f5f7;--surface: #ffffff;--surface-2: #f6f7f9;--text: #16181d;--text-2: #4b4f58;--hint: #8a8e97;--line: #e5e7eb;--ink: #1c1f26;--ink-hover: #2a2e37;--on-ink: #ffffff;--ink-grad: linear-gradient(160deg, #262a33 0%, #1a1d23 100%);--accent: #3f5a99;--accent-ink: #3a5490;--accent-soft: #eaeef6;--green: #16875c;--green-soft: #e4f4ec;--red: #c93c40;--red-soft: #fbeaea;--amber: #a5701a;--amber-soft: #fbf1e0;--shadow-card: 0 1px 2px rgba(20, 21, 30, .04), 0 3px 12px rgba(20, 21, 30, .045);--shadow-float: 0 8px 26px rgba(20, 22, 30, .28);--backdrop: rgba(16, 17, 22, .42);--glass-bg: rgba(255, 255, 255, .44);--glass-border: rgba(255, 255, 255, .72);--glass-shine: rgba(255, 255, 255, .5);--glass-spec: rgba(255, 255, 255, .28);--glass-filter: blur(18px) saturate(200%) brightness(1.08);--glass-edge: inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 1px rgba(18, 20, 28, .06);--glass-shadow: 0 1px 2px rgba(20, 22, 30, .07), 0 8px 20px rgba(20, 22, 30, .1);--glass-shadow-lift: 0 3px 8px rgba(20, 22, 30, .12), 0 16px 34px rgba(20, 22, 30, .18);--glass-caustic: rgba(255, 255, 255, .3)}:root[data-theme=dark]{--bg: #0e0f13;--surface: #17191f;--surface-2: #1f222a;--text: #eceef2;--text-2: #b4b8c1;--hint: #7f838c;--line: #292c34;--ink: #eceef2;--ink-hover: #dcdee4;--on-ink: #14161b;--ink-grad: linear-gradient(160deg, #f2f3f6 0%, #dfe1e7 100%);--accent: #8ba4dc;--accent-ink: #9db3e4;--accent-soft: #1e2530;--green: #45c48c;--green-soft: #142c20;--red: #e8656a;--red-soft: #2f191b;--amber: #d79a45;--amber-soft: #2c2214;--shadow-card: 0 1px 2px rgba(0, 0, 0, .32), 0 3px 14px rgba(0, 0, 0, .26);--shadow-float: 0 10px 28px rgba(0, 0, 0, .55);--backdrop: rgba(0, 0, 0, .6);--glass-bg: rgba(255, 255, 255, .06);--glass-border: rgba(255, 255, 255, .12);--glass-shine: rgba(255, 255, 255, .1);--glass-spec: rgba(255, 255, 255, .12);--glass-filter: blur(22px) saturate(180%) brightness(1.3);--glass-edge: inset 0 1px 0 rgba(255, 255, 255, .16), inset 0 -1px 1px rgba(0, 0, 0, .35);--glass-shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 8px 22px rgba(0, 0, 0, .4);--glass-shadow-lift: 0 3px 10px rgba(0, 0, 0, .55), 0 18px 36px rgba(0, 0, 0, .5);--glass-caustic: rgba(255, 255, 255, .07)}:root{--r-lg: 20px;--r-md: 14px;--r-sm: 11px;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Space Grotesk", "Plus Jakarta Sans", -apple-system, sans-serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.theme-switching,.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important;animation:none!important}html,body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}#root{height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none}body.sheet-open #root{overflow:hidden}button{font:inherit;border:none;background:none;color:inherit;cursor:pointer}input{font:inherit;color:inherit}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.greeting-name,.page-heading h1,.sheet-title,.empty-title,.hero-value,.monogram{font-family:var(--font-display)}.page{max-width:520px;margin:0 auto;padding:14px 16px calc(24px + env(safe-area-inset-bottom));animation:pageIn .22s ease}.fab-space{height:84px}@keyframes pageIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 18px}.topbar-actions{display:flex;align-items:center;gap:10px}.greeting-hint{font-size:13px;font-weight:600;color:var(--hint)}.greeting-name{font-size:23px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.page-heading h1{font-size:22px;font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-sub{color:var(--hint);font-size:13.5px;font-weight:600;margin-bottom:16px}.section-title{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--hint);margin:22px 4px 10px}.card{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-card);padding:16px;margin-bottom:12px}.card.list{padding:4px 16px}.card.tappable{transition:transform .13s ease;cursor:pointer}.card.tappable:active{transform:scale(.982)}button.card{width:100%;text-align:left}.hero-card{background:linear-gradient(160deg,#262a33,#16181d);color:#fff;border-radius:22px;padding:20px;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:var(--shadow-card)}.hero-card:before{content:"";position:absolute;top:-80px;right:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.07) 0%,transparent 70%)}.hero-label{font-size:13px;font-weight:700;opacity:.62}.hero-value{font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1.25;margin:2px 0}.hero-value .currency{font-size:17px;font-weight:700;opacity:.55;margin-left:4px}.hero-note{font-size:13px;font-weight:600;opacity:.7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;height:50px;padding:0 14px;border-radius:var(--r-md);font-size:14.5px;font-weight:700;letter-spacing:-.005em;line-height:1;white-space:nowrap;overflow:hidden;transition:transform .13s ease,opacity .13s ease;-webkit-user-select:none;user-select:none}.btn>svg{flex-shrink:0}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;pointer-events:none}.btn-primary{background:var(--ink-grad);color:var(--on-ink);box-shadow:var(--shadow-card)}.btn-tonal{background:var(--accent-soft);color:var(--accent-ink)}.btn-danger{background:var(--red-soft);color:var(--red)}.btn-ghost{background:transparent;color:var(--text-2);border:1.5px solid var(--line)}.btn.small{width:auto;height:40px;padding:0 14px;font-size:13.5px;border-radius:var(--r-sm);gap:6px}.btn-row{display:flex;gap:10px}.btn-row>.btn{flex:1;min-width:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--accent-soft);color:var(--accent-ink);flex-shrink:0;transition:transform .13s ease}.icon-btn:active{transform:scale(.92)}.icon-btn.danger{background:var(--red-soft);color:var(--red)}.icon-btn.plain{background:var(--surface-2);color:var(--text-2)}.fab{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:8px;height:54px;padding:0 24px;border-radius:999px;background:var(--ink-grad);color:var(--on-ink);font-size:15px;font-weight:700;white-space:nowrap;box-shadow:var(--shadow-float);transition:transform .13s ease,opacity .2s ease}.fab:active{transform:translate(-50%) scale(.95)}body.kb-open .fab,body.sheet-open .fab{opacity:0;pointer-events:none}.kb-animating .sheet-layer{transition:height .3s cubic-bezier(.22,1,.36,1)}.stepper{display:flex;gap:6px;margin-bottom:12px}.stepper-seg{flex:1;height:4px;border-radius:2px;background:var(--line);transition:background .25s ease}.stepper-seg.on{background:var(--accent)}.step-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--hint);margin-bottom:14px}.step-in{animation:pageIn .18s ease both}.step-sum{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;color:var(--hint);margin-bottom:16px;min-width:0}.step-sum b{color:var(--text);font-weight:700;white-space:nowrap}.step-sum .step-sum-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-hero{height:74px;text-align:center;font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:0}.input-hero::placeholder{font-size:26px;font-weight:500}.field{margin-bottom:16px}.field-label{display:block;font-size:13px;font-weight:700;color:var(--hint);margin-bottom:7px;padding-left:2px}.input{width:100%;height:50px;padding:0 15px;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--surface-2);font-size:16px;font-weight:600;outline:none;transition:border-color .15s ease,background .15s ease}.input::placeholder{color:var(--hint);font-weight:500;opacity:.7}.input:focus{border-color:var(--accent);background:var(--surface)}.input.error{border-color:var(--red)}.textarea{height:auto;min-height:84px;padding:13px 15px;font-weight:500;line-height:1.5;resize:none;font-family:inherit}.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.field-head .field-label{margin-bottom:7px}.char-count{font-size:12px;font-weight:700;color:var(--hint);opacity:.75;font-variant-numeric:tabular-nums;padding-right:2px}.char-count.near{color:var(--amber);opacity:1}.char-count.full{color:var(--red);opacity:1}.field-optional{font-size:12px;font-weight:600;color:var(--hint);opacity:.7}.note-card{display:flex;gap:10px;padding:13px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);font-size:14px;font-weight:500;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:12px}.note-card>svg{flex-shrink:0;color:var(--hint);margin-top:1px}.row-note-mark{flex-shrink:0;color:var(--hint);opacity:.75}.form-hint{font-size:13px;font-weight:600;margin-top:8px;display:flex;align-items:center;gap:6px;line-height:1.4}.form-hint>svg{flex-shrink:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:999px;background:var(--surface-2);border:1.5px solid var(--line);font-size:13.5px;font-weight:600;color:var(--text-2);white-space:nowrap;transition:all .14s ease}.chip.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink);font-weight:700}.chip.dim{opacity:.45}.chip-count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-ink);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.chip.selected .chip-count{background:var(--accent);color:#fff}.seg{position:relative;display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:4px;margin-bottom:18px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:inset 0 1px 2px #12141c0d}.seg-pill{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--seg-count));border-radius:11px;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-edge);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);transform:translate(var(--pill-x, 0%)) scaleX(var(--pill-sx, 1)) scaleY(var(--pill-sy, 1));transition:transform .55s cubic-bezier(.3,1.4,.32,1),box-shadow .24s ease,background .24s ease,border-radius .24s ease;will-change:transform}.seg-pill.dragging{transition:box-shadow .24s ease,background .24s ease,border-radius .24s ease;border-radius:13px;box-shadow:var(--glass-shadow-lift),var(--glass-edge)}.seg-pill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,var(--glass-shine) 0%,rgba(255,255,255,0) 55%),radial-gradient(120% 90% at 18% -10%,var(--glass-spec) 0%,rgba(255,255,255,0) 60%),radial-gradient(90% 55% at 50% 118%,var(--glass-caustic) 0%,rgba(255,255,255,0) 65%);pointer-events:none}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.seg-pill{background:var(--surface)}}.seg button{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 7px;font-size:11.5px;font-weight:700;color:var(--hint);background:none;white-space:nowrap;transition:color .18s ease,transform .16s ease}.seg button.on{color:var(--accent-ink)}.seg button:active{transform:scale(.93)}.seg.inline{margin-bottom:0}.seg.inline button{flex-direction:row;gap:7px;font-size:13px;padding:11px 4px}.seg .dot{position:absolute;top:6px;right:14%;width:7px;height:7px;border-radius:50%;background:var(--red)}.row{display:flex;align-items:center;gap:12px;padding:13px 0;text-align:left;background:none}.row+.row{border-top:1px solid var(--line)}.row.tappable{cursor:pointer;transition:opacity .12s ease}.row.tappable:active{opacity:.6}.row-body{flex:1;min-width:0}.row-title{display:block;font-weight:700;font-size:15px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.row-title>svg,.row-title>.badge{vertical-align:middle;margin:0 3px}.row-sub{font-size:13px;font-weight:600;color:var(--hint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.row-end{text-align:right;flex-shrink:0}.amount{font-family:var(--font-display);font-size:15.5px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.amount .currency{font-size:12px;font-weight:600;color:var(--hint);margin-left:3px}.item-glyph{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent-soft);color:var(--accent-ink)}.item-glyph.green{background:var(--green-soft);color:var(--green)}.item-glyph.red{background:var(--red-soft);color:var(--red)}.item-glyph.amber{background:var(--amber-soft);color:var(--amber)}.item-glyph.hint{background:var(--surface-2);color:var(--hint)}.item-glyph.sm{width:38px;height:38px;border-radius:12px}.monogram{width:46px;height:46px;border-radius:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--line);font-size:19px;font-weight:800}.avatar{width:42px;height:42px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.small{width:34px;height:34px;font-size:12.5px}.avatar.large{width:48px;height:48px;font-size:17px}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0}.badge.accent{background:var(--accent-soft);color:var(--accent-ink)}.badge.green{background:var(--green-soft);color:var(--green)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.notice{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--amber-soft);color:var(--amber);font-size:13px;line-height:1.45;font-weight:600}.notice svg{flex-shrink:0;margin-top:1px}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-hint{color:var(--hint)}.text-accent{color:var(--accent-ink)}.sheet-layer{position:fixed;left:0;right:0;top:0;height:var(--vv-height, 100%);z-index:50;display:flex;flex-direction:column;justify-content:flex-end}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--backdrop);animation:fade .2s ease;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{position:relative;width:100%;max-width:520px;margin:0 auto;display:flex;flex-direction:column;min-height:0;max-height:100%;background:var(--surface);border-radius:26px 26px 0 0;animation:slideUp .3s cubic-bezier(.32,.72,.22,1)}.sheet-head{flex-shrink:0;padding:8px 20px 0}.sheet-handle{width:38px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 12px}.sheet-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.sheet-title{font-size:19px;font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sheet-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 20px calc(20px + env(safe-area-inset-bottom));scroll-padding:16px 0 24px}body.kb-open .sheet-body{padding-bottom:16px}.sheet-foot{flex-shrink:0;padding:10px 20px calc(14px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}body.kb-open .sheet-foot{padding-bottom:12px}.sheet-body>.section-title{margin-top:16px}.sheet-body>*:first-child{margin-top:0}.sheet-body>.card:last-child{margin-bottom:0}.sheet-body .hero-card{margin-bottom:4px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:none}}.empty{text-align:center;padding:40px 24px;color:var(--hint)}.empty-icon{width:64px;height:64px;border-radius:20px;background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.empty-title{font-size:16.5px;font-weight:700;color:var(--text);margin-bottom:5px;letter-spacing:-.01em}.empty-text{font-size:13.5px;font-weight:600;line-height:1.5}.spinner-wrap{display:flex;justify-content:center;padding:52px 0}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--accent-soft);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ref-block{text-align:center;padding:18px 16px;border-radius:var(--r-lg);background:var(--accent-soft);border:1.5px dashed var(--accent);margin-bottom:16px}.ref-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink);opacity:.85}.ref-code{font-family:var(--font-display);font-size:27px;font-weight:700;letter-spacing:.13em;color:var(--accent-ink);font-variant-numeric:tabular-nums;margin-top:4px;-webkit-user-select:all;user-select:all}.ref-note{font-size:12.5px;font-weight:600;color:var(--hint);margin-top:6px;line-height:1.45}.day-header{font-size:12px;font-weight:700;color:var(--hint);text-transform:uppercase;letter-spacing:.06em;margin:18px 4px 8px}.filter-scroll{display:flex;gap:8px;overflow-x:auto;padding:6px 0 8px;margin-bottom:4px;scrollbar-width:none;position:sticky;top:0;z-index:10;background:var(--bg)}.filter-scroll::-webkit-scrollbar{display:none}.detail-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;font-size:14px}.detail-row+.detail-row{border-top:1px solid var(--line)}.detail-key{color:var(--hint);font-weight:600;flex-shrink:0}.detail-val{font-weight:700;text-align:right;word-break:break-word}.profile-link{display:inline-flex;align-items:center;gap:4px;color:var(--accent-ink);font-size:12.5px;font-weight:700;text-decoration:none}.profile-link:active{opacity:.6}.flex{display:flex;align-items:center;gap:10px}.flex-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.divider{height:1px;background:var(--line);margin:14px 0}.back-btn{display:inline-flex;align-items:center;gap:2px;color:var(--accent-ink);font-weight:700;font-size:14.5px;padding:6px 0;margin-bottom:6px}@media (max-width: 360px){.page{padding-left:12px;padding-right:12px}.hero-value{font-size:29px}.seg button{font-size:10.5px}.btn{font-size:13.5px;gap:6px}.btn.small{font-size:12.5px;padding:0 11px}}:root,:root[data-theme=light]{--t0: #2f6fd0;--t0-soft: #e6eefb;--t1: #0f8f86;--t1-soft: #e0f3f1;--t2: #b8791a;--t2-soft: #fbf0dd;--t3: #cf3f57;--t3-soft: #fce8ec;--t4: #6d47b8;--t4-soft: #eee9fa;--t5: #17915f;--t5-soft: #e2f5ec;--t6: #c85a24;--t6-soft: #fdece1;--t7: #0e7fa8;--t7-soft: #e2f1f8;--t8: #b0407f;--t8-soft: #fbe8f2;--t9: #5f6d84;--t9-soft: #eceff4;--t10: #7d8b1f;--t10-soft: #f3f6df;--t11: #a4552f;--t11-soft: #f9ebe4}:root[data-theme=dark]{--t0: #7fb0ff;--t0-soft: #17243a;--t1: #4fd3c6;--t1-soft: #102d2c;--t2: #e3ae5c;--t2-soft: #2e2515;--t3: #f4808f;--t3-soft: #331a20;--t4: #b193f0;--t4-soft: #241d38;--t5: #52cf94;--t5-soft: #12301F;--t6: #f39560;--t6-soft: #33211a;--t7: #5cbde3;--t7-soft: #12283a;--t8: #ef8ac0;--t8-soft: #33192a;--t9: #a3b0c4;--t9-soft: #232830;--t10: #c3d156;--t10-soft: #262b16;--t11: #e0916d;--t11-soft: #32211b}.item-glyph.tone-0{background:var(--t0-soft);color:var(--t0)}.item-glyph.tone-1{background:var(--t1-soft);color:var(--t1)}.item-glyph.tone-2{background:var(--t2-soft);color:var(--t2)}.item-glyph.tone-3{background:var(--t3-soft);color:var(--t3)}.item-glyph.tone-4{background:var(--t4-soft);color:var(--t4)}.item-glyph.tone-5{background:var(--t5-soft);color:var(--t5)}.item-glyph.tone-6{background:var(--t6-soft);color:var(--t6)}.item-glyph.tone-7{background:var(--t7-soft);color:var(--t7)}.item-glyph.tone-8{background:var(--t8-soft);color:var(--t8)}.item-glyph.tone-9{background:var(--t9-soft);color:var(--t9)}.item-glyph.tone-10{background:var(--t10-soft);color:var(--t10)}.item-glyph.tone-11{background:var(--t11-soft);color:var(--t11)}.btn-personal{justify-content:flex-start;gap:10px;padding:0 16px;background:var(--surface);color:var(--text);border:1.5px solid var(--line);box-shadow:var(--shadow-card)}.btn-personal:active{transform:scale(.985)}.btn-personal .btn-trail{margin-left:auto;color:var(--hint)}.day-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.cat-chip{height:36px;padding:0 12px;font-size:12.5px}.cat-chip.selected{border-color:currentColor}.cat-chip.tone-0.selected{background:var(--t0-soft);color:var(--t0)}.cat-chip.tone-1.selected{background:var(--t1-soft);color:var(--t1)}.cat-chip.tone-2.selected{background:var(--t2-soft);color:var(--t2)}.cat-chip.tone-3.selected{background:var(--t3-soft);color:var(--t3)}.cat-chip.tone-4.selected{background:var(--t4-soft);color:var(--t4)}.cat-chip.tone-5.selected{background:var(--t5-soft);color:var(--t5)}.cat-chip.tone-6.selected{background:var(--t6-soft);color:var(--t6)}.cat-chip.tone-7.selected{background:var(--t7-soft);color:var(--t7)}.cat-chip.tone-8.selected{background:var(--t8-soft);color:var(--t8)}.cat-chip.tone-9.selected{background:var(--t9-soft);color:var(--t9)}.cat-chip.tone-10.selected{background:var(--t10-soft);color:var(--t10)}.cat-chip.tone-11.selected{background:var(--t11-soft);color:var(--t11)}.stat-list{padding:4px 16px;margin-bottom:4px}.stat-line{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.stat-line:last-child{border-bottom:none}.stat-line-label{font-size:13.5px;font-weight:600;color:var(--text-2);flex:1;min-width:0}.stat-line-value{font-size:15px;font-weight:800;letter-spacing:-.02em;flex-shrink:0;white-space:nowrap}.stat-line-unit{font-size:11.5px;font-weight:700;color:var(--hint);margin-left:4px}.trend{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700}.trend.up{color:#ff9b9b}.trend.down{color:#7fdcb0}.trend.flat{opacity:.7}.chart{padding:2px 0}.chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px;min-height:28px}.chart-head-label{font-size:12px;font-weight:700;color:var(--hint);text-transform:uppercase;letter-spacing:.05em}.chart-head-value{font-size:19px;font-weight:800;letter-spacing:-.02em}.chart-head-value .currency{font-size:12px;font-weight:700;color:var(--hint);margin-left:3px}.chart-empty{text-align:center;color:var(--hint);font-size:13px;font-weight:600;padding:34px 0}.chart-bars{display:flex;align-items:flex-end;gap:3px;height:140px}.chart-bar{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;padding:0;background:none;cursor:pointer}.chart-bar-fill{width:100%;max-width:26px;border-radius:6px 6px 3px 3px;background:var(--t0);opacity:.45;transition:opacity .15s ease,transform .15s ease}.chart-bar.zero .chart-bar-fill{background:var(--line);opacity:1}.chart-bar.on .chart-bar-fill{opacity:1;transform:scaleY(1.02)}.chart-bar:active .chart-bar-fill{opacity:1}.chart-bar-label{font-size:10px;font-weight:700;color:var(--hint);height:12px;white-space:nowrap}.chart-bar.on .chart-bar-label{color:var(--t0)}.donut{position:relative;width:168px;height:168px;margin:4px auto 18px}.donut-svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-arc{stroke-width:12;transition:stroke-dasharray .3s ease}.donut-arc.tone-0{stroke:var(--t0)}.donut-arc.tone-1{stroke:var(--t1)}.donut-arc.tone-2{stroke:var(--t2)}.donut-arc.tone-3{stroke:var(--t3)}.donut-arc.tone-4{stroke:var(--t4)}.donut-arc.tone-5{stroke:var(--t5)}.donut-arc.tone-6{stroke:var(--t6)}.donut-arc.tone-7{stroke:var(--t7)}.donut-arc.tone-8{stroke:var(--t8)}.donut-arc.tone-9{stroke:var(--t9)}.donut-arc.tone-10{stroke:var(--t10)}.donut-arc.tone-11{stroke:var(--t11)}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-total{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.02em}.donut-sub{font-size:11px;font-weight:700;color:var(--hint)}.cat-list{display:flex;flex-direction:column;gap:14px}.cat-row{display:flex;align-items:flex-start;gap:11px}.cat-body{flex:1;min-width:0}.cat-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:5px}.cat-name{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-amount{font-size:13.5px;font-weight:700;flex-shrink:0}.cat-track{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.cat-fill{height:100%;border-radius:999px;transition:width .35s ease}.cat-fill.tone-0{background:var(--t0)}.cat-fill.tone-1{background:var(--t1)}.cat-fill.tone-2{background:var(--t2)}.cat-fill.tone-3{background:var(--t3)}.cat-fill.tone-4{background:var(--t4)}.cat-fill.tone-5{background:var(--t5)}.cat-fill.tone-6{background:var(--t6)}.cat-fill.tone-7{background:var(--t7)}.cat-fill.tone-8{background:var(--t8)}.cat-fill.tone-9{background:var(--t9)}.cat-fill.tone-10{background:var(--t10)}.cat-fill.tone-11{background:var(--t11)}.cat-meta{font-size:11.5px;font-weight:600;color:var(--hint);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monogram.sm{width:38px;height:38px;border-radius:12px;font-size:15px}.balance-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card);margin-bottom:4px}.balance-card .item-glyph{width:38px;height:38px;border-radius:12px}.balance-card.plus .item-glyph{background:var(--green-soft);color:var(--green)}.balance-card.minus .item-glyph{background:var(--red-soft);color:var(--red)}.balance-card.flat .item-glyph{background:var(--surface-2);color:var(--hint)}.balance-label{font-size:12px;font-weight:700;color:var(--hint)}.balance-value{font-size:18px;font-weight:800;letter-spacing:-.02em;margin-top:1px}.balance-value .currency{font-size:12px;font-weight:700;color:var(--hint);margin-left:3px}.balance-card.plus .balance-value{color:var(--green)}.balance-card.minus .balance-value{color:var(--red)}.balance-sub{font-size:13px;font-weight:600;margin-top:1px}.team-card{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.pin-mark{display:inline-block;vertical-align:-1px;margin-left:5px;color:var(--accent);fill:currentColor}.menu-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px;border-radius:var(--r-md);background:var(--surface-2);transition:transform .13s ease}.menu-item:active{transform:scale(.98)}.card.pinned{position:relative;border-color:var(--accent-soft)}.card.pinned:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}
