@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:pageIn .35s cubic-bezier(.4,0,.2,1)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}@keyframes pulse-green{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 6px #10b98100}}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.3}}.status-dot-ok{width:8px;height:8px;border-radius:50%;background:#10b981;display:inline-block;animation:pulse-green 2s infinite}.status-dot-error{width:8px;height:8px;border-radius:50%;background:#dc2626;display:inline-block;animation:pulse-red .8s infinite}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}.bounce-in{animation:bounceIn .5s ease-out}.hover-lift{transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes modalIn{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.ant-modal-content{animation:modalIn .25s cubic-bezier(.34,1.56,.64,1)}@keyframes statusPulse{0%,to{box-shadow:0 0 #2563eb4d}50%{box-shadow:0 0 0 4px #2563eb00}}.status-active{animation:statusPulse 2s infinite}@keyframes filterSlide{0%{opacity:0;max-height:0;margin-bottom:0}to{opacity:1;max-height:200px;margin-bottom:16px}}.filter-expand{animation:filterSlide .3s ease-out;overflow:hidden}.ant-btn:active:not(:disabled){transform:scale(.97)!important;transition:transform .1s ease!important}.ant-tabs-content{animation:pageIn .3s ease-out}.card-delay-1{animation-delay:.05s}.card-delay-2{animation-delay:.1s}.card-delay-3{animation-delay:.15s}.card-delay-4{animation-delay:.2s}.hover-glow{transition:box-shadow .3s ease,transform .3s ease}.hover-glow:hover{box-shadow:0 4px 20px #2563eb26,0 1px 4px #0000000f;transform:translateY(-1px)}@keyframes badgeBounce{0%,to{transform:scale(1)}10%{transform:scale(1.3)}30%{transform:scale(.9)}50%{transform:scale(1.1)}}.badge-bounce{animation:badgeBounce .6s ease-out}.badge-bounce-loop{animation:badgeBounce .6s ease-out 3s infinite}@keyframes menuSlide{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.ant-dropdown-menu{animation:menuSlide .2s ease-out;transform-origin:top right}.quick-action-icon{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.quick-action-icon:hover{transform:rotate(15deg) scale(1.1)}@keyframes dotPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}.trace-dot-latest{animation:dotPulse 2s ease-in-out infinite}
