:root{ --gv-navy:#0e2c47; --gv-blue:#1786c9; --gv-blue-d:#1166a3; --gv-gold:#c8941f; }
.gv-chat-launcher{position:fixed;right:22px;bottom:22px;z-index:9998;width:60px;height:60px;border:none;border-radius:50%;
  background:linear-gradient(135deg,var(--gv-blue),var(--gv-navy));color:#fff;cursor:pointer;box-shadow:0 12px 30px rgba(14,44,71,.35);
  display:flex;align-items:center;justify-content:center;transition:transform .2s}
.gv-chat-launcher:hover{transform:translateY(-2px) scale(1.04)}
.gv-chat-launcher svg{width:28px;height:28px;fill:#fff}
.gv-chat-launcher::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--gv-gold);opacity:0;animation:gv-pulse 2.6s infinite}
@keyframes gv-pulse{0%{opacity:.5;transform:scale(1)}70%{opacity:0;transform:scale(1.25)}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.gv-chat-launcher::after{animation:none}.gv-chat-launcher{transition:none}}

.gv-chat-panel{position:fixed;right:22px;bottom:94px;z-index:9999;width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 120px);
  background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(14,44,71,.28);display:none;flex-direction:column;overflow:hidden;
  font-family:'Inter',system-ui,-apple-system,sans-serif}
.gv-chat-open .gv-chat-panel{display:flex}
.gv-chat-header{background:linear-gradient(135deg,var(--gv-navy),#16456c);color:#fff;padding:16px 18px;display:flex;align-items:center;gap:10px}
.gv-chat-header img{height:26px;width:auto}
.gv-chat-header .gv-title{font-weight:600;font-size:15px;line-height:1.1}
.gv-chat-header .gv-sub{font-size:12px;opacity:.8}
.gv-chat-header .gv-dot{width:8px;height:8px;border-radius:50%;background:#34d399;margin-left:2px}
.gv-chat-header .gv-close{margin-left:auto;background:none;border:none;color:#fff;font-size:22px;cursor:pointer;line-height:1}
.gv-chat-body{flex:1;overflow-y:auto;padding:16px;background:#f6f9fc;display:flex;flex-direction:column;gap:10px}
.gv-msg{max-width:80%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.4;white-space:pre-wrap}
.gv-msg.bot{background:#fff;border:1px solid #e6edf3;color:#1f2a37;align-self:flex-start;border-bottom-left-radius:4px}
.gv-msg.user{background:linear-gradient(135deg,var(--gv-blue),var(--gv-blue-d));color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.gv-typing{align-self:flex-start;display:flex;gap:4px;padding:10px 13px;background:#fff;border:1px solid #e6edf3;border-radius:14px}
.gv-typing span{width:7px;height:7px;border-radius:50%;background:#9fb3c4;animation:gv-blink 1.2s infinite}
.gv-typing span:nth-child(2){animation-delay:.2s}.gv-typing span:nth-child(3){animation-delay:.4s}
@keyframes gv-blink{0%,60%,100%{opacity:.3}30%{opacity:1}}
.gv-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 8px;background:#f6f9fc}
.gv-chip{border:1px solid #cdd9e3;background:#fff;color:var(--gv-navy);border-radius:999px;padding:7px 12px;font-size:13px;cursor:pointer}
.gv-chip:hover{border-color:var(--gv-blue);color:var(--gv-blue)}
.gv-input{display:flex;border-top:1px solid #e6edf3;padding:10px;gap:8px;background:#fff}
.gv-input input{flex:1;border:1px solid #cdd9e3;border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit}
.gv-input button{border:none;background:linear-gradient(135deg,var(--gv-blue),var(--gv-navy));color:#fff;border-radius:10px;padding:0 14px;cursor:pointer}
.gv-card{margin:6px 16px 12px;padding:14px;background:#fff;border:1px solid #e6edf3;border-radius:14px;display:flex;flex-direction:column;gap:8px}
.gv-card h4{margin:0;color:var(--gv-navy);font-size:14px}
.gv-card input{border:1px solid #cdd9e3;border-radius:10px;padding:9px 11px;font-size:14px;font-family:inherit}
.gv-card button{border:none;background:var(--gv-gold);color:#1f2a37;font-weight:600;border-radius:10px;padding:10px;cursor:pointer}
.gv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:560px){.gv-chat-panel{right:0;bottom:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}}
