.config-list {
  display: grid;
  grid-template-columns: [list] 1fr [line] 0.0625rem [details] 4fr;
  gap: 1rem;
  height: var(--page-height);

  @media screen and (width <= 1920px) {
    grid-template-columns: [list] 1fr [line] 0.0625rem [details] 2.5fr;
  }

  @media screen and (width <= 1600px) {
    grid-template-columns: [list] 1fr [line] 0.0625rem [details] 2fr;
  }
}

.config-list-items {
  grid-column: list;
  height: var(--page-height);
  overflow: auto;
  display: grid;
  align-items: start;
  grid-auto-rows: min-content;
  grid-auto-flow: row;

  &.is--client {
    grid-template-rows: [search] var(--control-height) [items] 1fr;
    grid-template-columns: [data] 1fr;
    gap: 0.5rem;
  }
}

.config-search-bar {
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  grid-row: search;
  grid-column: data;
}

.config-list-items-inner {
  height: calc(var(--page-height) - 0.5rem - var(--control-height));
  overflow: auto;
  display: grid;
  align-items: start;
  grid-auto-rows: min-content;
  grid-auto-flow: row;
  grid-row: items;
  grid-column: data;
}

.config-list-item {
  width: 100%;
  border-bottom: 0.0625rem solid var(--control-border-color);
  cursor: pointer;
  display: grid;
  grid-template-rows: auto auto;
  padding: 1rem;
  transition: all 0.3s;

  &:hover {
    background: var(--primary-color-alpha-25);
  }

  &.is--active {
    background: var(--primary-color);
    color: var(--white);
    border-bottom-color: var(--primary-color);
    border-radius: var(--border-radius);

    &:hover {
      background: var(--primary-color);
    }
  }

  &:last-of-type {
    border-bottom: none;
  }
}

.config-list-separator {
  grid-column: line;
  height: var(--page-height);
  width: 0.0625rem;
  background: var(--control-border-color);
}

.config-list-details {
  grid-column: details;
  height: var(--page-height);
  overflow: auto;
  width: 100%;
  display: grid;
  grid-template-rows: [title] 2.75rem [toolbar] var(--control-height) [inner] 1fr;
  grid-auto-rows: auto;
  gap: 0.5rem;
}

.config-title {
  font-size: var(--h4-font-size);
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-light);
  width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  word-break: keep-all;
  white-space: nowrap;
}

.config-subtitle {
  font-size: var(--h6-font-size);
}

.client-qr-code {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;

  svg {
    height: 20rem;
    width: 20rem;
  }
}
