Patrón base
Checkbox oculto + label + selector :checked.
El label activa el checkbox asociado; luego CSS reacciona con :checked para modificar otros elementos.
Normalmente se usa el combinador de hermanos + o ~ para llegar al panel que quieres alternar.
.toggle { position: absolute; opacity: 0; }
.toggle-panel { display: none; }
.toggle:checked ~ .toggle-panel { display: block; }