.signup-shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,470px); align-items: center; gap: 80px; max-width: 1080px; margin: 55px auto 80px; padding: 0 24px; }
.signup-back { color: #9aaecb; font-size: 13px; text-decoration: none; display: inline-block; margin-bottom: 60px; }
.signup-intro h2 { font-size: clamp(34px,4vw,54px); line-height: 1.07; letter-spacing: -.045em; margin: 16px 0 24px; }
.signup-intro > p:not(.kicker) { max-width: 380px; color: #a8b6cd; line-height: 1.75; font-size: 16px; }
.signup-expect { margin: 32px 0; padding: 22px 0; border-top: 1px solid #ffffff14; border-bottom: 1px solid #ffffff14; }
.signup-expect strong { font-size: 13px; color: #dce5f5; }
.signup-expect p { font-size: 14px; line-height: 1.7; color: #96a8c3; margin: 10px 0 0; max-width: 380px; }
.signup-intro .signup-small { font-size: 13px; }
.signup-shell a { text-underline-offset: 3px; }
.signup-panel.auth-card { width: 100%; max-width: none; margin: 0; padding: 32px; border: 1px solid #ffffff13; border-radius: 22px; background: #131e30; box-shadow: 0 22px 70px #0002; }
.signup-panel h1 { font-size: 25px; letter-spacing: -.025em; margin: 0 0 8px; }
.signup-subtitle { color: #9dadc5; margin: 0 0 24px; font-size: 14px; }
.signup-panel .stack { gap: 19px; }
.signup-roles { border: 0; padding: 0; margin: 0 0 2px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; min-width: 0; }
.signup-roles > label { display: flex; gap: 9px; align-items: flex-start; padding: 14px 11px; margin: 0; border: 1px solid #344359; border-radius: 12px; cursor: pointer; background: #0e1725; }
.signup-roles > label:has(:checked) { border-color: #9ebffa; background: #203350; }
.signup-roles > label:focus-within { outline: 2px solid #b6ceff; outline-offset: 3px; }
.signup-roles input { appearance: auto; -webkit-appearance: auto; width: 16px; height: 16px; min-width: 16px; padding: 0; margin: 2px 0 0; accent-color: #b6ceff; }
.signup-roles strong { display: block; font-size: 13px; line-height: 1.5; color: #ecf2fc; }
.signup-roles small { display: block; font-size: 10px; line-height: 1.5; color: #a6b7d0; margin-top: 4px; }
.signup-panel .field > label { font-size: 13px; font-weight: 550; margin-bottom: 8px; }
.signup-panel input[type=email],.signup-panel input[type=password],.signup-panel input[type=text] { min-height: 50px; width: 100%; font-size: 16px; background: #0c1523; border: 1px solid #35445c; color: #e9eef8; border-radius: 10px; padding: 12px 14px; box-sizing: border-box; }
.signup-panel .pw-wrap input { padding-right: 68px; }
.signup-panel .pw-toggle { font-size: 12px; min-height: 44px; min-width: 52px; color: #c6dafd; }
.signup-panel input:focus-visible { outline: 2px solid #9ebffa; outline-offset: 2px; }
.signup-panel .field-hint { color: #97a9c2; font-size: 11px; margin: 7px 0 0; }
.signup-panel .terms-agree { align-items: flex-start; gap: 10px; margin: 0; color: #a6b4cb; font-size: 11px; line-height: 1.7; }
.signup-panel .terms-agree input { width: 17px; height: 17px; flex: 0 0 17px; accent-color: #b6ceff; margin-top: 2px; }
.signup-panel .signup-submit { width: 100%; min-height: 50px; font-size: 14px; border-radius: 10px; background: #b6ceff; color: #142138; box-shadow: none; }
.signup-panel .signup-submit:disabled { opacity: .7; cursor: wait; }
.signup-reassurance { text-align: center; font-size: 11px; color: #8da1bf; margin: -7px 0 0; }
.signup-divider { display: flex; align-items: center; gap: 12px; margin: -3px 0; font-size: 11px; color: #8da1bf; }
.signup-divider::before,.signup-divider::after { content: ""; flex: 1; height: 1px; background: #ffffff16; }
.signup-social .sso { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 10px; margin: 0; }
.signup-social .sso-btn { min-height: 46px; border-radius: 10px; font-size: 13px; }
.signup-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.signup-mobile-login { display: none; }
@media(max-width:800px) { .signup-shell { grid-template-columns: 1fr; max-width: 500px; gap: 24px; margin: 26px auto 40px; padding: 0 16px; } .signup-intro { display: none; } .signup-panel.auth-card { padding: 24px; } .signup-mobile-login { display: block; text-align: center; color: #9dadc5; font-size: 12px; margin: 24px 0 0; } }
@media(max-width:370px) { .signup-panel.auth-card { padding: 20px 16px; } .signup-roles { grid-template-columns: 1fr; } .signup-roles small { margin-top: 0; } }

.signup-panel .field { margin: 0; }

@media (min-width: 1024px) {
  .signup-shell { margin-block: 20px 40px; gap: 56px; grid-template-columns: minmax(0,1fr) minmax(0,430px); }
  .signup-back { margin-bottom: 32px; }
  .signup-intro h2 { font-size: 40px; }
  .signup-panel.auth-card { padding: 24px; border-radius: 16px; }
  .signup-panel .stack { gap: 12px; }
  .signup-panel input[type=email], .signup-panel input[type=password], .signup-panel input[type=text] { min-height: 42px; padding-block: 9px; }
  .signup-panel .signup-submit { min-height: 42px; }
}
