@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");:root{--bg:#f6f9fc;--bg-hero:#fff;--card:#fff;--card-hover:#fafbfe;--text:#0a2540;--muted:#697386;--border:#e3e8ee;--income:#12b76a;--expense:#df1b41;--accent:#635bff;--accent-hover:#514ae0;--accent-soft:#f0eefe;--shadow:0 2px 5px -1px rgba(50,50,93,.1),0 1px 3px -1px rgba(0,0,0,.08);--shadow-lg:0 6px 20px -4px rgba(50,50,93,.15),0 3px 8px -2px rgba(0,0,0,.1);--radius:12px}[data-theme=dark]{--bg:#0a0e17;--bg-hero:#10151f;--card:#131826;--card-hover:#171d2d;--text:#f4f5f7;--muted:#8b92a5;--border:#232838;--income:#3ddc84;--expense:#ff6b81;--accent:#7a73ff;--accent-hover:#8f89ff;--accent-soft:#1c1a33;--shadow:0 2px 5px -1px rgba(0,0,0,.4),0 1px 3px -1px rgba(0,0,0,.3);--shadow-lg:0 8px 24px -6px rgba(0,0,0,.5),0 3px 8px -2px rgba(0,0,0,.4)}*{box-sizing:border-box}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;transition:background .2s ease,color .2s ease}a{color:inherit;text-decoration:none}.container{max-width:720px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px calc(100px + env(safe-area-inset-bottom))}.topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0 4px}.topbar h2{margin:0;font-weight:700;letter-spacing:-.02em;font-size:clamp(18px,5vw,22px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .greeting-emoji{margin-left:2px}.topbar-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--card);cursor:pointer;color:var(--muted);box-shadow:var(--shadow);transition:transform .15s ease,background .2s ease,color .2s ease}.theme-toggle:active{transform:scale(.92)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:14px;box-shadow:var(--shadow);transition:background .2s ease,border-color .2s ease}.card h3{font-size:14px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 16px}.balance-hero{text-align:center;padding:32px 16px;background:linear-gradient(180deg,var(--bg-hero) 0,var(--card) 100%)}.balance-hero .label{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.balance-hero .amount{font-size:42px;font-weight:800;letter-spacing:-.03em;margin:8px 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.balance-hero .row{display:flex;justify-content:center;gap:10px;margin-top:14px}.pill{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pill.income{color:var(--income);background:color-mix(in srgb,var(--income) 12%,transparent)}.pill.expense{color:var(--expense);background:color-mix(in srgb,var(--expense) 12%,transparent)}.income-text{color:var(--income)}.expense-text{color:var(--expense)}button,input,select,textarea{font-family:inherit;font-size:16px}.field{width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid var(--border);background:var(--card);color:var(--text);margin-bottom:10px;transition:border-color .15s ease,box-shadow .15s ease}.field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.btn{width:100%;padding:13px;border-radius:10px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;box-shadow:var(--shadow);transition:background .15s ease,transform .1s ease}.btn:hover{background:var(--accent-hover)}.btn:active{transform:scale(.98)}.type-toggle{display:flex;gap:8px;margin-bottom:14px;background:var(--bg);padding:4px;border-radius:12px;border:1px solid var(--border)}.type-toggle button{flex:1 1;padding:10px;border-radius:8px;border:none;background:transparent;color:var(--muted);cursor:pointer;font-weight:600;transition:background .15s ease,color .15s ease}.type-toggle button.active-expense{background:var(--expense);color:#fff}.type-toggle button.active-income{background:var(--income);color:#fff}.tx-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.tx-row:last-child{border-bottom:none}.tx-left{display:flex;align-items:center;gap:12px}.dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tx-cat{font-size:13px;color:var(--muted);margin-top:2px}.navbar{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--border);display:flex;padding:8px 0 max(8px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.navbar a{flex:1 1;text-align:center;padding:8px;color:var(--muted);font-size:13px;font-weight:500;transition:color .15s ease}.navbar a.active{color:var(--accent);font-weight:600}.fab{position:fixed;bottom:calc(74px + env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right));width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:28px;line-height:1;box-shadow:var(--shadow-lg);cursor:pointer;z-index:20;transition:transform .15s ease,background .15s ease}.fab:hover{background:var(--accent-hover)}.fab:active{transform:scale(.94)}h1,h2,h3{margin:0 0 12px;letter-spacing:-.01em}.muted{color:var(--muted);font-size:13px}::selection{background:var(--accent-soft);color:var(--accent)}