:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-glass:#ffffffbf;--input-bg:#ffffff80;--text-primary:#0f172a;--text-secondary:#64748b;--accent-income:#059669;--accent-expense:#dc2626;--accent-primary:#2563eb;--border-color:#0000001a;--shadow-glass:0 8px 32px 0 #0000000d;--shadow-app:0 0 40px #0000001a;--border-radius-lg:24px;--border-radius-md:16px;--border-radius-sm:8px;--blur-glass:blur(12px);--font-family:"Inter", system-ui, -apple-system, sans-serif}:root.dark{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-glass:#1e293bb3;--input-bg:#0f172a80;--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent-income:#10b981;--accent-expense:#ef4444;--accent-primary:#3b82f6;--border-color:#ffffff1a;--shadow-glass:0 8px 32px 0 #0000005e;--shadow-app:0 0 40px #000c}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;transition:background-color .3s,color .3s}.app-container{background-color:var(--bg-primary);max-width:1000px;min-height:100vh;box-shadow:var(--shadow-app);flex-direction:column;margin:0 auto;transition:background-color .3s,box-shadow .3s;display:flex;position:relative;overflow-x:hidden}@media (width<=768px){.app-container{box-shadow:none;max-width:100%}}.desktop-layout,.left-column,.right-column{flex-direction:column;gap:1.5rem;display:flex}@media (width>=768px){.desktop-layout{flex-direction:row;align-items:flex-start}.left-column{flex:1;position:sticky;top:1.5rem}.right-column{flex:1.2}}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass);transition:background .3s,border-color .3s,box-shadow .3s;position:relative}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.w-full{width:100%}.btn{background:var(--accent-primary);color:#fff;border-radius:var(--border-radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;width:100%;padding:1rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 14px #2563eb4d}:root.dark .btn{box-shadow:0 4px 14px #3b82f663}.btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.icon-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;font-size:1.25rem;transition:all .2s;display:flex}.icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.input-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.input-label{color:var(--text-secondary);margin-left:.25rem;font-size:.875rem;font-weight:500}.input-field{background:var(--input-bg);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--border-radius-md);padding:1rem;font-family:inherit;font-size:1rem;transition:all .3s}.input-field:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #2563eb33}.amount-wrapper{background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);transition:all .3s;display:flex;overflow:hidden}.amount-wrapper:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 2px #2563eb33}.currency-symbol{color:var(--text-secondary);white-space:nowrap;align-items:center;padding:1rem .5rem 1rem 1rem;font-weight:500;display:flex}.amount-input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;padding:1rem 1rem 1rem 0;font-family:inherit;font-size:1rem}@media (width<=400px){.flex-responsive{flex-direction:column}}h1{letter-spacing:-.02em;font-size:1.75rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-income{color:var(--accent-income)}.text-expense{color:var(--accent-expense)}.text-muted{color:var(--text-secondary)}.text-center{text-align:center}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.5s cubic-bezier(.16,1,.3,1) forwards slideUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.4s forwards fadeIn}
