:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--ink:#0b0b0b;--ink-2:#52514e;--ink-muted:#898781;--hairline:#e1e0d9;--border:#0b0b0b1a;--accent:#2a78d6;--accent-soft:#cde2fb;--bar:#256abf;--good:#006300;--bad:#d03b3b;--shadow:0 1px 3px #0b0b0b0f;--glass-bg:#fcfcfa8c;--glass-border:#fff9;--glass-hi:#ffffffbf;--glass-shadow:0 12px 32px #0b0b0b29;--app-icon:url(/icon-light-512.png)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--ink:#fff;--ink-2:#c3c2b7;--ink-muted:#898781;--hairline:#2c2c2a;--border:#ffffff1a;--accent:#3987e5;--accent-soft:#184f95;--bar:#3987e5;--good:#0ca30c;--bad:#e66767;--shadow:none;--glass-bg:#1e1e1d7a;--glass-border:#ffffff1f;--glass-hi:#ffffff29;--glass-shadow:0 12px 32px #0000008c;--app-icon:url(/icon-512.png)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0}html,body{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,sans-serif}body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.shell{padding-top:var(--app-safe-top,0px);max-width:480px;min-height:100dvh;margin:0 auto}.screen{padding:12px 16px calc(104px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex}.screen-head{justify-content:space-between;align-items:center;padding:8px 0 0;display:flex}.screen-head h1{font-size:22px;font-weight:700}.month-nav{justify-content:center;gap:10px}.month-nav h1{text-align:center;min-width:170px;font-size:18px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:16px}.card-title{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:13px;font-weight:600}.card-title-row{justify-content:space-between;align-items:baseline;display:flex}.link{color:var(--accent);font-size:14px;font-weight:600}.hero{flex-direction:column;gap:4px;display:flex}.hero-label{color:var(--ink-2);font-size:13px}.hero-value{letter-spacing:-.01em;font-size:32px;font-weight:700}.hero-split{color:var(--ink-2);gap:16px;margin-top:6px;font-size:13px;display:flex}.dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.dot.accounts{background:var(--accent)}.dot.assets{background:#1baf7a}.dot.owed{background:var(--bad)}.dot.receivable{background:var(--good)}.txrow-amount.expense-red{color:var(--bad)}.txrow-amount-col{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.gain{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.gain.good{color:var(--good)}.gain.bad{color:var(--bad)}.gold-price-note{color:var(--ink-muted);padding:2px 4px 0;font-size:12px}.kpis{grid-template-columns:1fr 1fr;gap:12px;display:grid}.kpi{flex-direction:column;gap:2px;padding:14px;display:flex}.kpi-label{color:var(--ink-2);font-size:12px}.kpi-value{font-size:20px;font-weight:700}.kpi-delta{font-size:12px;font-weight:600}.kpi-delta.good{color:var(--good)}.kpi-delta.bad{color:var(--bad)}.trend-plot{align-items:flex-end;gap:8px;height:140px;display:flex}.trend-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex;position:relative}.trend-bar{background:var(--accent-soft);border-radius:4px 4px 0 0;width:100%;max-width:34px;transition:height .2s}.trend-col.selected .trend-bar{background:var(--bar)}.trend-value{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;font-weight:700}.trend-label{color:var(--ink-muted);font-size:11px}.catbars{flex-direction:column;gap:10px;display:flex}.catbar-row{grid-template-columns:96px 1fr 76px;align-items:center;gap:8px;font-size:13px;display:grid}.catbar-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catbar-track{border-radius:4px;height:12px;display:block;overflow:hidden}.catbar-fill{background:var(--bar);border-radius:0 4px 4px 0;min-width:3px;height:100%;display:block}.catbar-value{text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.list-card{padding:4px 8px}.txrow{text-align:left;border-bottom:1px solid var(--hairline);align-items:center;gap:12px;width:100%;padding:12px 8px;display:flex}.txrow:last-child{border-bottom:none}.txrow-icon{background:var(--page);width:36px;height:36px;color:var(--ink-2);border-radius:12px;flex-shrink:0;place-items:center;font-size:20px;display:grid}.icon-btn svg{font-size:18px}.chip svg{vertical-align:-.15em;font-size:15px}.txrow-main{flex-direction:column;flex:1;min-width:0;display:flex}.txrow-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.txrow-sub{color:var(--ink-muted);font-size:12px}.txrow-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:600}.txrow-amount.income{color:var(--good)}.month-summary{justify-content:space-between;padding:12px 16px;display:flex}.month-summary>span{flex-direction:column;display:flex}.ms-label{color:var(--ink-2);font-size:12px}.ms-value{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.ms-value.income{color:var(--good)}.ms-value.expense{color:var(--ink)}.day-group{flex-direction:column;gap:6px;display:flex}.day-label{color:var(--ink-2);padding-left:4px;font-size:13px;font-weight:600}.empty{color:var(--ink-muted);text-align:center;padding:16px 0;font-size:14px}.tabbar{bottom:calc(12px + env(safe-area-inset-bottom) + var(--app-safe-bottom,0px));background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--glass-border);width:calc(100% - 28px);max-width:452px;box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-hi), inset 0 -1px 0 #ffffff0f;z-index:20;border-radius:34px;justify-content:space-around;align-items:center;padding:8px 6px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.tabbar:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff29,#0000 45%);position:absolute;inset:0}@supports not ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){.tabbar{background:var(--surface)}}.tab{color:var(--ink-2);flex-direction:column;flex:1;align-items:center;gap:2px;padding:2px 0;font-size:11.5px;font-weight:600;display:flex}.tab-icon-wrap{border-radius:15px;place-items:center;width:52px;height:30px;transition:background .15s;display:grid}.tab.active{color:var(--accent)}.tab.active .tab-icon-wrap{background:color-mix(in srgb, var(--accent) 24%, transparent);box-shadow:inset 0 1px #ffffff38}.fab{background:linear-gradient(to bottom, color-mix(in srgb, var(--accent) 88%, #fff), var(--accent));color:#fff;width:52px;height:52px;box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 45%, transparent), inset 0 1px 0 #fff6;border-radius:50%;flex-shrink:0;place-items:center;margin:-16px 4px 0;display:grid}.sheet-backdrop{z-index:30;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:480px;max-height:88dvh;padding:8px 16px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;animation:.22s ease-out sheet-up;overflow-y:auto}@keyframes sheet-up{0%{opacity:.6;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.sheet-grab{background:var(--hairline);border-radius:2px;width:36px;height:4px;margin:4px auto 8px}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sheet-head h2{font-size:17px}.icon-btn{background:var(--page);width:32px;height:32px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:14px;display:grid}.icon-btn:disabled{opacity:.35}.splash{z-index:100;background:var(--page);flex-direction:column;justify-content:center;align-items:center;gap:10px;animation:.45s ease-out 1.15s forwards splash-fade;display:flex;position:fixed;inset:0}.splash-logo{filter:drop-shadow(0 14px 30px #00000047);margin-bottom:6px;animation:.55s cubic-bezier(.2,.9,.3,1.35) splash-pop}.splash h1{color:var(--ink);letter-spacing:-.01em;font-size:28px;animation:.5s ease-out .15s backwards splash-rise}.splash p{color:var(--ink-muted);font-size:14px;animation:.5s ease-out .28s backwards splash-rise}@keyframes splash-pop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes splash-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-fade{to{opacity:0;visibility:hidden}}.onboard{max-width:480px;min-height:100dvh;padding:calc(16px + var(--app-safe-top,0px)) 20px calc(24px + env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.onboard-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.onboard-top-spacer{width:32px}.progress-track{flex:1;gap:6px;margin:0 12px;display:flex}.progress-seg{background:var(--hairline);border-radius:2px;flex:1;height:4px;transition:background .25s}.progress-seg.on{background:var(--accent)}.onboard-body{flex-direction:column;flex:1;gap:14px;padding-top:12px;animation:.3s ease-out step-in;display:flex}@keyframes step-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.onboard-body.center{text-align:center;justify-content:center;align-items:center;gap:10px}.onboard-body h1{letter-spacing:-.01em;font-size:26px}.onboard-lead{color:var(--ink-2);font-size:15px;line-height:1.45}.onboard-logo{font-size:56px}.onboard-actions{flex-direction:column;align-items:stretch;gap:14px;margin-top:auto;padding-top:16px;display:flex}.onboard-actions .link{text-align:center}.onboard-added .txrow{cursor:default}.checklist{flex-direction:column;gap:10px;display:flex}.check-row{background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:center;gap:10px;min-height:60px;padding:10px 14px;display:flex}.check-toggle{align-items:center;gap:10px;display:flex}.check-box{border:2px solid var(--hairline);color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:14px;font-weight:700;transition:background .15s,border-color .15s;display:grid}.check-row.checked .check-box{background:var(--accent);border-color:var(--accent)}.check-row:not(.checked){opacity:.65}.check-label{text-align:left;flex-direction:column;flex:1;gap:2px;font-size:15px;font-weight:600;display:flex}.check-sub{color:var(--ink-2);font-size:12px;font-weight:500}.check-x{color:var(--ink-muted);flex-shrink:0;font-size:14px}.check-note{border:1px dashed var(--hairline);color:var(--ink-muted);border-radius:14px;align-items:center;gap:10px;padding:10px 14px;font-size:12.5px;display:flex}.check-name-input{min-width:0;font:inherit;color:var(--ink);background:var(--page);border:1px solid var(--hairline);border-radius:10px;flex:1;padding:8px 10px;font-size:15px;font-weight:600}.cur-tag{background:var(--page);color:var(--ink-2);border:1px solid var(--hairline);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.cur-seg{flex:0 0 110px}.cur-seg .seg-item{padding:6px 0;font-size:12px}.field-hint{color:var(--ink-muted);font-size:12px;font-weight:400}.btn.secondary{background:var(--page);border:1px solid var(--hairline);color:var(--accent)}.btn-iconed{justify-content:center;align-items:center;gap:8px;display:flex}.btn-iconed svg{font-size:17px}.check-inline{align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.check-inline input{width:20px;height:20px;accent-color:var(--accent)}.inbox-card{padding:4px 14px}.inbox-row{border-bottom:1px solid var(--hairline);align-items:center;gap:10px;padding:9px 0;display:flex}.inbox-row:last-child{border-bottom:none}.inbox-row .txrow-icon{border-radius:10px;width:30px;height:30px;font-size:15px}.inbox-row .txrow-title{font-size:14px}.inbox-row .txrow-sub b{font-weight:700}.inbox-row .good{color:var(--good)}.inbox-row .bad{color:var(--bad)}.inbox-approve,.inbox-skip{border-radius:10px;flex-shrink:0;width:30px;height:30px;font-size:13px}.inbox-approve{background:var(--accent);color:#fff}.inbox-skip{background:var(--page);border:1px solid var(--hairline);color:var(--ink-muted)}.avatar-btn{background:linear-gradient(135deg, var(--accent), #7c5cd6);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:15px;font-weight:800;display:grid}.avatar-btn svg{font-size:17px}.hint-card{border:1px solid var(--accent-soft);background:color-mix(in srgb, var(--accent) 7%, var(--surface));flex-direction:column;gap:10px;display:flex}.hint-card p{color:var(--ink-2);font-size:13.5px;line-height:1.5}.hint-card strong{color:var(--ink)}.hint-actions{align-items:center;gap:16px;display:flex}.hint-actions .btn{width:auto;padding:9px 18px}.page{z-index:80;background:var(--page);animation:.2s ease-out page-in;position:fixed;inset:0;overflow-y:auto}@keyframes page-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.page-head{max-width:480px;padding:calc(10px + var(--app-safe-top,0px)) 16px 4px;align-items:center;gap:8px;margin:0 auto;display:flex}.page-head h1{flex:1;font-size:19px;font-weight:700}.page-head .icon-btn{font-size:24px}.page-body{max-width:480px;padding:8px 16px calc(32px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.menu-chevron{color:var(--ink-muted);flex-shrink:0;font-size:22px}.cat-chip{border-radius:12px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:19px;display:grid}.color-row{flex-wrap:wrap;gap:10px;display:flex}.color-dot{border:2px solid #0000;border-radius:50%;width:30px;height:30px}.color-dot.active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink)}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px;max-height:200px;padding:2px;display:grid;overflow-y:auto}.emoji-cell{background:var(--page);border-radius:10px;place-items:center;height:40px;font-size:20px;display:grid}.emoji-cell.active{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent)}.restore-paste{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);resize:vertical;-webkit-user-select:text;user-select:text;border-radius:12px;padding:10px 12px;font-size:12px}.diag{color:var(--ink-2);background:var(--surface);border:1px solid var(--hairline);white-space:pre-wrap;word-break:break-all;-webkit-user-select:text;user-select:text;border-radius:12px;padding:10px 12px;font-family:ui-monospace,monospace;font-size:11px;line-height:1.5}.good-text{color:var(--good)!important}.bad-text{color:var(--bad)!important}.btn.secondary:disabled{opacity:.45}.onboard-summary{text-align:left;flex-direction:column;gap:12px;width:100%;display:flex}.summary-row{color:var(--ink-2);justify-content:space-between;font-size:15px;display:flex}.summary-row strong{color:var(--ink);font-variant-numeric:tabular-nums}.summary-row.total{border-top:1px solid var(--hairline);color:var(--ink);padding-top:12px;font-size:16px;font-weight:700}.rate-history{border:1px solid var(--hairline);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.rate-row{color:var(--ink-2);border-bottom:1px solid var(--hairline);justify-content:space-between;padding:10px 12px;font-size:14px;display:flex}.rate-row:last-child{border-bottom:none}.rate-row strong{color:var(--ink);font-variant-numeric:tabular-nums}.form{flex-direction:column;gap:14px;display:flex}.seg{background:var(--page);border-radius:12px;padding:3px;display:flex}.seg-item{color:var(--ink-2);border-radius:10px;flex:1;padding:8px 0;font-size:14px;font-weight:600}.seg-item.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--ink-2);font-size:13px;font-weight:600}.field input,.field select{font:inherit;color:var(--ink);background:var(--page);border:1px solid var(--hairline);border-radius:12px;width:100%;padding:12px}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:-1px}.amount-wrap{position:relative}.amount-wrap input{padding-right:56px;font-size:22px;font-weight:700}.amount-cur{color:var(--ink-muted);font-size:14px;font-weight:600;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips-scroll{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:2px 16px;overflow-x:auto}.chips-scroll::-webkit-scrollbar{display:none}.chips-scroll .chip{flex-shrink:0}.form-row2{grid-template-columns:1fr 1.3fr;gap:10px;display:grid}.chip{background:var(--page);border:1px solid var(--hairline);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:500}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.form-actions{gap:10px;margin-top:4px;display:flex}.sheet .form-actions{bottom:calc(-16px - env(safe-area-inset-bottom));margin:4px -16px calc(-16px - env(safe-area-inset-bottom));padding:10px 16px calc(14px + env(safe-area-inset-bottom));background:var(--surface);position:sticky;box-shadow:0 -8px 16px -8px #00000040}.btn{border-radius:14px;flex:1;padding:14px;font-size:16px;font-weight:700}.btn.primary{background:var(--accent);color:#fff}.btn.primary:disabled{opacity:.4}.btn.danger{border:1px solid var(--bad);color:var(--bad);background:0 0;flex:none;padding:14px 18px}
