@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease-in-out}.hover-scale{transition:transform .2s ease-in-out}.hover-scale:hover{transform:scale(1.02)}.card.interactive{transition:all .2s ease-in-out}.card.interactive:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);transform:translateY(-2px)}.bg-gradient-blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.bg-gradient-green{background:linear-gradient(135deg,#10b981,#059669)}.bg-gradient-red{background:linear-gradient(135deg,#ef4444,#dc2626)}.bg-gradient-purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.truncate-2-lines{-webkit-line-clamp:2}.truncate-2-lines,.truncate-3-lines{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.truncate-3-lines{-webkit-line-clamp:3}@media (max-width:640px){.text-responsive{font-size:.875rem}}@media (min-width:641px) and (max-width:1024px){.text-responsive{font-size:1rem}}@media (min-width:1025px){.text-responsive{font-size:1.125rem}}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.tooltip{position:relative;display:inline-block}.tooltip .tooltip-text{visibility:hidden;width:120px;background-color:#333;color:#fff;text-align:center;border-radius:6px;padding:5px;position:absolute;z-index:1;bottom:125%;left:50%;margin-left:-60px;opacity:0;transition:opacity .3s}.tooltip .tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-top-color:#333}.tooltip:hover .tooltip-text{visibility:visible;opacity:1}