:root { --register-panel: #06182d; }
.register-page { min-height: 100vh; color: #fff; background: #020a18; }
.register-header { position: relative; background: #020b19e8; }
.register-nav { display: flex; align-items: center; gap: 28px; }
.register-nav a { color: #a8bbce; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.register-nav a:hover { color: #fff; }
.register-nav .back-home { padding: 11px 15px; border: 1px solid #43b8ff66; color: #fff; }
.register-nav .back-home span { margin-left: 14px; color: var(--cyan); }
.register-main { min-height: calc(100vh - 150px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(390px, 560px); gap: 80px; align-items: center; position: relative; width: min(1160px, calc(100% - 48px)); margin: auto; padding: 78px 0; }
.register-grid { position: fixed; inset: 82px 0 0; pointer-events: none; background-image: linear-gradient(#168bf80b 1px,transparent 1px),linear-gradient(90deg,#168bf80b 1px,transparent 1px); background-size: 55px 55px; mask-image: linear-gradient(90deg,#000,transparent 85%); }
.register-main::before { content: ""; position: fixed; width: 680px; height: 680px; top: 2%; right: 4%; border-radius: 50%; background: radial-gradient(circle,#0d559155,transparent 68%); pointer-events: none; }
.register-copy,.register-card { position: relative; z-index: 1; }
.register-copy h1 { margin: 24px 0; font-family: var(--display); font-size: clamp(58px, 7vw, 92px); line-height: .9; letter-spacing: -.02em; text-transform: uppercase; }
.register-copy h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 1px #8fd1ff; }
.register-copy>p:last-of-type { max-width: 570px; color: #94a9bd; font-size: 15px; line-height: 1.8; }
.register-benefits { max-width: 570px; margin-top: 44px; border-top: 1px solid #ffffff18; }
.register-benefits article { display: grid; grid-template-columns: 45px 1fr; gap: 18px; padding: 17px 0; border-bottom: 1px solid #ffffff13; }
.register-benefits article>b { color: var(--cyan); font-family: var(--display); font-size: 17px; }
.register-benefits strong,.register-benefits span { display: block; }
.register-benefits strong { font-family: var(--display); font-size: 18px; letter-spacing: .04em; text-transform: uppercase; }
.register-benefits span { margin-top: 4px; color: #71869b; font-size: 11px; line-height: 1.5; }
.register-card { padding: 42px; border: 1px solid #2e638e; background: linear-gradient(145deg,#092644f5,#041322f5); box-shadow: 0 30px 80px #0008; }
.card-topline { display: flex; justify-content: space-between; color: #57c3ff; font-size: 8px; letter-spacing: .18em; text-transform: uppercase; }
.card-topline i { color: #21d785; font-style: normal; text-shadow: 0 0 9px #21d785; }
.register-card h2 { margin: 12px 0 5px; font-family: var(--display); font-size: 50px; line-height: 1; text-transform: uppercase; }
.register-card>p { margin: 0 0 30px; color: #8198ad; font-size: 12px; line-height: 1.6; }
.register-field { display: block; margin-bottom: 22px; }
.register-field>span { display: block; margin-bottom: 8px; color: #83a6c4; font-size: 8px; letter-spacing: .15em; text-transform: uppercase; }
.register-field input,.register-field select { width: 100%; height: 50px; padding: 0 14px; border: 1px solid #31516e; border-radius: 0; outline: 0; background: #ffffff08; color: #fff; }
.register-field input::placeholder { color: #64798d; }
.register-field select option { color: #111; }
.register-field input:focus,.register-field select:focus { border-color: var(--cyan); box-shadow: 0 0 0 2px #43b8ff18; }
.register-field.invalid input,.register-field.invalid select { border-color: #ff5b69; background: #ff4f600d; }
.field-error { display: none; margin-top: 7px; color: #ff7c87; font-size: 9px; }
.register-field.invalid .field-error { display: block; }
.password-rules { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 12px; margin: -10px 0 22px; padding: 13px; border: 1px solid #ffffff12; background: #020b18aa; }
.password-rules span { color: #6f8599; font-size: 8px; line-height: 1.4; }
.password-rules span.met { color: #21d785; }
.password-rules span.met::first-letter { color: #21d785; }
.register-button { width: 100%; display: flex; justify-content: space-between; align-items: center; margin-top: 8px; padding: 17px 19px; border: 0; background: var(--blue); color: #fff; cursor: pointer; font-size: 10px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.register-button:hover { background: #37a7ff; }
.register-button:disabled { opacity: .55; cursor: wait; }
.register-button span { font-size: 17px; }
.privacy-note { margin: 14px 0 0; color: #587087; font-size: 8px; line-height: 1.5; text-align: center; }
.submit-error { margin: 14px 0 0; padding: 11px; border-left: 3px solid #ff4f60; background: #3a1720; color: #ff9ba4; font-size: 10px; line-height: 1.5; }
.register-success { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; margin-top: 22px; padding: 15px; border-left: 3px solid #21d785; background: #0a382e; }
.register-success>span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: #11724f; font-size: 22px; }
.register-success strong { font-family: var(--display); font-size: 18px; text-transform: uppercase; }
.register-success p { margin: 4px 0 0; color: #9bc8b8; font-size: 10px; line-height: 1.5; }
.register-footer { position: relative; z-index: 1; display: flex; justify-content: space-between; padding: 18px max(24px,calc((100vw - 1160px)/2)); border-top: 1px solid #ffffff14; color: #60778d; font-size: 8px; letter-spacing: .09em; text-transform: uppercase; }
.verification-main { min-height: calc(100vh - 82px); display: grid; place-items: center; padding: 40px 20px; background: radial-gradient(circle at 50% 35%,#0b477c55,transparent 42%); }
.verification-card { width: min(620px,100%); padding: 50px; border: 1px solid #2e638e; background: linear-gradient(145deg,#092644f5,#041322f5); box-shadow: 0 30px 80px #0008; text-align: center; }
.verification-icon { width: 78px; height: 78px; display: grid; place-items: center; margin: auto; border: 1px solid currentColor; border-radius: 50%; font-size: 38px; }
.verification-card.verified .verification-icon { color: #21d785; box-shadow: 0 0 30px #21d78533; }
.verification-card.invalid .verification-icon { color: #ff4f60; box-shadow: 0 0 30px #ff4f6033; }
.verification-card .eyebrow { justify-content: center; margin-top: 28px; }
.verification-card h1 { margin: 16px 0; font-family: var(--display); font-size: clamp(44px,7vw,68px); text-transform: uppercase; }
.verification-card>p:not(.eyebrow) { max-width: 470px; margin: 0 auto 28px; color: #8fa5ba; line-height: 1.7; }
.verify-action { max-width: 270px; margin: 28px auto 0; text-decoration: none; }
@media (max-width: 900px) {
  .register-main { grid-template-columns: 1fr; gap: 45px; padding-top: 60px; }
  .register-nav>a:not(.back-home) { display: none; }
}
@media (max-width: 600px) {
  .register-main { width: min(100% - 30px,1160px); padding: 45px 0; }
  .register-copy h1 { font-size: 52px; }
  .register-card { padding: 28px 20px; }
  .password-rules { grid-template-columns: 1fr; }
  .register-footer { align-items: flex-start; flex-direction: column; gap: 10px; }
}
