#diagram-container {
	overflow: auto;
	height: calc(100vh - 56px);
	background: #d4d0c8;
}
#diagram {
	position: relative;
	min-height: 100%;
}
#lines-svg {
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 0;
}
#table-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	padding: 24px;
	position: relative;
	z-index: 1;
	align-items: flex-start;
}
.table-box {
	border: 1px solid #555;
	min-width: 160px;
	background: white;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.25);
	flex-shrink: 0;
}
.table-header {
	background: #336699;
	color: white;
	font-weight: bold;
	padding: 5px 10px;
	font-size: 13px;
	font-family: Tahoma, Arial, sans-serif;
	cursor: grab;
	white-space: nowrap;
}
.col-row {
	padding: 2px 10px;
	font-size: 12px;
	font-family: Tahoma, Arial, sans-serif;
	border-top: 1px solid #eee;
	white-space: nowrap;
}
.pk-col {
	font-weight: bold;
}
.col-row:hover {
	background: #e8f0fe;
}
