body.login-locked> :not(#loginScreen):not(script){display:none!important}
#loginScreen[hidden]{display:none!important}
#loginScreen{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 15% 15%,#c8e9e7,transparent 50%),radial-gradient(ellipse at 90% 85%,#ddd0fb,transparent 50%),#f3f4fc;overflow:auto;color:#29364d;font-family:'Segoe UI',sans-serif}
#loginScreen .login-card{width:min(100%,420px);padding:36px;border:1px solid #ffffffd9;border-radius:28px;background:#ffffffed;box-shadow:0 24px 80px #44558320}
.login-mark{width:70px;height:70px;margin-bottom:20px}.login-mark img{width:100%;height:100%}
#loginScreen small{font-size:10px;letter-spacing:1.8px;color:#6b73a0;font-weight:700}
#loginScreen h1{font-size:28px;letter-spacing:-.8px;line-height:1.2;margin:12px 0;color:#344264}
#loginScreen p{font-size:14px;line-height:1.6;color:#69768e;margin-bottom:24px}
#loginScreen label{display:block;margin:16px 0 8px;font-size:13px;font-weight:650;color:#495777}
#loginScreen input{width:100%;box-sizing:border-box;height:48px;padding:12px 14px;border:1px solid #d4dced!important;border-radius:12px!important;background:#f8faff!important;color:#29364d!important;font-size:16px}
.login-password{position:relative}.login-password input{padding-right:80px!important}
#loginReveal{position:absolute;right:10px;top:10px;border:0;background:transparent;color:#6556a3;font-size:12px;padding:6px;cursor:pointer}
#loginScreen .login-submit{width:100%;margin-top:24px;padding:14px;border:0;border-radius:12px;background:#6758b1;color:white;font-size:15px;font-weight:700;cursor:pointer}
#loginScreen .login-submit:hover{background:#554598}#loginScreen .login-submit:disabled{opacity:.6}
#loginScreen #loginError{color:#a53c52;font-size:13px;margin:12px 0 0}#loginScreen footer{text-align:center;margin-top:24px;color:#8490a6;font-size:11px}
#loginScreen :focus-visible{outline:3px solid #a997e0;outline-offset:3px}
@media(max-width:500px){#loginScreen{padding:16px}.login-card{padding:26px!important}}

/* Professional sign-in: clear identity, restrained palette and comfortable fields. */
#loginScreen{background:radial-gradient(ellipse at 10% 10%,#254773,transparent 60%),linear-gradient(140deg,#17263d,#263956);padding:32px}
#loginScreen .login-card{width:min(100%,440px);box-sizing:border-box;padding:42px;border-radius:22px;background:#fff;border:1px solid #dfe6f0;box-shadow:0 25px 85px #07122560}
#loginScreen .login-mark{width:58px;height:58px;margin-bottom:24px}
#loginScreen small{color:#526e94;font-size:10px;letter-spacing:2px}
#loginScreen h1{font-size:30px;color:#24354e;letter-spacing:-.9px;margin:14px 0 10px;font-weight:700}
#loginScreen p{color:#6b7890;line-height:1.7;font-size:14px}
#loginScreen input{background:#f8fafc!important;border-color:#d6deea!important;border-radius:10px!important;height:50px}
#loginScreen .login-submit{background:#355e94;border-radius:10px;min-height:48px;letter-spacing:.1px}#loginScreen .login-submit:hover{background:#294d7d}
#loginScreen label{color:#41536f;font-size:12px;letter-spacing:.15px}
#loginScreen footer{border-top:1px solid #e7edf5;padding-top:20px;margin-top:28px;color:#7e8ba2}
#loginScreen :focus-visible{outline:3px solid #8eb5e3;outline-offset:3px}
#loginReveal{color:#355e94}
@media(max-width:500px){#loginScreen{padding:18px}#loginScreen .login-card{padding:28px}#loginScreen h1{font-size:27px}}

/* Calm split-layout login, with its own isolated typography and motion. */
.login-layout{display:grid;grid-template-columns:1.1fr 1fr;width:min(960px,100%);border:1px solid #ffffff38;border-radius:26px;overflow:hidden;box-shadow:0 30px 100px #07122550;background:#fff}
#loginScreen .login-layout .login-card{width:100%;border:0;border-radius:0;box-shadow:none;padding:44px}
.login-scene{position:relative;min-height:540px;background:linear-gradient(135deg,#e9f4f7,#e5e9ff);padding:40px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;color:#324968}
.login-scene-copy{position:relative;z-index:1}.login-scene-copy>span{font-size:10px;letter-spacing:2px;font-weight:700;color:#6888a7}.login-scene h2{font-family:'Segoe UI',sans-serif;font-size:30px;line-height:1.25;letter-spacing:-.9px;font-weight:700;margin:18px 0 12px;color:#324968}
#loginScreen .login-scene-copy p{color:#6c85a2;font-size:13px;margin:0}.login-building{width:100%;max-height:300px;position:relative;margin-top:28px;margin-bottom:48px;filter:drop-shadow(0 12px 18px #647da31a)}
.login-sky-symbol{position:absolute;right:32px;top:140px;font-size:58px;color:#e8b84e;line-height:1;animation:login-sky-float 6s ease-in-out infinite}
#loginScreen[data-sky=night] .login-scene{background:linear-gradient(135deg,#283d5d,#3c456d)}#loginScreen[data-sky=night] .login-scene h2{color:#e3ecff}#loginScreen[data-sky=night] .login-scene-copy :is(span,p){color:#bdcee7}#loginScreen[data-sky=night] .login-sky-symbol{color:#e6eafb}
.login-input-wrap,.login-password{position:relative}.login-input-icon{position:absolute;left:14px;top:15px;color:#7790ac;pointer-events:none;width:20px;height:20px}.login-input-icon svg{width:20px;height:20px}#loginScreen .login-icon-input{padding-left:44px!important}
#loginReveal{top:12px;right:10px;display:grid;place-items:center;padding:3px;width:28px;height:28px}#loginReveal svg{width:21px;height:21px}
#loginScreen .login-caps{color:#98691f;font-size:12px;margin:8px 0 0}#loginScreen [hidden]{display:none!important}
.login-pet{position:absolute;bottom:26px;left:38px;right:28px;display:flex;align-items:center;gap:12px;color:var(--login-pet-color);font-size:12px;font-weight:600}.login-pet svg{width:48px;height:48px;flex:none;animation:login-pet-greet 5s ease-in-out infinite}.login-pet .kitty-standing-body{display:none}#loginScreen[data-sky=night] .login-pet span{color:#dce7fa}
@keyframes login-sky-float{50%{transform:translateY(-5px)}}@keyframes login-pet-greet{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(-7deg)}90%{transform:rotate(5deg)}}
@media(max-width:720px){.login-layout{max-width:440px;grid-template-columns:1fr}.login-scene{display:none}#loginScreen .login-layout .login-card{padding:30px}}
@media(prefers-reduced-motion:reduce){.login-sky-symbol,.login-pet svg{animation:none}}
