/* Registration uses the same base appearance as the login page. */
header { height: 88px; }
main { min-height: calc(100vh - 148px); min-height: calc(100svh - 148px); }
.card { width: 490px; padding: 32px 40px; }
.form-heading { margin-bottom: 24px; }
h1 { margin-top: 4px; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.fields { display: grid; gap: 17px; }
.field { min-width: 0; }
form label { margin-bottom: 7px; }
input:not([type="hidden"]) { height: 44px; padding-left: 12px; }
input::placeholder { font-size: 13px; }
.eye { top: 2px; right: 2px; width: 40px; height: 40px; }
.captcha-label { display: flex; justify-content: space-between; align-items: center; }
.refresh { border: 0; background: none; color: #0067c0; font-size: 12px; padding: 0 0 7px; }
.captcha-row { display: grid; grid-template-columns: minmax(0, 1fr) 116px; gap: 10px; }
.captcha { height: 44px; padding: 0; border: 1px solid #ddd; background: #f5f5f5; border-radius: 6px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.captcha:hover { border-color: #0067c0; }
.captcha img { max-width: 100%; max-height: 100%; object-fit: contain; }
.hint { color: #777; font-size: 12px; margin: 6px 0 0; }
.primary { height: 46px; margin-top: 24px; }
.signup { margin-top: 20px; }
button:disabled, fieldset:disabled { cursor: default; opacity: .65; }
footer { min-height: 60px; padding: 16px 20px; font-size: 11px; }
@media (min-width: 1500px) { main { padding-bottom: 24px; } }
@media (max-width: 640px) {
    header { height: 78px; padding: 0 20px; }
    main { padding: 18px 16px; min-height: calc(100vh - 138px); min-height: calc(100svh - 138px); }
    .card { width: 440px; padding: 28px 24px; border-radius: 9px; }
    h1 { font-size: 26px; }
    .form-heading p { font-size: 13px; }
}
