/* ---------- Login ---------- */
#loginScreen{
  position:fixed;inset:0;background:var(--slate);display:flex;align-items:center;justify-content:center;z-index:500;
}
.login-card{background:var(--panel);border-radius:14px;padding:36px 34px;width:100%;max-width:380px;box-shadow:0 20px 60px rgba(0,0,0,0.3);}
.login-card .mark{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--brass);text-transform:uppercase;}
.login-card h1{font-size:22px;margin:6px 0 22px 0;}
.login-card .field{margin-bottom:14px;}
.login-card label{display:block;font-size:12px;font-weight:700;color:var(--slate-2);margin-bottom:6px;text-transform:uppercase;}
.login-card input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:var(--paper);}
.login-card .btn{width:100%;margin-top:6px;justify-content:center;}
#loginError{color:var(--warn);font-size:12.5px;margin-top:10px;min-height:16px;}
#loginLoading{display:none;}


#loginSuccess{color:var(--ok);font-size:12.5px;margin-top:8px;min-height:16px;}
.login-card .pw-wrap{position:relative;}
.login-card .pw-wrap input{padding-right:62px;}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--slate-2);font-size:12px;font-weight:600;cursor:pointer;padding:6px 8px;}
.link-btn{background:none;border:none;color:var(--brass);font-size:13px;font-weight:600;cursor:pointer;padding:6px;}
.link-btn:hover{text-decoration:underline;}
.link-btn-muted{color:var(--slate-2);font-size:12px;font-weight:500;}
.login-card input:focus{outline:2px solid var(--slate-2);outline-offset:1px;}
.btn:disabled{opacity:.65;cursor:wait;}
@media (max-width:480px){ .login-card{padding:28px 22px;margin:0 16px;} }
#loginScreen{overflow-y:auto;}
#loginScreen .login-card{margin:auto;}
#loginError{min-height:0;margin-top:8px;}
#loginSuccess{min-height:0;}
