.rm-chat-launcher{
  position:fixed; bottom:24px; right:24px; z-index:999; width:60px; height:60px; border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep)); color:#fff; border:none; cursor:pointer;
  box-shadow:0 10px 30px rgba(197,160,89,.5); display:flex; align-items:center; justify-content:center;
  font-size:26px; transition:.2s;
}
.rm-chat-launcher:hover{transform:scale(1.06)}
.rm-chat-launcher .dot{position:absolute; top:6px; right:6px; width:11px; height:11px; background:#2FBF71; border-radius:50%; border:2px solid #fff}

.rm-chat-window{
  position:fixed; bottom:98px; right:24px; z-index:999; width:380px; max-width:calc(100vw - 32px);
  height:min(600px, calc(100vh - 140px)); background:#fff; border-radius:18px; box-shadow:0 26px 70px rgba(0,10,25,.35);
  display:flex; flex-direction:column; overflow:hidden; opacity:0; transform:translateY(16px) scale(.98);
  pointer-events:none; transition:.22s;
}
.rm-chat-window.open{opacity:1; transform:translateY(0) scale(1); pointer-events:auto}

.rm-chat-header{
  background:linear-gradient(120deg,var(--navy),#012a52); color:#fff; padding:16px 18px;
  display:flex; align-items:center; gap:12px;
}
.rm-chat-avatar{width:38px; height:38px; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700}
.rm-chat-header .info{flex:1}
.rm-chat-header .name{font-weight:700; font-size:14.5px}
.rm-chat-header .status{font-size:11.5px; opacity:.75; display:flex; align-items:center; gap:5px}
.rm-chat-header .status::before{content:''; width:7px; height:7px; border-radius:50%; background:#2FBF71}
.rm-chat-close{background:none; border:0; color:#fff; font-size:20px; cursor:pointer; opacity:.8}
.rm-chat-close:hover{opacity:1}

.rm-chat-body{flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:12px; background:#FAFAFA}
.rm-msg{max-width:82%; padding:11px 14px; border-radius:14px; font-size:13.8px; line-height:1.5; white-space:pre-wrap}
.rm-msg.bot{background:#fff; border:1px solid var(--border); border-bottom-left-radius:4px; align-self:flex-start; color:var(--ink)}
.rm-msg.user{background:var(--navy); color:#fff; border-bottom-right-radius:4px; align-self:flex-end}
.rm-msg.ref{background:rgba(197,160,89,.12); border:1px solid rgba(197,160,89,.4); align-self:flex-start; font-weight:600; color:var(--gold-deep)}
.rm-typing{align-self:flex-start; display:flex; gap:4px; padding:12px 14px; background:#fff; border:1px solid var(--border); border-radius:14px; border-bottom-left-radius:4px}
.rm-typing span{width:6px; height:6px; border-radius:50%; background:var(--ink-faint); animation:rmTyping 1.1s infinite ease-in-out}
.rm-typing span:nth-child(2){animation-delay:.15s}
.rm-typing span:nth-child(3){animation-delay:.3s}
@keyframes rmTyping{0%,60%,100%{opacity:.3; transform:translateY(0)}30%{opacity:1; transform:translateY(-3px)}}

.rm-chat-quick{display:flex; gap:8px; padding:0 16px 12px; flex-wrap:wrap}
.rm-chip{background:#fff; border:1px solid var(--border); border-radius:999px; padding:7px 13px; font-size:12px; font-weight:600; cursor:pointer; color:var(--ink-soft)}
.rm-chip:hover{border-color:var(--gold); color:var(--gold-deep)}

.rm-chat-input{display:flex; gap:8px; padding:12px; border-top:1px solid var(--border); background:#fff}
.rm-chat-input input{flex:1; border:1px solid var(--border); border-radius:999px; padding:11px 16px; font-size:13.8px; font-family:var(--sans)}
.rm-chat-input input:focus{outline:2px solid var(--gold)}
.rm-chat-input button{width:42px; height:42px; border-radius:50%; background:var(--gold); border:0; color:#fff; cursor:pointer; font-size:16px; flex-shrink:0}
.rm-chat-input button:disabled{opacity:.5; cursor:not-allowed}

@media(max-width:480px){
  .rm-chat-window{right:12px; left:12px; width:auto; bottom:88px}
  .rm-chat-launcher{right:16px; bottom:16px}
}
