.saui-widget{--primary:#0c403b;--accent:#83ad32;--panel:#fff;--bot:#f0f2f5;--user:#e5f0d0;--text:#1d2327;--input:#1295a5;position:fixed;right:24px;bottom:24px;z-index:999999;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}
.saui-launcher-row{display:flex;align-items:center;justify-content:flex-end;gap:14px;animation:saui-float 3s ease-in-out infinite}
.saui-launcher{width:62px;height:62px;padding:3px;border:2px solid var(--accent);border-radius:50%;background:#fff;box-shadow:0 8px 28px #102c2730;cursor:pointer;overflow:hidden;transition:.2s transform}
.saui-launcher:hover{transform:translateY(-2px)}
.saui-launcher img,.saui-avatar-preview img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.saui-avatar-fallback{display:grid;width:100%;height:100%;place-items:center;border-radius:50%;background:#f6f7f7}
.saui-tip{position:relative;min-width:96px;max-width:190px;padding:14px 22px 14px 20px;border-radius:14px;border:2px solid var(--accent);background:#fff;color:var(--primary);font-weight:700;box-shadow:0 8px 24px #18251020;transition:.2s}
.saui-tip:before,.saui-tip:after{content:"";position:absolute;top:50%;transform:translateY(-50%);border-style:solid;border-color:transparent}
.saui-tip:before{right:-9px;border-width:9px 0 9px 9px;border-left-color:var(--accent)}
.saui-tip:after{right:-7px;border-width:7px 0 7px 7px;border-left-color:#fff}
.saui-tip-hover{display:none}
/* Only swap in the secondary label on devices with a real mouse hover.
   Gating by (hover:hover) stops touch devices, which fire :hover on tap
   with no hover-out event, from getting stuck showing the wider text. */
@media(hover:hover) and (pointer:fine){
    .saui-launcher-row:hover .saui-tip-initial{display:none}
    .saui-launcher-row:hover .saui-tip-hover{display:inline}
}
.saui-tip-close{position:absolute;left:-9px;top:-9px;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:var(--primary);color:#fff;font-size:15px;line-height:18px;cursor:pointer;z-index:2}
.saui-tip.is-dismissed{display:none}
.saui-panel{position:absolute;right:0;bottom:0;width:360px;max-width:calc(100vw - 24px);height:520px;max-height:calc(100vh - 120px);border:1px solid #dfe3e5;border-radius:18px;background:var(--panel);box-shadow:0 16px 50px #14201e2b;overflow:hidden}
.saui-panel[hidden]{display:none}
.saui-panel header{display:flex;justify-content:space-between;align-items:flex-start;padding:17px 18px 14px;border-bottom:1px solid #eef0f2}
.saui-panel header strong,.saui-panel header small{display:block}
.saui-panel header strong{font-size:17px}
.saui-panel header small{margin-top:4px;color:#778087;font-size:12px}
.saui-panel-close{width:25px;height:25px;padding:0;border:0;border-radius:50%;background:var(--primary);color:#fff;font-size:20px;line-height:22px;cursor:pointer}
.saui-messages{height:calc(100% - 130px);padding:16px;overflow:auto}
.saui-message{display:flex;align-items:flex-end;gap:9px;margin:0 0 11px;animation:saui-in .25s ease}
.saui-message.user{justify-content:flex-end}
.saui-message .saui-msg-avatar{flex:0 0 28px;width:28px;height:28px}
.saui-message .saui-msg-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.saui-message p{max-width:75%;margin:0;padding:9px 12px;border-radius:5px 12px 12px;background:var(--bot)}
.saui-message.user p{border-radius:var(--user-radius,10px 10px 0 10px);background:var(--user)}
.saui-message-action{display:block;width:max-content;max-width:100%;margin-top:8px;padding:7px 11px;border-radius:8px;background:var(--primary);color:#fff!important;font-weight:700;text-decoration:none!important;line-height:18px;transition:filter .15s ease,transform .15s ease}
.saui-message-action:hover,.saui-message-action:focus{color:#fff!important;filter:brightness(1.12);transform:translateY(-1px)}
.saui-typing p{display:flex;align-items:center;gap:4px;padding:11px 12px}
.saui-dot{width:6px;height:6px;border-radius:50%;background:#9aa2a8;animation:saui-wave 1.1s ease-in-out infinite}
.saui-dot:nth-child(2){animation-delay:.15s}
.saui-dot:nth-child(3){animation-delay:.3s}
@keyframes saui-wave{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.saui-input-form{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;padding:3px 5px 3px 14px;border:1.5px solid var(--input);border-radius:22px;background:#fff}
.saui-input-form input{flex:1;min-width:0;padding:8px 0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent;font:inherit}
.saui-input-form button{width:30px;height:30px;padding:0;border:0;background:transparent;color:#7c878d;cursor:pointer}
.saui-send{color:var(--primary)!important}
.saui-widget.is-open .saui-launcher-row{display:none}
@keyframes saui-in{from{opacity:0;transform:translateY(5px)}}
@keyframes saui-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:480px){.saui-widget{right:12px!important;bottom:12px!important}.saui-panel{position:fixed;inset:12px;width:auto!important;height:auto;max-width:none;max-height:none}.saui-launcher{width:58px;height:58px}.saui-tip{max-width:150px}}
@media(prefers-reduced-motion:reduce){.saui-widget *{animation:none!important;transition:none!important}}

/* Keep the assistant controls isolated from aggressive theme button styles. */
.saui-widget .saui-launcher{appearance:none!important;width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important;padding:3px!important;border:2px solid var(--accent)!important;border-radius:50%!important;background:#fff!important;box-shadow:0 8px 28px #102c2730!important}
.saui-widget .saui-launcher:hover{border-color:var(--accent)!important;background:#fff!important}
.saui-panel .saui-panel-close{appearance:none!important;width:25px!important;height:25px!important;min-width:25px!important;min-height:25px!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--primary)!important;color:#fff!important;font-size:20px!important;line-height:22px!important;box-shadow:none!important}
.saui-panel .saui-panel-close:hover{background:var(--accent)!important;color:#fff!important}
.saui-panel .saui-input-form button{appearance:none!important;width:30px!important;height:30px!important;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
