:root{ --rcp-theme:#0a58ca; }
.rcp-ai-floating-container{ position:fixed; right:16px; bottom:16px; z-index:9999; }
.rcp-ai-embedded-container{ width:100%; max-width:680px; margin:16px auto; }
.rcp-ai-fab{ width:56px; height:56px; border-radius:50%; border:none; background:var(--rcp-theme); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(0,0,0,.25); cursor:pointer; padding:0; }
.rcp-ai-fab img{ width:28px;height:28px;border-radius:6px;display:block; }
.rcp-ai-chat-window{ position:fixed; right:16px; bottom:84px; width:360px; max-width:90vw; max-height:70vh; background:#fff; border-radius:12px; box-shadow:0 12px 28px rgba(0,0,0,.28); overflow:hidden; display:none; }
.rcp-ai-embedded-container .rcp-ai-chat-window{ position:relative; right:auto; bottom:auto; width:100%; max-height:70vh; display:block; }
.rcp-ai-chat-window.open{ display:block; }
.rcp-ai-header{ padding:12px 12px; display:flex; align-items:center; justify-content:space-between; color:#fff; background:var(--rcp-theme); }
.rcp-ai-brand{ display:flex; align-items:center; gap:8px; }
.rcp-ai-logo{ width:32px; height:32px; object-fit:cover; border-radius:3px; background:#fff; }
.rcp-ai-title{ font-weight:600; }
.rcp-ai-close{ background:transparent; border:none; color:#fff; font-size:22px; cursor:pointer; }
.rcp-ai-messages{ padding:12px; height:280px; overflow:auto; background:#f7f7f8; }
.rcp-msg{ padding:10px 12px; border-radius:12px; margin:8px 0; line-height:1.4; max-width:85%; word-wrap:break-word; }
.rcp-msg.user{ margin-left:auto; background:#e6f0ff; }
.rcp-msg.bot{ margin-right:auto; background:#fff; border:1px solid #eee; }
.rcp-ai-form{ border-top:1px solid #eee; padding:8px; display:flex; flex-direction:column; gap:6px; background:#fff; }
#rcp-ai-input{ width:100%; resize:vertical; border:1px solid #ddd; border-radius:8px; padding:8px; }
.rcp-ai-actions{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.rcp-ai-send{ background:var(--rcp-theme); color:#fff; border:none; padding:8px 12px; border-radius:8px; cursor:pointer; }
.rcp-ai-consent{ font-size:12px; display:flex; align-items:center; gap:6px; }
.rcp-typing{ display:inline-block; padding:8px 10px; background:#fff; border:1px solid #eee; border-radius:12px; margin:8px 0; }
.screen-reader-text{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }