.kf-fab { position:fixed; right:18px; bottom:90px; width:52px; height:52px; border-radius:50%;
  background:linear-gradient(135deg,#2563eb,#1d4ed8); color:#fff; font-size:22px;
  display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(37,99,235,.4); z-index:99990; cursor:pointer; }
.kf-panel { position:fixed; right:18px; bottom:150px; width:340px; height:460px; background:#fff; border-radius:12px;
  box-shadow:0 12px 40px rgba(15,23,42,.25); display:flex; flex-direction:column; z-index:99991; overflow:hidden; }
.kf-head { padding:12px 14px; background:linear-gradient(135deg,#1e3a8a,#1d4ed8); color:#fff; font-size:14px; display:flex; justify-content:space-between; align-items:center; }
.kf-close { cursor:pointer; opacity:.8; }
.kf-box { flex:1; overflow-y:auto; padding:12px; background:#f4f6fb; display:flex; flex-direction:column; gap:8px; }
.kf-msg { display:flex; }
.kf-msg.kf-me { justify-content:flex-end; }
.kf-bubble { max-width:78%; padding:8px 12px; border-radius:10px; font-size:13px; line-height:1.5; word-break:break-word; }
.kf-them .kf-bubble { background:#fff; color:#2b2f3a; }
.kf-me .kf-bubble { background:#2563eb; color:#fff; }
.kf-input { display:flex; padding:8px; gap:6px; border-top:1px solid #eef2f8; background:#fff; }
.kf-input input { flex:1; border:1px solid #dbe3ef; border-radius:8px; padding:8px 10px; font-size:13px; outline:none; }
.kf-input button { padding:8px 14px; background:#2563eb; color:#fff; border:none; border-radius:8px; font-size:13px; cursor:pointer; }
