@charset "utf-8";
@import url('/assets/css/.kit.grid.css?v=1.0.1');
@import url('/assets/css/persian-datepicker.css?v=1.0.0');

:root {
    --container-width: 100%;
    --container-max-width: 1500px;
    --container-padding: 0 40px;


    --z-index-global-high-priority: 99999;
    --z-index-global-middle-priority: 99998;
    --z-index-global-low-priority: 99997;

    --font-ultra-light: iranyekan_UltraLight;
    --font-light: iranyekan_Light;
    --font-regular: iranyekan;
    --font-medium: iranyekan_Medium;
    --font-bold: iranyekan_Bold;
    --font-black: iranyekan_black;

    --font-ultra-light-en: iranyekan_UltraLight_en;
    --font-light-en: iranyekan_Light_en;
    --font-regular-en: iranyekan_en;
    --font-medium-en: iranyekan_Medium_en;
    --font-bold-en: iranyekan_Bold_en;
    --font-black-en: iranyekan_black_en;

    --ck-font-face:var(--font-light-en) !important;

    /*Body color*/
    --color-body: rgba(255, 255, 255, 1);
    --color-body-rgb: 255, 255, 255;
    --color-body-txt: #000;
    --color-body-border: rgba(220, 221, 223, 1);

    /*Theme color*/
    --color-primary: #2640cb;
    --color-primary-rgb: 38, 64, 203;
    --color-primary-txt: #fff;
    --color-primary-txt-rgb: 255, 255, 255;

    --color-secondary: #464555;
    --color-secondary-rgb: 70, 69, 85;
    --color-secondary-txt: #fff;
    --color-secondary-txt-rgb: 255, 255, 255;

    --color-success: #10c469;
    --color-success-rgb: 16, 196, 105;
    --color-success-txt: #fff;
    --color-success-txt-rgb: 255, 255, 255;

    --color-info: #35b8e0;
    --color-info-rgb: 53, 184, 224;
    --color-info-txt: #fff;
    --color-info-txt-rgb: 255, 255, 255;

    --color-warning: #f9c851;
    --color-warning-rgb: 249, 200, 81;
    --color-warning-txt: #000;
    --color-warning-txt-rgb: 0, 0, 0;

    --color-danger: #ff5b5b;
    --color-danger-rgb: 255, 91, 91;
    --color-danger-txt: #fff;
    --color-danger-txt-rgb: 255, 255, 255;

    --color-gray: #e1e4e7;
    --color-gray-rgb: 225, 228, 231;
    --color-gray-txt: #000;
    --color-gray-txt-rgb: 0, 0, 0;

    --color-dark: #121212;
    --color-dark-rgb: 18, 18, 18;
    --color-dark-txt: #fff;
    --color-dark-txt-rgb: 255, 255, 255;

}


@media only screen and (max-width: 968px) {
    :root {
        --container-padding: 0 12px;
    }
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    scrollbar-color: auto;
    scrollbar-width: thin;
}

@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: smooth;
    }
}
.displayNone{
    display: none !important;
}
img[src=''] {

}

body, html {
    min-height: 100%;
}

.drawGrid {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    direction: ltr;
}

.drawGrid .container {
    font-family: monospace;
    white-space: pre;
    line-height: 1;
    font-size: 14px;
    letter-spacing: 1px;
}

.drawGrid .container span {

}

.drawGrid .page {
    text-align: center;
    font-family: monospace;
    font-size: 12px;
}

.breadcrumb {
    width: 100%;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-start;

}

.breadcrumb .breadcrumb-path {

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
}

.breadcrumb .breadcrumb-item {
    display: inline-flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 4px;
    row-gap: 4px;
    gap: 4px;
    cursor: pointer;
}

.breadcrumb .breadcrumb-item > i {
    background: #f1f1f1;
    border-radius: 4px;
    width: 24px;
    height: 24px;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
}

.char-counter-display {
    background: #f1f1f1;
    color: #000;
    padding: 4px 8px;
    border-radius: 4px;
    font: 12px var(--font-light-en);
    transform: translateY(-2px);
}

.auto-counter {
    counter-reset: auto-counter;
}

.auto-counter .auto-counter-row {
    counter-increment: auto-counter;
}

.auto-counter .auto-counter-row:before {
    content: counter(auto-counter);
    display: inline-block;
    min-width: 40px;
    min-height: 40px;
    line-height: 40px;
    background: #ccc;
    color: #000;
    border-radius: 4px;
    flex: 0 1 auto;
    text-align: center;
}

.row-added-animation {
    animation: scaleInFade 0.4s ease-out;
}

@keyframes scaleInFade {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.output,
output,
input,
select,
textarea {
    --input-height: 40px;
    --input-width: 100%;
    --input-padding: 12px;
    --input-border-color: #ccc;
    --input-border-color-rgb: var(--color-gray-rgb);
    --input-icon-position-y: center;
    contain: size;
    font: 12px/var(--input-height) var(--font-light-en);
    min-height: var(--input-height);
    width: var(--input-width);
    max-width: 100%;
    min-width: inherit;
    margin: 0;
    /*min-width: var(--input-width);*/
    border: 1px solid var(--input-border-color);
    list-style: none;
    border-radius: 4px;
    padding: 0 var(--input-padding);
    transition: border 250ms, box-shadow 250ms;
}
select[multiple] option{
    padding: 8px;
}
input[type="range"]{
    padding: 0;
}

.output,
output {
    contain: unset;
}

.output[data-placeholder]:empty:after,
output[data-placeholder]:empty:after {
    content: attr(data-placeholder);
    display: block;
}

textarea {
    line-height: 24px;
    padding-top: 8px;
    --input-icon-position-y: 12px;
}

textarea.jsoneditor {
    line-height: 24px;
    letter-spacing: 2px;
}

input.searching,
select.searching,
textarea.searching {
    background-image: url("/assets/icon/loading/searching2.gif");
    background-repeat: no-repeat;
    background-position: 5px var(--input-icon-position-y);
    background-size: 24px;
    padding-left: 32px;
}

input[dir="ltr"].searching,
select[dir="ltr"].searching,
textarea[dir="ltr"].searching {
    background-position: calc(100% - 5px) var(--input-icon-position-y);
    padding-left: var(--input-padding);
    padding-right: 32px;
}

select {
    /*background-image: url("/assets/icon/arrow_drop_down.svg");
    background-repeat: no-repeat !important;
    background-position: 0 center !important;
    background-size: 15px !important;*/

    --data-select-arrow-size: 3.5px;
    --data-select-arrow-left: 8px;

    background-image: linear-gradient(transparent, transparent),
    linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(-45deg, transparent 50%, currentColor 50%);
    background-position: left 0 center, left var(--data-select-arrow-left) center, left calc(var(--data-select-arrow-left) + var(--data-select-arrow-size)) center;
    background-size: 0 0,
    var(--data-select-arrow-size) var(--data-select-arrow-size),
    var(--data-select-arrow-size) var(--data-select-arrow-size);
    background-repeat: no-repeat;
    contain: content;
    appearance: none !important;
    -moz-appearance: none !important;
    -webkit-appearance: none;
!important;
    padding-left: 22px !important;
}

.button select {
    --data-select-arrow-left: 2px;
}

select[dir="ltr"] {

}

input.loading,
select.loading,
textarea.loading {
    background-image: url("/assets/icon/loading/loading-dark.gif") !important;
    background-repeat: no-repeat !important;
    background-position: 8px var(--input-icon-position-y) !important;
    background-size: 15px !important;
    cursor: progress !important;
    padding-left: 22px !important;
    pointer-events: none !important;
    /* appearance: none !important;
     -moz-appearance: none !important;
     -webkit-appearance: none !important;*/
}

select.loading {
    background-position: calc((var(--data-select-arrow-left) + (var(--data-select-arrow-size) / 2)) - (15px / 3)) center !important;
}

.button select.loading {
    background-image: var(--button-loading) !important;
}

input[dir="ltr"].loading,
select[dir="ltr"].loading,
textarea[dir="ltr"].loading {
    background-position: calc(100% - 8px) var(--input-icon-position-y) !important;
    padding-left: var(--input-padding) !important;
    padding-right: 32px !important;
}

textarea {
    resize: vertical;
}

output:focus, output:active, output:hover,
input:focus, input:active, input:hover,
select:focus, select:active, select:hover,
textarea:focus, textarea:active, textarea:hover {
    outline: none;
    box-shadow: 0 0 0 4px rgba(var(--input-border-color-rgb), 0.4);
}

input.invalid ~ .selection-box output,
input.invalid ~ .selection-box input,
input.invalid,
select.invalid,
textarea.invalid {
    --input-border-color: var(--color-danger);
}

select .placeholder {
    display: none;
}


select.placeholder-value:not(:focus) {
    font-family: var(--font-light-en) !important;
    font-weight: normal !important;
    direction: rtl !important;
    text-align: right !important;
    color: #cccccc !important;
}

input::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    font-family: var(--font-light-en);
    font-weight: normal;
    direction: rtl;
    text-align: right;
    color: #cccccc;
}

input[dir="ltr"][lang="en"]::-webkit-input-placeholder {
    direction: ltr;
    text-align: left;
}

input::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder { /* Firefox 19+ */
    font-family: var(--font-light-en);
    font-weight: normal;
    direction: rtl;
    text-align: right;
    color: #cccccc;
}

input[dir="ltr"][lang="en"]::-moz-placeholder {
    direction: ltr;
    text-align: left;

}

input:-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder { /* IE 10+ */
    font-family: var(--font-light-en);
    font-weight: normal;
    direction: rtl;
    text-align: right;
    color: #cccccc;
}

input[dir="ltr"][lang="en"]:-ms-input-placeholder {
    direction: ltr;
    text-align: left;
}

input:-moz-placeholder,
select:-moz-placeholder,
textarea:-moz-placeholder { /* Firefox 18- */
    font-family: var(--font-light-en);
    font-weight: normal;
    direction: rtl;
    text-align: right;
    color: #cccccc;
}

input[dir="ltr"][lang="en"]:-moz-placeholder {
    direction: ltr;
    text-align: left;
}

select option[data-hidden] {
    display: none;
}

input[type="radio"],
input[type="checkbox"] {
    --input-height: 16px;
    --input-width: 16px;
    --input-padding: 0;
    border-radius: 100px;
    min-width: unset;
    max-width: unset;
    min-height: unset;
    max-height: unset;
    inline-size: fit-content;
    box-sizing: border-box;
}

input[type="radio"]:active,
input[type="radio"]:focus,
input[type="radio"]:hover{
    box-shadow: none;
}
.token {
    display: inline-block;
    font: 12px/24px var(--font-regular-en);
    min-width: 24px;
    text-align: center;
    padding: 0 4px;
    background: #f1f1f1;
    border-radius: 6px;
    letter-spacing: 2px;
    white-space: nowrap;
}
.token.block{
    display: block;
}
.token.s-all {
    user-select: all;
}

.tag {
    display: inline-flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    font: 12px/24px var(--font-light-en);
    min-width: 24px;
    text-align: center;
    padding: 0 4px;
    border-radius: 6px;
    letter-spacing: 2px;
    column-gap: 5px;
    row-gap: 5px;
    gap: 5px;

}

[data-translate] {
    position: relative;
}

[data-translate].translating:after {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;

    background-color: transparent;
    background-image: url("/assets/icon/loading/loading-dark.gif");
    background-position: left 2px center;
    background-repeat: no-repeat;
    background-size: 8px;
}


[data-prefix]:before {
    content: attr(data-prefix);
    letter-spacing: 0;
    display: inline-block;
    font-family: monospace;
    font-size: 75%;
}

[data-suffix]:after {
    content: attr(data-suffix);
    letter-spacing: 0;
    display: inline-block;
    font-family: monospace;
    font-size: 75%;
}
[data-prefix]:empty:after,
[data-suffix]:empty:after{
    display: none;
}
.status-label {
    --status-label-primary: #e8e8e8;
    --status-label-primary-rgb: 232, 232, 232;
    --status-label-secondary: #404444;
    --status-label-secondary-rgb: 64, 68, 68;

    --status-label-background: #e8e8e8;
    --status-label-color: #404444;
    --status-label-border: transparent;


    display: inline-flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    padding: 0 12px;
    column-gap: 6px;
    row-gap: 6px;
    gap: 6px;

    border-radius: 8px;
    /*min-width: 85px;*/
    font: 12px/28px var(--font-light-en);
    background: var(--status-label-secondary);
    color: var(--status-label-primary);
    border: 1px solid transparent;
}


.status-label.primary {
    --status-label-primary: var(--color-primary);
    --status-label-primary-rgb: var(--color-primary-rgb);
    --status-label-secondary: rgba(var(--color-primary-rgb), 0.14);
    --status-label-secondary-rgb: var(--color-primary-rgb);
}

.status-label.secondary {
    --status-label-primary: var(--color-secondary);
    --status-label-primary-rgb: var(--color-secondary-rgb);
    --status-label-secondary: rgba(var(--color-secondary-rgb), 0.14);
    --status-label-secondary-rgb: var(--color-secondary-rgb);
}

.status-label.success {
    --status-label-primary: #2db318;
    --status-label-primary-rgb: 45, 179, 24;
    --status-label-secondary: #eaf7e8;
    --status-label-secondary-rgb: 234, 247, 232;
}

.status-label.info {
    --status-label-primary: #377dff;
    --status-label-primary-rgb: 55, 125, 255;
    --status-label-secondary: #ebf2ff;
    --status-label-secondary-rgb: 235, 242, 255;
}

.status-label.warning {
    --status-label-primary: #e99902;
    --status-label-primary-rgb: 233, 153, 2;
    --status-label-secondary: #fff6e7;
    --status-label-secondary-rgb: 255, 246, 231;
}

.status-label.danger {
    --status-label-primary: #ff5b37;
    --status-label-primary-rgb: 255, 91, 55;
    --status-label-secondary: #ffeeeb;
    --status-label-secondary-rgb: 255, 238, 235;
}

.status-label.gray {
    --status-label-primary: #717980;
    --status-label-primary-rgb: 113, 121, 128;
    --status-label-secondary: #f1f3f5;
    --status-label-secondary-rgb: 241, 243, 245;
}

.status-label.transparent {
    background: transparent !important;
}

.status-label.white {
    background: #ffffff !important;
}

.status-label.rounded {
    border-radius: 100px;
}

.status-label.bold {
    font-family: var(--font-bold-en), monospace;
}

.status-label.text {
    font-family: var(--font-regular-en), monospace;
    color: var(--status-label-primary);
    background: transparent;
    border: 1px solid transparent;
}

.status-label.outline {
    font-family: var(--font-bold-en), monospace;
    color: var(--status-label-primary);
    background: transparent;
    border: 1px solid var(--status-label-primary);
}

.status-label.dotted:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 8px;
    height: 8px;
    background: var(--status-label-primary);
    -webkit-box-shadow: 0 0 0 4px rgba(var(--status-label-primary-rgb), 0.4);
    -moz-box-shadow: 0 0 0 4px rgba(var(--status-label-primary-rgb), 0.4);
    box-shadow: 0 0 0 3px rgba(var(--status-label-primary-rgb), 0.2);
    border-radius: 100px;
}

[data-url-checker]{
    display: inline-block;
}

[data-url-checker].loading:after{
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;

    background-color: transparent;
    background-image: url("/assets/icon/loading/loading-dark.gif");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 80%;
    vertical-align: middle;
}
[data-url-checker].loading:before{
    content: 'درحال بررسی...';
    display: inline-block;
    direction: rtl;
    vertical-align: middle;

}

.checkbox-group {
    align-items: stretch;
}

.checkbox {
    --checkbox-size: 20px;
    --checkbox-color: #000;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    min-height: var(--form-input-height);
    border-radius: 6px;
}

.checkbox-group .checkbox {
    width: 100%;
    border-radius: 8px;
    transition: all 250ms;
}

.checkbox-group .checkbox:hover {
    background: #f1f1f1;
    -webkit-box-shadow: 8px 0px 0 0px #f1f1f1, -8px 0px 0 0px #f1f1f1;
    -moz-box-shadow: 8px 0px 0 0px #f1f1f1, -8px 0px 0 0px #f1f1f1;
    box-shadow: 8px 0px 0 0px #f1f1f1, -8px 0px 0 0px #f1f1f1;
}

.checkbox.small {
    --checkbox-size: 16px;
}

.checkbox.medium {
    --checkbox-size: 24px;
}

.checkbox.big {
    --checkbox-size: 32px;
}

.checkbox.primary:has(input:checked) {
    --checkbox-color: var(--color-primary);
}

.checkbox.secondary:has(input:checked) {
    --checkbox-color: var(--color-secondary);
}

.checkbox.success:has(input:checked) {
    --checkbox-color: var(--color-success);
}

.checkbox.info:has(input:checked) {
    --checkbox-color: var(--color-info);
}

.checkbox.warning:has(input:checked) {
    --checkbox-color: var(--color-warning);
}

.checkbox.danger:has(input:checked) {
    --checkbox-color: var(--color-danger);
}

.checkbox.dark:has(input:checked) {
    --checkbox-color: var(--color-dark);
}

.checkbox.gray:has(input:checked) {
    --checkbox-color: var(--color-gray);
}

.checkbox > input[type="radio"],
.checkbox > input[type="checkbox"] {
    display: none !important;
}

.checkbox > input[type="radio"] + span,
.checkbox > input[type="checkbox"] + span {
    display: block;
    position: relative;
    cursor: pointer;
}

.checkbox > span {
    width: inherit;
}

.checkbox > span i {
    order: 9;
    font-size: 14px;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}

.checkbox > input[type="radio"]:disabled + span {
    --checkbox-color: #9f9f9f;
    color: #9f9f9f;
    cursor: not-allowed;
}

.checkbox > input[type="radio"] + span:before,
.checkbox > input[type="checkbox"] + span:before {
    display: inline-block;
    vertical-align: middle;
    font-size: var(--checkbox-size);
    font-family: "Material Symbols Rounded", "Material Icons", serif;
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
    color: var(--checkbox-color);
}

.checkbox > input[type="radio"].invalid + span:before,
.checkbox > input[type="checkbox"].invalid + span:before {
    --checkbox-color: var(--color-danger);
}

.checkbox > input[type="radio"] + span:before {
    content: 'radio_button_unchecked';
}

.checkbox > input[type="checkbox"] + span:before {
    content: 'check_box_outline_blank';
}

.checkbox > input[type="radio"]:checked + span:before {
    content: 'radio_button_checked';
}

.checkbox > input[type="checkbox"]:checked + span:before {
    content: 'check_box';
}
.checkbox.outline{
    padding: 0 12px;
    border: 1px solid var(--color-gray);
}
.checkbox.outline:has(input:checked){
    border: 1px solid var(--checkbox-color);
}

.form-container {
    display: block;

    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 24px;
    row-gap: 24px;
    gap: 24px;
    /*width: 100%;*/
    align-items: flex-start;
}

.form-container.full-width {
    width: 100%;
}

.form-container.horizontal-form {
    --col-width: 250px;
    flex-direction: column;
}
.form-container.column {
    flex-direction: column;
}

.form-container.sticky {
    position: sticky;
    top: 8px;
}

.input {
    --form-input-height: 40px;
    --form-input-width: 100%;
    --form-input-padding: 12px;
    --form-input-border-color: #ccc;
    --form-input-border-color-rgb: var(--color-gray-rgb);
    --form-input-invalid-color: var(--color-danger);
    --form-input-valid-color: var(--color-success);
    position: relative;

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: flex-start;
    column-gap: 4px;
    row-gap: 4px;
    gap: 4px;
}

.input.inline{
    flex-direction: row;
    align-items: center;
    align-content: center;
}
.input.nowrap{
    flex-wrap: nowrap;
}
.input.wrap{
    flex-wrap: wrap;
}
.form-container > .hr {
    display: block;
    height: 0;
    border-bottom: 1px solid var(--color-gray);
}

.form-container > .hr.dark {
    border-bottom: 1px solid var(--color-dark);
}

.form-container.horizontal-form > .hr,
.form-container.horizontal-form > .action-container,
.form-container.horizontal-form .input {
    display: grid;
    width: 100%;
    max-width: 768px;
    grid-template-columns: var(--col-width) 1fr;
    column-gap: 8px;
    row-gap: 14px;
    gap: 8px 14px;
}
.form-container.horizontal-form .input.full-width{
    max-width: unset;

}
.form-container.horizontal-form .input.uc{
    display: flex;
    flex-direction: column;
}


.form-container.horizontal-form.single-span > .hr,
.form-container.horizontal-form.single-span > .action-container,
.form-container.horizontal-form.single-span .input {
    grid-template-columns: 1fr;

}

.form-container .action-container {
    position: sticky;
    bottom: 0;
    background: rgba(var(--color-body-rgb), 0.5);
    padding: 12px 0;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    z-index: var(--z-index-global-low-priority);
}


.form-container.horizontal-form > .action-container:before {
    content: '';
    grid-column: 1;
    grid-row: 2 span;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    min-height: var(--form-input-height);
}

.form-container.horizontal-form.full-width .input {
    max-width: none;
}

.group-container,
.input-group {
    --gap: 8px;
    position: relative;

    display: flex;
    flex-direction: column;
    -webkit-align-content: flex-start;
    align-content: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    -webkit-column-gap: 8px;
    -moz-column-gap: var(--gap);
    column-gap: var(--gap);
    row-gap: var(--gap);
    gap: var(--gap);
    width: 100%;
}

.group-container.inline,
.input-group.inline {
    flex-direction: row;
}
.group-container.inline.reverse,
.input-group.inline.reverse{
    flex-direction: row-reverse;

}

.group-container.flex-start,
.input-group.flex-start {
    justify-content: flex-start;
}

.group-container.inline.nowrap,
.input-group.inline.nowrap {
    flex-wrap: nowrap;
}

@media only screen and (max-width: 1170px) {
    .input-group.inline.nowrap-tb {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

.input-group.fill {
    width: 100%;
}
.input-group.fill-content > *{
    flex: 1 0 auto;
}
.input,
.input > input,
.input-group > .clr-field,
.input > .clr-field,
.input > select,
.input > textarea {
    --input-height: var(--form-input-height);
    --input-width: var(--form-input-width);
    --input-padding: var(--form-input-padding);
    --input-border-color: var(--form-input-border-color);
    --input-border-color-rgb: var(--form-input-border-color-rgb);
}

.input > img,
.input > video,
.input > canvas{
    display: block;
    width: 100%;
    border-radius: 8px;
}
.input-group > .clr-field {
    width: 100%;
}
.input-group > .clr-field button + input.coloris{
    padding-right: 40px;
}
select.link.loading {
    pointer-events: none;
    cursor: progress;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    padding-left: 22px;
}

.input > input[type="radio"],
.input > input[type="checkbox"] {
    --input-height: 15px;
    --input-width: 15px;
    --input-padding: 0;
}

.input input.invalid,
.input select.invalid,
.input textarea.invalid {
    --input-border-color: var(--form-input-invalid-color);
}

.input input.valid:not(.invalid),
.input select.valid:not(.invalid),
.input textarea.valid:not(.invalid) {
    --input-border-color: var(--form-input-valid-color);
}


.input > input[data-isset],
.input > select[data-isset],
.input > textarea[data-isset] {
    background-image: url("/assets/icon/isset.svg");
    background-repeat: no-repeat;
    background-position: 8px var(--input-icon-position-y);
    background-size: 15px;
    padding-left: 32px;
}

.input > input[data-isset][dir="ltr"],
.input > select[data-isset][dir="ltr"],
.input > textarea[data-isset][dir="ltr"] {
    background-position: calc(100% - 8px) var(--input-icon-position-y);
    padding-left: var(--input-padding);
    padding-right: 32px;
}

.input > input[data-isset].invalid,
.input > select[data-isset].invalid,
.input > textarea[data-isset].invalid {
    background-image: url("/assets/icon/warning.svg");
}

.input > input[data-isset].valid:not(.invalid),
.input > select[data-isset].valid:not(.invalid),
.input > textarea[data-isset].valid:not(.invalid) {
    background-image: url("/assets/icon/ok.svg");
}

.input-group > .clr-field > button,
.input > .clr-field > button {
    width: 28px;
    height: 28px;
    right: 8px;
    border-radius: 8px;
    outline: 1px solid #e1e1e1;
    border: none;
}
.input > .clr-field > button + input{
    padding-right: 48px;
}

.input-group > .clr-field > button:after,
.input > .clr-field > button:after {
    box-shadow: none;
}

.input > .title {
    order: 1;
    position: relative;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    font: 13px/24px var(--font-regular-en);
}
.input.inline > .title{
    white-space: nowrap;
    width: auto;
}
.input > .title > small {
    font: 11px/19px var(--font-ultra-light-en)
}
.input > .title > .tools{
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
}
.input > .clr-field{
    width: 100%;
}
.input > .title.space-between {

    justify-content: space-between;
}

.form-container.horizontal-form .input > .title {
    grid-column: 1;
    grid-row: 2 span;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: var(--form-input-height);
}


.form-container.horizontal-form .input > .title > * {

}

.form-container.horizontal-form .input > * {
    grid-column: 2;
}

.form-container.horizontal-form.single-span .input > * {
    grid-column: 1;
}

.form-container.horizontal-form .input > .checkbox,
.form-container.horizontal-form .input > .input-group,
.form-container.horizontal-form .input > input,
.form-container.horizontal-form .input > textarea,
.form-container.horizontal-form .input > select {
    order: 1;
}

.form-container.horizontal-form .input > .checkbox {
    min-height: var(--form-input-height);
}

.input > select,
.input > textarea,
.input > textarea,
.input > .clr-field {
    order: 2;
}

.input > select .placeholder {
    display: none;
    visibility: hidden;
}


.input > .tools-container {
    position: absolute;
    top: calc(var(--input-height) / 2);
    transform: translateY(-50%);
    left: 4px;

    display: flex;
    flex-direction: row-reverse;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 4px;
    row-gap: 4px;
    gap: 4px;

}

.input > .tools-container.ple,
.form-container:not(.horizontal-form) .input.column > .tools-container {

    top: unset;
    bottom: unset;
    -webkit-transform: translateY(100%);
    -moz-transform: translateY(100%);
    -ms-transform: translateY(100%);
    -o-transform: translateY(100%);
    transform: translateY(100%);
}

.input > .tools-container > img {
    display: inline-block;
    width: 32px;
    height: 32px;
    -o-object-fit: scale-down;
    object-fit: scale-down;
    box-shadow: inset 0 0 0 1px #f1f1f1;
    border-radius: 8px;
    background: url(/assets/images/bg-img.png) repeat center / 80px;
}


.input .message {
    order: 3;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    font: 12px/24px var(--font-light-en);
    column-gap: 6px;
    row-gap: 6px;
    gap: 6px;
}

.input .message:empty {
    display: none !important;
}

.input .message > i {
    display: inline-block;
    width: 20px;
    height: 20px;
    overflow: hidden;
    line-height: 20px;
    font-size: 20px;
}

.input .message.primary {
    color: var(--color-primary);
}

.input .message.secondary {
    color: var(--color-secondary);
}

.input .message.success {
    color: var(--color-success);
}

.input .message.danger {
    color: var(--color-danger);
}

.input .message.warning {
    color: var(--color-warning);
    text-shadow: 0 0 0 #000;
}

.input .message.info {
    color: var(--color-info);

}

.input .message.dark {
    color: var(--color-dark);
}

.input .invalid-message {
    order: 3;
    display: none;
    width: 100%;
    font: 12px/20px var(--font-light-en);
    column-gap: 6px;
    row-gap: 6px;
    gap: 6px;
}

.input .invalid-message:empty {
    display: none !important;
}

.input .invalid-message:before {
    content: 'block';
    display: inline-block;
    vertical-align: middle;
    font-size: 20px;
    font-family: "Material Symbols Rounded", "Material Icons", serif;
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
}

.input > input.invalid ~ .invalid-message,
.input > select.invalid ~ .invalid-message,
.input > textarea.invalid ~ .invalid-message {

    display: flex;
    color: var(--form-input-invalid-color);
}

.input > * {
    order: 4;
}

.input > .description {
    width: 100%;
    padding: 0;
    margin: 0;
    font: 12px/24px var(--font-ultra-light-en);
    list-style-position: inside;
    color: #686868;
    order: 9;

}


.input > .search-input-container {
    position: fixed;
    z-index: var(--z-index-global-high-priority);
    top: -10000px;
    left: -10000px;
    width: 0;
    max-height: 250px;
    overflow: auto;
    scrollbar-color: auto;
    scrollbar-width: thin;
    padding: 8px;
    background: #fff;
    -webkit-box-shadow: 0 0 40px #ccc;
    -moz-box-shadow: 0 0 40px #ccc;
    box-shadow: 0 0 40px #ccc;

    border-radius: 8px;

    display: none;
}

.input > .search-input-container.active {

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
}


.steps-container {

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: stretch;
    column-gap: 24px;
    row-gap: 24px;
    gap: 24px;
}

.staged-header,
.step-block {
    --input-max-width:500px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 24px;
    row-gap: 24px;
    gap: 24px;
    padding: var(--padding);
}
.step-block{
    flex-grow: 1;
}
.staged-header{
    padding: 14px;
}
.staged-header + .step-block{
    padding-top: 0;
}

.step-block .step-info{
    width: 100%;
    display: flex;
    flex-direction: row;
    align-content: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
}
.step-block .step-info .title{
    font: 14px var(--font-bold);
    text-align: right;
}

.step-space{
    position: relative;
    width: 100%;
}


.step-block .input {
    width: 100%;
}

.step-block > .error-report-box,
.step-block > .group-container,
.step-block > .button-container,
.step-block > .input {
    width: 100%;
    max-width: var(--input-max-width);
}
.step-block > .input > *{
    order: 2;
}
.step-block > .input > .description{
    order: 5;
}

.steps-actions {
    --steps-actions-color: #fff;
    --steps-actions-color-rgb: 255, 255, 255;
    --steps-actions-color-txt: #000;
    --steps-actions-color-txt-rgb: 0, 0, 0;
    --steps-actions-color-selected: var(--color-primary);
    --steps-actions-color-selected-rgb: var(--color-primary-rgb);
    --steps-actions-color-border: #c5c5c5;
    --steps-actions-color-border-rgb: 240, 240, 240;
    position: sticky;
    bottom: 0;
    width: 100%;
    padding: 8px;
    background: rgba(255, 255, 255, 1);
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    -webkit-align-self: self-end;
    align-self: self-end;
    column-gap: 14px;
    row-gap: 14px;
    gap: 14px;
    z-index: 9;
    box-shadow: inset 0 1px 0 0 var(--color-body-border), 0 5px 0 0 rgb(255 255 255);
    z-index: var(--z-index-global-low-priority);
}

.steps-actions.gray{
    --steps-actions-color: var(--color-gray);
    --steps-actions-color-rgb: var(--color-gray-rgb);
    --steps-actions-color-txt: var(--color-gray-txt);
    background: var(--steps-actions-color);
    box-shadow: none;
}
.steps-actions.top-page{
    bottom: auto;
    top: 0;
    box-shadow: none;
    border-bottom: 1px solid var(--color-body-border);
}
.steps-actions > .container {

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: stretch;
    column-gap: 14px;
    row-gap: 14px;
    gap: 14px;
    padding: 6px;
    position: relative;
    width: auto;
    border-radius: 14px;
    background: var(--steps-actions-color);
    color: var(--steps-actions-color-txt);
    /*border: 1px solid var(--steps-actions-color-border);*/
    /*box-shadow: 0 0 24px #0000002b;*/

}
.steps-actions > .container:first-child:last-child{
    flex-grow: 1;
}

.steps-actions > .container.transparent-border {
    border: 1px solid transparent;
    padding: 0;
}

.steps-actions > .container .item {
    position: relative;
    display: inline-flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    align-items: center;
    column-gap: 4px;
    row-gap: 4px;
    gap: 4px;
    padding: 0;
    border-radius: 6px;
    font: 12px/30px var(--font-ultra-light);
    transition: all 250ms;
}

.steps-actions > .container .item > a,
.steps-actions > .container a.item {
    color: inherit;
    text-decoration: none;
    padding: 0 8px;
}

.steps-actions > .container .item.selected:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 2px;
    background: var(--steps-actions-color-selected);
    border-radius: 100px;
    transition: width 250ms;
}

.steps-actions > .container .item.selected:hover:after {
    width: 85%;
}

.steps-actions > .container a.item:hover {
    background: rgba(var(--steps-actions-color-txt-rgb), 0.1);
}

.steps-actions > .container .item span,
.steps-actions > .container .item i {
    user-select: none;
}

.steps-actions > .container .item i {
    font-size: 20px;
    text-align: center;
    aspect-ratio: 1;
    overflow: hidden;
    height: 20px;
    width: 20px;
}

.steps-actions > .container .item.disabled > a,
.steps-actions > .container a.item.disabled{
    pointer-events: none;
    opacity: 0.4;
}
.steps-actions > .container .item.information {
    pointer-events: none;
}

pre {
    position: relative;
    display: block;
    width: 100%;
    margin: 0 auto;
    direction: ltr;
    text-align: left;
    white-space: pre-wrap;
    font-size: 13px;
    font-family: Consolas, Monaco, monospace;
    background: rgba(0, 0, 0, 0.1);
    padding: 12px;

    border-radius: 8px;
    tab-size: 24px;
}

pre.scroll-x {
    text-wrap-mode: nowrap;
    overflow-x: auto;
    scrollbar-color: auto;
    scrollbar-width: thin;
}

code {
    display: inline-block;
    font-size: 13px;
    font-family: monospace;
    direction: ltr;
    vertical-align: middle;
    padding: 0 4px;
    margin: 0 6px;
    text-align: center;
    border-radius: 4px;
}

code.block {
    display: block;
    margin: 0;
    text-align: left;
    line-height: 20px;
}

code.inTextLine {
    display: contents;
}

code.html-class {
    background: var(--color-gray);

}

code.token {
    background: var(--color-gray);

}


#ErrorDocumentFrame {
    position: relative;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    height: 100%;
    outline: none;
    border: none;
    padding: 0;
    margin: auto;
}

#ErrorDocumentFrame.loading {
    background: url("/assets/icon/loading/loading-dark.gif") no-repeat center / 40px;
}


[lang="en"] {
    font-family: var(--font-regular-en) !important;
}

input::-ms-clear {
    display: none;
    width: 0;
    height: 0;
}

.jsoneditor {
    min-height: 500px;
    direction: ltr;
}
.jsoneditor-modal{
    direction: ltr;
}
.jsoneditor-poweredBy{
    display: none !important;
}
.jsoneditor .jsoneditor-search input{
    min-height: 20px;
}
blockquote {
    border-right: 3px solid var(--color-primary);
    color: #1a1a1a;
    font-size: 1.25em;
    font-style: italic;
    line-height: 1.8em;
    padding: 0.5em 2em;
    position: relative;
    transition: 0.2s border ease-in-out;
    z-index: 0;
}

blockquote:after {
    content: "format_quote";
    font-family: 'Material Icons', monospace;
    font-size: 24px;
    width: 40px;
    height: 40px;
    background: var(--color-body);
    text-align: center;
    line-height: 40px;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    vertical-align: middle;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(50%, -50%);
    -moz-transform: translate(50%, -50%);
    -ms-transform: translate(50%, -50%);
    -o-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    color: var(--color-primary);
    font-style: normal;
    transition: 0.2s all ease-in-out, 0.4s transform ease-in-out;
}



.ellipsis-3 {
    display: -ms-flexbox;
    display: -moz-box;
    display: -webkit-box;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    -moz-box-orient: vertical;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ellipsis-2 {
    display: -ms-flexbox;
    display: -moz-box;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -moz-box-orient: vertical;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ellipsis-1 {
    display: -ms-flexbox;
    display: -moz-box;
    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -moz-box-orient: vertical;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.grid-container {
    display: flex !important;
    flex-direction: row-reverse;
    align-items: flex-end;
    -webkit-flex-flow: wrap;
    flex-flow: wrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    width: 100%;
}
.grid-container.inline{
    display: inline-flex !important;
    width: auto;
}

.grid-container.column {
    flex-direction: column;
    align-items: flex-start;
}

.grid-container.nowrap {
    -webkit-flex-flow: nowrap;
    flex-flow: nowrap;
}

.grid-container .block {
    display: block;
}

.grid-container .block:empty {
    display: none;
}

.button-container {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: -webkit-flex !important;
    display: flex !important;
    flex-direction: row-reverse;
    align-items: flex-end;
    -webkit-flex-flow: wrap;
    flex-flow: wrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    width: 100%;
}

.button-container.ltr {
    flex-direction: row;
    justify-content: flex-end;
}

.button-container.latch {
    column-gap: 0;
    row-gap: 0;
    gap: 0;
}

.button-container.latch .button {
    border-radius: 0;
}

.button-container.latch[dir='ltr'] .button:first-child {
    -webkit-border-radius: 0 8px 8px 0;
    -moz-border-radius: 0 8px 8px 0;
    border-radius: 0 8px 8px 0;
}

.button-container.latch[dir='ltr'] .button:last-child {
    -webkit-border-radius: 8px 0 0 8px;
    -moz-border-radius: 8px 0 0 8px;
    border-radius: 8px 0 0 8px;
}

.button-container.latch[dir='ltr'] .button:first-child:last-child {

    border-radius: 8px;
}

.button-container.latch .button:first-child {
    -webkit-border-radius: 8px 0 0 8px;
    -moz-border-radius: 8px 0 0 8px;
    border-radius: 8px 0 0 8px;
}

.button-container.latch .button:last-child {
    -webkit-border-radius: 0 8px 8px 0;
    -moz-border-radius: 0 8px 8px 0;
    border-radius: 0 8px 8px 0;
}

.button-container.sticky {
    position: sticky;
    bottom: 0;
    background: rgba(var(--color-body-rgb), 0.5);
    padding: 12px;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    z-index: var(--z-index-global-low-priority);
    border-radius: 12px 12px 0 0;
}

.button-container.inline {
    display: -moz-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
    flex-direction: row-reverse;
    width: auto;
}

.button-container.space-between {
    justify-content: space-between;
}

.button-container.align-center,
.button-container.center-align {
    justify-content: center;
}

.button-container.nowrap {
    -webkit-flex-flow: nowrap;
    flex-flow: nowrap;
}

.button-container.inline .button {
    vertical-align: middle;
}

.button {
    --button-min-width: 64px;
    --button-height: 40px;
    --button-line-height: 40px;
    --button-padding: 6px;
    --button-icon-size: 28px;
    --button-border-radius: 8px;
    position: relative;
    display: inline-block;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    text-align: center;
    justify-content: center;
    white-space: nowrap;
    vertical-align: middle;
    column-gap: 6px;
    row-gap: 6px;
    gap: 6px;
    /*width: auto;*/
    min-width: var(--button-min-width);
    height: var(--button-height);
    font: 12px/var(--button-line-height) var(--font-light);
    padding: 0 var(--button-padding);
    border: none;
    border-radius: var(--button-border-radius);
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: background-color 250ms, box-shadow 250ms;
    user-select: none;
    overflow: hidden;
}
.button > i{
    font-family: 'Material Icons Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    font-feature-settings: 'liga';
    font-feature-settings: 'liga';
}
.button-case {
    --button-case-padding: 4px;
    width: auto;
    min-width: auto;
    height: auto;
    padding: var(--button-case-padding);
    font-size: 0;
}

.button.fill {
    flex: auto;
}

.button.ltr {
    direction: ltr;
}

.button.rtl {
    direction: rtl;
}

.button.full-width {
    display: inline-block;
    width: 100%;
}

.button.align-center {
    text-align: center;
    justify-content: center;
    place-content: center;
}

.button.big {
    --button-min-width: 48px;
    --button-height: 48px;
    --button-line-height: 48px;
    --button-padding: 8px;
    --button-icon-size: 32px;
    /*min-width: 40px;
    height: 40px;
    line-height: 40px;*/
}

.button.small {
    --button-min-width: 32px;
    --button-height: 32px;
    --button-line-height: 32px;
    --button-padding: 6px;
    --button-icon-size: 20px;
    /*min-width: 32px;
    height: 32px;
    line-height: 32px;
    padding: 0 6px;*/
}

.button.xs {
    --button-min-width: 28px;
    --button-height: 28px;
    --button-line-height: 28px;
    --button-padding: 4px;
    --button-icon-size: 20px;
    /*min-width: 32px;
    height: 32px;
    line-height: 32px;
    padding: 0 6px;*/
}

.button.xxs {
    --button-min-width: 24px;
    --button-height: 24px;
    --button-line-height: 24px;
    --button-padding: 4px;
    --button-icon-size: 16px;
    /*min-width: 32px;
    height: 32px;
    line-height: 32px;
    padding: 0 6px;*/
}

.button.big-icon {
    --button-icon-size: 32px;
}

.button.small-icon {
    --button-icon-size: 20px;
}

.button.xs-icon {
    --button-icon-size: 16px;
}

.button.xxs-icon {
    --button-icon-size: 12px;
}

.button-case .button {

    min-width: calc(var(--button-min-width) - (var(--button-case-padding) * 2));
    height: calc(var(--button-height) - (var(--button-case-padding) * 2));
    line-height: calc(var(--button-line-height) - (var(--button-case-padding) * 2));
}

.button.rounded {
    --button-border-radius: 100px;
}

.button.left {
    float: left;
}

.button.right {
    float: right;
}

.button:disabled,
.button.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.button {
    --button-color: var(--color-primary);
    --button-color-txt: var(--color-primary-txt);
    --button-color-rgb: var(--color-primary-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-hover-loading: url("/assets/icon/loading/loading-white.gif");
    --button-icon-color: inherit;


    background-color: var(--button-color);
    color: var(--button-color-txt);

    --border-color: var(--button-color);
    --border-color-rgb: var(--button-color-rgb);

    --selected-background-color: var(--button-color);
    --selected-text-color: var(--button-color-txt);
    --selected-border-color: rgba(var(--button-color-rgb), 0.2);

    --focus-background-color: var(--button-color);
    --focus-text-color: var(--button-color-txt);
    --focus-border-color: rgba(var(--button-color-rgb), 0.4);

    --active-background-color: var(--button-color);
    --active-text-color: var(--button-color-txt);
    --active-border-color: rgba(var(--button-color-rgb), 0.4);

    --loading-backgroud: var(--button-loading);
    --loading-backgroud-hover: var(--button-hover-loading);
}

.button.secondary {
    --button-color: var(--color-secondary);
    --button-color-txt: var(--color-secondary-txt);
    --button-color-rgb: var(--color-secondary-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-hover-loading: url("/assets/icon/loading/loading-white.gif");
}

.button.success {
    --button-color: var(--color-success);
    --button-color-txt: var(--color-success-txt);
    --button-color-rgb: var(--color-success-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-hover-loading: url("/assets/icon/loading/loading-white.gif");
}

.button.danger {
    --button-color: var(--color-danger);
    --button-color-txt: var(--color-danger-txt);
    --button-color-rgb: var(--color-danger-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-hover-loading: url("/assets/icon/loading/loading-white.gif");
}

.button.warning {
    --button-color: var(--color-warning);
    --button-color-txt: var(--color-warning-txt);
    --button-color-rgb: var(--color-warning-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-hover-loading: url("/assets/icon/loading/loading-white.gif");
}

.button.info {
    --button-color: var(--color-info);
    --button-color-txt: var(--color-info-txt);
    --button-color-rgb: var(--color-info-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-hover-loading: url("/assets/icon/loading/loading-white.gif");
}

.button.gray {
    --button-color: var(--color-gray);
    --button-color-txt: var(--color-gray-txt);
    --button-color-rgb: var(--color-gray-rgb);
    --button-loading: url("/assets/icon/loading/loading-dark.gif");
    --button-hover-loading: url("/assets/icon/loading/loading-dark.gif");
    --button-icon-color: #000 !important;
    --selected-border-color: rgba(var(--button-color-rgb), 0.5);
}

.button.dark {
    --button-color: var(--color-dark);
    --button-color-txt: var(--color-dark-txt);
    --button-color-rgb: var(--color-dark-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-hover-loading: url("/assets/icon/loading/loading-white.gif");

}

.button.white {
    --button-color: #fff;
    --button-color-txt: #000;
    --button-color-rgb: 255, 255, 255;
    --button-loading: url("/assets/icon/loading/loading-dark.gif");
    --button-hover-loading: url("/assets/icon/loading/loading-dark.gif");
    --button-icon-color: #000 !important;
    --selected-border-color: rgba(0, 0, 0, 0.12);
    --focus-border-color: rgba(0, 0, 0, 0.24);
    --active-border-color: rgba(0, 0, 0, 0.36);
}

.button.nan {
    --button-color: transparent;
    --button-color-txt: inheart;
    --button-color-rgb: inheart, inheart, inheart;
    --button-loading: url("/assets/icon/loading/loading-dark.gif");
    --button-hover-loading: url("/assets/icon/loading/loading-dark.gif");
    --button-icon-color: inheart !important;
    --selected-border-color: transparent;
    --focus-border-color: transparent;
    --active-border-color: transparent;
}

.button.transparent {
    background-color: transparent;
    color: inherit;
    --loading-backgroud: url("/assets/icon/loading/loading-dark.gif");
}

.button.transparent:hover {
    background-color: var(--button-color);
    color: var(--button-color-txt);
    box-shadow: none;
}

.button.selected,
.button:hover {
    outline: none;
    opacity: 1;
    background: var(--selected-background-color);
    color: var(--selected-text-color);
    box-shadow: 0 0 0 4px var(--selected-border-color);
}

.button:focus {
    outline: none;
    opacity: 1;
    background: var(--selected-background-color);
    color: var(--selected-text-color);
    box-shadow: 0 0 0 4px var(--selected-border-color);
}

.button:active {
    outline: none;
    opacity: 1;
    background: var(--selected-background-color);
    color: var(--selected-text-color);
    box-shadow: 0 0 0 4px var(--selected-border-color);
}

.button.outline {
    --button-icon-color: var(--border-color);
    outline: none;
    background: transparent;
    color: #000;
    box-shadow: 0 0 0 1px var(--border-color);
    --loading-backgroud: url("/assets/icon/loading/loading-dark.gif");
    --loading-backgroud-hover: url("/assets/icon/loading/loading-dark.gif");
}

.button.outline:hover,
.button.outline:active,
.button.outline:focus {
    box-shadow: 0 0 0 2px var(--border-color), 0 0 0 6px rgba(var(--border-color-rgb), 0.2);
}

.button > svg,
.button > img,
.button > i {
    display: inline-block !important;
    vertical-align: middle !important;
    /*color: var(--button-icon-color);*/
    color: inherit;
    font-size: var(--button-icon-size);
}

.button > svg,
.button > img {
    height: 100%;
    width: auto;
    padding: 2px;
}

.button > input,
.button > select {
    background-color: transparent !important;
    border: none !important;
    color: inherit;
    padding: 0;
    cursor: pointer;
    contain: content;
}

.button.btn-select > select {
    padding-right: calc(var(--button-icon-size) + 4px);
}

.button.btn-select[dir="ltr"] > select {
    padding-right: 0;
    padding-left: var(--button-icon-size);
}

.button.btn-select:has(select) img,
.button.btn-select:has(select) i {
    position: absolute;
    right: var(--button-padding);
    top: 50%;
    transform: translateY(-50%);
}

.button.btn-select[dir="ltr"]:has(select) img,
.button.btn-select[dir="ltr"]:has(select) i {
    right: auto;
    left: var(--button-padding);
}


label:has(select.loading) > i{
    color: transparent;
}
label:has(select.loading) > i:after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("/assets/icon/connection.gif");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 90%;
    background-color: #fff;
    border-radius: 4px;
}

.button > select:active,
.button > select:hover,
.button > select:focus {
    outline: none;
    box-shadow: none;
    border: none;
}

.button > select optgroup,
.button > select option {
    color: #000;
}


.button.icon {
    --button-min-width: var(--button-height);
    padding: 0 !important;
}
.button.icon.fill{
    flex-grow: 1;
}
.button.icon:empty{
    display: none;
}
.button.icon > svg,
.button.icon > img,
.button.icon > i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.button.icon > svg,
.button.icon > img{
    width: 100%;
    height: 100%;
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
    padding: 4px;
}

.button .countdown {
    display: inline-block;
    vertical-align: middle;
}

form.loading .button[type='submit'],
.button.loading {
    color: transparent !important;
    background-image: url("/assets/icon/loading/loading-white.gif");
    background-image: var(--loading-backgroud);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 24px;
}

form.loading .button[type='submit']:hover,
.button.loading:hover {
    color: transparent !important;
    background-image: var(--loading-backgroud-hover);
}

form.loading .button[type='submit'] *,
.button.loading * {
    opacity: 0 !important;
}

a.link {
    display: inline-block;
    vertical-align: middle;
    text-decoration: none;
}

a.link[lang="en"] {
    letter-spacing: 1px;
}

a.link.bold {
    font-family: var(--font-medium-en);
}

a.link,
a.link.primary {
    color: var(--color-primary);
}

a.link.secondary {
    color: var(--color-secondary);
}

a.link.gray {
    color: var(--color-gray);
}

a.link.black {
    color: #000;
}

a.link.white {
    color: #fff;
}

a.link.blue {
    color: #335cff;
}

a.link.red {
    color: darkred;
}

a.link.fill {
    padding: 2px 6px;
    border-radius: 4px;
}

a.link.fill,
a.link.fill.primary {
    color: var(--color-primary-txt);
    background: var(--color-primary);
}

a.link.fill.secondary {
    color: var(--color-secondary-txt);
    background: var(--color-secondary);
}

a.link.fill.gray {
    color: var(--color-gray-txt);
    background: var(--color-gray);
}

a.link.fill.black {
    color: var(--color-dark-txt);
    background: var(--color-dark);
}

a.link.fill.white {
    color: #000;
    background: #f1f1f1;
}

a.link.fill.blue {
    color: #fff;
    background: #335cff;
}

a.link.fill.red {
    color: #fff;
    background: darkred;
}

a.link.limited {
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 100%;
    overflow: hidden;
}

.error-report-box {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 1500px;
    width: 100%;
    padding: 14px;
    overflow: auto;
    margin: 24px auto;
    white-space: pre-wrap;
    font: 13px/32px var(--font-light-en),Consolas, Monaco, monospace;
    scrollbar-color: auto;
    scrollbar-width: thin;
    scroll-margin-top: 24px;
    background: #121212;
    color: #fff;

    border-radius: 12px;
}
.error-report-box .name{
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
}
.error-report-box .description:empty{
    display: none;
}
.error-report-box .code:has(code:empty){
    display: none;
}
.console-log-box {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 1500px;
    width: 100%;
    padding: 0 /*24px*/;
    overflow: auto;
    margin: 24px auto;
    direction: ltr !important;
    text-align: left !important;
    white-space: pre-wrap;
    font: 13px/32px Consolas, Monaco, monospace;

    scrollbar-color: auto;
    scrollbar-width: thin;
    scroll-margin-top: 24px;
}

.console-log-box[dir="rtl"]{
    direction: rtl !important;
    text-align: right !important;
}
.console-log-box pre {
    display: table;
    background-color: #222;
    padding: 20px;
    color: #fff;
    border-radius: 5px;
    margin: 0;
    white-space: pre;
}

.console-log-box pre ~ pre {
    margin-bottom: 12px;
}

.console-log-box p {
    margin: 0;
}

.console-log-box code {
    white-space: pre-wrap;
}

.console-log-box

.select-box {
    position: relative;

    display: flex;
    flex-direction: column;
    width: 100%;
}

.select-box.opened {
    z-index: var(--z-index-global-middle-priority);
}

@media only screen and (max-width: 968px) {
    .select-box.select-box.opened {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding: 24px;
        background: rgba(255, 255, 255, 0.95);
        overflow: auto;
        backdrop-filter: blur(10px);
    }
}


.select-box > .showcase {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    background: #fff;
    border: 1px solid var(--color-body-border);

    border-radius: 8px;
    padding: 8px;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    transition: all 150ms;
    z-index: 2;
    cursor: pointer;
}

.select-box > .showcase:active,
.select-box > .showcase:focus,
.select-box > .showcase:hover {
    border: 1px solid #888888;
    border: 1px solid color-mix(in srgb, var(--color-body-border) 80%, black);
}

.select-box.transparent > .showcase {
    border-color: transparent;
    padding-right: 0;
    padding-left: 0;
}

.select-box.transparent > .showcase:active,
.select-box.transparent > .showcase:focus,
.select-box.transparent > .showcase:hover {
    border-color: transparent;
}

@media only screen and (max-width: 968px) {

    .select-box.opened > .container {
        position: sticky;
        top: -24px;
        border: none;

    }
}

.select-box > .showcase .icon {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    line-height: 40px;
    font-size: 28px;
    vertical-align: middle;
    text-align: center;
    user-select: none;
}

.select-box > .showcase .icon[data-count]:after {
    content: attr(data-count);
    position: absolute;
    display: inline-block;
    font: 12px/16px var(--font-medium-en);
    min-width: 14px;
    height: 14px;
    background: #d1d1d1;
    text-align: center;
    border-radius: 100px;
    bottom: 0;
    left: 0;
    transform: translate(-25%, 25%);
}

.select-box > .showcase .icon[data-count='']:after,
.select-box > .showcase .icon[data-count='0']:after,
.select-box > .showcase .icon[data-count='1']:after {
    display: none;
}


.select-box > .showcase .icon i,
.select-box > .showcase .icon img {
    display: block;
    width: 100%;
    height: 100%;
    font-size: inherit;
    line-height: inherit;
    -o-object-fit: cover;
    object-fit: cover;

    border-radius: 8px;
    background: #f1f1f1;
    color: #000;
    overflow: hidden;

}

.select-box > .showcase .icon img {
    padding: 4px;
}

.select-box > .showcase > .container {
    flex: 1;

    display: flex;
    flex-direction: column-reverse;
    text-align: right;
    column-gap: 2px;
    row-gap: 2px;
    gap: 2px;
    user-select: none;
}

.select-box > .showcase > .container > .title {
    font: 12px var(--font-light-en);
    display: block;
    color: #8f8f8f;
}

.select-box > .showcase > .container > .value:empty ~ .title {
    font: 13px/20px var(--font-medium-en);
    color: #000;

}

.select-box > .showcase > .container > .value {
    font: 13px/20px var(--font-medium-en);

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    color: #000;
    word-break: break-word;

}

.select-box > .showcase > .container > .value:empty {
    display: none;
}

.select-box > .showcase > .container > .value small {
    font-size: 10px;
}

.select-box > .showcase > .container > .value[data-count]:after {
    content: attr(data-count);
    display: inline-block;
    font: 12px/23px var(--font-medium-en);
    min-width: 20px;
    height: 20px;
    background: #f1f1f1;
    text-align: center;
    border-radius: 100px;
}

.select-box > .showcase > .container > .value[data-count='']:after,
.select-box > .showcase > .container > .value[data-count='0']:after,
.select-box > .showcase > .container > .value[data-count='1']:after {
    display: none;
}

.select-box > .showcase .options {

    display: inline-flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
}

.select-box > .showcase:after {
    content: 'expand_less';
    display: inline-block;
    width: 28px;
    height: 28px;
    font-size: 24px;
    line-height: 28px;

    border-radius: 8px;
    text-align: center;
    cursor: pointer;
    user-select: none;
    overflow: hidden;

    font-family: "Material Symbols Rounded", "Material Icons";
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
}

.select-box.opened > .showcase:after {
    content: 'expand_more';
}

.select-box.loading > .showcase:after {
    color: transparent;
    background: url("/assets/icon/loading/selectBoxLoading.gif") no-repeat center / 20px;
}


.select-box > .options {
    position: absolute;
    flex: 1;
    list-style: none;
    width: 100%;
    top: 100%;
    left: 50%;
    margin: 12px 0 0;
    transform: translateX(-50%);

    display: none;
}

.select-box.opened > .options {
    display: block;
}

@media only screen and (max-width: 968px) {
    .select-box.opened > .options {
        display: flex;
        flex-direction: column;
        column-gap: 12px;
        row-gap: 12px;
        gap: 12px;
        position: relative;
        top: auto;
        left: auto;
        transform: translateX(0);
    }
}

.select-box > .options .list {
    flex: 1;
    list-style: none;
    padding: 12px 0;
    margin: 0;
    background: #fff;
    width: 100%;
    box-shadow: 0 0 0 1px var(--color-body-border);

    border-radius: 8px;
    max-height: 350px;
    overflow: auto;
    scrollbar-color: auto;
    scrollbar-width: thin;
}

@media only screen and (max-width: 968px) {
    .select-box > .options .list {
        max-height: none;
    }
}

.select-box > .options .list::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.select-box > .options .list::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px transparent;
}

.select-box > .options .list::-webkit-scrollbar-button {
    display: block;
    background-color: transparent;
    width: 4px;
    height: 4px;
}

.select-box > .options .list::-webkit-scrollbar-thumb {
    background-color: #d1d1d1;
    box-shadow: inset 0 0 0 3px #fff;
}

.select-box .options .list li {
    font: 12px/32px var(--font-light-en);
    width: 100%;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
}

.select-box > .options .list li:hover {
    background: #f1f1f1;
}

.select-box > .options .list li > a,
.select-box > .options .list li > label {
    width: 100%;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    padding: 0 12px;
}

.select-box > .options .list li > :checked,
.select-box > .options .list li > .checked {
    background: rgba(0, 0, 0, 0.024);
}

.select-box > .options .list li label input {

}

.select-box > .options .list li label span {

}

.select-box > .options .button-container {
    position: sticky;
    bottom: -20px;
    flex-wrap: nowrap;
}

.select-box > .options .button-container .button {
    width: 50%;
    flex: 1;
}

@media only screen and (min-width: 968px) {
    .select-box > .options .button-container {
        display: none !important;
    }
}


.notify-container {
    position: fixed;

    display: flex;
    flex-direction: column-reverse;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
    width: 300px;
    padding: 12px;
    z-index: var(--z-index-global-high-priority);
    overflow: auto;
    max-height: 50vh;
    scrollbar-color: auto;
    scrollbar-width: unset;
    box-sizing: content-box;
    direction: rtl;
}

.notify-container::-webkit-scrollbar {
    display: none;
}

.notify-container:empty {
    display: none;
}

.notify-container.top-left {
    top: 0;
    left: 0;
    flex-direction: column;
}

.notify-container.top-center {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    flex-direction: column;
}

.notify-container.top-right {
    top: 0;
    right: 0;
    flex-direction: column;
}

.notify-container.bottom-left {
    bottom: 0;
    left: 0;
}

.notify-container.bottom-center {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.notify-container.bottom-right {
    bottom: 0;
    right: 0;
}

.notify-container.middle-left {
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.notify-container.middle-right {
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.notify {
    position: relative;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    background: rgba(var(--color-gray-rgb), 0.8);
    color: var(--color-gray-txt);
    font-size: 12px;

    border-radius: 8px;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    padding: 8px;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);

}

.notify.primary {
    background: rgba(var(--color-primary-rgb), 0.8);
    color: var(--color-primary-txt);
}

.notify.secondary {
    background: rgba(var(--color-secondary-rgb), 0.8);
    color: var(--color-secondary-txt);
}

.notify.success {
    background: rgba(var(--color-success-rgb), 0.8);
    color: var(--color-success-txt);
}

.notify.danger {
    background: rgba(var(--color-danger-rgb), 0.8);
    color: var(--color-danger-txt);

}

.notify.warning {
    background: rgba(var(--color-warning-rgb), 0.8);
    color: var(--color-warning-txt);
}

.notify.info {
    background: rgba(var(--color-info-rgb), 0.8);
    color: var(--color-info-txt);

}

.notify.dark {
    background: rgba(var(--color-dark-rgb), 0.8);
    color: var(--color-dark-txt);

}

.notify .icon,
.notify .close-button {
    display: inline-flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    width: 32px;
    height: 32px;
    font-size: 24px;
    line-height: 32px;
    text-align: center;
    user-select: none;
    overflow: hidden;
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
    transition: all 250ms;
}

.notify .icon > * {
    line-height: inherit;
    font-size: inherit;
}

.notify .close-button {

    border-radius: 8px;
    cursor: pointer;
}

.notify .close-button:hover {
    background: rgba(255, 255, 255, 0.5);
}

.notify.dark .close-button:hover {
    background: rgba(255, 255, 255, 0.2);
}

.notify.warning .close-button:hover,
.notify.info .close-button:hover {
    background: rgba(255, 255, 255, 0.6);
}

.notify .close-button:after {
    content: 'close';
}


.notify > .container {
    flex: 1;
    width: calc(100% - 32px);

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-start;


}

.notify > .container .title {
    font: 13px/24px var(--font-regular-en);
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.notify > .container .description {
    font: 12px/24px var(--font-ultra-light-en);
    overflow-wrap: anywhere;
    width: 100%;
}

.list-group {

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    list-style: none;
    padding: 0;
    margin: auto;
    width: 100%;
    border: 1px solid var(--color-gray);

    border-radius: 8px;
}

.list-group.inline {
    flex-direction: row;
    flex-wrap: nowrap;
    overflow: auto;
}

.list-group > * {
    width: 100%;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    padding: 8px;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    text-decoration: none;
    color: inherit;
    transition: background 250ms;
}

.list-group.inline > * {
    width: auto;
    flex: auto;
}

.list-group > *:hover {
    background: rgba(0, 0, 0, 0.02);
}

.list-group > * {
    border-bottom: 1px solid var(--color-gray);
}

.list-group > *:last-of-type {
    border-bottom: none;
}

.list-group > li * {
    vertical-align: middle;
}

.list-group > * > i,
.list-group > * > img {
    width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 24px;
    padding: 2px;
    display: inline-block;
    -o-object-fit: cover;
    object-fit: cover;
    text-align: center;
}

.list-group > * > small {
    flex-grow: 1;
    flex-basis: 0;
    text-align: left;
    color: #ccc;
}

.card {
    --card-background: #fff;
    --card-color: #fff;
    --card-border-color: var(--color-gray);
    position: relative;

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-start;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
    background: #fff;
    color: #000;

    border-radius: 8px;
}

.card.outline {
    padding: 14px;
    border: 1px solid var(--color-gray);
    box-shadow: inset 0 0 2px var(--color-gray);
}

.card > .card-header {
    width: 100%;
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
}

.card > .card-header.inline {
    flex-direction: row;
}

.card > .card-header > .title {

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    font: 14px/24px var(--font-bold-en);
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
}

.card > .card-header > .title i {
    line-height: 24px;
}

.card > .card-header > .description {
    display: block;
    font: 12px/24px var(--font-light-en);
}

.card > .card-container {
    width: 100%;
    display: block;
    font: 12px/24px var(--font-light-en);
}


.portlet {
    --portlet-background: #fff;
    --portlet-color: #000;
    --portlet-border-color: transparent;
    --portlet-padding: 14px;
    --portlet-icon-background: 0, 0, 0;
    --portlet-border-radius: 8px;

    position: relative;

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-start;
    column-gap: 0;
    row-gap: 0;
    gap: 0;
    border-radius: var(--portlet-border-radius);
    transition: all 100ms;

    border: 1px solid var(--portlet-border-color);
    background: var(--portlet-background);
    color: var(--portlet-color);
}

.portlet.hide {
    opacity: 0;
    visibility: hidden;
}

.portlet.outline {
    --portlet-padding: 14px;
    --portlet-border-color: var(--color-gray);

    border: 1px solid var(--portlet-border-color);
    box-shadow: inset 0 0 2px var(--portlet-border-color);
}

.portlet.outline > .portlet-container {
    background: #fff;
    color: #000;
}

.portlet.primary {
    --portlet-padding: 14px;
    --portlet-background: var(--color-primary);
    --portlet-color: var(--color-primary-txt);
    --portlet-icon-background: var(--color-primary-txt-rgb);
}

.portlet.secondary {
    --portlet-padding: 14px;
    --portlet-background: var(--color-secondary);
    --portlet-color: var(--color-secondary-txt);
    --portlet-icon-background: var(--color-secondary-txt-rgb);
}

.portlet.success {
    --portlet-padding: 14px;
    --portlet-background: var(--color-success);
    --portlet-color: var(--color-success-txt);
    --portlet-icon-background: var(--color-success-txt-rgb);
}

.portlet.info {
    --portlet-padding: 14px;
    --portlet-background: var(--color-info);
    --portlet-color: var(--color-info-txt);
    --portlet-icon-background: var(--color-info-txt-rgb);
}

.portlet.warning {
    --portlet-padding: 14px;
    --portlet-background: var(--color-warning);
    --portlet-color: var(--color-warning-txt);
    --portlet-icon-background: var(--color-warning-txt-rgb);
}

.portlet.danger {
    --portlet-padding: 14px;
    --portlet-background: var(--color-danger);
    --portlet-color: var(--color-danger-txt);
    --portlet-icon-background: var(--color-danger-txt-rgb);
}

.portlet.dark {
    --portlet-padding: 14px;
    --portlet-background: var(--color-dark);
    --portlet-color: var(--color-dark-txt);
    --portlet-icon-background: var(--color-dark-txt-rgb);
}

.portlet > .portlet-header {
    width: 100%;
    position: relative;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
    padding: var(--portlet-padding);
    border-radius: var(--portlet-border-radius) var(--portlet-border-radius) 0 0;
}

.portlet > .portlet-header > .title {
    display: inline-block;
    font: 14px/24px var(--font-regular-en);
}

.portlet > .portlet-header > .tools {
    --portlet-tools-button-size: 30px;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
}

.portlet > .portlet-header > .tools.small {
    --portlet-tools-button-size: 24px;
}

.portlet > .portlet-header > .tools.medium {
    --portlet-tools-button-size: 32px;
}

.portlet > .portlet-header > .tools.big {
    --portlet-tools-button-size: 40px;
}

.portlet > .portlet-header > .tools a,
.portlet > .portlet-header > .tools button {
    position: relative;
    color: inherit;
    background: rgba(var(--portlet-icon-background), 0.1);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    border: none;
    width: var(--portlet-tools-button-size);
    height: var(--portlet-tools-button-size);
    line-height: var(--portlet-tools-button-size);
    text-align: center;
    transition: all 250ms;
    padding: 0;
    margin: 0;

    border-radius: 8px;
    cursor: pointer;
}

.portlet > .portlet-header > .tools a:focus,
.portlet > .portlet-header > .tools a:hover,
.portlet > .portlet-header > .tools a:active,
.portlet > .portlet-header > .tools button:focus,
.portlet > .portlet-header > .tools button:hover,
.portlet > .portlet-header > .tools button:active {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--portlet-icon-background), 0.05);
}

.portlet > .portlet-header > .tools a:hover,
.portlet > .portlet-header > .tools button:hover {
    background: rgba(var(--portlet-icon-background), 0.15);

}

.portlet > .portlet-header > .tools a img,
.portlet > .portlet-header > .tools a i,
.portlet > .portlet-header > .tools button i,
.portlet > .portlet-header > .tools button img {
    position: absolute;
    color: inherit;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    line-height: inherit;
    text-align: inherit;
    user-select: none;
    font-size: 20px;

}

.portlet.minimize > .portlet-header > .tools button.minimize i,
.portlet.minimize > .portlet-header > .tools button.minimize img {
    transform: rotate(180deg);
}

.portlet > .portlet-container {
    width: 100%;
    display: block;
    font: 12px/24px var(--font-light-en);
    padding: 0 var(--portlet-padding) var(--portlet-padding);
    border-radius: 0 0 calc(var(--portlet-border-radius) - 1px) calc(var(--portlet-border-radius) - 1px);
}

.portlet.minimize > .portlet-container {
    display: none;
}


#popup {
    --popup-padding: 14px;
    --popup-background: #fff;
    --popup-color: #000;
    --popup-border-color: var(--color-gray);

    position: fixed;
    top: 0;
    left: 0;
    z-index: calc(-1 * var(--z-index-global-high-priority));
    display: none;

}

#popup.primary {
    --popup-background: var(--color-primary);
    --popup-color: var(--color-primary-txt);
    --popup-border-color: rgba(var(--color-primary-txt-rgb), 0.2);
}

#popup.secondary {
    --popup-background: var(--color-secondary);
    --popup-color: var(--color-secondary-txt);
    --popup-border-color: rgba(var(--color-secondary-txt-rgb), 0.2);
}

#popup.success {
    --popup-background: var(--color-success);
    --popup-color: var(--color-success-txt);
    --popup-border-color: rgba(var(--color-success-txt-rgb), 0.2);
}

#popup.info {
    --popup-background: var(--color-info);
    --popup-color: var(--color-info-txt);
    --popup-border-color: rgba(var(--color-info-txt-rgb), 0.2);
}

#popup.warning {
    --popup-background: var(--color-warning);
    --popup-color: var(--color-warning-txt);
    --popup-border-color: rgba(var(--color-warning-txt-rgb), 0.2);
}

#popup.danger {
    --popup-background: var(--color-danger);
    --popup-color: var(--color-danger-txt);
    --popup-border-color: rgba(var(--color-danger-txt-rgb), 0.2);
}

#popup.dark {
    --popup-background: var(--color-dark);
    --popup-color: var(--color-dark-txt);
    --popup-border-color: rgba(var(--color-dark-txt-rgb), 0.2);
}

#popup.active {
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    z-index: var(--z-index-global-middle-priority);
    direction: rtl;
}

#popup > .popup-background {
    z-index: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(40, 40, 40, 0.24);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

#popup > .popup-container {
    z-index: 1;
    position: relative;

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    /*width: 600px;*/
    min-width: 300px;
    /*min-height: 300px;*/
    max-width: 90%;
    max-height: 90%;
    border-radius: 12px;
    gap: 24px;
    background: var(--popup-background);
    color: var(--popup-color);
}


#popup > .popup-container > .head {
    width: 100%;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    padding: var(--popup-padding);
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    border-bottom: 1px solid var(--popup-border-color);

}

#popup > .popup-container > .head > .container {
    display: inline-block;
    flex: 1;
    padding-left: 4px;
}

#popup > .popup-container > .head > .icon {
    display: inline-block;
    vertical-align: middle;
    width: 32px;
    height: 32px;
    line-height: 32px;

    border-radius: 8px;
    text-align: center;
    background: rgba(0, 0, 0, 0.025);
    align-self: flex-start;
}

#popup > .popup-container > .head > .icon:empty {
    display: none;
}

#popup > .popup-container > .head > .container > .title {
    display: inline-block;
    vertical-align: middle;
    font: 14px var(--font-bold-en);
}

#popup > .popup-container > .head > .container > .title:empty {
    display: none;
}

#popup > .popup-container > .head > .container > .description {
    display: block;
    width: 100%;
    font: 12px/24px var(--font-light-en);
    white-space: pre-line;
}

#popup > .popup-container > .head > .container > .description:empty {
    display: none;
}

#popup > .popup-container > .head > .tools {

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    max-width: 30%;
    align-items: center;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
}

#popup > .popup-container > .container {
    position: relative;

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 24px;
    row-gap: 24px;
    gap: 24px;

    width: 100%;
    padding: 0 var(--popup-padding);
    flex: 1;
    font: 12px/24px var(--font-light-en);
    overflow: auto;
    scrollbar-color: auto;
    scrollbar-width: thin;
}
#popup > .popup-container > .container:last-child{
    margin-bottom: 24px;
}
#popup > .popup-container > .container:empty {
    display: none;
}

#popup > .popup-container > .container::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

#popup > .popup-container > .container::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px transparent;
}

#popup > .popup-container > .container::-webkit-scrollbar-button {
    display: block;
    background-color: transparent;
    width: 8px;
    height: 8px;
}

#popup > .popup-container > .container::-webkit-scrollbar-thumb {
    border-radius: 100px;
    background-color: #d1d1d1;
    box-shadow: inset 0 0 0 3px #fff;
}

#popup > .popup-container > .container::-webkit-scrollbar-thumb:hover {
    background-color: #a8a8a8;
}

#popup > .popup-container > .container > .txt,
#popup > .popup-container > .container > .form {
    width: 100%;
    display: block;

}


#popup > .popup-container.loading > .container {
    overflow: hidden;
    place-content: end;
    justify-content: end;
}

#popup > .popup-container > .container > .status {
    display: none;
}

#popup > .popup-container.loading > .container > .status {
    position: absolute;

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 14px;
    row-gap: 14px;
    gap: 14px;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.8);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 9;
}

#popup > .popup-container.loading > .container > .status > .container {

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;

}

#popup > .popup-container.loading > .container > .status > .container > .icon {
    display: block;
    width: 48px;
    height: 48px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
}

#popup > .popup-container.loading > .container > .status > .container > .icon {
    background-image: url("/assets/icon/form-processing/load-from-cloud.gif");
}

#popup > .popup-container.loading > .container > .status[data-status="uploading"] > .container > .icon {
    background-image: url("/assets/icon/form-processing/uploading-cloud.gif");
}

#popup > .popup-container.loading > .container > .status[data-status="processing"] > .container > .icon {
    background-image: url("/assets/icon/form-processing/cloud-sync.gif");
}

#popup > .popup-container.loading > .container > .status[data-status="abort"] > .container > .icon {
    background-image: url("/assets/icon/form-processing/error-cloud.gif");
}

#popup > .popup-container.loading > .container > .status > .container > .title {
    display: block;
    font: 14px var(--font-bold-en);
}

#popup > .popup-container.loading > .container > .status > .container > .process-bar {
    position: relative;
    width: 400px;
    max-width: 95%;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    margin: auto;
    direction: ltr;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
}

#popup > .popup-container.loading > .container > .status > .container > .process-bar .loaded,
#popup > .popup-container.loading > .container > .status > .container > .process-bar .total {
    display: inline-block;
    opacity: 0;
    visibility: hidden;
    min-width: 48px;
}

#popup > .popup-container.loading > .container > .status[data-status="uploading"] > .container > .process-bar .loaded,
#popup > .popup-container.loading > .container > .status[data-status="uploading"] > .container > .process-bar .total {
    opacity: 1;
    visibility: visible;
}

#popup > .popup-container.loading > .container > .status > .container > .process-bar .bar {
    --bar-percent: 0;
    position: relative;
    display: inline-block;
    flex: 1;
    width: 100%;
    height: 5px;
    background: #f1f1f1;
    border-radius: 100px;
    overflow: hidden;
}


#popup > .popup-container.loading > .container > .status > .container > .process-bar .bar:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: #8f8f8f;
}

#popup > .popup-container.loading > .container > .status[data-status="uploading"] > .container > .process-bar .bar:before {
    width: var(--bar-percent);
}

#popup > .popup-container.loading > .container > .status[data-status="processing"] > .container > .process-bar .bar:before {
    animation: bar-animation 1.5s infinite ease-in-out;
    border-radius: 100px;
}

#popup > .popup-container.loading > .container > .status[data-status="downloading"] > .container > .process-bar,
#popup > .popup-container.loading > .container > .status[data-status="downloading"] > .container > .button-container {
    display: none !important;
}

@keyframes bar-animation {
    0% {
        width: 0;
        left: 0;
        right: auto;
    }
    50% {
        width: 100%;
    }
    100% {
        width: 0;
        left: auto;
        right: 0;
    }
}

#popup > .popup-container > .foot {
    width: 100%;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    align-items: flex-start;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
    padding: var(--popup-padding);

}


.tooltip {
    --tooltip-arrow-width: 5px;
    --tooltip-arrow-color: #000;
    position: fixed;
    background-color: #000;
    color: #fff;
    border-radius: 5px;
    padding: 4px 8px;
    font: 12px/24px var(--font-light-en);
    min-width: 24px;
    max-width: 190px;
    width: max-content;
    z-index: var(--z-index-global-high-priority);
    display: none;
    text-align: center;
}

.tooltip:empty {
    display: none !important;
}

.tooltip:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
}

.tooltip.top-center,
.tooltip.top-left,
.tooltip.top-right {
    margin-top: -12px;
}

.tooltip.top-center:after,
.tooltip.top-left:after,
.tooltip.top-right:after {
    top: 100%;
    border-width: var(--tooltip-arrow-width) var(--tooltip-arrow-width) 0 var(--tooltip-arrow-width);
    border-color: var(--tooltip-arrow-color) transparent transparent transparent;
    transform: translateX(-50%);
}

.tooltip.top-center {
    left: 50%;
    transform: translate(0, 0);
}

.tooltip.top-center:after {
    left: 50%;
}

.tooltip.top-left {
    transform: translateX(100%);
}

.tooltip.top-left:after {
    left: 12px;
}

.tooltip.top-right {
    transform: translateX(-100%);
}

.tooltip.top-right:after {
    right: 12px;
}

.tooltip.right-top,
.tooltip.right-middle {

    margin-left: 12px;
}

.tooltip.right-bottom {
    margin-left: 12px;
    transform: translateY(-100%);

}

.tooltip.right-top:after,
.tooltip.right-middle:after,
.tooltip.right-bottom:after {
    top: 50%;
    right: 100%;
    border-width: var(--tooltip-arrow-width) var(--tooltip-arrow-width) var(--tooltip-arrow-width) 0;
    border-color: transparent var(--tooltip-arrow-color) transparent transparent;
    transform: translateY(-50%);
}


.tooltip.bottom-center,
.tooltip.bottom-left,
.tooltip.bottom-right {
    margin-top: 12px;
}

.tooltip.bottom-center:after,
.tooltip.bottom-left:after,
.tooltip.bottom-right:after {
    bottom: 100%;
    border-width: 0 var(--tooltip-arrow-width) var(--tooltip-arrow-width) var(--tooltip-arrow-width);
    border-color: transparent transparent var(--tooltip-arrow-color) transparent;
    transform: translateX(-50%);
}

.tooltip.bottom-center {
    left: 50%;
    transform: translate(0, 0);
}

.tooltip.bottom-center:after {
    left: 50%;
}

.tooltip.bottom-left {
    transform: translateX(100%);
}

.tooltip.bottom-left:after {
    left: 12px;
}

.tooltip.bottom-right {
    transform: translateX(-100%);
}

.tooltip.bottom-right:after {
    right: 12px;
}

.tooltip.left-top,
.tooltip.left-middle {
    margin-left: -12px;
    transform: translateX(-100%);
}

.tooltip.left-bottom {
    margin-left: -12px;
    transform: translate(-100%, -100%);

}

.tooltip.left-top:after,
.tooltip.left-middle:after,
.tooltip.left-bottom:after {
    top: 50%;
    left: 100%;
    border-width: var(--tooltip-arrow-width) 0 var(--tooltip-arrow-width) var(--tooltip-arrow-width);
    border-color: transparent transparent transparent var(--tooltip-arrow-color);
    transform: translateY(-50%);
}

.table-container {
    --table-padding: 12px;
    --table-border-color: var(--color-body-border);

    display: flex;
    flex-direction: column;
    width: 100%;
    border: 1px solid var(--table-border-color);
    border-radius: 12px;
    padding: 0;
}

.table-container .table-columns-container {

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: stretch;
}

.table-container .border-l {
    border: none !important;
    border-left: 1px solid var(--table-border-color) !important;
}

.table-container .border-r {
    border: none !important;
    border-right: 1px solid var(--table-border-color) !important;
}

.table-container .border-t {
    border: none !important;
    border-top: 1px solid var(--table-border-color) !important;
}

.table-container .border-b {
    border: none !important;
    border-bottom: 1px solid var(--table-border-color) !important;
}

.table-container .form-table {

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;

}

.table-container table thead:first-child th.fit {
    width: 40px;
}


.table-container table thead:first-child th:first-of-type {
    border-radius: 0 12px 0 0;
}

.table-container table thead:first-child th:last-of-type {
    border-radius: 12px 0 0 0;
}

.table-container .table-head + table thead:first-child th:last-of-type,
.table-container .table-head + table thead:first-child th:first-of-type,
.table-container table + table thead:first-child th:last-of-type,
.table-container table + table thead:first-child th:first-of-type {
    border-radius: 0;
}


.table-container .form-container + table thead:first-child th:first-of-type,
.table-container .form-container + table thead:first-child th:last-of-type {
    border-radius: 0;
}

.table-container table tbody tr:last-child td:first-of-type {
    border-radius: 0 0 12px 0;
}

.table-container table tbody tr:last-child td:last-of-type {
    border-radius: 0 0 0 12px;
}

.table-container table tbody tr:first-child td:first-of-type {
    border-radius: 0 12px 0 0;
}

.table-container table tbody tr:first-child td:last-of-type {
    border-radius: 12px 0 0 0;
}

/*
.table-container table tbody:first-child:last-child td:first-of-type {
    border-radius: 0 12px 12px 0;
}

.table-container table tbody:first-child:last-child td:last-of-type {
    border-radius: 12px 0 0 12px;
}
*/


.table-container form:not(:first-child) table thead:first-child th:first-of-type,
.table-container form:not(:first-child) table thead:first-child th:last-of-type {
    border-radius: 0;
}

.table-container table.sortable-active {
    user-select: none;
    cursor: grabbing;
}

.table-container table.sortable-active tbody {
    position: relative;
    z-index: var(--z-index-global-high-priority);
}

.table-container table .sortable-handle {
    width: 40px;
    padding: 0;
    text-align: center;
    vertical-align: middle;
    align-content: center;
    cursor: grab;
}

.table-container table.sortable-active .sortable-handle {
    cursor: grabbing;
}

.table-container table .sortable-handle:after {
    content: 'drag_indicator';
    font-size: 18px;
    font-family: "Material Symbols Rounded", "Material Icons", serif;
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
    user-select: none;

}

.table-container table tr.sortable-chosen {
    outline: 1px dashed var(--color-primary);
}

.table-container table .sortable-chosen .sortable-handle:after {
    content: 'multiple_stop';
    -webkit-writing-mode: vertical-lr;
    writing-mode: vertical-lr;
    text-orientation: sideways;

}

tr.sortable-fallback,
tbody.sortable-fallback {
    opacity: 0 !important;
    display: none !important;
    visibility: hidden !important;
}

.table-container .table-tab {
    position: relative;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-around;
    flex-wrap: nowrap;
    align-items: flex-start;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
    padding: 6px var(--table-padding);

    border-radius: 8px;
    background: #f6f7f9;
    overflow-x: auto;
    overflow-y: clip;
    scroll-snap-stop: always;
    scroll-snap-type: x proximity;
    scrollbar-color: auto;
    scrollbar-width: thin;
}

.table-container .table-tab.horizontal-tab {

    flex-direction: column;
}

.table-container .table-tab.transparent {
    background: transparent;
}

.table-container .table-tab.inline {
    display: inline-flex;
}

.table-container .table-tab a {
    display: inline-flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    text-decoration: none;
    flex: 1;
    gap: 0;
    border-radius: 8px;
    transition: all 250ms;
    line-height: 32px;
    height: 40px;
    color: #72788a;
    white-space: nowrap;
    padding: 0 8px;
    scroll-snap-align: end;
    font-size: 12px;
}

.table-container .table-tab a img{

}
.table-container .table-tab a span{
    line-height: 16px;
}
.table-container .table-tab a small,
.table-container .table-tab a strong{
    font-weight: normal;
}
.table-container .table-tab a strong{
    font-family: var(--font-bold-en);
}
.table-container .table-tab a small{
    font-family: var(--font-light-en);
}

.table-container .table-tab a:has(strong) small,
.table-container .table-tab a:has(small) strong{
    line-height: 16px;
}

.table-container .table-tab a.select {
    background: #d8d8d8;
    color: #000;
}

.table-container .table-tab a:hover {
    background: rgba(216, 216, 216, 0.5);
}

.table-container .table-tab a i,
.table-container .table-tab a img {
    width: 24px;
    height: 24px;
    line-height: 24px;
    font-size: 20px;
    -o-object-fit: cover;
    object-fit: cover;
}

.table-container > .table-head ~ .table-tab {
    border-radius: 0;
    border-bottom: 1px solid var(--table-border-color);
}

.table-container > .table-head {
    position: relative;
    width: 100%;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
    padding: var(--table-padding);
    border-bottom: 1px solid var(--table-border-color);
}

.table-container > .table-head > .tools,
.table-container > .table-head > .information {

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
}

.table-container > .table-head > .tools {
    justify-content: flex-end;
    flex-grow: 1;
}

.table-container > .table-head > .information > .title {

    display: flex;
    flex-direction: column;
    font: 14px var(--font-bold-en);
}

.table-container > .table-head > .information > .title > p {
    font: 12px var(--font-ultra-light-en);
    margin: 0;
}

.table-container > .table-head > .information > .icon {
    display: inline-flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--color-gray);
}

.table-container .form-container {
    --table-forms-input-border-radius: 12px;
    --table-forms-input-border-color: #ddd;
    --table-forms-input-background: #fff;
    position: relative;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
    width: 100%;
    padding: var(--table-padding);

}

.table-container .form-container:first-child {

    padding-top: var(--table-padding);
}

.table-container .form-container > .other,
.table-container .form-container > .container {
    position: relative;
    display: inline-flex;
    flex-direction: row;
    align-content: center;
    flex-wrap: nowrap;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
}

.table-container .form-container > .other {
    align-items: flex-end;
}

.table-container .form-container > .other:empty {
    display: none;
}

.table-container .form-container > .container {
    align-items: flex-start;
    flex: 1;
}

.table-container .form-container input.search {
    width: 450px;
    max-width: 100%;
}

.table-container .form-container input.search {
    border-radius: var(--button-border-radius,12px);
    padding-right: 32px;
    background-image: url("/assets/icon/table/search.svg");
    background-size: 24px;
    background-position: calc(100% - 4px) center;
    background-repeat: no-repeat;
    background-color: var(--table-forms-input-background);
}

.group-action-box,
.table-container .form-container .group-action {

    display: flex;
    flex-direction: row;
    align-content: center;
    flex-wrap: nowrap;
    align-items: center;
    border-radius: var(--button-border-radius,12px);
}

.table-container .form-container button.button[type="submit"] {
    --button-border-radius: var(--button-border-radius,12px);
}

.group-action-box.fill,
.table-container .form-container .group-action.fill {
    flex: 1;
}


.group-action-box > *,
.table-container .form-container .group-action > * {
    border-radius: 0;
    background-color: var(--table-forms-input-background);
    /*border-left: 1px solid var(--table-forms-input-border-color);*/
}


.group-action-box > *:hover,
.table-container .form-container .group-action > *:hover {
    z-index: 1;
}
.group-action-box > *:first-child,
.table-container .form-container .group-action > *:first-child {
    border-radius: 0 var(--button-border-radius,12px) var(--button-border-radius,12px) 0;
}

.group-action-box > *:last-child,
.table-container .form-container .group-action > *:last-child {
    border-radius: var(--button-border-radius,12px) 0 0 var(--button-border-radius,12px);
}

.group-action-box > *:first-child:last-child,
.table-container .form-container .group-action > *:first-child:last-child {
    border-radius: var(--button-border-radius,12px);
}


.table-container table {
    --table-cell-padding: 12px;
    width: 100%;
    border-collapse: unset;
    border-spacing: 0;
    table-layout: auto;
    font: 12px var(--font-light-en);
    counter-reset: table;
}

.table-container table.fixed-col {
    table-layout: fixed;
}

.table-container table > tbody {

}

.table-container table > tbody tr {
    counter-increment: table;
}
.table-container table > tbody tr.selected td{
    background: #f1f1f1;
}

.table-container table > tbody tr.deleted {
    position: relative;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-progress-appearance: unset;
    appearance: none;
}

.table-container table > tbody tr.deleted:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(230, 230, 230, 0.24);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(3px);
}


.table-container table .index {
    text-align: center;
    align-content: center;
}

.table-container table tbody .index:not(:has(> label)):before {
    content: counter(table);
    display: inline-block;
    width: 24px;
    height: 24px;
    background: #e0e0e0;

    border-radius: 8px;
    font: 10px/24px var(--font-bold);
    color: #000;
    align-self: center;
}


.table-container table .index label {
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
}

.table-container table .index label:has(> input) {
    cursor: pointer;
}

.table-container table .index label:before {
    content: '';
    display: inline-block;
    vertical-align: middle;

    border-radius: 8px;
    width: 100%;
    height: 100%;
    line-height: 24px;
    color: var(--checkbox-color);
    background: rgba(0, 0, 0, 0.12);
}

.table-container table .index label:has(> input):before {
    content: 'radio_button_unchecked';
    content: '';
    font-size: 18px;
    font-family: "Material Symbols Rounded", "Material Icons", serif;
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
    cursor: pointer;
}

.table-container table .index label:has(> input:focus):before {
    box-shadow: inset 0 0 0 1px #444;
}

.table-container table .index label:has(> input):hover:before {
    box-shadow: inset 0 0 0 1px #9a9a9a;
}

.table-container table .index label:has(> input[type="checkbox"]:indeterminate):before,
.table-container table .index label:has(> input:checked):before {
    content: 'check';
    box-shadow: inset 0 0 0 1px #444;
    background: #444;
    color: #fff;
}

.table-container table .index label:has(> input[type="checkbox"]:indeterminate):before {
    content: 'remove';
}

.table-container table .index label:has(> input:checked):after {
    visibility: hidden !important;
}

.table-container table .index label:has(> input) input {
    position: absolute;
    opacity: 0;
    top: -100%;
    left: -100%;
}

.table-container table tbody .index label:after {
    content: counter(table);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font: 10px var(--font-bold);
    color: rgba(0, 0, 0, 0.24);
}


.table-container table thead {
    text-align: right;
    position: sticky;
    top: 0;
    z-index: 1;
}

.table-container table thead.fixed {
    position: relative;
}


.table-container table.loading thead:after {
    content: '';
    position: absolute;
    width: 24px;
    height: 24px;
    background: transparent url("/assets/icon/loading/loading-dark.gif") no-repeat center;
    background-size: 24px;
    cursor: progress;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    border-radius: 4px;
}

.table-container table thead > tr {

}

.table-container table thead th.minwidth {
    width: 0;
    white-space: nowrap;
}

.table-container table th {
    background: #f6f7f9;
    color: #000;
    padding: var(--table-cell-padding);
    text-align: inherit;
    border-bottom: 1px solid var(--table-border-color);
    border-top: 1px solid var(--table-border-color);
}

.table-container table td {
    background: #fff;
    color: #000;
    padding: var(--table-cell-padding);
    text-align: inherit;
    border: none;
    border-bottom: 1px solid #edeef0;
    transition: background-color 250ms;
}

.table-container table tr.primary-highlight td {
    background-color: rgba(var(--color-primary-rgb), 0.1);
}

.table-container table tr.secondary-highlight td {
    background-color: rgba(var(--color-secondary-rgb), 0.1);
}

.table-container table tr.success-highlight td {
    background-color: rgba(var(--color-success-rgb), 0.1);
}

.table-container table tr.info-highlight td {
    background-color: rgba(var(--color-info-rgb), 0.1);
}

.table-container table tr.warning-highlight td {
    background-color: rgba(var(--color-warning-rgb), 0.1);
}

.table-container table tr.danger-highlight td {
    background-color: rgba(var(--color-danger-rgb), 0.1);
}

.table-container table tr.gray-highlight td {
    background-color: rgba(var(--color-gray-rgb), 0.1);
}

.table-container table tr.dark-highlight td {
    background-color: rgba(var(--color-dark-rgb), 0.1);
}

.table-container table > tbody:last-of-type > tr:last-of-type > td {
    border-bottom: none;
}

.table-container table > tbody:last-of-type > tr:last-of-type > td {
    border-bottom: none;
}

.table-container table:not(.sortable-active) tr:hover > td {
    background: #f9f9f9;
}

.table-container table thead.text-align-center {
    text-align: center;
}

.table-container table thead.text-align-right {
    text-align: right;
}

.table-container table thead.text-align-left {
    text-align: left;
}

.table-container table .removed {
    pointer-events: none;
    opacity: 0.2;
    user-select: none;
}

.table-container table .removed * {
    pointer-events: none;
    user-select: none;
}

.table-container table .removed td {
    background: #fffbfa !important;
}

.table-container table .removed:hover tr td,
.table-container table .removed:hover td {
    background: #fffbfa !important;
}

.table-container > .pagination.sticky {
    position: sticky;
    bottom: 0;
    background: rgba(255, 255, 255, 0.5);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    width: calc(100% - 1px);
}

.table-container > .pagination:last-child {
    border-radius: 0 0 12px 12px;
}

.table-container table .image-box {
    padding: 4px;

}
.table-container table .image-box.fill {
    padding: 0;
}

.table-container .table-block {
    width: 100%;
    display: block;
}

.table-container .table-action {

    display: none;

    position: sticky;
    bottom: 0;
    width: calc(100% - var(--table-padding));
    min-height: 48px;
    padding: 0 12px;
    margin: auto;

    flex-direction: row-reverse;
    align-content: center;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 24px;
    row-gap: 24px;
    gap: 24px;

    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    border-radius: 14px;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);

    transition: all 250ms;

}

.table-container .table-action.active {

    display: flex;
}

.table-container .table-action > .stats {
    display: inline-flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;

}

.table-container .table-action > .stats > strong {
    display: inline-block;
    height: 24px;
    width: 24px;
    line-height: 24px;
    text-align: center;
    background: var(--color-primary);
    color: var(--color-primary-txt);
    border-radius: 100px;
}
.table-container table td .assetPreview:not(img) img{
    max-width: 128px;
}
.image-box {
    display: inline-block;
    vertical-align: middle;
    width: 48px;
    height: 48px;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--color-gray);
    border-radius: 8px;
    flex: none;
}

.assetPreview:not(img) {
    /*width: max-content;*/
    border: none;
    display: grid;
    grid-template-columns: repeat(4, auto);
    align-items: stretch;
    grid-template-rows: auto;
    min-width: 48px;
    min-height: 48px;
    height: auto;
    padding: 0;
    overflow: hidden;
    border-radius: 8px;
    column-gap: 0;
    row-gap: 0;
    gap: 0;
    background: url(/assets/images/bg-img.png) repeat center / 100px;
}
.assetPreview:not(img):has(img:first-child:last-child){
    grid-template-columns: repeat(1, auto);
}
.assetPreview:not(img):has(img:nth-last-child(2):first-child){
    grid-template-columns: repeat(2, auto);
}
.assetPreview:not(img):has(img:nth-last-child(3):first-child){
    grid-template-columns: repeat(3, auto);
}

.assetPreview.full-size:not(img){
    width: 100%;
}
.assetPreview:not(img) img {
    width: 100%;
    height: 48px;
    -o-object-fit: contain;
    object-fit: contain;
    /*max-width: 128px;*/

}

.assetPreview.full-size:not(img) img{
    height: auto;
    -o-object-fit: contain;
    object-fit: contain;
}

.image-box img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: inherit;
}
.image-box img[src='']{
    background-image: var(--placeholder-src);
    background-size: 12px;
    font-size: 0;
    transform: scale(3);
    background-repeat: no-repeat;
    background-position: center;
    visibility: hidden;
}

.assetPreview:not(img,.loading):empty,
.image-box:empty {
    display: none !important;
}

.assetPreview.loading:not(img) {
    background-image: url("/assets/icon/loading/loading-dark-3.gif");
    background-size: 24px;
    background-position: center center;
    background-color: #fff;
    background-repeat: no-repeat;
}

.treeList {
    --treeList-checkbox-size: 18px;
    --treeList-padding-right: 40px;
    --treeList-background: var(--color-body);
    position: relative;

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid var(--input-border-color);
    border-radius: 4px;
    user-select: none;
    background: var(--treeList-background);
    font-size: 12px;
}

.treeList.fullscreen {
    position: fixed;
    width: 100%;
    width: calc(100% - var(--navigation-width) - var(--dashboards-width));
    height: 100%;
    top: 0;
    left: 0;
    z-index: var(--z-index-global-high-priority);
    overflow: auto;
    border-radius: 0;
    border: none;
}

.treeList > .sync-btn {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
}

.treeList > .head {
    width: 100%;
    position: relative;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    border-radius: 4px 4px 0 0;
    background: #f1f1f1;
    z-index: 1;
    padding: 8px;
}

.treeList > .head input:hover {
    box-shadow: none;
}

.treeList > .head .button-container {

    flex-flow: row-reverse;
    flex-grow: 1;

    transition: all 250ms;

    column-gap: 2px;
    row-gap: 2px;
    gap: 2px;
}

.treeList ul {
    --treeList-ul-gap: 0px;
    width: 100%;
    position: relative;
    list-style: none;

    display: flex;
    flex-direction: column;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
    padding-right: var(--treeList-padding-right);
    background: inherit;
}

.treeList > ul {
    --treeList-ul-gap: 5px;
    padding: 0 var(--treeList-padding-right) var(--input-padding) var(--input-padding);
    margin: 0;
}

.treeList > ul:empty {
    display: none !important;
}

.treeList li {

    display: flex;
    flex-direction: column;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
    position: relative;
    width: 100%;
    background: inherit;
    border-radius: 4px;
}

.treeList li > .case {
    position: relative;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    border-radius: 4px;
    background: inherit;
    z-index: 1;
    transition: all 250ms;
}

.treeList li:hover > .case {

    box-shadow: 0 0 0 4px #f1f1f1, inset 0 0 0 100px #f1f1f1;
}

.treeList li > .case.highlight {
    padding: 4px;
    color: var(--color-gray-txt);
    background: var(--color-gray);
}

.treeList li > .case > .title {
    /*background: inherit;*/
    font-size: 12px;
}

.treeList li > .case > input {
    flex: none;
    width: var(--treeList-checkbox-size);
    height: var(--treeList-checkbox-size);
    cursor: pointer;
    background: #fff;
}

.treeList li > .case > input:disabled {
    cursor: not-allowed;
}

.treeList li > .case > input:hover,
.treeList li > .case > input:active,
.treeList li > .case > input:focus {
    box-shadow: none;
}

.treeList li > .case > .icon {
    display: inline-flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;

}

.treeList li > .case > .icon i,
.treeList li > .case > .icon img {
    font-size: 24px;
    line-height: 24px;
    width: 24px;
    height: 24px;
    -o-object-fit: cover;
    object-fit: cover;
}

.treeList li > .case > .icon img[src=''] {
    display: none;
}

.treeList li > .case .button-container {
    flex-flow: row-reverse;
    flex-grow: 1;
    visibility: hidden;
    opacity: 0;
    transition: all 250ms;
    column-gap: 2px;
    row-gap: 2px;
    gap: 2px;
}

.treeList li > .case:hover .button-container {
    visibility: visible;
    opacity: 1;
    appearance: none;
}

.treeList ul.sortable-dragged-container .case .button-container,
.treeList ul.sortable-dragged-container .case:hover .button-container {
    visibility: hidden;
    opacity: 0;
}

.treeList ul.sortable-dragged-container > li.sortable-dragged-item > .case .button-container {
    visibility: visible;
    opacity: 1;
}

.treeList ul.sortable-dragged-container {
    cursor: pointer;
}

.treeList li.sortable-dragged-item {
    outline: 1px dashed #ccc;
    outline-offset: 5px;
}

.treeList li > label > .sortable-handle {
    position: absolute;
    left: 100%;
    top: 50%;
    width: 20px;
    height: 20px;
    transform: translate(8px, -50%);
    background: rgba(255, 255, 255, 0.24) url("/assets/icon/sortable-handle.svg") no-repeat center / 80%;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    z-index: 9;
    opacity: 1;
}

.treeList ul > li:last-of-type:first-of-type > label > .sortable-handle {
    display: none !important;
}

.treeList li > label > .button-container.actions .sortable-handle {
    order: -1;
}


.treeList ul:after {
    content: '';
    position: absolute;
    width: 0;
    height: 100%;
    border-left: 1px dashed #444;
    transform: translateX(0);
    bottom: calc((var(--treeList-checkbox-size) / 1) + var(--treeList-ul-gap));
    right: calc((var(--treeList-checkbox-size) / 2) + var(--treeList-ul-gap));
}

.treeList ul li > .case:after {
    content: '';
    position: absolute;
    width: calc((var(--treeList-padding-right) - (var(--treeList-checkbox-size) / 2)) - var(--treeList-ul-gap));
    height: 0;
    border-bottom: 1px dashed #444;
    transform: translateY(-50%);
    top: 50%;
    right: calc((-1 * (var(--treeList-padding-right) - var(--treeList-checkbox-size) / 2)) + var(--treeList-ul-gap));
    z-index: -1;
}

.treeList ul li:last-of-type > .case:after {
    transform: translateY(-100%);
    height: 50%;
    border-right: 1px dashed #444;

}

.treeList li > .case.highlight + ul li > .case:after,
.treeList li > .case.highlight + ul:after,
.treeList li > .case.highlight + ul ul:after {
    border-color: var(--color-primary) !important;
}

.treeList ul li:last-of-type:before {
    content: '';
    position: absolute;
    right: calc((-1 * (var(--treeList-padding-right) - var(--treeList-checkbox-size) / 2)) - 1px);
    bottom: calc((-1 * (var(--treeList-checkbox-size))) + 8px);
    height: 100%;
    width: 10px;
    background: inherit;
    z-index: 1;
}

.treeList li[data-folder="true"] > ul {
    display: none;
}

.treeList li[data-folder="true"].show > ul {

    display: flex;
}

#crop-container {
    direction: rtl;
    position: relative;
    z-index: var(--z-index-global-high-priority);
}

#crop-container > .crop {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    display: none;
    padding: 24px;
    contain: size;
}

#crop-container > .crop.active {

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
}

#crop-container > .crop > .container {
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    container-type: size;
}

#crop-container > .crop > .tools {
    position: relative;
    width: 100%;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
}

.not-found {


    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
    width: 100%;

}

.not-found img {
    display: block;
    width: 100%;
    max-width: 240px;
}

.not-found .title {
    display: block;
    font: 14px var(--font-bold-en);
}


.http-request-status {
    display: none;
}

form.loading > .http-request-status {
    position: absolute;

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 14px;
    row-gap: 14px;
    gap: 14px;
    width: 100% !important;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.8);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: var(--z-index-global-middle-priority);
}

form.loading > .http-request-status > .container {
    position: sticky;
    top: 50%;
    transform: translateY(-50%);

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;

}

form.loading > .http-request-status > .container > .icon {
    display: block;
    width: 48px;
    height: 48px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
}

form.loading > .http-request-status > .container > .icon {
    background-image: url("/assets/icon/form-processing/load-from-cloud.gif?v=2");
}

form.loading > .http-request-status[data-status="uploading"] > .container > .icon {
    background-image: url("/assets/icon/form-processing/uploading-cloud.gif?v=2");
}

form.loading > .http-request-status[data-status="processing"] > .container > .icon {
    background-image: url("/assets/icon/form-processing/cloud-sync.gif?v=2");
}

form.loading > .http-request-status[data-status="abort"] > .container > .icon {
    background-image: url("/assets/icon/form-processing/error-cloud.gif?v=2");
}

form.loading > .http-request-status > .container > .title {
    display: block;
    font: 14px var(--font-bold-en);
}

form.loading > .http-request-status > .container > .process-bar {
    position: relative;
    width: 400px;
    max-width: 95%;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    margin: auto;
    direction: ltr;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
}

form.loading > .http-request-status > .container > .process-bar .loaded,
form.loading > .http-request-status > .container > .process-bar .total {
    display: inline-block;
    opacity: 0;
    visibility: hidden;
    min-width: 48px;
}

form.loading > .http-request-status[data-status="uploading"] > .container > .process-bar .loaded,
form.loading > .http-request-status[data-status="uploading"] > .container > .process-bar .total {
    opacity: 1;
    visibility: visible;
}

form.loading > .http-request-status > .container > .process-bar .bar {
    --bar-percent: 0;
    position: relative;
    display: inline-block;
    flex: 1;
    width: 100%;
    height: 5px;
    background: #f1f1f1;
    border-radius: 100px;
    overflow: hidden;
}


form.loading > .http-request-status > .container > .process-bar .bar:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: #8f8f8f;
}

form.loading > .http-request-status[data-status="uploading"] > .container > .process-bar .bar:before {
    width: var(--bar-percent);
}

form.loading > .http-request-status[data-status="processing"] > .container > .process-bar .bar:before {
    animation: bar-animation 1.5s infinite ease-in-out;
    border-radius: 100px;
}

@keyframes bar-animation {
    0% {
        width: 0;
        left: 0;
        right: auto;
    }
    50% {
        width: 100%;
    }
    100% {
        width: 0;
        left: auto;
        right: 0;
    }
}

.assetPreview {
    cursor: pointer;
}

#assetPreview {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: var(--z-index-global-high-priority);
    overflow: auto;
    display: none;
}

#assetPreview.active {
    display: block;
}

#assetPreview .container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    max-width: 90%;
    max-height: 90%;
    max-width: calc(100% - 40px);
    max-height: calc(100% - 40px);
    width: 100%;
    height: 100%;
    pointer-events: none;
    /*min-width: fit-content;*/
    /*inline-size: fit-content;*/
    z-index: 2;
    user-select: none;
    display: flex;
    flex-direction: column;
    direction: ltr;
    align-content: center;
    align-items: center;
    justify-content: space-around;
    text-align: center;
    gap: 12px;
    row-gap: 12px;
    /*background: rgba(53, 53, 53, 0.08);*/
    padding: 4px 12px;
    backdrop-filter: blur(3px);
    border-radius: 12px;
    scrollbar-color: auto;
    scrollbar-width: thin;

}


#assetPreview .container .file_container {
    position: relative;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    /*width: 100%;*/
    /*height: inherit;*/
    min-width: 512px;
    min-height: 512px;
    overflow: auto;
    margin: auto;
    scrollbar-color: auto;
    scrollbar-width: thin;
    background: url(/assets/images/bg-img.png) repeat center / 180px;
    border-radius: 8px;
    pointer-events: auto;
}


#assetPreview .container video.file,
#assetPreview .container img.file {
    position: relative;
    display: block;
    /*width: 100%;*/
    max-height: 100%;
    max-width: 100%;
    margin: auto;
    object-fit: scale-down;

}

#assetPreview .container .title {
    position: absolute;
    display: block;
    max-width: 95%;
    max-width: calc(100% - (2 * 8px));
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    padding: 24px 24px;
    white-space: pre-line;
    color: #000;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    font: 12px var(--font-light-en);
}

#assetPreview .container .size {
    position: absolute;
    top: 4px;
    left: 4px;
    padding: 4px 10px;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    backdrop-filter: blur(5px);
    opacity: 0.24;
    transition: opacity 250ms;
}

#assetPreview .container .file_container:hover .size {
    opacity: 1;
}

#assetPreview .container .size:empty,
#assetPreview .container .title:empty {
    display: none;
}

#assetPreview video:focus,
#assetPreview img:focus {
    outline: none;
}

#assetPreview .download {
    position: absolute;
    top: 100%;
    background: #4caf50;
    color: #fff;
    padding: 4px 14px;
    border-radius: 4px;
    text-decoration: none;
    margin-top: 8px;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: auto;
}

#assetPreview .gallery {
    position: relative;
    top: 0;
    right: 0;
    max-width: 100%;
    /*height: 85px;*/
    min-height: 110px;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-around;
    flex-wrap: nowrap;
    align-items: center;
    overflow: auto;
    white-space: nowrap;
    scrollbar-color: auto;
    scrollbar-width: thin;
    pointer-events: auto;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;

}


#assetPreview .gallery .item {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    height: 85px;
    width: 85px;
    flex: 0 0 85px;
    cursor: pointer;
}

#assetPreview .gallery .item:empty {
    display: none;
}

#assetPreview .gallery img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 6px;
    object-fit: cover;

}

#assetPreview .gallery .item .title {

    display: block;
}

#assetPreview .gallery .item img {
    margin-bottom: 0;

}

#assetPreview .gallery img:last-child {
    margin-bottom: 0;
}

#assetPreview .close {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    /*background: url("/app/assets/icon/close-1.svg") no-repeat 24px 24px / 40px;*/
}

#assetPreview .close i {
    position: fixed;
    top: 24px;
    left: 24px;
    width: 64px;
    height: 64px;
    line-height: 64px;
    color: red;
    font-size: 40px;
    cursor: pointer;
    z-index: 9;
    text-align: center;
    transition: all 250ms;
    border-radius: 12px;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);

}

#assetPreview .close i:hover {
    background: rgba(255, 255, 255, 0.1);


}

.details-list {
    display: table;
    position: relative;
    text-align: right;
    white-space: nowrap;
    padding: 0;
    margin: 0;
    list-style: none;
}

.details-list li {
    display: table-row;
}

.details-list li span:first-child {
    display: table-cell;
    color: #3b3b3b;
    padding: 4px 0 4px 14px;


}

.details-list li span:last-child {
    display: table-cell;
    direction: ltr;
    text-align: left;
    padding: 4px 0;

}

.pagination {
    position: relative;
    display: block;
    width: 100%;
}

.pagination > .container {

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    list-style: none;
    column-gap: 4px;
    row-gap: 4px;
    gap: 4px;
}

.pagination > .container li {
    display: inline-flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    text-align: center;

    border-radius: 8px;
    transition: background-color 250ms;
}

.pagination > .container li:hover {
    background: rgba(0, 0, 0, 0.12);
}

.pagination > .container li.arrow i {
    font-size: 15px;
}

.pagination > .container li a {
    display: block;
    width: 100%;
    min-width: 32px;
    height: 32px;
    line-height: 32px;
    color: inherit;
    text-decoration: none;
}

.pagination > .container li.current-page {
    background: var(--color-primary);
    color: var(--color-primary-txt);
}

.pagination > .container li select {
    min-width: 40px;
    border: none;
    box-shadow: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;

}


.selection-popup {
    --popup-padding: 14px;
    --popup-background: #fff;
    --popup-color: #000;
    --popup-border-color: var(--color-gray);
    --popup-width: 650px;

    position: fixed;
    top: 0;
    left: 0;
    z-index: calc(-1 * var(--z-index-global-high-priority));
    display: none;

}

.selection-popup.primary {
    --popup-background: var(--color-primary);
    --popup-color: var(--color-primary-txt);
    --popup-border-color: rgba(var(--color-primary-txt-rgb), 0.2);
}

.selection-popup.secondary {
    --popup-background: var(--color-secondary);
    --popup-color: var(--color-secondary-txt);
    --popup-border-color: rgba(var(--color-secondary-txt-rgb), 0.2);
}

.selection-popup.success {
    --popup-background: var(--color-success);
    --popup-color: var(--color-success-txt);
    --popup-border-color: rgba(var(--color-success-txt-rgb), 0.2);
}

.selection-popup.info {
    --popup-background: var(--color-info);
    --popup-color: var(--color-info-txt);
    --popup-border-color: rgba(var(--color-info-txt-rgb), 0.2);
}

.selection-popup.warning {
    --popup-background: var(--color-warning);
    --popup-color: var(--color-warning-txt);
    --popup-border-color: rgba(var(--color-warning-txt-rgb), 0.2);
}

.selection-popup.danger {
    --popup-background: var(--color-danger);
    --popup-color: var(--color-danger-txt);
    --popup-border-color: rgba(var(--color-danger-txt-rgb), 0.2);
}

.selection-popup.dark {
    --popup-background: var(--color-dark);
    --popup-color: var(--color-dark-txt);
    --popup-border-color: rgba(var(--color-dark-txt-rgb), 0.2);
}

.selection-popup.active {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    z-index: var(--z-index-global-middle-priority);
    direction: rtl;
}

.selection-popup > .background {
    z-index: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(40, 40, 40, 0.24);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.selection-popup > .container {
    z-index: 1;
    position: relative;

    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    /*width: 600px;*/
    min-width: 300px;
    min-height: 300px;
    max-width: 90%;
    max-height: 90%;
    height: 100%;
    width: var(--popup-width);
    border-radius: 12px;

    background: var(--popup-background);
    color: var(--popup-color);
}


.selection-popup > .container > .head {
    width: 100%;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    padding: var(--popup-padding);
    border-bottom: 1px solid var(--popup-border-color);

}

.selection-popup > .container > .head > .container {
    display: inline-block;
    flex: 1;
    padding-left: 4px;
}

.selection-popup > .container > .head > .icon {
    display: inline-block;
    vertical-align: middle;
    width: 32px;
    height: 32px;
    line-height: 32px;
    border-radius: 8px;
    text-align: center;
    background: rgba(0, 0, 0, 0.025);
    align-self: flex-start;
}

.selection-popup > .container > .head > .icon:empty {
    display: none;
}

.selection-popup > .container > .head > .container > .title {
    display: inline-block;
    vertical-align: middle;
    font: 14px var(--font-bold-en);
}

.selection-popup > .container > .head > .container > .title:empty {
    display: none;
}

.selection-popup > .container > .head > .container > .description {
    display: block;
    width: 100%;
    font: 12px/24px var(--font-light-en);
    white-space: pre-line;
}

.selection-popup > .container > .head > .container > .description:empty {
    display: none;
}

.selection-popup > .container > .head > .tools {
    display: block;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    max-width: 30%;
    align-items: center;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
}

.selection-popup > .container > .list {
    --col-width: 110px;
    position: relative;
    display: block;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;

    width: 100%;
    padding: var(--popup-padding);
    flex: 1;
    font: 12px/24px var(--font-light-en);
    overflow: auto;
    scrollbar-color: auto;
    scrollbar-width: thin;
}

.selection-popup > .container > .list.theme-radio {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.selection-popup > .container > .list.theme-radio .list-container {

}

.selection-popup > .container > .list.theme-radio .search-container {
    width: 100%;
    position: relative;
}

.selection-popup > .container > .list.theme-radio .search-container .search-input {
    width: 100%;
}

.selection-popup > .container > .list.theme-radio .search-container .search-input:has(+ .search-dropdown.active:not(:empty)) {
    box-shadow: 0 0 0 4px #f3f3f3;
    border-radius: 4px 4px 0 0;
}

.selection-popup > .container > .list.theme-radio .search-container .search-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 8px;
    background: #fff;
    border: 1px solid #d9d9d9;
    box-shadow: 0 0 0 4px #f3f3f3;
    border-radius: 0 0 4px 4px;
    height: auto;
    max-height: 50vh;
    overflow-y: auto;
    z-index: 10;
    padding: 6px;
    display: none;
}

.selection-popup > .container > .list.theme-radio .search-container .search-dropdown.active {
    display: flex;
    flex-direction: column;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
}

.selection-popup > .container > .list.theme-radio .search-container .search-dropdown:empty {
    display: none;
}

.selection-popup > .container > .list.theme-radio .search-container .search-dropdown li {
    padding: 5px 10px;
    cursor: pointer;
}

.selection-popup > .container > .list.theme-radio .search-container .search-dropdown li:hover {
    background: #f1f1f1;
}

.selection-popup > .container > .list .list-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    overflow-x: auto;
    gap: 8px;
    scrollbar-width: thin;
    scrollbar-color: auto;
    padding: 5px;
}

.selection-popup > .container > .list .list-container.single-row {
    flex-direction: column;
    gap: 24px;
}

.selection-popup > .container > .list.theme-radio ul {
    grid-column: span 1;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    scrollbar-color: auto;
    scrollbar-width: thin;
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    border-radius: 14px;
}

.selection-popup > .container > .list .list-container ul.item-list {
    height: 100%;
    display: flex;
}


.selection-popup > .container > .list .list-container ul {
    padding: 4px;

}

.selection-popup > .container > .list .list-container ul.item-list:first-of-type,
.selection-popup > .container > .list.theme-radio ul.state-list {
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 0 0 4px #fff, 0 0 0 5px #ccc;
}

.selection-popup > .container > .list.theme-radio ul li {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    border-radius: 6px;
    padding-left: 4px;
}

.selection-popup > .container > .list.theme-radio ul li.is-parent:after {
    content: 'chevron_left';
    font-size: 18px;
    font-family: "Material Symbols Rounded", "Material Icons", serif;
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
    cursor: pointer;
}
.selection-popup > .container > .list.theme-radio ul li.is-parent.has-open-btn:after{
    display: none;
}

.selection-popup > .container > .list.theme-radio ul li.message {
    height: 100%;
    align-content: center;
    text-align: center;
    padding: 24px;
}

.selection-popup > .container > .list.theme-radio ul li:has(input.selected),
.selection-popup > .container > .list.theme-radio ul li:has(input:checked) {
    background: var(--color-primary);
    color: var(--color-primary-txt);
    position: sticky;
    bottom: 0;
    top: 0;
}

.selection-popup > .container > .list.theme-radio ul li:hover {
    background: #f1f1f1;
}

.selection-popup > .container > .list.theme-radio ul li label {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    padding: 6px;
    cursor: pointer;
}

.selection-popup > .container > .list.theme-radio ul li input:hover,
.selection-popup > .container > .list.theme-radio ul li input:focus,
.selection-popup > .container > .list.theme-radio ul li input:active {
    box-shadow: none;
}

.selection-popup > .container > .list:empty {
    display: none;
}

.selection-popup > .container > .list::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.selection-popup > .container > .list::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px transparent;
}

.selection-popup > .container > .list::-webkit-scrollbar-button {
    display: block;
    background-color: transparent;
    width: 8px;
    height: 8px;
}

.selection-popup > .container > .list::-webkit-scrollbar-thumb {
    border-radius: 100px;
    background-color: #d1d1d1;
    box-shadow: inset 0 0 0 3px #fff;
}

.selection-popup > .container > .list::-webkit-scrollbar-thumb:hover {
    background-color: #a8a8a8;
}


.selection-popup > .container.loading > .list {
    overflow: hidden;
    place-content: end;
    justify-content: end;
}

.selection-popup > .container > .foot {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    align-items: flex-start;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
    padding: var(--popup-padding);

}

.selection-popup > .container > .foot:empty {
    display: none;
}


.grid-generator {
    position: relative;
    display: grid;
    width: 100%;
    grid-template-areas: "container tools";
    grid-template-columns: 1fr 300px;
    column-gap: 12px;
    row-gap: 12px;
    gap: 12px;
}

.grid-generator > .container,
.grid-generator .grid-placeholders {
    position: relative;
    display: grid;
    padding: 12px;
    border-radius: 24px;
}

.grid-generator > .container {
    grid-area: container;
    min-height: calc(100vh - (var(--top-header-height) + (var(--padding) * 2)));
    background: #f1f1f1;
}

.grid-generator .grid-placeholders {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.grid-generator > .container:after {
    content: 'container';
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    text-align: center;
    padding: 4px;


}

.grid-generator .grid-placeholders .grid-cell,
.grid-generator > .container .item {
    position: relative;
    min-height: 100px;
    display: inline-block;
    display: inline-flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
    border-radius: 24px;

}

.grid-generator > .container .item {
    border: 1px dashed #444;
}

.grid-generator > .container .item > .container {
    width: 100%;
    display: block;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    flex: 1 0 auto;
}

.grid-generator > .container .item > .container .information {
    display: block;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    flex: 1 0 auto;
}

.grid-generator > .container .item > .container .button-container {
    padding: 12px;
    width: 100%;
}

.grid-generator > .container .item .resize-arrows {
    /*position: absolute;
    bottom: 0;*/
    display: grid;
    grid-template-areas:
            ". up ."
            "left down right";
    column-gap: 3px;
    row-gap: 3px;
    gap: 3px;
    padding: 3px;
    opacity: 0;
    transition: opacity 250ms;
}

.grid-generator > .container .item:hover .resize-arrows {
    opacity: 1;
}

.grid-generator > .container .item .resize-arrows .button.up {
    grid-area: up;
}

.grid-generator > .container .item .resize-arrows .button.down {
    grid-area: down;
}

.grid-generator > .container .item .resize-arrows .button.left {
    grid-area: left;
}

.grid-generator > .container .item .resize-arrows .button.right {
    grid-area: right;
}

.grid-generator > .container .item .title {
    background: #fff;
    border-radius: 100px;
    padding: 3px 4px;
    text-align: center;
}

.grid-generator .grid-placeholders .grid-cell {
    background: #ccc;
    opacity: 0.2;
}

.grid-generator > .container .resizer {
    position: absolute;
    width: 12px;
    height: 12px;
    bottom: 4px;
    left: 4px;
    background: #007bff;
    border-radius: 2px;
    cursor: se-resize;
}

.grid-generator > .tools {
    display: inline-block;
    display: inline-flex;
    flex-direction: column;
    align-content: center;
    justify-content: flex-start;
    align-items: stretch;

}


.grid-generator .sortable-selected {
    opacity: 0.8;
    transform: scale(0.95);

    border: 1px solid #ccc;
    cursor: grabbing;
}


.grid-generator .sortable-selected * {
    pointer-events: none;
}

.sortable-fallback {
    display: none !important;
}

.staged-page {
    display: block;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 24px;
    row-gap: 24px;
    gap: 24px;
    width: 100%;
}

.staged-page .stages + .action-container,
.staged-page .stages {
    display: grid;
    grid-template-columns: 1fr 24px 3fr;
    grid-auto-flow: row dense;
    width: 100%;

}

.staged-page .stages + .action-container .button-container {
    grid-column: 3;
}

.staged-page .stages:after {
    content: '';
    grid-column: 2;
}

.staged-page .stages .block {
    display: contents;
}

.staged-page .stages > .block > .title {
    grid-column: 1;
    padding: 8px;
    background: #f1f1f1;
    cursor: pointer;
}

.staged-page .stages > .block > .title span {
    display: block;
    line-height: 32px;
    padding: 4px;
    border-radius: 8px;
}

.staged-page .stages .block:first-of-type > .title {
    border-radius: 12px 12px 0 0;
}

.staged-page .stages .block:last-of-type > .title {
    border-radius: 0 0 12px 12px;
}

.staged-page .stages > .block > .title input {
    display: none;
}

.staged-page .stages > .block > .page {
    grid-column: 3;
    grid-row-start: 1;
    grid-row-end: span 99;

}

.staged-page .stages > .block > .title:has(input:not(:checked)) + .page {
    display: none;

}

.staged-page .stages > .block > .title:has(input:checked) span {
    background: #fff;
}


.mockup-maker{
    --mockup-gap:14px;
    --mockup-aside-width:300px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    height: 100%;
    gap: 14px;
}
.mockup-maker > .tools{
    position: sticky;
    bottom: 8px;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
    -webkit-align-self: self-end;
    align-self: self-end;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
    z-index: 9;
}
.mockup-maker > .tools > .layer-controls{
    display: none;
    flex-direction: row;
    align-content: center;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    column-gap: 24px;
    row-gap: 24px;
    gap: 24px;
    padding: 6px;
    position: relative;
    width: auto;
    width: 100%;
    border-radius: 14px;
    background: rgba(170, 170, 170, 0.2);
    color: #000;
    backdrop-filter: blur(10px);
    padding: 8px;
}
.mockup-maker > .tools > .layer-controls.active{
    display: flex;
}

.step-space:has(.mockup-maker > .tools > .layer-controls.active) ~ .steps-actions{
    position: relative !important;
}
.mockup-maker > .tools > .layer-controls select{
    min-width: 128px;
    background: transparent;
    border: none;
    -moz-appearance: auto !important;
    -webkit-appearance: auto !important;
    appearance: auto !important;
    cursor: pointer;
    transition: background 250ms;
}
.mockup-maker > .tools > .layer-controls select:hover,
.mockup-maker > .tools > .layer-controls select:active{
    background: rgba(0,0,0,0.1);
}
.mockup-maker > .tools > .layer-controls input:hover,
.mockup-maker > .tools > .layer-controls input:active,
.mockup-maker > .tools > .layer-controls input:focus,
.mockup-maker > .tools > .layer-controls select:hover,
.mockup-maker > .tools > .layer-controls select:focus,
.mockup-maker > .tools > .layer-controls select:active{
    box-shadow: none;
}

.mockup-maker > .tools > .layer-controls .layer-info{
    width: 20%;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 8px;
    gap: 8px;
}
.mockup-maker > .tools > .layer-controls .layer-info .layer-image{
    display: inline-block;
    width: 40px;
    height: 40px;
    object-fit: cover;
    overflow: hidden;
    background: url(/assets/images/bg-img.png) repeat center / 100px;
    border-radius: 6px;
}
.mockup-maker > .tools > .layer-controls .button-container{
    flex: auto;
    justify-content: flex-end;
}
.mockup-maker > .tools > .layer-controls .object-fit-container.disabled{
    display: none;
}

.mockup-maker > .container{
    position: relative;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    height: 100%;
    gap: var(--mockup-gap);
}
.mockup-maker > .container.column{
    flex-direction: column;
}

.mockup-maker .smartLayersTools {
    background-color: #f1f1f1;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    border-radius: 14px;

}
.smart-layer-controls {
    display: grid;
    grid-template-columns: minmax(200px, 1fr) 1fr 1fr;
    gap: 12px;
    align-items: center;
    padding: 8px;
    border-bottom: 1px solid #e9ecef;
}
.smart-layer-controls:last-child {
    border-bottom: none;
}
.smart-layer-name {
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.smart-layer-controls label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: #495057;
}




.mockup-maker > .container > .canvas{
    position: sticky;
    top: 8px;
    width: 100%;
    height: 100%;
    display: flex;
    overflow: hidden;
    background: url(/assets/images/bg-img.png) repeat center / 240px;
    border-radius: 14px;
}
.image-box .mockup-maker > .container > .canvas{
    border-radius: 0;
}
.steps-container .mockup-maker > .container > .canvas{
    height: calc(100vh - var(--top-header-height) - 48px);
}
.mockup-maker.loading > .container > .canvas:after{
    content: '';
    position: absolute;
    width: 40px;
    height: 40px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background-image: url("/assets/icon/loading/loading-dark.gif") ;
    background-repeat: no-repeat ;
    background-position: center ;
    background-size: 24px ;
    cursor: progress ;
    z-index: -1;
}
.mockup-maker > .container > .canvas canvas{
    position: absolute;
    max-width: 90%;
    max-height: 90%;
    height: auto !important;
    width: auto !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: transparent;

}

.mockup-maker.cover > .container > .canvas canvas{

    max-width: 100%;
    max-height: 100%;
}
.mockup-maker > .container > .aside{
    position: relative;
    width: 100%;
    max-width: var(--mockup-aside-width);
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    gap:14px;
    background: #fff;
}
.mockup-maker > .container > .aside tr{
    cursor: pointer;
}

.mockup-maker button.calibrate-layer{
    min-width: 111px;
    padding: 0 8px;
    justify-content: flex-start
}
.mockup-maker button.calibrate-layer.disabled{
    display: none !important;
}

/*.mockup-maker tr.inactive .mockup-tools-container:before{
    content: 'visibility_off';
    font-size: 18px;
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-family: "Material Icons", serif;
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
    cursor: pointer;
}*/

.color-container{
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.colorBox{
    position: relative;
    display: inline-block;
    background: transparent;
    width: 32px;
    height: 32px;
    border-radius: 4px;
    box-shadow: 0 0 0 1px #f1f1f1;
    cursor: pointer;
}

.colorBox input{
    display: none;
}

.colorBox:has(input:checked):after{
    content: 'done';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 18px;
    font-family: "Material Symbols Rounded", "Material Icons", serif;
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
    cursor: pointer;
    color: #000;
    text-shadow: 0px 1px 0px #fff, 0 0 10px #fff;
}
.mockup-container{
    --gap:24px;
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--gap);
}
.mockupBox{
    display: inline-flex;
    flex-direction: column;
    height: auto;
    gap:8px;
    width: 100%;
}
.mockup-container .mockupBox{
    width: 25%;
    width: calc(25% - (var(--gap) / (4/3)));
}
.mockupBox .info{
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    gap:8px;
    font: 14px var(--font-regular-en);
}
.mockupBox .mockup-maker{
    width: 100%;

    height: auto;
}
.mockupBox .mockup-maker > .container > .canvas{
    width: 100%;
    height: auto;
}
.mockupBox .mockup-maker > .container > .canvas canvas{
    position: relative;
    max-width: none;
    max-height: none;
    width: 100% !important;
    height: auto !important;
    top: 0;
    left: 0;
    transform: translate(0,0);
}
.loadingPlaceholder{
    position: relative;
    margin: 0 auto;
    display: block;
    width: 100%;
    padding-top: 75%;
    background-color: #eee;
    overflow: hidden;
    border-radius: 14px;
}
@keyframes placeHolderShimmer{
0%{
    background-position: 100% 0
}
100%{
    background-position: -150% 0
}
}
.loadingPlaceholder:after {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    animation-duration: 1.25s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-name: placeHolderShimmer;
    animation-timing-function: linear;
    background: darkgray;
    background: linear-gradient(to right, #eeeeee 10%, #dddddd 18%, #eeeeee 33%);
    background-size: 800px 104px;
}



.map-container{
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    align-content: stretch;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: stretch;
    flex-grow: 1;
    gap: 12px;
    width: 100%;
    height: 100%;
}
.map-container .map{
    position: relative !important;
    display: block;
    width: 60%;

    border-radius: 14px;
    flex: auto;
}
.leaflet-control-attribution.leaflet-control > *{
    display: none !important;
}
.leaflet-control-attribution.leaflet-control > .copyright{
    display: block !important;
    font: 14px var(--font-regular-en);
    letter-spacing: 2px;
    padding: 2px;
}

.map-container .map .geoSearchForm{
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
}


.map-container .map .geoSearchForm input.glass{
    border-radius: 0 12px 12px 0 ;
    padding-right: 32px;
    background-image: url("/assets/icon/table/search.svg");
    background-size: 24px;
    background-position: calc(100% - 4px) center;
    background-repeat: no-repeat;
    background-color: #fff;
}
.map-container .map .geoSearchForm button.reset{
    border-radius: 12px 0 0 12px;
}



.leaflet-control-geosearch .results {
    background: #fff;
    font: 12px var(--font-light-en);
}

.leaflet-control-geosearch .results > * {
    line-height: 24px;
    padding: 0 8px;
    border: 1px solid transparent;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.leaflet-control-geosearch .results.active {
    position: absolute;
    width: 100%;
    top: 100%;
    padding: 8px 0;
    border-top: 1px solid #c6c6c6;
}

.leaflet-control-geosearch .results > .active,
.leaflet-control-geosearch .results > :hover {
    background-color: #f8f8f8;
    border-color: #c6c6c6;
    cursor: pointer;
}

/* add missing border to form */
.leaflet-control-geosearch .results.active:after {
    content: '';
    display: block;
    width: 0;
    position: absolute;
    left: -2px;
    bottom: -2px;
    top: 30px;
}

.leaflet-touch .leaflet-control-geosearch .results.active:after {
    border-left: 2px solid rgba(0, 0, 0, .2);
}

/* animations */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.leaflet-top .leaflet-geosearch-bar,
.leaflet-bottom .leaflet-geosearch-bar {
    display: none;
}

.leaflet-geosearch-bar {
    position: relative;
    display: block;
    height: auto;
    width: 400px;
    max-width: calc(100% - 120px);
    margin: 10px auto 0;
    cursor: auto;
    z-index: 1000;
}

.leaflet-geosearch-bar form {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    border-radius: 4px;
}

.leaflet-geosearch-bar form input {
    min-width: 100%;
    width: 100%;
}

.leaflet-geosearch-bar .results.active:after {
    opacity: .2;
}

.map-container .coordinates{
    width: 40%;
    max-width: 580px;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;

}

.map-container .coordinates input:read-only{
    background: #f9f9f9;
}
.map-container .address-popup{
    padding: 12px 0 8px;
    direction: rtl;
    text-align: right;
    font: 12px/24px var(--font-light-en);
    min-width: 200px;
}


.map-loading-overlay {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    padding: 4px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(8px);
    z-index: 2000;
    display: none;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}
.map-loading-overlay.visible {
    display: flex;
    opacity: 1;
    pointer-events: all;
}
.map-loading-spinner {
    width: 100%;
    height: 100%;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    animation: map-spin 1s linear infinite;
}
@keyframes map-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


.category-list{
    position: relative;
    display: inline-flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    background: #f4f4f4;
    padding: 12px 12px;
    border-radius: 4px;
}

.category-list.full-width{
    width: 100%;
    display: flex;
}

.category-list > span{
    display: inline-flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    font: 14px var(--font-light-en);
}
.category-list > span:after{
    content: 'chevron_left';
    display: inline-block;
    font-size: 18px;
    font-family: "Material Symbols Rounded", "Material Icons", serif;
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
    cursor: pointer;
}

.category-list > span:last-child:after{
    display: none;
}
.city-selection-installation:disabled + .selection-box,
.category-selection-installation:disabled + .selection-box{
    pointer-events: none;
    opacity: 0.6;
    cursor: not-allowed;

}
.ck.ck-editor{
    width: 100% !important;
}

.dimensions-input{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 5px;
    width: 100%;
    height: auto;
    justify-items: center;
    align-items: center;
    grid-template-areas:
    ".    top    ."
    "left center right"
    ".    bottom .";

    & > input{
        text-align: center;
        padding: 0 12px 0 0;
    }

    & > input::placeholder{
        text-align: center;
    }
    & > .dimensions-input-top{
        grid-area: top;
    }
    & > .dimensions-input-right{
        grid-area: right;
    }
    & > .dimensions-input-bottom{
        grid-area: bottom;
    }
    & > .dimensions-input-left{
        grid-area: left;
    }
    & > .dimensions-input-unit{
        grid-area: center;
        background-image: none;
        padding: 0 1px !important;
        text-align: center;
    }
}
