/* ZUUPX POS — native-app feel (touch feedback, no web-page behaviours, app-style login) */
html{-webkit-text-size-adjust:100%;overscroll-behavior-y:contain}
*{touch-action:manipulation}
body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
input,textarea,select,[contenteditable],.selectable{-webkit-user-select:text;user-select:text}
.is-touch button:not(.pw-toggle):not(:disabled),.is-touch .prod-card,.is-touch [data-act]{transition:scale .12s ease,box-shadow .2s,background .2s}
.is-touch button:not(.pw-toggle):not(:disabled):active,.is-touch .prod-card:active{scale:.95}
@keyframes afUp{from{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}
@keyframes afOrb{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-26px) scale(1.15)}}
@keyframes afPop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@media (max-width:640px){
 .login-screen:not(.su-screen){align-items:flex-end;padding:env(safe-area-inset-top) 0 0;overflow:hidden;
  background:radial-gradient(420px 320px at 85% 8%,rgba(34,211,238,.55),transparent 65%),radial-gradient(380px 300px at 10% 30%,rgba(124,58,237,.45),transparent 65%),linear-gradient(165deg,#0A2A5E,#1D4ED8 60%,#0891B2)}
 .login-screen:not(.su-screen)::before,.login-screen:not(.su-screen)::after{content:"";position:absolute;border-radius:50%;filter:blur(40px);pointer-events:none;animation:afOrb 9s ease-in-out infinite}
 .login-screen:not(.su-screen)::before{width:220px;height:220px;left:-60px;top:14%;background:rgba(96,165,250,.5)}
 .login-screen:not(.su-screen)::after{width:180px;height:180px;right:-40px;top:34%;background:rgba(34,211,238,.4);animation-delay:-4s}
 .login-screen:not(.su-screen) .login-card{position:relative;z-index:1;max-width:none;width:100%;max-height:88vh;overflow-y:auto;border-radius:30px 30px 0 0;padding:26px 22px calc(24px + env(safe-area-inset-bottom));background:var(--card,var(--white,#fff));animation:afUp .6s cubic-bezier(.2,.8,.2,1) both;box-shadow:0 -24px 70px -20px rgba(0,0,0,.45)}
 .login-screen:not(.su-screen) .login-logo{width:68px;height:68px;margin-top:-58px;border:4px solid var(--card,var(--white,#fff));background:var(--card,#fff);animation:afPop .6s .25s cubic-bezier(.3,1.5,.5,1) both}
 .field input{height:52px;font-size:16px;border-radius:14px}
 .login-screen .btn-primary{height:54px;border-radius:16px;font-size:16px;background:linear-gradient(135deg,#16A34A,#2563EB);box-shadow:0 14px 30px -12px rgba(37,99,235,.65)}
}
@media (prefers-reduced-motion:reduce){.login-card,.login-logo,.login-screen::before,.login-screen::after{animation:none!important}}
