:root{--motion-instant:0ms;--motion-quick:80ms;--motion-snappy:150ms;--motion-smooth:250ms;--motion-deliberate:400ms;--motion-slow:600ms;--ease-out-soft:cubic-bezier(0.16,1,0.3,1);--ease-in-soft:cubic-bezier(0.7,0,0.84,0);--ease-in-out-smooth:cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1)}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes alert-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes empty-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-open{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-close{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(8px)}}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tooltip-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes toast-enter{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes tab-content-in{0%{opacity:0}to{opacity:1}}@keyframes kpi-count-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-shimmer{position:relative;overflow:hidden}.animate-shimmer:after{content:"";position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18) 50%,transparent);animation:shimmer 1.5s var(--ease-in-out-smooth) infinite;animation-delay:4s;pointer-events:none;border-radius:inherit}.animate-pulse-dot{animation:pulse-dot 2s var(--ease-in-out-smooth) infinite}.animate-alert-enter{animation:alert-enter var(--motion-smooth) var(--ease-out-soft) both}.animate-empty-fade-in{animation:empty-fade-in var(--motion-deliberate) var(--ease-out-soft) both}.animate-modal-open{animation:modal-open var(--motion-smooth) var(--ease-out-soft) both}.animate-modal-close{animation:modal-close var(--motion-snappy) var(--ease-in-soft) both}.animate-backdrop-in{animation:backdrop-fade-in var(--motion-snappy) var(--ease-out-soft) both}.animate-tooltip-appear{animation:tooltip-appear var(--motion-snappy) var(--ease-out-soft) both;animation-delay:.15s}.animate-toast-enter{animation:toast-enter var(--motion-smooth) var(--ease-out-soft) both}.animate-toast-exit{animation:toast-exit var(--motion-quick) var(--ease-in-soft) both}.animate-kpi-enter{animation:kpi-count-in var(--motion-smooth) var(--ease-out-soft) both}.animate-tab-content-in{animation:tab-content-in .15s var(--ease-out-soft) both}.hover-lift{transition:box-shadow var(--motion-snappy) var(--ease-out-soft),transform var(--motion-snappy) var(--ease-out-soft)}.hover-lift:hover{box-shadow:0 4px 6px -1px rgb(0 0 0/.1),0 2px 4px -2px rgb(0 0 0/.08)}.hover-heatmap-cell{transition:background-color var(--motion-quick) var(--ease-out-soft),box-shadow var(--motion-quick) var(--ease-out-soft)}.hover-heatmap-cell:hover{box-shadow:0 0 0 1px hsl(250 78% 56%/.4)}.press-feedback{transition:transform var(--motion-quick) var(--ease-in-out-smooth),background-color var(--motion-quick) var(--ease-in-out-smooth)}.press-feedback:active{transform:scale(.98)}@keyframes shimmer-inline{0%,to{opacity:1}50%{opacity:.85}}.animate-shimmer-inline{animation:shimmer-inline 2.5s ease-in-out infinite;animation-delay:4s}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-shimmer:after{display:none}.animate-pulse-dot,.animate-shimmer-inline{animation:none;opacity:1}}