
/* Floating Assistant */
#va-fab {
  position: fixed; right: 16px; bottom: 16px; z-index: 1000;
  width: 60px; height: 60px; border-radius: 50%;
  border: none; background: #2563eb; color: #fff; font-weight: 800;
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
}
#va-fab:active { transform: scale(.98) }
#va-panel {
  position: fixed; right: 16px; bottom: 86px; z-index: 1000;
  width: min(420px, 92vw); max-height: 70vh;
  background: #0f0f10; color: #fff; border-radius: 14px;
  box-shadow: 0 20px 40px rgba(0,0,0,.35); display: none; overflow: hidden;
}
#va-panel.open { display: flex; flex-direction: column; }
#va-header { display:flex; align-items:center; justify-content:space-between; padding: 12px 14px; border-bottom: 1px solid #222; }
#va-header .title { font-weight: 800 }
#va-body { padding: 12px 14px; overflow-y: auto; }
#va-input { display:flex; gap:8px; border-top:1px solid #222; padding: 10px 12px; background:#111; }
#va-input input { flex:1; padding:.7rem .8rem; border-radius:10px; border:1px solid #333; background:#0f0f10; color:#fff; }
#va-input button { padding:.7rem 1rem; border-radius:10px; border:1px solid #2563eb; background:#2563eb; color:#fff; }
.va-msg { margin: 8px 0; display:flex; gap:8px }
.va-msg .bubble { padding: 10px 12px; border-radius: 12px; max-width: 85%; line-height:1.35 }
.va-msg.user { justify-content: flex-end; }
.va-msg.user .bubble { background:#2563eb; color:#fff; border-top-right-radius: 4px; }
.va-msg.bot .bubble { background:#1a1a1a; color:#fff; border-top-left-radius: 4px; }
.va-choices { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px }
.va-choices button {
  background:#1f2937; color:#fff; border:1px solid #30363d; border-radius:999px;
  padding:6px 10px; font-size:.9rem;
}
.va-kv { display:grid; grid-template-columns: 1fr 2fr; gap:6px; font-size:.95rem; }
.va-kv div { padding:2px 0 }
.va-small { font-size:.85rem; opacity:.8 }
.va-green { color:#22c55e }
.va-red { color:#ef4444 }
