diff --git a/panel/src/components/Forms/Toolbar/Toolbar.vue b/panel/src/components/Forms/Toolbar/Toolbar.vue
index ca2a7af104..f955b6f2fe 100644
--- a/panel/src/components/Forms/Toolbar/Toolbar.vue
+++ b/panel/src/components/Forms/Toolbar/Toolbar.vue
@@ -1,5 +1,5 @@
 <template>
-	<nav class="k-toolbar" :data-theme="theme">
+	<nav v-if="buttons.length" class="k-toolbar" :data-theme="theme">
 		<template v-for="(button, index) in buttons">
 			<hr v-if="button === '|'" :key="index" />
 
diff --git a/panel/src/components/Forms/Writer/Toolbar.vue b/panel/src/components/Forms/Writer/Toolbar.vue
index 9bebd48bc9..35123639df 100644
--- a/panel/src/components/Forms/Writer/Toolbar.vue
+++ b/panel/src/components/Forms/Writer/Toolbar.vue
@@ -338,8 +338,7 @@ export default {
 </script>
 
 <style>
-/** TODO: .k-writer-input:has(.k-toolbar:not([data-inline="true"])) */
-.k-writer-input:not([data-toolbar-inline="true"]):not([data-disabled="true"]) {
+.k-writer:has(.k-toolbar:not([data-inline="true"], [data-disabled="true"])) {
 	grid-template-areas: "topbar" "content";
 	grid-template-rows: var(--toolbar-size) 1fr;
 	gap: 0;