:root{--bg: #eef4f1;--surface: #ffffff;--surface-2: #e2ece7;--ink: #12302b;--muted: #55706a;--line: #d3e0da;--accent: #0d7562;--accent-ink: #ffffff;--accent-soft: #d4eee6;--good: #17805a;--good-soft: #d8f1e5;--warn: #96610c;--warn-soft: #fbeccb;--bad: #bb3a35;--bad-soft: #fbe0dd;--display: "Bricolage Grotesque", "Trebuchet MS", sans-serif;--body: "Figtree", "Segoe UI", system-ui, sans-serif;--r: 16px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0d1a18;--surface: #152624;--surface-2: #1f3431;--ink: #e5f1ed;--muted: #9db5af;--line: #2a4340;--accent: #4fcbb0;--accent-ink: #082420;--accent-soft: #173f38;--good: #5fd3a3;--good-soft: #143b2d;--warn: #efbb5c;--warn-soft: #40310f;--bad: #f28b84;--bad-soft: #472020;color-scheme:dark}}:root[data-theme=dark]{--bg: #0d1a18;--surface: #152624;--surface-2: #1f3431;--ink: #e5f1ed;--muted: #9db5af;--line: #2a4340;--accent: #4fcbb0;--accent-ink: #082420;--accent-soft: #173f38;--good: #5fd3a3;--good-soft: #143b2d;--warn: #efbb5c;--warn-soft: #40310f;--bad: #f28b84;--bad-soft: #472020;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--body);font-variant-numeric:tabular-nums}h1,h2,h3{font-family:var(--display);line-height:1.15;margin:0;text-wrap:balance}p{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.wrap{max-width:980px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:14px 110px;display:grid;gap:16px}header.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand{font:700 24px var(--display);letter-spacing:-.02em}.brand span{color:var(--accent)}.top-right{display:flex;align-items:center;gap:8px}.acct{border:1.5px solid var(--line);background:var(--surface);padding:7px 14px;border-radius:99px;font-weight:600}a{color:var(--accent)}.tabs{display:flex;gap:4px}.tab{border:0;background:none;padding:8px 14px;border-radius:10px;font-weight:600;color:var(--muted)}.tab[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.fab{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:5;border:0;background:var(--accent);color:var(--accent-ink);font-weight:700;padding:14px 20px;border-radius:99px;box-shadow:0 6px 18px #08282247}.monthnav{display:flex;align-items:center;justify-content:space-between;gap:8px}.monthnav strong{font:700 20px var(--display)}.iconbtn{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-size:20px}.banner{background:var(--accent-soft);border-radius:var(--r);padding:12px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.banner p{flex:1 1 240px;min-width:0}.btn{border:0;background:var(--accent);color:var(--accent-ink);padding:11px 18px;border-radius:12px;font-weight:700}.btn.ghost{background:none;color:var(--accent);border:1.5px solid var(--accent)}.btn.danger{background:none;color:var(--bad);border:1.5px solid var(--bad)}.btn.full{width:100%}.grid{display:grid;gap:16px}.card{background:var(--surface);border-radius:var(--r);padding:18px;display:grid;gap:12px;min-width:0;align-content:start}.pill{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;padding:4px 12px;border-radius:99px;justify-self:start}.pill.good{background:var(--good-soft);color:var(--good)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.hero-num{font:700 clamp(40px,11vw,56px)/1 var(--display);letter-spacing:-.02em}.muted{color:var(--muted)}.small{font-size:14px}.beam svg{width:100%;height:auto;display:block;max-width:420px;margin:0 auto}.beam-labels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.beam-labels div:last-child{text-align:right}.fig{font-weight:700;font-size:20px}.note{padding:14px 16px;border-radius:12px;display:grid;gap:4px}.note.good{background:var(--good-soft)}.note.warn{background:var(--warn-soft)}.note.bad{background:var(--bad-soft)}.note b{font-weight:700}.cat{display:grid;gap:5px}.cat-row{display:flex;justify-content:space-between;gap:12px}.cat-row span:first-child{min-width:0;overflow-wrap:anywhere;font-weight:600}.cat-row span:last-child{flex:none;color:var(--muted);font-size:14px}.bar{height:9px;border-radius:9px;background:var(--surface-2);overflow:hidden}.bar i{display:block;height:100%;border-radius:9px;background:var(--accent)}.bar i.warn{background:var(--warn)}.bar i.bad{background:var(--bad)}.spend{display:grid;gap:12px}.spend-row{display:grid;gap:5px;padding:2px 0;border-radius:6px}.spend-row:hover .spend-track i{background:var(--ink)}.spend-track{height:12px}.spend-track i{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--accent)}.tx{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 0}.tx:last-child{border-bottom:0}.tx>span:first-child{min-width:0;overflow-wrap:anywhere}.tx small{display:block;color:var(--muted);font-size:14px}.tx b{flex:none}.tx b.in{color:var(--good)}.day{font-weight:700;color:var(--muted);font-size:14px;margin-top:8px}.field{display:grid;gap:5px;min-width:0}.field>label,.lbl{font-weight:600;font-size:14px}.input{width:100%;min-width:0;padding:11px 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface)}.money{position:relative}.money span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600}.money .input{padding-left:30px}.row{display:grid;grid-template-columns:minmax(0,1fr) 128px 40px;gap:8px;align-items:center}.row .x{width:40px;height:44px;background:none;border:0;color:var(--muted);font-size:20px}.wiz-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:10px;align-items:center}.seg{display:flex;background:var(--surface-2);padding:4px;border-radius:12px;gap:4px}.seg button{flex:1;border:0;background:none;padding:9px;border-radius:9px;font-weight:600;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1.5px solid var(--line);background:none;padding:7px 12px;border-radius:99px;font-weight:500}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.sheet-bg{position:fixed;inset:0;z-index:20;background:#0618148c;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--bg);width:100%;max-width:560px;max-height:92%;overflow-y:auto;border-radius:20px 20px 0 0;padding:20px max(18px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));display:grid;gap:14px}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.steps{color:var(--muted);font-size:14px;font-weight:600}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions .btn{flex:1 1 130px}.amount{font:700 34px var(--display);text-align:center;padding:10px}nav.bottom{position:fixed;left:0;right:0;bottom:0;z-index:4;display:none;background:var(--surface);border-top:1px solid var(--line);padding:6px max(10px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px))}nav.bottom .tab{flex:1}footer{text-align:center}@media(max-width:719px){header .tabs{display:none}nav.bottom{display:flex;gap:4px}}@media(min-width:720px){.fab{bottom:28px}.wrap{padding-bottom:90px}.sheet-bg{align-items:center}.sheet{border-radius:20px}}@media(min-width:860px){.grid.two{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}}@media(prefers-reduced-motion:no-preference){#beamArm{transition:transform .5s ease}}
