/* TLC review helper — chat bubble + panel (pairs with assistant.js) */
.ai-bubble{
  position:fixed; right:22px; bottom:88px; z-index:9000;
  width:52px; height:52px; border-radius:50%; border:none; cursor:pointer;
  background:#2e6f6a; color:#fff; font-size:22px; line-height:1;
  box-shadow:0 4px 14px rgba(20,50,45,.35);
}
.ai-bubble:hover{ transform:translateY(-2px); }

.ai-panel{
  position:fixed; right:22px; bottom:150px; z-index:9050;
  width:min(360px, calc(100vw - 44px)); height:min(480px, calc(100vh - 190px));
  background:#fff; border:1px solid #d7d2de; border-radius:16px;
  box-shadow:0 12px 40px rgba(40,28,55,.28);
  display:none; flex-direction:column; overflow:hidden;
  font-family:inherit;
}
.ai-panel.open{ display:flex; }

.ai-head{
  display:flex; justify-content:space-between; align-items:center;
  background:#2e6f6a; color:#fff; padding:10px 14px; font-weight:800; font-size:.9rem;
}
.ai-head-btns{ display:flex; gap:6px; }
.ai-head button{
  border:none; background:rgba(255,255,255,.15); color:#fff; border-radius:7px;
  width:26px; height:26px; cursor:pointer; font-size:14px; line-height:1;
}
.ai-head button:hover{ background:rgba(255,255,255,.3); }

.ai-msgs{ flex:1; overflow-y:auto; padding:12px; display:flex; flex-direction:column; gap:8px; background:#faf8fc; }
.ai-msg{
  max-width:85%; padding:9px 12px; border-radius:12px;
  font-size:.86rem; line-height:1.45; white-space:pre-wrap; word-wrap:break-word;
}
.ai-msg.bot{ background:#fff; border:1px solid #e7e3ee; color:#33303a; align-self:flex-start; border-bottom-left-radius:4px; }
.ai-msg.me{ background:#2e6f6a; color:#fff; align-self:flex-end; border-bottom-right-radius:4px; }

.ai-keyrow{ display:flex; gap:6px; align-self:stretch; }
.ai-keyrow input{ flex:1; padding:8px 10px; border:1px solid #d7d2de; border-radius:8px; font:inherit; font-size:.82rem; }
.ai-keyrow button{ border:none; background:#2e6f6a; color:#fff; border-radius:8px; padding:8px 12px; font:inherit; font-weight:700; cursor:pointer; }

.ai-inrow{ display:flex; gap:6px; padding:10px; border-top:1px solid #eee9f1; background:#fff; }
.ai-inrow input{ flex:1; padding:9px 12px; border:1px solid #d7d2de; border-radius:999px; font:inherit; font-size:.86rem; }
.ai-inrow button{
  border:none; background:#2e6f6a; color:#fff; border-radius:50%;
  width:38px; height:38px; cursor:pointer; font-size:15px; line-height:1; flex:0 0 38px;
}
.ai-inrow button#ai-mic{ background:#efecf3; color:#4a4a52; }
.ai-inrow button#ai-mic.live{ background:#b5462f; color:#fff; animation:aiMicPulse 1.2s infinite; }
@keyframes aiMicPulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(181,70,47,.4);} 50%{ box-shadow:0 0 0 8px rgba(181,70,47,0);} }
