/* AI Chat Widget */
#aia-chat { --aia-offset:24px; position:fixed; bottom:var(--aia-offset); right:var(--aia-offset); z-index:99999; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; }

#aia-chat.aia-pos-bottom-left { left:var(--aia-offset); right:auto; bottom:var(--aia-offset); top:auto; }
#aia-chat.aia-pos-top-right { top:var(--aia-offset); right:var(--aia-offset); bottom:auto; left:auto; }
#aia-chat.aia-pos-top-left { top:var(--aia-offset); left:var(--aia-offset); bottom:auto; right:auto; }

#aia-toggle { width:58px; height:58px; border-radius:50%; background:var(--aia-color,#2563eb); color:#fff; border:none; cursor:pointer; font-size:24px; box-shadow:0 4px 18px rgba(37,99,235,.4); transition:transform .2s,box-shadow .2s; position:relative; display:flex; align-items:center; justify-content:center; }
#aia-toggle:hover { transform:scale(1.07); box-shadow:0 6px 24px rgba(37,99,235,.5); }
.aia-badge-dot { position:absolute; top:-3px; right:-3px; width:14px; height:14px; background:#ef4444; border-radius:50%; border:2px solid #fff; }

#aia-window { position:absolute; bottom:70px; right:0; width:min(350px, calc(100vw - 20px)); max-width:calc(100vw - 20px); max-height:min(520px, 80vh); background:#fff; border-radius:14px; box-shadow:0 10px 40px rgba(0,0,0,.16); display:flex; flex-direction:column; overflow:hidden; box-sizing:border-box; animation:aiaSU .22s ease; }
#aia-chat.aia-pos-bottom-left #aia-window,
#aia-chat.aia-pos-top-left #aia-window { left:0; right:auto; }
#aia-chat.aia-pos-top-right #aia-window,
#aia-chat.aia-pos-top-left #aia-window { top:70px; bottom:auto; }
@keyframes aiaSU { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }

#aia-header { background:var(--aia-color,#2563eb); color:#fff; padding:13px 15px; display:flex; align-items:center; gap:11px; }
.aia-avatar { width:38px; height:38px; background:rgba(255,255,255,.2); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
#aia-bot-name { font-weight:700; font-size:14px; }
#aia-close { background:none; border:none; color:#fff; font-size:16px; cursor:pointer; opacity:.8; padding:4px; }
#aia-close:hover { opacity:1; }

#aia-messages { flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:9px; background:#f8fafc; }
.aia-bubble { max-width:83%; padding:9px 13px; border-radius:14px; font-size:13.5px; line-height:1.5; word-break:break-word; animation:aiaFI .18s ease; }
@keyframes aiaFI { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:translateY(0)} }
.aia-bubble.bot  { background:#fff; color:#1f2937; border-bottom-left-radius:3px; box-shadow:0 1px 3px rgba(0,0,0,.07); align-self:flex-start; }
.aia-bubble.user { background:var(--aia-color,#2563eb); color:#fff; border-bottom-right-radius:3px; align-self:flex-end; }
.aia-lead-notice { background:#ecfdf5; border:1px solid #6ee7b7; color:#065f46; border-radius:9px; padding:9px 13px; font-size:12.5px; text-align:center; align-self:center; }

.aia-dots { display:inline-flex; gap:4px; align-items:center; padding:3px 0; }
.aia-dots span { width:6px; height:6px; background:#9ca3af; border-radius:50%; animation:aiaBounce 1.1s infinite; }
.aia-dots span:nth-child(2){animation-delay:.18s} .aia-dots span:nth-child(3){animation-delay:.36s}
@keyframes aiaBounce { 0%,80%,100%{transform:translateY(0)} 40%{transform:translateY(-5px)} }

#aia-input-row { display:flex; gap:7px; padding:10px 12px; border-top:1px solid #e5e7eb; background:#fff; }
#aia-input { flex:1; border:1px solid #d1d5db; border-radius:22px; padding:7px 14px; font-size:13.5px; outline:none; transition:border-color .2s; }
#aia-input:focus { border-color:var(--aia-color,#2563eb); }
#aia-send { width:38px; height:38px; background:var(--aia-color,#2563eb); color:#fff; border:none; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:opacity .2s; }
#aia-send:hover { opacity:.85; }
#aia-send:disabled { opacity:.4; cursor:not-allowed; }
#aia-input:disabled { opacity:.6; }

#aia-footer { text-align:center; font-size:11px; color:#b0b7c3; padding:5px; background:#fff; border-top:1px solid #f3f4f6; }

@media(max-width:400px){
    #aia-chat { --aia-offset:14px; }
    #aia-window { width:calc(100vw - 20px); max-width:calc(100vw - 20px); }
}
