/* Sign-in: one calm column. Brand, then the task; appearance is a quiet footer control. */
.login-page { min-height: 100svh; max-width: none; display: flex; flex-direction: column; padding: 30px clamp(24px, 5vw, 80px) 24px; }
.login-layout { flex: 1; display: flex; flex-direction: column; justify-content: center; width: min(100%, 400px); margin: 0 auto; padding: 48px 0 64px; }
.login-logo { display: block; align-self: flex-start; width: auto; height: 36px; margin-bottom: 28px; color: var(--ink); }
.login-panel { padding-top: 28px; border-top: 2px solid var(--accent); }
.login-panel h1 { margin: 0 0 10px; }
.login-description { color: var(--muted-foreground); font-size: 15px; line-height: 1.55; margin-bottom: 24px !important; }
.login-panel .notice { margin: 0 0 20px; overflow-wrap: anywhere; }
.login-address { margin: 0 0 20px !important; color: var(--muted-foreground); font-size: 14px; }
.login-address strong { display: block; color: var(--ink); font-weight: 600; overflow-wrap: anywhere; }
.login-panel .stack { gap: 14px; }
.login-panel label { gap: 8px; color: var(--ink); font-weight: 500; }
.login-panel input { min-height: 46px; }
.login-panel button, .login-panel .button { width: 100%; min-height: 46px; margin-top: 4px; }
.login-secondary { display: inline-block; margin-top: 18px; font-size: 14px; }
.login-foot { display: flex; justify-content: center; }
.login-foot .theme-control { display: flex; flex: 0 0 auto; flex-direction: row; align-items: center; gap: 8px; }
.login-foot .theme-control > span { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
.login-foot .theme-control select { width: 104px; min-height: 32px; height: 32px; padding: 0 8px; }
@media (max-width: 420px) {
  .login-page { padding: 18px; }
  .login-layout { padding: 32px 0 48px; }
}
