.itd-zsl-status {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.4;
  min-height: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 1;
  transition: opacity 0.2s ease;
}

.itd-zsl-status.is-hidden {
  opacity: 0;
}

.itd-zsl-status.is-loading {
  color: #555;
}

.itd-zsl-status.is-error {
  color: #b42318;
}

.itd-zsl-status.is-info {
  color: #777;
  letter-spacing: 2px;
  font-weight: 500;
}

.itd-zsl-status.is-success {
  color: #027a48;
}

.itd-zsl-spinner {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(0, 0, 0, 0.15);
  border-top-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  animation: itd-zsl-spin 0.7s linear infinite;
  flex: 0 0 14px;
}

@keyframes itd-zsl-spin {
  to {
    transform: rotate(360deg);
  }
}

.um-field[data-key="zip_school_select"],
.um-field[data-key="zip_school_other"] {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.um-field.itd-zsl-revealed {
  opacity: 1;
  transform: translateY(0);
}

.um-field[data-key="zip_school_select"],
.um-field[data-key="zip_school_other"] {
  display: none;
}

.um-field[data-key="zip_city"],
.um-field[data-key="zip_county"],
.um-field[data-key="zip_state"],
.um-field[data-key="zip_school"] {
  display: none !important;
}


.itd-zsl-check {
  position: relative;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.itd-zsl-check::before {
  content: '';
  position: absolute;
  left: 3px;
  top: 1px;
  width: 6px;
  height: 10px;
  border-right: 2px solid #027a48;
  border-bottom: 2px solid #027a48;
  transform: rotate(45deg) scale(0.6);
  transform-origin: center;
  opacity: 0;
  animation: itd-zsl-check-pop 0.28s ease forwards;
}

@keyframes itd-zsl-check-pop {
  0% {
    opacity: 0;
    transform: rotate(45deg) scale(0.4);
  }
  60% {
    opacity: 1;
    transform: rotate(45deg) scale(1.08);
  }
  100% {
    opacity: 1;
    transform: rotate(45deg) scale(1);
  }
}

.itd-zsl-status.is-success {
  color: #027a48;
  font-weight: 500;
}


#itd-register-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 999999;
  padding: 20px;
}

#itd-register-overlay.active {
  display: flex;
}

#itd-register-overlay .itd-modal {
  background: #fff;
  padding: 40px 30px;
  border-radius: 16px;
  text-align: center;
  max-width: 480px;
  width: 100%;
  box-sizing: border-box;
}

#itd-register-overlay .itd-title {
  margin: 0 0 10px;
  font-size: 26px;
  line-height: 1.2;
}

#itd-register-overlay .itd-message {
  color: #666;
  margin: 0 0 20px;
}

#itd-register-overlay .itd-logo-wrap { display:none; margin: 0 0 18px; }
#itd-register-overlay .itd-logo { max-width: 140px; width: auto; height: auto; display:block; margin:0 auto; }

#itd-register-overlay .itd-zsl-overlay-spinner { width: 38px; height: 38px; border: 3px solid rgba(47,46,64,0.14); border-top-color: #2F2E40; border-radius: 50%; margin: 8px auto 18px; animation: itd-zsl-overlay-spin 1s linear infinite; }
#itd-register-overlay .itd-zsl-progress { position: relative; width: 100%; max-width: 640px; height: 6px; background: rgba(47,46,64,0.08); border-radius: 999px; overflow: hidden; margin: 6px auto 0; }
#itd-register-overlay .itd-zsl-progress::before { content: ''; position: absolute; inset: 0; background-image: repeating-linear-gradient(90deg, rgba(47,46,64,0.12) 0 14px, rgba(47,46,64,0.03) 14px 24px); opacity: 0.9; }
#itd-register-overlay .itd-zsl-progress-bar { position: relative; width: 22%; height: 100%; border-radius: 999px; background-image: repeating-linear-gradient(90deg, #2F2E40 0 12px, rgba(47,46,64,0.55) 12px 22px); background-size: 40px 100%; animation: itd-zsl-progress-flow 1.1s linear infinite; transition: width 1.4s ease; }
#itd-register-overlay.stage-2 .itd-zsl-progress-bar { width: 52%; }
#itd-register-overlay.stage-3 .itd-zsl-progress-bar { width: 78%; }

@keyframes itd-zsl-overlay-spin { to { transform: rotate(360deg); } }
@keyframes itd-zsl-progress-flow { from { background-position: 0 0; } to { background-position: 40px 0; } }


.itd-zsl-affiliation-shell {
  margin: 0 0 26px;
}

.itd-zsl-affiliation-heading {
  margin: 0 0 14px;
  color: #000;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
}

.itd-zsl-affiliation-copy {
  color: #777;
  font-size: 24px;
  line-height: 1.35;
}

.itd-zsl-affiliation-list {
  margin: 0;
  padding-left: 44px;
}

.itd-zsl-affiliation-list li + li {
  margin-top: 2px;
}

.itd-zsl-hidden-legacy-copy {
  display: none !important;
}

@media (max-width: 767px) {
  .itd-zsl-affiliation-heading {
    font-size: 22px;
  }

  .itd-zsl-affiliation-copy {
    font-size: 18px;
  }

  .itd-zsl-affiliation-list {
    padding-left: 28px;
  }
}


.itd-zsl-affiliation-shell {
  display: block;
  width: 100%;
  max-width: none;
  clear: both;
}

.itd-zsl-affiliation-shell .itd-zsl-affiliation-heading,
.itd-zsl-affiliation-shell .itd-zsl-affiliation-copy,
.itd-zsl-affiliation-shell .itd-zsl-affiliation-list,
.itd-zsl-affiliation-shell .itd-zsl-affiliation-list li {
  max-width: none;
  width: 100%;
  float: none;
}

.itd-zsl-affiliation-shell .itd-zsl-affiliation-list li {
  word-break: normal;
  overflow-wrap: break-word;
}

/* Historical affiliation instruction layout refinement */
.itd-zsl-affiliation-shell { display:block; width:100% !important; max-width:760px; clear:both; flex:0 0 100%; grid-column:1 / -1; box-sizing:border-box; margin:0 0 24px; }
.itd-zsl-affiliation-heading { margin:0 0 12px; color:#2F2E40; font-size:32px; line-height:1.15; font-weight:700; max-width:760px; }
.itd-zsl-affiliation-copy { color:#777; font-size:20px; line-height:1.35; max-width:760px; }
.itd-zsl-affiliation-list { margin:0; padding-left:30px; }
@media (max-width:767px){ .itd-zsl-affiliation-shell{max-width:100%; margin-bottom:20px;} .itd-zsl-affiliation-heading{font-size:24px;} .itd-zsl-affiliation-copy{font-size:17px;} .itd-zsl-affiliation-list{padding-left:24px;} }

/* Historical affiliation instruction typography hardening */
.um-form .itd-zsl-affiliation-shell, .itd-zsl-affiliation-shell { display:block !important; clear:both !important; float:none !important; width:100% !important; max-width:720px !important; margin:0 0 24px 0 !important; padding:0 !important; box-sizing:border-box !important; grid-column:1 / -1 !important; flex:0 0 100% !important; }
.um-form .itd-zsl-affiliation-shell .itd-zsl-affiliation-heading, .itd-zsl-affiliation-shell .itd-zsl-affiliation-heading { display:block !important; margin:0 0 12px 0 !important; padding:0 !important; color:#2F2E40 !important; font-size:28px !important; line-height:1.18 !important; font-weight:700 !important; letter-spacing:normal !important; text-transform:none !important; max-width:720px !important; width:auto !important; }
.um-form .itd-zsl-affiliation-shell .itd-zsl-affiliation-copy, .itd-zsl-affiliation-shell .itd-zsl-affiliation-copy { display:block !important; margin:0 !important; padding:0 !important; color:#777 !important; font-size:17px !important; line-height:1.45 !important; font-weight:400 !important; max-width:720px !important; width:auto !important; }
.um-form .itd-zsl-affiliation-shell .itd-zsl-affiliation-list, .itd-zsl-affiliation-shell .itd-zsl-affiliation-list { margin:0 !important; padding:0 0 0 1.35em !important; list-style-position:outside !important; max-width:720px !important; width:auto !important; }
.um-form .itd-zsl-affiliation-shell .itd-zsl-affiliation-list li, .itd-zsl-affiliation-shell .itd-zsl-affiliation-list li { display:list-item !important; margin:0 0 4px 0 !important; padding:0 !important; color:#777 !important; font-size:17px !important; line-height:1.45 !important; font-weight:400 !important; max-width:720px !important; width:auto !important; float:none !important; word-break:normal !important; overflow-wrap:normal !important; }
@media (max-width:767px){ .um-form .itd-zsl-affiliation-shell, .itd-zsl-affiliation-shell { max-width:100% !important; margin-bottom:20px !important; } .um-form .itd-zsl-affiliation-shell .itd-zsl-affiliation-heading, .itd-zsl-affiliation-shell .itd-zsl-affiliation-heading { font-size:24px !important; } .um-form .itd-zsl-affiliation-shell .itd-zsl-affiliation-copy, .itd-zsl-affiliation-shell .itd-zsl-affiliation-copy, .um-form .itd-zsl-affiliation-shell .itd-zsl-affiliation-list li, .itd-zsl-affiliation-shell .itd-zsl-affiliation-list li { font-size:16px !important; line-height:1.45 !important; } }

/* v2.6.6.6 restored stable Step 3 hide/reveal lifecycle from 2.6.5.5.1 */
.um-form .um-field[data-key="zip_school_select"],
.um-form .um-field[data-key="zip_school_other"] {
  display: none !important;
}

.um-form .um-field[data-key="zip_school_select"].itd-zsl-revealed,
.um-form .um-field[data-key="zip_school_other"].itd-zsl-revealed {
  display: block !important;
}

.itd-zsl-lookup-section {
  width: 100%;
}

.itd-zsl-lookup-reserve {
  display: block;
  min-height: 168px;
  width: 100%;
  max-width: 720px;
  box-sizing: border-box;
}

.itd-zsl-affiliation-shell .itd-zsl-affiliation-line {
  margin: 0 !important;
  padding: 0 !important;
  color: #777 !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  max-width: 720px !important;
}

.itd-zsl-other-helper {
  display: none;
  margin: 8px 0 0 !important;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
}

@media (max-width:767px) {
  .itd-zsl-lookup-reserve {
    min-height: 150px;
    max-width: 100%;
  }

  .itd-zsl-affiliation-shell .itd-zsl-affiliation-line {
    font-size: 16px !important;
  }
}
