:root{--bg-color: #0b0c10;--bg-secondary: #121620;--card-bg: #161c28;--card-hover: #1c2434;--input-bg: #1a2232;--border: #2a374a;--border-focus: #3b82f6;--primary: #2dd4bf;--primary-hover: #14b8a6;--primary-glow: rgba(45, 212, 191, .25);--purple: #a78bfa;--purple-hover: #8b5cf6;--purple-glow: rgba(167, 139, 250, .3);--income: #10b981;--income-hover: #059669;--income-bg: rgba(16, 185, 129, .1);--expense: #f87171;--expense-hover: #ef4444;--expense-bg: rgba(248, 113, 113, .1);--asset: #38bdf8;--asset-bg: rgba(56, 189, 248, .1);--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-card: 0 4px 20px -2px rgba(0, 0, 0, .5);--transition: all .2s ease-in-out}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-main);min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 15px #a78bfa66;transform:scale(1)}50%{box-shadow:0 0 30px #a78bfab3;transform:scale(1.02)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .25s ease-out forwards}button{font-family:inherit;cursor:pointer;border:none;background:none;transition:var(--transition)}input,select,textarea{font-family:inherit;color:var(--text-main);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:.6rem .85rem;outline:none;transition:var(--transition)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}
