.auth-shell { width: min(100% - 32px, 520px); margin: 56px auto; }
.auth-card { background: var(--bg-card); border: 1px solid var(--border-2); border-radius: 16px; padding: 32px; box-shadow: 0 24px 70px rgba(0,0,0,.3); }
.auth-card h1 { font-family: var(--f-display); font-size: clamp(1.7rem, 5vw, 2.25rem); letter-spacing: -.035em; }
.auth-intro { color: var(--text-2); margin: 8px 0 26px; }
.auth-form { display: grid; gap: 17px; }
.field { display: grid; gap: 7px; }
.field label { color: var(--text); font-weight: 600; font-size: .875rem; }
.field input { width: 100%; border: 1px solid var(--border-2); background: var(--bg-subtle); color: var(--text); border-radius: var(--r-sm); padding: 12px 13px; font: inherit; }
.field input:focus { outline: 2px solid rgba(255,107,53,.3); border-color: var(--accent); }
.field-hint { color: var(--text-3); font-size: .78rem; }
.auth-submit { width: 100%; justify-content: center; min-height: 46px; }
.auth-submit:disabled { cursor: wait; opacity: .65; transform: none; }
.auth-status { display: none; padding: 12px 14px; border-radius: var(--r-sm); font-size: .9rem; }
.auth-status[data-kind="success"] { display: block; color: #b8f7ca; background: var(--green-bg); border: 1px solid rgba(34,197,94,.25); }
.auth-status[data-kind="error"] { display: block; color: #ffd0c0; background: var(--accent-bg); border: 1px solid rgba(255,107,53,.25); }
.auth-footer { color: var(--text-3); text-align: center; font-size: .8rem; margin-top: 20px; }
.auth-footer a { color: var(--text-2); }
.turnstile-slot { min-height: 65px; }
.turnstile-frame { display: block; width: 100%; max-width: 320px; height: 70px; border: 0; background: transparent; color-scheme: dark; }
@media (max-width: 540px) { .auth-shell { margin: 24px auto; } .auth-card { padding: 24px 18px; } }
