/* AIcruitment Clinical Site Onboarding - scoped styles */
#aivr-site-root, #aivr-site-root * {
  box-sizing: border-box !important;
  font-family: 'Poppins', Arial, sans-serif !important;
}
#aivr-site-root {
  --aivr-accent: #e600ff;
  --aivr-violet: #7c3aed;
  --aivr-ink: #181429;
  --aivr-muted: #625d70;
  --aivr-line: #e4dfea;
  width: 100% !important;
  padding: 52px 16px 64px !important;
  color: var(--aivr-ink) !important;
  background: radial-gradient(ellipse 500px 290px at 8% 5%, rgba(230,0,255,.07), transparent 75%),
    radial-gradient(ellipse 440px 270px at 95% 95%, rgba(124,58,237,.06), transparent 75%), #faf9fc !important;
}
#aivr-site-root .aivr-site-shell { max-width: 820px !important; margin: 0 auto !important; }
#aivr-site-root .aivr-site-card {
  position: relative !important; overflow: hidden !important; width: 100% !important;
  margin: 0 !important; padding: 0 !important; background: #fff !important;
  border: 1px solid var(--aivr-line) !important; border-radius: 22px !important;
  box-shadow: 0 22px 65px rgba(27,16,48,.08) !important;
}
#aivr-site-root .aivr-site-card::before {
  content: ''; position: absolute; inset: 0 0 auto; height: 4px;
  background: linear-gradient(90deg, var(--aivr-accent), var(--aivr-violet));
}
#aivr-site-root .aivr-site-head {
  padding: 36px 40px 28px !important; border-bottom: 1px solid #f0edf4 !important;
  background: radial-gradient(ellipse 220px 170px at 95% 5%, rgba(230,0,255,.065), transparent 95%) !important;
}
#aivr-site-root .aivr-site-brand {
  display: flex !important; align-items: center !important; gap: 9px !important; flex-wrap: wrap !important;
  margin: 0 0 22px !important; color: var(--aivr-ink) !important;
  -webkit-text-fill-color: var(--aivr-ink) !important;
  font-size: 17px !important; font-weight: 700 !important;
}
#aivr-site-root .aivr-site-brand-icon {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 34px !important; height: 34px !important; border-radius: 10px !important;
  background: linear-gradient(125deg, var(--aivr-accent), var(--aivr-violet)) !important;
  color: #fff !important; -webkit-text-fill-color: #fff !important; font-size: 19px !important;
}
#aivr-site-root .aivr-site-brand-name { color: var(--aivr-ink) !important; -webkit-text-fill-color: var(--aivr-ink) !important; }
#aivr-site-root .aivr-site-head-divider { height: 19px !important; width: 1px !important; margin: 0 3px !important; background: #d7d0e0 !important; }
#aivr-site-root .aivr-site-step {
  color: #8235b7 !important; -webkit-text-fill-color: #8235b7 !important;
  font-size: 12px !important; font-weight: 700 !important; letter-spacing: .09em !important;
}
#aivr-site-root .aivr-site-head h2, #aivr-site-root .aivr-site-success h2 {
  margin: 0 0 11px !important; padding: 0 !important;
  background: none !important; background-image: none !important;
  -webkit-background-clip: border-box !important; background-clip: border-box !important;
  color: var(--aivr-ink) !important; -webkit-text-fill-color: var(--aivr-ink) !important;
  opacity: 1 !important; font-size: clamp(29px,3vw,37px) !important;
  font-weight: 800 !important; line-height: 1.26 !important; letter-spacing: -.035em !important;
  text-transform: none !important;
}
#aivr-site-root .aivr-site-head p {
  margin: 0 !important; padding: 0 !important; color: var(--aivr-muted) !important;
  -webkit-text-fill-color: var(--aivr-muted) !important;
  font-size: 16px !important; font-weight: 400 !important; line-height: 1.75 !important;
}
#aivr-site-root .aivr-site-content { padding: 32px 40px 40px !important; }
#aivr-site-root .aivr-site-grid {
  display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  column-gap: 24px !important; row-gap: 23px !important;
}
#aivr-site-root .aivr-site-full { grid-column: 1 / -1 !important; }
#aivr-site-root .aivr-site-field { min-width: 0 !important; }
#aivr-site-root .aivr-site-field label {
  display: block !important; margin: 0 0 9px !important; padding: 0 !important;
  color: #292337 !important; -webkit-text-fill-color: #292337 !important;
  opacity: 1 !important; font-size: 15px !important; font-weight: 600 !important;
  line-height: 1.6 !important; text-transform: none !important;
}
#aivr-site-root .aivr-site-field label span { color: #c322d6 !important; -webkit-text-fill-color: #c322d6 !important; }
#aivr-site-root .aivr-site-field input, #aivr-site-root .aivr-site-field textarea {
  display: block !important; width: 100% !important; min-width: 0 !important;
  margin: 0 !important; padding: 13px 16px !important;
  background: #fcfbfe !important; background-image: none !important;
  border: 1.5px solid var(--aivr-line) !important; border-radius: 12px !important;
  box-shadow: none !important; outline: none !important;
  color: #211c33 !important; -webkit-text-fill-color: #211c33 !important;
  caret-color: #211c33 !important; opacity: 1 !important;
  font-size: 16px !important; font-weight: 500 !important; line-height: 1.5 !important;
  text-align: left !important; -webkit-appearance: none !important; appearance: none !important;
  transition: border-color .18s,box-shadow .18s,background .18s !important;
}
#aivr-site-root .aivr-site-field input { height: 55px !important; }
#aivr-site-root .aivr-site-field textarea { min-height: 112px !important; height: auto !important; resize: vertical !important; }
#aivr-site-root .aivr-site-field input::placeholder, #aivr-site-root .aivr-site-field textarea::placeholder {
  color: #867f92 !important; -webkit-text-fill-color: #867f92 !important;
  opacity: 1 !important; font-weight: 400 !important;
}
#aivr-site-root .aivr-site-field input:focus, #aivr-site-root .aivr-site-field textarea:focus {
  background: #fff !important; border-color: var(--aivr-accent) !important;
  box-shadow: 0 0 0 4px rgba(230,0,255,.11) !important;
}
#aivr-site-root .aivr-site-field input[type=number] { -moz-appearance: textfield !important; }
#aivr-site-root .aivr-site-field input[type=number]::-webkit-inner-spin-button,
#aivr-site-root .aivr-site-field input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
#aivr-site-root .aivr-site-help {
  display: block !important; margin: 8px 0 0 !important;
  color: var(--aivr-muted) !important; -webkit-text-fill-color: var(--aivr-muted) !important;
  font-size: 13px !important; line-height: 1.55 !important;
}
#aivr-site-root .aivr-site-honeypot {
  position: absolute !important; width: 1px !important; height: 1px !important;
  left: -10000px !important; overflow: hidden !important;
}
#aivr-site-root [hidden] { display: none !important; }
#aivr-site-root .aivr-site-connecting {
  margin: 20px 0 0 !important; color: var(--aivr-muted) !important;
  -webkit-text-fill-color: var(--aivr-muted) !important; font-size: 13px !important;
}
#aivr-site-root .aivr-site-session-alert {
  margin: 22px 0 0 !important; padding: 16px 18px !important;
  border: 1px solid #fecaca !important; border-radius: 12px !important; background: #fff7f7 !important;
}
#aivr-site-root .aivr-site-session-alert p {
  margin: 0 0 12px !important; color: #a72234 !important; -webkit-text-fill-color: #a72234 !important;
  font-size: 14px !important; line-height: 1.55 !important;
}
#aivr-site-root button.aivr-site-retry {
  display: inline-flex !important; width: auto !important; min-height: 39px !important;
  padding: 8px 15px !important; border: 1px solid #d2b4e4 !important;
  border-radius: 9px !important; background: #fff !important;
  color: #7025a1 !important; -webkit-text-fill-color: #7025a1 !important;
  font-size: 13px !important; font-weight: 700 !important; text-transform: none !important; cursor: pointer !important;
}
#aivr-site-root button.aivr-site-submit {
  position: relative !important; display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 11px !important; width: 100% !important;
  height: 56px !important; min-height: 56px !important; margin: 29px 0 0 !important;
  padding: 0 22px !important; border: 0 !important; border-radius: 13px !important;
  background: linear-gradient(105deg,var(--aivr-accent),var(--aivr-violet)) !important;
  color: #fff !important; -webkit-text-fill-color: #fff !important;
  font-size: 16px !important; font-weight: 700 !important; line-height: 1.4 !important;
  text-transform: none !important; letter-spacing: .01em !important;
  box-shadow: 0 12px 25px rgba(156,39,197,.17) !important; cursor: pointer !important;
  transition: transform .18s,box-shadow .18s,opacity .18s !important;
}
#aivr-site-root .aivr-site-submit span { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#aivr-site-root button.aivr-site-submit:hover:not(:disabled) {
  transform: translateY(-2px) !important; box-shadow: 0 16px 30px rgba(156,39,197,.23) !important;
}
#aivr-site-root button.aivr-site-submit:disabled { opacity: .55 !important; cursor: not-allowed !important; box-shadow: none !important; }
#aivr-site-root .aivr-site-btn-arrow { font-size: 20px !important; }
#aivr-site-root .aivr-site-submit.is-loading .aivr-site-btn-arrow,
#aivr-site-root .aivr-site-submit.is-loading .aivr-site-btn-label { opacity: 0 !important; }
#aivr-site-root .aivr-site-submit.is-loading::after {
  content: ''; position: absolute; left: 50%; top: 50%; width: 20px; height: 20px;
  border: 2px solid #fff; border-right-color: transparent; border-radius: 50%;
  transform: translate(-50%,-50%); animation: aivr-site-spin .8s linear infinite;
}
@keyframes aivr-site-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
#aivr-site-root .aivr-site-message {
  margin: 12px 0 0 !important; color: #b4233d !important;
  -webkit-text-fill-color: #b4233d !important; font-size: 14px !important;
  line-height: 1.6 !important; text-align: center !important;
}
#aivr-site-root .aivr-site-message:empty { display: none !important; }
#aivr-site-root .aivr-site-success { padding: 57px 32px !important; text-align: center !important; }
#aivr-site-root .aivr-site-success-icon {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 68px !important; height: 68px !important; margin-bottom: 24px !important;
  border-radius: 50% !important; background: #e5f7ee !important;
  color: #138750 !important; -webkit-text-fill-color: #138750 !important;
  font-size: 34px !important; font-weight: 800 !important;
}
#aivr-site-root .aivr-site-success-icon svg {
  width: 34px !important; height: 34px !important;
  fill: none !important; stroke: currentColor !important; stroke-width: 1.8 !important;
  stroke-linecap: round !important; stroke-linejoin: round !important;
}
#aivr-site-root .aivr-site-success p {
  margin: 10px 0 0 !important; color: var(--aivr-muted) !important;
  -webkit-text-fill-color: var(--aivr-muted) !important;
  font-size: 16px !important; line-height: 1.7 !important;
}
#aivr-site-root .aivr-site-success .aivr-site-success-note { font-size: 14px !important; }
@media (max-width:640px) {
  #aivr-site-root { padding: 20px 12px 36px !important; }
  #aivr-site-root .aivr-site-card { border-radius: 18px !important; }
  #aivr-site-root .aivr-site-head { padding: 27px 22px 23px !important; }
  #aivr-site-root .aivr-site-content { padding: 26px 22px 30px !important; }
  #aivr-site-root .aivr-site-grid { grid-template-columns: minmax(0,1fr) !important; gap: 20px !important; }
  #aivr-site-root .aivr-site-head h2 { font-size: 29px !important; }
  #aivr-site-root .aivr-site-brand { margin-bottom: 17px !important; }
  #aivr-site-root .aivr-site-field label { font-size: 14px !important; }
}
@media (prefers-reduced-motion:reduce) {
  #aivr-site-root * { transition: none !important; animation-duration: .001ms !important; scroll-behavior: auto !important; }
}
