:root{--bg: #f4f5f7;--card: #ffffff;--text: #14181d;--muted: #5b6570;--line: #e3e6ea;--green: #0d9b72;--green-soft: #e2f6ef;--red: #d43d3d;--red-soft: #fbe9e9;--amber: #b97a0a;--amber-soft: #fcf3e0;--accent: #14181d;--accent-text: #ffffff;--nav-bg: #ffffff;--shadow: 0 2px 12px rgba(0, 0, 0, .07);--chart-green: #0d9b72;--chart-red: #d43d3d;color-scheme:light}:root[data-theme=dark]{--bg: #101418;--card: #1a2027;--text: #eef1f4;--muted: #97a1ac;--line: #2a323b;--green: #2dd4a7;--green-soft: #143229;--red: #ff6b6b;--red-soft: #3a1f22;--amber: #f4b942;--amber-soft: #3a3018;--accent: #eef1f4;--accent-text: #101418;--nav-bg: #161b21;--shadow: 0 2px 12px rgba(0, 0, 0, .35);--chart-green: #0d9b72;--chart-red: #dd4f4f;color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #101418;--card: #1a2027;--text: #eef1f4;--muted: #97a1ac;--line: #2a323b;--green: #2dd4a7;--green-soft: #143229;--red: #ff6b6b;--red-soft: #3a1f22;--amber: #f4b942;--amber-soft: #3a3018;--accent: #eef1f4;--accent-text: #101418;--nav-bg: #161b21;--shadow: 0 2px 12px rgba(0, 0, 0, .35);--chart-green: #0d9b72;--chart-red: #dd4f4f;color-scheme:dark}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}#root{min-height:100%}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}input,select,textarea{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--green);outline-offset:0;border-color:transparent}.app{max-width:560px;margin:0 auto;padding:12px 14px calc(84px + env(safe-area-inset-bottom));min-height:100dvh}.page-title{font-size:22px;font-weight:800;margin:8px 2px 14px;display:flex;align-items:center;gap:8px}.page-title .back{font-size:24px;padding:2px 10px 2px 0;color:var(--muted)}.card{background:var(--card);border-radius:16px;padding:16px;box-shadow:var(--shadow);margin-bottom:12px}.card h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:10px;font-weight:700}.big-amount{font-size:34px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.mid-amount{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.amount-green{color:var(--green)}.amount-red{color:var(--red)}.amount-amber{color:var(--amber)}.muted{color:var(--muted);font-size:14px}.small{font-size:13px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.row+.row{margin-top:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.meter{height:12px;border-radius:6px;background:var(--line);overflow:hidden;position:relative;margin-top:8px}.meter>div{height:100%;border-radius:6px;background:var(--green);transition:width .5s ease}.meter.over>div{background:var(--red)}.meter.warn>div{background:var(--amber)}.meter.broken>div{background:repeating-linear-gradient(45deg,var(--red),var(--red) 6px,#7c1d1d 6px,#7c1d1d 12px);animation:meterShake .5s ease 2}@keyframes meterShake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:13px 18px;font-weight:700;font-size:16px;background:var(--accent);color:var(--accent-text);width:100%}.btn.secondary{background:var(--card);color:var(--text);border:1.5px solid var(--line)}.btn.danger{background:var(--red);color:#fff}.btn.small{padding:8px 14px;font-size:14px;width:auto;border-radius:10px}.btn:disabled{opacity:.45;cursor:default}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:9px 14px;font-size:15px;font-weight:600;white-space:nowrap}.chip.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.seg{display:flex;background:var(--line);border-radius:12px;padding:3px;gap:3px}.seg button{flex:1;padding:9px 6px;border-radius:10px;font-weight:700;font-size:14px;color:var(--muted)}.seg button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.nav{position:fixed;bottom:0;left:0;right:0;background:var(--nav-bg);border-top:1px solid var(--line);display:flex;justify-content:space-around;align-items:flex-end;padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:40}.nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--muted);padding:4px 0}.nav button.active{color:var(--text)}.nav button .ico{font-size:22px;line-height:1}.nav .add-btn{flex:0 0 68px;margin-top:-26px}.nav .add-btn .plus{width:58px;height:58px;border-radius:50%;background:var(--green);color:#fff;font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #0d9b7273}.sheet-backdrop{position:fixed;inset:0;background:#00000073;z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--bg);width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;border-radius:20px 20px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom));animation:sheetUp .25s ease}@keyframes sheetUp{0%{transform:translateY(40%);opacity:.6}to{transform:translateY(0);opacity:1}}.sheet h2{font-size:19px;font-weight:800;margin-bottom:14px}.field{margin-bottom:12px}.field label{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:6px}.amount-input{font-size:34px;font-weight:800;text-align:center;padding:14px;border-radius:14px;font-variant-numeric:tabular-nums}.tx-item{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);width:100%;text-align:left}.tx-item:last-child{border-bottom:none}.tx-item .emoji{font-size:22px;width:34px;text-align:center;flex-shrink:0}.tx-item .info{flex:1;min-width:0}.tx-item .info .name{display:block;font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-item .info .sub{display:block;font-size:12.5px;color:var(--muted)}.tx-item .sum{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.date-head{font-size:13px;font-weight:700;color:var(--muted);margin:14px 4px 4px}.feedback{border-radius:16px;padding:16px;margin-bottom:12px;font-weight:600;font-size:15.5px;line-height:1.45;animation:feedbackIn .3s ease}.feedback.ok{background:var(--green-soft);color:var(--green)}.feedback.warn{background:var(--amber-soft);color:var(--amber)}.feedback.bad{background:var(--red-soft);color:var(--red)}.feedback.serious{background:var(--red);color:#fff;font-weight:700}.feedback p+p{margin-top:8px}@keyframes feedbackIn{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.shake{animation:screenShake .45s ease}@keyframes screenShake{0%,to{transform:translate(0)}20%{transform:translate(-5px,2px)}40%{transform:translate(5px,-2px)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px,-1px)}}.debt-hit{animation:debtHit .5s ease}@keyframes debtHit{0%{transform:scale(1)}30%{transform:scale(.96)}55%{transform:scale(1.02)}to{transform:scale(1)}}.debt-destroyed{animation:debtDestroy .9s ease forwards}@keyframes debtDestroy{0%{transform:scale(1) rotate(0);opacity:1}30%{transform:scale(1.04) rotate(-1.5deg)}60%{transform:scale(.9) rotate(2deg);opacity:.8}to{transform:scale(.6) rotate(-6deg);opacity:0}}.zero-flash{font-size:44px;font-weight:900;color:var(--green);text-align:center;animation:zeroPop .7s ease}@keyframes zeroPop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.buffer-grow{animation:bufferPulse .8s ease}@keyframes bufferPulse{0%{box-shadow:0 0 #0d9b7280}to{box-shadow:0 0 0 18px #0d9b7200}}.vahti{cursor:pointer}.vahti .brow,.vahti .pupil{transition:transform .35s ease}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}:root.no-anim *,:root.no-anim *:before,:root.no-anim *:after{animation:none!important;transition:none!important}.pin-screen{position:fixed;inset:0;background:var(--bg);z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px}.pin-dots{display:flex;gap:14px}.pin-dots span{width:16px;height:16px;border-radius:50%;border:2px solid var(--muted)}.pin-dots span.filled{background:var(--text);border-color:var(--text)}.pin-pad{display:grid;grid-template-columns:repeat(3,76px);gap:12px}.pin-pad button{height:64px;border-radius:50%;background:var(--card);font-size:24px;font-weight:700;box-shadow:var(--shadow)}.menu-item{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:15px 16px;background:var(--card);border-radius:14px;margin-bottom:10px;font-weight:700;font-size:16px;box-shadow:var(--shadow)}.menu-item .ico{font-size:22px}.menu-item .desc{display:block;font-size:12.5px;color:var(--muted);font-weight:500;margin-top:2px}.menu-item .chev{margin-left:auto;color:var(--muted)}.badge{background:var(--red);color:#fff;font-size:12px;font-weight:800;border-radius:999px;padding:2px 8px;margin-left:auto}.list-plain{list-style:none}.list-plain li{padding:10px 0;border-bottom:1px solid var(--line)}.list-plain li:last-child{border-bottom:none}.notice{border-radius:14px;padding:14px;font-size:14.5px;font-weight:600;margin-bottom:12px}.notice.warn{background:var(--amber-soft);color:var(--amber)}.notice.bad{background:var(--red-soft);color:var(--red)}.notice.good{background:var(--green-soft);color:var(--green)}
