@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#f0f4ff 0%,#e8ecff 50%,#f5f0ff 100%);background-attachment:fixed;color:#1e293b;min-height:100vh;-webkit-font-smoothing:antialiased;position:relative}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 50%,rgba(99,102,241,.05) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(168,85,247,.05) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(236,72,153,.03) 0%,transparent 50%);pointer-events:none;z-index:0}:root{--primary: #6366f1;--primary-light: #818cf8;--primary-dark: #4f46e5;--secondary: #a855f7;--secondary-light: #c084fc;--accent: #f59e0b;--accent-light: #fbbf24;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--bg-card: #ffffff;--bg-card-hover: #f8fafc;--border-color: #e2e8f0;--border-hover: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--bg-input: #f8fafc;--bg-input-hover: #f1f5f9}.summary-card,.chart-card,.budget-card,.modal-card,.status-card,.budget-form-card{background:var(--bg-card)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color)!important;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.summary-card:before,.chart-card:before,.budget-card:before,.status-card:before,.budget-form-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);transition:left .5s ease}.summary-card:hover,.chart-card:hover,.budget-card:hover,.status-card:hover,.budget-form-card:hover{background:var(--bg-card-hover)!important;border-color:var(--border-hover)!important;box-shadow:var(--shadow-lg)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%)!important;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.btn-primary:hover:before{width:300px;height:300px}.btn-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.brand-text{background:linear-gradient(135deg,var(--primary),var(--secondary),var(--primary-light))!important;background-size:200% 200%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent;font-weight:800;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes glow{0%,to{box-shadow:0 0 5px #6366f14d}50%{box-shadow:0 0 20px #6366f199,0 0 30px #6366f166}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn .5s ease forwards}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.animate-fade-in-down{animation:fadeInDown .6s ease forwards}.animate-slide-left{animation:slideInFromLeft .5s ease forwards}.animate-slide-right{animation:slideInFromRight .5s ease forwards}.animate-slide-top{animation:slideInFromTop .5s ease forwards}.animate-slide-bottom{animation:slideInFromBottom .5s ease forwards}.animate-scale-in{animation:scaleIn .4s ease forwards}.animate-bounce-in{animation:bounceIn .6s ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}.animate-shake{animation:shake .5s ease}.animate-wiggle{animation:wiggle .5s ease}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.duration-1000{animation-duration:1s}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px #6366f166}.hover-shine{position:relative;overflow:hidden}.hover-shine:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.hover-shine:hover:before{left:100%}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.3) 10%,transparent 10.01%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .5s,opacity 1s}.btn-ripple:active:after{transform:scale(0);opacity:.3;transition:0s}.card-hover-effect{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover-effect:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg)}.card-hover-effect:hover .card-icon{transform:scale(1.1) rotate(5deg)}.input-animate{position:relative}.input-animate:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary);transition:width .3s ease}.input-animate:focus:after{width:100%}.skeleton{background:linear-gradient(90deg,var(--bg-input) 25%,var(--border-color) 50%,var(--bg-input) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.badge-pulse{animation:pulse 2s ease-in-out infinite}.checkmark-animate{animation:bounceIn .5s ease forwards}.error-shake{animation:shake .5s ease}.progress-animate{animation:slideInFromLeft 1s ease forwards}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:10px;border:2px solid rgba(0,0,0,.05)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--primary-light),var(--secondary-light))}::selection{background:rgba(99,102,241,.2);color:var(--text-primary)}::-moz-selection{background:rgba(99,102,241,.2);color:var(--text-primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button,a,input,select,textarea{transition:all .2s ease}@keyframes cardEntrance{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.card-entrance{animation:cardEntrance .5s ease forwards}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}[data-tooltip]{position:relative}[data-tooltip]:hover:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background:var(--text-primary);color:var(--bg-card);padding:8px 12px;border-radius:8px;font-size:12px;white-space:nowrap;opacity:0;animation:fadeIn .2s ease forwards;z-index:1000;box-shadow:var(--shadow-md)}[data-tooltip]:hover:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);border:6px solid transparent;border-top-color:var(--text-primary);opacity:0;animation:fadeIn .2s ease forwards;z-index:1000}.btn-quick{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-quick:hover{background:var(--bg-input-hover);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.btn-quick:active{transform:scale(.95)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;animation:pulse 2s ease-in-out infinite}.status-dot.success{background:var(--success);box-shadow:0 0 8px #10b98180}.status-dot.warning{background:var(--warning);box-shadow:0 0 8px #f59e0b80}.status-dot.danger{background:var(--danger);box-shadow:0 0 8px #ef444480}.stat-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:20px;font-size:12px;font-weight:600;color:var(--text-primary);transition:all .2s ease}.stat-badge:hover{background:var(--bg-input-hover);border-color:var(--border-hover);transform:scale(1.05)}.progress-with-label{display:flex;align-items:center;gap:12px}.progress-label-text{min-width:45px;text-align:right;font-size:12px;font-weight:600;color:var(--text-secondary)}.action-menu{position:relative}.action-menu-trigger{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.action-menu-trigger:hover{background:var(--bg-input)}.action-menu-dropdown{position:absolute;top:100%;right:0;min-width:160px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);padding:8px 0;opacity:0;transform:translateY(-10px);animation:fadeIn .2s ease forwards;z-index:1000}.action-menu-item{display:flex;align-items:center;gap:8px;padding:8px 16px;background:none;border:none;width:100%;text-align:left;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.action-menu-item:hover{background:var(--bg-input);color:var(--primary)}.action-menu-item.danger:hover{background:rgba(239,68,68,.1);color:var(--danger)}.search-wrapper{position:relative;display:flex;align-items:center}.search-wrapper input{padding-left:40px;padding-right:40px}.search-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.search-clear{position:absolute;right:12px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.search-clear:hover{color:var(--text-primary);background:var(--bg-input)}.date-range{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease}.date-range:hover{border-color:var(--border-hover)}.date-range input{border:none;background:none;padding:4px 8px;font-size:13px;color:var(--text-primary)}.date-range input:focus{outline:none}.date-separator{color:var(--text-muted)}.notification-badge{position:relative}.notification-badge:after{content:attr(data-count);position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;background:var(--danger);color:#fff;border-radius:9px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px;animation:bounceIn .4s ease}.toggle-switch{position:relative;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border-color);transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:white;transition:.3s;border-radius:50%;box-shadow:var(--shadow-sm)}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.chip-selector{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:20px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.chip:hover{background:var(--bg-input-hover);border-color:var(--border-hover)}.chip.active{background:rgba(99,102,241,.1);border-color:var(--primary);color:var(--primary);font-weight:600}.chip-remove{background:none;border:none;color:inherit;cursor:pointer;padding:0;font-size:16px;opacity:.6;transition:opacity .2s ease}.chip-remove:hover{opacity:1}.btn-floating{position:fixed;bottom:32px;right:32px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;font-size:24px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000}.btn-floating:hover{transform:scale(1.1) translateY(-4px);box-shadow:0 8px 30px #6366f166}.btn-floating:active{transform:scale(.95)}.info-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;background:rgba(99,102,241,.05);border:1px solid rgba(99,102,241,.2);border-radius:12px;margin-bottom:20px;animation:fadeInDown .4s ease forwards}.info-banner-icon{font-size:20px;color:var(--primary)}.info-banner-content{flex:1}.info-banner-title{font-weight:600;color:var(--text-primary);margin-bottom:4px}.info-banner-text{font-size:13px;color:var(--text-secondary)}.info-banner-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.info-banner-close:hover{color:var(--text-primary);background:var(--bg-input)}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.quick-stat-item{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;transition:all .3s ease}.quick-stat-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-hover)}.quick-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px}.quick-stat-icon.primary{background:rgba(99,102,241,.1);color:var(--primary)}.quick-stat-icon.success{background:rgba(16,185,129,.1);color:var(--success)}.quick-stat-icon.warning{background:rgba(245,158,11,.1);color:var(--warning)}.quick-stat-value{font-size:20px;font-weight:700;color:var(--text-primary)}.quick-stat-label{font-size:12px;color:var(--text-muted);margin-top:2px}.quick-stat-change{font-size:12px;font-weight:600;margin-top:4px}.quick-stat-change.positive{color:var(--success)}.quick-stat-change.negative{color:var(--danger)}
