*{transition:color .2s,background-color .2s,border-color .2s}.card-animate{animation:.3s ease-out cardSlideIn}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.table-row-animate{animation:.2s ease-out rowSlideIn}@keyframes rowSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.btn-animate{transition:all .2s}.btn-animate:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.btn-animate:active{transform:translateY(0)}.form-input-animate{transition:all .2s}.form-input-animate:focus{transform:scale(1.02)}.modal-animate{animation:.3s ease-out modalSlideIn}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}.notification-animate{animation:.3s ease-out notificationSlideIn}@keyframes notificationSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.loading-pulse{animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.icon-animate{transition:all .2s}.icon-animate:hover{transform:scale(1.1)}.avatar-animate{transition:all .2s}.avatar-animate:hover{transform:scale(1.05)}.badge-animate{animation:.3s ease-out badgePop}@keyframes badgePop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.chart-animate{animation:.5s ease-out chartFadeIn}@keyframes chartFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stats-animate{animation:1s ease-out statsCountUp}@keyframes statsCountUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tooltip-animate{animation:.2s ease-out tooltipFadeIn}@keyframes tooltipFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dropdown-animate{animation:.2s ease-out dropdownSlideIn}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.pagination-animate{transition:all .2s}.pagination-animate:hover{transform:translateY(-1px)}.filter-animate{transition:all .2s}.filter-animate:focus-within{transform:scale(1.02)}.skeleton-animate{animation:1.5s ease-in-out infinite skeletonPulse}@keyframes skeletonPulse{0%,to{opacity:.6}50%{opacity:1}}.page-transition{animation:.3s ease-out pageFadeIn}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-animate{animation:.5s ease-in-out errorShake}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.success-animate{animation:.3s ease-out successPop}@keyframes successPop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dark-transition{transition:background-color .3s,color .3s,border-color .3s}.table-hover-effect tbody tr{transition:all .2s}.table-hover-effect tbody tr:hover{background-color:hsl(var(--muted) / .5);transform:translate(2px)}.focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.valid-animate{animation:.3s ease-out validCheck}@keyframes validCheck{0%{transform:scale(.8)}50%{transform:scale(1.2)}to{transform:scale(1)}}.delete-animate{animation:.3s ease-out deleteSlideOut}@keyframes deleteSlideOut{to{opacity:0;transform:translate(-100%)}}.edit-animate{animation:.3s ease-out editHighlight}@keyframes editHighlight{0%{background-color:hsl(var(--primary) / .1)}to{background-color:#0000}}
