.cs-chat-widget{position:fixed;bottom:1.25rem;right:1.25rem;z-index:9999;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;color:#334155;-webkit-font-smoothing:antialiased}.cs-chat-bubble{width:3.5rem;height:3.5rem;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #00000029;transition:transform .2s ease,box-shadow .2s ease;color:#fff;padding:0;position:relative}.cs-chat-bubble:hover{transform:scale(1.08);box-shadow:0 6px 20px #00000038}.cs-chat-bubble:active{transform:scale(1.02)}.cs-chat-bubble:focus-visible{outline:2px solid currentColor;outline-offset:3px}.cs-chat-bubble svg{width:1.5rem;height:1.5rem;flex-shrink:0}.cs-chat-bubble .cs-icon-close,.cs-chat-bubble--open .cs-icon-chat{display:none}.cs-chat-bubble--open .cs-icon-close{display:block}.cs-chat-panel{position:absolute;bottom:4.5rem;right:0;width:400px;max-height:560px;background:#fff;border-radius:1rem;box-shadow:0 8px 30px #0000001f,0 2px 8px #0000000f;display:flex;flex-direction:column;overflow:hidden;transform:translateY(0);opacity:1;transition:opacity .2s ease,transform .2s ease}.cs-chat-panel--hidden{display:none;opacity:0;transform:translateY(10px)}.cs-chat-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;color:#fff;flex-shrink:0}.cs-chat-header-info{display:flex;flex-direction:column;gap:.125rem}.cs-chat-header-title{font-size:.9375rem;font-weight:600;margin:0;line-height:1.3;color:inherit}.cs-chat-header-subtitle{font-size:.75rem;opacity:.85;margin:0;line-height:1.3;color:inherit}.cs-chat-close-btn{background:transparent;border:none;color:#fff;cursor:pointer;padding:.25rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease;line-height:1}.cs-chat-close-btn:hover{background-color:#fff3}.cs-chat-close-btn:focus-visible{outline:2px solid #ffffff;outline-offset:1px}.cs-chat-close-btn svg{width:1.25rem;height:1.25rem}.cs-chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.625rem;min-height:280px;max-height:340px;scroll-behavior:smooth}.cs-chat-messages::-webkit-scrollbar{width:4px}.cs-chat-messages::-webkit-scrollbar-track{background:transparent}.cs-chat-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.cs-chat-message{max-width:85%;padding:.5rem .875rem;border-radius:1rem;font-size:.875rem;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;animation:cs-msg-in .2s ease}.cs-chat-message--user{align-self:flex-end;color:#fff;border-bottom-right-radius:.25rem}.cs-chat-message--assistant{align-self:flex-start;background-color:#f1f5f9;color:#334155;border-bottom-left-radius:.25rem}.cs-chat-typing{align-self:flex-start;background-color:#f1f5f9;border-radius:1rem;padding:.75rem 1rem;display:flex;gap:.3rem;align-items:center}.cs-chat-typing-dot{width:.375rem;height:.375rem;border-radius:50%;background-color:#94a3b8;animation:cs-bounce 1.4s infinite ease-in-out}.cs-chat-typing-dot:nth-child(2){animation-delay:.16s}.cs-chat-typing-dot:nth-child(3){animation-delay:.32s}.cs-chat-transfer{padding:.5rem 1rem;border-top:1px solid #e2e8f0;flex-shrink:0}.cs-chat-transfer-btn{width:100%;padding:.4375rem .75rem;background:transparent;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.8125rem;font-family:inherit;color:#64748b;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;text-align:center}.cs-chat-transfer-btn:hover{background-color:#f8fafc;color:#334155;border-color:#cbd5e1}.cs-chat-transfer-btn:disabled{opacity:.6;cursor:default;background-color:#f1f5f9}.cs-chat-transfer-btn:focus-visible{outline:2px solid var(--brand-primary, #3bb44c);outline-offset:1px}.cs-chat-input-area{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-top:1px solid #e2e8f0;flex-shrink:0;background:#fff}.cs-chat-input{flex:1;min-width:0;border:1px solid #e2e8f0;border-radius:1.5rem;padding:.5rem 1rem;font-size:.875rem;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease;background:#fff;color:#334155;box-sizing:border-box;width:auto}.cs-chat-input::placeholder{color:#94a3b8}.cs-chat-input:focus{border-color:var(--brand-primary, #3bb44c);box-shadow:0 0 0 2px #3bb44c1f}.cs-chat-send-btn{width:2.25rem;height:2.25rem;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:opacity .15s ease,transform .1s ease;flex-shrink:0;padding:0}.cs-chat-send-btn:hover:not(:disabled){opacity:.9;transform:scale(1.05)}.cs-chat-send-btn:active:not(:disabled){transform:scale(.95)}.cs-chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.cs-chat-send-btn:focus-visible{outline:2px solid var(--brand-primary, #3bb44c);outline-offset:2px}.cs-chat-send-btn svg{width:1rem;height:1rem}.cs-chat-mic-btn{width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid #d1d5db;cursor:pointer;display:flex;align-items:center;justify-content:center;background-color:#fff;color:#475569;transition:transform .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease;flex-shrink:0;padding:0}.cs-chat-mic-btn[hidden]{display:none}.cs-chat-mic-btn:hover:not(:disabled){background-color:#f8fafc;transform:scale(1.05)}.cs-chat-mic-btn:active:not(:disabled){transform:scale(.95)}.cs-chat-mic-btn:disabled{opacity:.4;cursor:not-allowed}.cs-chat-mic-btn:focus-visible{outline:2px solid var(--brand-primary, #3bb44c);outline-offset:2px}.cs-chat-mic-btn svg{width:1rem;height:1rem}.cs-chat-mic-btn .cs-chat-mic-icon-stop{display:none}.cs-chat-mic-btn[data-state=recording]{background-color:#dc2626;color:#fff;border-color:#dc2626;animation:cs-chat-mic-pulse 1.4s ease-in-out infinite}.cs-chat-mic-btn[data-state=recording] .cs-chat-mic-icon-mic{display:none}.cs-chat-mic-btn[data-state=recording] .cs-chat-mic-icon-stop{display:block}@keyframes cs-chat-mic-pulse{0%,to{box-shadow:0 0 #dc262680}50%{box-shadow:0 0 0 6px #dc262600}}.cs-chat-mic-helper{flex-basis:100%;order:99;margin:.25rem 0 0;font-size:.75rem;color:#64748b;min-height:1rem}.cs-chat-mic-helper:empty{display:none}.cs-chat-mic-helper[data-tone=error]{color:#dc2626}.cs-chat-error{text-align:center;padding:.5rem .75rem;font-size:.8125rem;color:#dc2626;background-color:#fef2f2;border-radius:.5rem;border:1px solid #fecaca}.cs-chat-rate-limit-toast{position:absolute;bottom:5rem;left:50%;transform:translate(-50%);background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:.5rem;padding:.625rem 1rem;font-size:.8125rem;line-height:1.4;box-shadow:0 4px 12px #0000001a;z-index:10000;text-align:center;max-width:320px;animation:cs-toast-in .25s ease}@keyframes cs-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.cs-chat-error-state{text-align:center;padding:.75rem 1rem;font-size:.8125rem;color:#991b1b;background-color:#fef2f2;border-radius:.5rem;border:1px solid #fecaca;margin-top:.25rem;animation:cs-msg-in .2s ease}.cs-chat-transfer-ack{text-align:center;padding:.625rem 1rem;font-size:.8125rem;color:#065f46;background-color:#ecfdf5;border-radius:.5rem;border:1px solid #a7f3d0;margin-top:.25rem;animation:cs-msg-in .2s ease}.cs-chat-char-limit-warning{margin:0;padding:.25rem 1rem;font-size:.75rem;color:#dc2626;background-color:#fef2f2;border-top:1px solid #fecaca}@keyframes cs-msg-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes cs-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}@media(max-width:639px){.cs-chat-widget{bottom:.75rem;right:.75rem}.cs-chat-panel{position:fixed;bottom:0;right:0;left:0;width:100%;max-height:85vh;max-height:85dvh;border-radius:1rem 1rem 0 0}.cs-chat-messages{max-height:calc(85vh - 200px);max-height:calc(85dvh - 200px)}}@media(prefers-reduced-motion:reduce){.cs-chat-bubble,.cs-chat-panel,.cs-chat-message,.cs-chat-send-btn,.cs-chat-mic-btn{transition:none}.cs-chat-mic-btn[data-state=recording],.cs-chat-message{animation:none}.cs-chat-typing-dot{animation:none;opacity:.6}}
