.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background:#475569}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in{animation:fadeIn .2s ease-out}.animate-slide-up{animation:slideUp .3s ease-out}.animate-pulse-slow{animation:pulse-slow 2s ease-in-out infinite}.focus-ring{outline:none}.focus-ring:focus{box-shadow:0 0 0 2px #3b82f680}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.demo-banner{background:linear-gradient(90deg,#fef3c7,#fde68a,#fef3c7);background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.card-hover{transition:transform .2s ease,box-shadow .2s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000001a}.modal-backdrop{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media print{.no-print{display:none!important}}
