@keyframes blob{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.animate-blob{animation:blob 7s infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-shimmer{background:linear-gradient(to right,rgba(var(--primary-rgb),0) 0,rgba(var(--primary-rgb),.2) 20%,rgba(var(--primary-rgb),0) 40%,rgba(var(--primary-rgb),0) 100%);background-size:1000px 100%}.animate-shimmer,.skeleton-shimmer{animation:shimmer 2s linear infinite}.skeleton-shimmer{background:linear-gradient(90deg,rgba(0,255,0,.05),rgba(0,255,0,.15) 50%,rgba(0,255,0,.05));background-size:1000px 100%}@keyframes pulse-green{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.animate-pulse-green{animation:pulse-green 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .5s ease-in-out}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slide-up .3s ease-out}@keyframes slide-down{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-down{animation:slide-down .3s ease-out}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-bounce-subtle{animation:bounce-subtle 1s ease-in-out infinite}@keyframes glow-pulse{0%,to{box-shadow:0 0 5px var(--primary),0 0 10px var(--primary),0 0 15px var(--primary)}50%{box-shadow:0 0 10px var(--primary),0 0 20px var(--primary),0 0 30px var(--primary)}}.animate-glow-pulse{animation:glow-pulse 2s ease-in-out infinite}@keyframes rotate-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-rotate-slow{animation:rotate-slow 3s linear infinite}.skeleton{background:linear-gradient(90deg,rgba(var(--primary-rgb),.05) 0,rgba(var(--primary-rgb),.1) 50%,rgba(var(--primary-rgb),.05) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.hover-scale{transition:transform .2s ease-in-out}.hover-scale:hover{transform:scale(1.02)}.hover-scale:active{transform:scale(.98)}@keyframes card-entrance{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.card-entrance{animation:card-entrance .4s ease-out}.delay-0{animation-delay:0ms}.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}.responsive-container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width:640px){.responsive-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.responsive-container{padding-left:2rem;padding-right:2rem}}@media (min-width:1920px){.responsive-container{max-width:1792px}}@media (min-width:2560px){.responsive-container{max-width:2304px;padding-left:3rem;padding-right:3rem}}.responsive-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width:768px){.responsive-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (min-width:1024px){.responsive-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media (min-width:1920px){.responsive-grid{grid-template-columns:repeat(4,1fr);gap:2rem}}@media (min-width:2560px){.responsive-grid{grid-template-columns:repeat(6,1fr);gap:2.5rem}}.responsive-heading{font-size:clamp(2rem,3vw,4rem);line-height:1.2}@media (min-width:1920px){.responsive-heading{font-size:clamp(2.5rem,3vw,5rem)}}.responsive-text{font-size:clamp(.875rem,1vw,1.25rem);line-height:1.6}@media (min-width:1920px){.responsive-text{font-size:clamp(1rem,1vw,1.5rem)}}.responsive-card{padding:1.5rem;border:2px solid var(--border);background:var(--card-bg);transition:all var(--duration-base)}@media (min-width:1920px){.responsive-card{padding:2rem}}@media (min-width:2560px){.responsive-card{padding:2.5rem}}.responsive-card:hover{background:var(--card-bg-hover);border-color:var(--border-hover);box-shadow:var(--shadow-md)}.responsive-sidebar{width:100%;max-width:320px}@media (min-width:1920px){.responsive-sidebar{max-width:384px}}@media (min-width:2560px){.responsive-sidebar{max-width:448px}}.responsive-main{width:100%}@media (min-width:1024px){.responsive-main{flex:1;min-width:0}}.responsive-chart{width:100%;height:300px}@media (min-width:768px){.responsive-chart{height:400px}}@media (min-width:1920px){.responsive-chart{height:500px}}@media (min-width:2560px){.responsive-chart{height:600px}}.responsive-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (min-width:1920px){.responsive-table{font-size:1.125rem}.responsive-table td,.responsive-table th{padding:1rem 1.5rem}}.responsive-button{padding:.75rem 1.5rem;font-size:1rem;transition:all var(--duration-base)}@media (min-width:1920px){.responsive-button{padding:1rem 2rem;font-size:1.125rem}}@media (min-width:2560px){.responsive-button{padding:1.25rem 2.5rem;font-size:1.25rem}}.responsive-modal{width:90vw;max-width:640px}@media (min-width:1920px){.responsive-modal{max-width:768px}}@media (min-width:2560px){.responsive-modal{max-width:896px}}@media (min-width:1920px){.spacing-3xl\:gap-8{gap:2rem}.spacing-3xl\:gap-10{gap:2.5rem}.spacing-3xl\:p-8{padding:2rem}.spacing-3xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.spacing-3xl\:py-8{padding-top:2rem;padding-bottom:2rem}}@media (min-width:2560px){.spacing-4xl\:gap-12{gap:3rem}.spacing-4xl\:p-10{padding:2.5rem}}.responsive-nav{padding:1rem}@media (min-width:1920px){.responsive-nav{padding:1.5rem 2rem;font-size:1.125rem}}@media (min-width:2560px){.responsive-nav{padding:2rem 3rem;font-size:1.25rem}}.stats-card-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width:768px){.stats-card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.stats-card-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1920px){.stats-card-grid{grid-template-columns:repeat(4,1fr);gap:2rem}}@media (min-width:2560px){.stats-card-grid{grid-template-columns:repeat(6,1fr);gap:2.5rem}}.safe-area-padding{padding-left:max(env(safe-area-inset-left),1rem);padding-right:max(env(safe-area-inset-right),1rem)}@media (min-width:1920px){.safe-area-padding{padding-left:max(env(safe-area-inset-left),2rem);padding-right:max(env(safe-area-inset-right),2rem)}}