:host{position:fixed;bottom:24px;right:24px;z-index:999999;font-family:Inter,system-ui,-apple-system,sans-serif;color:#0f172a}*,::after,::before{box-sizing:border-box;margin:0;padding:0}.widgetContainer{position:relative;display:flex;flex-direction:column;align-items:flex-end}.floatingBtn{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#4f46e5);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.34, 1.56, .64, 1);color:#fff}.floatingBtn:hover{transform:scale(1.1)}.floatingBtn:active{transform:scale(.95)}.floatingBtn svg{width:30px;height:30px;fill:currentColor;transition:transform .3s}.popupWindow{position:absolute;bottom:76px;right:0;width:360px;height:520px;max-height:calc(100vh - 120px);max-width:calc(100vw - 48px);background:#fff;border:1px solid #cbd5e1;border-radius:20px;display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(20px) scale(.95);transition:opacity .3s,transform .3s cubic-bezier(.34, 1.56, .64, 1);transform-origin:bottom right}.popupWindow.active{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.popupHeader{background:linear-gradient(135deg,#4f46e5,#3730a3);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid #4338ca}.headerTitle{font-size:1rem;font-weight:700}.headerSubtitle{font-size:.75rem;color:#e0e7ff;margin-top:2px;display:flex;align-items:center;gap:6px}.statusDot{width:8px;height:8px;background:#10b981;border-radius:50%;display:inline-block}.btnClose{background:0 0;border:none;color:#fff;font-size:1.25rem;cursor:pointer;padding:4px;line-height:1;opacity:.8;transition:opacity .2s}.btnClose:hover{opacity:1}.messagesArea{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;background:#f8fafc;scroll-behavior:smooth}.chatBubble{max-width:82%;padding:10px 14px;border-radius:14px;font-size:.88rem;line-height:1.5;word-break:break-word}.bubbleUser{align-self:flex-end;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-bottom-right-radius:4px}.bubbleAi{align-self:flex-start;background:#fff;color:#0f172a;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.typingIndicator{align-self:flex-start;font-size:.8rem;color:#64748b;font-style:italic;padding:6px 12px;background:#fff;border-radius:12px 12px 12px 4px}.inputArea{display:flex;padding:12px;background:#fff;border-top:1px solid #e2e8f0;gap:8px}.inputAreaHidden{display:none}.inputField{flex:1;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:20px;padding:10px 16px;color:#0f172a;font-size:.85rem;outline:0;transition:border-color .2s}.inputField:focus{border-color:#3b82f6}.inputField:disabled{opacity:.5;cursor:not-allowed}.btnSend{background:#3b82f6;color:#fff;border:none;border-radius:20px;padding:10px 18px;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .2s}.btnSend:hover:not(:disabled){background:#2563eb}.btnSend:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed}.rateLimitNotice{padding:14px;background:rgba(239,68,68,.08);border-top:1px solid rgba(239,68,68,.2);color:#dc2626;font-size:.82rem;text-align:center;line-height:1.5;display:none}.rateLimitNotice.show{display:block}.forwardBar{padding:8px 16px;background:rgba(0,0,0,.02);border-top:1px solid #e2e8f0;display:flex;justify-content:center}.btnForwardAdmin{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;padding:8px 16px;border-radius:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.8rem;transition:transform .2s}.btnForwardAdmin:hover{transform:translateY(-1px)}.btnForwardAdmin.sent{background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important}:host([preview]){position:absolute;bottom:0;right:0;width:100%;height:100%;z-index:10}:host([preview]) .widgetContainer{width:100%;height:100%;position:relative}:host([preview]) .floatingBtn{position:absolute;bottom:20px;right:20px}:host([preview]) .popupWindow{position:absolute;bottom:90px;right:20px;width:350px;height:430px;max-height:calc(100% - 110px);max-width:calc(100% - 40px)}