.component-selector {
  position: relative;
  width: 600px;
  max-width: 100%;
  max-height: 100%;
  background-color: var(--bg-color);
  box-sizing: border-box;
  border-radius: var(--border-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  color: var(--text-color);

  .title {
    flex: none;
    padding: 20px;
    display: flex;
    flex-direction: row;
    align-items: center;
    .close {
      cursor: pointer;
      svg {
        fill: var(--text-inactive-color);
      }
      &:hover {
        svg {
          fill: var(--text-active-color);
        }
      }
    }
  }
  .search-input {
    width: calc(100% - 40px);
    margin: 10px 20px;
    margin-bottom: 30px;
    padding: 10px 15px;
    border: 1px solid var(--border-color);
    border-radius: 5px;
    font-size: 14px;
    box-sizing: border-box;
    background-color: var(--bg-color);
    &:focus {
      outline: none;
      border-color: var(--highlight-blue);
    }
  }
  .footer {
    flex: none;
    padding: 20px;
    border-top: 1px solid var(--border-color);
    display: flex;
    flex-direction: row;
    justify-content: flex-end;

    .cancel {
      font-size: 14px;
      cursor: pointer;
      padding: 10px 20px;
      border-radius: 3px;
      color: var(--text-inactive-color);
      &:hover {
        background-color: var(--hover-bg-color);
        color: var(--text-active-color);
      }
    }
  }

  .component-list {
    height: 500px;
    overflow: scroll;

    .component-list-inner {
      .component-list-item {
        // border-bottom: 1px solid var(--border-color);
        &.active {
          .header {
            background-color: var(--bg-color);
          }
        }
        .header {
          padding: 15px;
          // border-bottom: 1px solid var(--border-color);
          position: relative;
          display: flex;
          flex-direction: row;
          align-items: center;
          cursor: pointer;
          .name {
            color: var(--text-inactive-color);
            margin-left: 10px;
          }
          .description-icon {
            line-height: 0;
            path {
              fill: var(--text-inactive-color);
            }
          }
          .add {
            position: absolute;
            top: 50%;
            transform: translate(0, -50%);
            right: 20px;
            color: var(--text-inactive-color);
            svg {
              margin-right: 5px;
              fill: var(--text-inactive-color);
            }
            border: 1px solid var(--text-inactive-color);
            padding: 6px 20px;
            padding-left: 15px;
            border-radius: 20px;
            font-size: 0.8em;
            display: none;
            cursor: pointer;
            &:hover {
              color: var(--highlight-green);
              background-color: var(--light-green);
              border-color: var(--highlight-green);
              svg {
                fill: var(--highlight-green);
              }
            }
          }
        }
        &:hover, &.active {
          // background-color: var(--hover-bg-color);
          .add {
            display: flex;
            flex-direction: row;
            align-items: center;
          }
          .description-icon {
            path {
              fill: var(--text-active-color);
            }
          }
          .name {
            color: var(--text-active-color);
          }
        }
        &.active {
          .add {
            color: var(--highlight-green);
            background-color: var(--light-green);
            border-color: var(--highlight-green);
            svg {
              fill: var(--highlight-green);
            }
          }
        }
        .description {
          padding: 25px;
          padding-left: 50px;
          // box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.237);
        }
      }
    }
  }
}