@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-30px)}}@keyframes bounce-once{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes pulse-once{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.animate-slideInRight{animation:slideInRight .3s ease-out}.animate-slideOutLeft{animation:slideOutLeft .3s ease-out}.animate-bounce-once{animation:bounce-once .5s ease-out}.animate-fadeInUp{animation:fadeInUp .3s ease-out}.animate-fadeOutDown{animation:fadeOutDown .3s ease-out}.animate-shake{animation:shake .5s ease-out}.animate-pulse-once{animation:pulse-once .3s ease-out}.animate-shimmer{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);background-size:200px 100%;animation:shimmer 1.5s infinite}.field-focus{transform:scale(1.02);box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.field-blur,.field-focus{transition:all .2s ease-out}.field-blur{transform:scale(1)}.field-error{transition:all .2s ease-out;border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.field-success{transition:all .2s ease-out;border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.1)}.button-hover{transition:all .2s ease-out;transform:scale(1.05);box-shadow:0 10px 25px -5px rgba(0,0,0,.2)}.button-active{transition:all .1s ease-out;transform:scale(.95)}.button-loading{transition:all .3s ease-out;opacity:.75;cursor:wait}.progress-step-enter{animation:slideInRight .3s ease-out}.progress-step-complete{animation:bounce-once .5s ease-out}.validation-show{animation:fadeInUp .3s ease-out}.validation-error-shake{animation:shake .5s ease-out}.validation-success-pulse{animation:pulse-once .3s ease-out}.loading-skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200px 100%;animation:shimmer 1.5s infinite}.transition-smooth{transition:all .2s ease-out}.transition-smooth-slow{transition:all .3s ease-out}.transition-smooth-fast{transition:all .15s ease-out}.hover-lift{transition:transform .2s ease-out,box-shadow .2s ease-out}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.focus-ring{transition:box-shadow .2s ease-out}.focus-ring:focus{box-shadow:0 0 0 3px rgba(16,185,129,.2)}.scale-on-hover{transition:transform .2s ease-out}.scale-on-hover:hover{transform:scale(1.05)}.scale-on-active{transition:transform .1s ease-out}.scale-on-active:active{transform:scale(.95)}