/* Keystone Chat · visitor widget. Every selector stays inside its own UI. */
#kws-chat-widget{--kwsc-navy:#202d51;--kwsc-teal:#247ca5;--kwsc-ink:#24334d;--kwsc-muted:#6c7e91;--kwsc-line:#dfe7ee;--kwsc-white:#fff;position:fixed;right:26px;bottom:26px;z-index:2147482000;isolation:isolate;font-family:'Instrument Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;line-height:1.5;text-align:left;color:var(--kwsc-ink);color-scheme:light;filter:none!important}
#kws-chat-widget,#kws-chat-widget *{box-sizing:border-box}
#kws-chat-widget [hidden]{display:none!important}
#kws-chat-widget :is(h2,h3,p,form,article){margin:0;padding:0}
#kws-chat-widget :is(button,input,textarea,a,span,strong,small,p,h2,h3,label,time){font-family:inherit;letter-spacing:normal;text-transform:none}
#kws-chat-widget :is(button,input,textarea){appearance:none;-webkit-appearance:none;box-shadow:none;margin:0;font:inherit;line-height:1.4;min-height:0;max-width:none}
#kws-chat-widget button{cursor:pointer;border:0;border-radius:0;text-decoration:none;transition:background .18s,color .18s,box-shadow .18s;white-space:normal}
#kws-chat-widget button:disabled{cursor:wait;opacity:.6}
#kws-chat-widget :is(button,a,input,textarea):focus-visible{outline:3px solid #65b5d5;outline-offset:3px}
#kws-chat-widget img{filter:none!important;opacity:1!important;border:0;border-radius:0;height:auto;max-width:100%}
#kws-chat-widget svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
#kws-chat-widget .kwsc-launcher{display:flex;align-items:center;gap:12px;min-height:65px;min-width:229px;padding:13px 17px 13px 14px;border:1px solid #ffffff25;border-radius:15px;background:var(--kwsc-navy);color:#fff;box-shadow:0 12px 35px #142d4b3b,0 2px 7px #10294320;text-align:left}
#kws-chat-widget .kwsc-launcher:hover{background:#293b64;box-shadow:0 15px 40px #142d4b4b,0 3px 8px #10294324}
#kws-chat-widget .kwsc-launcher-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#ffffff12;color:#9cd4eb}
#kws-chat-widget .kwsc-launcher-icon svg{width:23px;height:23px}
#kws-chat-widget .kwsc-launcher-words{display:grid;gap:3px;flex:1}
#kws-chat-widget .kwsc-launcher-words strong{font-size:14px;line-height:1.2;font-weight:600;color:#fff}
#kws-chat-widget .kwsc-launcher-words>span{font-size:10px;line-height:1.3;color:#bdcddd}
#kws-chat-widget .kwsc-presence-dot{width:7px;height:7px;border-radius:50%;background:#b9c6d4;box-shadow:0 0 0 4px #ffffff08;flex:0 0 7px;margin-left:7px}
#kws-chat-widget[data-online=true] .kwsc-presence-dot{background:#90d9b9;box-shadow:0 0 0 4px #90d9b915}
#kws-chat-widget .kwsc-dialog{display:flex;flex-direction:column;width:392px;height:min(690px,calc(100dvh - 52px));max-height:calc(100dvh - 52px);overflow:hidden;border:1px solid #d1e0e9;border-radius:19px;background:#fff;box-shadow:0 24px 80px #18375342,0 4px 16px #18375316;animation:kwsc-enter .2s ease both}
#kws-chat-widget .kwsc-header{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:70px;padding:13px 17px 11px 22px;border-bottom:1px solid #eef2f5;background:#fff;flex:0 0 auto}
#kws-chat-widget .kwsc-brand{min-width:0;display:flex;align-items:center}
#kws-chat-widget .kwsc-logo{display:block;width:142px;height:37px;object-fit:contain;object-position:left center}
#kws-chat-widget .kwsc-brand-name{font-size:16px;font-weight:650;color:var(--kwsc-navy);line-height:1.2}
#kws-chat-widget .kwsc-close{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#f4f7fa;color:#5b7187;flex:0 0 44px}
#kws-chat-widget .kwsc-close:hover{background:#e9f0f6;color:var(--kwsc-navy)}
#kws-chat-widget .kwsc-close svg{width:18px;height:18px}
#kws-chat-widget .kwsc-identity{display:flex;align-items:center;gap:11px;padding:17px 22px;background:linear-gradient(108deg,#f2f8fb,#fafcfd);border-bottom:1px solid #e4edf3;flex:0 0 auto}
#kws-chat-widget .kwsc-avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:var(--kwsc-teal);border:3px solid #fff;box-shadow:0 0 0 1px #cfe2ed;color:#fff;font-size:15px;font-weight:600;flex:0 0 39px}
#kws-chat-widget .kwsc-identity-words{flex:1;min-width:0}
#kws-chat-widget .kwsc-identity h2{font-size:15px!important;line-height:1.3!important;font-weight:600!important;color:var(--kwsc-navy)!important;letter-spacing:-.015em}
#kws-chat-widget .kwsc-identity p{font-size:10px!important;line-height:1.5!important;color:#6c8196!important;margin-top:3px}
#kws-chat-widget .kwsc-presence{font-size:9px;line-height:1.2;white-space:nowrap;color:#7a7e86;background:#e9eff3;border-radius:12px;padding:5px 7px}
#kws-chat-widget[data-online=true] .kwsc-presence{color:#357963;background:#e4f2eb}
#kws-chat-widget .kwsc-content{position:relative;overflow:auto;min-height:90px;flex:1 1 auto;padding:20px 19px 8px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cedee8 transparent;background:radial-gradient(ellipse at 0 0,#f9fcfe,transparent 70%),#fff}
#kws-chat-widget .kwsc-welcome{padding:2px 2px 13px}
#kws-chat-widget .kwsc-eyebrow{display:block;font-size:8px;font-weight:600;letter-spacing:.12em!important;line-height:1.4;color:#6992a8;margin-bottom:9px}
#kws-chat-widget .kwsc-welcome h3{font-size:23px!important;font-weight:550!important;line-height:1.2!important;letter-spacing:-.04em!important;color:var(--kwsc-navy)!important;margin-bottom:9px}
#kws-chat-widget .kwsc-welcome p{font-size:12px!important;line-height:1.65!important;color:#718297!important}
#kws-chat-widget .kwsc-welcome .kwsc-hours{margin-top:11px;padding:9px 11px;background:#f2f7fa;border-left:2px solid #b6d7e8;border-radius:0 5px 5px 0;font-size:10px!important;line-height:1.5!important;color:#7b8e9d!important}
#kws-chat-widget .kwsc-messages{display:flex;flex-direction:column;gap:16px;padding:2px 0 13px;min-width:0}
#kws-chat-widget .kwsc-message{max-width:91%;min-width:85px;align-self:flex-start}
#kws-chat-widget .kwsc-message-meta{display:flex;align-items:baseline;gap:9px;margin:0 2px 5px;font-size:9px;line-height:1.4;color:#8a9bab}
#kws-chat-widget .kwsc-message-meta strong{font-size:9px;font-weight:550;color:#617e92}
#kws-chat-widget .kwsc-message-meta time{font-size:8px;color:#95a4af;font-variant-numeric:tabular-nums}
#kws-chat-widget .kwsc-message-body{font-size:12px!important;line-height:1.65!important;font-weight:400!important;background:#eff5f9;color:#334b61!important;border:1px solid #e2ebf1;border-radius:3px 11px 11px 11px;padding:11px 13px!important;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;text-align:left}
#kws-chat-widget .kwsc-message-visitor{align-self:flex-end}
#kws-chat-widget .kwsc-message-visitor .kwsc-message-meta{justify-content:flex-end}
#kws-chat-widget .kwsc-message-visitor .kwsc-message-body{background:#247ca5;color:#fff!important;border-color:#247ca5;border-radius:11px 3px 11px 11px}
#kws-chat-widget .kwsc-jump{position:sticky;bottom:4px;display:flex;align-items:center;gap:6px;margin:0 auto 8px;padding:8px 11px;border:1px solid #cfe1eb;border-radius:20px;background:#fff;color:#347a9b;font-size:10px;line-height:1.2;box-shadow:0 3px 10px #193b5912;min-height:34px}
#kws-chat-widget .kwsc-jump svg{width:13px;height:13px}
#kws-chat-widget .kwsc-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px;background:#fff6e8;border-top:1px solid #f1e2c8;color:#886b3e;font-size:10px;line-height:1.55;flex:0 0 auto}
#kws-chat-widget .kwsc-notice[data-kind=success]{background:#f0f8f4;border-color:#dcece4;color:#4d7868}
#kws-chat-widget .kwsc-notice-action{padding:5px 0;min-height:34px;background:transparent;color:inherit;font-size:10px;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
#kws-chat-widget .kwsc-compose{padding:15px 20px 13px;border-top:1px solid #e5edf2;background:#fff;flex:0 0 auto}
#kws-chat-widget .kwsc-first-contact{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:13px}
#kws-chat-widget .kwsc-field{display:block;min-width:0}
#kws-chat-widget .kwsc-field-label,#kws-chat-widget .kwsc-message-label{display:block;font-size:9px;font-weight:550;line-height:1.4;color:#60778b;margin-bottom:6px}
#kws-chat-widget .kwsc-input{display:block;min-width:0;width:100%;height:39px;padding:8px 10px!important;border:1px solid #d8e3eb!important;border-radius:7px!important;background:#fbfcfe!important;color:#304960!important;font-size:11px!important;line-height:1.4!important;box-shadow:none!important}
#kws-chat-widget :is(.kwsc-input,.kwsc-textarea)::placeholder{color:#a0aebb;opacity:1}
#kws-chat-widget .kwsc-textarea{display:block;resize:vertical;min-height:74px;max-height:150px;min-width:0;width:100%;padding:10px 11px!important;border:1px solid #d8e3eb!important;border-radius:8px!important;background:#fbfcfe!important;color:#304960!important;font-size:12px!important;line-height:1.55!important;box-shadow:none!important}
#kws-chat-widget :is(.kwsc-input,.kwsc-textarea):focus{border-color:#70afcb!important;background:#fff!important;outline:2px solid #a6d3e64d;outline-offset:1px}
#kws-chat-widget :is(.kwsc-input,.kwsc-textarea)[readonly]{background:#f4f7fa!important;color:#73879a!important}
#kws-chat-widget .kwsc-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
#kws-chat-widget .kwsc-compose-hint{display:block;margin-top:7px;color:#9aabb8;font-size:9px;line-height:1.4}
#kws-chat-widget .kwsc-composer-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
#kws-chat-widget .kwsc-count{color:#a4b2bd;font-size:9px;line-height:1.3;font-variant-numeric:tabular-nums}
#kws-chat-widget .kwsc-send{display:flex;align-items:center;justify-content:center;gap:14px;min-height:42px;padding:10px 14px;border-radius:8px;background:var(--kwsc-navy);color:#fff;font-size:11px;font-weight:550;line-height:1.2}
#kws-chat-widget .kwsc-send:hover{background:#2a456a}
#kws-chat-widget .kwsc-send svg{width:15px;height:15px;stroke-width:1.8}
#kws-chat-widget .kwsc-add-contact{border-top:1px solid #edf2f5;padding:0 20px 9px;flex:0 0 auto}
#kws-chat-widget .kwsc-contact-toggle{min-height:38px;padding:7px 0;background:transparent;color:#5b8ca5;font-size:10px;text-align:left}
#kws-chat-widget .kwsc-add-contact-fields{display:flex;align-items:flex-end;gap:9px;padding:2px 0 5px}
#kws-chat-widget .kwsc-add-contact-fields .kwsc-field{flex:1}
#kws-chat-widget .kwsc-save-contact{min-height:39px;padding:9px 11px;background:#eaf3f8;color:#356f8d;border:1px solid #d1e4ee;border-radius:7px;font-size:10px;white-space:nowrap}
#kws-chat-widget .kwsc-resolved{padding:16px 20px 18px;border-top:1px solid #e4edf3;background:#f7fafb;flex:0 0 auto}
#kws-chat-widget .kwsc-resolved>strong{display:block;font-size:12px;color:#526d7e;font-weight:550;line-height:1.4}
#kws-chat-widget .kwsc-resolved>p{font-size:10px!important;line-height:1.6!important;color:#8a9daa!important;margin-top:4px}
#kws-chat-widget .kwsc-new-chat{display:block;width:100%;margin-top:13px;min-height:42px;background:var(--kwsc-navy);color:#fff;border-radius:7px;padding:11px;font-size:11px}
#kws-chat-widget .kwsc-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:10px 20px;background:#fafcfd;border-top:1px solid #edf2f5;color:#96a7b5;font-size:8px;line-height:1.4}
#kws-chat-widget .kwsc-footer a{color:#7d94a8;text-decoration:none;font-size:8px}
#kws-chat-widget .kwsc-footer a:hover{text-decoration:underline}
@keyframes kwsc-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(max-width:600px){#kws-chat-widget{right:14px;bottom:calc(82px + env(safe-area-inset-bottom,0px))}#kws-chat-widget .kwsc-launcher{min-height:59px;min-width:207px;padding:11px 14px 11px 11px;border-radius:13px;gap:10px}#kws-chat-widget .kwsc-launcher-icon{width:32px;height:32px}#kws-chat-widget .kwsc-launcher-words strong{font-size:13px}#kws-chat-widget .kwsc-launcher-words>span{font-size:9px}#kws-chat-widget .kwsc-dialog{width:min(392px,calc(100vw - 28px));height:min(680px,calc(100dvh - 110px - env(safe-area-inset-bottom,0px)));max-height:calc(100dvh - 110px - env(safe-area-inset-bottom,0px));border-radius:16px}#kws-chat-widget .kwsc-header{padding:9px 12px 9px 18px;min-height:60px}#kws-chat-widget .kwsc-logo{width:131px;height:33px}#kws-chat-widget .kwsc-identity{padding:13px 17px;gap:9px}#kws-chat-widget .kwsc-identity h2{font-size:14px!important}#kws-chat-widget .kwsc-identity p{font-size:9px!important}#kws-chat-widget .kwsc-content{padding:16px 16px 6px;min-height:78px}#kws-chat-widget .kwsc-welcome h3{font-size:21px!important}#kws-chat-widget .kwsc-welcome p{font-size:11px!important}#kws-chat-widget .kwsc-welcome .kwsc-hours{font-size:9px!important;padding:8px 9px}#kws-chat-widget .kwsc-compose{padding:12px 16px 11px}#kws-chat-widget .kwsc-first-contact{gap:9px;margin-bottom:10px}#kws-chat-widget .kwsc-input{font-size:16px!important;height:42px;padding:8px!important}#kws-chat-widget .kwsc-textarea{font-size:16px!important;min-height:70px;max-height:115px;padding:9px!important;line-height:1.4!important}#kws-chat-widget .kwsc-send{min-height:44px;padding:11px 13px}#kws-chat-widget .kwsc-add-contact{padding:0 16px 8px}#kws-chat-widget .kwsc-notice{padding:8px 15px;font-size:9px}#kws-chat-widget .kwsc-footer{padding:9px 16px}#kws-chat-widget .kwsc-close{width:44px;height:44px}#kws-chat-widget .kwsc-message-body{font-size:12px!important}#kws-chat-widget .kwsc-contact-toggle{min-height:44px}}
@media(max-height:700px){#kws-chat-widget .kwsc-welcome .kwsc-hours{display:none}#kws-chat-widget .kwsc-welcome h3{font-size:20px!important}#kws-chat-widget .kwsc-identity{padding-block:11px}#kws-chat-widget .kwsc-content{padding-top:13px}#kws-chat-widget .kwsc-first-contact{margin-bottom:9px}#kws-chat-widget .kwsc-compose{padding-top:11px}#kws-chat-widget .kwsc-textarea{min-height:60px;max-height:90px}#kws-chat-widget .kwsc-footer{padding-block:8px}}
#kws-chat-widget[data-compact=true] .kwsc-dialog{overflow-y:auto}
#kws-chat-widget[data-compact=true] :is(.kwsc-identity,.kwsc-welcome,.kwsc-footer){display:none}
#kws-chat-widget[data-compact=true] .kwsc-header{min-height:50px;padding-block:4px}
#kws-chat-widget[data-compact=true] .kwsc-content{min-height:24px;padding-block:9px}
#kws-chat-widget[data-compact=true] .kwsc-compose{padding-block:10px}
#kws-chat-widget[data-compact=true] .kwsc-textarea{min-height:55px;max-height:85px}
#kws-chat-widget[data-compact=true] .kwsc-compose-hint{display:none}
@media(prefers-reduced-motion:reduce){#kws-chat-widget *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
