:root{--virunga-green:#00A87D;--virunga-orange:#EF7D00;--charcoal:#18181B;--gradient-hero:linear-gradient(135deg,#004D40,#00A87D 50%,#00C896);--gradient-card:linear-gradient(135deg,rgba(255,255,255,0.1),rgba(255,255,255,0.05));--shadow-sm:0 2px 8px rgba(0,0,0,0.05);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--shadow-lg:0 8px 24px rgba(0,0,0,0.12);--shadow-glow-green:0 0 30px rgba(0,168,125,0.3);--shadow-glow-orange:0 0 30px rgba(239,125,0,0.3)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes glow{0%,to{box-shadow:0 0 10px rgba(0,168,125,.5)}50%{box-shadow:0 0 25px rgba(0,168,125,.8)}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-slide-in-left{animation:slideInLeft .6s ease-out}.animate-scale-in{animation:scaleIn .5s ease-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse-custom{animation:pulse 2s ease-in-out infinite}.animate-shimmer{animation:shimmer 2s linear infinite}.animate-spin-slow{animation:spin 3s linear infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-wiggle{animation:wiggle .5s ease-in-out}.glass{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}.glass,.glass-dark{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.glass-dark{background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1)}.card{background:white;border-radius:16px;box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;position:relative}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--virunga-green),var(--virunga-orange));transform:scaleX(0);transition:transform .3s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.card:hover:before{transform:scaleX(1)}.btn{padding:12px 24px;border-radius:12px;font-weight:600;transition:all .3s ease;cursor:pointer;border:none;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--virunga-green),#00C896);color:white;box-shadow:0 4px 15px rgba(0,168,125,.3)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,168,125,.4)}.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,height .6s}.btn-primary:active:before{width:300px;height:300px}.btn-secondary{background:linear-gradient(135deg,var(--virunga-orange),#FF9420);color:white;box-shadow:0 4px 15px rgba(239,125,0,.3)}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(239,125,0,.4)}.stat-card{background:white;border-radius:20px;padding:24px;box-shadow:var(--shadow-sm);transition:all .4s cubic-bezier(.4,0,.2,1);border-left:4px solid transparent}.stat-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-lg);border-left-color:var(--virunga-green)}.stat-card .icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;margin-bottom:16px}.stat-card:hover .icon{transform:rotate(10deg) scale(1.1)}.chart-container{background:white;border-radius:20px;padding:28px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(135deg,rgba(0,168,125,.05),rgba(239,125,0,.05));opacity:0;transition:opacity .3s ease}.chart-container:hover:before{opacity:1}.skeleton{background:linear-gradient(90deg,#f0f0f0,#e0e0e0 50%,#f0f0f0);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px}.badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:12px;font-size:14px;font-weight:600;transition:all .2s ease}.badge-success{background:rgba(34,197,94,.1);color:#16a34a}.badge-warning{background:rgba(251,191,36,.1);color:#d97706}.badge-danger{background:rgba(239,68,68,.1);color:#dc2626}.badge:hover{transform:scale(1.05)}.tooltip{position:relative;display:inline-block}.tooltip:before{content:attr(data-tooltip);position:absolute;bottom:125%;left:50%;transform:translateX(-50%) scale(.8);padding:8px 12px;background:rgba(0,0,0,.9);color:white;border-radius:8px;font-size:13px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s ease}.tooltip:hover:before{opacity:1;transform:translateX(-50%) scale(1)}@media (max-width:768px){.card,.chart-container,.stat-card{padding:16px}.btn{padding:10px 20px}}@media (prefers-color-scheme:dark){.card,.chart-container,.stat-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.skeleton{background:linear-gradient(90deg,#2a2a2a,#3a3a3a 50%,#2a2a2a);background-size:200% 100%}}