:root{--bg-primary:220 20% 98%;--bg-secondary:220 18% 95%;--bg-card:220 16% 100%;--text-primary:220 20% 10%;--text-secondary:220 15% 30%;--text-muted:220 15% 45%;--accent-primary:142.3 95.6% 8.8%;--accent-secondary:142.3 95.6% 15%;--success:142.3 95.6% 8.8%;--success-light:142.3 95.6% 15%;--success-bg:#16a34a26;--danger:0 84% 50%;--danger-light:0 84% 40%;--danger-bg:#ef444426;--warning:45 93% 50%;--warning-light:45 93% 40%;--warning-bg:#fbbf2426;--info:190 90% 50%;--info-light:190 90% 60%;--card-accent:142.3 95.6% 8.8%;--card-accent-light:142.3 95.6% 15%;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--glass-bg:#00000008;--glass-border:#0000001a;--glass-highlight:#00000026}*{box-sizing:border-box;margin:0;padding:0}body{background-color:hsl(var(--bg-primary));color:hsl(var(--text-primary));-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden}html,body,#root{width:100%;min-height:100vh}html.modal-open,body.modal-open,#root.modal-open{overflow:hidden}@supports (min-height:100dvh){html,body,#root{min-height:100dvh}}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 8px 32px #0000004d}.glass-panel{background:hsl(var(--bg-card) / .9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.text-gradient{background:linear-gradient(135deg, hsl(var(--accent-primary)), hsl(var(--success-light)));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.income-text{color:hsl(var(--success-light));font-weight:600}.expense-text{color:hsl(var(--danger-light));font-weight:600}h1{letter-spacing:-.02em;font-size:2rem;font-weight:700}h2{letter-spacing:-.01em;font-size:1.5rem;font-weight:600}p{color:hsl(var(--text-secondary));font-size:1rem}.app-container{height:100vh;min-height:100vh;padding-bottom:calc(80px + env(safe-area-inset-bottom));flex-direction:column;display:flex}@supports (height:100dvh){.app-container{height:100dvh;min-height:100dvh}}.main-content{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:1;max-width:100vw;padding:1rem;position:relative;overflow-y:auto}.pull-refresh-indicator{z-index:20;border:1px solid hsla(var(--success), .25);background:hsl(var(--bg-card));color:hsl(var(--text-secondary));pointer-events:none;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem .9rem;transition:opacity .16s,transform .16s,background .16s,color .16s;display:inline-flex;position:absolute;top:0;left:50%;box-shadow:0 8px 24px #0f172a1f}.pull-refresh-indicator.ready{background:hsl(var(--success));color:#fff;border-color:hsla(var(--success), .9)}.pull-refresh-indicator span{color:inherit;font-size:.82rem;font-weight:600}.pull-refresh-indicator .spinning{animation:.9s linear infinite pull-refresh-spin}.modal-overlay-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}.modal-sheet-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 2rem);overflow-y:auto}@keyframes pull-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.firefox-browser.touch-device .glass,.firefox-browser.touch-device .glass-panel{-webkit-backdrop-filter:none}.firefox-browser.touch-device .app-container{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.firefox-browser.touch-device .main-content{width:100%;max-width:100%;margin:0;padding:.9rem}@media (width>=768px){.main-content{width:100%;max-width:none;margin:0;padding:1rem 1.25rem}.bottom-nav{border-top-left-radius:22px;border-top-right-radius:22px;width:100%;left:0;right:0;transform:none}}@media (width>=768px) and (width<=1180px){.card{padding:1.25rem}.transaction-list{gap:.75rem}.summary-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (pointer:coarse){.main-content{width:100%;max-width:100%;margin:0;padding:.9rem}.bottom-nav{border-top-left-radius:18px;border-top-right-radius:18px;width:100%;left:0;right:0;transform:none}.nav-item{min-width:0;padding:.45rem .5rem}.nav-item span{white-space:nowrap;font-size:.72rem}}.firefox-browser.touch-device .bottom-nav{background:hsl(var(--bg-card));-webkit-backdrop-filter:none;border-top-left-radius:18px;border-top-right-radius:18px;width:100%;left:0;right:0;transform:none;box-shadow:0 -6px 24px #0000001f}.firefox-browser.touch-device .nav-item{min-width:0;padding:.45rem .4rem}.firefox-browser.touch-device .nav-item span{white-space:nowrap;font-size:.72rem}.firefox-browser.tablet-device .card{padding:1.1rem}.firefox-browser.tablet-device .summary-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}@media (width<=640px){.main-content{padding:.75rem}#root.modal-open .app-top-brand{display:none!important}.modal-overlay-scroll{padding-top:max(.75rem, env(safe-area-inset-top))!important;padding-bottom:max(.75rem, env(safe-area-inset-bottom))!important;justify-content:center!important;align-items:flex-start!important}.modal-sheet-scroll{max-height:calc(100dvh - max(1.5rem, env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important}h1{font-size:1.5rem}h2{font-size:1.2rem}.card{padding:1rem}.input-group{margin-bottom:1rem}.summary-income,.summary-expense,.summary-balance{justify-content:center!important;min-height:auto!important;padding:.5rem!important}.summary-income p,.summary-expense p,.summary-balance p{-webkit-user-select:none;user-select:none;letter-spacing:0!important;font-size:.7rem!important;line-height:1.15!important;display:block!important}.summary-income p:last-child,.summary-expense p:last-child,.summary-balance p:last-child{margin-top:.25rem!important;font-size:.85rem!important}.transaction-item{padding:.8rem}.btn-primary,.btn-secondary,.btn-success,.btn-danger{padding:.7rem 1rem}.summary-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.4rem!important}.transaction-item{flex-direction:row;gap:.5rem;align-items:center!important}.transaction-item>div:nth-child(2){flex:1}.transaction-list{gap:.6rem}.dashboard-balance{font-size:2rem!important}.dashboard-links{flex-wrap:wrap}.card-item{padding:.75rem!important}.card-item-limit-grid{border-radius:8px!important;grid-template-columns:1fr 1fr 1fr!important;gap:.5rem!important;width:100%!important;margin:1rem 0 0!important}.card-item-limit-grid>div{flex-direction:column!important;align-items:center!important;display:flex!important}.card-item-limit-grid>div>div:first-child{margin-bottom:2px!important;font-size:.55rem!important}.card-item-limit-grid>div>div:last-child{font-size:.75rem!important}.card-item-progress-text{flex-direction:column;align-items:flex-start;gap:2px;font-size:.65rem!important}.card-item-header{padding:1rem!important}.card-item-header>div>div:first-child{font-size:1rem!important}.card-item-header>div>div:last-child{gap:.5rem;display:flex;letter-spacing:2px!important;font-size:.85rem!important}.card-item-progress{margin-top:.75rem!important}.card-item-expand-btn{padding:.6rem 1rem!important;font-size:.75rem!important}.card-tx-item{padding:.75rem 1rem!important}.card-tx-item>div>div:first-child{font-size:.85rem!important}.card-tx-item>div>div:last-child{font-size:.7rem!important}.card-tx-item>span{font-size:.85rem!important}.pie-chart-container{width:100%!important;height:250px!important}.recharts-wrapper,.recharts-surface{width:100%!important;height:100%!important}}img,svg,canvas,video{max-width:100%}html,body,#root,.app-container,.main-content{overflow-x:hidden}.bottom-nav{z-index:50;height:70px;padding-bottom:env(safe-area-inset-bottom);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);background:hsl(var(--bg-card));border-top:1px solid var(--glass-border);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000001a}.nav-item{color:hsl(var(--text-muted));border-radius:var(--radius-sm);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:.5rem 1rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.nav-item:hover{color:hsl(var(--text-secondary));background:var(--glass-bg)}.nav-item.active{color:hsl(var(--accent-primary));transform:translateY(-2px)}.nav-item.active svg{filter:drop-shadow(0 0 10px hsla(var(--accent-primary), .6))}.nav-item svg{transition:all .3s}.nav-item.active svg{transform:scale(1.1)}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}.btn-primary{background:linear-gradient(135deg, hsl(var(--accent-primary)), hsl(var(--success-light)));color:#fff;border-radius:var(--radius-md);box-shadow:0 4px 15px hsla(var(--accent-primary), .3);justify-content:center;align-items:center;gap:8px;padding:.8rem 1.5rem;font-weight:600;transition:all .2s;display:flex}.btn-primary:hover{box-shadow:0 6px 20px hsla(var(--accent-primary), .4);transform:translateY(-1px)}.btn-primary:active{transform:scale(.98)}.btn-success{background:linear-gradient(135deg, hsl(var(--success)), hsl(var(--success-light)));color:#fff;border-radius:var(--radius-md);box-shadow:0 4px 15px hsla(var(--success), .3);justify-content:center;align-items:center;gap:8px;padding:.8rem 1.5rem;font-weight:600;transition:all .2s;display:flex}.btn-success:hover{box-shadow:0 6px 20px hsla(var(--success), .4)}.btn-danger{background:linear-gradient(135deg, hsl(var(--danger)), hsl(var(--danger-light)));color:#fff;border-radius:var(--radius-md);box-shadow:0 4px 15px hsla(var(--danger), .3);justify-content:center;align-items:center;gap:8px;padding:.8rem 1.5rem;font-weight:600;transition:all .2s;display:flex}.btn-danger:hover{box-shadow:0 6px 20px hsla(var(--danger), .4)}.btn-secondary{background:var(--glass-bg);color:hsl(var(--text-secondary));border-radius:var(--radius-md);border:1px solid var(--glass-border);justify-content:center;align-items:center;gap:8px;padding:.8rem 1.5rem;font-weight:600;transition:all .2s;display:flex}.btn-secondary:hover{background:var(--glass-highlight);color:hsl(var(--text-primary))}.input-group{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.input-label{color:hsl(var(--text-secondary));font-size:.9rem;font-weight:500}.input-field{background:hsl(var(--bg-primary));border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;color:hsl(var(--text-primary));padding:1rem;font-size:1rem;transition:all .2s}.input-field:focus{border-color:hsl(var(--accent-primary));background:hsl(var(--bg-card));box-shadow:0 0 0 3px hsla(var(--accent-primary), .15);outline:none}.input-field::placeholder{color:hsl(var(--text-muted))}.card{background:hsl(var(--bg-card));border-radius:var(--radius-md);border:1px solid var(--glass-border);padding:1.5rem;box-shadow:0 2px 12px #00000014}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow-green{0%,to{box-shadow:0 0 20px hsla(var(--success), .3)}50%{box-shadow:0 0 30px hsla(var(--success), .5)}}@keyframes glow-red{0%,to{box-shadow:0 0 20px hsla(var(--danger), .3)}50%{box-shadow:0 0 30px hsla(var(--danger), .5)}}.animate-fadeIn{animation:.3s ease-out fadeIn}.animate-scaleIn{animation:.2s ease-out scaleIn}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--glass-highlight)}select.input-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}input[type=checkbox]{border:2px solid var(--glass-border);cursor:pointer;background:0 0;border-radius:4px;width:1.2rem;height:1.2rem;transition:all .2s}input[type=checkbox]:checked{background:hsl(var(--success));border-color:hsl(var(--success))}a{color:hsl(var(--accent-primary));text-decoration:none;transition:color .2s}a:hover{color:hsl(var(--accent-secondary))}.divider{background:var(--glass-border);height:1px;margin:1rem 0}.badge{border-radius:20px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-bg);color:hsl(var(--success-light))}.badge-danger{background:var(--danger-bg);color:hsl(var(--danger-light))}.badge-warning{background:var(--warning-bg);color:hsl(var(--warning-light))}.badge-info{background:hsla(var(--info), .1);color:hsl(var(--info-light))}.badge-accent{background:hsla(var(--accent-primary), .1);color:hsl(var(--accent-primary))}.summary-income{background:linear-gradient(135deg, hsla(var(--success), .15), hsla(var(--success), .05));border:1px solid hsla(var(--success), .3)}.summary-income:hover{background:linear-gradient(135deg, hsla(var(--success), .2), hsla(var(--success), .1));box-shadow:0 4px 20px hsla(var(--success), .2)}.summary-expense{background:linear-gradient(135deg, hsla(var(--danger), .15), hsla(var(--danger), .05));border:1px solid hsla(var(--danger), .3)}.summary-expense:hover{background:linear-gradient(135deg, hsla(var(--danger), .2), hsla(var(--danger), .1));box-shadow:0 4px 20px hsla(var(--danger), .2)}.summary-balance{background:linear-gradient(135deg, hsla(var(--accent-primary), .15), hsla(var(--success-light), .05));border:1px solid hsla(var(--accent-primary), .3)}.summary-balance:hover{background:linear-gradient(135deg, hsla(var(--accent-primary), .2), hsla(var(--success-light), .1));box-shadow:0 4px 20px hsla(var(--accent-primary), .2)}.transaction-item{background:hsl(var(--bg-card));border-radius:var(--radius-md);border:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:1rem;transition:all .2s;display:flex;box-shadow:0 1px 4px #0000000d}.transaction-item:hover{border-color:var(--glass-highlight);background:hsl(var(--bg-secondary));box-shadow:0 2px 8px #0000001a}.transaction-item.income{border-left:4px solid hsl(var(--success))}.transaction-item.expense{border-left:4px solid hsl(var(--danger))}.card-item{background:linear-gradient(135deg, hsla(var(--card-accent), .1), hsla(var(--card-accent), .02));border:1px solid hsla(var(--card-accent), .2);border-radius:var(--radius-md);padding:1rem;transition:all .2s;box-shadow:0 2px 12px #0000001a}.card-item:hover{border-color:hsla(var(--card-accent), .4);box-shadow:0 4px 20px #00000026}.category-item{background:hsl(var(--bg-card));border-radius:var(--radius-md);border:1px solid var(--glass-border);align-items:center;gap:.8rem;padding:.8rem 1rem;transition:all .2s;display:flex}.category-item:hover{background:hsl(var(--bg-secondary));border-color:var(--glass-highlight)}
