
/* Стили для иерархии в таблице */
.table-utm .utm-row { /* Можно убрать cursor, если клик только по иконке */ }
.table-utm td.toggle-icon { cursor: pointer; } /* Курсор на ячейку с иконкой */
.table-utm td.toggle-icon::before { /* Иконка +/- */
	content: '+ ';
	font-weight: bold;
	display: inline-block; /* или float: left */
	margin-right: 20px;
	min-width: 1em; /* Чтобы текст не прыгал при смене + на - */
}
.table-utm .utm-row.expanded > td.toggle-icon::before { /* Меняем иконку при раскрытии */
	content: '- ';
}
.table-utm .child-row { /* Дочерние строки скрыты по умолчанию */
	display: none;
}
/* Отступы для уровней (остаются без изменений) */
.table-utm .level-2 td:first-child { padding-left: 2em; }
.table-utm .level-3 td:first-child { padding-left: 4em; }
.table-utm .level-4 td:first-child { padding-left: 6em; }
.table-utm .level-5 td:first-child { padding-left: 9em; }


.card-tooltip {
	position: absolute;
	top: -20px;
	left: 10px;
	background: white;
	padding: 0 3px;
	border-radius: 5px;
	font-size: 12px;
	color: #888;
	border: 1px solid #ddd;
}

.tranparent-background {
	background-color: rgba(255, 255, 255, 0);
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
	background-color: #b5b3b3 !important;
}

.btn-tool-orange {
	background-color: transparent;
	color: #e87d2f;
	font-size: .875rem;
	margin-bottom: 4px;
	padding: .25rem .5rem;
}

select option:hover {
	background-color: rgba(10, 10, 10, 0.17) !important;
}

/* Extra small devices (phones, до 576px) */
.col-20 {
	flex: 0 0 100%;
	max-width: 100%;
}

/* Small devices (tablets, 576px и выше) */
@media (min-width: 576px) {
	.col-sm-20 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

/* Medium devices (десктопы, 768px и выше) */
@media (min-width: 768px) {
	.col-md-20 {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
		padding: 0 10px;

	}
}

/* Large devices (большие десктопы, 992px и выше) */
@media (min-width: 992px) {
	.col-lg-20 {
		flex: 0 0 20%;
		max-width: 20%;
		padding: 0 10px;

	}
}

/* Extra large devices (большие экраны, 1200px и выше) */
@media (min-width: 1200px) {
	.col-xl-20 {
		flex: 0 0 20%;
		max-width: 20%;
		padding: 0 10px;

	}
}


.totop {
	position: fixed;
	left: 30px;
	bottom: 20px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #7b8e39;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10000;
	transition: 0.2s;

}

.totop img {
	filter: invert();

}

.totop:hover {
	transform: scale(1.1);
	transition: 0.2s;
}


.p_min {
	padding: .3rem .7rem !important;
}

.al-bot {
	display: flex;
	align-items: flex-end !important;
}

.table-sm2 td, .table-sm2 th {
	padding: .7rem;
}

.toast {
	min-width: 250px;
}

.badge-close {
	font-size: 60% !important;
	position: absolute; 
	margin-left: -5px;
	border-radius: 50%;
	padding: 1px 4px;
	color: #fff;
}

.form-control-sm {
	display: block;
	width: 100%;
	height: calc(1.8rem + 2px);
	padding: .175rem .55rem;
	font-size: .9rem;
	font-weight: 400;
	line-height: 1.5;
	color: #495057;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	border-radius: .25rem;
	box-shadow: inset 0 0 0 transparent;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

.custom-context-menu {
	display: none;
	position: absolute;
	z-index: 1000;
}

@media (max-width: 900px) {
	.p_min {
		padding: .3rem .4rem !important;
	}

	.rt thead {
		display: none;
	}

	.rt tr {
		display: block;
		margin-bottom: 15px;
		border: 1px solid #dcdcdc;
		background-color: rgba(239, 239, 239, 0.61) !important;
	}

	.rt td {
		display: flex;
		justify-content: space-between;
		font-size: 14px;
	}

	.rt td::before {
		content: attr(data-label);
		font-weight: bold;
		margin-right: 20px;
	}
}

.cp {
	cursor: pointer;
}


label.mylabel {
	font-weight: 400 !important;
	font-size: 0.95em;
	margin-bottom: .1rem !important;
}

.form-group {
	margin-bottom: 0.5rem !important;
}

.opacity50 {
	opacity: .5;
}

.clientTarifs i {
	margin: 0 5px 0 5px;
}

.ch100 {
	height: 100%;
	max-height: calc(100vh - 200px);
}

.card-body {
	overflow: auto;
}

.direct-chat-msg {
	margin-bottom: 25px !important;
}

.direct-chat-messages {
	height: auto !important;
}

.select2-container .select2-selection--single {
	height: 36px !important;
}


.strike {
	text-decoration: line-through;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	margin-top: 0 !important;
}


.suggestions {
	display: none;
	background: #fff;
	border: 1px solid #999;
	-ms-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	cursor: default;
	left: 0;
	top: 38px;
	min-width: 100%;
	position: absolute;
	z-index: 9999;
	-webkit-text-size-adjust: 100%;
}

.suggestions div {
	padding: 5px;
	border-bottom: 1px solid #dddddd;
}

.suggestions div:hover {
	background-color: #aaaaaa;
	cursor: pointer;
}

.clientform {
	width: 100%;
}

.hover:hover {
	filter: hue-rotate(60deg) sepia(50%)

}

.btn-supersmall {
	padding: .20rem .4rem;
	font-size: 0.73em;
	line-height: 1.5;
	border-radius: .2rem;
}

.btn-supersmall-xs {
	padding: .20rem .4rem;
	font-size: 0.55em;
	line-height: 1.5;
	border-radius: .2rem;
}

.card-header-sm {
	padding: .25rem 1.25rem;
}


.dropzone.dz-clickable {
	cursor: pointer;
}


.dropzone {
	min-height: 150px;
	border: 1px dashed rgba(255, 255, 255, 0.9);
	border-radius: 5px;
	padding: 20px 20px;
	text-align: center;
}

.dropzone, .dropzone * {
	box-sizing: border-box;
}

.dropzone .dz-message .dz-button {
	background: none;
	color: inherit;
	border: none;
	padding: 0;
	font: inherit;
	cursor: pointer;
	outline: inherit;
}


.my-bottom {
	position: absolute;
	bottom: 5px;
	width: 100%;
	padding: 10px;
}



.sidebar-sticky {
	position: fixed !important;
	top: 0;
	left: 0;
}

.pull-right-container {
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -14px;
}


.bg-gradient-light2 {
	background: #dfefff linear-gradient(180deg, #eaf5ff, #e5eff9) repeat-x !important;
	color: #1f2d3d;
}

.select2-dropdown.select2-dropdown--below {
	background: aliceblue;
}

.sortable.hover {
	background: #cac3c3;
	border: 2px dashed #6c757d;
}

.sortable {

}

.card.ui-draggable {
	min-width: 90% !important;
}

.control-sidebar-dark {
	background-color: #343a40f2;
}

.fl:first-letter {
	text-transform: uppercase;
}

.select2-container {
	width: 100% !important;
}

.breakAll {
	word-wrap: anywhere;
	word-break: break-all;
}


textarea {
	min-height: 38px;
}

.img-size-200 {
	width: 200px
}

#attach_preview {
	display: block;
	max-width: 210px;
	border: 1px solid #eee;
	border-radius: 4px;
	margin-bottom: 20px;
	padding: 5px;
}

#attach_del {
	position: inherit;
	margin-left: 90%;
	margin-top: -4px;
	font-weight: bold;
	transition: 0.3s;
}

#attach_del:hover {
	color: #7b1d1d !important;
}