*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{background:var(--bg-app);font-family:Space Grotesk,sans-serif;overflow:hidden}:root{--c-brand:#17c45a;--c-brand-hover:#0d9444;--c-brand-light:#f0fdf4;--c-teal:#2dd4bf;--c-income:#17c45a;--c-expense:#f26b5b;--c-warning:#f5c518;--c-goal:#0d9444;--c-slate50:#f8fafc;--c-slate100:#f1f5f9;--c-slate200:#e2e8f0;--c-slate400:#94a3b8;--c-slate500:#64748b;--c-slate600:#475569;--c-slate700:#334155;--c-slate800:#1e293b;--c-slate900:#0f172a;--bg-app:#f8fafc;--bg-card:#fff;--bg-input:#fff;--border:#e2e8f0;--border-light:#f1f5f9;--shadow-sm:#00000014;--shadow-md:#0003;--overlay:#0006;--progress-track:#dcfce7}.dark{--c-brand-light:#0a2e1a;--c-slate50:#0c0f0e;--c-slate100:#131918;--c-slate200:#1a2420;--c-slate400:#5a7a6a;--c-slate500:#7a9a8a;--c-slate600:#a8c4b8;--c-slate700:#c8e0d8;--c-slate800:#d8eee8;--c-slate900:#e8f5f0;--bg-app:#0c0f0e;--bg-card:#131918;--bg-input:#1a2420;--border:#1f2e28;--border-light:#1a2420;--shadow-sm:#0006;--shadow-md:#0009;--overlay:#000000b3;--progress-track:#1a2420}input,button,select,textarea{font-family:Space Grotesk,sans-serif}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#16a34a40;border-radius:999px}.bottom-nav::-webkit-scrollbar{display:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes coinFly{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-70px)scale(.5)}}@keyframes plusFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}@keyframes slideUp{0%{transform:translateY(18px)}to{transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-10px)}to{transform:translate(0)}}@keyframes scaleIn{0%{transform:scale(.92)}to{transform:scale(1)}}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-7px)}}@keyframes skeleton{0%,to{opacity:1}50%{opacity:.35}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.6)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(220px)rotate(540deg)}}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}button:not(:disabled):active{transform:scale(.96);transition:transform 80ms!important}input:focus,select:focus,textarea:focus{transition:box-shadow .15s,border-color .15s;box-shadow:0 0 0 3px #17c45a2e;border-color:var(--c-brand)!important}
