.tef-chat-root { position: fixed; right: 18px; bottom: 18px; z-index: 99999; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.tef-hidden { display: none !important; }

.tef-chat-bubble{
  width: 56px; height: 56px; border-radius: 50%;
  border: none; cursor: pointer; font-size: 22px;
  box-shadow: 0 10px 25px rgba(0,0,0,.18);
  background: #40947e; color: #fff;
}

.tef-chat-panel{
  width: 360px; max-width: calc(100vw - 36px);
  height: 520px; max-height: calc(100vh - 36px);
  border-radius: 14px;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  background: #fff; overflow: hidden;
  display: flex; flex-direction: column;
}

.tef-chat-header{
  display:flex; align-items:center; justify-content: space-between;
  padding: 12px 12px; background: steelblue; color:#fff;
}
.tef-chat-title{ font-weight: 600; }
.tef-chat-close{
  border:none; background: transparent; color:#fff;
  font-size: 18px; cursor:pointer; padding: 6px 8px; border-radius: 10px;
}
.tef-chat-close:hover{ background: rgba(255,255,255,.16); }

.tef-chat-messages{
  flex:1; padding: 12px; overflow:auto; background: #f7f8fb;
}
.tef-chat-row{ display:flex; margin: 8px 0; }
.tef-user{ justify-content:flex-end; }
.tef-assistant{ justify-content:flex-start; }
.tef-chat-msg{
  max-width: 82%;
  padding: 10px 12px;
  border-radius: 12px;
  white-space: pre-wrap;
  font-size: 14px; line-height: 1.25rem;
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}
.tef-user .tef-chat-msg{ background: #40947e; color:#fff; border-bottom-right-radius: 4px; }
.tef-assistant .tef-chat-msg{ background:#fff; color:#111; border-bottom-left-radius: 4px; }

.tef-chat-form{
  display:flex; gap: 10px; padding: 12px; background:#fff; border-top: 1px solid #e9edf3;
}
.tef-chat-input{
  flex:1; border: 1px solid #d7deea; border-radius: 12px;
  padding: 10px 12px; font-size: 14px;
}
.tef-chat-send{
  border:none; border-radius: 12px; padding: 10px 14px;
  background:steelblue; color:#fff; cursor:pointer;
}
.tef-chat-send:hover{ opacity: .92; }
