.wcai-chat{font-family:inherit;--wcai-accent:#175069}
.wcai-hidden{display:none!important}
/* Framework shield: Bricks/ACSS set element-level styles (section/div/header/button...).
   Cascade layers lose to unlayered styles, so these explicit unlayered declarations
   outrank any layered framework rules for properties the components don't otherwise set. */
.wcai-chat,.wcai-chat *,.wcai-chat *::before,.wcai-chat *::after{box-sizing:border-box}
.wcai-chat{text-align:left}
.wcai-panel{align-items:stretch;justify-content:flex-start;gap:0;margin:0;padding:0;text-align:left;max-width:none}
.wcai-panel header,.wcai-messages,.wcai-form,.wcai-note{margin:0;min-width:0}
.wcai-messages{align-items:stretch;justify-content:flex-start;text-align:left}
.wcai-chat button{margin:0;text-align:center}
.wcai-chat input{margin:0;text-align:left}
.wcai-msg{margin:0;text-align:left}
/* ---------- panel ---------- */
.wcai-panel{width:min(100%,400px);height:400px;max-height:calc(100vh - 130px);background:#fff;border:1px solid #e7edf1;border-radius:20px;box-shadow:0 24px 70px rgba(15,40,55,.25);overflow:hidden;display:flex;flex-direction:column}
.wcai-panel header{background:var(--wcai-accent);color:#fff;padding:10px 12px 10px 14px;display:flex;align-items:center;gap:10px;flex:none;box-shadow:inset 0 -1px 0 rgba(0,0,0,.08)}
.wcai-avatar{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-weight:800;font-size:16px;flex:none}
.wcai-avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none}
.wcai-head-text{display:flex;flex-direction:column;line-height:1.3;flex:1;min-width:0}
.wcai-head-text strong{font-size:14.5px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcai-head-text small{font-size:11.5px;opacity:.88;display:flex;align-items:center;gap:6px}
.wcai-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.25);flex:none}
.wcai-close{border:0;background:rgba(255,255,255,.14);color:#fff;font-size:16px;cursor:pointer;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;line-height:1;padding:0;flex:none}
.wcai-close:hover{background:rgba(255,255,255,.3)}
/* ---------- messages ---------- */
.wcai-messages{flex:1;min-height:0;overflow-y:auto;padding:12px;background:#f6f9fb;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}
.wcai-msg{max-width:88%;padding:9px 13px;border-radius:16px;line-height:1.5;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.wcai-bot{background:#fff;border:1px solid #e7edf1;align-self:flex-start;border-bottom-left-radius:6px;box-shadow:0 1px 2px rgba(15,40,55,.05)}
.wcai-user{background:var(--wcai-accent);color:#fff;align-self:flex-end;border-bottom-right-radius:6px}
.wcai-thinking{opacity:.65}
.wcai-error{border-color:#f0b7b7}
/* ---------- input ---------- */
.wcai-form{display:flex;gap:8px;padding:10px 12px 8px;border-top:1px solid #eef2f5;background:#fff;flex:none;align-items:center}
.wcai-input{flex:1;min-width:0;border:1px solid #d5dee5;border-radius:16px;padding:10px 14px;font:inherit;font-size:14px;background:#fbfcfd}
.wcai-input:focus{outline:none;border-color:var(--wcai-accent);box-shadow:0 0 0 3px rgba(23,80,105,.12);background:#fff}
.wcai-form button{border:0;background:var(--wcai-accent);color:#fff;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;cursor:pointer;flex:none;padding:0}
.wcai-form button:hover{filter:brightness(.92)}
.wcai-note{font-size:11px;color:#8ba0ad;padding:0 12px 10px;background:#fff;flex:none}
.wcai-sources{font-size:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.wcai-sources a{color:var(--wcai-accent);text-decoration:underline}
.wcai-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
/* ---------- floating launcher + positions ---------- */
.wcai-floating{position:fixed;z-index:99999}
.wcai-pos-br{right:22px;bottom:22px}
.wcai-pos-bl{left:22px;bottom:22px}
.wcai-pos-tr{right:22px;top:22px}
.wcai-pos-tl{left:22px;top:22px}
.wcai-launcher{border:0;background:var(--wcai-accent);color:#fff;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 32px rgba(15,40,55,.35);transition:transform .18s ease;padding:0}
.wcai-launcher:hover{transform:scale(1.07)}
.wcai-launcher:active{transform:scale(.96)}
.wcai-icon-close{display:none}
.wcai-open .wcai-icon-chat{display:none}
.wcai-open .wcai-icon-close{display:block}
.wcai-floating .wcai-panel{position:absolute;bottom:76px;width:min(400px,calc(100vw - 32px));height:min(400px,calc(100vh - 180px))}
.wcai-pos-br .wcai-panel{right:0}
.wcai-pos-bl .wcai-panel{left:0}
.wcai-pos-tr .wcai-panel{right:0;top:76px;bottom:auto}
.wcai-pos-tl .wcai-panel{left:0;top:76px;bottom:auto}
.wcai-floating .wcai-panel:not(.wcai-hidden){animation:wcai-pop .25s ease-out;transform-origin:bottom right}
.wcai-pos-bl .wcai-panel:not(.wcai-hidden){transform-origin:bottom left}
.wcai-pos-tr .wcai-panel:not(.wcai-hidden){transform-origin:top right}
.wcai-pos-tl .wcai-panel:not(.wcai-hidden){transform-origin:top left}
@keyframes wcai-pop{from{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:none}}
/* ---------- mobile: full screen ---------- */
@media(max-width:520px){
.wcai-floating .wcai-panel{position:fixed;inset:0;width:auto;height:100dvh;max-height:none;border-radius:0;border:0}
.wcai-floating .wcai-panel:not(.wcai-hidden){transform-origin:center}
}
/* ---------- markdown ---------- */
.wcai-list{margin:6px 0;padding-left:22px}
.wcai-list li{margin:3px 0}
.wcai-msg code{background:rgba(0,0,0,.07);padding:1px 5px;border-radius:5px;font-size:.92em}
.wcai-msg strong{font-weight:700}
/* ---------- lead capture & handoff ---------- */
.wcai-leadform{display:flex;flex-direction:column;gap:8px;max-width:88%}
.wcai-leadprompt{font-size:14px;line-height:1.5}
.wcai-leadform input{font:inherit;font-size:14px;border:1px solid #d5dee5;border-radius:10px;padding:9px 12px;background:#fbfcfd;width:100%}
.wcai-leadform input:focus{outline:none;border-color:var(--wcai-accent);box-shadow:0 0 0 3px rgba(23,80,105,.12);background:#fff}
.wcai-leadbtn{border:0;background:var(--wcai-accent);color:#fff;font:inherit;font-weight:600;font-size:14px;border-radius:10px;padding:10px 16px;cursor:pointer}
.wcai-leadbtn:hover{filter:brightness(.92)}
.wcai-leadbtn:disabled{opacity:.6;cursor:default}
.wcai-leaderr{color:#b91c1c;font-size:13px;min-height:0}
.wcai-leaderr:not(:empty){min-height:18px}
.wcai-handoff{display:block;width:calc(100% - 24px);margin:2px 12px 0;background:none;border:0;color:var(--wcai-accent);font:inherit;font-size:13px;font-weight:600;padding:8px;cursor:pointer;text-align:center}
.wcai-handoff:hover{text-decoration:underline}
