@keyframes fw-page-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fw-card-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fw-pulse{0%{transform:scale(1);opacity:1}50%,100%{transform:scale(var(--fw-pulse-scale,3));opacity:0}}@keyframes fw-signal{0%,100%{opacity:.55}50%{opacity:1}}
.workspace-view{animation:fw-page-enter .38s cubic-bezier(.22,.61,.36,1) both}.workspace-view>.view-panel,.workspace-view>.view-kpis,.workspace-view>.facility-floor-tabs,.workspace-view>.inventory-workspace,.workspace-view>.facility-layout{animation:fw-card-enter .42s cubic-bezier(.22,.61,.36,1) both;animation-delay:.08s}.workspace-view>.view-kpis{animation-delay:.13s}.workspace-view>.facility-layout,.workspace-view>.inventory-workspace{animation-delay:.16s}
.metric-card,.panel,.view-panel{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.metric-card:hover,.panel:hover,.view-panel:hover{border-color:#d5dfc8;box-shadow:0 10px 24px rgba(39,55,39,.07)}.nav-item{transition:background .18s ease,color .18s ease,transform .18s ease}.nav-item:hover{transform:translateX(2px)}.live-dot,.pulse,.facility-node-dot{position:relative}.live-dot::after,.pulse::after,.facility-node-dot::after{content:'';position:absolute;inset:0;border-radius:50%;background:rgba(212,255,92,.16);opacity:0;pointer-events:none;will-change:transform,opacity;animation:fw-pulse 2.2s ease-in-out infinite}.pulse::after{--fw-pulse-scale:3.33}.live-dot::after{--fw-pulse-scale:3.8}.facility-node-dot::after{inset:-4px;--fw-pulse-scale:1.78;animation-duration:2.8s}.facility-map-node:nth-child(3n) .facility-node-icon{animation:fw-signal 3s ease-in-out infinite}.toast.show{animation:fw-page-enter .24s ease both}.auth-card{animation:fw-page-enter .55s cubic-bezier(.22,.61,.36,1) both}.primary-button,.secondary-button{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
@media (max-width:600px){.metric-card:hover,.panel:hover,.view-panel:hover{transform:none;box-shadow:none}.nav-item:hover{transform:none}}
