div.ToolBox {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    background: linear-gradient(to right, rgba(33, 37, 41, 0.37), transparent);
    border: 1px solid rgba(33, 37, 41, 0.37)
    }
*.ToolButton, *.ToolButton::before, *.ToolButton::after {
    box-sizing: border-box;
    /* Makes layout sizing much easier */
    }
body.ToolButton, .ToolButton.d {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    color: #212529;
    background: #fff;
    padding: 0;
    margin: 0;
    text-align: left;
    line-height: 1.5;
    /* Improves readability across browsers */
    }
@media all and (max-width: 800px) {
    body.ToolButton {
        padding-left: 0;
        padding-right: 0
        }
    }
.ToolButton.hidden {
    display: none !important
    }
.ToolButton.flex-break {
    flex-basis: 100%;
    height: 0
    }
.ToolButton.dummy {
    display: contents
    }
label.ToolButton, .ToolButton.group {
    display: block;
    width: 100%;
    padding-top: 0.375rem
    }
label.ToolButton.inline, .ToolButton.group.inline {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    padding-right: 0.3rem
    }
label.ToolButton.inline > span.ToolButton, .ToolButton.group.inline > span.ToolButton {
    padding-right: 0.5rem
    }
label.ToolButton.block > span.ToolButton, .ToolButton.group.block > span.ToolButton {
    display: block;
    padding-bottom: 0.5rem
    }
label.ToolButton.block > input.ToolButton, label.ToolButton.block > textarea.ToolButton, .ToolButton.group.block > input.ToolButton, .ToolButton.group.block > textarea.ToolButton {
    display: block
    }
label.ToolButton > input.ToolButton:not([type="checkbox"]):not([type="radio"]), label.ToolButton > select.ToolButton, label.ToolButton > textarea.ToolButton, .ToolButton.group > input.ToolButton:not([type="checkbox"]):not([type="radio"]), .ToolButton.group > select.ToolButton, .ToolButton.group > textarea.ToolButton {
    height: calc(1.5em + 0.75rem + 2px);
    border: 1px solid #a9bace;
    border-radius: 0.4rem;
    padding: 0.375rem 0.75rem;
    transition: all 0.15s ease-in-out
    }
label.ToolButton > input.ToolButton:not([type="checkbox"]):not([type="radio"]):focus, label.ToolButton > select.ToolButton:focus, label.ToolButton > textarea.ToolButton:focus, .ToolButton.group > input.ToolButton:not([type="checkbox"]):not([type="radio"]):focus, .ToolButton.group > select.ToolButton:focus, .ToolButton.group > textarea.ToolButton:focus {
    border: 1px solid #586CF9;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(88, 108, 249, 0.58)
    }
label.ToolButton > input.ToolButton:not([type="checkbox"]):not([type="radio"]).wide, label.ToolButton > select.ToolButton.wide, label.ToolButton > textarea.ToolButton.wide, .ToolButton.group > input.ToolButton:not([type="checkbox"]):not([type="radio"]).wide, .ToolButton.group > select.ToolButton.wide, .ToolButton.group > textarea.ToolButton.wide {
    width: 100%
    }
label.ToolButton > select.ToolButton[multiple], label.ToolButton > textarea.ToolButton, .ToolButton.group > select.ToolButton[multiple], .ToolButton.group > textarea.ToolButton {
    height: auto
    }
label.ToolButton.required span.ToolButton::after, .ToolButton.group.required span.ToolButton::after {
    content: "*"
    }
label.ToolButton.error > input.ToolButton, label.ToolButton.error > select.ToolButton, .ToolButton.group.error > input.ToolButton, .ToolButton.group.error > select.ToolButton {
    border-color: #ff131d !important
    }
label.ToolButton.error > .ToolButton.message, .ToolButton.group.error > .ToolButton.message {
    color: #ff131d;
    font-size: 0.75rem;
    width: 100%
    }
label.ToolButton.error > .ToolButton.message::before, .ToolButton.group.error > .ToolButton.message::before {
    page-break-before: always
    }
fieldset.ToolButton {
    margin-top: 0.375rem;
    margin-bottom: 0.375rem
    }
legend.ToolButton {
    padding-left: 0.375rem;
    padding-right: 0.375rem
    }
input.ToolButton[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin-bottom: 0;
    width: 0.8rem;
    height: 0.8rem;
    border: 1px solid #586CF9;
    transition: all 0.2s ease-in-out;
    outline: 0
    }
input.ToolButton[type="checkbox"]:checked {
    border-width: 0.4rem;
    background-color: #586CF9
    }
input.ToolButton[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 0.8rem;
    height: 0.8rem;
    border: 1px solid #586CF9;
    border-radius: 0.4rem;
    background-color: #a9bace;
    transition: all 0.2s ease-in-out;
    outline: 0;
    margin-right: 0.5rem
    }
input.ToolButton[type="radio"]:checked {
    background-color: #586CF9;
    border-width: 0.4rem
    }
button.ToolButton {
    min-width: 7em;
    display: block;
    text-align: center;
    height: 1.6em;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color: #04122b;
    background: #fcfdc2;
    background: linear-gradient(166deg, white 0%, #fcfdc2 45%, #fcfdc2 78%, #fefff3 100%);
    border: none;
    border-left: solid 1px;
    border-right: solid 1px;
    /*transition: background-color 0.15s ease-in-out;*/
    margin: 0.2rem 0
    }
button.ToolButton:disabled {
    color: #a9bace
    }
button.ToolButton:hover {
    background: #fefff3
    }
button.ToolButton.danger {
    background: linear-gradient(166deg, white 0%, #fbd1c5 45%, #fbd1c5 78%, #fef7f5 100%)
    }
button.ToolButton.danger:hover {
    background: #fef7f5
    }
button.ToolButton.green {
    background: linear-gradient(166deg, #c5eeb9 0%, #80da67 45%, #80da67 78%, #a2e490 100%)
    }
button.ToolButton.green:hover {
    background: #a2e490
    }
button.ToolButton.default {
    font-weight: bold
    }
.HelpMessage.help {
    display: inline-flex;
    align-items: center
    }
.HelpMessage.help .HelpMessage.question {
    width: 2rem;
    height: 1.5rem;
    padding: 0.5rem 0 0 0;
    background: url(https://bazi02.netbrains.ru/static/icons/question-circle.svg) center no-repeat
    }
.HelpMessage.help .HelpMessage.content {
    background-color: #000;
    color: #fff;
    border-radius: 0.4rem;
    padding: 0.25rem 0.5rem;
    word-break: break-word
    }
.HelpMessage.fog {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000
    }
.HelpMessage a { color: #fff; }

div.ToolSpace {
    flex: 1
    }
div.InlineGroup {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-content: space-between;
    gap: 0.25rem
    }
div.InlineGroup > label {
    padding-left: 0.12rem
    }
div.InlineGroup > button {
    margin-left: 0.12rem;
    margin-right: 0.12rem;
    flex: 1 1
    }
button.Button {
    display: block;
    text-align: center;
    vertical-align: middle;
    border-radius: 0.25rem;
    margin-top: 0.5rem;
    margin-bottom: 0.25rem;
    cursor: pointer;
    color: #fff;
    border: 1px solid #006fe6;
    background-color: #007bff;
    padding: 0.375rem 0.75rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: all 0.15s ease-in-out
    }
button.Button:focus, button.Button:hover {
    background-color: #0062cc;
    border-color: #0056b3;
    box-shadow: 0 0 0 3px rgba(88, 108, 249, 0.5)
    }
button.Button.default {
    font-weight: bold
    }
button.Button:disabled {
    background-color: grey
    }
form.CardForm {
    border: 1px solid #2977aa;
    border-radius: 0.4rem;
    padding: 0.375rem 0.56rem 0.75rem 0.56rem;
    margin-top: 0.6rem;
    background: #d6ecfb;
    background: linear-gradient(139deg, #a2daff 0%, #ace6f6 70%, #c0ffe2 100%)
    }
.CardForm.header {
    width: 100%;
    text-align: center;
    font-weight: bold;
    padding: 0.5em;
    background-color: #2977aa;
    border: 1px solid #2977aa;
    color: #eee;
    border-top-left-radius: 0.4rem;
    border-top-right-radius: 0.4rem
    }
form.CardForm.with-header {
    padding: 0
    }
form.CardForm.with-header > .CardForm.content {
    padding: 0.375rem 0.56rem 0.75rem 0.56rem
    }
.Dialog.modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-flow: row nowrap;
    align-content: center;
    align-items: center;
    justify-content: center;
    background-color: rgba(161, 153, 121, 0.15);
    /*text-shadow: 2px 2px rgba(0,0,0,0.56);*/
    z-index: 1000
    }
.Dialog.modal > div.Dialog {
    /*width: 33vw;*/
    background: white;
    max-width: 66vw;
    border: 1px solid black;
    padding: 0.5rem;
    box-shadow: 5px 5px 3px black
    }
form.DBTableForm {
    line-height: 2em;
    border: 1px solid #2977aa;
    padding: 0.375rem 0.56rem 0.75rem 0.56rem;
    background: #d6ecfb
    }
.FilterTableLine.field {
    padding-top: 0
    }
.FilterTable.filters {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    min-height: 2em;
    width: 100%;
    background: linear-gradient(125deg, #e1e1e1 0%, white 100%);
    border: 1px solid #212529
    }
.FilterTable.filter {
    padding: 0.3em 1em;
    border: 1px solid #212529;
    border-radius: 3px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
    }
.FilterTable.nofilter {
    color: #a9bace;
    padding: 0.3em 1em;
    font-style: italic
    }
.FilterTable.configure {
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
    }
.FilterTable.spacer {
    flex-grow: 1
    }
.FilterTable.close-mark {
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
    }
.FilterTable.container {
    width: 100%;
    background: #d6ecfb
    }
.FilterTable.filters-form {
    display: grid;
    grid-template-columns: 1rem minmax(10rem, max-content) 3rem minmax(10rem, max-content);
    grid-auto-columns: minmax(10rem, max-content);
    gap: 0.2rem 0.3rem;
    align-items: center;
    padding: 0.3rem 1rem
    }
@charset "UTF-8";
.Table.container { overflow: auto; width: 100%; /*max-height: 100vh;*/ }

.Table table { table-layout: fixed; width: 100%; border: 1px solid #212529; border-collapse: collapse; min-width: 800px; max-width: 100%; }

.Table thead th { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; border: 1px solid #212529; padding: 2px 0 2px 3px; text-overflow: ellipsis; overflow: hidden; background-color: #0082e8; color: white; position: -webkit-sticky; position: sticky; top: -1px; box-shadow: inset 0 1px 0 #212529, inset 0 -1px 0 #212529; }

.Table thead th .cap::first-letter { text-transform: uppercase; }

.Table thead th > div { display: flex; flex-flow: row nowrap; }

.Table thead th > div .cap { flex-grow: 1; }

.Table thead th > div .sortable { font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 18px; flex-grow: 0; }

.Table thead th > div .sortable:after { content: '⇅'; cursor: pointer; }

.Table thead th > div .sortable.asc:after { content: '⬇'; }

.Table thead th > div .sortable.desc:after { content: '⬆'; }

.Table thead th > div > .resizable { flex-grow: 0; width: 5px; cursor: col-resize; }

.Table tbody td { border: 1px solid #212529; padding: 2px 3px; text-overflow: ellipsis; overflow: hidden; transition: box-shadow .15s ease-in-out; background: #fff; }

.Table tbody td:hover { box-shadow: 0 0 0 3px rgba(249, 181, 42, 0.5); }

.Table tbody > tr.selected > td { background-color: #fffccc !important; }

.Table tbody > tr.selected > td.selected { background-color: #fff999 !important; }

.Table.resizing { background-color: #586CF9; background: linear-gradient(180deg, #586cf9 0%, rgba(88, 108, 249, 0) 100%); }

.Table td.empty { padding-left: 0.5em; color: #a9bace; }

a.MenuItem {
    display: flex;
    justify-content: space-between;
    color: #fff;
    font-weight: bold;
    padding: 0.2rem 0.3rem 0.2rem 0.5rem;
    transition: all 0.12s ease-in-out;
    cursor: pointer;
    border-top: 1px solid black
    }
a.MenuItem > .MenuItem.arrow:after {
    content: ">"
    }
a.MenuItem:hover {
    background: #cecece
    }
nav.PopupMenu {
    padding: 0;
    background: #9f9f9f;
    border: 1px solid #212529;
    overflow: auto;
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
    z-index: 1
    }
.MenuGroup.caption {
    display: flex;
    justify-content: space-between;
    color: #8bfd23;
    font-weight: bold;
    padding: 0.2rem 0.3rem 0.2rem 0.5rem;
    transition: color 0.12s ease-in-out;
    cursor: pointer;
    border-top: 1px solid black
    }
.MenuGroup.caption.toggle {
    color: #fdf623
    }
.MenuGroup.caption > .MenuGroup.arrow:after {
    content: "..."
    }
.MenuGroup.caption:hover {
    background: #cecece
    }
.MenuGroup.group {
    transform-origin: top;
    max-height: 100vh;
    transition: all 400ms ease;
    padding-left: 0.5rem
    }
.MenuGroup.group.hide {
    transform: scaley(0);
    transform-origin: top;
    max-height: 0
    }
nav.SideMenu {
    width: 100%;
    padding: 0;
    background: #9f9f9f;
    border: 1px solid #212529
    }
.GridII.grid {
    display: grid;
    grid: "leftcol splitter-h main" auto/minmax(10em, min-content) 3px auto
    }
.GridII.grid.fullscreen {
    height: 100vh
    }
.GridII.leftcol {
    grid-area: leftcol;
    overflow: hidden;
    background: #a5a5a5;
    background: repeating-linear-gradient(45deg, #888, #888 5px, #999 5px, #999 10px)
    }
.GridII.main {
    grid-area: main;
    overflow: auto;
    background: repeating-linear-gradient(0deg, #EEE, #EEE 1px, transparent 1px, transparent 20px)
    }
.GridII.splitter {
    overflow: hidden;
    margin: 0;
    padding: 0
    }
.GridII.splitter.h {
    grid-area: splitter-h;
    cursor: ew-resize;
    background: linear-gradient(to bottom, #212529 0%, rgba(33, 37, 41, 0) 100%)
    }
.GridII.moving.h {
    background: linear-gradient(to bottom, #586cf9 0%, rgba(88, 108, 249, 0) 100%)
    }
.GridX.box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%
    }
.GridX.box.fullscreen {
    min-height: 100vh
    }
.GridR.grid {
    display: grid;
    grid: "header header header" minmax(2em, max-content) "splitter-v splitter-v splitter-v" 3px "leftcol splitter-h main" auto/minmax(10em, min-content) 3px auto
    }
.GridR.grid.fullscreen {
    height: 100vh
    }
.GridR.header {
    grid-area: header;
    overflow: hidden;
    background: #eee;
    background: linear-gradient(125deg, #e1e1e1 0%, white 100%)
    }
.GridR.leftcol {
    grid-area: leftcol;
    overflow: hidden;
    background: #a5a5a5;
    background: repeating-linear-gradient(45deg, #888, #888 5px, #999 5px, #999 10px)
    }
.GridR.main {
    grid-area: main;
    overflow: auto;
    background: repeating-linear-gradient(0deg, #EEE, #EEE 1px, transparent 1px, transparent 20px)
    }
.GridR.splitter {
    overflow: hidden;
    margin: 0;
    padding: 0
    }
.GridR.splitter.h {
    grid-area: splitter-h;
    cursor: ew-resize;
    background: linear-gradient(to bottom, #212529 0%, rgba(33, 37, 41, 0) 100%)
    }
.GridR.splitter.v {
    grid-area: splitter-v;
    cursor: ns-resize;
    background: linear-gradient(to right, #212529 0%, rgba(33, 37, 41, 0) 100%)
    }
.GridR.moving.h {
    background: linear-gradient(to bottom, #586cf9 0%, rgba(88, 108, 249, 0) 100%)
    }
.GridR.moving.v {
    background: linear-gradient(to right, #586cf9 0%, rgba(88, 108, 249, 0) 100%)
    }
.Taskbar.taskbar {
    display: flex;
    flex-flow: row wrap;
    border-top: solid black 2px;
    border-bottom: solid black 2px;
    width: 100%
    }
.Taskbar.taskbar div.Taskbar {
    flex-grow: 1;
    max-width: 100%;
    min-width: 10em;
    border-right: solid black 2px;
    border-top: solid black 1px;
    transition: background-color ease 2s;
    cursor: pointer;
    padding-left: 0.33rem
    }
.Taskbar.taskbar div.Taskbar:hover {
    background: repeating-radial-gradient(circle at 50% 100%, rgba(200, 200, 200, 0.1), rgba(200, 200, 200, 0.1) 3px, rgba(30, 30, 30, 0.1) 3px, rgba(30, 30, 30, 0.1) 6px) !important
    }
.Taskbar.taskbar div.Taskbar.active {
    font-weight: bold
    }
.Taskbar.title {
    display: flex;
    border-bottom: solid black 2px;
    border-top: solid black 1px;
    font-weight: bold
    }
.Taskbar.title div.Taskbar {
    border-right: solid black 2px
    }
.Taskbar.title .Taskbar.title-content {
    width: 100%;
    align-self: center;
    background-color: #0042c1;
    background: linear-gradient(to right, #0042c1 0%, #9ebf00 100%);
    color: whitesmoke;
    padding-left: 1em;
    text-align: center
    }
.Taskbar.title .Taskbar.close {
    font-weight: normal;
    text-align: center;
    background-color: #4b4b4b;
    color: #e7dc00;
    -webkit-text-stroke: 1px black;
    width: 20px;
    cursor: pointer;
    transition: all ease-in-out 0.35s
    }
.Taskbar.title .Taskbar.close:hover {
    color: #e75e00
    }
.mdi-window {
    display: contents
    }
.GridZ.grid {
    display: grid;
    grid: auto/auto
    }
.GridZ.fullscreen {
    height: 100vh
    }
.Grid2.grid {
    display: grid;
    grid: "header" minmax(2em, max-content) "main" auto/auto
    }
.Grid2.grid.fullscreen {
    height: 100vh
    }
.Grid2.header {
    grid-area: header;
    overflow: hidden;
    background: #eee;
    background: linear-gradient(125deg, #e1e1e1 0%, white 100%);
    border-bottom: solid 3px #2977aa
    }
.Grid2.main {
    grid-area: main;
    overflow: auto
    }
@charset "utf-8";
.SysTray.main {
    width: 100%;
    padding-right: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: center
    }
.SysTray.main > .SysTray.cap {
    flex-grow: 1;
    font-size: 2em
    }
.SysTray.main > .SysTray.menu {
    flex-grow: 0
    }
.SysTray.main > .SysTray.menu-button {
    flex-grow: 0;
    font-family: monospace;
    font-size: 4rem;
    padding-top: 3px;
    cursor: pointer;
    color: #14288a;
    transition: color 0.15s ease-in-out
    }
.SysTray.main > .SysTray.menu-button:after {
    content: "䷉"
    }
.SysTray.main > .SysTray.menu-button:hover {
    color: #1c42fd
    }
.CheckField.checkbox {
    display: flex;
    flex-flow: row wrap
    }
label.CheckField {
    width: auto
    }
input.CheckField {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    margin-bottom: 0;
    width: 0.8em;
    height: 0.8em;
    border: 1px solid #586cf9;
    transition: all 0.2s ease-in-out;
    outline: 0;
    vertical-align: middle
    }
input.CheckField.error {
    border-color: #ff131d
    }
input.CheckField:checked {
    border-width: 0.4em;
    background-color: #586cf9
    }
span.CheckField {
    padding-left: 0.2rem
    }
.CheckField.message {
    color: #ff131d;
    font-size: 0.75rem;
    padding-bottom: 0.2rem
    }
.CheckField.message:empty {
    display: none
    }
input.SingleInput {
    border: 1px solid #a9bace;
    border-radius: 0.4rem;
    padding: 0.3rem 0.7rem;
    transition: all 0.15s ease-in-out
    }
input.SingleInput:focus {
    border: 1px solid #586CF9;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(88, 108, 249, 0.58)
    }
button.SingleInput {
    width: 1.2em;
    height: 1.8rem;
    padding-left: 0;
    padding-right: 0;
    border: 1px solid #a9bace;
    transition: all 0.15s ease-in-out
    }
button.SingleInput:last-of-type {
    border-top-right-radius: 0.4rem;
    border-bottom-right-radius: 0.4rem
    }
button.SingleInput:hover {
    background-color: #a9bace;
    color: #fff
    }
button.SingleInput:focus {
    background-color: #a9bace;
    color: #fff;
    outline-color: #a9bace;
    outline-style: solid
    }
label.Field {
    display: flex;
    flex-flow: wrap row;
    align-items: center
    }
label.Field.block {
    flex-direction: column;
    align-items: flex-start
    }
label.Field.required > .Field.cap:after {
    content: "*"
    }
.Field.cap {
    padding-right: 0.35rem;
    padding-bottom: 0.35rem
    }
.Field.message {
    color: #ff131d;
    font-size: 0.75rem;
    padding-bottom: 0.2rem
    }
.Field.message:empty {
    display: none
    }
.Field.error input, .Field.error textarea {
    border-color: #ff131d
    }
input.CellString {
    width: 100%;
    background-color: #d6ecfb;
    border: none;
    padding-left: 3px;
    padding-right: 3px
    }