.gmingo-bank-verification {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin-top: .75rem;
  padding: .9rem 1rem;
  border: 1px solid;
  border-radius: 1rem;
  font-size: .875rem;
  line-height: 1.45;
  animation: gmingo-bank-verify-in .28s ease-out both;
}

.gmingo-bank-verification[hidden] { display: none !important; }
.gmingo-bank-verification.is-verified { background: #ecfdf5; border-color: #a7f3d0; color: #065f46; }
.gmingo-bank-verification.is-loading { background: #f8fafc; border-color: #cbd5e1; color: #475569; }
.gmingo-bank-verification.is-manual { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
.gmingo-bank-verification.is-error { background: #fff1f2; border-color: #fecdd3; color: #be123c; }

.gmingo-bank-verify-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: rgba(255,255,255,.8);
  font-weight: 800;
  box-shadow: 0 3px 10px rgba(15,23,42,.08);
}

.gmingo-bank-verification strong { display: block; font-weight: 750; }
.gmingo-bank-verification p,
.gmingo-bank-verification small { display: block; margin-top: .15rem; opacity: .82; }
.gmingo-bank-verification dl { display: grid; gap: .35rem; margin-top: .55rem; }
.gmingo-bank-verification dl div { display: grid; grid-template-columns: minmax(7rem, .75fr) minmax(10rem, 1.25fr); gap: .75rem; }
.gmingo-bank-verification dt { color: #64748b; font-size: .75rem; }
.gmingo-bank-verification dd { margin: 0; color: #0f172a; font-weight: 650; }
.gmingo-bank-verification .gmingo-bank-verified-label { color: #047857; }

.gmingo-bank-verify-loading { display: flex; gap: .25rem; align-items: center; min-height: 2rem; }
.gmingo-bank-verify-loading span {
  width: .45rem;
  height: .45rem;
  border-radius: 50%;
  background: #2c64d3;
  animation: gmingo-bank-dot 1s ease-in-out infinite;
}
.gmingo-bank-verify-loading span + span { animation-delay: .16s; }

@keyframes gmingo-bank-dot { 0%,100% { opacity:.35; transform:translateY(0); } 50% { opacity:1; transform:translateY(-3px); } }
@keyframes gmingo-bank-verify-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }

@media (max-width: 540px) {
  .gmingo-bank-verification dl div { grid-template-columns: 1fr; gap: .05rem; }
}

@media (prefers-reduced-motion: reduce) {
  .gmingo-bank-verification,
  .gmingo-bank-verify-loading span { animation: none !important; }
}
