“Is it possible to have something like this in HTML or CSS?”
No, or rather it is not recommended to simply hide a form using CSS. That is not secure. If a person really wanted to they could unhide it and submit the form.
You should hide it on the backend level so that the HTML markup isn’t even generated on the frontend. The exact implementation for this varies across platforms, but the concept is basically the same. Here is a PHP example:
PHTML – page.phtml (view template file)
<? if($user.is_authenticated) : ?>
<form action="edit-database.php">
<label for="sku">SKU</label>
<input type="text" name="sku" id="sku">
<input type="submit">
</form>
<? end ?>
solved How to make two versions of a web site? [closed]