.template-download {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: -4px;
  border: 1px solid #d8dde3;
  border-radius: 10px;
  color: #20252b;
  background: #f7f8fa;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
  transition: 0.18s ease;
}

.template-download:hover {
  border-color: #df1d1d;
  color: #b41414;
  background: #fff7f7;
}

.shelf-cluster-card {
  margin: 12px 0 16px;
  padding: 15px;
  border: 1px solid #dfe3e8;
  border-left: 4px solid #df1d1d;
  border-radius: 12px;
  background: linear-gradient(145deg, #fff 0%, #f7f8fa 100%);
}

.shelf-cluster-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
}

.shelf-cluster-head span {
  color: #6d747d;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.11em;
}

.shelf-cluster-head b {
  color: #23824c;
  font-size: 11px;
}

.shelf-cluster-name {
  display: block;
  color: #16191d;
  font-size: 25px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.shelf-cluster-card > p {
  margin: 5px 0 12px;
  color: #717780;
  font-size: 12px;
}

.shelf-article-list {
  display: grid;
  gap: 7px;
  max-height: 310px;
  overflow: auto;
  padding-right: 2px;
}

.shelf-article {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 9px 10px;
  border: 1px solid #e2e5e9;
  border-radius: 9px;
  background: #fff;
  color: #20242a;
  text-align: left;
  cursor: pointer;
}

.shelf-article > span {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #edf0f3;
  color: #59616a;
  font-size: 11px;
  font-weight: 850;
}

.shelf-article div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.shelf-article b {
  font-size: 14px;
  overflow-wrap: anywhere;
}

.shelf-article small {
  display: block;
  overflow: hidden;
  color: #7b8189;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shelf-article.current {
  border-color: #df1d1d;
  background: #fffafa;
  box-shadow: 0 0 0 2px rgba(223, 29, 29, 0.1);
}

.shelf-article.current > span {
  background: #df1d1d;
  color: #fff;
}

.shelf-article.done {
  border-color: #cde7d7;
  background: #f5fbf7;
}

.shelf-article.done > span {
  background: #23824c;
  color: #fff;
}

.shelf-article:disabled {
  cursor: default;
}

.shelf-article:not(:disabled):hover {
  border-color: #adb4bc;
}

.shelf-article.done.current {
  border-color: #23824c;
  box-shadow: 0 0 0 2px rgba(35, 130, 76, 0.1);
}

@media (max-width: 720px) {
  .shelf-cluster-card {
    padding: 13px;
  }

  .shelf-cluster-name {
    font-size: 22px;
  }

  .shelf-article-list {
    max-height: 270px;
  }

  .template-download {
    font-size: 12px;
  }
}
