.login-screen{position:fixed;inset:0;z-index:20;overflow:auto;overscroll-behavior:contain;display:grid;place-items:center;padding:calc(24px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));background:transparent}
.login-screen::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(145deg,rgba(245,241,255,.12),rgba(237,231,255,.2))}
:root[data-theme="dark"] .login-screen::before{background:linear-gradient(145deg,rgba(5,3,25,.12),rgba(7,4,30,.24))}
.login-wrap{position:relative;z-index:1;width:min(100%,410px);margin:auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0}
.login-logo{display:block;width:clamp(128px,38vw,174px);height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(52,27,128,.28));margin:0 0 -3px}
.login-card{width:100%;padding:26px 24px 18px;border-radius:25px;background:linear-gradient(145deg,color-mix(in srgb,var(--glass-strong) 84%,transparent),color-mix(in srgb,var(--glass) 81%,transparent));box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.48)}
.login-card h1{font-size:25px;letter-spacing:-.7px;text-align:center;margin:0 0 21px}
.login-card label{display:block;font-size:13px;font-weight:600;margin:14px 0 7px;color:var(--ink)}
.login-card input{display:block;width:100%;height:48px;border-radius:13px;border:1px solid var(--line);background:var(--field);padding:0 13px;font-size:16px;color:var(--ink);outline:none;box-shadow:inset 0 1px rgba(255,255,255,.2)}
.login-card input:focus{border-color:color-mix(in srgb,var(--accent) 70%,var(--glass-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.login-submit{margin-top:22px;min-height:50px;font-size:15px}
.login-feedback{margin:12px 2px 0;color:var(--muted);font-size:12px;line-height:1.5;text-align:center}
.login-dev-access{border-top:1px solid var(--line);margin-top:19px;padding-top:13px;text-align:center}
.login-dev-access button{border:0;background:none;color:var(--accent);font-size:12px;font-weight:600;padding:10px 8px;min-height:42px;border-radius:10px}
.login-dev-access button:hover{background:var(--soft)}
.login-screen[hidden]{display:none!important}
body.login-locked{overflow:hidden}
body.login-locked #applicationContent{visibility:hidden}
body.login-locked .app-shell{width:100%;max-width:none;min-height:100dvh;padding:0}
@media(min-width:700px){.login-screen{padding:34px}.login-wrap{width:min(100%,420px)}.login-logo{width:178px}.login-card{padding:29px 29px 20px}}
@media(max-height:620px){.login-screen{place-items:start center}.login-wrap{padding:0}.login-logo{width:108px}.login-card{padding-top:20px;padding-bottom:13px}.login-card h1{margin-bottom:14px}.login-card label{margin-top:10px}.login-submit{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.login-card,.login-logo{animation:none;transition:none}}
