/* VoipHorizon website assistant */
#vhAsst{position:fixed; right:20px; bottom:20px; z-index:60; font-family:var(--sans)}
.va-fab{display:flex; align-items:center; gap:9px; border:0; cursor:pointer; padding:12px 16px 12px 13px; border-radius:999px;
  background:linear-gradient(135deg,var(--accent),var(--accent2)); color:#06101c; font-weight:800; font-size:14px;
  box-shadow:0 12px 30px rgba(122,162,255,.35)}
.va-fab svg{width:20px; height:20px}
.va-open .va-fab{display:none}
.va-panel{display:none; width:380px; height:min(600px, calc(100vh - 40px)); flex-direction:column; overflow:hidden;
  background:var(--bg1); border:1px solid rgba(122,162,255,.3); border-radius:18px; box-shadow:var(--shadow)}
.va-open .va-panel{display:flex}
.va-head{display:flex; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--border);
  background:linear-gradient(135deg,rgba(122,162,255,.12),rgba(94,234,212,.05))}
.va-dot{width:9px; height:9px; border-radius:50%; background:var(--ok); box-shadow:0 0 0 4px rgba(94,234,212,.15)}
.va-title{font-weight:800; font-size:14px; line-height:1.2}
.va-sub{font-size:11px; color:var(--muted2)}
.va-head .va-sp{flex:1}
.va-icon{background:none; border:0; color:var(--muted); cursor:pointer; padding:6px; border-radius:8px; font-size:12px}
.va-icon:hover{background:rgba(255,255,255,.06); color:var(--text)}
.va-list{flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:10px}
.va-msg{max-width:88%; padding:10px 12px; border-radius:14px; font-size:14px; line-height:1.55; overflow-wrap:anywhere}
.va-msg p{margin:0 0 6px} .va-msg p:last-child{margin:0}
.va-msg ul{margin:4px 0 6px; padding-left:18px} .va-msg li{margin:2px 0}
.va-msg a{color:var(--accent2); text-decoration:underline}
.va-bot{align-self:flex-start; background:var(--card); border:1px solid var(--border)}
.va-me{align-self:flex-end; background:rgba(122,162,255,.18); border:1px solid rgba(122,162,255,.3); white-space:pre-wrap}
.va-note{font-size:12.5px; color:var(--ok); border-color:rgba(94,234,212,.3)}
.va-err{color:#fca5a5; border-color:rgba(248,113,113,.35)}
.va-typing{display:flex; gap:4px; padding:13px 14px}
.va-typing span{width:6px; height:6px; border-radius:50%; background:var(--muted2); animation:vaDot 1s infinite}
.va-typing span:nth-child(2){animation-delay:.15s} .va-typing span:nth-child(3){animation-delay:.3s}
@keyframes vaDot{0%,80%,100%{opacity:.25; transform:translateY(0)} 40%{opacity:1; transform:translateY(-3px)}}
.va-chips{display:flex; flex-wrap:wrap; gap:6px; padding:0 14px 10px}
.va-chips button{font-size:12.5px; color:var(--text); background:rgba(255,255,255,.04); border:1px solid var(--border);
  border-radius:999px; padding:6px 10px; cursor:pointer; text-align:left}
.va-chips button:hover{border-color:rgba(122,162,255,.5)}
.va-form{display:flex; gap:8px; align-items:flex-end; padding:10px 12px; border-top:1px solid var(--border)}
.va-input{flex:1; resize:none; min-height:40px; max-height:120px; border-radius:12px; border:1px solid var(--border);
  background:var(--bg0); color:var(--text); padding:10px 12px; font:inherit; font-size:14px; line-height:1.4}
.va-input:focus{outline:none; border-color:rgba(122,162,255,.6)}
.va-send{border:0; border-radius:12px; height:40px; width:44px; cursor:pointer; background:var(--accent); color:#06101c; font-weight:900}
.va-send:disabled{opacity:.5; cursor:default}
.va-legal{font-size:10.5px; color:var(--muted2); padding:0 14px 10px; line-height:1.4}
@media (max-width:520px){
  #vhAsst{right:12px; bottom:12px}
  #vhAsst.va-open{inset:0}
  .va-open .va-panel{width:100vw; height:100dvh; border-radius:0; border:0}
  .va-fab .va-label{display:none}
  .va-fab{padding:13px}
}
@media (prefers-reduced-motion: reduce){ .va-typing span{animation:none; opacity:.6} }
/* pre-chat introduction */
.va-intro{display:flex; flex-direction:column; gap:10px; padding:16px; overflow:auto; flex:1}
.va-intro-lead{margin:0 0 4px; font-size:14px; color:var(--text); line-height:1.45}
.va-intro label{display:flex; flex-direction:column; gap:4px; font-size:12.5px; color:var(--muted2)}
.va-intro input:not([type=checkbox]){border-radius:10px; border:1px solid var(--border); background:var(--bg0); color:var(--text);
  padding:10px 12px; font:inherit; font-size:14px}
.va-intro input:focus{outline:none; border-color:rgba(122,162,255,.6)}
.va-intro .va-consent{flex-direction:row; align-items:flex-start; gap:8px; font-size:12px; line-height:1.4}
.va-intro .va-consent input{margin-top:2px; width:16px; height:16px; flex:none; accent-color:var(--accent)}
.va-intro-err{min-height:16px; font-size:12.5px; color:#ff8a8a}
.va-start{border:0; border-radius:12px; padding:11px; cursor:pointer; background:var(--accent); color:#06101c; font-weight:800; font-size:14px}
.va-start:disabled{opacity:.6; cursor:default}
.va-alt{font-size:12px; color:var(--muted2)}
.va-alt a, .va-legal a{color:var(--muted2); text-decoration:underline}
#vhAsst.va-needs-intro .va-list, #vhAsst.va-needs-intro .va-chips, #vhAsst.va-needs-intro .va-form{display:none}
#vhAsst:not(.va-needs-intro) .va-intro{display:none}
#vhAsst.va-needs-intro .va-forget{display:none}
