.auth-section { padding: 60px 0; }
.auth-box { max-width: 460px; margin: 0 auto; background: #fff; border-radius: 14px; padding: 36px; box-shadow: 0 10px 40px rgba(0,0,0,.08); }
.auth-box-wide { max-width: 820px; }
.auth-form { display: flex; flex-direction: column; gap: 16px; margin-top: 20px; }
.auth-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-row { display: flex; flex-direction: column; gap: 6px; }
.form-row-full { grid-column: 1 / -1; }
.form-row label { font-size: 13px; font-weight: 600; color: #333; }
.form-control { padding: 11px 14px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; width: 100%; box-sizing: border-box; }
.form-control:focus { outline: none; border-color: #f7d36f; box-shadow: 0 0 0 3px rgba(247,211,111,.25); }
.auth-message { display: block; font-size: 14px; margin: 10px 0; }
.auth-error { color: #c0392b; }
.auth-success-text { color: #1e8449; }
.auth-switch { margin-top: 18px; font-size: 14px; text-align: center; }
.auth-switch a { color: #b8860b; font-weight: 600; text-decoration: none; }
.auth-success { text-align: center; }
.auth-success p { margin: 14px 0 22px; color: #555; }
.terms-row { margin: 4px 0 18px; }
.terms-check { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #555; cursor: pointer; }
.terms-check input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; }
.terms-check a { color: #b8860b; font-weight: 600; }
.sponsor-check { display: block; margin-top: 6px; font-size: 12.5px; }
.sponsor-check.sponsor-ok { color: #1e8449; }
.sponsor-check.sponsor-bad { color: #c0392b; }
.generated-username { font-size: 24px; font-weight: 800; color: #b8860b; margin: 4px 0; }
