diff --git a/apps/sim/app/_styles/globals.css b/apps/sim/app/_styles/globals.css
index 013e6b1d45..96a17260c5 100644
--- a/apps/sim/app/_styles/globals.css
+++ b/apps/sim/app/_styles/globals.css
@@ -391,6 +391,17 @@
color: var(--text-primary);
}
+/**
+ * Subblock divider visibility
+ * Hides dividers when adjacent subblocks render empty content (e.g., schedule-info without data).
+ * Uses CSS :has() to detect empty .subblock-content elements and hide associated dividers.
+ * Selectors ordered by ascending specificity: (0,4,0) then (0,5,0)
+ */
+.subblock-row:has(> .subblock-content:empty) > .subblock-divider,
+.subblock-row:has(+ .subblock-row > .subblock-content:empty) > .subblock-divider {
+ display: none;
+}
+
/**
* Dark mode specific overrides
*/
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/mcp-dynamic-args/mcp-dynamic-args.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/mcp-dynamic-args/mcp-dynamic-args.tsx
index 62630afc5a..787248134f 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/mcp-dynamic-args/mcp-dynamic-args.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/mcp-dynamic-args/mcp-dynamic-args.tsx
@@ -537,7 +537,7 @@ export function McpDynamicArgs({
}
return (
-
+
{/* Hidden dummy inputs to prevent browser password manager autofill */}
- {toolSchema.properties &&
- Object.entries(toolSchema.properties).map(([paramName, paramSchema]) => {
- const inputType = getInputType(paramSchema as any)
- const showLabel = inputType !== 'switch'
-
- return (
-
- {showLabel && (
-
- )}
- {renderParameterInput(paramName, paramSchema as any)}
-
- )
- })}
+
+ {toolSchema.properties &&
+ Object.entries(toolSchema.properties).map(([paramName, paramSchema]) => {
+ const inputType = getInputType(paramSchema as any)
+ const showLabel = inputType !== 'switch'
+
+ return (
+
+ {showLabel && (
+
+ )}
+ {renderParameterInput(paramName, paramSchema as any)}
+
+ )
+ })}
+
)
}
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/sub-block.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/sub-block.tsx
index 3954dac453..310c3df0dd 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/sub-block.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/sub-block.tsx
@@ -866,7 +866,7 @@ function SubBlockComponent({
}
return (
-
+
{renderLabel(
config,
isValidJson,
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/editor.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/editor.tsx
index 017f9f91ce..181732e956 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/editor.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/editor.tsx
@@ -341,7 +341,7 @@ export function Editor() {
)
return (
-
+
{index < subBlocks.length - 1 && (
-