.support-chat { position:fixed; right:24px; bottom:max(24px,env(safe-area-inset-bottom)); z-index:95; font-family:Poppins,'Noto Sans Sinhala','Noto Sans Tamil',sans-serif; font-size:13px; color:#173849; line-height:1.65; }
.support-chat *, .support-chat *::before, .support-chat *::after { box-sizing:border-box; }
.support-chat [hidden] { display:none!important; }
.support-chat button, .support-chat textarea { font:inherit; }
.support-chat button { cursor:pointer; }
.support-chat button:focus-visible, .support-chat a:focus-visible { outline:3px solid #086bff; outline-offset:3px; }
.support-chat-launcher { display:flex; align-items:center; gap:13px; padding:0; border:0; background:none; color:inherit; margin-left:auto; text-align:left; }
.support-chat-invitation { position:relative; display:flex; flex-direction:column; padding:11px 17px; border:1px solid #e1e9f3; border-radius:15px 15px 4px 15px; background:#fff; box-shadow:0 6px 28px #153b5a14; font-size:11px; }
.support-chat-invitation strong { font-size:13px; font-weight:600; }
.support-chat-invitation-text { display:flex; flex-direction:column; }
.support-chat-invitation-text > span { color:#6a7f90; }
.support-chat-invitation-typing { display:flex; align-items:center; gap:5px; height:25px; padding:0 5px; }
.support-chat-invitation-typing i { width:5px; height:5px; border-radius:50%; background:#6f8da7; animation:chat-dot 1s infinite; }
.support-chat-invitation-typing i:nth-child(2) { animation-delay:.16s; }
.support-chat-invitation-typing i:nth-child(3) { animation-delay:.32s; }
.support-chat-avatar { position:relative; flex:0 0 44px; display:block; width:44px; height:44px; }
.support-chat-avatar img { display:block; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.support-chat-avatar--launcher { width:68px; height:68px; flex-basis:68px; border:3px solid white; border-radius:50%; box-shadow:0 4px 22px #134f8740; }
.support-chat-presence { position:absolute; right:0; bottom:0; width:12px; height:12px; border:2px solid white; border-radius:50%; background:#22c775; }
.support-chat-avatar--launcher .support-chat-presence { width:16px; height:16px; border-width:3px; right:1px; bottom:0; z-index:1; }
.support-chat-bubble-icon { position:absolute; width:23px; height:23px; top:-4px; left:-8px; display:grid; place-items:center; border-radius:50%; background:#086bff; border:2px solid white; color:white; }
.support-chat-bubble-icon svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.support-chat-panel { display:flex; flex-direction:column; position:absolute; bottom:83px; right:0; width:370px; max-height:min(650px,calc(100dvh - 126px)); overflow:hidden; border:1px solid #dde8f3; border-radius:20px; background:#fff; box-shadow:0 16px 65px #1239592b; }
@media(min-width:901px) { .support-chat[data-chat-direct] .support-chat-panel { bottom:0; max-height:min(650px,calc(100dvh - 48px)); } }
.support-chat-header { display:flex; align-items:center; gap:11px; padding:19px 18px; background:linear-gradient(120deg,#f1f7ff,#fff); border-bottom:1px solid #e4ecf5; flex-shrink:0; }
.support-chat-header > div { min-width:0; flex:1; }
.support-chat .support-chat-header h2 { font-family:inherit; font-size:14px; font-weight:600; line-height:1.45; letter-spacing:0; margin:0; overflow-wrap:anywhere; }
.support-chat-header p { margin:3px 0 0; font-size:10px; color:#6c8294; }
.support-chat-close { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border:0; border-radius:50%; color:#61788c; background:transparent; }
.support-chat-close:hover { background:#e8f1fb; }
.support-chat-close svg, .support-chat-send svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.support-chat-body { flex:1; min-height:0; padding:20px 18px; overflow-y:auto; overscroll-behavior:contain; background:linear-gradient(#fbfdff,#f6f9fe); }
.support-chat-messages { display:flex; flex-direction:column; gap:10px; }
.support-chat-message { padding:11px 14px; border:1px solid #e5ecf5; border-radius:13px 13px 13px 3px; max-width:94%; align-self:flex-start; background:white; margin:0; font-size:12px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.support-chat-message--visitor { background:#086bff; border-color:#086bff; color:white; align-self:flex-end; border-radius:13px 13px 3px 13px; }
.support-chat-typing { display:flex; align-items:center; gap:9px; margin-top:14px; font-size:10px; color:#788b9a; }
.support-chat-typing > span:first-child { display:flex; gap:4px; padding:8px 10px; background:#edf3fa; border-radius:10px; }
.support-chat-typing i { display:block; width:4px; height:4px; border-radius:50%; background:#6f8da7; animation:chat-dot 1s infinite; }
.support-chat-typing i:nth-child(2) { animation-delay:.16s; }.support-chat-typing i:nth-child(3) { animation-delay:.32s; }
@keyframes chat-dot { 50% { transform:translateY(-3px); opacity:.5; } }
.support-chat-languages, .support-chat-topics { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.support-chat-languages button, .support-chat-topics button { padding:8px 12px; background:#fff; border:1px solid #cfe0f8; color:#1766ca; border-radius:8px; font-size:12px; }
.support-chat-languages button:hover, .support-chat-topics button:hover { background:#eaf3ff; border-color:#086bff; }
.support-chat-topics button { font-size:10px; padding:6px 9px; }
.support-chat-composer { padding:14px 18px 16px; border-top:1px solid #e3ebf4; background:white; flex-shrink:0; }
.support-chat-input-row { display:flex; align-items:flex-end; gap:10px; }
.support-chat textarea { display:block; flex:1; min-width:0; width:100%; min-height:64px; max-height:120px; resize:vertical; padding:10px 12px; border:1px solid #dbe5f1; border-radius:13px; color:#173849; background:#fbfdff; font-size:12px; line-height:1.8; }
.support-chat textarea:focus { border-color:#086bff; outline:2px solid #086bff20; }
.support-chat-send { display:grid; place-items:center; flex:0 0 46px; width:46px; height:46px; margin-bottom:2px; padding:0; border:0; border-radius:50%; background:#086bff; color:white; }
.support-chat-send svg { width:21px; height:21px; }
.support-chat-send:hover { background:#005ae0; }
.support-chat-status { font-size:11px; margin:8px 0 0; color:#247951; line-height:1.7; }
.support-chat-status:empty { display:none; }
.support-chat-reopen { display:inline-block; font-size:11px; color:#086bff; text-decoration:underline; margin-top:5px; }
.support-chat.is-open .support-chat-invitation { display:none; }
.support-chat [lang=si] { font-family:'Noto Sans Sinhala',Poppins,sans-serif; }
.support-chat [lang=ta] { font-family:'Noto Sans Tamil',sans-serif; }
body:has(.support-chat) .directory-top { bottom:114px; }
@media(max-width:600px) { .support-chat { right:16px; bottom:max(16px,env(safe-area-inset-bottom)); }.support-chat-panel { width:min(370px,calc(100vw - 32px)); max-height:calc(100dvh - 116px); }.support-chat-avatar--launcher { width:60px; height:60px; flex-basis:60px; }.support-chat-panel { bottom:75px; }.support-chat textarea { font-size:16px; }.support-chat-invitation { padding:9px 13px; } }
@media(max-height:650px) { .support-chat-panel { bottom:0; max-height:calc(100dvh - 32px); }.support-chat.is-open .support-chat-launcher { visibility:hidden; }.support-chat-header { padding-block:12px; }.support-chat-composer { padding-block:10px; }.support-chat-body { min-height:90px; } }
@media(max-width:900px) {
    html.support-chat-mobile-open { overflow:hidden; overscroll-behavior:none; }
    html.support-chat-mobile-open body { position:fixed; top:var(--chat-page-top,0); inset-inline:0; width:100%; overflow:hidden; }
    .support-chat.is-open { z-index:1000; }
    .support-chat-panel { position:fixed; top:var(--chat-viewport-top,0); left:0; right:auto; bottom:auto; width:100%; height:var(--chat-viewport-height,100dvh); max-height:none; border:0; border-radius:0; box-shadow:none; }
    .support-chat.is-open .support-chat-launcher { display:none; }
    .support-chat-header { padding:calc(14px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left)); }
    .support-chat-close { width:44px; height:44px; flex-basis:44px; }
    .support-chat-body { min-height:0; padding:22px max(18px,env(safe-area-inset-right)) 22px max(18px,env(safe-area-inset-left)); }
    .support-chat-composer { padding:14px max(16px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
    .support-chat textarea { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .support-chat-typing i, .support-chat-invitation-typing i { animation:none; } }
