.clipboard {
  display: flex;
  align-items: center;
  background-color: var(--color-message-bg);
  border: 1px solid var(--color-border);
  border-radius: 0.375rem;
  padding-inline: 0.5rem;
  padding-block: 0.375rem;
  max-inline-size: 100%;

  .clipboard-text {
    font-size: clamp(0.625rem, 1.5vw, 0.75rem);
    line-height: 1rem;
    color: var(--text-muted);
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
    margin-inline-end: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1 1 0%;
  }

  .clipboard-button {
    padding: 0;
    font-size: 0.8125rem;
    line-height: 1rem;
    font-weight: 500;
    color: var(--color-text);
    border-radius: 0.25rem;
    transition-property: background-color, color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 2rem;
    block-size: 2rem;
    border: none;
    flex-shrink: 0;

    img,
    svg {
      color: inherit;
      fill: none;
      width: 1.4rem !important;
      height: 1.4rem !important;
      max-width: 1.4rem !important;
      max-height: 1.4rem !important;
    }

    &:hover:not(.clipboard-button--success):not(.clipboard-button--error) {
      background-color: rgba(0, 0, 0, 0.05);
    }
  }

  .clipboard-button--success {
    background-color: var(--color-success) !important;
    color: var(--color-text-reversed) !important;

    img,
    svg {
      color: var(--color-text-reversed) !important;
      fill: none;
    }

    &:hover {
      background-color: var(--color-success-hover) !important;
    }
  }

  .clipboard-button--error {
    background-color: var(--color-danger) !important;
    color: var(--color-text-reversed) !important;

    img,
    svg {
      color: var(--color-text-reversed) !important;
      fill: none;
    }

    &:hover {
      background-color: var(--color-danger-hover) !important;
    }
  }
}

.api-credentials-field .clipboard {
  inline-size: 100%;
}
