/* /assets/css/ai_user_operator.css — AI Operator (Users only)
   - Nút nổi (FAB) có thể kéo thả
   - Popup trợ lý AI bám theo safe-bottom + bottom-nav-height
*/
.lk-aiop-fab{
  position:fixed;
  right:14px;
  bottom:calc(var(--bottom-nav-height,64px) + var(--safe-bottom,0px) + 14px);
  width:54px;height:54px;
  border-radius:18px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;user-select:none;
  z-index:99996;
  touch-action:none;
}
.lk-aiop-fab:active{transform:scale(.98)}
.lk-aiop-fab .ico{font-size:22px;line-height:1}
.lk-aiop-fab.dragging{opacity:.9}

.lk-aiop-backdrop{
  position:fixed;inset:0;
  z-index:99997;
  display:none;
  background:rgba(15,23,42,.35);
  backdrop-filter:blur(3px);
}
.lk-aiop-backdrop.show{display:block}

.lk-aiop-panel{
  position:absolute;
  left:12px;right:12px;
  bottom:calc(var(--bottom-nav-height,64px) + var(--safe-bottom,0px) + 12px);
  max-width:560px;
  margin:0 auto;
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:18px;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
  padding:12px;
  min-height:220px;
  max-height:calc(100vh - (var(--bottom-nav-height,64px) + var(--safe-bottom,0px) + 24px));
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  transform:translateY(8px);
  opacity:0;
  transition:transform .15s ease, opacity .15s ease;
}
@supports (height: 100dvh){
  .lk-aiop-panel{
    max-height:calc(100dvh - (var(--bottom-nav-height,64px) + var(--safe-bottom,0px) + 24px));
  }
}
.lk-aiop-backdrop.show .lk-aiop-panel{transform:translateY(0);opacity:1}

.lk-aiop-header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lk-aiop-title{font-weight:900;font-size:14px}
.lk-aiop-sub{font-size:12px;color:#6b7280;margin-top:2px}
.lk-aiop-close{
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  border-radius:12px;
  padding:8px 10px;
  cursor:pointer;
}
.lk-aiop-input{display:flex;gap:8px;margin-top:10px}
.lk-aiop-input input{
  flex:1;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  padding:10px 12px;
  font-size:14px;
  outline:none;
}
.lk-aiop-input button{
  border:1px solid #111;
  background:#111;
  color:#fff;
  border-radius:14px;
  padding:10px 12px;
  font-size:14px;
  cursor:pointer;
}
.lk-aiop-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.lk-aiop-chip{
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  border-radius:999px;
  padding:8px 10px;
  font-size:13px;
  cursor:pointer;
}
.lk-aiop-log{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.lk-aiop-msg{
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  padding:10px 12px;
  font-size:13px;
  line-height:1.35;
  background:#fafafa;
}
.lk-aiop-msg.me{background:#111;color:#fff;border-color:#111}
.lk-aiop-muted{color:#6b7280;font-size:12px}
