.stock-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
.stock-pagination .actions{flex-wrap:nowrap}
button{position:relative;overflow:hidden;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s}
button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 5px 12px #173e3214}
button:not(:disabled):active{transform:translateY(0) scale(.97)}
.button-ripple{position:absolute;pointer-events:none;border-radius:50%;background:currentColor;z-index:1}
.stat{transition:transform .22s,box-shadow .22s,border-color .22s}
.stat:hover{transform:translateY(-4px);box-shadow:0 10px 24px #173e3210;border-color:#9fc4af}
.nav.active::before{content:'';position:absolute;left:0;top:20%;height:60%;width:3px;border-radius:3px;background:#b9e7d0;animation:nav-marker-in .36s ease-out}
.overlay:not([hidden]){animation:overlay-in .24s ease-out}
.overlay:not([hidden]) .dialog{animation:dialog-in .36s cubic-bezier(.2,.8,.2,1)}
.toast:not([hidden]){animation:toast-in .32s cubic-bezier(.2,.8,.2,1);border-left:4px solid #92cfad}
.error:not(:empty){animation:field-error-in .28s ease-out}
.reqbody>h3{animation:requirements-in .28s ease-out}
.route-map g{transform-box:fill-box;transform-origin:center}
.route-playhead{pointer-events:none}
@keyframes dialog-in{from{opacity:0;transform:translateY(28px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes toast-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes overlay-in{from{background-color:transparent}to{background-color:#17352c66}}
@keyframes nav-marker-in{from{transform:scaleY(.1);opacity:0}to{transform:scaleY(1);opacity:1}}
@keyframes requirements-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}
@keyframes field-error-in{0%,100%{transform:translateX(0)}30%{transform:translateX(-5px)}65%{transform:translateX(5px)}}
@media(max-width:650px){.stock-pagination{align-items:flex-start;flex-direction:column}.stock-pagination .actions{width:100%;justify-content:flex-end}}
@media(hover:none){button:not(:disabled):hover,.stat:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:not(:disabled):hover,button:not(:disabled):active,.stat:hover{transform:none}}
