.registration-access { scroll-margin-top: 112px; }
.registration-form { max-width: 860px; margin-top: 28px; font-family: var(--ks-sans, Inter, ui-sans-serif, sans-serif); }
.registration-form__intro { max-width: 58ch; color: var(--ks-muted, #6f6b60); font: 400 16px/1.6 var(--ks-sans, Inter, ui-sans-serif, sans-serif); }
.registration-form__summary { min-height: 1.3em; margin: 0 0 16px; color: var(--ks-ruby-deep, #7d0f22); font: 700 14px/1.45 var(--ks-sans, Inter, ui-sans-serif, sans-serif); }
.registration-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.registration-form__field { min-width: 0; }
.registration-form__field--phone, .registration-form__field--captcha, .registration-form__field--sms { grid-column: 1 / -1; }
.registration-form label { display: block; margin-bottom: 7px; color: var(--ks-midnight, #0a1027); font: 700 13px/1.3 var(--ks-sans, Inter, ui-sans-serif, sans-serif); letter-spacing: .01em; }
.registration-form input, .registration-form select { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid var(--ks-line-strong, rgba(26, 30, 49, .25)); border-radius: 10px; background: #fffdf8; color: var(--ks-midnight, #0a1027); font: 500 15px/1.4 var(--ks-sans, Inter, ui-sans-serif, sans-serif); }
.registration-form input:focus, .registration-form select:focus { outline: 3px solid rgba(176, 30, 50, .28); outline-offset: 2px; border-color: var(--ks-ruby, #b01e32); }
.registration-form input[aria-invalid="true"], .registration-form select[aria-invalid="true"] { border-color: var(--ks-ruby-deep, #7d0f22); }
.registration-access .registration-form__hint, .registration-access .registration-form__error { margin: 6px 0 0; font: 500 12px/1.4 var(--ks-sans, Inter, ui-sans-serif, sans-serif); }
.registration-form__hint { color: var(--ks-muted, #6f6b60); }
.registration-form__error { min-height: 1.4em; color: var(--ks-ruby-deep, #7d0f22); }
.registration-form__captcha-row, .registration-form__sms-row { display: flex; gap: 10px; align-items: center; }
.registration-form__captcha-row { margin-bottom: 10px; }
.registration-form__captcha-row img { width: 138px; height: 42px; border: 1px solid var(--ks-line, rgba(26, 30, 49, .12)); border-radius: 8px; background: #fff; object-fit: contain; }
.registration-form__refresh { min-height: 42px; padding: 8px 12px; border: 1px solid var(--ks-line-strong, rgba(26, 30, 49, .25)); border-radius: 999px; background: transparent; color: var(--ks-ruby-deep, #7d0f22); cursor: pointer; font: 700 12px/1 var(--ks-sans, Inter, ui-sans-serif, sans-serif); }
.registration-form__sms-row input { flex: 1 1 auto; }
.registration-form__sms-button { flex: 0 0 auto; min-height: 46px; white-space: nowrap; }
.registration-form__agree { display: flex !important; align-items: flex-start; gap: 10px; margin: 22px 0 0 !important; cursor: pointer; font: 500 13px/1.5 var(--ks-sans, Inter, ui-sans-serif, sans-serif) !important; }
.registration-form__agree input[type="checkbox"] { display: inline-block; width: 18px; min-width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 1px 0 0; accent-color: var(--ks-ruby, #b01e32); }
.registration-form__submit { min-height: 48px; margin-top: 18px; }
.registration-form button:disabled { cursor: wait; opacity: .64; }
.registration-form [data-sms-feedback] { margin: 10px 0 16px; font-size: 14px; color: var(--ks-midnight, #0a1027); }
.registration-form [data-sms-feedback]:empty, .registration-form [data-captcha-feedback]:empty { display: none; }
.registration-form__field--sms > .registration-form__sms-button { margin-bottom: 14px; }
.registration-form__field--password { display: grid; grid-template-columns: minmax(0, 1fr) 46px; }
.registration-form__field--password > * { grid-column: 1 / -1; }
.registration-form__field--password > input { grid-row: 2; padding-right: 52px; }
.registration-form .pw-toggle { grid-column: 2; grid-row: 2; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 0 10px 10px 0; background: transparent; color: var(--ks-muted, #6f6b60); cursor: pointer; }
.registration-form .pw-toggle:focus-visible { outline: 3px solid rgba(176, 30, 50, .28); outline-offset: -3px; }
.registration-form .pw-toggle .pw-toggle__slash { opacity: 0; }
.registration-form .pw-toggle[aria-pressed="true"] .pw-toggle__slash { opacity: 1; }
.registration-form__signin { margin: 8px 0 0; }
.registration-form__signin[hidden] { display: none; }
.registration-form__signin .lux-btn { min-height: 44px; }
.registration-form__field--sms a[data-auth-chat] { color: var(--ks-ruby-deep, #7d0f22); font-weight: 700; text-decoration: underline; }

@media (max-width: 640px) {
  .registration-access { padding-bottom: 96px; }
  .registration-form { margin-top: 22px; }
  .registration-form__grid { grid-template-columns: 1fr; gap: 14px; }
  .registration-form__field--phone, .registration-form__field--captcha, .registration-form__field--sms { grid-column: auto; }
  .registration-form__sms-row { align-items: stretch; flex-direction: column; }
  .registration-form__sms-button, .registration-form__submit { width: 100%; }
}
