@font-face {
    font-family: 'Novera Classic';
    src: url('../fonts/Novera-ClassicRegular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Novera Classic';
    src: url('../fonts/Novera-ClassicSemiBold.otf') format('opentype');
    font-weight: 600;
    font-style: normal;
}

body {
    font-family: 'Roboto', sans-serif;
}

.light-style .menu .app-brand.demo {
  height: 64px;
  margin-top:6px;
}

.dark-style .menu .app-brand.demo {
  height: 64px;
  margin-top:6px;
}

.app-brand-logo.demo {
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  display: -ms-flexbox;
  display: flex;
  width: 37px;
  height: 49px;
}

.app-brand-logo.demo svg {
  width: 37px;
  height: 49px;
}

.brand-text {
  font-family: 'Novera Classic', sans-serif;
}

.app-logo-text {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
  margin-inline-start: 0.75rem !important;
}

.logo-main-text {
  color: #444050;
  letter-spacing: 2px;
}

.app-brand-sub-text {
  color: #fbbe07;
  margin-top: 3px;
}

.app-brand-sub-text-sm {
  font-size: 1rem;
  color: #fbbe07;
  margin-left: 0.8rem;
}

/* ! For .layout-navbar-fixed added fix padding top tpo .layout-page */
.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 64px !important;
}
.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
  padding-top: 72px !important;
}
/* Navbar page z-index issue solution */
.content-wrapper .navbar {
  z-index: auto;
}

.asteriskField {
    display: none;
}

/*
* Content
******************************************************************************/

.demo-blocks > * {
  display: block !important;
}

.demo-inline-spacing > * {
  margin: 1rem 0.375rem 0 0 !important;
}

/* ? .demo-vertical-spacing class is used to have vertical margins between elements. To remove margin-top from the first-child, use .demo-only-element class with .demo-vertical-spacing class. For example, we have used this class in forms-input-groups.html file. */
.demo-vertical-spacing > * {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-lg > * {
  margin-top: 1.875rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-lg.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-xl > * {
  margin-top: 5rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-xl.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.rtl-only {
  display: none !important;
  text-align: left !important;
  direction: ltr !important;
}

[dir='rtl'] .rtl-only {
  display: block !important;
}

/* Dropdown buttons going out of small screens */
@media (max-width: 576px) {
  #dropdown-variation-demo .btn-group .text-truncate {
    width: 254px;
    position: relative;
  }
  #dropdown-variation-demo .btn-group .text-truncate::after {
    position: absolute;
    top: 45%;
    right: 0.65rem;
  }
}

/*
* Layout demo
******************************************************************************/

.layout-demo-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 1rem;
}
.layout-demo-placeholder img {
  width: 900px;
}
.layout-demo-info {
  text-align: center;
  margin-top: 1rem;
}

.no-border-top th {
  border-top: none;
}

.no-border-right {
  border-right: none !important;
}
input.err-input {
  border-left: none;
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.first-gap > :first-child {
    margin-bottom: 0.6rem;
}

.fw-th {
  text-transform: uppercase;
  font-size: .8125rem;
  color: #444050;
  font-weight: 500;
}



.list-group.list-group-tree > .list-group > .list-group-item {
  padding-left: 30px;
}
.list-group.list-group-tree > .list-group > .list-group-item {
  padding-left: 45px;
}
.list-group.list-group-tree > .list-group > .list-group-item > .list-group-item {
  padding-left: 60px;
}
.list-group.list-group-tree > .list-group > .list-group > .list-group-item > .list-group-item {
  padding-left: 75px;
}
.list-group.list-group-tree > .list-group > .list-group > .list-group-item > .list-group-item > .list-group-item {
  padding-left: 90px;
}



.fa-chevron:before {
      content: "\f054"; /*right*/
}
.in > .fa-chevron:before {
      content: "\f078"; /*down*/
}

.list-group-item {
  padding-left: 20px;
  border: 1px solid #dee2e6;
  border-radius: 0;
  transition: background-color 0.3s;
}

.list-group-item:hover {
  background-color: #f8f9fa;
}

.list-group-item i {
  margin-right: 10px;
  transition: transform 0.2s;
}

.list-group-item.collapsed .chevron-icon {
  transform: rotate(0deg);
}

.list-group-item:not(.collapsed) .chevron-icon {
  transform: rotate(90deg);
}

.badge {
  background-color: #ccc;
}

.list-group-flush .list-group-item {
  border-width: 0 0 1px;
}
.word-color {
  color: #2B579A; /* Цвет Microsoft Word */
}
.excel-color {
  color: #217346; /* Цвет Microsoft Excel */
}
.fs-85 {font-size:85% !important;}
.smaller{font-size:96% !important}
.fs-bigger{font-size:116% !important}
.fs-little-big{font-size:106% !important}
.mb-05{margin-bottom:.125rem !important}
.mb-075{margin-bottom:.187rem !important}
.badge {
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;
}
.table-data td {
  font-size:0.8725rem
}
.table-data th a {
  color: #2C3E50 !important;
}
.text-coal {
  color: #2C3E50 !important;
}
.spinner-container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1050;
}
.first-icon-column {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    text-align: center;
}

.first-icon-column .icon-container > * {
    margin-left: 7px;
}

.w-45 { width: 45%; }

.min-height-table td {
  min-height: 56px;
  height: 56px;
}
.mh-0 {
  min-height: 0 !important;
}
.modal-backdrop ~ .modal-backdrop {
    opacity: 0.8;
}
.dimmed {
  opacity: 0.5;
  pointer-events: none;
}
.table-info-light {
    background-color: rgba(186, 230, 253, 0.15) !important;
}
.totals-card {
  border-radius: 10px;
}
.totals-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.card-value {
  font-size: 2.5rem;
  font-weight: bold;
}
.progress {
  height: 8px;
  margin-top: 5px;
}

/* Стили для правильного отображения дочерних модальных окон */
.modal-open .modal.child-modal {
  overflow-x: hidden;
  overflow-y: auto;
  z-index: 1060 !important;
}

.modal-open .modal.child-modal .modal-content {
  z-index: 1061 !important;
}

/* Стили для затемнения родительского модального окна */
.modal-content.dimmed {
  opacity: 0.5;
  pointer-events: none;
}

/* Увеличиваем z-index для контента вкладок во вложенных модальных окнах */
.modal.child-modal .tab-content {
  z-index: 5;
  position: relative;
}

/* Предотвращаем перекрытие вкладок в дочернем модальном окне */
.modal.child-modal .nav-tabs {
  z-index: 6;
  position: relative;
  background-color: #fff;
}
.nav-tabs {
    flex-wrap: wrap !important;
    display: flex !important;
}
.nav-tabs .nav-item {
    flex: 0 0 auto;
    margin-bottom: 0.8rem;
    min-width: 80px;
}
.nav-tabs .nav-link {
    text-align: center;
    width: 100%;
}
.border-light-gray {
  border-color: #d1d0d4 !important;
}

label.requiredField {
  font-weight: 500 !important;
}

label.form-label {
  font-weight: 300;
  color: #495057;
  font-size: 0.87rem;
}
legend {
  font-size: 0.95rem;
  margin-top: 0.6rem;
  margin-bottom: 0.8rem;
}

/* Фиксация заголовков таблицы при прокрутке */
.table-responsive {
    max-height: calc(100vh - 182px);
    overflow-y: auto;
    position: relative;
}

.table-responsive .table thead th {
    position: sticky !important;
    top: 0 !important;
    background-color: #fff !important;
    z-index: 2 !important;
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.1) !important;
}

/* Для таблиц с полосами */
.table-striped thead th {
    position: sticky !important;
    top: 0 !important;
    background-color: #fff !important;
}

/* Дополнительная фиксация для таблиц в модальных окнах */
.modal .table-responsive {
    max-height: 400px;
    overflow-y: auto;
    position: relative;
}

.modal .table-responsive .table thead th {
    position: sticky !important;
    top: 0 !important;
    background-color: #fff !important;
    z-index: 2 !important;
}

/* Контекст для z-index - создаем новый стековый контекст */
.table-responsive {
    isolation: isolate;
}
.d-warning {
    background-color: #fff3cd !important;
    cursor: not-allowed;
}

.flatpickr-calendar { z-index: 1900 !important; }

/* ===== Modal fix: держим backdrop всегда ниже модальных окон ===== */
.modal-backdrop,
.modal-backdrop.fade,
.modal-backdrop.show {
  z-index: 1050 !important;
}

/* Readonly-поля как disabled (серый фон, приглушённый текст) */
.form-control[readonly],
input[readonly],
textarea[readonly],
input[type="date"][readonly] {
  background-color: #e9ecef !important;
  color: #6c757d !important;
  border-color: #d1d0d4 !important;
  cursor: not-allowed;
}

/* Убираем подсветку focus у readonly */
.form-control[readonly]:focus,
input[readonly]:focus,
textarea[readonly]:focus,
input[type="date"][readonly]:focus {
  box-shadow: none !important;
  border-color: #d1d0d4 !important;
}

/* Для совместимости с возможными flatpickr/иконками календаря в readonly */
input.flatpickr-input[readonly] {
  background-color: #e9ecef !important;
  color: #6c757d !important;
  border-color: #d1d0d4 !important;
  cursor: not-allowed;
}

.no-mb {
    margin-bottom: 0 !important;
}
