/* ── ADI Mentor Application Form — scoped under .adi-app-wrap ── */
@import url('adi-fonts.css');

.adi-app-wrap,
.adi-app-wrap *,
.adi-app-wrap *::before,
.adi-app-wrap *::after {
  box-sizing: border-box;
  font-family: 'Montserrat', sans-serif;
}

.adi-app-wrap p,
.adi-app-wrap li,
.adi-app-wrap span,
.adi-app-wrap div { font-weight: 400; }

.adi-app-wrap {
  max-width: 720px;
  margin: 40px auto;
  padding: 0 20px 80px;
}

/* ── Progress bar ────────────────────────────────────────────────── */
.adi-app-progress {
  margin-bottom: 40px;
}

.adi-app-progress-bar-track {
  height: 4px;
  background: #e8eef4;
  border-radius: 4px;
  margin-bottom: 20px;
}

.adi-app-progress-bar {
  height: 4px;
  background: #E8734A;
  border-radius: 4px;
  transition: width 0.4s ease;
  width: 0%;
}

.adi-app-progress-steps {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.adi-progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex: 1;
  cursor: default;
}

.adi-step-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e8eef4;
  color: #8a9ab0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700 !important;
  transition: background 0.2s, color 0.2s;
}

.adi-progress-step.active .adi-step-num {
  background: #E8734A;
  color: #fff;
}

.adi-progress-step.done .adi-step-num {
  background: #00598E;
  color: #fff;
}

.adi-step-label {
  font-size: 10px;
  color: #8a9ab0;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.3;
}

.adi-progress-step.active .adi-step-label,
.adi-progress-step.done .adi-step-label {
  color: #002f52;
}

/* ── Steps ───────────────────────────────────────────────────────── */
.adi-step { display: none; }
.adi-step.active { display: block; }

.adi-step-header {
  margin-bottom: 32px;
}

.adi-step-header h2 {
  font-size: 24px;
  font-weight: 800 !important;
  color: #002f52;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}

.adi-step-header p {
  color: #6b7a8d;
  font-size: 14.5px;
  line-height: 1.65;
  margin: 0;
}

.adi-subsection-title {
  font-size: 16px;
  font-weight: 700 !important;
  color: #002f52;
  margin: 28px 0 16px;
  padding-top: 20px;
  border-top: 1px solid #e8eef4;
}

/* ── Fields ──────────────────────────────────────────────────────── */
.adi-field-group {
  margin-bottom: 22px;
}

.adi-field-grid.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.adi-label {
  display: block;
  font-size: 13.5px;
  font-weight: 700 !important;
  color: #002f52;
  margin-bottom: 6px;
}

.adi-label-required::after {
  content: ' *';
  color: #E8734A;
}

.adi-field-desc {
  font-size: 12.5px;
  color: #7a8a9a;
  margin: 0 0 8px;
  line-height: 1.6;
}

.adi-input,
.adi-textarea,
.adi-select {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid #d0d9e4;
  border-radius: 6px;
  font-size: 14px;
  color: #1a2a3a;
  background: #fff;
  transition: border-color 0.15s, box-shadow 0.15s;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
}

.adi-input:focus,
.adi-textarea:focus,
.adi-select:focus {
  outline: none;
  border-color: #00598E;
  box-shadow: 0 0 0 3px rgba(0, 89, 142, 0.10);
}

.adi-input.adi-input-error,
.adi-textarea.adi-input-error,
.adi-select.adi-input-error {
  border-color: #e05252;
  box-shadow: 0 0 0 3px rgba(224, 82, 82, 0.10);
}

.adi-textarea { resize: vertical; min-height: 120px; }

.adi-field-error {
  font-size: 12.5px;
  color: #e05252;
  margin-top: 5px;
  min-height: 16px;
  font-weight: 500 !important;
}

.adi-field-hint {
  font-size: 12.5px;
  color: #7a8a9a;
  margin-top: 5px;
}

.adi-field-hint.ok  { color: #2eb87a; font-weight: 600 !important; }
.adi-field-hint.warn { color: #d97706; font-weight: 600 !important; }

/* ── Password strength ───────────────────────────────────────────── */
.adi-password-strength {
  margin-top: -12px;
  margin-bottom: 10px;
}

.adi-password-strength span {
  font-size: 12px;
  font-weight: 700 !important;
  padding: 3px 10px;
  border-radius: 20px;
}

.adi-password-strength span.weak   { background: #fee2e2; color: #dc2626; }
.adi-password-strength span.fair   { background: #fef3c7; color: #d97706; }
.adi-password-strength span.strong { background: #dcfce7; color: #16a34a; }

/* ── Radio cards ─────────────────────────────────────────────────── */
.adi-radio-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.adi-radio-group.small .adi-radio-card { padding: 10px 14px; }

.adi-radio-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1.5px solid #d0d9e4;
  border-radius: 8px;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}

.adi-radio-card:hover {
  border-color: #00598E;
  background: rgba(0, 89, 142, 0.04);
}

.adi-radio-card input[type="radio"] {
  margin-top: 3px;
  flex-shrink: 0;
  accent-color: #00598E;
}

.adi-radio-card input[type="radio"]:checked + .adi-radio-label {
  color: #002f52;
}

.adi-radio-card:has(input:checked) {
  border-color: #00598E;
  background: rgba(0, 89, 142, 0.06);
}

.adi-radio-label {
  font-size: 14px;
  color: #3a4a5a;
  line-height: 1.5;
}

.adi-radio-label strong { display: block; font-weight: 700 !important; color: #002f52; }
.adi-radio-label small  { display: block; font-size: 12px; color: #7a8a9a; margin-top: 2px; }

/* ── File uploads ────────────────────────────────────────────────── */
.adi-file-input {
  display: none;
}

.adi-upload-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.adi-upload-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #00598E !important;
  color: #fff !important;
  font-size: 13px;
  font-weight: 700 !important;
  padding: 10px 18px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
  white-space: nowrap;
}

.adi-upload-btn:hover { background: #004570 !important; }

.adi-file-name {
  font-size: 13px;
  color: #6b7a8d;
  font-style: italic;
}

/* ── Profile photo preview ───────────────────────────────────────── */
.adi-photo-upload-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.adi-photo-preview {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 8px;
  border: 2px solid #e8eef4;
  display: block;
  margin-top: 12px;
}

/* ── Checkbox ────────────────────────────────────────────────────── */
.adi-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  font-size: 14px;
  color: #3a4a5a;
  line-height: 1.65;
}

.adi-checkbox-label input[type="checkbox"] {
  margin-top: 3px;
  flex-shrink: 0;
  accent-color: #00598E;
  width: 18px;
  height: 18px;
}

.adi-checkbox-label a { color: #00598E; font-weight: 600 !important; }

/* ── Conditional sections ────────────────────────────────────────── */
.adi-conditional {
  border-left: 3px solid rgba(0, 89, 142, 0.20);
  padding-left: 20px;
  margin-top: 16px;
}

/* ── Disqualification box ────────────────────────────────────────── */
.adi-disqualify-box {
  background: #fff8f0;
  border: 1.5px solid #f59e0b;
  border-radius: 10px;
  padding: 20px 24px;
  margin-top: 16px;
}

.adi-disq-icon {
  font-size: 24px;
  display: block;
  margin-bottom: 8px;
}

.adi-disqualify-box h3 {
  font-size: 16px;
  font-weight: 700 !important;
  color: #92400e;
  margin: 0 0 8px;
}

.adi-disqualify-box p {
  font-size: 14px;
  color: #78350f;
  line-height: 1.65;
  margin: 0;
}

/* ── Info box ────────────────────────────────────────────────────── */
.adi-info-box {
  background: rgba(140, 166, 196, 0.17);
  border-left: 4px solid #00598E;
  border-radius: 0 8px 8px 0;
  padding: 14px 18px;
  font-size: 14px;
  color: #002f52;
  line-height: 1.65;
}

/* ── Expectation box (step 6) ────────────────────────────────────── */
.adi-expectation-box {
  background: #f5f8fb;
  border-radius: 12px;
  padding: 24px 28px;
  margin-bottom: 28px;
  border: 1.5px solid #d0d9e4;
}

.adi-expectation-box h3 {
  font-size: 15px;
  font-weight: 700 !important;
  color: #002f52;
  margin: 0 0 14px;
}

.adi-check-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.adi-check-list li {
  position: relative;
  padding-left: 24px;
  font-size: 14px;
  line-height: 1.65;
  color: #3a4a5a;
  margin-bottom: 10px;
}

.adi-check-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: #E8734A;
  font-weight: 700;
}

/* ── Add degree button ───────────────────────────────────────────── */
/* ── Add / Remove degree buttons — high specificity to beat themes ───────── */
#adi-app-wrap .adi-btn-add-degree,
#adi-app-wrap button.adi-btn-add-degree {
  background: #fff !important;
  border: 2px solid #002f52 !important;
  color: #002f52 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 9px 18px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  margin-top: 16px !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: background 0.15s, color 0.15s !important;
  box-shadow: none !important;
  text-transform: none !important;
  width: auto !important;
}
#adi-app-wrap .adi-btn-add-degree:hover { background: #002f52 !important; color: #fff !important; }

#adi-app-wrap .adi-btn-remove-degree,
#adi-app-wrap button.adi-btn-remove-degree {
  background: #fff !important;
  border: 2px solid #dc2626 !important;
  color: #dc2626 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 7px 14px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  margin-top: 12px !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: background 0.15s, color 0.15s !important;
  box-shadow: none !important;
  text-transform: none !important;
  width: auto !important;
}
#adi-app-wrap .adi-btn-remove-degree:hover { background: #dc2626 !important; color: #fff !important; }

/* ── Navigation buttons ──────────────────────────────────────────── */
.adi-app-nav {
  display: flex;
  gap: 12px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #e8eef4;
}

.adi-btn-back {
  background: #fff;
  border: 1.5px solid #d0d9e4;
  color: #3a4a5a;
  font-size: 14px;
  font-weight: 700 !important;
  padding: 13px 24px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
  font-family: 'Montserrat', sans-serif;
}

.adi-btn-back:hover { background: #f5f8fb; }

.adi-btn-next,
.adi-btn-submit {
  background: #E8734A !important;
  border: none;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700 !important;
  padding: 13px 28px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
  font-family: 'Montserrat', sans-serif;
  margin-left: auto;
}

.adi-btn-next:hover,
.adi-btn-submit:hover { background: #c85a32 !important; }

.adi-btn-submit:disabled {
  background: #aaa !important;
  cursor: not-allowed;
}

/* ── Error summary ───────────────────────────────────────────────── */
.adi-error-summary {
  background: #fee2e2;
  border: 1.5px solid #fca5a5;
  border-radius: 8px;
  padding: 16px 20px;
  margin-top: 16px;
  font-size: 13.5px;
  color: #991b1b;
}

.adi-error-summary p { font-weight: 600 !important; margin: 0 0 8px; }
.adi-error-summary ul { margin: 0; padding-left: 20px; }
.adi-error-summary li { margin-bottom: 4px; }

/* ── Submit loading spinner ──────────────────────────────────────── */
.adi-submitting {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 0;
  color: #6b7a8d;
  font-size: 14px;
}

.adi-spinner {
  width: 24px;
  height: 24px;
  border: 3px solid #e8eef4;
  border-top-color: #E8734A;
  border-radius: 50%;
  animation: adi-spin 0.8s linear infinite;
  flex-shrink: 0;
}

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

/* ── Success message ─────────────────────────────────────────────── */
.adi-app-success {
  text-align: center;
  padding: 48px 32px;
  background: #f5f8fb;
  border-radius: 16px;
  border: 1.5px solid #d0d9e4;
}

.adi-success-icon {
  width: 60px;
  height: 60px;
  background: #2eb87a;
  color: #fff;
  border-radius: 50%;
  font-size: 28px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}

.adi-app-success h2 {
  font-size: 22px;
  font-weight: 800 !important;
  color: #002f52;
  margin: 0 0 12px;
}

.adi-app-success p {
  font-size: 15px;
  color: #4a5a6a;
  line-height: 1.7;
  max-width: 460px;
  margin: 0 auto 12px;
}

/* ── Already logged in ───────────────────────────────────────────── */
.adi-app-already-member {
  background: rgba(140, 166, 196, 0.17);
  border-left: 4px solid #00598E;
  padding: 16px 20px;
  border-radius: 0 8px 8px 0;
  font-size: 14px;
  color: #002f52;
}

.adi-app-already-member a { color: #00598E; font-weight: 600 !important; }

/* ── Submit note ─────────────────────────────────────────────────── */
.adi-submit-note {
  font-size: 13px;
  color: #7a8a9a;
  margin-top: 16px;
  line-height: 1.6;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 600px) {
  .adi-field-grid.two-col {
    grid-template-columns: 1fr;
  }
  .adi-step-label { display: none; }
  .adi-app-nav { flex-direction: column; }
  .adi-btn-next, .adi-btn-submit { margin-left: 0; width: 100%; }
}

/* ── Hidden state — beats all !important display overrides ─────────────── */
#adi-app-wrap .adi-hidden,
#adi-app-wrap button.adi-hidden {
  display: none !important;
  visibility: hidden !important;
}

/* ── Aggressive button overrides — force ADI styles regardless of theme ── */
#adi-app-wrap .adi-btn-next,
#adi-app-wrap .adi-btn-submit,
#adi-app-wrap button.adi-btn-next,
#adi-app-wrap button.adi-btn-submit,
#adi-app-wrap input[type="submit"].adi-btn-next,
#adi-app-wrap input[type="submit"].adi-btn-submit {
  background: #E8734A !important;
  background-color: #E8734A !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 13px 28px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
  display: inline-block !important;
  width: auto !important;
  transition: background-color 0.15s ease !important;
}

#adi-app-wrap .adi-btn-next:hover,
#adi-app-wrap .adi-btn-submit:hover {
  background: #c85a32 !important;
  background-color: #c85a32 !important;
  color: #ffffff !important;
}

#adi-app-wrap .adi-btn-back,
#adi-app-wrap button.adi-btn-back {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #3a4a5a !important;
  border: 1.5px solid #d0d9e4 !important;
  border-radius: 6px !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 13px 24px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  line-height: 1.4 !important;
}

#adi-app-wrap .adi-btn-back:hover {
  background: #f5f8fb !important;
  background-color: #f5f8fb !important;
}

#adi-app-wrap .adi-upload-btn,
#adi-app-wrap label.adi-upload-btn {
  background: #00598E !important;
  background-color: #00598E !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 10px 18px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}

#adi-app-wrap .adi-upload-btn:hover,
#adi-app-wrap label.adi-upload-btn:hover {
  background: #004570 !important;
  background-color: #004570 !important;
}

/* ── Verify status page ────────────────────────────────────────────────── */
.adi-verify-msg {
  max-width: 520px;
  margin: 40px auto;
  padding: 28px 32px;
  border-radius: 12px;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.7;
}

.adi-verify-success {
  background: #dcfce7;
  border: 1.5px solid #86efac;
  color: #166534;
}

.adi-verify-error {
  background: #fee2e2;
  border: 1.5px solid #fca5a5;
  color: #991b1b;
}

.adi-verify-msg a { color: inherit; font-weight: 700; }

/* ── University autocomplete ───────────────────────────────────────────── */
.adi-uni-wrap { position: relative; }

.adi-uni-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1.5px solid #00598E;
  border-top: none;
  border-radius: 0 0 6px 6px;
  z-index: 9999;
  max-height: 240px;
  overflow-y: auto;
  box-shadow: 0 4px 12px rgba(0,0,0,0.10);
}

.adi-uni-list { padding: 4px 0; }

.adi-uni-option {
  padding: 10px 14px;
  font-size: 13.5px;
  color: #1a2a3a;
  cursor: pointer;
  outline: none;
  font-family: 'Montserrat', Arial, sans-serif;
}

.adi-uni-option:hover,
.adi-uni-option.adi-uni-focused,
.adi-uni-option:focus {
  background: rgba(0, 89, 142, 0.08);
  color: #002f52;
}

.adi-uni-other {
  color: #00598E;
  font-style: italic;
  border-top: 1px solid #e8eef4;
}


/* ── Inline radio cards (social mobility questions) ─────────────────────── */
.adi-radio-inline { flex-wrap: wrap; gap: 8px; }
.adi-radio-inline .adi-radio-card {
  flex: 0 0 auto;
  min-width: 0;
  padding: 8px 14px;
}
.adi-radio-inline .adi-radio-label { font-size: 13px; }


/* ============================================================
   VERIFY / RTW RENEWAL PAGES — self-contained, hardened scope
   These pages use .adi-verify-wrap (NOT .adi-app-wrap), so they
   need their own reset + component styles. High specificity +
   !important on layout-critical props to resist theme bleed.
   ============================================================ */
.adi-verify-wrap,
.adi-verify-wrap *,
.adi-verify-wrap *::before,
.adi-verify-wrap *::after {
  box-sizing: border-box !important;
  font-family: 'Montserrat', sans-serif;
}
.adi-verify-wrap {
  max-width: 600px !important;
  margin: 40px auto !important;
  padding: 0 20px 60px !important;
  width: auto !important;
  float: none !important;
  color: #1a1a2e;
  line-height: 1.6;
}
.adi-verify-wrap .adi-verify-header { margin-bottom: 22px; }
.adi-verify-wrap .adi-verify-brand {
  font-size: 13px !important; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: #E8734A; margin: 0 0 6px !important;
}
.adi-verify-wrap .adi-verify-header h1 {
  font-size: 26px !important; line-height: 1.25 !important; color: #002f52;
  margin: 0 0 10px !important; font-weight: 800;
}
.adi-verify-wrap .adi-verify-header p { font-size: 15px !important; color: #444; margin: 0 !important; }
.adi-verify-wrap .adi-verify-card {
  background: #fff !important; border: 1px solid #e4ecf3 !important;
  border-radius: 14px !important; padding: 28px !important;
  box-shadow: 0 2px 14px rgba(0,47,82,0.06) !important; width: 100% !important;
}
.adi-verify-wrap .adi-verify-section-title {
  font-size: 17px !important; color: #002f52; font-weight: 700;
  margin: 0 0 18px !important; padding: 0 !important;
}
.adi-verify-wrap .adi-verify-field { margin-bottom: 18px !important; }
.adi-verify-wrap .adi-verify-label {
  display: block !important; font-size: 14px !important; font-weight: 600;
  color: #002f52; margin-bottom: 6px !important;
}
.adi-verify-wrap .adi-verify-desc { font-size: 13px !important; color: #6b7785; margin: 0 0 8px !important; }
.adi-verify-wrap .adi-req { color: #E8734A; }
.adi-verify-wrap .adi-input,
.adi-verify-wrap .adi-select,
.adi-verify-wrap input[type="text"],
.adi-verify-wrap input[type="date"],
.adi-verify-wrap select {
  width: 100% !important; padding: 12px 14px !important; font-size: 15px !important;
  border: 1px solid #cdd9e3 !important; border-radius: 9px !important;
  background: #fff !important; color: #1a1a2e !important; height: auto !important;
  line-height: 1.4 !important; margin: 0 !important; max-width: 100% !important;
  -webkit-appearance: none; appearance: none;
}
.adi-verify-wrap select.adi-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23667' stroke-width='1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 14px center !important;
  padding-right: 36px !important;
}
.adi-verify-wrap .adi-input:focus,
.adi-verify-wrap select:focus { outline: none !important; border-color: #00598E !important; box-shadow: 0 0 0 3px rgba(0,89,142,0.12) !important; }
.adi-verify-wrap .adi-date-row { display: flex !important; gap: 10px !important; }
.adi-verify-wrap .adi-upload-row { display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; }
.adi-verify-wrap .adi-upload-btn {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  background: #00598E !important; color: #fff !important; font-size: 14px !important;
  font-weight: 600 !important; padding: 10px 18px !important; border-radius: 8px !important;
  cursor: pointer !important; border: none !important;
}
.adi-verify-wrap .adi-upload-btn:hover { background: #004570 !important; }
.adi-verify-wrap .adi-file-input { display: none !important; }
.adi-verify-wrap .adi-file-name { font-size: 13px !important; color: #6b7785 !important; }
.adi-verify-wrap .adi-verify-checkbox-label {
  display: flex !important; align-items: flex-start !important; gap: 10px !important;
  font-size: 14px !important; color: #333 !important; cursor: pointer !important; line-height: 1.5 !important;
}
.adi-verify-wrap .adi-verify-checkbox-label input { margin-top: 3px !important; width: auto !important; }
.adi-verify-wrap .adi-radio-group { display: flex !important; gap: 12px !important; flex-wrap: wrap !important; }
.adi-verify-wrap .adi-radio-card {
  flex: 1 !important; min-width: 140px !important; display: flex !important; align-items: center !important;
  gap: 8px !important; padding: 12px 14px !important; border: 1px solid #cdd9e3 !important;
  border-radius: 9px !important; cursor: pointer !important; font-size: 14px !important;
}
.adi-verify-wrap .adi-radio-card input { width: auto !important; }
.adi-verify-wrap .adi-info-box {
  background: #f5f8fb !important; border-left: 4px solid #E8734A !important;
  padding: 14px 18px !important; border-radius: 0 8px 8px 0 !important;
  font-size: 14px !important; color: #444 !important; line-height: 1.6 !important;
}
.adi-verify-wrap .adi-btn-submit,
.adi-verify-wrap button.adi-btn-submit {
  display: block !important; width: 100% !important; background: #E8734A !important;
  color: #fff !important; font-size: 16px !important; font-weight: 700 !important;
  padding: 15px 24px !important; border: none !important; border-radius: 10px !important;
  cursor: pointer !important; margin-top: 22px !important; line-height: 1.2 !important;
}
.adi-verify-wrap .adi-btn-submit:hover { background: #c85a32 !important; }
.adi-verify-wrap .adi-btn-submit:disabled { opacity: 0.6 !important; cursor: default !important; }
.adi-verify-wrap .adi-verify-error { color: #d23b3b !important; font-size: 13px !important; margin-top: 5px !important; min-height: 0; }
.adi-verify-wrap .adi-verify-removal-section { margin-top: 26px !important; padding-top: 20px !important; border-top: 1px solid #eef2f6 !important; text-align: center !important; }
.adi-verify-wrap .adi-verify-removal-label { font-size: 13px !important; color: #6b7785 !important; margin: 0 0 8px !important; }
.adi-verify-wrap .adi-btn-removal {
  background: none !important; border: none !important; color: #9aa6b2 !important;
  font-size: 13px !important; text-decoration: underline !important; cursor: pointer !important;
}
.adi-verify-wrap .adi-btn-removal-confirm,
.adi-verify-wrap .adi-btn-removal-cancel {
  font-size: 13px !important; padding: 8px 16px !important; border-radius: 7px !important;
  border: none !important; cursor: pointer !important; margin: 6px 4px 0 !important;
}
.adi-verify-wrap .adi-btn-removal-confirm { background: #d23b3b !important; color: #fff !important; }
.adi-verify-wrap .adi-btn-removal-cancel { background: #e6ebf0 !important; color: #444 !important; }
.adi-verify-wrap .adi-submitting { text-align: center !important; padding: 24px !important; }
.adi-verify-wrap .adi-spinner {
  width: 32px !important; height: 32px !important; border: 3px solid #e4ecf3 !important;
  border-top-color: #E8734A !important; border-radius: 50% !important; margin: 0 auto 12px !important;
  animation: adi-verify-spin 0.8s linear infinite !important;
}
@keyframes adi-verify-spin { to { transform: rotate(360deg); } }
.adi-verify-wrap .adi-verify-result { margin-top: 20px !important; padding: 20px 24px !important; border-radius: 12px !important; font-size: 15px !important; }
.adi-verify-wrap .adi-verify-result.adi-verify-success { background: #e9f8ef !important; color: #166534 !important; border: 1px solid #b7e4c7 !important; }
.adi-verify-wrap .adi-verify-result.adi-verify-error { background: #fdecec !important; color: #b42318 !important; border: 1px solid #f3c0bb !important; }

/* ============================================================
   PHASE 1 — Category path selector (gate) + waiting list
   Lives inside .adi-app-wrap, so inherits the form reset + inputs.
   ============================================================ */
.adi-app-wrap .adi-gate { max-width: 560px; margin: 0 auto; }
.adi-app-wrap .adi-gate-options { display: flex; flex-direction: column; gap: 12px; margin-top: 20px; }
.adi-app-wrap .adi-gate-option {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  width: 100%; text-align: left; background: #fff !important; border: 1.5px solid #d8e2ec;
  border-radius: 12px; padding: 18px 20px; font-size: 16px; font-weight: 600;
  color: #002f52 !important; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .05s;
}
.adi-app-wrap .adi-gate-option:hover { border-color: #00598E; background: #f5f8fb !important; color: #002f52 !important; box-shadow: 0 3px 14px rgba(0,89,142,0.12); }
.adi-app-wrap .adi-gate-option:hover span { color: #002f52 !important; }
.adi-app-wrap .adi-gate-option:active { transform: translateY(1px); }
.adi-app-wrap .adi-gate-arrow { color: #E8734A; font-size: 18px; flex: 0 0 auto; }
.adi-app-wrap .adi-wl-form { margin-top: 8px; }
.adi-app-wrap .adi-wl-form .adi-field { margin-bottom: 16px; }
.adi-app-wrap .adi-wl-form .adi-label { display: block; font-size: 14px; font-weight: 600; color: #002f52; margin-bottom: 6px; }
.adi-app-wrap .adi-wl-consent {
  display: flex; align-items: flex-start; gap: 10px; font-size: 14px;
  color: #444; line-height: 1.5; cursor: pointer; margin-top: 4px;
}
.adi-app-wrap .adi-wl-consent input { margin-top: 3px; width: auto; }
.adi-app-wrap .adi-wl-consent a { color: #00598E; }
.adi-app-wrap .adi-gate-error { color: #d23b3b; font-size: 13px; margin-top: 8px; }
.adi-app-wrap .adi-gate-back { background: none !important; border: none !important; box-shadow: none !important; padding: 0 !important; color: #8a98a6; font-size: 14px; text-decoration: underline; cursor: pointer; }
.adi-app-wrap .adi-gate-back:hover, .adi-app-wrap .adi-gate-back:focus { background: none !important; border: none !important; box-shadow: none !important; outline: none; color: #00598E !important; text-decoration: underline !important; }
.adi-app-wrap .adi-gate-result { margin-top: 18px; padding: 20px 22px; border-radius: 12px; font-size: 15px; }
.adi-app-wrap .adi-gate-result.adi-gate-success { background: #e9f8ef; color: #166534; border: 1px solid #b7e4c7; }
.adi-app-wrap .adi-gate-result.adi-gate-fail { background: #fdecec; color: #b42318; border: 1px solid #f3c0bb; }

/* ── Pre-flight "what you will need" checklist (v2.55.700) ────────────────
   The device requirement is deliberately the loudest element on the screen:
   with Didit early in the flow, this is the only thing standing between a
   phone user and an identity check they cannot complete. */
.adi-pf-critical{display:flex;gap:16px;align-items:flex-start;background:#fff4ed;border:2px solid #E8734A;
  border-radius:12px;padding:18px 20px;margin:0 0 22px}
.adi-pf-critical-icon{flex:0 0 auto;width:34px;height:34px;color:#E8734A}
.adi-pf-critical-icon svg{width:34px;height:34px}
.adi-pf-critical-tx{display:flex;flex-direction:column;gap:6px}
.adi-pf-critical-tx strong{font-size:16px;line-height:1.35;color:#1f2a37}
.adi-pf-critical-tx span{font-size:14px;line-height:1.5;color:#44515f}
.adi-pf-critical-tx em{font-size:14px;font-style:normal;font-weight:700;color:#b91c1c}
.adi-pf-group{margin:0 0 20px}
.adi-pf-heading{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#6b7a8c;margin:0 0 8px}
.adi-pf-sub{font-size:13px;color:#5b6876;margin:0 0 10px;line-height:1.5}
.adi-pf-list{list-style:none;margin:0;padding:0}
.adi-pf-list li{position:relative;padding:8px 0 8px 26px;font-size:14px;line-height:1.5;color:#33404e;
  border-bottom:1px solid #eef3f7}
.adi-pf-list li:last-child{border-bottom:0}
.adi-pf-list li:before{content:"";position:absolute;left:6px;top:15px;width:7px;height:7px;
  border-radius:50%;background:#E8734A}
.adi-pf-list code{background:#f1f5f9;padding:1px 5px;border-radius:4px;font-size:13px}
.adi-pf-nowrap{white-space:nowrap}
.adi-pf-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px}
.adi-pf-mobile-warning{display:flex;flex-direction:column;gap:6px;background:#fef2f2;
  border-left:4px solid #dc2626;border-radius:0 8px 8px 0;padding:14px 18px;margin-top:20px}
.adi-pf-mobile-warning strong{font-size:15px;color:#991b1b}
.adi-pf-mobile-warning span{font-size:13px;line-height:1.55;color:#7f1d1d}
@media(max-width:600px){
  .adi-pf-critical{flex-direction:column;gap:10px}
  .adi-pf-critical-tx strong{font-size:15px}
}

/* ── Identity check step (v2.55.700) ──────────────────────────────────────── */
.adi-id-intro{background:#f6f9fc;border-radius:10px;padding:16px 18px;margin:0 0 18px}
.adi-id-intro p{margin:0 0 8px;font-size:14px;line-height:1.55;color:#33404e}
.adi-id-intro p:last-child{margin:0}
.adi-id-intro-small{font-size:13px!important;color:#5b6876!important}
.adi-id-consent{background:#fff;border:2px solid #d0dde8;border-radius:10px;padding:16px 18px;margin:0 0 16px}
.adi-consent-label{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.adi-consent-label input{margin-top:3px;flex:0 0 auto;width:18px;height:18px;cursor:pointer}
.adi-consent-label span{font-size:14px;line-height:1.55;color:#33404e}
.adi-id-actions{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 0 8px}
.adi-id-hint{font-size:13px;color:#6b7a8c;margin:0;text-align:center}
.adi-id-frame-wrap{margin:18px 0 0}
#adi-id-frame{width:100%;min-height:640px;border:1px solid #d0dde8;border-radius:12px;background:#fff}
.adi-id-escape{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;
  margin-top:12px;font-size:13px;color:#5b6876}
.adi-id-escape a{font-weight:700;color:#E8734A}
.adi-id-nudge{display:flex;flex-direction:column;gap:6px;background:#fffbeb;
  border-left:4px solid #f59e0b;border-radius:0 8px 8px 0;padding:14px 18px;margin-top:14px}
.adi-id-nudge strong{font-size:15px;color:#78350f}
.adi-id-nudge span{font-size:13px;line-height:1.55;color:#78350f}
.adi-id-nudge a{font-weight:700;color:#b45309;font-size:14px}
.adi-id-outcome{display:flex;flex-direction:column;gap:8px;align-items:flex-start;
  border-radius:10px;padding:18px 20px;margin-top:18px}
.adi-id-outcome strong{font-size:16px}
.adi-id-outcome span{font-size:14px;line-height:1.55}
.adi-id-outcome .adi-btn-submit{margin-top:6px}
#adi-id-pending{background:#f1f5f9;color:#334155;flex-direction:row;align-items:center;gap:14px}
.adi-id-ok{background:#f0fdf4;border:1px solid #86efac;color:#166534}
.adi-id-review{background:#eff6ff;border:1px solid #93c5fd;color:#1e40af}
.adi-id-fail{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}
.adi-id-spinner{width:22px;height:22px;border:3px solid #cbd5e1;border-top-color:#E8734A;
  border-radius:50%;animation:adiSpin .8s linear infinite;flex:0 0 auto}
@keyframes adiSpin{to{transform:rotate(360deg)}}
@media(max-width:600px){#adi-id-frame{min-height:560px}}

/* ── University email + one-time code (v2.55.707) ─────────────────────────── */
.adi-uni-email-block{background:#f6f9fc;border:1px solid #e2eaf2;border-radius:10px;padding:16px 18px;margin:0 0 18px}
.adi-otp-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px}
.adi-otp-status{font-size:13px}
.adi-otp-status.is-ok{color:#166534}
.adi-otp-status.is-err{color:#b91c1c}
.adi-otp-status.is-wait{color:#78350f}
.adi-otp-enter{margin-top:14px;padding-top:14px;border-top:1px solid #e2eaf2}
.adi-otp-inputs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}
.adi-otp-input{max-width:150px;font-size:20px;letter-spacing:6px;text-align:center;font-family:monospace}
.adi-otp-resend{margin:10px 0 0;font-size:13px}
.adi-linklike{background:none;border:0;padding:0;color:#E8734A;font-weight:700;cursor:pointer;font-size:13px;text-decoration:underline}
.adi-linklike:disabled{color:#9aa6b2;cursor:default;text-decoration:none}
.adi-otp-done{display:flex;flex-direction:column;gap:3px;background:#f0fdf4;border:1px solid #86efac;
  border-radius:8px;padding:12px 14px;margin-top:12px}
.adi-otp-done strong{color:#166534;font-size:14px}
.adi-otp-done span{color:#166534;font-size:13px;font-family:monospace}
.adi-btn-secondary{background:#fff;border:2px solid #E8734A;color:#E8734A;font-weight:700;font-size:14px;
  padding:9px 16px;border-radius:8px;cursor:pointer}
.adi-btn-secondary:hover:not(:disabled){background:#fff4ed}
.adi-btn-secondary:disabled{border-color:#cbd5e1;color:#9aa6b2;cursor:default}

/* ── Right-to-work lane panels ────────────────────────────────────────────── */
.adi-info-box.adi-lane-ok{display:flex;flex-direction:column;gap:5px;background:#f0fdf4;
  border-left:4px solid #16a34a;border-radius:0 8px 8px 0;padding:14px 18px}
.adi-info-box.adi-lane-ok strong{color:#166534;font-size:15px}
.adi-info-box.adi-lane-ok span{color:#15803d;font-size:13px;line-height:1.55}


/* ── Selects: ADI chrome on the APPLICATION form ──────────────────────────────
   v2.55.717. .adi-select set width, padding and border but never appearance:none
   or a custom arrow - those existed only under .adi-verify-wrap, which is the
   verify page, not this form. So every dropdown on the application (how you heard
   about us, qualification type, apprenticeship level, all the date selects)
   rendered with native OS chrome and looked unstyled next to the text inputs.  */
#adi-app-wrap .adi-select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23667' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
  line-height: 1.3;
}
#adi-app-wrap .adi-select::-ms-expand { display: none; }

/* ── University-email one-time code block ─────────────────────────────────────
   v2.55.717. The send / confirm / resend controls sat at default sizes and did
   not line up with the inputs beside them, so the block read as unstyled next to
   the rest of the form. Match the input height and the ADI button language.     */
#adi-app-wrap .adi-otp-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:10px; }
#adi-app-wrap .adi-otp-row .adi-btn-secondary,
#adi-app-wrap .adi-otp-inputs .adi-btn-secondary {
  height: 44px; padding: 0 18px; border-radius: 8px; font-size: 14px; font-weight: 700;
  display: inline-flex; align-items: center; white-space: nowrap;
}
#adi-app-wrap .adi-otp-inputs { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
#adi-app-wrap .adi-otp-input {
  width: 160px; height: 44px; text-align:center; letter-spacing: 6px;
  font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums;
}
#adi-app-wrap .adi-otp-resend { margin-top: 10px; }
#adi-app-wrap .adi-linklike {
  background:none; border:none; padding:0; color:#00598E; font-size:13px;
  font-weight:600; text-decoration:underline; cursor:pointer;
}
#adi-app-wrap .adi-linklike:disabled { color:#9aa6b2; text-decoration:none; cursor:default; }

/* ── One-time-code buttons: force the ADI palette ─────────────────────────────
   v2.55.718. Measured on the deployed page: these rendered with a
   rgba(0,89,142,0.52) border, not the #E8734A the .adi-btn-secondary rule sets —
   so a theme rule on `button` was outranking a single-class selector. Scoping to
   #adi-app-wrap raises specificity above it. Stated as measurement, not guesswork:
   computed style was read off the live form before and after.                   */
#adi-app-wrap .adi-otp-row .adi-btn-secondary,
#adi-app-wrap .adi-otp-inputs .adi-btn-secondary,
#adi-app-wrap button.adi-btn-secondary {
  background: #fff;
  border: 2px solid #E8734A;
  color: #E8734A;
  font-weight: 700;
  box-shadow: none;
  text-transform: none;
  letter-spacing: normal;
}
#adi-app-wrap button.adi-btn-secondary:hover:not(:disabled) { background: #fff4ed; border-color: #E8734A; color: #E8734A; }
#adi-app-wrap button.adi-btn-secondary:disabled { background:#fff; border-color:#cbd5e1; color:#9aa6b2; cursor:default; }
#adi-app-wrap .adi-otp-status { font-size:13px; color:#475569; }
#adi-app-wrap .adi-otp-done { background:#f0fdf4; border-left:4px solid #16a34a; border-radius:0 8px 8px 0; padding:12px 16px; margin-top:12px; }
#adi-app-wrap .adi-otp-done strong { color:#166534; display:block; font-size:15px; }
#adi-app-wrap .adi-otp-done span { color:#15803d; font-size:13px; }

/* ═══════════════════════════════════════════════════════════════════════════════════════════════
   P1-733 — THE RE-ONBOARDING PAGE. Dan, 18 Aug 2026: "they are all styled awfully, none of them
   look like the ADI style, terrible ... these pages should look really professiona and attractcie
   and this is all crap."

   MEASURED, NOT A MATTER OF TASTE: the page emits SEVEN classes of its own and this stylesheet
   defined NOT ONE of them, and it is the only ADI stylesheet with no brand tokens - 0 occurrences
   of --navy against 87 in adi-search.css. It inherited 8 unscoped .adi-field rules and 11 .adi-btn
   rules BY ACCIDENT, and nothing else: the rest of this file is scoped under #adi-app-wrap, which
   the campaign page is not inside.

   THE TOKENS ARE THE SEARCH CATALOGUE'S, not new ones. A second palette is a second thing to keep
   in step, and the card a student sees and the page a mentor sees should not drift apart.

   EVERYTHING IS SCOPED UNDER .adi-reonboard so it cannot reach another screen. This file is loaded
   by the application form too, and restyling that was not asked for and would not be noticed until
   an applicant hit it.

   THE FONT WAS ALREADY FINE and was checked before claiming otherwise - line 2 imports adi-fonts.
   ═══════════════════════════════════════════════════════════════════════════════════════════════ */

/* ⛔ THE TOKENS ARE DECLARED ON EVERY ROOT THAT USES THEM, NOT JUST THE FORM WRAPPER.
   Declaring them only on `.adi-reonboard` left the OUTCOME SCREEN - which has no such wrapper -
   resolving `var(--card)` to nothing and `var(--navy)` to black. Measured: background
   `rgba(0,0,0,0)` and a black heading, on the very screen Dan called a wall of text.
   ⚠ AND ONLY COMPUTED STYLES COULD HAVE CAUGHT IT: the classes were on the elements and the rules
   were in the file. A markup check would have passed on a page rendering in Times New Roman. */
.adi-reonboard, .adi-reonboard-msg, .adi-reonb-msg {
  --navy:#00598E; --navy-deep:#024a76; --orange:#E8734A;
  --pale:rgba(140,166,196,.17); --pale-solid:#eff3f7;
  --ink:#1b3450; --muted:#8093a4; --line:#edf1f5; --card:#fff; --bg:#f6f9fc;
  --radius:20px;
}

.adi-reonboard {
  max-width:720px; margin:0 auto; padding:28px 20px 56px;
  color:var(--ink); background:var(--bg);
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}

/* The video sits at the top, per the approved copy document §5. */
.adi-reonboard .adi-reonboard-video { margin:0 0 26px; }
.adi-reonboard .adi-reonboard-video video,
.adi-reonboard .adi-video-wrap video {
  border-radius:var(--radius); box-shadow:0 8px 28px rgba(27,52,80,.12); display:block; width:100%;
}

.adi-reonboard-form {
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px 28px; box-shadow:0 6px 24px rgba(27,52,80,.07);
}

/* One question per block, with real air between them. The complaint was layout and spacing. */
.adi-reonboard .adi-field { margin:0 0 24px; padding:0; border:0; }
.adi-reonboard .adi-field > label,
.adi-reonboard .adi-field legend {
  display:block; font-weight:600; font-size:16px; color:var(--navy);
  margin:0 0 10px; padding:0; line-height:1.45;
}

.adi-reonboard input[type="text"],
.adi-reonboard input[type="email"],
.adi-reonboard input[type="tel"],
.adi-reonboard select,
.adi-reonboard textarea {
  width:100%; box-sizing:border-box; padding:13px 15px; font:inherit; font-size:16px;
  color:var(--ink); background:var(--card);
  border:1.5px solid #d7e0ea; border-radius:12px; transition:border-color .15s, box-shadow .15s;
}
/* ⛔ A VISIBLE FOCUS RING. Removing the browser's outline without replacing it is how a keyboard
   user loses their place entirely, and this form is one a mentor must complete to stay active. */
.adi-reonboard input:focus, .adi-reonboard select:focus, .adi-reonboard textarea:focus {
  outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(0,89,142,.15);
}
.adi-reonboard .adi-reonboard-year { max-width:150px; }

/* Radios and checkboxes as tappable cards - most of these mentors are on a phone. */
.adi-reonboard fieldset.adi-field label {
  display:flex; align-items:flex-start; gap:11px; font-weight:400; font-size:15.5px; color:var(--ink);
  padding:13px 15px; margin:0 0 9px; cursor:pointer;
  background:var(--pale-solid); border:1.5px solid transparent; border-radius:12px;
  transition:border-color .15s, background .15s;
}
.adi-reonboard fieldset.adi-field label:hover { border-color:#c3d2e2; }
.adi-reonboard fieldset.adi-field input[type="radio"],
.adi-reonboard fieldset.adi-field input[type="checkbox"],
.adi-reonboard .adi-field > label input[type="checkbox"] {
  width:19px; height:19px; margin:1px 0 0; accent-color:var(--navy); flex:0 0 auto;
}
.adi-reonboard .adi-terms label, .adi-reonboard .adi-reonboard-remove-wrap label {
  display:flex; align-items:flex-start; gap:11px; font-weight:400;
}

/* The primary action. */
.adi-reonboard .adi-btn, .adi-reonboard .adi-reonboard-confirm {
  display:inline-block; width:100%; box-sizing:border-box;
  background:var(--navy); color:#fff; border:0; border-radius:12px;
  padding:16px 22px; font:inherit; font-size:16.5px; font-weight:600; cursor:pointer;
  transition:background .15s, transform .06s;
}
.adi-reonboard .adi-btn:hover { background:var(--navy-deep); }
.adi-reonboard .adi-btn:active { transform:translateY(1px); }

/* "Take me off the list" is deliberately quiet - present, never competing with the confirm. */
.adi-reonboard .adi-reonboard-remove-wrap { margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.adi-reonboard .adi-link, .adi-reonboard .adi-reonboard-remove { color:var(--muted); font-size:14.5px; text-decoration:underline; }
.adi-reonboard .adi-link:hover { color:var(--navy); }

/* ⛔ ERRORS IN THE BRAND'S OWN WARNING COLOUR, and only visible when they carry text - an empty
   red box under every field would be the "message written into a hidden container" defect. */
.adi-reonboard .adi-err { display:block; color:#b32d2e; font-size:14px; margin-top:7px; }
.adi-reonboard .adi-err:empty { display:none; }
.adi-reonboard .adi-reonboard-summary:empty { display:none; }
.adi-reonboard .adi-reonboard-summary {
  background:#fef2f2; border-left:4px solid #b32d2e; border-radius:0 12px 12px 0;
  padding:15px 18px; margin:0 0 22px; color:#7f1d1d; font-size:15px;
}

/* The outcome screens - P1-736 gave these real paragraphs, this gives them room. */
.adi-reonboard-msg, .adi-reonb-msg {
  max-width:720px; margin:0 auto; padding:30px 28px;
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:0 6px 24px rgba(27,52,80,.07);
  color:var(--ink); line-height:1.65;
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.adi-reonb-lead { font-size:21px; font-weight:600; color:var(--navy); margin:0 0 16px; line-height:1.35; }
.adi-reonboard-msg p, .adi-reonb-msg p { margin:0 0 15px; font-size:16px; }
.adi-reonboard-msg p:last-child, .adi-reonb-msg p:last-child { margin-bottom:0; }
.adi-reonboard-success { border-left:4px solid #16a34a; }

@media (max-width:600px) {
  .adi-reonboard { padding:18px 14px 40px; }
  .adi-reonboard-form, .adi-reonboard-msg, .adi-reonb-msg { padding:22px 18px; border-radius:16px; }
}

/* ── P1-744 — THE TWO CONTROLS DAN NAMED, 19 Aug 2026 ────────────────────────────────────────────
   "the choose file button and text next to it which says No file chosen is not styled correctly,
   also the button where it says please take me off the list is not styled either."

   BOTH ARE BROWSER-DEFAULT CONTROLS AND BOTH WERE MISSED BY THE FIRST PASS, because the styling
   round targeted the classes the page emits and these two are the UNCLASSED parts INSIDE them:
   a file input renders its own button that inherits nothing, and the remove control is an
   unstyled <button> sitting in a styled wrapper. Styling the containers and calling the page done
   is the presence-versus-sufficiency shape, and only looking at it catches it. */

/* The file input's own button is drawn by the browser and takes none of our rules unless it is
   targeted directly. Both vendor selectors are needed: they are not interchangeable. */
.adi-reonboard input[type="file"] {
  width:100%; box-sizing:border-box; padding:11px 13px; font:inherit; font-size:15px;
  color:var(--muted); background:var(--pale-solid);
  border:1.5px dashed #c3d2e2; border-radius:12px; cursor:pointer;
}
.adi-reonboard input[type="file"]:hover { border-color:var(--navy); background:#e9eff6; }
.adi-reonboard input[type="file"]::file-selector-button,
.adi-reonboard input[type="file"]::-webkit-file-upload-button {
  font:inherit; font-size:14.5px; font-weight:600;
  background:var(--navy); color:#fff; border:0; border-radius:9px;
  padding:9px 16px; margin-right:13px; cursor:pointer;
  -webkit-appearance:none; appearance:none;
  transition:background .15s;
}
.adi-reonboard input[type="file"]::file-selector-button:hover,
.adi-reonboard input[type="file"]::-webkit-file-upload-button:hover { background:var(--navy-deep); }

/* "Please take me off the list" is a <button>, so it arrives as a grey OS button. It is deliberately
   quiet - a real control, clearly not competing with Confirm. */
.adi-reonboard .adi-reonboard-remove,
.adi-reonboard button.adi-link,
.adi-reonboard .adi-reonboard-remove-wrap button {
  display:inline-block; width:auto;
  background:none; border:0; box-shadow:none;
  color:var(--muted); font:inherit; font-size:14.5px; font-weight:500;
  padding:6px 2px; text-decoration:underline; text-underline-offset:3px; cursor:pointer;
}
.adi-reonboard .adi-reonboard-remove:hover,
.adi-reonboard button.adi-link:hover { color:var(--navy); background:none; }
/* ⛔ A VISIBLE FOCUS RING ON IT TOO. It is the only route off the list for somebody using a
   keyboard, and an underline alone is not a focus indicator. */
.adi-reonboard .adi-reonboard-remove:focus-visible,
.adi-reonboard button.adi-link:focus-visible {
  outline:2px solid var(--navy); outline-offset:3px; border-radius:4px;
}
