input { display: block; margin-top: 5px; margin-bottom: 15px; } th, td { padding: 15px; } table, th, td { border: 1px solid black; } input { border: 2px solid currentcolor; } input:invalid { border: 2px dashed red; } input:invalid:focus { background-image: linear-gradient(magenta, pink); } .error { color: red; }