.registration-body { min-height: 100vh; background: #f5f7fb; }
.registration-main { display: grid; min-height: calc(100vh - 163px); place-items: center; padding: 62px 20px; background: linear-gradient(135deg, #edf3ff, #f8faff 55%, #eef5ff); }
.registration-layout { width: min(100%, 530px); overflow: hidden; border: 1px solid #d7e1f2; border-radius: 22px; background: var(--white); box-shadow: 0 24px 65px rgba(22,50,104,.13); }
.registration-kicker { margin: 0 0 14px; color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }

.registration-panel { padding: 62px 58px 44px; }
.form-intro { margin-bottom: 30px; }
.form-intro .registration-kicker { margin-bottom: 10px; }
.form-intro h1, .form-intro h2 { margin: 0; color: var(--ink); font-size: 35px; line-height: 1; letter-spacing: -.055em; }
.form-intro > p:last-child { margin: 10px 0 0; color: #7d899e; font-size: 12px; }
.registration-form { display: grid; gap: 16px; }
.field-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.form-field { display: grid; gap: 7px; color: #35425a; font-size: 11px; font-weight: 820; }
.input-wrap { display: flex; min-height: 47px; align-items: center; padding: 0 12px; border: 1px solid #d6deed; border-radius: 10px; background: var(--white); color: #8d99ad; transition: border-color .2s ease, box-shadow .2s ease; }
.input-wrap:focus-within { border-color: #7da3ff; box-shadow: 0 0 0 4px rgba(20,87,255,.1); color: var(--blue); }
.input-wrap > .lucide { width: 16px; height: 16px; flex: 0 0 auto; }
.input-wrap input { width: 100%; min-width: 0; padding: 0 10px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 12px; }
.input-wrap input::placeholder { color: #a2abbb; }
.auth-notice { display: flex; align-items: center; gap: 9px; margin: -2px 0 2px; padding: 12px; border: 1px solid #d8e4fb; border-radius: 9px; background: #f3f7ff; color: #667895; font-size: 10px; line-height: 1.45; }
.auth-notice .lucide { width: 17px; height: 17px; color: var(--blue); }
.auth-notice strong { color: #33425a; font-weight: 850; overflow-wrap: anywhere; }
.field-error, .terms-error { min-height: 12px; color: #c1374c; font-size: 9px; font-weight: 700; }
.form-field.has-error .input-wrap { border-color: #e69aa8; }
.terms-check { display: flex; align-items: flex-start; gap: 9px; margin-top: 1px; color: #68758b; font-size: 10px; font-weight: 650; line-height: 1.5; }
.terms-check input { width: 15px; height: 15px; flex: 0 0 auto; margin: 1px 0 0; accent-color: var(--blue); }
.terms-check a, .login-prompt a { color: var(--blue); font-weight: 820; }
.terms-check a:hover, .login-prompt a:hover { color: var(--blue-dark); }
.terms-error { margin-top: -12px; }
.registration-submit { display: inline-flex; width: 100%; min-height: 50px; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 10px; background: var(--blue); color: var(--white); font-size: 12px; font-weight: 850; box-shadow: 0 10px 23px rgba(20,87,255,.21); transition: background .2s ease, transform .2s ease; }
.registration-submit:hover { background: var(--blue-dark); transform: translateY(-2px); }
.registration-submit .lucide { width: 16px; height: 16px; }
.form-status { margin: -7px 0 0; text-align: center; font-size: 10px; font-weight: 750; }
.form-status.success { color: #267456; }
.form-status.error { color: #c1374c; }
.auth-alert { display: flex; align-items: flex-start; gap: 10px; margin: -12px 0 28px; padding: 13px 14px; border-radius: 10px; font-size: 11px; font-weight: 750; line-height: 1.45; }
.auth-alert .lucide { width: 18px; height: 18px; flex: 0 0 auto; margin-top: -1px; }
.auth-alert.success { border: 1px solid #bfe7d4; background: #eaf9f1; color: #237454; }
.auth-alert.success .lucide { color: #10925f; }
.auth-alert.error { border: 1px solid #f1c9cf; background: #fff1f3; color: #b93c4f; }
.auth-alert.error .lucide { color: #d14b5d; }
.auth-alert.info { border: 1px solid #c9dcff; background: #eef5ff; color: #275eac; }
.auth-alert.info .lucide { color: #1457ff; }
.auth-alert strong { font-weight: 900; }
.forgot-link { width: fit-content; margin-top: -5px; color: var(--blue); font-size: 10px; font-weight: 800; }
.forgot-link:hover { color: var(--blue-dark); }
.login-prompt { margin: 23px 0 0; color: #78859a; text-align: center; font-size: 11px; }

.registration-footer { min-height: 53px; display: grid; place-items: center; padding: 15px 20px; background: #edf2fb; color: #8390a4; text-align: center; font-size: 9px; font-weight: 700; }

@media (max-width: 820px) {
  .registration-main { display: block; min-height: auto; padding: 38px 20px; }
  .registration-layout { margin: auto; }
  .registration-panel { padding: 45px 47px 40px; }
}

@media (max-width: 560px) {
  .registration-main { padding: 24px 14px; }
  .registration-layout { border-radius: 17px; }
  .registration-panel { padding: 35px 27px; }
  .form-intro { margin-bottom: 24px; }
  .form-intro h1, .form-intro h2 { font-size: 31px; }
  .field-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
