:root{
  --wv-bg:#0b0f14;
  --wv-panel:#0c1118;
  --wv-text:#e5e7eb;
  --wv-muted:#9ca3af;
  --wv-border:rgba(255,255,255,0.10);
  --wv-border-strong:#2b3544;
  --wv-shadow:0 6px 30px rgba(0,0,0,.35);
  /* Gold accent (matches WealthVille brand) */
  --wv-accent:#d4af37;
  --wv-accent-600:#c99b16;
  --wv-accent-700:#b88a0f;
  --wv-accent-300:#ead07a;
  --wv-accent-contrast:#111;
}

.wv-swap-wrap{
  max-width: 980px;
  margin: 28px auto;
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border: 1px solid var(--wv-border);
  box-shadow: var(--wv-shadow);
  color: var(--wv-text);
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;
}

.wv-row{display:flex;gap:16px;align-items:center;margin:12px 0}
.wv-col{flex:1}

label{display:block;font-size:13px;color:var(--wv-muted);margin-bottom:6px}

.wv-input,.wv-select{
  width:100%;padding:12px 14px;border-radius:12px;
  border:1px solid var(--wv-border-strong);
  background: var(--wv-bg); color: var(--wv-text);
  transition: border-color .2s, box-shadow .2s, transform .05s;
}
.wv-input:focus,.wv-select:focus{outline:none;border-color: var(--wv-accent); box-shadow:0 0 0 3px rgba(212,175,55,.25)}
.wv-input::placeholder{color:#64748b}

.wv-btn{
  padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.06);
  background: linear-gradient(180deg, var(--wv-accent-300), var(--wv-accent));
  color: var(--wv-accent-contrast);
  font-weight:600; letter-spacing:.2px;
  cursor:pointer; transition: transform .06s ease, filter .2s ease, box-shadow .2s ease;
  box-shadow: 0 6px 18px rgba(212,175,55,.25);
}
.wv-btn:hover{filter: brightness(1.05)}
.wv-btn:active{transform: translateY(1px)}
.wv-btn[disabled]{opacity:.55;cursor:not-allowed;filter:saturate(.5)}
/* Secondary button */
.wv-btn--secondary{
  background: #111827;color:#fff;border-color:#334155;box-shadow:none
}
.wv-btn--secondary:hover{filter:none;border-color:#3b4b63}

.wv-panel{
  margin-top:14px;padding:14px;border:1px solid var(--wv-border-strong);
  border-radius:14px;background: var(--wv-panel);
}

.wv-table{width:100%;border-collapse:collapse}
.wv-table th,.wv-table td{border-bottom:1px solid #1f2937;padding:10px 8px;font-size:14px}
.wv-table th{color:#cbd5e1;text-align:left}

.wv-status{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid #334155}

.wv-token-chip{
  display:flex;align-items:center;gap:10px;padding:8px 12px;
  border:1px solid #334155;border-radius:999px;background:#0f172a;width:max-content
}
.wv-token-chip img{width:18px;height:18px;border-radius:50%}
.wv-link{color:#8ab4ff;text-decoration:none}
.wv-link:hover{text-decoration:underline}

.wv-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px}
.wv-card{
  width:640px;max-height:75vh;background:#0b0f14;border:1px solid #334155;border-radius:16px;
  padding:14px;overflow:auto;box-shadow:var(--wv-shadow)
}
.wv-search{display:flex;gap:10px;margin-bottom:10px}
.wv-search input{flex:1}
.wv-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;border:1px solid transparent;cursor:pointer}
.wv-item:hover{border-color:#334155;background:#0f1624}
.wv-item img{width:24px;height:24px;border-radius:50%}

.wv-verified{font-size:12px;padding:2px 8px;border:1px solid #16a34a;border-radius:999px;color:#86efac;background:rgba(22,163,74,.08)}
.wv-warning{font-size:12px;padding:2px 8px;border:1px solid #f59e0b;border-radius:999px;color:#fde68a;background:rgba(245,158,11,.08)}

/* Suggestions dropdown */
.wv-suggest{
  position: relative;
}
.wv-suggest-list{
  position: absolute; left:0; right:0; top: calc(100% + 6px);
  background: #0b0f14; border: 1px solid #334155; border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  max-height: 260px; overflow:auto; z-index: 9999;
}
.wv-suggest-empty{padding:12px;color:#9ca3af}
.wv-suggest-item{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04)}
.wv-suggest-item:hover{background:#0f1624}
.wv-suggest-item img{width:22px;height:22px;border-radius:50%}
.wv-suggest-meta{margin-left:auto;display:flex;gap:8px;align-items:center}
