/* Sign-in, reset and change-password pages. Tokens and form controls come from theme.css. */
body { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--cs2-background); padding: 24px 16px; }
.auth { width: min(440px, 100%); background: var(--background); padding: 44px 36px 34px; }
.auth__brand { display: flex; align-items: center; gap: 12px; margin-bottom: 26px; }
.auth__brand img { width: 52px; height: 52px; }
.auth__brand span { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #757575; }
.auth h1 { font-size: 24px; margin-bottom: 8px; }
.auth .lead { color: var(--muted-text); margin-bottom: 24px; }
.auth form { margin: 0; }
.auth .button { margin-top: 4px; }
.auth__links { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; font-size: 13px; }
.auth__links a { text-decoration: underline; }
.pw { position: relative; }
.pw input { padding-right: 70px; }
.pw__toggle { position: absolute; right: 8px; top: 8px; height: 32px; padding: 0 10px; background: none; border: 0; font: inherit; font-size: 12px; text-decoration: underline; cursor: pointer; color: var(--text-color); }
.hint { font-size: 12px; color: var(--muted-text); margin: -14px 0 18px; }
.note-success { margin-bottom: 18px; }
@media (max-width: 480px) { .auth { padding: 32px 20px 26px; } }
