:root {
    --z-index-header: 800;
    --z-index-menu: 900;
    --z-index-wait: 990;
    --color-column-background:    #e1e1e1;
    --color-column-select:        lime;
    --color-column-deselect:      #cfdcdc;
    --color-column-deselect-dark: #b3b3b3;
    --color-column-input:         lightcyan;
    --color-column-border:        grey;
}

/* roboto-regular - cyrillic_latin */
@font-face {
    font-display: swap; 
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('/resource/roboto-v30-cyrillic_latin-regular.woff2') format('woff2'),    /* Super Modern Browsers */
         url('/resource/roboto-v30-cyrillic_latin-regular.woff') format('woff'),      /* Modern Browsers */
         url('/resource/roboto-v30-cyrillic_latin-regular.ttf') format('truetype'),   /* Safari, Android, iOS */
         url('/resource/roboto-v30-cyrillic_latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* general */
body {
    margin: 0;
    font-family: Roboto, sans-serif;
    color: var(--color-black);
    background-color: var(--color-background);
}

.line {
    width: 96%;
    margin: 0px 0px 8px 0px;
    border-bottom: 1px solid var(--color-dark);
}

/* header */
.header-table {
    display: table;
    position: fixed;
    z-index: var(--z-index-header);
    width: 100%;
    height: 54px;
    top: 0px;
    background-color: var(--color-background);
}

.header-table-row {
    display: table-row;
}

.header-table-cell-image {
    display: table-cell;
    width: 15%;
    padding: 4px;
    text-align: center;
    vertical-align: middle;
}

.header-table-cell-text {
    display: table-cell;
    padding: 4px;
    text-align: center;
    vertical-align: middle;
    font-size: 22px;
    font-weight: bold;
    color: var(--color-logo);
}

@media screen and (min-width: 940px) { .header-table-cell-text{ font-size: 20px; } }
@media screen and (max-width: 940px) { .header-table-cell-text{ font-size: 18px; } }
@media screen and (max-width: 660px) { .header-table-cell-text{ font-size: 16px; } }
@media screen and (max-width: 480px) { .header-table-cell-text{ font-size: 14px; } }

/* menu */
.menu-background {
    position: fixed;
    z-index: var(--z-index-menu);
    width: 100%;
    height: 30px;
    top: 54px;
    background-color: var(--color-dark);
}

.menu {
    display: inline-block;
    overflow: hidden;
    text-align: center;
}

.menu a {
    display: block;
    float: left;
    padding: 4px 12px;
    text-decoration: none;
    font-size: 18px;
    color: var(--color-white);
    background-color: var(--color-dark);
}

.menu .menu-icon {
    display: none;
}

.menu a:hover {
    color: var(--color-black);
}

@media screen and (max-width: 480px) {
    .menu a { display: none; }
    .menu a.menu-icon { display: block; }
}

@media screen and (max-width: 480px) {
    .menu.responsive {
        position: relative;
        z-index: var(--z-index-menu);
        float: none;
    }
    .menu.responsive .menu-icon {
        text-align: center;
    }
    .menu.responsive a {
        float: none;
        display: block;
        text-align: left;
    }
}

/* form */
.form {
    width: 100%;
    padding: 96px 0px 30px 0px;
    font-size: 16px;
}

.form div {
    overflow-x: auto;
    overflow-y: auto;
}

.form 
input[type=text],
input[type=password],
input[type=date],
input[type=time],
select
{
    display: inline-block;
    width: 100%;
    padding: 4px 8px;
    border: 1px solid var(--color-logo);
    border-radius: 4px;
    box-sizing: border-box;
    resize: both;
    background-color: var(--color-white);
}

.form 
input[type=text]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=time]:focus,
select:focus
{
    outline: none;
    box-shadow: 0 0 4px 1px var(--color-logo);
}

.form button {
    width: 100%;
    padding: 4px 8px;
    border: 1px solid var(--color-dark);
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    color: var(--color-background);
    background-color: var(--color-dark);
}

.form button:hover, button:focus {
    outline: none;
    color: var(--color-black);
}

.form img {
    vertical-align: top;
}

@media screen and (min-width: 660px) {
    .form { font-size: 16px; }
    .form button span { display: inline-block; }
}

@media screen and (max-width: 660px) {
    .form { font-size: 14px; }
    .form button span { display: inline-block; }
}

@media screen and (max-width: 480px) {
    .form { font-size: 12px; }
    .form button span { display: none; }
}

/* form edit */
.edit {
    width: 96%;
    margin: 10px 0px 10px 0px;
}

.edit-table {
    display: table;
}

.edit-table-row {
    display: table-row;
    text-align: left;
}

.edit-table-cell {
    display: table-cell;
    padding: 4px 8px 4px 8px;
    vertical-align: middle; 
    text-align: left;
}

@media screen and (min-width: 660px) {
    .edit-table-cell {
        display: table-cell;
        padding: 4px 8px 4px 8px;
    }
}

@media screen and (max-width: 660px) {
    .edit-table-cell {
        display: block;
        padding: 2px 6px 2px 6px;
    }
}

/* form button */
.button-table {
    display: table;
    margin: 10px 0px 10px 0px;
}

.button-table-row {
    display: table-row;
}

.button-table-cell {
    display: table-cell;
    padding: 4px 8px 4px 8px;
}

/* report message table */
.report {
    overflow-y: auto;
    height: 40vh;
    width: 96%;
    padding: 10px 2% 0px 2%;
    font-size: 14px;
}

.message {
    display: inline-block;
    padding: 4px 8px;
    font-size: 14px;
}

@media screen and (min-width: 660px) { 
    .report { font-size: 14px; } 
    .message { font-size: 14px; } 
}

@media screen and (max-width: 660px) { 
    .report { font-size: 12px; } 
    .message { font-size: 12px; } 
}

.table-border { 
    border-spacing: 0;
    border-collapse: collapse;
    padding: 2px;
    border: 1px solid var(--color-black);
}

.table-border td { 
    border: 1px solid var(--color-black);
}

.table-inner { 
    border-spacing: 0;
    border-collapse: collapse;
    padding: 2px;
    border: 1px solid var(--color-grey);
}

.table-inner td { 
    border: 1px solid var(--color-grey);
}

/* blocks */
.blocks-title {
    width: 96%;
    margin: 10px 0px;
    font-size: 20px;
    text-align: left;
    color: var(--color-logo);
}

.blocks {
    height: 140px;
    width: 96%;
    margin: 10px 0px;
}

.block {
    float: left;
    width: 140px;
    margin: 8px;
    padding: 2px;
    border: 1px solid var(--color-logo);
    border-radius: 4px;
    box-shadow: 0 0 4px 1px var(--color-logo);
    color: var(--color-black);
}

.block-ul {
    list-style-type: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

.block-li {
    padding: 4px;
    font-size: 14px;
    text-align: left;
}

.block-li-header {
    padding: 4px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    border: 1px solid var(--color-logo);
    color: var(--color-background);
    background-color: var(--color-dark);
}

.block-li-footer {
    padding: 4px;
    font-size: 18px;
    text-align: center;
    border: 1px solid var(--color-logo);
}

.block img, .block-big img {
    float: left;
    height: 30px;
    width: 30px;
    padding: 1px 8px;
    border: 1px solid var(--color-logo);
    background-color: var(--color-background);
}

.block-big {
    width: 320px;
    margin: 8px;
    padding: 2px;
    border: 1px solid var(--color-logo);
    border-radius: 4px;
    box-shadow: 0 0 4px 1px var(--color-logo);
    color: var(--color-black);
}

.block-data {
    /*    height: 200px;*/
    width: 100%;
}

/* column */
.column {
    display: inline-block;
    width: 320px;
    padding: 4px;
    border: 8px solid var(--color-column-border);
    border-radius: 8px;
    box-shadow: 0 0 4px 1px var(--color-column-border);
    color: var(--color-black);
    background-color: var(--color-column-background);
}

.column-table {
    border-spacing: 0;
    border-collapse: collapse;
    padding: 0;
    border: none;
}

.column-table-row {
}

.column-table-cell {
    padding: 4px 8px;
    vertical-align: top;    
}

.column-ul {
    list-style-type: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

.column-li {
    padding: 0;
}

.column-check {
    display: none;
}

.column label {
    overflow-x: auto;
    overflow-y: auto;
    display: inline-block;
    border: 2px solid var(--color-column-border);
    border-radius: 4px;
    cursor: pointer;
    user-select: none;
    background-color: var(--color-column-deselect);
}

.column-check-pistol {
    width: 70px;
    padding: 4px 8px;
    text-align: left;
    font-size: 18px;
    font-weight: bold;
}

.column-check:checked + .column-check-pistol {
    background-color: var(--color-column-select);
}

.column-check:disabled + .column-check-pistol {
    color: var(--color-column-border);
}

.column-check-action {
    width: 34px;
    padding: 2px 4px;
    text-align: center;
}

.column-check:checked + .column-check-action { 
    background-color: var(--color-column-select);
}

.column-check:disabled + .column-check-action {
    background-color: var(--color-column-deselect-dark);
}

.column input[type=text] {
    display: inline-block;
    width: 150px;
    padding: 4px 8px;
    border: 2px solid var(--color-column-border);
    border-radius: 4px;
    box-sizing: border-box;
    resize: both;
    font-size: 16px;
    background-color: var(--color-column-input);
}

.column input[type=text]:focus {
    box-shadow: 0 0 4px 1px var(--color-column-border);
}

.column input[type=text]:disabled {
    background-color: var(--color-column-deselect-dark);
}

.column-name {
    display: inline-block;
    width: 26px;
    padding: 8px 16px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    border: 4px solid var(--color-column-border);
    border-radius: 4px;
    color: var(--color-white);
    background-color: var(--color-black);
}

.column-status {
    display: inline-block;
    width: 210px;
    padding: 8px 8px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    border: 4px solid var(--color-column-border);
    border-radius: 4px;
    background-color: var(--color-column-input);
}

.column-pistol {
    display: inline-block;
    width: 20px;
    padding: 4px 8px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    border: 2px solid var(--color-column-border);
    border-radius: 4px;
    background-color: var(--color-column-deselect-dark);
}

.column-text {
    display: inline-block;
    padding: 4px 4px 0px 0px;
    text-align: left;
    font-size: 14px;
    font-weight: bold;
}

.column-line {
    width: 100%;
}

/*wait*/
.wait-close {
    display: none;
}

.wait-open {
    display: block;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-index-wait);
    background-color: transparent;
}
