/* Authentication is a form, not another promotional screen. */
.auth-shell { min-height: 65dvh; align-items: start; padding: 40px var(--rugym-gutter) 56px; overflow: visible; background: none; }
.auth-shell::before, .auth-shell::after, .auth-card::before { content: none; }
.auth-card { --auth-control-border: color-mix(in srgb,var(--rugym-muted) 78%,var(--rugym-surface)); width: min(480px,100%); min-width: 0; padding: 32px; border-radius: 24px; box-shadow: none; }
.auth-card h1 { margin: 0 0 28px; text-align: left; font-size: 1.875rem; line-height: 1.2; font-weight: 750; letter-spacing: -.04em; }
.auth-card .form-label { font-size: .9375rem; }
.auth-card .form-control { min-height: 48px; }
/* Override the legacy mobile input lock without changing fields elsewhere. */
#main-content .auth-card .form-control { font-size: max(1rem,16px)!important; }
.auth-card .form-control:not(.is-invalid) { border-color: var(--auth-control-border); }
.auth-card .form-control.is-invalid,.auth-card .form-check-input.is-invalid { border-color: var(--rugym-red); }
.auth-card .form-control:not(.is-invalid):focus { border-color: var(--rugym-primary); }
.auth-card .form-control:focus-visible,.auth-card .form-check-input:focus-visible { outline: 2px solid var(--rugym-primary); outline-offset: 2px; }
.auth-card :is(.form-label,.form-text,.invalid-feedback,.registration-agreement-error) { overflow-wrap: anywhere; }
.auth-card .password-field .form-control { padding-inline-end: 52px; }
.auth-card .password-field .form-control.is-invalid { padding-inline-end: calc(52px + 1.5em); background-position: right 52px center; }
.auth-card .password-field > button { top: 50%; transform: translateY(-50%); }
.auth-card .password-field > button:focus-visible { outline: 2px solid var(--rugym-primary); outline-offset: 1px; }
.auth-card .password-field > button:active { transform: translateY(-50%) scale(.94); }
.auth-card .form-text { font-size: .875rem; line-height: 1.5; }
.auth-card .form-check { display: flex; align-items: center; gap: 10px; min-height: 44px; padding-left: 0; }
.auth-card .form-check-input { flex-shrink: 0; float: none; width: 22px; height: 22px; margin: 0; }
.auth-card .form-check-input:not(:checked):not(.is-invalid) { border-color: var(--auth-control-border); }
.auth-card .form-check-label { display: flex; align-items: center; min-width: 0; min-height: 44px; font-size: .9375rem; overflow-wrap: anywhere; cursor: pointer; }
.auth-card .btn-primary { min-height: 50px; font-size: 1rem; font-weight: 650; box-shadow: none; }
.auth-card > p { font-size: .9375rem; line-height: 1.6; overflow-wrap: anywhere; }
.auth-card > p a { display: inline-flex; align-items: center; max-width: 100%; min-height: 44px; overflow-wrap: anywhere; }
.auth-card .registration-agreement > .form-check-input { margin-top: 12px; }
.auth-card .registration-agreements { border-top: 1px solid var(--rugym-border); padding-top: 12px; margin-top: 24px; }
.auth-card .registration-agreement > label { min-width: 0; color: var(--rugym-ink); font-size: .9375rem; line-height: 1.6; overflow-wrap: anywhere; }
.auth-card .registration-agreement-error { font-size: .875rem; line-height: 1.55; }
@media(max-width:575.98px) { .auth-shell { padding-top: 20px; padding-bottom: 36px; }.auth-card { padding: 24px 20px; }.auth-card h1 { font-size: 1.75rem; margin-bottom: 24px; } }
