/* NPC Connect 8.9.26 — login interaction feedback */
#login #loginSubmit{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-width:130px;min-height:44px;transition:box-shadow .25s,background .25s,transform .25s}
#login #loginSubmit.is-loading{cursor:progress;background:linear-gradient(110deg,#1165b8,#0a91c4,#1165b8);background-size:220% 100%;animation:loginShimmer 2.3s linear infinite;box-shadow:0 0 0 1px #3bd6ff55,0 0 26px #009ef955;opacity:1}
#login #loginSubmit:disabled{opacity:1}
.login-button-spinner{display:none;width:17px;height:17px;border:2px solid #b9eaff70;border-top-color:#fff;border-radius:50%;animation:loginSpin .8s linear infinite}
#login #loginSubmit.is-loading .login-button-spinner{display:inline-block}
#login .login-progress[hidden]{display:none!important}
#login .login-progress{margin-top:16px;padding:14px 15px;display:flex;align-items:center;gap:14px;min-height:68px;border:1px solid #33baff66;border-radius:13px;background:linear-gradient(115deg,#102b48ed,#10203aed);box-shadow:inset 0 0 19px #0069b71c,0 0 20px #0a95ff18;animation:loginAppear .28s ease-out}
.login-progress-orbit{position:relative;width:34px;height:34px;flex:0 0 34px;border:2px solid #278cc86b;border-top-color:#49dcff;border-radius:50%;animation:loginSpin 1.2s linear infinite;box-shadow:0 0 14px #16bfff45}
.login-progress-orbit:after{content:'';position:absolute;inset:7px;border-radius:50%;background:#24b8ef;box-shadow:0 0 10px #24b8ef}
.login-progress-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.login-progress-copy strong{font-size:13px;color:#dff7ff;letter-spacing:.015em}
.login-progress-copy small{font-size:11px;color:#9dbfdb}
.login-progress-dots{margin-left:auto;display:flex;gap:4px}
.login-progress-dots i{width:5px;height:5px;border-radius:50%;background:#56d8ff;animation:loginPulse 1.2s ease-in-out infinite}
.login-progress-dots i:nth-child(2){animation-delay:.18s}.login-progress-dots i:nth-child(3){animation-delay:.36s}
@keyframes loginSpin{to{transform:rotate(360deg)}}
@keyframes loginShimmer{to{background-position-x:-220%}}
@keyframes loginPulse{0%,75%,100%{opacity:.25;transform:scale(.8)}35%{opacity:1;transform:scale(1.3)}}
@keyframes loginAppear{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#login #loginSubmit.is-loading,.login-button-spinner,.login-progress-orbit,.login-progress-dots i{animation-duration:3s}}
