.df12-ai-button{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:900;
  border:0;
  border-radius:999px;
  padding:12px 18px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(20,45,65,.22);
  background:#183f5b;
  color:#fff;
}

.df12-ai-panel{
  position:fixed;
  right:22px;
  bottom:78px;
  z-index:901;
  width:min(520px,calc(100vw - 44px));
  max-height:calc(100vh - 120px);
  display:flex;
  flex-direction:column;
  border:1px solid #d6e0e7;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 50px rgba(20,45,65,.25);
}

.df12-ai-panel.hidden{
  display:none;
}

.df12-ai-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  background:#183f5b;
  color:#fff;
}

.df12-ai-head button{
  border:0;
  background:transparent;
  color:#fff;
  font-size:22px;
  cursor:pointer;
}

.df12-ai-body{
  padding:14px;
  overflow:auto;
}

.df12-ai-question{
  width:100%;
  min-height:84px;
  resize:vertical;
  box-sizing:border-box;
  border:1px solid #cfd9e0;
  border-radius:9px;
  padding:10px;
  font:inherit;
}

.df12-ai-send{
  margin-top:9px;
  width:100%;
  border:0;
  border-radius:8px;
  padding:10px 12px;
  background:#183f5b;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}

.df12-ai-answer{
  margin-top:14px;
  padding:12px;
  border-radius:9px;
  background:#f6f8fa;
  white-space:pre-wrap;
  line-height:1.48;
}

.df12-ai-sources{
  margin-top:12px;
}

.df12-ai-source{
  margin-top:8px;
  padding:9px 10px;
  border:1px solid #dfe6eb;
  border-radius:8px;
  background:#fff;
}

.df12-ai-source-title{
  font-weight:700;
  overflow-wrap:anywhere;
}

.df12-ai-source-meta{
  margin-top:3px;
  color:#657583;
  font-size:12px;
}

.df12-ai-source-actions{
  display:flex;
  gap:8px;
  margin-top:7px;
}

.df12-ai-source-actions a,
.df12-ai-source-actions button{
  border:1px solid #c7d2da;
  border-radius:6px;
  padding:5px 8px;
  background:#fff;
  color:#183f5b;
  text-decoration:none;
  cursor:pointer;
  font-size:12px;
}

.df12-ai-state{
  padding:12px;
  color:#657583;
}
