/* KAIROS visitor messenger: intentionally namespaced to avoid changing the reference-site styling. */
#kairos-chat-root{position:fixed;right:clamp(14px,2.8vw,36px);bottom:clamp(14px,2.8vw,30px);z-index:2147483100;font:400 14px/1.5 Manrope,system-ui,-apple-system,sans-serif;color:#18121e;pointer-events:none}
#kairos-chat-root *{box-sizing:border-box}
#kairos-chat-root button,#kairos-chat-root input,#kairos-chat-root textarea{font:inherit}
#kairos-chat-root button{cursor:pointer}
#kairos-chat-root .kc-toggle{pointer-events:auto;display:flex;align-items:center;gap:11px;padding:13px 18px;background:#6a24c6;color:#fff;border:1px solid #864cdb;border-radius:999px;box-shadow:0 9px 32px #2d104b55;min-height:56px;font-weight:800;letter-spacing:.01em}
#kairos-chat-root .kc-toggle:hover{background:#5119a0}
#kairos-chat-root .kc-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;flex:none}
#kairos-chat-root .kc-panel{pointer-events:auto;display:flex;flex-direction:column;position:absolute;right:0;bottom:calc(100% + 13px);width:min(378px,calc(100vw - 28px));height:min(555px,calc(100dvh - 104px));min-height:350px;overflow:hidden;background:#fff;color:#241b2d;border:1px solid #e8e0f1;border-radius:18px;box-shadow:0 18px 65px #190b3555;transform-origin:bottom right;animation:kc-in .2s ease-out}
#kairos-chat-root .kc-panel[hidden]{display:none}
@keyframes kc-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
#kairos-chat-root .kc-header{display:flex;align-items:center;gap:11px;background:#19141e;color:#fff;padding:16px 17px}
#kairos-chat-root .kc-brand{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:11px;border:1px solid #8f55e0;background:#6a24c6;font-size:22px;font-weight:900}
#kairos-chat-root .kc-titles{min-width:0;flex:1}
#kairos-chat-root .kc-titles strong{display:block;font-size:15px;line-height:1.3}
#kairos-chat-root .kc-titles small{display:block;font-size:11px;color:#d5c7e7;line-height:1.4}
#kairos-chat-root .kc-x{color:#fff;background:transparent;border:0;padding:7px;border-radius:7px;font-size:22px;line-height:1}
#kairos-chat-root .kc-x:hover{background:#ffffff22}
#kairos-chat-root .kc-body{display:flex;flex:1;flex-direction:column;overflow:hidden;min-height:0}
#kairos-chat-root .kc-messages{flex:1;overflow-y:auto;padding:19px 16px 12px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;background:linear-gradient(180deg,#fbf9ff,#fff)}
#kairos-chat-root .kc-greeting{align-self:flex-start;max-width:93%;padding:12px 14px;border-radius:13px 13px 13px 3px;background:#f0ebf7;color:#40334e;font-size:13px;line-height:1.6}
#kairos-chat-root .kc-message{display:flex;flex-direction:column;gap:4px;align-self:flex-start;max-width:86%;min-width:50px}
#kairos-chat-root .kc-message.visitor{align-self:flex-end;align-items:flex-end}
#kairos-chat-root .kc-bubble{white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 13px;border-radius:13px 13px 13px 3px;color:#34253f;background:#eee9f5}
#kairos-chat-root .kc-message.visitor .kc-bubble{background:#6a24c6;color:white;border-radius:13px 13px 3px 13px}
#kairos-chat-root .kc-message small{font-size:10px;color:#8d8196}
#kairos-chat-root .kc-intro{padding:12px 15px 8px;display:grid;gap:8px;border-top:1px solid #eee8f3;background:#fff}
#kairos-chat-root .kc-intro[hidden]{display:none}
#kairos-chat-root .kc-intro label{display:flex;flex-direction:column;gap:4px;font-weight:750;color:#564861;font-size:11px}
#kairos-chat-root .kc-intro input{height:36px;width:100%;padding:7px 10px;border:1px solid #ded4ea;border-radius:8px;color:#2c2033;background:#fff;outline:none;font-size:13px}
#kairos-chat-root .kc-intro input:focus,#kairos-chat-root .kc-composer textarea:focus{border-color:#8550c7;box-shadow:0 0 0 2px #7f4bbb1a}
#kairos-chat-root .kc-composer{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid #f0ebf5;background:#fff;align-items:end}
#kairos-chat-root .kc-composer textarea{flex:1;resize:none;min-height:44px;max-height:110px;border:1px solid #ddd4e7;border-radius:10px;padding:11px 12px;color:#2c2033;outline:0;background:#fff;line-height:1.4;font-size:13px}
#kairos-chat-root .kc-send{width:44px;height:44px;flex:none;display:grid;place-items:center;border:0;border-radius:10px;background:#6a24c6;color:#fff;font-size:22px;font-weight:800}
#kairos-chat-root .kc-send:hover{background:#5119a0}
#kairos-chat-root .kc-send:disabled{opacity:.5;cursor:progress}
#kairos-chat-root .kc-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 14px 12px;background:#fff;color:#80728c;font-size:10px}
#kairos-chat-root .kc-bottom a{color:#6a24c6;font-weight:800;text-decoration:none}
#kairos-chat-root .kc-new{border:0;background:transparent;color:#6a24c6;padding:0;font-size:10px;font-weight:800}
#kairos-chat-root .kc-status{font-size:11px;min-height:15px;margin:0;padding:0 14px 4px;color:#805990;flex:none}
#kairos-chat-root .kc-status.error{color:#a22f41}
#kairos-chat-root .kc-toggle:focus-visible,#kairos-chat-root button:focus-visible{outline:3px solid #bc8cff;outline-offset:3px}
@media(max-width:480px){#kairos-chat-root{right:12px;bottom:12px}#kairos-chat-root .kc-panel{position:fixed;right:10px;left:10px;bottom:82px;width:auto;height:min(630px,calc(100dvh - 96px));border-radius:16px}#kairos-chat-root .kc-toggle{padding:13px 15px;min-height:52px}}
@media(prefers-reduced-motion:reduce){#kairos-chat-root .kc-panel{animation:none}#kairos-chat-root .kc-messages{scroll-behavior:auto}}

/* AI assistant handover controls */
#kairos-chat-root .kc-bottom{flex-wrap:wrap;row-gap:4px}
#kairos-chat-root .kc-bottom>span{flex-basis:100%;line-height:1.45}
#kairos-chat-root .kc-human{border:1px solid #ddcaf2;background:#f6efff;color:#6024a5;border-radius:7px;padding:5px 9px;font-size:11px;font-weight:800}
#kairos-chat-root .kc-human:hover{background:#eee2ff}
#kairos-chat-root .kc-human[hidden]{display:none}
#kairos-chat-root .kc-message.system{max-width:94%;align-self:center;text-align:center}
#kairos-chat-root .kc-message.system .kc-bubble{background:#f7f3ec;color:#7d653a;font-size:12px}
