/* AG-CANON-1: the sign-in, sign-up and first-run pages use the canon (see /canon.css) plus the dashboard's card and form styles. */
.login-body { display: flex; justify-content: center; padding: 40px 16px; }
.login-wrap { width: 100%; max-width: 440px; }
.login-brand { text-align: center; margin: 0 0 22px; }
.login-title { font-size: 22px; font-weight: 700; letter-spacing: -0.3px; margin: 0 0 4px; }
.login-sub { margin: 0 0 18px; color: var(--muted); }
.full { width: 100%; }
.qr { display: block; margin: 10px auto; background: #ffffff; border-radius: 8px; padding: 8px; }
.codes { background: var(--bg-subtle); border: 1px solid var(--line); border-radius: 8px; padding: 10px; font-size: 13px; white-space: pre-wrap; word-break: break-all; }
code { font-family: var(--font-mono); word-break: break-all; }
.linklike { background: none; border: 0; color: var(--ink); cursor: pointer; font: inherit; padding: 0; text-decoration: underline; }
h2, h3 { margin: 0 0 6px; }
.login-links { margin: 14px 0 0; text-align: center; font-size: 14px; color: var(--muted); }
.login-links a { color: var(--ink); }
.field-hint { color: var(--muted); font-size: 12px; margin: 2px 0 0; }
