#knx-ai-messenger { --knx-ink:#172033; --knx-muted:#7b8494; --knx-brand:#ef6b2e; --knx-brand-dark:#d84b24; --knx-soft:#fff6f1; --knx-line:#e7eaf0; --knx-shadow:0 20px 55px rgba(18,29,49,.22); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
#knx-ai-messenger, #knx-ai-messenger * { box-sizing:border-box; }
.kimngan_fixed_social .knx-toolbar-chat { margin-bottom:16px; list-style:none; }
.kimngan_fixed_social .knx-toolbar-chat button { width:4rem; height:4rem; padding:0; border:0; border-radius:50%; display:grid; place-items:center; cursor:pointer; color:#ee4223; background:#fdeee5; box-shadow:none; transition:transform .18s ease,background .18s ease,color .18s ease; }
.kimngan_fixed_social .knx-toolbar-chat button:hover,.kimngan_fixed_social .knx-toolbar-chat button:focus-visible { outline:0; transform:translateY(-2px); color:#fff; background:#ee4223; }
.kimngan_fixed_social .knx-toolbar-chat svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.knx-header-actions svg,.knx-icon-button svg,.knx-send svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.knx-chat-window { position:fixed; right:24px; bottom:96px; z-index:99999; width:min(418px,calc(100vw - 28px)); height:min(660px,calc(100dvh - 112px)); min-height:min(500px,max(0px,calc(100dvh - 112px))); display:flex; flex-direction:column; overflow:hidden; visibility:hidden; opacity:0; transform:translateY(14px) scale(.97); pointer-events:none; border:1px solid rgba(20,35,55,.08); border-radius:24px; background:#fff; color:var(--knx-ink); box-shadow:0 24px 72px rgba(18,29,49,.25); transition:opacity .2s ease,transform .2s ease,visibility .2s; }
.is-open .knx-chat-window { visibility:visible; opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.knx-chat-header { min-height:78px; padding:14px 17px; display:flex; align-items:center; gap:11px; color:#fff; background:radial-gradient(circle at 92% 8%,rgba(255,255,255,.25),transparent 27%),linear-gradient(120deg,#d94228,#f2652b 58%,#fbb348); }
.knx-agent-avatar { width:40px; height:40px; flex:0 0 40px; display:grid; place-items:center; border:2px solid rgba(255,255,255,.7); border-radius:50%; background:#fff; color:var(--knx-brand-dark); font-size:12px; font-weight:800; letter-spacing:-.4px; box-shadow:0 3px 9px rgba(118,40,18,.14); }
.knx-agent-avatar--large { width:54px; height:54px; flex-basis:54px; margin-bottom:7px; border-color:#ffd8c5; background:linear-gradient(135deg,#fff1e7,#fff); font-size:15px; box-shadow:0 6px 15px rgba(207,75,38,.12); }
.knx-agent-meta { min-width:0; display:flex; flex-direction:column; gap:3px; }
.knx-agent-meta strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; line-height:1.2; }
.knx-agent-meta span { display:flex; align-items:center; gap:5px; font-size:11px; opacity:.9; }
.knx-agent-meta i { width:7px; height:7px; border-radius:50%; background:#72ea89; box-shadow:0 0 0 2px rgba(255,255,255,.18); }
.knx-header-actions { margin-left:auto; display:flex; align-items:center; gap:2px; }
.knx-header-actions button,.knx-icon-button { width:32px; height:32px; border:0; display:grid; place-items:center; border-radius:50%; color:inherit; background:transparent; cursor:pointer; }
.knx-header-actions button:hover { background:rgba(255,255,255,.16); }
.knx-header-actions svg { width:19px; height:19px; }
.knx-chat-body { min-height:0; flex:1; overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y; padding:12px 14px 18px; background:linear-gradient(180deg,#fff 0%,#fdfdfd 100%); scrollbar-width:thin; scrollbar-color:#d9dde5 transparent; }
.knx-chat-date { display:flex; align-items:center; justify-content:center; margin:0 0 13px; color:#9ba2af; font-size:10px; }.knx-chat-date span { padding:4px 9px; border-radius:99px; background:#f2f4f7; }
.knx-chat-intro { padding:0 11px 16px; display:flex; flex-direction:column; align-items:flex-start; color:var(--knx-muted); }
.knx-chat-intro strong { color:var(--knx-ink); font-size:16px; }
.knx-chat-intro span { margin-top:3px; font-size:12px; }
.knx-agent-capabilities { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }
.knx-agent-capabilities span { margin:0; padding:5px 7px; display:inline-flex; align-items:center; gap:4px; border:1px solid #f0e6df; border-radius:999px; color:#aa5632; background:#fffaf7; font-size:9.5px; font-weight:700; }
.knx-agent-capabilities svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.knx-access-panel { display:block; margin:0 0 13px; } .knx-access-panel--bottom { margin:13px 0 0; }
.knx-access-card { margin:0 2px; padding:14px; overflow:hidden; border:1px solid #f5cdb9; border-radius:17px; background:radial-gradient(circle at 100% 0,rgba(251,179,72,.16),transparent 34%),linear-gradient(145deg,#fff8f4,#fff); box-shadow:0 7px 22px rgba(99,43,23,.07); }
.knx-access-card>.knx-access-icon { width:38px; height:38px; margin-bottom:10px; display:grid; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(135deg,#e74628,#f67a35); box-shadow:0 5px 12px rgba(230,73,40,.2); }
.knx-access-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.knx-access-card strong { display:block; color:#222d40; font-size:14px; line-height:1.35; }
.knx-access-card p { margin:5px 0 12px; color:#6f798a; font-size:11.5px; line-height:1.5; }
.knx-access-button { min-height:39px; display:flex; align-items:center; justify-content:center; padding:9px 14px; border-radius:12px; color:#fff!important; background:linear-gradient(135deg,#e84729,#f67832); box-shadow:0 6px 14px rgba(232,71,41,.18); font-size:12px; font-weight:750; text-decoration:none!important; }
.knx-access-button:hover { color:#fff!important; filter:brightness(.97); transform:translateY(-1px); }
.knx-quota-strip { margin:0 2px; padding:10px 12px; display:grid; grid-template-columns:1fr 88px; align-items:center; gap:12px; border:1px solid #f0e4dc; border-radius:13px; color:#536074; background:#fffaf7; }
.knx-quota-strip strong,.knx-quota-strip small { display:block; }.knx-quota-strip strong { color:#9d4929; font-size:11px; }.knx-quota-strip small { margin-top:2px; color:#8c94a1; font-size:9.5px; }
.knx-quota-meter { height:7px; overflow:hidden; border-radius:99px; background:#f1e5de; }.knx-quota-meter i { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#eb4b2a,#f5a13f); transition:width .25s ease; }
.knx-quota-strip--admin { grid-template-columns:25px minmax(0,1fr); color:#277a4f; border-color:#cfe9da; background:#f5fcf8; }.knx-quota-strip--admin>span { display:grid; place-items:center; }.knx-quota-strip--admin svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; }.knx-quota-strip--admin strong { color:#277a4f; }
.knx-sales-contacts { display:grid; gap:8px; margin-top:12px; }
.knx-sales-contact { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px; border:1px solid #f0e4dc; border-radius:12px; background:#fff; }
.knx-sales-contact strong,.knx-sales-contact span,.knx-sales-contact b { display:block; }.knx-sales-contact strong { color:#263247; font-size:12px; }.knx-sales-contact span { margin-top:1px; color:#8b94a2; font-size:9.5px; }.knx-sales-contact b { margin-top:4px; color:#e74b2a; font-size:13px; letter-spacing:.02em; }
.knx-sales-contact>div:last-child { display:flex; gap:5px; }.knx-contact-link { padding:6px 8px; border:1px solid #efb99c; border-radius:8px; color:#b34a25!important; background:#fff8f4; font-size:9.5px; font-weight:750; text-decoration:none!important; white-space:nowrap; }.knx-contact-link--zalo { color:#0876d1!important; border-color:#abd7f6; background:#f3faff; }
.is-login-required .knx-composer-shell,.is-quota-locked .knx-composer-shell,.is-login-required .knx-quick-replies,.is-quota-locked .knx-quick-replies { display:none; }
.is-login-required [data-action="restart"],.is-quota-locked [data-action="restart"] { display:none; }
.knx-messages { display:flex; flex-direction:column; gap:9px; }
.knx-message { min-width:0; max-width:86%; display:flex; flex-direction:column; gap:4px; align-items:flex-start; }
.knx-message--user { align-self:flex-end; align-items:flex-end; }
.knx-message--catalog { width:100%; max-width:100%; }
.knx-message-bubble { min-width:0; max-width:100%; padding:10px 12px; border-radius:18px 18px 18px 5px; background:#eef1f5; color:#253047; font-size:13.5px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.knx-message-bubble--markdown { white-space:normal; }
.knx-message-bubble--markdown > :first-child { margin-top:0; }
.knx-message-bubble--markdown > :last-child { margin-bottom:0; }
.knx-message-bubble--markdown p { margin:0 0 9px; }
.knx-message-bubble--markdown strong { color:#172033; font-weight:760; }
.knx-message--user .knx-message-bubble--markdown strong { color:inherit; }
.knx-message-bubble--markdown em { font-style:italic; }
.knx-message-bubble--markdown code { padding:1px 4px; border-radius:4px; color:#9f3f1d; background:rgba(239,107,46,.11); font:600 .9em/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.knx-markdown-heading { margin:0 0 8px; color:#192338; font-weight:800; letter-spacing:-.01em; line-height:1.3; }
.knx-markdown-heading--1 { font-size:16px; }
.knx-markdown-heading--2 { font-size:14.5px; }
.knx-markdown-heading--3 { font-size:13.5px; }
.knx-markdown-list { margin:1px 0 9px; padding-left:19px; }
.knx-markdown-list li { margin:3px 0; padding-left:1px; }
.knx-markdown-table-wrap { max-width:100%; margin:8px 0 10px; overflow-x:auto; overscroll-behavior-x:contain; border:1px solid #dfe4eb; border-radius:11px; background:#fff; box-shadow:0 1px 3px rgba(28,42,64,.05); }
.knx-markdown-table { width:100%; min-width:520px; border-collapse:collapse; color:#354054; font-size:10.5px; line-height:1.4; text-align:left; }
.knx-markdown-table th,.knx-markdown-table td { padding:8px 9px; border-bottom:1px solid #e8ebf0; vertical-align:top; overflow-wrap:anywhere; }
.knx-markdown-table th { position:sticky; top:0; color:#263247; background:#f6f8fb; font-size:9.5px; font-weight:800; letter-spacing:.01em; }
.knx-markdown-table td { background:#fff; }
.knx-markdown-table tbody tr:last-child td { border-bottom:0; }
.knx-markdown-table tbody tr:nth-child(even) td { background:#fcfcfd; }
.knx-markdown-table-summary { width:100%; display:grid; gap:7px; margin:7px 0 9px; }
.knx-markdown-table-summary-row { min-width:0; padding:8px 9px; border:1px solid #dfe4eb; border-radius:10px; background:#fff; box-shadow:0 1px 3px rgba(28,42,64,.04); }
.knx-markdown-table-summary-row > strong { display:block; color:#253047; font-size:12px; line-height:1.35; }
.knx-markdown-table-summary-details { display:flex; flex-wrap:wrap; gap:4px 8px; margin-top:4px; color:#667184; font-size:10.5px; line-height:1.35; }
.knx-markdown-table-summary-details span { min-width:0; overflow-wrap:anywhere; }
.knx-markdown-table-summary-details b { color:#4c586c; font-weight:700; }
.knx-message--user .knx-message-bubble { border-radius:18px 18px 5px 18px; background:linear-gradient(135deg,#ee5025,#f47733); color:#fff; box-shadow:0 4px 11px rgba(230,90,40,.18); }
.knx-message time { padding:0 4px; color:#99a1af; font-size:10px; }
.knx-message-attachment { display:inline-block; max-width:100%; padding:4px 7px; border-radius:8px; color:#a64020; background:#fff1e8; font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.knx-message-sources { display:flex; flex-wrap:wrap; gap:5px; padding:0 2px; }
.knx-message-sources-title { flex-basis:100%; color:#8b6958; font-size:10px; font-weight:700; letter-spacing:.01em; }
.knx-message-sources a { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:5px 8px; border:1px solid #f2c9ad; border-radius:9px; color:#bd4c1f; background:#fffaf6; font-size:10.5px; font-weight:600; text-decoration:none; }
.knx-message-sources a:hover { background:#fff1e8; }
.knx-agent-trace { display:flex; align-items:center; gap:6px; max-width:100%; padding:1px 4px; color:#8490a1; font-size:9.5px; line-height:1.35; }
.knx-agent-trace-dot { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:#55c77a; box-shadow:0 0 0 3px rgba(85,199,122,.12); }
.knx-agent-actions { display:flex; flex-wrap:wrap; gap:7px; padding:3px 2px 0; }
.knx-agent-actions a,.knx-agent-actions button { padding:7px 10px; border:1px solid #efb994; border-radius:10px; color:#b54921; background:#fff8f4; font:700 10.5px/1.2 inherit; text-decoration:none; cursor:pointer; }
.knx-agent-actions a:hover,.knx-agent-actions button:hover { color:#fff; border-color:var(--knx-brand); background:var(--knx-brand); }
.knx-catalog-list { width:100%; display:grid; gap:9px; margin-top:2px; }
.knx-catalog-group { margin:6px 2px -2px; color:#b74620; font-size:11px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; }
.knx-catalog-card { min-height:98px; display:flex; align-items:stretch; gap:10px; overflow:hidden; padding:8px; border:1px solid #e8eaf0; border-radius:15px; color:var(--knx-ink); background:#fff; box-shadow:0 3px 13px rgba(25,36,57,.07); text-decoration:none; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.knx-catalog-card:hover,.knx-catalog-card:focus-visible { outline:0; transform:translateY(-1px); border-color:#f6b493; box-shadow:0 8px 20px rgba(213,80,33,.13); }
.knx-catalog-media { width:78px; min-width:78px; min-height:80px; display:grid; place-items:center; overflow:hidden; border-radius:10px; color:#d84b24; background:linear-gradient(135deg,#fff1e6,#ffe1cf); font-size:15px; font-weight:800; }
.knx-catalog-media img { width:100%; height:100%; min-height:80px; object-fit:cover; }
.knx-catalog-content { min-width:0; flex:1; display:flex; flex-direction:column; align-items:flex-start; }
.knx-catalog-content strong { display:-webkit-box; overflow:hidden; color:#202b3e; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; font-size:12.5px; font-style:normal; font-variant:normal; font-weight:750; letter-spacing:0 !important; line-height:1.3; text-transform:none !important; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.knx-catalog-meta { display:-webkit-box; overflow:hidden; margin-top:4px; color:#7d8695; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; font-size:10.5px; font-style:normal; font-variant:normal; font-weight:500; letter-spacing:0 !important; line-height:1.3; text-transform:none !important; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.knx-catalog-price { margin-top:auto; padding-top:5px; color:#e55325; font-size:15px; font-weight:800; line-height:1.15; }
.knx-catalog-converted { margin-top:2px; color:#87909e; font-size:9.5px; line-height:1.2; }
.knx-catalog-insight { margin-top:5px; padding:3px 6px; border-radius:7px; color:#9a421e; background:#fff0e8; font-size:9.5px; font-weight:700; line-height:1.2; }
.knx-catalog-reason { display:-webkit-box; overflow:hidden; margin-top:5px; color:#5f6878; font-size:9.5px; font-weight:600; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.knx-file-download { display:inline-flex; align-items:center; max-width:100%; margin:2px 2px 0; padding:8px 11px; overflow:hidden; border:1px solid #f2b48e; border-radius:10px; color:#bd4c1f; background:#fff8f4; font-size:11px; font-weight:700; line-height:1.3; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.knx-file-download:hover { color:#fff; background:var(--knx-brand); border-color:var(--knx-brand); }
.knx-typing { width:auto; align-self:flex-start; margin:2px 0 5px; padding:9px 12px; display:flex; align-items:center; gap:9px; border-radius:16px 16px 16px 4px; background:#f0f2f5; }
.knx-typing-dots { display:flex; gap:4px; }
.knx-typing span { width:5px; height:5px; border-radius:50%; background:#a7afbb; animation:knx-bounce 1.1s infinite ease-in-out; }
.knx-typing span:nth-child(2) { animation-delay:.15s; }.knx-typing span:nth-child(3) { animation-delay:.3s; }
.knx-typing em { color:#7d8795; font-size:10.5px; font-style:normal; white-space:nowrap; }
@keyframes knx-bounce { 0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)} }
.knx-quick-replies { display:flex; flex-wrap:wrap; gap:7px; padding:15px 2px 0; }
.knx-quick-replies button { max-width:100%; padding:7px 10px; border:1px solid #f2c6ad; border-radius:16px; color:#bd4c1f; background:#fff; font:600 11.5px/1.25 inherit; text-align:left; cursor:pointer; transition:background .16s ease,transform .16s ease; }
.knx-quick-replies button:hover { background:#fff2e9; transform:translateY(-1px); }
.knx-composer-shell { flex:0 0 auto; border-top:1px solid var(--knx-line); background:#fff; }
.knx-file-input { display:none !important; width:0 !important; height:0 !important; min-width:0 !important; min-height:0 !important; visibility:hidden !important; opacity:0 !important; position:absolute !important; pointer-events:none !important; }
.knx-attachment-bar { min-height:0; padding:0 12px; background:#fff; }
.knx-attachment-chip { margin:7px 0 1px; padding:6px 8px 6px 10px; display:flex; align-items:center; justify-content:space-between; gap:8px; border:1px solid #fed2bb; border-radius:10px; color:#a64020; background:#fff7f2; font-size:11px; line-height:1.25; }
.knx-attachment-chip span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.knx-attachment-chip button { width:20px; height:20px; flex:0 0 20px; border:0; border-radius:50%; color:#a64020; background:#ffe6d8; font-size:17px; line-height:1; cursor:pointer; }
.knx-composer { min-height:58px; padding:9px 10px 6px; display:flex; align-items:flex-end; gap:5px; border:0; background:#fff; }
.knx-composer textarea { display:block !important; visibility:visible !important; opacity:1 !important; width:auto !important; min-width:0 !important; max-height:112px; min-height:38px; flex:1 1 auto; resize:none; overflow-y:auto; padding:9px 6px; border:0 !important; outline:0 !important; color:var(--knx-ink); background:transparent !important; font:13.5px/1.4 inherit; }
.knx-composer textarea::placeholder { color:#9ca4b0; }
.knx-icon-button { flex:0 0 34px; color:#818b98; }.knx-icon-button:hover { color:var(--knx-brand); background:#fff4ed; }
.knx-send { width:37px; height:37px; flex:0 0 37px; border:0; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--knx-brand); cursor:pointer; transition:transform .16s ease,background .16s ease; }.knx-send:hover { transform:scale(1.07); background:var(--knx-brand-dark); }
.is-busy .knx-composer { opacity:.58; pointer-events:none; } .is-busy .knx-send { opacity:.55; pointer-events:none; }.knx-chat-privacy { margin:0; padding:0 15px 9px; color:#a0a6b0; background:#fff; font-size:9.5px; line-height:1.35; }
@media (max-width:600px) { .knx-chat-window { right:16px; bottom:84px; width:calc(100vw - 32px); height:min(620px,calc(100dvh - 104px)); border-radius:20px; }.knx-chat-header { min-height:70px; }.knx-message { max-width:90%; }.knx-markdown-table { min-width:470px; }.knx-markdown-table th,.knx-markdown-table td { padding:7px 8px; }.knx-sales-contact{align-items:flex-start;flex-direction:column}.knx-sales-contact>div:last-child{width:100%}.knx-contact-link{flex:1;text-align:center}.knx-quota-strip{grid-template-columns:1fr 76px}.knx-quota-strip--admin{grid-template-columns:25px minmax(0,1fr)} }
@media (prefers-reduced-motion:reduce) { .knx-chat-window,.knx-quick-replies button { transition:none; }.knx-typing span { animation:none; } }
