:root{--sa-chat-blue:#0b5cff;--sa-chat-blue-dark:#0646c7;--sa-chat-ink:#17233c;--sa-chat-muted:#667085;--sa-chat-line:#e4e9f2;--sa-chat-surface:#fff;--sa-chat-wash:#f5f8fc;--sa-chat-user:#e8f0ff;--sa-chat-shadow:0 22px 60px rgba(23,35,60,.18)}
.sa-chat-launcher{position:fixed;left:24px;bottom:24px;z-index:1050;width:62px;height:62px;border:0;border-radius:18px;background:var(--sa-chat-blue);box-shadow:0 12px 28px rgba(11,92,255,.3);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.sa-chat-launcher:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(11,92,255,.38)}.sa-chat-launcher:active{transform:scale(.94)}.sa-chat-launcher[aria-expanded="true"]{transform:rotate(3deg) scale(1.04)}
.sa-chat-launcher-mark{position:absolute;left:18px;top:17px;width:26px;height:21px;border:3px solid #fff;border-radius:8px}.sa-chat-launcher-mark:after{position:absolute;right:1px;bottom:-7px;width:8px;height:8px;border-bottom:3px solid #fff;transform:skew(-24deg);content:""}.sa-chat-launcher-pulse{position:absolute;right:13px;top:12px;width:8px;height:8px;border:2px solid var(--sa-chat-blue);border-radius:50%;background:#52d273}
.sa-chat-panel{position:fixed;left:24px;bottom:102px;z-index:1050;display:flex;flex-direction:column;width:min(430px,calc(100vw - 32px));height:min(700px,calc(100vh - 130px));overflow:hidden;border:1px solid rgba(228,233,242,.9);border-radius:20px;background:var(--sa-chat-surface);box-shadow:var(--sa-chat-shadow);transform-origin:bottom left;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px) scale(.96);transition:opacity .2s ease,transform .24s cubic-bezier(.2,.8,.2,1),visibility .2s}
.sa-chat-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.sa-chat-header{display:flex;align-items:center;justify-content:space-between;padding:19px 20px 17px;color:var(--sa-chat-ink);background:#fff;border-bottom:1px solid var(--sa-chat-line)}.sa-chat-brand{display:flex;align-items:center;gap:12px}.sa-chat-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--sa-chat-blue);color:#fff;font-size:16px;font-weight:800}.sa-chat-eyebrow{display:block;margin-bottom:2px;color:var(--sa-chat-blue);font-size:9px;font-weight:800;letter-spacing:.08em}.sa-chat-header strong{display:block;font-size:17px;letter-spacing:0}.sa-chat-header small{display:flex;align-items:center;gap:5px;margin-top:3px;color:var(--sa-chat-muted);font-size:11px}.sa-chat-status-dot{width:6px;height:6px;border-radius:50%;background:#23b26d}.sa-chat-close{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--sa-chat-muted);font-size:24px;line-height:1;cursor:pointer}.sa-chat-close:hover{background:var(--sa-chat-wash);color:var(--sa-chat-ink)}
.sa-chat-messages{flex:1;overflow-y:auto;padding:24px 18px 20px;background:var(--sa-chat-wash);scrollbar-color:#c9d4e5 transparent;scrollbar-width:thin}.sa-chat-messages:before{display:block;max-width:290px;margin:0 auto 22px;padding:10px 14px;border:1px solid #dbe7ff;border-radius:10px;background:#edf4ff;color:#45618f;content:"Ask about our services, products, or project requirements.";font-size:11px;line-height:1.45;text-align:center}.sa-chat-message{max-width:84%;margin:0 0 14px;padding:12px 14px;border:1px solid transparent;border-radius:14px;color:var(--sa-chat-ink);font-size:13px;line-height:1.55;white-space:pre-wrap;animation:sa-chat-message-in .2s ease both}.sa-chat-message.assistant{border-color:var(--sa-chat-line);border-top-left-radius:5px;background:#fff;box-shadow:0 3px 10px rgba(23,35,60,.04)}.sa-chat-message.user{margin-left:auto;border-top-right-radius:5px;background:var(--sa-chat-user);color:#163d89}.sa-chat-message a{color:var(--sa-chat-blue-dark);font-weight:600;overflow-wrap:anywhere}.sa-chat-time{display:block;margin-top:6px;color:var(--sa-chat-muted);font-size:10px;opacity:.8}.sa-chat-form{display:flex;gap:9px;padding:13px 14px 14px;border-top:1px solid var(--sa-chat-line);background:#fff}.sa-chat-input{flex:1;min-width:0;resize:none;border:1px solid #cbd5e3;border-radius:10px;padding:10px 12px;outline:0;background:#fbfcfe;color:var(--sa-chat-ink);font:inherit;font-size:13px;line-height:1.35;transition:border-color .15s,box-shadow .15s}.sa-chat-input:focus{border-color:var(--sa-chat-blue);box-shadow:0 0 0 3px rgba(11,92,255,.12)}.sa-chat-send{align-self:stretch;min-width:65px;border:0;border-radius:10px;padding:0 15px;background:var(--sa-chat-blue);color:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,transform .15s}.sa-chat-send:hover,.sa-chat-schedule-submit:hover{background:var(--sa-chat-blue-dark)}.sa-chat-send:active,.sa-chat-schedule-submit:active{transform:scale(.97)}.sa-chat-typing{color:var(--sa-chat-muted);font-size:13px;font-style:italic}.sa-chat-message.is-streaming:after{content:"▋";display:inline-block;margin-left:2px;color:var(--sa-chat-blue);animation:sa-chat-cursor .8s steps(2,start) infinite}@keyframes sa-chat-cursor{50%{opacity:0}}@keyframes sa-chat-message-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.sa-chat-schedule-form{display:flex;flex-direction:column;gap:9px;padding:16px 18px 18px;border-top:1px solid var(--sa-chat-line);background:#fff}.sa-chat-schedule-form.hidden{display:none}.sa-chat-schedule-title{margin:0 0 2px;color:var(--sa-chat-ink);font-size:14px;font-weight:700}.sa-chat-schedule-form input,.sa-chat-schedule-form textarea{border:1px solid #cbd5e3;border-radius:9px;padding:9px 10px;outline:0;background:#fbfcfe;color:var(--sa-chat-ink);font:inherit;font-size:12px}.sa-chat-schedule-form input:focus,.sa-chat-schedule-form textarea:focus{border-color:var(--sa-chat-blue);box-shadow:0 0 0 3px rgba(11,92,255,.1)}.sa-chat-schedule-row{display:flex;gap:8px}.sa-chat-schedule-row input{flex:1;min-width:0}.sa-chat-schedule-error{margin:0;color:#c0392b;font-size:12px}.sa-chat-schedule-error.hidden{display:none}.sa-chat-schedule-actions{display:flex;gap:8px}.sa-chat-schedule-submit{flex:1;border:0;border-radius:9px;padding:10px 0;background:var(--sa-chat-blue);color:#fff;font-size:12px;font-weight:700;cursor:pointer}.sa-chat-schedule-cancel{border:1px solid #cbd5e3;border-radius:9px;padding:8px 13px;background:#fff;color:var(--sa-chat-ink);font-size:12px;font-weight:600;cursor:pointer}.sa-chat-schedule-cancel:hover{background:var(--sa-chat-wash)}
@media(max-width:576px){.sa-chat-launcher{left:16px;bottom:16px}.sa-chat-panel{inset:0;width:100%;height:100%;border:0;border-radius:0}.sa-chat-header{padding-top:18px}.sa-chat-messages{padding-top:20px}}

/* Keep the assistant heading compact without changing the widget markup. */
.sa-chat-header{padding:13px 14px 12px}.sa-chat-brand{gap:8px}.sa-chat-avatar{width:34px;height:34px;border-radius:10px;font-size:14px}.sa-chat-brand>div{line-height:1.05}.sa-chat-header strong{font-size:15px;line-height:1.1}.sa-chat-header small{gap:4px;margin-top:1px;font-size:10px;line-height:1.15}.sa-chat-close{width:26px;height:26px;margin-left:6px;font-size:21px}

.sa-chat-message.assistant{max-width:96%;padding:13px 14px 11px}.sa-chat-message-label{display:inline-flex;align-items:center;gap:6px;margin:0 0 9px;padding:4px 8px;border:1px solid #dcebe4;border-radius:999px;background:#f0f7f3;color:#35635d;font-size:9px;font-weight:800;letter-spacing:.075em;line-height:1}.sa-chat-message-icon{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--sa-chat-blue);color:#fff;font-size:10px;letter-spacing:0}.sa-chat-content{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.sa-chat-content p{margin:0 0 9px}.sa-chat-content p:last-child{margin-bottom:0}.sa-chat-content h3,.sa-chat-content h4{margin:12px 0 7px;color:var(--sa-chat-ink);font-weight:800;line-height:1.3}.sa-chat-content h3{font-size:16px}.sa-chat-content h4{font-size:14px}.sa-chat-content h3:first-child,.sa-chat-content h4:first-child{margin-top:0}.sa-chat-content strong{color:#183f3b;font-weight:750}.sa-chat-content em{color:var(--sa-chat-muted)}.sa-chat-content code{padding:1px 5px;border:1px solid var(--sa-chat-line);border-radius:5px;background:var(--sa-chat-wash);font-size:.92em}.sa-chat-list{display:grid;gap:7px;margin:8px 0 10px;padding:0;list-style:none}.sa-chat-list li{position:relative;min-width:0;padding:9px 10px 9px 34px;border:1px solid #e7eee9;border-radius:10px;background:linear-gradient(120deg,#f8fbf9,#fff);line-height:1.5}.sa-chat-list li:before{position:absolute;left:10px;top:10px;display:grid;place-items:center;width:17px;height:17px;border-radius:6px;background:#e8f2ed;color:#35635d;font-size:10px;font-weight:800;line-height:1}.sa-chat-list-unordered li:before{content:"✓"}.sa-chat-list-ordered{counter-reset:sa-chat-step}.sa-chat-list-ordered li{counter-increment:sa-chat-step}.sa-chat-list-ordered li:before{content:counter(sa-chat-step)}.sa-chat-list .sa-chat-item-title{display:inline-block;margin:0 5px 2px 0;padding:2px 7px;border:1px solid #dcebe4;border-radius:999px;background:#edf6f1;color:#285b50;font-size:11px;font-weight:800;line-height:1.35}.sa-chat-content a{display:inline;color:var(--sa-chat-blue-dark);font-weight:700;text-decoration:underline;text-decoration-color:rgba(6,70,199,.35);text-underline-offset:2px;overflow-wrap:anywhere}.sa-chat-content a:hover{color:var(--sa-chat-blue);text-decoration-color:currentColor}.sa-chat-content a:after{content:" ↗";font-size:.85em;text-decoration:none}.sa-chat-message.assistant .sa-chat-time{padding-top:7px;border-top:1px solid #eef1f5}.sa-chat-message.user .sa-chat-content{white-space:pre-wrap}
@media(max-width:576px){.sa-chat-message.assistant{max-width:100%;padding:12px}.sa-chat-content{font-size:13px}.sa-chat-list li{padding-right:8px}}
