:root{
  --aiw-bg:#ffffff;
  --aiw-text:#111827;
  --aiw-muted:#6b7280;
  --aiw-accent:#2563eb;
  --aiw-border:#e5e7eb;
  --aiw-shadow:0 10px 30px rgba(0,0,0,.10);
}

.aiw-badge{
  position:fixed; right:20px; bottom:20px;
  display:flex; align-items:center; gap:10px;
  background:var(--aiw-accent); color:#fff; border-radius:999px; 
  padding:12px 16px; cursor:pointer; box-shadow:var(--aiw-shadow);
  z-index:2147483647;
  font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.aiw-badge .dot{width:10px;height:10px;border-radius:50%;background:#22c55e}

.aiw-panel{
  position:fixed; right:20px; bottom:90px; width:360px; max-width:calc(100vw - 40px);
  background:var(--aiw-bg); border:1px solid var(--aiw-border); border-radius:14px; 
  box-shadow:var(--aiw-shadow); overflow:hidden; display:none; z-index:2147483647;
  font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.aiw-panel.open{display:flex; flex-direction:column; height:520px}

.aiw-header{padding:14px 16px; border-bottom:1px solid var(--aiw-border); background:#f8fafc; display:flex; align-items:center; gap:10px}
.aiw-header h3{margin:0;font-size:16px}
.aiw-close{margin-left:auto; border:none; background:transparent; font-size:18px; cursor:pointer}

.aiw-messages{flex:1; overflow:auto; padding:12px; display:flex; flex-direction:column; gap:10px; background:#fbfbfd}
.aiw-msg{max-width:85%; padding:10px 12px; border-radius:12px; border:1px solid var(--aiw-border); background:#fff}
.aiw-msg.user{align-self:flex-end; background:#e8f0ff; border-color:#c7d8ff}
.aiw-msg.assistant{align-self:flex-start}
.aiw-msg small{display:block; color:var(--aiw-muted); margin-top:6px; font-size:11px}

.aiw-suggestions{display:flex; gap:8px; flex-wrap:wrap; padding:8px 12px; border-top:1px dashed var(--aiw-border); background:#fff}
.aiw-chip{border:1px solid var(--aiw-border); background:#fff; padding:6px 10px; border-radius:999px; font-size:12px; cursor:pointer}
.aiw-chip:hover{border-color:#c7d8ff}

.aiw-input{display:flex; gap:8px; padding:12px; border-top:1px solid var(--aiw-border); background:#fff}
.aiw-input input{flex:1; padding:10px 12px; border-radius:10px; border:1px solid var(--aiw-border); font-size:14px}
.aiw-input button{padding:10px 14px; border-radius:10px; border:1px solid var(--aiw-accent); background:var(--aiw-accent); color:#fff; font-weight:600; cursor:pointer}
.aiw-input button:disabled{opacity:.6; cursor:not-allowed}

.aiw-typing{font-size:12px; color:var(--aiw-muted); padding:0 12px 8px}
