:root {
	--main-color: #446CB3;
	--additional-color: #385ea0;
	--main-color-rgb: 68, 108, 179; /* Только RGB значения */
}

/* Единый компактный переключатель для булевых полей CRM. */
.ui-toggle {
	position: relative;
	display: inline-block;
	flex: 0 0 30px;
	width: 30px;
	height: 16px;
	vertical-align: middle;
}

.ui-toggle--auto {
	margin: 0 6px;
}

.ui-toggle > input[type="checkbox"] {
	position: absolute !important;
	inset: 0 !important;
	z-index: 2;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	opacity: 0;
	cursor: pointer;
}

.ui-toggle__track {
	position: absolute;
	inset: 0;
	display: block;
	border: 1px solid #aebdca;
	border-radius: 8px;
	background: #b9c2c9;
	transition: border-color .18s ease, background-color .18s ease;
}

.ui-toggle__track::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 2px rgba(28, 48, 65, .28);
	content: '';
	transition: transform .18s ease;
}

.ui-toggle > input[type="checkbox"]:checked + .ui-toggle__track {
	border-color: var(--additional-color);
	background: var(--main-color);
}

.ui-toggle > input[type="checkbox"]:checked + .ui-toggle__track::before {
	transform: translateX(14px);
}

.ui-toggle > input[type="checkbox"]:focus + .ui-toggle__track {
	box-shadow: 0 0 0 2px rgba(var(--main-color-rgb), .18);
}

html {
	position: relative;
	min-height: 100%;
}

.container-fluid {
	min-height: calc(100lvh - 65px);
}

/* Максимальная ширина select в таблице jqgrid */
.ui-jqgrid-bdiv table select[role="select"]{
	max-width: 90%;
}

/* исправление черты у popover при масштабировании */
.popover.right>.arrow {
	border-right: none;
}
.popover.right>.arrow:after {
	left: 1.5px !important;
}

.popover.left>.arrow {
	border-left: none;
}
.popover.left>.arrow:after {
	right: 1.5px !important;
}

.popover.bottom>.arrow {
	border-top: none;
}
.popover.bottom>.arrow:after {
	top: 1.5px !important;
}

.popover.top>.arrow {
	border-bottom: none;
}
.popover.top>.arrow:after {
	bottom: 1.5px !important;
}
/* Custom page CSS
-------------------------------------------------- */
/* Not required for template or sticky footer method. */

body > .container {
	padding: 15px 15px 0;
	margin-right: 15px;
	margin-left: 15px;
}
.container {
	width: 95%;
}
.footer > .container {
	padding-right: 15px;
	padding-left: 15px;
}

code {
	font-size: 80%;
}

h2 { color: var(--main-color); }

/* Sticky footer styles
-------------------------------------------------- */
.footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	/* Set the fixed height of the footer here */
	height: 60px;
	background-color: #f5f5f5;
}

.row {
	margin: 0;
}

pre {
	white-space: pre-wrap !important;
	word-break: break-word !important;
}
/* BREADCRUMBS start
-------------------------------------------------- */

.breadcrumb-box {
	background: var(--main-color);
	width: 100%;
	height: 50px;
	position: fixed;
	z-index: 1199;
	top: 0px;
}
.breadcrumb {
	top: 0;
	position: fixed;
	z-index: 1200;
	box-shadow: inset 0px 50px 0 0px var(--main-color);
	height: 50px;
	width: calc(100% - 120px);
	background: var(--main-color);
	overflow: hidden;
	display: flex;
	align-items: center;
	border-radius: 0;
	padding: 5px 0 5px 15px;
	margin-bottom: 20px;
}

.breadcrumb .item {
	padding-right: 12px;
	padding-left: 12px;
	font-size: 16px;
	color: white;
	white-space: nowrap;
	position: relative;
	text-decoration: none;
	z-index: 100;
}

.breadcrumb .main { max-width: 250px !important;}
.breadcrumb .active { cursor: default;}

/* Косая черта */
.breadcrumb .item::after {
	color: #d0d0d0;
	font-weight: bold;
	content: "/\00a0";
	position: absolute;
	left: 0px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 102;
}

.breadcrumb .item:first-child::after {display: none;}

@media (min-width: 1000px) {
	.is-overflow {
		text-overflow: ellipsis;
		overflow: hidden;
	}
}

.back-icon {
	display: none ;
}

@media (max-width: 1000px) {

	.breadcrumb .item:not(:last-child)::after,
	.breadcrumb .item:not(.back-icon) {
		display: none !important;
	}

	.back-icon,
	.breadcrumb .item:last-child {
		display: block !important;
	}

	.breadcrumb {
		padding-left: 50px !important;
		width: 100% !important;
	}

	.breadcrumb .item:not(.back-icon) {
		text-overflow: ellipsis;
		overflow: hidden;
	}
}
/* BREADCRUMBS end
-------------------------------------------------- */


/* MAIN MENU start
-------------------------------------------------- */

/* Отступ страницы и ширина меню зависят от одного переключателя, включая сенсорные экраны. */
@media (min-width: 1001px) {
 body:has(.menu-container > #pin-menu-checkbox:checked) {
  margin-left: 250px;
  width: calc(100% - 250px) !important;
 }
}
body {
	overflow-y: scroll;
	overflow-x: hidden;
	width: calc(100% - 60px);
	margin-top: 65px !important;
	margin-left: 60px;
}

#burger-checkbox{
	position: fixed;
	visibility: hidden;
	display: none;
}

.burger {
	top: 0;
	margin: 15px;
	cursor: pointer;
	display: none;
	position: absolute;
	border: none;
	background: transparent;
	z-index: 1420;
	width: 25px;
	height: 21px;
}

.burger::before,
.burger::after {
	content: '';
	left: 0;
	position: absolute;
	display: block;
	width: 100%;
	height: 3px;
	border-radius: 2px;
	background: white;
}

.burger::before {
	top: 0;
	box-shadow: 0 9px 0 white;
	transition: box-shadow .3s .15s, top .3s .15s, transform .3s;
}

.burger::after {
	bottom: 0;
	transition: bottom .3s .15s, transform .3s;
}

#burger-checkbox:checked + .burger::before {
	top: 9px;
	transform: rotate(45deg);
	box-shadow: 0 4.5px 0 rgba(0,0,0,0);
	background: white;
	transition: box-shadow .3s .15s, top .3s, transform .3s .15s, background .15s;
}

#burger-checkbox:checked + .burger::after {
	bottom: 9px;
	transform: rotate(-45deg);
	transition: bottom .3s, transform .3s .15s, background .15s;
	background: white;
}

#main-menu {
	width: 60px;
	height: 100lvh;
	max-height: 100lvh;
	position: fixed;
	top:0;
	left: 0;
	font-size: 14px;
	box-shadow: 0 0 8px 5px rgba(0, 0, 0, .25);
	background-color: var(--main-color);
	z-index: 1250;
	transition: 300ms ease-in-out;
	overflow: auto;
	overflow-x: hidden;
	scrollbar-width: none;
	-webkit-scrollbar-width: 0;
	-ms-overflow-style: none;
}

#main-menu .logo {
	height: 50px !important;
	width: 60px;
	z-index: 1002;
	position: fixed !important;
	margin: 0 !important;
}
#main-menu .logo .menu-label { left: 70px !important;}
#pin-menu-checkbox:checked ~ #main-menu .logo .menu-label { transition-delay: 50ms;}

#main-menu .logo .menu-text {
	font-weight: bold;
	font-size: 18px;
}

#main-menu .logo { user-select: none;}
#main-menu .logo img {
	width: 44px;
	height: 44px;
	max-width: none;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}

#main-menu .line {
	z-index: 1001;
	width: 250px;
	position: fixed;
	background: linear-gradient(to bottom, rgba(var(--main-color-rgb), 1) 0%, rgba(var(--main-color-rgb), 0) 100%);
	box-shadow: -50px -60px 0px 50px var(--main-color);
	border-top: 1px solid rgb(200, 200, 200);
	margin: 50px 0 0 0;
	padding: 10px 0;
	left: -190px;
	transition: 300ms ease-in-out;
}

#main-menu .menu-list {
	margin: 70px 10px;
}

.user-item,
#main-menu .menu-item {
	height: 40px;
	position: relative;
	list-style-type: none;
	margin: 0 0 5px 0;
	transition: 400ms;
}
.user-item .menu-icon {
	right: 15px !important;
	left: auto !important;
}
.user-item {
	position: fixed;
	z-index: 1420;
	top: 0;
	right: 0;
	width: 70px;
	height: 50px;
}
.user-avatar {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	object-position: center;
	aspect-ratio: 1 / 1;
	margin: 0 auto;
}
.menu-avatar {
	width: 75% !important;
	height: 75% !important;
}

.user-item .menu-icon,
#main-menu .menu-icon {
	width: 40px;
	height: 40px;
	position: absolute;
	left: 0;
	color:white;
}

#main-menu .menu-item,
#main-menu .menu-icon {
	border-radius: 5px;
}

#main-menu .logo,
#main-menu .menu-icon::before,
#main-menu .menu-item,
#main-menu .menu-icon,
.user-item .menu-icon,
.user-item,
.pin-menu {
	display: flex;
	align-items: center;
	justify-content: center;
}

#main-menu .menu-label{
	opacity: 0;
	width: 0;
	height: 100%;
	position: absolute;
	display: flex !important;
	align-items: center;
	transition: width 300ms linear, margin-left 300ms, opacity 100ms linear;
	margin-left: -20px;
	left: 50px;
	right: 0;
}

#main-menu .menu-label span {
	white-space: nowrap;
	pointer-events: none;
}

#main-menu .menu-text{
	margin: 0 10px 0 0;
	color: white;
}

#main-menu .badge{
	transition: 400ms !important;
	top: 25px;
	right: 0px;
	position: absolute;
	transition-delay: 800ms;
	animation-delay: 800ms;
	animation: fadeIn 800ms ease forwards !important;
}

#pin-menu-checkbox:checked ~ #main-menu .badge {
	top: auto !important;
	right: 8px !important;
	left: auto;
}

@keyframes fadeIn {
	0% {
			opacity: 0;
		}
	100% {
			opacity: 1;
		}
}

#main-menu .open-dropdown{
	opacity: 0;
	position: absolute;
	transform: none !important;
	margin: 0 !important;
	width: 100%;
	height: 40px;
	z-index: 1003;
}
#main-menu .blueelement {color: white !important;}
#main-menu .redelement {color: #ff7566 !important;}

.pin-menu {
	transition: transform 500ms !important;
	transform: rotate(270deg) !important;
	border-width: 5px 5px 0 5px !important;
	opacity: 1 !important;
	cursor: pointer;
	position: fixed;
	left: 15px !important;
	color: white;
	font-weight: 400;
	transition:  left 100ms, opacity 200ms;
	z-index: 1008;

	width: 36px;
	height: 36px;

}

.wrap-text {
	display: flex;
	height: 20px;
	align-items: center;
	position: absolute;
	left: 60px;
	bottom: 16px;
}

.wrap-item {
	left: 10px;
	bottom: 0;
	border-radius: 0 !important;
	width: 40px;
	margin-bottom: 0 !important;
	z-index: 1004;
	position: fixed !important;
	background: var(--main-color);
}
#pin-menu-checkbox:checked ~ #main-menu .pin-menu {
	transform: rotate(90deg) !important;
}

#pin-menu-checkbox:checked ~ #main-menu .wrap-item {
	transition: 500ms !important;
	width: 230px;
}

#pin-menu-checkbox {
	display: none;
	position: absolute;
}

#main-menu .opened {
	box-shadow: inset 0 0 100px 0 rgba(255, 255, 255, 0.3);
}

#main-menu .user-fio {
	opacity: 0;
	width: 0;
	white-space: nowrap;
	transition-delay: 100ms;
	transition: 200ms;
	color:white;
}

#main-menu .user-line{
	transform: rotate(180deg);
	box-shadow: 50px -60px 0px 50px var(--main-color) !important;
	bottom: 40px;
}

#main-menu .logout{
	width: 15px;
	height: 15px;
	right: 0;
	display: none;
	position: absolute;
	color:white;
	z-index: 1007;
}

#main-menu .dropdown-menus {
	scrollbar-width: none;
	overflow: auto;
	background: none;
	border: none;
	box-shadow: none;
	max-height: 0;
}

#main-menu .drop-arrow {
	opacity: 0;
	width: 0;
	height: 0;
	right: 15px;
	position: absolute;
	display: inline-block;
	border-style: solid;
	border-width: 4px 4px 0 4px;
	border-color: white transparent transparent transparent;
	transform: rotate(90deg);
	transition: transform 200ms;

}

#burger-checkbox:checked ~ #main-menu .drop-arrow,
#pin-menu-checkbox:checked ~ #main-menu .drop-arrow {
	transition: opasity 300ms, transform 200ms !important;
	opacity: 1 !important;
}

#pin-menu-checkbox:checked ~ #main-menu  .menu-label { width: 180px !important;}

#pin-menu-checkbox:checked ~ #main-menu  .menu-label,
#burger-checkbox:checked ~ #main-menu .menu-label {
	margin-left: 0 !important;
	opacity: 1 !important;
}

#main-menu .dropdown .open-dropdown:checked ~ .menu-item .drop-arrow {
	transform: rotateX(0);
}

#pin-menu-checkbox:checked ~ #main-menu  .user-fio {
	width: calc(100% - 65px - 15px);
	opacity: 1 !important;
}

#pin-menu-checkbox:checked ~ #main-menu  .logout { display: block;}

#pin-menu-checkbox:checked ~ #main-menu { width: 250px !important;}


#pin-menu-checkbox:checked ~ #main-menu .line { left: 0;}

#pin-menu-checkbox:checked ~ #main-menu  .dropdown .open-dropdown:checked ~ .menu-item {
	box-shadow: inset 0 0 100px 0 rgb(0, 0, 0, 0.3);
}

/*mobile*/
@media (max-width: 1000px) {

	@media (max-width: 450px) {
		#burger-checkbox:checked ~ #main-menu {width: 100% !important;}
	}
	@media (min-width: 450px) {
		#burger-checkbox:checked ~ #main-menu { width: 350px !important;}
		.user-item { left: 290px;}
	}

	#main-menu .user-line,
	.pin-menu,
	#main-menu .wrap-item,
	#main-menu .logo {
		display: none !important;
	}
	#main-menu { transform: translateX(calc(-100% - 10px));}
	#burger-checkbox { transform: translateX(0) !important;}

	.burger {
		display: block !important;
		position: fixed;
	}
	#burger-checkbox:checked ~ .burger {position: fixed !important;}
	#burger-checkbox:checked ~ #main-menu .logout { display: block;}

	#burger-checkbox:checked ~ #main-menu .user-fio{
		width: calc(100% - 65px - 15px);
		opacity: 1 !important;
	}

	#burger-checkbox:checked ~ #main-menu .menu-label { width: 180px !important;}
	#burger-checkbox:checked ~ #main-menu .line { left: 0;}
	#burger-checkbox:checked ~ #main-menu {transform: translateX(0) !important;}

	#burger-checkbox:checked ~ #main-menu .dropdown .open-dropdown:checked ~ .menu-item {
		box-shadow: inset 0 0 100px 0 rgb(0, 0, 0, 0.3);
	}

	#burger-checkbox:checked ~ #main-menu .dropdown .open-dropdown:checked ~ .dropdown-menus {
		padding: 0 0 0 20px !important;
	}

	#burger-checkbox:checked ~ #main-menu .badge {
		top: auto !important;
		left: auto !important;
		right: 10px !important;
	}

	.menu-list {
		margin: 70px 10px !important;
		overflow: auto;
		overflow-x: hidden;
		scrollbar-width: none;
		-ms-overflow-style: none;
		max-height: calc(100lvh - 180px);
	}

	#main-menu .line { width: 100% !important;}

	.user-item {
		width: 0 !important;
		transition: none;
		opacity: 0;
		right: 0 !important;
	}
	.user-item .menu-icon {
		width: 0 !important;
	}
	#burger-checkbox:checked ~ .user-item .menu-icon {
		width: 40px !important;
	}
	#burger-checkbox:checked ~ .user-item {
		width: 60px !important;
		opacity: 1 !important;
		transition: 150ms 300ms;
		position: fixed;
	}
}

/*no mobile*/
@media (min-width: 1001px) {

	.burger { display: none !important;}

	#main-menu .menu-item:not(.wrap-item):not(.user-item):not(.logo):hover,
	#main-menu .dropdown .open-dropdown:hover ~ .menu-item {
		box-shadow: inset 0 0 100px 0 rgba(0, 0, 0, 0.3);
	}
}

#main-menu .dropdown-menus .menu-label { width: 160px;}

#pin-menu-checkbox:checked ~ #main-menu .dropdown .open-dropdown:checked ~ .dropdown-menus {
	padding: 0 0 0 20px !important;
}

/* MAIN MENU end
-------------------------------------------------- */

/* Custom active tab background color #4FC1E9 */
.nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:hover {
	color: #FFF;
	background-color: var(--main-color);
	border: 1px solid var(--main-color);
}
.nav-tabs.nav-justified > li > a {
	border-right: 1px solid white;
	background-color: #EEE;
}
.navbar-inverse {
	background-color: var(--main-color);
	border-color: transparent;
}
.navbar-inverse .navbar-nav>li>a {
	color: #DDD;
}
.navbar-inverse .navbar-brand {
	color: white;
}

.navbar-brand > img {
	max-height: 100%;
	width: auto;
}

/* Style for busket icon in actchargeon positions table */
td.del-top {
	vertical-align: top;
	padding: 5px;
}

.redelement {
	color: #E74C3C!important;
}
.blueelement {
	color: var(--main-color)!important;
}
.greenelement {
	color: #28a745!important;
}
.orangeelement {
	color: #e66f00!important;
}
.greylement {
	color: grey!important;
}
.whiteelement {
	color: #fff!important;
}
.blackelement {
	color: #212529!important;
}
.del {
	text-decoration: line-through!important;
}

.plupload_logo {
	background: none
}
.plupload_header_content {
	padding: 0 10px 0 10px;
	height: auto;
}
.modal-content {
	width: auto;
}

.fm-button {height: 28px;}

.ui-jqdialog .ui-jqdialog-titlebar {
	height: 25px;
}
.select2-container {
	font-size: 14px;
}
/* Группы тегов заполняют ширину списка без внешних отступов. */
#select2-tags-results > li[role=group] {
	padding: 0;
}
#select2-tags-results > li[role=group] > ul{
	display: flex;
	flex-wrap: wrap;
}

#select2-tags-results > li[role=group] > ul > li[role=option]{
	flex: 1 1 auto;
	margin: 0;
	text-align: center;
}

.select2-container--bootstrap .select2-results__group {background: #dfeffc;}
.suggestions-mobile {
	left: 0 !important;
	width: 100% !important;
}
.suggestions-addon{
	left: auto !important;
	right: 0 !important;
}
/* placeholder во всю ширину */
.select2-search__field {
	width: 100%!important;
}
/* ресайз select2 при ресайзе окна */
.select2-container {
	width: -webkit-fill-available !important;
}

/* Зачем так? Отключил пока не найдётся причина. */
/* select:required:invalid { opacity: .6; } */

.alert-ok { background-color: #fff; color: #555; border-color: #ccc; }
.alert-danger { background-color: #f2dede; color: #a94442; border-color: #ebccd1;}
option.alert-ok { background-color: #fff!important; color: #555; }
option.alert-danger { background-color: #fff!important; color: #a94442; }

.ui-autocomplete { font-size: 0.75em; z-index:1000; }

/* Сдвиг значка фидбэка для форм
.form-control ~ .form-control-feedback {
	left: -15px!important;
}
*/
.form-group .form-control-feedback {
/*	left: -15px!important; */
	pointer-events: initial;
}
/*.form-horizontal ~ */
.has-feedback .form-control-feedback {
	left: -15px!important;
	line-height: 34px;
	position: absolute;
}
.input-group > .input-group-btn + .form-control-feedback, .input-group > .form-control + .form-control-feedback {
	left: -30px!important;
}
.has-feedback label~.form-control-feedback {
	top: 0px;
	left: 100%!important;
}
.has-feedback .form-control {
	padding-right: 6px;
}

.form-control {
	padding: 6px 6px;
}

[data-action="del_phone"] span {right: 30px;}

.text-muted {color: #ccc;}

/* Убираем рамку фокуса */
a:focus, .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {
	outline:0;
}

/* Исправление танцующих кнопок пагинатора jqGrid */
.ui-jqgrid .ui-pg-button:hover{
	padding: 1px;
}
.ui-jqgrid .ui-pg-button{
	padding: 1px;
	border: 1px solid transparent;
}
.ui-pg-button.ui-state-disabled > .ui-separator{
	margin-left: 3px;
	margin-right: 3px;
}
.ui-jqgrid-disablePointerEvents {
	pointer-events: none;
}

#jqContextMenu {
	z-index: 1500 !important;
	min-width: 200px;
	box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.1);
}
#jqContextMenu i {
	width: 20px; /* Фиксированная ширина для значков */
	margin-right: 10px;
	color: #007bff;
	font-size: 16px;
	text-align: center;
}
#jqContextMenu ul {width: 100% !important;}
#jqContextMenu li {cursor: pointer !important;}
.ui-jqgrid .ui-icon-desc {
	margin-left: initial;
}

/* бледный элемент */
.pale { opacity: .4; }

.disabled {
	opacity: 0.7;
}

.opacity-0 {opacity: 0;}
.opacity-0-imp {opacity: 0 !important;}
/* Прячем заголовки таблиц */
.ui-jqgrid-titlebar { display:none }

.jqgrow { background-image: none; }

.ui-jqgrid tr.ui-search-toolbar td > input,
.ui-jqgrid tr.ui-search-toolbar td > select {width: 100%;}
.ui-jqgrid .ui-search-table td.ui-search-clear {width: 1px;}
.ui-jqgrid .ui-search-table .ui-search-oper {width: 1px;}

/* Убираем вертикальную сетку */
.ui-jqgrid tr.ui-row-ltr td { border-right-color: transparent; }
/* Убираем горизонтальную сетку */
.ui-jqgrid tr.ui-row-ltr td { border-bottom-color: transparent; }
/* Убираем сетку в заголовке */
.ui-jqgrid-labels .ui-th-column { border-right-color: transparent }

.top_profile_img {
	width: 45px;
	height: 45px;
	border-radius: 50%;
	margin: 0px 0;
}

.label { font-weight: 700 !important; }
.label-warning { color: #212529 !important; }

.ratio-1-1 {aspect-ratio: 1 / 1;}

.font-18 { font-size: 18px !important;}
.font-16 { font-size: 16px !important;}
.font-14 { font-size: 14px !important;}

.w-1-12 {width: 8.333333%;}

.w-100 { width: 100% !important; }
.w-95 { width: 95% !important; }
.w-90 { width: 90% !important; }
.w-85 { width: 85% !important; }
.w-80 { width: 80% !important; }
.w-75 { width: 75% !important; }
.w-70 { width: 70% !important; }
.w-65 { width: 65% !important; }
.w-60 { width: 60% !important; }
.w-55 { width: 55% !important; }
.w-50 { width: 50% !important; }
.w-45 { width: 45% !important; }
.w-40 { width: 40% !important; }
.w-35 { width: 35% !important; }
.w-30 { width: 30% !important; }
.w-25 { width: 25% !important; }
.w-20 { width: 20% !important; }
.w-15 { width: 15% !important; }
.w-10 { width: 10% !important; }
.w-5 { width: 5% !important; }

.h-fit {height: fit-content !important;}
.h-100 { height: 100% !important; }

.h-25px {height: 25px;}
.h-40px {height: 40px;}
.h-50px {height: 50px;}

.min-w-120 { min-width: 120px !important;}
.min-w-135 { min-width: 135px !important;}
.min-w-150 { min-width: 150px !important;}
.min-w-175 { min-width: 175px !important;}
.min-w-185 { min-width: 185px !important;}
.min-w-200 { min-width: 200px !important;}
.min-w-250 { min-width: 250px !important;}
.min-w-300 { min-width: 300px !important;}

.max-w-350 { max-width: 350px !important;}

.mg-0-auto{ margin: 0 auto;}

.nopadding {
   padding: 0 !important;
   margin: 0 !important;
}

.no-events {
	pointer-events: none !important;
}
.select2-container .select2-selection--single .select2-selection__rendered {
	height: -webkit-fill-available;
}

.popover {
	z-index: 1600;
	position: fixed;
}

.border-0 {
	border-bottom-width: 0 !important;
	border-top-width: 0 !important;
	border-left-width: 0 !important;
	border-right-width: 0 !important;
	border: none !important;
}

.top_notify_count{display:none;padding:1px 4px;border:2px solid var(--main-color);border-radius:12px;color:#fff;font-size:9px;height:17px;line-height:11px;min-width:5px;top:30px;left:30px;background-color:#E74C3C;text-align:center;position:absolute}

/* Отступы */
.mt-1 {margin-top: .25rem;}
.mt-2 {margin-top: .5rem;}
.mt-3 {margin-top: 1rem;}
.mt-4 {margin-top: 1.5rem;}
.mt-5 {margin-top: 3rem;}

.mb-0 {margin-bottom: 0!important;}
.mb-1 {margin-bottom: .25rem;}
.mb-2 {margin-bottom: .5rem;}
.mb-3 {margin-bottom: 1rem;}
.mb-4 {margin-bottom: 1.5rem;}
.mb-5 {margin-bottom: 3rem;}

.ml-0 {margin-left: 0!important;}
.ml-1 {margin-left: .25rem;}
.ml-2 {margin-left: .5rem;}
.ml-3 {margin-left: 1rem;}
.ml-4 {margin-left: 1.5rem;}
.ml-5 {margin-left: 3rem;}

.mr-1 {margin-right: .25rem;}
.mr-2 {margin-right: .5rem;}
.mr-3 {margin-right: 1rem;}
.mr-4 {margin-right: 1.5rem;}
.mr-5 {margin-right: 3rem;}

.pt-0 {padding-top: 0rem;}
.pt-1 {padding-top: .25rem;}
.pt-2 {padding-top: .5rem;}
.pt-3 {padding-top: 1rem;}
.pt-4 {padding-top: 1.5rem;}
.pt-5 {padding-top: 3rem;}

.pb-1 {padding-bottom: .25rem;}
.pb-2 {padding-bottom: .5rem;}
.pb-3 {padding-bottom: 1rem;}
.pb-4 {padding-bottom: 1.5rem;}
.pb-5 {padding-bottom: 3rem;}

.pr-0 {padding-right: 0rem;}
.pr-1 {padding-right: .25rem;}
.pr-2 {padding-right: .5rem;}
.pr-3 {padding-right: 1rem;}
.pr-4 {padding-right: 1.5rem;}
.pr-5 {padding-right: 3rem;}

.pl-0 {padding-left: 0rem;}
.pl-1 {padding-left: .25rem;}
.pl-2 {padding-left: .5rem;}
.pl-3 {padding-left: 1rem;}
.pl-4 {padding-left: 1.5rem;}
.pl-5 {padding-left: 3rem;}
.pl-20 {padding-left: 20px;}

.daterangepicker td {padding: 1px!important;}

.daterangepicker.show-calendar{
	box-shadow: 0px 7px 10px 3px rgba(0,0,0,0.7);
	-webkit-box-shadow: 0px 7px 10px 3px rgba(0,0,0,0.7);
	-moz-box-shadow: 0px 7px 10px 3px rgba(0,0,0,0.7);
}

.daterangepicker td.active,
.daterangepicker td.active:hover {
	background-color: #357ebd !important;
	color: #fff !important;
}

/* Выходные во всех календарях CRM. Библиотечные стили не изменяем. */
.daterangepicker .calendar-table td.weekend:not(.active) {
	color: #d9534f;
}

.daterangepicker .calendar-table td.weekend.available:hover {
	color: #d9534f !important;
}

.daterangepicker .calendar-table thead tr:last-child th:nth-last-child(-n+2) {
	color: #d9534f;
}

.daterangepicker .calendar-table td.weekend.active,
.daterangepicker .calendar-table td.weekend.active:hover {
	color: #d9534f !important;
}

/* Единый вид кнопок открытия календаря во всех формах CRM. */
button.btn:has(> .fa-calendar-alt),
button.btn:has(> .fa-calendar-clock),
button.btn:has(> .fa-calendar-days),
button.btn:has(> span > .fa-calendar-alt) {
	border-color: #ccc !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--main-color) !important;
}

button.btn:has(> .fa-calendar-alt):hover,
button.btn:has(> .fa-calendar-clock):hover,
button.btn:has(> .fa-calendar-days):hover,
button.btn:has(> span > .fa-calendar-alt):hover,
button.btn:has(> .fa-calendar-alt):focus,
button.btn:has(> .fa-calendar-clock):focus,
button.btn:has(> .fa-calendar-days):focus,
button.btn:has(> span > .fa-calendar-alt):focus {
	border-color: #9fc3e3 !important;
	background: rgba(var(--main-color-rgb), .08) !important;
	color: var(--main-color) !important;
}

.underline-dotted { border-bottom: 2px dotted;}
.nowrap {white-space: nowrap;}

/* big Checkboxes */
input[type=checkbox]
{
	width: 18px;
	height: 18px;
	margin: 0;
}

a:hover, input[type=checkbox]:hover {cursor: pointer;}
.checkbox:hover {
	color: #262626;
	text-decoration: none;
}

.dropdown-menu>li>div.checkbox { padding: 3px 20px; }

.pell-content input[type=checkbox], td[aria-describedby="notes_text"] input[type=checkbox] {
	margin-left: 5px;
	margin-right: 5px;
}

div.radio {
	padding: 7px;
}

div.radio:hover {
	background-color: #c9c9c9;
}

.list-group{ display:inline-block; }

textarea:focus::placeholder, input:focus::placeholder {
	color: transparent;
}

.form-control-limited {
	width:unset!important;
	min-width: 0;
}
.form-control-limited + .input-group-btn {
	width: unset!important;
	min-width: 0;
}

input[readonly].plaintext {
  background-color:transparent;
  border: 0;
  box-shadow: none;
}

.badge-primary {
	color: #fff;
	background-color: #007bff;
}
.badge-secondary {
	color: #fff;
	background-color: #6c757d;
}
.badge-success {
	color: #fff;
	background-color: #28a745;
}
.badge-danger {
	color: #fff;
	background-color: #dc3545;
}
.badge-warning {
	color: #212529;
	background-color: #ffc107;
}
.badge-info {
	color: #fff;
	background-color: #17a2b8;
}
.badge-light {
	color: #212529;
	background-color: #f8f9fa;
}
.badge-dark {
	color: #fff;
	background-color: #343a40;
}

.glyphicon.spinning {
	animation: spin 1s infinite linear;
	-webkit-animation: spin2 1s infinite linear;
}

.glyphicon.rotate-90 {
  transform: rotate(90deg);
}
.glyphicon.rotate-180 {
  transform: rotate(180deg);
}

.loadingoverlay {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
	display: none;
	background: rgba(0,0,0,0.1);
}
.cv-loadingoverlay {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.loading-spinner {
	width: 60px;
	height: 60px;
	border: 5px #ddd solid;
	border-top: 5px #2e93e6 solid;
	border-radius: 50%;
	animation: spin 1s infinite linear;
	-webkit-animation: spin2 1s infinite linear;
}

@keyframes spin {
	from { transform: scale(1) rotate(0deg); }
	to { transform: scale(1) rotate(360deg); }
}

@-webkit-keyframes spin2 {
	from { -webkit-transform: rotate(0deg); }
	to { -webkit-transform: rotate(360deg); }
}

.dark {
	--app-background: #090e11;
	--app-background-rgb: 9.3,13.74,16.7;
	--app-background-deeper: #090e11;
	--app-background-deeper-rgb: 9.3,13.74,16.7;
}

.jconfirm-buttons button, .jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button {
	text-transform: none !important;
	font-weight: normal !important;
}

.jqgrow > td > hr {
	border-top: 1px dotted var(--main-color);
	overflow: visible;
	text-align: left;
	margin-top: 3px;
	margin-bottom: 3px;
}

.jqgrow > td > hr:after {
	font-family: 'Glyphicons Halflings';
	content:'\e094';
	top: -8px;
	color: var(--main-color);
	padding: 0 4px;
	position: relative;
}
.rowEven { background: #eaeaea; }

@media (max-width: 600px) {
	.mobile-payment-main { display: flex; flex-direction: column; gap: 3px; line-height: 1.2; white-space: nowrap; }
	.mobile-payment-date { display: block; font-weight: 600; text-align: left; }
	.mobile-payment-summ { display: block; font-size: 11px; text-align: left; }
	.mobile-payment-client { display: flex; flex-direction: column; line-height: 1.25; white-space: normal; }
	.mobile-payment-client-purpose { display: block; width: 100%; margin-top: 3px; padding-top: 3px; border-top: 1px dotted #9aa3ad; color: #4f5963; font-size: 11px; text-align: justify; text-align-last: left; overflow-wrap: anywhere; }
	.mobile-payment-type-check { display: flex; flex-direction: column; align-items: center; gap: 4px; line-height: 1.15; }
	.mobile-payment-type-name { max-width: 100%; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
	.mobile-payment-check { display: flex; min-height: 14px; align-items: center; justify-content: center; }
	.mobile-deal-title { display: flex; flex-direction: column; min-width: 0; gap: 3px; line-height: 1.2; }
	.mobile-deal-client { display: block; overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
	.mobile-deal-details { display: -webkit-box; overflow: hidden; color: #4f5963; font-size: 10px; line-height: 1.25; white-space: normal; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
	.mobile-deal-details b { color: var(--main-color); font-weight: 600; }
	.mobile-deal-period, .mobile-deal-money { display: flex; flex-direction: column; gap: 3px; line-height: 1.2; white-space: nowrap; }
.mobile-deal-money { width: 100%; font-size: 9px; text-align: center; }
	.mobile-deal-period-name, .mobile-deal-cost { display: block; font-weight: 600; }
	.mobile-deal-dates, .mobile-deal-paid { display: block; color: #4f5963; font-size: 10px; }
	#gbox_deals tr.jqgrow > td { height: 62px; padding-top: 4px; padding-bottom: 4px; vertical-align: middle; }
	.deal-type-tabs { display: flex; width: 100%; margin-right: 0 !important; white-space: nowrap; }
	.deal-type-tabs > .btn { min-width: 0; flex: 1 1 0; padding-right: 2px; padding-left: 2px; overflow: hidden; font-size: 10px; text-overflow: ellipsis; }
	#gbox_deals .ui-search-toolbar .ui-search-oper,
	#gbox_deals .ui-search-toolbar .clearsearchclass { display: none !important; }
	#jqgh_deals_name, #jqgh_deals_descr, #jqgh_deals_period, #jqgh_deals_cost { font-size: 10px; letter-spacing: -.15px; }
	#gbox_payments .ui-search-toolbar .ui-search-oper,
	#gbox_payments .ui-search-toolbar .clearsearchclass { display: none !important; }
	#gbox_payments .ui-search-toolbar input,
	#gbox_payments .ui-search-toolbar select,
	#mobilePaymentSummFilter { box-sizing: border-box; width: 100% !important; height: 24px !important; margin: 1px 0 0 !important; padding: 2px 4px !important; border: 1px solid #aaa !important; border-radius: 3px !important; background: #fff !important; color: #333; font-size: 11px; line-height: 18px; text-align: left !important; }
	#jqgh_payments_date,
	#jqgh_payments_name { font-size: 10px; letter-spacing: -.15px; }
	#jqgh_payments_type_id,
	#jqgh_payments_worker { font-size: 9px; }
}

.rowGroup { background: #dfeffc; }

tr.jqgrow td[aria-describedby="contragents_name"], tr.jqgrow td[aria-describedby="comments_text"], tr.jqgrow td[aria-describedby="comments_added"] {
	white-space: normal;
}
tr.jqgrow td[aria-describedby="changes_param"], tr.jqgrow td[aria-describedby="changes_org_name"], tr.jqgrow td[aria-describedby="changes_result"] {
	white-space: normal;
}
tr.jqgrow td[aria-describedby="payments_name"], tr.jqgrow td[aria-describedby="payments_purpose"] {
	white-space: normal;
}
tr.jqgrow td[aria-describedby="docs_name"], tr.jqgrow td[aria-describedby="docs_filename"] {
	white-space: normal;
}
tr.jqgrow td[aria-describedby="notes_text"] {
	white-space: pre-wrap;
}
tr.jqgrow td[aria-describedby="contacts_position"], tr.jqgrow td[aria-describedby="contacts_fio"] {
	white-space: normal;
}
tr.jqgrow td[aria-describedby="sms_history_text"], tr.jqgrow td[aria-describedby="sms_history_status"] {
	white-space: normal;
}

.chart-container {
	position: relative;
	margin: auto;
	height: 75vh;
	width: 75vw;
}

/* Вертикальные разделители между ячейками таблицы */
table.vert-cross {
	border-style: hidden;
}

ol, ul {
	margin-top: 0;
	margin-bottom: 0;
}

.pell {
  border: 1px solid #c5dbec;
  border-radius: 4px;
  box-sizing: border-box; }

.pell-content {
  border: 0px!important;
  box-sizing: border-box;
  min-height: 52px;
  max-height: 92px;
  height: initial;
  outline: 0;
  overflow-y: auto;
  padding: 6px; }

.pell-content:empty:before {
  content: attr(data-placeholder);
  opacity: .4; }

.pell-content:empty:focus:before {
  content: ""; }

.pell-actionbar {
  background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x;
  color: #2e6e9e;
  border-bottom: 1px solid rgba(10, 10, 10, 0.1); }

.pell-button {
  background-color: transparent;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  height: 28px;
  outline: 0;
  min-width: 28px;
  vertical-align: bottom; }

.pell-button[disabled] {
	opacity: .65; }

.pell-button:hover {
  background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; }

.pell-button-selected {
  background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; }

.btn-group, .btn-group-vertical {
	vertical-align: bottom;
}

.input-group .btn-group,
.input-group .input-group-btn { /*группа кнопок справа от инпута (.input-group должен иметь display: flex)*/
	flex: 0 0 auto; /*занимает необходимую ширину*/
}
.input-group input { /*инпут с группой кнопок*/
	flex: 1 1 auto; /*занимает оставшуюся ширину (ширина родителя минус ширина группы кнопок)*/
}

.filter-height { height: 34px;}

.filters {
	position: relative;
	transition: 250ms;
	height: 34px;
	min-height: 0px;
	display: flex;
}

.filters > label {
	transition: 250ms;
	background: white;
	position: absolute;
	top: 7px;
	z-index: 250;
	padding: 0px 10px;
	margin-right: 20px;
	cursor: pointer;
}
.filters.isOpen > label {top: -10px;}
.filters > label:before {content: "\e080"; transition: 250ms;}
.filters.isOpen > label:before {transform: rotate(90deg);}

.filters > .content { /* Базовое состояние*/
	transition: 250ms;
	visibility: hidden;
	display: block;
	opacity: 0;
	background-color: white;
	width: 100%;
	min-height: 0px;
	padding: 25px 10px 15px 10px;
}

.filters.isOpen > .content { /* Раскрытое состояние */
	visibility: visible;
	opacity: 1;
	border-radius: 5px;
	border: 1px solid rgb(170, 170, 170);
	top: -10px;
	height: min-content !important;
}

@media only screen and (max-width: 1000px) {
	.filters {
		justify-content: left !important;
		margin: 15px 0px 5px 0px;
	}
	.filters.isOpen > label {margin-left: 20px;}
}

/* Bootstrap button outline override */
.btn-outline {
	background-color: transparent;
	color: inherit;
	transition: all .5s;
}

.btn-primary.btn-outline {
	color: #428bca;
}

.btn-success.btn-outline {
	color: #5cb85c;
}

.btn-info.btn-outline {
	color: #5bc0de;
}

.btn-warning.btn-outline {
	color: #f0ad4e;
}

.btn-danger.btn-outline {
	color: #d9534f;
}

.btn-primary.btn-outline:hover,
.btn-success.btn-outline:hover,
.btn-info.btn-outline:hover,
.btn-warning.btn-outline:hover,
.btn-danger.btn-outline:hover {
	color: #fff;
}
.avatar {
	width: 40px;
	height: 40px;
}
.avatar-sm {
	width: 30px;
	height: 30px;
}
.avatar-s {
	object-fit: cover;
	border-radius: 50%;
}
.overflow-elipsis {
	text-overflow: ellipsis;
}

li>.avatar, div>.avatar {
	margin-top: 5px;
}

.button-no-rounded {
	border-radius: 0;
}
.btn-group>.btn:last-child {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.suggestions-suggestion{padding-left: 15px !important;}

.grey-border {
	border: 1px solid #cccccc !important;
}

@media (max-width: 1000px) {
	/* На узком экране меню скрыто и не должно отнимать ширину даже после закрепления. */
	body,
	body:is(.menu-is-pin) {
		width: 100% !important;
		margin-left: 0 !important;
	}
}

@media screen and (max-width: 768px) {
	body {
		font-size:1.2em;
	}
	.container-fluid {
		padding-right: 10px;
		padding-left: 10px;
	}
	#jqContextMenu span {
		font-size: 14px;
	}
	h2 {
		font-size:1.5em;
	}
	.clamp-two-lines {
		padding: 0; /* Минимизируйте отступы */
		margin: 0; /* Уберите внешний отступ */
	}
	.clamp-two-lines div {
		display: inline-block;
		display: -webkit-inline-box;
		vertical-align: middle;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: normal!important; /* Разрешить перенос строк */
		line-height: 1.0; /* Контролируйте высоту строки */
	}
	.clamp-two-lines:after {
		content: "";
		height: 100%;
		display: inline-block;
		vertical-align: middle;
	}
	.list li {
		display: none; /* скрыть все элементы li после ширины экрана 768px */
	}
	.toggle-navigation {
		position: relative;
	}
	#avatar {
		margin-top: 5px;
		width: 40px;
		height: 40px;
	}
	.topmenu {
		color: #eaeaea;
		margin-top: 12px;
		margin-left: 5px;
		margin-bottom: 5px;
	}
	.form-control-limit {
		width:unset!important;
		min-width: 0;
	}
	.form-control-limit + .input-group-btn {
		width: unset!important;
	}
	.dropdown-menu > li > a {
		padding: 3px 10px;
	}
	.form-control-static {
		padding-top: 1px;
	}
	.col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
		padding-top: 5px;
	}
	.col-xs-1, .col-xs-2, .col-xs-3 {
		padding-top: 15px;
		top: 50%;
	}
	.form-control {
		padding-right: 0px!important;
		padding-left: 4px!important;
	}
	.createleadmob {
		margin-left:-20px;
		margin-right:16px;
	}
	.managerleadmob {
		margin-right:3px;
	}

	.headermob {
		padding-bottom: 0px;
	}
	.paymentsumm {
		margin-left:-20px;
		margin-right:16px;
	}

	/* Стиль для расширенного поля поиска */
	input#gs_phone:focus {
		width: 130px;
		margin-left: -75px;
		margin-top: -13px;
		position: fixed;
	}

}

@media only screen and (max-width: 1000px) {
	.dis-block-mob {display: block !important;}
	.hidden.dis-block-mob {display: none !important;}
	.dis-flex-mob {display: flex !important;}

	.w-auto-mob-imp {width: auto !important;}

	.ml-0-mob {margin-left: 0;}
	.ml-0-mob-imp {margin-left: 0 !important;}

	.mb-4-mob {margin-bottom: 1.5rem;}
	.button-text, .ui-paging-info{
		display: none !important;
	}

	.pr-0-mob {padding-right: 0 !important;}
	.pb-15-mob{padding-bottom: 15px !important;}
	.pt-15-mob{padding-top: 15px !important;}
	.w-50-mob{width: 50% !important;}
	.w-30-mob{width: 30% !important;}

	.list li:nth-child(3) {
		display: none; /* скрыть второй элемент li после ширины экрана 1020px */
	}

	.pl-15-nomob {padding-left: 0 !important;}
	.pr-15-nomob {padding-right: 0 !important;}
	.w-100-mob {width: 100% !important;}
	.pl-0-mob {padding-left: 0 !important;}

	.dis-none-mob {display: none !important;}

	.mb-5-mob {margin-bottom: 5px !important;}
	.mb-15-mob {margin-bottom: 15px;}
	.mr-15-mob {margin-right: 15px;}
	.ml-15-mob {margin-left: 15px;}
	.mt-15-mob {margin-top: 15px;}

	.flex-hor-center-mob {
		justify-content: center;
	}
	.flex-right-mob{ justify-content: right !important;}
	.flex-left-mob{ justify-content: left !important;}

	.checkboxDropmenu .checkbox { padding-left: 10px !important;}
	.checkboxDropmenu .checkbox label { padding-left: 30px;}
	.checkboxDropmenu .checkbox input[type=checkbox] {margin-left: -30px;}
	.checkboxDropmenu .dropdown-menu .glyphicon {padding-right: 15px;}

	/*label в модальной форме*/
	.modal-body label {
		height: auto !important;
		width: 100% !important;
		justify-content: left !important;
	}
	.modal-body .form-control-feedback {
		padding-left: 10px;
		top: 0 !important;
		position: relative !important;
	}


}
@media (min-width: 767px) {
	.topmenu {
		display: none;
	}
}
.cursor-pointer {
	cursor: pointer;
}


/* Изменяем цвета доп.меню navbar-toggle */
.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:focus, .navbar-inverse .navbar-nav > .open > a:hover{
	color: #DDD;
	background-color: var(--main-color);
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
	color: #000000;
}
.navbar-inverse .navbar-toggle:focus, .navbar-inverse .navbar-toggle:hover {
	background-color: #ffffff
}
.navbar-inverse .navbar-toggle {
	border-color: #DDD;
}
.navbar-inverse .navbar-toggle .icon-bar {
	background-color: #bdbdbd;
}
/* Редактируем элемент бутстрапа navbar-toggle убран float:right, изменены padding */
.navbar-toggle {
	float: none;
	padding: 9px 10px;
	margin-right: 15px;
	margin-top: 10px;
	margin-bottom: 5px;
}
/* Изменили отступы справа и слева в шапке */
.container-fluid>.navbar-collapse, .container-fluid>.navbar-header, .container>.navbar-collapse, .container>.navbar-header {
	margin-right: -25px;
	margin-left: -20px;
}
.navbar-brand {
	margin-right: 20px;
}
.modal-body {
	background-color: #f6f6f6
}
.modal {
	z-index: 1450 !important;
}
.modal-backdrop {
	z-index: 1420 !important;
}
.jconfirm {
	z-index: 2000 !important;
}
.daterangepicker .ranges li.active {
	background-color: var(--main-color);
	color: #ffffff;
}

.jqGridGroup {
	background: #e3f1fd;
}
.jqGridGroup .ui-icon{
	margin-top: -1px;
}

.subGroup {
	padding-left: 30px !important;
}

.bold {
	font-weight: bold !important;
}

.mr-15 {margin-right: 15px;}
.ml-15 {margin-left: 15px;}
.mt-15 {margin-top: 15px;}
.mb-15 {margin-bottom: 15px;}
.mr-15-imp {margin-right: 15px !important;}
.ml-15-imp {margin-left: 15px !important;}
.mt-15-imp {margin-top: 15px !important;}
.mb-15-imp {margin-bottom: 15px !important;}

.mt-0 {margin-top: 0 !important;}
.fl-left {float: left;}
.fl-right {float: right;}

.fl-none {float: none;}
.pos-rel {position: relative !important;}
.pos-abs {position: absolute !important;}
.pd-8 {padding: 8px;}
.pd-0 {padding: 0 !important;}
.pr-15 {padding-right: 15px !important;}
.pl-15 {padding-left: 15px;}
.pl-15-imp {padding-left: 15px !important;}
.pr-15-nomob  {padding-right: 15px;}
.pl-15-nomob  {padding-left: 15px;}
.pr-30 {padding-right: 30px !important;}
.pb-15 {padding-bottom: 15px;}
.pb-0 {padding-bottom: 0; margin-bottom: 0;}

.pt-15 {padding-top: 15px;}

.dis-none {display: none;}
.dis-none-imp {display: none !important;}
.dis-grid {display: grid;}
.dis-block {display: block;}
.dis-block-imp {display: block !important;}
.dis-flex {display: flex;}
.dis-flex-mob {display: flex;}
.dis-cont {display: contents;}
.dis-inline-flex {display: inline-flex;}
.dis-ruby {display: ruby;}
.dis-ruby div {float: none;}


.w-fit { width: fit-content !important;}
.w-auto-imp {width: auto !important;}

.flex-wrap {
	flex-wrap: wrap;
	justify-content: flex-start;
}
label {
	margin: 0;
	padding-right: 15px !important;
}

/*label в модальной форме*/
.modal-body label {
	display: flex;
	justify-content: right;
	align-items: center;
	height: 34px;
	position: relative;
	padding-right: 25px !important;
}
.modal-body .form-control-feedback {
	top: 10px;
	right: 6px;
	position: absolute;
	width: auto;
	height: auto;
	line-height: normal;
}

@media (min-width: 1000px) {
.modal-body .checkbox-label {
	padding-right: 45px !important;
}
.modal-body input[type=checkbox] {
	position: absolute;
	right: 0;
}
.modal-body .checkbox-label .form-control-feedback {
	right: 25px !important;
}
}

.flex-right{ justify-content: right;}
.flex-right-imp{ justify-content: right !important;}
.flex-left{ justify-content: left;}
.flex-left-imp{ justify-content: left !important;}

.flex-right-imp,
.flex-left-imp {display: flex !important;}

.flex-top-right {
	justify-content: right;
	align-items: baseline;
}

.flex-top-right,
.flex-center,
.flex-left,
.flex-right,
.flex-ver-center,
.flex-hor-center {
	display: flex;
}
.flex-center,
.flex-ver-center {
	align-items: center;
}
.flex-center,
.flex-hor-center {
	justify-content: center;
}

.br-4 {border-radius: 4px !important;}

.subtask_list {
	direction: ltr;
	height: 97px;
	max-height: 97px;
	overflow-y: auto;
	padding: 5px;
}
.subtask_container .subtask_buttons {
	display: flex;
}
.subtask_add {background: #dadada;}
.subtask_delete {background: white;}
.subtask_add,
.subtask_delete {border-radius: 0 !important;}
.subtask_delete,
.subtask_clear_all span {
	color: #dc8383;
	cursor: pointer;
}
.subtask_container .subtask_moving {
	color: #909090;
	cursor: grab;
	padding-right: 10px;
}
.subtask_container .subtask_name {
	border: none;
	width: 90%;
	height: 24px;
	padding: 5px 10px;
	font-size: 14px;
}
.subtask_container .subtask_name:focus {
	border-radius: 4px;
	border: 1px solid #66afe9;
	outline: 0;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
}
.subtask_container .subtask_item {
	padding-right: 10px;
	display: flex;
	padding-bottom: 3px;
	height: 26px;
}
.subtask_isFinished {
	height: 22px;
	margin: 2px 5px !important;
	position: relative !important;
}
.subtask_container .subtask_actions {
	height: 20px;
	display: flex;
	padding: 5px;
}
@media only screen and (max-width: 1020px) {
	.subtask_container {
		height: auto;
		max-height: none;
		overflow-y: visible;
	}
	.subtask_add,
	.subtask_delete {
		width: 50% !important;
	}
}

.select2-results__option--highlighted[aria-selected] .redelement {color: #fff !important;}
.select2-results__option--highlighted .redelement,
.select2-results__option--highlighted .alert-warning {
	background-color: transparent !important;
	color: white !important;
}
.select2-dropdown,
.daterangepicker {z-index: 1250;}

#task #comments .isSystemMessage {background: #e9e9e9;}
#task #comments .isSystemMessage .avatar-sm { width: 20px; height: 20px; display: flex; margin:0 auto;}
#task #comments .isSystemMessage td { height: 18px !important;}
#task #comments .isSystemMessage label { font-size: 9px !important;}
#task #comments .managerMessage {background: #cbddfb;}
#task #comments .message .messageText {font-size: 12px; padding: 5px 0 5px 0 !important;}
#task #comments .messageText a {color:var(--main-color)}

#task  #sendMessage { transition: 900ms;}
#task .commentAlert { background: #f36a6a; color: rgb(155, 0, 0);}

#task #comments tr.jqgrow td[aria-describedby="comments_message"],
#task #comments tr.jqgrow td[aria-describedby="comments_time"],
#task #comments tr.jqgrow td[aria-describedby="comments_worker"] {
	white-space: normal;
}
#task #comments tr.jqgrow td[aria-describedby="comments_time"] {
	text-align: end;
	padding-right: 10px;
}

tr.jqgrow td .label.boxed {padding: .4em .6em .4em;}
tr.jqgrow td input[type=checkbox] {margin-top: .4em}

.tree-wrap { width: 18px !important; }
.tree-wrap .ui-icon { margin-top: -1px; }
.tree-wrap .tree-leaf { visibility: hidden; }

/* В каталоге раскрытие встроено в значок папки, а уровень дерева задаётся отступом строки. */
#catalog .tree-wrap { display: none !important; width: 0 !important; }
#catalog .catalog-group-name,
#catalog .catalog-product-name { display: inline-flex; min-width: 0; align-items: center; }
:is(#catalog, #workers) .catalog-folder-toggle {
	position: relative;
	display: inline-flex;
	flex: 0 0 22px;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 20px;
	margin: 0 5px 0 0;
	padding: 0;
	border: 1px solid transparent;
	outline: 0;
	/* Фон строки должен просвечивать вокруг значка папки. */
	background: transparent;
	color: var(--main-color);
	vertical-align: middle;
}
:is(#catalog, #workers) button.catalog-folder-toggle { cursor: pointer; }
:is(#catalog, #workers) .catalog-folder-icon {
	font-size: 17px;
	line-height: 20px;
	transform-origin: 50% 75%;
	transition: color .18s ease, transform .18s ease;
}
:is(#catalog, #workers) .catalog-folder-arrow {
	position: absolute;
	top: 7px;
	left: 8px;
	color: #fff;
	font-size: 7px;
	line-height: 1;
	text-shadow: 0 0 1px var(--main-color);
	transform-origin: center;
	transition: transform .18s ease;
}
:is(#catalog, #workers) .catalog-folder-toggle[aria-expanded="true"] .catalog-folder-icon { transform: scale(1.08, 1.04); }
:is(#catalog, #workers) .catalog-folder-toggle[aria-expanded="true"] .catalog-folder-arrow { transform: rotate(90deg); }
:is(#catalog, #workers) .catalog-folder-toggle.is-animating .catalog-folder-icon { animation: catalog-folder-pulse .2s ease; }
:is(#catalog, #workers) .catalog-folder-toggle.is-leaf .catalog-folder-icon { opacity: .75; }

@keyframes catalog-folder-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(.9, 1.12); }
}

.default-option-label {
	background-color: #eaeaea;
	color:#222 !important;
	font-weight: 700 !important;
}

.collapser {
	color: inherit !important;
	text-decoration: none !important;
	font-weight: 700;
}
.collapser:before {
	font-family: "Glyphicons Halflings";
	content: "\e114";
	float: left;
	margin-right: 10px;
	color: var(--main-color);
}
.collapser.collapsed:before {
	content: "\e080";
}

/* МИГРАЦИЯ начало*/

#migration .dateFormat {
	height: 25px;
	width: 100%;
	top: -25px;
	position: absolute;
}

#migration .col-id-journal,
#migration #table textarea {
	width: 100%;
	height: 100%;
	border-width: 0;
	outline-color: #b6cae4;
	padding: 5px;
	box-sizing: border-box;
	resize: none;
	background: none;
	overflow-y: scroll;
	scrollbar-width: none;
}

#migration #table .resizer {
	bottom: 0;
	right: 0;
	position: absolute;
}

#migration #table .row { width: fit-content;}

#migration #table .container { display: flex;}

#migration #table .column {
	display: grid;
	border-right: 1px solid black;
	position: relative;
}

#migration #table .coll-id-0 {
	font-weight: bold;
	background-color: rgb(233 233 233);
}

#migration .col-id-journal .journal-content {
	white-space: nowrap;
	overflow: hidden;
}

#migration #table .field {
	position: relative;
	padding: 5px;
	border-top: 1px solid black;
	border-bottom: none;
	border-left: none;
	border-right: none;
	min-width: 120px;
	width: 120px;
	min-height: 45px;
	max-width: 500px;
	max-height: 400px;
	height: 45px;
	overflow: hidden;
	text-overflow: ellipsis;
}

#migration #table .row_index {
	border: 0.5px solid black;
	background: #ececec;
	width: 50px;
	height: 45px;
}

#migration #table .row_index textarea { scrollbar-width: 0;}

#migration #table {
	height: auto;
	width: 100%;
	overflow: auto;
	padding-top: 30px;
	margin-bottom: 15px;
}

#migration #startMigration {
	position: absolute;
	right: 25px;
	padding-right: 25px;
	padding-left: 20px;
}

.requiredField {
	color: #2a51ac;
	background: #f3f1f1 !important;
	font-weight: bold;
}

.disabledField {
	opacity: 0.5;
	pointer-events: none;
}

#migration #table-content {
	border: 1px solid black;
	display: flex;
	width: fit-content;
	margin-right: 25px;
}

#migration #table .select-field {
	min-width: 120px;
	max-width: 500px;
	height: 35px;
	padding: 0;
	background-color: rgb(218 230 250);
}

#migration #table .select-field select {
	background: #fff;
	box-shadow: none !important;
	border: none;
	height: 35px;
}

#migration #table .field-id-0 { height: 35px;}

#migration #pageButtons .active {
	background-color: var(--main-color);
	color: white;
}
#migration #pageButtons .page-button {
	border: 1px solid rgb(194, 194, 194);
	font-weight: bold;
	margin: 1rem 1rem 1rem 0;
}

#migration .journal-success { background-color: rgb(217 247 220) !important;}
#migration .journal-error { background-color: rgb(247, 217, 217) !important;}

#migration #table-footer { height: 60px;}

#migration .col-id-journal {
	overflow: auto !important;
}

#migration .col-id-journal .journal-title {
	font-weight: bold;
	font-size: 12px;
	margin-right: .5rem;
}
#migration .col-id-journal .journal-label {
	font-size: 12px;
	margin-left: .5rem;
}

#migration .col-id-journal .journal-id {
	font-weight: bold;
	font-size: 13px;
}

#migration .col-id-journal .ui-resizable-se { display: none !important;}

#migration #pageLimit { width: 80px;}

#migration .pages {
	max-width: 600px;
	overflow-X: auto;
}
#migration .selectedRow {
	background: #efefef;
}
/* МИГРАЦИЯ конец*/

/*Анимация загрузки начало*/

.loader-container {
	display: flex;
	width: 100%;
	padding: 12px;
}

.loader-container .loader-parent {
	align-items: center;
	display: flex;
	position: relative;
	width: 40px;
	height: 40px;
	animation: pulse 4000ms linear infinite;
}

.loader-container .content {
	font-size: 16px;
	align-items: center;
	display: flex;
	padding-left: 2rem !important;
}

.loader-container .loader {
	position: absolute;
	width: 70%;
	height: 70%;
	border: 4px solid #ccc;
	border-top-color: var(--main-color);
	border-radius: 50%;
	animation: spin 1500ms cubic-bezier(0.9, 0.5, 0.15, 0.65) infinite;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@keyframes pulse {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.3);
	}
	100% {
		transform: scale(1);
	}
}
/*Анимация загрузки конец*/

#finance_tab_rating_org,
#uploadMigration {
	overflow: scroll;
}


.field-name {
	position: relative;
	display: flex;
	justify-content: right;
	align-items: center;
	padding-right: 30px !important;
	text-align: end;
	height: 34px;
}

.field-feedback {
	height: 30px;
	width: 30px;
	right: 0;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
}

.field-feedback:is(.hidden) {
	display: flex !important;
	opacity: 0 !important;
}

@media only screen and (max-width: 1000px) {

	.field-feedback {
		position: relative !important;
	}
	.field-name {
		height: 25px;
	}
}

.uploaded_image .picture_actions:hover {
	opacity: 1 !important;
	box-shadow: inset 0px 0px 100px 200px rgba(0,0,0,0.3);
	cursor: pointer;
}

.uploaded_image .img_preview {
	transition: 400ms;
	width: 80px;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}
.uploaded_image .picture_actions {
	width: 80px;
	transition: 400ms;
	opacity: 0;
	position: absolute;
	font-size: 24px;
	user-select: none;
	text-shadow: 0 0 10px rgba(0,0,0,0.7);
}

.uploaded_image .picture_actions .fa-trash-alt {
	color: rgb(230, 150, 150);
}

.uploaded_image .action {
	cursor: pointer;
	height: 80px;
	padding: 0 7px 0 7px;
	transition: 300ms;
}

.uploaded_image .action:hover {
	box-shadow: inset 0px 0px 100px 200px rgba(0,0,0,0.2);
}
.menu_logo {
	background: var(--main-color);
}

/* Унифицирует панели действий во всех вкладках карточки контрагента. */
.contragent-tab-toolbar { display: flex; flex-wrap: wrap; width: 100%; margin: 0 0 8px; align-items: center; gap: 5px; }
/* Очистка float от Bootstrap не должна занимать место в панели flex. */
.contragent-tab-toolbar::before, .contragent-tab-toolbar::after { display: none; }
.contragent-tab-toolbar .btn { margin: 0; }
.contragent-tab-toolbar__label { margin: 0 2px 0 3px; white-space: nowrap; }
.contragent-tab-toolbar__select { width: 220px; min-width: 160px; }
.contragent-tab-toolbar .deal-type-tabs { display: flex; margin: 0; }
.contragent-tab-toolbar__check { display: flex; margin: 0 2px; align-items: center; }
.contragent-tab-toolbar__check label { display: flex; margin: 0; align-items: center; gap: 5px; white-space: nowrap; }
.contragent-tab-toolbar__check input { margin: 0; }

.contragent-note-editor {
	margin: 8px 0;
	overflow: hidden;
	border: 1px solid #e2e8ee;
	border-radius: 8px;
	box-shadow: 0 2px 4px rgba(40, 62, 84, .04);
}


/* Показывает задолженность в строке вкладок как компактный статус. */
#contragent_tabs .debt { margin: 2px 0; }


@media (max-width: 767px) {
	.contragent-tab-content { padding-top: 0; }
	#contragent_tabs > .contragent-debt-nav { margin-left: 2px; padding-left: 2px; }
	.contragent-tab-toolbar > * { flex: 0 0 auto; }
	.contragent-tab-toolbar__select { width: 190px; }

	/* На мобильном раскладывает сложную панель сделок по понятным строкам. */
	.contragent-deals-toolbar {
		display: grid;
		grid-template-columns: auto 1fr;
		gap: 6px;
		overflow: visible;
		padding: 6px;
	}

	.contragent-deals-toolbar > .contragent-tab-toolbar__primary {
		grid-column: 1;
		grid-row: 1;
	}

	.contragent-deals-toolbar > .contragent-tab-toolbar__check {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
	}

	.contragent-deals-toolbar > .contragent-tab-toolbar__select {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
	}

	.contragent-deals-toolbar > .deal-type-tabs {
		grid-column: 1 / -1;
		grid-row: 3;
		width: 100%;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.contragent-deals-toolbar > .deal-type-tabs::-webkit-scrollbar { display: none; }
	.contragent-deals-toolbar > .deal-type-tabs > .btn { flex: 1 0 auto; }
}

.remove-image:is(.disabled) {
	cursor: no-drop;
}

@media (min-width: 1100px) {
	#modalCreateDoc .modal-dialog { width: 1100px !important;}
}
@media (max-width: 1100px) {
	#modalCreateDoc .modal-dialog {
		width: 90% !important;
		margin: 10px auto;
	}
}

.contragents-toolbar {
	border: 0;
	border-radius: 12px;
	box-shadow: 0 4px 16px rgba(35, 55, 80, .10);
}

.contragents-toolbar .panel-body { padding: 16px; }

.contragents-toolbar-row {
	display: flex;
	align-items: center;
	gap: 16px;
}

.contragents-toolbar-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

.contragents-toolbar-search {
	flex: 1 1 auto;
	min-width: 280px;
}

.contragents-toolbar .contragents-debt {
	background-color: #ec9292;
	border-color: #ec9292;
	box-shadow: none;
}
/* Сумма долга не выполняет действий; события мыши нужны для подсказки. */
.btn.contragents-debt,
.btn.debt {
	cursor: not-allowed;
	pointer-events: auto;
}


/* Compact, flat toolbar on the contragents list. */
.contragents-toolbar--compact {
	margin-bottom: 10px;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}

.contragents-toolbar--compact .panel-body { padding: 4px 0; }
.contragents-toolbar--compact .contragents-toolbar-row { gap: 10px; }
.contragents-toolbar--compact .contragents-toolbar-actions { gap: 7px; }

.contacts-toolbar {
	margin-bottom: 10px;
	border: 0;
}
.contacts-toolbar.contragents-toolbar--compact .panel-body { padding: 0; }
.contacts-toolbar .contragents-toolbar-row { gap: 10px; }
.contacts-toolbar .contacts-more-menu { position: relative; }
.contacts-toolbar .contacts-more-button {
	min-width: 72px;
	height: 34px;
	font-weight: 400;
}
.contacts-toolbar .contacts-more-menu .dropdown-menu {
	min-width: 230px;
	margin-top: 4px;
}
.contacts-toolbar .contacts-more-menu .dropdown-menu .glyphicon {
	margin-right: 7px;
}

.leads-toolbar {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
.leads-toolbar .leads-add {
	flex: 0 0 auto;
	height: 34px;
}
.leads-toolbar-search {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
}
.leads-filters-popover {
	top: calc(100% + 6px);
	right: 0;
}
.leads-filter-dates {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.crpt-product-groups-field { min-width: 0; }
.crpt-groups-label {
	display: flex;
	align-items: center;
}
.crpt-product-groups {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	gap: 6px;
	min-height: 34px;
	padding: 4px 7px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}
.crpt-product-group {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 24px;
	padding: 2px 7px 2px 4px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	color: #555;
	font-size: 12px;
	line-height: 18px;
}
.crpt-product-group-icon {
	display: block;
	width: 18px;
	height: 18px;
	object-fit: contain;
}
.crpt-group-option {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}
.crpt-group-option__icon {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	object-fit: contain;
}
.select2-results__option .crpt-group-option__icon {
	width: 22px;
	height: 22px;
}
#crpt_group_filter + .select2-container .select2-selection--multiple .select2-selection__rendered {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
	padding: 4px 6px 5px;
	overflow: visible;
	white-space: normal;
}
#crpt_group_filter + .select2-container .select2-selection--multiple .select2-selection__choice {
	display: inline-flex;
	align-items: center;
	float: none;
	max-width: 100%;
	margin: 0;
	padding: 2px 7px 2px 5px;
}
#crpt_group_filter + .select2-container .select2-selection--multiple .select2-search--inline {
	float: none;
}
#crpt_group_filter + .select2-container .select2-selection--multiple .select2-search__field {
	height: 26px;
	margin: 0;
	padding: 0 4px;
}
.crpt-product-groups-meta {
	margin: 4px 0 0;
	font-size: 12px;
}

.toolbar-icon-button:not(.crm-filter-toggle) {
	min-width: 42px;
	padding-right: 11px;
	padding-left: 11px;
}


.filter-active-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	margin-left: 6px;
	padding: 0 5px;
	border-radius: 9px;
	color: #fff;
	background: #176fc1;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
}

.contragents-toolbar-search { position: relative; }

.contragent-filters-popover {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 1100;
	display: none;
	width: 360px;
	color: #333;
	background: #fff;
	border: 1px solid #e0e8f0;
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(35, 55, 80, .20);
}

.contragent-filters-popover.is-open { display: block; }

.contragent-filters-popover__header,
.contragent-filters-popover__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
}

.contragent-filters-popover__header {
	font-weight: 600;
	border-bottom: 1px solid #edf1f5;
}

.contragent-filters-popover__header .close { margin-top: -2px; }
.contragent-filters-popover__body { padding: 16px; }
.contragent-filters-popover__footer { border-top: 1px solid #edf1f5; }
.contragent-filters-popover .filter-field { margin-bottom: 16px; }
.contragent-filters-popover .filter-field > label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}
.contragent-filters-popover .form-control { height: 38px; }
/* Поля и примыкающие кнопки во всех панелях фильтров имеют общий размер. */
.contragent-filters-popover .input-group > .form-control,
.contragent-filters-popover .input-group > .input-group-btn > .btn {
	height: 38px !important;
	box-sizing: border-box;
}
.contragent-filters-popover .input-group > .input-group-btn {
	vertical-align: top;
}
.contragent-filters-popover .input-group > .input-group-btn > .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0;
	margin-bottom: 0;
	border-color: #ccc;
}

.deals-toolbar .contragents-toolbar-row { flex-wrap: nowrap; }
.deals-toolbar-search { min-width: 0; }
.deals-type-tabs {
	display: flex;
	flex: 0 0 auto;
	white-space: nowrap;
}
.deals-type-tabs .btn {
	height: 34px;
	padding: 6px 10px;
	color: #52677d;
	background: #fff;
	border-color: #d9e2ec;
}
.deal-type-label-mobile { display: none; }
.deal-filters-popover { width: 440px; max-height: calc(100vh - 150px); overflow-y: auto; }
.deal-filter-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 14px;
}
.deal-date-range { width: 100%; }
.deal-date-range .form-control,
.deal-date-range .btn {
	height: 38px !important;
	box-sizing: border-box;
}
.deal-date-range .input-group-btn { vertical-align: top; }
.deal-date-range .form-control {
	padding-top: 8px;
	padding-bottom: 8px;
	line-height: 20px;
}
.deal-date-range .form-control[readonly],
#invoicePeriod[readonly] {
	background-color: #fff;
	cursor: pointer;
}
.deal-date-range .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	padding: 0;
	line-height: 36px;
	color: var(--main-color);
	background: #fff;
	border-color: #ccc;
}
.deal-date-range .btn > i { margin: 0; line-height: 1; }
.deal-date-range .btn:hover,
.deal-date-range .btn:focus { background: #f5f5f5; }
.deals-finished-filter {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	font-weight: 400 !important;
	cursor: pointer;
}
.deals-finished-filter input { margin: 0; }

.top-changes-notification {
	position: fixed;
	top: 10px;
	right: 60px;
	z-index: 1421;
	width: 30px;
	height: 30px;
	padding: 0;
	color: #52677d;
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 50%;
	box-shadow: 0 1px 4px rgba(35, 55, 80, .15);
	transition: color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.top-changes-notification:hover,
.top-changes-notification:focus {
	color: #2867b2;
	background: #f2f7fd;
	box-shadow: 0 4px 12px rgba(35, 55, 80, .18);
	transform: translateY(-1px);
}

.top-changes-notification .badge {
	position: absolute;
	top: -7px;
	right: -8px;
	min-width: 17px;
	padding: 2px 4px;
	border: 2px solid #fff;
	border-radius: 10px;
	font-size: 10px;
}

@media (max-width: 900px) {
	.contragents-toolbar-row { align-items: stretch; flex-wrap: wrap; }
	.contragents-toolbar-search { flex-basis: 100%; order: 2; }
}

@media (max-width: 520px) {
	.contragents-toolbar-actions { width: 100%; }
	.contragents-toolbar-actions .btn { flex: 1 1 auto; }
}

@media (max-width: 767px) {
	.contragents-toolbar { margin-right: 0; margin-left: 0; }
	.contragents-toolbar .panel-body { padding: 10px; }
	.contragents-toolbar--compact { border-radius: 0; }
	.contragents-toolbar--compact .panel-body { padding: 4px 0; }
	.contragents-toolbar-row { gap: 10px; }
	.contragents-toolbar-actions { order: 2; }
	.contragents-toolbar-search { order: 1; min-width: 0; }
	/* В списке контрагентов мобильные действия располагаются над поиском. */
	.contragents-list-toolbar .contragents-toolbar-actions { order: 1; }
	.contragents-list-toolbar .contragents-toolbar-search { order: 2; }
	.contacts-toolbar .contragents-toolbar-row { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; }
	.contacts-toolbar .contragents-toolbar-search { order: 1; flex: 1 1 auto; min-width: 0; }
	.contacts-toolbar .contragents-toolbar-actions { order: 2; flex: 0 0 auto; width: auto; }
	.leads-toolbar { flex-wrap: wrap; }
	.leads-toolbar .leads-add { order: 1; }
	.leads-toolbar-search { order: 2; flex-basis: 100%; }
	.leads-filters-popover { right: 0; left: 0; width: auto; }
	.contragent-filters-popover { width: min(360px, 100%); }
	.deals-toolbar .contragents-toolbar-row { align-items: center; flex-wrap: wrap; gap: 8px; }
	.deals-toolbar .deals-toolbar-search { order: 1; flex: 1 1 0; width: auto; min-width: 0; }
	.deals-toolbar .deals-type-tabs {
		order: 2;
		flex: 1 0 100%;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow: hidden;
	}
	.deals-toolbar .deals-type-tabs .btn {
		flex: 1 1 0;
		min-width: 0;
		padding-right: 6px;
		padding-left: 6px;
		font-size: 12px;
	}
	.deal-type-label-desktop { display: none; }
	.deal-type-label-mobile { display: inline; }
	.deals-toolbar .contragents-toolbar-actions { order: 1; flex: 0 0 auto; width: auto; }
	.deals-toolbar .contragents-debt { min-width: 92px; height: 36px; }
	.deal-filters-popover { right: 0; left: 0; width: auto; }
	#gbox_contragents .ui-jqgrid-bdiv { overflow-x: auto !important; }
	#gbox_contragents .ui-jqgrid-pager { min-height: 34px; }
}

@media (max-width: 520px) {
	.contragents-toolbar-actions { gap: 8px; }
	.contragent-filters-popover { right: 0; left: 0; width: auto; }
	.deal-filter-grid { grid-template-columns: 1fr; }
	.deals-toolbar .contragents-toolbar-actions { width: auto; }
	.deals-toolbar .contragents-toolbar-actions .contragents-debt { height: 36px; }
	.deals-toolbar .deals-type-tabs .btn { padding-right: 4px; padding-left: 4px; font-size: 11px; }
	.contragents-toolbar-actions .contragents-debt {
		flex: 0 0 auto;
		min-width: 0;
		padding-right: 10px;
		padding-left: 10px;
	}
	.contragents-toolbar-actions .contragents-add {
		flex: 0 0 auto;
		min-width: 0;
	}
	.top-changes-notification { right: 55px; }
	.contacts-toolbar .contacts-more-button { min-width: 64px; padding-right: 9px; padding-left: 9px; }
	.leads-filter-dates { grid-template-columns: 1fr; }
}

#modalContragentChanges .modal-dialog {
	width: calc(100% - 30px);
	max-width: 1200px;
	margin: 15px 15px 15px auto;
}

#modalContragentChanges .modal-content { min-height: calc(100vh - 30px); }
#modalContragentChanges .modal-body { max-height: calc(100vh - 100px); overflow-y: auto; }

@media (max-width: 767px) {
	#modalContragentChanges .modal-dialog { width: auto; margin: 10px; }
	#modalContragentChanges .modal-content { min-height: calc(100vh - 20px); }
	#modalContragentChanges .modal-body { max-height: calc(100vh - 90px); }
}
/* Bootstrap ожидает Glyphicons в ../fonts, в проекте шрифты хранятся в ../webfonts. */
@font-face {
	font-family: 'Glyphicons Halflings';
	src: url('../webfonts/glyphicons-halflings-regular.eot');
	src: url('../webfonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),
		url('../webfonts/glyphicons-halflings-regular.woff2') format('woff2'),
		url('../webfonts/glyphicons-halflings-regular.woff') format('woff'),
		url('../webfonts/glyphicons-halflings-regular.ttf') format('truetype'),
		url('../webfonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}

/* Задаёт единый компактный вид вкладок во всех разделах CRM. */
.crm-tabs-scroll { position: relative; min-width: 0; }
.crm-tabs-scroll > .nav-tabs { width: 100%; }

/* Сохраняет компоновку вкладок ЭДО после добавления оболочки прокрутки. */
.saby-edo-top > .crm-tabs-scroll { flex: 1 1 auto; min-width: 0; }

.crm-tabs-scroll > .btn.crm-tabs-next { display: none; }

@media (max-width: 767px) {
	.crm-tabs-scroll.has-overflow {
		padding-right: 34px;
	}

	.crm-tabs-scroll.has-overflow > .crm-tabs-next {
		position: absolute;
		top: 3px;
		right: 3px;
		z-index: 4;
		display: flex;
		width: 32px;
		height: 32px;
		align-items: center;
		justify-content: center;
		padding: 0;
		font-size: 24px;
		font-weight: 600;
		line-height: 1;
		cursor: pointer;
	}
	.crm-tabs-next:disabled { opacity: .35; cursor: default; }
	.crm-tabs-next:focus-visible { outline: 2px solid var(--main-color); outline-offset: 1px; }

	.saby-edo-top > .crm-tabs-scroll { flex: 1 1 calc(100% - 76px); width: auto; }
}

@media (max-width: 390px) {
	.saby-edo-top > .crm-tabs-scroll { flex-basis: 100%; order: 1; }
}

/* Единое оформление вкладок CRM. */
/* Отделяет содержимое и кнопки от вкладок, в том числе после обёртки для прокрутки. */
.nav-tabs + .tab-content,
.crm-tabs-scroll + .tab-content {
	padding-top: 20px;
}

@media (min-width: 769px) {
	/* Центрирует стандартную плашку в строке вкладок высотой 42 px. */
	#contragent_tabs .debt { margin: 4px 0; }
}

/* На компьютере размеры и оформление вкладок задаёт Bootstrap, как в исходной CRM. */
.nav-tabs > li > a { cursor: pointer; }
.nav-tabs > li > a i { margin-right: 4px; text-align: center; }

/* На телефоне меняется только размещение и размер; цвета вкладок остаются общими. */
@media (max-width: 768px) {
    .nav-tabs + .tab-content,
    .crm-tabs-scroll + .tab-content { padding-top: 8px; }
    .nav-tabs {
        display: flex;
        margin-bottom: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }
    .nav-tabs::-webkit-scrollbar { display: none; }
    .nav-tabs > li { flex: 0 0 auto; float: none; }
    .nav-tabs > li > a { padding: 6px 10px; font-size: 12px; line-height: 20px; }
}

/* Единый промежуток между значком и текстом; у кнопок без текста лишнего отступа нет. */
.btn:not(.btn-link) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border-radius: 6px !important;
	box-shadow: none !important;
	font-weight: 500;
}

/* Значок сохраняет высоту строки кнопки, в том числе внутри группы с полем. */
.btn > :is(.fa, .fas, .far, .fab, .glyphicon) {
	line-height: inherit;
}

.btn-primary {
	border-color: var(--main-color) !important;
	background: var(--main-color) !important;
	color: #fff !important;
}

.btn-default {
	border: 1px solid #d5dee7 !important;
	background: #fff !important;
	color: var(--main-color) !important;
}

.btn-success { border-color: #50a878 !important; background: #50a878 !important; color: #fff !important; }
.btn-warning { border-color: #e0a545 !important; background: #e0a545 !important; color: #fff !important; }
.btn-danger { border-color: #df7777 !important; background: #df7777 !important; color: #fff !important; }
.btn-info { border-color: #5d9fc5 !important; background: #5d9fc5 !important; color: #fff !important; }

.btn-default:hover,
.btn-default:focus {
	border-color: #b9ccdd !important;
	background: #f4f8fb !important;
	color: var(--main-color) !important;
}

.btn.disabled,
.btn[disabled] { opacity: .58 !important; filter: none !important; }

.btn-group > .btn:not(:first-child):not(:last-child) { border-radius: 0 !important; }
.btn-group > .btn:first-child:not(:last-child) { border-radius: 6px 0 0 6px !important; }
.btn-group > .btn:last-child:not(:first-child) { border-radius: 0 6px 6px 0 !important; }
/* Меню следует после кнопки в DOM, но не меняет внешний край группы. */
.btn-group > .btn.dropdown-toggle:not(:first-child) { border-radius: 0 6px 6px 0 !important; }
.btn-group > .btn.dropdown-toggle:first-child { border-radius: 6px !important; }

/* В составных полях скругляются только внешние углы, а не каждый стык кнопок. */
.input-group > .input-group-btn > .btn {
	border-radius: 0 !important;
}
.input-group > .input-group-btn:first-child > .btn:first-child {
	border-radius: 6px 0 0 6px !important;
}
.input-group > .input-group-btn:last-child > .btn:last-of-type {
	border-radius: 0 6px 6px 0 !important;
}
.input-group > .input-group-addon:first-child,
.input-group > .form-control:first-child {
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;
}
.input-group > .input-group-addon:last-child,
.input-group > .form-control:last-child {
	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;
}

/* Панель задач использует общий паттерн компактных панелей списков CRM. */
.tasks-toolbar .contragents-toolbar-row { flex-wrap: nowrap; }
.tasks-type-tabs {
	display: flex;
	flex: 0 0 auto;
	white-space: nowrap;
}
.tasks-type-tabs .btn {
	height: 34px;
	padding: 6px 10px;
	color: #52677d;
	background: #fff;
	border-color: #d9e2ec;
}
.tasks-toolbar-search {
	position: relative;
	display: flex;
	flex: 0 1 390px;
	gap: 6px;
	min-width: 280px;
	margin-left: auto;
}
.tasks-period-control {
	flex: 1 1 auto;
	min-width: 0;
}
.tasks-period-control .form-control,
.tasks-period-control .btn {
	height: 34px;
}
.tasks-period-control .form-control {
	border-color: #ccc;
	background: #fff;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	cursor: pointer;
}
.tasks-period-control .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	padding: 0;
}
.tasks-filter-anchor {
	position: relative;
	flex: 0 0 auto;
}
.tasks-filter-anchor > .filter-toggle {
	flex: 0 0 auto;
}
.tasks-filters-popover {
	top: calc(100% + 6px);
	right: 0;
	width: 360px;
}
.tasks-finished-filter {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	font-weight: 400 !important;
	cursor: pointer;
}
.tasks-finished-filter input { margin: 0; }

/* Составная кнопка визуально продолжает поле и скругляется только снаружи. */
.contragent-tab-content .input-group-btn:last-child > .btn,
.contact-page .input-group-btn:last-child > .btn {
	border-radius: 0 !important;
}

.contragent-tab-content .input-group-btn:last-child > .btn:last-child,
.contact-page .input-group-btn:last-child > .btn:last-child {
	border-radius: 0 6px 6px 0 !important;
}

@media (max-width: 1050px) {
	.tasks-toolbar .contragents-toolbar-row { flex-wrap: wrap; }
	.tasks-toolbar-search {
		order: 2;
		flex: 1 1 100%;
		margin-left: 0;
	}
}

@media (max-width: 767px) {
	.tasks-toolbar .contragents-toolbar-row {
		display: flex;
		align-items: center;
		gap: 8px;
	}
	.tasks-toolbar-actions {
		order: 1;
		flex: 1 1 auto;
		width: auto;
	}
	.tasks-toolbar-actions .btn { width: 100%; }
	.tasks-type-tabs {
		order: 3;
		flex: 1 0 100%;
		width: 100%;
		overflow: hidden;
	}
	.tasks-type-tabs .btn {
		flex: 1 1 0;
		min-width: 0;
		padding-right: 5px;
		padding-left: 5px;
		font-size: 12px;
	}
	.tasks-toolbar-search {
		order: 2;
		flex: 1 0 100%;
		width: 100%;
		min-width: 0;
	}
	.tasks-filters-popover {
		right: 0;
		left: 0;
		width: auto;
	}
}

@media (max-width: 420px) {
.tasks-type-tabs .btn { font-size: 11px; }
}

/* Компактная почтовая кнопка использует цвета CRM и оставляет место названию файла. */
#docs tr.jqgrow td.invoice-mail-cell { position: relative; padding-right: 33px; }
#docs .invoice-mail-sent {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: var(--main-color);
    text-decoration: none;
    transition: color .15s ease;
}
#docs .invoice-mail-sent > i { color: inherit; font-size: 15px; line-height: 1; pointer-events: none; }
#docs .invoice-mail-sent:hover,
#docs .invoice-mail-sent:focus-visible { color: var(--additional-color); text-decoration: none; }
#docs .invoice-mail-sent:active { color: var(--additional-color); }
#docs .invoice-mail-sent:focus-visible { outline: 2px solid var(--main-color); outline-offset: 2px; }

/* Ссылка на входящую почту и личный счётчик на главной странице. */
.home-mail-summary { display: flex; align-items: center; gap: 10px; max-width: 790px; padding: 12px 15px; margin: 0 0 16px; border: 1px solid #dce4ef; border-radius: 4px; color: var(--main-color); background: #f7f9fc; }
.home-mail-summary > i { font-size: 20px; }
.home-mail-summary > span { flex: 1; min-width: 0; }
.home-mail-summary > strong { font-size: 18px; }
.home-mail-summary:hover { color: var(--additional-color); text-decoration: none; background: #edf2fa; }

/* Компактный поиск счетов и адаптивная панель фильтров. */
.invoice-search-panel { position: relative; margin-bottom: 10px; }
.invoice-search-panel > .input-group { width: 100%; }

/* Группы пагинатора занимают фактическую ширину и переносятся, не перекрывая соседние кнопки. */
.ui-jqgrid .ui-jqgrid-pager { height: auto; min-height: 28px; }
.ui-jqgrid-pager .ui-pager-control { height: auto !important; }
.ui-jqgrid-pager .ui-pager-control > .ui-pager-table,
.ui-jqgrid-pager .ui-pager-control > .ui-pager-table > tbody { display: block; width: 100% !important; }
.ui-jqgrid-pager .ui-pager-control > .ui-pager-table > tbody > tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.ui-jqgrid-pager .ui-pager-table > tbody > tr > td {
    display: block;
    flex: 0 0 auto;
    width: auto !important;
    max-width: 100%;
}
.ui-jqgrid-pager .ui-pager-table > tbody > tr > td:nth-child(2) { flex: 1 0 auto; }
.ui-jqgrid-pager .ui-pager-table > tbody > tr > td:nth-child(2) > table { margin: 0 auto; }
.ui-jqgrid-pager .ui-pager-table > tbody > tr > td:last-child { margin-left: auto; }





/* Список сотрудников использует общую панель действий и папки отделов. */
.workers-toolbar { display: flex; align-items: center; gap: 10px; margin: 12px 0 10px; }
.workers-toolbar-actions { display: flex; gap: 7px; flex: 0 0 auto; }
.workers-toolbar-search { flex: 1 1 auto; min-width: 0; }
#workers .fa-check { -webkit-text-stroke: .5px currentColor; }
#workers tr.jqgroup > td { padding: 7px 8px !important; background: #dfeffc !important; border-color: #a6c9e2 !important; color: #30465a; }
#workers tr.jqgrow > td { padding-top: 8px; padding-bottom: 8px; }
#workers tr.jqgrow > td[aria-describedby="workers_fio"] { padding-left: 8px !important; }
#workers .catalog-folder-toggle:focus-visible { outline: 2px solid var(--main-color); outline-offset: 2px; }
.workers-mobile-email { display: none; }
@media (max-width: 767px) {
 .workers-toolbar { flex-wrap: wrap; }
 .workers-toolbar-actions { display: grid; grid-template-columns: auto minmax(0, 1fr) 40px; gap: 6px; width: 100%; }
 .workers-toolbar-actions > .btn { display: inline-flex; align-items: center; justify-content: center; min-width: 0; padding: 6px 8px; font-size: 12px; }
 .workers-toolbar-actions > .btn > i { margin: 0; line-height: 1; }
 #workersSearchGroup { display: flex; width: 100%; }
 #workersSearchGroup > .input-group-addon { display: flex; align-items: center; justify-content: center; flex: 0 0 36px; }
 #workersSearchGroup > .form-control { min-width: 0; width: 1%; }
 #workersSearchGroup > .input-group-btn { display: flex; width: 40px; }
 #workersSearchGroup > .input-group-btn > .btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; padding: 0; }
 .workers-toolbar-search { flex-basis: 100%; }
 #workers .userData { justify-content: flex-start !important; text-align: left; }
 #workers .userData .dis-none-mob { display: block !important; min-width: 0; padding-left: 7px !important; }
 #workers .userFio, #workers .userPosition { white-space: normal; overflow-wrap: anywhere; }
 #workers .workers-mobile-email { display: block; margin-top: 4px; color: #657485; white-space: normal; overflow-wrap: anywhere; }
 #workers tr.jqgrow > td[aria-describedby="workers_fio"] { padding-left: 8px !important; }
 #workers .catalog-folder-toggle { width: 28px; height: 26px; }
 #workers .catalog-folder-arrow { top: 10px; left: 11px; }
}



/* Плоское оформление таблиц: сохраняем цвета строк и статусов без градиентов. */
.ui-jqgrid .ui-jqgrid-htable th,
.ui-jqgrid .ui-jqgrid-btable td,
table thead,
table th,
table td,
.ui-jqgrid .ui-jqgrid-hdiv,
.ui-jqgrid .ui-jqgrid-pager,
.ui-jqgrid .ui-jqgrid-toppager {
 background-image: none !important;
}

/* Общая шапка модальных окон по образцу карточки номенклатуры. */
.modal .modal-header {
 position: relative;
 min-height: 48px;
 padding: 11px 14px !important;
 border-bottom: 1px solid #dce8f2 !important;
 border-radius: 12px 12px 0 0;
 background: #e4f1fc !important;
}
.modal .modal-header :is(h2, h3, h4, .modal-title) {
 margin: 0;
 padding-right: 36px;
 color: #245d8f !important;
 font-size: 18px !important;
 font-weight: 600;
 line-height: 26px;
}
.modal .modal-header .close {
 position: absolute;
 top: 8px;
 right: 10px;
 width: 32px;
 height: 32px;
 margin: 0 !important;
 border-radius: 50%;
 color: #526c82 !important;
 font-size: 25px;
 opacity: .8;
}
.modal .modal-header .close:hover,
.modal .modal-header .close:focus { opacity: 1; }

/* Индикатор задолженности сохраняет цвет и не имитирует нажатие кнопки. */
.btn:is(.contragents-debt, .debt),
.btn:is(.contragents-debt, .debt):is(:hover, :focus, :active, .active) {
 background: #df7777 !important;
 border-color: #df7777 !important;
 color: #fff !important;
 box-shadow: none !important;
 outline: none !important;
 transform: none !important;
 filter: none !important;
 cursor: not-allowed;
}

/* Неактивная кнопка суммы сохраняет цвет индикатора при наведении и клике. */
.btn.btn-danger.disabled:has(> #debt),
.btn.btn-danger.disabled:has(> #debt):is(:hover, :focus, :active) {
 background: #df7777 !important;
 border-color: #df7777 !important;
 color: #fff !important;
 box-shadow: none !important;
 cursor: not-allowed;
 pointer-events: auto;
}

/* В общей панели промежутками управляет контейнер, а не отступы индикатора. */
.contragents-toolbar-actions > .btn:has(> #debt) {
 margin: 0 !important;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 align-self: center;
}
@media (max-width: 767px) {
 .contragents-toolbar-actions > .btn:has(> #debt) { height: 36px; }
}

.contragents-toolbar-actions > .btn:has(> #debt) { flex: 0 0 auto; min-width: 0; }

/* При наведении меняются только цвета: геометрия кнопок остаётся постоянной. */
.btn:not(.btn-link) {
 filter: none !important;
 transform: none !important;
 transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.btn.btn-default:not(.disabled):not([disabled]):is(:hover, :focus, :active) {
 background: #e6e6e6 !important;
 border-color: #adadad !important;
 color: var(--main-color) !important;
}
.btn.btn-primary:not(.disabled):not([disabled]):is(:hover, :focus, :active) {
 background: var(--additional-color) !important;
 border-color: var(--additional-color) !important;
}
.btn.btn-danger:not(.disabled):not([disabled]):not(.debt):not(.contragents-debt):is(:hover, :focus, :active) {
 background: #cd6565 !important;
 border-color: #cd6565 !important;
}
.btn.btn-success:not(.disabled):not([disabled]):is(:hover, :focus, :active) { background: #439368 !important; border-color: #439368 !important; }
.btn.btn-warning:not(.disabled):not([disabled]):is(:hover, :focus, :active) { background: #c89135 !important; border-color: #c89135 !important; }
.btn.btn-info:not(.disabled):not([disabled]):is(:hover, :focus, :active) { background: #4b8caf !important; border-color: #4b8caf !important; }
.top-changes-notification:is(:hover, :focus) { transform: none; background: #e6e6e6; }

/* jqGrid уменьшал padding при hover на 1 px и сдвигал соседние значки. */
.ui-jqgrid .ui-pg-button,
.ui-jqgrid .ui-pg-button:hover {
 padding: 1px !important;
 border-width: 1px !important;
 border-style: solid !important;
 box-sizing: border-box;
}
.ui-jqgrid .ui-pg-button:not(:hover) { border-color: transparent; }

/* Скрытый исходный select не должен растягивать мобильную панель фильтров. */
.contragent-filters-popover select.select2-hidden-accessible {
 width: 1px !important;
 min-width: 0 !important;
 max-width: 1px !important;
}

/* Кнопка сброса использует стандартный синий цвет CRM во всех состояниях. */
.contragent-filters-popover .btn.btn-default:not(.disabled):not([disabled]),
.contragent-filters-popover .btn.btn-default:not(.disabled):not([disabled]):is(:hover, :focus, :active) { color: var(--main-color) !important; }
.filter-active-count { background: var(--main-color); }
@media (max-width: 767px) {
 #workersSearchGroup .input-group-btn:has(.crm-filter-count:not(.hidden)),
 #workersSearchGroup .input-group-btn > .btn:has(.crm-filter-count:not(.hidden)) { width: auto; min-width: 40px; }
 #workersSearchGroup .input-group-btn > .btn:has(.crm-filter-count:not(.hidden)) { padding: 0 8px; }
}

/* Тэги и группы ЧЗ имеют одинаковую начальную высоту и растут при переносе выбранных значений. */
:is(#tags, #crpt_group_filter) + .select2-container .select2-selection--multiple {
 min-height: 38px;
 height: auto !important;
}
:is(#tags, #crpt_group_filter) + .select2-container .select2-selection--multiple .select2-selection__rendered {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 4px;
 min-height: 36px;
 height: auto !important;
 margin: 0;
 padding: 4px 6px;
 overflow: visible;
 white-space: normal;
 box-sizing: border-box;
}
:is(#tags, #crpt_group_filter) + .select2-container .select2-selection--multiple .select2-selection__choice {
 display: inline-flex;
 align-items: center;
 float: none;
 max-width: 100%;
 min-height: 26px;
 margin: 0;
 padding: 1px 5px;
 line-height: 22px;
 white-space: normal;
 overflow-wrap: anywhere;
 box-sizing: border-box;
}
:is(#tags, #crpt_group_filter) + .select2-container .select2-selection--multiple .select2-search--inline {
 flex: 1 1 20px;
 min-width: 20px;
 float: none;
 margin: 0;
}
:is(#tags, #crpt_group_filter) + .select2-container .select2-selection--multiple .select2-search__field {
 width: 100% !important;
 height: 26px !important;
 min-height: 0;
 margin: 0;
 padding: 0;
 line-height: 26px;
}

/* Узкая строка поиска внутри выбранных значений не растягивает панель. */
:is(#tags, #crpt_group_filter) + .select2-container .select2-selection--multiple .select2-search__field {
 min-width: 0 !important;
 max-width: 100%;
}

/* РљРЅРѕРїРєРё С„РёР»СЊС‚СЂРѕРІ РёСЃРїРѕР»СЊР·СѓСЋС‚ РѕРґРёРЅР°РєРѕРІС‹Рµ РѕС‚СЃС‚СѓРїС‹, РєР°Рє РІ СЃС‡РµС‚Р°С…. */


/* При загрузке состояние меню восстанавливается без анимации раскрытия. */
html.crm-menu-initializing body,
html.crm-menu-initializing #main-menu,
html.crm-menu-initializing #main-menu *,
html.crm-menu-initializing #main-menu *::before,
html.crm-menu-initializing #main-menu *::after {
 transition: none !important;
}
