.cv-validator-wrapper { max-width:640px; margin:20px auto; }
.cv-form-field { display:flex; gap:8px; }
.cv-form-field input { flex:1; padding:10px; }
.cv-spinner-container { margin-top:10px; display:flex; justify-content:center; }
.cv-spinner { width:28px; height:28px; border:3px solid #e5e7eb; border-top-color:#111827; border-radius:50%; animation:cvspin .8s linear infinite; }
@keyframes cvspin { to { transform:rotate(360deg);} }

.cv-result-box { border:1px solid #e5e7eb; border-radius:10px; padding:12px; margin-top:12px; }
.cv-result-success { border-color:#16a34a; }
.cv-result-error { border-color:#ef4444; }
.cv-result-header { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.cv-icon-success { color:#16a34a; }
.cv-icon-error { color:#ef4444; }

/* Card that wraps the verify form on the public page */
.cv-validate-info {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 18px;
  margin: 20px auto;
  max-width: 760px;
  box-shadow: 0 8px 20px rgba(0,0,0,.04);
}
.cv-validate-info h2 { margin: 0 0 8px; }
.cv-validate-info p  { margin: 0 0 10px; color: #374151; }

#cv-validator-result { min-height: 12px; }