/* OffQen Ask AI — floating assistant in OffQen emerald style. */
.nx-ai-fab {
  position: fixed; right: 1.1rem; bottom: 1.1rem; z-index: 60;
  width: 3.2rem; height: 3.2rem; border-radius: 999px; border: 1px solid rgba(52,211,153,.4);
  background: linear-gradient(135deg, #065f46, #10b981);
  color: #fff; font-size: 1.35rem; cursor: pointer;
  box-shadow: 0 12px 32px rgba(0,0,0,.5), 0 0 24px rgba(16,185,129,.35);
}
.nx-ai-fab:hover { transform: translateY(-2px); }
.nx-ai-panel {
  position: fixed; right: 1.1rem; bottom: 5rem; z-index: 60;
  width: min(92vw, 24rem); max-height: min(70vh, 32rem); display: none; flex-direction: column;
  border-radius: 1.1rem; border: 1px solid rgba(52,211,153,.25); overflow: hidden;
  background: rgba(4,18,13,.95); color: #eafff5;
  box-shadow: 0 24px 64px rgba(0,0,0,.6);
}
.nx-ai-panel.open { display: flex; }
.nx-ai-head { display: flex; align-items: center; justify-content: space-between; padding: .7rem .9rem; border-bottom: 1px solid rgba(52,211,153,.2); font-weight: 600; }
.nx-ai-head button { background: transparent; border: 1px solid rgba(52,211,153,.35); color: inherit; border-radius: .6rem; width: 1.9rem; height: 1.9rem; cursor: pointer; }
.nx-ai-log { padding: .7rem; display: flex; flex-direction: column; gap: .5rem; overflow-y: auto; font-size: .88rem; line-height: 1.5; }
.nx-ai-msg { padding: .55rem .75rem; border-radius: .9rem; background: rgba(255,255,255,.06); border: 1px solid rgba(52,211,153,.15); }
.nx-ai-msg.me { background: rgba(16,185,129,.22); align-self: flex-end; }
.nx-ai-msg a { color: #6ee7b7; }
.nx-ai-form { display: flex; gap: .5rem; padding: .6rem; border-top: 1px solid rgba(52,211,153,.2); }
.nx-ai-form input { flex: 1; border-radius: 999px; border: 1px solid rgba(52,211,153,.3); background: rgba(255,255,255,.05); color: inherit; padding: .55rem .9rem; font-size: .88rem; }
.nx-ai-form button { border-radius: 999px; border: none; padding: .55rem 1rem; font-weight: 600; cursor: pointer; color: #04120d; background: linear-gradient(135deg, #34d399, #10b981); }
.nx-ai-typing { opacity: .7; }
@media (prefers-reduced-motion: reduce) { .nx-ai-fab:hover { transform: none; } }

[data-theme="light"] .nx-ai-panel { background: rgba(255,255,255,.96); color: #0d1a15; }
[data-theme="light"] .nx-ai-msg { background: rgba(10,45,32,.06); border-color: rgba(10,45,32,.16); }
[data-theme="light"] .nx-ai-form input { background: rgba(10,45,32,.05); color: #0d1a15; }
