:root{--accent:#4fc1ff;--accent-ink:#00202f;--bg:#f6f8f9;--surface:#fff;--ink:#14202a;--muted:#5d6b76;--line:#dbe2e7;--danger:#c03030;--ok:#1f8a4c;--radius:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--accent:#4fc1ff;--accent-ink:#00202f;--bg:#0e1418;--surface:#172026;--ink:#e8eef2;--muted:#93a2ad;--line:#26343d;--danger:#ff7a7a;--ok:#5fd68d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--accent:#4fc1ff;--accent-ink:#00202f;--bg:#0e1418;--surface:#172026;--ink:#e8eef2;--muted:#93a2ad;--line:#26343d;--danger:#ff7a7a;--ok:#5fd68d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}#app{height:100%}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button,input,select{touch-action:manipulation}body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}h1,h2,h3{margin:0}h2{font-size:1.1rem}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.85rem}.shell{flex-direction:column;max-width:560px;height:100%;margin:0 auto;display:flex}.top{padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex}.top strong{letter-spacing:.02em}.pill{color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:2px 10px;font-size:.8rem}main{flex:1;padding:0 16px 16px;overflow-y:auto}.banner{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin:0 16px 10px;padding:10px 12px;font-size:.92rem;display:flex}.banner.warn{border-color:var(--accent)}.banner button{white-space:nowrap}.tabbar{border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid}.tabbar button{min-height:54px;color:var(--muted);background:0 0;border:0;padding:14px 4px;font-size:.88rem;position:relative}.tabbar button[aria-current=page]{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent);font-weight:600}.badge{background:var(--danger);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:.72rem;line-height:18px;position:absolute;top:8px;right:calc(50% - 26px)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:14px}.seg{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-auto-columns:1fr;grid-auto-flow:column;margin-bottom:12px;display:grid;overflow:hidden}.seg button{background:0 0;border:0;min-height:46px;padding:12px 6px}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);font-weight:600}.field{margin-bottom:12px;display:block}.field>span{color:var(--muted);margin-bottom:4px;font-size:.8rem;display:block}input,select{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;min-height:48px;padding:8px 12px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.amount-row{grid-template-columns:1fr 96px;gap:8px;margin-bottom:12px;display:grid}.amount-row input{min-height:60px;font-size:1.8rem;font-weight:600}.chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chips.scroll{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.chip{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:10px 14px;display:inline-flex}.cat .name{align-items:center;gap:8px;display:inline-flex}.ci{flex:none}.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.row{align-items:center;gap:8px;display:flex}.row>*{flex:1}.pin{vertical-align:-3px;margin-right:4px}.row>.fit{flex:none}.primary{border-radius:var(--radius);background:var(--accent);width:100%;min-height:54px;color:var(--accent-ink);border:0;font-size:1.05rem;font-weight:700}.primary:disabled{opacity:.5}.secondary{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-height:44px;padding:0 14px}.danger{color:var(--danger);border-color:var(--danger)}.err{color:var(--danger);margin:-6px 0 10px;font-size:.85rem}.toast{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);border-radius:999px;padding:10px 18px;font-size:.9rem;position:fixed;transform:translate(-50%)}.muted{color:var(--muted);font-size:.88rem}.stat{justify-content:space-between;align-items:baseline;padding:4px 0;display:flex}.stat b{font-size:1.25rem}.bar{background:var(--line);border-radius:4px;height:8px;margin:6px 0;overflow:hidden}.bar>i{background:var(--accent);height:100%;display:block}.bar.over>i{background:var(--danger)}.cat{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;width:100%;padding:10px 0}.cat .line{justify-content:space-between;gap:8px;display:flex}.entry{text-align:left;border:0;border-bottom:1px dashed var(--line);background:0 0;justify-content:space-between;gap:8px;width:100%;padding:10px 0 10px 12px;display:flex}.monthnav{justify-content:space-between;align-items:center;margin:4px 0 12px;display:flex}.monthnav button{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:48px;min-height:48px}.sheet-back{z-index:10;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-radius:20px 20px 0 0;width:100%;max-width:560px;max-height:92%;padding:16px;overflow-y:auto}.brand{align-items:center;gap:8px;display:flex}.brand .fi{color:#4fc1ff}.logo{background:#0e1418;border-radius:8px;width:28px;height:28px;padding:3px}
