/* Page intro and submit feedback in the portal's purple/cyan palette. */
.login-page{--login-accent:#9a67ff;--login-accent-2:#42d4ff;--login-glow:rgba(154,103,255,.28)}
.login-page[data-ui-theme="ocean"]{--login-accent:#23c7ff;--login-accent-2:#367cff;--login-glow:rgba(35,199,255,.28)}
.login-page[data-ui-theme="emerald"]{--login-accent:#38e29b;--login-accent-2:#22b87b;--login-glow:rgba(56,226,155,.25)}
.login-page[data-ui-theme="rose"]{--login-accent:#ff719f;--login-accent-2:#ab72ff;--login-glow:rgba(255,113,159,.27)}
.login-page[data-ui-theme="gold"]{--login-accent:#ffc34d;--login-accent-2:#ff7d57;--login-glow:rgba(255,195,77,.25)}
.login-page .login-card{border-color:color-mix(in srgb,var(--login-accent) 30%,transparent);box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 55px var(--login-glow)}
.login-page{background:#070b16!important;background-image:linear-gradient(rgba(108,121,164,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(108,121,164,.045) 1px,transparent 1px),radial-gradient(circle at 16% 14%,var(--login-glow),transparent 34%),radial-gradient(circle at 86% 82%,color-mix(in srgb,var(--login-accent-2) 15%,transparent),transparent 38%)!important;background-size:64px 64px,64px 64px,auto,auto!important}
.login-page .login-card{background:radial-gradient(circle at 50% 0,var(--login-glow),transparent 45%),linear-gradient(145deg,rgba(20,25,42,.97),rgba(8,12,23,.98))!important}
.login-page .brand-mark,.login-page .login-button{background:linear-gradient(135deg,var(--login-accent),var(--login-accent-2));box-shadow:0 10px 28px var(--login-glow)}
.login-page .login-brand-accent i,.login-page .login-brand-accent span{background:var(--login-accent)}
.login-page .login-security-badge,.login-page .secure-session{color:var(--login-accent-2)}
.login-page .input-wrap:focus-within{border-color:var(--login-accent);box-shadow:0 0 0 3px var(--login-glow)}
.login-page .input-wrap input:focus{border-color:var(--login-accent)!important;box-shadow:0 0 0 3px var(--login-glow)!important}.login-page .remember-row input{accent-color:var(--login-accent)}
.login-page .login-orb{display:none}
.login-page .brand-mark{border-color:color-mix(in srgb,var(--login-accent) 55%,#fff 15%)!important;background:linear-gradient(135deg,var(--login-accent),var(--login-accent-2))!important;box-shadow:0 9px 28px var(--login-glow)!important}
.login-page .brand-mark::before{background:radial-gradient(circle,var(--login-glow),transparent 66%)!important}
.login-page .login-brand-accent span{background:linear-gradient(90deg,transparent,var(--login-accent))!important}.login-page .login-brand-accent i{background:var(--login-accent-2)!important;box-shadow:0 0 13px var(--login-glow)!important}
.login-page .login-security-badge{border-color:color-mix(in srgb,var(--login-accent) 58%,transparent)!important;background:color-mix(in srgb,var(--login-accent) 14%,#111827)!important;color:var(--login-accent-2)!important;box-shadow:0 0 17px var(--login-glow)!important}.login-page .login-security-badge svg{color:var(--login-accent-2)!important}
.login-page .input-wrap input{border-color:color-mix(in srgb,var(--login-accent) 30%,#344056)!important;background:color-mix(in srgb,var(--login-accent) 7%,#101724)!important}.login-page .input-wrap:focus-within>svg{color:var(--login-accent-2)!important;filter:drop-shadow(0 0 5px var(--login-glow))!important}
.login-page .login-form>.login-button:not(.is-authenticating),.login-page .back-to-login{border-color:color-mix(in srgb,var(--login-accent) 50%,#fff 18%)!important;background:linear-gradient(105deg,var(--login-accent),var(--login-accent-2))!important;box-shadow:0 9px 25px var(--login-glow)!important}
.login-page .secure-session,.login-page .security-note svg{color:var(--login-accent-2)!important}.login-page .security-note{border-color:color-mix(in srgb,var(--login-accent) 25%,transparent)!important}
.login-loader[hidden]{display:none}
html.login-intro .login-shell{visibility:hidden}
.login-loader{display:flex;align-items:center;justify-content:center;opacity:1;visibility:visible;transition:opacity .24s ease,visibility .24s ease}
.login-loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
body.login-is-loading{overflow:hidden}
.login-loader{
    padding:24px;overflow-y:auto;
    background-color:#070b16;
    background-image:linear-gradient(rgba(108,121,164,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(108,121,164,.055) 1px,transparent 1px),radial-gradient(ellipse at 85% 12%,var(--login-glow),transparent 55%),radial-gradient(ellipse at 10% 90%,color-mix(in srgb,var(--login-accent-2) 18%,transparent),transparent 55%);
    background-size:64px 64px,64px 64px,auto,auto;
}
.login-loader-content{
    position:relative;width:min(420px,100%);min-height:0;padding:36px 34px 28px;
    border:1px solid rgba(174,118,255,.25);border-radius:24px;
    background:linear-gradient(145deg,rgba(21,26,44,.97),rgba(10,14,26,.98));
    box-shadow:0 28px 80px rgba(0,0,0,.4),0 0 70px rgba(174,75,249,.07);
}
.login-loader-eyebrow{color:#a9b7ce;font-size:10px;font-weight:700;letter-spacing:3px}
.login-loader .validation-scanner{width:124px;height:124px;margin:28px 0 25px;flex-shrink:0}
.login-loader .scanner-ring-one{border:1px solid rgba(158,113,255,.2)}
.login-loader .scanner-ring-two{inset:10px;border:1px dashed rgba(104,225,255,.3)}
.login-loader .scanner-sweep{inset:0;border-width:2px;border-top-color:var(--login-accent);border-right-color:transparent;filter:drop-shadow(0 0 5px var(--login-glow));animation-duration:1.5s}
.login-loader-key{position:absolute;inset:27px;display:grid;place-items:center;border-radius:22px;color:#fff;background:linear-gradient(145deg,var(--login-accent),var(--login-accent-2));border:1px solid rgba(255,255,255,.3);box-shadow:0 0 34px var(--login-glow),inset 0 1px rgba(255,255,255,.15)}
.login-loader-key svg{width:34px;height:34px}
.login-loader-content h2{max-width:100%;overflow-wrap:anywhere;margin:0 0 18px;color:#f3edff;font-size:28px;font-weight:700;letter-spacing:-.8px;line-height:1.2}
.login-loader-content .login-loader-title{margin:0 0 8px;color:#e3d4fa;font:600 15px/1.4 "DM Sans",system-ui,sans-serif;letter-spacing:0}
.login-loader-content .login-loader-description{max-width:290px;min-height:40px;margin:0 0 24px;color:#94a2bb;font:400 12px/1.65 "DM Sans",system-ui,sans-serif;letter-spacing:0}
.login-loader .login-loader-track{height:3px;background:rgba(167,134,222,.13)}
.login-loader .login-loader-track span{width:42%;background:linear-gradient(90deg,transparent,var(--login-accent),var(--login-accent-2),transparent);animation:login-loading-travel 1.65s ease-in-out infinite}
.login-loader-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:22px;color:#8b9ab2;font-size:10px;line-height:1.5}
.login-loader-footer>span{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#77e2ff;box-shadow:0 0 8px rgba(119,226,255,.4)}
@keyframes login-loading-travel{from{transform:translateX(-110%)}to{transform:translateX(350%)}}
@media(prefers-reduced-motion:no-preference){
    .login-is-ready .login-shell{animation:login-form-reveal .5s cubic-bezier(.22,1,.36,1) both}
    .login-loader-content{animation:login-loading-appear .25s ease-out both}
    .login-loader-key{animation:login-loading-glow 2.4s ease-in-out infinite}
}
@keyframes login-form-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes login-loading-appear{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes login-loading-glow{50%{box-shadow:0 0 44px var(--login-glow),inset 0 1px rgba(255,255,255,.15)}}
@media(max-width:575.98px){.login-loader{padding:20px}.login-loader-content{padding:30px 24px 25px}.login-loader-content h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.login-loader .scanner-sweep,.login-loader .login-loader-track span{animation:none}.login-loader .login-loader-track span{width:100%;transform:none}}

.login-page .login-button.is-authenticating{
    opacity:1;color:#f6eaff;cursor:wait;transform:none;filter:none;
    outline:1px solid rgba(244,225,255,.95);outline-offset:2px;
    background:linear-gradient(110deg,#c467ed,#a64bd0,#c467ed);background-size:200% 100%;
    box-shadow:0 10px 26px rgba(191,75,249,.3);gap:12px;
}
.login-page .login-button.is-authenticating::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.2) 50%,transparent 65%);
    transform:translateX(-100%);
}
.login-auth-hourglass{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px}
.login-page .login-button .login-auth-hourglass svg{width:20px;height:20px;transform:none}
@media(prefers-reduced-motion:no-preference){
    .login-page .login-button.is-authenticating{animation:login-auth-glow 2s ease-in-out infinite}
    .login-page .login-button.is-authenticating::before{animation:login-auth-shine 2.2s ease-in-out infinite}
    .login-auth-hourglass{animation:login-auth-turn 1s linear infinite}
}
@keyframes login-auth-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes login-auth-shine{0%,15%{transform:translateX(-100%)}80%,100%{transform:translateX(100%)}}
@keyframes login-auth-glow{50%{background-position:100% 0;box-shadow:0 10px 32px var(--login-glow)}}

/* Final theme authority: remove every legacy purple/pink login override. */
html body.login-page{
    background-color:#070b16!important;
    background-image:linear-gradient(rgba(112,132,170,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(112,132,170,.04) 1px,transparent 1px),radial-gradient(circle at 84% 8%,color-mix(in srgb,var(--login-accent) 18%,transparent),transparent 34%),radial-gradient(circle at 8% 92%,color-mix(in srgb,var(--login-accent-2) 13%,transparent),transparent 36%)!important;
    background-size:64px 64px,64px 64px,auto,auto!important;
    color:#edf3ff!important;
}
html body.login-page .login-card{
    border-color:color-mix(in srgb,var(--login-accent) 48%,#31405a)!important;
    background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--login-accent) 16%,transparent),transparent 43%),linear-gradient(145deg,#111a2a,#080d18)!important;
    box-shadow:0 26px 75px rgba(0,0,0,.46),0 0 48px var(--login-glow)!important;
}
html body.login-page .login-brand .brand-title{color:#f4f7ff!important;text-shadow:0 2px 22px var(--login-glow)!important}
html body.login-page .form-field label{color:#cbd6e8!important}
html body.login-page .input-wrap input{border-color:color-mix(in srgb,var(--login-accent) 38%,#354158)!important;background:#192337!important;color:#f3f7ff!important;caret-color:var(--login-accent-2)!important}
html body.login-page .input-wrap input:hover{border-color:color-mix(in srgb,var(--login-accent) 62%,#65708d)!important}
html body.login-page .input-wrap input:focus{border-color:var(--login-accent)!important;background:#1b263b!important;box-shadow:0 0 0 3px var(--login-glow),0 7px 24px rgba(0,0,0,.2)!important}
html body.login-page .password-toggle{color:#91a0b8!important}html body.login-page .password-toggle:hover{background:var(--login-glow)!important;color:var(--login-accent-2)!important}
html body.login-page .remember-row{color:#9eacc1!important}html body.login-page .remember-row input{accent-color:var(--login-accent)!important}
html body.login-page .login-form>.login-button:not(.is-authenticating){background:linear-gradient(105deg,var(--login-accent),var(--login-accent-2))!important;border-color:color-mix(in srgb,var(--login-accent-2) 55%,#fff 12%)!important;box-shadow:0 9px 26px var(--login-glow)!important}
html body.login-page .security-note{color:#8998af!important;border-color:color-mix(in srgb,var(--login-accent) 25%,#263249)!important}
html body.login-page .security-note .dot{background:var(--login-accent-2)!important}
html body.login-page .login-copyright{color:#8492a8!important}
html body.login-page .login-orb{display:none!important;filter:none!important}
