@keyframes sx-entra{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes sx-brilla{from{background-position:-200% 0}to{background-position:200% 0}}
@keyframes sx-pop{0%{transform:scale(.9);opacity:0}60%{transform:scale(1.04);opacity:1}100%{transform:scale(1)}}
button,.btn,a.btn{transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,background .25s,border-color .25s,opacity .2s}
button:not(:disabled):hover,.btn:not(:disabled):hover{transform:translateY(-1px)}
button:not(:disabled):active,.btn:not(:disabled):active{transform:scale(.96)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--acc,#3d7bff);outline-offset:2px;border-radius:8px}
input,select,textarea{transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(61,123,255,.22)}
.sx-esqueleto{border-radius:10px;background:linear-gradient(90deg,transparent,rgba(120,150,255,.18),transparent) 0 0/200% 100%,var(--line,#1b2745);animation:sx-brilla 1.3s linear infinite;min-height:18px}
.toast,.aviso-ok{animation:sx-pop .35s cubic-bezier(.34,1.56,.64,1) both}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
.sx-entra{animation:sx-entra .42s cubic-bezier(.34,1.56,.64,1) both}
