I’d have to agree with Ryan, it is slightly dangerous altering the border definition for the INPUT to such an extent; it can cause usability issues or complicate user interaction, etc.
You should avoid removing the border on inputs because that can cause accessibility issues (people use that to see where it is along with other reasons :))
The first problem is that your HTML uses id=“filter_input”, but your CSS is set to match class=“filter_input”.
But even if you change that, it won’t make any difference. Styles are combined together. Unless one explicitly contradicts another (eg, one declaration tells an element to be red and another tells it to be blue), all relevant declarations are used to determine an element’s style.
Your <input id=“filter_input” type=“text”> element matches both of the style declarations, and they don’t contradict each other, so they are both applied. If you want to override the generic input[type=text] declaration on filter_input, you will need to undo the generic settings in the more specific declaration, eg