.vg-chat-btn { position: fixed; right: 20px; bottom: 20px; width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,#ff6b6b,#ff9f43); box-shadow:0 8px 20px rgba(0,0,0,.2); display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:99998 }
.vg-chat-btn svg{width:34px;height:34px;fill:white}
.vg-chat-panel { position: fixed; right: 20px; bottom: 100px; width: 360px; max-width:calc(100% - 40px); height: 520px; max-height:80vh; background: #fff; border-radius:14px; box-shadow:0 18px 50px rgba(0,0,0,.25); overflow:hidden; display:flex; flex-direction:column; z-index:99999; transform:translateY(20px) scale(.98); opacity:0; pointer-events:none; transition:all .22s ease-in-out; }
.vg-chat-panel.open{ transform:translateY(0) scale(1); opacity:1; pointer-events:auto; }
.vg-header{ padding:14px 16px; background:linear-gradient(90deg,#2d8659,#2bb673); color:#fff; display:flex; gap:12px; align-items:center; }
.vg-header .avatar{ width:46px; height:46px; border-radius:10px; background-size:cover; background-position:center; flex-shrink:0; background-color:#fff}
.vg-header .meta{ flex:1 }
.vg-header .meta h4{ margin:0; font-size:15px }
.vg-header .meta small{ opacity:.9; font-size:12px }
.vg-header .close{ cursor:pointer; padding:6px; }
.vg-messages{ padding:12px; background: linear-gradient(#fbfbfb,#fff); flex:1; overflow:auto; display:flex; flex-direction:column; gap:8px }
.vg-msg{ max-width:78%; padding:10px 12px; border-radius:12px; font-size:14px; line-height:1.3; }
.vg-msg.host{ align-self:flex-start; background:#f1f1f1; color:#111 }
.vg-msg.user{ align-self:flex-end; background:linear-gradient(90deg,#ff9f43,#ff6b6b); color:#fff }
.vg-input{ display:flex; gap:8px; padding:12px; border-top:1px solid #eee }
.vg-input input{ flex:1; padding:10px 12px; border-radius:10px; border:1px solid #ddd; font-size:14px }
.vg-input button{ background:#2d8659; color:#fff; border:none; padding:10px 14px; border-radius:10px; cursor:pointer }
.vg-quick{ display:flex; gap:8px; padding:12px; border-top:1px solid #f2f2f2; background:#fafafa }
.vg-quick a{ flex:1; text-decoration:none; display:inline-flex; gap:8px; align-items:center; justify-content:center; padding:8px; border-radius:10px; border:1px solid #e6e6e6; font-size:13px }
@media (max-width:480px){ .vg-chat-panel{ right:12px; left:12px; width:auto; bottom:90px } }