.cf-header-cell {
  white-space: nowrap;
  vertical-align: middle !important;
}

.cf-header-inner {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
}

.cf-header-label {
  overflow: hidden;
  text-overflow: ellipsis;
}

.cf-filter-btn {
  border: none;
  background: transparent;
  color: #6c757d;
  padding: 0 4px;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}

.cf-filter-btn:hover,
.cf-filter-btn:focus {
  color: #007bff;
  outline: none;
}

.cf-filter-btn.cf-active {
  color: #007bff;
}

.cf-panel {
  position: fixed;
  z-index: 1060;
  min-width: 220px;
  max-width: 280px;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  font-size: 0.875rem;
}

.cf-panel-search {
  padding: 8px;
  border-bottom: 1px solid #dee2e6;
}

.cf-panel-search input {
  width: 100%;
  font-size: 0.8125rem;
}

.cf-panel-select-all {
  padding: 6px 10px;
  border-bottom: 1px solid #eee;
  background: #f8f9fa;
}

.cf-panel-select-all label {
  margin: 0;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
}

.cf-panel-values {
  max-height: 220px;
  overflow-y: auto;
  padding: 4px 0;
}

.cf-panel-values label {
  display: block;
  margin: 0;
  padding: 4px 10px;
  cursor: pointer;
  user-select: none;
  font-weight: normal;
}

.cf-panel-values label:hover {
  background: #f1f3f5;
}

.cf-panel-values input {
  margin-right: 6px;
}

.cf-panel-empty,
.cf-panel-loading {
  padding: 12px 10px;
  color: #6c757d;
  text-align: center;
}

.cf-panel-actions {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 8px;
  border-top: 1px solid #dee2e6;
  background: #f8f9fa;
}

.cf-panel-actions .btn {
  flex: 1;
  font-size: 0.8125rem;
}
