/* Root-screen isolation also protects against stale workspace markup during navigation. */
html:not([data-auth-screen="authenticated"]):not([data-auth-screen="reconnecting"]) #workspace{display:none!important}
html[data-auth-screen="signed_out"] #sessionRestoring,html[data-auth-screen="access_revoked"] #sessionRestoring{display:none!important}
html[data-auth-screen="signed_out"] #login,html[data-auth-screen="access_revoked"] #login{display:flex!important}
html[data-auth-screen="authenticated"] #login,html[data-auth-screen="reconnecting"] #login{display:none!important}
#sessionRestoring{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(ellipse at 80% 5%,#164d78 0,transparent 50%),#052846}
.restore-brand{width:76px;height:76px;object-fit:contain;border-radius:8px;box-shadow:0 8px 30px #0002}
#sessionRestoring[data-phase="shell"] .restore-brand{opacity:.65}
#login.login-screen{min-height:100dvh;height:auto;box-sizing:border-box;padding:20px;align-items:center;justify-content:center;background:radial-gradient(ellipse at 90% 0%,#164d7880,transparent 55%),linear-gradient(145deg,#031d36,#07345a);overflow:auto}
#login .login-card{width:440px;max-width:100%;box-sizing:border-box;padding:24px 32px;display:flex;flex-direction:column;gap:0;border:1px solid #ffffff80;border-top:3px solid #ffb000;border-radius:16px;background:#fff;box-shadow:0 22px 60px #0004;color:#17385d;margin:0}
#login .brandmark{width:64px;height:64px;margin:0 auto 10px;padding:0;border:0;background:none;box-shadow:none}
#login .brandmark img{width:64px;height:64px;object-fit:contain;border-radius:5px}
#login .login-brand{font-size:12px;letter-spacing:2px;font-weight:700;text-align:center;margin:0 0 4px;color:#4d6685}
#login h1{font-size:23px;line-height:30px;text-align:center;margin:0;color:#052846}
#login .login-subtitle{font-size:13px;line-height:20px;text-align:center;margin:5px 0 18px;color:#6c819c}
#login label:not(.remember){font-size:13px;line-height:20px;font-weight:600;margin:0 0 5px}
#login .field{height:42px;min-height:42px;box-sizing:border-box;width:100%;margin:0 0 14px;padding:9px 12px;border:1px solid #bfcfe1;border-radius:8px;font-size:14px;background:#f8fbff;color:#17385d}
#login .password-row{display:block;position:relative;height:56px;margin:0}
#login .password-row input{padding-right:64px}
#login #showPassword{position:absolute;right:5px;top:5px;height:32px;min-height:32px;width:54px;padding:0;border:0;background:transparent;box-shadow:none;font-size:12px;color:#17385d}
#login .remember{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:400;height:24px;margin:0 0 14px}
#login .remember input{width:16px;height:16px;margin:0;accent-color:#e99a00}
#login #signIn{height:42px;min-height:42px;width:100%;border-radius:8px;border:1px solid #e99a00;background:linear-gradient(#ffbd21,#ffb000);color:#031d36;font-weight:700;transition:box-shadow .16s,background .16s;position:relative}
#login #signIn:hover:not(:disabled){box-shadow:0 4px 12px #e99a0033}
#login #signIn:active:not(:disabled){background:#e99a00;box-shadow:inset 0 2px 4px #0002;transform:none}
#login #signIn:disabled{opacity:.6;cursor:default}
#login #signIn[aria-busy="true"]::after{content:'';display:inline-block;width:12px;height:12px;margin-left:9px;border:2px solid #05284644;border-top-color:#052846;border-radius:50%;vertical-align:middle;animation:login-turn .8s linear infinite}
@keyframes login-turn{to{transform:rotate(360deg)}}
#login .login-authorised{text-align:center;margin:12px 0 4px;font-size:11px;line-height:16px;color:#6c819c}
#login #loginService{box-sizing:border-box;display:block;height:22px;min-height:22px;font-size:12px;line-height:22px;text-align:center;margin:0;color:#43725a}
#login #loginStatus{box-sizing:border-box;display:block;height:42px;min-height:42px;line-height:18px;font-size:12px;text-align:center;padding:3px 0;margin:0;color:#8e1746;overflow-wrap:anywhere}
#login .brand-credit{display:block;text-align:center;border-top:1px solid #d5e1ee;margin:6px 0 0;padding:10px 0 0;font-size:10px;line-height:14px;color:#6c819c}
#login .brand-credit strong{display:block;letter-spacing:2px;font-size:12px;color:#052846}
#login .brand-credit strong span{color:#a66b00}
#login :is(input,button):focus-visible{outline:2px solid #2f80ed;outline-offset:2px}
@media(max-height:660px){#login.login-screen{align-items:flex-start}#login .login-card{padding:18px 28px}}
@media(prefers-reduced-motion:reduce){#login #signIn{transition:none}#login #signIn[aria-busy="true"]::after{animation:none}}
#login .brand-credit{align-self:stretch;width:100%}#login .brand-credit>span{color:#6c819c}#login .brand-credit>strong{font-size:12px;color:#052846}#login .login-subtitle{font-weight:400}#login #showPassword{margin-top:0}
