.hfl-flow-graph__stage {
	position: relative;
	min-width: 100%;
	min-height: 420px;
}

.hfl-flow-graph__canvas {
	transform-origin: 0 0;
}

.hfl-flow-graph__toolbar {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: auto;
	padding: 3px;
	border: 1px solid #dfe4ea;
	border-radius: 11px;
	background: rgba( 255, 255, 255, .92 );
	box-shadow: 0 3px 10px rgba( 31, 42, 55, .06 );
}

.hfl-flow-graph__toolbar button {
	height: 28px;
	min-width: 28px;
	padding: 0 8px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #4d5968;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

.hfl-flow-graph__toolbar button:hover,
.hfl-flow-graph__toolbar button:focus-visible {
	background: #edf6ff;
	color: #087fe6;
	outline: none;
}

.hfl-flow-graph__toolbar [data-hfl-graph-zoom-label] {
	min-width: 42px;
	color: #7c8794;
	font-size: 11px;
	font-weight: 700;
	text-align: center;
}

.hfl-flow-graph__node:not(.is-connector) {
	width: 286px !important;
	min-height: 0 !important;
	padding: 0 12px 10px;
	border-width: 1px;
	border-radius: 14px;
	box-shadow: 0 5px 14px rgba( 31, 42, 55, .08 );
	transition: box-shadow .14s ease, border-color .14s ease;
}

.hfl-flow-graph__node.is-draggable { touch-action: none; }
.hfl-flow-graph__node.is-draggable .hfl-flow-graph__node-head,
.hfl-flow-graph__node.is-draggable > h5 { cursor: grab; }
.hfl-flow-graph__node.is-dragging {
	z-index: 20;
	box-shadow: 0 14px 30px rgba( 31, 42, 55, .18 );
}
.hfl-flow-graph__node.is-dragging .hfl-flow-graph__node-head,
.hfl-flow-graph__node.is-dragging > h5 { cursor: grabbing; }

.hfl-flow-graph__node-head {
	margin: 0 -12px 8px;
	padding: 6px 10px;
	background: #f5f7fa;
	font-size: 10px;
	letter-spacing: .045em;
}

.hfl-flow-graph__node-head small { font-size: 10px; }
.hfl-flow-graph__node h5 {
	margin: 0 0 8px;
	font-size: 15px;
	line-height: 1.28;
}

.hfl-flow-graph__comparison {
	gap: 5px;
	margin: 0 0 7px;
	padding: 7px;
	border-radius: 9px;
	background: #fbfcfe;
}

.hfl-flow-graph__comparison-operand {
	grid-template-columns: minmax( 0, .95fr ) minmax( 0, 1.05fr );
	gap: 5px;
}

.hfl-flow-graph__comparison select,
.hfl-flow-graph__comparison input,
.hfl-flow-graph__comparison-source,
.hfl-flow-graph__comparison .hfl-value-picker__button {
	height: 30px;
	border-radius: 7px;
	font-size: 11px;
}

.hfl-flow-graph__comparison-operator {
	font-size: 10px;
	line-height: 1.2;
}

.hfl-flow-graph__comparison-status {
	font-size: 10px;
}

.hfl-flow-graph__bindings {
	gap: 5px;
}

.hfl-flow-graph__binding {
	grid-template-columns: minmax( 64px, .75fr ) minmax( 0, 1.35fr );
	gap: 6px;
	padding: 6px 8px;
	border-radius: 8px;
}

.hfl-flow-graph__binding span { font-size: 10px; }
.hfl-flow-graph__binding strong { font-size: 11px; }

.hfl-flow-graph__message {
	gap: 4px;
	margin-top: 7px;
}
.hfl-flow-graph__message span { font-size: 10px; }
.hfl-flow-graph__message textarea {
	min-height: 58px;
	padding: 7px 8px;
	font-size: 11px;
}

.hfl-flow-graph__node.is-connector {
	width: 72px !important;
	min-height: 44px !important;
	height: 44px !important;
	border-radius: 18px;
	font-size: 12px;
}

@media ( max-width: 700px ) {
	.hfl-flow-graph__node:not(.is-connector) { width: 248px !important; }
	.hfl-flow-graph__toolbar [data-hfl-graph-reset] { display: none; }
}
