/* Motion stays decorative: controls retain their original behavior. */
@media (prefers-reduced-motion: no-preference) {
    .btn-primary,.btn-secondary,.btn-outline,.icon-btn,.nav-link,.catalog-shortcut,.action-btn {
        transition: transform .22s cubic-bezier(.2,.8,.2,1), background .2s, color .2s, box-shadow .22s, border-color .2s;
    }
    :is(.btn-primary,.btn-secondary,.btn-outline):hover { transform: translateY(-2px); box-shadow: 0 6px 16px var(--cyan-glow); }
    :is(.btn-primary,.btn-secondary,.btn-outline,.icon-btn,.catalog-shortcut,.action-btn):active { transform: scale(.96); }
    .icon-btn:hover { transform: translateY(-2px) rotate(-5deg); }
    .nav-link:hover { transform: translateX(3px); }
    .catalog-shortcut:hover { transform: translateY(-3px); }
    .btn-primary:hover > .fa-arrow-right,.btn-outline:hover > .fa-arrow-right { transform: translateX(3px); }
    .btn-primary > i,.btn-outline > i { transition: transform .2s; }
    .dashboard-grid .surface-card { transition: box-shadow .28s, translate .28s; }
    .dashboard-grid .surface-card:hover { translate: 0 -3px; box-shadow: 0 10px 28px rgba(92,71,135,.11); }
    .metric-icon { transition: transform .3s cubic-bezier(.2,.8,.2,1); }
    .metric-card:hover .metric-icon,.inventory-metric:hover .metric-icon { transform: rotate(-8deg) scale(1.08); }
    .activity-item { transition: transform .2s; } .activity-item:hover { transform: translateX(4px); }
    .form-input,.pos-input-standard { transition: border-color .22s, box-shadow .22s, background .22s; }
    .search-field:focus-within > i,.pos-search-field:focus-within > i,.access-input:focus-within > i { color: var(--primary-cyan); }
    .search-field > i,.pos-search-field > i,.access-input > i { transition: color .2s; }
    .command-dialog[open] { animation: motion-dialog-in .25s cubic-bezier(.2,.8,.2,1); }
    .command-dialog[open]::backdrop { animation: motion-backdrop-in .2s; }
    .modal-overlay { transition: opacity .2s, visibility .2s; }
    .modal-overlay .modal-container { transition: transform .25s cubic-bezier(.2,.8,.2,1); transform: translateY(12px) scale(.98); }
    .modal-overlay.active .modal-container { transform: translateY(0) scale(1); }
    .welcome-art { animation: motion-float 5s ease-in-out 1s infinite; }
    .access-form-card { transform: perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition: transform .35s ease-out, box-shadow .35s; }
    .access-preview { transform: perspective(1000px) rotate(-2deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translate3d(var(--drift-x,0px),var(--drift-y,0px),0); transition: transform .4s ease-out; }
    .preview-bars i { transform-origin: bottom; animation: motion-bar-in .8s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--bar-index,0) * 65ms + 250ms); }
    .access-story h1 em { background: linear-gradient(110deg,var(--primary-cyan),#ba97df,var(--primary-cyan)); background-size: 200% auto; background-clip: text; -webkit-background-clip: text; color: transparent; animation: motion-gradient 9s ease-in-out infinite; }
    .access-features span { transition: transform .25s,color .25s; } .access-features span:hover { transform: translateY(-3px); color: var(--primary-cyan); }
    .login-page { position: relative; isolation: isolate; }
    .login-page::before { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(420px circle at var(--mouse-x,25%) var(--mouse-y,35%),rgba(174,143,223,.14),transparent 75%); }
    .access-form-card { position: relative; }
    .access-form-card::before { content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: radial-gradient(240px circle at var(--spot-x,50%) var(--spot-y,0%),rgba(182,148,231,.09),transparent 70%); }
    .access-form-card:focus-within { box-shadow: 0 10px 35px rgba(105,77,157,.11); }
}
.motion-ripple-host { position: relative; overflow: hidden; }
.motion-ripple { position: absolute; border-radius: 50%; background: currentColor; opacity: .15; pointer-events: none; transform: scale(0); }
.placeholder-motion { position: relative; width: 100%; }
.access-input > i { z-index: 1; }
.placeholder-motion input::placeholder { color: transparent; }
.animated-placeholder { position: absolute; top: 50%; transform: translateY(-50%); right: 36px; color: var(--text-muted); white-space: pre; pointer-events: none; overflow: hidden; padding-top: 8px; margin-top: -4px; }
.animated-placeholder > span { display: inline-block; opacity: 1; transform: translateY(0); }
.placeholder-motion.has-value .animated-placeholder,.placeholder-motion input:-webkit-autofill ~ .animated-placeholder { visibility: hidden; }
.placeholder-motion:focus-within .animated-placeholder > span { opacity: 0; transform: translateY(-16px); }
@media (prefers-reduced-motion: no-preference) {
    .animated-placeholder > span { transition: opacity .2s ease, transform .24s cubic-bezier(.2,.8,.2,1); }
    .placeholder-motion:focus-within .animated-placeholder > span { transition-delay: calc(var(--letter-index) * 22ms); }
}
@keyframes motion-dialog-in { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes motion-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes motion-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@keyframes motion-bar-in { from { transform: scaleY(.15); opacity: .3; } to { transform: scaleY(1); opacity: 1; } }
@keyframes motion-gradient { 0%,100% { background-position: 0% center; } 50% { background-position: 100% center; } }
@media (hover: none) { .access-form-card,.access-preview { --tilt-x: 0deg !important; --tilt-y: 0deg !important; --drift-x: 0px !important; --drift-y: 0px !important; } }
@media (prefers-reduced-motion: reduce) {
    .motion-ripple { display: none; }
    .access-form-card { transform: none !important; }
    .access-preview { transform: rotate(-2deg) !important; }
}
