/* Auto-verify widget — shared across pastepanel.com platform signup AND every
   tenant signup. Namespaced under .pp-av to avoid collision with theme CSS.
   Source of truth: /static/vendor/auto-verify/widget.css */

.pp-av { display:flex; align-items:center; gap:8px; padding:6px;
  background:#f9fafb; border:1px solid #e5e7eb; border-radius:9px;
  position:relative; overflow:hidden; transition:all .3s ease; }
.pp-av.is-ok { background:linear-gradient(135deg,#f0fdf4,#ecfdf5);
  border-color:rgba(16,185,129,.35); }
.pp-av.is-fail { background:linear-gradient(135deg,#fef2f2,#fee2e2);
  border-color:rgba(239,68,68,.35); }

.pp-av__box { flex-shrink:0; width:36px; height:36px;
  border:1px solid #e5e7eb; border-radius:6px; background:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:14px; color:#fff; transition:all .3s ease;
  position:relative; overflow:hidden; }
.pp-av.is-loading .pp-av__box { border-color:transparent; background:transparent; }
.pp-av.is-ok      .pp-av__box { border-color:#10b981; background:#10b981;
  animation:pp-av-pop .35s cubic-bezier(.34,1.56,.64,1); }
.pp-av.is-fail    .pp-av__box { border-color:#ef4444; background:#ef4444; }
@keyframes pp-av-pop { 0%{transform:scale(.5)} 50%{transform:scale(1.15)}
  100%{transform:scale(1)} }

.pp-av__spin { position:absolute; inset:3px; border-radius:50%;
  background:conic-gradient(#0ea5e9 0deg, #0ea5e9 var(--pp-av-deg,0deg),
    rgba(14,165,233,.15) var(--pp-av-deg,0deg),
    rgba(14,165,233,.15) 360deg);
  animation:pp-av-fill 3s linear forwards; }
.pp-av__spin::after  { content:''; position:absolute; inset:3px;
  background:#fff; border-radius:50%; }
.pp-av__spin::before { content:''; position:absolute; top:50%; left:50%;
  width:5px; height:5px; background:#0ea5e9; border-radius:50%;
  transform:translate(-50%,-50%); z-index:2;
  animation:pp-av-pulse-dot 1.4s ease-in-out infinite; }
@keyframes pp-av-fill { from{--pp-av-deg:0deg} to{--pp-av-deg:360deg} }
@keyframes pp-av-pulse-dot {
  0%,100% { opacity:.4; transform:translate(-50%,-50%) scale(.8); }
  50%     { opacity:1;  transform:translate(-50%,-50%) scale(1.2); }
}
@property --pp-av-deg { syntax:'<angle>'; initial-value:0deg; inherits:false; }
.pp-av.is-ok .pp-av__spin, .pp-av.is-fail .pp-av__spin { display:none; }

.pp-av__check { opacity:0; transform:scale(.5); transition:all .3s ease;
  font-size:14px; }
.pp-av.is-ok .pp-av__check { opacity:1; transform:scale(1); }

.pp-av__text  { flex:1; min-width:0; }
.pp-av__label { font-size:13px; font-weight:600; color:#111827;
  line-height:1.2; letter-spacing:-.005em; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; }
.pp-av.is-ok   .pp-av__label { color:#059669; }
.pp-av.is-fail .pp-av__label { color:#dc2626; }
.pp-av__sub   { font-size:11px; color:#6b7280; margin-top:2px;
  line-height:1.3; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; }

.pp-av__brand { flex-shrink:0; display:flex; flex-direction:column;
  align-items:flex-end; gap:1px; color:#9ca3af; opacity:.7;
  padding-right:4px; }
@media(max-width:380px){ .pp-av__brand { display:none; } }
.pp-av__brand-name { font-size:10.5px; font-weight:700; letter-spacing:.02em; }
.pp-av__brand-tag  { font-size:8.5px; text-transform:uppercase;
  letter-spacing:.05em; }

.pp-av__challenge { margin-top:10px; animation:pp-av-slide-down .3s ease; }
.pp-av__hint      { margin:0 0 10px; font-size:12px; color:#6b7280; }
@keyframes pp-av-slide-down { from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)} }

.pp-av__cap-row { display:flex; align-items:center; gap:8px; }
.pp-av__cap-img { height:32px; flex-shrink:0; background:#fff;
  border:1px solid #e5e7eb; border-radius:4px; padding:2px 6px; }
.pp-av__cap-input { flex:1; min-width:0; height:36px; padding:0 12px;
  border:1px solid #e5e7eb; border-radius:6px; font-size:14px;
  font-weight:600; text-align:center; letter-spacing:.1em;
  font-family:'SF Mono',Menlo,monospace; outline:none; background:#fff; }
.pp-av__cap-input:focus { border-color:#0ea5e9;
  box-shadow:0 0 0 2px rgba(14,165,233,.15); }
