/*Мои*/
/*@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700&display=swap");*/

.ymaps-2-1-79-b-cluster-tabs.ymaps-2-1-79-b-cluster-content {
    width: 546px !important;
    height: 400px !important;
}

.cursorPointer {
    cursor: pointer;
}

.autocomplete-items div:hover {
    background-color: #f2f2f2;
}

.autocomplete-active {
    background-color: DodgerBlue !important;
    color: ghostwhite;
}

.autocomplete-items {
    position: absolute;
    background-color: ghostwhite;
    border-radius: 0.25rem;
    box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.4);
}

.autocomplete-items div {
    cursor: pointer;
    padding: 0.25rem;
    border-bottom: 1px solid #eff2f7;
}

.multiline-select {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.multiline-select-source {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.multiline-select-btn {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 38px;
    padding: 0.375rem 1.75rem 0.375rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    background: #fff;
    color: #495057;
    font: inherit;
    line-height: 1.25;
    text-align: left;
}

.multiline-select-btn:focus {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    outline: 0;
}

.multiline-select-text {
    display: -webkit-box;
    overflow: hidden;
    overflow-wrap: anywhere;
    white-space: normal;
    -webkit-box-orient: vertical;
}

.multiline-select-arrow {
    position: absolute;
    top: 50%;
    right: 0.75rem;
    width: 0;
    height: 0;
    border-top: 0.35em solid #6c757d;
    border-right: 0.3em solid transparent;
    border-left: 0.3em solid transparent;
    transform: translateY(-50%);
}

.multiline-select-options {
    position: fixed;
    z-index: 1055;
    display: none;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    background: #fff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.18);
}

.multiline-select-open .multiline-select-options {
    display: block;
}

.multiline-select-option {
    cursor: pointer;
    padding: 0.4rem 0.6rem;
    border-bottom: 1px solid #eff2f7;
    line-height: 1.25;
    overflow-wrap: anywhere;
    white-space: normal;
}

.multiline-select-option:hover {
    background: #f2f6fb;
}

.multiline-select-option.active {
    background: #0d6efd;
    color: #fff;
}

.multiline-select-option.disabled {
    cursor: default;
    color: #6c757d;
    background: #f8f9fa;
}

.toast {
    width: 350px;
    max-width: 100%;
    pointer-events: auto;
    background-color: rgba(255, 255, 255, 0.85);
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    backdrop-filter: blur(10px);
    border-radius: 0.25rem;
}

.toast-title {
    font-weight: 700;
}

#toast-container {
    position: fixed;
    z-index: 999999;
    pointer-events: none;
}

.toast-top-center {
    top: 0;
    right: 0;
    width: 100%;
}

#toast-container.toast-bottom-center > div, #toast-container.toast-top-center > div {
    width: 300px;
    margin-left: auto;
    margin-right: auto;
}

#toast-container > .toast-error {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=) !important;
}

#toast-container > .toast-success {
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==') !important;
}

.toast-success {
    border: 2px solid #34c38f !important;
    background-color: rgba(52, 195, 143, 0.8) !important;
}

#toast-container > div {
    position: relative;
    pointer-events: auto;
    overflow: hidden;
    margin: 0 0 6px;
    padding: 15px 15px 15px 50px;
    width: 300px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    background-position: 15px center;
    background-repeat: no-repeat;
    -moz-box-shadow: 0 0 12px #999;
    -webkit-box-shadow: 0 0 12px #999;
    box-shadow: 0 0 12px #999;
    color: #FFF;
    opacity: .8;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    filter: alpha(opacity=80);
}

#toast-container > div {
    -webkit-box-shadow: 0 0.75rem 1.5rem rgb(18 38 63 / 3%);
    box-shadow: 0 0.75rem 1.5rem rgb(18 38 63 / 3%);
    opacity: 1;
}

#toast-container > div:hover {
    -webkit-box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03);
    box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03);
    opacity: 0.9;
}

#toast-container * {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.toast:not(.show) {
    display: none;
}

.toast-error {
    background-color: rgba(244, 106, 106, 0.8);
    border: 2px solid #f46a6a;
}

#toast-container * {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.toast-message {
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}

.toast-message a, .toast-message label {
    color: #FFF;
}

.displayNone {
    display: none;
}

.customControl {
    display: none;
    background-color: #fff;
    padding: 5px;
    border-radius: 3px;
    max-width: 250px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.date-img {
    position: absolute;
    color: white;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 5px;
    right: 0;
    padding: 0.25rem 0.5rem;
    margin: 0.25rem;
}

.tr-obj {
    cursor: pointer;
}

.tr-obj:hover {
    background: wheat;
}

.container-img, .img-card {
    width: 208px;
    height: 208px;
}

.more-photo {
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    align-content: center;
    color: white;
    font-size: 18px;
    background: #00000057;
}

.container-img {
    position: relative;
}

.img-card {
    border-radius: 0.4rem;
    position: absolute;
}

.cahger-photo {
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    position: absolute;
    align-items: flex-end;
    padding: 0.25rem;
}

.view-photo-img {
    border-bottom: 2px solid var(--bs-gray-500);
    flex-basis: 50%;
    margin: 0.25rem;
    height: 100%;
}

.view-photo-img:hover {
    border-bottom-color: var(--bs-cyan)
}

.cont-disc {
    max-width: 470px;
    min-width: 230px;
    overflow: hidden;
    max-height: 236px;
    height: 236px;
}

.disc-obj {
    white-space: break-spaces;
}

.title-obj {
    font-size: 18px;
    font-weight: 700;
    white-space: normal;
    color: var(--bs-cyan);
    line-height: 24px;
}

.title {
    font-size: 18px;
    font-weight: 700;
    white-space: normal;
}

.title-1 {
    font-size: 16px;
    font-weight: 600;
    white-space: normal;
}

.cost-obj {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
    display: flex;
    justify-content: space-between;
}

.context-menu {
    position: fixed;
    width: auto;
    border-radius: 0.4rem;
    background: white;
    padding: 0.25rem 0px;
    box-shadow: 0 0 0.5rem rgba(18, 38, 63, 0.13)
}
.item-context-menu{
    padding:0.5rem 1.5rem;
    cursor: pointer;
}
.item-context-menu:hover{
    background: var(--bs-light);
}

.img-edit-object{
    margin-left: 0;
    cursor: pointer;
}

.img-edit-object:hover{
    outline: 2px solid var(--bs-cyan);
}

.img-add-object{
    margin-top: 0.25rem;
    padding: 0.25rem;
    cursor: pointer;
    text-align: center;
    background: #cdcdcd;
    align-content: center;
}

.img-add-object:hover{
    background: #a9a8a8;
}

.table-filters{
    z-index: 1;
    background: var(--bs-body-bg);
    border-right: 1px solid #c2c7cb;
    padding-right: 10px;
    max-width: 195px;
}

.head-table {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.info-object{
    display: flex;
    align-items: flex-start;
}
.select-hover:hover{
    background: var(--bs-light) !important;
}

.select_border-hover:hover{
    border: 2px solid #ced4da !important;
}

.hidden_target_structure {
    overflow: hidden;
    padding:0;
    border-width: 0;
    max-width: 320px;
}
@media (max-width: 576px) {
    .hidden_target_structure {
        max-width: 150px;
    }
}

.hidden_parrent .hidden_target_structure {
    max-width: 30px;
}

.change_max_width_td{
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.change_max_table .change_max_width_td {
    max-width: 408px;
    white-space: normal; /* Разрешает перенос текста */
    word-wrap: break-word; /* Переносит длинные слова */
}

.resizable-bottom::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
    cursor: ns-resize;
}

.resizable-right::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 10px;
    height: 100%;
    cursor: ew-resize;
}
.m--2{
    margin: -0.25rem !important;
}

.align_top td{
    vertical-align: top;
}


/* Показывать только видимую часть + не трогать раскладку вне экрана */
.cv {
    content-visibility: auto;
    contain-intrinsic-size: 1000px 800px; /* примерная «заглушка» размера для стабильности макета */
}

/* Строго изолируем внутренности блоков от остального потока */
.contain {
    contain: layout paint style size;
}

.stik_panel{
    position: sticky;
    left: 170px;
}

.vertical-collpsed .stik_panel{
    position: sticky;
    left: 0px;
}

.select-clean {
    min-width: 64px;
    max-width: 221px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: none;
    padding-right: 0.35rem !important;
}
.break-all { word-break: break-all; }

/* ячейка с иконкой разворота */
.td-toggle {
    padding: 0 !important;
    position: relative;
}

/* левая граница для пустых ячеек-отступов */
.td-border-left {border-left: 3px solid var(--bs-gray-500);}
/* «ветка»-разделитель слева от toggler'а */
.tree-connector {
    position: absolute;
    top: 17px;
    left: -2px;
    bottom: 0;
    border-left: 3px solid var(--bs-gray-500);
}


.drop_tr.is-dragging { opacity: .6; }

.el_gant{
    background: #62b2f9;
    height: 27px;
    border-radius: 4px;
    overflow: hidden;
    white-space: nowrap;
    align-content: center;
}

.foreman-table-cell {
    padding: 0.25rem 0.5rem !important;
    background: var(--bs-white);
    border-color: #eff2f7;
    vertical-align: middle;
}

.foreman-table-name {
    min-width: 340px;
}

.foreman-table-number {
    text-align: right;
    white-space: nowrap;
}

.foreman-calendar-panel table td {
    padding: 0.25rem;
}

.call-text-overlay {
    position: fixed;
    inset: 0;
    z-index: 1041;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    box-sizing: border-box;
}

/* Само окно */
.call-text-modal {
    width: min(920px, 100%);
    max-height: calc(100vh - 40px);
    max-height: calc(100dvh - 40px);
    background: #ffffff;
    border-radius: 0.25rem;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    animation: callTextModalShow 0.18s ease;
    max-width: 450px;
}
.d-block{
    display: block;
}

.foreman-date-source {
    margin-top: 2px;
    font-size: 11px;
    line-height: 1.15;
    white-space: normal;
}
.foreman-date-source--own { color: var(--bs-success); }
.foreman-date-source--inherited { color: var(--bs-secondary); }
.foreman-date-source--empty { color: var(--bs-danger); }
.foreman-date-source--calc { color: var(--bs-info); }

/* Бригады */
.brigade-workers-list {
    max-height: 430px;
    overflow: auto;
    min-width: 520px;
    border: 1px solid #eff2f7;
    border-radius: 0.25rem;
    background: #fff;
}

.brigade-worker-row {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    padding: 0.45rem 0.5rem;
    border-bottom: 1px solid #eff2f7;
}

.brigade-worker-row:hover {
    background: var(--bs-light);
}

.brigade-worker-info {
    white-space: normal;
    line-height: 1.25;
}

.brigade-worker-meta {
    color: #74788d;
    font-size: 12px;
    white-space: normal;
}

.brigade-member-pill {
    display: inline-block;
    padding: 0.15rem 0.4rem;
    margin: 0.1rem;
    border-radius: 50rem;
    background: var(--bs-light);
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

@media (max-width: 768px) {
    .brigade-workers-list {
        min-width: 260px;
        max-width: calc(100vw - 70px);
    }
}
.brigade-selected-workers-list {
    max-width: 320px;
    max-height: 310px;
    overflow: auto;
    border: 1px solid #eff2f7;
    border-radius: 0.25rem;
    background: #fff;
}

.brigade-selected-worker-row {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0.45rem 0.5rem;
    border-bottom: 1px solid #eff2f7;
}

.brigade-selected-worker-row:hover {
    background: var(--bs-light);
}

.brigade-selected-worker-name {
    white-space: normal;
    line-height: 1.25;
}

.brigade-selected-worker-remove {
    border: 0;
    background: transparent;
    color: var(--bs-danger);
    cursor: pointer;
    padding: 0 0.25rem;
    line-height: 1.2;
    font-size: 18px;
}

/* ===== BEGIN css/brigade_plan.css =====
   Стили модуля планирования распределения бригад.
   Подключить отдельным CSS-блоком или файлом после основных стилей проекта.
*/

.brigade-plan-scope-label {
    display:inline-block;
    padding:.1rem .35rem;
    border-radius:.25rem;
    font-size:11px;
    margin-left:.35rem;
    background:var(--bs-light);
    color:#74788d;
}

.brigade-plan-scope-current { color:var(--bs-success); }
.brigade-plan-scope-parent { color:var(--bs-info); }
.brigade-plan-scope-child { color:var(--bs-warning); }

.brigade-plan-result-workers {
    max-height:160px;
    overflow:auto;
    border:1px solid #eff2f7;
    border-radius:.25rem;
    padding:.35rem;
    background:#fff;
}

.brigade-plan-worker-row.is-disabled {
    opacity:.55;
    cursor:not-allowed;
}

.brigade-plan-row-focus > td {
    box-shadow: inset 0 0 0 2px var(--bs-cyan);
}

.brigade-plan-row-focus {
    background: rgba(80, 165, 241, .12) !important;
}

.brigade-plan-badge{display:inline-flex;align-items:center;gap:.2rem;height:24px;padding:0 .35rem;border-radius:.25rem;border:1px solid #eff2f7;background:#fff;font-size:11px;white-space:nowrap;cursor:pointer;}
.brigade-plan-badge:hover{background:var(--bs-light);}
.brigade-plan-ok{color:var(--bs-success);border-color:rgba(52,195,143,.45);}
.brigade-plan-danger{color:var(--bs-danger);border-color:rgba(244,106,106,.45);}
.brigade-plan-warning{color:var(--bs-warning);border-color:rgba(241,180,76,.55);}
.brigade-plan-empty{color:#74788d;}
.brigade-plan-card{border:1px solid #eff2f7;border-radius:.25rem;background:#fff;padding:.45rem .5rem;margin-bottom:.35rem;}
.brigade-plan-card:hover{background:var(--bs-light);}
.brigade-plan-grid{display:grid;grid-template-columns:minmax(260px,360px) minmax(420px,1fr);gap:1rem;align-items:flex-start;}
.brigade-plan-worker-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .4rem;margin:.1rem;border-radius:50rem;background:var(--bs-light);max-width:300px;vertical-align:middle;}
.brigade-plan-worker-chip button{border:0;background:transparent;cursor:pointer;padding:0 .15rem;color:var(--bs-danger);}
.brigade-plan-worker-list{max-height:360px;overflow:auto;min-width:360px;border:1px solid #eff2f7;border-radius:.25rem;background:#fff;}
.brigade-plan-worker-row{display:flex;gap:.5rem;align-items:flex-start;padding:.45rem .5rem;border-bottom:1px solid #eff2f7;cursor:pointer;}
.brigade-plan-worker-row:hover{background:var(--bs-light);}
.brigade-plan-meta{color:#74788d;font-size:12px;line-height:1.25;white-space:normal;}
.brigade-plan-problem-row{background:rgba(244,106,106,.08)!important;}
.brigade-plan-schedule-wrap{max-width:calc(100vw - 80px);overflow:auto;}
.brigade-plan-schedule-table{border-collapse:collapse;min-width:900px;}
.brigade-plan-schedule-table th,.brigade-plan-schedule-table td{border:1px solid #eff2f7;padding:.25rem;vertical-align:top;}
.brigade-plan-schedule-left{position:sticky;left:0;background:#fff;z-index:1;min-width:240px;max-width:320px;}
.brigade-plan-schedule-day{min-width:38px;width:38px;height:44px;}
.brigade-plan-schedule-item{font-size:10px;line-height:1.1;border-radius:.25rem;background:#62b2f933;padding:.15rem;overflow:hidden;cursor:pointer;}
.brigade-plan-summary{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.35rem 0;}
.brigade-plan-summary .badge{font-size:11px;}
@media(max-width:900px){.brigade-plan-grid{grid-template-columns:1fr}.brigade-plan-worker-list{min-width:260px}}



/* ===== END css/brigade_plan.css ===== */

/* ===== BEGIN css/foreman_execution.css =====
   UI модуля «Выполнение работ прорабом».
   Подключать после основных стилей проекта и после css/brigade_plan.css.
*/

.foreman-execution-status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0.12rem 0.45rem;
    border-radius: 50rem;
    border: 1px solid #eff2f7;
    background: #fff;
    font-size: 11px;
    line-height: 1.15;
    white-space: nowrap;
}

.foreman-execution-status--empty {
    color: #74788d;
    border-color: #ced4da;
    background: #fff;
}

.foreman-execution-status--draft {
    color: var(--bs-warning);
    border-color: rgba(241, 180, 76, .55);
    background: rgba(241, 180, 76, .08);
}

.foreman-execution-status--complete {
    color: var(--bs-success);
    border-color: rgba(52, 195, 143, .45);
    background: rgba(52, 195, 143, .08);
}

.foreman-execution-empty {
    padding: 1rem !important;
    color: #74788d;
    text-align: center;
    white-space: normal !important;
}

.foreman-execution-modal {
    position: fixed;
    inset: 55px 0px 0px 170px;
    z-index: 1005;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 18px 50px rgba(18, 38, 63, .22);
}

.vertical-collpsed .foreman-execution-modal {
    left: 10px;
}

.foreman-execution-modal .modal-header {
    position: relative;
    flex: 0 0 auto;
    padding: 0.55rem 0.75rem 0.55rem 1rem;
    background: #fff;
    z-index: 2;
}

.foreman-execution-toolbar {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-end;
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #eff2f7;
    background: #fff;
    z-index: 2;
}

.foreman-execution-toolbar > div {
    min-width: 160px;
}

.foreman-execution-toolbar > .foreman-execution-toolbar-head {
    display: flex;
    flex: 1 1 100%;
    gap: 0.5rem;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
}

.foreman-execution-fast-filter {
    flex: 1 1 360px;
    min-width: 240px;
    max-width: 520px;
}

.foreman-execution-fast-filter input {
    max-width: 420px;
}

.foreman-execution-toolbar-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 0.5rem;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
}

.foreman-execution-toolbar-title {
    color: #74788d;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.foreman-execution-toolbar-toggle {
    display: inline-flex;
    gap: 0.25rem;
    align-items: center;
    white-space: nowrap;
}

.foreman-execution-toolbar.is-collapsed {
    gap: 0;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

.foreman-execution-toolbar.is-collapsed > div:not(.foreman-execution-toolbar-head) {
    display: none;
}


.foreman-execution-toolbar label {
    display: block;
    margin-bottom: 0.2rem;
    color: #74788d;
    font-size: 11px;
    line-height: 1.15;
}

.foreman-execution-summary {
    display: flex;
    flex: 1 1 100%;
    flex-wrap: wrap;
    gap: 0.25rem;
    align-items: center;
    min-width: 260px;
    padding-top: 0.1rem;
    color: #74788d;
    font-size: 12px;
}

.foreman-execution-body {
    flex: 1 1 auto;
    display: flex;
    gap: 0.75rem;
    min-height: 0;
    overflow: hidden;
    padding: 0.75rem;
    background: #f8f8fb;
}

.foreman-execution-structure-panel {
    flex: 0 0 320px;
    display: flex;
    flex-direction: column;
    min-width: 260px;
    max-width: 360px;
    min-height: 0;
    overflow: hidden;
    border: 1px solid #eff2f7;
    background: #fff;
}

.foreman-execution-structure-panel.foreman-execution-structure-panel--collapsed {
    flex: 0 0 40px;
    width: 40px;
    min-width: 40px;
    max-width: 40px;
}

.foreman-execution-structure-filter-row {
    cursor: pointer;
}

.foreman-execution-structure-panel-head {
    display: flex;
    flex: 0 0 auto;
    gap: 0.5rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.55rem 0.6rem;
    border-bottom: 1px solid #eff2f7;
}

.foreman-execution-structure-actions {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
    padding: 0.45rem 0.6rem;
    border-bottom: 1px solid #eff2f7;
}

.foreman-execution-structure-actions .form-select {
    flex: 1 1 150px;
    min-width: 0;
}

.foreman-execution-structure-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.foreman-execution-structure-panel .worker-distribution-tree-name > .form-check-input {
    position: static;
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    margin: 0;
}

.foreman-execution-table-pane {
    flex: 1 1 auto;
    min-width: 0;
    overflow: auto;
    background: #fff;
}

.foreman-execution-body > table {
    min-width: 0;
    background: #fff;
}

.foreman-execution-main-table {
    table-layout: fixed;
}

.foreman-execution-main-table > tbody > tr > td {
    white-space: normal !important;
}

.foreman-execution-work-line {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    width: 100%;
}

.foreman-execution-work-info-block {
    flex: 0 0 360px;
    min-width: 280px;
    max-width: 440px;
    padding: 0.45rem 0.5rem;
    border: 1px solid #eff2f7;
    border-radius: 0.25rem;
    background: #fff;
}

.foreman-execution-workers-block {
    flex: 1 1 auto;
    min-width: 0;
    overflow: visible;
}

.foreman-execution-base-work-label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 180px;
}

.foreman-execution-base-brigade {
    display: flex;
    gap: 0.2rem;
    align-items: center;
    min-width: 0;
}

.foreman-execution-brigade-toggle {
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    padding: 0;
}

.foreman-execution-base-brigade-button {
    display: inline-flex;
    gap: 0.3rem;
    align-items: center;
    min-width: 0;
    padding: 0.1rem 0;
    border: 0;
    background: transparent;
    color: var(--bs-success);
    font-size: 12px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.foreman-execution-base-brigade-button span {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}

.foreman-execution-base-brigade-button small {
    flex: 0 0 auto;
    color: #74788d;
    font-weight: 400;
    white-space: nowrap;
}

.foreman-execution-base-brigade-button:hover span {
    text-decoration: underline;
}

.foreman-execution-brigade-note {
    margin-top: 0.45rem;
    padding: 0.35rem 0.45rem;
    border: 1px solid #eff2f7;
    border-radius: 0.25rem;
    background: #f8f9fa;
    color: #74788d;
    font-size: 12px;
    line-height: 1.25;
    white-space: normal;
}

.foreman-execution-brigade-note--selected {
    color: var(--bs-success);
    border-color: rgba(52, 195, 143, .45);
    background: rgba(52, 195, 143, .08);
}

.foreman-execution-physical-levels-button {
    display: block;
    width: 100%;
    text-align: left;
    cursor: pointer;
}

.foreman-execution-physical-levels-button:hover {
    border-color: var(--bs-success);
}

.foreman-execution-physical-level-line {
    display: block;
    margin-top: 0.15rem;
}

.foreman-execution-manual-mark {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.05rem 0.3rem;
    border: 1px solid rgba(241, 180, 76, .55);
    border-radius: 0.2rem;
    background: rgba(241, 180, 76, .12);
    color: #a56a08;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.foreman-execution-physical-modal {
    display: flex;
    flex-direction: column;
    width: min(900px, 96vw);
    max-width: 900px;
    max-height: 88vh;
    overflow: hidden;
}

.foreman-execution-physical-modal-summary {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    align-items: center;
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #eff2f7;
    color: #74788d;
    font-size: 12px;
}

.foreman-execution-physical-modal-summary label {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    margin: 0;
    color: #495057;
    font-weight: 600;
}

.foreman-execution-physical-modal-summary input {
    width: 110px;
}

.foreman-execution-physical-modal-summary .foreman-execution-physical-hide-empty input {
    position: static;
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    margin: 0;
}

.foreman-execution-physical-modal-tree {
    flex: 1 1 auto;
    min-height: 180px;
    overflow: auto;
}

.foreman-execution-physical-modal-tree table {
    margin: 0;
}

.foreman-execution-physical-modal-tree thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #eff2f7;
}

.foreman-execution-physical-modal-tree td {
    vertical-align: middle;
}

.foreman-execution-physical-row--excluded {
    background: #f8f9fa;
    color: #74788d;
}

.foreman-execution-physical-amount-control {
    display: inline-flex;
    gap: 0.25rem;
    align-items: center;
    justify-content: flex-end;
}

.foreman-execution-physical-amount-control input {
    width: 110px;
}

.foreman-execution-physical-parent-amount {
    display: inline-block;
    min-width: 110px;
    padding-right: 0.35rem;
}

.foreman-execution-physical-modal-footer {
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    padding: 0.6rem 0.75rem;
    border-top: 1px solid #eff2f7;
}

.foreman-execution-assignment-row--brigade-member > td {
    border-color: rgba(52, 195, 143, .24) !important;
    background: rgba(52, 195, 143, .1) !important;
}

.foreman-execution-main-head > tr > th {
    position: sticky;
    top: 0;
    z-index: 4;
    background: #eff2f7;
}

.foreman-execution-group-row > td {
    position: sticky;
    left: 0;
    z-index: 1;
    padding: 0.35rem 0.55rem !important;
    font-weight: 600;
    white-space: normal !important;
}

.foreman-execution-group-row--work > td {
    position: static;
    left: auto;
    z-index: auto;
}

.foreman-execution-group-row--project > td {
    color: #fff;
    background: #2a3042 !important;
}

.foreman-execution-group-row--section > td {
    color: #495057;
    background: rgba(80, 165, 241, .18) !important;
}

.foreman-execution-group-row--subsection > td {
    color: #495057;
    background: rgba(85, 110, 230, .10) !important;
    padding-left: 1.25rem !important;
}

.foreman-execution-group-row--item > td {
    color: #495057;
    background: rgba(241, 180, 76, .16) !important;
    padding-left: 2rem !important;
}

.foreman-execution-work-name {
    min-width: 0;
    max-width: none;
    white-space: normal !important;
}

.foreman-execution-path {
    margin-top: 0.2rem;
    color: #74788d;
    font-size: 11px;
    line-height: 1.25;
    white-space: normal;
}

.foreman-execution-worker-chip {
    display: inline-flex;
    align-items: center;
    max-width: 280px;
    margin: 0.1rem;
    padding: 0.15rem 0.42rem;
    overflow: hidden;
    border: 1px solid #eff2f7;
    border-radius: 50rem;
    background: #fff;
    color: #495057;
    font-size: 11px;
    line-height: 1.2;
    text-overflow: ellipsis;
    /*vertical-align: middle;*/
    white-space: nowrap;
}

.foreman-execution-assignment-wrap {
    min-width: 0;
    overflow: visible;
    white-space: normal !important;
}

.foreman-execution-assignment-table {
    width: 100%;
    min-width: 900px;
    margin-bottom: 0.35rem;
    border-collapse: collapse;
    background: #fff;
}

.foreman-execution-assignment-table th,
.foreman-execution-assignment-table td {
    padding: 0.25rem !important;
    border: 1px solid #eff2f7;
    vertical-align: middle;
}

.foreman-execution-assignment-table th {
    color: #74788d;
    font-size: 11px;
    font-weight: 500;
    background: #f8f9fa;
    white-space: nowrap;
}

.foreman-execution-assignment-table > thead > tr > th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #f8f9fa;
}

.foreman-execution-assignment-table .form-control,
.foreman-execution-assignment-table .form-select {
    min-width: 86px;
    padding: 0.25rem;
    font-size: 12px;
}

.foreman-execution-assignment-table .foreman-execution-worker-select {
    min-width: 180px;
}

.foreman-execution-photo-cell {
    width: 62px;
    min-width: 62px;
    text-align: center;
}

.foreman-execution-photo-preview {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 34px;
    padding: 0;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    background: #fff;
    color: #556ee6;
    cursor: pointer;
}

.foreman-execution-photo-preview:hover {
    border-color: var(--bs-cyan);
    background: var(--bs-light);
}

.foreman-execution-photo-preview .mdi {
    font-size: 22px;
    line-height: 1;
}

.foreman-execution-photo-count {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border-radius: 50rem;
    background: var(--bs-primary);
    color: #fff;
    font-size: 10px;
    line-height: 17px;
    text-align: center;
}

.foreman-execution-file-modal {
    width: min(760px, 100%);
    max-width: 760px;
}

.foreman-execution-file-path {
    max-width: 620px;
    margin-top: 0.15rem;
    overflow: hidden;
    color: #74788d;
    font-size: 11px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.foreman-execution-file-table {
    margin-bottom: 0;
}

.foreman-execution-file-table td {
    vertical-align: middle;
}

.foreman-execution-file-thumb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 54px;
    overflow: hidden;
    border: 1px solid #eff2f7;
    border-radius: 0.25rem;
    background: #f8f9fa;
    cursor: pointer;
}

.foreman-execution-file-thumb:hover {
    border-color: var(--bs-cyan);
}

.foreman-execution-file-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.foreman-execution-file-name {
    max-width: 460px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .foreman-execution-modal {
        inset: 55px 0px 0px 0px;
    }

    .foreman-execution-modal .modal-header {
        align-items: flex-start;
        gap: 0.5rem;
    }

    .foreman-execution-toolbar > div {
        flex: 1 1 100%;
        min-width: 220px;
    }

    .foreman-execution-body {
        flex-direction: column;
        padding: 0.4rem;
    }

    .foreman-execution-structure-panel {
        flex: 0 0 auto;
        width: 100%;
        max-width: none;
        max-height: 260px;
    }

    .foreman-execution-table-pane {
        flex: 1 1 auto;
    }

    .foreman-execution-body > table {
        min-width: 0;
    }

    .foreman-execution-work-line {
        flex-direction: column;
    }

    .foreman-execution-work-info-block,
    .foreman-execution-workers-block {
        flex: 1 1 auto;
        width: 100%;
        max-width: none;
    }
}
.foreman-execution-time-input {
    min-width: 92px !important;
    width: 92px;
}

.foreman-execution-work-title-btn {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--bs-cyan);
    font-weight: 600;
    text-align: left;
    white-space: normal;
    cursor: pointer;
}

.foreman-execution-work-title-btn:hover {
    text-decoration: underline;
}

.foreman-execution-work-detail {
    position: fixed;
    top: 70px;
    right: 20px;
    left: 190px;
    z-index: 1050;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #fff;
}

.vertical-collpsed .foreman-execution-work-detail {
    left: 20px;
}

.foreman-execution-work-detail-body {
    flex: 1 1 auto;
    overflow: auto;
    padding: 0.75rem;
    background: #f8f8fb;
}

.foreman-execution-detail-grid {
    display: grid;
    grid-template-columns: minmax(260px, 360px) minmax(260px, 1fr) minmax(260px, 1fr);
    gap: 0.5rem;
}

.foreman-execution-detail-card {
    border: 1px solid #eff2f7;
    border-radius: 0.25rem;
    background: #fff;
    padding: 0.6rem;
}

.foreman-execution-detail-table-wrap {
    max-width: 100%;
    overflow: auto;
}

@media (max-width: 768px) {
    .foreman-execution-work-detail {
        inset: 0;
        border-radius: 0;
    }

    .foreman-execution-detail-grid {
        grid-template-columns: 1fr;
    }

    .foreman-execution-work-detail-body {
        padding: 0.5rem;
    }

    .foreman-execution-detail-table-wrap table {
        min-width: 760px;
    }
}

.foreman-execution-detail-card--schedule .foreman-execution-detail-table-wrap {
    max-height: 240px;
    overflow: auto;
}

.foreman-execution-detail-card--materials .foreman-execution-detail-table-wrap {
    max-height: 340px;
    overflow: auto;
}

.foreman-execution-detail-card--schedule thead th,
.foreman-execution-detail-card--materials thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #eff2f7;
}

@media (max-width: 768px) {
    .foreman-execution-detail-card--schedule .foreman-execution-detail-table-wrap {
        max-height: 30vh;
        max-height: 30dvh;
    }

    .foreman-execution-detail-card--materials .foreman-execution-detail-table-wrap {
        max-height: 38vh;
        max-height: 38dvh;
    }
}
/* ===== END css/foreman_execution.css ===== */

#project_structure_matrix_cell_window {
    display: flex;
    flex-direction: column;
    min-width: 360px;
    min-height: 360px;
}

.project-structure-matrix-cell-content {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

#project_structure_matrix_cell_body {
    height: 100%;
    min-height: 0;
}

.project-structure-matrix-cell-resize-right {
    position: absolute;
    top: 0;
    right: 0;
    width: 8px;
    height: 100%;
    cursor: ew-resize;
    z-index: 2;
}

.project-structure-matrix-cell-resize-bottom {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 8px;
    cursor: ns-resize;
    z-index: 2;
}

.project-structure-matrix-cell-resize-corner {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 16px;
    height: 16px;
    cursor: nwse-resize;
    z-index: 3;
}

.project-structure-work-select {
    min-width: 0;
    height: 100%;
    max-height: none;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.project-structure-work-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .75rem;
}

.project-structure-work-head h4 {
    margin: 0 0 .25rem 0;
}

.project-structure-block-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .5rem;
    min-height: 30px;
}

.project-structure-block-head .btn {
    width: 28px;
    height: 26px;
    padding: 0;
    flex: 0 0 auto;
}

.project-structure-work-layout {
    display: grid;
    grid-template-columns: 300px minmax(520px,620px) 8px minmax(360px,1fr);
    gap: .75rem;
    align-items: stretch;
    flex: 1;
    min-height: 0;
}

.project-structure-work-layout-structure-hidden {
    grid-template-columns: 36px minmax(520px,620px) 8px minmax(360px,1fr);
}

.project-structure-work-layout-estimate-hidden {
    grid-template-columns: 300px 36px minmax(360px,1fr);
}

.project-structure-work-left,
.project-structure-work-center,
.project-structure-work-right {
    min-width: 0;
    min-height: 0;
}

.project-structure-work-center,
.project-structure-work-right {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.project-structure-work-center-collapsed {
    align-items: stretch;
}

.project-structure-work-center-collapsed > .card-body,
.project-structure-work-left-collapsed > .card {
    display: none;
}

.project-structure-work-center:not(.project-structure-work-center-collapsed) > .project-structure-work-side-toggle,
.project-structure-work-left:not(.project-structure-work-left-collapsed) > .project-structure-work-side-toggle {
    display: none;
}

.project-structure-work-layout-estimate-hidden .project-structure-work-estimate-resizer {
    display: none;
}

.project-structure-work-estimate-resizer {
    min-width: 8px;
    cursor: ew-resize;
    border-radius: .25rem;
    background: transparent;
}

.project-structure-work-estimate-resizer:hover {
    background: #e9ecef;
}

.project-structure-work-left {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    min-height: 0;
}

.project-structure-work-left-collapsed {
    align-items: stretch;
}

.project-structure-work-left > .card {
    flex: 1;
    min-height: 0;
}

.project-structure-work-left > .card > .card-body {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.project-structure-work-left .project-structure-tree-list {
    flex: 1;
    max-height: none;
    min-height: 0;
}

.project-structure-tree-list {
    max-height: 330px;
    overflow: auto;
}

.project-structure-work-side-toggle {
    width: 32px;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .35rem .15rem;
}

.project-structure-work-side-toggle span {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.project-structure-tree-row {
    display: grid;
    grid-template-columns: 18px minmax(0,1fr);
    align-items: center;
    border-radius: .25rem;
    cursor: pointer;
}

.project-structure-tree-row small {
    grid-column: 2;
    color: #74788d;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.project-structure-tree-row:hover {
    background: #f8f9fa;
}

.project-structure-tree-row-active {
    background: rgba(85,110,230,.12);
    color: #3151d3;
}

.project-structure-tree-toggle {
    width: 20px;
    height: 20px;
    padding: 0;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.project-structure-work-left label {
    display: block;
    margin-bottom: .6rem;
    font-size: 12px;
    color: #495057;
}

.project-structure-check {
    display: flex !important;
    gap: .4rem;
    align-items: center;
}

.project-structure-work-table-wrap {
    max-height: none;
    overflow: auto;
    flex: 1;
    min-height: 0;
}

#project_structure_work_select_table {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.project-structure-work-center > .card-body,
.project-structure-work-right > .card-body {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.project-structure-work-table-wrap thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #eff2f7;
}

.project-structure-work-type-select {
    min-width: 150px;
    max-width: 220px;
}

.project-structure-work-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    flex-wrap: wrap;
    padding-top: .5rem;
}

.project-structure-summary {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .45rem;
    margin-bottom: .6rem;
}

.project-structure-summary > div {
    border: 1px solid #eff2f7;
    border-radius: .25rem;
    padding: .4rem .5rem;
    background: #fff;
}

.project-structure-summary span {
    display: block;
    color: #74788d;
    font-size: 11px;
}

.project-structure-summary b {
    display: block;
    margin-top: .15rem;
}

.project-structure-selected-list {
    max-height: none;
    overflow: auto;
    padding-right: .15rem;
    flex: 1;
    min-height: 100px;
}

.project-structure-work-right-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.project-structure-work-right-inner h5 {
    margin: 0;
}

.project-structure-right-tabs {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .35rem;
    margin: .6rem 0 .6rem 0;
}

.project-structure-right-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 32px;
    padding: .35rem .45rem;
    border: 1px solid #dfe4ee;
    border-radius: .25rem;
    background: #fff;
    color: #495057;
    cursor: pointer;
}

.project-structure-right-tab:hover {
    border-color: #c9d4f8;
    color: #3151d3;
}

.project-structure-right-tab-active {
    border-color: #556ee6;
    background: rgba(85,110,230,.1);
    color: #3151d3;
}

.project-structure-right-tab-body {
    flex: 1;
    min-height: 0;
    overflow: auto;
    border-top: 1px solid #eff2f7;
    padding-top: .6rem;
}

.project-structure-right-section {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-top: 1px solid #eff2f7;
}

.project-structure-right-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .35rem 0;
    cursor: pointer;
}

.project-structure-right-section-head .btn {
    width: 28px;
    height: 26px;
    padding: 0;
}

.project-structure-right-section-body {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

.project-structure-works-section {
    flex: 1;
    overflow: hidden;
}

.project-structure-right-section-collapsed {
    flex: 0 0 auto;
}

.project-structure-right-section-collapsed > .project-structure-right-section-body,
.project-structure-right-section-collapsed > .project-structure-summary {
    display: none;
}

.project-structure-right-vertical-resizer {
    flex: 0 0 8px;
    cursor: ns-resize;
    border-radius: .25rem;
    background: transparent;
}

.project-structure-right-vertical-resizer:hover {
    background: #e9ecef;
}

.project-structure-selected-card {
    border: 1px solid #eff2f7;
    border-radius: .25rem;
    padding: .5rem;
    margin-bottom: .5rem;
    background: #fff;
}

.project-structure-selected-card-active {
    border-color: #556ee6;
    box-shadow: 0 0 0 1px rgba(85,110,230,.18);
}

.project-structure-work-group-card {
    cursor: pointer;
}

.project-structure-work-group-card:hover {
    border-color: #c9d4f8;
    box-shadow: 0 4px 14px rgba(15,23,42,.08);
}

.project-structure-work-group-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .5rem;
}

.project-structure-work-group-stats {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .35rem;
    margin-top: .45rem;
}

.project-structure-work-group-stats > div {
    border: 1px solid #eff2f7;
    border-radius: .25rem;
    padding: .3rem .4rem;
    background: #fbfcff;
}

.project-structure-work-group-stats span {
    display: block;
    font-size: 11px;
    color: #74788d;
}

.project-structure-work-group-stats b {
    display: block;
    margin-top: .1rem;
}

.project-structure-work-group-paths {
    margin-top: .35rem;
    color: #74788d;
    font-size: 12px;
}

.project-structure-selected-fields {
    display: grid;
    grid-template-columns: 1fr 72px 92px;
    gap: .35rem;
    margin-top: .35rem;
}

.project-structure-selected-fields label {
    display: block;
    margin: 0;
    font-size: 11px;
    color: #74788d;
}

.project-structure-selected-fields label:last-child {
    grid-column: 1 / -1;
}

.project-structure-materials {
    margin-top: 0;
    padding-top: 0;
    flex: 1;
    min-height: 0;
}

.project-structure-materials.project-structure-right-section-collapsed {
    flex: 0 0 auto;
}

.project-structure-materials-body {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

.project-structure-materials-title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.project-structure-work-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .4rem;
    position: sticky;
    bottom: 0;
    background: #fff;
    padding-top: .5rem;
}

.project-structure-work-group-window {
    border-radius: .35rem;
}

.project-structure-work-group-header {
    align-items: flex-start;
    padding: 1rem 1.25rem .6rem 1.25rem;
}

.project-structure-work-group-header h4 {
    margin: 0 0 .5rem 0;
}

.project-structure-work-group-title {
    font-size: 18px;
    font-weight: 600;
}

.project-structure-work-group-body {
    padding: .75rem 1.25rem 1rem 1.25rem;
    overflow: auto;
}

.project-structure-work-group-subtitle {
    margin: 1rem 0 .5rem 0;
}

.project-structure-work-group-materials {
    margin-top: 1rem;
}

.project-structure-work-group-summary {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.project-structure-work-group-summary > div {
    border: 1px solid #dfe4ee;
    border-radius: .25rem;
    padding: 1rem;
    background: #fff;
}

.project-structure-work-group-summary span {
    display: block;
    color: #74788d;
    margin-bottom: .45rem;
}

.project-structure-work-group-summary b {
    font-size: 20px;
}

.project-structure-work-group-table-wrap {
    overflow: auto;
    border: 1px solid #dfe4ee;
    border-radius: .25rem;
}

.project-structure-work-group-table {
    margin-bottom: 0;
}

.project-structure-work-group-table th,
.project-structure-work-group-table td {
    border-color: #dfe4ee !important;
    vertical-align: middle;
}

.project-structure-work-group-table thead th {
    background: #fbfcff;
    position: sticky;
    top: 0;
    z-index: 1;
}

.project-structure-work-group-table tfoot td {
    background: #fbfcff;
    font-weight: 600;
}

.project-structure-work-group-path-cell {
    min-width: 300px;
    max-width: 420px;
}

.project-structure-work-group-actions {
    white-space: nowrap;
}

.project-structure-work-group-footer {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: .6rem;
    padding: .8rem 1.25rem 1.1rem 1.25rem;
    border-top: 1px solid #eff2f7;
    background: #fff;
}

@media (max-width: 900px) {
    .project-structure-work-group-summary,
    .project-structure-work-group-stats {
        grid-template-columns: 1fr;
    }

    .project-structure-work-group-footer {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1180px) {
    .project-structure-work-select {
        min-width: 0;
    }

    .project-structure-work-layout {
        grid-template-columns: minmax(260px,320px) minmax(480px,1fr);
    }

    .project-structure-work-layout-structure-hidden {
        grid-template-columns: 36px minmax(480px,1fr);
    }

    .project-structure-work-estimate-resizer {
        display: none;
    }

    .project-structure-work-right {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .project-structure-work-layout {
        grid-template-columns: 1fr;
    }

    .project-structure-work-layout-structure-hidden {
        grid-template-columns: 36px minmax(0,1fr);
    }

    .project-structure-work-table-wrap {
        overflow-x: auto;
    }

    .project-structure-work-table-wrap table {
        min-width: 900px;
    }
}






/*ВСЕ*/
.pagination-rounded .page-link {
    border-radius: 30px !important;
    margin: 0 3px !important;
    border: none;
    width: 32px;
    height: 32px;
    padding: 0;
    text-align: center;
    line-height: 32px;
}

.mdi-chevron-left::before {
    content: "\F0141";
}

.mdi-chevron-left-box::before {
    content: "\F09D8";
}

.mdi-chevron-left-box-outline::before {
    content: "\F09D9";
}

.mdi-chevron-left-circle::before {
    content: "\F0B28";
}

.mdi-chevron-left-circle-outline::before {
    content: "\F0B29";
}

.mdi-chevron-right::before {
    content: "\F0142";
}

.mdi-chevron-right-box::before {
    content: "\F09DA";
}

.mdi-chevron-right-box-outline::before {
    content: "\F09DB";
}

.mdi-chevron-right-circle::before {
    content: "\F0B2A";
}

.mdi-chevron-right-circle-outline::before {
    content: "\F0B2B";
}

th {
    font-weight: 500;
}

.avatar-md {
    height: 4.5rem;
    width: 4.5rem;
}

.noti-icon .badge {
    position: absolute;
    top: 0px;
}

.rounded-pill {
    padding-right: 0.6em;
    padding-left: 0.6em;
}

.rounded-pill {
    border-radius: 50rem !important;
}

.bg-danger {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}

.text-danger {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}

.badge {
    display: inline-block;
    font-size: 75%;
    font-weight: 500;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.25rem;
}

.avatar-sm {
    height: 3rem;
    width: 3rem;
}

.avatar-title {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #556ee6;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 500;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
}

.rounded-circle {
    border-radius: 50% !important;
}

.text-dark {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-muted {
    --bs-text-opacity: 1;
    color: #74788d !important;
}

.mdi-chevron-up::before {
    content: "\F0143";
}

.mdi-chevron-down::before {
    content: "\F0140";
}

.timeblock table, .dropdown-menu table {
    width: 100%;
    margin: 0;
}

.timeblock table td:not(.separator) {
    min-width: 30px;
}

.timeblock table td {
    text-align: center;
    height: 30px;
    margin: 0;
    padding: 2px;
}

.align-center td, .align-center th {
    text-align: center;
}

.align-middle {
    vertical-align: middle !important;
}

.timeblock table td input {
    width: 32px;
    height: 32px;
    color: #495057;
    border: 1px solid #eff2f7;
    background-color: #fff;
}

.dropdown-menu {
    bottom: calc(1.5em + 0.94rem + 2px) !important;
    -webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175);
    -webkit-animation-name: DropDownSlide;
    animation-name: DropDownSlide;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    position: absolute;
    z-index: 1004;
    min-width: 10rem;
    padding: 4px;
    margin: 0;
    color: #495057;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 0 solid rgba(0, 0, 0, .15);
    border-radius: 0.25rem;
}

.mfp-arrow {
    position: absolute;
    opacity: 0.65;
    margin: 0;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
    margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
    opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent;
}

.mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px;
}

.mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7;
}

.mfp-arrow-left {
    left: 0;
}

.mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px;
}

.mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
    right: 0;
}

.mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px;
}

.mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F;
}


.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #CCC;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap;
}

.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #F3F3F3;
    word-wrap: break-word;
    padding-right: 36px;
}

.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto;
}

.mfp-close {
    width: 44px;
    height: 44px;
    line-height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: 0.65;
    padding: 0 0 18px 10px;
    color: #FFF;
    font-style: normal;
    font-size: 28px;
    font-family: Arial, Baskerville, monospace;
}

button.mfp-close, button.mfp-arrow {
    overflow: visible;
    cursor: pointer;
    background: #00000069;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: none;
    padding: 0;
    z-index: 1046;
    box-shadow: none;
    touch-action: manipulation;
}

img.mfp-img {
    width: auto;
    max-width: 100%;
    max-height: 100vh;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 40px 0 40px;
    margin: 0 auto;
    cursor: pointer;
}

.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #0b0b0b;
    opacity: 0.8;
}

.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 8px;
    box-sizing: border-box;
}

.mfp-content {
    max-width: 100%;
    cursor: auto;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
    line-height: 0;
}

.mfp-content figure {
    margin: 0;
}

/* fix: центрирование фото относительно окна браузера, а не страницы */
.mfp-container {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 1043;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 8px;
    box-sizing: border-box;
}

/* чтобы картинка не вылезала за экран */
.mfp-content {
    display: block;
    margin: auto;
    max-width: 100%;
}

img.mfp-img {
    max-height: calc(100vh - 80px);
    max-height: calc(100dvh - 80px);
    padding: 0;
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    width: 100%;
    padding-right: var(--bs-gutter-x, 12px);
    padding-left: var(--bs-gutter-x, 12px);
    margin-right: auto;
    margin-left: auto;
}

.justify-content-center {
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
}

.row {
    --bs-gutter-x: 24px;
    --bs-gutter-y: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}

.text-primary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.text-success {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.card {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 0 solid #f6f6f6;
    border-radius: 0.25rem;
}

body {
    margin: 0;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    color: #495057;
}


.h5, h5 {
    font-size: 1.01563rem;
}

h6, .h6 {
    font-size: 0.8125rem;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    line-height: 1.2;
}

.p-4 {
    padding: 1.5rem !important;
}

.bg-primary.bg-soft {
    background-color: rgba(85, 110, 230, .25) !important;
}

.form-control::file-selector-button {
    padding: 0.47rem 0.75rem;
    margin: -0.47rem -0.75rem;
    -webkit-margin-end: 0.75rem;
    margin-inline-end: 0.75rem;
    color: #495057;
    background-color: #eff2f7;
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: 1px;
    border-radius: 0;
    -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

.form-control {
    font-size: 95%;
    display: block;
    width: 100%;
    padding: 0.35rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0.25rem;
    -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #b9bfc4;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.form-control:disabled, .form-control[readonly] {
    background-color: #eff2f7;
    opacity: 1;
}

.form-control::placeholder {
    color: #c1c1c1;
}

button, input, optgroup, select, textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.form-label {
    margin-bottom: 0.5rem;
}

label {
    font-weight: 400;
    margin-bottom: 0.5rem;
}

label {
    display: inline-block;
}

.pt-0 {
    padding-top: 0 !important;
}

.card-body {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 1.25rem 1.25rem;
}

.row > * {
    position: relative;
}

.row > * {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}

.btn {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.47rem 0.75rem;
    font-size: .8125rem;
    border-radius: 0.25rem;
    -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
}

.btn-group-sm > .btn, .btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: .71094rem;
    border-radius: 0.2rem;
}

.btn-primary:hover {
    color: #fff;
    background-color: #485ec4;
    border-color: #4458b8;
}

.btn:hover {
    color: #495057;
    text-decoration: none;
}

[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) {
    cursor: pointer;
}

.waves-effect {
    position: relative;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.btn-primary {
    color: #fff;
    background-color: #556ee6;
    border-color: #556ee6;
}

[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button;
}

a, button {
    outline: 0 !important;
}

button, select {
    text-transform: none;
}

button {
    border-radius: 0;
}

*, ::after, ::before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.mt-3 {
    margin-top: 1rem !important;
}

.d-grid {
    display: grid !important;
}

.card {
    margin-bottom: 24px;
    -webkit-box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, .03);
    box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, .03);
}

.overflow-hidden {
    overflow: hidden !important;
}

.text-warning {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}

.m-1 {
    margin: 0.25rem !important;
}

@-webkit-keyframes spinner-border {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spinner-border {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.spinner-border {
    position: absolute;
    left: calc(50% - 1rem);
    top: calc(50% - 1rem);
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: -0.125em;
    border: 0.25em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: .75s linear infinite spinner-border;
    animation: .75s linear infinite spinner-border;
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
    --bs-text-opacity: 1
}

.spinner-work {
    min-width: 2rem;
    min-height: 2rem;
    vertical-align: -0.125em;
    border: 0.25em solid currentColor;
    border-radius: 50%;
    border-right-color: transparent;
    animation: .75s linear infinite spinner-border;
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
    --bs-text-opacity: 1;
    margin: auto;
}

.font-size-10 {
    font-size: 10px !important;
}

.font-size-11 {
    font-size: 11px !important;
}

.font-size-12 {
    font-size: 12px !important;
}

.font-size-13 {
    font-size: 13px !important;
}

.font-size-14 {
    font-size: 14px !important;
}

.font-size-15 {
    font-size: 15px !important;
}

.font-size-16 {
    font-size: 16px !important;
}

.font-size-17 {
    font-size: 17px !important;
}

.font-size-18 {
    font-size: 18px !important;
}

.font-size-20 {
    font-size: 20px !important;
}

.font-size-22 {
    font-size: 22px !important;
}

.font-size-24 {
    font-size: 24px !important;
}

.header-item {
    height: 55px;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    color: #a6b0cf;
    border: 0;
    border-radius: 0;
}

.btn:not(:disabled):not(.disabled) {
    cursor: pointer;
}

.ms-2 {
    margin-right: 0.5rem !important;
}

body[data-sidebar="dark"] .navbar-brand-box {
    background: #2a304200;
}

.navbar-brand-box {
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    text-align: center;
    width: 170px;
    color: #a6b0cf;
    padding-left: 0.7rem;
}

.d-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}

.navbar-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    height: 55px;
}

#page-topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1002;
    background-color: #262b3c;
    -webkit-box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03);
    box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03);
}

body[data-sidebar="dark"] .vertical-menu {
    background: #2a3042;
}

.vertical-menu {
    width: 170px;
    z-index: 1001;
    background: #ffffff;
    bottom: 0;
    margin-top: 0;
    position: fixed;
    top: 55px;
    -webkit-box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03);
    box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03);
}

.metismenu li {
    display: block;
    width: 100%;
}

body[data-sidebar="dark"] #sidebar-menu ul li a {
    color: #a6b0cf;
}

body[data-sidebar="dark"] #sidebar-menu ul li a:hover {
    color: #ffffff;
}

#sidebar-menu ul li a {
    display: block;
    padding: 0.55rem 0.5rem 0.5rem 0.7rem;
    color: #545a6d;
    position: relative;
    -webkit-transition: all .4s;
    transition: all .4s;
}

.metismenu {
    margin: 0;
}

.list-unstyled {
    padding-left: 0;
    list-style: none;
}

#sidebar-menu {
    padding: 0 0 30px 0;
}

.vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a span {
    display: none;
    padding-right: 25px;
}

.vertical-collpsed .vertical-menu #sidebar-menu > ul > li {
    position: relative;
    white-space: nowrap;
}

.vertical-collpsed .vertical-menu {
    position: absolute;
    width: 0px !important;
}

.vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a {
    display: none !important;
    padding: 15px 20px;
    min-height: 55px;
    -webkit-transition: none;
    transition: none;
}

.vertical-collpsed .main-content {
    margin-right: 5px;
    margin-left: 0px;
}

.main-content {
    margin-right: 10px;
    margin-top: 70px;
}

.main-content {
    margin-left: 170px;
}

.table-nowrap th, .table-nowrap td {
    white-space: nowrap;
}

.table > :not(caption) > * > * {
    padding: 0.25rem 0.25rem;
    background-color: var(--bs-table-bg);
    border-bottom-width: 1px;
    -webkit-box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
    box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}

.table-borderless > :not(caption) > * > * {
    border-bottom-width: 0;
    padding: 0.5rem;
}

.table {
    --bs-table-bg: transparent;
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: #495057;
    --bs-table-striped-bg: #f8f9fa;
    --bs-table-active-color: #495057;
    --bs-table-active-bg: #f8f9fa;
    --bs-table-hover-color: #495057;
    --bs-table-hover-bg: #f8f9fa;
    width: 100%;
    margin-bottom: 1rem;
    color: #495057;
    vertical-align: top;
    border-color: #eff2f7;
}

th {
    text-align: inherit;
}

.modal-content {
    position: absolute;
    width: min-content;
    z-index: 1003;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 2px solid #b5b5b5;
    border-radius: 0.4rem;
    outline: 0;
    padding: 5px 15px 10px 15px;
}

.pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 0;
    list-style: none;
}

.page-item.disabled .page-link {
    color: #ced4da;
    pointer-events: none;
    background-color: #fff;
    border-color: #ced4da;
}

.pagination-sm .page-link {
    padding: 0.25rem 0.5rem;
    font-size: 0.71094rem;
    line-height: 1.5;
}

.page-link {
    position: relative;
    display: block;
    color: #74788d;
    background-color: #fff;
    border: 1px solid #ced4da;
    -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}

.page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: #556ee6;
    border-color: #556ee6;
}

.m-0 {
    margin: 0 !important;
}


.mt--2{
    margin-top: -0.25rem !important;
}

.mt-0,
.my-0 {
    margin-top: 0 !important;
}

.mr-0,
.mx-0 {
    margin-right: 0 !important;
}

.mb-0,
.my-0 {
    margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
    margin-left: 0 !important;
}

.m-1 {
    margin: 0.25rem !important;
}

.mt-1,
.my-1 {
    margin-top: 0.25rem !important;
}

.mr-1, .chmx-1 > *,
.mx-1 {
    margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
    margin-bottom: 0.25rem !important;
}

.ml-1, .chmx-1 > *,
.mx-1 {
    margin-left: 0.25rem !important;
}

.m-2 {
    margin: 0.5rem !important;
}

.mt-2,
.my-2 {
    margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
    margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
    margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
    margin-left: 0.5rem !important;
}

.m-3 {
    margin: 1rem !important;
}

.mt-3,
.my-3 {
    margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
    margin-right: 1rem !important;
}

.mb-3,
.my-3 {
    margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
    margin-left: 1rem !important;
}

.m-4 {
    margin: 1.5rem !important;
}

.mt-4,
.my-4 {
    margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
    margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
    margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
    margin-left: 1.5rem !important;
}

.m-5 {
    margin: 3rem !important;
}

.mt-5,
.my-5 {
    margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
    margin-right: 3rem !important;
}

.mb-5,
.my-5 {
    margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
    margin-left: 3rem !important;
}

.m-auto {
    margin: auto !important;
}

.ml-auto, .m-auto {
    margin-left: auto !important;
}

.mx-auto, .m-auto {
    margin-right: auto !important;
    margin-left: auto !important;
}

.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
}

.modal-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0.5rem 0.2rem 0.5rem 1rem;
    border-bottom: 1px solid #eff2f7;
    border-top-right-radius: calc(0.4rem - 1px);
    border-top-left-radius: calc(0.4rem - 1px);
}

.modal-header .btn-close {
    padding: 0.5rem 0.5rem;
    margin: -0.5rem 0 -0.5rem 0.5rem;
}

.btn-close:hover {
    color: #000;
    text-decoration: none;
    opacity: 0.75;
}

.btn-close {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: 0.25em 0.25em;
    color: #000;
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
    border: 0;
    border-radius: 0.25rem;
    opacity: 0.5;
}

.modal-body {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 0.5rem;
}

table {
    caption-side: bottom;
    border-collapse: collapse;
    font-size: var(--bs-body-font-size);
}

thead, tbody, tfoot, tr, td, th {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
}

.btn-light {
    color: #212529;
    background-color: #eff2f7;
    border-color: #eff2f7;
}

.btn-light:hover {
    color: #212529;
    background-color: #d6ddea;
    border-color: #cdd6e6;
}
.btn-light:disabled {
    color: #212529;
    background-color: #eff2f7;
    border-color: #eff2f7;
}

.btn_border-light {
    color: #212529;
    background-color: #fff;
    border-color: #ced4da;
}

.btn_border-light:hover {
    color: #212529;
    background-color: #eff2f7;
    border-color: #cdd6e6;
}
.btn_border-light:disabled {
    color: #212529;
    background-color: #eff2f7;
    border-color: #eff2f7;
}

.btn-light:focus, .btn-light.focus {
    color: #212529;
    background-color: #d6ddea;
    border-color: #cdd6e6;
    -webkit-box-shadow: 0 0 0 0.15rem rgba(208, 211, 216, 0.5);
    box-shadow: 0 0 0 0.15rem rgba(208, 211, 216, 0.5);
}

.btn-light.disabled, .btn-light:disabled {
    color: #212529;
    background-color: #eff2f7;
    border-color: #eff2f7;
}

.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle {
    color: #212529;
    background-color: #cdd6e6;
    border-color: #c5cfe2;
}

.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-light.dropdown-toggle:focus {
    -webkit-box-shadow: 0 0 0 0.15rem rgba(208, 211, 216, 0.5);
    box-shadow: 0 0 0 0.15rem rgba(208, 211, 216, 0.5);
}

.btn-success {
    color: #fff;
    background-color: #34c38f;
    border-color: #34c38f;
}

.btn-success:hover {
    color: #fff;
    background-color: #2ca67a;
    border-color: #2a9c72;
}

.btn-success:disabled, .btn-success.disabled {
    color: #fff;
    background-color: #74788d;
    border-color: #74788d;
}

.bx-check-circle:before {
    content: "\e9de";
}

.form-select {
    display: block;
    width: 100%;
    padding: 0.35rem;
    -moz-padding-start: calc(0.75rem - 3px);
    font-size: 95%;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.35rem center;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

select {
    word-wrap: normal;
}

.bx {
    font-family: 'boxicons', serif !important;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    display: inline-block;
    text-transform: none;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: #556ee6;
    text-decoration: none !important;
}

a:hover {
    color: #4458b8;
    text-decoration: underline;
}

.btn-danger {
    color: #fff;
    background-color: #f46a6a;
    border-color: #f46a6a;
}

.btn-danger:hover {
    color: #fff;
    background-color: #cf5a5a;
    border-color: #c35555;
}

.mdi-trash-can::before {
    content: "\F0A79";
}

.mdi:before,
.mdi-set {
    display: inline-block;
    font: normal normal normal 24px/1 "Material Design Icons";
    font-size: inherit;
    text-rendering: auto;
    line-height: inherit;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.text-white {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.w-25 {
    width: 25% !important;
}

.w-50 {
    width: 50% !important;
}

.w-75 {
    width: 75% !important;
}

.w-100 {
    width: 100% !important;
}

.w-auto {
    width: auto !important;
}

.h-25 {
    height: 25% !important;
}

.h-50 {
    height: 50% !important;
}

.h-75 {
    height: 75% !important;
}

.h-100 {
    height: 100% !important;
}

.h-auto {
    height: auto !important;
}

.mw-100 {
    max-width: 100% !important;
}

.mh-100 {
    max-height: 100% !important;
}

.min-vw-100 {
    min-width: 100vw !important;
}

.min-vh-100 {
    min-height: 100vh !important;
}

.vw-100 {
    width: 100vw !important;
}

.vh-100 {
    height: 100vh !important;
}

.page-content {
    padding: 12px 24px 12px 24px;
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

.flex-grow-1 {
    -webkit-box-flex: 1 !important;
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
}

.chat-list a {
    display: block;
    padding: 14px 16px;
    color: #74788d;
    -webkit-transition: all .4s;
    transition: all .4s;
    border-top: 1px solid #eff2f7;
    border-radius: 4px;
}

.chat-list a:hover {
    background-color: #fff;
    border-color: transparent;
    -webkit-box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, .03);
    box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, .03);
}

.chat-list .active a {
    background-color: #fff;
    border-color: transparent;
    -webkit-box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, .03);
    box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, .03);
}

.chat-conversation .conversation-list .ctext-wrap .conversation-name {
    font-weight: 600;
    color: #556ee6;
    margin-bottom: 4px;
}

.chat-conversation .conversation-list .ctext-wrap {
    padding: 12px 24px;
    background-color: rgba(85, 110, 230, 0.1);
    border-radius: 8px 8px 8px 0;
    overflow: hidden;
}

.chat-conversation .conversation-list {
    margin-bottom: 24px;
    display: inline-block;
    position: relative;
}

.conversation-list {
    max-width: 480px;
    min-width: 105px;
}

.chat-conversation li {
    clear: both;
}

.p-0 {
    padding: 0 !important;
}

.pt-0,
.py-0 {
    padding-top: 0 !important;
}

.pr-0,
.px-0 {
    padding-right: 0 !important;
}

.pb-0,
.py-0 {
    padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
    padding-left: 0 !important;
}

.p-1 {
    padding: 0.25rem !important;
}

.pt-1,
.py-1 {
    padding-top: 0.25rem !important;
}

.pr-1, .chpx-1 > *,
.px-1 {
    padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
    padding-bottom: 0.25rem !important;
}

.pl-1, .chpx-1 > *,
.px-1 {
    padding-left: 0.25rem !important;
}

.p-2 {
    padding: 0.5rem !important;
}

.pt-2,
.py-2 {
    padding-top: 0.5rem !important;
}

.pr-2, .chpx-2 > *, .tablepx-2 > :not(caption) > * > *,
.px-2 {
    padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
    padding-bottom: 0.5rem !important;
}

.pl-2, .chpx-2 > *,
.px-2 {
    padding-left: 0.5rem !important;
}

.p-3 {
    padding: 1rem !important;
}

.pt-3,
.py-3 {
    padding-top: 1rem !important;
}

.pr-3, .chpx-3 > *,
.px-3 {
    padding-right: 1rem !important;
}

.pb-3,
.py-3 {
    padding-bottom: 1rem !important;
}

.pl-3, .chpx-3 > *,
.px-3 {
    padding-left: 1rem !important;
}

.p-4 {
    padding: 1.5rem !important;
}

.pt-4,
.py-4 {
    padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
    padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
    padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
    padding-left: 1.5rem !important;
}

.p-5 {
    padding: 3rem !important;
}

.pt-5,
.py-5 {
    padding-top: 3rem !important;
}

.pr-5,
.px-5 {
    padding-right: 3rem !important;
}

.pb-5,
.py-5 {
    padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
    padding-left: 3rem !important;
}

.chat-conversation .right .conversation-list {
    float: right;
}

.chat-conversation .right .conversation-list .ctext-wrap {
    background-color: #d1eecc;;
    text-align: right;
    border-radius: 8px 8px 0 8px;
}

.d-lg-flex {
    display: flex !important;
}

.chat-leftsidebar {
    width: 260px;
}

.user-chat {
    min-width: 490px;
    display: grid;
    align-content: space-between;
    max-height: calc(100vh - 86px);
}
.text_edit_msg{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 4rem;
}

.chat-input-section {
    border-top: 1px solid #eff2f7;
    overflow: hidden;
    padding: 1rem;
}

.col {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 0;
    flex: 1 0 0;
}

.col-auto {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
}

.btn-rounded {
    border-radius: 30px;
}

.mdi-set, .mdi:before {
    display: inline-block;
    font: normal normal normal 24px/1 "Material Design Icons";
    font-size: inherit;
    text-rendering: auto;
    line-height: inherit;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.mdi-send::before {
    content: "\F048A";
}

.btn-primary:hover {
    color: #fff;
    background-color: #485ec4;
    border-color: #4458b8;
}

.btn-primary:disabled, .btn-primary.disabled {
    color: #fff;
    background-color: #afb9e7;
    border-color: #ffffff;
}

.chat-search-box .form-control {
    border: 0;
}

.search-box .form-control {
    border-radius: 30px;
    padding-left: 40px;
}

.bx-search-alt:before {
    content: "\eb2d";
}

.search-box .search-icon {
    font-size: 16px;
    position: absolute;
    left: 13px;
    top: 0;
    line-height: 38px;
}

.position-relative {
    position: relative !important;
}

.bx-message-square-dots:before {
    content: "\eacb";
}

.headBar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.blockquote-reverse {
    border-left: 0;
    border-right: 4px solid #f4f8f9;
    text-align: right;
}

.container, .container-sm {
    max-width: 540px;
}

.text-right {
    text-align: right !important;
}
.text-left {
    text-align: left !important;
}

.text-center {
    text-align: center !important;
}

.fw-medium {
    font-weight: 500;
}

.mm-active {
    color: #fff;
    text-decoration: underline;
}

.avatar-xs {
    height: 2rem;
    width: 2rem;
}


@media (min-width: 576px) {
    .col-sm-auto {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto; }
    .col-sm-1 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 8.33333%; }
    .col-sm-2 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.66667%; }
    .col-sm-3 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%; }
    .col-sm-4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.33333%; }
    .col-sm-5 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 41.66667%; }
    .col-sm-6 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%; }
    .col-sm-7 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 58.33333%; }
    .col-sm-8 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 66.66667%; }
    .col-sm-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 75%; }
    .col-sm-10 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 83.33333%; }
    .col-sm-11 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 91.66667%; }
    .col-sm-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%; }

    .container, .container-sm {
        max-width: 540px;
    }

    .pt-sm-5 {
        padding-top: 3rem !important;
    }
}

@media (min-width: 768px) {
    .container, .container-md, .container-sm {
        max-width: 720px;
    }

    .col-md-auto {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto; }
    .col-md-1 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 8.33333%; }
    .col-md-2 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.66667%; }
    .col-md-3 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%; }
    .col-md-4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.33333%; }
    .col-md-5 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 41.66667%; }
    .col-md-6 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%; }
    .col-md-7 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 58.33333%; }
    .col-md-8 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 66.66667%; }
    .col-md-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 75%; }
    .col-md-10 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 83.33333%; }
    .col-md-11 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 91.66667%; }
    .col-md-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%; }
}

@media (min-width: 992px) {
    .col-lg-auto {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto; }
    .col-lg-1 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 8.33333%; }
    .col-lg-2 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 16.66667%; }
    .col-lg-3 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%; }
    .col-lg-4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.33333%; }
    .col-lg-5 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 41.66667%; }
    .col-lg-6 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%; }
    .col-lg-7 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 58.33333%; }
    .col-lg-8 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 66.66667%; }
    .col-lg-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 75%; }
    .col-lg-10 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 83.33333%; }
    .col-lg-11 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 91.66667%; }
    .col-lg-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%; }

    .container, .container-lg, .container-md, .container-sm {
        max-width: 960px;
    }

    .d-lg-block {
        display: block !important;
    }

    .me-lg-4 {
        margin-right: 1.5rem !important;
    }

    .chat-leftsidebar {
        width: 260px;
    }
}

@media (min-width: 1200px) {
    .h5, h5 {
        font-size: 1.01562rem;
    }

    .col-xl-3 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 25%;
    }

    .col-xl-4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 33.33333%;
    }

    .col-xl-5 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 41.66667%;
    }

    .col-xl-6 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%;
    }

    .col-xl-7 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 58.33333%;
    }

    .col-xl-8 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 66.66667%;
    }

    .col-xl-9 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 75%;
    }

    .col-xl-10 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 83.33333%;
    }

    .col-xl-11 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 91.66667%;
    }

    .col-xl-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%;
    }

    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1140px;
    }

    .chat-leftsidebar {
        width: 380px;
    }
}

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1320px;
    }
}










@media screen and (min-width: 1334px) {
    .container-img, .img-card {
        max-width: 236px;
        width: 236px;
        max-height: 236px;
        height: 236px;
    }
}

@media (max-width: 768px) {
    .main-content {
        margin-left: 10px;
    }
    .vertical-menu {
        bottom: auto;
    }
    .navbar-brand-box{
        display: none;
    }
    .table-filters{
        position: absolute;
    }
    .cost-obj {
        flex-direction: column;
    }
    .title-obj{
        font-size: 14px;
        font-weight: 100;
        color: var(--bs-body-color);
        line-height: 20px;
    }
    .disc-obj{
        display: none;
    }
    .cont-disc {
        max-width: 134px;
        min-width: auto;
    }
    .head-table {
        display: block;
    }
    .info-object{
        display: flex;
        flex-direction: column;
    }
    .block_btn_table{
        text-align: right;
    }

}







:root {
    --bs-blue: #556ee6;
    --bs-indigo: #564ab1;
    --bs-purple: #6f42c1;
    --bs-pink: #e83e8c;
    --bs-red: #f46a6a;
    --bs-orange: #f1734f;
    --bs-yellow: #f1b44c;
    --bs-green: #34c38f;
    --bs-teal: #050505;
    --bs-cyan: #0af;
    --bs-white: #fff;
    --bs-gray: #74788d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #eff2f7;
    --bs-gray-300: #f6f6f6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #74788d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: #556ee6;
    --bs-secondary: #74788d;
    --bs-success: #34c38f;
    --bs-info: #50a5f1;
    --bs-warning: #f1b44c;
    --bs-danger: #f46a6a;
    --bs-light: #eff2f7;
    --bs-dark: #343a40;
    --bs-primary-rgb: 85, 110, 230;
    --bs-secondary-rgb: 116, 120, 141;
    --bs-success-rgb: 52, 195, 143;
    --bs-info-rgb: 80, 165, 241;
    --bs-warning-rgb: 241, 180, 76;
    --bs-danger-rgb: 244, 106, 106;
    --bs-pink-rgb: 232, 62, 140;
    --bs-light-rgb: 239, 242, 247;
    --bs-dark-rgb: 52, 58, 64;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-color-rgb: 73, 80, 87;
    --bs-body-bg-rgb: 248, 248, 251;
    --bs-font-sans-serif: 'Roboto';
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 0.96rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #495057;
    --bs-body-bg: #f8f8fb;
}

.form-check {
    display: block;
    min-height: 1.21875rem;
    padding-right: 1.5em;
    margin-bottom: 0.125rem; }
.form-check .form-check-input {
    float: right;
    margin-right: -1.5em; }

.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: 0.25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0, 0, 0, 0.25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    -webkit-transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
@media (prefers-reduced-motion: reduce) {
    .form-check-input {
        -webkit-transition: none;
        transition: none; } }
.form-check-input[type="checkbox"] {
    border-radius: 0.25em; }
.form-check-input[type="radio"] {
    border-radius: 50%; }
.form-check-input:active {
    -webkit-filter: brightness(90%);
    filter: brightness(90%); }
.form-check-input:focus {
    border-color: #b9bfc4;
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.15rem rgba(85, 110, 230, 0.25);
    box-shadow: 0 0 0 0.15rem rgba(85, 110, 230, 0.25); }
.form-check-input:checked {
    background-color: #556ee6;
    border-color: #556ee6; }
.form-check-input:checked[type="checkbox"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); }
.form-check-input:checked[type="radio"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); }
.form-check-input[type="checkbox"]:indeterminate {
    background-color: #556ee6;
    border-color: #556ee6;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); }
.form-check-input:disabled {
    pointer-events: none;
    -webkit-filter: none;
    filter: none;
    opacity: 0.5; }
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
    opacity: 0.5; }

/* ===== BEGIN css/worker_distribution.css ===== */
.worker-distribution-toolbar {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 8px;
}

.worker-distribution-title {
    margin-right: 6px;
    font-size: 18px;
    font-weight: 600;
}

.worker-distribution-project-select {
    width: auto;
    min-width: 260px;
}

.worker-distribution-layout {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) minmax(420px, 1.25fr) minmax(360px, 0.95fr);
    gap: 8px;
    flex: 1 1 auto;
    min-height: 0;
    margin: 8px;
}

.worker-distribution-resizer {
    min-width: 8px;
    cursor: ew-resize;
    border-radius: 4px;
    background: transparent;
}

.worker-distribution-resizer:hover {
    background: #e9ecef;
}

#worker_distribution_spase {
    display: flex;
    height: calc(100vh - 85px);
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
}

.worker-distribution-panel {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    border: 1px solid #eff2f7;
    border-radius: 4px;
    background: #fff;
    overflow: hidden;
}

.worker-distribution-panel-collapsed {
    align-items: stretch;
}

#worker_distribution_locations,
#worker_distribution_works,
#worker_distribution_rule {
    display: flex;
    min-width: 0;
    min-height: 0;
    height: 100%;
    flex-direction: column;
}

.worker-distribution-collapsed-panel-btn {
    width: 100%;
    height: 100%;
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: #fff;
    color: #495057;
}

.worker-distribution-collapsed-panel-btn span {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    white-space: nowrap;
}

.worker-distribution-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    padding: 10px;
    border-bottom: 1px solid #eff2f7;
}

.worker-distribution-head-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 4px;
}

.worker-distribution-level-type-select {
    width: 145px;
}

.worker-distribution-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.worker-distribution-tree-table,
.worker-distribution-work-table {
    margin: 0;
}

.worker-distribution-tree-table th,
.worker-distribution-work-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #fff;
    border-bottom: 1px solid #eff2f7;
    font-size: 12px;
}

.worker-distribution-tree-name {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 210px;
}

.worker-distribution-tree-toggle {
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #74788d;
}

.worker-distribution-row-selected > td {
    background: rgba(85, 110, 230, 0.09);
    color: #3150d4;
}

.worker-distribution-work-type-row > td {
    background: #f8f8fb;
    font-weight: 600;
}

.worker-distribution-work-type-head {
    display: flex;
    align-items: center;
    gap: 5px;
}

.worker-distribution-work-type-head label {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 0;
}

.worker-distribution-work-label {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    min-width: 230px;
}

.worker-distribution-work-table .form-check-input {
    flex: 0 0 16px;
    width: 16px;
    min-width: 16px;
    max-width: 16px;
    height: 16px;
    margin-top: 2px;
    margin-right: 0 !important;
}

.worker-distribution-search {
    width: 180px;
}

.worker-distribution-rule-body {
    padding: 10px;
}

.worker-distribution-rule-section {
    margin-bottom: 12px;
}

.worker-distribution-rule-section label {
    display: block;
    margin-bottom: 4px;
    color: #74788d;
    font-size: 12px;
}

.worker-distribution-assignment-tree {
    border: 1px solid #eff2f7;
    border-radius: 4px;
    background: #fff;
}

.worker-distribution-assignment-level {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding: 7px 8px;
    border-top: 1px solid #eff2f7;
}

.worker-distribution-assignment-level:first-child {
    border-top: 0;
}

.worker-distribution-assignment-main {
    min-width: 0;
}

.worker-distribution-assignment-main b {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.worker-distribution-assignment-works {
    padding: 0 8px 8px 8px;
}

.worker-distribution-assignment-work {
    margin-top: 6px;
    padding: 7px;
    border: 1px solid #eff2f7;
    border-radius: 4px;
    background: #f8f8fb;
}

.worker-distribution-assignment-rule {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: flex-start;
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid #eff2f7;
}

.worker-distribution-mode-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

.worker-distribution-mode-btn {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px;
    border: 1px solid #eff2f7;
    border-radius: 4px;
    background: #fff;
    color: #495057;
    font-size: 12px;
    text-align: center;
}

.worker-distribution-mode-btn i {
    font-size: 18px;
}

.worker-distribution-mode-btn.is-active {
    border-color: #556ee6;
    color: #3150d4;
    background: rgba(85, 110, 230, 0.08);
}

.worker-distribution-worker-list {
    max-height: 220px;
    overflow: auto;
    border: 1px solid #eff2f7;
    border-radius: 4px;
}

.worker-distribution-worker-row {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    padding: 7px 8px;
    border-bottom: 1px solid #eff2f7;
}

.worker-distribution-worker-row:last-child {
    border-bottom: 0;
}

.worker-distribution-inline-select {
    display: flex;
    gap: 6px;
    align-items: stretch;
}

.worker-distribution-inline-select .btn {
    flex: 0 0 auto;
}

.worker-distribution-executor-summary {
    border: 1px solid #eff2f7;
    border-radius: 4px;
    padding: 8px;
    background: #fff;
}

.worker-distribution-executor-group {
    border-top: 1px solid #eff2f7;
    padding-top: 8px;
    margin-top: 8px;
}

.worker-distribution-executor-group:first-child {
    border-top: 0;
    padding-top: 0;
    margin-top: 0;
}

.worker-distribution-executor-head {
    display: flex;
    align-items: center;
    gap: 6px;
}

.worker-distribution-executor-head .btn {
    margin-left: auto;
}

.worker-distribution-executor-detail {
    padding: 6px 0 0 26px;
}

.worker-distribution-executor-list {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.worker-distribution-executor-chip,
.worker-distribution-executor-list-muted span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px;
    border: 1px solid #eff2f7;
    border-radius: 4px;
    background: #f8f8fb;
    font-size: 12px;
}

.worker-distribution-executor-chip button {
    border: 0;
    background: transparent;
    color: #f46a6a;
    padding: 0;
    line-height: 1;
}

.worker-distribution-executor-list-muted span {
    color: #74788d;
    background: #fff;
}

.worker-distribution-period-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.worker-distribution-rule-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    margin-bottom: 12px;
}

.worker-distribution-subtitle {
    margin-bottom: 6px;
    font-weight: 600;
}

.worker-distribution-rule-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 0;
    border-top: 1px solid #eff2f7;
}

@media(max-width: 1200px) {
    .worker-distribution-layout {
        grid-template-columns: 1fr !important;
        overflow: auto;
    }

    .worker-distribution-resizer {
        display: none;
    }

    .worker-distribution-panel {
        min-height: 360px;
    }
}
/* ===== END css/worker_distribution.css ===== */
.payments-worker-modal {
    position: fixed;
    top: 68px;
    bottom: 18px;
    left: 188px;
    z-index: 1003;
    display: flex;
    flex-direction: column;
    width: max-content;
    max-width: calc(100vw - 206px);
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #d8dee8;
    border-radius: 6px;
    box-shadow: 0 18px 50px rgba(18, 38, 63, .22);
    letter-spacing: 0;
}

.vertical-collpsed .payments-worker-modal {
    left: 18px;
    max-width: calc(100vw - 36px);
}

.payments-window-resize-right {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    width: 8px;
    height: 100%;
    cursor: ew-resize;
}

.payments-modal-header {
    flex: 0 0 auto;
    min-height: 48px;
    padding: .55rem .75rem .55rem 1rem;
    background: #fff;
}

.payments-modal-title {
    color: #343a40;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

.payments-modal-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    padding: .75rem 1rem 1rem;
}

.payments-modal-loader {
    display: flex;
    flex: 1 1 auto;
    gap: .55rem;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    color: #74788d;
}

.payments-modal-loader .spinner-work {
    position: static;
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
}

.payments-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    flex: 0 0 auto;
    margin-bottom: .65rem;
    border: 1px solid #e3e8ef;
    border-radius: 4px;
    background: #fbfcfe;
}

.payments-summary > div {
    min-width: 0;
    padding: .75rem 1rem;
    text-align: center;
}

.payments-summary > div + div {
    border-left: 1px solid #e3e8ef;
}

.payments-summary-label {
    overflow-wrap: anywhere;
    color: #74788d;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.25;
}

.payments-summary-value {
    margin-top: .3rem;
    color: #343a40;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
}

.payments-tabs {
    display: flex;
    flex: 0 0 auto;
    gap: 1.25rem;
    min-height: 38px;
    border-bottom: 1px solid #dfe5ed;
}

.payments-tabs button {
    position: relative;
    padding: .45rem .15rem .6rem;
    color: #74788d;
    background: transparent;
    border: 0;
    font-size: 12px;
    font-weight: 500;
}

.payments-tabs button:hover,
.payments-tabs button.active {
    color: #556ee6;
}

.payments-tabs button.active::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: #556ee6;
    content: '';
}

.payments-tab-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding-top: .75rem;
}

.payments-table-section {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.payments-section-head,
.payments-editor-head {
    display: flex;
    gap: .75rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .65rem;
}

.payments-section-head {
    flex-wrap: wrap;
}

.payments-section-title,
.payments-editor-title {
    color: #343a40;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
}

.payments-section-total {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1rem;
    align-items: center;
    justify-content: flex-end;
    color: #74788d;
    font-size: 12px;
}

.payments-section-total > span:first-child {
    color: #343a40;
    font-weight: 600;
}

.payments-section-total b {
    margin-left: .2rem;
    color: #343a40;
    font-weight: 600;
}

.payments-section-total #payments_editor_total {
    color: #556ee6;
}

.payments-inner-table {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.payments-inner-table > .head-table {
    flex: 0 0 auto;
}

.payments-inner-table > .head-table + div {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.payments-inner-table .table-filters {
    flex: 0 0 185px;
    min-width: 185px;
    overflow: auto;
}

.payments-inner-table .resize_block_table {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    overflow: auto;
}

.payments-inner-table .resize_block_table > div:nth-child(2) {
    min-width: 760px;
}

.payments-inner-table .table {
    margin: 0;
}

.payments-inner-table th,
.payments-inner-table td {
    padding: .58rem .65rem;
    vertical-align: middle;
    border-color: #e8edf3;
    font-size: 12px;
}

.payments-inner-table thead th {
    color: #495057;
    background: #f7f9fc;
    font-size: 11px;
    font-weight: 600;
    white-space: normal;
}

.payments-work-name-cell {
    min-width: 0;
    overflow: hidden;
    white-space: normal !important;
}

.payments-work-name-cell > div {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
    word-break: break-word;
}

.payments-inner-table > div:last-child {
    flex: 0 0 auto;
}

.payments-table-scroll {
    min-width: 0;
    overflow: auto;
    border: 1px solid #e3e8ef;
    border-radius: 4px;
}

.payments-table-scroll .table {
    min-width: 760px;
    margin: 0;
}

.payments-table-scroll th,
.payments-table-scroll td {
    padding: .58rem .65rem;
    vertical-align: middle;
    border-color: #e8edf3;
    font-size: 12px;
}

.payments-table-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    color: #495057;
    background: #f7f9fc;
    font-size: 11px;
    font-weight: 600;
    white-space: normal;
}

.payments-table-scroll tfoot th {
    background: #f7f9fc;
}

.payments-work-date {
    margin-top: .15rem;
    color: #9aa2ad;
    font-size: 10px;
}

.payments-history-table {
    min-width: 620px !important;
}

.payments-row-actions {
    display: flex;
    gap: .25rem;
    justify-content: flex-end;
    white-space: nowrap;
}

.payments-empty {
    padding: 1.5rem !important;
    color: #74788d;
    text-align: center;
}

.payments-editor-head {
    flex-wrap: wrap;
    align-items: flex-end;
    padding: .65rem;
    border: 1px solid #e3e8ef;
    border-radius: 4px;
    background: #fbfcfe;
}

.payments-editor-title {
    flex: 1 1 100%;
}

.payments-editor-fields {
    display: flex;
    flex: 1 1 520px;
    gap: .65rem;
    align-items: flex-end;
}

.payments-editor-fields label {
    display: flex;
    flex: 0 0 170px;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
    margin: 0;
    color: #74788d;
    font-size: 11px;
}

.payments-editor-fields .payments-comment-field {
    flex: 1 1 300px;
}

.payments-editor-actions {
    display: flex;
    flex: 0 0 auto;
    gap: .4rem;
}

.payments-editor-table {
    min-width: 0 !important;
}

.payments-editor-table .resize_block_table > div:nth-child(2) {
    min-width: 940px;
}

.payments-cost-input {
    width: 118px;
    min-width: 118px;
    margin-left: auto;
    text-align: right;
}

.payments-amount-input {
    width: 108px;
    min-width: 108px;
    margin-left: auto;
    text-align: right;
}

.payments-work-snapshot-note {
    margin-top: .2rem;
    color: #a56a08;
    font-size: 10px;
    line-height: 1.25;
    overflow-wrap: anywhere;
    white-space: normal;
}

@media (max-width: 767px) {
    .payments-worker-modal,
    .vertical-collpsed .payments-worker-modal {
        inset: 58px 6px 6px;
        width: auto;
        max-width: none;
    }

    .payments-window-resize-right {
        display: none;
    }

    .payments-modal-body {
        padding: .55rem;
    }

    .payments-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .payments-summary > div + div {
        border-left: 0;
    }

    .payments-summary > div:nth-child(even) {
        border-left: 1px solid #e3e8ef;
    }

    .payments-summary > div:nth-child(n+3) {
        border-top: 1px solid #e3e8ef;
    }

    .payments-editor-fields {
        flex-basis: 100%;
        flex-wrap: wrap;
    }

    .payments-editor-fields label,
    .payments-editor-fields .payments-comment-field {
        flex: 1 1 220px;
    }

    .payments-editor-actions {
        width: 100%;
        justify-content: flex-end;
    }
}
.project-performed-window {
    display: flex;
    flex-direction: column;
    max-width: 1480px;
    max-height: none;
    min-width: 0;
}

.project-performed-window > .modal-header {
    flex: 0 0 auto;
}

.project-performed-window-resize-right {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 4;
    width: 8px;
    height: 100%;
    cursor: ew-resize;
}

.project-performed-window-resize-right:hover {
    background: rgba(233, 236, 239, .75);
}

.project-performed-layout {
    display: grid;
    flex: 1 1 auto;
    grid-template-columns: 300px 8px minmax(1080px, 1fr);
    gap: 6px;
    width: 100%;
    min-height: 0;
    padding: 12px;
    overflow: auto;
}

.project-performed-documents {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.project-performed-documents-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 8px;
    min-height: 0;
    overflow: hidden;
}

.project-performed-documents-head {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin-bottom: 8px;
}

.project-performed-sidebar-section {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: var(--bs-body-bg);
}

.project-performed-sidebar-section--documents {
    flex: 1 1 42%;
}

.project-performed-sidebar-section--filters {
    flex: 1 1 34%;
}

.project-performed-sidebar-section--legend {
    flex: 0 0 auto;
}

.project-performed-sidebar-section-head {
    flex: 0 0 auto;
    padding: 6px 8px;
    border-bottom: 1px solid #dee2e6;
    background: #f3f6f9;
    font-weight: 600;
    white-space: nowrap;
}

.project-performed-sidebar-section-body {
    min-height: 0;
    padding: 6px;
    overflow: auto;
}

.project-performed-sidebar-section--documents .project-performed-sidebar-section-body,
.project-performed-sidebar-section--filters .project-performed-sidebar-section-body {
    flex: 1 1 auto;
}

.project-performed-sidebar-section--legend .project-performed-sidebar-section-body {
    overflow: visible;
}

.project-performed-document-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 2px 8px;
    min-width: 0;
    padding: 6px 7px;
    border-bottom: 1px solid #e9ecef;
    cursor: pointer;
}

.project-performed-document-row:last-child {
    border-bottom: 0;
}

.project-performed-document-row:hover {
    background: #f3f6f9;
}

.project-performed-document-row input[type="checkbox"] {
    grid-row: 1 / span 2;
    margin: 0;
    cursor: pointer;
}

.project-performed-document-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2px 6px;
    min-width: 0;
}

.project-performed-document-name {
    min-width: 0;
    overflow: hidden;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.project-performed-document-date {
    color: #6c757d;
    font-size: 12px;
    white-space: nowrap;
}

.project-performed-document-pair {
    grid-column: 1 / span 2;
    min-width: 0;
    overflow: hidden;
    color: #6c757d;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.project-performed-document-unmatched {
    display: inline-flex;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: rgba(108, 117, 125, .2);
    color: #495057;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.project-performed-filter-check {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
    padding-right: 0;
    margin: 0 0 6px;
    cursor: pointer;
}

.project-performed-filter-check:last-child {
    margin-bottom: 0;
}

.project-performed-filter-check .form-check-input {
    float: none;
    flex: 0 0 auto;
    margin: .25em 0 0;
}

.project-performed-filter-check .form-check-label {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.project-performed-legend {
    display: grid;
    gap: 4px;
}

.project-performed-legend-item {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 4px 7px;
    border-radius: 3px;
    line-height: 1.25;
    white-space: nowrap;
}

.project-performed-legend-item > span {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    border: 1px solid rgba(33, 37, 41, .18);
    border-radius: 3px;
}

.project-performed-documents-show {
    display: none;
    width: 36px;
    height: 100%;
    padding: 8px 0;
    align-items: center;
    flex-direction: column;
    gap: 6px;
}

.project-performed-documents-show span {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.project-performed-documents-hidden .project-performed-documents-content {
    display: none;
}

.project-performed-documents-hidden .project-performed-documents-show {
    display: flex;
}

.project-performed-layout-resizer {
    min-width: 8px;
    cursor: ew-resize;
    border-radius: 4px;
    background: transparent;
}

.project-performed-layout-resizer:hover {
    background: #e9ecef;
}

.project-performed-layout-documents-hidden .project-performed-layout-resizer {
    display: none;
}

.project-performed-tree {
    display: flex;
    min-width: 1080px;
    min-height: 0;
    overflow: hidden;
}

.project-performed-tree > #project_performed_tree {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
}

.project-performed-tree-toolbar {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    min-height: 34px;
    padding: 0 4px 6px;
}

.project-performed-table-pane {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.project-performed-data-table {
    width: max-content;
    min-width: 100%;
    margin-bottom: 0;
}

.project-performed-table-pane thead {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--bs-body-bg);
}

.project-performed-total-head th {
    white-space: nowrap;
    font-weight: 600;
    border-top: 1px solid #ced4da;
    background: #f3f6f9;
}

.project-performed-data-table tbody td {
    white-space: nowrap;
}

.project-performed-name-cell {
    width: var(--project-performed-name-width);
    min-width: var(--project-performed-name-width);
    max-width: var(--project-performed-name-width);
    overflow: hidden;
}

.project-performed-name-resizer {
    position: relative;
    width: var(--project-performed-name-width);
    min-width: var(--project-performed-name-width);
    overflow: hidden;
    white-space: nowrap;
}

.project-performed-name-content {
    display: flex;
    align-items: center;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}

.project-performed-name-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.project-performed-tree-toggle {
    display: inline-flex;
    flex: 0 0 22px;
    width: 22px;
    align-items: center;
    justify-content: center;
}

.project-performed-group-row {
    font-weight: 600;
}

.project-performed-entry-row {
    background-color: rgba(13, 110, 253, 0.05);
}

.project-performed-status-none {
    background-color: rgba(220, 53, 69, 0.16);
}

.project-performed-status-partial {
    background-color: rgba(255, 193, 7, 0.22);
}

.project-performed-status-complete {
    background-color: rgba(25, 135, 84, 0.18);
}

.project-performed-status-over {
    background-color: rgba(111, 66, 193, 0.2);
}

.project-performed-status-unmatched {
    background-color: rgba(108, 117, 125, .24);
}

.project-performed-legend-item.project-performed-status-none,
.project-performed-legend-item.project-performed-status-partial,
.project-performed-legend-item.project-performed-status-complete,
.project-performed-legend-item.project-performed-status-over,
.project-performed-legend-item.project-performed-status-unmatched {
    background: transparent;
}

.project-performed-legend-item.project-performed-status-none > span {
    background-color: rgba(220, 53, 69, 0.35);
}

.project-performed-legend-item.project-performed-status-partial > span {
    background-color: rgba(255, 193, 7, 0.45);
}

.project-performed-legend-item.project-performed-status-complete > span {
    background-color: rgba(25, 135, 84, 0.35);
}

.project-performed-legend-item.project-performed-status-over > span {
    background-color: rgba(111, 66, 193, 0.4);
}

.project-performed-legend-item.project-performed-status-unmatched > span {
    background-color: rgba(108, 117, 125, .45);
}

#project_performed_detail_window,
.project-performed-detail-window {
    position: absolute;
    z-index: 1006;
    display: flex;
    flex-direction: column;
    min-width: 680px;
    min-height: 420px;
    overflow: hidden;
}

.project-performed-detail-window > .modal-header {
    flex: 0 0 auto;
}

.project-performed-detail-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    min-height: 0;
    padding: 12px;
    overflow: hidden;
}

.project-performed-detail-form {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-end;
    gap: 8px;
    min-width: 0;
    flex-wrap: wrap;
}

.project-performed-detail-form > label,
.project-performed-detail-form > div {
    min-width: 150px;
}

.project-performed-detail-tree {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}

.project-performed-detail-tree table {
    width: max-content;
    min-width: 100%;
    margin-bottom: 0;
}

.project-performed-detail-tree th,
.project-performed-detail-tree td {
    white-space: nowrap;
}

.project-performed-detail-resize-right {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 4;
    width: 8px;
    height: 100%;
    cursor: ew-resize;
}

.project-performed-detail-resize-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 4;
    width: 100%;
    height: 8px;
    cursor: ns-resize;
}

.project-performed-detail-resize-corner {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 5;
    width: 16px;
    height: 16px;
    cursor: nwse-resize;
}

.project-performed-detail-resize-right:hover,
.project-performed-detail-resize-bottom:hover,
.project-performed-detail-resize-corner:hover {
    background: rgba(233, 236, 239, .75);
}

@media (max-width: 1100px) {
    .project-performed-layout {
        grid-template-columns: 260px 8px minmax(1080px, 1fr);
    }
}

.context-help-button {
    position: fixed;
    bottom: 16px;
    right: 16px;
    z-index: 2147483645;
    display: inline-flex;
    width: 38px;
    height: 38px;
    padding: 0;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #556ee6;
    box-shadow: 0 4px 14px rgba(42,48,66,.28);
    color: #fff;
    font-size: 23px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}

.context-help-button:hover,
.context-help-button:focus-visible {
    background: #4057c7;
    color: #fff;
    outline: 3px solid rgba(85,110,230,.28);
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .context-help-button {
        bottom: 10px;
        right: 10px;
    }
}
