* { box-sizing: border-box; }
body { -webkit-font-smoothing: antialiased; }
button, input, a { font: inherit; }
button, .auth-button { cursor: pointer; }
.auth-card { width: min(400px, 100%); padding: 32px; border: 1px solid #e2e8f0; border-radius: 24px; background: #fff; box-shadow: 0 16px 48px #11193e0d; }
.auth-logo { display: block; margin-bottom: 20px; }
.auth-brand { margin: 0 0 8px; color: #718096; font-size: 13px; letter-spacing: .08em; }
.auth-card h1, .auth-card h2 { margin: 0 0 10px; font-size: 26px; }
.auth-description { margin: 0 0 24px; color: #65728a; font-size: 14px; line-height: 1.6; }
.auth-button, .auth-secondary { display: block; width: 100%; min-height: 46px; padding: 12px 14px; border: 0; border-radius: 12px; text-align: center; text-decoration: none; }
.auth-button { background: #bfff00; color: #172033; font-weight: 700; }
.auth-secondary { margin-top: 10px; background: #f2f5fa; color: #334563; }
.auth-divider { margin: 24px 0; text-align: center; color: #7b879b; font-size: 13px; }
.auth-card label { display: block; margin-bottom: 16px; font-size: 14px; }
.auth-card input { display: block; width: 100%; min-height: 46px; margin-top: 8px; padding: 10px 12px; border: 1px solid #d7dfeb; border-radius: 10px; background: #fff; color: #11193e; }
.auth-card :focus-visible { outline: 3px solid #6685d4; outline-offset: 3px; }
.auth-card button:disabled { opacity: .6; cursor: wait; }
.auth-error { margin: 16px 0 0; color: #ad342e; font-size: 14px; line-height: 1.6; }
.auth-qr-dialog { position: fixed; max-height: calc(100dvh - 32px); overflow-y: auto; color: #11193e; }
.auth-qr-dialog::backdrop { background: #17203370; }
.auth-close { position: absolute; right: 14px; top: 10px; border: 0; background: transparent; font-size: 28px; color: #65728a; }
#qrContainer { min-height: 280px; }
#qrContainer iframe { width: 100%; border: 0; }
@media(max-width: 480px) { .auth-entry { padding: 16px; } .auth-card { padding: 26px 22px; } }
