:root {
    --accent: #37474F; /* шапка, заголовки форм */
    --accent-dark: #263238; /* наведение, активный пункт меню */
    --accent-soft: #CFD8DC; /* выделенная строка таблицы */
    --accent-light: #ECEFF1; /* мягкий фон: футер, автодополнение */
    --accent-contrast: #FFFFFF; /* текст на основном цвете */

    --font-family: Segoe UI, arial, sans-serif;
    --font-ui: 15px; /* интерфейс: шапка, формы, диалоги */
    --font-grid: 13px; /* таблица: ячейки, фильтры, пейджер */
}

html,
body {
    width: 100%;
    min-height: 100%;
    color: #222222;
}

body {
    font: var(--font-ui)/1.4 var(--font-family);
    margin: 0;
    overflow: hidden;
}

::-moz-selection {
    background: var(--accent-soft);
    text-shadow: none;
}

::selection {
    background: var(--accent-soft);
    text-shadow: none;
}

a {
    text-decoration: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
    overflow: auto;
}

textarea:focus, input:focus, button:focus, select:focus {
    outline: none;
}

input::-ms-clear {
    display: none;
}

input {
    outline: none;
}

input:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 50px #fff !important;
    -webkit-text-fill-color: #666 !important;
    color: #666 !important;
}

*:focus {
    outline: none;
}

::-webkit-input-placeholder {
    color: #666;
}

::-moz-placeholder {
    color: #666;
}

:-moz-placeholder {
    color: #666;
}

:-ms-input-placeholder {
    color: #666;
}

.ui-jqgrid-view table {
    border-collapse: collapse;
}

.ui-jqgrid-ftable td {
    background-color: var(--accent-light);
}

.auth-form {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    padding: 0 1.5rem 1.25rem;
    width: 280px;
    background: #FFFFFF;
    border: 1px solid var(--accent);
    border-radius: 10px;
    overflow: hidden;
}

.auth-form__header {
    margin: 0 -1.5rem 2rem;
    font-size: 18px;
    font-weight: 500;
    padding: .9rem;
    background-color: var(--accent);
    color: var(--accent-contrast);
    text-align: center;
}

.auth-form__header span {
    position: absolute;
    top: .9rem;
    right: 1.5rem;
    font-size: 14px;
}

.auth-form__content input {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 1rem;
    padding: .5rem;
    font: var(--font-ui)/1.4 var(--font-family);
    border: 1px solid #ddd;
    border-radius: 4px;
}

.auth-form__content input:focus {
    border-color: var(--accent);
}

.auth-form__buttons {
    text-align: center;
}

.auth-form .btn {
    padding: .6rem 1.75rem;
    font-size: var(--font-ui);
    text-transform: uppercase;
    background: var(--accent);
    border-color: var(--accent);
    border-radius: 4px;
    color: var(--accent-contrast);
}

.auth-form .btn:hover {
    background: var(--accent-dark);
    border-color: var(--accent-dark);
}

.app-header small {
    font-size: 14px;
}

.top-bar {
    width: 100%;
    padding: 4px;
    margin: 0;
    box-sizing: border-box;
}

.app-header {
    display: inline-block;
    vertical-align: middle;
    font-size: 18px;
    font-weight: 600;
    color: var(--accent-contrast);
    margin: 0;
    padding: 7px 14px;
}

.but-header {
    display: inline-block;
    font-weight: bold;
    color: var(--accent-contrast);
    margin: 0;
    padding: 7px 14px;
}

.user-info {
    float: right;
    display: table;
    padding: 7px 14px;
}

.user-info__name {
    font-size: var(--font-ui);
    font-weight: 600;
    display: table-cell;
    vertical-align: middle;
    color: var(--accent-contrast);
    padding: 0 10px;
}

.top-bar__exit {
    vertical-align: middle;
}

.top-bar_exit-link {
    padding: 5px 14px;
    margin-right: 0;
}

.ui-select-autocomplete {
    position: relative;
    display: inline-block;
}

.ui-select-autocomplete-toggle {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -2px;
    padding: 0;
}

.ui-select-autocomplete input {
    padding: 3px 6px;
}

.ui-menu.ui-widget-content.ui-autocomplete .ui-state-active {
    border: 1px solid #ababab;
    font-weight: normal;
}

.ui-autocomplete {
    max-height: 320px;
    width: 400px !important;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 1px;
    font-size: var(--font-grid);
}

.ui-widget-content.subgrid-data {
    padding: 10px;
}

.hover_drag {
    background-color: rgba(241, 241, 241, 0.77) !important;
    outline: 2px dashed #777;
    z-index: 999;
}

.ui-jqdialog-content input[type="text"]:disabled {
    background-color: rgb(245, 245, 244);
}

.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {
    padding: 10px;
}

.ui-autocomplete.ui-front {
    z-index: 1000;
}

#sopt_menu a {
    padding: 4px;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    width: 1px;
    opacity: 0;
    pointer-events: none;
}

.required {
    color: red;
}

input[type="text"]:disabled {
    background-color: rgb(235, 235, 228);
}

.ui-jqgrid-bdiv::-webkit-scrollbar {
    width: 0;
}

.file-uploader {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

/*.file-uploader-label {*/
/*    width: 100%*/
/*}*/