/* ---------------- */
[href], .cursor-pointer {
	cursor: pointer;
}


.action-cell i {
	transition: transform 0.15s ease, color 0.15s ease;
}

.action-cell:hover i {
	transform: scale(1.05);
	/* color: #111 !important; */
	text-shadow: 0 0 10px rgb(2 2 2 / 80%);
}
.style-line {
    line-height: 1.7;
}

/* Используем стандартные классы Bootstrap, дополнительных стилей не требуется */

/* Подсветка при наведении */
.hover-order-list:hover {
	background-color: #e1e1e170 !important;
	cursor: pointer;
}
.td-hover-edit:hover button {
	display: inline-block !important;
}

/* Кастомный стиль этапа 110 */
.custom-stage {
	color: #2767fd;
}



.list-group-item:hover {
    background-color: #f0f0f0; /* Светлое выделение при наведении */
}


.dropdown-menu {
    width: 100%; /* Растягивает меню по ширине кнопки */
    padding: 10px;
}

.dropdown-menu li {
    list-style-type: none;
    margin: 5px 0;
}
/* Переделанные кнопки под нярдов */
.widget-icon-bottom {
    color: var(--ct-primary);
    font-size: 20px;
    background-color: rgba(var(--ct-primary-rgb), .25);
    height: 35px;
    width: 35px;
    text-align: center;
    line-height: 35px;
    border-radius: 3px;
    display: inline-block;   
}

.hover-effect:hover {
    cursor: pointer;
    background-color: #2d8eaf !important; /* Синий фон при наведении */
    color: white !important; /* Белый цвет текста или иконки */
}

.hover-order:hover {
    background-color: #f1f1f1 !important;
}



.spin-button {
    -moz-appearance: textfield;
}
/* ----------------------------- */
/* ----------------------------- */

/* ----------------------------- */
/* ------ Кнопки в таблице ----- */

.icon-td {
	padding: 0 !important;
	width: 3rem;
}
.action-icon {
	font-size: 1.4rem !important;
	vertical-align: sub;
	line-height: 0;
}
.icon-td:hover {
	cursor: pointer;
}

.bottom-td {
	padding: 0 !important;
    line-height: 0;
}
.bottom-td button {
	padding: 3px 10px 3px 10px;
    margin: 0px 5px 0 5px;
}

/* Отключить стрелки */
input[type="number"] {
	-moz-appearance: textfield;
	-webkit-appearance: textfield;
	appearance: textfield;
}
 
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
	display: none;
}

/* ---------------------------------------------------- */
/* -------------------- Форм -------------------------- */
/* ---------------------------------------------------- */
/* Валидация совпадения паролей */
.is-invalid {
    border-color: red;
    box-shadow: 0 0 3px red;
}

.is-valid {
    border-color: green;
    box-shadow: 0 0 3px green;
}

/* ---------------------------------------------------- */
/* -------------------- Таблица с список ------------ */
/* ---------------------------------------------------- */

.table .list-work {
    height: 26px;
}

/* ---------------------------------------------------- */
/* -------------------- Таблица с услугами ------------ */
/* ---------------------------------------------------- */

.table-tooth {
    color: red;
    box-shadow: inset 0 0 4px #2031fb;
}

.table .done {
    width: 100px;
}

.table .done button{
    width: 90%;
}

.form-data .mask-fullname {
    text-transform: capitalize;
}

.password-mask {
    -webkit-text-security: disc;
    text-security: disc;
}

/* Список зубов */

#table_tooth .tooth:hover, #table_tooth .tooth_top:hover, #table_tooth .tooth_bottom:hover {
	background-color: var(--ct-gray-400) !important; /* Цвет фона */
	cursor: pointer;
    font-weight: bold;
    color: var(--ct-gray-900);
    box-shadow: inset 0 0 4px var(--ct-gray-700);
}
#table_tooth [hover='1'] {
    background-color: var(--ct-gray-400) !important;
    box-shadow: inset 0 0 4px var(--ct-gray-700);
    color: var(--ct-gray-900);
    font-weight: bold;
    
}

#table_tooth [hover='1']:hover {
    background-color: var(--ct-gray-900)  !important; /* Цвет фона */
    box-shadow: inset 0 0 4px var(--ct-gray-300);
}

#table_tooth .no_hover {
    pointer-events: none;
}

/* Таблица зубами для выдиления GPT */

.modal .highlight-cell-bottom:hover, .modal .highlight-cell-top:hover {
    cursor: pointer;
    position: relative; /* Для позиционирования псевдоэлемента */
}

.modal .highlight-cell-bottom:hover::after {
    content: ''; /* Обязательно для отображения псевдоэлемента */
    position: absolute;
    bottom: 100%; /* Размещаем стрелочку над ячейкой */
    left: 50%; /* Центрируем стрелочку по горизонтали */
    transform: translateX(-50%); /* Точное центрирование */
    width: 0;
    height: 0;
    border-left: 5px solid transparent; /* Формируем стрелочку */
    border-right: 5px solid transparent;
    border-bottom: 5px solid var(--ct-table-striped-color); /* Цвет стрелочки */
}


.modal .highlight-cell-top:hover::after {
    content: ''; /* Обязательно для отображения псевдоэлемента */
    position: absolute;
    top: 100%; /* Размещаем стрелочку под ячейкой */
    left: 50%; /* Центрируем стрелочку по горизонтали */
    transform: translateX(-50%); /* Точное центрирование */
    width: 0;
    height: 0;
    border-left: 5px solid transparent; /* Формируем стрелочку */
    border-right: 5px solid transparent;
    border-top: 5px solid var(--ct-table-striped-color); /* Цвет стрелочки */
}


.highlight-top [data-start=""][data-end=""] {
    height: 30px;
    vertical-align: top !important;
}

.highlight-bottom [data-start=""][data-end=""] {    
    height: 30px;
    vertical-align: bottom !important;
}
.cell-limit {
    transition: background 0.5s;
}

/* ---------------------------------------------------- */
/* -------------------- Статистика -------------------- */
/* ---------------------------------------------------- */

.statistics-dashboard .widget-flat {
    cursor: default;
}

.statistics-dashboard .card-clickable {
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.statistics-dashboard .card-clickable:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.statistics-dashboard .widget-icon {
    height: 48px;
    width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    font-size: 24px;
}

.statistics-dashboard .apex-charts {
    min-height: 10px !important;
}

.statistics-dashboard .table-responsive {
    overflow-y: auto;
}

.statistics-dashboard .table-responsive::-webkit-scrollbar {
    width: 6px;
}

.statistics-dashboard .table-responsive::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.statistics-dashboard .table-responsive::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 3px;
}

.statistics-dashboard .table-responsive::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Popover для модальных окон */
.popover-wide {
    max-width: 560px;
}

.popover-wide .popover-body {
    white-space: nowrap;
}

/* Дополнительный цвет для прогресс-бара */
.bg-yellow {
    background-color: #ffc107 !important;
}

/* ---------------- */
/* КАЛЕНДАРЬ */
/* ---------------- */
.calendar-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(155, 155, 155, 0.5) transparent;
}

.calendar-scroll::-webkit-scrollbar {
    height: 6px;
}

.calendar-day-today {
    font-weight: bold;
}

.btn-primary.calendar-day-today {
    background-color: #727cf5;
    border-color: #727cf5;
}

.calendar-scroll:active {
    cursor: grabbing;
}

.dag_calendar {
    width: 100%; 
    font-size: 12pt;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	height: 260px;
}

.dag_calendar td {
	padding: 3px 0 3px 0;
	text-align: center;
}

.dag_calendar .month {
    padding: 0;
    vertical-align: middle;
}

.dag_calendar .week {
	color: #0acf97;
	font-weight: bold;
}

.dag_calendar .today {
    color: #00ff00 !important;
	font-weight: bold;
}

.dag_calendar .output {
	background: #8a8a8a40;
}

.dag_calendar .hover {
	--ct-table-accent-bg: #00000059 !important;
    color: #ffffff !important;
}

.dag_calendar .control {
    padding: 0;
	vertical-align: middle;
}

.dag_calendar td:hover {
	box-shadow: inset 0 0 10px #ffffff8a;
}

/* Адаптация календаря под темы */
.calendar-table {
    margin-bottom: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.calendar-table td {
    text-align: center;
    vertical-align: middle;
    border: 1px solid;
}

.calendar-table td.today {
    background-color: #727cf5 !important;
    color: #ffffff !important;
    font-weight: bold;
}

.calendar-table td:not(.block):not(.week):not(.month):not(.control) {
    cursor: pointer;
}

.calendar-table .control {
    cursor: pointer;
}

.calendar-table td.hover {
    font-weight: bold;
}

.calendar-table td.other-month {
    opacity: 0.4;
    color: #999 !important;
}

/* Заблокированные дни календаря - цвет не меняем, событие клика обрабатывается через onclick в HTML */

/* Индикаторы загруженности */
.calendar-table td.load-low {
    background-color: #e3f2fdb3 !important;
}

.calendar-table td.load-medium {
    background-color: #32a9148c !important;
}

.calendar-table td.load-full {
    background-color: #ff99009c !important;
}

.calendar-table td.load-over {
    background-color: #f44336d3 !important;
}

.calendar-table td.today.load-over {
    background-color: inherit !important;
}

.calendar-table td.today,
.calendar-table td.today.hover,
.calendar-table td.today.load-over,
.calendar-table td.today.load-over.hover {
    --ct-table-accent-bg: transparent !important;
}

/* Светлая тема */
html[data-theme="light"] .calendar-table {
    background-color: #ffffff;
    color: #313a46;
}

html[data-theme="light"] .calendar-table td {
    border-color: #dee2e6;
}

html[data-theme="light"] .calendar-table .week {
    background-color: #f1f3fa;
    color: #6c757d;
    font-weight: 600;
}

html[data-theme="light"] .calendar-table .month,
html[data-theme="light"] .calendar-table .control {
    background-color: #f1f3fa;
    color: #313a46;
    font-weight: bold;
}

html[data-theme="light"] .calendar-table .control:hover {
    background-color: #e3e6f0;
}

html[data-theme="light"] .calendar-table td:not(.block):not(.week):not(.month):not(.control) {
    background-color: #ffffff;
}

html[data-theme="light"] .calendar-table td.block {
    background-color: #f1f3fa;
}

html[data-theme="light"] .calendar-table td:hover:not(.block):not(.week):not(.month):not(.control) {
    background-color: #e3e6f0;
}

html[data-theme="light"] .calendar-table td.hover {
    background-color: #727cf5 !important;
    color: #ffffff !important;
}

html[data-theme="light"] .calendar-table td.today {
    background-color: #000000 !important;
    color: #ffffff !important;
}

html[data-theme="light"] .calendar-table td.today.load-over {
    background-color: #000000 !important;
    color: #ffffff !important;
}

html[data-theme="light"] .calendar-table td.other-month {
    opacity: 0.35;
    color: #adb5bd !important;
}


html[data-theme="light"] .calendar-table td.load-low {
    background-color: #4fa2ffc7 !important;
}

html[data-theme="light"] .calendar-table td.load-medium {
    background-color: #32a9148c !important;
}

html[data-theme="light"] .calendar-table td.load-full {
    background-color: #f9b2489e !important;
}

html[data-theme="light"] .calendar-table td.load-over {
    background-color: #f4433694 !important;
}

/* Тёмная тема */
html[data-theme="dark"] .calendar-table {
    background-color: #313a46 !important;
    color: #dee2e6 !important;
}

html[data-theme="dark"] .calendar-table td {
    border-color: #404954 !important;
}

html[data-theme="dark"] .calendar-table .week {
    background-color: #404954 !important;
    color: #adb5bd !important;
    font-weight: 600;
}

html[data-theme="dark"] .calendar-table .month,
html[data-theme="dark"] .calendar-table .control {
    background-color: #404954 !important;
    color: #dee2e6 !important;
    font-weight: bold;
}

html[data-theme="dark"] .calendar-table .control:hover {
    background-color: #505d6d !important;
}

html[data-theme="dark"] .calendar-table td:not(.block):not(.week):not(.month):not(.control) {
    color: #ffffff !important;
}

html[data-theme="dark"] .calendar-table td.block {
    background-color: #404954 !important;
}

html[data-theme="dark"] .calendar-table td:hover:not(.block):not(.week):not(.month):not(.control) {
    background-color: #505d6d !important;
}

html[data-theme="dark"] .calendar-table td.hover {
    background-color: #727cf5 !important;
    color: #ffffff !important;
}

html[data-theme="dark"] .calendar-table td.today {
    background-color: #ffffff !important;
    color: #000000 !important;
}

html[data-theme="dark"] .calendar-table td.today.load-over {
    background-color: #ffffffc2 !important;
    color: #000000 !important;
}

html[data-theme="dark"] .calendar-table td.other-month {
    opacity: 0.3;
    color: #6c757d !important;
}


html[data-theme="dark"] .calendar-table td.load-low,
html[data-theme="dark"][data-menu-color="dark"] .calendar-table td.load-low,
html[data-theme="dark"][data-menu-color="light"] .calendar-table td.load-low,
html[data-theme="dark"][data-menu-color="brand"] .calendar-table td.load-low {
    background-color: #2563ebb3 !important;
}

html[data-theme="dark"] .calendar-table td.load-medium,
html[data-theme="dark"][data-menu-color="dark"] .calendar-table td.load-medium,
html[data-theme="dark"][data-menu-color="light"] .calendar-table td.load-medium,
html[data-theme="dark"][data-menu-color="brand"] .calendar-table td.load-medium {
    background-color: #32a9148c !important;
}

html[data-theme="dark"] .calendar-table td.load-full,
html[data-theme="dark"][data-menu-color="dark"] .calendar-table td.load-full,
html[data-theme="dark"][data-menu-color="light"] .calendar-table td.load-full,
html[data-theme="dark"][data-menu-color="brand"] .calendar-table td.load-full {
    background-color: #f9b2489e !important;
}

html[data-theme="dark"] .calendar-table td.load-over,
html[data-theme="dark"][data-menu-color="dark"] .calendar-table td.load-over,
html[data-theme="dark"][data-menu-color="light"] .calendar-table td.load-over,
html[data-theme="dark"][data-menu-color="brand"] .calendar-table td.load-over {
    background-color: #ff6464b3 !important;
}

/* Светлое меню */
html[data-menu-color="light"] .calendar-table {
    background-color: #ffffff;
    color: #313a46;
}

html[data-menu-color="light"] .calendar-table td {
    border-color: #dee2e6;
}

html[data-menu-color="light"] .calendar-table .week {
    background-color: #f1f3fa;
    color: #6c757d;
    font-weight: 600;
}

html[data-menu-color="light"] .calendar-table .month,
html[data-menu-color="light"] .calendar-table .control {
    background-color: #f1f3fa;
    color: #313a46;
    font-weight: bold;
}

html[data-menu-color="light"] .calendar-table .control:hover {
    background-color: #e3e6f0;
}

html[data-menu-color="light"] .calendar-table td:not(.block):not(.week):not(.month):not(.control) {
    background-color: #ffffff;
}

html[data-menu-color="light"] .calendar-table td.block {
    background-color: #f1f3fa;
}

html[data-menu-color="light"] .calendar-table td:hover:not(.block):not(.week):not(.month):not(.control) {
    background-color: #e3e6f0;
}

html[data-menu-color="light"] .calendar-table td.hover {
    background-color: #727cf5 !important;
    color: #000000 !important;
}

html[data-menu-color="light"] .calendar-table td.today {
    background-color: #000000 !important;
    color: #ffffff !important;
}

html[data-menu-color="light"] .calendar-table td.today.load-over {
    background-color: #000000a8 !important;
    color: #ffffff !important;
}

html[data-menu-color="light"] .calendar-table td.other-month {
    opacity: 0.35;
    color: #000000 !important;
}


html[data-menu-color="light"] .calendar-table td.load-low {
    background-color: #4fa2ffc7 !important;
}

html[data-menu-color="light"] .calendar-table td.load-medium {
    background-color: #32a9148c !important;
}

html[data-menu-color="light"] .calendar-table td.load-full {
    background-color: #f9b2489e !important;
}

html[data-menu-color="light"] .calendar-table td.load-over {
    background-color: #f4433694 !important;
}

/* Тёмное меню */
html[data-menu-color="dark"] .calendar-table {
    background-color: #313a46;
    color: #dee2e6;
}

html[data-menu-color="dark"] .calendar-table td {
    border-color: #404954;
}

html[data-menu-color="dark"] .calendar-table .week {
    background-color: #404954;
    color: #adb5bd;
}

html[data-menu-color="dark"] .calendar-table .month,
html[data-menu-color="dark"] .calendar-table .control {
    background-color: #404954;
    color: #dee2e6;
}

html[data-menu-color="dark"] .calendar-table .control:hover {
    background-color: #505d6d;
}

html[data-menu-color="dark"] .calendar-table td:not(.block):not(.week):not(.month):not(.control) {
    background-color: #37404a;
}

html[data-menu-color="dark"] .calendar-table td.block {
    background-color: #404954;
}

html[data-menu-color="dark"] .calendar-table td:hover:not(.block):not(.week):not(.month):not(.control) {
    background-color: #505d6d;
}

html[data-menu-color="dark"] .calendar-table td.hover {
    background-color: #727cf5 !important;
    color: #ffffff !important;
}

html[data-menu-color="dark"] .calendar-table td.today {
    background-color: #ffffff !important;
    color: #000000 !important;
}

html[data-menu-color="dark"] .calendar-table td.today.load-over {
    background-color: #ffffffc2 !important;
    color: #000000 !important;
}

html[data-menu-color="dark"] .calendar-table td.other-month {
    opacity: 0.5;
    color: #ffffff !important;
}


html[data-menu-color="dark"] .calendar-table td.load-low {
    background-color: #348bfdb3 !important;
}

html[data-menu-color="dark"] .calendar-table td.load-medium {
    background-color: #32a9148c !important;
}

html[data-menu-color="dark"] .calendar-table td.load-full {
    background-color: #f9b2489e !important;
}

/* Фирменное меню */
html[data-menu-color="brand"] .calendar-table {
    background: linear-gradient(135deg, #6379c3 0%, #546ee5 60%);
    color: #cedce4;
}

html[data-menu-color="brand"] .calendar-table td {
    border-color: rgba(255, 255, 255, 0.1);
}

html[data-menu-color="brand"] .calendar-table .week {
    background-color: rgba(255, 255, 255, 0.1);
    color: #cedce4;
    font-weight: 600;
}

html[data-menu-color="brand"] .calendar-table .month,
html[data-menu-color="brand"] .calendar-table .control {
    background-color: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    font-weight: bold;
}

html[data-menu-color="brand"] .calendar-table .control:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

html[data-menu-color="brand"] .calendar-table td:not(.block):not(.week):not(.month):not(.control) {
    background-color: rgba(255, 255, 255, 0.05);
    color: #cedce4;
}

html[data-menu-color="brand"] .calendar-table td.block {
    background-color: rgba(0, 0, 0, 0.1);
    color: rgba(206, 220, 228, 0.5);
}

html[data-menu-color="brand"] .calendar-table td:hover:not(.block):not(.week):not(.month):not(.control) {
    background-color: rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

html[data-menu-color="brand"] .calendar-table td.hover {
    background-color: #ffffff !important;
    color: #546ee5 !important;
}

html[data-menu-color="brand"] .calendar-table td.today {
    background-color: #ffffff !important;
    color: #546ee5 !important;
}

html[data-menu-color="brand"] .calendar-table td.today.load-over {
    background-color: #ffffff !important;
    color: #546ee5 !important;
}

html[data-menu-color="brand"] .calendar-table td.other-month {
    opacity: 0.3;
    color: rgba(206, 220, 228, 0.5) !important;
}


html[data-menu-color="brand"] .calendar-table td.load-low {
    background-color: rgba(33, 150, 243, 0.3) !important;
}

html[data-menu-color="brand"] .calendar-table td.load-medium {
    background-color: rgba(50, 169, 20, 0.3) !important;
}

html[data-menu-color="brand"] .calendar-table td.load-full {
    background-color: rgba(255, 152, 0, 0.3) !important;
}

html[data-menu-color="brand"] .calendar-table td.load-over {
    background-color: rgba(244, 67, 54, 0.3) !important;
}

/* ====================================================== */
/* ==================== РАСПИСАНИЕ ====================== */
/* ====================================================== */

.rasp {
    margin-top: 0.4rem;
}

.rasp .time {
    text-align: center;
}

.rasp .user {
    vertical-align: middle;
    text-align: center;
    overflow: hidden;
    padding-right: 3px;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
}

.rasp .status {
    width: 1.8rem;
    vertical-align: middle;
    text-align: center;
    font-size: 1.1rem;
    padding: 0;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}

.rasp .hover {
    background-color: #bde7ff9e;
    color: black;
}

.rasp .move:hover {
    background-color: #bde7ff9e !important;
    color: black;
}

.rasp .status:hover {
    --ct-table-accent-bg: #00ff0059 !important;
    font-weight: bold;
}

.rasp td[hover='1']:hover {
    background-color: #bde7ff9e !important;
    cursor: pointer;
}

/* Цвета записей */
.rasp [color='1'] td {
    color: #000000 !important;
    background-color: #ff4c4cd0 !important;
}

.rasp [color='2'] td {
    color: #000000 !important;
    background-color: #ff70ff99 !important;
}

.rasp [color='3'] td {
    color: #000000 !important;
    background-color: #ffff41e1 !important;
}

.rasp [color='4'] td {
    color: #000000 !important;
    background-color: #77ed77bd !important;
}

.rasp [color='5'] td {
    color: #000000 !important;
    background-color: #8cbbffd8 !important;
}

/* Иконки статусов */
.rasp .uil-clock {
    color: blue;
}

.rasp .uil-plus-circle {
    color: green;
}

.rasp .uil-minus-circle {
    color: red;
}

.rasp .uil-phone {
    color: green;
}

.rasp .uil-phone-slash {
    color: red;
}

/* Нерабочее время по графику */
.rasp .grafik {
    background: repeating-linear-gradient(-45deg, #ffffff00, #ffffff00 5px, #afafaf87 5px, #afafaf87 10px) !important;
    text-decoration: line-through !important;
    text-decoration-color: #00000080 !important;
    border: none !important;
    box-shadow: none !important;
    height: 13px !important;
    padding: 0 !important;
    font-size: 0 !important;
    color: transparent !important;
    width: 90%;
}
