:root,[data-theme=teal]{--accent: #0f6e66;--accent-deep: #0b5550;--soft: #e3f1ef;--on-soft: #0b4f49;--hero-sub: #cfe8e4;--save: #1e4a8a;--save-bg: #e4ecf8;--for: #5a2e8a;--for-bg: #f0e8f8}[data-theme=blue]{--accent: #1f5fbf;--accent-deep: #174a96;--soft: #e5eefb;--on-soft: #133d7a;--hero-sub: #d3e2f7;--save: #0f6e66;--save-bg: #e3f1ef;--for: #5a2e8a;--for-bg: #f0e8f8}[data-theme=purple]{--accent: #6b3fa0;--accent-deep: #54307e;--soft: #f0e9f8;--on-soft: #4a2a70;--hero-sub: #e2d6f2;--save: #1e4a8a;--save-bg: #e4ecf8;--for: #0b5550;--for-bg: #e3f1ef}:root{--bg: #f4f4f0;--card: #ffffff;--line: #e7e7e1;--line-soft: #f0f0eb;--text: #15171c;--muted: #5b616e;--track: #e9e9e3;--seg: #e7e7e1;--on-accent: #ffffff;--hero: var(--accent);--warn-bg: #fbebdd;--warn-text: #8a3409;--warn-bar: #c2570f;--danger: #b42318;--radius: 16px;color-scheme:light}[data-mode=dark]{--bg: #0f1114;--card: #1a1d22;--line: #2a2e35;--line-soft: #23272d;--text: #ecedef;--muted: #a3a8b1;--track: #2a2e35;--seg: #23272d;--on-accent: #0f1114;--warn-bg: #3a2414;--warn-text: #f2b58a;--warn-bar: #e08a3c;--save-bg: #1a2c48;--save: #bbd3f7;--for-bg: #2e2342;--for: #dccbf3;color-scheme:dark}[data-mode=dark][data-theme=teal]{--accent: #4cc2b4;--hero: #155e57;--soft: #163a36;--on-soft: #a8e3db;--hero-sub: #d6dae0}[data-mode=dark][data-theme=blue]{--accent: #77a9f2;--hero: #1e4f9b;--soft: #1a2c48;--on-soft: #bbd3f7;--hero-sub: #d6dae0}[data-mode=dark][data-theme=purple]{--accent: #b693e3;--hero: #5a3590;--soft: #2e2342;--on-soft: #dccbf3;--hero-sub: #d6dae0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--text)}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}h1,h2,h3,p{margin:0}.screen{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 104px);display:flex;flex-direction:column;gap:12px}.screen.no-tabs{padding-bottom:calc(env(safe-area-inset-bottom) + 24px)}.h1{font-size:28px;font-weight:700;letter-spacing:-.02em}.h2{font-size:17px;font-weight:700}.sub{font-size:13px;color:var(--muted);font-weight:500}.xs{font-size:12px}.muted{color:var(--muted)}.strong{font-weight:700}.accent{color:var(--accent)}.warn-text{color:var(--warn-text)}.section-label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.06em;padding:0 4px;text-transform:uppercase}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.col{display:flex;flex-direction:column;gap:4px}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:0 14px}.list-row{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 0;border-bottom:1px solid var(--line-soft);width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left}.list-row:last-child{border-bottom:0}.hero{background:var(--hero);color:#fff;border-radius:20px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}.hero .label{font-size:12px;font-weight:600;color:var(--hero-sub);letter-spacing:.04em}.hero .big{font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1.05}.hero .note{font-size:13px;color:var(--hero-sub);line-height:1.45}.btn{height:50px;border:0;border-radius:14px;background:var(--accent);color:var(--on-accent);font-size:16px;font-weight:700;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:disabled{opacity:.45}.btn.small{height:38px;font-size:14px;border-radius:19px;padding:0 14px}.btn.outline{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}.btn.ghost{background:transparent;color:var(--accent);height:44px;padding:0 6px;font-weight:600}.btn.danger{background:transparent;color:var(--danger);height:44px;font-weight:600}.btn.block{width:100%}.icon-btn{width:44px;height:44px;border-radius:22px;border:1px solid var(--line);background:var(--card);display:inline-flex;align-items:center;justify-content:center;color:var(--text)}.icon-btn.plain{border:0;background:transparent;color:var(--muted);width:40px}.back{display:inline-flex;align-items:center;gap:2px;font-size:15px;font-weight:600;color:var(--accent);background:none;border:0;padding:0;min-height:36px}.chip{height:38px;padding:0 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);font-size:13px;font-weight:600;white-space:nowrap}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip.round{border-radius:19px;height:34px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.chips.scroll::-webkit-scrollbar{display:none}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--seg);border-radius:12px;padding:3px;gap:3px}.seg button{height:36px;border:0;border-radius:9px;background:transparent;font-size:14px;font-weight:600}.seg button.on{background:var(--card);box-shadow:0 1px 2px #00000014}.field{display:flex;align-items:center;gap:10px;min-height:48px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0 14px}.field>span:first-child{font-size:13px;font-weight:600;color:var(--muted);flex-shrink:0;min-width:64px}.field input,.field select,.field textarea{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:16px;font-weight:600;padding:12px 0}.field select{appearance:none;text-align:right}.form-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:0 16px}.form-list .field{border:0;border-bottom:1px solid var(--line-soft);border-radius:0;padding:0;background:transparent}.form-list .field:last-child{border-bottom:0}.switch{width:50px;height:30px;border-radius:15px;background:var(--track);border:0;position:relative;flex-shrink:0;transition:background .15s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000004d;transition:left .15s}.switch.on{background:var(--accent)}.switch.on:after{left:23px}.bar{height:8px;border-radius:4px;background:var(--track);overflow:hidden}.bar>div{height:100%;border-radius:4px;background:var(--accent)}.bar.thin{height:6px}.bar>div.warn{background:var(--warn-bar)}.bar>div.done{background:var(--muted)}.alert{display:flex;gap:8px;align-items:center;background:var(--warn-bg);color:var(--warn-text);border-radius:10px;padding:9px 12px;font-size:13px;font-weight:500}.info{background:var(--soft);color:var(--on-soft);border-radius:12px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.tag{font-size:10px;font-weight:700;letter-spacing:.04em;border-radius:5px;padding:2px 6px;text-transform:uppercase;white-space:nowrap}.tag.for{color:var(--for);background:var(--for-bg)}.tag.save{color:var(--save);background:var(--save-bg)}.tag.warn{color:var(--warn-text);background:var(--warn-bg)}.tag.plain{color:var(--muted);background:var(--track)}.avatar{width:36px;height:36px;border-radius:18px;background:var(--track);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.amount{text-align:center;font-size:46px;font-weight:700;letter-spacing:-.03em}.keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.keypad button{height:50px;border:0;border-radius:14px;background:var(--card);font-size:24px;font-weight:500}.keypad button:active{background:var(--soft)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--card);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 8px calc(env(safe-area-inset-bottom) + 6px)}.tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;font-size:11px;font-weight:500;color:var(--muted);background:none;border:0}.tabbar .on{color:var(--accent);font-weight:700}.tabbar .fab{justify-self:center;width:56px;height:56px;min-height:56px;border-radius:28px;background:var(--accent);color:var(--on-accent);margin-top:-18px;box-shadow:0 6px 16px #0003}.toast{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 96px);z-index:20;max-width:528px;margin:0 auto;background:#15171c;color:#fff;border-radius:14px;padding:12px 16px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:8px}.toast button{background:none;border:0;color:#9cd6ce;font-weight:700}.day-head{position:sticky;top:0;z-index:2;background:var(--bg);display:flex;justify-content:space-between;padding:10px 4px 6px;font-size:13px;font-weight:700}.empty{text-align:center;color:var(--muted);padding:28px 12px;font-size:14px}.lock{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}.pin-dots{display:flex;gap:14px}.pin-dots span{width:14px;height:14px;border-radius:7px;border:2px solid var(--accent)}.pin-dots span.on{background:var(--accent)}
