@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--bg-main:#080c16;--bg-card:#141a2999;--bg-card-hover:#1b2337d9;--bg-input:#0e121bb3;--border-light:#2d385366;--border-focus:#1a8cff99;--border-hover:#3e4f7499;--color-primary:#1a8cff;--color-secondary:#9942f0;--color-receita:#17cf63;--color-despesa:#f04251;--color-meta:#f9c31f;--color-pj:#b642f0;--text-primary:#f0f2f5;--text-secondary:#9ba4b0;--text-muted:#67717e;--font-family:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--shadow-glow:0 0 20px #1a8cff26;--shadow-card:0 12px 40px -12px #00000080;--gradient-neon:linear-gradient(135deg, var(--color-primary), var(--color-secondary));--gradient-receita:linear-gradient(135deg, #14b858, #11d493);--gradient-despesa:linear-gradient(135deg, #ee2b3b, #f45925);--gradient-meta:linear-gradient(135deg, #f9bc06, #f98006);--gradient-dark:linear-gradient(180deg, #111622, #070a12);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;font-family:var(--font-family);-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background:var(--bg-main);color:var(--text-primary);min-height:100vh;position:relative;overflow-x:hidden}body:before,body:after{content:"";filter:blur(120px);z-index:-1;pointer-events:none;opacity:.15;border-radius:50%;width:300px;height:300px;position:absolute}body:before{background:var(--color-primary);top:10%;left:10%}body:after{background:var(--color-secondary);bottom:10%;right:10%}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.glass-card.interactive:hover{background:var(--bg-card-hover);border-color:var(--border-focus);box-shadow:var(--shadow-glow), var(--shadow-card)}.btn-primary{background:var(--gradient-neon);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 15px #2563eb4d}.btn-primary:hover{box-shadow:0 6px 20px #2563eb73, var(--shadow-glow);filter:brightness(1.1);transform:translateY(-1px)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-hover)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.input-field{background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:12px 16px;font-size:15px;transition:all .2s}.input-field:hover{border-color:var(--border-hover)}.input-field:focus{border-color:var(--color-primary);box-shadow:var(--shadow-glow);background:var(--bg-main)}.input-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:550;display:block}.progress-bar-container{background:var(--border-light);border-radius:4px;width:100%;height:8px;margin-top:8px;overflow:hidden}.progress-bar-fill{border-radius:4px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animated-fade-in{animation:.4s cubic-bezier(.4,0,.2,1) forwards fadeIn}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.text-gradient{background:var(--gradient-neon);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}
