@font-face {
   font-family: 'PT Mono';
   src: url('/fonts/ptmono/PTM75F_W.eot');
   font-style: normal;
   /**	font-weight: bold;**/
   src: local('PT Mono Bold'), url('/fonts/ptmono/PTM75F_W.eot?#iefix') format('embedded-opentype'), url('/fonts/ptmono/PTM75F_W.woff') format('woff'), url('/fonts/ptmono/PTM75F_W.ttf') format('truetype'), url('/fonts/ptmono/PTM75F_W.svg#PTMono-Bold') format('svg');
}

/**
* {
  box-sizing: border-box;
  border: 1px solid #000;
}
**/

* {
   font-family: sans-serif;
}

html {
   position: relative;
   min-height: 100%;
}

body {
   margin: 0 0 0px;
   font-family: sans-serif;
   min-height: 100%;
}

[draggable=true] {
   cursor: move;
}

.body {
   background-blend-mode: color;
   background-attachment: fixed;
   background-repeat: no-repeat;
   background-size: cover;
   background-position: left;
}

/* Заголовок для печати отчётов */
@media screen {
   .print_header {
      display: none;
   }
}

@media print {
   .print_header {
      position: fixed;
      top: 0px;
   }
}

.text_link {
   color: var(--text-link-color);
   cursor: pointer;
   text-decoration: none;
   font-weight: normal;
   border-bottom: 1px dashed #777;
   /* user-select: none; */
}

.icon-link {
   color: var(--text-link-color);
   cursor: pointer;
   text-decoration: none;
}

.link {
   color: var(--text-link-color);
   cursor: pointer;
   text-decoration: none;
   font-weight: normal;
   border-bottom: 1px dashed #777;

}

.noselect {
   user-select: none;
}

/*
.pseudo_link {
   font-weight: normal;
   border-bottom: 0px dashed #777;
}
*/

a:visited.text_link {
   color: #000077
}

a:link.text_link {
   color: #000077;
   text-decoration: none
}

a:active.text_link {
   color: #00FFFF
}

a:hover.text_link {
   border-bottom: 1px solid #770;
   color: #00c
}

.text_blur {
   filter: blur(3px);
}

/* Главное меню */

.main-menu-header {
   position: sticky;
   top: 0px;
   font-size: 15pt;
   user-select: none;
}

.menu_container {
   display: flex;
   flex-direction: column;
   gap: 5px;
   background: var(--mainmenu-container-background);
   position: sticky;
   top: 0px;
   height: 100%;
   max-height: 100%;
   overflow-y: auto;
   overflow-x: hidden;
}

.menu-button {
   background: var(--mainmenu-button-icon-background);
}

.menu-block-full {
   width: 100%;
   font-size: 9pt;
   padding: 3px;
   text-align: center;
   user-select: none;
}

/* Кнопка главного меню */
.menu-item {
   margin: 0px;
   padding: 3px 10px;
   font-size: 10pt;
   text-decoration: none;
   user-select: none;
   cursor: pointer;
   box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.5);
   transition: color 0.2s ease-out 0.2s, background-color 0.2s ease-out 0.2s, box-shadow 0.2s ease-out 0.2s;
   color: var(--mainmenu-button-text-color);
   background: var(--mainmenu-button-text-background);

   a {
      color: var(--mainmenu-button-text-color);
   }

}

.menu-item-active {
   background: var(--mainmenu-button-bg-hover);
}

.menu-item:hover {
   background-color: var(--mainmenu-button-bg-hover);
   box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.5);
}

.menu-item.group {
   font-weight: bold;
   color: #ff0;
   text-transform: uppercase;
}

.page-header {
   position: sticky;
   display: flex;
   align-items: center;
   justify-content: left;
   top: 0px;
   z-index: 100;
   color: var(--page-header-color);
   background: var(--page-header-background);
   box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, .4);
   width: 100%;
   font-size: 15pt;
   flex: 0 1 auto;
}

/* Контекстное меню на страницах */
.subheader_link {
   color: var(--subheader-color);
   background: var(--subheader-background);
   font-size: 10pt;
   text-decoration: none;
   display: inline-block;
   border-radius: 0px 0px 5px 5px;
   padding-left: 10px;
   padding-right: 10px;
   margin-left: 3px;
   margin-right: 3px;
   padding-top: 0px;
   height: 20px;
   cursor: pointer;
   -webkit-transition: padding-top 0.1s ease-out 0s;
   -moz-transition: padding-top 0.1s ease-out 0s;
   -o-transition: padding-top 0.1s ease-out 0s;
   transition: padding-top 0.1s ease-out 0s;
   vertical-align: top;
}

.subheader_link_active {
   color: #ff0;
}

a:visited.subheader_link {
   color: #eee;
}

a:link.subheader_link {
   color: #eee;
   text-decoration: none
}

a:active.subheader_link {
   color: #eee;
}

a:hover.subheader_link {
   color: #ee0;
   padding-top: 7px
}

/* normal.php */
#load_indicator {
   font-size: 20pt;
   padding-left: 10px;
}

#search_window {
   position: fixed;
   display: none;
   z-index: 1700;
   min-width: 250px;
   background: rgba(240, 240, 240, 0.95);
   top: 0px;
   right: 0px;
   overflow-y: auto;
   border-left: 1px solid #aaa;
   padding: 5px;
   height: 100%;
   text-align: center;
}

/* Блок справа */
.filters {
   position: fixed;
   top: 0px;
   right: -380px;
   width: 250px;
   height: 100%;

   z-index: 10000;

   text-align: center;
   background: var(--page-filter-background);
   border-radius: 0px;
   padding: 10px 10px;
   padding-right: 40px;
   margin: 0px;
   font-size: 10pt;
   border: 0px solid #aaa;
   box-shadow: -5px 0px 10px 5px rgba(0, 0, 0, .4);

   transition: right 0.5s;
}

.filters.active {
   right: 0px;
   transition: right 0.5s;
}

.filter_control {
   position: fixed;
   top: 0px;
   right: 5px;
   margin: 0px 0px;
   color: var(--page-filter-color);
   cursor: pointer;
   font-size: 18pt;
   user-select: none;
}

/* Блок, в котором находится содержимое фильтров */
.filters-wrapper {
   align-self: flex-start;
   position: sticky;
   text-align: center;
   width: 100%;
   top: 40px;
   background: #fff;
   border-radius: 10px;
   font-size: 10pt;
}

#content,
.main {
   /*
   background: var(--page-content-background);
   background-blend-mode: lighten;
   background-attachment: fixed;
   background-repeat: no-repeat;
   */
   /* background-size: cover; */
   background-position: top left;
   flex-grow: 2;
   display: flex;
   flex-direction: column;
   height: 100%;
}

#content {
   position: relative;
   background-image: var(--page-content-image);
   /* background-repeat: no-repeat; */
   /* background-position: 0% 0; */
   background-size: cover;
   position: relative;
   flex-grow: 1;
   font-family: Tahoma;
}

/* Окна */

.window {
   position: fixed;
   display: none;
   top: 130px;
   background: rgba(255, 255, 255, 0.9);
   border-radius: 10px;
   box-shadow: 3px 3px 7px 0px #777;
   text-align: center;
   padding-top: 10px;
   backdrop-filter: blur(4px);
   /* opacity: 0; */
   /* transition: opacity 0.5s; */

   .green_tape,
   .header {
      color: var(--window-header-color);
      background: var(--window-header-background);
      border-top: 1px dashed #aaa;
      border-bottom: 1px dashed #aaa;
      left: 0px;
      font-size: 14pt;
      height: 24px;
      text-align: center;
      font-family: Tahoma;
      text-transform: uppercase;
      -moz-user-select: -moz-none;
      -o-user-select: none;
      -khtml-user-select: none;
      -webkit-user-select: none;
      user-select: none;
   }

}

.window.visible {
   opacity: 1;
}

.window[style*="display: flex"] {
   display: none !important;
}

.window_buttons_container {
   background: var(--window-buttons-container-background);
   position: relative;
   padding: 10px;
   border-radius: 0px 0px 5px 5px;
   bottom: 0px;
   left: 0px;
   width: calc(100% - 20px);
   text-align: center;
}

/* Прокрутка */

.scroll::-webkit-scrollbar {
   width: 3px;
}

.scroll::-webkit-scrollbar-track {
   width: 3px;
   background-color: var(--scroll-block-background);
}

.scroll::-webkit-scrollbar-thumb {
   width: 5px;
   background-color: var(--scroll-block-slider);
}

.scroll-block::-webkit-scrollbar {
   width: 5px;
}

.scroll-block::-webkit-scrollbar-track {
   width: 3px;
   background-color: var(--scroll-block-background);
}

.scroll-block::-webkit-scrollbar-thumb {
   width: 5px;
   background-color: var(--scroll-block-slider);
}

/* Список */

.drop-down-list {
   display: none;
   position: absolute;
   z-index: 100;
   background: #fff;
   min-width: 200px;
   /* border: 1px solid #ddd; */
   border-radius: 3px;
   box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, .4);
}

.drop-down-list-input {
   width: 100%;
   padding-right: 24px;
   box-sizing: border-box;
}

.drop-down-list-cleaner {
   position: absolute;
   right: 6px;
   top: 50%;
   transform: translateY(-50%);
   /* стабильное центрирование по Y */
   line-height: 1;
   padding: 0 2px;
   border: 0;
   background: transparent;
   cursor: pointer;
   font-size: 11px;
   /* можно менять — позиция не "уплывёт" */
   user-select: none;
}

/* Заголовок списка, в котором содержится текущее значение */
.drop-down-list-header {
   background: #fff;
   font-size: 12pt;
   outline: none;
   color: #00f;
   background-color: transparent;
   border-bottom: 1px solid #777;
   padding: 1px;
   cursor: pointer;
}

.drop-down-list-scroll {
   max-height: 200px;
   overflow-y: auto;
   padding: 0 3px;
}

.drop-down-list-scroll::-webkit-scrollbar {
   width: 5px;
}

.drop-down-list-scroll::-webkit-scrollbar-track {
   width: 3px;
   background-color: #aca;
   background-color: var(--scroll-background);
}

.drop-down-list-scroll::-webkit-scrollbar-thumb {
   width: 5px;
   background-color: var(--scroll-slider);
}

/* Контейнер для окон */
.window_viewport {
   display: flex;
   align-items: center;
   justify-content: center;
   vertical-align: middle;
   height: 100%;
}

.window_block {
   background: #fff;
   border: 1px solid #aaa;
   border-radius: 10px;
}

/* Кнопки */

.form_button {
   color: var(--form-button-color);
   background: var(--form-button-background);
   min-height: 32px;
   padding-left: 10px;
   padding-right: 10px;
   margin-left: 10px;
   margin-right: 10px;
   min-width: 100px;
   border: 0px solid #aaa;
   border-radius: 5px;
   text-decoration: none;
   cursor: pointer;
   outline: none;

}

.form_button.image {
   background-image: url("/images/loading.svg");
   background-repeat: no-repeat;
   background-position: center center;
   background-size: 24px 24px;
   color: transparent !important;
   cursor: auto;
}

.button_small.image {
   background-image: url("/images/loading.svg");
   background-repeat: no-repeat;
   background-position: center center;
   background-size: 24px 24px;
   color: transparent !important;
   cursor: auto;
}

.form_button.passive {
   color: var(--form-button-passive-color);
   background-color: var(--form-button-passive-background);
   cursor: auto;
}

.form_button.current {
   color: var(--form-button-current-color);
   background-color: var(--form-button-current-background);
   cursor: auto;
}

.form_button hover {
   box-shadow: 1px 1px 5px 0px #FFFFFF inset, 1px 1px 5px 0px #0000AA inset, 1px 1px 5px 0px #555555;
}

.form_button_passive {
   color: var(--form-button-passive-color);
   background: var(--form-button-passive-background);
   height: 32;
   padding-left: 10px;
   padding-right: 10px;
   margin-left: 10px;
   margin-right: 10px;
   min-width: 100px;
   color: #aaa;
   border: 0px solid #aaa;
   border-radius: 5px;
   text-decoration: none;
   cursor: auto;
   outline: none;
}

.button_small {
   /*
   color: var(--form-button-color);
   background: var(--form-button-background);
   */
   min-width: 64px;
   height: 20px;
   margin-left: 3px;
   margin-right: 3px;
   border: 0px solid #aaa;
   border-radius: 5px;
   text-decoration: none;
   cursor: pointer;
   outline: none;
}

/* Заголовок окна */

.window_header {
   color: var(--window-header-color);
   background: var(--window-header-background);
   border-top: 1px dashed #aaa;
   border-bottom: 1px dashed #aaa;
   font-size: 14pt;
   height: 24px;
   margin: 10px 0px 10px 0px;
   text-align: center;
   font-family: Tahoma;
   text-transform: uppercase;
   -moz-user-select: -moz-none;
   -o-user-select: none;
   -khtml-user-select: none;
   -webkit-user-select: none;
   user-select: none;
}

.green_tape .header {
   color: var(--window-header-color);
   background: var(--window-header-background);
   border-top: 1px dashed #aaa;
   border-bottom: 1px dashed #aaa;
   left: 0px;
   font-size: 14pt;
   height: 24px;
   text-align: center;
   font-family: Tahoma;
   text-transform: uppercase;
   -moz-user-select: -moz-none;
   -o-user-select: none;
   -khtml-user-select: none;
   -webkit-user-select: none;
   user-select: none;
}

.sticky {
   position: fixed;
   top: 0px;
   width: 100%;
}

/* Содержимое прокручиваемых страниц */
.page-scroll-block {
   align-self: flex-start;
   width: 100%;
   text-align: center;
   max-height: calc(100vh - 32px);
   overflow-y: auto;
}

/* Полосатая таблица */

.table_stripe {
   font-size: 10pt;
   font-family: monospace;
   border-collapse: separate;
   /* Don't collapse */
   border-spacing: 0;

   th {
      position: relative;
      font-family: consolas;
      border-top: 1px solid #aaa;
      border-bottom: 1px solid #aaa;
      border-right: 1px solid #aaa;
      background: #ddd;
      padding: 5px 10px;
      font-family: consolas;
      text-transform: uppercase;
      font-weight: normal;

      quote {
         font-family: consolas;
         color: #007;
         cursor: pointer;
         border-bottom: 1px dashed #007;
      }

      nav {
         position: absolute;
         font-size: 15pt;
         font-weight: normal;
         top: 0px;
         right: 0px;
      }

   }

   thead {
      position: sticky;
      z-index: 3;
      top: 0px;
   }

   tr {
      border: 1px solid #aaa;
   }

   td {
      border-bottom: 1px solid #aaa;
      border-right: 1px solid #aaa;
      padding: 1px 5px;
   }

   td:first-child {
      border-left: 1px solid #ccc;
   }

   tbody {

      tr:nth-child(odd) {
         background: #fff
      }

      tr:nth-child(even) {
         background: #eee;
      }

      tr:hover {
         color: var(--table-stripe-hover-color);
         /* background: var(--table-stripe-hover-background); */
         box-shadow: 0px 4px 8px 0px rgba(34, 60, 80, 0.5);
         background-color: rgba(255, 255, 255, 0.5) !important;
         /* background: transparent !important; */
      }

   }

   .cell-right {
      text-align: right;
   }

   .cell-center {
      text-align: center;
   }

}

/*
table td:first-child {
   border-left: 1px solid #ccc;
}
*/

/*
.table_stripe_border {
   font-size: 10pt;
   border: 1px solid #aaa;
}

.table_stripe_border tbody td {
   background: #fff;
   border-top: 1px dashed #aaa;
}

.table_stripe_border tbody tr:nth-child(odd) {
   background: #fff
}

.table_stripe_border tbody tr:nth-child(even) {
   background: #ededed;
   border-top: 1px dashed #777;
   border-bottom: 1px dashed #777;
}
*/

.table_header {
   cursor: pointer;
   text-decoration: none;
   color: #00a;
   margin: 0px 5px;
   border-bottom: 1px dashed #aaa;
}

.table_line_selected {
   background: var(--table-line-selected);
}

/* Кнопка в таблице */
.table-button {
   height: 24;
   padding-left: 10px;
   padding-right: 10px;
   margin-left: 10px;
   margin-right: 10px;
   min-width: 100px;
   background: #ddd;
   border: 1px solid #aaa;
   border-radius: 3px;
   text-decoration: none;
   cursor: pointer;
   outline: none;
}

/* Ввод данных */

.input {
   background: #fff;
   border: 1px solid #ccc;
   padding: 3px 5px;
   outline: none;
   cursor: default;
   box-sizing: border-box;
}

.input:focus {
   background-color: #eee;
}

.input:disabled {
   color: #aaa;
   background-color: #ddd;
   border: 1px solid #ccc;
   padding: 3px;
   padding-left: 5px;
   padding-right: 5px;
   outline: none;
}

.input_update {
   background: #dda;
}

.input_selected {
   background: #7f7;
}

.input.saving {
    color: transparent;
    caret-color: transparent;
    background-color: #fff;
    background-image: url("../images/loading_dark.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px 18px;
}

/* Заголовок */

.table-header {
   color: var(--table-header-color);
   background: var(--table-header-background);
   cursor: default;
   text-decoration: none;
   font-family: monospace;
   font-size: 10pt;
}

/*
.table-header th {
   padding: 10px 5px;
   border-top: 0px solid #eee;
   border-bottom: 0px solid #eee;
}
*/

.table-header-text_container {
   position: relative;
   min-width: 80px;
}

.table-header-text {
   margin: 0px 10px;
   border-bottom: 1px dashed #777;
   cursor: pointer;
}

/*
.mainmenubutton {
   display: inline-block;
   *display:inline;
   border-radius: 5px;
   height: 32;
   line-height: 2;
   padding: 1px;
   font-family: Tahoma;
   font-size: 11pt;
   text-align: center;
   color: #fff;
   background: #99e;
   padding-left: 10px;
   padding-right: 10px;
   text-decoration: none;
   -webkit-transition:	background 1.0s ease-out 0s;
   -moz-transition:	background 1.0s ease-out 0s;
   -o-transition:	background 1.0s ease-out 0s;
   transition:		background 1.0s ease-out 0s;
}

.mainmenubutton:hover {
   background: #ccf;
   box-shadow: 1px 1px 10px 1px rgba(100, 100, 255, .5);
}
*/

/*
╔══════════════════╗
║ ► Новая заявка ◄ ║
╚══════════════════╝
*/
.request {

   .request_search_line_enabled {
      cursor: pointer;
   }

   .request_search_line_disabled {
      color: #aaa;
      cursor: normal;
   }

   .request_search_line_control {
      font-weight: bold;
   }

   .request_header_block {
      width: 30%;
      min-width: 30%;
      max-width: 30%;
      border-radius: 5px;
      text-align: center;
   }

   .re-group-name {
      color: #777;
      font-size: 9pt;
   }

   .re-material-comment {
      width: 100%;
   }

   .re-material-comment-label {
      border-radius: 3px;
      background: #ddd;
      padding: 3px 5px;
      margin: 3px 0px;
   }

   .re-replace-action {
      font-size: 8pt;
   }

   .re-coverall-not-expired {
      color: #f00;
      font-weight: bold;
   }

   .object-wrapper {
      display: flex;
      flex-direction: column;
      font-size: 15pt;

      .props {
         display: flex;
         flex-direction: column;
         font-size: 10pt;
      }

      .control {
         margin: 5px;
         color: #777;
         font-size: 9pt;
      }

   }

}

/* Кем добавлена или удалена заявка */
.re-ins-by,
.re-del-by {
   font-size: 8pt;
}

/* Признак полей для контроля материалов для показа и скрытия */
/*
.re-item-replace {
   font-family: "Consolas";
}
*/

/* Разрешение отгрузки по дополнительным материалам и имя авторизатора */
.rq-auth-wrapper {
   margin: 5px 0px;
   font-size: 10pt;
}

/* Удалённая строка */
.re-deleted {
   text-decoration: line-through;
}

/*
.request_employees_search_result_window {
   display: none;
   position: absolute;
   border: 1px solid #aaa;
   z-index: 1000;
   border-radius: 5px;
   background: #fff;
   max-height: 300px;
   overflow-y: auto;
   text-align: center;
   box-shadow: 3px 3px 5px 0px #777;
}
*/

/* Кнопка типа акции для дополнительного материала (добавить/заменить) */

.request_extra_materials_action_type {
   cursor: pointer;
   font-size: 15pt;
   padding: 3px;
   margin: 3px;
}

/* Подсветка кнопки типа акции для дополнительного материала */

.re-extra-materials-action-type-selected {
   background: var(--re-extra-materials-action-type-selected-highlight-background);
   border: 1px solid #aaa;
   border-radius: 5px;
}

/* Окно со статистикой по материалу */
#re-window-limits {
   top: 100px;
   left: 0px;
   z-index: 500;
   position: absolute;
   width: 600px;
   left: calc(50% - 300px);
   background: #eee;
   box-shadow: 1px 1px 10px 1px rgba(100, 100, 100, .5);
}

.re-info-m-name {
   position: relative;
   margin: 10px;
   background: #ddd;
}

.re-info-tg-name {
   margin: 5px;
}

.re-info-pg-name {
   margin: 3px;
   font-size: 9pt;
}

.re-info-diagram {
   width: 200px;
   height: 200px;
   border-radius: 50%
}

/*
╔═══════════════════╗
║ ► Список заявок ◄ ║
╚═══════════════════╝
*/
.orders {

   display: flex;
   flex-direction: row;
   justify-content: center;
   align-items: flex-start;
   top: 0px;
   margin: 0px;
   height: calc(100vh - 31px);

   .list-wrapper {
      align-self: flex-start;
      flex-grow: 1;
      max-height: calc(100vh - 31px);
      overflow-y: auto;

      .loading {
         display: flex;
         flex-direction: column;
         justify-content: center;
         align-items: center;
         min-height: calc(100vh - 31px);
      }

   }

   .filters-wrapper {
      position: sticky;
      margin: 10px;
      flex-shrink: 1;
      max-width: 200px;
      background: rgba(255, 255, 255, 0.8);
      border-radius: 5px;
   }

}

.ol_order_warehouse {
   color: var(--ol-order-warehouse-color);
   background: var(--ol-order-warehouse-background);
   text-transform: uppercase;
   font-size: 12pt;
   padding: 3px 10px;
}

.ol_material_line {
   border: 1px solid #ddd;
   border-left: 0px solid #ddd;
   padding: 3px;
}

.ol_expired {
   color: var(--ol-expired-color);
}

/* Удалённая строка в заявке */
.ol-deleted {
   color: #777;
   text-decoration: line-through;
}

.ol-item-type-1 {
   color: #000;
}

.ol-item-type-2 {
   color: #00a;
}

.ol-item-type-3 {
   color: #090;
}

.ol-material-comment {
   display: inline-block;
   margin: 3px;
   padding: 3px 10px;
   background: #eee;
   border: 1px dashed #aaa;
   border-radius: 5px;
}

.ol_priority_selector_0 {
   background: var(--ol-priority_0-background);
   border-radius: 15px;
   border: 1px solid #aaa;
   margin: 1px;
   min-width: 12px;
   width: 12px;
   cursor: pointer;
}

.ol_priority_selector_1 {
   background: var(--ol-priority_1-background);
   border-radius: 15px;
   border: 1px solid #aaa;
   margin: 1px;
   min-width: 12px;
   width: 12px;
   cursor: pointer;
}

.ol_priority_selector_2 {
   background: var(--ol-priority_2-background);
   border-radius: 15px;
   border: 1px solid #aaa;
   margin: 1px;
   min-width: 12px;
   width: 12px;
   cursor: pointer;
}

.ol_priority_selector_3 {
   background: var(--ol-priority_3-background);
   border-radius: 15px;
   border: 1px solid #aaa;
   margin: 1px;
   min-width: 12px;
   width: 12px;
   cursor: pointer;
}

.ol-priority_0 {
   background: var(--ol-priority_0-background);
}

.ol-priority_1 {
   background: var(--ol-priority_1-background);
}

.ol-priority_2 {
   background: var(--ol-priority_2-background);
}

.ol-priority_3 {
   background: var(--ol-priority_3-background);
}

.ol-material-cell {
   border: 1px solid #ddd;
   padding: 5px 10px;
   font-size: 10pt;
}

/* Прогресс бар отгрузки материала */

.ol-progress {
   --percent: calc(var(--qty_done) / var(--qty) * 100%);
   width: 100%;
   /* фикс ширина, чтобы не сжимался */
   height: 1px;
   /* высота полоски */
   background: #eee;
   margin: 0px;
   position: absolute;
   display: block;
   bottom: 0px;
   left: 0px;
   /*
   Вернхняя граница прогресс бара, совпадает с цветом рамки таблицы
   border-top: 1px solid #aaa;
   */
}

.ol-progress_bar {
   width: var(--percent);
   height: 100%;
   background: #aaa;
}

/* Строка с полностью отгруженным материалом */
.ol-material-done {
   color: #aaa;
}

/* Метка статуса заявки */
.ol_order_status_label {
   border-radius: 5px;
   margin: 5px;
   padding: 5px;
}

.ol_order_status_label_c {
   color: var(--ol-order-status-c-color);
   background: var(--ol-order-status-c-background);
}

.ol_order_status_label_w {
   color: var(--ol-order-status-w-color);
   background: var(--ol-order-status-w-background);
}

.ol_order_status_label_f {
   color: var(--ol-order-status-f-color);
   background: var(--ol-order-status-f-background);
}

/* Окно со статистикой по материалу */
#ott {
   top: 100px;
   left: 0px;
   z-index: 500;
   position: absolute;
   width: 600px;
   left: calc(50% - 300px);
   background: #eee;
   box-shadow: 1px 1px 10px 1px rgba(100, 100, 100, .5);

   .info-m-name {
      position: relative;
      margin: 10px;
      padding: 3px;
      background: #ddd;
      text-align: center;
   }

   .m-name {
      position: relative;
      margin: 10px;
      background: #ddd;
   }

   .tg-name {
      margin: 5px;
      text-align: center;
   }

   .pg-name {
      margin: 3px;
      font-size: 9pt;
      text-align: center;
   }

   .limit_out_msg {
      margin: 20px 0px 10px 0px;
      padding: 5px;
      color: #f00;
      background: #ddd;
   }

   .progress-wrapper {
      position: relative;
      width: 100%;
      background: #fff;
      margin: 20px 0px 10px 0px;
      border: 1px solid #aaa;
      border-radius: 5px;

      .progress {
         background: var(--ol-limit-progress-background);
         width: 30%;
         border-radius: 5px;
      }

      .percents {
         position: absolute;
         width: 100%;
         top: 0px;
         text-align: center;
      }

   }


}

.re-info-diagram {
   width: 200px;
   height: 200px;
   border-radius: 50%
}

/* Обработка заявки */

.order_window {
   display: flex;
   flex-direction: column;
   position: absolute;
   top: 10vh;
   bottom: 10vh;
   min-height: 300px;
   max-height: 80vh;
   width: 1400px;
   left: 50%;
   transform: translate(-50%);
   background: #fff;
   text-align: center;
   border: 1px solid #aaa;
   border-radius: 5px;
}

.order_window_main_block {
   padding: 10px;
}

.order_window_content {
   display: flex;
   flex: 0 1 auto;
   position: relative;
   max-height: calc(100% - 127px);
   /* border: 0px solid #aaa; */
}

.order_window_table_wrapper {
   flex: 0 1 auto;
   max-height: 100%;
   overflow-y: auto;
   width: 100%;
   background: #fff;
}

.window_order_filters {
   padding: 0px 10px;
}

.window_order_footer {
   background: #eee;
   position: absolute;
   bottom: 0px;
   width: 100%;
}

/* Отчёты */

.reports_filters {
   color: var(--reports_filters-color);
   background: var(--reports_filters-background);
   min-width: 280px;
}

.reports-table {
   margin-left: 45px;
   margin-right: 20px;
   border-top: 1px solid #aaa;
   border-spacing: 0;
   background: var(--reports-table-cell-selected);
   /*
   background-image: url(/images/backgrounds/styles/style_normal1.jpg);
   background-attachment: fixed;
   background-repeat: no-repeat;
   background-size: cover;
   background-position: left;
   */
   border-collapse: collapse !important;
   border-spacing: 0 !important
}

.td {
   -webkit-transition: background 2.0s ease-out 0s;
   -moz-transition: background 2.0s ease-out 0s;
   -o-transition: background 2.0s ease-out 0s;
   transition: background 2.0s ease-out 0s;
}

.td:hover {
   background: #ccf;
}

.mobile_mainmenubutton {
   color: #fff;
   background: #99e;
   font-family: Tahoma;
   font-size: 24pt;
   text-align: center;
   min-width: 200px;
   margin: 20px;
   margin-left: 2px;
   margin-right: 2px;
   padding: 10px;
   padding-left: 20px;
   padding-right: 20px;
   border-radius: 5px;
   text-decoration: none;
}

.mainmenu_link {
   font-family: Tahoma;
   font-size: 9pt;
}

a:visited.mainmenu_link {
   color: #007;
}

a:link.mainmenu_link {
   color: #007;
   text-decoration: none;
}

a:active.mainmenu_link {
   color: #0ff;
}

a:hover.mainmenu_link {
   color: #ff0;
}

.table {
   font-family: Tahoma;
   font-size: 9pt;
}

.table tr {
   padding: 10px;
   margin: 10px;
}

.page_header {
   font: 12pt sans-serif;
   background: #77d;
   position: fixed;
   width: 100%;
   min-width: 1000px;
   z-index: 20;
}

.text {
   font-family: Tahoma;
   font-size: 15pt;
}

.page_submenu {
   font-family: Tahoma;
   font-size: 10pt;
   display: table-cell;
   color: #000055;
   text-align: center;
}

.list_item {
   display: block;
   cursor: pointer;
   border-radius: 5px;
   background: var(--list-item-background);
   box-shadow: 1px 1px 0px 0px rgba(150, 150, 150, .5);
   margin: 5px;
   padding-left: 5px;
   padding-right: 5px;
   font-family: Tahoma;
   font-size: 10pt;
   text-align: center;
}

.list_item_flexible {
   display: inline-block;
   border-radius: 5px;
   background: #eee;
   box-shadow: 1px 1px 0px 0px rgba(150, 150, 150, .5);
   margin: 5px;
   padding-left: 5px;
   padding-right: 5px;
   font-family: Tahoma;
   font-size: 10pt;
   text-align: center;
}

.list_item_selected {
   cursor: pointer;
   background: var(--list-item-selected-background);
}

.list_item_big {
   display: block;
   cursor: pointer;
   border-radius: 5px;
   background: #eee;
   box-shadow: 1px 1px 0px 0px rgba(150, 150, 150, .5);
   margin: 5px;
   padding: 5px;
   padding-left: 10px;
   padding-right: 10px;
   font-family: Tahoma;
   font-size: 10pt;
   text-align: center;
}

.list_item_big_selected {
   cursor: pointer;
   background: #ccf;
}

.tab_button {
   display: inline-block;
   height: 32px;
   padding-left: 10px;
   padding-right: 10px;
   margin-left: 10px;
   margin-right: 10px;
   min-width: 100px;
   background: #ccf;
   border: 0px solid #aaa;
   border-radius: 5px;
   text-decoration: none;
   cursor: pointer;
   outline: none;
}

.tab_button_active {
   background: #cc7;
}

.main_button {
   background: #48d;
   width: 100%;
   padding: 1px;
   margin-bottom: 5px;
   margin-right: 5px;
   font-family: Tahoma;
   font-size: 8pt;
   text-align: center;
   color: #eee;
}

.input_no_border {
   border: none;
   padding: 2px;
   padding-left: 5px;
   padding-right: 5px;
   outline: none;
   box-shadow: 0px 0px 0px 0px #fff;
}

.mobile_input {
   background: #F7F7F7;
   border: 1px solid #777;
   border-radius: 5px;
   padding-left: 5px;
   padding-right: 5px;
   outline: none;
   box-shadow: inset 0px 1px 5px -1px rgba(50, 50, 50, 0.67);
   font-size: 20pt;
}

/* Текущее значение в заголовке выпадающего списка */
.select_list_caption {
   cursor: pointer;
   color: #0000CC;
   text-decoration: none;
   border: 0px solid #fff;
   display: inline;
   text-align: center;
   user-select: none;
}

.select_list_caption:focus {
   outline: none;
}

.select_list_container {
   position: relative;
   display: inline-block;
   border: 1px solid #aaa;
   border-radius: 5px;
   background: #fff;
   margin: 5px;
   text-align: center;
   padding: 5px;
}

.equipment_confirmation_required {
   background: #ff7;
}

.button {
   display: inline-block;
   background: #ccf;
   border: 1px solid #ccc;
   border-radius: 15px;
   width: 75;
   padding: 5px;
   margin: 2px;
   font-family: Tahoma;
   font-size: 8pt;
   text-align: center;
   color: #000;
}

.button_expired {
   background: #f77;
}

.form_button1 {
   height: 24;
   padding-left: 10px;
   padding-right: 10px;
   margin-left: 10px;
   margin-right: 10px;
   min-width: 100px;
   background: #7f7;
   border: 1px solid #777777;
   border-radius: 5px;
   box-shadow: 1px 1px 3px 0px #333 inset;
   text-decoration: none;
   cursor: pointer;
   outline: none;
}

.form_button_mobile {
   height: 48;
   padding-left: 10px;
   padding-right: 10px;
   margin-left: 10px;
   margin-right: 10px;
   min-width: 100px;
   background: #ccf;
   border: 0px solid #aaa;
   border-radius: 5px;
   text-decoration: none;
   cursor: pointer;
   outline: none;
}

.config_block {
   filter: alpha(opacity=100);
   opacity: 0.7;
   border-radius: 10px;
   width: 300px;
   min-height: 170px;
   margin: 5px;
   padding: 5px;
   border: 1px solid #ccc;
   background: #FFFFFF;
   font-family: Tahoma;
   font-size: 10pt;
   display: inline-block;
   vertical-align: top;
   margin: 5px;
   zoom: 1;
}

.block {
   background: rgba(255, 255, 255, 0.9);
   border-radius: 15px;
   border: 1px solid #AAAAAA;
   margin-top: 20px;
}

/* Стили для таблиц с фиксированными заголовками */

.table_scroll_container {
   width: 300px;
   height: 90vh;
   overflow-x: hidden;
}

.table_scroll_container .table_scroll td:first-child,
.table_scroll_container .table_scroll td:nth-child(1) {
   position: sticky;
   left: 0px;
   background-color: #fff;
}

.table_scroll tbody tr:nth-child(odd) {
   background: #fff
}

.table_scroll tbody tr:nth-child(even) {
   background: #eee;
}

/* Табели */

.worktime {
   max-width: 100vw;
}

.worktime_selected_x {
   border-top: 2px solid #00a;
   border-bottom: 2px solid #00a;
}

.worktime_selected_y {
   border-left: 2px solid #00a;
   border-right: 2px solid #00a;
}

.worktime_selected {
   border-right: 2px solid #00a;
   border-bottom: 2px solid #00a;
   background: #dfd;
}

.holiday {
   color: var(--holiday-color);
   background: var(--holiday-background);
}

.day-header {
   background: var(--day-header-background);
}

.dropzone {
   display: inline-block;
   background: #afa;
   width: calc(100% - 20px);
   height: 120px;
   border: 2px dashed #777777;
   color: #777;
   line-height: 110px;
   text-align: center;
   margin: 10px;
   font-size: 15pt;
}

.dropzone .dragover {
   color: green;
   background: #5f5;
   border: 2px dashed #000;
}

.dropzone_common {
   display: inline-block;
   background: #afa;
   width: calc(100% - 20px);
   height: 120px;
   border: 2px dashed #777;
   color: #777;
   text-align: center;
   margin: 10px;
   font-size: 15pt;
}

.dropzone_common.dragover {
   color: green;
   background: #5f5;
   border: 2px dashed #000;
}

.dropzone_userpic {
   vertical-align: top;
   width: 100px;
   height: 100px;
   border-radius: 15px;
   border: 2px dashed #777;
   color: #777;
   text-align: center;
   font-size: 12pt;
}

.dropzone_userpic.dragover {
   color: green;
   background: #5f5;
   border: 2px dashed #000;
}

.event_legend_box {
   background: rgba(255, 255, 255, 0.7);
   font-family: Tahoma;
   text-align: left;
   border: 1px solid #aaa;
   border-radius: 10px;
}

.contracts_drop_zone {
   display: flex;
   width: 200px;
   justify-content: center;
   align-content: center;
   flex-direction: column;
   background: #f7f7f7;
   border: 1px solid #aaa;
   border-radius: 5px;
   padding: 50px;
}

.contracts_drop_over {
   background: #afa;
}

.contragent_drop_zone {
   border: 1px solid #aaa;
   width: 200px;
   height: 400px;
   display: table-cell;
   border-radius: 5px;
   vertical-align: middle;
   text-align: center;
   font-size: 12pt;
   color: #777;
   padding: 10px;
   white-space: normal;
}

.contragent_drop_over {
   background: #eee;
}

.userpic_drop_over {
   background: #afa;
}

.button_gray {
   border-radius: 5px;
   background: #ddd;
   outline: none;
   cursor: pointer;
   min-width: 60px;
   height: 32px;
   line-height: 32px;
   margin: 3px;
   text-align: center;
   color: #000;
   padding-left: 10px;
   padding-right: 10px;
}

.button_gray_passive {
   border-radius: 5px;
   color: #777;
   background: #ddd;
   outline: none;
   min-width: 80px;
   height: 32px;
   cursor: default;
}

.button_gray_active {
   background: #0c0;
   border-radius: 5px;
}

.field_wrong_value {
   background: #faa;
}

.background_green {
   background: #0a0;
}

.contract_file_item {
   display: flex;
   gap: 5px;
   background: #5d5;
   border-radius: 3px;
   box-shadow: 1px 1px 0px 0px rgba(150, 150, 150, .5);
}

.contract_view_field_name {
   background: #ddd;
   font-size: 12pt;
}

.order_line_deleted {
   text-decoration: line-through;
   color: #777;
}

.waylist_route_line_deleted {
   background: #f77;
}

.error_text {
   color: #f00;
   font-weight: bold;
}

.equipment_status_title_active {
   background: #aaf;
}

.table_cell_selected {
   background: #dfd;
}

.contragents_list {
   font-size: 11pt;
}

.contragents_list tbody tr:nth-child(4n-3) {
   background: #fff
}

.contragents_list tbody tr:nth-child(4n-2) {
   background: #fff
}

.contragents_list tbody tr:nth-child(4n) {
   background: #eee;
   border-top: 1px dashed #aaa;
   border-bottom: 1px dashed #aaa;
}

.contragents_list tbody tr:nth-child(4n-1) {
   background: #eee;
   border-top: 1px dashed #aaa;
   border-bottom: 1px dashed #aaa;
}

.reports_container {
   display: flex;
   flex-wrap: wrap;
   width: 100%;
   z-index: 1;
}

.reports_roles {
   border: 1px solid #aaa;
   margin: 2px;
   padding: 10px;
   width: 30%;
   min-width: 280px;
   background: rgba(255, 255, 255, 0.8);
   border-radius: 5px;
   text-align: left;
}

.work_types_material_search_background {
   background: #ccf;
}

/*
.bottom_panel_buttons {
   position: absolute;
   width: calc(100% - 40px);
   padding: 20px;
   bottom: 0px;
   border-radius: 0px 0px 10px 10px;
   text-align: center;
   background: #dcdcff;
}
*/

.object_passive {
   display: inline-block;
   font-family: Tahoma;
   cursor: pointer;
   margin: 5px;
   padding: 10px;
   border-radius: 5px;
   background: #eee;
   white-space: nowrap;
   user-select: none;
}

.object_active {
   padding: 10px;
   border-radius: 5px;
   background: #aea;
   user-select: none;
   display: inline-block;
   white-space: nowrap;
}

.user_profile_list {
   display: inline-block;
   font-size: 12pt;
   background: #eee;
   border-radius: 5px;
   white-space: nowrap;
   user-select: none;
   margin: 5px;
   padding: 10px;
}

.works_material_cell {
   background: #eee;
}

.works_no_materials {
   background: #faa;
}

.invoice_active {
   color: #00f;
}

.userpic {
   border-radius: 5px;
}

.text_gray {
   color: #777;
}

.table_cell {
   border: 1px solid #aaa;
   background: #fff;
}

.sort_symbol {
   position: absolute;
   font-size: 15pt;
   font-weight: normal;
   top: 0px;
   right: 0px;
}

.line_selected {
   background: #ccf;
}

.table_header_container {
   position: relative;
   min-width: 80px;
   user-select: none;
}

.ui_checkbox_container {
   display: inline-block;
   margin: 10px;
   background: #fff;
   border-radius: 0px 0px 5px 5px;
}

.ui_list_container {
   display: inline-block;
   margin: 10px;
   padding: 5px;
   position: relative;
   background: #fff;
   border-radius: 0px 0px 5px 5px;
}

.ui_checkbox_value {
   cursor: pointer;
   text-align: align;
   -moz-user-select: -moz-none;
   -o-user-select: none;
   -khtml-user-select: none;
   -webkit-user-select: none;
   user-select: none;
   background: #fff;
   border-radius: 0px 0px 5px 5px;
}

.ui_text {
   font-size: 8pt;
   border-top: 1px solid #777;
   user-select: none;
   background: #fff;
   border-radius: 0px 0px 5px 5px;
}

.ui_link {
   cursor: pointer;
   color: #00c;
   text-decoration: none;
   font-weight: normal;
}

/*
.ui_field_description {
   font-size: 10pt;
   border-top: 1px solid #fff;
   user-select: none;
   border-radius: 0px 0px 5px 5px;
}
*/

a:link.ui_link {
   color: #007;
   text-decoration: none
}

a:hover.ui_link {
   color: #00f
}

.variable {
   display: inline-block;
   border: 1px solid #aaa;
}

.worktime_master_name {
   color: #777;
   font-size: 8pt;
}

:root {
   --border-width: 1px;
   --border-color: #aaa;
   --border: var(--border-width) solid var(--border-color);
}

.table_sticky tbody tr:nth-child(odd) {
   background: #fff;
}

.table_sticky tbody tr:nth-child(even) {
   background: #eee;
}

.table_sticky td {
   padding-left: 5px;
   padding-right: 5px;
}

.table_sticky {
   border-collapse: separate;
   border-spacing: 1px;
   font-size: 10pt;
}

.th_sticky,
.td_sticky {
   border-right: var(--border);
   border-bottom: var(--border);
}

.th_sticky:first-child,
.td_sticky:first-child {
   border-left: var(--border);
}

.thead_sticky .tr_sticky:first-child .th_sticky {
   border-top: var(--border);
}

.estimates_payments {
   display: none;
}

/* Редактирование пользователя */
.user_table_header {
   text-align: right;
}

/*
╔═══════════════╗
║ ► Строители ◄ ║
╚═══════════════╝
*/

.employee-rfid {
   display: inline;
   padding: 1px 5px;
   border-radius: 3px;
   cursor: pointer;
   user-select: none;
}

.employee-rfid-artive {
   background: #ccc;
}

/*
╔════════════╗
║ ► Помощь ◄ ║
╚════════════╝
*/

#help {
   font-size: 12pt;
   text-align: left;
   padding: 20px;
   max-height: 50vh;
   overflow-y: auto;

   .title {
      margin: 10px 0px;
      font-size: 15pt;
   }

   .link {
      color: var(--text-link-color);
      cursor: pointer;
      text-decoration: none;
      border-bottom: 1px dashed #777;
   }

   .back {
      cursor: pointer;
   }

   h1 {
      font-size: 18pt;
      font-weight: normal;
      color: #555;
   }

   h2 {
      font-size: 15pt;
      font-weight: normal;
      color: #555;
   }

   quote {
      background: #eee;
      padding: 2px 5px;
      border: 1px solid #aaa;
   }

}

.help_key {
   display: flex;
   flex-direction: column;
   text-align: center;

   .key {
      border: 1px solid #aaa;
      border-radius: 5px;
      background: #afa;
      padding-left: 10px;
      padding-right: 10px;
   }

}

/* Выбираторы */

.item_link {
   cursor: pointer;
}

/* Стили по умолчанию */

a:visited.subheader_link {
   color: #eee;
}

a:link.subheader_link {
   color: #eee;
   text-decoration: none
}

a:active.subheader_link {
   color: #eee;
}

a:hover.subheader_link {
   color: #ee0;
   padding-top: 7px
}

.page-filters-container {
   align-self: flex-start;
   position: sticky;
   text-align: center;
   width: 250px;
   top: 40px;
   background: #fff;
   border-radius: 10px;
   padding: 10px;
   margin: 10px;
   font-size: 10pt;
}

.ui_field_container {
   display: inline-block;
   position: relative;
   margin: 5px;
   padding: 5px;
   text-align: center;
   font-family: Tahoma;
   font-size: 8pt;
   border: 1px solid #fff;
   border-radius: 5px;
   user-select: none;
}

.ui_field_selected {
   box-shadow: 2px 2px 3px 0px #777;
   border: 1px solid #ccc;
}

.ui_field_description {
   position: relative;
   color: #777;
   font-family: Tahoma;
   font-size: 8pt;
   white-space: nowrap;
}

.ui_list_close_sign {
   cursor: pointer;
   display: inline-block;
   right: 5;
   position: absolute;
}

.ui_list_selected {
   border: 2px dashed #333;
   background: #ccf;
}

.ui_hand {
   cursor: pointer;
}

/* Строка в выпадающем списке */
.ui_list_item {
   position: relative;
   cursor: pointer;
}

.input_auto_container {
   width: 200px;
   background: #eee;
   border: 0px solid #777;
   border-bottom: 1px solid #aaa;
   padding-top: 2px;
   padding-bottom: 2px;
   outline: none;
}

.input_auto {
   background: #fff;
   font-size: 14pt;
   border: 0px solid #000;
   outline: none;
   width: calc(100% - 28px);
   border-bottom: 1px solid #777;
   padding-left: 5px;
   padding-right: 5px;
   font-family: Tahoma;
}

.input_auto_button {
   cursor: pointer;
   float: right;
   margin-right: 2px;
   width: 24;
   height: 24;
   border: 0px;
   color: #ccc;
   outline: none;
}

.input_auto_button_active {
   color: #000;
}

.input_auto_wrong_value {
   background-color: #faa;
}

/* Контейнер */

.drop_down_list {
   width: 200px;
   margin: 50 auto;
   padding: 10px;
   z-index: 300;
   cursor: pointer;
   background: #fff;
   border: 1px solid #aaa;
   border-radius: 3px;
   text-align: center;
   font-family: Tahoma;
   user-select: none;
}

.material_balance {
   padding-left: 5px;
   padding-right: 5px;
}

.material_balance_deficit {
   background: #f33;
   border-radius: 5px;
   color: #fff;
}

.material_balance_negative {
   color: #ff0;
   background: #f33;
   border-radius: 5px;
}

/* Таблицы с вертикальными линиями для фиксированных заголовков */

.table_fix {
   border-collapse: collapse;
}

.table_fix_header {
   top: 0px;
   position: sticky;
   background: #dde;
   border-left: 1px solid #aaa;
   border-right: 1px solid #aaa;
}

.table_fix_body {
   border-left: 1px solid #aaa;
   border-right: 1px solid #aaa;
}

.table_fix_footer {
   position: sticky;
   bottom: 0px;
   background: #dde;
}

/* Ссылка на архив изменений позиции в счёте */
.invoice_archive_link {
   position: sticky;
   bottom: 0px;
   background: #dde;
   background: #0ff;
}

/*
╔═══════════╗
║ ► Сметы ◄ ║
╚═══════════╝
*/

/* Таблица со сметами */
.estimates_table {
   border: 1px solid #aaa;
   border-top: none;
   border-bottom: none;
   font-size: 10pt;
   /* border-collapse: separate; */
}

/*
.table {
    border-collapse: separate;
    border-spacing: var(--border-width);
}

thead {
    position: sticky;
    top: var(--border-width);
}

th, td {
    box-shadow:
        0 0 0
        var(--border-width)
        var(--border-color);
}
*/

/* Закладки для работ */

/* border-radius радиус для верхнего левого, верхнего правого, нижнего правого и нижнего левого уголка */
.estimates_tab {
   background: #eee;
   padding: 5px 10px;
   margin: 0px 3px;
   cursor: pointer;
   top: 0px;
   bottom: 0px;
   border-radius: 0px 0px 5px 5px;
}

.estimates_tab_active {
   background: #aaa;
}

/* Навигатор по датам со стрелками */
.estimates_payments_month_navigator {
   width: 100%;
   display: flex;
   justify-content: space-between;
}

/* Выбиратор дат для смет */
.estimates_payments_month_selector {
   display: flex;
   justify-content: space-between;
   width: 100%;
}

/* Неактивная стрелка выбора даты */
.estimates_payments_month_navigator_arrow_passive {
   color: #aaa;
}

/* Символ для навигации по месяцам оплат в сметах */
.estimate_payment_navigate_point {
   display: inline-block;
   margin: 2px;
   cursor: pointer;
   user-select: none;
   width: 10px;
   height: 10px;
   background: #0a0;
   border-radius: 50%;
}

.estimate_payment_navigate_point_current {
   background: #0d0;
}

/* Навигатор по месяцам оплат в смете */

.estimates_totals_counter_bar {
   margin: 5px;
}

/*
╔═╤══════════════════════╤═╗
║ │ ► Объекты и склады ◄ │ ║
╚═╧══════════════════════╧═╝
*/

.w-type-wrapper {
   width: 200px;
   text-align: center;
   margin: 10px auto;
}

#w-type-label {
   color: #000;
}

/*
╔═╤═══════════════════════════╤═╗
║ │ ► Карточка пользователя ◄ │ ║
╚═╧═══════════════════════════╧═╝
*/

.tab_block {
   background: #fff;
}

/*
╔═╤══════════════════════════╤═╗
║ │ ► Профайл пользователя ◄ │ ║
╚═╧══════════════════════════╧═╝
*/

.profile-wrapper {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
}

.profile-wrapper::after {
   content: "";
   flex: 1;
}

.profile-tab-block {
   flex-grow: 1;
}

.profile-dropzone {
   border: 2px dashed #fff;
   padding: 10px;
}

.profile-dragover {
   background: #ddd;
   border-radius: 5px;
   border: 2px dashed #777;
}

.profile-language-icon {
   background: #fff;
   padding: 3px;
   margin: 5px;
   cursor: pointer;
   border-radius: 3px;
}

.profile-language-icon-selected {
   background: #ccc;
}

.profile-theme-preview {
   margin: 3px;
   cursor: pointer;
   padding: 5px;
   border-radius: 5px;
}

.profile-theme-preview-selected {
   box-shadow: 2px 2px 3px 0px #777;
}


.profile-themes-bg-list {
   box-shadow: 2px 2px 3px 0px #777;
}

/* Окно редактирования групп материалов */

.wg-window-wrapper {
   width: 600px;
   height: 60vh;
   left: calc(50% - 300px);
   top: 150px;
   min-height: 400px;
   user-select: none;

   .blocks-wrapper {
      display: flex;
      gap: 10px;
      padding: 10px;
      height: calc(100% - 100px);
   }

   .block {
      flex-basis: 50%;
      display: flex;
      flex-direction: column;
      align-content: flex-start;
      justify-content: space-between;
      padding: 10px;
      border: 1px dashed #aaa;
      border-radius: 5px;
   }

   .button-new-wrapper {
      display: flex;
      justify-content: flex-end;
      cursor: pointer;
   }

}

/* Прокрутка */

.scroll::-webkit-scrollbar {
   width: 3px;
}

.scroll::-webkit-scrollbar-track {
   width: 3px;
   background-color: #aca;
}

.scroll::-webkit-scrollbar-thumb {
   width: 5px;
   background-color: #77f;
}

/* Редактор технических групп */

.tg_item {
   color: #fff;
   display: flex;
   align-items: center;
   gap: 5px;

   color: var(--form-button-color);
   background: var(--form-button-background);
   min-height: 32px;
   padding-left: 10px;
   padding-right: 10px;
   margin-left: 10px;
   margin-right: 10px;
   border: 0px solid #aaa;
   border-radius: 5px;
   text-decoration: none;
   outline: none;

   position: relative;
   width: 90%;
}

.tg_item_active {
   background: var(--tg-item-active-background);
}

.pg_item {
   margin: 3px;
   font-size: 10pt;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 3px;
   word-wrap: nowrap;
   background: #ddd;

   min-height: 24px;
   padding-left: 5px;
   padding-right: 5px;
   margin-left: 5px;
   margin-right: 5px;
   border: 0px solid #aaa;
   border-radius: 5px;
   text-decoration: none;
   outline: none;

   position: relative;
   min-width: 100px;
}

.pg_item_active {
   background: var(--pg-item-active-background);
}

.tg_block {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 5px;
   flex-shrink: 1;
   height: 100%;
   overflow-y: auto;
   padding: 5;
}

/* Разное */

/* Ссылка */
.pointer {
   cursor: pointer;
   user-select: none;
}

.filter_label {
   border-radius: 5px;
   display: inline-block;
   background: var(--filter-label-background);
   color: var(--filter-label-color);
   padding: 0px 10px;
   margin: 3px;
}

.material_label {
   display: inline-block;
   background: var(--material-label-background);
   margin: 3px;
   padding: 3px 5px;
   border-radius: 5px;
}

/* Общие стили */

.red-bold {
   color: #f00;
   font-weight: bold;
}

.bg-red {
   background: #f00;
}

.noselect {
   user-select: none;
}

/* Классы для изменения цвета текста */

.c-black {
   color: #000;
}

.c-gray {
   color: #777;
}

.c-red {
   color: #f00;
}

/* Классы для изменения размера шрифта */

.f8 {
   font-size: 8pt;
}

.f9 {
   font-size: 9pt;
}

.f10 {
   font-size: 10pt;
}

.f12 {
   font-size: 12pt;
}

/* Элемент, в котором текст по центру, а иконка - слева */

.name-icon-container {
   display: inline-flex;
   /* или flex для блочного элемента */
   align-items: center;
   /* Выравнивание по вертикали по центру */
   justify-content: flex-start;
   /*Выравнивание по горизонтали слева. Основной контейнер не имеет фиксированной ширины, а подстраивается под содержимое */
   width: 100%;
   /* Растягиваем контейнер на всю ширину ячейки */

   .n-name {
      flex-grow: 1;
      /* Растягиваем name, чтобы занять все доступное пространство */
      /* text-align: center; 
      /* Центрируем текст name внутри flex-элемента */
   }

   .n-icon {
      margin-right: 5px;
      /* Отступ между иконкой и именем */
      width: 1.4em;
   }

}

.link {
   border: 0 !important;
   text-decoration-line: underline !important;
   text-decoration-style: dashed;
   text-underline-offset: 2px;
   color: #55a;
}

/* Метка для местонахождения (Центральный склад, объект etc.) */
.location-label {
   display: inline !important;
}

.grayscale {
   filter: grayscale(100%);
   /* 100% - полностью серый */
}

.label-white-on-red {
   color: #fff;
   background: #f00;
   padding: 0px 5px;
   border-radius: 5px;
}

/* Для списка ответственных лиц в заявках */
.label-white-on-red .drop-down-list {
   color: #000;
}

.mono,
.mono * {
   font-family: Consolas, "Courier New", monospace !important;
}

.w100 {
   width: 100%;
}

.center {
   text-align: center;
}

.right {
   text-align: right;
}

.noselect {
   user-select: none;
}

/* Сообщение о загрузке данных. Используется в карточке пользователя */
.loader_message {
   position: absolute;
   width: 80%;
   top: 50%;
   transform: translateY(-50%);
   text-align: center;
}