#gbh-chat{--gbh-cyan:#00b8d9;--gbh-blue:#101f38;--gbh-navy:#0b172b;--gbh-text:#182b40;--gbh-muted:#607587;--gbh-line:#d8eaf0;--gbh-soft:#f0f9fc;font-family:inherit;font-size:14px;line-height:1.6;color:var(--gbh-text);position:fixed;right:24px;bottom:24px;z-index:9999}
#gbh-chat *{box-sizing:border-box}
#gbh-chat [hidden]{display:none!important}
#gbh-chat button,#gbh-chat textarea{font-family:inherit}
#gbh-chat button{cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
#gbh-chat-launch{display:flex;align-items:center;gap:10px;border:0;background:var(--gbh-cyan);color:var(--gbh-navy);padding:15px 25px;border-radius:40px;font-size:15px;font-weight:600;box-shadow:var(--gbh-shadow)}
#gbh-chat-launch i{font-size:21px}
#gbh-chat-launch:hover{background:#00a9c8;box-shadow:0 8px 28px rgba(0,184,217,.25)}
#gbh-chat-badge{background:var(--gbh-navy);color:#fff;border-radius:12px;padding:1px 7px;font-size:11px}
#gbh-chat-panel{position:absolute;right:0;bottom:76px;width:400px;max-width:calc(100vw - 32px);height:570px;max-height:calc(100dvh - 120px);display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 18px 60px rgba(23,36,58,.22);border:1px solid var(--gbh-line)}
#gbh-chat header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(115deg,#00b8d9,#20c8df);color:var(--gbh-navy);padding:10px 18px;border-bottom:1px solid rgba(16,31,56,.08);flex-shrink:0}
#gbh-chat header strong{display:block;font-size:16px;line-height:1.4;font-weight:600;letter-spacing:-.2px}
#gbh-chat header small{display:block;font-size:10px;line-height:1.5;font-weight:500;opacity:.85;margin-top:1px;letter-spacing:.2px}
.gbh-chat-actions{display:flex;gap:5px}
.gbh-chat-actions button{background:transparent;border:0;color:var(--gbh-navy);width:36px;height:36px;border-radius:8px;font-size:15px}
.gbh-chat-actions button:hover{background:rgba(255,255,255,.25)}
#gbh-chat-scroll{overflow-y:auto;flex:1;min-height:0;padding:22px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gbh-line) transparent}
.gbh-chat-intro{background:var(--gbh-soft);border:1px solid var(--gbh-line);border-radius:3px 14px 14px 14px;padding:16px 18px;font-size:14px;line-height:1.8}
.gbh-chat-options{display:flex;flex-direction:column;align-items:flex-end;gap:10px;margin:20px 0 8px}
.gbh-chat-options button{background:#fff;border:1px solid var(--gbh-line);border-radius:24px;color:var(--gbh-blue);padding:10px 15px;font-size:12px;font-weight:500;max-width:100%;text-align:right}
.gbh-chat-options button:hover{background:var(--gbh-soft);border-color:var(--gbh-cyan)}
.gbh-chat-message{max-width:88%;padding:12px 15px;border-radius:3px 14px 14px 14px;margin:0 0 14px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--gbh-soft);font-size:13px}
.gbh-chat-message.visitor{margin-left:auto;background:#fff;color:var(--gbh-text);border:1px solid #e3e8ec;border-radius:14px 3px 14px 14px}
.gbh-chat-message small{display:block;opacity:.75;font-size:9px;margin-top:6px}
#gbh-chat-form{border-top:1px solid var(--gbh-line);padding:15px 20px 8px;flex-shrink:0}
#gbh-chat textarea{display:block;width:100%;border:0;padding:0;min-height:62px;max-height:120px;resize:none;background:#fff;color:var(--gbh-text);font-size:14px;line-height:1.7}
#gbh-chat textarea::placeholder{color:var(--gbh-muted)}
.gbh-chat-compose-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gbh-chat-compose-bottom span{font-size:10px;color:var(--gbh-muted)}
.gbh-chat-compose-bottom button{border:0;background:var(--gbh-cyan);color:var(--gbh-navy);border-radius:10px;width:38px;height:36px;font-size:16px}
.gbh-chat-compose-bottom button:hover{background:#00a9c8}
#gbh-chat button:disabled{opacity:.45;cursor:default}
#gbh-chat-status{font-size:11px;color:var(--gbh-text);margin:0;padding:0 20px}
#gbh-chat-status:empty{display:none}
#gbh-chat footer{text-align:center;font-size:9px;color:var(--gbh-muted);padding:9px 12px 12px}
#gbh-chat footer strong{font-weight:500;color:var(--gbh-blue)}
#gbh-chat-new{margin:10px 20px;padding:8px;border:1px solid var(--gbh-line);border-radius:8px;color:var(--gbh-blue);background:#fff}
.gbh-chat-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#gbh-chat :focus-visible{outline:2px solid var(--gbh-cyan);outline-offset:3px}
@media(max-width:480px){#gbh-chat{right:16px;bottom:16px}
#gbh-chat-panel{bottom:68px;max-height:calc(100dvh - 102px);width:calc(100vw - 32px)}
#gbh-chat header{padding:10px 16px}
#gbh-chat-scroll{padding:18px}
#gbh-chat header strong{font-size:16px}
}
@media(prefers-reduced-motion:reduce){#gbh-chat button{transition:none}
}


#gbh-chat-scroll{background:#fdfefe}
.gbh-chat-message.staff,.gbh-chat-intro{background:#f6f7f8;border:1px solid #e8ecef}
#gbh-chat-badge{min-width:22px;text-align:center;background:#fff;color:var(--gbh-navy);font-weight:700}

/* Stable launcher. Only the dots inside its speech bubble move. */
#gbh-chat-launch{position:relative;width:58px;height:58px;padding:0;justify-content:center;border-radius:50%;animation:none;transform:none}
.gbh-chat-icon{display:flex;align-items:center;justify-content:center;gap:4px;width:31px;height:25px;border:2px solid currentColor;border-radius:9px;position:relative}
.gbh-chat-icon:after{content:"";position:absolute;left:4px;bottom:-5px;width:7px;height:7px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;background:var(--gbh-cyan);transform:skewY(-30deg)}
.gbh-chat-icon span{width:4px;height:4px;border-radius:50%;background:currentColor;animation:gbh-dot-wave 1.8s ease-in-out infinite}
.gbh-chat-icon span:nth-child(2){animation-delay:.16s}.gbh-chat-icon span:nth-child(3){animation-delay:.32s}
@keyframes gbh-dot-wave{0%,55%,100%{transform:translate(0,0);opacity:.65}28%{transform:translate(1px,-3px);opacity:1}}
#gbh-chat-badge{position:absolute;top:-5px;right:-4px;background:#c92c3c;color:#fff;border:2px solid #fff;min-width:24px;height:24px;border-radius:20px;font-size:11px;line-height:20px;padding:0 4px}
#gbh-chat-notice{position:absolute;right:70px;bottom:14px;white-space:nowrap;background:#fff;border:1px solid var(--gbh-line);box-shadow:var(--gbh-shadow);padding:7px 12px;border-radius:9px;font-size:12px;font-weight:500}
#gbh-chat-panel{height:590px;max-height:calc(var(--chat-viewport,100dvh) - 108px);bottom:72px;animation:gbh-panel-open .18s ease-out}
@keyframes gbh-panel-open{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
#gbh-chat header{background:var(--gbh-cyan);padding:10px 12px;gap:9px}
#gbh-chat header img{object-fit:contain;background:#fff;border-radius:50%;padding:3px;flex-shrink:0}
.gbh-chat-heading{flex:1;min-width:0}#gbh-chat header strong{font-size:13px;letter-spacing:0}#gbh-chat header small{font-size:10px;line-height:1.6}
.gbh-chat-actions{gap:0}.gbh-chat-actions button{width:36px;height:40px;font-size:14px}
#gbh-chat-welcome h3{font-size:19px;line-height:1.5;font-weight:600;color:var(--gbh-navy);margin:4px 0 7px}
#gbh-chat-welcome p{font-size:13px;color:var(--gbh-muted);margin:0 0 20px}
.gbh-chat-services{display:grid;gap:10px}.gbh-chat-services button{display:flex;align-items:center;gap:13px;text-align:left;min-height:48px;border:1px solid var(--gbh-line);border-radius:11px;padding:12px 14px;background:white;color:var(--gbh-text);font-size:13px;font-weight:500}.gbh-chat-services i{color:#00768e;width:20px;text-align:center}.gbh-chat-services button:hover{background:var(--gbh-soft);border-color:var(--gbh-cyan)}
.gbh-chat-message.visitor{background:#fff;color:var(--gbh-text);border:1px solid #e3e8ec;margin-left:auto}
.gbh-chat-message.agent{background:#f5f7f8;border:1px solid #e5e9ed;color:var(--gbh-text)}
.gbh-chat-message.system{background:#fafbfc;border-left:2px solid #a5dce7;color:#465762;font-size:12px;max-width:94%}
.gbh-chat-message small{font-size:10px;opacity:1;color:#607587}.gbh-chat-message.system small{font-size:9px}
#gbh-chat-privacy{font-size:11px;line-height:1.6;color:var(--gbh-muted);padding:8px 18px;margin:0;background:#fafcfd}
#gbh-chat-typing{font-size:11px;padding:5px 18px;margin:0;color:var(--gbh-muted)}
#gbh-chat footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 14px 8px}
#gbh-chat footer button{background:none;border:0;color:#526875;font-size:10px;padding:8px 3px;min-height:34px}
#gbh-chat-new{margin:0}#gbh-chat-mute{margin-left:auto}
#gbh-chat-older,#gbh-chat-jump{border:1px solid var(--gbh-line);background:#fff;color:var(--gbh-blue);padding:8px 12px;border-radius:18px;font-size:11px;display:block;margin:0 auto 12px;min-height:36px}
#gbh-chat-jump{margin:4px auto}#gbh-chat-status{padding:4px 18px;color:#9b341d}
#gbh-chat-connection{font-size:10px}.gbh-chat-compose-bottom button{min-width:42px;min-height:42px}
@media(max-width:480px){#gbh-chat-launch{width:54px;height:54px}#gbh-chat{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}#gbh-chat-panel{bottom:66px;max-height:calc(var(--chat-viewport,100dvh) - 90px)}#gbh-chat header strong{font-size:12px}#gbh-chat-scroll{padding:15px}#gbh-chat textarea{font-size:16px;min-height:54px}#gbh-chat-form{padding:12px 14px 5px}}
@media(prefers-reduced-motion:reduce){.gbh-chat-icon span,#gbh-chat-panel{animation:none}}
