﻿

@import url('vars.css');

html {
    font-size: 11px;
    font-family: 'roboto-regular', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: var(--fore-color, #373737);
    display: block;
    height: 100%;
    user-select: none;
    /* Делаем шрифт базово чуть плотнее. 
       Если покажется слишком жирным, измените на 400 */
    font-weight: 540;
    /* Профессиональное сглаживание для тёмных интерфейсов */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    /* Слегка сближаем буквы (на 1%), чтобы текст смотрелся монолитнее и солиднее */
    /*letter-spacing: -0.01em;*/
    /* Включаем табличные цифры (чтобы номера телефонов и ID в колонках стояли ровно друг под другом) */
    font-variant-numeric: tabular-nums;
}

    


.overlay_context_menu {
    background-color: #05050570!important;
}

@media (min-width: 1268px) {
    html {
        font-size: 13.4px;
        font-weight: 550;
    }
}
/*------------------- LOGO ---------*/

body.auth_page {
    background-size: 30%;
    background-image: url(img/sign-gold.svg);
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
    animation: fadeInBackground 1.5s ease-out;
    filter: url('#gold-glow');
    position:absolute;
}

/* Эффект частиц золотой пыли */
.gold-dust {
    position: absolute;
    pointer-events: none;
    z-index: -1;
}

   

@keyframes fadeInBackground {
    0% {
        background-size: 10%;
        opacity: 0;
        filter: blur(20px);
    }

    60% {
        background-size: 32%;
        opacity: 0.8;
        filter: blur(5px);
    }

    100% {
        background-size: 30%;
        opacity: 1;
        filter: blur(0);
    }
}

@keyframes dustFloat {
    0% {
        transform: translate(-50%, -50%) rotate(0deg) scale(0.5);
        opacity: 0;
    }

    50% {
        opacity: 0.3;
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg) scale(1.2);
        opacity: 0;
    }
}
/*---------------------------/LOGO----------------*/

.office_display_name {
    text-align: center;
    text-transform: uppercase;
    color: var(--text);
    opacity: 0.2;
}
/*/-----------------------*/

[name=overlay] .button.close {
    z-index:1;
    position: absolute;
    right: 10px;
    top: 10px;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(145deg, #f0f0f0, #e6e6e6);
    /*box-shadow: 3px 3px 6px #bebebe, -3px -3px 6px #ffffff;*/
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;

}

    [name=overlay] .button.close:hover {
        background: linear-gradient(145deg, #e6e6e6, #f0f0f0);
        box-shadow: inset 3px 3px 6px #bebebe, inset -3px -3px 6px #ffffff;
    }

    [name=overlay] .button.close:before,
    [name=overlay] .button.close:after {
        content: '';
        position: absolute;
        width: 20px;
        height: 2px;
        background: linear-gradient(90deg, #ff6b6b, #ff8e8e);
        border-radius: 2px;
    }

    [name=overlay] .button.close:before {
        transform: rotate(45deg);
    }

    [name=overlay] .button.close:after {
        transform: rotate(-45deg);
    }

    /*------------------------*/
    
[data-main-title]:hover:after {
    opacity: 0.9;
    transition: all 0.1s ease 0.5s;
    visibility: visible;
    padding: 10px;
}

[data-main-title]:after {
    content: attr(data-main-title);
    position: absolute;
    bottom: -1.6em;
    left: 100%;
    padding: 4px 4px 4px 8px;
    color: var(--fore-color);
    white-space: nowrap;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    -moz-box-shadow: 0px 0px 4px #222;
    -webkit-box-shadow: 0px 0px 4px #222;
    box-shadow: 0px 0px 4px #222;
    background-image: -moz-linear-gradient(top, #f8f8f8, #cccccc);
    /* background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f8f8f8), color-stop(1, #cccccc)); */
    /* background-image: -webkit-linear-gradient(top, #f8f8f8, #cccccc); */
    background-image: -moz-linear-gradient(top, #f8f8f8, #cccccc);
    background-image: -ms-linear-gradient(top, #f8f8f8, #cccccc);
    background-image: -o-linear-gradient(top, #f8f8f8, #cccccc);
    background-color: var(--theme-background-color);
    /* opacity: 0.5; */
    opacity: 0;
    z-index: 99999;
    visibility: hidden;
    /* padding: 5px; */
    border: var(--border);
    border-radius: var(--border-radius-default);
}

[data-main-title] {
    position: relative;
}

.contragent_photo {
    background-size: contain;
    background-position: center;
    width: 160px;
    height: 140px;
    border: var(--border);
    border-style: dashed;
}



    .contragent_photo.round {
        width: 38px;
        height: 38px;
        border-radius: 35px;
    }
        .contragent_photo.round:hover {
            border: 1px solid var(--theme-lera-color-yellow) !important; /* Появление рамки */
            box-shadow: 0 0 10px rgba(255, 235, 59, 0.6); /* Свечение */
        }

input:disabled {
    color: var(--border-color);
}
input.error_input {
    color: var(--color-red);
    border-color: var(--color-red);
}
input[type=date] {
    width: 106px;
    color: var(--theme-color-1);

}
.find_input {
    position: relative;
    padding: 0px;
   
}
.find_input input[type=text] {

}
    .find_input .del {
        position: absolute;
        right: 0px;
        top: 13px;
        display: block;
        width: 34px;
        height: 34px;
        font-size: 11px;
    }
.extendfilter_panel .wrapper .elem_container .find_input .del {
    top:10px;
}
.extendfilter_panel .save_filter {
    width: 32px;
    height: 32px;
    position: absolute;
    top: 16px;
    left: -16px;
}
    .extendfilter_panel .save_filter::before {
        content: "📌";
        font-size: 16px;
    }

.find_input .del::before {
    content: "✕";
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
    margin: 0;
    padding: 0;
 
}

body {
    margin: 0;
    padding: 0;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-width: 1024px;
    min-height: 621px;
    background: var(--background-color);
    background-repeat: no-repeat;
    background-position: center;
}
    body.auth_page {
        background-size: 30%;
        background-image: url('img/sign-gold.svg');
    }
    body.home_page {
        background-size: 30%;
        background-image: url('img/sign-gold.svg');
    }
    body.bg {
        background-image: url("img/fon2.jpg");
        background-size: cover;
    }

.copy_buffer_button {
    background-image: url(img/copy.png);
    background-size: cover;
}

.copy_buffer_button:hover {
    cursor:pointer;
}
h2 {
    font-size: 110%;
}
    h2.red, .label.red {
        color: var(--color-red);
    }
    h2.green {
        color: var(--color-green);
    }
    h2.yellow {
        color: var(--theme-lera-color-yellow);
    }
    h2.skyblue {
        color: var(--color-skyblue);
    }
.label {
    display: initial;
}
:root {
    --toast-bg: #1e7e3470;
    --toast-text: #fff;
    --toast-shadow: 0 8px 20px rgba(0,0,0,0.3);
    --toast-radius: 16px;
    --toast-padding: 14px 20px;
    --status-color: #b3ffb3;
}

/* Сама плашка */
.toast {
    position: absolute;
    right: 3px;
    top: -2px;
    z-index: 999999;
    background: var(--toast-bg);
    color: var(--toast-text);
    font-family: var(--toast-font);
    font-size: 14px;
    padding: var(--toast-padding);
    border-radius: 0 0 0 3px;
    box-shadow: var(--toast-shadow);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    gap: 12px;
    transition: all 0.2s;
}

/* Аватар */
.toast-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    border: 2px solid rgba(255,255,255,0.3);
}

/* Контент */
.toast-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.toast-title {
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.3px;
    display: flex;
    align-items: center;
    gap: 8px;
}

    .toast-title .badge {
        font-size: 11px;
        background: rgba(255,255,255,0.2);
        padding: 0 8px;
        border-radius: 20px;
        font-weight: 400;
    }

.toast-meta {
    display: flex;
    gap: 12px;
    font-size: 12px;
    opacity: 0.9;
}

    .toast-meta .direction {
        background: rgba(0,0,0,0.2);
        padding: 0 10px;
        border-radius: 12px;
        font-weight: 500;
    }

        .toast-meta .direction.out {
            background: #ffa500;
            color: #1e1e1e;
        }

.toast-status {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
}

    .toast-status .dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--status-color);
        display: inline-block;
        animation: pulse 1.5s infinite;
    }

.toast.bg_yellow{
    background-color:var(--color-yellow);
    color:black;
}

.modal {
    background-color: var(--background-color-blur4);
    backdrop-filter: var(--backdrop-filter);
    color: var(--fore-color);
    border: var(--border);
    border-radius: var(--border-radius-default);
    border: solid 1px var(--fore-color);
}

    .modal h2 {
        width: 100%;
        text-align: center;
        color: var(--fore-color);
        font-size: medium;
    }



.modal.alert .title {
    text-align: center;
    font-size: 120%;
}
    .modal.alert .emoji {
        text-align: center;
        font-size: 64px;
    }
    .emoji {
        animation: emojiPulse 0.8s ease-in-out;
    }

.overlay .emoji {
    font-size: 1000%;
    margin: auto;
}
@keyframes emojiPulse {
    0% {
        opacity: 0;
        transform: scale(0);
    }

    50% {
        opacity: 1;
        transform: scale(1.3);
    }

    70% {
        transform: scale(0.95);
    }

    100% {
        transform: scale(1);
    }
}
.modal.alert .description {
    padding: 10px;
    margin: 20px 0px;
    border: 2px solid var(--theme-background-color-lite);
    border-radius: var(--border-radius-default);
}
           .button:hover {
                transform: translateY(-1px);
                box-shadow: 0 10px 25px rgba(59, 130, 246, 0.4);
            }

.debt_info:active {
    transform: scale(0.98);
    box-shadow: 0 2px 8px rgba(231, 76, 60, 0.3);
}
.modal .button {
    background-color: transparent;
}
    .modal.alert .button {
    width: fit-content;
    margin: auto;
    min-width: 100px;
   
}
.modal.alert .but-block.two {
    text-align: center;
}
.modal.alert .but-block {
    text-align: center;
}

.alert {
    padding: 50px;
    min-width: 250px;
    max-width: 450px;
    background-repeat: no-repeat;
    background-size: 39px;
    background-position: 50% 13px;
    max-height: 60%;
    overflow: auto;
    border-radius: var(--border-radius-default);
   
}
    .alert.alert-error {
        border-color: #ff4500;
    }


    .alert.alert-info {
        border-color: var(--color-green);
    }
    .alert .title {
        margin: 20px;
        line-height: 20px;
    }

.hidden {
    display: none;
}
input.find {
    border-color: var(--color-blue);
    border-width: 1px;
}
::-webkit-calendar-picker-indicator {
    filter: var(--webkit-calendar-picker-indicator-filter);
}
.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}
.update:before {
    content: "↺";
    font-size: 21px;
    cursor: pointer;
    color: var(--color-skyblue);
}
.recycle:before {
    content: "♺";
    font-size: 21px;
    cursor: pointer;
    color: var(--color-skyblue);
}

.mdi {
    width: min-content;
}
.mdi .close-button-for-ui{
    cursor:pointer;
}

legend {
   
    color: var(--color-meta);
}
.ui-dialog > .draggable_cell {
    display:block;
    width:24px;
    height:24px;
    position:absolute!important;
    top:-22px;
}
.ui-dialog > .photo_fio_container {
    position: absolute;
    top: -7px;
    left: -32px;
}
    .ui-dialog > .photo_fio_container .contragent_photo {
        width: 38px;
        height: 38px;
        float: left;
        margin-right: 10px;
    }
.ui-dialog > .draggable_cell:before {
    content: "⇐";
    color: var(--color-orangered);
    font-size: 34px;
    position: absolute;
    top: -10px;
    cursor: grabbing;
}
    .ui-dialog .copy {
        position: absolute;
        top: 24px;
        right: 10px;
    }
.button.left_icon {
    text-align: center;
    background-position: 5px 6px;
    width: 108px;
    background-size: 24px;
    min-width: 130px;
}
    .button.left_icon.save {
        background-color: var(--color-green);
        background-image: url('img/save.png');
        text-align: center;
        background-position: 6px 7px;
        width: 108px;
        background-size: 19px;
        min-width: 130px;
    }
    .button.left_icon.find {
        background-color: transparent;
        background-image: url(img/eye.png);
        background-position: 6px 11px;
        color: var(--fore-color);
    }
.button.file_upload {
    background-image: url(img/upload.svg);
    background-size: 13px;
    display: block;
    width: 20px;
    height: 20px;
    background-color: var(--theme-background-color);
    /* color: white; */
    background-position: center;
    background-repeat: no-repeat;
    border-radius: var(--border-radius-default);
    border: none;
}
.ui-dialog .basedialog_form > .button.save {
    margin-top: -39px;
    position:fixed;
}
.ui-dialog .header_info {
    position: absolute;
    top: 6px;
    left: 30%;
    /* font-weight: bold; */
    text-transform: uppercase;
    z-index:-1;
}
.copy {
    background-image: url(img/copy.png);
    background-size: cover;
    cursor: pointer;
    width: 24px;
    height: 24px;
    background-color: var(--button-animate-bg-color);
}
.reference {
    width: 20px;
    height: 19px;
    cursor: pointer;
    float: right;
    border: var(--border);
    border-radius: 20px;
}
.reference:hover {
    color:var(--color-green);
}
.reference:before {
        content: "?";
        position: relative;
        top: 2px;
        left: 7px;
    }
.edit{
    cursor:pointer;
}
    .edit:before {
        content: "✎";
    }
.border {
    border: var(--border);
}
.del {
}
span {
    border-radius: var(--border-radius-default);
}
span.green{
    color:var(--color-green)!important;
}
    span.red {
        color: var(--color-red);
    }
    span.yellow {
        color: var(--color-yellow);
    }
.del::before {
    content: "🗑";
    cursor:pointer;
    color:var(--color-red);
}
.print::before {
    content: "🖨";
    cursor: pointer;
    color: var(--color-skyblue);
}
.print.disabled::before {
    color: var(--color-meta);
}
.link {
    color: var(--color-blue);
    cursor: pointer;
   
}


    .link:hover{
        text-decoration:underline;

    }
    .link[data-emoji]:hover {
        text-decoration: none;
        animation:emojiPulse;
    }
    .link::before {
        content: "🔗";
        margin-right: 5px;
        text-decoration: none;
    }
    .link[data-emoji]::before {
        content: attr(data-emoji);
        margin-right: 5px;
        text-decoration: none;
        font-size:22px;
    }
    .link:before {
        text-decoration:none;
    }

.sector_link {
    margin-right: 5px;
    font-size: 18px;
    display: block;
    margin-bottom: 2px;
}
    .sector_link:hover {
        text-decoration: underline;
    }
    .sector_link::before {
        content: "🏢";
        position: relative;
        left: -12px;
    }

.green_bg {
    background-color: var(--color-green) !important;
}
.center {
    margin: auto;
    display: block;
    max-height: 60%;
    overflow: auto;
    
}
.center-text-align {
    text-align: center;
}
input[type=time]{
    width:fit-content;
}



.meta {
    font-size: 12px;
    color: var(--color-meta);
}

        .meta::before {
            content: "🕒";
            margin-right: 5px;
        }
.div-wait {
    background-image: url('img/await.gif');
    background-repeat: no-repeat;
    background-position: center;
}

*, *::before, *::after {
    box-sizing: border-box;
}
fieldset {
    border-radius: 6px;
    border: 1px solid;
    border-color: var(--theme-background-color-lite);
    float: left;
    border-style: groove;
}
fieldset.width_max_content {
    width:max-content!important;
}

input, textarea {
    background-color: transparent !important;
    color: var(--fore-color);
}

.price{
    color:var(--color-blue);
}
select {
    background-color: transparent !important;
    color: var(--fore-color);
}
.modal select {
    color: var(--theme-lera-color-yellow);
}
    select option {
        background: var(--background-color);
    }
input[type="text"], input[type="password"] {
    font-family: inherit; /* 1 */
    font-size: inherit; /* 1 */
    line-height: inherit; /* 1 */
}

input[type="datetime"], input[type="date"] {
    width: 140px;
}

input[type="text"].fio {
    text-transform: capitalize;
}

.text-field {
   /* margin-bottom: 1rem;*/
    
}
/* стили для .label */
.label{
    color:var(--.label-color);
}
.text-field__.label {
    display: block;
    margin-bottom: 0.25rem;
}
/* стили для input */
.text-field__input {
    /*  display: block;*/
    width: 100%;
    /* height: calc(2.25rem + 2px);*/
    padding: 4px 2px;
    font-family: inherit;
    /*    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;*/
    /*  color: #212529;*/
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #bdbdbd;
    border-radius: 0.25rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    border-color: #6c6c6c;
    padding:4px 8px;
}
input, .button {
    margin: 3px;
}
textarea {
    margin: 3px;
    background-color: transparent;
    
}

div {
    background-repeat: no-repeat;
}

.checkbox {
    border: var(--border);
    display: block;
    width: 12px;
    height: 12px;
}

    .checkbox.active:after {
        content: "";
        background-color: var(--color-green);
        display: block;
        position: relative;
        width: 8px;
        height: 8px;
        margin: auto;
        top: 1px;
    }

.onoff-box-main {
    position: relative;
}
 
    .onoff-box-main .label {
        display: inline-block;
        font-size: 90%;
        color: var(--theme-color-1);
        margin-right: 3px;
        min-width: 100px;
    }

    .onoff-box-main > div {
        border: var(--border);
        display: inline-block;
        width: 25px;
        height: 13px;
        border-radius: 10px;
        position: relative;
        top: 3px;
    }

        .onoff-box-main > div > div {
            width: 13px;
            height: 13px;
            border: var(--border);
            position: absolute;
            border-radius: 24px;
            top: -1px;
            background-color: var(--theme-background-color);
            cursor: pointer;
            color: red;
        }


            .onoff-box-main > div > div.on {
                background-color: var(--color-green);
                right: 0;
                opacity: 1;
                box-shadow: 3px 3px 5px #00000057;
                color: var(--backgroundBlue-fore-color);
            }


    .onoff-box-main.red_revers > div > div {
        background-color: var(--color-green);
    }
        .onoff-box-main.red_revers > div > div.on {
            background-color: var(--color-red);
        }


.min_info_popup {
    position: absolute;
    top: 30%;
    z-index: 9999;
    background-color: var(--background-color);
    display: block;
    width: fit-content;
    min-width: 300px;
    padding: 6px;
    border: var(--border);
    right: 10px;
    padding-top: 21px;
    border-radius: 7px;
    --box-shadow: var(--box-shadow-ligt);
    opacity:0.7;
}
    .min_info_popup .photo_fio_container .label {
        width: 100%;
        display: block;
     
        padding: 3px;
        position: absolute;
        top: 0px;
        left: 0px;
        
        border-radius:7px 7px 0px 0px;
    }
    .min_info_popup table tbody tr td {
        border-width:0px 0px 1px 0px;
 
        font-style:italic;
    }
    .min_info_popup table tbody tr td .label{
        border-width: 0px 0px 1px 0px;
       
    }
    .min_info_popup table tbody tr:hover {
     background-color:transparent;
        
    }

    .min_info_popup .contragent_photo {
        background-size: contain;
        width: 63px;
        height: 43px;
        float: left;
        margin: 0px 10px 4px 0px;
        /* padding: 5px; */
        border: none;
    }
.container {
    padding: 5px;
}
.tabs {
    position: relative;
}

    .tabs .heads_container {
    }

    .tabs .contents_container {
        padding: 10px;
        height: 98%;
        display:block;
    }


    .tabs .heads_container .head {
        display: inline-block;
        margin: 0px 0px;
        text-align: center;
        padding: 6px 7px;
        border: 1px solid var(--border-color);
        border-width: 1px 0px 0px 1px;
        border-radius: 5px 2px 0px 0px;
        cursor: pointer;
        color: var(--theme-color-1);

    }

        .tabs .heads_container .head.active {
            color: var(--theme-lera-color-yellow);
            font-weight: bold;
            border: 2px solid var(--theme-lera-color-yellow);
            border-width: 0px 0px 2px 0px;
        }

    .tabs .contents_container .content {
        height:98%;
        display: block;
        overflow: auto;
    }
    .tabs .contents_container .datagrid .table_container {
        
    }

.basedialog_form {
    overflow: unset;
}
.basedialog_form .container.datagrid{
    overflow:unset;

}


.basedialog_form .datagrid .table_container {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.basedialog_form .tabs {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
/*--DATAGRID---*/


table {
    /*display: block;*/
    border-collapse: collapse;
    white-space: nowrap;
    line-height: 1.42857143;
}
    table thead th {
        color: var(--button-background-color);
    }
table thead th[data-sort] {
    min-width: 24px;
    cursor: pointer;
}

table thead th[data-sort='1'], table thead th[data-sort='2'] {
    background-color: var(--backgroundBlue);
    color: var(--backgroundBlue-fore-color);
}

table thead th[data-sort]:hover {
    opacity: 1;
}

        table thead th[data-sort]:before {
            content: "";
            background-image: url(img/sort1.png);
            position: absolute;
            display: block;
            width: 14px;
            height: 14px;
            background-size: contain;
            background-repeat: no-repeat;
            left: 6px;
            top: 3px;
            background-color: var(--theme-color-1);
            background-position: center;
            background-size: 9px;
            border-radius: 7px;
        }

table thead th[data-sort='2']:before {
    transform: rotate( 180deg);
}
table tbody tr {
    border-collapse: collapse;
    display: table-row;
}
tr:hover {
    background-color: var(--theme-background-color);
}
table tbody tr.selected {
    background-color: var(--theme-background-color-lite);
    border-collapse: collapse;
}
    table tbody tr td {
        border: var(--border);
        margin: 0px;
        border-collapse: collapse;
        padding: 0px 10px;
    }
        table tbody tr td input[type=number] {
            width: 100%;
            margin: 0px !important;
            display: inline-block;
            border: none;
            
            font-weight: bold;
            min-width: 100px;
        }
table tbody tr.apended_new {
    color: var(--color-yellow);
    background-color: #65522c;
}
table tbody tr td.del {
    color: var(--color-red);
    width: 30px;
    text-align: center;
    cursor: pointer;
    font-size: 140%;
}
    table tbody tr td.price {
        font-size: 110%;
        color: var(--color-green);
        font-weight:bold;
    }

        .table_container table tbody tr td.valid{

        }
            .table_container table tbody tr td.valid::before {
                content: "";
                background-image: url(img/valid.png);
                display: inline-block;
                position: relative;
                width: 15px;
                height: 15px;
                top: 4px;
                left: -4px;
                background-size: contain;
                margin: 0px;
                padding: 0px;
            }


.fht-table, .fht-table thead, .fht-table tfoot, .fht-table tbody, .fht-table tr, .fht-table th, .fht-table td {
    margin: 0;
    padding: 5px 10px;
    font-size: 100%;
    font: inherit;
    
}
    .fht-table thead th {
        background: var(--background-color-thead) 
    }
.close-button-for-ui {
    background-size: 75px;
    position: absolute;
    display: block;
    width: 25px;
    height: 20px;
    background-repeat: no-repeat;
    right: 24px;
    top: 0;
    cursor: pointer;
    background-position: -49px -1px;
}
    .close-button-for-ui:after {
        content: "✕";
        color: var(--fore-color);
        position: absolute;
        left: 13px;
    }

.button {
    text-align: center;
    border: var(--border);
    padding: 10px;
    cursor: pointer;
    background-position: center;
    background-size: contain;
    background-color: var(--color-darkslateblue);
    color: var(--button-fore-color);
    border-radius: 10px;
    font-family: 'roboto-bold';
}
    .button.red{
        background-color:var(--color-red);
    }
        .button.green {
            background-color: var(--color-green);
        }
    .button:hover {
       /* transform: scale(1.01);*/
        box-shadow: var(--box-shadow);
        color: var(--button-fore-color-hover);
        border-color: var(--color-meta);
 
    }

    .button.animate {
        text-align: center;
        border: none;
        padding: 10px;
        cursor: pointer;
        background-position: center;
        background-size: contain;
        background-color: transparent;
    }

        .button.animate:hover {
            --box-shadow: none;
        }

        .button.add {
            width: 22px;
            padding: 0px;
            height: 19px;
            border: none;
            background-color: transparent;
        }
            .button.add.add_button_text {
                width: fit-content;
                padding: 5px 10px 5px 20px;
                height: fit-content;
                position: relative;
                border-radius: 6px;
            }
                .button.add.add_button_text:before {
                    position: absolute;
                    left: 5px;
                    top: 2px;
                }

.button.add:before {
    content: "+";
    position: relative;
    margin: auto;
    font-size: 132%;
}
            .button.add.edit:before {
                content: "✎";
            }

            .button.add.add_button_text.edit:before {
                content: "✎";
                top: 0px;
                left: 2px;
            }

.button_back {
   
}
    .button_back:before {
        content: "↩";
    }

.but-block.two .button {
    display: inline-block;
    min-width: 100px;
    margin-left: 10px;
}
.but-block.two .button.red {
background-color:transparent;
color:var(--color-red);
}

/* Анимация "пульс-нажатие" — кнопка раздувается и возвращается */
@-webkit-keyframes buttonPress {
    0% {
        -webkit-transform: scale(1);
    }

    30% {
        -webkit-transform: scale(1.15); /* раздуваемся */
    }

    60% {
        -webkit-transform: scale(0.95); /* чуть перескакиваем в минус */
    }

    100% {
        -webkit-transform: scale(1); /* возвращаемся в норму */
    }
}

/* класс для кнопки */
.button-press {
    -webkit-animation-name: buttonPress;
    -webkit-animation-duration: 0.22s; /* можно поиграть с длительностью */
    -webkit-animation-timing-function: ease-out;
    -webkit-animation-direction: normal;
    -webkit-animation-iteration-count: 1;
    -webkit-transform-origin: center center; /* чтобы раздувалось из центра */
}

.rotate {
    -webkit-animation-name: 'rotate3dfront';
    -webkit-animation-duration: .1s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-direction: normal;
    -webkit-animation-iteration-count: 1;
}


@-webkit-keyframes rotating {
    from {
        -webkit-transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
    }
}


@-webkit-keyframes rotate3dfront {
    0% {
        -webkit-transform: skew(0deg, 0deg) scale(1, 1);
        visibility: visible;
    }

    100% {
        -webkit-transform: skew(0deg, 90deg) scale(0, 1);
        visibility: visible;
    }
}

@-webkit-keyframes rotate3dback {
    0% {
        -webkit-transform: skew(0deg, 0deg) scale(1, 1);
    }

    50% {
        -webkit-transform: skew(0deg, 90deg) scale(0, 1);
    }

    100% {
        -webkit-transform: skew(0deg, 180deg) scale(1, 1);
    }
}

@-webkit-keyframes rotationGorizontal {
    0% {
        -webkit-transform: scaleX(0);
    }

    100% {
        -webkit-transform: scaleX(1);
    }
}

@-webkit-keyframes pulse {
    0% {
        -webkit-box-shadow: 0 0 20px rgba(200, 50, 50, 0.2);
        opacity:0.3;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0.3;
    }
}

.datagrid .tools .counter {
    display: inline-block;
    margin: 0px 10px;
}
.datagrid .tools .pager {
    display: inline-block;
    padding: 2px;
    width: 380px;
}

    .datagrid .tools .pager > div {
        display: inline-block;
        margin: 0px 1px;
        /* background-color: var(--button-background-color); */
        padding: 1px 6px;
        color: var(--fore-color);
        cursor: pointer;
        border: 1px solid var(--border-color);
    }

        .datagrid .tools .pager > div.active {
            background-color: var(--color-green);
            color: var(--fore-color);
        }

    .datagrid .tools .pager .refresh_icon {
        cursor: pointer;
        position: absolute;
        border: none;
    }

.workplace_bottompanel .datagrid .tools .pager .refresh_icon{
    top:12px;
}
.refresh_icon:before {
    content: "↺";
    font-size: 21px;
    cursor: pointer;
    color: var(--color-skyblue);
}
.fht-table-wrapper {
}
    .fht-table-wrapper .fht-tbody {
       overflow: auto;
    }
    .datagrid .table_container {
        position: relative;
        display: block;
        max-width: 98%;
        
    }
    .datagrid .table_container h2 {
        text-align: center;
        margin: auto;
        margin-top: 4%;
        text-transform: uppercase;
        font-size: 200%;
        opacity: 0.1;
    }
.datagrid thead tr th {
    padding: 3px 0 3px 8px;
    /* text-transform: uppercase; */
    border: 0;
    position: relative;
    text-align: center;
    border-radius: 0;
    font-weight: 600;
}

.overflow_hidden {
    overflow: unset!important;
}
#context-menu-panel-rm {
    z-index: 9999999999;
    background: var(--background-color);
    padding: 10px 20px;
    border: var(--border);
    border-radius: 2px;
}

    #context-menu-panel-rm .context_menu_item {
        cursor: pointer;
        font-size: 9.5px;
        border: var(--border);
        border-top-width: 1px;
        border-right-width: 1px;
        border-bottom-width: 1px;
        border-left-width: 1px;
        border-width: 0 0 1px 0;
        padding: 4px 0 4px 0;
        font-weight: normal;
        text-transform: uppercase;
        background-color: transparent;
        color: var(--fore-color);
        box-shadow: none;
        text-align: left;
        display: block;
    }
       
      /*--------------------------------TreeViwev --------------------*/

        #context-menu-panel-rm .context_menu_item:before {
            content: "➧";
            color: var(--theme-color-1);
            margin-right: 5px;
            font-size:15px;
            top:2px;
            position:relative;
        }

        #context-menu-panel-rm .context_menu_item:hover {
            cursor: pointer;
            color: var(--color-red) !important;
        }

.modal.dialog_string_result {
    min-width: 300px;
    padding: 20px;
}
    .modal.dialog_string_result input {
        text-align: center;
    }
.modal.dialog_string_result .button{
}

.treeview_container {
}


    .treeview_container li .contragent_photo {
        display: inline-block;
        position: relative;
        top: 14px;
        margin: 0px 6px;
    }
.treeview_container ul {
    margin: 8px 0px;
}
    .treeview_container ul li {
        list-style-type: none;
        margin-top: 1px;
        margin-left: -14px;
    }
        .treeview_container ul li > div:before {
/*            content: "";
            background: url(https://static-00.iconduck.com/assets.00/folder-icon-2048x1638-vinzc398.png);
            display: block;
            position: absolute;
            width: 12px;
            height: 24px;
            background-size: contain;
            background-repeat: no-repeat;
            left: -4px;*/
        }
/*    .treeview_container ul li:not(:first-child) {
        margin-left: -24px;

    }*/
        .treeview_container ul li > div {
            position: relative;
        }


    .treeview_container ul li.active > div {
    }

        .treeview_container ul li > div .collapser {
            display: inline-block;
            width: 12px;
            height: 20px;
            position: absolute;
            top: -4px;
            left: -12px;
            transform: rotate(0deg);
            font-size: 180%;
            color: var(--button-background-color);
        }
            .treeview_container ul li > div .collapser.expand{
                transform: rotate(90deg);
            }
            .treeview_container ul li > div .collapser::after {
                content: "➧";
                position: absolute;
                top: -4px;
                display: block;
                width: 12px;
                height: 12px;
                text-align: center;
            }

        .treeview_container ul li > div .label {
            color: var(--fore-color);
            font-family: 'roboto-bold';
        }
        .treeview_container ul li.active > div .label {
            color: var(--color-green);
            font-weight: bold;
        }
        .treeview_container ul li > div .label:hover {
            cursor:pointer;
            color:var(--color-red);
        }
        .treeview_container ul li > div i {
            margin-left: 5px;
            color: var(--color-blue);
        }
        .treeview_container ul li > div .checkbox {
            display: inline-block;
            position: relative;
            top: 1px;
            margin: 0px 4px;
        }

/*--------------------------------/TreeViwev --------------------*/

.control_formselectbutton {
    padding: 10px 60px;
    min-width: 240px;
    
}
.control_formdescription{

}
.control_formselectbutton.dateinput .date {
    width: 220px;
    font-size: 30px;
}
.control_formdescription textarea {
    width: 400px;
    height: 100px;
}
.control_formselectbutton .mininfo_item {
    border: var(--border);
    border-width: 0px 0px 1px 0px;
    cursor: pointer;
    position: relative;
}
    .control_formselectbutton .mininfo_item .mininfo_nto {
        padding: 10px 0px;
    }
    .control_formselectbutton .mininfo_item span {
        display:block;
    }
    .control_formselectbutton .mininfo_item .mininfo_nto .type{
    }
    .control_formselectbutton .mininfo_item .mininfo_nto .name{
    }
    .control_formselectbutton .mininfo_item .mininfo_nto .amount{
    }
        .control_formselectbutton .mininfo_item .mininfo_nto .status {
            font-weight:bold;
        }
        .control_formselectbutton .mininfo_item .mininfo_nto .date_info {
            display: inline-block;
            float: right;
            top: 10px;
            position: absolute;
            right: -30px;
            color: var(--color-skyblue);
            font-weight: bold;
        }


    .control_formselectbutton .button {
       /* font-weight: bold;*/
    }
.control_formselectbutton .link {
    border: solid 1px;
    display: block;
    color: var(--fore-color);
    padding: 2px 0px;
    border-width: 0px 0px 1px 0px;
    border-color: #6555368c;
    margin: 10px 0px;
    font-weight: 400;
    font-size: 120%;
}
.control_commongroup_selector_wiget{

}
.control_commongroup_selector_wiget .wrapper{

}

    .control_commongroup_selector_wiget .wrapper .item {
        margin: 0px 7px;
        padding: 3px 5px;
        border: var(--border);
        border-width: 0px 1px 0px 0px;
        color: var(--theme-lera-color-yellow);
    }
    .control_commongroup_selector_wiget .link:not(.item) {
        text-align: center;
        display: block;
        margin: 6px;
    }
.control_commongroup_selector {
    padding: 10px 60px;
}

    .control_commongroup_selector .wrapper {
        overflow: auto;
        display: block;
        max-height: 300px;
        min-width: 300px;
    }

    .control_commongroup_selector.roles {
        width: 38%;
        min-width: 400px;
    }


    /* ---------- COMMON GROUP SELECTOR STYLES ---------- */
    .control_commongroup_selector.center.modal {
        min-width: 340px !important;
        max-width: 420px !important;
        padding: 20px 24px !important;
        background: var(--theme-background-color, #ffffff);
        border-radius: var(--border-radius-default, 10px);
        border: var(--ui-dialog-border, 2px solid #a1a1a1);
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
        animation: dialogSlideIn 0.3s ease;
        max-height: 80vh;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

        .control_commongroup_selector.center.modal .wrapper {
            flex: 1;
            overflow-y: auto;
            padding: 4px 2px;
            margin: 0 -4px;
        }

        /* Список - убираем стандартные отступы */
        .control_commongroup_selector.center.modal ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

            /* Каждый элемент списка */
            .control_commongroup_selector.center.modal ul li {
                display: flex;
                flex-direction: column;
                padding: 0;
                margin: 0;
                border-bottom: none;
            }

                /* Контейнер внутри li - строка с элементами */
                .control_commongroup_selector.center.modal ul li > div {
                    display: flex;
                    align-items: center;
                    padding: 8px 10px;
                    border-bottom: 1px solid var(--border-color, #e8e8e8);
                    transition: background-color 0.2s ease;
                    cursor: pointer;
                    border-radius: 4px;
                    margin: 1px 0;
                    width: 100%;
                    gap: 10px;
                }

                    .control_commongroup_selector.center.modal ul li > div:hover {
                        background-color: var(--theme-background-color-lite, #f5f0e8);
                    }

                /* Вложенные списки (дочерние элементы) */
                .control_commongroup_selector.center.modal ul li ul {
                    padding-left: 20px; /* Отступ для вложенных элементов */
                    display: none; /* Скрыты по умолчанию */
                }

                    .control_commongroup_selector.center.modal ul li ul.open {
                        display: block; /* Показываем когда открыты */
                    }

                /* Чекбокс слева - оставляем как есть, не трогаем */
                .control_commongroup_selector.center.modal ul li .checkbox {
                    flex-shrink: 0;
                    margin-left: 10px;
                }

                /* Коллапсер - не трогаем, но добавим курсор */
                .control_commongroup_selector.center.modal ul li .collapser {
                    flex-shrink: 0;
                    cursor: pointer;
                    min-width: 16px;
                    min-height: 16px;
                    left: 3px;
                    top: 8px;
                }
                .control_commongroup_selector.center.modal ul li .collapser.expand {
                   top:12px;
                }
                    /* ===== LABEL СТИЛИ ===== */
                    .control_commongroup_selector.center.modal ul li .label {
                        font-size: 15px;
                        font-weight: 500;
                        color: var(--fore-color, #2c3e50);
                        flex: 1;
                        padding: 2px 0;
                        transition: color 0.2s ease;
                        user-select: none;
                        cursor: pointer;
                    }
                    /* Hover эффект для label */
                    .control_commongroup_selector.center.modal ul li > div:hover .label {
                        color: var(--theme-color-1, #b8860b);
                    }
                    /* Активный/выбранный элемент */
                    .control_commongroup_selector.center.modal ul li.active > div {
                        background-color: var(--theme-background-color-lite, #f0e8d8);
                        border-left: 3px solid var(--theme-color-1, #b8860b);
                        padding-left: 7px;
                    }

                    .control_commongroup_selector.center.modal ul li.active .label {
                        color: var(--theme-color-1, #b8860b);
                        font-weight: 600;
                    }
                    /* Счетчик (i) */
                    .control_commongroup_selector.center.modal ul li i {
                        font-style: normal;
                        font-size: 12px;
                        color: var(--color-meta, #95a5a6);
                        background: var(--background-color, #f5f5f5);
                        padding: 1px 8px;
                        border-radius: 12px;
                        flex-shrink: 0;
                        min-width: 20px;
                        text-align: center;
                    }
                    /* Hover для счетчика */
                    .control_commongroup_selector.center.modal ul li > div:hover i {
                        background: var(--border-color, #e0e0e0);
                        color: var(--fore-color, #2c3e50);
                    }
                    /* Кнопка "Продолжить" внизу */
                    .control_commongroup_selector.center.modal > .button {
                        margin-top: 16px;
                        padding: 10px 24px !important;
                        background: var(--color-green, #2ecc71) !important;
                        color: white !important;
                        border: none !important;
                        border-radius: var(--border-radius-default, 8px) !important;
                        font-size: 14px !important;
                        font-weight: 500 !important;
                        cursor: pointer !important;
                        transition: all 0.3s ease !important;
                        text-align: center;
                        width: 100%;
                    }

                        .control_commongroup_selector.center.modal > .button:hover {
                            background: var(--color-darkgreen, #27ae60) !important;
                            transform: translateY(-2px) !important;
                            box-shadow: 0 4px 12px rgba(46, 204, 113, 0.3) !important;
                        }

                        .control_commongroup_selector.center.modal > .button.skip {
                            background: var(--background-color, #f5f5f5) !important;
                            color: var(--fore-color, #2c3e50) !important;
                        }

                            .control_commongroup_selector.center.modal > .button.skip:hover {
                                background: var(--border-color, #e0e0e0) !important;
                                transform: translateY(-2px) !important;
                                box-shadow: none !important;
                            }
                    /*---------------------------*/


                    .button.checkbox_button {
                        background-color: transparent;
                        color: var(--fore-color);
                    }

                        .button.checkbox_button.active {
                            background-color: var(--color-green);
                            color: black;
                        }
                    /*------term------*/
                    .container.term {
                        overflow: auto;
                        height: 98%;
                    }

                    .term .dayofweek_container {
                        width: 400px;
                    }

                        .term .dayofweek_container .onoff-box-main {
                            display: inline-block;
                        }

                        .term .dayofweek_container .label {
                            display: inline-block;
                            margin: 0px 10px;
                            width: 100px;
                        }

                        .term .dayofweek_container input[type=time] {
                            display: inline-block;
                            margin: 0px 10px;
                        }

                    .term .params_container {
                        width: 200px;
                    }

                        .term .params_container input {
                            width: 100px;
                            display: block;
                        }

                        .term .params_container .label {
                            width: 200px;
                        }

                    input.date-default {
                        color: #595959;
                    }
                    /*------/term------*/
                    .inline_edit {
                    }

                        .inline_edit > div, .inline_edit > input {
                            display: inline-block;
                            padding: 0;
                            margin: 0px;
                        }

                        .inline_edit .edit {
                            display: inline-block;
                            background-color: transparent !important;
                            margin-left: 10px;
                            border: none;
                        }

                    .inline_edit_container.text {
                        width: 400px;
                        height: 100px;
                        padding: 0px 60px;
                    }

                        .inline_edit_container.text input {
                            display: block;
                            margin: auto;
                            position: relative;
                            top: 30%;
                            padding: 8px 10px;
                            font-size: 140%;
                        }

                            .inline_edit_container.text input[type=number] {
                                top: 15%;
                                font-size: 300%;
                                width: 200px;
                            }

                    .ui-dialog-titlebar .resize-control {
                        display: block;
                        width: 16px;
                        position: absolute;
                        /* right: 24px; */
                        right: 46px;
                        cursor: pointer;
                        top: 0px;
                    }

                        .ui-dialog-titlebar .resize-control:before {
                            content: "❐";
                            color: var(--fore-color);
                            font-size: 16px;
                            position: absolute;
                            top: -2px;
                        }

                    .ui-dialog-titlebar .minimize_control {
                        display: block;
                        width: 22px;
                        height: 22px;
                        position: absolute;
                        /* right: 24px; */
                        right: 74px;
                        cursor: pointer;
                        top: -4px;
                    }

                    .ui-dialog-titlebar .minimize_control {
                    }

                        .ui-dialog-titlebar .minimize_control:before {
                            content: "⇔";
                            color: var(--fore-color);
                            font-size: 20px;
                            position: absolute;
                            top: 0px;
                        }

                    .workplace .minimize_form_container {
                        display: block;
                        position: absolute;
                        top: -7px;
                        left: 30%;
                        z-index: 100;
                    }

                        .workplace .minimize_form_container .minimize_form_icon {
                            display: inline-block;
                            width: 64px;
                            height: 64px;
                            margin-left: 3px;
                            cursor: pointer;
                            position: relative;
                            font-size: 24px;
                            color: var(--color-orangered);
                            font-weight: bold;
                        }

                            .workplace .minimize_form_container .minimize_form_icon:hover {
                                color: var(--theme-lera-color-yellow);
                            }

                            .workplace .minimize_form_container .minimize_form_icon::after {
                                content: "🖃";
                                font-size: 54px;
                                position: absolute;
                                top: -10px;
                                left: 2px;
                                opacity: 0.5;
                            }

                    .modal_full {
                        border: var(--border);
                        display: block;
                        min-width: 80%;
                        min-height: 70%;
                        border-radius: 10px;
                        background-color: var(--background-color);
                        border: solid 2px var(--theme-lera-color-yellow);
                    }

                        .modal_full fieldset {
                            padding: 10px 30px;
                        }

                        .modal_full input {
                            border-color: gray;
                        }
                    /*----------extendfilter_panel--------*/
                    .filter {
                        background-image: url(/css/img/filter2.png);
                        background-color: transparent;
                        display: block;
                        width: 28px;
                        height: 28px;
                        background-size: 26px;
                        border: none;
                    }

                        .filter:hover {
                            box-shadow: none;
                        }

                    .ui-dialog .filter_extend_open_icon.filter {
                        position: absolute;
                        top: -4px;
                        right: 50%;
                    }

                    .ui-dialog .filter_extend_savetemplate_icon {
                        position: absolute;
                        top: -10px;
                        left: 50%;
                    }

                    .filter_extend_savetemplate_icon::before {
                        content: "📌";
                        font-size: 16px;
                    }

                    .extendfilter_panel {
                        overflow: scroll;
                        display: block;
                        width: 280px;
                        height: 100%;
                        border: solid;
                        border-width: 0 1px 0 0;
                        border: var(--border);
                        position: fixed;
                        border-width: 0px 0px 0px 2px;
                        top: 0;
                        z-index: 100;
                        padding: 0px;
                        background-color: #2f2f2f;
                        /* box-shadow: -4px 3px 5px #80808000; */
                        overflow-y: auto;
                        right: 0px;
                        background-color: var(--background-color-blur);
                        backdrop-filter: var(--backdrop-filter);
                    }

                        .extendfilter_panel .drop_all_filters {
                            position: absolute;
                            top: 2px;
                            left: 2px;
                        }

                            .extendfilter_panel .drop_all_filters:before {
                                font-size: 16px;
                                color: var(--theme-lera-color-yellow);
                            }

                        .extendfilter_panel .wrapper {
                            background-color: green;
                            width: 252px;
                            height: 100%;
                            margin-left: 0px;
                            position: absolute;
                            left: 16px;
                            margin: 0px;
                            padding: 0px;
                            background-color: transparent;
                            width: 262px;
                            overflow-y: auto;
                            padding-left: 10px !important;
                        }

                            .extendfilter_panel .wrapper .elem_container {
                                padding: 0px;
                                border-radius: 6px;
                                border: 2px solid;
                                /* border-color: #717171; */
                                background-color: var(--background-color-filterextend-items-container);
                                /* border-color: var(--button-background-color); */
                                /* float: left; */
                                margin: 5px 0px;
                                left: 3px;
                                margin-left: -8px;
                                width: 100%;
                                min-height: 37px;
                                /* border-radius: 6px; */
                                /* border: 2px solid; */
                                border-color: var(--theme-background-color-lite);
                                /* float: left; */
                                border-style: outset;
                            }

                                .extendfilter_panel .wrapper .elem_container fieldset {
                                    float: none;
                                    border-color: var(--color-skyblue);
                                }

                                    .extendfilter_panel .wrapper .elem_container fieldset input[type=number] {
                                        display: block;
                                        width: 70%;
                                        border: var(--border);
                                        font-weight: bold;
                                    }

                            .extendfilter_panel .wrapper .elem_container {
                            }

                                .extendfilter_panel .wrapper .elem_container .group_selector_container {
                                }

                                    .extendfilter_panel .wrapper .elem_container .group_selector_container .link {
                                        display: inline-block;
                                        margin-left: 10px;
                                    }

                                        .extendfilter_panel .wrapper .elem_container .group_selector_container .link:nth-child(2) {
                                            color: var(--color-red);
                                        }

                                    .extendfilter_panel .wrapper .elem_container .group_selector_container .selected > .button {
                                        display: inline-flex;
                                        padding: 4px 16px;
                                        background-color: var(--color-green);
                                        border-radius: 10px;
                                        width: 98%;
                                        color: white;
                                    }

                                .extendfilter_panel .wrapper .elem_container .onoff-box-main {
                                    display: block;
                                    width: 100%;
                                    text-align: left;
                                }

                                    .extendfilter_panel .wrapper .elem_container .onoff-box-main .label {
                                        width: 180px;
                                        color: var(--fore-color);
                                    }

                                .extendfilter_panel .wrapper .elem_container select {
                                    display: block;
                                    width: 96%;
                                    text-align: center;
                                    margin: auto;
                                    margin-bottom: 3px;
                                    border: solid 2px;
                                    border-color: var(--border-color);
                                    color: var(--color-blue);
                                    font-weight: bold;
                                }

                                .extendfilter_panel .wrapper .elem_container .contragent_photo {
                                    margin: auto;
                                    border-radius: 100px;
                                    height: 84px;
                                    background-size: cover;
                                    width: 84px;
                                }

                                .extendfilter_panel .wrapper .elem_container header, .collapser_container header {
                                    text-align: center;
                                    margin-bottom: 4px;
                                    color: var(--fore-color);
                                    margin-bottom: 1px;
                                    width: 100%;
                                    position: relative;
                                    left: 0px;
                                    padding: 10px 0px;
                                    top: 0px;
                                }

                                    .extendfilter_panel .wrapper .elem_container header::before, .collapser_container header::before {
                                        content: "➧";
                                        position: absolute;
                                        left: 10px;
                                        font-size: 16px;
                                        top: 6px;
                                        color: var(--theme-color-1);
                                        transform: rotate(90deg);
                                    }

                                    .extendfilter_panel .wrapper .elem_container header.hide::before, .collapser_container header.hide::before {
                                        transform: rotate( 0deg);
                                    }

                                .extendfilter_panel .wrapper .elem_container .date_range input[type=date] {
                                    width: 110px;
                                    color: var(--theme-color-1);
                                    font-weight: bold;
                                }

                                    .extendfilter_panel .wrapper .elem_container .date_range input[type=date].date-default {
                                        color: #bfbdba52;
                                    }

                                .extendfilter_panel .wrapper .elem_container .ui-datepicker-inline.ui-datepicker {
                                    margin: auto;
                                }

                                .extendfilter_panel .wrapper .elem_container input[type=text] {
                                    width: 96%;
                                    margin: auto;
                                    border: 1px solid;
                                    border-color: var(--color-darkgreen);
                                }

                                .extendfilter_panel .wrapper .elem_container .select_button {
                                    width: 94%;
                                    background-color: var(--border-color);
                                    color: var(--fore-color);
                                    /* margin: auto; */
                                    display: block;
                                    border-radius: 10px;
                                    padding: 4px;
                                }

                                    .extendfilter_panel .wrapper .elem_container .select_button.selected {
                                        background-color: var(--color-green);
                                    }

                                .extendfilter_panel .wrapper .elem_container .info_total {
                                    color: var(--theme-color-1);
                                    text-align: left;
                                    margin-left: 10px;
                                    font-size: 20px;
                                    display: block;
                                    width: 100%;
                                    margin-bottom: 10px;
                                }

                                    .extendfilter_panel .wrapper .elem_container .info_total > span {
                                        display: block;
                                    }

                                        .extendfilter_panel .wrapper .elem_container .info_total > span::before {
                                            min-width: 87px;
                                            display: inline-block;
                                            text-align: left;
                                            font-size: 70%;
                                            text-transform: uppercase;
                                        }

                    .balance::before {
                        content: "ИТОГ:";
                    }

                    .extendfilter_panel .wrapper .elem_container .info_total > .sum_cash::before {
                        content: "Нал:";
                    }

                    .extendfilter_panel .wrapper .elem_container .info_total > .sum_cashless::before {
                        content: "Безнал:";
                    }

                    .extendfilter_panel .wrapper .elem_container .info_total > .sum_to_account::before {
                        content: "По ЛС:";
                    }

                    .extendfilter_panel .wrapper .elem_container .info_total > .sum_transfer::before {
                        content: "Перевод:";
                    }

                    .extendfilter_panel .wrapper .elem_container .info_total > span:nth-child(2) {
                        color: var(--color-skyblue);
                    }

                    .extendfilter_panel .wrapper .elem_container .info_total > span.total_sum2 {
                        text-transform: uppercase;
                        font-size: 14px;
                        text-align: left;
                    }

                    .extendfilter_panel .wrapper .elem_container .action_buttons {
                    }

                    .extendfilter_panel .wrapper .elem_container > .button.action_button {
                        display: inline-block;
                        width: 34px;
                        height: 34px;
                        position: relative;
                        background-image: url('img/save2.png');
                        left: 8px;
                    }

                    .extendfilter_panel .wrapper .elem_container > .button.report {
                        display: inline-block;
                        width: 34px;
                        height: 34px;
                        position: relative;
                        background-image: url('img/report_download2.png');
                        left: 10px;
                    }

                    .extendfilter_panel .wrapper .elem_container .report {
                        width: max-content;
                        display: inline-block;
                    }

                        .extendfilter_panel .wrapper .elem_container .report .button {
                            display: inline-block;
                            width: 34px;
                            height: 34px;
                        }

                            .extendfilter_panel .wrapper .elem_container .report .button._1 {
                                background-image: url('img/excel.png');
                            }

                            .extendfilter_panel .wrapper .elem_container .report .button._2 {
                                background-image: url('img/pdf.png');
                            }

                    .contragent_crm_tools {
                        display: block;
                        height: 20px;
                        text-align: center;
                        position: relative;
                        left: -20px;
                    }

                        .contragent_crm_tools .icon {
                            display: inline-block;
                            margin: auto;
                            background-color: transparent;
                            border: none;
                            width: 22px;
                            padding: 3px;
                        }

                            .contragent_crm_tools .icon:hover {
                                background-color: transparent;
                                box-shadow: none;
                            }

                            .contragent_crm_tools .icon:before {
                                position: absolute;
                                top: 3px;
                            }

                        .contragent_crm_tools .comments_open_icon:before {
                            content: "📃";
                            content: "📆";
                        }

                    .sip_call_icon:before {
                        content: "📞︎";
                        color: var(--fore-color);
                    }

                    .contragent_crm_tools .sip_call_icon:before {
                        font-size: 18px;
                        top: -1px;
                    }

                    .called .contragent_crm_tools .sip_call_icon:before {
                        content: "📞︎";
                        color: var(--color-green);
                    }

                    .contragent_crm_tools .sip_call_icon.called:before {
                        content: "📞︎";
                        color: var(--color-green);
                    }

                    .contragent_crm_tools .diagram_icon:before {
                        content: "📈";
                    }

                    .contragent_crm_tools .pays_icon:before {
                        content: "💰";
                    }

                    .contragent_crm_tools .workeruseds_icon:before {
                        content: "🏋";
                        font-size: 16px;
                        margin-top: -2px;
                        margin-left: -3px;
                    }

                    .overlay .button.goback {
                        background-image: url(img/goback2.png);
                        width: 34px;
                        height: 34px;
                    }

                    .media_browser {
                        width: 80%;
                        height: 90%;
                        padding-top: 30px;
                        position: relative;
                    }

                        .media_browser .button.add.add_button_text {
                            position: relative;
                        }

                        .media_browser .items img {
                            width: 100px;
                            height: auto;
                            display: inline-flex;
                            margin: 3px;
                            cursor: pointer;
                            border: 1px solid var(--color-meta);
                        }

                            .media_browser .items img:hover {
                                border: 1px solid var(--theme-lera-color-yellow) !important;
                                box-shadow: 0 0 10px rgba(255, 235, 59, 0.6);
                            }
                    /*-------------------DebtInfo--------------------*/

                    .debt_info {
                        /* Сброс стандартных стилей кнопки */
                        display: inline-flex;
                        align-items: center;
                        justify-content: center;
                        /* Базовая геометрия и отступы */
                        padding: 12px 24px 12px 48px; /* Слева большой отступ для эмодзи */
                        /* Типографика */
                        font-family: inherit;
                        font-size: 16px;
                        font-weight: 600;
                        color: white;
                        /* Цвета и границы */
                        background: linear-gradient(145deg, #c0392b, var(--color-red, #e74c3c));
                        border: none;
                        border-radius: var(--border-radius-default, 8px);
                        /* Тени и эффекты */
                        box-shadow: var(--box-shadow, 0 2px 8px rgba(0,0,0,0.08)), 0 4px 12px rgba(231, 76, 60, 0.3);
                        cursor: pointer;
                        /* Анимация пульсации */
                        animation: pulse-debt 1.5s ease-in-out infinite;
                        /* Позиционирование для псевдоэлемента */
                        position: relative;
                        /* Плавные переходы */
                        transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
                    }
                        /* Эмодзи долга слева */
                        .debt_info::before {
                            content: "💰"; /* Эмодзи денег */
                            position: absolute;
                            left: 16px;
                            top: 50%;
                            transform: translateY(-50%);
                            font-size: 24px;
                            line-height: 1;
                            filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
                            animation: coin-shake 2s ease-in-out infinite;
                        }
                        /* Эмодзи предупреждения справа (появится только при ховере) */
                        .debt_info::after {
                            content: "⚠️";
                            position: absolute;
                            right: 16px;
                            top: 50%;
                            transform: translateY(-50%);
                            font-size: 20px;
                            opacity: 0;
                            transition: opacity 0.3s ease;
                        }
                        /* Эффект при наведении */
                        .debt_info:hover {
                            transform: scale(1.02);
                            box-shadow: 0 8px 20px rgba(231, 76, 60, 0.5);
                            padding-right: 48px; /* Расширяем для появления правого эмодзи */
                        }

                            .debt_info:hover::after {
                                opacity: 1;
                            }
                        /* Активное состояние (как будто нажали) */
                        .debt_info:active {
                            transform: scale(0.98);
                            box-shadow: 0 2px 8px rgba(231, 76, 60, 0.3);
                        }
                    /* Анимация пульсации для привлечения внимания */
                    @keyframes pulse-debt {
                        0% {
                            box-shadow: 0 4px 12px rgba(231, 76, 60, 0.3);
                        }

                        50% {
                            box-shadow: 0 8px 24px rgba(231, 76, 60, 0.7);
                        }

                        100% {
                            box-shadow: 0 4px 12px rgba(231, 76, 60, 0.3);
                        }
                    }
                    /* Легкое покачивание монетки */
                    @keyframes coin-shake {
                        0%, 100% {
                            transform: translateY(-50%) rotate(0deg);
                        }

                        25% {
                            transform: translateY(-50%) rotate(-5deg);
                        }

                        75% {
                            transform: translateY(-50%) rotate(5deg);
                        }
                    }
                    /* Стили для числа - можно добавить внутрь через span */
                    .debt_info .amount {
                        font-size: 1.4em;
                        margin-left: 6px;
                        background: rgba(0, 0, 0, 0.1);
                        padding: 2px 8px;
                        border-radius: 20px;
                        line-height: 1;
                    }
                    /* Альтернативный вариант для темной темы (из ваших vars.css) */
                    @media (prefers-color-scheme: dark) {
                        .debt_info {
                            background: linear-gradient(145deg, #992d22, #c0392b);
                            box-shadow: 0 4px 12px rgba(255, 102, 102, 0.4);
                        }
                    }
                    /* Дополнительный вариант с другим эмодзи, если хотите */
                    .debt_info.warning::before {
                        content: "💸"; /* Деньги улетают */
                    }
                    /*--------------------------------------------*/
                    .ui-dialog.focused_main {
                        border-color: var(--ui-dialog-border-focused-color);
                    }
                    /*------------------- popover ---------------*/
                    .popover {
                        position: absolute;
                        z-index: 99999;
                        backdrop-filter: var(--backdrop-filter);
                        border: 1px solid var(--color-meta);
                        border-radius: 8px;
                        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
                        padding: 8px 0;
                        min-width: 150px;
                        display: none;
                        overflow: hidden; /* чтобы скругления работали с прокруткой */
                    }

                        .popover .popover_title {
                            padding: 8px 16px;
                            border-bottom: 1px solid var(--color-meta);
                            color: var(--color-meta);
                            flex-shrink: 0; /* чтобы заголовок не сжимался */
                        }

                        .popover .popover_emoji {
                            padding: 8px 16px 0 16px;
                            font-size: 32px;
                            text-align: center;
                            flex-shrink: 0;
                        }

                        .popover .popover_items_container {
                            padding: 4px 0;
                            overflow-y: visible;
                        }

                            

                        .popover .popover_item {
                            display: block;
                            width: 94%;
                            margin: auto;
                            text-align: left;
                            border: none;
                            background: transparent;
                            padding: 8px 8px 8px 26px;
                            cursor: pointer;
                            color: var(--fore-color);
                            border-radius: 12px;
                        }

                            .popover .popover_item::before {
                                content: attr(data-emoji);
                                width: 30px;
                                left: -24px;
                                position: relative;
                            }

                            .popover .popover_item:hover {
                                background-color: var(--color-yellow);
                                color: black;
                            }

                    .progress_bar {
                        position: relative;
                        width: 100%;
                        max-width: 400px;
                        height: 30px;
                        background-color: var(--color-meta);
                        border-radius: 15px;
                        overflow: hidden; /* Важно: скрывает только bar, но label должен быть снаружи */
                        box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
                    }
                        /* Бар */
                        .progress_bar .bar {
                            position: absolute;
                            top: 0;
                            left: 0;
                            height: 100%;
                            width: 0%;
                            border-radius: 15px;
                            transition: width 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
                            box-shadow: 0 2px 10px rgba(76, 175, 80, 0.3);
                            background-size: 200% 100%;
                            animation: shimmer 2s linear infinite;
                        }

                            .progress_bar .bar.low {
                                background: var(--color-red);
                            }

                            .progress_bar .bar.medium {
                                background: var(--color-yellow);
                            }

                            .progress_bar .bar.high {
                                background: var(--color-green);
                            }
                        /* Label - ВАЖНО: должен быть СНАРУЖИ bar */
                        .progress_bar .progress_label {
                            position: absolute;
                            top: 50%;
                            left: 50%;
                            transform: translate(-50%, -50%);
                            color: white;
                            font-size: 14px;
                            font-weight: 500;
                            z-index: 10; /* Увеличил z-index чтобы точно был сверху */
                            text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
                            pointer-events: none;
    
                            white-space: nowrap; /* Чтобы текст не переносился */
                        }
                    /* Анимация переливания */
                    @keyframes shimmer {
                        0% {
                            background-position: 200% 0;
                        }

                        100% {
                            background-position: -200% 0;
                        }
                    }
                    /* Анимация пульсации */
                    @keyframes pulse {
                        0% {
                            opacity: 0.8;
                        }

                        50% {
                            opacity: 1;
                        }

                        100% {
                            opacity: 0.8;
                        }
                    }

                    .progress_bar.loading .bar {
                        animation: shimmer 2s linear infinite, pulse 1.5s ease-in-out infinite;
                    }


.container.modal.center {
    padding: 10px 30px;
}



