/* Login, beta access and permission messages share one form layout. */
.auth-page { min-height:100%; height:auto; display:flex; align-items:center; justify-content:center; padding:24px; background:var(--bg); }
.auth-panel { width:min(400px, 100%); padding:32px; border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--surface); }
.wordmark { margin-bottom:32px; color:var(--text); font-size:22px; font-weight:650; line-height:1.3; letter-spacing:-.8px; }
.auth-panel h1 { margin-bottom:24px; font-size:21px; font-weight:600; line-height:1.5; letter-spacing:-.5px; }
.auth-panel .desc { margin:-12px 0 24px; color:var(--text-soft); font-size:13px; line-height:1.8; }
.auth-panel label { display:block; margin:16px 0 6px; color:var(--text-soft); font-size:12px; font-weight:500; }
.auth-panel input { width:100%; min-height:40px; font-size:14px; }
.auth-panel .auth-submit { width:100%; min-height:40px; margin-top:20px; }
.auth-panel .msg { min-height:20px; margin-top:12px; color:var(--err); font-size:12px; line-height:1.7; }
.auth-panel .foot { margin-top:20px; font-size:12px; }
.auth-panel .foot a { color:var(--text-soft); text-decoration:none; }
.auth-panel .foot a:hover { color:var(--accent-700); text-decoration:underline; }
.stage { display:none; }
.stage.on { display:block; }
#code { font-family:var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }
.ok-icon { display:block; width:36px; height:36px; margin-bottom:20px; }
.install-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.install-btn svg { flex:none; }
.auth-panel .alt { display:inline-block; width:auto; margin-top:20px; padding:0; border:0; background:none; color:var(--text-soft); font-size:12px; line-height:1.7; text-align:left; }
.auth-panel .alt:hover { color:var(--accent-700); text-decoration:underline; }
.auth-panel .note { margin-top:16px; color:var(--text-soft); font-size:12px; line-height:1.8; }
.auth-panel .permission-note { margin-top:-12px; margin-bottom:24px; color:var(--text-soft); font-size:13px; line-height:1.8; }
@media (max-width:440px) {
  .auth-page { padding:20px; }
  .auth-panel { padding:28px 24px; }
}
