.OpenAIChatButton {
  position: relative;
}

.OpenAIChatButton a {
  --IconButton-name: 'magic_button';
  bottom: calc(0px - var(--gap-s));
  position: absolute;
  right: 0;
}

.CIG-row.is-unlabeled .OpenAIChatButton a {
  bottom: 0;
}

.frame[name='openai-chat'].loading {
  visibility: visible;
}

.OpenAIChat-suggestions {
  display: flex;
  flex-wrap: wrap;
  margin-top: var(--gap-m);

  > button {
    margin: 0 var(--gap-s) var(--gap-s) 0;
  }
}

.OpenAIChat-frame > .Message {
  margin: calc(0px - var(--Widget-padding));
  margin-bottom: var(--Widget-padding);
}

.OpenAIChat-prompt,
.OpenAIChat-response {
  background: var(--color-gray1);
  border-radius: 5px;
  padding: var(--gap-m) var(--gap-m) var(--gap-m) calc(var(--gap-m) * 2 + var(--Icon-size));
  position: relative;
}

.OpenAIChat-prompt {
  margin-bottom: var(--gap-m);
}

.OpenAIChat-response {
  margin-bottom: calc(var(--Text-height) + var(--gap-l));
  min-height: calc(var(--gap-m) * 2 + var(--Text-height));
}

.OpenAIChat-prompt::before,
.OpenAIChat-response::before {
  left: var(--gap-m);
  position: absolute;
  top: calc(var(--gap-m) - (var(--Icon-size) - var(--Text-height)) / 2);
}

.OpenAIChat-prompt::before,
.OpenAIChat-response::before {
  color: var(--color-gray5);
  direction: ltr;
  display: inline-block;
  font-family: 'Material Symbols Outlined';
  font-feature-settings: 'liga';
  font-size: var(--Icon-size);
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-height: 1;
  text-rendering: optimizeLegibility;
  text-transform: none;
  transform: var(--Icon-transform);
  vertical-align: top;
  white-space: nowrap;
  word-wrap: normal;
}

.OpenAIChat-prompt::before {
  content: 'person';
}

.OpenAIChat-response::before {
  content: 'magic_button';
}

.OpenAIChat-response.is-error {
  background-color: var(--color-red6);
  color: var(--color-white);
}

.OpenAIChat-response.is-error::before {
  color: var(--color-white);
  content: 'error';
}

.OpenAIChat-controls {
  position: absolute;
  right: 0;
  top: 100%;
}

.OpenAIChat-controls button {
  margin-left: var(--gap-m);
}

.OpenAIChat-ActionBar form {
  display: flex;
  flex-wrap: wrap;
  width: 100%;

  .is-disabled {
    opacity: 0.3;
    pointer-events: none;
  }

  > btu-input {
    width: 100%;

    + button {
      margin-left: 0 !important;
    }
  }

  > button.Link {
    margin-left: auto !important;
  }
}
