.cncmm-machines-grid { display: flex; flex-wrap: wrap; }
.cncmm-tile { border: 1px solid #ccc; border-radius: 8px; background: #fff; padding: 16px; width: 260px; }
.cncmm-tile img { width: 100%; max-height: 130px; object-fit: cover; border-radius: 4px; }
.cncmm-tile h3 { margin: 12px 0 8px; font-size: 19px; }
.cncmm-icons { display: flex; gap: 12px; margin-top: 8px; }
.cncmm-icons .icon-desc, .icon-maintenance, .icon-tools { width: 34px; height: 34px; text-align: center; line-height: 34px; border-radius: 50%; background: #e0e0e0; font-size: 20px; }

/* Все таблицы по всей ширине блока */
.cncmm-tools-table { 
	width: 100%; 
	border-collapse: collapse; 
	margin: 20px 0;
	table-layout: auto;
 }

.cncmm-tools-table th, .cncmm-tools-table td { 
	border: 1px solid #bdbdbd; 
	padding: 8px; 
}

.cncmm-tools-table .editing { background: #ffe082 !important; border: 1.5px solid #ffa000; }
.cncmm-tools-table .editable:hover { background: #f0f4c3; cursor: pointer; }

.cncmm-edit-btn, .cncmm-save-btn, .cncmm-cancel-btn { 
	margin: 10px 6px 0 0; 
	padding: 8px 24px; 
	border: none; 
	border-radius: 3px; 
	background-color: #013079; 
	color: #fff; 
	cursor: pointer; 
}

	.cncmm-save-btn { background: #43a047; }
.cncmm-cancel-btn { background: #ef5350; }
.cncmm-edit-btn:disabled, .cncmm-save-btn:disabled, .cncmm-cancel-btn:disabled { background: #bdbdbd; cursor: not-allowed; }

.cncmm-tabs { 
	margin-bottom: 18px; 
	display: grid;
	grid-auto-flow: column;
	justify-content: flex-start;
}

.cncmm-tabs a { 
	margin-right: 18px; 
	padding: 8px 24px; 
	color: #333; 
	background: #eee; 
	border-radius: 4px 4px 0 0; 
	text-decoration: none;
	text-align: center; 
	margin-bottom: 12px;
}

.cncmm-tabs a.active { 
	background: #fff; 
	font-weight: bold; 
	color: #013079; 
	border-bottom: 2px solid #013079; 
}

.cncmm-tools-table th {
	text-align: center; /* Заголовки — по центру */
	vertical-align: middle;
}
.cncmm-tools-table td.cell-number,
.cncmm-tools-table th.cell-number {
	text-align: center; /* В столбце "№ ячейки" — по центру */
}

.cncmm-tools-table td {
	/* Адаптивность — пусть растягивается */
	min-width: 60px;
	word-break: break-word;
}

/* Поля ввода — адаптивные */
.cncmm-tools-table input[type="text"] {
	width: 100%;
	box-sizing: border-box;
	font-size: inherit;
	padding: 2px 6px;
	border: 1.5px solid #bbb;
	border-radius: 3px;
	min-width: 28px;
	outline: none;
}

.cncmm-tools-table .editing input[type="text"] {
	background: #fff9c4;
	border-color: #ffa000;
}

.cncmm-tools-table td.cell-number input[type="text"] {
/*	width: 40px !important; /* делаем номер маленьким в edit-режиме */
	min-width: 28px;
	max-width: 60px;
	text-align: center;
}

/* Отключаем подсветку и курсор для номера ячейки при редактировании */
.cncmm-tools-table td.cell-number.editing {
	background: none !important;
	border: 1px solid #bdbdbd;
	cursor: default !important;
}
/* Подсветка № ячейки при наведении на строку */
.cncmm-tools-table tr:hover td:first-child {
    background: #e0f3fc !important;
}

/* Подсветка изменённой ячейки зелёным */
.cncmm-tools-table td.cncmm-changed {
    background: #d8f5d0 !important;
    transition: background 0.3s;
}

/* (опционально) плавное исчезновение фона при отмене изменений */
.cncmm-tools-table td {
    transition: background 0.3s;
}

@media only screen and (max-width: 590px) {
	.cncmm-tabs { 
		margin-bottom: 18px; 
		grid-auto-flow: row;
		justify-content: normal;
	}
}