.pl-chat-root{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:500
}

.pl-chat-launcher{
  border:0;
  border-radius:999px;
  padding:13px 18px;
  background:linear-gradient(135deg,#0c69a8,#0c8f94);
  color:#fff;
  box-shadow:0 16px 40px rgba(5,40,70,.28);
  display:flex;
  align-items:center;
  gap:9px;
  font-weight:850
}

.pl-chat-launcher-icon{
  width:27px;
  height:27px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.18)
}

.pl-chat-window{
  position:absolute;
  right:0;
  bottom:64px;
  width:min(390px,calc(100vw - 28px));
  max-height:min(650px,calc(100vh - 100px));
  background:#fff;
  border:1px solid #d8e2e9;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(5,30,50,.3)
}

.pl-chat-header{
  display:flex;
  align-items:center;
  gap:11px;
  padding:16px;
  color:#fff;
  background:linear-gradient(135deg,#0b2d49,#0c7492)
}

.pl-chat-avatar{
  width:42px;
  height:42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#0c5f8e;
  font-weight:900
}

.pl-chat-header>div:nth-child(2){
  display:grid;
  flex:1
}

.pl-chat-header small{
  color:#cde9ee
}

.pl-chat-close{
  border:0;
  background:transparent;
  color:#fff;
  font-size:28px;
  line-height:1
}

.pl-chat-messages{
  height:330px;
  overflow:auto;
  padding:16px;
  background:#f5f8fa;
  display:flex;
  flex-direction:column;
  gap:10px
}

.pl-chat-message{
  display:flex
}

.pl-chat-message>div{
  max-width:86%;
  padding:10px 13px;
  border-radius:14px;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:14px;
  line-height:1.45
}

.pl-chat-message.assistant>div{
  background:#fff;
  border:1px solid #dce5eb;
  color:#183247;
  border-bottom-left-radius:4px
}

.pl-chat-message.user{
  justify-content:flex-end
}

.pl-chat-message.user>div{
  background:#0c6da5;
  color:#fff;
  border-bottom-right-radius:4px
}

.pl-chat-message.pending>div{
  color:#71808d;
  font-style:italic
}

.pl-chat-suggestions{
  display:flex;
  gap:7px;
  padding:10px 12px;
  overflow:auto;
  border-top:1px solid #e1e8ed
}

.pl-chat-suggestions button{
  white-space:nowrap;
  border:1px solid #cbdbe5;
  background:#f3f8fb;
  color:#175c83;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  font-weight:750
}

.pl-chat-form{
  display:grid;
  grid-template-columns:1fr 44px;
  gap:8px;
  padding:12px;
  border-top:1px solid #e1e8ed
}

.pl-chat-form textarea{
  resize:none;
  border:1px solid #cbd7df;
  border-radius:12px;
  padding:10px 12px;
  outline:0;
  min-height:43px;
  max-height:110px
}

.pl-chat-form textarea:focus{
  border-color:#0c6da5;
  box-shadow:0 0 0 3px rgba(12,109,165,.1)
}

.pl-chat-form button{
  border:0;
  border-radius:12px;
  background:#0c6da5;
  color:#fff;
  font-size:18px
}

.pl-chat-form button:disabled{
  opacity:.5
}

.pl-chat-note{
  margin:0;
  padding:0 14px 12px;
  color:#758492;
  font-size:10px;
  text-align:center
}

@media(max-width:520px){
  .pl-chat-root{
    right:14px;
    bottom:14px
  }

  .pl-chat-window{
    position:fixed;
    left:10px;
    right:10px;
    bottom:78px;
    width:auto;
    max-height:calc(100vh - 95px)
  }

  .pl-chat-messages{
    height:42vh
  }
}
