#caacv2-root { position: fixed; right: 16px; bottom: 16px; z-index: 999999; font-family: Arial, sans-serif; }
#caacv2-toggle { width:56px; height:56px; border-radius:999px; border:none; background:#2563eb; color:#fff; display:grid; place-items:center; cursor:pointer; box-shadow:0 8px 20px rgba(0,0,0,.15); }
#caacv2-window { position: absolute; bottom:72px; right:0; width:360px; max-width:92vw; background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 20px 40px rgba(0,0,0,.2); display:none; }
#caacv2-window.open { display:grid; grid-template-rows: auto 1fr auto; }
.caacv2-header { background:#2563eb; color:#fff; padding:10px 12px; display:flex; align-items:center; gap:8px; }
.caacv2-title { font-weight:600; flex:1; }
.caacv2-close { background:transparent; border:none; color:#fff; font-size:20px; cursor:pointer; }
.caacv2-wa { background: rgba(255,255,255,.2); padding:4px 8px; border-radius:6px; color:#fff; text-decoration:none; font-size:12px; }
.caacv2-body { background:#f8fafc; display:grid; grid-template-rows: 1fr auto; }
.caacv2-messages { padding:12px; max-height:300px; overflow:auto; }
.caacv2-msg { display:flex; margin:8px 0; }
.caacv2-msg.user { justify-content:flex-end; }
.caacv2-msg.admin { justify-content:flex-end; }
.caacv2-msg.system { justify-content:flex-start; }
.caacv2-bubble { max-width:80%; padding:10px 12px; border-radius:12px; line-height:1.35; font-size:14px; }
.caacv2-msg.user .caacv2-bubble, .caacv2-msg.admin .caacv2-bubble { background:#2563eb; color:#fff; border-bottom-right-radius:4px; }
.caacv2-msg.system .caacv2-bubble { background:#e5e7eb; color:#111827; border-bottom-left-radius:4px; }
.caacv2-form { display:flex; gap:8px; padding:10px; border-top:1px solid #e5e7eb; }
.caacv2-form input[type="text"] { flex:1; padding:10px 12px; border:1px solid #e5e7eb; border-radius:8px; }
.caacv2-send { padding:10px 14px; border:none; border-radius:8px; background:#2563eb; color:#fff; font-weight:600; cursor:pointer; }
