#owm-ai, #owm-ai * { box-sizing: border-box; }

#owm-ai { position: fixed; right: 20px; bottom: 20px; z-index: 2147483647 !important; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; }

#owm-ai .owm-ai-fab { display:inline-flex; align-items:center; gap:10px; padding:12px 14px; border:0; cursor:pointer; border-radius:999px; color:#fff !important; background:#111827 !important; box-shadow:0 14px 32px rgba(0,0,0,.25); transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease; }
#owm-ai .owm-ai-fab:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(0,0,0,.28); }
#owm-ai .owm-ai-fab.hide { opacity: 0; pointer-events: none; }
#owm-ai .owm-ai-fab-dot { width: 10px; height: 10px; border-radius: 999px; background: #22c55e; box-shadow: 0 0 0 4px rgba(34,197,94,.18); }
#owm-ai .owm-ai-fab-text { font-weight: 700; font-size: 14px; letter-spacing: .2px; }

#owm-ai .owm-ai-panel { display:flex; flex-direction:column; position:absolute; right:0; bottom:0; width:380px; max-width:calc(100vw - 30px); height:560px; max-height:calc(100vh - 30px); background:#fff !important; border-radius:18px; overflow:hidden; box-shadow:0 18px 60px rgba(0,0,0,.30); border:1px solid rgba(17,24,39,.08); opacity:0; transform:translateY(12px) scale(.98); pointer-events:none; transition:opacity .18s ease, transform .18s ease; }
#owm-ai .owm-ai-panel.open { opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }

#owm-ai .owm-ai-header { display:flex; align-items:center; justify-content:space-between; padding:14px; background:linear-gradient(135deg, #111827 0%, #0b1220 45%, #111827 100%); color:#fff !important; }
#owm-ai .owm-ai-title { display:flex; align-items:center; gap:10px; }
#owm-ai .owm-ai-avatar { width:36px; height:36px; border-radius:12px; background:rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; font-weight:800; letter-spacing:.5px; }
#owm-ai .owm-ai-name { font-weight: 800; font-size: 14px; line-height: 1.2; }
#owm-ai .owm-ai-sub { font-size: 12px; opacity: .85; margin-top: 2px; }
#owm-ai .owm-ai-actions { display:flex; gap:8px; }
#owm-ai .owm-ai-icon { width:34px; height:34px; border-radius:12px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.08); color:#fff !important; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:16px; line-height:1; }
#owm-ai .owm-ai-icon:hover { background: rgba(255,255,255,.14); }

#owm-ai .owm-ai-body { flex:1; overflow:auto; padding:14px 12px; background:#f6f7fb !important; }
#owm-ai .owm-ai-row { display:flex; margin:10px 0; }
#owm-ai .owm-ai-row.user { justify-content:flex-end; }
#owm-ai .owm-ai-row.assistant { justify-content:flex-start; }

#owm-ai .owm-ai-bubble { max-width:82%; padding:10px 12px; border-radius:14px; font-size:13.5px; line-height:1.35; color:#111827 !important; box-shadow:0 6px 16px rgba(0,0,0,.08); word-wrap:break-word; }
#owm-ai .owm-ai-row.user .owm-ai-bubble { background:#111827 !important; color:#fff !important; border-bottom-right-radius:6px; }
#owm-ai .owm-ai-row.assistant .owm-ai-bubble { background:#fff !important; border:1px solid rgba(17,24,39,.08); border-bottom-left-radius:6px; }
#owm-ai .owm-ai-bubble a { color: inherit; text-decoration: underline; }
#owm-ai .owm-ai-row.assistant .owm-ai-bubble a { color:#2563eb; }

#owm-ai .owm-ai-quick { display:flex; gap:8px; flex-wrap:wrap; padding:10px 12px; background:#fff !important; border-top:1px solid rgba(17,24,39,.08); align-items:center; }
#owm-ai .owm-ai-chip { border:1px solid rgba(17,24,39,.12); background:#fff !important; color:#111827 !important; padding:7px 10px; border-radius:999px; font-size:12.5px; cursor:pointer; }
#owm-ai .owm-ai-chip:hover { background:#f3f4f6; }
#owm-ai .owm-ai-link { margin-left:auto; font-size:12.5px; color:#2563eb; text-decoration:none; font-weight:800; }
#owm-ai .owm-ai-link:hover { text-decoration: underline; }

#owm-ai .owm-ai-footer { display:flex; gap:10px; padding:10px 12px; background:#fff !important; border-top:1px solid rgba(17,24,39,.08); }
#owm-ai .owm-ai-input { font-family: inherit !important; flex:1; border:1px solid rgba(17,24,39,.16); border-radius:12px; padding:10px 12px; outline:none; font-size:13.5px; color:#111827 !important; background:#fff !important; }
#owm-ai .owm-ai-input:focus { border-color: rgba(17,24,39,.35); box-shadow: 0 0 0 4px rgba(17,24,39,.08); }
#owm-ai .owm-ai-send { font-family: inherit !important; border:0; background:#111827 !important; color:#fff !important; border-radius:12px; padding:10px 14px; font-weight:800; cursor:pointer; }
#owm-ai .owm-ai-send:hover { filter: brightness(1.05); }

#owm-ai .owm-ai-note { padding:8px 12px; font-size:11.5px; color:rgba(17,24,39,.68); background:#fff !important; border-top:1px solid rgba(17,24,39,.08); }

@media (max-width: 480px) {
  #owm-ai, #owm-ai * { box-sizing: border-box; }

#owm-ai { right: 12px; bottom: 12px; }
  #owm-ai .owm-ai-panel { display:flex; flex-direction:column; width: calc(100vw - 24px); height: 78vh; }
  #owm-ai .owm-ai-body { flex:1; overflow:auto; padding:14px 12px; background:#f6f7fb !important; }
}
