.signup-shell { width: min(1080px, 100%); }
.signup-card { grid-template-columns: .85fr 1.15fr; gap: 64px; padding: 48px; }
.signup-brand { padding-top: 4px; }
.signup-brand > a { display: inline-block; }
.signup-brand img { margin-bottom: 36px; }
.signup-eyebrow { color: #657587; font-size: 11px; font-weight: 600; letter-spacing: 1.5px; margin-bottom: 12px; }
.signup-brand h1 { max-width: 310px; font-size: 32px; }
.signup-description { color: #667481; font-size: 15px; line-height: 1.65; margin: 18px 0 28px; max-width: 310px; }
.signup-progress ol { list-style: none; padding: 0; margin: 0; }
.signup-progress li { display: flex; gap: 12px; align-items: center; min-height: 44px; color: #74808c; font-size: 14px; }
.signup-step-number { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; flex: 0 0 26px; border-radius: 50%; border: 1px solid #dce3e9; background: #fff; font-size: 12px; }
.signup-progress .is-current { color: #0069d9; font-weight: 600; }
.is-current .signup-step-number { color: #fff; background: #007bff; border-color: #007bff; }
.is-complete .signup-step-number { color: #20714d; border-color: #d2e7dd; background: #edf7f1; font-size: 10px; }
.signup-login { font-size: 14px; color: #667481; margin: 28px 0 0; }
.signup-content { padding-top: 4px; }
.signup-step-caption { color: #6e7d8b; font-size: 12px; margin: 0 0 8px; }
.signup-content h2 { font-size: 22px; font-weight: 500; letter-spacing: -.3px; margin: 0 0 24px; }
.signup-content .login-box-msg { padding: 0; text-align: left; color: #667481; font-size: 14px; line-height: 1.6; margin: -10px 0 22px; }
.signup-content .input-group { align-items: stretch; }
.signup-content .signup-label { display: block; flex: 0 0 100%; width: 100%; margin-bottom: 7px; color: #344657; font-size: 13px; font-weight: 500; }
.signup-content .form-control { font-size: 14px; padding: 10px 12px; border-color: #ccd6df; }
.signup-content .input-group > .form-control { border-radius: 6px 0 0 6px; }
.signup-content .input-group > .form-control:last-child { border-radius: 6px; }
.signup-content .input-group-append { margin-top: 0; }
.signup-content .input-group-text { color: #72808e; background: #fff; border-color: #ccd6df; border-radius: 0 6px 6px 0; min-width: 42px; justify-content: center; }
.signup-content .input-group-text .progress { display: none; }
.signup-content .form-control:focus { border-color: #80bdff; box-shadow: 0 0 0 3px rgba(0,123,255,.12); }
.signup-content .form-control.is-invalid { border-color: #dc3545; }
.signup-content .form-control.is-valid { border-color: #28a745; }
.signup-content .invalid-feedback { font-size: 12px; line-height: 1.45; margin-top: 6px; }
.signup-content .select2-container--default .select2-selection--single { height: 44px; border: 1px solid #ccd6df; border-radius: 6px; padding: 7px 4px; }
.signup-content .select2-container--default .select2-selection--single .select2-selection__arrow { top: 9px; }
.signup-content .select2-container { flex: 1 1 100%; }
.signup-content .select2-selection__rendered { color: #344657 !important; font-size: 14px; }
.signup-content .btn { font-size: 14px; min-height: 44px; padding: 10px 18px; border-radius: 6px; }
.signup-content .btn-primary { background: #007bff; border-color: #007bff; }
.signup-content .btn-primary:hover { background: #0069d9; border-color: #0062cc; }
.signup-content .btn-primary i { display: none; }
.signup-content .btn-default { border: 1px solid #d8e0e7; background: #fff; color: #344657; }
.signup-content .btn-default:hover { background: #f4f8fc; }
.signup-content .form-check-label { font-size: 14px; font-weight: 400; cursor: pointer; }
.signup-content .form-check-input { margin-top: .3rem; }
.signup-content .signup-hint { font-size: 12px; color: #6a7987; margin: -7px 0 18px; line-height: 1.5; }
.signup-content .signup-actions { margin: 24px 0 0; }
.signup-content .signup-cancel { text-align: center; font-size: 13px; margin: 22px 0 0; }
.signup-cancel a { color: #657587; }
.signup-cancel i { display: none; }
.signup-content #aguarde, .signup-content #confirmacao { padding: 12px 14px; background: #f4f7fa; border: 1px solid #e5ebf0; border-radius: 6px; color: #5a6c7c; margin-bottom: 22px; }
.signup-content #aguarde p, .signup-content #confirmacao p { margin: 0; line-height: 1.5; }
.signup-content input[name="verify-code"] { font-size: 22px; letter-spacing: 6px; }
.signup-review-section { border: 1px solid #e1e7ed; border-radius: 8px; padding: 18px; margin-bottom: 16px; }
.signup-review-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 14px; }
.signup-review-heading h3 { margin: 0; font-size: 14px; font-weight: 600; }
.signup-review-heading a { font-size: 12px; }
.signup-review-section dl { margin: 0; }
.signup-review-section dt { color: #71808e; font-size: 12px; font-weight: 400; margin-top: 12px; }
.signup-review-section dt:first-child { margin-top: 0; }
.signup-review-section dd { font-size: 14px; margin: 2px 0 0; overflow-wrap: anywhere; }
.signup-terms { margin: 16px 0 0; font-size: 12px; color: #6e7d8b; line-height: 1.6; text-align: center; }
.signup-content a:focus-visible, .signup-brand a:focus-visible, .signup-content button:focus-visible { outline: 2px solid #007bff; outline-offset: 3px; }
@media (max-width: 767.98px) {
  .signup-card { grid-template-columns: 1fr; padding: 28px 24px; gap: 28px; }
  .signup-brand img { width: 145px; margin-bottom: 24px; }
  .signup-brand h1 { font-size: 27px; max-width: none; }
  .signup-description { max-width: none; margin: 12px 0 22px; }
  .signup-progress ol { display: flex; gap: 4px; justify-content: space-between; }
  .signup-progress li { flex-direction: column; gap: 7px; min-height: 0; font-size: 10px; flex: 1; text-align: center; }
  .signup-login { margin-top: 22px; }
  .signup-content h2 { font-size: 21px; }
  .signup-card .signup-content { border-top: 1px solid #e5ebf0; padding-top: 24px; }
}
@media (max-width: 380px) {
  .signup-card { padding: 24px 18px; }
  .signup-content .btn { padding-left: 10px; padding-right: 10px; font-size: 13px; }
}
@media (max-width: 767.98px) {
  .signup-brand img { width: 120px; margin-bottom: 18px; }
  .signup-eyebrow { display: none; }
  .signup-brand h1 { font-size: 25px; }
  .signup-description { font-size: 14px; line-height: 1.5; margin: 10px 0 18px; }
  .signup-login { margin-top: 18px; }
}
