.chat-widget-bubble{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:9999;box-shadow:0 4px 16px #a78bfa59,0 0 #a78bfa66;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;animation:bubbleEntrance .6s cubic-bezier(.34,1.56,.64,1) both}.chat-widget-bubble:before{content:"";position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0%,#A78BFA 25%,#2DD4BF 50%,#E2725B 75%,transparent 100%);animation:ringRotate 4s linear infinite;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));opacity:.7;transition:opacity .3s ease}.chat-widget-bubble:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid rgba(167,139,250,.25);animation:pulseRing 3s ease-in-out infinite}.chat-widget-bubble:hover{transform:scale(1.1);box-shadow:0 8px 28px #a78bfa73,0 0 20px #a78bfa33}.chat-widget-bubble:hover:before{opacity:1;animation-duration:2s}.chat-widget-bubble .bubble-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;animation:iconFloat 3s ease-in-out infinite}.chat-widget-bubble .unread-badge{position:absolute;top:0;right:0;width:12px;height:12px;border-radius:50%;background:var(--secondary);display:none;z-index:2;border:2px solid #fff;animation:badgePop .3s cubic-bezier(.34,1.56,.64,1)}.chat-widget-bubble .unread-badge.visible{display:block}@keyframes bubbleEntrance{0%{transform:scale(0) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes ringRotate{to{transform:rotate(360deg)}}@keyframes pulseRing{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.15);opacity:0}}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes badgePop{0%{transform:scale(0)}to{transform:scale(1)}}.chat-widget-panel{position:fixed;bottom:90px;right:24px;width:380px;max-height:520px;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:0 12px 40px #00000026;display:flex;flex-direction:column;z-index:9998;overflow:hidden;transition:transform .25s ease,opacity .25s ease;transform:translateY(0);opacity:1}.chat-widget-panel.hidden{transform:translateY(20px);opacity:0;pointer-events:none}.chat-widget-header{background:linear-gradient(135deg,#a78bfa,#9061f9);color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-shrink:0}.chat-widget-header-left{display:flex;align-items:center;gap:10px}.chat-header-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;animation:chatAvatarPulse 3s ease-in-out infinite;box-shadow:0 0 0 2px #ffffff4d}@keyframes chatAvatarPulse{0%,to{box-shadow:0 0 0 2px #ffffff4d}50%{box-shadow:0 0 0 4px #ffffff26}}.chat-widget-header-info{display:flex;flex-direction:column}.chat-widget-header-title{font-size:15px;font-weight:600;font-family:Outfit,sans-serif;line-height:1.2}.chat-widget-header-status{font-size:11px;opacity:.85;font-family:Outfit,sans-serif}.chat-widget-header-close{background:none;border:none;color:#fff;cursor:pointer;font-size:20px;line-height:1;padding:4px;opacity:.8;transition:opacity .15s ease}.chat-widget-header-close:hover{opacity:1}.chat-widget-messages{flex:1 1 auto;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;min-height:0}.chat-msg-wrapper{display:flex;flex-direction:column}.chat-msg-wrapper-visitor{align-items:flex-end}.chat-msg-wrapper-other{align-items:flex-start}.chat-msg{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;font-family:Outfit,sans-serif}.chat-msg.visitor{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-msg.ai{background:#f3f4f6;color:var(--text-main);border-bottom-left-radius:4px}.chat-msg.human{background:#e8f5e9;color:var(--text-main);border-bottom-left-radius:4px}.chat-msg table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12px}.chat-msg th,.chat-msg td{padding:4px 8px;text-align:left;border-bottom:1px solid rgba(0,0,0,.08)}.chat-msg th{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted)}.chat-msg ul,.chat-msg ol{margin:4px 0;padding-left:18px}.chat-msg li{margin:2px 0}.chat-msg a{color:inherit;text-decoration:underline;text-underline-offset:2px}.chat-msg a:hover{opacity:.8}.chat-msg.visitor a{color:#fff}.chat-msg.system{background:transparent;color:var(--text-muted);font-size:12px;text-align:center;align-self:center;padding:4px 10px}.chat-msg-row{display:flex;align-items:flex-end;gap:6px}.chat-msg-avatar{width:20px;height:20px;border-radius:50%;flex-shrink:0;margin-bottom:2px}.chat-msg-author{font-size:11px;color:var(--text-muted);margin-bottom:2px;font-weight:500}.chat-widget-typing{align-self:flex-start;display:flex;gap:4px;padding:10px 14px;background:#f3f4f6;border-radius:16px}.chat-widget-typing .dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:chatBounce 1.4s ease-in-out infinite}.chat-widget-typing .dot:nth-child(2){animation-delay:.2s}.chat-widget-typing .dot:nth-child(3){animation-delay:.4s}@keyframes chatBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.chat-widget-input{display:flex;align-items:center;border-top:1px solid #E5E7EB;padding:12px;flex-shrink:0;gap:8px}.chat-widget-input input{flex:1;border:none;outline:none;font-size:14px;font-family:Outfit,sans-serif;color:var(--text-main);background:transparent;padding:6px 4px}.chat-widget-input input::placeholder{color:var(--text-muted)}.chat-send-btn{background:none;color:var(--primary);border:none;padding:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s ease,transform .15s ease;flex-shrink:0}.chat-send-btn:hover{color:var(--primary-hover);transform:scale(1.15)}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.chat-escalation-form{padding:12px 14px;background:#fafafa;border-radius:12px;display:flex;flex-direction:column;gap:8px;align-self:flex-start;max-width:85%}.chat-escalation-form label{font-size:12px;color:var(--text-muted);font-weight:500}.chat-escalation-form input{border:1px solid #E5E7EB;border-radius:8px;padding:8px 10px;font-size:13px;font-family:Outfit,sans-serif;outline:none;color:var(--text-main);width:100%;transition:border-color .15s ease}.chat-escalation-form input:focus{border-color:var(--primary)}.chat-escalation-form button{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;font-family:Outfit,sans-serif;cursor:pointer;transition:background .15s ease;margin-top:4px}.chat-escalation-form button:hover{background:var(--primary-hover)}.chat-widget-messages::-webkit-scrollbar{width:4px}.chat-widget-messages::-webkit-scrollbar-track{background:transparent}.chat-widget-messages::-webkit-scrollbar-thumb{background:#a78bfa4d;border-radius:2px}.chat-emoji{display:inline-block;font-size:1.2em;line-height:1;vertical-align:middle;animation:emojiPop .4s cubic-bezier(.36,1.5,.6,1) forwards}.chat-emoji.wave{animation:emojiWave 1s ease-in-out;transform-origin:70% 70%}.chat-emoji.bounce{animation:emojiBounce .6s ease-in-out}.chat-emoji.pulse{animation:emojiPulse 1s ease-in-out}@keyframes emojiPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}@keyframes emojiWave{0%,to{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(14deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(10deg)}}@keyframes emojiBounce{0%,to{transform:translateY(0)}30%{transform:translateY(-6px)}60%{transform:translateY(-3px)}}@keyframes emojiPulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}@media(max-width:480px){.chat-widget-panel{width:100vw;height:100vh;max-height:100vh;bottom:0;right:0;border-radius:0}.chat-widget-header{border-radius:0}}
