.dock-container {
	position: fixed;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1000;
}

.dock {
	background: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 20px;
	padding: 8px;
	gap: 8px;
	user-select: none;
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scroll-padding-left: 8px;
	scroll-padding-right: 8px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	width: auto;
	box-shadow:
		0 4px 6px rgba(0, 0, 0, 0.15),
		0 8px 20px rgba(0, 0, 0, 0.15),
		0 15px 40px rgba(0, 0, 0, 0.2),
		inset 0 1px 2px rgba(255, 255, 255, 0.3);
	transition: box-shadow 0.3s ease;
}

.icon-scroll::-webkit-scrollbar {
	height: 0;
}

.dock-item {
	width: 55px;
	height: 55px;
	aspect-ratio: 1 / 1;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	position: relative;
	font-size: 28px;
	transition: box-shadow 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	scroll-snap-align: start;
	scroll-snap-stop: always;
	flex-shrink: 0;
	z-index: 1;
}

/* Расширяем область hover вниз */
.dock-item::before {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	right: 0;
	height: 15px;
	pointer-events: auto;
	border-radius: 0;
	z-index: -1;
}

.dock-item:hover::before {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 0;
	right: 0;
	height: 20px;
	pointer-events: auto;
	border-radius: 0;
	z-index: -1;
}

.dock-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.dock-item:not(.submenu-open) {
	transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dock-item.submenu-open {
	transform: translateY(-5px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.tooltip-outside {
	position: absolute;
	background: rgba(0, 0, 0, 0.8);
	color: white;
	padding: 6px 12px;
	border-radius: 6px;
	font-size: 12px;
	white-space: nowrap;
	pointer-events: none;
	transition: opacity 0.2s;
	opacity: 0;
	z-index: 30000;
}

.dock-item:hover~.tooltip-outside,
.tooltip-outside {
	opacity: 1;
}

.tooltip {
	position: absolute;
	bottom: 75px;
	left: 50%;
	transform: translateX(-50%) scale(0);
	background: rgba(0, 0, 0, 0.8);
	color: white;
	padding: 6px 12px;
	border-radius: 6px;
	font-size: 12px;
	white-space: nowrap;
	pointer-events: none;
	transition: transform 0.2s, opacity 0.2s;
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
}

.dock-item:hover .tooltip {
	opacity: 1;
	visibility: visible;
}

/* ===========================
   submenu-new (Second Level)
=========================== */
.submenu-new {
	position: fixed;
	background: rgba(255, 255, 255, 0.98);
	backdrop-filter: blur(20px);
	border-radius: 16px;
	padding: 12px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	pointer-events: auto;
	transition: opacity 0.2s ease, transform 0.2s ease;
	min-width: 250px;
	width: 250px;
	visibility: hidden;
	display: none;
	flex-direction: column;
	gap: 8px;
	overflow: visible;
	/* ИСПРАВЛЕНО: было overflow: hidden */
	z-index: 10000;
	transform: translateX(-50%) translateY(-10px) scale(0.95);
}

.submenu-new.open {
	opacity: 1;
	transform: translateX(-50%) translateY(0) scale(1);
	visibility: visible;
	display: flex;
}

.submenu-new-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	overflow-y: auto;
	width: 100%;
	box-sizing: border-box;
	scrollbar-width: thin;
	scrollbar-color: #667eea rgba(255, 255, 255, 0.6);
	margin-bottom: 45px;
}

.submenu-new-list::-webkit-scrollbar {
	width: 6px;
}

.submenu-new-list::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(10px);
	border-radius: 999px;
}

.submenu-new-list::-webkit-scrollbar-thumb {
	background: linear-gradient(135deg, #667eea, #764ba2);
	border-radius: 999px;
}

.tooltip-submenu-new-main {
	background: rgba(0, 0, 0, 0.8);
	color: white;
	padding: 6px 12px;
	border-radius: 6px;
	font-size: 12px;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, transform 0.2s ease;
	transform: translateX(-50%) scale(0);
	text-align: center;
}

.submenu-new.open .tooltip-submenu-new-main {
	transform: translateX(-50%) scale(1);
	opacity: 1;
	visibility: visible;
}

.submenu-new-list-item {
	position: relative;
	padding: 10px 16px;
	border-radius: 8px;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 12px;
	color: #2d3748;
	width: 100%;
	transition: background 0.2s;
}

.submenu-new-link,
.nested-link {
	display: flex;
	gap: 8px;
	align-items: center;
}

.submenu-new-list-item:hover {
	background: rgba(102, 126, 234, 0.1);
}

.submenu-new-list-item-icon {
	width: 32px;
	height: 32px;
	/* background: linear-gradient(135deg, #4facfe, #1cd8e2); */
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-size: 16px;
	flex-shrink: 0;
}

.submenu-new-link:nth-child(19n+1) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #667eea, #764ba2);
}

.submenu-new-link:nth-child(19n+2) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #ff5f6d, #ffc371);
}

.submenu-new-link:nth-child(19n+3) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #00f2fe, #4facfe);
}

.submenu-new-link:nth-child(19n+4) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #43e97b, #38f9d7);
}

.submenu-new-link:nth-child(19n+5) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #fa709a, #fee140);
}

.submenu-new-link:nth-child(19n+6) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #667db6, #0082c8);
}

.submenu-new-link:nth-child(19n+7) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #f7971e, #ffd200);
}

.submenu-new-link:nth-child(19n+8) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #bdc3c7, #2c3e50);
}

.submenu-new-link:nth-child(19n+9) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #ff416c, #ff4b2b);
}

.submenu-new-link:nth-child(19n+10) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #00c9ff, #92fe9d);
}

.submenu-new-link:nth-child(19n+11) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #f7971e, #ffd200);
}

.submenu-new-link:nth-child(19n+12) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #396afc, #2948ff);
}

.submenu-new-link:nth-child(19n+13) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #4facfe, #00f2fe);
}

.submenu-new-link:nth-child(19n+14) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #f953c6, #b91d73);
}

.submenu-new-link:nth-child(19n+15) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #8e2de2, #4a00e0);
}

.submenu-new-link:nth-child(19n+16) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #00b09b, #96c93d);
}

.submenu-new-link:nth-child(19n+17) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #ff512f, #f09819);
}

.submenu-new-link:nth-child(19n+18) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #1c92d2, #f2fcfe);
}

.submenu-new-link:nth-child(19n+19) .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #f953c6, #b91d73);
}

.submenu-new-list-item.operators-manager-item .submenu-new-list-item-icon {
	background: linear-gradient(135deg, #f7971e, #ffd200);
}

.submenu-new-list-item-content {
	flex: 1;
	text-align: left;
}

.submenu-new-list-item-title {
	font-size: 14px;
	font-weight: 600;
	color: #1a202c;
}

.submenu-new-list-item-desc {
	font-size: 11px;
	color: #718096;
}

.submenu-new-list-item-arrow {
	color: #cbd5e0;
	font-size: 12px;
	flex-shrink: 0;
}

/* ===========================
   nested-submenu-new (Third Level)
=========================== */
.nested-submenu-new {
	position: fixed;
	background: rgba(255, 255, 255, 0.98);
	backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 16px;
	padding: 12px;
	box-shadow:
		0 10px 40px rgba(0, 0, 0, 0.2),
		0 4px 6px rgba(0, 0, 0, 0.15);
	min-width: 250px;
	width: 250px;
	z-index: 10001;
	display: none;
	flex-direction: column;
	gap: 8px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.25s cubic-bezier(0.2, 0.9, 0.2, 1.4);
	transform: translateX(-10px) scale(0.95);
}

.nested-submenu-new .submenu-new-list-item {
	padding: 10px 16px;
	border-radius: 8px;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 12px;
	color: #2d3748;
	transition: background 0.2s;
}

.nested-submenu-new .submenu-new-list-item:hover {
	background: rgba(102, 126, 234, 0.1);
}

.nested-submenu-new .submenu-new-list-item span {
	font-size: 16px;
	flex-shrink: 0;
}

/* ===========================
   Divider and Dock Items Styles
=========================== */
.dock-divider {
	width: 1px;
	height: 40px;
	background: rgba(255, 255, 255, 0.3);
	margin: 0 4px;
	align-self: center;
}

.dock-item.dashboard,
.dock-item.home {
	background: linear-gradient(135deg, #667eea, #764ba2);
	color: white;
}

.dock-item.lcr,
.dock-item.send-sms {
	background: linear-gradient(135deg, #ff5f6d, #ffc371);
	color: white;
}

.dock-item.check-numbers,
.dock-item.destination-testing {
	background: linear-gradient(135deg, #00f2fe, #4facfe);
	color: white;
}

.dock-item.hlr-checker,
.dock-item.load-distribution {
	background: linear-gradient(135deg, #43e97b, #38f9d7);
	color: white;
}

.dock-item.pricing-coverage,
.dock-item.rate-plan-manager {
	background: linear-gradient(135deg, #fa709a, #fee140);
	color: white;
}

.dock-item.route-manager {
	background: linear-gradient(135deg, #667db6, #0082c8);
	color: white;
}

.dock-item.manage-customers {
	background: linear-gradient(135deg, #f7971e, #ffd200);
	color: white;
}

.dock-item.reports {
	background: linear-gradient(135deg, #bdc3c7, #2c3e50);
	color: white;
}

.dock-item.api,
.dock-item.message-simulation {
	background: linear-gradient(135deg, #ff416c, #ff4b2b);
	color: white;
}

.dock-item.am-margin-report {
	background: linear-gradient(135deg, #00c9ff, #92fe9d);
	color: white;
}

.dock-item.billing {
	background: linear-gradient(135deg, #f7971e, #ffd200);
	color: white;
}

.dock-item.moderation {
	background: linear-gradient(135deg, #396afc, #2948ff);
	color: white;
}

.dock-item.check-number {
	background: linear-gradient(135deg, #4facfe, #00f2fe);
	color: white;
}

.dock-item.generator {
	background: linear-gradient(135deg, #f953c6, #b91d73);
	color: white;
}

.dock-item.knowledge-base {
	background: linear-gradient(135deg, #8e2de2, #4a00e0);
	color: white;
}

.dock-item.documents-templates {
	background: linear-gradient(135deg, #00b09b, #96c93d);
	color: white;
}

.dock-item.administration {
	background: linear-gradient(135deg, #ff512f, #f09819);
	color: white;
}

.dock-item.manage-jobs {
	background: linear-gradient(135deg, #1c92d2, #f2fcfe);
	color: white;
}

.dock-item.super-settings {
	background: linear-gradient(135deg, #f953c6, #b91d73);
	color: white;
}

/* ===========================
   Scrollbar
=========================== */
.dock-scrollbar {
	margin-top: 8px;
	display: flex;
	justify-content: center;
	pointer-events: auto;
}

.dock-scrollbar-track {
	position: relative;
	width: 140px;
	height: 6px;
	border-radius: 999px;
	background: #fff;
	backdrop-filter: blur(10px);
}

.dock-scrollbar-thumb {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 30px;
	border-radius: 999px;
	background: linear-gradient(135deg, #667eea, #764ba2);
	cursor: pointer;
	transition: background 0.3s ease;
}

.dock-scrollbar-thumb:hover {
	background: linear-gradient(135deg, #7f9cf5, #805ad5);
}

.submenu-new .tooltip-submenu-new-main {
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%) scale(0);
	background: rgba(0, 0, 0, 0.8);
	color: white;
	padding: 6px 12px;
	border-radius: 6px;
	font-size: 12px;
	white-space: nowrap;
	pointer-events: none;
	transition: transform 0.2s, opacity 0.2s;
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
}

.submenu-new.open .tooltip-submenu-new-main {
	transform: translateX(-50%) scale(1);
	opacity: 1;
	visibility: visible;
}

#ui-layer {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 99999;
}

#ui-layer>* {
	pointer-events: auto;
}

.nested-submenu-new {
	transform-origin: left center;
}

@media (max-width: 1000px) {
	/* третий уровень становится обычным вложенным блоком */
	.nested-submenu-new {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
		width: calc(100% + 20px);
		min-width: unset;
		margin: 0 -10px -5px;
		border-radius: 12px;
		box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
		display: none;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		overflow: hidden;
		transition: max-height .25s ease, opacity .2s ease;
	}

	.submenu-new-list-item {
		flex-wrap: wrap;
	}

	/* стрелку поворачиваем */
	.submenu-new-list-item.mobile-open>.submenu-new-list-item-arrow {
		transform: rotate(90deg);
		color: #667eea;
	}

	.nested-submenu-new .submenu-new-list-item {
		padding: 5px;
	}
}