:root{color-scheme:light;--bg: #f4fbf8;--bg-accent: #e8f8f2;--card: #ffffff;--text: #14231c;--muted: #5b7368;--accent: #00c2a8;--accent-2: #ff5a6a;--btn-text: #06261f;--good: #00a884;--bad: #ff5a6a;--border: #d5ebe3;--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:Segoe UI,Nunito Sans,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 500px at 10% -10%,#c8fff0 0%,transparent 55%),radial-gradient(900px 400px at 100% 0%,#ffe3e7 0%,transparent 50%),var(--bg);color:var(--text);min-height:100vh;min-height:100dvh}body.tg-light{color-scheme:light}a{color:inherit;text-decoration:none}.layout{max-width:920px;margin:0 auto;padding:.85rem 1rem calc(4.5rem + var(--safe-bottom))}.layout-tg{padding-top:.5rem}.center-screen{min-height:70vh;display:grid;place-content:center;justify-items:center;gap:.75rem}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.app-header h1{margin:0;font-size:1.45rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(120deg,#00a884,#ff5a6a 85%);-webkit-background-clip:text;background-clip:text;color:transparent}.nav-top{display:none;gap:.55rem;flex-wrap:wrap;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.nav-top a{opacity:.7;padding:.25rem .15rem;font-size:.95rem;font-weight:600}.nav-top a.active,.nav-top a:hover{opacity:1;color:var(--accent)}.nav-bottom{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);gap:.15rem;padding:.45rem .35rem calc(.45rem + var(--safe-bottom));background:color-mix(in srgb,var(--card) 88%,white 12%);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20}.nav-bottom a{text-align:center;font-size:.72rem;opacity:.65;padding:.35rem .15rem;border-radius:12px;font-weight:650}.nav-bottom a.active{opacity:1;color:var(--btn-text);background:color-mix(in srgb,var(--accent) 28%,white)}@media (min-width: 760px){.nav-top{display:flex}.nav-bottom{display:none}.layout{padding-bottom:2rem}}.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:1rem 1.05rem;margin-bottom:.85rem;box-shadow:0 8px 24px color-mix(in srgb,#00c2a8 8%,transparent)}.hero-card{background:linear-gradient(145deg,#fff,#eafff8 55%,#fff0f2);border-color:color-mix(in srgb,var(--accent) 25%,var(--border))}.hero-net{display:grid;gap:.15rem;padding:.35rem 0 .5rem}.hero-net strong{font-size:1.75rem;letter-spacing:-.03em}h2{margin:0 0 .7rem;font-size:1.08rem;font-weight:750}.muted{color:var(--muted);font-size:.92rem}.row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.3rem 0;flex-wrap:wrap}.btn{background:linear-gradient(135deg,#00d4b8,#00a884);color:var(--btn-text);border:0;border-radius:14px;padding:.65rem 1rem;cursor:pointer;font-weight:750;font-size:.95rem;box-shadow:0 6px 16px color-mix(in srgb,#00c2a8 28%,transparent)}.btn:active{transform:scale(.98)}.btn.secondary{background:color-mix(in srgb,var(--bg-accent) 80%,white);color:var(--text);box-shadow:none;border:1px solid var(--border)}.btn-sm{padding:.4rem .75rem;font-size:.85rem}.btn:disabled{opacity:.5;cursor:default}input,select,textarea{width:100%;padding:.7rem .8rem;border-radius:14px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:1rem}.stack{display:grid;gap:.7rem}.pill{display:inline-block;padding:.12rem .5rem;border-radius:999px;background:var(--bg-accent);font-size:.8rem;font-weight:650}.accent-pill{background:color-mix(in srgb,var(--accent) 18%,white);color:#067a68}.expense{color:var(--bad)}.income{color:var(--good)}.empty{text-align:center;padding:1.25rem .5rem;color:var(--muted)}.bar-track{height:10px;background:color-mix(in srgb,var(--border) 70%,white);border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#7dffd8);border-radius:999px;transition:width .3s ease}.bar-fill.bar-mint{background:linear-gradient(90deg,#00c2a8,#7dffd8)}.bar-fill.bar-coral{background:linear-gradient(90deg,#ff5a6a,#ffb0b8)}.bar-fill.bar-warn{background:linear-gradient(90deg,#f0a202,#ffd56a)}.bar-fill.bar-over{background:linear-gradient(90deg,#ff5a6a,#ff8a95)}.tg-webapp .card{box-shadow:0 4px 14px color-mix(in srgb,#00c2a8 6%,transparent)}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.stat-tile{border-radius:16px;padding:.75rem .85rem;display:grid;gap:.2rem;border:1px solid var(--border)}.income-tile{background:color-mix(in srgb,#00c2a8 12%,white)}.expense-tile{background:color-mix(in srgb,#ff5a6a 10%,white)}.stat-tile strong{font-size:1.15rem}.chart-box{position:relative;width:100%;min-height:200px}.chart-box-flat{min-height:160px}.chart-center-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;pointer-events:none;gap:.1rem}.chart-center-label strong{font-size:1.05rem}.legend-list{display:grid;gap:.45rem}.legend-row{display:grid;grid-template-columns:12px 1fr auto;gap:.55rem;align-items:center}.legend-name{color:var(--text)}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-inline{display:flex;gap:1rem;color:var(--muted);font-size:.9rem}.legend-inline span{display:inline-flex;align-items:center;gap:.35rem}body.brand-light{color-scheme:light!important}
