.filter-container {
  position: relative;
}

.filter-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  height: 24px;
  min-width: 24px;
  padding: 4px 6px;

  border-radius: 8px;
  border: 1px solid #BCC7DD;
  background: #fff;

  cursor: pointer;
  outline: none;

  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.filter-button:hover {
  border-color: #FF8C00;
  background-color: #FFF3CD;
}

.filter-button.active {
  border-color: #FFC800;
  background-color: #FFF3CD;
}

.clear-filter {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 12px;
  height: 12px;

  border-radius: 50%;
  background: #B0B0B0;
  border: none;
  padding: 0;

  cursor: pointer;
  transition: background-color 0.2s ease;
}

.clear-filter:hover {
  background: #9A9A9A;
}

.filter-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 4px;

  min-width: 300px;
  z-index: 1000;

  background: #fff;
  border: 1px solid #E0E0E0;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);

  overflow: hidden;
}

.filter-dropdown-content {
  display: flex;
}

.filter-categories {
  flex: 1;
  padding: 8px 0;
  border-right: 1px solid #E0E0E0;
  background: #fff;
}

.filter-category {
  padding: 8px 16px;
  cursor: pointer;
  color: #333;
  transition: background-color 0.2s ease;
}

.filter-category:hover {
  background: #F0F0F0;
}

.filter-category.selected {
  font-weight: 600;
}

.filter-options {
  flex: 1;
  padding: 8px 0;
  background: #F5F5F5;
}

.filter-option {
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 8px 16px;
  color: #333;

  transition: background-color 0.2s ease;
}

.filter-option:hover {
  background: #F0F0F0;
}

.filter-option-left {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
}

.filter-option-count {
  font-size: 12px;
  color: #666;
}

.filter-options .toggle-switch {
  flex-shrink: 0;
  margin-left: 12px;
}