.user-form { width: calc(100% - 48px); max-width: 640px; margin: 56px auto; padding: 36px; background: #fffdf8; border: 1px solid #ddd7c7; border-radius: 14px; color: #253d31; }
.user-form.login-form { max-width: 500px; }
.user-form__intro { margin-bottom: 28px; }
.user-form .user-form__eyebrow { margin: 0 0 10px; color: #546751; font-size: 1.2rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.user-form h1 { margin: 0 0 12px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.8rem, 4vw, 3.8rem); line-height: 1.15; letter-spacing: -.02em; color: #193a27; }
.user-form__intro > p:last-child { margin: 0; font-size: 1.6rem; color: #596657; }
.user-form form { margin: 0; }
.user-form .input { margin: 0 0 20px; min-width: 0; }
.user-form label { display: block; margin-bottom: 7px; color: #253d31; font-size: 1.5rem; font-weight: 600; }
.user-form input { display: block; width: 100%; min-width: 0; height: 46px; margin: 0; padding: 10px 12px; background: #fff; border: 1px solid #b9c2b3; border-radius: 6px; color: #253d31; font-size: 1.6rem; }
.user-form input:focus { border-color: #315c41; }
.user-form :is(input, button, a):focus-visible { outline: 3px solid #996d2c; outline-offset: 3px; }
.user-form .name-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.user-form .user-form__submit { display: block; width: 100%; height: auto; min-height: 48px; margin: 8px 0 0; padding: 12px 20px; border: 1px solid #193a27; border-radius: 6px; background: #193a27; color: #fffdf8; font-size: 1.6rem; font-weight: 600; line-height: 1.4; letter-spacing: 0; text-transform: none; white-space: normal; }
.user-form .user-form__submit:hover { background: #315c41; border-color: #315c41; }
.user-form__alternative { margin: 24px 0 0; text-align: center; font-size: 1.5rem; }
.user-form a { color: #244e35; text-decoration: underline; text-underline-offset: 3px; }
.user-form__help { margin: -10px 0 20px; font-size: 1.35rem; line-height: 1.6; color: #596657; }
.user-form__error-summary { padding: 12px 14px; margin-bottom: 22px; border-left: 3px solid #9a4639; background: #fbefeb; color: #76382e; font-size: 1.5rem; }
.user-form .error-message, .user-form__field-error { margin: 6px 0 0; padding: 0; border: 0; background: none; color: #8b342c; font-size: 1.4rem; font-weight: 400; }
.user-form__field-error { margin: -12px 0 20px; }
.user-form input[aria-invalid="true"], .user-form .input.error input { border-color: #9a4639; }
@media (max-width: 600px) {
    .user-form { width: calc(100% - 32px); margin: 32px auto; padding: 24px 20px; }
    .user-form .name-fields { grid-template-columns: 1fr; gap: 0; }
}
