/* One stable sign-in surface, from provider selection through verification. */
#login{max-width:none;margin:0;width:100%;--auth-bg:#f4f5f7;--auth-card:#fff;--auth-ink:#202a3b;--auth-muted:#647084;--auth-line:#dce1e8;--auth-soft:#f7f8fa;display:grid;place-items:center;min-height:100vh;min-height:100svh;padding:clamp(18px,4vw,64px);background:var(--auth-bg);color:var(--auth-ink);font-family:var(--ks-ui);box-sizing:border-box}
[data-theme=dark] #login{--auth-bg:#10151e;--auth-card:#19212d;--auth-ink:#eef2f8;--auth-muted:#adb9cb;--auth-line:#354154;--auth-soft:#202b39}
#login *,#login *::before,#login *::after{box-sizing:border-box}
#login .auth-shell{display:grid;grid-template-columns:1fr 1fr;width:min(1060px,100%);min-height:650px;border:1px solid var(--auth-line);border-radius:28px;overflow:hidden;background:var(--auth-card);box-shadow:0 20px 70px #111a2a0c}
#login .auth-story{width:auto;min-width:0;border:0;position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:46px;background:#19283e;color:#f1f4fa;overflow:hidden}
#login .auth-story::after{content:"";position:absolute;width:420px;height:420px;right:-230px;bottom:25px;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 55px #ffffff04,0 0 0 110px #ffffff03;pointer-events:none}
#login .auth-brand{display:flex;align-items:center;gap:12px;z-index:1}
#login .mark{font:600 19px/1.2 var(--ks-ui);white-space:nowrap;letter-spacing:-.4px;color:inherit;margin:0;order:initial}
#login .lstage{display:flex;align-items:center;justify-content:center;width:38px;height:48px;flex:0 0 38px}
#login #lgSvg{display:block;width:38px;height:44px;transform:none}
#login .lg-stick{color:#f1f4fa!important}
#login .auth-story h2{position:relative;z-index:1;font:500 clamp(32px,4vw,46px)/1.12 var(--ks-ui);letter-spacing:-1.8px;margin:0 0 20px;color:#f1f4fa;max-width:340px}
#login .auth-story h2 em{font-style:normal;color:#ffb695}
#login .auth-story p{position:relative;z-index:1;max-width:330px;font:400 15px/1.65 var(--ks-ui);color:#b9c8dc;margin:0}
#login .auth-path{position:relative;z-index:1;display:flex;align-items:center;gap:10px;font-size:12px;color:#b9c8dc}
#login .auth-path span:first-child{color:#ffbd9f}
#login .auth-path i{height:1px;flex:1;max-width:38px;background:#ffffff30}
#login .auth-main{padding:48px;display:flex;flex-direction:column;justify-content:center;min-width:0}
#login .auth-org{display:flex;align-items:center;gap:12px;min-height:44px;margin-bottom:30px}
#login #loginLogo{width:44px;height:44px;max-height:none;max-width:none;object-fit:contain}
#login .lorg{font:500 13px/1.5 var(--ks-ui);color:var(--auth-muted);margin:0}
#login h1{font:600 30px/1.2 var(--ks-ui);letter-spacing:-1px;margin:0 0 10px;color:var(--auth-ink)}
#login .auth-intro{font-size:14px;line-height:1.6;color:var(--auth-muted);margin:0 0 26px}
#login #ssoButtons{display:grid;gap:10px}
#login .auth-provider,#login #loginBtn{display:flex;align-items:center;gap:13px;width:100%;min-height:66px;padding:14px 17px;border:1px solid var(--auth-line);border-radius:13px;background:var(--auth-card);color:var(--auth-ink);text-align:left;font:500 14px/1.4 var(--ks-ui);letter-spacing:0;text-transform:none;transition:border-color .18s ease,background .18s ease}
#login .auth-provider:hover:not(:disabled),#login #loginBtn:hover:not(:disabled){border-color:#8494ac;background:var(--auth-soft)}
#login .auth-provider:first-child{border-color:#f3ac88;background:color-mix(in srgb,#ffb695 9%,var(--auth-card))}
#login .auth-provider>span:first-child{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:var(--auth-soft);color:var(--auth-ink);font-size:14px;flex-shrink:0}
#login .auth-provider b{font-weight:600;display:block}
#login .auth-provider small{font-size:12px;font-weight:400;display:block;color:var(--auth-muted);margin-top:1px}
#login .auth-provider .auth-arrow{margin-left:auto;font-size:20px;color:var(--auth-muted)}
#login .auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--auth-muted);font-size:12px}
#login .auth-divider::before,#login .auth-divider::after{content:"";height:1px;background:var(--auth-line);flex:1}
#login:not(.has-providers) .auth-divider{display:none}
#login #loginBtn{min-height:49px;justify-content:center;background:var(--auth-soft)}
#login button:disabled{opacity:.55;cursor:default}
#login button:focus-visible,#login a:focus-visible{outline:3px solid #649df2;outline-offset:3px}
#login .auth-progress{min-height:58px;display:flex;align-items:center;gap:10px;padding:16px 0;font-size:13px;line-height:1.5;color:var(--auth-muted)}
#login .auth-progress-dot{width:7px;height:7px;border-radius:50%;background:#8ba1bc;flex-shrink:0}
#login[aria-busy=true] .auth-progress-dot{background:#ffad86;animation:authBreathe 1.3s ease-in-out infinite}
#login[aria-busy=true] .lg-piece{animation:authBreathe 1.3s ease-in-out infinite}
#login[aria-busy=true] .lg-piece:nth-child(3){animation-delay:.12s}
#login[aria-busy=true] .lg-piece:nth-child(4){animation-delay:.24s}
#login .status{font:400 13px/1.6 var(--ks-ui);letter-spacing:0;background:transparent;border:0;padding:0;white-space:normal;margin:0}
#login .status.err{color:#b63522;background:#fff2ed;padding:12px;border-radius:10px;margin:4px 0 14px}
[data-theme=dark] #login .status.err{color:#ffb4a3;background:#432b2b}
#login .lhint{font:400 12px/1.6 var(--ks-ui);color:var(--auth-muted);text-align:left;margin:0;max-width:none}
#login .lfoot{font:400 11px/1.5 var(--ks-ui);color:var(--auth-muted);opacity:1;margin-top:24px;border-top:1px solid var(--auth-line);padding-top:18px}
#login .warnbox{font:400 13px/1.6 var(--ks-ui);overflow-wrap:anywhere;margin:12px 0 0;padding:14px;background:var(--auth-soft);border:1px solid var(--auth-line);border-radius:10px}
#login .auth-retry{margin:0 0 16px;font:500 13px var(--ks-ui);text-decoration:underline;background:none;border:0;padding:4px;color:var(--auth-ink);text-transform:none}
@keyframes authBreathe{0%,100%{opacity:1}50%{opacity:.38}}
@media(max-width:760px){#login .auth-shell{grid-template-columns:1fr;min-height:0;max-width:520px;border-radius:22px}#login .auth-story{padding:25px 28px;gap:25px}#login .auth-story h2{font-size:28px;letter-spacing:-.9px;max-width:none;margin-bottom:0}#login .auth-story p,#login .auth-path{display:none}#login .auth-main{padding:30px 28px}#login .auth-org{margin-bottom:20px}#login h1{font-size:26px}#login .lfoot{margin-top:18px}}
@media(prefers-reduced-motion:reduce){#login *,#login *::after{animation:none!important;transition:none!important}}

#login #loginLogo.hidden{display:block!important;visibility:hidden}
