body {
	margin: 0;
	overflow: auto;
}

.box {
	min-width: 400px;
	max-width: 400px;
	min-height: 100px;
	position: absolute;
	text-align: left;
	z-index:1;
	cursor: grab;
}

.guide-line-left {
	position: absolute;
	border-left: 1px dashed red;
	pointer-events: none;
	z-index: 1000;
}

.guide-line-top {
	position: absolute;
	border-top: 1px dashed red;
	pointer-events: none;
	z-index: 1000;
}

.box:has(.collapse.in) {
	z-index: 3; /* New z-index when child with .collapse.in is present */
}

.box .panel {
	margin:5px;
}

.box .panel .panel-heading {
	padding:10px;
}

.box .panel .panel-body {
	font-size:1em;
	padding:10px;
}

.icon-add-note {
	font-size:0.7em;
	cursor: pointer; 
}

.box .panel .list-group-item {
	padding:7px 15px 7px 7px;
}

.box .panel .btn-duties {
	text-align:left;
	padding:7px;
	font-size:0.9em;
	font-weight:800;
	margin:7px 0;
	position:relative;
}

.btn-duties .icon {
	position:absolute;
	top:50%;
	right:10px;
	transform: translateY(-50%);
	
}

.box .note {
	font-size:0.8em;
}

.box .panel {
	margin-right:30px;
}

.box .panel .panel-body .list-group {
	padding-inline-start: 0;
	margin-bottom:0px;
	position:relative;
}

.box .panel .panel-body .list-group.in {
	margin-bottom:25px;
	min-height:5px;
}

.box .panel .panel-body .list-group span[contenteditable] {
	margin-right:15px;
}

.box .panel .panel-body .list-group .icon-remove-list-item {
	position:absolute;
	top:50%;
	right:-7px;
	transform: translateY(-50%);
	font-size:0.7em;
	cursor: pointer;
}

.box .panel .panel-body .list-group .icon-add-list-item {
	position:absolute;
	bottom:-15px;
	left:50%;
	transform: translateX(-50%);
	font-size:0.7em;
	cursor: pointer;
}

.box .icon-connect:hover {
	color:#a94442;
}

.box .box-icons {
	position:absolute;
	top:5px;
	right:3px; 
	width:25px;
	font-size:0.7em;
	cursor: pointer;
	color:#777777;
}

.box .box-icons .fa-stack {
	margin-top:3px;
}

.box .icon-ai-note {
	font-size:0.7em;
	cursor: pointer;           
}

.box .icon-print {
	font-size:0.7em;
	cursor: pointer;           
}

.box .icon-togglecolor.text-default {
	color:#777777;
}

.box.connectioninfo {
	min-height: 30px;
	min-width: 30px;
	max-width: 200px;
}

.box.connectioninfo .panel {
	margin:0px;
	margin-right:30px;
}
.box.connectioninfo .panel .panel-body {
	padding:5px 10px;
	font-size:0.8em;
	cursor: cursor;
}

.box.connectioninfo .box-icons {
	position:absolute;
	top:-2px;
	right:3px;
	font-size:0.7em;
}

#canvas-menu {
	position: fixed;
	top:5px;
	left:5px;
	z-index:2;
}

#boxadd {
	
}

#canvas {
	position: absolute;
	top: 0;
	left: 0;
	background:#f1f1f1;
	min-width: 100vw;
	min-height: 100vh
}

#canvas-boxes {
	position: absolute;
	top: 0;
	left: 0;
	transform-origin: 0 0; /* Set zoom origin to top-left */
	transition: transform 0.3s ease; /* Smooth zoom transitions */
}