:root{--bg:#0b0d10;--card:#14181d;--card-edge:#1f252c;--text:#f2f5f7;--text-soft:#8b97a3;--glow-budget:#3ddc97;--glow-networth:#6ea8ff;--glow-safe:#ffd166;--glow-alert:#ff6b6b;--accent:var(--glow-budget);--on-accent:#06210f;--radius-card:20px;--radius-pill:999px;--space:16px;--tabbar-height:64px;--sidebar-width:220px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:light){:root{--bg:#f4f6f8;--card:#fff;--card-edge:#e3e8ed;--text:#12161a;--text-soft:#5d6a76;--glow-budget:#12a36a;--glow-networth:#2f6fe0;--glow-safe:#c98a00;--glow-alert:#e03e3e;--on-accent:#fff}}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none}.app{flex-direction:column;height:100%;display:flex}.main{padding:calc(env(safe-area-inset-top) + var(--space)) var(--space) calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 88px);flex:1;width:100%;max-width:760px;margin:0 auto;overflow-y:auto}.screen-head{margin-bottom:var(--space);align-items:center;gap:8px;display:flex}.screen-title{flex:1;font-size:28px;font-weight:700}.screen-head .back+.screen-title{flex:none}.icon-btn,.back{border-radius:var(--radius-pill);width:40px;height:40px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.icon-btn svg,.back svg{width:24px;height:24px}.icon-btn:hover,.back:hover{background:var(--card-edge);color:var(--text)}.back{margin-left:-8px}.card{background:var(--card);border:1px solid var(--card-edge);border-radius:var(--radius-card);margin-bottom:12px;padding:20px}.card .label{color:var(--text-soft);font-size:14px}.card .big{color:var(--glow-budget);text-shadow:0 0 24px color-mix(in srgb, var(--glow-budget) 55%, transparent);margin-top:6px;font-size:40px;font-weight:700}.card p{color:var(--text-soft);margin-top:8px;font-size:15px;line-height:1.4}.tabbar{height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--card) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--card-edge);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:11px;display:flex}.tab svg{width:24px;height:24px}.tab[aria-current=page]{color:var(--accent)}.tab[aria-current=page] svg{filter:drop-shadow(0 0 6px var(--accent))}.fab{right:var(--space);bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--space));border-radius:var(--radius-pill);background:var(--accent);width:56px;height:56px;color:var(--on-accent);box-shadow:0 0 24px color-mix(in srgb, var(--accent) 60%, transparent);cursor:pointer;border:0;place-items:center;display:grid;position:fixed}.fab svg{width:28px;height:28px}@media (width>=900px){.app{flex-direction:row}.tabbar{width:var(--sidebar-width);border-top:0;border-right:1px solid var(--card-edge);flex-direction:column;flex-shrink:0;order:-1;justify-content:flex-start;gap:4px;height:100%;padding:24px 12px;position:static}.tab{border-radius:12px;flex-direction:row;flex:none;justify-content:flex-start;gap:12px;padding:12px 14px;font-size:15px}.tab[aria-current=page]{background:var(--card-edge)}.main{max-width:900px;padding-bottom:96px}.fab{bottom:32px;right:32px}}.field{margin-top:18px;display:block}.field>span{color:var(--text-soft);margin-bottom:6px;font-size:14px;display:block}.field input{width:100%;min-width:0;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--card-edge);border-radius:12px;padding:12px 14px;font-size:16px}.field input:focus{outline:2px solid var(--accent);outline-offset:1px}.field .row{gap:8px;display:flex}.warn{color:var(--glow-alert);margin-top:6px;font-size:13px;display:block}.actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.btn{font:inherit;cursor:pointer;color:var(--text);background:var(--card-edge);border-radius:var(--radius-pill);border:0;padding:12px 18px;font-size:15px;font-weight:600}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.ghost{color:var(--text-soft);background:0 0}.btn:disabled{opacity:.6;cursor:default}.notice{border-radius:12px;margin-top:16px;padding:12px 14px;font-size:15px;line-height:1.4}.notice.good{background:color-mix(in srgb, var(--glow-budget) 15%, transparent);color:var(--glow-budget)}.notice.bad{background:color-mix(in srgb, var(--glow-alert) 15%, transparent);color:var(--glow-alert)}.pill{border-radius:var(--radius-pill);color:var(--glow-safe);background:color-mix(in srgb, var(--glow-safe) 15%, transparent);padding:4px 10px;font-size:12px;font-weight:600}.month-switch{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.month-switch .icon-btn:disabled{opacity:.3;cursor:default}.totals{gap:24px;display:flex}.totals>div{flex:1}.num{margin-top:4px;font-size:26px;font-weight:700}.good{color:var(--glow-budget)}.soft{color:var(--text-soft)}.day{margin-top:8px}.day-head{color:var(--text-soft);justify-content:space-between;padding:8px 4px;font-size:14px;display:flex}.card.list{padding:4px 16px}.tx{border-bottom:1px solid var(--card-edge);align-items:center;gap:12px;padding:12px 0;display:flex}.tx:last-child{border-bottom:0}.tx-main{flex:1;min-width:0}.tx-title{white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.tx-sub{color:var(--text-soft);margin-top:2px;font-size:13px}.tx-amt{text-align:right;font-variant-numeric:tabular-nums;font-size:16px}.chips{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px;display:grid}.chip{background:var(--bg);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.chip span{color:var(--text-soft);font-size:13px}.chip b{font-size:16px}@media (width>=900px){.chips{grid-template-columns:repeat(4,1fr)}}
