CSS détecte si l'entrée a de la valeur

input:not(:placeholder-shown) {
  border-color: green;
}

input:placeholder-shown {
  border-color: red;
}
Quite Diabolical