/* индикатор загрузки */
#hidden_messages {
    position: fixed;
    right: 50px;
    top: 100px;
    z-index: 1000;
}

/* индикатор состояния сохранения */
#save-status-indicator {
    position: fixed;
    right: 50px;
    top: 140px;
    z-index: 1000;
    min-width: 150px;
    padding: 8px 12px;
    margin: 0;
}

.success-msg {
    font-size: 10px;
    color: rgb(128, 128, 128);
    display: none;
}

.error-msg {
    font-size: 10px;
    color: rgb(128, 128, 128);
    display: none;
}
  
.loading-snake {
    width: 35px;
    height: 20px;
    overflow: hidden;
    background: url('../img/loading.gif') center center no-repeat;
    background-size: contain;
    display: none;
}

.loading-snake-visible {
    width: 35px;
    height: 20px;
    overflow: hidden;
    background: url('../img/loading.gif') center center no-repeat;
    background-size: contain;
}

/* фиксированная ширина*/
.fw-50 {
    max-width: 50px;
    min-width: 50px;
    width: 50px;
}

.fw-70 {
    max-width: 70px;
    min-width: 70px;
    width: 70px;
}

.fw-100 {
    max-width: 100px;
    min-width: 100px;
    width: 100px;
}

.fw-150 {
    max-width: 150px;
    min-width: 150px;
    width: 150px;
}

.fw-200 {
    max-width: 200px;
    min-width: 200px;
    width: 200px;
}

.fw-300 {
    max-width: 300px;
    min-width: 300px;
    width: 300px;
}

/* Input с символом (% / ₽) — общие стили (KPI, бюджет и др.) */
.input-with-symbol {
    position: relative;
    width: 100%;
}

.input-with-symbol input.input-with-padding {
    padding: 2px 4px !important;
    padding-right: 17px !important;
}

.input-with-symbol .value-symbol {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 13px;
    line-height: 1.3;
    color: #6c757d;
    user-select: none;
    vertical-align: middle;
}

/* Узкая колонка плана (как в KPI) */
.budget-plan-cell {
    min-width: 100px;
    max-width: 100px;
    width: 100px;
}

/* Дочерние фонды на странице бюджета — отступ по имени */
tr.fund-child-row td:first-child {
    padding-left: 1.5rem;
}

/* Подсветка строки бюджета при наведении (по аналогии с _kpi_table) */
tr.budget-fund-row:hover {
    background-color: #e5edf5 !important;
}
tr.budget-fund-row:hover td {
    background-color: #e5edf5 !important;
}

.budget-plan-cell .input-with-symbol input {
    width: 100%;
    min-width: 0;
    text-align: center;
    font-size: 13px;
    line-height: 1.3;
    height: auto;
    min-height: 24px;
}

.budget-plan-cell .budget-plan-readonly {
    display: inline-block;
    text-align: center;
    font-size: 13px;
    min-height: 24px;
    line-height: 24px;
    color: #6c757d;
}

/* максимальная ширина*/
.max-w-50 {max-width: 50px;}

.max-w-70 {max-width: 70px;}

.max-w-100 {max-width: 100px;}

.max-w-150 {max-width: 150px;}

.max-w-200 {max-width: 200px;}

.max-w-300 {max-width: 300px;}


/* разворачиваемая при наведении ячейка таблицы */
td.td-expandable {
    height: 20px;
    max-height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: 0.3s;
}

td.td-expandable:hover{
    white-space: normal;
}

/* бейджи */

.badge-outline-danger {
    border:2px solid #f5365c !important;
    color: #f5365c;
}

.badge-outline-warning {
    border:2px solid #fb6340 !important;
    color: #fb6340;
}

.badge-outline-secondary {
    border:2px solid #6c757d !important;
    color: #6c757d;
}

/* цвет филиала */
.branch-color-square {
    display: inline-block;
    width: 28px;
    height: 28px;
}


/* кастомный скроллбар */

/* Firefox */
.scrollbar-type-1 {
    scrollbar-width: thin;
    scrollbar-color: #D5D5D5 #F7F7F7;
}

/* Chrome, Edge and Safari */
.scrollbar-type-1::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.scrollbar-type-1::-webkit-scrollbar-track {
  border-radius: 5px;
  background-color: #F7F7F7;
}

.scrollbar-type-1::-webkit-scrollbar-track:hover {
  background-color: #F4F4F4;
}

.scrollbar-type-1::-webkit-scrollbar-track:active {
  background-color: #F4F4F4;
}

.scrollbar-type-1::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background-color: #D5D5D5;
}

.scrollbar-type-1::-webkit-scrollbar-thumb:hover {
  background-color: #C5C5C5;
}

.scrollbar-type-1::-webkit-scrollbar-thumb:active {
  background-color: #ADADAD;
}


/* всплывающие подсказки */
.tip-wrapper {
    position: relative;
}
.show-tip {
    cursor: pointer;
    font-weight: 500;
    color: #65656579;
}

.show-tip.inherit {
    font-weight: inherit;
    color: inherit;
    text-decoration: underline;
    text-decoration-style: dotted;
}

.tip {
    padding: 10px;
    background: #ffffff;
    border-radius: 10px;
    position: absolute;
    left: 20px;
    top: 28px;
    width: auto;
    min-width: 200px;
    max-width: 400px;
    text-align: left;
    font-size: 12px;
    font-weight: 500;
    color: #656565;
    -webkit-box-shadow: 0px 0px 8px 0px rgba(149, 149, 149, 0.38);
    -moz-box-shadow: 0px 0px 8px 0px rgba(149, 149, 149, 0.38);
    box-shadow: 0px 0px 8px 0px rgba(149, 149, 149, 0.38);
    z-index: 9999999;
}

.thead-sticky .tip {
  top: 60px;
}

/* контекстное меню для истории изменений */
.kpi-context-menu {
    position: fixed;
    z-index: 10000;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    min-width: 180px;
    padding: 4px 0;
}

.kpi-context-menu-item {
    padding: 8px 15px;
    cursor: pointer;
    font-size: 14px;
    color: #333;
    user-select: none;
}

.kpi-context-menu-item:hover {
    background-color: #f5f5f5;
}

.kpi-context-menu-item:active {
    background-color: #e9ecef;
}

/* всплывающее окно истории изменений */
.kpi-history-popup {
    position: fixed;
    z-index: 10001;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.kpi-history-popup table {
    font-size: 12px;
}

.kpi-history-popup table th {
    font-size: 11px;
    font-weight: 600;
    padding: 8px 10px;
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

.kpi-history-popup table td {
    padding: 6px 10px;
    border-bottom: 1px solid #e9ecef;
}

.kpi-history-popup table tr:hover {
    background-color: #f8f9fa;
}

/* for all */
.hidden {
    display: none;
}



/* переопределение стилей */

/* ссылки в левом меню */
.wrapper .page-wrap .app-sidebar .sidebar-content .nav-container .navigation-main .nav-item a {
    display: inline-block;
}