.gm-widget *,
.gm-popup
*{box-sizing:border-box;margin:0;padding:0;font-family:'DM Sans',system-ui,sans-serif}.gm-widget{position:fixed;bottom:24px;right:24px;z-index:9998;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.gm-widget-bubble{background:#fff;color:#1a1a1a;font-size: .85rem;line-height:1.4;padding: .65rem 1rem;border-radius:16px 16px 4px 16px;box-shadow:0 4px 20px rgba(0,0,0,.14);max-width:220px;opacity:0;transform:translateY(6px) scale(.95);transition:opacity .3s ease, transform .3s ease;pointer-events:none;display:flex;align-items:flex-start;gap:8px;cursor:pointer}.gm-widget-bubble.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.gm-bubble-text{flex:1}.gm-bubble-close{flex-shrink:0;background:none;border:none;color:#bbb;font-size: .65rem;line-height:1;cursor:pointer;padding:2px
0 0;transition:color .2s}.gm-bubble-close:hover{color:#555}.gm-widget-btn{position:relative;width:62px;height:62px;border-radius:50%;overflow:visible;cursor:pointer;border:none;background:none;padding:0;flex-shrink:0}.gm-widget-btn
img{width:62px;height:62px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 4px 18px rgba(0,0,0,.22);transition:transform .2s ease}.gm-widget-btn:hover
img{transform:scale(1.06)}.gm-widget-badge{position:absolute;top:-2px;right:-2px;width:20px;height:20px;background:#ef4444;color:#fff;border-radius:50%;border:2px
solid #fff;font-size:11px;font-weight:700;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif;will-change:transform}.gm-widget-badge.pulsing{animation:gm-badge-pulse 2s ease infinite}@keyframes gm-badge-pulse{0%,35%,100%{transform:scale(1)}10%{transform:scale(1.55)}20%{transform:scale(1.2)}}.gm-widget-online{position:absolute;bottom:2px;right:2px;width:14px;height:14px;background:#22c55e;border-radius:50%;border:2px
solid #fff;animation:gm-pulse 2s infinite}@keyframes gm-pulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}.gm-popup{position:fixed;bottom:100px;right:24px;width:360px;max-height:580px;background:#fff;border-radius:16px;box-shadow:0 12px 48px rgba(0,0,0,.18);display:flex;flex-direction:column;z-index:9999;overflow:hidden;opacity:0;transform:translateY(16px) scale(.97);pointer-events:none;transition:opacity .25s ease, transform .25s ease}.gm-popup.open{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.gm-popup-header{background:#1B3A6B;padding:14px
16px;display:flex;align-items:center;gap:12px;flex-shrink:0}.gm-popup-header
img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px
solid rgba(255,255,255,.3);flex-shrink:0}.gm-popup-header-info{flex:1}.gm-popup-header-name{font-size: .88rem;font-weight:600;color:#fff;line-height:1.2}.gm-popup-header-status{font-size: .72rem;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:5px;margin-top:2px}.gm-popup-header-status::before{content:'';width:7px;height:7px;background:#22c55e;border-radius:50%;flex-shrink:0}.gm-popup-close{background:rgba(255,255,255,.15);border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s;font-size:16px;line-height:1}.gm-popup-close:hover{background:rgba(255,255,255,.28)}.gm-popup-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.gm-popup-messages::-webkit-scrollbar{width:4px}.gm-popup-messages::-webkit-scrollbar-track{background:transparent}.gm-popup-messages::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:4px}.gm-msg{max-width:82%;font-size: .84rem;line-height:1.5;padding: .6rem .9rem;border-radius:16px;animation:gm-fadein .2s ease}@keyframes gm-fadein{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gm-msg-bot{background:#F0F0F0;color:#1a1a1a;align-self:flex-start;border-bottom-left-radius:4px}.gm-msg-user{background:#1B3A6B;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.gm-typing{display:flex;align-items:center;gap:4px;background:#F0F0F0;padding: .65rem .9rem;border-radius:16px;border-bottom-left-radius:4px;align-self:flex-start;width:fit-content}.gm-typing
span{width:7px;height:7px;background:#999;border-radius:50%;animation:gm-bounce .9s infinite}.gm-typing span:nth-child(2){animation-delay: .15s}.gm-typing span:nth-child(3){animation-delay: .30s}@keyframes gm-bounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}.gm-options{display:flex;flex-direction:column;gap:7px;padding:4px
16px 12px;flex-shrink:0}.gm-option-btn{background:#1B3A6B;color:#fff;border:none;border-radius:24px;padding: .6rem 1.1rem;font-size: .82rem;font-weight:500;cursor:pointer;text-align:left;transition:background .2s, transform .15s;line-height:1.4}.gm-option-btn:hover{background:#254d93;transform:translateX(2px)}.gm-input-wrap{display:flex;align-items:center;gap:8px;padding:10px
12px;border-top:1px solid #ebebeb;flex-shrink:0}.gm-input{flex:1;border:1px
solid #ddd;border-radius:24px;padding: .55rem 1rem;font-size: .84rem;outline:none;transition:border-color .2s;background:#f8f8f8;color:#1a1a1a}.gm-input:focus{border-color:#1B3A6B;background:#fff}.gm-input.gm-input-error{border-color:#ef4444;animation:gm-shake .3s ease}.gm-input-hint{font-size: .75rem;color:#ef4444;padding:0
16px 8px;display:none}@keyframes gm-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.gm-input-send{width:36px;height:36px;background:#1B3A6B;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s, transform .15s}.gm-input-send:hover{background:#254d93;transform:scale(1.05)}.gm-input-send
svg{width:16px;height:16px;fill:#fff}.gm-popup-footer{text-align:center;font-size: .67rem;color:#bbb;padding:6px
16px 10px;flex-shrink:0;border-top:1px solid #f0f0f0}@media (max-width: 480px){.gm-widget{bottom:16px;right:16px}.gm-popup{right:0;bottom:0;width:100vw;max-height:92dvh;border-radius:20px 20px 0 0}.gm-widget-bubble{max-width:190px;font-size: .8rem}}