.compact-filter {
  display: block;
  min-width: 200px;
  max-width: 300px;
  margin: 8px;
  padding: 0;
  background: #ffffff;
  border: 1px solid #d7d7d7;
  border-radius: 4px;
  font-size: 14px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  
  .filter-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 15px;
    cursor: pointer;
    background: #f8f8f8;
    border-bottom: 1px solid #eaeaea;
    border-radius: 4px 4px 0 0;
    
    &:hover {
      background: #f0f0f0;
    }
    
    .filter-label, .filter-key {
      font-weight: 500;
      color: #333333;
      flex-grow: 1;
    }
    
    .filter-type {
      font-size: 12px;
      color: #666666;
      margin: 0 8px;
      background: #eaeaea;
      padding: 2px 8px;
      border-radius: 12px;
    }
    
    .expand-icon {
      width: 16px;
      height: 16px;
      color: #666666;
    }
  }
  
  .filter-content {
    padding: 15px;
    
    .filter-control {
      margin-bottom: 12px;
      
      &:last-child {
        margin-bottom: 0;
      }
      
      &.date-range {
        .date-input-group {
          display: flex;
          align-items: center;
          gap: 8px;
          
          .date-separator {
            font-size: 14px;
            color: #666666;
          }
        }
      }
      
      &.toggle {
        display: flex;
        align-items: center;
        gap: 8px;
      }
    }
  }
  
  .compact-input,
  .compact-select,
  .compact-date {
    width: 100%;
    padding: 8px 12px;
    font-size: 14px;
    border: 1px solid #d7d7d7;
    border-radius: 4px;
    background: #ffffff;
    
    &:focus {
      outline: none;
      border-color: #0072ce;
      box-shadow: 0 0 0 1px #0072ce;
    }
  }
  
  .compact-select {
    height: 36px;
  }
  
  .multiselect-container {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #d7d7d7;
    border-radius: 4px;
    padding: 10px;
    background: #ffffff;
  }
  
  .checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  
  .checkbox-item {
    display: flex;
    align-items: center;
    gap: 8px;
    
    .clr-checkbox {
      width: 16px;
      height: 16px;
      cursor: pointer;
    }
    
    .checkbox-label {
      font-size: 14px;
      margin: 0;
      cursor: pointer;
      color: #333333;
    }
  }
  
  .toggle-label {
    margin: 0;
    font-size: 14px;
    color: #333333;
  }
  
  .clr-toggle {
    margin: 0;
  }
}

// Host styling
:host {
  display: block;
}