.sj-table-fixed {
  table-layout: fixed;
  width: 100%;
}

.sj-table-header-filter {
  align-items: center;
  display: inline-flex;
  gap: 5px;
}

.sj-table-filter-menu {
  position: relative;
  text-transform: none;
}

.sj-table-filter-menu summary {
  align-items: center;
  background: transparent;
  border: 1px solid #cbd8df;
  border-radius: 3px;
  color: #536675;
  cursor: pointer;
  display: flex;
  height: 23px;
  justify-content: center;
  list-style: none;
  padding: 3px;
  width: 23px;
}

.sj-table-filter-menu summary::-webkit-details-marker {
  display: none;
}

.sj-table-filter-menu summary:hover,
.sj-table-filter-menu[open] summary {
  border-color: #8aa8b5;
  color: #176b7d;
}

.sj-table-filter-menu.is-filtered summary {
  background: #dcebef;
  border-color: #bdd7df;
  color: #155b6b;
}

.sj-table-filter-icon {
  display: block;
  height: 13px;
  width: 13px;
}

.sj-table-filter-icon--filter {
  display: none;
}

.sj-table-filter-menu.is-filtered .sj-table-filter-icon--filter {
  display: block;
}

.sj-table-filter-menu.is-filtered .sj-table-filter-icon--chevron {
  display: none;
}

.sj-table-filter-menu:not([open]) .sj-table-filter-options {
  display: none;
}

.sj-table-filter-options {
  background: #fff;
  border: 1px solid #b9c9d1;
  border-radius: 4px;
  box-shadow: 0 9px 24px rgba(25, 51, 70, 0.18);
  max-height: min(18rem, calc(100vh - 24px));
  min-width: 205px;
  overflow-y: auto;
  padding: 5px;
  position: fixed;
  text-align: left;
  z-index: 1080;
}

.sj-table-filter-option {
  align-items: center;
  color: #2f4657;
  cursor: pointer;
  display: flex;
  font-size: 12px;
  font-weight: 650;
  gap: 9px;
  letter-spacing: 0;
  min-height: 33px;
  padding: 5px 7px;
  text-transform: none;
}

.sj-table-filter-option:hover {
  background: #f3f7f9;
}

.sj-table-filter-option--all {
  border-bottom: 1px solid #e4eaee;
  margin-bottom: 3px;
}

.sj-table-filter-option--all.is-active {
  background: #edf5f7;
  color: #155b6b;
}

.sj-table-filter-option input {
  accent-color: #176b7d;
  flex: 0 0 auto;
  height: 16px;
  margin: 0;
  width: 16px;
}
