@charset "utf-8";
@import url('/assets/css/.kit.grid.css?v=1.0.1');

:root {
    --container-width: 100%;
    --container-max-width: 1380px;
    --container-padding: 40px;
    --header-height: auto;

    --z-index-global-high-priority: 9999;
    --z-index-global-middle-priority: 9998;
    --z-index-global-low-priority: 9997;

    --font-ultra-light: iransans_UltraLight;
    --font-light: iransans_Light;
    --font-regular: iransans;
    --font-medium: iransans_Medium;
    --font-bold: iransans_Bold;
    --font-black: iransans_black;

    --font-ultra-light-en: iransans_UltraLight_en;
    --font-light-en: iransans_Light_en;
    --font-regular-en: iransans_en;
    --font-medium-en: iransans_Medium_en;
    --font-bold-en: iransans_Bold_en;
    --font-black-en: iransans_black_en;

    /*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: #4E43E6;
    --color-primary-rgb: 78, 67, 230;
    --color-primary-txt: #fff;
    --color-primary-txt-rgb: 255, 255, 255;

    --color-secondary: #FFB700;
    --color-secondary-rgb: 255, 183, 0;
    --color-secondary-txt: #000;
    --color-secondary-txt-rgb: 0, 0, 0;

    --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: 12px;
    }
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: smooth;
    }
}

img[src=''] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body, html {
    min-height: 100%;
}
.col-band{
    flex-direction: column !important;
}
.row-band{
    flex-direction: row !important;
}
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;
    --input-placeholder-color: #ccc;

    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);
    border-radius: 4px;
    padding: 0 var(--input-padding);
    transition: border 250ms, box-shadow 250ms;
}

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;

    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: 0 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);
}

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[type='checkbox']:focus, input[type='checkbox']:active, input[type='checkbox']:hover,
input[type='radio']:focus, input[type='radio']:active, input[type='radio']:hover{
    box-shadow: none;
}

input.invalid + .city-selection-box output,
input.invalid + .city-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), serif !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), serif;
    font-weight: normal;
    direction: rtl;
    text-align: right;
    color: var(--input-placeholder-color);
}

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), serif;
    font-weight: normal;
    direction: rtl;
    text-align: right;
    color: var(--input-placeholder-color);
}

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), serif;
    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), serif;
    font-weight: normal;
    direction: rtl;
    text-align: right;
    color: #cccccc;
}

input[dir="ltr"][lang="en"]:-moz-placeholder {
    direction: ltr;
    text-align: left;
}

input[type="radio"],
input[type="checkbox"] {
    --input-height: 16px;
    --input-width: 16px;
    --input-padding: 0;


    border-radius: 100px;
}

.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;
}

.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;


    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%;
}

.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;


    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);


    box-shadow: 0 0 0 3px rgba(var(--status-label-primary-rgb), 0.2);


    border-radius: 100px;
}


.checkbox {
    --checkbox-size: 20px;
    --checkbox-color: #000;
    display: block;
}

.checkbox.small {
    --checkbox-size: 16px;
}

.checkbox.medium {
    --checkbox-size: 24px;
}

.checkbox.big {
    --checkbox-size: 32px;
}

.checkbox.primary {
    --checkbox-color: var(--color-primary);
}

.checkbox.secondary {
    --checkbox-color: var(--color-secondary);
}

.checkbox.success {
    --checkbox-color: var(--color-success);
}

.checkbox.info {
    --checkbox-color: var(--color-info);
}

.checkbox.warning {
    --checkbox-color: var(--color-warning);
}

.checkbox.danger {
    --checkbox-color: var(--color-danger);
}

.checkbox.dark {
    --checkbox-color: var(--color-dark);
}

.checkbox.gray {
    --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: flex;


    flex-direction: row;

    align-items: center;


    gap: 5px;
    position: relative;
    cursor: pointer;
}

.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';
}


.form-container {
    display: flex;


    flex-direction: row;


    flex-wrap: wrap;


    gap: 24px;
    /*width: 100%;*/


}

.form-container.full-width {
    width: 100%;
}

.form-container.horizontal-form {
    --col-width: 250px;


    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;


    gap: 4px;
}

.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;


    gap: 8px 14px;
}

.form-container.horizontal-form > .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 {
    position: relative;
    display: flex;


    flex-direction: column;

    align-content: flex-start;

    justify-content: space-between;


    flex-wrap: wrap;

    align-items: flex-start;


    gap: 8px;
    width: 100%;
}

.input-group.inline {


    flex-direction: row;
}

.input-group.inline.nowrap {


    flex-wrap: nowrap;
}

.input-group.fill {
    width: 100%;
}

.input,
.input > input,
.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);
}

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 > .clr-field > button {
    width: 28px;
    height: 28px;
    right: 8px;


    border-radius: 8px;
    outline: 1px solid #e1e1e1;
    border: none;

}

.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: flex-start;
    width: 100%;
    font: 13px/24px var(--font-regular-en);
}

.input > .title > small {
    font: 11px/19px var(--font-ultra-light-en)
}

.form-container.horizontal-form .input > .title {
    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 .input > .title > * {

}

.form-container.horizontal-form .input > * {
    grid-column: 2;
}

.form-container.horizontal-form .input > input,
.form-container.horizontal-form .input > textarea,
.form-container.horizontal-form .input > select {
    order: 1;
}

.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;


    gap: 4px;

}

.input > .tools-container > img {
    display: inline-block;
    width: 32px;
    height: 32px;
    -o-object-fit: scale-down;
    object-fit: scale-down;


    border-radius: 8px;
}


.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);


    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);


    gap: 6px;
}

.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 > .description {
    width: 100%;
    padding: 0;
    margin: 0;
    font: 12px/24px var(--font-ultra-light-en);
    list-style-position: inside;
    color: #686868;
}

.input > * {
    order: 4;
}

.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;


    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;
}


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;

    text-wrap-mode: nowrap;
    overflow-x: auto;
    scrollbar-color: auto;
    scrollbar-width: thin;

    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), monospace !important;
}

input::-ms-clear {
    display: none;
    width: 0;
    height: 0;
}

blockquote {
    color: #1a1a1a;
    font-size: 1.25em;
    font-style: italic;
    line-height: 1.8em;
    padding: 12px 48px;
    position: relative;
    transition: 0.2s border ease-in-out;
    z-index: 0;
    display: flex;

}

blockquote:before{
    content: "";
    position: absolute;
    top: 0;
    right: 24px;
    width: 0;
    height: 100%;
    transition: 0.2s border ease-in-out;
    border-right: 3px solid var(--color-primary);
}
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: 24px;


    transform: translate(50%, -50%);
    color: var(--color-primary);
    font-style: normal;
    transition: 0.2s all ease-in-out, 0.4s transform ease-in-out;
}

table {
    width: 100%;

}

table td {
    border: 1px solid var(--color-gray);
    padding: 8px;
}

.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;
}


.button-container {
    display: flex !important;
    flex-direction: row-reverse;
    flex-flow: wrap;
    align-items: center;
    gap: 8px;
    width: 100%;
}
.button-container.latch {
    gap: 0;
}
.button-container.latch .button {
    border-radius: 0;
}
.button-container.latch[dir='ltr'] .button:first-child {
    border-radius: 0 8px 8px 0;
}
.button-container.latch[dir='ltr'] .button:last-child {
    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 {
    border-radius: 8px 0 0 8px;
}
.button-container.latch .button:last-child {
    border-radius: 0 8px 8px 0;
}
.button-container.sticky {
    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);
}

.button-container.inline {
    display: inline-flex !important;
    flex-direction: row-reverse;
    width: auto;
}
.button-container.fill{
    flex: auto;
}
.button-container.space-between {
    justify-content: space-between;
}

.button-container.align-center,
.button-container.center-align {
    justify-content: center;
}

.button-container.nowrap {
    flex-flow: nowrap;
}

.button-container.inline .button {
    vertical-align: middle;
}

/* Base Button Styles */
.button {
    --button-min-width: 64px;
    --button-height: 40px;
    --button-line-height: 40px;
    --button-padding: 6px;
    --button-icon-size: 28px;
    --button-border-radius: 8px;

    --button-color: var(--color-primary);
    --button-text-color: var(--color-primary-txt);
    --button-color-rgb: var(--color-primary-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-loading-hover: url("/assets/icon/loading/loading-white.gif");
    --button-icon-color: inherit;

    --button-border-color: var(--button-color);
    --button-border-color-rgb: var(--button-color-rgb);

    --button-hover-background-color: var(--button-color);
    --button-hover-text-color: var(--button-text-color);
    --button-hover-border-color: rgba(var(--button-color-rgb), 0.2);

    --button-focus-background-color: var(--button-color);
    --button-focus-text-color: var(--button-text-color);
    --button-focus-border-color: rgba(var(--button-color-rgb), 0.4);

    --button-active-background-color: var(--button-color);
    --button-active-text-color: var(--button-text-color);
    --button-active-border-color: rgba(var(--button-color-rgb), 0.4);

    --button-checked-background-color: var(--button-color);
    --button-checked-text-color: var(--button-text-color);
    --button-checked-border-color: rgba(var(--button-color-rgb), 0.4);

    --button-loading-background: var(--button-loading);
    --button-loading-background-hover: var(--button-loading-hover);

    position: relative;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    gap: 6px;
    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;
    cursor: pointer;
    transition: background-color 250ms, box-shadow 250ms;
    user-select: none;
    overflow: hidden;
    text-overflow: ellipsis;

    background-color: var(--button-color);
    color: var(--button-text-color);
}
.button > span{
    display: inline-block;
    flex-grow: 1;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-align: right;
}
.button.align-center > span{
    flex-grow: unset;
}
span.button {
    cursor: auto;
}
.button-case {
    --button-case-padding: 4px;
    width: auto;
    min-width: auto;
    height: auto;
    padding: var(--button-case-padding);
    font-size: 0;
}
.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.fill {
    flex: auto;
}
.button.uniform {
    flex: 1;
}
.button.full-width {
    display: inline-block;
    width: 100%;
}
.button.align-center {
    text-align: center;
    justify-content: center;
    place-content: center;
}
.button.left {
    float: left;
}
.button.right {
    float: right;
}
.button.ltr {
    direction: ltr;
}
.button.rtl {
    direction: rtl;
}

.button.auto-prolate-small,
.button[dir="rtl"].auto-prolate-small,
.button.rtl.auto-prolate-small{
    padding-left: 12px;
}
.button[dir="ltr"].auto-prolate-small,
.button.ltr.auto-prolate-small{
    padding-left: 0;
    padding-right: 12px;
}

.button.big {
    --button-min-width: 48px;
    --button-height: 48px;
    --button-line-height: 48px;
    --button-padding: 8px;
    --button-icon-size: 32px;
}
.button.small {
    --button-min-width: 32px;
    --button-height: 32px;
    --button-line-height: 32px;
    --button-padding: 6px;
    --button-icon-size: 20px;
}
.button.xs {
    --button-min-width: 28px;
    --button-height: 28px;
    --button-line-height: 28px;
    --button-padding: 4px;
    --button-icon-size: 20px;
}
.button.xxs {
    --button-min-width: 24px;
    --button-height: 24px;
    --button-line-height: 24px;
    --button-padding: 4px;
    --button-icon-size: 16px;
}
.button.xxxs {
    --button-min-width: 18px;
    --button-height: 18px;
    --button-line-height: 18px;
    --button-padding: 3px;
    --button-icon-size: 10px;
}
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.rounded {
    --button-border-radius: 100px;
}
.button:disabled,
.button.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
.button:disabled:hover,
.button.disabled:hover {
    opacity: 0.5;
}
.button.secondary {
    --button-color: var(--color-secondary);
    --button-text-color: var(--color-secondary-txt);
    --button-color-rgb: var(--color-secondary-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-loading-hover: url("/assets/icon/loading/loading-white.gif");

    --button-border-color: var(--button-color);
    --button-border-color-rgb: var(--button-color-rgb);

    --button-hover-background-color: var(--button-color);
    --button-hover-text-color: var(--button-text-color);
    --button-hover-border-color: rgba(var(--button-color-rgb), 0.2);

    --button-focus-background-color: var(--button-color);
    --button-focus-text-color: var(--button-text-color);
    --button-focus-border-color: rgba(var(--button-color-rgb), 0.4);

    --button-active-background-color: var(--button-color);
    --button-active-text-color: var(--button-text-color);
    --button-active-border-color: rgba(var(--button-color-rgb), 0.4);
}

.button.success {
    --button-color: var(--color-success);
    --button-text-color: var(--color-success-txt);
    --button-color-rgb: var(--color-success-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-loading-hover: url("/assets/icon/loading/loading-white.gif");

    --button-border-color: var(--button-color);
    --button-border-color-rgb: var(--button-color-rgb);

    --button-hover-background-color: var(--button-color);
    --button-hover-text-color: var(--button-text-color);
    --button-hover-border-color: rgba(var(--button-color-rgb), 0.2);

    --button-focus-background-color: var(--button-color);
    --button-focus-text-color: var(--button-text-color);
    --button-focus-border-color: rgba(var(--button-color-rgb), 0.4);

    --button-active-background-color: var(--button-color);
    --button-active-text-color: var(--button-text-color);
    --button-active-border-color: rgba(var(--button-color-rgb), 0.4);
}

.button.danger {
    --button-color: var(--color-danger);
    --button-text-color: var(--color-danger-txt);
    --button-color-rgb: var(--color-danger-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-loading-hover: url("/assets/icon/loading/loading-white.gif");

    --button-border-color: var(--button-color);
    --button-border-color-rgb: var(--button-color-rgb);

    --button-hover-background-color: var(--button-color);
    --button-hover-text-color: var(--button-text-color);
    --button-hover-border-color: rgba(var(--button-color-rgb), 0.2);

    --button-focus-background-color: var(--button-color);
    --button-focus-text-color: var(--button-text-color);
    --button-focus-border-color: rgba(var(--button-color-rgb), 0.4);

    --button-active-background-color: var(--button-color);
    --button-active-text-color: var(--button-text-color);
    --button-active-border-color: rgba(var(--button-color-rgb), 0.4);
}

.button.warning {
    --button-color: var(--color-warning);
    --button-text-color: var(--color-warning-txt);
    --button-color-rgb: var(--color-warning-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-loading-hover: url("/assets/icon/loading/loading-white.gif");

    --button-border-color: var(--button-color);
    --button-border-color-rgb: var(--button-color-rgb);

    --button-hover-background-color: var(--button-color);
    --button-hover-text-color: var(--button-text-color);
    --button-hover-border-color: rgba(var(--button-color-rgb), 0.2);

    --button-focus-background-color: var(--button-color);
    --button-focus-text-color: var(--button-text-color);
    --button-focus-border-color: rgba(var(--button-color-rgb), 0.4);

    --button-active-background-color: var(--button-color);
    --button-active-text-color: var(--button-text-color);
    --button-active-border-color: rgba(var(--button-color-rgb), 0.4);
}

.button.info {
    --button-color: var(--color-info);
    --button-text-color: var(--color-info-txt);
    --button-color-rgb: var(--color-info-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-loading-hover: url("/assets/icon/loading/loading-white.gif");

    --button-border-color: var(--button-color);
    --button-border-color-rgb: var(--button-color-rgb);

    --button-hover-background-color: var(--button-color);
    --button-hover-text-color: var(--button-text-color);
    --button-hover-border-color: rgba(var(--button-color-rgb), 0.2);

    --button-focus-background-color: var(--button-color);
    --button-focus-text-color: var(--button-text-color);
    --button-focus-border-color: rgba(var(--button-color-rgb), 0.4);

    --button-active-background-color: var(--button-color);
    --button-active-text-color: var(--button-text-color);
    --button-active-border-color: rgba(var(--button-color-rgb), 0.4);
}

.button.gray {
    --button-color: var(--color-gray);
    --button-text-color: var(--color-gray-txt);
    --button-color-rgb: var(--color-gray-rgb);
    --button-loading: url("/assets/icon/loading/loading-dark.gif");
    --button-loading-hover: url("/assets/icon/loading/loading-dark.gif");
    --button-icon-color: #000 !important;

    --button-border-color: var(--button-color);
    --button-border-color-rgb: var(--button-color-rgb);

    --button-hover-background-color: var(--button-color);
    --button-hover-text-color: var(--button-text-color);
    --button-hover-border-color: rgba(var(--button-color-rgb), 0.5);

    --button-focus-background-color: var(--button-color);
    --button-focus-text-color: var(--button-text-color);
    --button-focus-border-color: rgba(var(--button-color-rgb), 0.4);

    --button-active-background-color: var(--button-color);
    --button-active-text-color: var(--button-text-color);
    --button-active-border-color: rgba(var(--button-color-rgb), 0.4);
}

.button.dark {
    --button-color: var(--color-dark);
    --button-text-color: var(--color-dark-txt);
    --button-color-rgb: var(--color-dark-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-loading-hover: url("/assets/icon/loading/loading-white.gif");

    --button-border-color: var(--button-color);
    --button-border-color-rgb: var(--button-color-rgb);

    --button-hover-background-color: var(--button-color);
    --button-hover-text-color: var(--button-text-color);
    --button-hover-border-color: rgba(var(--button-color-rgb), 0.2);

    --button-focus-background-color: var(--button-color);
    --button-focus-text-color: var(--button-text-color);
    --button-focus-border-color: rgba(var(--button-color-rgb), 0.4);

    --button-active-background-color: var(--button-color);
    --button-active-text-color: var(--button-text-color);
    --button-active-border-color: rgba(var(--button-color-rgb), 0.4);
}

.button.white {
    --button-color: #fff;
    --button-text-color: #000;
    --button-color-rgb: 255, 255, 255;
    --button-loading: url("/assets/icon/loading/loading-dark.gif");
    --button-loading-hover: url("/assets/icon/loading/loading-dark.gif");
    --button-icon-color: #000 !important;

    --button-border-color: var(--button-color);
    --button-border-color-rgb: var(--button-color-rgb);

    --button-hover-background-color: var(--button-color);
    --button-hover-text-color: var(--button-text-color);
    --button-hover-border-color: rgba(0, 0, 0, 0.12);

    --button-focus-background-color: var(--button-color);
    --button-focus-text-color: var(--button-text-color);
    --button-focus-border-color: rgba(0, 0, 0, 0.24);

    --button-active-background-color: var(--button-color);
    --button-active-text-color: var(--button-text-color);
    --button-active-border-color: rgba(0, 0, 0, 0.36);
}

.button.nan {
    --button-color: transparent;
    --button-text-color: inherit;
    --button-color-rgb: 0, 0, 0; /* Fixed from inherit to valid RGB */
    --button-loading: url("/assets/icon/loading/loading-dark.gif");
    --button-loading-hover: url("/assets/icon/loading/loading-dark.gif");
    --button-icon-color: inherit !important;

    --button-border-color: transparent;
    --button-border-color-rgb: 0, 0, 0; /* Fixed from inherit */

    --button-hover-background-color: transparent;
    --button-hover-text-color: inherit;
    --button-hover-border-color: transparent;

    --button-focus-background-color: transparent;
    --button-focus-text-color: inherit;
    --button-focus-border-color: transparent;

    --button-active-background-color: transparent;
    --button-active-text-color: inherit;
    --button-active-border-color: transparent;
}

.button.naive {
    --button-color: transparent;
    --button-text-color: inherit;
    --button-color-rgb: 0, 0, 0;
    --button-loading: none;
    --button-loading-hover: none;
    --button-icon-color: inherit;

    --button-border-color: transparent;
    --button-border-color-rgb: 0, 0, 0;

    --button-hover-background-color: transparent;
    --button-hover-text-color: inherit;
    --button-hover-border-color: transparent;

    --button-focus-background-color: transparent;
    --button-focus-text-color: inherit;
    --button-focus-border-color: transparent;

    --button-active-background-color: transparent;
    --button-active-text-color: inherit;
    --button-active-border-color: transparent;

    --button-loading-background: none;
    --button-loading-background-hover: none;

    box-shadow: none;
    transition: none;
}

.button.transparent {
    background-color: transparent;
    color: inherit;
    --button-icon-color: inherit;
    --button-loading-background: url("/assets/icon/loading/loading-dark.gif");
}

.button.transparent:hover {
    background-color: var(--button-hover-background-color);
    color: var(--button-hover-text-color);
    box-shadow: 0 0 0 4px var(--button-hover-border-color);
}

.button.transparent:focus {
    background-color: var(--button-focus-background-color);
    color: var(--button-focus-text-color);
    box-shadow: 0 0 0 4px var(--button-focus-border-color);
}

.button.transparent:active {
    background-color: var(--button-active-background-color);
    color: var(--button-active-text-color);
    box-shadow: 0 0 0 4px var(--button-active-border-color);
}

.button.outline {
    background-color: #fff;
    color: #000;
    --button-icon-color: var(--button-border-color);
    --button-loading-background: url("/assets/icon/loading/loading-dark.gif");
    --button-loading-background-hover: url("/assets/icon/loading/loading-dark.gif");

    box-shadow: 0 0 0 1px var(--button-border-color);
}

.button.outline:hover {
    background-color: #fff;
    color: #000;
    box-shadow: 0 0 0 2px var(--button-border-color), 0 0 0 6px var(--button-hover-border-color);
}

.button.outline:focus {
    background-color: #fff;
    color: #000;
    box-shadow: 0 0 0 2px var(--button-border-color), 0 0 0 6px var(--button-focus-border-color);
}

.button.outline:active {
    background-color: #fff;
    color: #000;
    box-shadow: 0 0 0 2px var(--button-border-color), 0 0 0 6px var(--button-active-border-color);
}

.button.selected,
.button:hover {
    outline: none;
    opacity: 1;
    background: var(--button-hover-background-color);
    color: var(--button-hover-text-color);
    box-shadow: 0 0 0 4px var(--button-hover-border-color);
}

.button:focus {
    outline: none;
    opacity: 1;
    background: var(--button-focus-background-color);
    color: var(--button-focus-text-color);
    box-shadow: 0 0 0 4px var(--button-focus-border-color);
}

.button:active {
    outline: none;
    opacity: 1;
    background: var(--button-active-background-color);
    color: var(--button-active-text-color);
    box-shadow: 0 0 0 4px var(--button-active-border-color);
}

/* Icon and Media Styles */
.button > .icon,
.button > svg,
.button > img,
.button > i {
    position: relative;
    display: inline-flex !important;
    vertical-align: middle !important;
    color: var(--button-icon-color);
    font-size: var(--button-icon-size);
    height: var(--button-icon-size);
    width: var(--button-icon-size);
    line-height: var(--button-icon-size);
    aspect-ratio: 1 / 1;
    overflow: hidden;
    object-fit: contain;
    flex: none;
}

.button > .icon img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    padding: 2px;
}
.button > img {
    padding: 2px;
}
.button:has(input[type="radio"]:checked) > .icon.icon-filter img,
.button:has(input[type="checkbox"]:checked) > .icon.icon-filter img{
    filter: invert(1) drop-shadow(0 0 0 var(--button-checked-text-color));
}
.button:active > .icon.icon-filter img{
    filter: invert(1) drop-shadow(0 0 0 var(--button-active-text-color));
}
.button:hover > .icon.icon-filter img {
    filter: invert(1) drop-shadow(0 0 0 var(--button-hover-text-color));
}
.button:focus > .icon.icon-filter img{
    filter: invert(1) drop-shadow(0 0 0 var(--button-focus-text-color));
}
.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);
}
.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 > img,
.button.icon > i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.button .countdown {
    display: inline-block;
    vertical-align: middle;
}
form.loading .button[type='submit'],
.button.loading {
    color: transparent !important;
    background-image: var(--button-loading-background);
    background-position: center;
    background-repeat: no-repeat;
    background-size: var(--button-icon-size);
}
form.loading .button[type='submit']:hover,
.button.loading:hover {
    color: transparent !important;
    background-image: var(--button-loading-background-hover);
}
form.loading .button[type='submit'] *,
.button.loading * {
    opacity: 0 !important;
}
.button > .container {
    display: inline-flex;
    flex-direction: column;
    align-content: center;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0;
}
.button > .container > * {
    line-height: calc(var(--button-line-height)/2 - 4px);
}
.button.middle-china > .container{
    flex-grow: unset;
}
.button input[type="radio"],
.button input[type="checkbox"] {
    display: none;
}
.button:has(input[type="radio"]:checked),
.button:has(input[type="checkbox"]:checked) {
    outline: none;
    opacity: 1;
    background: var(--button-checked-background-color);
    color: var(--button-checked-text-color);
}
.button.outline:has(input[type="radio"]:checked),
.button.outline:has(input[type="checkbox"]:checked) {
    background-color: #fff;
    box-shadow: 0 0 0 2px var(--button-border-color), 0 0 0 6px var(--button-checked-border-color);
}


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), serif;
}

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;
}

.console-log-box {
    position: relative;
    display: block;
    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 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;
}


.notify-container {
    position: fixed;
    display: flex;


    flex-direction: column-reverse;


    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;


    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", 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";


    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 > * {
    width: 100%;
    display: flex;


    flex-direction: row;

    align-content: center;

    justify-content: flex-start;


    flex-wrap: nowrap;

    align-items: center;
    padding: 8px;


    gap: 8px;
    text-decoration: none;
    color: inherit;


    transition: background 250ms;
}

.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 {
    position: relative;
    display: flex;


    flex-direction: column;

    align-content: center;

    justify-content: space-between;


    flex-wrap: nowrap;

    align-items: flex-start;


    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;


    gap: 8px;
}

.card > .card-header > .title {
    display: flex;


    flex-direction: row;

    align-content: center;

    justify-content: flex-start;


    flex-wrap: nowrap;

    align-items: flex-start;
    font: 14px/24px var(--font-bold-en);
}

.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;


    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;


    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;


    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;
}


.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;
    z-index: var(--z-index-global-high-priority);
    display: none;
    width: max-content;
}

.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 .form-table {
    display: flex;


    flex-direction: column;

    align-content: center;

    justify-content: space-between;


    flex-wrap: nowrap;

    align-items: center;


    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 + 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:first-child td:first-of-type {


    border-radius: 0 12px 0 0;
}

.table-container table tbody: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: center;


    gap: 12px;
    padding: 6px var(--table-padding);


    border-radius: 8px;
    background: #f6f7f9;
}

.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: row;

    align-content: center;

    justify-content: center;


    flex-wrap: nowrap;

    align-items: center;
    text-decoration: none;


    flex: 1;


    gap: 5px;


    border-radius: 8px;


    transition: all 250ms;
    line-height: 32px;
    height: 32px;
    color: #72788a;
    white-space: nowrap;
    padding: 0 8px;
}

.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;
    display: flex;


    flex-direction: row;

    align-content: center;

    justify-content: space-between;


    flex-wrap: wrap;

    align-items: flex-start;


    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;


    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;


    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;


    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(--table-forms-input-border-radius);
    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);
}

.table-container > .form-container .group-action {
    display: flex;


    flex-direction: row;

    align-content: center;


    flex-wrap: nowrap;

    align-items: center;


    border-radius: var(--table-forms-input-border-radius);
}

.table-container > .form-container button.button[type="submit"] {
    --button-border-radius: var(--table-forms-input-border-radius);

}

.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);*/
}

.table-container > .form-container .group-action > *:hover {
    z-index: 1;
}

.table-container > .form-container .group-action > *:first-child {


    border-radius: 0 var(--table-forms-input-border-radius) var(--table-forms-input-border-radius) 0;
}

.table-container > .form-container .group-action > *:last-child {


    border-radius: var(--table-forms-input-border-radius) 0 0 var(--table-forms-input-border-radius);
}

.table-container > .form-container .group-action > *:first-child:last-child {


    border-radius: var(--table-forms-input-border-radius);
}


.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.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: '';
    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: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: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: -100px;
    left: -100px;
}

.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;
}

.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 {
}

.table-container table .image-box {
}

.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;


    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;


    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;
}

.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;
}

.image-box img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.image-box:empty {
    display: none !important;
}

.not-found {

    display: flex;


    flex-direction: column;

    align-content: center;

    justify-content: space-between;


    flex-wrap: nowrap;

    align-items: center;


    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;


    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;


    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;


    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: 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;

    /*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 / 240px;
    border-radius: 8px;
    pointer-events: auto;
}


#assetPreview .container video,
#assetPreview .container img {
    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: 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;


    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:empty{
    display: none;
}
.pagination .container {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    list-style: none;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.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;
    min-height: 40px;
    border: none;
    box-shadow: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

.pagination .container li a.loading{
    color: transparent !important;
    background-image: url("/assets/icon/loading/loading-dark.gif");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 24px;
}
.pagination .container li.current-page a.loading{
    color: transparent !important;
    background-image: url("/assets/icon/loading/loading-white.gif");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 24px;
}

.content-loading > *:not(.pagination-spinner) {
    opacity: 0.3;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
}

.pagination-spinner {
    position: absolute;
    z-index: var(--z-index-global-low-priority);
    width: calc(100% + 24px);
    height: calc(100% + 24px);
    top: -12px;
    left: -12px;
    padding: 64px 0;
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(5px);
}

.pagination-spinner .spinner{
    position: sticky;
    top: 50%;
    right: 50%;
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    border-top-color: #3498db;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* General Popup Styles */
.selection-popup {
    --popup-width: 800px;
    --popup-padding: 12px;
    --popup-background: #fff;
    --popup-color: #000;
    --popup-border-color: rgba(0, 0, 0, 0.1);

    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    z-index: -1;
    display: none;
}

.selection-popup.active {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: var(--z-index-global-middle-priority, 1000);
    direction: rtl;
}

.selection-popup > .background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(40, 40, 40, 0.24);
    backdrop-filter: blur(8px);
    z-index: 0;
}

.selection-popup > .container {
    z-index: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    width: var(--popup-width);
    min-width: 300px;
    max-width: 90%;
    max-height: 90%;
    border-radius: 12px;
    background: var(--popup-background);
    color: var(--popup-color);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* Head Section */
.selection-popup > .container > .head {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: var(--popup-padding);
    border-bottom: 1px solid var(--popup-border-color);
    flex-shrink: 0;
}

.selection-popup > .container > .head > .icon {
    width: 32px;
    height: 32px;
    line-height: 32px;
    border-radius: 8px;
    text-align: center;
    background: rgba(0, 0, 0, 0.05);
    flex-shrink: 0;
}

.selection-popup > .container > .head > .container {
    flex: 1;
}

.selection-popup > .container > .head > .container > .title {
    font-size: 14px;
    font-weight: bold;
}

.selection-popup > .container > .head > .container > .description {
    font-size: 12px;
    line-height: 1.5;
    opacity: 0.8;
}

.selection-popup > .container > .head > .tools {
    display: flex;
    gap: 8px;
}

/* Body & Layout Styles */
.selection-popup > .container > .body {
    display: grid;
    gap: 16px;
    width: 100%;
    padding: var(--popup-padding);
    flex: 1;
    overflow: hidden;
}
.selection-popup .group-components{
    display: flex;
    flex-direction: row;
    gap: 16px;
    width: 100%;
    padding: 0;
    flex: 1;
    overflow: hidden;
}
.selection-popup .filter-component {
    display: flex;
    flex-direction: column;
    flex: 1; /* Each component takes equal space */
    min-width: 250px; /* Minimum width for readability */
    overflow: hidden; /* Hide overflow within the component */
    border-radius: 8px;
}

.selection-popup .filter-component-title {
    padding: 8px 12px;
    font-size: 13px;
    font-weight: bold;
    background-color: rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid var(--popup-border-color);
    margin: 0;
}

.selection-popup .filter-component-content {
    flex: 1;
    overflow: hidden; /* Important for child scrolling */
    display: flex;
    flex-direction: column;
}
.selection-popup .list-wrapper{
    padding: 8px;
}
/* List Wrapper (inside component-content) */
.selection-popup .list-wrapper.form-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow: hidden;
}

/* Search Bar */
.selection-popup .search-container {
    width: 100%;
    position: relative;
    flex-shrink: 0;
}


.selection-popup .search-input {
    --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;
    --input-placeholder-color: #ccc;
    --input-height: 32px;
    --input-width: 100%;
    --input-padding: 4px;
    border-radius: 8px;
}
.selection-popup .search-container:has(.search-dropdown.active:not(:empty)) .search-input {
    box-shadow: 0 0 0 4px #f3f3f3;
    border-radius: 8px 8px 0 0;
}
.selection-popup .search-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 0 4px;
    margin-top: 0;
    background: #fff;
    border-radius: 0 0 8px 8px;
    max-height: 300px;
    overflow-y: auto;
    z-index: 10;
    display: none;
    padding: 0;
    scrollbar-width: thin;
    border: 4px solid #f3f3f3;
}

.selection-popup .search-dropdown.active {
    display: block;
}
.selection-popup .search-dropdown.active:empty{
    display: none;
}
.selection-popup .search-dropdown li {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 13px;
    list-style: none;
}

.selection-popup .search-dropdown li:hover {
    background: #f1f1f1;
}

/* Parent/Child List Container */
.selection-popup .list-container {
    width: 100%;
    flex: 1; /* Takes remaining space */
    display: flex;
    gap: 8px;
    overflow: hidden; /* Key for allowing children to scroll */
}
.selection-popup .search-container:has(.search-dropdown.active:not(:empty)) ~ .list-container{
    filter:blur(5px);
}

.selection-popup .parent-list,
.selection-popup .child-list {
    flex: 1;
    height: 100%;
    overflow-y: auto;
    scrollbar-width: thin;
    padding: 4px;
    margin: 0;
    list-style: none;
    background: #fff;
    border-radius: 6px;
}
.selection-popup .parent-list{
    border: 1px solid var(--color-gray);
}

.selection-popup .parent-list li,
.selection-popup .child-list li {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    border-radius: 6px;
    margin-bottom: 4px;
}

.selection-popup .parent-list li:last-child,
.selection-popup .child-list li:last-child {
    margin-bottom: 0;
}

.selection-popup .parent-list li.message,
.selection-popup .child-list li.message {
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 12px;
    color: #888;
    font-size: 12px;
}

.selection-popup .parent-list li label,
.selection-popup .child-list li label {
    flex-grow: 1;
    display: inline-block;
    /*display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;*/
    gap: 8px;
    padding: 8px;
    cursor: pointer;
    transition: background-color 0.2s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.selection-popup .parent-list li label input,
.selection-popup .child-list li label input{
    contain: none;
    display: inline-block;
    vertical-align: middle;
}


.selection-popup .parent-list li:hover,
.selection-popup .child-list li:hover {
    background-color: #f0f0f0;
}

.selection-popup .parent-list li.active-list:after{
    content: 'arrow_right_alt';
    transform: rotate(180deg);
    display: inline-block;
    vertical-align: middle;
    font-size: 24px;
    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;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
    color: inherit;
}

.selection-popup .child-list li:has(input:checked),
.selection-popup .parent-list li.active-list {
    position: sticky;
    top: 0;
    bottom: 0;
}
.selection-popup .parent-list li.active-list{
    background-color: var(--color-gray);
    color: var(--color-gray-txt);
}
.selection-popup .parent-list li.selected,
.selection-popup .child-list li.selected {
    box-shadow: inset 0 0 0 1px var(--color-primary, #007bff);
}

.selection-popup .parent-list li.active-list:has(input:checked),
.selection-popup .child-list li:has(input:checked) {
    background: var(--color-primary, #007bff);
    color: #fff;
}

/* Selected Items (at the bottom) */
.selection-popup .selected-items-container {
    flex-shrink: 0; /* Prevents shrinking */
    border-top: 1px solid #eee;
    padding-top: 8px;
}

.selection-popup .selected-items-container h6 {
    font-size: 12px;
    margin: 0 0 8px 4px;
    font-weight: normal;
    color: #555;
}

.selection-popup .selected-items-container .selected-items-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 80px;
    overflow-y: auto;
}

.selection-popup .selected-items-container .remove-item {
    font-size: 11px;
}

/* Foot Section */
.selection-popup > .container > .foot {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    padding: var(--popup-padding);
    border-top: 1px solid var(--popup-border-color);
    background-color: #fdfdfd;
    border-radius: 0 0 12px 12px;
    flex-shrink: 0;
}

.selection-popup .grid-style-container{
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    overflow: auto;
}
.selection-popup .grid-style-container > *{
    flex: 1 0 auto;
}
.selection-popup .grid-style-container label.button:has(input:checked){
    --button-color: var(--color-primary);
    --button-text-color: var(--color-primary-txt);
    --button-color-rgb: var(--color-primary-rgb);
    --button-loading: url("/assets/icon/loading/loading-white.gif");
    --button-loading-hover: url("/assets/icon/loading/loading-white.gif");
    --button-icon-color: var(--color-primary-txt);

    --button-border-color: var(--button-color);
    --button-border-color-rgb: var(--button-color-rgb);

    --button-hover-background-color: var(--button-color);
    --button-hover-text-color: var(--button-text-color);
    --button-hover-border-color: rgba(var(--button-color-rgb), 0.3);

    --button-focus-background-color: var(--button-color);
    --button-focus-text-color: var(--button-text-color);
    --button-focus-border-color: rgba(var(--button-color-rgb), 0.2);

    --button-active-background-color: var(--button-color);
    --button-active-text-color: var(--button-text-color);
    --button-active-border-color: rgba(var(--button-color-rgb), 0.2);

    --button-checked-border-color: rgba(var(--button-color-rgb), 0.2);

    background-color: var(--button-color);
    color: var(--button-text-color);
}
.selection-popup .grid-style-container label.button > img{
    transition: all 150ms;
}
.selection-popup .grid-style-container label.button > input:checked + .icon img{

}
.selection-popup .grid-style-container label.button > input:checked + .icon:after{
    content: 'check';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: inline-block;
    vertical-align: middle;
    font-size: 20px;
    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;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga";
    width: var(--button-icon-size);
    line-height: var(--button-icon-size);
    height: var(--button-icon-size);
    border-radius: 4px;
    background: transparent;
    color: var(--button-text-color,#fff);
    backdrop-filter: blur(5px);
}

/* Widget Styles */
.selection-box {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #ccc;
    padding: 4px 8px;
    border-radius: 6px;
    cursor: pointer;
}

.selection-box .output {
    flex: 1;
    font-size: 14px;
}

