@import url(//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,400italic);
.linktop {
    margin: 0 2px !important;
    float: right !important;
    /* padding-top: 7px !important;
    padding-bottom: 7px !important; */
}
 
#atopnew {
    background: none !important;
    margin: 1px !important;
    border-radius: 2.5rem !important;
    padding: 5px 20px !important;
    color: #216fed !important;
    border: 1px solid !important;
}

/* .col-sm-6 {
    width: 100% !important;
} */
.task_details .form-group {
    border-bottom: 0px solid;
    border-color: #e3e3e359;
    width: 100%;
}

label.control-label.col-sm-5 {
    width: 250px;
}

.form-horizontal .form-group {
    margin-left: 0px;
    margin-right: 0px;
    padding: 0 1px 5px;
}

.col-sm-1.pull-right.mt {
    float: left !important;
}

.hidden-print.btn.btn-xs.btn-danger.pull-right.ml {
    background-color: #ff0000;
    border-color: #ff0000;
    padding: 6px 10px;
}
#comenip {
    padding-right: 5px !important;
    padding-left: 5px !important;
}
a.btn.btn-sm.btn-danger.pull-right {
    padding: 0px;
    background: #5e47fc00;
}

.alert.bg-danger-light.hidden-print {
    border-radius: 0.375rem;
    margin-left: 0px !important;
}

/* } */
#pllgimg {
    width: 200px !important;
    height: auto !important;
    vertical-align: text-top !important;
}

button.btn.btn-danger.dropdown-toggle {
    background-color: #ff0000;
    border-color: #ff0000;
    padding: 6px 10px;
}

button.btn.btn-xs.btn-warning {
    padding: 0px;
    background: #5e47fc00;
}

table.iksweb {
    width: 100%;
    border: 1px solid #fff;
    border-radius: 1rem;
    border-collapse: collapse;
    border-spacing: 0;
    height: auto;
    margin: 10px 0;
}

table.iksweb,
table.iksweb td,
table.iksweb th {
    border: 0px solid #595959;
}

table.iksweb td,
table.iksweb th {
    padding: 3px;
    padding-top: 10px;
    height: 35px;
}

table.iksweb th {
    background: #347c99;
    color: #fff;
    font-weight: normal;
}

.h3wont {
    font-weight: 700;
}

a.btn.btn-xs.btn-danger {
    color: #000;
}

.pull-left.mt {
    font-size: 12px;
    padding-left: 5px;
}span.svg-title {
    font-size: 12px;
}a.btn.btn-xs.btn-danger.pull-right {
    background: #00bba5;
    padding: 6px 25px;
    color: #fff;
}

a.btn.btn-xs.btn-purple.pull-right {
    background: #3f00bb;
    padding: 6px 25px;
    color: #fff;
}

.colomotchet {
    float: left;
    width: 300px;
    text-align: left;
    margin-bottom: 0;
    padding-top: 7px;
}

#anavbar-nav {
    font-size: 13px !important;
    border-radius: 2.5rem !important;
    border-color: #216fed !important;
    padding: 5px 20px !important;
    color: #216fed !important;
    margin-top: 10px !important;
    border: 1px solid !important;
}

/*.bg-white {
   display: block; 
    overflow-x: auto;
    white-space: nowrap;
}*/
.tableoverflow {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    overflow-y: hidden;
}

.panel-custom {
    height: auto;
    /*  border-radius: 1.625rem !important; */
    display: block;
    /* overflow-x: auto; */
}

a.btn-sm.pull-right {
    font-size: 10px;
}

.panel-title {
    margin-top: 10px;
    font-size: 14px;
    margin-bottom: 10px;
}

.easypiechart span {
    line-height: 40px;
    font-size: 9px;
    padding-left: 0;
    font-weight: bold;
    color: #fff;
}.p.bg-white {
    border-radius: 1.25rem;
    padding: 20px !important;
}

.row.inline-fields {
    border-bottom: 1px solid #f2f2f2;
    margin: 20px;
}

#anavbar-nav1 {
    font-size: 13px !important;
    margin-top: 14px !important;
    border: 1.5px solid !important;
    margin-right: 5px;
    border-radius: 0.375rem;
    text-decoration: none !important;
    border: 1.5px solid #e50000;
    padding: 0.575rem 2.75rem !important;
}
.progress.xs,
.progress-xs {
    margin-top: 1px;
    height: 15px;
    width: 73%;
}

.label-danger {
    color: #fc0000;
    background-color: #ffe2e3;
    border-radius: 26px;
    font-size: 8px;
    padding: 5px;
}

.progress-bar-green,
.progress-bar-success {
    background-color: #1203ff;
}

span.label.tags {
    font-size: 8px;
}

.label {
    font-size: 12px !important;
}

th.sorting {
    text-transform: uppercase;
    font-size: 10px !important;
}

/*мобильная адоптация */
/*(min-width: 600px) and (max-width: 700px) */
@media (min-width: 600px) and (max-width: 700px) {
    .tab-content.bg-white {
        margin-bottom: 50px;
    }

    input.formstyleerp {
        padding: 0.688rem 0.938rem !important;
    }

    .headingmenip {
        padding-bottom: 10px !important;
    }

    .nav-tabs>li {
        float: left;
        /*         padding-top: 10px; */
        padding-left: 1px;
    }

    #searchCodePhone1 {
        width: auto !important;
        margin-left: 5px !important;
    }

    #sdbr {
        padding: 2px;
    }

    #headd-li {
        padding: 2px;
        vertical-align: middle;
        margin: 0 auto;
    }

    #anavbar-nav1 {
        margin-top: 5px !important;
    }

    .tab-content {
        padding: 10px 12px;
    }

    .wrapper>.aside .aside-inner {
        width: 240px;
    }
    div#DataTables_length {
        margin-top: 0.5em;
    }

    a.dt-button.buttons-print.btn.btn-success.mr.btn-xs {
        display: none;
    }

    a.dt-button.buttons-print.btn.btn-danger.btn-xs.mr {
        display: none;
    }

    a.dt-button.buttons-csv.buttons-html5.btn.btn-primary.mr.btn-xs {
        display: none;
    }

    .dataTables_wrapper .dataTables_filter input {
        margin-left: 0.5em;
        width: 160px;
        position: static;
        float: right;
        left: 43px;
    }.mr {
    margin-right: 1px !important;
}

    label.control-label.col-sm-5 {
        padding-left: 5px;
        padding-right: 5px;
        float: left;
        width: 150px;
    }

    .anavbar-nav {
        margin-top: 6px !important;
    }

    .nav>li>a {
        padding: 5px 10px !important;
    }

    .navbar-nav>.user-menu .user-image {
        margin-right: 10px;
        margin-top: 0px;
    }

    .col-sm-6 {
        padding-left: 3px;
        padding-right: 3px;
        float: left;
        width: 100%;
    }

    .form-group.col-sm-12 {
        padding-left: 3px;
        padding-right: 3px;
    }

    .col-sm-1.pull-right.mt {
        padding-left: 8px;
        padding-right: 8px;
    }

    .panel-body {
        padding: 5px;
    }

    .modal-dialog {
        width: auto;
    }

    .modal-dialog.modal_extra_lg {
        width: auto;
        padding: 20px;
        margin-top: 50%;
    }

    .nav-wrapper .nav.navbar-nav.navbar-right {
        padding-right: 10px;
    }

    .nav-wrapper .nav>li {
        padding-left: 10px;
    }

    .collapse.in {
        display: block;
        padding-left: 30px;
    }

    span.badge.btn-danger {
        padding: 7px 7px;
        color: #fff;
        background: #ec0000;
    }

    a.dt-button.buttons-print.classiconip {
        display: none;
    }

    .pull-right {
        padding-top: 5px;
    }

    .table-responsive {
        padding: 2px;
    }

    .topnavbar .navbar-header {
        width: 100% !important;
        height: 60px;
        line-height: 30px;
    }

    .text-info {
        padding-left: 10px;

    }

    .form-inline .checkbox input[type=checkbox],
    .form-inline .radio input[type=radio] {
        position: fixed !important;
        margin-left: 0;
    }
}

/*(min-width: 400px) and (max-width: 599.99px)*/
@media (min-width: 400px) and (max-width: 599.99px) {
    .tab-content.bg-white {
        margin-bottom: 50px;
    }

    input.formstyleerp {
        padding: 0.688rem 0.938rem !important;
    }

    .headingmenip {
        padding-bottom: 10px !important;
    }

    .nav-tabs>li {
        float: left;
        /*         padding-top: 10px; */
        padding-left: 1px;
    }

    #searchCodePhone1 {
        width: auto !important;
        margin-left: 5px !important;
    }

    #sdbr {
        padding: 2px;
    }

    #headd-li {
        padding: 2px;
        vertical-align: middle;
        margin: 0 auto;
    }

    #anavbar-nav1 {
        margin-top: 5px !important;
    }

    .tab-content {
        padding: 10px 12px;
    }

    .wrapper>.aside .aside-inner {
        width: 240px;
    }
    div#DataTables_length {
        margin-top: 0.5em;
    }a.dt-button.buttons-print.btn.btn-success.mr.btn-xs {
    display: none;
}

    a.dt-button.buttons-print.btn.btn-danger.btn-xs.mr {
        display: none;
    }

    a.dt-button.buttons-csv.buttons-html5.btn.btn-primary.mr.btn-xs {
        display: none;
    }

    .dataTables_wrapper .dataTables_filter input {
        margin-left: 0.5em;
        width: 160px;
        position: static;
        float: right;
        left: 44px;
    }.mr {
    margin-right: 1px !important;
}

    label.control-label.col-sm-5 {
        padding-left: 5px;
        padding-right: 5px;
        float: left;
        width: 150px;
    }

    .anavbar-nav {
        margin-top: 6px !important;
    }

    .nav>li>a {
        padding: 5px 10px !important;
    }

    .navbar-nav>.user-menu .user-image {
        margin-right: 10px;
        margin-top: 0px;
    }

    .col-sm-6 {
        padding-left: 3px;
        padding-right: 3px;
        float: left;
        width: 100%;
    }

    .form-group.col-sm-12 {
        padding-left: 3px;
        padding-right: 3px;
    }

    .col-sm-1.pull-right.mt {
        padding-left: 8px;
        padding-right: 8px;
    }

    .panel-body {
        padding: 5px;
    }

    .modal-dialog {
        width: auto;
    }

    .modal-dialog.modal_extra_lg {
        width: auto;
        padding: 20px;
        margin-top: 50%;
    }

    .nav-wrapper .nav.navbar-nav.navbar-right {
        padding-right: 10px;
    }

    .nav-wrapper .nav>li {
        padding-left: 5px;
    }

    .collapse.in {
        display: block;
        padding-left: 30px;
    }

    label.control-label.col-sm-4 {
        float: left;
    }

    .form-control-static {
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: 0;
        min-height: auto;
    }

    a.dt-button.buttons-print.classiconip {
        display: none;
    }

    .pull-right {
        padding-top: 5px;
    }

    .table-responsive {
        padding: 2px;
    }

    .topnavbar .navbar-header {
        width: 100% !important;
        height: 60px;
        line-height: 30px;
    }

    .text-info {
        padding-left: 10px;
    }

    .form-inline .checkbox input[type=checkbox],
    .form-inline .radio input[type=radio] {
        position: fixed !important;
        margin-left: 0;
    }
}

/*(max-width: 399.99px)*/
@media (max-width: 399.99px) {
    .tab-content.bg-white {
        margin-bottom: 50px;
    }

    div#attachment_container- {
        padding-left: 10px !important;
    }

    input.formstyleerp {
        padding: 0.688rem 0.938rem !important;
    }

    .headingmenip {
        padding-bottom: 10px !important;
    }

    .nav-tabs>li {
        float: left;
        /*         padding-top: 10px; */
        padding-left: 1px;
    }

    #searchCodePhone1 {
        width: auto !important;
        margin-left: 5px !important;
    }

    #sdbr {
        padding: 2px;
    }

    #headd-li {
        padding: 2px;
        vertical-align: middle;
        margin: 0 auto;
    }

    #anavbar-nav1 {
        margin-top: 5px !important;
    }

    .tab-content {
        padding: 10px 3px;
    }

    .wrapper>.aside .aside-inner {
        width: 240px;
    }
    div#DataTables_length {
        margin-top: 0.5em;
    }

    a.dt-button.buttons-print.btn.btn-success.mr.btn-xs {
        display: none;
    }

    a.dt-button.buttons-print.btn.btn-danger.btn-xs.mr {
        display: none;
    }

    a.dt-button.buttons-csv.buttons-html5.btn.btn-primary.mr.btn-xs {
        display: none;
    }

    .dataTables_wrapper .dataTables_filter input {
        margin-left: 5px;
        width: 150px;
        position: static;
        float: right;
        left: 45px;
    }.mr {
    margin-right: 1px !important;
}

    label.control-label.col-sm-5 {
        padding-left: 5px;
        padding-right: 5px;
        float: left;
        width: 150px;
    }

    .anavbar-nav {
        margin-top: 6px !important;
    }

    .nav>li>a {
        padding: 5px 10px !important;
    }

    .navbar-nav>.user-menu .user-image {
        margin-right: 10px;
        margin-top: 0px;
    }

    .col-sm-6 {
        padding-left: 3px;
        padding-right: 3px;
        float: left;
        width: 100%;
    }

    .form-group.col-sm-12 {
        padding-left: 3px;
        padding-right: 3px;
    }

    .col-sm-1.pull-right.mt {
        padding-left: 8px;
        padding-right: 8px;
    }

    .panel-body {
        padding: 5px;
    }

    .modal-dialog {
        width: auto;
    }

    .modal-dialog.modal_extra_lg {
        width: auto;
        padding: 20px;
        margin-top: 50%;
    }

    .nav-wrapper .nav.navbar-nav.navbar-right {
        padding-right: 10px;
    }

    .nav-wrapper .nav>li {
        padding-left: 5px
    }

    .collapse.in {
        display: block;
        padding-left: 5px;
    }

    label.control-label.col-sm-4 {
        float: left;
    }

    .form-control-static {
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: 0;
        min-height: auto;
    }

    a.dt-button.buttons-print.classiconip {
        display: none;
    }

    .pull-right {
        padding-top: 5px;
    }

    .table-responsive {
        padding: 2px;
    }

    .topnavbar .navbar-header {
        width: 100% !important;
        height: 60px;
        line-height: 30px;
    }

    .text-info {
        padding-left: 10px;
    }

    .form-inline .checkbox input[type=checkbox],
    .form-inline .radio input[type=radio] {
        position: fixed !important;
        margin-left: 0;
    }
}

@media (min-width: 768px) {

    .form-inline .checkbox input[type=checkbox],
    .form-inline .radio input[type=radio] {
        position: fixed !important;
        margin-left: 0;
    }
}

/*мобильная адоптация */
.col-xs-2.p0.m0 {
    border-radius: var(--ip-radius-sm);
    box-shadow: 0 4px 20px 1px rgba(0, 0, 0, .06), 0 1px 4px rgba(0, 0, 0, .08);
    cursor: pointer;
    margin-bottom: 16px !important;
    margin-left: 9px !important;
    text-align: center;
    padding: 5px !important;
    margin-right: 9px !important;
    outline: 1px solid #e0e3ff;
    width: calc(16.66% - 16px);
    max-height: 140px !important;
    height: 140px !important;
}

input#search_text {
    appearance: none !important;
    background-clip: padding-box !important;
    background-color: #fff !important;
    border-radius: 0.938rem !important;
    color: #212529 !important;
    display: block !important;
    font-family: var(--ip-body-font) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    height: 50px;
    line-height: 1.5 !important;
    min-height: 50px !important;
    padding: 0 10px 0 30px !important;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !important;
    width: 97% !important;
    background: url("/application/svgimagip/searchinn.svg") no-repeat left;
    background-size: 20px;
}

.bootstrap-select>.dropdown-toggle {
    width: 75%;
}

/* .modal-open .modal {
    overflow-x: auto;
    overflow-y: auto;
    background: #000000bf;
} */select#category_products {
    border-radius: var(--ip-radius-md);
    box-shadow: 0px 0 1px #b0b0b0c4 !important;
    padding: 0.888rem 0.938rem;
    border: 1px solid #dde6e9;
}

textarea.form-control {
    padding: 0.788rem 1.938rem;
}

button.btn.btn-info {
    color: #f9f9f9 !important;
    background-color: #6571ff !important;
    border-color: #ffffff00 !important;
    transition: 1s;
    padding: 0.85rem 3.95rem !important;
}

.note-editor .note-editable {
    height: 200px;
}

/* иконки 26.08.2023*/
a.pull-right.btn.btn-primary.btn-xs.mr {
    background: #fff !important;
    border-radius: 0px;
    border: none;
    padding: 0px;
}

.classiconip {
    background: #ff330036 !important;
    border: 1px solid #ff330036 !important;
    margin-right: 3px !important;
    padding: 8px !important;
    border-radius: var(--ip-radius-sm) !important;
    height: 30px !important;
    width: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
}

.classiconip:hover {
    border: 1px solid #ff3300 !important;
    text-decoration: none !important;
}

.classiconip1 {
    background: #ff330036 !important;
    border: 1px solid #ff330036 !important;
    margin-right: 3px !important;
    padding: 8px !important;
    border-radius: var(--ip-radius-sm) !important;
    height: 28px !important;
    width: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
}

.classiconip1:hover {
    border: 1px solid #ff3300 !important;
    text-decoration: none !important;
}
.plusiconip3 {
    background: #b9cef2 !important;
    border: 1px dashed #b9cef2 !important;
    margin-right: 5px !important;
    padding: 10px !important;
    border-radius: var(--ip-radius-sm) !important;
    height: 25px !important;
    width: 25px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    margin-top: 5px;
}
.rowmbipa {
    margin: 5px 5px;
    color: #000 !important;
    border-radius: var(--ip-radius-md);
    border: 1px solid #ececec;
    padding: 6px !important;
    /* margin: 1px; */
    background: #ececec !important;
    display: inline-block;
    transition: 0.3s;
    font-size: 11px;
}

.rowmbipa:hover {
    text-decoration: none;
    transform: rotate(3deg) translate(5px);
}

/* эфект при наведении  для кнопок в pdf документе */
table.dataTable {
    clear: both;
    padding-top: 5px !important;
}

.dt-buttons {
    margin-top: 1px;
    margin-bottom: 3px;
}
/* transactions */
.hedetransactions {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
    font-size: 1.5rem;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 1px solid rgb(72 94 144 / 7%) !important;
    padding-top: 2px;
    padding-bottom: 15px;
    float: right !important;
}

/* end transactions */
.botomerpuser {
    background-color: #ff0000;
    border-color: #ffffff00;
    transition: 1s;
    padding: 5px 25px;
    color: #fff;
    border-radius: 2.625rem;
    margin-left: 0px !important;
}

.botclearomerpuser {
    background-color: #ff0000;
    border-color: #ffffff00;
    transition: 1s;
    padding: 5px 25px;
    color: #fff;
    border-radius: 2.625rem;
    margin-left: 0px !important;
    float: right;
}

/* иконки 26.08.2023*/
/* шапки во всех полях */
ul.hedereprip {
    background-color: #fff !important;
    border-bottom: 1px solid #e9ecef !important;
    border-radius: 1.875rem 1.875rem 0 0 !important;
    padding-top: 10px;
    padding-right: 5px;
    padding-left: 5px;
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
    content: " ";
    display: table;
    clear: both;
}

#tablewivse {
    width: 100%;
}

.filterdropdown {
    height: 35px !important;
    background-color: #00000000 !important;
    /* margin-top: 3px; */
    border-radius: 0.375rem;
    text-decoration: none !important;
    border: 1.5px solid #999898;
    padding: 0.375rem 2.75rem !important;
}
.headingmenip .panel-title strong {
    font-weight: 900;
    text-transform: uppercase;
}

.paneotstyp {
    padding: 7px;
}

.fberpmain {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 20px 0 0;
    position: relative;
    font-family: var(--ip-body-font);
}

.formstyleerptop {
    border-radius: var(--ip-radius-sm);
    -webkit-border-radius: var(--ip-radius-sm);
    -moz-border-radius: var(--ip-radius-sm);
    -ms-border-radius: var(--ip-radius-sm);
    height: 33px !important;
    vertical-align: middle;
    width: 100% !important;
    padding: 1px;
}
.formstyleerpplan {
    border-radius: var(--ip-radius-sm);
    -webkit-border-radius: var(--ip-radius-sm);
    -moz-border-radius: var(--ip-radius-sm);
    -ms-border-radius: var(--ip-radius-sm);
    height: 48px;
    vertical-align: middle;
    width: auto !important;
    background: none;
    padding: 1.475rem .75rem 0.975rem .75rem !important
}

.formstyllogin {
    border-radius: var(--ip-radius-sm);
    -webkit-border-radius: var(--ip-radius-sm);
    -moz-border-radius: var(--ip-radius-sm);
    -ms-border-radius: var(--ip-radius-sm);
    height: 48px;
    vertical-align: middle;
    width: 100% !important;
    background: none;
    padding: 1.175rem .75rem 0.975rem .75rem !important;
    border: 2px solid #cfcfcf !important;
    -webkit-box-shadow: 0 6px 6px -6px #bebebe3b;
    -moz-box-shadow: 0 6px 6px -6px #bebebe3b;
    box-shadow: 0 6px 6px -6px #bebebe3b;
}.formstyleerp {
    border-radius: var(--ip-radius-sm);
    -webkit-border-radius: var(--ip-radius-sm);
    -moz-border-radius: var(--ip-radius-sm);
    -ms-border-radius: var(--ip-radius-sm);
    height: 48px;
    vertical-align: middle;
    width: 100% !important;
    background: none;
    padding: 1.175rem .75rem 0.975rem .75rem !important;
}

.formstsearch {
    border-radius: var(--ip-radius-sm);
    -webkit-border-radius: var(--ip-radius-sm);
    -moz-border-radius: var(--ip-radius-sm);
    -ms-border-radius: var(--ip-radius-sm);
    height: 35px;
    vertical-align: middle;
    width: 250px !important;
    background: none;
    padding: 1.975rem 2.75rem !important;
}

.formstyleerp1 {
    margin: 0px !important;
    border-radius: var(--ip-radius-sm);
    -webkit-border-radius: var(--ip-radius-sm);
    -moz-border-radius: var(--ip-radius-sm);
    -ms-border-radius: var(--ip-radius-sm);
    height: 48px;
    vertical-align: middle;
    width: 100% !important;
    background: none;
    padding: 0.975rem 0.75rem !important;
}

.app_auto_textarea {
    padding: 15px 2.75rem !important;
}

.formstyleerpselect {
    margin: 0px !important;
    border-radius: var(--ip-radius-sm);
    -webkit-border-radius: var(--ip-radius-sm);
    -moz-border-radius: var(--ip-radius-sm);
    -ms-border-radius: var(--ip-radius-sm);
    height: 48px;
    vertical-align: middle;
    width: auto !important;
    background: none;
    padding: 0.775rem .75rem 0.775rem .75rem !important;
}

.formstyleerpselecitm {
    margin: 0px !important;
    border-radius: var(--ip-radius-sm);
    -webkit-border-radius: var(--ip-radius-sm);
    -moz-border-radius: var(--ip-radius-sm);
    -ms-border-radius: var(--ip-radius-sm);
    height: 48px;
    vertical-align: middle;
    width: -webkit-fill-available;
    background: none;
    padding: 0.775rem .75rem 0.775rem .75rem !important;
}

.formstyleequantity {
    margin: 0px !important;
    border-radius: var(--ip-radius-md);
    -webkit-border-radius: var(--ip-radius-md);
    -moz-border-radius: var(--ip-radius-md);
    -ms-border-radius: var(--ip-radius-md);
    height: 48px;
    vertical-align: middle;
    width: 80px;
    background: none;
    padding: 0.775rem .75rem 0.775rem .75rem !important;
}

.formstyleerpinput {
    border-radius: var(--ip-radius-sm);
    -webkit-border-radius: var(--ip-radius-sm);
    -moz-border-radius: var(--ip-radius-sm);
    -ms-border-radius: var(--ip-radius-sm);
    height: 45px;
    vertical-align: middle;
    width: 100% !important;
    display: block;
    background: none;
    padding: 2px !important;
}

.formstyleerpinputreturn {
    border-radius: var(--ip-radius-sm);
    -webkit-border-radius: var(--ip-radius-sm);
    -moz-border-radius: var(--ip-radius-sm);
    -ms-border-radius: var(--ip-radius-sm);
    height: 55px;
    vertical-align: middle;
    width: 100% !important;
    display: block;
    background: none;
    padding: 2px !important;
}
.hedtitelname {
    text-transform: uppercase;
    font-weight: 600;
    margin: 10px 10px 20px;
    text-align: center;
}

.hedtitelnamem {
    text-transform: uppercase;
    font-weight: 600;
}

/* шапки во всех полях */
/* кнопки  */
.botomerpbotom {
    padding: 8px 25px;
    font-size: 13px;
    border-radius: 2rem;
    border-color: transparent;
    -webkit-appearance: none;
    outline: none !important;
    -webkit-transition: all 0.1s;
    -o-transition: all 0.1s;
}

.botomerpbotom:hover {
    padding: 8px 28px;
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9);
    animation-duration: 1s;
    transition-duration: 1s;
    transition-property: 1s;
}.botomerpbotomdefault {
    height: 40px !important;
    border-radius: var(--ip-radius-sm);
    text-decoration: none !important;
    border: 1px solid #01b81a;
    padding: 0.375rem 1.35rem !important;
    color: #01b81a;
    float: right;
    margin: 1px 2px;
    transition: .2s linear;
    box-shadow: -3px 4px 23px rgb(86 86 86 / 10%);
}

.botomerpbotomdefault:hover {
    /* box-shadow: #005d28 0 0px 0px 40px inset;
    box-shadow: 0 0 0 2px white, 0 0 0 3px #005d28; */
    color: #fff !important;
    background-color: #01b81a !important;
}

.botomerporange1 {
    height: 30px !important;
    background-color: #ff3300 !important;
    border-radius: 50rem;
    text-decoration: none !important;
    border: 0px solid #ff3300;
    padding: 0.375rem 2.75rem !important;
    color: #fff;
    float: right;
    margin: 1px 2px;
    transition: .2s linear;
    margin-top: 20px;
}

.botomerporange2 {
    height: 30px !important;
    background-color: #005d28 !important;
    border-radius: 50rem;
    text-decoration: none !important;
    border: 0px solid #005d28;
    padding: 0.375rem 2.75rem !important;
    color: #fff;
    float: right;
    margin: 1px 2px;
    transition: .2s linear;
    margin-top: 20px;
}

.botomerporange3 {
    height: 25px !important;
    background-color: #ff3300 !important;
    border-radius: 50rem;
    text-decoration: none !important;
    border: 0px solid #ff3300;
    padding: 0.375rem 2.75rem !important;
    color: #fff;
    float: right;
    font-size: 12px;
    margin: 1px 2px;
    transition: .2slinear;
    margin-bottom: 5px;
}

.botomerporange4 {
    height: 25px !important;
    background-color: #005d28 !important;
    border-radius: 50rem;
    text-decoration: none !important;
    border: 0px solid #005d28;
    padding: 0.375rem 2.75rem !important;
    color: #fff;
    float: right;
    font-size: 12px;
    margin: 1px 2px;
    transition: .2slinear;
    margin-bottom: 5px;
}


.botomerpbotomdefault1 {
    font-size: 10px;
    height: 30px !important;
    background-color: #df3670 !important;
    border-radius: 50rem;
    text-decoration: none !important;
    border: 0px solid #df3670;
    padding: .8rem 1.75rem !important;
    color: #fff !important;
    float: right;
    margin: 0px 5px;
    transition: .2s linear;
}

h5.notice-calendar-heading-title {
    font-weight: 700;
}

.botomerpbotomdefault1:hover {
    box-shadow: #df3670 0 0px 0px 40px inset;
    box-shadow: 0 0 0 2px white, 0 0 0 3px #df3670;
    color: #fff !important;
}

/* .botomerpbotomdropdown — стили перенесены в SaaS BUTTON SYSTEM (~line 5986) */
.botomerpbotomdropdown {}
.botomerpbotomdropdown1 {}
.botomerpbotomdropdown1:hover {}

/* .botomerpbotomdropdown:hover — стили в button.botomerpbotomdropdown:hover (~line 9327) */

.botomerpbotfileinput {
    background-color: #00000000 !important;
    padding: 8px 25px;
    font-size: 13px;
    border-radius: var(--ip-radius-sm);
    border-color: #727272;
    color: #727272;
}

.labelinfoerp {
    padding: 5px 29px;
    font-size: 12px !important;
    background-color: #23b7e5;
    border-radius: 2rem;
    background-color: #ffffff;
    color: #001e62;
    border: 1px solid #001e62;
}

.labelinfowarningerp {
    padding: 5px 29px;
    font-size: 12px !important;
    background-color: #23b7e5;
    border-radius: 2rem;
    background-color: #ffffff;
    color: #27c24c;
    border: 1px solid #27c24c;
}

.labelinfodangererp {
    padding: 5px 29px;
    font-size: 12px !important;
    background-color: #23b7e5;
    border-radius: 2rem;
    background-color: #ffffff;
    color: #9C27B0;
    border: 1px solid #9C27B0;
}

/* кнопки  */
a {
    text-decoration: none !important;
}

a:hover {
    text-decoration: none !important;
}

.colmd12border {
    border-collapse: collapse;
    border-radius: 8px 8px 8px 8px;
    padding-left: 5px;
}

.modalbodypanel {
    position: relative;
    padding: 5px;
}

.collg7pading {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
}

.imgpdferp {
    width: 150px !important;
    margin: 2px
}

.returnblocright {
    float: right !important;
    text-align: right;
    line-height: 50px;
}

#rowmbip {
    border-radius: 1rem;
    margin: 5px;
}

#rowfiltererp {
    border-radius: 1rem;
    margin: 1rem 1.2rem 1rem 0.2rem;
    padding: 0.9375rem 0.1rem;
}button.bgrcol {
    margin-top: 3px;
    background: transparent !important;
}

.botomerpsearch {
    padding: .675rem 1.15rem !important;
    background: #0000 !important;
    height: 48px;
    border-radius: var(--ip-radius-sm);
    margin-left: 1px;
}

.table>caption+thead>tr:first-child>td,
.table>caption+thead>tr:first-child>th,
.table>colgroup+thead>tr:first-child>td,
.table>colgroup+thead>tr:first-child>th,
.table>thead:first-child>tr:first-child>td,
.table>thead:first-child>tr:first-child>th {
    text-align: left;
    font-size: 12px;
}

th.sorting_disabled {
    float: right;
}

ul.nav.roductionordeheder {
    cursor: pointer;
    background-color: #00000000 !important;
    margin-top: 3px;
    border-radius: 0.375rem;
    text-decoration: none !important;
    border: 1.5px solid #999898;
    padding: 0.375rem 2.75rem !important;
}

ul.nav.roductionordeheder:hover {
    background-color: #bababa;
    color: #0b0de8;
}

a.pull-left.recect_task {
    margin-right: 10px;
}

.otspad {
    margin: 20px 0;
}

.card-bord {
    padding: 20px;
}

.col-lg-4.modo3.just-cont {
    display: grid;
    justify-content: center;
    padding: 10px 0;
}

.row.col-sm-12.mob-adop {
    border-bottom: 1px solid #d3d3d330;
    padding: 20px 5px;
}

/*uda фильтры*/
@media(min-width: 200px) and (max-width: 768px) {
    .newblog {
        margin-left: 0 !important;
        left: 0 !important;
        margin-top: 10px;
        position: relative;
    }

    .mobile-hide {
        display: none !important;
    }

    .form-group.pad-mob {
        padding-left: 15px !important;
    }

    form.inline-items {
        display: ruby !important;
    }

    .padtop {
        padding-top: 10px !important;
    }

    .col-lg-4.modo3.just-cont {
        display: flex;
        padding: 10px 0;
        justify-content: space-between;
    }

    .col-lg-4.mob-adop {
        border-bottom: 1px solid #d3d3d330;
        padding: 10px;
    }
}

@media (min-width: 200px) and (max-width: 499.9px) {
    .col-lg-3.filter-mycol {
        padding-bottom: 10px !important;
    }

    .col-lg-2.filter-mycol-2 {
        padding-bottom: 10px !important;
    }

    .col-lg-2.filter-mycol {
        float: left;
    }

    .col-lg-12.filter-col-hei {
        height: 150px;
    }

    .col-lg-2.prod-ycol,
    .col-lg-6.accordion.prod-ycol {
        width: 30%;
        float: left;
    }

    .botomerpbotomprim {
        padding: 8px;
    }

    .profile-info.mobidop {
        display: ruby-text;
    }

    .col-xs-3.banercardstat {
        display: grid;
    }

    .banercardstat {
        width: 46% !important;
        padding: 10px !important;
    }

    label.needsclick {
        display: grid;
    }
}

@media (min-width: 200px) and (max-width: 1199.9px) {
    label {
        float: none;
    }

    input.col-lg-4.formstyleerp.mobile_code.mb_1 {
        float: left !important;
    }

    .number-search.col-lg-1 {
        float: left !important;
    }

    input#emailSearch,
    input#dateSearch {
        padding: 0.688rem 1.938rem !important;
    }

    .row.text-center.no-gutter.table-responsive1 {
        display: -webkit-inline-box;
    }

    .col-xs-2 {
        margin-right: 5px;
        width: auto;
    }
}

@media (min-width: 500px) and (max-width: 1199.9px) {
    .col-lg-2.filter-mycol-2 {
        width: 33%;
        float: left;
        margin-bottom: 5px;
    }

    .col-lg-3.filter-mycol {
        width: 33%;
        float: left;
    }
}

@media (min-width: 500px) and (max-width: 1003.99px) {
    .col-lg-12.filter-col-hei {
        height: 94px;
    }
}

@media (min-width: 769px) and (max-width: 1198.99px) {
    .col-lg-10.stat.card-stat.num-ch {
        padding: 10px;
    }
}

@media (min-width: 1004px) and (max-width: 1199.99px) {
    .col-lg-12.filter-col-hei {
        height: 55px;
    }
}

@media (min-width: 1200px) and (max-width: 1301.9px) {
    button.filterdropdown.miu-pad {
        padding: 8px 11px !important;
    }
}

.filtnewtop {
    padding: 6px 5px;
    /* font-size: 13px; */
    text-align: center;
    text-transform: uppercase;
    border-radius: var(--ip-radius-sm);
    font-weight: 800;
    border: 1px solid;
    width: 180px;
    color: #b33b02 !important;
    border-color: #b33b02;
    margin-bottom: 5px;
}

ul.filter-col {
    padding-inline-start: 0;
}

button.filterdropdown.miu-pad {
    padding: 1.09rem 2.75rem !important;
    margin-right: 8px;
    background-color: #ffffff00 !important;
    border: 1px solid rgb(226 226 226 / 45%) !important;
    box-shadow: 0 6px 6px -6px #bebebe3b;
    width: auto;
}

ul.dropdown-menu.from_account.drop-fitr {
    border-radius: var(--ip-radius-sm) !important;
}

.col-lg-1sth {
    width: auto;
    float: left;
}

.borderleft {
    border-left: 1px solid #e9e8e8;
}

.form-group.col-lg-5.button-tech-card {
    padding: 10px !important;
}

.col-lg-1.button-tech-card {
    padding: 12px !important;
}

a.button-tech {
    text-transform: uppercase !important;
    padding: 1.3rem 2.75rem !important;
    border-radius: 0.375rem;
    border: 1px solid #0b0de8;
    color: #0b0de8 !important;
    border-radius: 24px;
}

a.button-tech:hover {
    background-color: #0b0de8 !important;
    color: #fff !important;
}

div#DataTables_filter {
    float: right;
}

.menu-img_i_parent {
    margin-right: 5px;
    padding: 5px;
    border-radius: var(--ip-radius-sm);
    height: 20px;
    width: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    box-shadow: -3px 4px 23px rgba(0, 0, 0, 0.1);
    margin-top: 2px;
}

.menu-img_i,
.menu-img {
    margin-right: 5px;
    padding: 10px;
    border-radius: var(--ip-radius-sm);
    height: 37px;
    width: 37px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    box-shadow: 1px 4px 5px rgba(0, 0, 0, 0.1);
}

.headd-img {
    margin-right: 1px;
    padding: 2px;
    border-radius: var(--ip-radius-sm);
    height: 20px;
    width: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
/*     box-shadow: -3px 4px 23px rgba(0, 0, 0, 0.1); */
    transition: .2s linear;
}


.dashborder_img {
    margin-right: 5px;
    padding: 10px;
    border-radius: var(--ip-radius-md);
    height: 50px !important;
    width: 50px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    box-shadow: -3px 4px 23px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(206, 206, 206, 0.2);
    margin-top: 2px;
}

#headd-li {
    padding: 2px;
    vertical-align: middle;
    margin: 0 auto;
}

#searchCodePhone1 {
    width: 420px !important;
    margin-left: 25px;
}

.number.number-box.row {
    padding-bottom: 10px;
}

img.img.img-responsive {
    width: 70%;
    height: auto;
    margin: 0 auto;
}

.borderaten {
    border: 1px solid #b3b3b338;
    padding: 10px;
    border-radius: var(--ip-radius-md);
    margin-left: 5px;
}

.ulproject>li {
    width: auto;
    clear: both;
    float: left;
    padding-top: 0px
}

.banercardstat {
    width: 280px;
    text-align: center;
    padding: 10px 20px;
    margin: 1px 4px;
    border-radius: var(--ip-radius-md);
    /* -webkit-box-shadow: 0 0.3125rem 0.3125rem 0 rgb(82 63 105 / 5%);
    -moz-box-shadow: 0 0.3125rem 0.3125rem 0 rgb(82 63 105 / 5%);
    box-shadow: 0 0.3125rem 0.3125rem 0 rgb(82 63 105 / 5%); */
}

.coltat1 {
    color: #2b003d !important;
    border-left: 5px solid #2b003d !important;
}

.coltat2 {
    color: #cc6300 !important;
    border-left: 5px solid #cc6300 !important;
}

.coltat3 {
    color: #005d28 !important;
    border-left: 5px solid #005d28 !important;
}

.coltat4 {
    color: #0b0de8 !important;
    border-left: 5px solid #0b0de8 !important;
}

.lead1 {
    font-size: 25px;
    font-weight: 700;
}

p.m0.lead1.mobfont {
    font-size: 18px;
}

.me3iconi {
    width: 30%;
    text-align: center;
    /* padding: 5px; */
    padding-left: 20px;
    float: right;
    /* margin: 10px; */
    /* border-radius: 80px; */
    font-size: 35px;
}

#ui-id-1 {
    overflow-y: auto;
    max-height: 250px;
}

.ui-helper-hidden-accessible {
    display: none;
}

#tablenext1 {
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
}

#idpanelhed1 {
    border-radius: 0px 0px 0 0;
}

@media (max-width: 399.99px) {

    /*скрытая шапка */
    .mt-xl1 {
        margin-top: 30px !important;
    }

    .nav-wrapper {
        display: none;
        visibility: hidden;
    }

    div#tpl {
        padding: 1px 10px 20px 10px !important;
    }

    .col-lg-2 {
        padding: 0 0px 0 0 !important;
    }

    .pr {
        padding-right: 5px !important;
    }

    .pb {
        padding-bottom: 5px !important;
    }

    .layout-fixed .wrapper>section {
        margin-top: 4px !important;
    }

    #navtabsoverflow {
        padding-bottom: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        display: flex;
    }

    .content-wrapper.contentwrful {
        padding: 0px 15px 20px 15px !important;
    }
}

@media (min-width: 400px) and (max-width: 599.99px) {

    /*скрытая шапка */
    .mt-xl1 {
        margin-top: 30px !important;
    }

    .nav-wrapper {
        display: none;
        visibility: hidden;
    }

    div#tpl {
        padding: 1px 10px 10px 10px !important;
    }

    .col-lg-2 {
        padding: 0 0px 0 0 !important;
    }

    .pr {
        padding-right: 5px !important;
    }

    .pb {
        padding-bottom: 5px !important;
    }

    .layout-fixed .wrapper>section {
        margin-top: 4px !important;
    }

    /* скрыла шапку */
    #navtabsoverflow {
        padding-bottom: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        display: flex;
    }

    .content-wrapper.contentwrful {
        padding: 0px 15px 20px 15px !important;
    }
}

@media (min-width: 600px) and (max-width: 768px) {

    /*скрытая шапка */
    .nav-wrapper {
        display: none;
        visibility: hidden;
    }

    .mt-xl1 {
        margin-top: 30px !important;
    }

    div#tpl {
        padding: 1px 10px 10px 10px !important;
    }

    .col-lg-2 {
        padding: 0 0px 0 0 !important;
    }

    .pr {
        padding-right: 5px !important;
    }

    .pb {
        padding-bottom: 5px !important;
    }

    .layout-fixed .wrapper>section {
        margin-top: 4px !important;
    }

    div#state_report {
        padding-top: 30px;
    }

    #navtabsoverflow {
        padding-bottom: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        display: flex;
    }

    .content-wrapper.contentwrful {
        padding: 0px 15px 20px 15px !important;
    }
}

button.applyBtn.btn.btn-sm.btn-primary {
    background: #00760f !important;
}

.daterangepicker .drp-buttons {
    text-align: center !important;
}

#navtabsoverflow {
    overflow-x: auto !important;
    overflow-y: hidden;
    display: flex;
}

.mbsc-schedule-event.mbsc-ios.mbsc-ltr.mbsc-schedule-event-start.mbsc-schedule-event-end {
    height: auto !important;
    padding: 3px;
    width: auto !important;
}

/*  шапка для калокольчика*/
.notificationsip {
    float: right;
    margin-top: 1px;
    margin-right: 10px;
}

/* для планшетов мака */
@media screen and (orientation: landscape) {
    .gukisam_qytukan {
        visibility: hidden;
        display: none !important;
    }

    .navipro {
        display: none !important;
        visibility: hidden;
    }

    .footernavbar {
        display: none !important;
        visibility: hidden;
    }

    .content-wrapper.contentwrful {
        padding: 10px 16px 20px 32px !important;
    }
}

/* Единый отступ сверху для десктопа */
@media (min-width: 769px) {
    .content-wrapper.contentwrful {
        padding: 10px 16px 20px 32px !important;
    }
}

/* для планшетов мака */
@media (min-width: 768px) and (max-width: 4200px) {
    .navipro {
        display: none !important;
        visibility: hidden;
    }

    .footernavbar {
        display: none !important;
        visibility: hidden;
    }

    .notificationsip {
        display: none !important;
        visibility: hidden;
    }

    .wrapper>footer {
        bottom: 0;
        visibility: hidden;
    }

    .gukisam_qytukan {
        display: none !important;
        visibility: hidden;
    }
}

input#euipment_distribution {
    width: 20px !important;
}.form-group.has-feedback {
    margin: 10px 0;
}
@-moz-document url-prefix() {
    .lableip {
        font-size: 11px;
        font-weight: 700 !important;
        position: inherit;
        /* top: 30px !important;
  left: 600px; */
        margin-bottom: 0;
        padding: 0 15px;
        z-index: 99;
    }

    .lableiptd {
        font-size: 11px;
        font-weight: 700 !important;
        position: absolute;
        /* top: 2px;
    left: 10px; */
        margin-bottom: 0;
        padding: 0 12px;
        z-index: 99;
    }
}


.tox-menubar {
    margin-top: 10px !important;
}

.input-group {
    display: flex !important;
}

.headd-img1 {
    content: '';
    color: #bdbdbd !important;
    position: absolute;
    display: flex;
    align-items: center;
    top: 0;
    bottom: 0;
    right: 1.99rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 99;
    width: 18px;
    height: 18px;
}

div#headingOne {
    margin: 5px 0;
    border: 1px dashed #b3b3b338 !important;
    padding: 15px 5px !important;
    /* font-weight: 800; */
}

strong.text-alpha-inverse {
    font-weight: 800;
    color: #0b0de8;
}

td {
    max-width: 300px;
    /* выберите нужный размер */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tditemprise {
    white-space: pre-line;
}

.td-flow-visible {
    overflow: visible;
}.input-group-addon {
    padding: 0 !important;
}

footer {
    position: sticky !important;
    bottom: 0 !important;
    padding: 0 !important;
}

.plusiconip1 {
    color: #fff;
    background: #b9cef2 !important;
    border: 1px solid #b9cef2 !important;
    margin-right: 5px !important;
    padding: 15px !important;
    border-radius: var(--ip-radius-sm) !important;
    height: 35px !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    box-shadow: -3px 4px 23px rgba(0, 0, 0, 0.1) !important;
    margin-top: 2px !important;
}

div#Transation_DataTables_filter {
    float: right;
}

table.iksweb1 {
    width: 100%;
    border-radius: 1rem;
    border-collapse: collapse;
    border-spacing: 0;
    height: auto;
    margin: 10px 0;
}

table.iksweb1 td,
table.iksweb1 th {
    padding: 3px;
    padding-top: 0px;
    height: 35px;
}
/*  шапка для калокольчика*/
button.btn.btn-xs.btn-default.dropdown-toggle {
    color: #374151 !important;
    background-color: rgba(26,86,219,0.07) !important;
    border: 1px solid rgba(26,86,219,0.14) !important;
    border-radius: var(--ip-radius-sm) !important;
    padding: 0 6px !important;
    height: 18px !important;
    min-width: 28px !important;
    margin: 0 2px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    box-shadow: none !important;
    transition: background 0.15s, border-color 0.15s !important;
}
button.btn.btn-xs.btn-default.dropdown-toggle:hover {
    background-color: rgba(26,86,219,0.14) !important;
    border-color: rgba(26,86,219,0.26) !important;
}
body.bg-dark button.btn.btn-xs.btn-default.dropdown-toggle {
    color: #e5e7eb !important;
    background-color: rgba(96,165,250,0.10) !important;
    border-color: rgba(96,165,250,0.20) !important;
}

.headd-img2 {
    content: '';
    color: #bdbdbd !important;
    position: absolute;
    display: flex;
    align-items: center;
    top: 0;
    bottom: 0;
    left: 49rem;
    top: 37.5%;
    transform: translateY(-50%);
}

button.btn.btn-xs.btn-success.dropdown-toggle {
    color: #6b7280 !important;
    background-color: #f7f8fa !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    border-radius: var(--ip-radius-sm) !important;
    padding: 0 !important;
    margin: 0 0 0 4px !important;
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    vertical-align: middle !important;
}
button.btn.btn-xs.btn-success.dropdown-toggle:hover {
    background-color: #eef1f6 !important;
    border-color: rgba(0,0,0,0.18) !important;
}
body.bg-dark button.btn.btn-xs.btn-success.dropdown-toggle {
    background-color: #252837 !important;
    border-color: rgba(255,255,255,0.12) !important;
    color: #9ca3af !important;
}

/* ════════════════════════════════════════════════════════════════════
   НАСТРОЙКИ — боковое меню (admin/settings/* через settings.php)
   Горизонтальное верхнее меню → вертикальный левый сайдбар.
   ════════════════════════════════════════════════════════════════════ */
.ipset-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0 !important;
}
.ipset-menu {
    flex: 0 0 250px !important;
    width: 250px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    padding: 4px 8px 4px 4px !important;
    border-right: 1px solid var(--ip-border, rgba(0,0,0,0.07)) !important;
    background: transparent !important;
}
.ipset-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px 14px !important;
    border-radius: var(--ip-radius-sm) !important;
    color: var(--ip-nav-item) !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}
.ipset-item:hover { background: var(--ip-nav-hover-bg) !important; color: var(--ip-nav-item-hover) !important; text-decoration: none !important; }
.ipset-item.active { background: var(--ip-nav-hover-bg) !important; color: var(--ip-nav-item-active) !important; font-weight: 500 !important; }
.ipset-ic {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    color: var(--ip-nav-ic) !important;
    transition: color 0.2s ease !important;
}
.ipset-item:hover .ipset-ic,
.ipset-item.active .ipset-ic { color: var(--ip-nav-ic-active) !important; }
.ipset-label { flex: 1 1 auto !important; min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ipset-content { flex: 1 1 auto !important; min-width: 0 !important; padding-left: 16px !important; }
.ipset-burger { display: none !important; }
.ipset-backdrop { display: none !important; }

/* ── Мобиль ≤768px: меню — выезжающий drawer слева ── */
@media (max-width: 768px) {
    .ipset-burger {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 40px; height: 40px;
        border-radius: var(--ip-radius-md);
        border: 1px solid var(--ip-border, rgba(0,0,0,0.10));
        background: var(--ip-bg-card, #fff);
        color: #374151;
        margin: 0 0 12px 0;
        cursor: pointer;
    }
    .ipset-menu {
        position: fixed !important;
        top: 0 !important; left: 0 !important; bottom: 0 !important;
        height: 100vh !important; max-height: none !important;
        width: 260px !important; flex-basis: 260px !important;
        transform: translateX(-105%) !important;
        transition: transform 0.25s ease !important;
        z-index: 100000 !important;
        border-radius: 0 12px 12px 0 !important;
        box-shadow: 0 8px 30px rgba(0,0,0,0.2) !important;
    }
    .ipset-menu.open { transform: translateX(0) !important; }
    .ipset-backdrop.open {
        display: block !important;
        position: fixed !important; inset: 0 !important;
        background: rgba(0,0,0,0.35) !important; z-index: 99999 !important;
    }
    .ipset-row { flex-direction: column !important; }
    .ipset-content { width: 100% !important; }
}

/*  Пика млад*/
.notification {
    padding-bottom: 0.75em;
    position: fixed;
    top: 1.5em;
    right: 1.5em;
    width: 18.75em;
    max-width: calc(100% - 3em);
    transition: transform 0.15s ease-out;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.notification__box,
.notification__content,
.notification__btns {
    display: flex;
}

.notification__box,
.notification__content {
    align-items: center;
}

.notification__box {
    animation: flyIn 0.3s ease-out;
    /* background-color: hsl(0,0%,100%); */
    border-radius: 0.75em;
    box-shadow: 0 0.5em 1em hsla(var(--hue), 10%, 10%, 0.1);
    height: 4em;
    transition:
        background-color var(--transDur),
        color var(--transDur);
}

.notification--out .notification__box {
    animation: flyOut 0.3s ease-out forwards;
}

.notification__content {
    padding: 0.375em 1em;
    width: 100%;
    height: 100%;
}

.notification__icon {
    flex-shrink: 0;
    margin-right: 0.75em;
    width: 2em;
    height: 2em;
}

.notification__icon-svg {
    width: 100%;
    height: auto;
}

.notification__text {
    line-height: 1.333;
    margin-left: 15px;
}

.notification__text-title {
    font-size: 1em;
    font-weight: bold;
}

.notification__text-subtitle {
    font-size: 1em;
    opacity: 0.75;
}

.notification__btns {
    box-shadow: -1px 0 0 hsla(var(--hue), 10%, 10%, 0.15);
    flex-direction: column;
    flex-shrink: 0;
    min-width: 4em;
    height: 100%;
    transition: box-shadow var(--transDur);
}

.notification__btn {
    background-color: transparent;
    box-shadow: 0 0 0 hsla(var(--hue), 10%, 10%, 0.5) inset;
    font-size: 0.6em;
    line-height: 1;
    font-weight: 500;
    height: 100%;
    padding: 0 0.5rem;
    transition:
        background-color var(--transDur),
        color var(--transDur);
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
}

.notification__btn-text {
    display: inline-block;
    pointer-events: none;
}

.notification__btn:first-of-type {
    border-radius: 0 0.75rem 0 0;
}

.notification__btn:last-of-type {
    border-radius: 0 0 0.75rem 0;
}

.notification__btn:only-child {
    border-radius: 0 0.75rem 0.75rem 0;
}

.notification__btn+.notification__btn {
    box-shadow: 0 -1px 0 hsla(var(--hue), 10%, 10%, 0.15);
    font-weight: 400;
}

.notification__btn:active,
.notification__btn:focus {
    background-color: hsl(var(--hue), 10%, 95%);
}

.notification__btn:focus {
    outline: transparent;
}

.toast-notificationerp {}

@supports selector(:focus-visible) {
    .notification__btn:focus {
        background-color: transparent;
    }

    .notification__btn:focus-visible,
    .notification__btn:active {
        background-color: hsl(var(--hue), 10%, 95%);
    }
}

/* Dark theme */
@media (prefers-color-scheme: dark) {
    :root {
        --bg: hsl(var(--hue), 10%, 10%);
        --fg: hsl(var(--hue), 10%, 90%);
    }

    .notification__box {
        background-color: hsl(var(--hue), 10%, 30%);
    }

    .notification__btns {
        box-shadow: -1px 0 0 hsla(var(--hue), 10%, 90%, 0.15);
    }

    .notification__btn+.notification__btn {
        box-shadow: 0 -1px 0 hsla(var(--hue), 10%, 90%, 0.15);
    }

    .notification__btn:active,
    .notification__btn:focus {
        background-color: hsl(var(--hue), 10%, 35%);
    }

    @supports selector(:focus-visible) {
        .notification__btn:focus {
            background-color: transparent;
        }

        .notification__btn:focus-visible,
        .notification__btn:active {
            background-color: hsl(var(--hue), 10%, 35%);
        }
    }
}

/* ═══════════════════════════════════════════════════════════════
   ДИЗАЙН-ТОКЕНЫ (база, общие для обеих тем). 2026-06-21.
   Добавлены, ничего существующего не меняют. Тема-зависимые токены
   (тени sm/md/lg, тонированные фоны) — в bg-white.css / bg-dark.css.
   Типошкала производна от --ip-body-font-size (из tbl_config) →
   пользовательская настройка шрифта масштабирует всю иерархию.
   ═══════════════════════════════════════════════════════════════ */
:root {
    /* Отступы (шкала 4px) */
    --ip-space-1: 4px;
    --ip-space-2: 8px;
    --ip-space-3: 12px;
    --ip-space-4: 16px;
    --ip-space-5: 24px;
    --ip-space-6: 32px;
    --ip-space-7: 48px;

    /* Радиусы — тема-НЕзависимы, определяем в БАЗЕ (ipcss :root), чтобы
       резолвились в ОБЕИХ темах. Раньше sm/md были только в bg-white.css → в
       тёмной теме (bg-white отключён media="not all") var(--ip-radius-md) не
       резолвился и радиус пропадал. */
    --ip-radius-sm: 6px;
    --ip-radius-md: 14px;
    --ip-radius-lg: 14px;
    --ip-radius-xl: 20px;
    --ip-radius-pill: 999px;

    /* Типошкала — множители от базового размера */
    --ip-fs-base:    var(--ip-body-font-size, 13px);
    --ip-fs-caption: calc(var(--ip-fs-base) * 0.85);
    --ip-fs-sm:      calc(var(--ip-fs-base) * 0.92);
    --ip-fs-md:      var(--ip-fs-base);
    --ip-fs-lg:      calc(var(--ip-fs-base) * 1.15);
    --ip-fs-h3:      calc(var(--ip-fs-base) * 1.4);
    --ip-fs-h2:      calc(var(--ip-fs-base) * 1.7);
    --ip-fs-h1:      calc(var(--ip-fs-base) * 2.1);

    /* Веса и интерлиньяж */
    --ip-fw-regular: 400;
    --ip-fw-medium: 500;
    --ip-fw-semibold: 600;
    --ip-fw-bold: 700;
    --ip-lh-tight: 1.2;
    --ip-lh-base: 1.5;
}

/* Animations */
@keyframes flyIn {
    from {
        transform: translateX(calc(100% + 1.5em));
    }

    to {
        transform: translateX(0);
    }
}

@keyframes flyOut {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(100% + 1.5em));
    }
}

button#addSelect {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    min-width: 34px;
    padding: 0;
    border-radius: var(--ip-radius-sm, 6px);
    border: 1px solid var(--ip-border, rgba(0,0,0,0.10));
    background: var(--ip-bg-card, #fff);
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
    vertical-align: middle;
    margin: 0 2px;
    box-sizing: border-box;
}
button#addSelect:hover {
    background: var(--ip-bg-page, #f3f4f8);
    border-color: rgba(0,0,0,0.18);
    box-shadow: var(--ip-shadow-card, 0 1px 4px rgba(0,0,0,0.08));
}

button.removeDiv {
    background: #fff0;
    border: 0px solid #fff0;
}

#sdbr {
    position: absolute;
    left: 10px;
    top: 40px;
    border: 1px solid #f1f1f2 !important;
    width: 74%;
    border-radius: var(--ip-radius-sm);
    height: 60%;
    padding: 20px;
    box-sizing: border-box;
    background: white;
    color: black;
    z-index: 10;
    transition: transform ease-out 0.25s;
    transform: translateX(-150%);
}

.piptable {
    margin: 10px;
}

tr.odd1 {
    color: #fff !important;
    background: #0b0de8 !important;
}.hedtitelname1 {
    text-transform: uppercase;
    margin: 10px;
    color: #fff;
}

.hedtitelname2 {
    font-weight: 600;
    margin: 10px;
}
.headd-imgchat:hover {
    box-shadow: 0 0 0 2px white, 0 0 0 3px #ff3300;
}

.own-status-color {
    padding: .4em .6em .4em;
    font-size: 12px;
    border-radius: 26px;
}

/*
calendar
*/
/* Модальное окно  для удалнеия*/
/* Задаём фон для модального окна */
button.remove-btn.remove-btn-selector {
    display: none;
}

.modal.modal-right {
    background: #030303a8;
}

:root {
    --modal-height: 100%;
}

/* Плавный сдвиг самого диалогового окна */
.modal-dialog-right {
    transition: transform 300ms ease;
}

/* Настройки размеров окна */
.modal.modal-left .modal-content-right,
.modal.modal-right .modal-content-right {
    background-color: #ffffff;
    min-height: 100vh;
    overflow-y: auto;
    padding: 16px;
}

/* Начальное состояние – окно сдвинуто вправо за пределы экрана */
.modal.modal-right.fade .modal-dialog-right {
    transform: translate(100%, 0);
    margin: 0 0 0 auto;
}

/* При открытии – окно сдвигается на своё место (Bootstrap 3/4: .in, Bootstrap 5: .show) */
.modal.modal-right.fade.in .modal-dialog-right,
.modal.modal-right.show .modal-dialog-right {
    padding-left: 5px !important;
    transform: translate(0, 0);
    margin: 0 0 0 auto;
}

/* Ограничиваем ширину окна */.modal.modal-left .modal-dialog-right, .modal.modal-right .modal-dialog-right {
    min-height: var(--modal-height);
    max-width: 45% !important;
}

/* Для мобильных устройств */
@media (max-width: 767.98px) {
    .modal.modal-right .modal-dialog-right {
        position: fixed;
        bottom: 0;
        width: 95%;
        height: auto;
        max-width: 100%;
        transform: translate(0, 100%);
        margin: 0 auto 0 0;
    }

    .modal-body {
        padding: 5px;
    }

    .cart-item1 img {
        width: 50px !important;
        height: 50px !important;
        object-fit: cover;
        border-radius: var(--ip-radius-sm);
    }

    .modal.modal-right.fade .modal-dialog-right {
        transform: translate(0, 100%);
    }

    img.plusiconip {
        background: #b9cef2 !important;
        border: 1px dashed #b9cef2 !important;
        margin-right: 5px !important;
        padding: 8px !important;
        border-radius: var(--ip-radius-sm) !important;
        height: 30px !important;
        width: 30px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        vertical-align: middle !important;
    }

    .modal.modal-right.fade.in .modal-dialog-right,
    .modal.modal-right.show .modal-dialog-right {
        transform: translate(0, 0);
    }

    .modal.modal-left .modal-dialog-right,
    .modal.modal-right .modal-dialog-right {
        max-width: 100% !important;
        overflow-y: scroll;
        overflow-x: hidden;
        max-height: 900px;
        padding-left: 0px !important;
    }

    .email-info .sender-name {
        font-size: 15px !important;
    }
}

/* Отключаем анимацию для backdrop, чтобы он появлялся и исчезал мгновенно */
.modal-backdrop {
    transition: none !important;
    opacity: 0 !important;
}

/* Отключаем стандартное затухание модального контейнера */
.modal.fade {
    transition: none !important;
    opacity: 1 !important;
}

/* Если backdrop всё же получает класс .show, принудительно делаем его полностью видимым */
.modal-backdrop.show {
    opacity: 0.5 !important;
    /* или любое другое значение, которое вы используете для затемнения */
}

/*  Пика млад конец*/img.img-circle.img-xs {
    margin: 0 auto;
    border-radius: 50% !important;
    border: solid 3px #b7b7b7;
    margin-right: -10px;
}
/* Конец модального окна */
/*  Новая шапка*/
/* Google Fonts - Poppins */
@-moz-document url-prefix() {
    .nav1 {
        /* padding-left: 10px !important; */
        top: 0;
        height: 70px;
        position: fixed;
        z-index: 101;
        /* top: 0; */
        /* left: 0; */
        padding-top: 10px;
        /* padding: 10px 0; */
        border-radius: var(--ip-radius-sm);
        margin: 10px 20px 0px 34px;
        width: -moz-available;
        max-width: 100%;
        padding: 15px 20px;
        /* vertical-align: middle; 
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);*/
    }
}

.nav1,
.nav1 .nav-links1 {
    display: flex;
    align-items: center;
}
.nav1 .logo1 {
    font-size: 22px;
    font-weight: 500;
}
.nav1 .nav-links1 a {
    transition: all 0.2s linear;

}

.nav1.openSearch .nav-links1 a {
    opacity: 0;
    pointer-events: none;
}

.nav1 .search-icon1 {
    font-size: 20px;
    cursor: pointer;
}

.nav1 .search-box1 {
    position: absolute;
    right: 250px;
    height: 45px;
    max-width: 555px;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    transition: all 0.2s linear;
}

.nav1.openSearch .search-box1 {
    opacity: 1;
    pointer-events: auto;
}

.search-box1 .search-icon1 {
    position: absolute;
    left: 15px;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
}

.search-box1 input {
    height: 100%;
    width: 100%;
    border: none;
    outline: none;
    border-radius: var(--ip-radius-sm);
    padding: 0 15px 0 45px;
}

.nav1 .navOpenBtn,
.nav1 .navCloseBtn {
    display: none;
}

ol,
ul {
    margin-bottom: 0px;
}

/* responsive */
@media screen and (max-width: 1160px) {
    .nav1 {
        padding: 15px 100px;
    }

    .nav1 .search-box1 {
        right: 150px;
    }
}

@media screen and (max-width: 950px) {
    .nav1 {
        padding: 15px 50px;
        margin: 5px 10px 0px 10px;
    }

    .row .nav1 {
        position: sticky !important;
        top: 0 !important;
    }

    .nav1 .search-box1 {
        right: 100px;
        max-width: 400px;
    }
}

@media screen and (max-width: 768px) {

    .nav1 .navOpenBtn,
    .nav1 .navCloseBtn {
        display: block;
    }

    .row .nav1 {
        position: sticky !important;
        top: 0 !important;
        display: none;
    }

    .nav1 {
        padding: 15px 20px;
        margin: 5px 10px 0px 10px;
    }

    .nav1 .nav-links1 {
        position: fixed;
        top: 0;
        left: -100%;
        height: 90px;
        border-radius: var(--ip-radius-sm);
        max-width: 360px;
        width: 100%;
        padding-top: 10px;
        row-gap: 1px;
        /* flex-direction: column; */
        background-color: #2146c0;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        transition: all 0.4s ease;
        z-index: 99999;
    }

    .nav1.openNav .nav-links1 {
        left: 0;
    }

    .nav1 .navOpenBtn {
        font-size: 20px;
        cursor: pointer;
    }

    .nav1 .navCloseBtn {
        position: absolute;
        top: 1px;
        right: 20px;
        font-size: 20px;
        cursor: pointer;
    }

    .nav1 .search-box1 {
        top: calc(100% + 10px);
        max-width: calc(100% - 20px);
        right: 50%;
        transform: translateX(50%);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }
}

/* ─── Кнопка collapse — выступает за правый край сайдбара (Metronic) ────── */

/* Кнопка collapse — только на десктопе */
@media (min-width: 768px) {
    .topmenu1 {
        position: fixed !important;
        left: 226px !important;
        top: 18px !important;
        transform: none !important;
        margin: 0 !important;
        z-index: 2000 !important;
        display: block !important;
        transition: left 0.3s ease !important;
    }

    .aside-collapsed .topmenu1 {
        left: 66px !important;
    }

    .topmenu1 a.visible-xs {
        display: none !important;
    }

    .topmenu1 a.hidden-xs {
        display: inline-flex !important;
    }

    .aside-collapsed .sidebar-collapse-icon {
        transform: rotate(180deg) !important;
    }
}

/* На мобильном — position:static, Bootstrap сам скрывает/показывает кнопки */
@media (max-width: 767px) {
    /* Десктопная кнопка скрыта Bootstrap классом .hidden-xs */
    /* Мобильная кнопка видна через .visible-xs — не трогаем */
}

/* ─── Организация — зафиксирована внизу только на десктопе ─────────────── */

@media (min-width: 768px) {
    #saasorg {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 240px !important;
        border-top: 1px solid rgba(0,0,0,0.07) !important;
        padding: 10px 12px !important;
        background: #ffffff !important;
        z-index: 500 !important;
    }

    .aside-collapsed #saasorg {
        width: 80px !important;
    }

    .sidebar > .nav.s-menu {
        padding-bottom: 60px !important;
    }
}

/* На мобильном — обычный поток */
@media (max-width: 767px) {
    #saasorg {
        position: static !important;
        width: 100% !important;
        border-top: 1px solid rgba(0,0,0,0.07) !important;
        padding: 10px 12px !important;
        background: #ffffff !important;
    }
}/* Разделитель убираем */
.has-user-block {
    border-bottom: none !important;
    border-top: none !important;
    padding: 0 !important;
}

/* ─── Компактные отступы между пунктами ─────────────────────────────────── */
/* ─── Кнопка collapse — стиль Metronic (белый квадрат с тенью на краю) ───── */
.topmenu1 a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: var(--ip-radius-sm) !important;
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.12) !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
    color: #6b7280 !important;
    transition: border-color 0.15s, color 0.15s !important;
    text-decoration: none !important;
}

.topmenu1 a:hover {
    border-color: var(--ip-primary) !important;
    color: var(--ip-primary) !important;
    background: #ffffff !important;
}

.topmenu1 a svg {
    width: 14px !important;
    height: 14px !important;
}

/* новый код */
/*  Новая шапка*/
ul.nav.nav-tabs.ulproject.panel {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-color: #fff0 #fff0 !important;
}

/*  Шапка для новых*/
@media (min-width: 800px) and (max-width: 1024px) {
    .nav1 {
        padding: 15px 20px;
        margin: 0 20px 0 33px;
    }

    .row.padi {
        display: flex;
        margin-bottom: 10px;
        overflow-y: scroll;
    }

    p.m0 {
        text-align: left;
        font-size: 12px;
        line-height: 1em;
    }
}

/*  меню скрол */
.scroll-container {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    /* Установите нужную ширину контейнера */
    overflow: hidden;
    /* Скрывает скроллбар, но позволяет контенту прокручиваться */
}

.scroll-content {
    display: flex;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
    flex: 1;
    padding: 10px;
}

.scroll-content::-webkit-scrollbar {
    display: none;
    /* Скрыть стандартный скроллбар для Chrome, Safari и др. */
}

.arrow {
    display: none;
    /* Изначально стрелки скрыты */
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 85%;
    cursor: pointer;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    user-select: none;
    position: absolute;
    z-index: 1;
    top: 0;
    transition: opacity 0.3s ease;
}

.scroll-container:hover .arrow {
    display: flex;
    /* Показываем стрелки при наведении на контейнер */
}

.left-arrow {
    left: 0;
    border-radius: 5px 100px 100px 5px;
}

.right-arrow {
    right: 0;
    border-radius: 100px 5px 5px 100px;
}

/*  меню скрол конец */
a.own-status-color {
    color: #fff;
}

div#tagator_ {
    height: auto !important;
}

/* Мой код для туду листа */.form1 li a.profile1 {
    border-left: 5px solid #008747;
}

.form1 li a.profile2 {
    border-left: 5px solid #ff3300;
}

.form1 li a.messages1 {
    border-left: 5px solid #fecf54;
}

.form1 li a.settings1 {
    border-left: 5px solid #cf2130;
}

.form1 li a.settings2 {
    border-left: 5px solid #0b0de8;
}

.form1 li a.logout1 {
    border-left: 5px solid #dde2d5;
}

.form1 li:first-child a:hover,
.form1 li:first-child a {
    -webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
}

.form1 li:last-child a:hover,
.form1 li:last-child a {
    -webkit-border-radius: 0 0 5px 5px;
    -moz-border-radius: 0 0 5px 5px;
    border-radius: 0 0 5px 5px;
}

.form1 li a:hover i {
    color: #ea4f35;
}

#form1mt {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}

.liform1 {
    margin: 0 1px;
    width: 100%;
    border-radius: var(--ip-radius-sm);
}
.append-buttons {
    text-align: center;
    margin-top: 20px;
}

.append-buttons button {
    display: inline-block;
    cursor: pointer;
    border: 1px solid #007aff;
    color: #007aff;
    text-decoration: none;
    padding: 4px 10px;
    border-radius: 4px;
    margin: 0 10px;
    font-size: 13px;
}

div#saasorg {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
}

/* Новая аналитика со скоролом */.carousel1::-webkit-scrollbar-thumb {
    background-color: #ccc;
    /* Цвет ползунка */
    border-radius: var(--ip-radius-md);
    /* Закругление */
}

.carousel1::-webkit-scrollbar-track {
    background-color: #f1f1f1;
    /* Цвет фона полосы прокрутки */
}
.card1 {
    flex: 0 300px;
    margin: 0 0px;
    border-radius: var(--ip-radius-md);
    padding: 10px;
    display: flex;
    align-items: center;
    text-align: right;
    justify-content: space-between;
}

.card1 svg {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    margin-right: 15px;
    /* Отступ между SVG и текстом */
}

.card1 h3 {
    font-size: 1.2rem;
    margin-bottom: 5px;
}

.card1 p {
    font-size: 1.3rem;
    margin: 0;
}

.cardgreen {
    border-left: 5px solid #008000 !important;
    border-right: 1px solid #008000 !important;
    color: #008000;
}

.progressgreenip {
    background-color: #008000;
}

.cardorange {
    border-left: 5px solid #ff3300 !important;
    border-right: 1px solid #ff3300 !important;
    color: #ff3300;
}

.progressorangeip {
    background-color: #ff3300;
}

.cardelectric {
    border-left: 5px solid #0b0de8 !important;
    border-right: 1px solid #0b0de8 !important;
    color: #0b0de8;
}

.progresselectricianip {
    background-color: #0b0de8;
}

.cardvinous {
    border-left: 5px solid #9b2d30 !important;
    border-right: 1px solid #9b2d30 !important;
    color: #9b2d30;
}

.progressevinousip {
    background-color: #9b2d30;
}

.carberyuzovy {
    border-left: 5px solid #1b877e !important;
    border-right: 1px solid #1b877e !important;
    color: #1b877e;
}

.progressberyuzovyip {
    background-color: #1b877e;
}

/*  Конец новой аналитики со скролом */
/*  .mbsc-ios.mbsc-popup-round .mbsc-popup {
    border: 0;
    position: absolute !important;
    bottom: 50% !important;
} */
/* Для чатов */
.file_Upload.position-absolute {
    top: 50%;
    right: 30%;
    transform: translate(-50%, -50%);
    width: 200px;
    padding: 20px;
}

/* Конец для чатов */
/* Для загрзчика */
.mb-mail-preview {
    white-space: pre-line;
    font-size: 16px;
    font-weight: 700;
    padding: 10px;
}

#sm2del {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-content: center !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* Для загрзчика */
/* Боковое модальное окно */
.cart-container {
    /*         background: white; */
    padding: 2px;
    border-radius: var(--ip-radius-md);
    /*         width: 90%;
            max-width: 800px;  */
    /* box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); */
}

.cart-item1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 0;
    flex-wrap: nowrap;
    /* Запрещает перенос элементов на новую строку */
    overflow: hidden;
}

.cart-item1 img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: var(--ip-radius-sm);
}

.item-info {
    flex: 1;
    margin-left: 15px;
    display: flex;
    flex-direction: column;
    min-width: 150px;
}

.item-name {
    font-weight: bold;
    white-space: nowrap;
}

span.item-name {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.item-color {
    font-size: 12px;
    color: var(--ip-primary);
    line-height: 15px;
}

.item-color1 {
    font-size: 12px;
    color: #f10000;
    line-height: 15px;
    font-weight: 600;
}

.quantity-controls {
    display: flex;
    align-items: center;
    /* min-width: 100px; */
}

.quantity-controls button {
    border: none;
    background: #eee;
    padding: 5px 10px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 3px;
}

.quantity {
    height: 30px;
    padding: 0.375rem .75rem !important;
    max-width: 70px;
    width: auto;
    border-radius: var(--ip-radius-md);
    -webkit-border-radius: var(--ip-radius-md);
    -moz-border-radius: var(--ip-radius-md);
    -ms-border-radius: var(--ip-radius-md);
    margin: 0 5px;
}

.price {
    font-weight: bold;
    min-width: 80px;
    text-align: right;
}

.remove-btn,
.wishlist-btn {
    border: none;
    background: none;
    cursor: pointer;
    font-size: 13px;
    margin-right: 5px;
}

.wishlist-btn {
    color: gray;
}

.wishlist-btn.active {
    color: red;
}

@media (max-width: 600px) {
    .cart-item1 {
        flex-wrap: nowrap;
        /* Гарантирует, что элементы останутся в одной строке */
        overflow-x: auto;
        /* Добавляет горизонтальный скролл при необходимости */
    }

    .item-info {
        min-width: 120px;
    }

    .quantity-controls {
        /*  min-width: 140px; */
        float: right;
        text-align: right;
        margin-top: 5px;
    }

    .price {
        min-width: 60px;
    }
}

/* Конец бокового модального окна */
/* Для датапикеров */
i.fa.fa-reply {
    font-size: 12px;
    margin-right: 5px;
}

i.fa.fa-share {
    font-size: 12px;
    margin-left: 5px;
}

/* конец Для датапикеров */
td.text-center.dispip {
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    white-space: pre-line;
}

.tableos {
    border-radius: var(--ip-radius-md);
    margin-top: 12px;
    padding-top: 41px;
    padding-left: 10px;
}

span.bold {
    font-weight: 600;
}

/* Стили для консалидированной логистики  */
.radio-card-group {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

.radio-card {
    border: 2px solid #cfcfcf !important;
    border-radius: var(--ip-radius-md);
    padding: 1.6rem 1.5rem;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: box-shadow 0.2s, border color 0.2s;
    min-width: 280px;
    font-size: 1.2rem;
    font-weight: bold;
    background: #fff;
}

.radio-card input[type="radio"] {
    accent-color: #0d6efd;
    width: 18px;
    height: 18px;
    margin-right: 1rem;
}

.radio-card input[type="radio"]:checked+span {
    color: #0d6efd;
}

.redio-card:hover {
    box-shadow: 0 0 12px rgba(13, 110, 253, 0.09);
    border-color: #b6d4fe;
}

.hidden {
    display: none;
}

.disabled_invoice_purchase_table input,
.disabled_invoice_purchase_table select,
.disabled_invoice_purchase_table .select2,
.disabled_invoice_purchase_table button {
    pointer-events: none;
    background-color: #eee;
    opacity: 0.6;
}

/* Конец стили для консалидированной логистики  */


/* Новые стили таблицв */
.styled-table {
    width: 100% !important;
    border-collapse: separate !important;
    /* ОБЯЗАТЕЛЬНО — чтобы работал border-radius */
    border-spacing: 0 !important;
    /* Можно 0, чтобы убрать промежутки */
}

.styled-table thead th {
    padding: 10px 12px !important;
    font-weight: 700 !important;
    text-align: left !important;
}

/* Скругление углов у первой и последней ячейки */
.styled-table thead th:first-child {
    border-top-left-radius: 26px !important;
    border-bottom-left-radius: 26px !important;
}

.styled-table thead th:last-child {
    border-top-right-radius: 26px !important;
    border-bottom-right-radius: 26px !important;
}

/* Убираем стандартные бордеры */
.styled-table th,
.styled-table td {
    border: none !important;
}

table.table.table-striped.table-bordered.styled-table {
    padding: 1px !important;
}

/* Таблица позиций заявки (shipments/requisition): фикс. раскладка + перенос длинных значений.
   Перенесено из инлайн-<style> general_details.php — селектор по ID, поведение не меняется. */
table#requisitions_table {
    width: 100%;
    table-layout: fixed;
}
table#requisitions_table th,
table#requisitions_table td {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
}

/* Числовые колонки: правое выравнивание */
#sales-report-table th:last-child,
#sales-report-table td:last-child {
    text-align: right !important;
}

/* Deals source — доnat chart + легенда */
.deals-chart-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px 16px 8px;
}
.deals-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    justify-content: center;
    margin-top: 16px;
    padding-bottom: 16px;
}
.deals-legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--ip-text, #111827);
}
.deals-legend-dot {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    flex-shrink: 0;
}
.deals-legend-name {
    font-weight: 500;
}
.deals-legend-val {
    font-weight: 700;
    margin-left: 4px;
}
.deals-legend-pct {
    color: var(--ip-text-muted, #6b7280);
    font-size: 12px;
}

/* Object assessment — сводная таблица */
.oa-summary-table {
    table-layout: fixed;
    word-wrap: break-word;
    margin-bottom: 20px !important;
}
.oa-col-quarter { width: 25%; }

/* Конец кода новые стили таблицв */
h3.mt-sm.mb0 {
    font-size: revert-layer;
}

.ratio_status_custom {
    border-radius: var(--ip-radius-sm);
    -webkit-border-radius: var(--ip-radius-sm);
    -moz-border-radius: var(--ip-radius-sm);
    -ms-border-radius: var(--ip-radius-sm);
    padding: 10px;
}

.newblog {
    margin-left: 25px;
    left: 4px;
    position: relative;
}

.tddatecss {
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
}

span.label {
    border-radius: 26px;
}

.footer-total {
    font-weight: bold;
}

.gridcontetdetali {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px 5px;
}

@media (max-width: 992px) {
    .gridcontetdetali {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .gridcontetdetali {
        grid-template-columns: repeat(2, 1fr);
        gap: 5px;
    }
}

p.form-control-static.label.label-info {
    margin-bottom: 20px;
    padding: .2em .6em .2em !important;
    font-size: 10px !important;
}

strong.label.label-warning.lk {
    padding: .2em .6em .2em !important;
    font-size: 10px !important;
}

body.layout-fixed.layout-h-bottom {
    overflow-x: hidden !important;
}

/* Новый код табличной части  */
/* ===== IP DT SCROLL (isolated) ===== */
.ip-dt-scroll-wrap {
    position: relative;
}
/* чтобы был горизонтальный скролл */
#DataTabless th,
#DataTabless td {
    white-space: nowrap;
}

/* стрелки */
.ip-dt-scroll-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    z-index: 50;
    cursor: pointer;
    display: none;
    /* управляется JS */
    background: #f1f2f6bf;
    /* твой цвет */
    backdrop-filter: blur(4px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
    transition: opacity .15s ease, transform .15s ease;
}

.ip-dt-scroll-arrow:hover {
    transform: translateY(-50%) scale(1.06);
}

.ip-dt-left {
    left: 12px;
}

.ip-dt-right {
    right: 12px;
}

/* стрелка */
.ip-dt-scroll-arrow::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    border: solid rgba(140, 140, 150, 0.55);
    border-width: 0 2px 2px 0;
    transform-origin: center;
}

.ip-dt-left::after {
    transform: translate(-50%, -50%) rotate(135deg);
}

.ip-dt-right::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* скрыть горизонтальный скроллбар только у этой таблицы */
#ipDtScrollX::-webkit-scrollbar {
    height: 0 !important;
}

#ipDtScrollX {
    scrollbar-width: none;
    /* Firefox */
}

/* тень справа от фиксированной колонки (и для header, и для body) */
#DataTabless thead th:first-child::after,
#DataTabless tbody td:first-child::after {
    content: '';
    position: absolute;
    top: 0;
    right: -6px;
    width: 6px;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(to right,
            rgba(0, 0, 0, 0.08),
            rgba(0, 0, 0, 0));
}

/* ОБЯЗАТЕЛЬНО: фиксированная ширина первой колонки */
/* #DataTabless thead th:first-child,
#DataTabless tbody td:first-child {
    min-width: 200px;
    max-width: 200px;
} */

/* можно увеличить область наведения по краям */.ip-dt-scroll-x {
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    position: relative;
}

@media (max-width: 768px) {
  #DataTabless thead th:first-child,
#DataTabless tbody td:first-child {
        min-width: 120px;
        max-width: 120px;
    }
}
/* Конец кода новой табличной части */
/* ===== Новое модельное окно ===== */
:root {
  --ip-modal-width: min(45vw, 800px);
  /* Enhanced iOS-like motion (more natural) */
  --ip-panel-duration: 0.42s;
  --ip-fade-duration: 0.28s;
  --ip-ease-ios: cubic-bezier(0.28, 0.11, 0.06, 1.04); /* More authentic iOS curve */
  /* Visual tokens */
  --ip-backdrop-color: rgba(0, 0, 0, 0.4);
  --ip-surface: #ffffff;
  --ip-handle-color: rgba(0, 0, 0, 0.1);
  --ip-scroll-edge-effect: #f2f2f7;
}

.ip-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  /* Optimized transitions */
  transition:
    opacity var(--ip-fade-duration) var(--ip-ease-ios),
    visibility 0s linear var(--ip-fade-duration);
  /* Prevent tap highlight */
  -webkit-tap-highlight-color: transparent;
}

/* OPEN state - immediate interaction */
.ip-modal.ip-is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition:
    opacity var(--ip-fade-duration) var(--ip-ease-ios),
    visibility 0s linear 0s;
}

/* ═══ ФИКС: поля/select2 в ip-modal «не выбираются» (системно, все модалки) ═══
   Причина 1 (главная): колонки .col-* в формах модалки флоатятся (float:left) и НЕ
   вычищаются — верхнеуровневый .form-group (напр. блок кнопки submit) налезает
   поверх полей и перехватывает клики. Чистим флоаты у form-group верхнего уровня
   формы (раскладка колонок при этом сохраняется).
   Причина 2: дропдаун select2 уходит в <body> с z-index 1051, а .ip-modal = 9999 —
   открытый список прячется за панелью. Поднимаем select2 выше модалки. */
.ip-modal__body form > .form-group { clear: both; }
.select2-container--open { z-index: 10060 !important; }
.select2-container--open .select2-dropdown { z-index: 10060 !important; }

/* ═══════════ Единый стиль системных тостов (toastr) под эталон ═══════════
   Мягкие алерты: пастельный фон + цветная иконка + тёмный текст, по типам.
   toastr.min.css грузится ПОСЛЕ ipcss.css → перебиваем через !important. */
#toast-container > div {
  padding: 12px 30px 12px 44px !important;
  width: 360px !important;
  max-width: calc(100vw - 24px) !important;
  border-radius: var(--ip-radius-md) !important;
  background-position: 14px center !important;
  background-size: 20px 20px !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.10) !important;
  opacity: 1 !important;
  border: 1px solid #e5e7eb !important;
  color: #374151 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
#toast-container > div:hover { box-shadow: 0 10px 28px rgba(0,0,0,.16) !important; }
#toast-container > div .toast-message { color: #374151 !important; padding-left: 0 !important; }
#toast-container > div .toast-message a, #toast-container > div .toast-message label { color: inherit !important; font-weight: 700; }
#toast-container > div .toast-title { font-weight: 700 !important; padding-left: 0 !important; margin-bottom: 2px !important; }
#toast-container > div .toast-close-button { color: #6b7280 !important; opacity: .6 !important; text-shadow: none !important; font-weight: 600 !important; }
#toast-container > div .toast-close-button:hover { color: #111827 !important; opacity: 1 !important; }
/* success — зелёный */
#toast-container > .toast-success { background-color: #e9f7ef !important; border-color: #bfe6cd !important; background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%231a7f44'%20stroke-width='2.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M22%2011.08V12a10%2010%200%201%201-5.93-9.14'/%3E%3Cpolyline%20points='22%204%2012%2014.01%209%2011.01'/%3E%3C/svg%3E") !important; }
#toast-container > .toast-success .toast-title { color: #1a7f44 !important; }
/* error/danger — красный */
#toast-container > .toast-error { background-color: #fdecec !important; border-color: #f5c2c2 !important; background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c0392b'%20stroke-width='2.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='10'/%3E%3Cline%20x1='15'%20y1='9'%20x2='9'%20y2='15'/%3E%3Cline%20x1='9'%20y1='9'%20x2='15'%20y2='15'/%3E%3C/svg%3E") !important; }
#toast-container > .toast-error .toast-title { color: #c0392b !important; }
/* warning — янтарный */
#toast-container > .toast-warning { background-color: #fff6e6 !important; border-color: #f5e0b3 !important; background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23b8860b'%20stroke-width='2.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M10.29%203.86%201.82%2018a2%202%200%200%200%201.71%203h16.94a2%202%200%200%200%201.71-3L13.71%203.86a2%202%200%200%200-3.42%200z'/%3E%3Cline%20x1='12'%20y1='9'%20x2='12'%20y2='13'/%3E%3Cline%20x1='12'%20y1='17'%20x2='12.01'%20y2='17'/%3E%3C/svg%3E") !important; }
#toast-container > .toast-warning .toast-title { color: #b8860b !important; }
/* info — синий */
#toast-container > .toast-info { background-color: #eef2ff !important; border-color: #c7d2fe !important; background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%233a52c4'%20stroke-width='2.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='10'/%3E%3Cline%20x1='12'%20y1='16'%20x2='12'%20y2='12'/%3E%3Cline%20x1='12'%20y1='8'%20x2='12.01'%20y2='8'/%3E%3C/svg%3E") !important; }
#toast-container > .toast-info .toast-title { color: #3a52c4 !important; }

/* ===== Backdrop with interactive fade ===== */
.ip-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--ip-backdrop-color);
  /* iOS blur with variable intensity */
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  opacity: 0;
  transition: opacity var(--ip-fade-duration) var(--ip-ease-ios);
  /* Interactive dimming */
  cursor: pointer;
}

.ip-modal.ip-is-open .ip-modal__backdrop {
  opacity: 1;
}

/* Optional: subtle backdrop interaction */
.ip-modal__backdrop:active {
  background: rgba(0, 0, 0, 0.45);
}

/* ===== Right panel with iOS details ===== */
.ip-modal__dialog {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: var(--ip-modal-width);
  display: flex;
  flex-direction: column;
  /* Initial state: slightly scaled and translated */
  transform: translate3d(100%, 0, 0) scale(0.98);
  transition: transform var(--ip-panel-duration) var(--ip-ease-ios);
  /* iOS-like shadows */
  box-shadow: 
    -12px 0 40px rgba(0, 0, 0, 0.12),
    -4px 0 12px rgba(0, 0, 0, 0.06);
  /* Rounded top-left corner (iOS detail) */
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
  /* Performance */
  will-change: transform;
  contain: layout style paint;
}

.ip-modal.ip-is-open .ip-modal__dialog {
  transform: translate3d(0, 0, 0) scale(1);
}

/* iOS-style drag handle */
.ip-modal__drag-handle {
  width: 36px;
  height: 5px;
  background: var(--ip-handle-color);
  border-radius: 3px;
  margin: 8px auto;
  flex-shrink: 0;
}

/* ===== Header with sticky behavior ===== */
.ip-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #e5e7eb;
  background: #f3f4f6;
  position: sticky;
  top: 0;
  z-index: 10;
  flex-shrink: 0;
}

.ip-modal__title {
  font-size: 17px;
  font-weight: 600;
  color: #000;
  letter-spacing: -0.01em;
}

.ip-modal__close {
  border: 0;
  background: #dc2626;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  width: 32px;
  height: 32px;
  border-radius: var(--ip-radius-sm);
  transition: all 0.18s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  -webkit-user-select: none;
  flex-shrink: 0;
}

.ip-modal__close:hover {
  background: #b91c1c;
  color: #fff;
}

.ip-modal__close:active {
  background: #991b1b;
  transform: scale(0.95);
  transition-duration: 0.1s;
}

/* ===== Body with iOS-like scrolling ===== */
.ip-modal__body {
  padding: 10px;
  overflow: auto;
  flex: 1 1 auto;
  /* iOS-style scroll behavior */
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  /* Edge glow effect */
/*   background: 
    linear-gradient(var(--ip-surface) 30%, rgba(255,255,255,0)),
    linear-gradient(rgba(255,255,255,0), var(--ip-surface) 70%) 0 100%,
    radial-gradient(farthest-side at 50% 0, rgba(0,0,0,0.06), transparent),
    radial-gradient(farthest-side at 50% 100%, rgba(0,0,0,0.06), transparent); */
  background-repeat: no-repeat;
  background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
  background-attachment: local, local, scroll, scroll;
  
  /* Hide scrollbar by default (appears only during scroll) */
  scrollbar-width: none; /* Firefox */
}

/* Якорим абсолютные .lableip к своему .form-group, чтобы лейбл скроллился
   вместе с полем внутри скролл-контейнера модалки (иначе уезжает) */
.ip-modal__body .form-group {
  position: relative;
}
/* Clearfix: колонки .col-* внутри form-group флоатятся и схлопывают контейнер по высоте,
   из-за чего следующий блок налезал поверх полей и перехватывал клики (поля «некликабельны»). */
.ip-modal__body .form-group::after {
  content: "";
  display: table;
  clear: both;
}

.ip-modal__body::-webkit-scrollbar {
  width: 0;
  height: 0;
  background: transparent;
}

.ip-modal__body::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: var(--ip-radius-md);
}

/* Show scrollbar only when scrolling */
.ip-modal__body:active::-webkit-scrollbar-thumb,
.ip-modal__body:focus::-webkit-scrollbar-thumb,
.ip-modal__body:hover::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
}

/* ===== Footer ===== */
.ip-modal__footer {
  padding: 16px;
  /* Sticky footer */
  position: sticky;
  bottom: 0;
  z-index: 10;
  flex-shrink: 0;
}
/* Сообщение об ошибке загрузки контента модалки */
.ip-modal__error {
  padding: 10px;
}
/* Скрываем panelhed-заголовки внутри ip-modal — заголовок выводится в ip-modal__title */
#ipModalRight .ip-modal__body ul.nav.nav-tabs.panelhed,
#ipModalRight .ip-modal__body ul.nav.panelhed {
  display: none !important;
}

/* ===== Mobile optimizations ===== */
@media (max-width: 767.98px) {
  :root {
    --ip-modal-width: 90vw;
    --ip-panel-duration: 0.38s;
  }
  
  .ip-modal__dialog {
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
    box-shadow: 
      -16px 0 50px rgba(0, 0, 0, 0.15),
      -6px 0 20px rgba(0, 0, 0, 0.08);
  }
  
  .ip-modal__body {
    padding: 12px 16px;
  }
  
  /* Increase touch targets on mobile */
  .ip-modal__close {
    padding: 10px 14px;
    min-height: 44px;
    min-width: 44px;
  }
}

/* ===== Lock body scroll ===== */
body.ip-modal-open {
  overflow: hidden;
  /* Prevent body shift when modal opens */
  padding-right: var(--scrollbar-width, 0px);
}

/* ===== Reduced motion ===== */
@media (prefers-reduced-motion: reduce) {
  .ip-modal,
  .ip-modal__backdrop,
  .ip-modal__dialog,
  .ip-modal__close {
    transition: none !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ===== Dark mode support ===== */
@media (prefers-color-scheme: dark) {
  .ip-modal__dialog {
    /* background: #1c1c1e;
    --ip-surface: #1c1c1e; */
    --ip-scroll-edge-effect: #2c2c2e;
    --ip-handle-color: rgba(255, 255, 255, 0.2);
  }
  
  .ip-modal__title {
    color: #fff;
  }
  
  .ip-modal__close {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
  }
  
  .ip-modal__close:hover {
    background: rgba(255, 255, 255, 0.15);
  }
  
  .ip-modal__close:active {
    background: rgba(255, 255, 255, 0.2);
  }
  
  .ip-modal__header,
  .ip-modal__footer {
    border-color: rgba(255, 255, 255, 0.1);
  }
}

/* ===== Performance layer promotion ===== */
.ip-modal__dialog,
.ip-modal__backdrop {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* bg-white: явное переопределение, чтобы крестик был виден при любых ОС-настройках */
body.bg-white .ip-modal__close {
  background: #dc2626 !important;
  color: #fff !important;
}
body.bg-white .ip-modal__close:hover {
  background: #b91c1c !important;
}
body.bg-white .ip-modal__header {
  background: #f3f4f6 !important;
  border-bottom: 1px solid #e5e7eb !important;
}

/* ===== Конец Новое модельное окно ===== */
/* ===== Иерархия категорий ===== */
.toggleip {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 12px;
    height: 12px;

    border-radius: 50%;
    border: 1px solid #fff;
    box-shadow: 0 0 3px #444;

    cursor: pointer;
    box-sizing: border-box;
    position: relative;
}

/* сам символ */
.toggleip::before {
    content: '+';
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    line-height: 1;
}

/* состояние раскрыто */
.toggleip.minus::before {
    content: '−'; /* именно длинный минус, красивее */
}

/* цвета */
.toggleip.plus {
    background-color: #28a745;
}

.toggleip.minus {
    background-color: #dc3545;
}
/* =====  Конец Иерархия категорий ===== */
/* ===== Start app auto ===== */
.form-group .select2-container--default > .selection > .blink-animation-end-select, .blink-animation-end{
    border: 1px solid #ca2c2cff !important;
}
.border-r5-appauto{
    border-radius: var(--ip-radius-sm);
}

/* ========================================================================
   SaaS REDESIGN + SIDEBAR — единый финальный блок
   (ipcss.css грузится последним — перебивает app.css и все плагины)
   ======================================================================== */

/* ─── Кнопки ─────────────────────────────────────────────────────────────── */

.btn, a.btn, button.btn {
    border-radius: var(--ip-radius-sm) !important;
    filter: none !important;
    background-image: none !important;
    box-shadow: none !important;
}.botomerpinvois {
    text-decoration: none !important;
    border: 0px solid #0077b5;
    color: #fff;
    margin: 1px 2px;
    transition: .2s linear;
    border-radius: var(--ip-radius-sm) !important;
    background-color: var(--ip-primary) !important;
    border-color: var(--ip-primary) !important;
    padding: 6px 16px !important;
    box-shadow: none !important;
}.botomerpinvois:hover {
    color: #fff !important;
    background-color: #1e429f !important;
    box-shadow: none !important;
}/* .botomerpbotomdefault height/radius — в SaaS BUTTON SYSTEM */

.btnbtndanger { border-radius: var(--ip-radius-sm) !important; padding: 6px 14px !important; border: 1px solid var(--ip-danger) !important; color: var(--ip-danger) !important; }
.btnbtndanger:hover { background: var(--ip-danger) !important; color: #fff !important; box-shadow: none !important; }

/* === Кнопки-действия в таблицах (edit / delete / view) === */
/* .add-child-stage / .add-child — иерархические кнопки добавления строки.
   Отступ вложенности теперь через margin-left (не padding-left), поэтому padding: 0. */
a.add-child-stage,
a.add-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    padding: 0 !important;
    border-radius: var(--ip-radius-sm, 6px) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.10)) !important;
    background: var(--ip-bg-card, #fff) !important;
    box-shadow: none !important;
    vertical-align: middle;
    text-decoration: none !important;
    transition: background .18s ease, border-color .18s ease !important;
}
a.add-child-stage:hover,
a.add-child:hover {
    background: var(--ip-bg-page, #f3f4f8) !important;
    border-color: rgba(0,0,0,0.18) !important;
}
a:has(img.icontable):not(.add-child-stage),
strong:has(img.icontable) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    min-width: 34px;
    border-radius: var(--ip-radius-sm, 6px);
    border: 1px solid var(--ip-border, rgba(0,0,0,0.10));
    background: var(--ip-bg-card, #fff);
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
    text-decoration: none !important;
    vertical-align: middle;
    margin: 0 2px;
    box-sizing: border-box;
}
a:has(img.icontable):not(.add-child-stage):hover,
strong:has(img.icontable):hover {
    background: var(--ip-bg-page, #f3f4f8);
    border-color: rgba(0,0,0,0.18);
    box-shadow: var(--ip-shadow-card, 0 1px 4px rgba(0,0,0,0.08));
}
a:has(img.icontable[src*="delete"]),
a:has(img.icontable[src*="close-dee"]),
strong:has(img.icontable[src*="delete"]),
strong:has(img.icontable[src*="close-dee"]) {
    border-color: var(--ip-danger-light, #fde8e8);
}
a:has(img.icontable[src*="delete"]):hover,
a:has(img.icontable[src*="close-dee"]):hover,
strong:has(img.icontable[src*="delete"]):hover,
strong:has(img.icontable[src*="close-dee"]):hover {
    background: var(--ip-danger-light, #fde8e8);
    border-color: var(--ip-danger, #e02424);
    box-shadow: none;
}
.icontable {
    width: 14px;
    display: block;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    transition: none !important;
    flex-shrink: 0;
}

/* Override Bootstrap btn-danger on icon-only table action buttons */
a.btn-danger:has(img.icontable),
a.btn.btn-danger:has(img.icontable) {
    background: var(--ip-bg-card, #fff) !important;
    border-color: var(--ip-danger-light, #fde8e8) !important;
    color: inherit !important;
}
a.btn-danger:has(img.icontable):hover,
a.btn.btn-danger:has(img.icontable):hover {
    background: var(--ip-danger-light, #fde8e8) !important;
    border-color: var(--ip-danger, #e02424) !important;
}

/* ─── Bootstrap-toggle ───────────────────────────────────────────────────── */

.toggle.btn { border-radius: var(--ip-radius-xl) !important; min-width: 64px !important; min-height: 26px !important; overflow: hidden !important; box-shadow: none !important; }

.toggle.off,
.toggle.btn.off,
.toggle.btn-danger.off,
.toggle.btn-default.off {
    background-color: #e5e7eb !important;
    border-color: #d1d5db !important;
    box-shadow: none !important;
}

.toggle.btn-success:not(.off) { background-color: var(--ip-success) !important; border-color: var(--ip-success) !important; box-shadow: none !important; }
.toggle.btn-primary:not(.off) { background-color: var(--ip-primary) !important; border-color: var(--ip-primary) !important; box-shadow: none !important; }

.toggle .toggle-on.btn, label.toggle-on.btn {
    background-color: transparent !important; border: none !important; border-radius: 0 !important;
    color: #ffffff !important; font-size: 12px !important; font-weight: 500 !important; box-shadow: none !important;
}
.toggle .toggle-off.btn, label.toggle-off.btn {
    background-color: transparent !important; border: none !important; border-radius: 0 !important;
    color: #6b7280 !important; font-size: 12px !important; font-weight: 500 !important; box-shadow: none !important;
}
.toggle .toggle-handle.btn {
    background-color: #ffffff !important; border: none !important; border-radius: 50% !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.25) !important;
}

/* ─── Sidebar logo area — выровнять по высоте с nav.nav1 ────────────────── */

/* Внешний контейнер строки лого = 70px, flex по центру */
.aside-inner .topnavbar {
    height: 70px !important;
    min-height: 70px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}

/* Зона лого: занимает всё место, центрирует содержимое */
.aside-inner .topnavbar .navbar-header {
    flex: 1 1 auto !important;
    height: 70px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

/* Ссылка-бренд: flex, центрирование */
.aside-inner .topnavbar .navbar-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    padding: 0 12px !important;
    margin: 0 !important;
    width: 100% !important;
}

/* brand-logo div — flex для img (только в развёрнутом сайдбаре) */
.aside-inner .topnavbar .brand-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* При свёрнутом сайдбаре — прячем полный логотип */
.aside-collapsed .aside-inner .topnavbar .brand-logo {
    display: none !important;
}

/* Картинка лого: убираем margin из app.css (margin: 10px auto), ограничиваем высоту */
.aside-inner .topnavbar .brand-logo img {
    margin: 0 !important;
    max-height: 42px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
}

/* Иконка в свёрнутом сайдбаре */
.aside-inner .topnavbar .brand-logo-collapsed {
    display: none !important;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 70px;
}
.aside-inner .topnavbar .brand-logo-collapsed img {
    width: 36px !important;
    height: 36px !important;
    max-height: 36px !important;
    object-fit: contain !important;
    border-radius: var(--ip-radius-sm);
    margin: 0 !important;
}
/* При свёрнутом сайдбаре — показываем иконку */
.aside-collapsed .aside-inner .topnavbar .brand-logo-collapsed {
    display: flex !important;
}

/* ─── Topbar — Panelix-стиль: full-width, без зазоров ───────────────────── */.nav1 {
    /* padding-left: 10px !important;
    */
    top: 0;
    height: 70px;
    position: fixed;
    z-index: 101;
    /* top: 0;
    */
    /* left: 0;
    */
    padding-top: 10px;
    /* padding: 10px 0;
    */
    border-radius: var(--ip-radius-sm);
    padding: 15px 20px;
    /* vertical-align: middle;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); */
    justify-content: flex-end !important;
    left: 240px !important;
    right: 0 !important;
    top: 0 !important;
    margin: 0 !important;
    width: auto !important;
    max-width: none !important;
    border-radius: 0 !important;
}

/* Контент начинается строго после шапки (высота nav = 70px).
   В layout_main.php две секции: первая = header.php (nav fixed, 0 высоты),
   вторая = контент. Обнуляем margin первой, чтобы не было двойного отступа. */
.layout-fixed .wrapper > section {
    margin-top: 80px !important; /* nav 70px + 20px gap между шапкой и контентом */
}
.layout-fixed .wrapper > section:first-of-type {
    margin-top: 0 !important; /* header.php-секция: nav fixed, layout-высоты нет */
}

/* Мобильная версия: nav скрыт, отступ сверху 20px, снизу место для navipro */
@media (max-width: 768px) {
    .layout-fixed .wrapper > section {
        margin-top: 20px !important;
    }
    .layout-fixed .wrapper > section:first-of-type {
        margin-top: 0 !important;
    }
    .content-wrapper,
    .content-wrapper.contentwrful,
    div#tpl {
        padding-bottom: 70px !important;
    }
}

/* При свёрнутом сайдбаре: aside width = 80px (app.css:953-954) */
.aside-collapsed .nav1 {
    left: 80px !important;
}.nav1 .nav-links1 {
    column-gap: 10px;
    list-style: none;
    margin-left: auto !important;
    gap: 8px !important;
    align-items: center !important;
}

/* ─── SIDEBAR — убираем синий цвет у ссылок в меню ─────────────────────── */

.sidebar a,
.sidebar .nav a,
.aside a {
    text-decoration: none !important;
}

/* ─── SIDEBAR — структура и spacing ─────────────────────────────────────── */

.sidebar ul,
.sidebar .sidebar-subnav,
.sidebar .s-menu,
.sidebar .collapse {
    list-style: none !important;
}.sidebar > .nav > li {
    padding: 0 !important;
    border-left: 3px solid transparent !important;
    margin: 0 !important;
}

.sidebar > .nav > li > a,
.sidebar > .nav > li > .nav-item,
.sidebar .nav > li > a,
.sidebar .nav > li > .nav-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: var(--ip-radius-sm) !important;
    margin: 2px 8px !important;
    padding: 7px 5px !important;
    color: #374151 !important;
    font-size: var(--ip-sidebar-font-size, 13px) !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    min-height: 40px !important;
    white-space: normal !important;
    background-color: transparent !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

.sidebar > .nav > li > a:hover,
.sidebar .nav > li > a:hover {
    background-color: #f3f4f8 !important;
    color: #111827 !important;
    text-decoration: none !important;
    outline: none !important;
}

/* Активный (содержит текущую страницу) */
.sidebar .nav > li.active > a,
.sidebar .nav > li.active > .nav-item {
    background-color: #eff4ff !important;
    color: var(--ip-primary) !important;
    font-weight: 600 !important;
}

/* Раскрытый (open / aria-expanded) — тёмный жирный */
.sidebar .nav > li.sub-menu > a[aria-expanded="true"],
.sidebar .nav > li.open > a {
    color: #1a1f36 !important;
    font-weight: 600 !important;
    background-color: transparent !important;
}

/* Активный раскрытый — синий */
.sidebar .nav > li.active.sub-menu > a,
.sidebar .nav > li.active.sub-menu > a[aria-expanded="true"] {
    background-color: #eff4ff !important;
    color: var(--ip-primary) !important;
    font-weight: 600 !important;
}

/* ─── Иконки меню — с рамкой как у кнопки collapse ──────────────────────── */

.sidebar .menu-img_i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    border-radius: var(--ip-radius-sm) !important;
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.07) !important;
    padding: 0 !important;
    /* иконки — stroke="currentColor", поэтому цвет коробки красит SVG.
       Покой — приглушённый сине-серый (не жёсткий чёрный на белом). */
    color: #64748b !important;
    transition: border-color 0.15s, box-shadow 0.15s, color 0.15s !important;
}

/* ховер — иконка в наш синий (активный пункт синеет сам через currentColor) */
.sidebar .nav > li > a:hover .menu-img_i {
    color: var(--ip-primary) !important;
}

/* SVG иконка */
.sidebar .menu-img_i svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    flex-shrink: 0 !important;
}

/* Hover — рамка подсвечивается */
.sidebar .nav > li > a:hover .menu-img_i {
    border-color: rgba(26,86,219,0.3) !important;
    box-shadow: 0 1px 4px rgba(26,86,219,0.1) !important;
}

/* Активный пункт — синяя рамка + синяя иконка (перебивает resting #64748b) */
.sidebar .nav > li.active > a .menu-img_i {
    border-color: var(--ip-primary) !important;
    background: #eff4ff !important;
    box-shadow: none !important;
    color: var(--ip-primary) !important;
}

/* Убираем старый hover box-shadow из app.css */
.menu-img_i:hover {
    box-shadow: 0 1px 4px rgba(0,0,0,0.07) !important;
}

/* ─── Заголовки секций (.nav-heading) ───────────────────────────────────── */

.sidebar .nav-heading {
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #9ca3af !important;
    padding: 20px 20px 6px !important;
    pointer-events: none !important;
    display: block !important;
}

/* ─── Шапка сайдбара (организация) ──────────────────────────────────────── */

.headar-menu-wrp {
    border: none !important;
    background: transparent !important;
    border-radius: var(--ip-radius-sm) !important;
    padding: 0 !important;
    color: #1a1f36 !important;
    font-weight: 600 !important;
    font-size: var(--ip-sidebar-font-size, 13px) !important;
}
/* Only for pages that use the new pill-tab ul directly inside headar-menu-wrp */
.headar-menu-wrp:has(> ul.nav-tabs_menu) {
    height: auto !important;
    overflow: visible !important;
}
.headar-menu-wrp ul.nav.nav-tabs.nav-tabs_menu.panelhed {
    margin-bottom: 8px !important;
}

/* Active/hover styles for old carousel (.headar-menu li) */
.headar-menu li > a {
    display: inline-block !important;
    border-radius: var(--ip-radius-sm) !important;
    padding: 6px 14px !important;
    color: #374151 !important;
    text-decoration: none !important;
    transition: background 0.15s, color 0.15s !important;
    white-space: nowrap !important;
    font-size: var(--ip-body-font-size, 13px) !important;
}
.headar-menu li > a:hover {
    background: #eff4ff !important;
    color: var(--ip-primary) !important;
}
.headar-menu li.active > a {
    background: var(--ip-primary) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}#saasorg .btn.btn-default {
    width: 100% !important;
    border-radius: var(--ip-radius-sm) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: none !important;
    background: transparent !important;
    color: #374151 !important;
    font-weight: 600 !important;
    font-size: var(--ip-sidebar-font-size, 13px) !important;
    padding: 6px 10px !important;
    box-shadow: none !important;
    text-align: left !important;
}#saasorg .btn.btn-default:hover {
    border-color: rgba(0,0,0,0.12) !important;
    background: #f3f4f8 !important;
    color: #1a1f36 !important;
}

/* ─── Скрываем старые иконки-тире в подменю ─────────────────────────────── */

.sidebar-subnav > li > a .menu-img_i_parent,
.sidebar-subnav > li > .nav-item .menu-img_i_parent,
.sidebar-subnav .menu-img_i_parent {
    display: none !important;
}

/* ─── Вертикальная линия подменю ─────────────────────────────────────────── */

.sidebar .sidebar-subnav,
.sidebar-subnav {
    position: relative !important;
    padding-left: 0 !important;
    list-style: none !important;
}

.sidebar .sidebar-subnav::before,
.sidebar-subnav::before {
    content: "" !important;
    position: absolute !important;
    left: 28px !important;
    top: 6px !important;
    bottom: 8px !important;
    width: 1px !important;
    background-color: #e5e7eb !important;
    border-radius: 2px !important;
    z-index: 1 !important;
}

.sidebar .sidebar-subnav > li > a,
.sidebar .sidebar-subnav > li > .nav-item,
.sidebar-subnav > li > a,
.sidebar-subnav > li > .nav-item {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    padding: 6px 12px 6px 46px !important;
    margin: 0 6px !important;
    border-radius: var(--ip-radius-sm) !important;
    color: #4b5563 !important;
    font-size: var(--ip-sidebar-font-size, 13px) !important;
    font-weight: 400 !important;
    min-height: 32px !important;
    white-space: normal !important;
    line-height: 1.4 !important;
    background-color: transparent !important;
}/* Кружок активного */
.sidebar-subnav > li.active > a::before {
    content: "" !important;
    position: absolute !important;
    left: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background-color: var(--ip-primary) !important;
    z-index: 2 !important;
}

/* Кружок неактивного */
.sidebar-subnav > li:not(.active) > a::before {
    content: "" !important;
    position: absolute !important;
    left: 25px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background-color: #ffffff !important;
    border: 1.5px solid #d1d5db !important;
    z-index: 2 !important;
}

.sidebar-subnav > li > a:hover::before { background-color: var(--ip-primary) !important; border-color: var(--ip-primary) !important; }

/* ─── + / − индикатор подменю ───────────────────────────────────────────── */

.sidebar li.sub-menu [data-bs-toggle="collapse"]:after {
    font-family: var(--ip-body-font) !important;
    content: "+" !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    margin-left: auto !important;
    margin-right: 2px !important;
    color: #9ca3af !important;
    float: none !important;
    transform: none !important;
    transition: none !important;
    align-self: center !important;
}

.sidebar li.sub-menu [aria-expanded="true"]:after {
    content: "−" !important;
    transform: none !important;
    color: var(--ip-primary) !important;
}

/* ─── Тёмная тема ────────────────────────────────────────────────────────── */

body.bg-dark .sidebar a,
body.bg-dark .sidebar .nav a { color: #9ca3af !important; }
body.bg-dark .sidebar .nav > li > a:hover { background-color: rgba(255,255,255,0.05) !important; color: #fff !important; }
body.bg-dark .sidebar .nav > li.active > a { background-color: rgba(26,86,219,0.2) !important; color: #60a5fa !important; }body.bg-dark .toggle.btn.off { background-color: #374151 !important; border-color: #4b5563 !important; }

/* ===== Конец SaaS Redesign ===== */

/* ─── Мобильное нижнее меню — только рамка на LI, иконки не трогаем ─────── */

/* Иконки нижней мобильной навигации — стиль как у menu-img_i */
.icon11 > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

/* Переопределяем headd-img внутри icon11 — убираем собственный размер и тень */
.icon11 .headd-img {
    width: 20px !important;
    height: 20px !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.icon11:has([data-toggle-state="aside-toggled"]) {
    border-color: var(--ip-primary) !important;
    background: #eff4ff !important;
}

/* footernavbar в сайдбаре */
.nav-links2 li {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: var(--ip-radius-sm) !important;
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.07) !important;
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.nav-links2 li > a,
.nav-links2 li > button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
}

.nav-links2 li .headd-img {
    width: 20px !important;
    height: 20px !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

body.bg-dark .icon11 { background: #1e2130 !important; border-color: rgba(255,255,255,0.08) !important; color: #e5e7eb !important; }
body.bg-dark .icon11 svg { stroke: #e5e7eb !important; color: #e5e7eb !important; }
/* Светлая тема — явный цвет чтобы не унаследовался белый */.icon11 {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: var(--ip-radius-sm) !important;
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.07) !important;
    list-style: none !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #374151 !important;
}
.icon11 svg { padding: 0 !important; stroke: #374151 !important; color: #374151 !important; }
body.bg-dark .nav-links2 li { background: #1e2130 !important; border-color: rgba(255,255,255,0.08) !important; }
body.bg-dark .nav-links2 li svg { stroke: #e5e7eb !important; }

/* ─── Тёмная тема — иконки сайдбара (переопределяем белый фон) ─────────── *//* Тёмная тема — кнопка организации внизу *//* ========================================================================
   ТЁМНАЯ ТЕМА — финальные переопределения из ipcss.css
   ======================================================================== */

/* Кнопка collapse */
body.bg-dark .topmenu1 a {
    background: #1e2130 !important;
    border-color: rgba(255,255,255,0.12) !important;
    color: #9ca3af !important;
}
body.bg-dark .topmenu1 a:hover {
    border-color: #60a5fa !important;
    color: #60a5fa !important;
    background: #1e2130 !important;
}

/* Иконки меню */body.bg-dark .sidebar .menu-img_i {
    background: #252837 !important;
    border-color: rgba(255,255,255,0.1) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
    color: #cbd5e1 !important;
}body.bg-dark .sidebar .nav > li > a:hover .menu-img_i {
    border-color: rgba(96,165,250,0.3) !important;
    background: #2d3147 !important;
    color: #93c5fd !important;
}
/* Организация внизу */body.bg-dark #saasorg {
    background: #1a1d2e !important;
    border-top-color: rgba(255,255,255,0.06) !important;
}body.bg-dark #saasorg .btn.btn-default {
    background: #252837 !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: #d1d5db !important;
}
body.bg-dark #saasorg .btn.btn-default:hover {
    background: #2d3147 !important;
}

/* headar-menu-wrp */
body.bg-dark .headar-menu-wrp {
    color: #d1d5db !important;
    background: transparent !important;
}

/* has-user-block */
body.bg-dark .has-user-block {
    border-color: rgba(255,255,255,0.06) !important;
}

/* Bootstrap-toggle в тёмной теме */
body.bg-dark .toggle.btn {
    box-shadow: none !important;
}

/* DataTables строки */
body.bg-dark tr.odd { background: rgba(255,255,255,0.03) !important; }
body.bg-dark tr.even { background: transparent !important; }

/* Скроллбар сайдбара */
body.bg-dark .sidebar::-webkit-scrollbar-thumb { background-color: #374151 !important; }
body.bg-dark .sidebar::-webkit-scrollbar-track { background-color: #1a1d2e !important; }

/* bg-white класс в тёмной теме */
body.bg-dark .bg-white {
    background-color: #1e2130 !important;
    border-color: rgba(255,255,255,0.06) !important;
}

/* Dropdown в нижней навигации */
body.bg-dark .footernavbar {
    background: #1a1d2e !important;
    border-top-color: rgba(255,255,255,0.06) !important;
}

/* Вертикальная линия подменю */body.bg-dark .sidebar-subnav::before {
    background-color: rgba(255,255,255,0.1) !important;
}body.bg-dark .sidebar-subnav > li:not(.active) > a::before {
    background-color: #1e2130 !important;
    border-color: rgba(255,255,255,0.2) !important;
}

/* Активный пункт подменю */
/* ===== Конец тёмной темы ===== */

/* Скрываем пустые li в nav-links2 */
.nav-links2 li:not(:has(a)):not(:has(button)):not(:has(svg)) {
    display: none !important;
}

/* ─── Тёмная тема — активные пункты сайдбара ────────────────────────────── */

body.bg-dark .sidebar .nav > li.active > a,
body.bg-dark .sidebar .nav > li.active > .nav-item {
    background-color: rgba(26,86,219,0.25) !important;
    color: #60a5fa !important;
    font-weight: 600 !important;
}body.bg-dark .sidebar .nav > li.active > a .menu-img_i {
    background: rgba(26,86,219,0.2) !important;
    border-color: rgba(96,165,250,0.4) !important;
    color: #60a5fa !important;
}

body.bg-dark .sidebar .nav > li.active.sub-menu > a,
body.bg-dark .sidebar .nav > li.active.sub-menu > a[aria-expanded="true"] {
    background-color: rgba(26,86,219,0.25) !important;
    color: #60a5fa !important;
}
body.bg-dark .sidebar .nav > li > a:hover,
body.bg-dark .sidebar .nav > li > a:hover .menu-img_i {
    background: rgba(255,255,255,0.06) !important;
    color: #ffffff !important;
}body.bg-dark .sidebar-subnav > li.active > a {
    color: #60a5fa !important;
    background-color: rgba(26,86,219,0.15) !important;
}

body.bg-dark .sidebar-subnav > li > a {
    color: #9ca3af !important;
}

body.bg-dark .sidebar-subnav > li > a:hover {
    color: #e5e7eb !important;
    background: rgba(255,255,255,0.05) !important;
}

/* ─── Тёмная тема — базовый цвет текста в сайдбаре ─────────────────────── */

body.bg-dark .sidebar .nav > li > a,
body.bg-dark .sidebar .nav > li > .nav-item,
body.bg-dark .sidebar > .nav > li > a {
    color: #9ca3af !important;
}

body.bg-dark .sidebar .nav > li > a:hover,
body.bg-dark .sidebar > .nav > li > a:hover {
    color: #ffffff !important;
    background: rgba(255,255,255,0.06) !important;
}

/* Раскрытый (open) — светлее чем обычный */body.bg-dark .sidebar .nav > li.sub-menu > a[aria-expanded="true"] {
    background-color: transparent !important;
    color: #d1d5db !important;
    font-weight: 600 !important;
}

/* Подпункты — серый цвет, перебиваем глобальный a{color} */
.sidebar-subnav > li > a,
.sidebar-subnav > li > .nav-item,
.sidebar .sidebar-subnav a {
    color: #4b5563 !important;
    text-decoration: none !important;
}.sidebar-subnav > li > a:hover {
    background-color: #f3f4f8 !important;
    color: #1a1f36 !important;
}.sidebar-subnav > li.active > a {
    background-color: #eff4ff !important;
    font-weight: 500 !important;
    color: var(--ip-primary) !important;
}

/* ─── Кнопка рабочего дня (иконка-тоггл) ────────────────────────────────── *//* Активное состояние — рабочий день начат *//* Зелёная точка-индикатор */
.btn-workday__dot {
    position: absolute !important;
    top: 5px !important;
    right: 5px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: var(--ip-success) !important;
    border: 1.5px solid #ffffff !important;
    display: block !important;
}

/* Тёмная тема *//* ─── Единый box-стиль иконок в topnavbar ───────────────────────────────── */.btn-workday {
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: var(--ip-radius-sm) !important;
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.07) !important;
    color: #6b7280 !important;
    text-decoration: none !important;
    transition: border-color 0.15s, box-shadow 0.15s !important;
    position: relative !important;
    flex-shrink: 0 !important;
}.btn-workday:hover {
    border-color: rgba(26,86,219,0.3) !important;
    box-shadow: 0 1px 4px rgba(26,86,219,0.1) !important;
    color: var(--ip-primary) !important;
    background: #ffffff !important;
    text-decoration: none !important;
}.btn-workday svg {
    padding: 2px;
    stroke: currentColor !important;
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
}

/* Активный (рабочий день начат) — зелёная рамка */.btn-workday--active {
    color: var(--ip-success) !important;
    border-color: rgba(5,122,85,0.3) !important;
}.btn-workday--active:hover {
    background: #def7ec !important;
    border-color: rgba(5,122,85,0.5) !important;
    box-shadow: 0 1px 4px rgba(5,122,85,0.15) !important;
    color: var(--ip-success) !important;
}

/* Тёмная тема */
body.bg-dark .btn-workday {
    background: #252837 !important;
    border-color: rgba(255,255,255,0.1) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
    color: #9ca3af !important;
}body.bg-dark .btn-workday:hover {
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(96,165,250,0.3) !important;
    color: #e5e7eb !important;
}body.bg-dark .btn-workday__dot {
    border-color: #252837 !important;
}

/* ─── Единый box-стиль: чат, луна, колокол ─────────────────────────────── */

/* Сбрасываем старый box со SVG чата — теперь box на <a> через .topbar-icon */.headd-imgchat {
    /* background: #ffffff !important;
    */
    margin-right: 1px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    transition: .2s linear;
    padding: 2px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    width: 20px !important;
    height: 20px !important;
    background: transparent !important;
}

/* Сбрасываем высоту и анимацию от notification__box когда используется как topbar */
.notification__box.topbar-icon {
    height: 36px !important;
    animation: none !important;
}

.topbar-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: var(--ip-radius-sm) !important;
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.07) !important;
    color: #6b7280 !important;
    text-decoration: none !important;
    transition: border-color 0.15s, box-shadow 0.15s !important;
    flex-shrink: 0 !important;
}

.topbar-icon:hover {
    border-color: rgba(26,86,219,0.3) !important;
    box-shadow: 0 1px 4px rgba(26,86,219,0.1) !important;
    color: var(--ip-primary) !important;
    background: #ffffff !important;
    text-decoration: none !important;
}

.topbar-icon svg {
    padding: 2px;
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
}

body.bg-dark .topbar-icon {
    background: #252837 !important;
    border-color: rgba(255,255,255,0.1) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
    color: #9ca3af !important;
}

body.bg-dark .topbar-icon:hover {
    border-color: rgba(96,165,250,0.3) !important;
    color: #e5e7eb !important;
}

/* ─── Avatar container в topbar ─────────────────────────────────────────── */
.nav-links1 > .col.text-center {
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex-shrink: 0 !important;
    width: auto !important;
}
.nav-links1 > .col.text-center .dropdown {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
body.bg-dark button#largeDropdown {
    border-color: rgba(255,255,255,0.15) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
}
body.bg-dark button#largeDropdown:hover {
    border-color: rgba(96,165,250,0.3) !important;
    box-shadow: 0 2px 8px rgba(96,165,250,0.15) !important;
}

/* ─── Global Search ──────────────────────────────────────────────────────── */

.gs-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.gs-box {
    display: flex;
    align-items: center;
    gap: 0;
    border-radius: var(--ip-radius-sm);
    overflow: visible;
}

.gs-input {
    width: 0;
    max-width: 260px;
    height: 36px;
    padding: 0;
    border: 1px solid rgba(0,0,0,0.10);
    border-right: none;
    border-radius: 8px 0 0 8px;
    background: #ffffff;
    font-size: 13px;
    color: #1a1f36;
    outline: none;
    opacity: 0;
    pointer-events: none;
    transition: width 0.25s ease, opacity 0.2s ease, padding 0.25s ease;
}

.gs-input.open {
    width: 220px;
    padding: 0 12px;
    opacity: 1;
    pointer-events: all;
}

.gs-btn {
    border-radius: var(--ip-radius-sm) !important;
    cursor: pointer;
    flex-shrink: 0;
    transition: border-radius 0.2s ease, border-color 0.15s, box-shadow 0.15s !important;
}

.gs-input.open ~ .gs-clear {
    display: flex !important;
}

.gs-clear {
    display: none;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 36px;
    padding: 0;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.10);
    border-left: none;
    border-right: none;
    color: #9ca3af;
    font-size: 13px;
    cursor: pointer;
    flex-shrink: 0;
    transition: color 0.15s;
    line-height: 1;
}

.gs-clear:hover {
    color: #374151;
}

.gs-input.open ~ .gs-clear ~ .gs-btn,
.gs-input.open + .gs-btn {
    border-radius: 0 8px 8px 0 !important;
    border-left: none !important;
}

.gs-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 340px;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.10);
    border-radius: var(--ip-radius-md);
    box-shadow: 0 8px 24px rgba(0,0,0,0.10);
    z-index: 9999;
    max-height: 480px;
    overflow-y: auto;
}

.gs-dropdown.open { display: block; }

.gs-group-title {
    padding: 8px 14px 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #9ca3af;
}

.gs-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    font-size: 13px;
    color: #1a1f36;
    text-decoration: none;
    border-radius: var(--ip-radius-sm);
    margin: 1px 6px;
    transition: background 0.12s;
    cursor: pointer;
}

.gs-item:hover,
.gs-item.active {
    background: #eff4ff;
    color: var(--ip-primary);
    text-decoration: none;
}

.gs-item svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: #9ca3af;
}

.gs-item:hover svg,
.gs-item.active svg { color: var(--ip-primary); }

.gs-empty {
    padding: 20px 14px;
    text-align: center;
    font-size: 13px;
    color: #9ca3af;
}

.gs-spinner {
    padding: 16px;
    text-align: center;
    color: #9ca3af;
    font-size: 12px;
}

/* Тёмная тема */
body.bg-dark .gs-input {
    background: #252837;
    border-color: rgba(255,255,255,0.1);
    color: #e5e7eb;
}

body.bg-dark .gs-dropdown {
    background: #1e2130;
    border-color: rgba(255,255,255,0.08);
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}

body.bg-dark .gs-group-title { color: #6b7280; }

body.bg-dark .gs-item { color: #e5e7eb; }

body.bg-dark .gs-item:hover,
body.bg-dark .gs-item.active {
    background: rgba(26,86,219,0.2);
    color: #60a5fa;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PANELS — единый стиль всех панелей (заменяет Bootstrap #ddd / 4px)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.panel,
.panel-default,
.panel-custom {
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: var(--ip-radius-md) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}

.panel > .panel-heading,
.panel-custom > .panel-heading {
    border-radius: 11px 11px 0 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.07) !important;
    background: #fff !important;
}

.panel > .panel-body,
.panel-custom > .panel-body,
.panel-default > .panel-body {
    border-radius: 0 0 12px 12px !important;
}

body.bg-dark .panel,
body.bg-dark .panel-default,
body.bg-dark .panel-custom {
    border-color: rgba(255,255,255,0.07) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25) !important;
    background-color: #1e2130 !important;
}
body.bg-dark .panel > .panel-heading,
body.bg-dark .panel-custom > .panel-heading {
    background: #252837 !important;
    border-bottom-color: rgba(255,255,255,0.07) !important;
}

/* ── projects-section — восстанавливаем top-padding, убираем только bottom ── */
.projects-section {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-bottom: 20px !important;
    overflow: visible !important;
    height: auto !important;
    border-radius: var(--ip-radius-md) !important;
    
}
.projects-section-header {
    margin: 0 0 10px 0 !important;    /* было 4px — слишком тесно */
}
.projects-section-line {
    padding-bottom: 8px !important;   /* было 16px — уменьшаем зазор перед картами */
}

/* ── Статистика: точки-разделители ── */
.projects-status {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
}
.projects-status .item-status {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    margin-right: 16px !important;
}
/* Заменяем hollow circle на filled серый dot, ровно по центру status-type строки */
.item-status:not(:last-child) .status-type::after {
    background-color: #d1d5db !important;
    border: none !important;
    width: 4px !important;
    height: 4px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    right: 6px !important;
}

/* ── Убираем лишний margin-bottom и отрицательный horizontal margin у project-boxes ── */
.project-boxes {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.project-boxes.jsGridView {
    margin-bottom: 0 !important;
    column-gap: 16px !important;
    row-gap: 8px !important;
}

/* ── TAD menu: убираем Bootstrap row margin, пиллы выравниваем с KPI (16px отступ) ── */
#tad_menu_div > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
#tad_menu_div > .row > .col-lg-12 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* Пиллы-табы: 16px отступ чтобы совпадали с левым краем KPI-карточек */
#tad_menu_div > .row > .col-lg-12:first-child {
/*     margin-bottom: 12px !important; */
/*     padding-left: 16px !important;
    padding-right: 16px !important; */
}

/* ── Равная высота карточек в одной строке ── */
.project-boxes.jsGridView .project-box-wrapper {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;                        /* horizontal-padding убран — gap делает отступы между картами */
    width: calc(33.333% - 11px) !important;       /* (100% - 2×16px gap) / 3 ≈ 33.333% - 10.67px */
}
.project-boxes.jsGridView .project-box {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   KPI CARDS — Dashboard .project-box  (SaaS Marketing-стиль)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Base: white card, без top-border, gradient bar снизу */
.project-boxes .project-box-wrapper .project-box {
    --card-accent: var(--ip-primary);
    --card-icon-bg: rgba(26,86,219,0.10);
    background-color: #fff !important;
    border-radius: var(--ip-radius-md) !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    padding: 20px 20px 0 !important;
    position: relative;
    overflow: hidden;
}

/* Цветная полоска снизу */
.project-boxes .project-box-wrapper .project-box::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--card-accent) 0%, transparent 100%);
    border-radius: 0 0 12px 12px;
}

/* Per-card accent + icon bg */
.project-boxes .project-box-wrapper:nth-child(1) .project-box {
    --card-accent: #ff942e; --card-icon-bg: rgba(255,148,46,0.12);
}
.project-boxes .project-box-wrapper:nth-child(2) .project-box {
    --card-accent: #4f3ff0; --card-icon-bg: rgba(79,63,240,0.12);
}
.project-boxes .project-box-wrapper:nth-child(3) .project-box {
    --card-accent: #096c86; --card-icon-bg: rgba(9,108,134,0.12);
}
.project-boxes .project-box-wrapper:nth-child(4) .project-box {
    --card-accent: #df3670; --card-icon-bg: rgba(223,54,112,0.12);
}
.project-boxes .project-box-wrapper:nth-child(5) .project-box {
    --card-accent: #34c471; --card-icon-bg: rgba(52,196,113,0.12);
}
.project-boxes .project-box-wrapper:nth-child(6) .project-box {
    --card-accent: #4067f9; --card-icon-bg: rgba(64,103,249,0.12);
}

/* Header row: label + icon */
.project-boxes .project-box-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 10px !important;
}
.project-boxes .project-box-header span {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    color: #9ca3af !important;
}

/* Иконка — цветной квадрат на .more-wrapper (всегда присутствует) */
.project-boxes .project-box-header .more-wrapper {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    background-color: var(--card-icon-bg) !important;
    border-radius: var(--ip-radius-md) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* .project-btn-more прозрачный — фон уже на .more-wrapper */
.project-boxes .project-btn-more {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    min-width: unset !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    cursor: default;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* SVG — акцентный цвет, включая inline style="color:000" */
.project-boxes .project-box-header .more-wrapper svg,
.project-boxes .project-box-header .more-wrapper svg[style] {
    width: 22px !important;
    height: 22px !important;
    color: var(--card-accent) !important;
    stroke: var(--card-accent) !important;
}

/* Content */
.project-boxes .project-box-content-header {
    text-align: left !important;
    margin-bottom: 4px !important;
}
.project-boxes .box-content-header {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #6b7280 !important;
    margin-bottom: 6px !important;
    padding-bottom: 0 !important;
}
.project-boxes .box-content-subheader {
    font-size: clamp(18px, 1.8vw, 28px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: #111827 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Footer: "Подробнее" link + отступ под градиентную полосу */
.project-boxes .project-box-footer {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    padding: 12px 0 16px !important;
    border-top: 1px solid rgba(0,0,0,0.06) !important;
    margin-top: 16px !important;
}
.project-boxes .project-box-footer::after {
    display: none !important;
}
.project-boxes .days-left {
    background-color: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--card-accent) !important;
}
.project-boxes .days-left a {
    text-decoration: none !important;
    font-weight: 600 !important;
    color: var(--card-accent) !important;
}
.project-boxes .days-left a:hover {
    text-decoration: underline !important;
}

/* Мобильная версия — иконка меньше, padding меньше, label влезает */
@media (max-width: 480px) {
    .project-boxes .project-box-wrapper .project-box {
        padding: 12px 12px 0 !important;
    }
    .project-boxes .project-box-header .more-wrapper {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        border-radius: var(--ip-radius-sm) !important;
    }
    .project-boxes .project-box-header .more-wrapper svg {
        width: 16px !important;
        height: 16px !important;
    }
    .project-boxes .project-box-header span {
        font-size: 9px !important;
        max-width: calc(100% - 36px) !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .project-boxes .box-content-subheader {
        font-size: 14px !important;
    }
}

/* Dark theme */
body.bg-dark .project-boxes .project-box-wrapper .project-box {
    background-color: #1e2130 !important;
    border-color: rgba(255,255,255,0.07) !important;
}
body.bg-dark .project-boxes .box-content-subheader {
    color: #f3f4f6 !important;
}
body.bg-dark .project-boxes .project-box-footer {
    border-top-color: rgba(255,255,255,0.08) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   BUTTON SYSTEM — SaaS redesign
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Shared base — сброс старых pill/scale/box-shadow эффектов */
.botomerpbotomdefault,
.botomerepot,
.botomerpbotomprim {
    height: 38px !important;
    min-width: 90px;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    border-radius: var(--ip-radius-sm) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    padding: 0 20px !important;
    cursor: pointer;
    text-decoration: none !important;
    white-space: nowrap;
    outline: none !important;
    -webkit-appearance: none;
    transition: background-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease !important;
}

/* Сброс старого hover-эффекта (только scale/animation; padding НЕ трогаем —
   иначе у height:auto кнопок (.botomerpbotomprim) вертикальный паддинг 0 «сплющивал» их на ховере) */
.botomerpbotomdefault:hover,
.botomerepot:hover,
.botomerpbotomprim:hover {
    transform: none !important;
    animation: none !important;
    text-decoration: none !important;
}

/* input.botomerpbotomdefault — сохраняем padding с иконкой при hover */
input.botomerpbotomdefault:hover {
    padding-left: 36px !important;
    padding-right: 16px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='12' x2='9' y2='17'/%3E%3Cline x1='9' y1='17' x2='20' y2='6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: left 14px center !important;
    background-size: 15px 15px !important;
}

/* ── Сохранить — Primary blue (не применять к .me_name — preview кнопка тега) ── */
.botomerpbotomdefault:not(.me_name) {
    background-color: var(--ip-primary) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 1px 3px rgba(26,86,219,0.30) !important;
    float: right !important;
}
/* Preview button — показывает стиль тега из инлайн-атрибута, выглядит как pill-бейдж */
.botomerpbotomdefault.me_name {
    padding: 3px 10px !important;
    height: auto !important;
    min-width: auto !important;
    font-size: 11px !important;
    border-radius: var(--ip-radius-xl) !important;
    font-weight: 600 !important;
    float: none !important;
    box-shadow: none !important;
}
/* Reset float inside Bootstrap input-group — float breaks container height */
.input-group .botomerpbotomdefault,
.input-group-btn .botomerpbotomdefault {
    float: none !important;
    height: auto !important;
}

/* Hide native selects before select2 replaces them — prevents FOUC */
select.select_box,
select.select_box_no_search {
    display: none;
}

.btn-bottom-toolbar {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.botomerpbotomdefault:not(.me_name):hover {
    background-color: #1e429f !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(26,86,219,0.40) !important;
}

/* ── Закрыть — Neutral ghost (стили в button.botomerpbotomdropdown ~line 9301) ── */

/* ── Выполнить отчёт — Primary blue ──────────── */.botomerepot {
    text-decoration: none !important;
    margin: 1px 2px !important;
    transition: .2s linear;
    border-radius: var(--ip-radius-sm) !important;
    height: auto !important;
    padding: 6px 14px !important;
    background-color: var(--ip-primary) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 1px 3px rgba(26,86,219,0.30) !important;
}.botomerepot:hover {
    /*     box-shadow: #025e2a 0 0px 0px 40px inset;
    */
    background-color: #01b81a !important;
    background-color: #1e429f !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(26,86,219,0.40) !important;
}

/* ── Primary outline (botomerpbotomprim) — размер/радиус/паддинг НЕ переопределяем:
   берём из базового правила SaaS BUTTON SYSTEM (height 38px, radius 8px, padding 0 20px),
   чтобы кнопка совпадала по размеру с «Сохранить» (.botomerpbotomdefault). Здесь только outline-вид. ─────── */.botomerpbotomprim {
    text-decoration: none !important;
    float: right;
    margin: 1px 2px;
    transition: .2s linear;
    background-color: transparent !important;
    color: var(--ip-primary) !important;
    border: 1.5px solid var(--ip-primary) !important;
    box-shadow: none !important;
}.botomerpbotomprim:hover {
    background-color: #eff4ff !important;
    color: #1e429f !important;
    border-color: #1e429f !important;
    box-shadow: none !important;
}

/* ── Icons via ::before (SVG data URLs) ──────── */

/* Сохранить — checkmark (для <button>, не для .me_name preview) */
button.botomerpbotomdefault:not(.me_name)::before {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='12' x2='9' y2='17'/%3E%3Cline x1='9' y1='17' x2='20' y2='6'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Сохранить — checkmark (для <input type="submit/button">) */
/* ::before не работает на input — используем background-image */
input.botomerpbotomdefault {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='12' x2='9' y2='17'/%3E%3Cline x1='9' y1='17' x2='20' y2='6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: left 14px center !important;
    background-size: 15px 15px !important;
    padding-left: 36px !important;
    padding-right: 16px !important;
}

/* Закрыть — X */
.botomerpbotomdropdown::before,
.botomerpbotomdropdown1::before {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Выполнить отчёт — play triangle */
.botomerepot::before {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='5 3 19 12 5 21 5 3'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Primary outline — arrow right */
.botomerpbotomprim::before {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a56db' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Dark theme icon for Закрыть */
body.bg-dark .botomerpbotomdropdown::before,
body.bg-dark .botomerpbotomdropdown1::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5e7eb' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
}

/* Dark theme icon for Primary outline */
body.bg-dark .botomerpbotomprim::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");
}

/* ── Dark theme dropdown (стили в body.bg-dark button.botomerpbotomdropdown ~line 9335) ── */
body.bg-dark .botomerpbotomprim {
    border-color: #60a5fa !important;
    color: #60a5fa !important;
}
body.bg-dark .botomerpbotomprim:hover {
    background-color: rgba(26,86,219,0.2) !important;
    color: #93c5fd !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   botomerpbotomprim1 — Submit/Report button (same as primary blue)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */.botomerpbotomprim1 {
    margin: 0px 5px;
    border-color: var(--ip-primary) !important;
    height: 38px !important;
    min-width: 90px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    border-radius: var(--ip-radius-sm) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    padding: 0 20px !important;
    cursor: pointer;
    text-decoration: none !important;
    white-space: nowrap;
    float: none !important;
    background-color: var(--ip-primary) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 1px 3px rgba(26,86,219,0.30) !important;
    transition: background-color 0.15s ease, box-shadow 0.15s ease !important;
}.botomerpbotomprim1:hover {
    padding: 0 20px !important;
    transform: none !important;
    animation: none !important;
    text-decoration: none !important;
    background-color: #1e429f !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(26,86,219,0.40) !important;
}
.botomerpbotomprim1::before {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cline x1='13' y1='6' x2='19' y2='12'/%3E%3Cline x1='13' y1='18' x2='19' y2='12'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   botomerporange1/3 — Next Tab (primary blue)
   botomerporange2/4 — Prev Tab (ghost neutral)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Shared reset */
.botomerporange1,
.botomerporange2,
.botomerporange3,
.botomerporange4 {
    height: 38px !important;
    min-width: 90px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    border-radius: var(--ip-radius-sm) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    padding: 0 20px !important;
    cursor: pointer;
    text-decoration: none !important;
    white-space: nowrap;
    float: none !important;
    transition: background-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease !important;
}
.botomerporange1:hover,
.botomerporange2:hover,
.botomerporange3:hover,
.botomerporange4:hover {
    padding: 0 20px !important;
    transform: none !important;
    animation: none !important;
    text-decoration: none !important;
}

/* orange1 / orange3 — Далее: brand orange #E53000 */
.botomerporange1,
.botomerporange3 {
    background-color: #E53000 !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 1px 3px rgba(229,48,0,0.30) !important;
}
.botomerporange1:hover,
.botomerporange3:hover {
    background-color: #c42800 !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(229,48,0,0.40) !important;
}

/* orange2 / orange4 — Назад: brand navy outline #061153 */
.botomerporange2,
.botomerporange4 {
    background-color: transparent !important;
    color: #061153 !important;
    border: 1.5px solid #061153 !important;
    box-shadow: none !important;
}
.botomerporange2:hover,
.botomerporange4:hover {
    background-color: rgba(6,17,83,0.07) !important;
    color: #061153 !important;
    box-shadow: none !important;
}

/* Icons — orange1/3: arrow right (white), orange2/4: arrow left (navy) */
.botomerporange1::before,
.botomerporange3::before {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cline x1='13' y1='6' x2='19' y2='12'/%3E%3Cline x1='13' y1='18' x2='19' y2='12'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.botomerporange2::before,
.botomerporange4::before {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23061153' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cline x1='11' y1='6' x2='5' y2='12'/%3E%3Cline x1='11' y1='18' x2='5' y2='12'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* FA icons already in HTML — hide them (CSS icon replaces) */
.botomerporange1 .fa,
.botomerporange2 .fa,
.botomerporange3 .fa,
.botomerporange4 .fa {
    display: none !important;
}

/* Dark theme — Назад в тёмной теме: navy слишком тёмный, делаем светлее */
body.bg-dark .botomerporange2,
body.bg-dark .botomerporange4 {
    color: #7b8cde !important;
    border-color: #7b8cde !important;
    background-color: transparent !important;
}
body.bg-dark .botomerporange2:hover,
body.bg-dark .botomerporange4:hover {
    background-color: rgba(123,140,222,0.12) !important;
    color: #a5b4fc !important;
    border-color: #a5b4fc !important;
}
body.bg-dark .botomerporange2::before,
body.bg-dark .botomerporange4::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8cde' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cline x1='11' y1='6' x2='5' y2='12'/%3E%3Cline x1='11' y1='18' x2='5' y2='12'/%3E%3C/svg%3E");
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   .checkbox.style-e — SaaS toggle (Физ лицо / Юр лицо)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.checkbox.style-e {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer;
    position: static !important;
    padding: 0 !important;
}

.checkbox.style-e input {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

/* Track (the sliding toggle) */
.checkbox.style-e .checkbox__checkmark {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    flex-shrink: 0;
    width: 44px !important;
    height: 24px !important;
    background-color: var(--ip-primary) !important;
    border: none !important;
    border-radius: var(--ip-radius-md) !important;
    transition: background-color 0.2s ease !important;
    box-shadow: none !important;
}

/* Slider knob */
.checkbox.style-e .checkbox__checkmark::after {
    content: '' !important;
    position: absolute !important;
    left: 3px !important;
    top: 3px !important;
    width: 18px !important;
    height: 18px !important;
    background-color: #fff !important;
    border-radius: 50% !important;
    transition: left 0.2s ease !important;
    display: block !important;
}

/* Checked: knob slides right, track turns orange */
.checkbox.style-e input[type=checkbox]:checked ~ .checkbox__checkmark {
    background-color: #E53000 !important;
    border: none !important;
}
.checkbox.style-e input[type=checkbox]:checked ~ .checkbox__checkmark::after {
    left: 23px !important;
}

/* Labels */
.checkbox.style-e .checkbox__body_left,
.checkbox.style-e .checkbox__body {
    float: none !important;
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    transition: color 0.2s ease, font-weight 0.15s ease !important;
}

/* Unchecked: left label active (Физ лицо) */
.checkbox.style-e .checkbox__body_left {
    color: #1a1f36 !important;
    font-weight: 600 !important;
}
.checkbox.style-e .checkbox__body {
    color: #6b7280 !important;
}

/* Checked: right label active (Юр лицо), left becomes muted */
.checkbox.style-e input:checked ~ .checkbox__body_left {
    color: #6b7280 !important;
    font-weight: 500 !important;
}
.checkbox.style-e input:checked ~ .checkbox__body {
    color: #1a1f36 !important;
    font-weight: 600 !important;
}

/* Dark theme */
body.bg-dark .checkbox.style-e .checkbox__body_left,
body.bg-dark .checkbox.style-e .checkbox__body {
    color: #9ca3af !important;
}
body.bg-dark .checkbox.style-e .checkbox__body_left {
    color: #f3f4f6 !important;
    font-weight: 600 !important;
}
body.bg-dark .checkbox.style-e input:checked ~ .checkbox__body_left {
    color: #9ca3af !important;
    font-weight: 500 !important;
}
body.bg-dark .checkbox.style-e input:checked ~ .checkbox__body {
    color: #f3f4f6 !important;
    font-weight: 600 !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   DASHBOARD PANELS — SaaS redesign
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Panel: border-radius нужен clip — применяем к heading */
.panel.panel-custom > .panel-heading,
.panel > ul.nav-tabs.panelhed:first-child,
.panel-custom > ul.nav-tabs.panelhed:first-child {
    border-radius: 10px 10px 0 0 !important;
    overflow: hidden;
}

/* ── panelhed — flex-заголовок ────────────────── */ul.nav.nav-tabs.panelhed {
    margin-bottom: 5px;
    margin-top: 5px;
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center !important;
    min-height: 52px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    list-style: none !important;
    gap: 4px;
}

/* Сброс float на li */
ul.nav.nav-tabs.panelhed > li {
    float: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Первый li — заголовок панели, занимает всё свободное место */
/* Блокируем pointer-events только на чисто-текстовых title-якорях:
   без href, без data-toggle, без onclick — т.е. не таб и не TAD-кнопка */
ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop) {
    flex: 1 1 auto !important;
}
ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop) > a:not([href]):not([data-toggle]):not([onclick]) {
    display: block !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: none !important;
    cursor: default;
    pointer-events: none;
}

/* Остальные li — контролы справа */
ul.nav.nav-tabs.panelhed > li.linktop {
    float: none !important;
    margin: 0 !important;
    flex-shrink: 0;
}

/* Ссылки-табы */
ul.nav.nav-tabs.panelhed > li > a[data-toggle="tab"],
ul.nav.nav-tabs.panelhed > li > a[href] {
    padding: 5px 12px !important;
    border: none !important;
    border-radius: var(--ip-radius-sm) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
    pointer-events: auto;
}
ul.nav.nav-tabs.panelhed > li > a[data-toggle="tab"]:hover,
ul.nav.nav-tabs.panelhed > li > a[href]:hover {
    background-color: #f3f4f8 !important;
    border: none !important;
}
ul.nav.nav-tabs.panelhed > li.active > a[data-toggle="tab"],
ul.nav.nav-tabs.panelhed > li.active > a[href] {
    background-color: #eff4ff !important;
    color: var(--ip-primary) !important;
    border: none !important;
    font-weight: 600 !important;
}

/* ── Статистика внутри панелей ─────────────────── */
/* Большие числа (finance_overview и подобные) */
.panel-custom .font-size,
.panel-custom [class*="font-size"],
#display-money span {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1a1f36 !important;
    display: block !important;
    margin-bottom: 4px !important;
}

#display-money {
    padding: 12px 8px !important;
    text-align: center;
}
#display-money small {
    font-size: 11px !important;
    color: #6b7280 !important;
    font-weight: 400 !important;
}

/* ── Highcharts контейнер — responsive ────────── */
.highcharts-figure,
[id$="_divv"],
[id$="_overview"],
[id*="highcharts"] {
    overflow: visible !important;
    width: 100% !important;
}

/* ── Dark theme панелей ────────────────────────── */
body.bg-dark ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop) > a:not([href]):not([data-toggle]):not([onclick]) {
    color: #e5e7eb !important;
}
body.bg-dark ul.nav.nav-tabs.panelhed > li > a[data-toggle="tab"]:hover,
body.bg-dark ul.nav.nav-tabs.panelhed > li > a[href]:hover {
    background-color: rgba(255,255,255,0.06) !important;
    color: #e5e7eb !important;
}
body.bg-dark ul.nav.nav-tabs.panelhed > li.active > a[data-toggle="tab"],
body.bg-dark ul.nav.nav-tabs.panelhed > li.active > a[href] {
    background-color: rgba(26,86,219,0.2) !important;
    color: #60a5fa !important;
}
body.bg-dark #display-money span {
    color: #f3f4f6 !important;
}

/* ═══════════════════════════════════════════════════════════════
   TODO LIST — SaaS pill tabs redesign
   ═══════════════════════════════════════════════════════════════ */

/* Внешняя todo-панель — padding и gap 20px */
.panel.panel-custom.menu {
    padding: 20px !important;
    box-sizing: border-box !important;
}
.panel.panel-custom.menu > .col-lg-12 {
    padding: 0 !important;
    display: flex !important;
    gap: 20px !important;
}
.panel.panel-custom.menu > .col-lg-12 > .col-lg-4,
.panel.panel-custom.menu > .col-lg-12 > .col-lg-8 {
    padding: 0 !important;
    float: none !important;
    flex-shrink: 0 !important;
}
.panel.panel-custom.menu > .col-lg-12 > .col-lg-4 {
    width: calc(33.3333% - 14px) !important;
}
.panel.panel-custom.menu > .col-lg-12 > .col-lg-8 {
    width: calc(66.6667% - 6px) !important;
    flex: 1 !important;
}

/* Левая карточка панели */
.panel.panel-custom.menu .panelcat {
    border-radius: var(--ip-radius-md) !important;
    box-shadow: 0 1px 8px rgba(0,0,0,0.07) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    padding: 8px !important;
}

/* ── Список-навигация form1 ────────────────────────────────── */ul.form1 {
    position: relative;
    list-style: none;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.form1 li {
    list-style: none !important;
}

/* Базовая кнопка-таб */.form1 li a {
    padding-left: 20px;
    /* 		height: 50px;
    line-height: 50px;
    */
    display: block;
    overflow: hidden;
    position: relative;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 14px !important;
    border-left: none !important;
    border-radius: var(--ip-radius-sm) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    color: #374151 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.15s, color 0.15s !important;
    -webkit-border-radius: var(--ip-radius-sm) !important;
    -moz-border-radius: var(--ip-radius-sm) !important;
}

/* Убираем старые цветные левые рамки */
.form1 li a.profile1,
.form1 li a.profile2,
.form1 li a.messages1,
.form1 li a.settings1,
.form1 li a.settings2,
.form1 li a.logout1 {
    border-left: none !important;
}

/* Убираем старые border-radius у первого/последнего */
.form1 li:first-child a,
.form1 li:first-child a:hover,
.form1 li:last-child a,
.form1 li:last-child a:hover {
    border-radius: var(--ip-radius-sm) !important;
}

/* SVG иконка в кнопке */
.form1 li a svg {
    flex-shrink: 0 !important;
    stroke: #6b7280 !important;
    transition: stroke 0.15s !important;
}

/* Hover неактивного таба */
.form1 li a:hover {
    background: #f3f4f8 !important;
    color: var(--ip-primary) !important;
}
.form1 li a:hover svg {
    stroke: var(--ip-primary) !important;
}

/* Активный таб */
.form1 li.selected > a,
.form1 li.selected > a:hover {
    background: var(--ip-primary) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 8px rgba(26,86,219,0.22) !important;
}
.form1 li.selected > a svg,
.form1 li.selected > a:hover svg {
    stroke: #ffffff !important;
}

/* Счётчик (em) — у активного */
.form1 li.selected > a em {
    background: rgba(255,255,255,0.22) !important;
    color: #ffffff !important;
}

/* Счётчик — у неактивного */.form1 em {
    -webkit-border-radius: var(--ip-radius-md);
    -moz-border-radius: var(--ip-radius-md);
    /* margin-top: 17px;
    */
    margin-right: 15px;
    height: 15px;
    float: right;
    width: auto;
    margin-left: auto !important;
    font-style: normal !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    min-width: 20px !important;
    text-align: center !important;
    padding: 2px 7px !important;
    border-radius: var(--ip-radius-md) !important;
    background: #fee2e2 !important;
    color: #b91c1c !important;
    line-height: 1.4 !important;
}

/* ── Dark theme ────────────────────────────────────────────── */
body.bg-dark .panel.panel-custom.menu .panelcat {
    border-color: rgba(255,255,255,0.07) !important;
    box-shadow: 0 1px 8px rgba(0,0,0,0.25) !important;
}
body.bg-dark .form1 li a {
    color: #d1d5db !important;
}
body.bg-dark .form1 li a svg {
    stroke: #9ca3af !important;
}
body.bg-dark .form1 li a:hover {
    background: rgba(255,255,255,0.06) !important;
    color: #e5e7eb !important;
}
body.bg-dark .form1 li a:hover svg {
    stroke: #e5e7eb !important;
}
body.bg-dark .form1 li.selected > a,
body.bg-dark .form1 li.selected > a:hover {
    background: var(--ip-primary) !important;
    color: #ffffff !important;
}
body.bg-dark .form1 li:not(.selected) em {
    background: rgba(185,28,28,0.25) !important;
    color: #fca5a5 !important;
}

/* ═══════════════════════════════════════════════════════════════
   TAD MENU — навигация дашборда (TodoList / Мои задачи / и т.д.)
   Используем полную цепочку классов для победы над ul.nav.nav-tabs.panelhed
   ═══════════════════════════════════════════════════════════════ */

/* Контейнер — белая карточка с gap между pill-табами */
ul.nav.nav-tabs.nav-tabs_menu.panelhed {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    min-height: auto !important;
    background: #ffffff !important;
    border-radius: var(--ip-radius-md) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06) !important;
    padding: 8px !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
    overflow-x: auto !important;
}

/* Все li — компактные, без растяжки (перебиваем flex: 1 1 auto от panelhed) */
ul.nav.nav-tabs.nav-tabs_menu.panelhed > li,
ul.nav.nav-tabs.nav-tabs_menu.panelhed > li:first-child {
    flex: 0 0 auto !important;
    float: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Все pill-ссылки — outlined стиль (перебиваем pointer-events:none у first-child > a) */
ul.nav.nav-tabs.nav-tabs_menu.panelhed > li > a,
ul.nav.nav-tabs.nav-tabs_menu.panelhed > li:first-child > a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 9px 14px !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #6b7280 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    text-decoration: none !important;
    transition: color 0.15s !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    background: transparent !important;
    line-height: 1.4 !important;
}

/* Hover — только цвет, без подложки */
ul.nav.nav-tabs.nav-tabs_menu.panelhed > li > a:hover,
ul.nav.nav-tabs.nav-tabs_menu.panelhed > li:first-child > a:hover {
    background: transparent !important;
    color: var(--ip-primary) !important;
}

/* Активный таб — синий текст + подчёркивание (как в мокапе) */
ul.nav.nav-tabs.nav-tabs_menu.panelhed > li.active > a,
ul.nav.nav-tabs.nav-tabs_menu.panelhed > li.active:first-child > a {
    background: transparent !important;
    border-bottom-color: var(--ip-primary) !important;
    color: var(--ip-primary) !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

/* Убираем BS underline у активного */
ul.nav.nav-tabs.nav-tabs_menu.panelhed > li > a::after,
ul.nav.nav-tabs.nav-tabs_menu.panelhed > li:first-child > a::after {
    display: none !important;
}

/* Скроллбар */
ul.nav-tabs_menu::-webkit-scrollbar { height: 4px !important; background: transparent !important; }
ul.nav-tabs_menu::-webkit-scrollbar-thumb { background: #e5e7eb !important; border-radius: 4px !important; }

/* Мобильная версия nav-tabs_menu — компактные кнопки */
@media (max-width: 480px) {
    ul.nav.nav-tabs.nav-tabs_menu.panelhed {
        gap: 6px !important;
        padding: 6px !important;
    }
    ul.nav.nav-tabs.nav-tabs_menu.panelhed > li > a,
    ul.nav.nav-tabs.nav-tabs_menu.panelhed > li:first-child > a {
        padding: 5px 12px !important;
        font-size: 11px !important;
    }
}

/* Мобильная версия — колонки todo секции стакаются */
@media (max-width: 768px) {
    .panel.panel-custom.menu .col-lg-4,
    .panel.panel-custom.menu .col-lg-8,
    .panel.panel-custom.menu .col-lg-12 {
        width: 100% !important;
        float: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ── Dark theme ─────────────────────────────────────────────── */
body.bg-dark ul.nav.nav-tabs.nav-tabs_menu.panelhed {
    background: #1e2130 !important;
    border-color: rgba(255,255,255,0.07) !important;
    box-shadow: 0 1px 8px rgba(0,0,0,0.25) !important;
}
body.bg-dark ul.nav.nav-tabs.nav-tabs_menu.panelhed > li > a,
body.bg-dark ul.nav.nav-tabs.nav-tabs_menu.panelhed > li:first-child > a {
    color: #93c5fd !important;
    border-color: rgba(255,255,255,0.12) !important;
    background: transparent !important;
}
body.bg-dark ul.nav.nav-tabs.nav-tabs_menu.panelhed > li > a:hover,
body.bg-dark ul.nav.nav-tabs.nav-tabs_menu.panelhed > li:first-child > a:hover {
    background: rgba(26,86,219,0.15) !important;
    border-color: #3b82f6 !important;
    color: #60a5fa !important;
}
body.bg-dark ul.nav.nav-tabs.nav-tabs_menu.panelhed > li.active > a,
body.bg-dark ul.nav.nav-tabs.nav-tabs_menu.panelhed > li.active:first-child > a {
    background: var(--ip-primary) !important;
    border-color: var(--ip-primary) !important;
    color: #ffffff !important;
}
body.bg-dark ul.nav-tabs_menu::-webkit-scrollbar-thumb { background: #374151 !important; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PANELHED BUTTONS — .plusiconip в панельных заголовках
   SaaS icon-box стиль (аналог .more-wrapper в KPI-карточках)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */ul.nav.nav-tabs.panelhed li.linktop > a.plusiconip:hover {
    background-color: rgba(26,86,219,0.16) !important;
    border-color: rgba(26,86,219,0.32) !important;
    box-shadow: 0 2px 6px rgba(26,86,219,0.14) !important;
    text-decoration: none !important;
}
/* Dark theme */
body.bg-dark ul.nav.nav-tabs.panelhed li.linktop > a.plusiconip {
    background-color: rgba(96,165,250,0.12) !important;
    border-color: rgba(96,165,250,0.20) !important;
}
body.bg-dark ul.nav.nav-tabs.panelhed li.linktop > a.plusiconip:hover {
    background-color: rgba(96,165,250,0.22) !important;
    border-color: rgba(96,165,250,0.38) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   NAV-TABS-CUSTOM — manage_client, proposals, contracts,
   application_auto, projects — панель-шапка с табами и кнопками
   ═══════════════════════════════════════════════════════════════════ */

/* Контейнер: белая карточка с нижней границей */
.nav-tabs-custom {
    background: var(--ip-bg-card, #ffffff) !important;
/*     border-bottom: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important; */
    border-radius: 12px 12px 0 0 !important;
    overflow: visible !important;
}

/* panelhed внутри nav-tabs-custom: компактный, без лишних отступов */
/* Внутри nav-tabs-custom / panelcat / bg-white настоящие табы НЕ тянутся:
   растяжка flex:1 нужна только для dashboard title-spacer */
.nav-tabs-custom ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop),
.tab-content.panelcat > ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop),
.tab-content.bg-white > ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop) {
    flex: 0 0 auto !important;
}

/* Первый linktop после реального таба → margin-left:auto,
   прижимает все иконки вправо (работает на proposals, manage_client row1 и т.д.) */
ul.nav.nav-tabs.panelhed > li:not(.linktop) + li.linktop {
    margin-left: auto !important;
}

/* ── Два panelhed внутри .nav-tabs-custom > div — обрабатывается
   только правилами :has() ниже (строки ~8047+) и .panelhed-row { display:flex }.
   НЕ ставим display:flex на .nav-tabs-custom > div глобально —
   это ломает div.scroll-container (details/objects/projects) где
   flex:wrap разрушает горизонтальный скрол стрелками. */

/* ── .dropbtn: override filtrip.css (красный фон 30px → нейтральный 36px) ── */ul.nav.nav-tabs.panelhed li.linktop > button.dropbtn:hover,
ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn:hover {
    background-color: #f3f4f8 !important;
    border-color: rgba(0,0,0,0.18) !important;
    text-decoration: none !important;
}ul.nav.nav-tabs.panelhed li.linktop > button.dropbtn:hover img,
ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn:hover img {
    opacity: 1 !important;
}

/* classiconip/classiconip1 в шапке (напр. кнопка печати на shipments/details) —
   убираем salmon-фон, приводим к общему нейтральному icon-box стилю как .dropbtn.
   DataTables-печать (.dt-buttons) не затрагивается — там другой контекст. */
ul.nav.nav-tabs.panelhed li.linktop > button.classiconip,
ul.nav.nav-tabs.panelhed li.linktop > button.classiconip1,
ul.nav.nav-tabs.panelhed li.linktop > a.classiconip,
ul.nav.nav-tabs.panelhed li.linktop > a.classiconip1 {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: var(--ip-radius-sm) !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: var(--ip-text-muted, #6b7280) !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
}
ul.nav.nav-tabs.panelhed li.linktop > .classiconip:hover,
ul.nav.nav-tabs.panelhed li.linktop > .classiconip1:hover {
    background-color: #f3f4f8 !important;
    border-color: rgba(0,0,0,0.18) !important;
    text-decoration: none !important;
}
ul.nav.nav-tabs.panelhed li.linktop > .classiconip img,
ul.nav.nav-tabs.panelhed li.linktop > .classiconip1 img {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    flex-shrink: 0 !important;
    opacity: 0.7 !important;
}
ul.nav.nav-tabs.panelhed li.linktop > .classiconip:hover img,
ul.nav.nav-tabs.panelhed li.linktop > .classiconip1:hover img { opacity: 1 !important; }
body.bg-dark ul.nav.nav-tabs.panelhed li.linktop > .classiconip,
body.bg-dark ul.nav.nav-tabs.panelhed li.linktop > .classiconip1 {
    border-color: rgba(255,255,255,0.12) !important;
    color: #9ca3af !important;
}

/* ── #wrap: order:-1 → стоит ПЕРВЫМ в правой группе.
   #searchtable раскрывается влево (right:0, width:0→250px) в пустое
   пространство заголовка — не закрывает ⚙ и ▽ (они правее #wrap). */
/* Кнопки settings/filter всегда выше expanding #searchtable (z-index:3) */
/* searchuip — кнопка поиска: нейтральный icon-box 36px */ul.nav.nav-tabs.panelhed #wrap .searchuip:hover,
#wrap .searchuip:hover {
    background-color: #f3f4f8 !important;
    border-color: rgba(0,0,0,0.18) !important;
}

/* searchuip dark */
body.bg-dark ul.nav.nav-tabs.panelhed #wrap .searchuip,
body.bg-dark #wrap .searchuip {
    border-color: rgba(255,255,255,0.12) !important;
}
body.bg-dark ul.nav.nav-tabs.panelhed #wrap .searchuip:hover,
body.bg-dark #wrap .searchuip:hover {
    background-color: rgba(255,255,255,0.07) !important;
    border-color: rgba(255,255,255,0.22) !important;
}

/* ── #searchtable: горизонтальное раскрытие (searchip.css: width 0→250px при :focus)
   Свёрнут: border:none; padding:0; background:none → ровно 0px видимой ширины.
   Раскрыт: получает SaaS-стиль только на :focus.                                */#wrap #searchtable:focus,
#wrap #kanban_search:focus {
    border-radius: var(--ip-radius-sm) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.10)) !important;
    box-shadow: 0 0 0 3px rgba(26,86,219,0.10) !important;
    background-color: var(--ip-bg-card, #fff) !important;
    color: var(--ip-text, #1a1f36) !important;
    padding: 0 40px 0 12px !important;
}
body.bg-dark #wrap #searchtable:focus,
body.bg-dark #wrap #kanban_search:focus {
    background-color: #252837 !important;
    border-color: rgba(255,255,255,0.12) !important;
    color: #e5e7eb !important;
}

/* ── Bootstrap tooltips — скрыты полностью ── */
.tooltip {
    display: none !important;
}

/* ── DataTables dt-buttons (print/export) — icon-box стиль ── */
div.dt-buttons {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}
div.dt-buttons .dt-button {
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 8px !important;
    border-radius: var(--ip-radius-sm) !important;
    background: transparent !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: var(--ip-text-muted, #6b7280) !important;
    font-size: var(--ip-body-font-size, 13px) !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
}
div.dt-buttons .dt-button:hover {
    background: #f3f4f8 !important;
    border-color: rgba(0,0,0,0.18) !important;
}
div.dt-buttons .dt-button span {
    display: inline-flex !important;
    align-items: center !important;
}
div.dt-buttons .dt-button img.icon-svg,
div.dt-buttons .dt-button .classiconip img {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    opacity: 0.7 !important;
}
div.dt-buttons .dt-button:hover img.icon-svg,
div.dt-buttons .dt-button:hover .classiconip img {
    opacity: 1 !important;
}

/* ── Вложенный <a> или <span> внутри dt-button — убрать двойную обводку ── */
div.dt-buttons .dt-button > a,
div.dt-buttons .dt-button > span > a,
div.dt-buttons .dt-button a[id^="btn-"] {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: inherit !important;
    text-decoration: none !important;
}
div.dt-buttons .dt-button > a:focus,
div.dt-buttons .dt-button > span > a:focus,
div.dt-buttons .dt-button a[id^="btn-"]:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* ── Dark theme ────────────────────────────────────────────────── */
/* .nav-tabs-custom background/border: auto via --ip-bg-card / --ip-border (bg-dark.css) */

body.bg-dark ul.nav.nav-tabs.panelhed li.linktop > button.dropbtn,
body.bg-dark ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn {
    background-color: transparent !important;
    border-color: rgba(255,255,255,0.12) !important;
    color: #9ca3af !important;
}
body.bg-dark ul.nav.nav-tabs.panelhed li.linktop > button.dropbtn:hover,
body.bg-dark ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn:hover {
    background-color: rgba(255,255,255,0.07) !important;
    border-color: rgba(255,255,255,0.22) !important;
}
body.bg-dark ul.nav.nav-tabs.panelhed li.linktop > button.dropbtn img,
body.bg-dark ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn img {
    filter: brightness(0) invert(1) !important;
    opacity: 0.6 !important;
}
body.bg-dark ul.nav.nav-tabs.panelhed li.linktop > button.dropbtn:hover img,
body.bg-dark ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn:hover img {
    opacity: 0.9 !important;
}

body.bg-dark .nav-tabs-custom .searchuip,
body.bg-dark #wrap .searchuip {
    border-color: rgba(255,255,255,0.12) !important;
}
body.bg-dark .nav-tabs-custom .searchuip:hover,
body.bg-dark #wrap .searchuip:hover {
    background-color: rgba(255,255,255,0.07) !important;
    border-color: rgba(255,255,255,0.22) !important;
}

body.bg-dark div.dt-buttons .dt-button {
    border-color: rgba(255,255,255,0.12) !important;
    color: #9ca3af !important;
}
body.bg-dark div.dt-buttons .dt-button:hover {
    background: rgba(255,255,255,0.07) !important;
    border-color: rgba(255,255,255,0.22) !important;
}
body.bg-dark div.dt-buttons .dt-button img.icon-svg,
body.bg-dark div.dt-buttons .dt-button .classiconip img {
    filter: brightness(0) invert(1) !important;
    opacity: 0.6 !important;
}
body.bg-dark div.dt-buttons .dt-button:hover img.icon-svg,
body.bg-dark div.dt-buttons .dt-button:hover .classiconip img {
    opacity: 0.9 !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PROJECTS — #wrap живёт в первом ul (с табами), а не во втором.
   Глобальный order:-1 поставил бы его ПЕРЕД табами — исправляем:
   в первом ul он последний элемент.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* Старый Bootstrap-дропдаун фильтра внутри panelhed — скрыт в SaaS-режиме */
.nav-tabs-custom ul.nav.nav-tabs.panelhed > li.pull-right.hidden-print {
    display: none !important;
}

.nav-tabs-custom > div > ul.nav.nav-tabs.panelhed:first-child > #wrap {
    order: 100 !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   STYLED-TABLE THEAD — SaaS стиль: 11px uppercase muted + 2px border
   Переопределяем font-weight:700 + border:none из строк 3829-3850.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body[class] .styled-table thead > tr > th {
    font-size: 11px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--ip-text-muted, #6b7280) !important;
    border-bottom: 2px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    border-top: none !important;
}
body.bg-dark .styled-table thead > tr > th {
    color: #6b7280 !important;
    border-bottom-color: rgba(255,255,255,0.10) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   STYLED-TABLE TBODY — разделитель строк + hover-подсветка.
   Специфичность (0,1,3) > (0,1,1) у border:none — override работает.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.styled-table tbody > tr > td {
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
    border-top: none !important;
    transition: background-color 0.1s ease !important;
}
.styled-table tbody > tr:hover > td {
    background-color: #f9fafb !important;
}
body.bg-dark .styled-table tbody > tr > td {
    border-bottom-color: rgba(255,255,255,0.06) !important;
}
body.bg-dark .styled-table tbody > tr:hover > td {
    background-color: rgba(255,255,255,0.04) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FORM INPUTS — :focus: primary border + мягкое свечение 3px
   Применяется ко всем ERP-классам полей ввода.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.formstyleerp:focus,
.formstyleerpplan:focus,
.formstyleerpselect:focus,
.formstyleerpselecitm:focus,
.formstyleequantity:focus,
.formstyleerpinput:focus,
.formstyleerpinputreturn:focus,
.formstyleerptextarea:focus,
.formstyleerpfiltr:focus {
    border-color: var(--ip-primary, #1a56db) !important;
    box-shadow: 0 0 0 3px rgba(26,86,219,0.10) !important;
    outline: none !important;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--ip-primary, #1a56db) !important;
    box-shadow: 0 0 0 3px rgba(26,86,219,0.10) !important;
    outline: none !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PANELHED — мобильная адаптация ≤768px
   Дополняет @media (max-width: 576px) блок выше (стекирование ul).
   На планшетах: компактные отступы у табов + запрет переноса текста.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 768px) {
    .nav-tabs-custom ul.nav.nav-tabs.panelhed > li:not(.linktop) > a {
        padding: 8px 10px !important;
        white-space: nowrap !important;
    }
    .nav-tabs-custom ul.nav.nav-tabs.panelhed {
        min-width: 0 !important;
    }
}
@media (max-width: 576px) {
    /* ≤576px: дополнение к существующему блоку — стекирование */}

/* ── panelhed: вертикальное выравнивание иконок (десктоп + мобиль) ──────────
   Без align-items:center кнопки разъезжаются по высоте внутри ul.
   li.linktop явно flex — убирает базовое выравнивание baseline от Bootstrap. */ul.nav.nav-tabs.panelhed li.linktop {
    position: relative !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MOBILE ≤576px — ОДИН РЯД: таб + иконки в одну строку.
   Переопределяет стекирование из @media(max-width:576px) выше.
   Иконки уменьшаются до 28px, gap сжимается до 3px.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 576px) {
    /* Первый ul: тянется, текст таба не переносится */
    .nav-tabs-custom > div > ul.nav.nav-tabs.panelhed:first-child {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        padding-right: 4px !important;
        overflow: hidden !important;
    }
    /* Второй ul: по содержимому, не растягивается */
    .nav-tabs-custom > div > ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed {
        flex: 0 0 auto !important;
        justify-content: flex-end !important;
        padding-right: 4px !important;
        padding-left: 0 !important;
    }
    /* Текст таба — усечение вместо переноса */.nav-tabs-custom ul.nav.nav-tabs.panelhed > li:not(.linktop) > a {
    padding: 6px 8px !important;
    max-width: 120px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
    /* Единый gap и высота строки */
    .nav-tabs-custom ul.nav.nav-tabs.panelhed {
        gap: 3px !important;
        min-height: 44px !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
    /* Иконки 28×28px */
    ul.nav.nav-tabs.panelhed li.linktop > button.dropbtn,
    ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
    }
    ul.nav.nav-tabs.panelhed li.linktop > a.plusiconip {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
    }
    ul.nav.nav-tabs.panelhed #wrap {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
    }
    ul.nav.nav-tabs.panelhed #wrap .searchuip {
        width: 28px !important;
        height: 28px !important;
        background-size: 14px 14px !important;
    }
    /* Иконки svg внутри кнопок — 14px */
    ul.nav.nav-tabs.panelhed li.linktop > button.dropbtn img,
    ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn img,
    ul.nav.nav-tabs.panelhed li.linktop > a.plusiconip img {
        width: 14px !important;
        height: 14px !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MOBILE SEARCH FIX ≤576px
   Проблема: #searchtable:focus расширяется на 250px влево через
   position:absolute, перекрывая вкладки (КЛИЕНТЫ/Проекты/...).
   Решение (CSS-only, :has + :focus-within):
     Кейс A: #wrap во ВТОРОМ ul (manage_client, application_auto)
             → сворачиваем первый ul, расширяем второй.
     Кейс B: #wrap в ПЕРВОМ ul (projects)
             → прячем li-вкладки, расширяем #wrap в их пространстве.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 576px) {

    /* #wrap вырастает когда в нём есть фокус */    /* #searchtable заполняет #wrap (оставляем 40px под кнопку поиска) */
    ul.nav.nav-tabs.panelhed #wrap:focus-within #searchtable:focus,
    ul.nav.nav-tabs.panelhed #wrap:focus-within #kanban_search:focus {
        width: calc(100% - 40px) !important;
        max-width: 260px !important;
    }

    /* ─── Кейс A: #wrap во втором ul ───────────────────────────── */
    /* Сворачиваем первый ul */
    .nav-tabs-custom:has(
        ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed #wrap #searchtable:focus
    ) > div > ul.nav.nav-tabs.panelhed:first-child {
        flex: 0 0 0px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    /* Второй ul занимает освободившееся пространство */
    .nav-tabs-custom:has(
        ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed #wrap #searchtable:focus
    ) > div > ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed {
        flex: 1 1 auto !important;
        justify-content: flex-start !important;
    }

    /* ─── Кейс B: #wrap в первом ul (projects) ─────────────────── */
    /* Скрываем tab-ссылки (не .linktop), освобождаем место для поиска */
    .nav-tabs-custom:has(
        ul.nav.nav-tabs.panelhed:first-child #wrap #searchtable:focus
    ) > div > ul.nav.nav-tabs.panelhed:first-child > li:not(.linktop) {
        flex: 0 0 0px !important;
        overflow: hidden !important;
        opacity: 0 !important;
        max-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    /* Кейс B НЕ применяется если #wrap во втором ul (projects-исключение уже
       гарантировано структурой селектора :first-child vs. смежный sibling) */
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   DETAIL-PAGE TABS — SaaS стиль для ul.nav.nav-tabs (без panelhed)
   Используется на страницах деталей (project_details2, contracts…)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.nav-tabs-custom > ul.nav.nav-tabs:not(.panelhed) {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    padding: 8px 12px !important;
    border-bottom: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    background: var(--ip-bg-card, #fff) !important;
    border-radius: 12px 12px 0 0 !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    margin: 0 !important;
}
.nav-tabs-custom > ul.nav.nav-tabs:not(.panelhed) > li {
    float: none !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    border: none !important;
}
.nav-tabs-custom > ul.nav.nav-tabs:not(.panelhed) > li > a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 14px !important;
    border-radius: var(--ip-radius-sm) !important;
    border: none !important;
    background: transparent !important;
    color: var(--ip-text-muted, #6b7280) !important;
    font-size: var(--ip-body-font-size, 13px) !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    margin: 0 !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
}
.nav-tabs-custom > ul.nav.nav-tabs:not(.panelhed) > li > a:hover {
    background: #f3f4f8 !important;
    color: var(--ip-text, #1a1f36) !important;
}
.nav-tabs-custom > ul.nav.nav-tabs:not(.panelhed) > li.active > a,
.nav-tabs-custom > ul.nav.nav-tabs:not(.panelhed) > li.active > a:hover,
.nav-tabs-custom > ul.nav.nav-tabs:not(.panelhed) > li.active > a:focus {
    background: var(--ip-primary-light, #eff4ff) !important;
    color: var(--ip-primary, #1a56db) !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: var(--ip-radius-sm) !important;
}
/* dark */
body.bg-dark .nav-tabs-custom > ul.nav.nav-tabs:not(.panelhed) {
    background: #1e2130 !important;
    border-bottom-color: rgba(255,255,255,0.10) !important;
}
body.bg-dark .nav-tabs-custom > ul.nav.nav-tabs:not(.panelhed) > li > a {
    color: #6b7280 !important;
}
body.bg-dark .nav-tabs-custom > ul.nav.nav-tabs:not(.panelhed) > li > a:hover {
    background: rgba(255,255,255,0.07) !important;
    color: #e5e7eb !important;
}
body.bg-dark .nav-tabs-custom > ul.nav.nav-tabs:not(.panelhed) > li.active > a,
body.bg-dark .nav-tabs-custom > ul.nav.nav-tabs:not(.panelhed) > li.active > a:hover {
    background: rgba(26,86,219,0.20) !important;
    color: #60a5fa !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MODAL WINDOWS — SaaS стиль
   Заголовок: .headingmenip  |  Тело: .modal-body  |  Футер: .modal-footer
   Закрыть: button.close  |  Кнопки: .btn.btn-default / .btn.btn-primary
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Панель как контейнер модала */
.modal .panel.panel-custom,
.panel.panel-custom {
    border-radius: var(--ip-radius-md) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
    overflow: hidden !important;
    background: var(--ip-bg-card, #fff) !important;
}

/* Заголовок модала */.headingmenip {
    font-weight: 600;
    padding-bottom: 0px;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    background: var(--ip-bg-card, #fff) !important;
    text-transform: none !important;
    margin-bottom: 0 !important;
}
.headingmenip .modal-title,
h4.modal-title {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--ip-text, #1a1f36) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}
/* Кнопка закрыть × */
.headingmenip .close,
.panel-heading .close {
    float: none !important;
    order: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--ip-radius-sm) !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    background: transparent !important;
    opacity: 1 !important;
    color: var(--ip-text-muted, #6b7280) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
    flex-shrink: 0 !important;
}
.headingmenip .close:hover,
.panel-heading .close:hover {
    background: #f3f4f8 !important;
    border-color: rgba(0,0,0,0.16) !important;
    color: var(--ip-text, #1a1f36) !important;
    opacity: 1 !important;
}

/* Тело модала */
.modal-body.wrap-modal,
.modal-body.wrap {
    padding: 16px 20px !important;
    background: var(--ip-bg-card, #fff) !important;
}

/* Футер модала */
.modal-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    padding: 12px 20px !important;
    border-top: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    background: var(--ip-bg-card, #fff) !important;
    border-radius: 0 0 12px 12px !important;
}
/* Bootstrap btn-* внутри футера модала — приводим к SaaS стилю.
   Только .modal-footer: не трогаем кнопки в таблицах (.panel-body). */
.modal-footer .btn {
    height: 36px !important;
    padding: 0 16px !important;
    border-radius: var(--ip-radius-sm) !important;
    font-size: var(--ip-body-font-size, 13px) !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: 1px solid transparent !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.modal-footer .btn-primary {
    background: var(--ip-primary, #1a56db) !important;
    border-color: var(--ip-primary, #1a56db) !important;
    color: #fff !important;
}
.modal-footer .btn-primary:hover {
    background: var(--ip-primary-hover, #1e429f) !important;
    border-color: var(--ip-primary-hover, #1e429f) !important;
}
.modal-footer .btn-default {
    background: #f9fafb !important;
    border-color: rgba(0,0,0,0.12) !important;
    color: var(--ip-text-muted, #6b7280) !important;
}
.modal-footer .btn-default:hover {
    background: #f3f4f8 !important;
    border-color: rgba(0,0,0,0.20) !important;
    color: var(--ip-text, #1a1f36) !important;
}
.modal-footer .btn-danger {
    background: var(--ip-danger, #e02424) !important;
    border-color: var(--ip-danger, #e02424) !important;
    color: #fff !important;
}
.modal-footer .btn-danger:hover {
    background: #b91c1c !important;
    border-color: #b91c1c !important;
}
.modal-footer .btn-success {
    background: var(--ip-success, #057a55) !important;
    border-color: var(--ip-success, #057a55) !important;
    color: #fff !important;
}
.modal-footer .btn-success:hover {
    background: #046044 !important;
    border-color: #046044 !important;
}
/* btn-xs — компактные таблично-строчные кнопки */
.btn.btn-xs {
    height: 26px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
    border-radius: var(--ip-radius-sm) !important;
    gap: 4px !important;
}

/* dark modal */
body.bg-dark .modal .panel.panel-custom,
body.bg-dark .panel.panel-custom {
    background: #1e2130 !important;
    border-color: rgba(255,255,255,0.10) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.40) !important;
}
body.bg-dark .headingmenip {
    background: #1e2130 !important;
    border-bottom-color: rgba(255,255,255,0.10) !important;
    color: #e5e7eb !important;
}
body.bg-dark .headingmenip .modal-title,
body.bg-dark h4.modal-title {
    color: #e5e7eb !important;
}
body.bg-dark .headingmenip .close,
body.bg-dark .panel-heading .close {
    border-color: rgba(255,255,255,0.12) !important;
    color: #9ca3af !important;
}
body.bg-dark .headingmenip .close:hover,
body.bg-dark .panel-heading .close:hover {
    background: rgba(255,255,255,0.07) !important;
    border-color: rgba(255,255,255,0.22) !important;
    color: #e5e7eb !important;
}
body.bg-dark .modal-body.wrap-modal,
body.bg-dark .modal-body.wrap {
    background: #1e2130 !important;
}
body.bg-dark .modal-footer {
    background: #1e2130 !important;
    border-top-color: rgba(255,255,255,0.10) !important;
}
body.bg-dark .modal-footer .btn-default {
    background: #252837 !important;
    border-color: rgba(255,255,255,0.12) !important;
    color: #9ca3af !important;
}
body.bg-dark .modal-footer .btn-default:hover {
    background: rgba(255,255,255,0.10) !important;
    color: #e5e7eb !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   STATUS BADGES / LABELS — Metronic-стиль
   Классы Bootstrap 3: .label.label-success / danger / warning /
   primary / info / default / inverse
   Стиль: pill, soft bg + насыщенный текст (как в Metronic)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
span.label,
strong.label,
a.label {
    display: inline-flex !important;
    align-items: center !important;
    padding: 3px 10px !important;
    border-radius: var(--ip-radius-xl) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    vertical-align: middle !important;
    /* border intentionally NOT overridden here — inline style from DB defines tag appearance */
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12) !important;
}
/* Размер шрифта бейджей 10px — поднимаем специфичность, чтобы перебить
   глобальное body[class] *:not(.lableip){font-size:var(--ip-body-font-size)}. */
body[class] span.label,
body[class] strong.label,
body[class] a.label {
    font-size: 10px !important;
}
/* success — зелёный */
span.label.label-success,
strong.label.label-success,
a.label.label-success {
    background: var(--ip-label-success-bg) !important;
    color: var(--ip-label-success-fg) !important;
}
/* danger — красный */
span.label.label-danger,
strong.label.label-danger,
a.label.label-danger {
    background: var(--ip-label-danger-bg) !important;
    color: var(--ip-label-danger-fg) !important;
}
/* warning — жёлтый/янтарный */
span.label.label-warning,
strong.label.label-warning,
a.label.label-warning {
    background: var(--ip-label-warning-bg) !important;
    color: var(--ip-label-warning-fg) !important;
}
/* primary — синий */
span.label.label-primary,
strong.label.label-primary,
a.label.label-primary {
    background: var(--ip-label-primary-bg) !important;
    color: var(--ip-label-primary-fg) !important;
}
/* info — голубой */
span.label.label-info,
strong.label.label-info,
a.label.label-info {
    background: var(--ip-label-info-bg) !important;
    color: var(--ip-label-info-fg) !important;
}
/* default — нейтральный серый */
span.label.label-default,
strong.label.label-default,
a.label.label-default {
    background: var(--ip-label-default-bg) !important;
    color: var(--ip-label-default-fg) !important;
}
/* inverse — тёмно-синий (перезаписываем из app.css: border-radius:25px синий) */
span.label.label-inverse,
strong.label.label-inverse,
a.label.label-inverse {
    background: var(--ip-label-inverse-bg) !important;
    color: var(--ip-label-inverse-fg) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   DATATABLES FOOTER — SaaS стиль
   dom: 'rtBflpi' → [Buttons][filter][length][paginate][info]
   dom: 'lBfrtip' → [length][Buttons][filter] table [info][paginate]
   Элементы — прямые потомки .dataTables_wrapper без общей обёртки.
   Решение: inline-flex + vertical-align:middle + общая высота 36px.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── Общий контейнер ── */
.dataTables_wrapper {
    overflow: visible !important;
}
/* clearfix — чтобы враппер содержал float-right pagination */
.dataTables_wrapper::after {
    content: '' !important;
    display: table !important;
    clear: both !important;
}

/* ── Length (select кол-во строк) ── */
.dataTables_wrapper > div.dataTables_length {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 36px !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}
.dataTables_wrapper > div.dataTables_length label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    float: none !important;
    font-size: var(--ip-body-font-size, 13px) !important;
    color: var(--ip-text-muted, #6b7280) !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
}
.dataTables_wrapper > div.dataTables_length select {
    height: 32px !important;
    padding: 0 28px 0 10px !important;
    border-radius: var(--ip-radius-sm) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.10)) !important;
    background: var(--ip-bg-card, #fff) !important;
    color: var(--ip-text, #1a1f36) !important;
    font-size: var(--ip-body-font-size, 13px) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    width: auto !important;
    cursor: pointer !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    transition: border-color 0.15s ease !important;
}
.dataTables_wrapper > div.dataTables_length select:focus {
    border-color: var(--ip-primary, #1a56db) !important;
    box-shadow: 0 0 0 3px rgba(26,86,219,0.10) !important;
    outline: none !important;
}

/* ── Buttons (dt-buttons) выровнены с length ── */
.dataTables_wrapper > div.dt-buttons {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 36px !important;
    gap: 4px !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

/* ── Pagination — float right, на той же строке что length+buttons ── */
.dataTables_wrapper > div.dataTables_paginate {
    float: right !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}
.dataTables_wrapper .dataTables_paginate ul.pagination {
    display: flex !important;
    align-items: center !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.dataTables_wrapper .dataTables_paginate ul.pagination > li {
    float: none !important;
    display: flex !important;
}
.dataTables_wrapper .dataTables_paginate ul.pagination > li > a,
.dataTables_wrapper .dataTables_paginate ul.pagination > li > span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 32px !important;
    height: 32px !important;
    padding: 0 8px !important;
    border-radius: var(--ip-radius-sm) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.10)) !important;
    background: var(--ip-bg-card, #fff) !important;
    color: var(--ip-text, #1a1f36) !important;
    font-size: var(--ip-body-font-size, 13px) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    text-decoration: none !important;
}
.dataTables_wrapper .dataTables_paginate ul.pagination > li > a:hover {
    background: #f3f4f8 !important;
    border-color: rgba(0,0,0,0.18) !important;
    color: var(--ip-primary, #1a56db) !important;
}
.dataTables_wrapper .dataTables_paginate ul.pagination > li.active > a,
.dataTables_wrapper .dataTables_paginate ul.pagination > li.active > span {
    background: var(--ip-primary, #1a56db) !important;
    border-color: var(--ip-primary, #1a56db) !important;
    color: #fff !important;
    font-weight: 600 !important;
    pointer-events: none !important;
}
.dataTables_wrapper .dataTables_paginate ul.pagination > li.disabled > a,
.dataTables_wrapper .dataTables_paginate ul.pagination > li.disabled > span,
.dataTables_wrapper .dataTables_paginate ul.pagination > li.previous.disabled > a,
.dataTables_wrapper .dataTables_paginate ul.pagination > li.next.disabled > a {
    color: var(--ip-text-muted, #6b7280) !important;
    background: var(--ip-bg-card, #fff) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.10)) !important;
    pointer-events: none !important;
    opacity: 0.55 !important;
    cursor: default !important;
}

/* ── Info ("Показано 1 к 23 из 23 записей") ── */
.dataTables_wrapper > div.dataTables_info {
    clear: both !important;
    float: none !important;
    display: block !important;
    padding: 6px 0 0 !important;
    font-size: var(--ip-body-font-size, 13px) !important;
    color: var(--ip-text-muted, #6b7280) !important;
}

/* ── Filter (обычно скрыт, т.к. поиск в panelhed) ── */
.dataTables_wrapper > div.dataTables_filter {
    float: left !important;
    display: none !important;
}

/* ── Разделитель между таблицей и футером — небольшой отступ ── */
.dataTables_wrapper > table.dataTable {
    margin-bottom: 8px !important;
}

/* ━━ Тёмная тема ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.bg-dark .dataTables_wrapper > div.dataTables_length select {
    background: #252837 !important;
    border-color: rgba(255,255,255,0.12) !important;
    color: #e5e7eb !important;
}
body.bg-dark .dataTables_wrapper .dataTables_paginate ul.pagination > li > a,
body.bg-dark .dataTables_wrapper .dataTables_paginate ul.pagination > li > span {
    background: #252837 !important;
    border-color: rgba(255,255,255,0.12) !important;
    color: #e5e7eb !important;
}
body.bg-dark .dataTables_wrapper .dataTables_paginate ul.pagination > li > a:hover {
    background: rgba(255,255,255,0.10) !important;
    border-color: rgba(255,255,255,0.22) !important;
    color: #60a5fa !important;
}
body.bg-dark .dataTables_wrapper .dataTables_paginate ul.pagination > li.active > a {
    background: var(--ip-primary, #1a56db) !important;
    border-color: var(--ip-primary, #1a56db) !important;
    color: #fff !important;
}
body.bg-dark .dataTables_wrapper > div.dataTables_info {
    color: #6b7280 !important;
}
body.bg-dark .dataTables_wrapper > div.dataTables_length label {
    color: #6b7280 !important;
}

/* Все таблицы используют dom: 'rtBflpi' → info всегда последний → clear:both ниже */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   IP-DT-SCROLL-X: фиксируем ширину враппера = ширина контейнера,
   чтобы float:right пагинации не уходил за экран вслед за таблицей.
   Таблица (белее широкая) overflow-ит наружу и создаёт горизонтальный скролл.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.ip-dt-scroll-x > .dataTables_wrapper {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TAB-CONTENT — SaaS стиль
   Белая карточка под tabhed-шапкой: нижние скруглённые углы,
   padding, чистый bg. Сочетается с panelhed (border-radius 12px 12px 0 0).
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.nav-tabs-custom > .tab-content {
    background: var(--ip-bg-card, #fff) !important;
    border-radius: 0 0 12px 12px !important;
    border: none !important;
    padding: 5px 3px !important;
  /*   box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important; */
}

/* Страницы с panelhed-row внутри tab-content: полноценная карточка как panel-custom */
.nav-tabs-custom > .tab-content.panelcat {
    border-radius: var(--ip-radius-md) !important;
    border-top: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
    overflow: hidden !important;
    padding: 0 !important;
}
/* Отступы для содержимого вкладок внутри panelcat (таблицы, формы) */
.nav-tabs-custom > .tab-content.panelcat > .tab-pane,
.nav-tabs-custom > .tab-content.panelcat > .table-responsive,
.nav-tabs-custom > .tab-content.panelcat > .dataTables_wrapper {
    padding: 0 20px 16px !important;
}

body.bg-dark .nav-tabs-custom > .tab-content {
    background: var(--ip-bg-card, #1e2130) !important;
    border-color: rgba(255,255,255,0.10) !important;
/*     box-shadow: 0 2px 8px rgba(0,0,0,0.20) !important; */
}

body.bg-dark .nav-tabs-custom > .tab-content.panelcat {
    box-shadow: 0 8px 32px rgba(0,0,0,0.30) !important;
    border-color: rgba(255,255,255,0.10) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MODAL PANEL-BODY — SaaS стиль
   Контент внутри модального окна: плотный padding и чистый фон.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.modal .panel-body {
    padding: 16px 20px !important;
    background: var(--ip-bg-card, #fff) !important;
}

body.bg-dark .modal .panel-body {
    background: var(--ip-bg-card, #1e2130) !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PANELHED-ROW — обёртка для двух panelhed ULs.
   Одна строка (flex-wrap: nowrap). overflow: visible — обязательно,
   иначе Bootstrap тултипы клипаются (overflow создаёт новый stacking context).
   Использование: <div class="panelhed-row"> вокруг двух ul.panelhed.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.panelhed-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    overflow: visible !important;
}

/* ─── Bootstrap clearfix ::before/::after становятся flex-элементами
   внутри ul.panelhed и создают огромный gap между #wrap и первой иконкой.
   Убиваем их полностью. ──────────────────────────────────────────── */
ul.nav.nav-tabs.panelhed::before,
ul.nav.nav-tabs.panelhed::after {
    display: none !important;
    content: none !important;
}

/* Левая часть: метка/таб — тянется, не сжимается ниже контента */
.panelhed-row > ul.nav.nav-tabs.panelhed:first-child {
    flex: 1 1 auto !important;
    min-width: fit-content !important;
    padding-right: 4px !important;
}
/* Внутри panelhed-row: li-табы НЕ растягиваются (flex:1 у UL, не у LI).
   Перебиваем глобал ul.panelhed > li:first-child { flex:1 1 auto } */
.panelhed-row > ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop) {
    flex: 0 0 auto !important;
}
/* Правая часть: поиск + иконки — по содержимому, вплотную */
.panelhed-row > ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed {
    flex: 0 0 auto !important;
    min-width: fit-content !important;
    padding-left: 0 !important;
    padding-right: 8px !important;
}

/* ─── Равномерный gap между иконками ───────────────────────────── */
/* Убираем extra margin у plusiconip — теперь только gap *//* Единый gap 6px для всех panelhed внутри nav-tabs-custom */.nav-tabs-custom ul.nav.nav-tabs.panelhed {
    min-height: 48px !important;
    padding: 4px 8px !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    align-items: center !important;
    gap: 6px !important;
}

/* ─── Иконки немного меньше: 32×32px, svg 16×16px ──────────────── */ul.nav.nav-tabs.panelhed li.linktop > button.dropbtn, ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn {
    padding: 0 !important;
    margin: 0 !important;
    border-radius: var(--ip-radius-sm) !important;
    background-color: transparent !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
    top: unset !important;
    right: unset !important;
    z-index: unset !important;
    position: static !important;
    color: var(--ip-text-muted, #6b7280) !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
}ul.nav.nav-tabs.panelhed li.linktop > a.plusiconip {
    padding: 0 !important;
    border-radius: var(--ip-radius-sm) !important;
    background-color: rgba(26,86,219,0.09) !important;
    border: 1px solid rgba(26,86,219,0.14) !important;
    box-shadow: 0 1px 3px rgba(26,86,219,0.08) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
    margin: 0 !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
}ul.nav.nav-tabs.panelhed #wrap {
    order: -1 !important;
    float: none !important;
    display: inline-block !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
}ul.nav.nav-tabs.panelhed #wrap .searchuip, #wrap .searchuip {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    background-color: transparent !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    border-radius: var(--ip-radius-sm) !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
    z-index: 2 !important;
    width: 32px !important;
    height: 32px !important;
    background-size: 16px 16px !important;
}ul.nav.nav-tabs.panelhed li.linktop > button.dropbtn img, ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn img {
    display: block !important;
    flex-shrink: 0 !important;
    opacity: 0.7 !important;
    width: 16px !important;
    height: 16px !important;
}ul.nav.nav-tabs.panelhed li.linktop > a.plusiconip img {
    display: block !important;
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
}

/* ─── classiconip / classiconip1 — унификация с plusiconip ──────
   Сохраняем salmon-цвет базового класса, выравниваем размер/форму */
ul.nav.nav-tabs.panelhed li.linktop > a.classiconip,
ul.nav.nav-tabs.panelhed li.linktop > a.classiconip1 {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: var(--ip-radius-md) !important;
    box-shadow: 0 1px 3px rgba(255,51,0,0.08) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
}
ul.nav.nav-tabs.panelhed li.linktop > a.classiconip:hover,
ul.nav.nav-tabs.panelhed li.linktop > a.classiconip1:hover {
    box-shadow: 0 2px 6px rgba(255,51,0,0.14) !important;
    border-color: rgba(255,51,0,0.40) !important;
    text-decoration: none !important;
}
ul.nav.nav-tabs.panelhed li.linktop > a.classiconip img,
ul.nav.nav-tabs.panelhed li.linktop > a.classiconip1 img {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    flex-shrink: 0 !important;
}#wrap #searchtable, #wrap #kanban_search {
    z-index: 3 !important;
    height: 32px !important;
}

/* ─── Мобиль ≤576px: поведение то же что на десктопе ───────────── */
@media (max-width: 576px) {
    /* Дублируем десктопные flex-правила, чтобы переопределить любые глобальные
       @media(576px) правила для ul внутри nav-tabs-custom > div */
    .panelhed-row > ul.nav.nav-tabs.panelhed:first-child {
        flex: 1 1 auto !important;
        min-width: fit-content !important;
        padding-right: 4px !important;
    }
    .panelhed-row > ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed {
        flex: 0 0 auto !important;
        min-width: fit-content !important;
        padding-right: 4px !important;
    }
    /* Иконки на мобиле — wrap и searchuip под новый базовый размер 32px */ul.nav.nav-tabs.panelhed #wrap:focus-within {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 32px !important;
}
}

/* ─── Мобиль ≤576px: мобильный поиск в panelhed-row ──────────────
   Аналог Mobile Search Fix (Кейс A) для структуры с panelhed-row.
   Когда #searchtable в фокусе — схлопываем левый UL, растягиваем правый. */
@media (max-width: 576px) {
    /* Схлопываем первый UL (метка) */
    .nav-tabs-custom:has(
        .panelhed-row ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed #wrap #searchtable:focus
    ) .panelhed-row > ul.nav.nav-tabs.panelhed:first-child {
        flex: 0 0 0px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    /* Расширяем второй UL на всю строку */
    .nav-tabs-custom:has(
        .panelhed-row ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed #wrap #searchtable:focus
    ) .panelhed-row > ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
    }

    /* ── Kanban-режим: panelhed-row стоит без .nav-tabs-custom-обёртки,
       поэтому правила выше его не ловят. Дублируем для #kanban_search. */
    .panelhed-row:has(
        ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed #wrap #kanban_search:focus
    ) > ul.nav.nav-tabs.panelhed:first-child {
        flex: 0 0 0px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .panelhed-row:has(
        ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed #wrap #kanban_search:focus
    ) > ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
    }
}

/* ─── Bootstrap 5 Tooltip — override legacy display:none ──────── */
/* Legacy code at ~line 6883 has .tooltip{display:none!important}.
   .tooltip.show wins by higher specificity (2 classes vs 1). */
.tooltip.show {
    display: block !important;
    opacity: 1 !important;
}
.tooltip .tooltip-inner {
    background-color: #1e293b !important;
    color: #f1f5f9 !important;
    font-size: 12px !important;
    padding: 4px 10px !important;
    border-radius: var(--ip-radius-sm) !important;
    max-width: 220px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.18) !important;
}
.tooltip .tooltip-arrow::before {
    border-color: transparent !important;
}
.bs-tooltip-top .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
    border-top-color: #1e293b !important;
}
.bs-tooltip-bottom .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
    border-bottom-color: #1e293b !important;
}
.bs-tooltip-start .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
    border-left-color: #1e293b !important;
}
.bs-tooltip-end .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
    border-right-color: #1e293b !important;
}

/* ─── AUTO panelhed-row для страниц БЕЗ div.panelhed-row ────────
   :has() применяет flex-row когда два ul.panelhed — прямые соседи
   внутри любого из типичных контейнеров.
   Не затрагивает страницы с panelhed-row (ULs там вложены глубже).
   Chrome 105+, Firefox 121+, Safari 15.4+ ────────────────────── */

/* Общий миксин через мультиселектор ───────────────────────────── */
.tab-content.panelcat:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed),
.panel.panel-custom:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed),
.nav-tabs-custom:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed),
.nav-tabs-custom > div:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    overflow: visible !important;
}
/* Левая часть (табы/метка) — тянется */
.tab-content.panelcat:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed) > ul.nav.nav-tabs.panelhed:first-child,
.panel.panel-custom:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed) > ul.nav.nav-tabs.panelhed:first-child,
.nav-tabs-custom:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed) > ul.nav.nav-tabs.panelhed:first-child,
.nav-tabs-custom > div:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed) > ul.nav.nav-tabs.panelhed:first-child {
    flex: 1 1 auto !important;
    min-width: fit-content !important;
    padding-right: 4px !important;
}
/* Правая часть (иконки) — по содержимому */
.tab-content.panelcat:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed) > ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed,
.panel.panel-custom:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed) > ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed,
.nav-tabs-custom:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed) > ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed,
.nav-tabs-custom > div:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed) > ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed {
    flex: 0 0 auto !important;
    min-width: fit-content !important;
    padding-right: 8px !important;
}
/* Контент после панелей — полная ширина */
.tab-content.panelcat:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed) > .tab-pane,
.panel.panel-custom:has(> ul.nav.nav-tabs.panelhed + ul.nav.nav-tabs.panelhed) > .tab-pane {
    flex: 1 0 100% !important;
}

/* ─── Тёмная тема ───────────────────────────────────────────────── */
/* panelhed-row не нуждается в доп. правилах — наследует от bg-dark */

/* ══════════════════════════════════════════════════════════════════
   KPI Stat Cards v2  (.card1 / .carousel-track1)
   Redesign 2026-06-07 — SaaS style, replaces old colored border cards
   ══════════════════════════════════════════════════════════════════ */

/* Container */.bodycar {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 0 1px !important;
    padding: 0 !important;
}.carousel1 {
    position: relative;
    width: 100%;
    max-width: 100%;
    scroll-behavior: smooth;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
    white-space: normal !important;
}.carousel1::-webkit-scrollbar {
    height: 8px;
    display: none !important;
}.carousel-track1 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    justify-content: stretch !important;
    padding: 5px 5px 5px 0px !important;
}

/* Card base */
/* Accent dot — top right */
/* Hide old large SVG icon */
.carousel-track1 .card1 > svg { display: none !important; }
.carousel-track1 .card1 > div > svg { display: none !important; }

/* Label (metric name) */
/* Main number */
/* Hide old <p> label (text moves to .c1-label) */
.carousel-track1 .card1 > div > p,
.carousel-track1 .card1 > p { display: none !important; }

/* Footer */.carousel-track1 .card1 .c1-period { display: none !important; }
.carousel-track1 .card1 .c1-chart { display: block !important; flex-shrink: 0 !important; }
.carousel-track1 .card1 .c1-chart rect {
    fill: var(--c1-accent, #6366f1) !important;
    opacity: 0.75 !important;
}

/* Per-card accent colors — оригинальные цвета *//* Dark theme */
body.bg-dark .carousel-track1 .card1 {
    background: #1e2130 !important;
    border-color: rgba(255,255,255,0.08) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.25) !important;
}body.bg-dark .carousel-track1 .card1 .c1-period { color: #6b7280 !important; }

/* Mobile: horizontal swipe carousel */
@media (max-width: 768px) {}

/* ── c1-chart-wrap: круглый фон + hover-тень ── */.carousel-track1 .cardgreen {
    --c1-accent: #008000;
    --c1-accent-tint: rgba(0,128,0,0.10);
}.carousel-track1 .cardorange {
    --c1-accent: #D95100;
    --c1-accent-tint: rgba(217,81,0,0.10);
}.carousel-track1 .cardelectric {
    --c1-accent: #0b0de8;
    --c1-accent-tint: rgba(11,13,232,0.10);
}.carousel-track1 .cardvinous {
    --c1-accent: #9b2d30;
    --c1-accent-tint: rgba(155,45,48,0.10);
}body.bg-dark .carousel-track1 .card1 .c1-chart-wrap:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.35) !important;
}

/* ── card1 hover effect ── */.carousel-track1 .card1:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
    transform: translateY(-2px) !important;
}
body.bg-dark .carousel-track1 .card1:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.35) !important;
}

/* ── Сброс старого правила card1 svg (60px) для нового layout ── */
/* ── c1-chart-wrap: убираем круг, бары в стиле Panelix ── */.carousel-track1 .card1 .c1-chart-wrap {
    justify-content: center !important;
    flex-shrink: 0 !important;
    transition: box-shadow 0.25s ease !important;
    cursor: default !important;
    width: auto !important;
    height: auto !important;
    border-radius: var(--ip-radius-sm) !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: flex-end !important;
}

/* ── SVG mini-bars: сброс старого правила 60px ── */.carousel-track1 .card1 .c1-chart-wrap svg {
    width: 28px !important;
    height: 20px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    display: block !important;
}

/* ── c1-footer: бары прижаты вправо-вниз ── */.carousel-track1 .card1 .c1-footer {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-end !important;
    margin-top: auto !important;
    padding-top: 8px !important;
}

/* ── chart-wrap hover: убираем тень с прозрачного контейнера ── */.carousel-track1 .card1 .c1-chart-wrap:hover {
    box-shadow: none !important;
}

/* ── c1-watermark: большая полупрозрачная иконка-фон (как в Panelix) ── */.carousel-track1 .card1 .c1-watermark svg {
    width: 1em !important;
    height: 1em !important;
    margin: 0 !important;
    display: block !important;
    flex-shrink: 0 !important;
}
/* остальные элементы карточки поверх водяного знака */
.carousel-track1 .card1 .c1-label,
.carousel-track1 .card1 h3,
.carousel-track1 .card1 .c1-footer {
    position: relative !important;
    z-index: 1 !important;
}

/* ── Правки v2: opacity 0.04, число 32px, border-radius 14px ── */.carousel-track1 .card1 .c1-watermark {
    position: absolute !important;
    bottom: -10px !important;
    right: -5px !important;
    font-size: 80px !important;
    color: var(--c1-accent, #6366f1) !important;
    line-height: 1 !important;
    pointer-events: none !important;
    display: flex !important;
    align-items: flex-end !important;
    z-index: 0 !important;
    opacity: 0.04 !important;
}
.carousel-track1 .card1 {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: 0 !important;
    padding: 20px !important;
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04) !important;
    position: relative !important;
    overflow: hidden !important;
    color: inherit !important;
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
    cursor: default !important;
    border-radius: var(--ip-radius-md) !important;
}

/* ── SaaS mix: круглая иконка сверху-справа, убираем точку ── */.carousel-track1 .card1::after {
    content: '' !important;
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: var(--c1-accent, #6366f1) !important;
    display: none !important;
}
.carousel-track1 .card1 .c1-icon-circle {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: var(--c1-accent-tint, rgba(99,102,241,0.10)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    z-index: 2 !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.carousel-track1 .card1:hover .c1-icon-circle {
    transform: scale(1.08) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
}
.carousel-track1 .card1 .c1-icon-circle svg {
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    display: block !important;
    flex-shrink: 0 !important;
    stroke: var(--c1-accent, #6366f1) !important;
    fill: none !important;
}
/* label отступ справа чтобы не перекрывался кругом */.carousel-track1 .card1 .c1-label {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #6b7280 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    padding-right: 52px !important;
}

/* ── carberyuzovy: бирюзовый акцент ── */.carousel-track1 .carberyuzovy {
    --c1-accent: #1b877e;
    --c1-accent-tint: rgba(27,135,126,0.10);
}

/* ── h3: адаптивный размер, не переполняет карточку ── */.carousel-track1 .card1 h3 {
    font-weight: 700 !important;
    color: #111827 !important;
    font-size: 20px !important;
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
    padding-right: 50px !important;
    margin: 6px 0 0 !important;
}

/* ── Мобильная версия ── */
@media (max-width: 768px) {.carousel-track1 {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 8px !important;
    gap: 10px !important;
}.carousel-track1 .card1 {
    flex: 0 0 200px !important;
    min-width: 200px !important;
    padding: 14px !important;
}
    .carousel-track1 .card1 h3 {
        font-size: 17px !important;
    }
    .carousel-track1 .card1 .c1-icon-circle {
        width: 34px !important;
        height: 34px !important;
        top: 12px !important;
        right: 12px !important;
    }
    .carousel-track1 .card1 .c1-icon-circle svg {
        width: 16px !important;
        height: 16px !important;
    }
    .carousel-track1 .card1::after {
        display: none !important;
    }
}

/* ── Тёмная тема: icon-circle + label ── */
body.bg-dark .carousel-track1 .card1 .c1-icon-circle {
    background: rgba(255,255,255,0.09) !important;
}
body.bg-dark .carousel-track1 .card1 .c1-icon-circle svg {
    stroke: var(--c1-accent, #818cf8) !important;
    filter: brightness(1.4) !important;
}body.bg-dark .carousel-track1 .card1 h3 {
    color: #f1f5f9 !important;
}body.bg-dark .carousel-track1 .card1 .c1-label {
    color: #94a3b8 !important;
}

/* Тёмная тема для navipro */
body.bg-dark #nav {
    background: #1a1d2e !important;
    border-top-color: rgba(255,255,255,0.06) !important;
}

/* При открытом сайдбаре на мобильном: скрываем navipro, показываем footernavbar */
@media (max-width: 768px) {
    body.aside-toggled #nav {
        display: none !important;
    }
}

/* Todo/Process секция — мобильная адаптация */
@media (max-width: 768px) {
    /* Панель: убираем фикс. высоту, делаем белой карточкой */
    .panel.panel-custom.menu {
        height: auto !important;
        overflow: visible !important;
        background: #ffffff !important;
        border-radius: var(--ip-radius-md) !important;
        border: 1px solid rgba(0,0,0,0.07) !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
        padding: 12px !important;
    }

    /* col-lg-12 на мобильном — блок, не flex */
    .panel.panel-custom.menu > .col-lg-12 {
        display: block !important;
        padding: 0 !important;
    }

    /* row и col-xs-12 — убираем Bootstrap отступы */
    .panel.panel-custom.menu .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .panel.panel-custom.menu .row > .col-xs-12 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Разделитель между статусами и таблицей */
    .panel.panel-custom.menu .col-xs-12 + .col-xs-12 {
        margin-top: 12px !important;
        padding-top: 12px !important;
        border-top: 1px solid rgba(0,0,0,0.07) !important;
    }

    /* panelcat на мобильном — без лишней рамки/тени */
    .panel.panel-custom.menu .panelcat {
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
    }

    /* form1 кнопки — display flex (не inline-flex), без width 100% */
    .panel.panel-custom.menu .form1 li a {
        display: flex !important;
        padding: 8px 10px !important;
        font-size: 11px !important;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FORM REDESIGN — SaaS style
   height: 48px · border-radius: 12px · border: #e5e7eb
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── Текстовые инпуты (input, textarea-like) ── */
.formstyleerp,
.formstyleerpplan,
.formstyleerpinput,
.formstyleerpinputreturn,
.formstyleerpfiltrdata,
.formstyleerpmail,
.formstyleerpfiltr {
    border-radius: var(--ip-radius-md) !important;
    border: 1px solid #e5e7eb !important;
    background: #ffffff !important;
    padding: 0 14px !important;
    height: 48px !important;
    line-height: 48px !important;
    color: #111827 !important;
    box-shadow: none !important;
    width: 100% !important;
}

/* ── <select> и input с этими классами: базовые стили ── */
.formstyleerp1,
.formstyleerpselect,
.formstyleerpselecitm {
    border-radius: var(--ip-radius-md) !important;
    border: 1px solid #e5e7eb !important;
    background: #ffffff !important;
    padding: 0 14px !important;
    height: 48px !important;
    line-height: 46px !important;
    color: #111827 !important;
    box-shadow: none !important;
    width: 100% !important;
}
/* Только <select>: убираем стандартную стрелку и ставим SVG */
select.formstyleerp1,
select.formstyleerpselect,
select.formstyleerpselecitm {
    padding: 0 40px 0 14px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0L5 6L10 0Z' fill='%23888888'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 10px 6px !important;
}

/* ── Инпуты/select в ячейках таблиц (десктоп) — компактнее ── */
td .formstyleerpselect,
td .formstyleerpselecitm,
td .formstyleerp1,
td .formstyleerp,
td .formstyleerpplan,
td .formstyleerpinput,
td .formstyleerpinputreturn {
    height: 36px !important;
    padding: 0 8px !important;
    line-height: normal !important;
    border-radius: var(--ip-radius-md) !important;
    width: 98% !important;
}
/* Скрываем спиннер у number-инпутов в td — он съедает пространство */
td input[type="number"].formstyleerpselect::-webkit-outer-spin-button,
td input[type="number"].formstyleerpselect::-webkit-inner-spin-button,
td input[type="number"].formstyleerp::-webkit-outer-spin-button,
td input[type="number"].formstyleerp::-webkit-inner-spin-button,
td input[type="number"].formstyleerpplan::-webkit-outer-spin-button,
td input[type="number"].formstyleerpplan::-webkit-inner-spin-button,
td input[type="number"].formstyleerpinput::-webkit-outer-spin-button,
td input[type="number"].formstyleerpinput::-webkit-inner-spin-button,
td input[type="number"].formstyleerpinputreturn::-webkit-outer-spin-button,
td input[type="number"].formstyleerpinputreturn::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
td input[type="number"].formstyleerpselect,
td input[type="number"].formstyleerp,
td input[type="number"].formstyleerpplan,
td input[type="number"].formstyleerpinput,
td input[type="number"].formstyleerpinputreturn {
    -moz-appearance: textfield !important;
    text-align: right !important;
}

/* Только <select> в td — нужен отступ под стрелку */
td select.formstyleerpselect,
td select.formstyleerpselecitm,
td select.formstyleerp1 {
    padding: 0 24px 0 8px !important;
}

/* ── Мобильный вид карточек (tablezakaz.css context) — полный размер ── */
@media (max-width: 1199px) {
    td .formstyleerpselect,
    td .formstyleerpselecitm,
    td .formstyleerp1,
    td .formstyleerp,
    td .formstyleerpplan,
    td .formstyleerpinput,
    td .formstyleerpinputreturn {
        height: 40px !important;
        padding: 0 10px !important;
        line-height: 38px !important;
        border-radius: var(--ip-radius-md) !important;
        width: 100% !important;
        font-size: 13px !important;
    }
    td select.formstyleerpselect,
    td select.formstyleerpselecitm,
    td select.formstyleerp1 {
        padding: 0 28px 0 10px !important;
    }
    td .select2-container--default .select2-selection--single {
        height: 40px !important;
        border-radius: var(--ip-radius-md) !important;
        width: 100% !important;
    }
    td .select2-container {
        width: 100% !important;
    }
}

/* ── Textarea ── */.formstyleerptextarea {
    -webkit-border-radius: var(--ip-radius-sm);
    -moz-border-radius: var(--ip-radius-sm);
    -ms-border-radius: var(--ip-radius-sm);
    height: 150px;
    vertical-align: middle;
    width: 100% !important;
    border-radius: var(--ip-radius-md) !important;
    border: 1px solid #e5e7eb !important;
    background: #ffffff !important;
    padding: 12px 14px !important;
    line-height: 1.5 !important;
    color: #111827 !important;
    box-shadow: none !important;
}

/* ── Лейблы ── */.lableip {
    position: absolute;
    /*     top: 13px;
    */
    /* left: 10px;
    */
    margin-bottom: 0;
    padding: 0 15px;
    z-index: 99;
    float: left;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #111827 !important;
}

/* ── Select2 глобально ── */.select2-container--default .select2-selection--single {
    padding: 0.688rem 1.938rem !important;
    border-radius: var(--ip-radius-md) !important;
    border: 1px solid #e5e7eb !important;
    background: #ffffff !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.2 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 14px !important;
    padding-right: 30px !important;
    color: #111827 !important;
    flex: 1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}.select2-container--default .select2-selection--single .select2-selection__arrow {
    padding: 1.888rem 1.938rem !important;
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* Размер треугольника select2 = 10×6px (как SVG у нативных select) */
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-width: 6px 5px 0 !important;
    border-color: #888 transparent transparent transparent !important;
    margin-left: -5px !important;
    margin-top: 0 !important;
    position: static !important;
    transform: none !important;
}
.select2-container--default .select2-selection--multiple {
    border-radius: var(--ip-radius-md) !important;
    border: 1px solid #e5e7eb !important;
    background: #ffffff !important;
    min-height: 48px !important;
}

/* ── Select2 в ячейках таблиц — компактнее ── */
td .select2-container--default .select2-selection--single {
    height: 36px !important;
    border-radius: var(--ip-radius-sm) !important;
}
td .select2-container--default .select2-selection--single .select2-selection__arrow {
    right: 6px !important;
}

/* ── Тёмная тема — инпуты ── */
body.bg-dark .formstyleerp,
body.bg-dark .formstyleerpplan,
body.bg-dark .formstyleerpinput,
body.bg-dark .formstyleerpinputreturn,
body.bg-dark .formstyleerpfiltrdata,
body.bg-dark .formstyleerpmail,
body.bg-dark .formstyleerpfiltr,
body.bg-dark .formstyleerptextarea {
    background: #252837 !important;
    border-color: rgba(255,255,255,0.10) !important;
    color: #e5e7eb !important;
}

/* ── Тёмная тема — базовый фон для select и input с этими классами ── */
body.bg-dark .formstyleerp1,
body.bg-dark .formstyleerpselect,
body.bg-dark .formstyleerpselecitm {
    background-color: #252837 !important;
    border-color: rgba(255,255,255,0.10) !important;
    color: #e5e7eb !important;
}
/* Только <select> в тёмной теме — светлая SVG стрелка */
body.bg-dark select.formstyleerp1,
body.bg-dark select.formstyleerpselect,
body.bg-dark select.formstyleerpselecitm {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0L5 6L10 0Z' fill='%239ca3af'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 10px 6px !important;
}

/* ── Тёмная тема — лейблы ── */
body.bg-dark .lableip {
    color: #e5e7eb !important;
}

/* ── Тёмная тема — Select2 ── */
body.bg-dark .select2-container--default .select2-selection--single,
body.bg-dark .select2-container--default .select2-selection--multiple {
    background: #252837 !important;
    border-color: rgba(255,255,255,0.10) !important;
}
body.bg-dark .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #e5e7eb !important;
}
body.bg-dark .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #9ca3af transparent transparent transparent !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FILTERS-MENU — боковая панель фильтров
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Каждый form-group: горизонтальные отступы + вертикальный зазор */
.filters-menu .form-group {
    padding: 0 16px !important;
    margin-bottom: 14px !important;
    margin-top: 14px !important;
    background: transparent !important;
}


/* Инпуты внутри фильтра: 48px, 12px radius */
.filters-menu .formstyleerp,
.filters-menu .formstyleerpfiltr,
.filters-menu .formstyleerpfiltrdata {
    height: 48px !important;
    line-height: 48px !important;
    border-radius: var(--ip-radius-md) !important;
    width: 100% !important;
    padding: 0 14px !important;
}

/* Select2 внутри фильтра: полная ширина, 48px */
.filters-menu .select2-container {
    width: 100% !important;
}
.filters-menu .select2-container--default .select2-selection--single {
    height: 48px !important;
    width: 100% !important;
    border-radius: var(--ip-radius-md) !important;
    display: flex !important;
    align-items: center !important;
}
.filters-menu .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.2 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    font-size: 13px !important;
    padding-left: 14px !important;
    padding-right: 30px !important;
}

/* Тёмная тема фильтра */
/* body.bg-dark .filters-menu .form-group {
    background: transparent !important;
} */
body.bg-dark .filters-menu label,
body.bg-dark .filters-menu label.lableip {
    color: #e5e7eb !important;
/*     background: transparent !important; */
}
body.bg-dark .filters-menu .formstyleerp,
body.bg-dark .filters-menu .formstyleerp1,
body.bg-dark .filters-menu .formstyleerpfiltr,
body.bg-dark .filters-menu .formstyleerpfiltrdata {
    background: #252837 !important;
    border-color: rgba(255,255,255,0.12) !important;
    color: #e5e7eb !important;
}
body.bg-dark .filters-menu .select2-container--default .select2-selection--single,
body.bg-dark .filters-menu .select2-container--default .select2-selection--multiple {
    background: #252837 !important;
    border-color: rgba(255,255,255,0.12) !important;
}
body.bg-dark .filters-menu .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #e5e7eb !important;
}

/* ─── .plusiconip — глобальный редизайн под стиль тулбара ───────────
   Переопределяем старый стиль (line 955: #b9cef2, 30px, border-radius 5px)
   Panelhed-кнопки используют более специфичный селектор — не затрагиваем */.plusiconip {
    background: rgba(26,86,219,0.09) !important;
    border: 1px solid rgba(26,86,219,0.14) !important;
    border-radius: var(--ip-radius-sm) !important;
    height: 32px !important;
    width: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    margin-right: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    cursor: pointer !important;
    transition: background 0.15s, border-color 0.15s !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}.plusiconip:hover {
    border: 1px solid #00aaff !important;
    background: rgba(26,86,219,0.16) !important;
    border-color: rgba(26,86,219,0.26) !important;
    text-decoration: none !important;
}
.plusiconip img {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    flex-shrink: 0 !important;
}

/* Корзина/удаление — красный акцент (оставить) */
.plusiconip:has(img[src*="trash"]),
.plusiconip[data-action-url*="delete"],
.plusiconip[data-url*="delete"],
.plusiconip[onclick*="delete"] {
    background: rgba(239,68,68,0.09) !important;
    border-color: rgba(239,68,68,0.18) !important;
}
.plusiconip:has(img[src*="trash"]):hover,
.plusiconip[data-action-url*="delete"]:hover,
.plusiconip[data-url*="delete"]:hover,
.plusiconip[onclick*="delete"]:hover {
    background: rgba(239,68,68,0.18) !important;
    border-color: rgba(239,68,68,0.32) !important;
}

/* Тёмная тема */
body.bg-dark .plusiconip {
    background: rgba(96,165,250,0.10) !important;
    border-color: rgba(96,165,250,0.20) !important;
}
body.bg-dark .plusiconip:hover {
    background: rgba(96,165,250,0.20) !important;
    border-color: rgba(96,165,250,0.35) !important;
}
body.bg-dark .plusiconip:has(img[src*="trash"]),
body.bg-dark .plusiconip[data-action-url*="delete"] {
    background: rgba(239,68,68,0.12) !important;
    border-color: rgba(239,68,68,0.24) !important;
}

/* ══════════════════════════════════════════════════════════════
   MOBILE ≤599px — уменьшаем горизонтальные отступы в формах
   Проблема: #tpl(10px) + tab-content(20px) + col-padding(15px) = ~45px
   каждой стороны на 430px → контент слишком узкий и неравномерный
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 599px) {
    /* Основной контейнер страницы: меньше отступов */
    div#tpl {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    /* tab-content (основной — без panelcat): уменьшаем боковые padding */
    .nav-tabs-custom > .tab-content {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    /* Содержимое вкладок panelcat: уменьшаем боковые padding */
    .nav-tabs-custom > .tab-content.panelcat > .tab-pane {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    /* form-horizontal: убираем отрицательные margin у form-group
       чтобы не создавалась асимметрия с Bootstrap -15px */
    .nav-tabs-custom .form-horizontal .form-group {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Столбцы внутри форм: убираем лишний padding */
    .nav-tabs-custom .tab-content [class*="col-lg-"],
    .nav-tabs-custom .tab-content [class*="col-sm-"],
    .nav-tabs-custom .tab-content [class*="col-md-"] {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
}

/* ---- ERP Help icon & tooltip ---- */
.erp-help-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 15px !important;
    height: 15px !important;
    border-radius: 50% !important;
    background: #9ca3af !important;
    color: #fff !important;
    font-size: 9px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    cursor: help !important;
    margin-left: 4px !important;
    vertical-align: middle !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    user-select: none !important;
    text-decoration: none !important;
}
.erp-help-icon:hover {
    background: #3b82f6 !important;
}
.erp-help-tooltip {
    position: absolute !important;
    z-index: 10500 !important;
    background: #ffffff !important;
    border: 1px solid #d9e0ec !important;
    border-radius: var(--ip-radius-md) !important;
    padding: 10px 12px !important;
    width: 230px !important;
    box-shadow: 0 4px 18px rgba(0,0,0,.13) !important;
    display: none;
    pointer-events: auto !important;
}
.erp-help-tooltip__text {
    font-size: 12px !important;
    color: #374151 !important;
    line-height: 1.55 !important;
    margin-bottom: 8px !important;
}
.erp-help-tooltip__more {
    background: none !important;
    border: none !important;
    color: #3b82f6 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    padding: 0 !important;
}
.erp-help-tooltip__more:hover {
    text-decoration: underline !important;
}

/* ---- ERP chatbot links ---- */
.erp-chatbot-link {
    color: #3b82f6 !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    font-weight: 500 !important;
}
.erp-chatbot-link:hover {
    color: #1d4ed8 !important;
}



/* ══════════════════════════════════════════════════════════════
   .theme-avtar — нейтрализуем bg-* цвета (bg-green-dark, bg-blues и т.д.)
   bg-* классы из app-rtl.css/Bootstrap задают background-color без !important,
   но перебивают наш стиль если заданы через inline <style> в конкретных view-файлах.
   Принудительно сбрасываем цвет фона и текста для всех аватар-иконок.
   ══════════════════════════════════════════════════════════════ */
.theme-avtar[class*="bg-"] {
    background: #f9fafb !important;
    background-color: #f9fafb !important;
    color: var(--ip-text, #1a1f36) !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: var(--ip-radius-sm) !important;
    background-color: transparent !important;
    border: 1px solid rgba(0, 0, 0, 0.10) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
    top: unset !important;
    right: unset !important;
    z-index: unset !important;
    position: static !important;
    color: var(--ip-text-muted, #6b7280) !important;
}
body.bg-dark .theme-avtar[class*="bg-"] {
    background: #252d3d !important;
    background-color: #252d3d !important;
    color: #e5e7eb !important;
}

/* ══════════════════════════════════════════════════════════════
   FilePond — стиль в рамках SaaS редизайна
   ══════════════════════════════════════════════════════════════ */
/* Фон и граница — на внешнем root-контейнере, не на вложенном panel *//* Убираем вторую рамку от bg-white.css (.filepond--drop-label { border: 2px solid #cfcfcf }) */
.filepond--root .filepond--drop-label,
.filepond--drop-label {
    border: none !important;
    border-radius: 0 !important;
    color: #6b7280 !important;
    font-size: 13px !important;
}.filepond--drop-label label a {
    color: var(--ip-primary) !important;
    text-decoration: none !important;
}
.filepond--drop-label label a:hover {
    text-decoration: underline !important;
}
/* Иконка скрепки/загрузки */
.filepond--label-action {
    color: var(--ip-primary) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}
.filepond--label-action:hover {
    text-decoration: underline !important;
}
/* Тёмная тема */body.bg-dark .filepond--drop-label,
body.bg-dark .filepond--drop-label label {
    color: #9ca3af !important;
}

/* ══════════════════════════════════════════════════════════════
   a.btn.btn-default с иконками в заголовках панелей (hedtitelname, panel-title)
   — единый стиль с .plusiconip
   ══════════════════════════════════════════════════════════════ */
.panel-title a.btn.btn-default:has(img),
.hedtitelname a.btn.btn-default:has(img),
.hedtitelname h3 a.btn.btn-default:has(img),
ul.nav.nav-tabs li.linktop a.btn.btn-default:has(img) {
    background: rgba(26,86,219,0.09) !important;
    border: 1px solid rgba(26,86,219,0.14) !important;
    border-radius: var(--ip-radius-sm) !important;
    height: 32px !important;
    width: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    margin-right: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    cursor: pointer !important;
    transition: background 0.15s, border-color 0.15s !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
}
.panel-title a.btn.btn-default:has(img):hover,
.hedtitelname a.btn.btn-default:has(img):hover,
ul.nav.nav-tabs li.linktop a.btn.btn-default:has(img):hover {
    background: rgba(26,86,219,0.16) !important;
    border-color: rgba(26,86,219,0.26) !important;
}
.panel-title a.btn.btn-default:has(img) img,
.hedtitelname a.btn.btn-default:has(img) img,
ul.nav.nav-tabs li.linktop a.btn.btn-default:has(img) img {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    flex-shrink: 0 !important;
}
/* Тёмная тема */
body.bg-dark .panel-title a.btn.btn-default:has(img),
body.bg-dark .hedtitelname a.btn.btn-default:has(img),
body.bg-dark ul.nav.nav-tabs li.linktop a.btn.btn-default:has(img) {
    background: rgba(96,165,250,0.10) !important;
    border-color: rgba(96,165,250,0.20) !important;
}
body.bg-dark .panel-title a.btn.btn-default:has(img):hover,
body.bg-dark .hedtitelname a.btn.btn-default:has(img):hover,
body.bg-dark ul.nav.nav-tabs li.linktop a.btn.btn-default:has(img):hover {
    background: rgba(96,165,250,0.20) !important;
    border-color: rgba(96,165,250,0.35) !important;
}

/* Кнопки экспорта/печати/фильтра — индивидуальные цвета */

/* Печать — красный */
#btn-print {
    background: rgba(220,38,38,0.08) !important;
    border-color: rgba(220,38,38,0.22) !important;
}
#btn-print:hover {
    background: rgba(220,38,38,0.16) !important;
    border-color: rgba(220,38,38,0.36) !important;
}
body.bg-dark #btn-print {
    background: rgba(248,113,113,0.10) !important;
    border-color: rgba(248,113,113,0.22) !important;
}
body.bg-dark #btn-print:hover {
    background: rgba(248,113,113,0.20) !important;
    border-color: rgba(248,113,113,0.38) !important;
}

/* Excel — зелёный */
#btn-export {
    background: rgba(5,122,85,0.09) !important;
    border-color: rgba(5,122,85,0.22) !important;
}
#btn-export:hover {
    background: rgba(5,122,85,0.17) !important;
    border-color: rgba(5,122,85,0.35) !important;
}
body.bg-dark #btn-export {
    background: rgba(52,196,113,0.10) !important;
    border-color: rgba(52,196,113,0.22) !important;
}
body.bg-dark #btn-export:hover {
    background: rgba(52,196,113,0.20) !important;
    border-color: rgba(52,196,113,0.38) !important;
}

/* Word — голубой */
#btn-export-word {
    background: rgba(14,165,233,0.09) !important;
    border-color: rgba(14,165,233,0.22) !important;
}
#btn-export-word:hover {
    background: rgba(14,165,233,0.17) !important;
    border-color: rgba(14,165,233,0.36) !important;
}
body.bg-dark #btn-export-word {
    background: rgba(56,189,248,0.10) !important;
    border-color: rgba(56,189,248,0.22) !important;
}
body.bg-dark #btn-export-word:hover {
    background: rgba(56,189,248,0.20) !important;
    border-color: rgba(56,189,248,0.38) !important;
}


/* Скрытый select2 не должен перехватывать мышь и показывать нативный title-тултип */
select.select2-hidden-accessible {
    pointer-events: none !important;
}

/* img.plusiconip — если класс случайно стоит на <img> а не на <a>,
   сбрасываем размеры чтобы cart-item1 img (60px) не перебивал */img.plusiconip {
    margin-right: 0px !important;
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    flex-shrink: 0 !important;
    object-fit: unset !important;
    border-radius: 0 !important;
}

/* ── botomerpbotomdropdown — высокоспецифичный финальный сброс ────────────
   button.botomerpbotomdropdown имеет специфичность (0,1,1) vs. (0,1,0)
   у всех предыдущих class-only правил → гарантированно побеждает */
button.botomerpbotomdropdown,
button.botomerpbotomdropdown1 {
    height: 38px !important;
    min-width: 90px !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border-radius: var(--ip-radius-sm) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    padding: 0 20px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    outline: none !important;
    float: none !important;
    background-color: #f9fafb !important;
    color: #374151 !important;
    border: 1px solid rgba(0,0,0,0.14) !important;
    box-shadow: none !important;
    transition: background-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease !important;
    -webkit-appearance: none !important;
}
button.botomerpbotomdropdown:hover,
button.botomerpbotomdropdown1:hover {
    background-color: #f3f4f6 !important;
    color: #111827 !important;
    box-shadow: none !important;
    padding: 0 20px !important;
    transform: none !important;
}
body.bg-dark button.botomerpbotomdropdown,
body.bg-dark button.botomerpbotomdropdown1 {
    background-color: #252837 !important;
    color: #e5e7eb !important;
    border-color: rgba(255,255,255,0.12) !important;
}
body.bg-dark button.botomerpbotomdropdown:hover,
body.bg-dark button.botomerpbotomdropdown1:hover {
    background-color: #2d3144 !important;
    color: #f3f4f6 !important;
}

/* ── Пустое состояние графиков (ipp-no-data) ─────────────────────────── */
.ipp-no-data {
    padding: 40px 24px;
    text-align: center;
}
.ipp-no-data__icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #eff6ff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    flex-shrink: 0;
}
.ipp-no-data__icon svg {
    stroke: var(--ip-primary);
}
.ipp-no-data__text {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}
body.bg-dark .ipp-no-data__icon {
    background: rgba(26, 86, 219, 0.15);
}
body.bg-dark .ipp-no-data__icon svg {
    stroke: #60a5fa;
}
body.bg-dark .ipp-no-data__text {
    color: #e5e7eb;
}

/* Sortable attribute list — вкладка Вариации */
#sortableList {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
#sortableList li.sortable-attr-item {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: move;
    font-size: 13px;
    white-space: nowrap;
    width: auto !important;
}

/* ===== Client card — вертикальное боковое меню (референс стиль) ===== */
.client-card-layout {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
/* Убираем padding родительского tab-content когда внутри client-card-layout */
.nav-tabs-custom > .tab-content:has(.client-card-layout) {
    padding: 8px !important;
}
.client-card-layout > .nav-tabs-custom {
    flex-shrink: 0 !important;
    width: 210px !important;
    max-width: 210px !important;
    min-width: 210px !important;
    border-right: none !important;
    border-bottom: none !important;
    min-height: 300px;
    padding: 8px 8px;
    overflow: visible !important;
}
.client-card-layout > .nav-tabs-custom .scroll-container {
    flex-direction: column !important;
    overflow: visible !important;
    width: 210px !important;
    padding: 0 !important;
}
.client-card-layout > .nav-tabs-custom .arrow {
    display: none !important;
}
.client-card-layout ul.ulproject {
    flex-direction: column !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    white-space: normal !important;
    width: 100% !important;
    border-bottom: none !important;
    padding: 4px 6px !important;
    gap: 2px;
    display: flex !important;
}
.client-card-layout ul.ulproject > li {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    border-bottom: none !important;
    border-radius: var(--ip-radius-sm) !important;
    overflow: hidden;
}
.client-card-layout ul.ulproject > li > a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: var(--ip-radius-sm) !important;
    border: none !important;
    padding: 11px 14px !important;
    white-space: normal !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    color: var(--ip-nav-item, #2a2c2e) !important;
    margin: 0 !important;
    transition: background 0.2s ease, color 0.2s ease !important;
    text-decoration: none !important;
}
.client-card-layout ul.ulproject > li > a:hover {
    background: var(--ip-nav-hover-bg, #f3f4f6) !important;
    color: var(--ip-nav-item-hover, #374151) !important;
    border: none !important;
    width: 100%;
}
.client-card-layout ul.ulproject > li.active > a,
.client-card-layout ul.ulproject > li.active > a:hover,
.client-card-layout ul.ulproject > li.active > a:focus {
    background: var(--ip-nav-hover-bg, #f3f4f6) !important;
    color: var(--ip-nav-item-active, #111827) !important;
    border: none !important;
}
/* Иконка в пункте меню */
.client-card-layout .ccm-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    filter: brightness(0) opacity(0.3);
    transition: filter 0.2s ease;
}
.client-card-layout ul.ulproject > li > a span:not(.ccm-badge) {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Счётчик-бейдж в боковом меню: маленький светлый, прижат вправо */
.client-card-layout ul.ulproject > li > a .ccm-badge {
    flex: 0 0 auto;
    margin-left: 8px;
    background: #eef1f6;
    color: #6b7280;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    padding: 3px 7px;
    border-radius: var(--ip-radius-md);
    min-width: 18px;
    text-align: center;
}
body.bg-dark .client-card-layout ul.ulproject > li > a .ccm-badge {
    background: rgba(255,255,255,0.10);
    color: #cbd5e1;
}
/* Заголовок-пилюля для шапок контент-вкладок в боковом меню карточки (opportunity).
   Покрывает 4 паттерна разметки шапки: report-panel-title (span), panel-heading (strong),
   panelhed (li>a) и обычный nav-tabs (li>a). Контент лежит прямо в .tab-content (без .tab-pane),
   поэтому штатное правило пилюли тут не срабатывает — дублируем под .ip-side-card. */
.ip-side-card .tab-content .panel-title > span:first-child,
.ip-side-card .tab-content .panel-title > strong:first-child,
.ip-side-card .tab-content ul.nav.nav-tabs > li:first-child:not(.linktop) > a {
    display: inline-block !important;
    background: var(--ip-primary-light, #eff4ff) !important;
    color: var(--ip-primary, #1a56db) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    padding: 4px 12px !important;
    border-radius: var(--ip-radius-sm) !important;
    border: none !important;
    text-decoration: none !important;
}
body.bg-dark .ip-side-card .tab-content .panel-title > span:first-child,
body.bg-dark .ip-side-card .tab-content .panel-title > strong:first-child,
body.bg-dark .ip-side-card .tab-content ul.nav.nav-tabs > li:first-child:not(.linktop) > a {
    background: rgba(26,86,219,0.18) !important;
    color: #93b4f5 !important;
}
/* Статичная panelhed-шапка без href (напр. «История») — базовое правило (6728) делает её
   plain-текстом и специфичнее, поэтому повторяем те же :not()-гарды, чтобы перебить. */
.ip-side-card .tab-content ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop) > a:not([href]):not([data-toggle]):not([onclick]) {
    display: inline-block !important;
    width: auto !important;
    background: var(--ip-primary-light, #eff4ff) !important;
    color: var(--ip-primary, #1a56db) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    padding: 4px 12px !important;
    border-radius: var(--ip-radius-sm) !important;
    border: none !important;
    pointer-events: none !important;
}
body.bg-dark .ip-side-card .tab-content ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop) > a:not([href]):not([data-toggle]):not([onclick]) {
    background: rgba(26,86,219,0.18) !important;
    color: #93b4f5 !important;
}
.client-card-layout ul.ulproject > li.active > a .ccm-icon,
.client-card-layout ul.ulproject > li > a:hover .ccm-icon {
    filter: brightness(0) opacity(0.65);
}
.client-card-layout > .pcd-content-panel {
    flex: 1 1 0;
    min-width: 0;
    overflow: visible;
    min-height: 300px;
    border: none;
    border-radius: var(--ip-radius-md);
    box-shadow: none;
    background: var(--ip-bg-card, #fff);
    padding: 8px !important;
}
/* Контент карточки клиента (.tab-content) тянется на всю ширину (десктоп) */
.client-card-layout > .tab-content {
    flex: 1 1 0;
    min-width: 0;
}
/* Тёмная тема */
body.bg-dark .client-card-layout .ccm-icon {
    filter: brightness(0) invert(1) opacity(0.55);
}
body.bg-dark .client-card-layout ul.ulproject > li.active > a .ccm-icon,
body.bg-dark .client-card-layout ul.ulproject > li > a:hover .ccm-icon {
    filter: brightness(0) invert(1) opacity(0.9);
}

/* ===== Client ОБЩЕЕ tab banner & grid redesign ===== */
.ccm-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: linear-gradient(135deg, #f0f4ff 0%, #e8f0fe 100%);
    border-radius: var(--ip-radius-md);
    padding: 16px 20px;
    margin-bottom: 16px;
    border: 1px solid #dce6fb;
}
body.bg-dark .ccm-banner {
    background: linear-gradient(135deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.03) 100%);
    border-color: rgba(255,255,255,0.1);
}
.ccm-banner-body {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}
.ccm-banner-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--ip-primary);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
body.bg-dark .ccm-banner-avatar {
    background: #2563eb;
}
.ccm-banner-name {
    font-size: 18px;
    font-weight: 700;
    color: var(--ip-text-strong, #111827);
    line-height: 1.2;
    margin-bottom: 3px;
}
.ccm-banner-sub {
    font-size: 13px;
    color: var(--ip-text-muted, #6b7280);
}
.ccm-banner-limit {
    color: #dc2626;
}
.ccm-banner-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

/* Grid items: labels uppercase gray, values bold dark */
.gridcontetdetali .text-muted.text-sm {
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #9ca3af !important;
    margin-bottom: 2px !important;
}
.gridcontetdetali h5.text-primary {
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}
body.bg-dark .gridcontetdetali h5.text-primary {
    color: #f3f4f6 !important;
}
.gridcontetdetali .d-flex.align-items-start {
    padding: 6px 4px;
    border-radius: var(--ip-radius-sm);
    transition: background 0.15s;
}
.gridcontetdetali .d-flex.align-items-start:hover {
    background: #f9fafb;
}
body.bg-dark .gridcontetdetali .d-flex.align-items-start:hover {
    background: rgba(255,255,255,0.04);
}
/* ===== Конец Client ОБЩЕЕ tab redesign ===== */

/* ===== Awesomplete redesign ===== */
.awesomplete > ul {
    border-radius: var(--ip-radius-md) !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.06) !important;
    background: #fff !important;
    padding: 4px 0 !important;
    margin-top: 4px !important;
    min-width: 320px !important;
    max-height: 320px;
    overflow-y: auto;
}
/* Убираем треугольник */
.awesomplete > ul:before {
    display: none !important;
}
.awesomplete > ul > li {
    padding: 9px 14px !important;
    font-size: 13px !important;
    color: #374151 !important;
    border-radius: var(--ip-radius-sm) !important;
    margin: 0 4px !important;
    transition: background 0.12s !important;
    cursor: pointer !important;
}
.awesomplete > ul > li:hover {
    background: #f3f4f6 !important;
    color: #111827 !important;
}
.awesomplete > ul > li[aria-selected="true"] {
    background: #eff2ff !important;
    color: var(--ip-primary) !important;
}
.awesomplete mark {
    background: #fef3c7 !important;
    color: #92400e !important;
    border-radius: 3px !important;
    padding: 0 1px !important;
    font-weight: 600 !important;
}
.awesomplete li:hover mark {
    background: #fde68a !important;
    color: #78350f !important;
}
.awesomplete li[aria-selected="true"] mark {
    background: #c7d7fd !important;
    color: #1e40af !important;
}
body.bg-dark .awesomplete > ul {
    background: #1f2937 !important;
    border-color: rgba(255,255,255,0.1) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
}
body.bg-dark .awesomplete > ul > li {
    color: #d1d5db !important;
}
body.bg-dark .awesomplete > ul > li:hover {
    background: rgba(255,255,255,0.07) !important;
    color: #f9fafb !important;
}
body.bg-dark .awesomplete > ul > li[aria-selected="true"] {
    background: rgba(99,102,241,0.15) !important;
    color: #a5b4fc !important;
}
/* ===== Конец Awesomplete redesign ===== */

/* ===== Comments section header ===== */
.ccm-section-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    margin-top: 24px;
    margin-bottom: 14px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: var(--ip-radius-sm);
    clear: both;
    width: 100%;
    box-sizing: border-box;
}
.ccm-section-head .theme-avtar {
    margin: 0;
    flex-shrink: 0;
}
.ccm-section-head-title {
    font-size: 12px;
    font-weight: 700;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}
body.bg-dark .ccm-section-head {
    background: rgba(255,255,255,0.04);
    border-color: rgba(255,255,255,0.08);
}
body.bg-dark .ccm-section-head-title {
    color: #9ca3af;
}
/* ===== Конец Comments section header ===== */

/* ===== FilePond upload area redesign ===== */.filepond--root {
    border-radius: var(--ip-radius-md) !important;
    font-family: inherit !important;
    margin-bottom: 0 !important;
}.filepond--panel-root {
    box-shadow: none !important;
    background-color: #f9fafb !important;
    border: 1.5px dashed #d1d5db !important;
    border-radius: var(--ip-radius-sm) !important;
}
.filepond--drop-label {
    min-height: 60px !important;
}.filepond--drop-label label {
    font-size: 13px !important;
    color: #9ca3af !important;
    cursor: pointer !important;
}
.filepond--drop-label label strong,
.filepond--drop-label label a {
    color: var(--ip-primary) !important;
    font-weight: 600 !important;
}
.filepond--drip-blob { background: var(--ip-primary) !important; }body.bg-dark .filepond--panel-root {
    background-color: rgba(255,255,255,0.03) !important;
    border-color: rgba(255,255,255,0.12) !important;
}
body.bg-dark .filepond--drop-label label { color: #6b7280 !important; }
/* ===== Конец FilePond upload area redesign ===== */

/* Убираем padding у #chat-box — карточки комментариев должны занимать всю ширину */
#chat-box {
    padding: 0 !important;
    overflow: visible !important;
}
/* ===== Comment list items ===== */
/* Только верхний уровень (не reply) — полная ширина */
.ip-comment-item:not(.ip-comment-reply) {
    width: 100%;
    box-sizing: border-box;
}
.ip-comment-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: var(--ip-radius-md);
    border: 1px solid #eff1f5;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    background: #fff;
    margin-bottom: 8px;
    position: relative;
    transition: box-shadow 0.15s;
}
.ip-comment-item:hover { box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.ip-comment-item:last-child { margin-bottom: 0; }

/* Левая цветная полоска — скрыта, акцент через аватар */
.ip-comment-bar { display: none; }

/* Аватар — круглый, цвет через CSS-классы */
.ip-comment-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    flex-shrink: 0;
    overflow: hidden;
}
.ip-comment-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}
/* Цветовые классы аватара */
.ip-comment-avatar--c0 { background: #ede9fe; color: #6366f1; }
.ip-comment-avatar--c1 { background: #d1fae5; color: #059669; }
.ip-comment-avatar--c2 { background: #dbeafe; color: #2563eb; }
.ip-comment-avatar--c3 { background: #fef3c7; color: #b45309; }
.ip-comment-avatar--c4 { background: #f3e8ff; color: #7c3aed; }
.ip-comment-avatar--c5 { background: #fee2e2; color: #dc2626; }

/* Тело */
.ip-comment-body {
    flex: 1;
    min-width: 0;
}

/* Заголовок: имя + время + удалить */
.ip-comment-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 5px;
    flex-wrap: wrap;
}
.ip-comment-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.ip-comment-author {
    font-size: 13px;
    font-weight: 700;
    color: var(--ip-text-strong, #111827) !important;
    text-decoration: none !important;
    line-height: 1;
}
.ip-comment-author:hover { color: var(--ip-primary) !important; }
.ip-comment-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.ip-comment-time {
    font-size: 11px;
    color: #9ca3af;
    display: flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
    background: none;
    padding: 0;
}
.ip-comment-clock {
    width: 11px;
    height: 11px;
    filter: brightness(0) opacity(0.3);
    flex-shrink: 0;
}
.ip-comment-time label {
    margin: 0;
    padding: 0;
    line-height: 1;
    font-weight: normal;
    cursor: default;
}
.ip-comment-delete {
    opacity: 0.2;
    transition: opacity 0.15s, background 0.15s;
    display: flex;
    align-items: center;
    padding: 4px;
    border-radius: var(--ip-radius-sm);
    color: #ef4444;
}
.ip-comment-item:hover .ip-comment-delete { opacity: 0.5; }
.ip-comment-delete:hover { opacity: 1 !important; background: #fee2e2; }

/* Текст */
.ip-comment-text {
    font-size: 13.5px;
    color: #4b5563;
    line-height: 1.6;
    margin-bottom: 10px;
    white-space: pre-wrap;
    word-break: break-word;
}

/* Вложения */
.ip-comment-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}
.ip-comment-img-attach {
    width: 90px;
    height: 68px;
    object-fit: cover;
    border-radius: var(--ip-radius-sm);
    border: 1px solid #e5e7eb;
    cursor: zoom-in;
    transition: transform 0.15s;
}
.ip-comment-img-attach:hover { transform: scale(1.03); }
.ip-comment-file {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: var(--ip-radius-sm);
    padding: 5px 10px;
    text-decoration: none;
    color: #374151;
    transition: background 0.15s;
}
.ip-comment-file:hover { background: #f3f4f6; }
.ip-comment-file-name { color: #374151; text-decoration: none; font-size: 12px; }

/* Кнопка «Ответить» */
.ip-comment-reply-btn {
    background: none;
    border: none;
    border-radius: var(--ip-radius-sm);
    padding: 3px 8px;
    font-size: 12px;
    font-weight: 500;
    color: #9ca3af;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: background 0.15s, color 0.15s;
    margin-top: 2px;
}
.ip-comment-reply-btn img { filter: brightness(0) opacity(0.35); width: 13px; }
.ip-comment-reply-btn:hover { background: #f3f4f6; color: #374151; }
.ip-comment-reply-btn:hover img { filter: brightness(0) opacity(0.6); }

/* ===== Reply items (ответы) ===== */
.ip-comment-reply {
    margin-left: 50px;
    background: #f9fafb;
    border: 1px solid #f0f2f5;
    border-radius: var(--ip-radius-md);
    box-shadow: none;
    padding: 10px 14px;
    margin-top: 6px;
    margin-bottom: 6px;
    max-width: 100%;
    box-sizing: border-box;
}
.ip-comment-reply .ip-comment-avatar--sm {
    width: 28px !important;
    height: 28px !important;
    font-size: 11px !important;
}
.ip-comment-reply .ip-comment-text {
    font-size: 13px;
    margin-bottom: 0;
}
.ip-comment-reply .ip-comment-time { background: none; padding: 0; }

/* Тёмная тема */
body.bg-dark .ip-comment-item { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.07); box-shadow: none; }
body.bg-dark .ip-comment-item:hover { box-shadow: 0 2px 8px rgba(0,0,0,.3); }
body.bg-dark .ip-comment-text { color: #9ca3af; }
body.bg-dark .ip-comment-time { color: #6b7280; }
body.bg-dark .ip-comment-reply-btn { color: #6b7280; }
body.bg-dark .ip-comment-reply-btn:hover { background: rgba(255,255,255,0.06); color: #f3f4f6; }
body.bg-dark .ip-comment-reply { background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.06); }
body.bg-dark .ip-comment-reply .ip-comment-text { color: #9ca3af; }
body.bg-dark .ip-comment-delete:hover { background: rgba(239,68,68,0.15); }
/* Иконки комментариев: base filter brightness(0)=чёрный → в тёмной добавляем invert(1) (чёрный→светлый), иначе сливаются */
body.bg-dark .ip-comment-clock { filter: brightness(0) invert(1) opacity(0.45) !important; }
body.bg-dark .ip-comment-reply-btn img { filter: brightness(0) invert(1) opacity(0.5) !important; }
body.bg-dark .ip-comment-reply-btn:hover img { filter: brightness(0) invert(1) opacity(0.8) !important; }
body.bg-dark .ip-comment-file { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.08); color: #d1d5db; }

@media (max-width: 576px) {
    .ip-comment-item { padding: 10px 12px; gap: 8px; }
    .ip-comment-avatar { width: 32px; height: 32px; font-size: 12px; }
    .ip-comment-reply { margin-left: 16px; padding: 8px 10px; max-width: calc(100% - 16px); }
    .ip-comment-reply .ip-comment-avatar--sm { width: 24px !important; height: 24px !important; font-size: 10px !important; }
}
/* ===== Конец Comment list items ===== */

/* ===== Утилиты из comments.php ===== */.wd-0   { width: 0px !important; }.time-ago { float: right; }

/* ===== Attachment Cards Grid ===== */
.att-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 14px;
    padding: 4px 0;
}

.att-card {
    border: 1px solid var(--ip-border, #e5e7eb);
    border-radius: var(--ip-radius-md);
    overflow: hidden;
    background: var(--ip-bg-card, #fff);
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.att-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

/* 1:1 превью */
.att-card__preview {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--ip-surface-inset, #f9fafb);
    text-decoration: none;
}

.att-card__preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.2s ease;
}

.att-card:hover .att-card__preview img {
    transform: scale(1.04);
}

/* Иконка для не-картинок */
.att-card__file-icon {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.att-card__ext {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

/* Тело карточки */
.att-card__body {
    padding: 10px 10px 6px;
    flex: 1;
    min-width: 0;
}

.att-card__name {
    font-size: 12px;
    font-weight: 600;
    color: var(--ip-text-strong, #111827);
    margin: 0 0 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.att-card__meta {
    font-size: 11px;
    color: var(--ip-text-muted, #6b7280);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Кнопки */
.att-card__actions {
    display: flex;
    gap: 6px;
    padding: 8px 10px;
    border-top: 1px solid var(--ip-border, #f3f4f6);
    background: var(--ip-surface-inset, #fafafa);
}

.att-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 500;
    border-radius: var(--ip-radius-sm);
    padding: 4px 8px;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.15s ease, color 0.15s ease;
    line-height: 1;
}

.att-card__btn--download {
    background: #f0f9ff;
    color: #0369a1;
    border-color: #bae6fd;
    flex: 1;
    justify-content: center;
}
.att-card__btn--download:hover { background: #e0f2fe; color: #0369a1; }

.att-card__btn--delete {
    background: #fff0f0;
    color: #dc2626;
    border-color: #fecaca;
    padding: 4px 7px;
    justify-content: center;
}
.att-card__btn--delete:hover { background: #fee2e2; color: #dc2626; }

/* Пустое состояние */
.att-empty {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 40px 0;
    color: #9ca3af;
    font-size: 13px;
}

/* Тёмная тема */
body.bg-dark .att-card__btn--download { background: rgba(3,105,161,0.15); border-color: rgba(3,105,161,0.3); color: #38bdf8; }
body.bg-dark .att-card__btn--delete  { background: rgba(220,38,38,0.12); border-color: rgba(220,38,38,0.25); color: #f87171; }

@media (max-width: 599px) {
    .att-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}
/* ===== Конец Attachment Cards Grid ===== */

/* ===== Лайтбокс для вложений ===== */
#att-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    align-items: center;
    justify-content: center;
}
#att-lightbox.att-lightbox--open {
    display: flex;
}
#att-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.85);
    animation: attLbFadeIn 0.2s ease;
}
#att-lightbox__wrap {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 90vw;
    max-height: 90vh;
    animation: attLbZoomIn 0.22s ease;
}
#att-lightbox__img {
    max-width: 90vw;
    max-height: 80vh;
    object-fit: contain;
    border-radius: var(--ip-radius-md);
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
    display: block;
}
#att-lightbox__caption {
    color: rgba(255,255,255,0.75);
    font-size: 13px;
    margin: 10px 0 0;
    text-align: center;
    max-width: 80vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#att-lightbox__close {
    position: absolute;
    top: -40px;
    right: 0;
    background: rgba(255,255,255,0.15);
    color: #fff;
    border: none;
    border-radius: var(--ip-radius-sm);
    width: 32px;
    height: 32px;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}
#att-lightbox__close:hover { background: rgba(255,255,255,0.3); }

@keyframes attLbFadeIn  { from { opacity: 0; } to { opacity: 1; } }
@keyframes attLbZoomIn  { from { transform: scale(0.92); opacity: 0; } to { transform: scale(1); opacity: 1; } }
/* ===== Конец Лайтбокс ===== */

/* ===== Кнопки переключения вида вложений ===== */
.toggle-media-view {
    opacity: 0.45;
    transition: opacity 0.15s ease, background 0.15s ease;
}
.toggle-media-view:hover { opacity: 0.75; }
.toggle-media-view.att-view-active {
    opacity: 1;
    background: #f0f0f0 !important;
    border-color: #d1d5db !important;
}
body.bg-dark .toggle-media-view.att-view-active { background: rgba(255,255,255,0.1) !important; }
/* ===== Конец кнопок вида ===== */

/* ===== MOBILE: Client Card Responsive ≤768px ===== */

/* Бургер-кнопка и мобильная шапка — скрыты на десктопе */
.ccm-mobile-header {
    display: none;
}

@media (max-width: 768px) {

    /* ── Мобильная шапка с бургером ── */
    .ccm-mobile-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 14px;
        background: var(--ip-bg-card, #fff);
        border-bottom: 1px solid #e5e7eb;
        position: sticky;
        top: 0;
        z-index: 200;
        min-height: 52px;
    }

    .ccm-burger {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        width: 40px;
        height: 40px;
        padding: 8px;
        background: none;
        border: none;
        cursor: pointer;
        border-radius: var(--ip-radius-sm);
        flex-shrink: 0;
        transition: background 0.15s;
    }
    .ccm-burger:hover { background: var(--ip-nav-hover-bg, #f3f4f6); }
    .ccm-burger span {
        display: block;
        height: 2px;
        background: #374151;
        border-radius: 2px;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }
    body.bg-dark .ccm-burger span { background: #d1d5db; }

    .ccm-mobile-title {
        font-size: 14px;
        font-weight: 700;
        color: var(--ip-text-strong, #111827);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* ── Основной layout: убрать flex на мобиле ── */
    .client-card-layout {
        flex-direction: column !important;
        gap: 0 !important;
        padding-bottom: 70px !important;
    }

    /* ── Drawer (выезжающая панель) ── */
    .client-card-layout > .nav-tabs-custom {
        position: fixed !important;
        top: 0 !important;
        left: -260px !important;
        width: 260px !important;
        min-width: 260px !important;
        max-width: 260px !important;
        height: 100vh !important;
        z-index: 1060 !important;
        background: var(--ip-bg-card, #fff) !important;
        box-shadow: 4px 0 24px rgba(0,0,0,0.12) !important;
        transition: left 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
        overflow-y: auto !important;
        padding-top: 56px !important;
        border-radius: 0 !important;
    }

    .client-card-layout > .nav-tabs-custom.ccm-drawer-open {
        left: 0 !important;
    }

    /* Закрыть-кнопка внутри drawer */
    .ccm-drawer-close {
        display: flex !important;
        position: absolute;
        top: 12px;
        right: 12px;
        width: 36px;
        height: 36px;
        align-items: center;
        justify-content: center;
        background: #f3f4f6;
        border: none;
        border-radius: var(--ip-radius-sm);
        cursor: pointer;
        font-size: 18px;
        color: #374151;
        z-index: 10;
        transition: background 0.15s;
    }
    .ccm-drawer-close:hover { background: #e5e7eb; }
    body.bg-dark .ccm-drawer-close { background: rgba(255,255,255,0.08); color: #d1d5db; }
    body.bg-dark .ccm-drawer-close:hover { background: rgba(255,255,255,0.14); }

    /* Backdrop (затемнение) */
    .ccm-drawer-backdrop {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.45);
        z-index: 1055;
        animation: ccmFadeIn 0.22s ease;
    }
    .ccm-drawer-backdrop.ccm-backdrop-visible {
        display: block;
    }

    /* ── Контент — полная ширина ── */
    .client-card-layout > .tab-content,
    .client-card-layout > .pcd-content-panel {
        border-radius: 0 !important;
        padding: 12px 12px 70px !important;
        height: auto !important;
        width: 100% !important;
        overflow: visible !important;
    }

    /* ── Scroll container внутри drawer ── */
    .client-card-layout > .nav-tabs-custom .scroll-container {
        width: 100% !important;
    }

    /* ── Nav items в drawer — чуть крупнее тач-зоны ── */
    .client-card-layout ul.ulproject > li > a {
        padding: 13px 16px !important;
        font-size: 14px !important;
    }
}

@keyframes ccmFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ===== Конец MOBILE Client Card ===== */

/* Кнопка закрытия drawer — только на мобиле */
.ccm-drawer-close { display: none; }

/* ===== MOBILE: Banner overflow fix ===== */
@media (max-width: 768px) {    .ccm-banner-limit {
        display: inline;
        word-break: break-word;
    }
    .ccm-banner-actions {
        flex-shrink: 0;
    }
}
/* ===== Конец MOBILE Banner fix ===== */

/* ===== MOBILE: Hard overflow fix ===== */
@media (max-width: 768px) {
    /* Только горизонтальный overflow — вертикальный НЕ трогаем */
    .client-card-layout,
    .client-card-layout > .tab-content,
    .client-card-layout > .tab-content > .tab-pane {
        max-width: 100% !important;
        overflow-x: clip !important;
        overflow-y: visible !important;
        box-sizing: border-box !important;
    }

    /* Баннер: clip по x, visible по y */.ccm-banner {
    padding: 12px 14px;
    gap: 10px;
    overflow-x: clip !important;
    overflow-y: visible !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}.ccm-banner-body {
    overflow: hidden;
    min-width: 0 !important;
    flex: 1 1 0 !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    max-width: 100% !important;
}.ccm-banner-name {
    font-size: 15px;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}.ccm-banner-sub {
    font-size: 12px;
    line-height: 1.4;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
}

    /* Данные (gridcontetdetali) */
    .gridcontetdetali {
        max-width: 100% !important;
        overflow-x: clip !important;
    }
    .gridcontetdetali .d-flex {
        max-width: 100% !important;
        flex-wrap: wrap !important;
    }
    .gridcontetdetali .ms-2,
    .gridcontetdetali .text-sm,
    .gridcontetdetali h5 {
        max-width: 100% !important;
        word-break: break-word !important;
    }
}
/* ===== Конец Hard overflow fix ===== */

/* ===== Соц сети (read-only лента переписки в карточке клиента) ===== */
.ip-social-feed { padding: 8px 4px; }
.ip-social-conv { margin-bottom: 18px; }
.ip-social-conv-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--ip-border, rgba(0,0,0,0.08));
}
.ip-social-conv-name { font-weight: 600; color: var(--ip-text, #111827); }
.ip-social-conv-channel {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    background: var(--ip-primary-light, #eff4ff);
    color: var(--ip-primary, #1a56db);
    padding: 2px 8px;
    border-radius: var(--ip-radius-md);
}
.ip-social-msg {
    background: var(--ip-bg-page, #f8f9fd);
    border: 1px solid var(--ip-border, rgba(0,0,0,0.06));
    border-radius: var(--ip-radius-md);
    padding: 8px 12px;
    margin-bottom: 8px;
    max-width: 80%;
}
.ip-social-msg-head {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 3px;
}
.ip-social-msg-head strong { font-size: 12px; color: var(--ip-text, #111827); }
.ip-social-msg-time { font-size: 11px; color: var(--ip-text-muted, #6b7280); }
.ip-social-msg-body { font-size: 13px; color: var(--ip-text, #374151); word-break: break-word; }
.ip-social-msg-attach { font-size: 12px; color: var(--ip-text-muted, #6b7280); margin-top: 4px; }
body.bg-dark .ip-social-msg { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.08); }

/* ===== Саб-табы карточки (Комментарии/Email/Звонки/Соц сети) — пилюли в стиле системы ===== */
.client-card-layout .ip-detail-subtabs {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
    border: none !important;
    margin: 4px 0 16px !important;
    padding: 0;
}
.client-card-layout .ip-detail-subtabs > li {
    float: none !important;
    margin: 0 !important;
    list-style: none;
}
.client-card-layout .ip-detail-subtabs > li > a {
    display: inline-block;
    padding: 7px 16px !important;
    border-radius: var(--ip-radius-md, 10px) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    background: var(--ip-bg-card, #fff) !important;
    color: var(--ip-text-muted, #6b7280) !important;
    font-weight: 600;
    font-size: 13px;
    line-height: 1;
    text-decoration: none !important;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.client-card-layout .ip-detail-subtabs > li > a:hover {
    background: var(--ip-bg-page, #f3f4f8) !important;
    color: var(--ip-text, #111827) !important;
    border-color: var(--ip-border, rgba(0,0,0,0.12)) !important;
}
.client-card-layout .ip-detail-subtabs > li.active > a,
.client-card-layout .ip-detail-subtabs > li.active > a:hover,
.client-card-layout .ip-detail-subtabs > li.active > a:focus {
    background: var(--ip-primary, #1a56db) !important;
    border-color: var(--ip-primary, #1a56db) !important;
    color: #fff !important;
}
body.bg-dark .client-card-layout .ip-detail-subtabs > li > a {
    background: rgba(255,255,255,0.04) !important;
    border-color: rgba(255,255,255,0.10) !important;
}
body.bg-dark .client-card-layout .ip-detail-subtabs > li.active > a {
    background: var(--ip-primary, #1a56db) !important;
    color: #fff !important;
}
/* Плавное переключение саб-табов: стабильная высота + мягкое появление контента (без рывков) */
.client-card-layout .ip-detail-subtabs ~ .tab-content {
    min-height: 320px;
}
.client-card-layout .ip-detail-subtabs ~ .tab-content > .tab-pane {
    display: none;
}
.client-card-layout .ip-detail-subtabs ~ .tab-content > .tab-pane.active {
    display: block;
    animation: ipSubtabFade .22s ease;
}
@keyframes ipSubtabFade {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* ===== Report Header Layout ===== */
.report-panel-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
}

.report-panel-title > span {
    min-width: 0 !important;
}

.report-panel-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-shrink: 0 !important;
}

.report-panel-body {
    padding: 0 !important;
}

.report-dashboard-body {
    padding: 16px !important;
}

.plan-fact-status {
    font-weight: 600 !important;
}

/* ===== End Report Header Layout ===== */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   IP Comment Box — Quill editor + attach area
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.ip-comment-box {
    border: 1px solid #e5e7eb;
    border-radius: var(--ip-radius-md);
    overflow: hidden;
    background: #fff;
}
.ip-comment-box .ql-toolbar.ql-snow {
    border: none;
    border-bottom: 1px solid #e5e7eb;
    padding: 6px 10px;
    background: #f9fafb;
}
.ip-comment-box .ql-container.ql-snow {
    border: none;
    font-family: inherit;
    font-size: 14px;
}
.ip-comment-box .ql-editor { min-height: 90px; padding: 12px 14px; }
.ip-comment-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
}
.ip-attach-btn {
    background: none;
    border: 1px solid #e5e7eb;
    border-radius: var(--ip-radius-sm);
    padding: 5px 10px;
    cursor: pointer;
    color: #6b7280;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background .15s;
}
.ip-attach-btn:hover { background: #f3f4f6; color: #374151; }
.ip-comment-submit { margin: 0 !important; }
.ip-attach-area {
    border-top: 1px solid #f0f0f0;
    padding: 12px;
}

/* Dropzone + карточки файлов — общие стили (комментарии + модалка добавления файла) */
.ip-file-input { position: absolute; width: 0; height: 0; opacity: 0; pointer-events: none; }/* Утилиты (чтобы не писать inline-стили в PHP) */
.ip-hidden { display: none; }
.ip-loader { margin: 24px auto; }.pointer {
    cursor: pointer !important;
}
.cursor-auto { cursor: auto !important; }.wd-100 {
    width: 100px !important;
}
/* Этапы объекта: вкладка «Порядок» (#sort_milestone) свёрстана вне .tab-content,
   поэтому штатное правило Bootstrap её не прячет — скрываем неактивные панели явно. */
#milestones .tab-pane:not(.active) { display: none; }
/* Плановая смета: строки переключателей — подпись и тумблер на одном уровне + боковые отступы */
.row.delet { margin-left: 0; margin-right: 0; padding: 0 2px; }
/* Блок «Скопировать URL» на странице деталей счёта (admin/invoice/invoice_details)
   приведён к стилю карточки-эталона .panel.panel-custom: радиус, рамка, тень, паддинги, зазор сверху. */
.inv-card {
    border-radius: var(--ip-radius-md) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
    background: var(--ip-bg-card, #fff) !important;
    overflow: hidden !important;
    padding: 16px 24px !important;
    margin-top: 16px !important;
}
body.bg-dark .inv-card {
    background: #1e2130 !important;
    border-color: rgba(255,255,255,0.10) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.40) !important;
}
/* Панель кнопок и тело документа на странице деталей счёта — белые карточки
   на серой подложке страницы (эталон — карточка настроек .ipset-wrap). */
.invo-detail-toolbar,
#wordExportBlock.inv-doc-card {
    background: var(--ip-bg-card, #fff) !important;
    /* радиус тянется из настроек темы (--ip-radius-md), не хардкодить */
    border-radius: var(--ip-radius-md) !important;
/*     border: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important; */
    margin-bottom: 16px !important;
}
.invo-detail-toolbar { padding: 12px !important; }
#wordExportBlock.inv-doc-card { padding: 24px !important; }
/* Тулбар ВНУТРИ карточки документа = единая область (не отдельная карточка):
   снимаем свой фон/радиус/тень/отступ, оставляем тонкий разделитель снизу. */
#wordExportBlock.inv-doc-card > .invo-detail-toolbar,
#wordExportBlock.inv-doc-card > .agency-bottom-content {
    float: none !important;
    width: auto !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 0 14px 0 !important;
    margin: 0 0 14px 0 !important;
    border-bottom: 1px solid var(--ip-border) !important;
}
body.bg-dark .invo-detail-toolbar,
body.bg-dark #wordExportBlock.inv-doc-card {
    background: #1e2130 !important;
    border-color: rgba(255,255,255,0.10) !important;
/*     box-shadow: 0 8px 32px rgba(0,0,0,0.40) !important; */
}
/* Печать: документ без рамки/тени/фона карточки (форма не должна нести оформление панели). */
@media print {
    .invo-detail-toolbar,
    #wordExportBlock.inv-doc-card {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin-bottom: 0 !important;
    }
}
.pp-switch-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 15px; }
.pp-switch-item > label.control-label { flex: 1 1 auto; width: auto; max-width: none; margin: 0; padding: 0; text-align: left; }
.pp-switch-item > div { flex: 0 0 auto; width: auto; padding: 0; }
.ip-dropzone {
    display: block;
    border: 2px dashed #d1d5db;
    border-radius: var(--ip-radius-sm);
    padding: 24px 16px;
    text-align: center;
    cursor: pointer;
    transition: border-color .15s, background .15s;
    background: #fafafa;
}
.ip-dropzone:hover, .ip-dropzone.ip-drag-over { border-color: #6366f1; background: #f5f3ff; }
.ip-drop-text { margin: 8px 0 0; color: #9ca3af; font-size: 14px; }.ip-drop-link {
    color: #6366f1;
    cursor: pointer;
    font-weight: 500;
}
.ip-file-grid { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.ip-file-card { width: 140px; border: 1px solid var(--ip-border, #e5e7eb); border-radius: var(--ip-radius-sm); overflow: hidden; background: var(--ip-bg-card, #fff); box-shadow: 0 1px 3px rgba(0,0,0,.06); display: flex; flex-direction: column; }
/* выбранное «главное» фото (POS-карточка/основное изображение позиции) */
.ip-file-card[onclick], .ip-file-card.ip-file-card-clickable { cursor: pointer; }
.ip-file-card-main { outline: 2px solid var(--ip-primary, #1a56db); outline-offset: -1px; border-color: var(--ip-primary, #1a56db); }
.ip-file-card-main .ip-file-card-thumb::after { content: '✓'; position: absolute; top: 4px; right: 4px; width: 18px; height: 18px; border-radius: 50%; background: var(--ip-primary, #1a56db); color: #fff; font-size: 11px; line-height: 18px; text-align: center; }
.ip-file-card-thumb { width: 100%; height: 100px; background: var(--ip-surface-inset, #f3f4f6); display: flex; align-items: center; justify-content: center; overflow: hidden; position: relative; }
.ip-file-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ip-file-card-thumb .ip-file-icon { font-size: 32px; opacity: .4; }
.ip-file-card-uploading::after { content:''; position:absolute; inset:0; background:rgba(255,255,255,.6); }
.ip-file-card-body { padding: 5px 7px; border-top: 1px solid #f0f0f0; }
.ip-file-card-name { font-size: 11px; font-weight: 500; color: #374151; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ip-file-card-size { font-size: 10px; color: #9ca3af; }
.ip-file-card-remove { display:block; width:100%; padding:4px; background:none; border:none; border-top:1px solid #e5e7eb; color:#6b7280; font-size:11px; cursor:pointer; text-align:center; transition:background .12s; }
.ip-file-card-remove:hover { background:#fef2f2; color:#ef4444; }
.ip-progress-bar { position:absolute; bottom:0; left:0; width:0; height:3px; background:#6366f1; transition:width .2s; z-index:2; }

body.bg-dark .ip-dropzone { background: #161927 !important; border-color: rgba(255,255,255,0.15) !important; }
body.bg-dark .ip-dropzone:hover, body.bg-dark .ip-dropzone.ip-drag-over { border-color: #6366f1 !important; background: #1e2130 !important; }
body.bg-dark .ip-file-card-name { color: #e5e7eb !important; }
body.bg-dark .ip-file-card-body, body.bg-dark .ip-file-card-remove { border-color: rgba(255,255,255,0.08) !important; }

body.bg-dark .ip-comment-box {
    background: #1e2130 !important;
    border-color: rgba(255,255,255,0.08) !important;
}
body.bg-dark .ip-comment-box .ql-toolbar.ql-snow,
body.bg-dark .ip-comment-footer {
    background: #161927 !important;
    border-color: rgba(255,255,255,0.08) !important;
}
body.bg-dark .ip-comment-box .ql-toolbar .ql-stroke { stroke: #9ca3af !important; }
body.bg-dark .ip-comment-box .ql-toolbar .ql-fill  { fill: #9ca3af !important; }
body.bg-dark .ip-comment-box .ql-editor { color: #e5e7eb !important; }
body.bg-dark .ip-attach-btn { border-color: rgba(255,255,255,0.12) !important; color: #9ca3af !important; }

/* ============================================================
   MERGED FROM ipcss.css (упразднён, перенесён в ipcss.css)
   Каскад сохранён: эти правила идут последними, как и грузился ipapp.
   ============================================================ */
/*newuda - userdet*/
.row-table {
    height: auto;
}
.daterangepicker {
    position: absolute !important;
    z-index: 9999;
}.pb-0 {
    padding-bottom: 0!important;
}
.pt-3 {
    padding-top: 1rem!important;
}
.px-3 {
    padding-left: 1rem!important;
    padding-right: 1rem!important;
}
.card-body {
    flex: 1 1 auto;
    padding: 1rem;
}.photo-content {
    position: relative;
}
.photo-content .cover-photo {
    background: #2a6cc3;
    background-position: 50%;
    min-height: 10.625rem;
    width: 100%;
    padding: 20px;
}
.rounded {
    border-radius: 1.25rem!important;
}.profile-info {
    display: flex;
    padding: 0.9375rem 1.25rem;
}
.profile .profile-photo {
    margin-right: 0.625rem;
    max-width: 33.25rem;
    position: relative;
    z-index: 1;
}
.profile-info .profile-details {
    display: flex;
    width: 75%;
}
.rounded-circle {
    border-radius: 50%!important;
}
.user-timer ul.timer {
                    margin: 0px;
                }
                .user-timer ul.timer > li.dots {
                    padding: 6px 2px;
                    font-size: 14px;
                }
                .user-timer ul.timer li {
                    color: #fff;
                    font-size: 24px;
                    font-weight: bold;
                }
                .user-timer ul.timer li span {
                    display: none;
                }
                h3.m0 {
                    color: white;
                }
.pernum {
    float: left;
    padding: 10px 10px;
    width: 86px;
}
p.mb0.text-muted {
    line-height: 1em !important; 
    text-align: left !important;
        margin-bottom: 5px !important;
}
/*manage-client*/
.col-lg-2.stat.card-stat.schart {
    background-color: #27c24c;
}
.col-lg-2.stat.card-stat.bubblechart {
    background-color: var(--ip-primary);
}
.col-lg-10.stat.card-stat.num-ch{
    background-color: #ffd3e2;
    padding: 39px 10px;
}.easypiechart {
    margin: 0;
}
.lead {
    font-size: 39px;
    font-weight: 700;
    text-align: right;
}
p.m0 {
    text-align: right;
}
@media (min-width: 769px) and (max-width: 1199px){
.col-xs-3 {
    width: 50%;
}
p.m0.lead {
    font-size: 25px;
    padding-top: 10px;
}
.easypiechart span {
    line-height: 50px;
    font-size: 16px !important;
    padding-left: 0 !important;
    font-weight: bold;
    color: #fff !important;
}
canvas {
    height: 60px !important;
    width: 60px !important;
}
.col-lg-3 {
    width: 30% !important;
    float: left !important;
}
.form-control{
    width:auto;
}
.col-lg-5ths {
    width: 48% !important;
    float: left !important;
}
}
@media (min-width: 769px) and (max-width: 1199px){
    .col-lg-2.stat.card-stat.schart {
    width: 45%;
    float: right;
}
.col-lg-2.stat.card-stat.bubblechart {
    width: 45%;
}
.stroke {
    height: 119px;
}
p.m0 {
    text-align: left;
    font-size: 12px;
    line-height: 1em;
}
.col-lg-2 {
    width: 25%;
}
.row.padi {
    margin-bottom: 0;
    display: flex;
}
}
@media (min-width: 200px) and (max-width: 768px){    .mobile-hide {
        display: none !important;
    }
    .col-lg-10.stat.card-stat.num-ch{
        padding: 10px;
    }
    .col-lg-2.stat.card-stat.schart {
    width: 50%;
    float: right;
}
.col-lg-2.stat.card-stat.bubblechart {
    width: 40%;
}
p.m0.nu {
    text-align: center;
    font-size: 9px;
}
.easypiechart span {
    line-height: 46px;
}
.col-xs-3.numch {
    width: 48%;
}
.stroke {
    height: auto;
}
p.m0.lead {
    font-size: 29px;
}
.col-md-7.stat.card-stat.num-ch {
    padding: 10px;
}
.lead {
    font-size: 29px;
    text-align: left;
}
p.m0 {
    text-align: left;
    line-height: 1em;
}
.col-lg-2.pl-lg {
    display: none;
}
.col-lg-8.stat.card-stat.num-ch {
    margin: 0 5px;
    padding: 10px 20px;
}
svg {
    height: auto;
   /* width: 45px; */
}p.text0-white.m0.wid {
    text-transform: uppercase;
    font-size: 13px !important;
    font-weight: 500;
    text-align: right;
    padding-bottom: 5px;
}
span.me-3.iconi {
    text-align: center;
    padding: 0 !important;
    margin: 18px 10px !important;
}
.media-iconico.panel-body.text-right {
    padding: 15px 5px 5px !important;
}
.card-widget-iconi {
    height: auto !important;
    margin: 3px;
}
.col-lg-5ths {
    width: 34% !important;
    height: 150px !important;
    float: left !important;
}
label {
    padding-top: 0px;
    margin-left: 0px;
}
button.bgrcol {
    padding-top: 4px;
}
}
@media (min-width: 200px) and (max-width: 499.9px){
span.iconi {
    padding: 16px 5px !important;
}
p.txt-pi {
    font-size: 12px;
    line-height: 13px;
}.col-xs-6 {
    width: 100% !important;
}
p.m0.lead.mobfo {
    font-size: 20px;
}
.col-xs-3.numch {
    padding: 7px;
}.card-widget-iconi {
    margin-bottom: 0 !important;
    width: 110px !important;
    display: ruby-text !important;
    padding: 5px;
}
.media-iconico.panel-body.text-right {
    width: 100% !important;
    padding: 0px!important;
    text-align: center;
}
p.text0-white.m0.wid {
    text-align: center;
}
h4.text-iconico {
    text-align: center;
}
div#proposals_state_report_div {
    padding-bottom: 20px;
}
}
@media (min-width: 500px) and (max-width: 768px){ }
/*all_deals*/
    .widget-iconico.panel-body.text-center {
    border-radius: 1.26em 1.26em 0 0;
    background-color: #86ffdb;
}
.card-widget-iconi {
    display: flex;
    border-radius: var(--ip-radius-md);
    color: white;
    margin-bottom: 0.175rem;
    box-shadow: 0 0.3125rem 0.3125rem 0 rgb(82 63 105 / 5%);
}
span.me-3.iconi {
    width: 20%;
    text-align: center;
    padding: 5px;
    margin: 10px;
    border-radius: 80px;
    font-size: 35px;
}
.media-iconico.panel-body.text-right {
    width: 80%;
    padding: 25px;
}
h2.text-iconico {
    margin: 0;
}
p.text0-white.m0.wid {
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 500;
}
p.text-iconico {
    font-size: 22px;
}
h4.text-iconico {
    font-size: 16px;
}
#loading-spinner {
    stroke-dasharray: 340;
    stroke-dashoffset: 40;
    animation: dash 1.5s linear alternate infinite;
  }

#loading-spinner1 {
    stroke-dasharray: 300;
    stroke-dashoffset: 40;
    animation: dash 1.9s linear alternate infinite;
  }

  @keyframes dash {
    from {
      stroke-dashoffset: 360;
    }
    to {
      stroke-dashoffset: 40;
    }
  }

.card-widget-iconi.blue {
    color: #1b877e !important;
    border-left: 5px solid #1b877e !important;
}
.card-widget-iconi.blue1 {
    color: #1b877e !important;
    border-right: 5px solid #1b877e !important;
}
.card-widget-iconi.green {
    color: #008000 !important;
    border-left: 5px solid #008000 !important;
}
.card-widget-iconi.green1 {
    color: #008000 !important;
    border-right: 5px solid #008000 !important;
}
.card-widget-iconi.red {
    border-left: 5px solid #9b2d30 !important;
    color: #9b2d30 !important;
}
.card-widget-iconi.red1 {
    border-right: 5px solid #9b2d30 !important;
    color: #9b2d30 !important;
}
.card-widget-iconi.orange {
    border-left: 5px solid #D95100 !important;
    color: #D95100 !important;
}
.card-widget-iconi.orange1 {
    border-right: 5px solid #D95100 !important;
    color: #D95100 !important;
}
.card-widget-iconi.lilac {
    border-left: 5px solid #8b00ff !important;
    color: #8b00ff !important;
}
.card-widget-iconi.lilac1 {
    border-right: 5px solid #8b00ff !important;
    color: #8b00ff !important;
}
div#cardanalitik {
    padding-top: 10%;
}
.panel.widget.stat.card-stat.bubblechart{
    background-color: var(--ip-primary);
    padding: 15px 15px;
    margin: 1px 0;
    text-align: left;
}
.panel.widget.stat.card-stat.schar{
    background-color:#e9e7fd;
    padding: 15px 15px;
    margin: 1px 0;
    text-align: left;
}
.pb-sm {
    padding: 0.3rem !important;
}
.row.padi {
    display: flex;
    margin-bottom: 5px;
}
.col-lg-2 {
    padding: 0 10px 0 0;
    margin-left: 10px 0!important;
}
span.text-whittes {
    color: white;
}
/*newuda end*/
@media (min-width: 200px) and (max-width: 499.9px){
.pernum {
    float: left;
    padding: 10px 3px !important;
    width: 50px !important; 
    height: 50px;
}
h3.mt-sm.mb0 {
    font-size: 16px;
}
li.stathov {
    line-height: 1em;
    text-align: center;
}
}
@media (min-width: 500px) and (max-width: 799.9px){
.pernum {
    float: left;
    padding: 10px 10px !important;
    width: 75px !important;
}
li.stathov {
    line-height: 1em !important;
    text-align: center;
}
}
@media (min-width: 800px) and (max-width: 999.9px){
.pernum {
    float: left;
    padding: 10px 2px !important;
    width: 65px !important;
}
h3.mt-sm.mb0 {
    font-size: 20px;
}
li.stathov {
    line-height: 1em !important;
    text-align: center;
}
}
.padiflex {
    display: flex !important; 
    overflow-y: auto !important; 
    scrollbar-color: #fff0 #fff0 !important ;   
    width: 100% !important;
    position: relative !important;
}
.dropbtn1 {
    color: #fff;
    background: #D95100 !important;
    border: 1px solid #D95100 !important;
    margin-right: 5px !important;
    border-radius: var(--ip-radius-sm) !important;
    height: 35px !important;
    width: 85px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: -3px 4px 23px rgba(0, 0, 0, 0.1) !important;
}
.green-critical{
    background-color: LimeGreen !important;
}
.blue-critical{
    background-color: DodgerBlue !important;
}
.red-critical{
    background-color: LightCoral !important;
}
/* ========================================================================
   SaaS REDESIGN — ipcss.css overrides
   ======================================================================== */

/* --- Карточки стат-виджетов --- */.stat.card-stat {
    color: #4b467b !important;
    text-align: center;
    padding: 35px;
    height: 160px;
    margin: 1px 0;
    -webkit-box-shadow: 0 0.3125rem 0.3125rem 0 rgb(82 63 105 / 5%);
    -moz-box-shadow: 0 0.3125rem 0.3125rem 0 rgb(82 63 105 / 5%);
    border-radius: var(--ip-radius-md) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04) !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
}

/* --- Инпуты и select в форме --- */
.form-control {
    border-radius: var(--ip-radius-sm) !important;
    border: 1px solid #d1d5db !important;
    box-shadow: none !important;
    font-size: 13px !important;
}

.form-control:focus {
    border-color: var(--ip-primary) !important;
    box-shadow: 0 0 0 3px rgba(26,86,219,0.1) !important;
}

select.form-control,
input.form-control {
    border-radius: var(--ip-radius-sm) !important;
    box-shadow: none !important;
}

/* --- Card (Bootstrap) --- */.card {
    background-color: #fff;
    height: calc(100% - 30px);
    margin-bottom: 1.875rem;
    position: relative;
    transition: all .5s ease-in-out;
    word-wrap: break-word;
    background-clip: initial;
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-radius: var(--ip-radius-md) !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
}

/* ===== Конец SaaS Redesign — ipcss.css ===== */

/* ========================================================================
   Карточка проекта — вертикальный лейаут client-card-layout
   ======================================================================== */

/* Убираем рамки/тени — оба контейнера (project-tab-content + pcd-ajax-body) */
#project-tab-content .panel.panel-custom,
#project-tab-content section.panel-custom,
#project-tab-content .nav-tabs-custom,
#project-tab-content .box[data-collapsed],
#pcd-ajax-body .panel.panel-custom,
#pcd-ajax-body section.panel-custom,
#pcd-ajax-body .nav-tabs-custom,
#pcd-ajax-body .box[data-collapsed] {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}
#project-tab-content .tab-content.bg-white,
#project-tab-content .tab-content.panelcat,
#pcd-ajax-body .tab-content.bg-white,
#pcd-ajax-body .tab-content.panelcat {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Убираем Bootstrap border-bottom у nav-tabs */
#project-tab-content ul.nav.nav-tabs,
#pcd-ajax-body ul.nav.nav-tabs {
    border-bottom: none !important;
}

/* Pill-заголовок panelhed: title-li → пилюля, без клика */
#project-tab-content ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop) > a,
#pcd-ajax-body ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop) > a {
    display: inline-block !important;
    background: var(--ip-primary-light, #eff4ff) !important;
    color: var(--ip-primary, #1a56db) !important;
    font-weight: 600 !important;
    border-radius: var(--ip-radius-sm) !important;
    padding: 4px 12px !important;
    font-size: 12px !important;
    border: none !important;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    pointer-events: none !important;
    cursor: default !important;
}

/* Pill для Bootstrap inner-tabs (data-bs-toggle, не panelhed) — первый li */
#project-tab-content ul.nav.nav-tabs:not(.panelhed) > li:first-child:not(.linktop) > a,
#pcd-ajax-body ul.nav.nav-tabs:not(.panelhed) > li:first-child:not(.linktop) > a {
    display: inline-block !important;
    background: var(--ip-primary-light, #eff4ff) !important;
    color: var(--ip-primary, #1a56db) !important;
    font-weight: 600 !important;
    border-radius: var(--ip-radius-sm) !important;
    padding: 4px 12px !important;
    font-size: 12px !important;
    border: none !important;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* Panel-title span — для activites, notes, attachments */
#project-tab-content .panel-title > span.pcd-title,
#project-tab-content .hedtitelname .panel-title > span.pcd-title,
#pcd-ajax-body .panel-title > span.pcd-title,
#pcd-ajax-body .hedtitelname .panel-title > span.pcd-title {
    display: inline-block !important;
    background: var(--ip-primary-light, #eff4ff) !important;
    color: var(--ip-primary, #1a56db) !important;
    font-weight: 600 !important;
    border-radius: var(--ip-radius-sm) !important;
    padding: 4px 12px !important;
    font-size: 12px !important;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* Тёмная тема */
body.bg-dark #project-tab-content ul.nav.nav-tabs > li:first-child:not(.linktop) > a,
body.bg-dark #project-tab-content .panel-title > span.pcd-title,
body.bg-dark #pcd-ajax-body ul.nav.nav-tabs > li:first-child:not(.linktop) > a,
body.bg-dark #pcd-ajax-body .panel-title > span.pcd-title {
    background: rgba(26,86,219,0.18) !important;
    color: #93b4fd !important;
}

/* ── Шапка контента НАСТРОЕК (.ipset-content) — заголовок-пилюля как в карточках ── */
.ipset-content ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop) > a:not([href]):not([data-toggle]):not([onclick]),
.ipset-content ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop) > a {
    display: inline-block !important;
    background: var(--ip-primary-light, #eff4ff) !important;
    color: var(--ip-primary, #1a56db) !important;
    font-weight: 600 !important;
    border-radius: var(--ip-radius-sm) !important;
    padding: 4px 12px !important;
    font-size: 12px !important;
    border: none !important;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    pointer-events: none !important;
    cursor: default !important;
}
body.bg-dark .ipset-content ul.nav.nav-tabs.panelhed > li:first-child:not(.linktop) > a {
    background: rgba(26,86,219,0.18) !important;
    color: #93b4fd !important;
}
/* Заголовок-пилюля для под-вьюх с <header class="panel-heading"> (напр. «Для отеля») */
.ipset-content .panel > header.panel-heading,
.ipset-content header.panel-heading,
.ipset-content .panel-heading {
    display: inline-block !important;
    background: var(--ip-primary-light, #eff4ff) !important;
    color: var(--ip-primary, #1a56db) !important;
    font-weight: 600 !important;
    border-radius: var(--ip-radius-sm) !important;
    padding: 4px 12px !important;
    font-size: 12px !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    margin: 0 0 14px 0 !important;
}
body.bg-dark .ipset-content .panel-heading {
    background: rgba(26,86,219,0.18) !important;
    color: #93b4fd !important;
}
/* Контент настроек сидит ВНУТРИ карточки .ipset-wrap → убираем собственную рамку/тень/фон у его панелей (двойная обводка). */
.ipset-content .panel,
.ipset-content .panel.panel-custom,
.ipset-content .wrap-fpanel,
.ipset-content [data-collapsed] {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
}
.ipset-content .panel > .panel-body { padding-left: 0 !important; padding-right: 0 !important; }
/* ===== Конец карточки проекта ===== */

/* pcd-ajax-body оказывается снаружи #project-tab-content из-за несбалансированных
   div в project_details.php. Управляем flex через классы на client-card-layout. */

/* Состояние: вкладка ОБЩЕЕ — #project-tab-content занимает всё, #pcd-ajax-body скрыт */
.client-card-layout.pcd-general > #project-tab-content {
    flex: 1 1 0 !important;
    min-width: 0 !important;
}
.client-card-layout.pcd-general > #pcd-ajax-body {
    display: none !important;
}

/* Состояние: AJAX вкладка — #project-tab-content схлопывается, #pcd-ajax-body занимает всё */
.client-card-layout.pcd-ajax > #project-tab-content {
    flex: 0 0 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
.client-card-layout.pcd-ajax > #pcd-ajax-body {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    overflow: hidden;
    border-radius: var(--ip-radius-md);
    background: var(--ip-bg-card, #fff);
    padding: 8px;
}

/* ============================================================
   Единый вид контента вкладок карточек (objects/contracts/tasks):
   у основного контента нет border (как в карточке клиента),
   первый таб = pill-заголовок. Узко по .client-card-layout .pcd-content-panel.
   ============================================================ */
.client-card-layout .pcd-content-panel .panel.panel-custom,
.client-card-layout .pcd-content-panel section.panel-custom,
.client-card-layout .pcd-content-panel .nav-tabs-custom,
.client-card-layout .pcd-content-panel .box {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}
.client-card-layout .pcd-content-panel .tab-content.bg-white,
.client-card-layout .pcd-content-panel .tab-content.panelcat {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}
.client-card-layout .pcd-content-panel ul.nav.nav-tabs {
    border-bottom: none !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap;
    gap: 4px;
}
/* Кнопки-действия (linktop) уезжают вправо, табы остаются слева */
.client-card-layout .pcd-content-panel ul.nav.nav-tabs > li:not(.linktop) + li.linktop {
    margin-left: auto !important;
}
/* Первый li = заголовок-пилюля (как "ДОГОВОРА" у клиента) */
.client-card-layout .pcd-content-panel ul.nav.nav-tabs > li:first-child:not(.linktop) > a {
    display: inline-block !important;
    background: var(--ip-primary-light, #eff4ff) !important;
    color: var(--ip-primary, #1a56db) !important;
    font-weight: 600 !important;
    border-radius: var(--ip-radius-sm) !important;
    padding: 4px 12px !important;
    font-size: 12px !important;
    border: none !important;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
body.bg-dark .client-card-layout .pcd-content-panel ul.nav.nav-tabs > li:first-child:not(.linktop) > a {
    background: rgba(26,86,219,0.18) !important;
    color: #93b4fd !important;
}
/* ===== конец единого вида контента вкладок ===== */

/* Прячем иконки шапки сайдбара (сворачивание ‹ и гамбургер ☰) на мобильном —
   они избыточны, меню открывается нижней панелью navipro */
@media (max-width: 767px) {.topmenu1 {
    position: static !important;
    margin: 0 !important;
    z-index: auto !important;
    display: none !important;
}

    /* Месячные графики дашборда (12 месяцев) не влезают в 375px читаемо.
       Оборачиваем канву в .ip-chart-scroll → горизонтальный скролл ВНУТРИ
       карточки: график остаётся читаемым (фикс. ширина), листается пальцем
       вбок, а карточка держит мобильные отступы. Десктоп не трогаем (правило
       только в @media ≤767). 600px = ~50px на месяц + ось Y. */
    .ip-chart-scroll {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        width: 100% !important;
        max-width: 100% !important;
    }
    .ip-chart-scroll > div[id] {
        width: 600px !important;
        min-width: 600px;
    }

    /* Защита от «белого меню» на мобиле. КОРЕНЬ: широкий композитный слой
       DataTables выжирает память GPU → при скролле открытого меню телефон
       роняет тайлы сайдбара в белое. Правильное лечение — перевод таблицы на
       responsive (нет широкого слоя; сделано для app_auto и Поставщиков).
       ЭТО ПРАВИЛО — глобальная подстраховка для ещё НЕ переведённых таблиц:
       меню на мобиле оверлей поверх контента, таблица под ним не видна, поэтому
       пока меню открыто гасим её рендеринг → GPU-слой освобождается → сайдбар
       чист. На responsive-таблицах безвредно (прятать узкую таблицу нечего).
       .dataTables_wrapper — класс DataTables на любой таблице-списке. */
    body.aside-toggled .dataTables_wrapper {
        content-visibility: hidden !important;
        visibility: hidden !important;
    }
}

/* FontAwesome: вернуть иконочный шрифт — глобальное body[class] * { font-family }
   из htmlheader перебивало .fa и превращало глифы (галочка чекбокса .fa-check и др.)
   в «тофу»-квадраты. Специфичность body[class] .fa выше глобального правила.
   Берём только базовый класс .fa (FA4) — бренд-иконки .fab/.fas (FA5) не трогаем. */
body[class] .fa {
    font-family: "FontAwesome" !important;
}

/* ===================================================================
   DASHBOARD TOP REDESIGN — приветствие + 4 KPI (SaaS)
   =================================================================== */
.projects-section:has(.ipdash-top) {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
    padding-top: 5px !important;
    padding-bottom: 0 !important;
    margin-bottom: 5px !important;
}
.ipdash-top {
    display: flex;
    align-items: stretch;
    gap: 16px;
    flex-wrap: wrap;
}
.ipdash-greeting {
    flex: 1 1 280px;
    min-width: 260px;
    background: var(--ip-bg-card, #fff);
    border: 1px solid var(--ip-border, rgba(0,0,0,0.08));
    border-radius: var(--ip-radius-md);
    box-shadow: 0 1px 8px rgba(0,0,0,0.05);
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.ipdash-hello {
    margin: 0 0 5px;
    font-size: 20px;
    font-weight: 700;
    color: var(--ip-text, #1a1f36);
    line-height: 1.2;
}
.ipdash-wave { display: inline-block; }
.ipdash-sub {
    margin: 0;
    font-size: 13px;
    color: var(--ip-text-muted, #6b7280);
}
.ipdash-sub strong { color: var(--ip-text, #1a1f36); font-weight: 700; }

.ipdash-kpi-row {
    flex: 2 1 560px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.ipdash-kpi-card {
    background: var(--ip-bg-card, #fff);
    border: 1px solid var(--ip-border, rgba(0,0,0,0.08));
    border-radius: var(--ip-radius-md);
    box-shadow: 0 1px 8px rgba(0,0,0,0.05);
    padding: 14px 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.ipdash-kpi-ico {
    width: 42px; height: 42px;
    border-radius: 11px;
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.ipdash-kpi-ico svg { width: 22px; height: 22px; }
.ipdash-kpi-body { display: flex; flex-direction: column; min-width: 0; }
.ipdash-kpi-label {
    margin: 0;
    font-size: 12px;
    color: var(--ip-text-muted, #6b7280);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ipdash-kpi-value {
    margin: 2px 0 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--ip-text, #1a1f36);
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.ipdash-kpi-foot {
    margin: 2px 0 0;
    font-size: 10px;
    color: var(--ip-text-muted, #9ca3af);
    line-height: 1.25;
}
.ipdash-kpi-trend {
    margin: 2px 0 0;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.25;
}
.ipdash-kpi-trend.is-up { color: var(--ip-success); }
.ipdash-kpi-trend.is-down { color: var(--ip-danger); }
.ipdash-kpi-trend .ipdash-trend-period { color: var(--ip-text-muted, #9ca3af); font-weight: 500; }
.ipdash-kpi--revenue .ipdash-kpi-ico { background: #eff4ff; color: var(--ip-primary); }
.ipdash-kpi--profit  .ipdash-kpi-ico { background: #e7f7ee; color: var(--ip-success); }
.ipdash-kpi--expense .ipdash-kpi-ico { background: #fdeceb; color: #e53000; }
.ipdash-kpi--tasks   .ipdash-kpi-ico { background: #f1ecfe; color: #7e3af2; }

@media (max-width: 1199px) {
    .ipdash-kpi-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
    .ipdash-kpi-row { gap: 10px; }
    .ipdash-hello { font-size: 18px; }
    .ipdash-kpi-value { font-size: 18px; }
}

/* ===================================================================
   TOPBAR SEARCH — всегда открытый, по центру, с Ctrl+K
   =================================================================== */
@media (min-width: 992px) {
    .nav1 .gs-wrapper.gs-always {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: min(520px, 42vw);
        z-index: 5;
    }
}
.gs-always .gs-box {
    width: 100%;
    height: 42px;
    background: #f3f4f8;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: var(--ip-radius-md);
    padding: 0 6px;
    gap: 4px;
    align-items: center;
}
.gs-always .gs-btn {
    width: 32px; height: 32px;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #6b7280;
    flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0;
}
.gs-always .gs-btn svg { width: 18px; height: 18px; }
.gs-always .gs-input {
    width: auto !important;
    flex: 1 1 auto;
    opacity: 1 !important;
    pointer-events: all !important;
    border: none !important;
    background: transparent !important;
    height: 40px;
    padding: 0 4px !important;
    border-radius: 0 !important;
    max-width: none;
}
.gs-always .gs-kbd {
    flex-shrink: 0;
    font-size: 11px;
    color: #9ca3af;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.10);
    border-radius: var(--ip-radius-sm);
    padding: 2px 8px;
    font-family: inherit;
    white-space: nowrap;
}
.gs-always .gs-input:focus ~ .gs-kbd { display: none; }
.gs-always .gs-clear {
    border: none !important;
    background: transparent !important;
    width: 26px;
}
.gs-always .gs-dropdown {
    left: 0; right: 0; width: 100%;
}

/* ===================================================================
   MOBILE GLOBAL SEARCH (≤768px) — верхний бар .nav1 скрыт, поэтому
   плавающая кнопка-лупа сверху открывает существующий поиск оверлеем.
   Всё скоупится в @media + body.gs-mopen — десктоп не затрагивается.
   =================================================================== */
.gs-mtrigger { display: none; }
.gs-mbackdrop { display: none; }

@media (max-width: 768px) {
    .gs-mtrigger {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        top: 8px;
        right: 12px;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: var(--ip-bg-card, #ffffff);
        border: 1px solid rgba(0,0,0,0.10);
        box-shadow: 0 2px 8px rgba(0,0,0,0.14);
        color: #374151;
        cursor: pointer;
        z-index: 99980;
        padding: 0;
    }
    .gs-mtrigger svg { width: 20px; height: 20px; }
    body.bg-dark .gs-mtrigger { background: #252837; border-color: rgba(255,255,255,0.12); color: #e5e7eb; }
    body.gs-mopen .gs-mtrigger { display: none; }

    /* затемнение под оверлеем */
    body.gs-mopen .gs-mbackdrop {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.35);
        z-index: 99985;
    }

    /* Оверлей: показываем скрытый .nav1, но только строку поиска */
    body.gs-mopen .row .nav1 {
        display: block !important;
        position: fixed !important;
        top: 0; left: 0; right: 0;
        height: auto !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        background: var(--ip-bg-card, #ffffff) !important;
        box-shadow: 0 4px 16px rgba(0,0,0,0.16) !important;
        z-index: 99990 !important;
    }
    body.gs-mopen .nav1 .nav-links1 {
        position: static !important;
        top: 0 !important; left: 0 !important;
        width: 100% !important; max-width: none !important;
        height: auto !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
        transform: none !important;
        display: block !important;
    }
    body.gs-mopen .nav1 .nav-links1 > *:not(.gs-wrapper),
    body.gs-mopen .nav1 .navCloseBtn,
    body.gs-mopen .nav1 .navOpenBtn { display: none !important; }
    body.gs-mopen .nav1 .gs-wrapper.gs-always {
        display: block !important;
        position: static !important;
        width: 100% !important;
        transform: none !important;
        z-index: auto !important;
    }
    body.gs-mopen .nav1 .gs-box { width: 100% !important; }
    body.gs-mopen .nav1 .gs-kbd { display: none !important; }
    body.gs-mopen .nav1 .gs-dropdown {
        position: static !important;
        width: 100% !important;
        margin-top: 8px;
        max-height: 65vh;
        overflow-y: auto;
    }
}

/* ===================================================================
   ORG SELECTOR CARD (sidebar) — лого + название + пользователь + шеврон
   =================================================================== */
#saasorg { width: 100%; display: block; margin: 0 0 8px; }
/* высокая специфичность — перебиваем старые #saasorg .btn.btn-default (2 класса) */
#saasorg .btn.btn-default.saasorg-btn {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 8px 10px !important;
    background: var(--ip-bg-card, #fff) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.10)) !important;
    border-radius: var(--ip-radius-md) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05) !important;
    text-align: left !important;
    justify-content: flex-start !important;
}
#saasorg .btn.btn-default.saasorg-btn:hover {
    background: #f9fafb !important;
    border-color: rgba(26,86,219,0.25) !important;
}
/* убираем стандартный Bootstrap-каретик (есть свой svg-шеврон) */
#saasorg .saasorg-btn.dropdown-toggle::after { display: none !important; }
.saasorg-ava {
    width: 36px; height: 36px;
    border-radius: var(--ip-radius-sm);
    overflow: hidden;
    flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    background: #f3f4f8;
}
.saasorg-ava img { width: 100%; height: 100%; object-fit: cover; }
.saasorg-text { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; line-height: 1.25; }
.saasorg-name {
    font-size: 13px; font-weight: 700; color: var(--ip-text, #1a1f36);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.saasorg-user {
    font-size: 11px; color: var(--ip-text-muted, #6b7280);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.saasorg-chev { width: 16px; height: 16px; color: #9ca3af; flex-shrink: 0; }
#saasorg .dropdown-menu { width: 100%; min-width: 0; }

/* ── KPI-карточки: перебиваем глобальный body[class] *:not(.lableip){font-size:var(--ip-body-font-size)!important} ──
   (иначе размеры подписей/чисел сбрасываются в размер шрифта из настроек) */
body[class] .ipdash-kpi-card .ipdash-kpi-label { font-size: 12px !important; }
body[class] .ipdash-kpi-card .ipdash-kpi-value { font-size: 16px !important; }
body[class] .ipdash-kpi-card .ipdash-kpi-trend,
body[class] .ipdash-kpi-card .ipdash-kpi-trend .ipdash-trend-period,
body[class] .ipdash-kpi-card .ipdash-kpi-foot { font-size: 10px !important; }
body[class] .ipdash-greeting .ipdash-hello { font-size: 20px !important; }
body[class] .ipdash-greeting .ipdash-sub { font-size: 13px !important; }

/* ===================================================================
   DASHBOARD MINI-CARDS — карточный вид виджетов «Мои задачи / Мои проекты»
   =================================================================== */
.ipdash-mini-wrap {
    padding: 12px !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
    flex-direction: unset !important;
    gap: 12px !important;
    align-content: start;
    background: var(--ip-bg-card, #ffffff) !important;
}
@media (max-width: 575px) {
    .ipdash-mini-wrap { grid-template-columns: 1fr; }
}

/* tad_menu: стягиваем отступ между табами и контентом */#tad_menu_div .col-lg-12 { padding-top: 0 !important; }.ipdash-mini-card {
    background: var(--ip-bg-card, #fff);
    border: 1px solid var(--ip-border, rgba(0,0,0,0.08));
    border-radius: var(--ip-radius-md);
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    padding: 12px 14px;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.ipdash-mini-card:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
    border-color: rgba(26,86,219,0.25);
}
.ipdash-mini-head {
    display: flex;
    align-items: center;
    gap: 8px;
}
.ipdash-mini-check { margin: 0 !important; flex-shrink: 0; }
.ipdash-mini-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--ip-text-strong, #1a1f36);
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ipdash-mini-title:hover { color: var(--ip-accent, #1a56db); }
.ipdash-mini-badge { flex-shrink: 0; float: none !important; }
.ipdash-mini-progress {
    margin: 10px 0 8px !important;
    height: 6px !important;
    border-radius: var(--ip-radius-sm) !important;
    background: var(--ip-surface-2, #eef1f6) !important;
    overflow: hidden !important;
    box-shadow: none !important;
}
.ipdash-mini-progress .progress-bar { border-radius: var(--ip-radius-sm) !important; box-shadow: none !important; }
.ipdash-mini-foot {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}.ipdash-mini-date svg { width: 13px; height: 13px; }

body.bg-dark .ipdash-mini-card { box-shadow: 0 1px 4px rgba(0,0,0,0.30); }
body.bg-dark .ipdash-mini-card:hover { border-color: rgba(96,165,250,0.35); }

/* ── Мини-карточки: статус, #номер, дата-просрочка, автор с фото ── */
.ipdash-mini-status { flex-shrink: 0; float: none !important; font-size: 10px !important; }
.ipdash-mini-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
}
.ipdash-mini-no {
    font-size: 11px;
    font-weight: 600;
    color: var(--ip-text-muted, #9ca3af);
    white-space: nowrap;
}
.ipdash-mini-date.is-overdue { color: var(--ip-danger); }.ipdash-mini-ava {
    width: 22px; height: 22px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.10));
    background: var(--ip-dash-sunken, #f3f4f8);
}
.ipdash-mini-aname {
    font-size: 11px;
    color: var(--ip-text-muted, #6b7280);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===================================================================
   DASHBOARD KANBAN — мини-канбан виджетов (колонки по статусам)
   =================================================================== */
.ipdash-kanban-wrap {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    padding: 12px !important;
    align-items: flex-start !important;
    overflow: auto !important;
    background: var(--ip-bg-card, #ffffff) !important;
    max-height: 70vh !important;   /* было инлайном height:400px — карточки обрезались */
}.ipdash-kan-body {
    padding-bottom: 6px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ipdash-kan-card .ipdash-mini-title {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ipdash-mini-progrow { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; }
.ipdash-mini-progrow .ipdash-mini-progress { flex: 1 1 auto; margin: 0 !important; }
.ipdash-mini-pct { font-size: 11px; font-weight: 700; color: var(--ip-primary, #1a56db); flex-shrink: 0; }

/* ════════════════════════════════════════════════════════════════════
   «Мои проекты» на дашборде — карточки как в канбане проектов
   (полный набор полей + цветные шапки по статусу через --st-color).
   ipdash-kan-* / ipdash-pcard используются ТОЛЬКО в my_projects_data.php.
   ════════════════════════════════════════════════════════════════════ */.ipdash-kan-col {
    flex: 0 0 260px;
    min-width: 260px;
    max-width: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    --st-color: #6b7280;
}
/* Цвет статуса колонки (дашборд «Мои проекты»/«Мои задачи») — без инлайн-стилей */
.ipdash-kan-col.ipdkan-started             { --st-color: #3b82f6; } /* синий */
.ipdash-kan-col.ipdkan-in_progress         { --st-color: #f59e0b; } /* янтарный */
.ipdash-kan-col.ipdkan-on_hold             { --st-color: #8b5cf6; } /* фиолетовый */
.ipdash-kan-col.ipdkan-cancel              { --st-color: #ef4444; } /* красный */
.ipdash-kan-col.ipdkan-completed           { --st-color: #22c55e; } /* зелёный */
.ipdash-kan-col.ipdkan-escort              { --st-color: #14b8a6; } /* бирюзовый */
.ipdash-kan-col.ipdkan-not_started         { --st-color: #9ca3af; } /* серый */
.ipdash-kan-col.ipdkan-deferred            { --st-color: #ef4444; } /* красный */
.ipdash-kan-col.ipdkan-waiting_for_someone { --st-color: #8b5cf6; } /* фиолетовый */.ipdash-kan-head {
    display: flex;
    align-items: center;
    gap: 8px;
    background: color-mix(in srgb, var(--st-color) 12%, #ffffff) !important;
    border-radius: var(--ip-radius-md) !important;
    padding: 7px 10px !important;
}.ipdash-kan-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    background: var(--st-color) !important;
}.ipdash-kan-title {
    flex: 1 1 auto;
    font-size: 12px;
    font-weight: 700;
    color: color-mix(in srgb, var(--st-color) 70%, #1a1f36) !important;
}.ipdash-kan-count {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 700;
    border-radius: var(--ip-radius-md);
    padding: 1px 8px;
    background: color-mix(in srgb, var(--st-color) 20%, #ffffff) !important;
    color: color-mix(in srgb, var(--st-color) 75%, #1a1f36) !important;
}

.ipdash-pcard {
    background: var(--ip-dash-pcard, #ffffff);
    border: 1px solid var(--ip-border, #eef1f6);
    border-radius: var(--ip-radius-md);
    padding: 12px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.04);
    display: flex;
    flex-direction: column;
    gap: 3px;
    overflow: hidden;          /* чтобы строки не выпирали за скруглённый край */
    box-sizing: border-box;
}
.ipdash-pcard:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.08); }
.ipdash-pc-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 12px;
    line-height: 1.3;
}
.ipdash-pc-k {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--ip-text-muted, #6b7280);
    flex-shrink: 0;
}
.ipdash-pc-k svg { width: 12px; height: 12px; flex-shrink: 0; }
.ipdash-pc-v {
    font-weight: 600;
    color: var(--ip-text-strong, #1a1f36);
    text-align: right;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ipdash-pc-name { color: var(--ip-primary, #1a56db) !important; }
.ipdash-pc-name:hover { text-decoration: underline; }
.ipdash-pc-v.is-overdue { color: var(--ip-danger); }
.ipdash-pc-parts { display: inline-flex; align-items: center; gap: 5px; justify-content: flex-end; }
.ipdash-pc-pname { max-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ipdash-pc-ava { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; border: 1px solid var(--ip-border, #eef1f6); }
.ipdash-pc-more {
    font-size: 10px; font-weight: 700;
    background: var(--ip-dash-tag, #eef1f6); color: var(--ip-text-muted, #6b7280);
    border-radius: var(--ip-radius-sm); padding: 1px 6px;
}
.ipdash-pc-foot {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 8px;
    margin-top: 4px;
    border-top: 1px solid var(--ip-border, rgba(0,0,0,0.06));
    font-size: 12px;
    color: var(--ip-text-muted, #6b7280);
}
.ipdash-pc-stat { display: inline-flex; align-items: center; gap: 3px; }
.ipdash-pc-stat svg { width: 13px; height: 13px; }
.ipdash-pc-fava img { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; border: 1px solid var(--ip-border, #eef1f6); }
.ipdash-pc-prog { display: flex; align-items: center; gap: 8px; margin-top: 8px; min-width: 0; }
.ipdash-pc-prog .progress { flex: 1 1 auto; min-width: 0; margin: 0 !important; }
.ipdash-pc-prog .label-danger { flex: 0 0 auto; }


/* ── Сращиваем таб-бар и контент в ОДНУ карточку (как в мокапе) ── */#tad_menu_div ul.nav.nav-tabs.nav-tabs_menu.panelhed {
    border-radius: 12px 12px 0 0 !important;
    border-bottom: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}#tad_menu_div .tabs_8 > .panel, #tad_menu_div .tabs_8 > .panel-custom {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-radius: 0 0 12px 12px !important;
    border-top: none !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    margin: 0 !important;
}
/* Тулбар над канбаном — аккуратная строка справа, внутри белой карточки */body.bg-dark #tad_menu_div .tabs_8 > .panel,
body.bg-dark #tad_menu_div .tabs_8 > .panel-custom { box-shadow: 0 2px 8px rgba(0,0,0,0.25) !important; }

/* ── Мини-карточки: дата в одну строку, автор+дата в подвале карточки ── */.ipdash-mini-date {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: var(--ip-text-muted, #6b7280);
    white-space: nowrap !important;
}.ipdash-mini-author {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 10px;
    padding-top: 9px;
    border-top: 1px solid var(--ip-border, rgba(0,0,0,0.06));
    flex-wrap: nowrap;
}
.ipdash-mini-author .ipdash-mini-aname { flex: 0 1 auto; min-width: 0; }
.ipdash-mini-author .ipdash-mini-date { margin-left: auto; flex-shrink: 0; }

/* ── Kanban: тулбар, пустая колонка, действия карточки (TodoList/процессы) ── */.ipdash-kan-toolbar {
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid var(--ip-border, rgba(0,0,0,0.06)) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 8px;
}
.ipdash-kan-empty {
    font-size: 12px; color: #9ca3af; text-align: center;
    padding: 14px 6px; border: 1px dashed var(--ip-border, rgba(0,0,0,0.12));
    border-radius: var(--ip-radius-md); background: rgba(255,255,255,0.5);
}
.ipdash-card-actions { display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; }
.ipdash-card-actions .btn,
.ipdash-card-actions a.btn,
.ipdash-card-actions button { padding: 3px 6px !important; height: auto !important; line-height: 1 !important; }
.ipdash-card-move {
    padding: 4px !important; border-radius: var(--ip-radius-sm) !important;
    background: var(--ip-dash-sunken, #f3f4f8) !important; border: none !important;
    color: var(--ip-text-muted, #6b7280) !important; display: inline-flex !important; align-items: center !important;
}
.ipdash-card-move:hover { background: #eff4ff !important; color: var(--ip-primary) !important; }
.todo-card .ipdash-mini-meta { gap: 6px; }
body.bg-dark .ipdash-kan-empty { background: rgba(255,255,255,0.03); color: #9ca3af; }

/* ── Kanban: тег модуля на карточке процесса ── */
.ipdash-mini-module {
    display: inline-block;
    font-size: 10px; font-weight: 600;
    color: var(--ip-accent, #1a56db);
    background: var(--ip-dash-accent-bg, #eff4ff);
    border-radius: var(--ip-radius-sm);
    padding: 2px 8px;
    margin-top: 6px;
    max-width: 100%;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ===================================================================
   НОВОСТИ (announcements) — полировка карточек и сайдбара категорий
   =================================================================== */
#announceContainer { padding-right: 4px !important; }
.announce_container {
    background: var(--ip-bg-card, #ffffff) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    border-radius: var(--ip-radius-md) !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05) !important;
    margin-bottom: 10px !important;
    padding: 16px !important;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.announce_container:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.08) !important;
    border-color: rgba(26,86,219,0.20) !important;
}
.announce_container .notice-calendar-heading-title { margin: 0 0 6px !important; font-size: 15px !important; }
.announce_container .notice-calendar-heading-title a { color: var(--ip-text-strong, #1a1f36) !important; font-weight: 700 !important; }
.announce_container .notice-calendar-heading-title a:hover { color: var(--ip-primary, #1a56db) !important; }
.announce_container .img-xs.user-image { width: 34px !important; height: 34px !important; border-radius: 50% !important; object-fit: cover !important; }
.announce_container .btn.dropdown-toggle { padding: 0 !important; background: transparent !important; border: none !important; box-shadow: none !important; }

/* Сайдбар категорий новостей — мягкий стиль (как остальной редизайн) */
#announcements_div .tab-content.bg-white.panelcat { box-shadow: 0 1px 6px rgba(0,0,0,0.05) !important; border-radius: var(--ip-radius-md) !important; }
#announcements_div ul.form1 li a {
    text-transform: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 11px 14px !important;
    color: var(--ip-text-muted, #6b7280) !important;
    border-left: none !important;
    border-radius: var(--ip-radius-sm) !important;
}
#announcements_div ul.form1 li a:hover { background: #f3f4f8 !important; color: var(--ip-primary) !important; }
#announcements_div ul.form1 li.selected a,
#announcements_div ul.form1 li.selects a { background: #eff4ff !important; color: var(--ip-primary) !important; }
#announcements_div ul.form1 li em {
    float: right; background: #fee2e2; color: #991b1b;
    border-radius: var(--ip-radius-md); padding: 0 8px; font-size: 11px; font-weight: 700; font-style: normal;
}

body.bg-dark #announcements_div ul.form1 li a:hover,
body.bg-dark #announcements_div ul.form1 li.selected a,
body.bg-dark #announcements_div ul.form1 li.selects a { background: rgba(26,86,219,0.2) !important; color: #60a5fa !important; }

/* ── Новости: единая белая карточка (как остальные вкладки) ── */
#tad_menu_div .ipdash-news-wrap {
    display: flow-root !important;
    padding: 12px !important;
}
.ipdash-news-side { box-shadow: none !important; border: none !important; background: transparent !important; }

/* ── Новости-канбан: превью текста на карточке ── */
.ipdash-news-text {
    font-size: 12px;
    color: var(--ip-text-muted, #6b7280);
    line-height: 1.45;
    margin-top: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Дашборд: инлайн-голосование в карточке опроса (виджет «Новости») ── */
.ipdash-survey { margin-top: 6px; display: flex; flex-direction: column; gap: 8px; }
.ipdash-survey-row { position: relative; }
.ipdash-survey .survey_vote {
    cursor: pointer;
    padding: 6px 34px 6px 8px;
    border: 1px solid var(--ip-border, #e5e7eb);
    border-radius: var(--ip-radius-sm);
    background: #fff;
    transition: border-color .15s, background .15s;
}
.ipdash-survey .survey_vote:hover { border-color: rgba(96,165,250,0.55); background: rgba(96,165,250,0.06); }
.ipdash-survey-opt { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--ip-text, #111827); }
.ipdash-survey-opt input[type="checkbox"] { flex: 0 0 auto; pointer-events: none; }
.ipdash-survey-track { width: 100%; height: 4px; border-radius: 1rem; background: lightgray; margin-top: 6px; }
.ipdash-survey-proc { position: absolute; top: 8px; right: 10px; font-size: 11px; font-weight: 600; color: var(--ip-text-muted, #6b7280); }
.ipdash-survey-result {
    display: inline-block;
    margin-top: 8px;
    font-size: 11px;
    font-weight: 600;
    color: #2563eb;
    cursor: pointer;
}
.ipdash-survey-result:hover { text-decoration: underline; }
body.bg-dark .ipdash-survey .survey_vote { background: #1f2733; border-color: rgba(255,255,255,0.08); }
body.bg-dark .ipdash-survey .survey_vote:hover { border-color: rgba(96,165,250,0.45); background: rgba(96,165,250,0.10); }
body.bg-dark .ipdash-survey-opt { color: #e5e7eb; }
body.bg-dark .ipdash-survey-track { background: #374151; }

/* ── Дашборд: единый горизонтальный отступ блоков + стабильный скролл-гаттер ── */
#ipp-db-wrap > [class*="col-"] {
    padding-left: 3px !important;
    padding-right: 3px !important;
    box-sizing: border-box;
}
#ipp-db-wrap .ipdash-kanban-wrap,
#ipp-db-wrap .panel.panel-custom.menu.ipdash-mini-wrap { scrollbar-gutter: stable; }

/* ── Дашборд канбан/грид: адаптив, без горизонтального выноса за экран ── */
/* flexbox-gotcha: flex-предки с min-width:auto растягиваются под контент →
   wrap не скроллится. min-width:0 по цепочке предков обязателен. */
#ipp-db-wrap,
#ipp-db-wrap > [class*="col-"],
#tad_menu_div,
#tad_menu_div > .row,
#tad_menu_div > .row > .col-lg-12,
#tad_menu_div .tabs_8 { min-width: 0 !important; }
#ipp-db-wrap .ipdash-kanban-wrap,
#ipp-db-wrap .ipdash-mini-wrap { min-width: 0 !important; max-width: 100% !important; }
#tad_menu_div .ipdash-kanban-wrap { width: 100% !important; overflow: auto !important; flex-wrap: nowrap !important; }
@media (max-width: 767px) {
    /* Канбан-колонки складываем вертикально — ничего не вылезает вбок */
    #ipp-db-wrap .ipdash-kanban-wrap { flex-direction: column !important; overflow-x: hidden !important; }
    #ipp-db-wrap .ipdash-kanban-wrap .ipdash-kan-col {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    /* Грид «Мои задачи» — одна колонка */
    #ipp-db-wrap .ipdash-mini-wrap { grid-template-columns: 1fr !important; }
    /* Табы дашборда — перенос/скролл, не режутся */
    #tad_menu_div ul.nav.nav-tabs.nav-tabs_menu.panelhed { flex-wrap: wrap !important; overflow-x: auto !important; }
}

/* ── Графики дашборда: всегда внутри карточки (не вылезают вбок на любой ширине) ── */
#ipp-db-wrap .panel { min-width: 0; max-width: 100%; }
#ipp-db-wrap .ip-chart-scroll {
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden;
    min-width: 0 !important;
}

/* ── Графики дашборда на мобиле: вписывать в карточку целиком (не 600px-скролл) ── */
@media (max-width: 767px) {
    #ipp-db-wrap .ip-chart-scroll > div[id] { width: 100% !important; min-width: 0 !important; }
}

/* ── Дашборд ≤991px: все блоки на всю ширину (ровные края, без пустот справа) ── */
@media (max-width: 991px) {
    #ipp-db-wrap > .projects-section,
    #ipp-db-wrap > [class*="col-"] {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* ── Шапки графиков дашборда на мобиле: заголовок — строка 1, контролы — строка 2 ──
   Переносим только всю шапку (ul), но НЕ ломаем группы внутри linktop
   (иначе кнопка-поиск отрывается от input'а). */
@media (max-width: 767px) {
    #ipp-db-wrap .panelhed { flex-wrap: wrap !important; height: auto !important; row-gap: 6px; }
    #ipp-db-wrap .panelhed .linktop { justify-content: flex-start !important; }
    /* месяц-фильтр компактный, чтобы input + поиск + ⋮ помещались в строку */
    #ipp-db-wrap .panelhed .linktop input.formstyleerp { height: 36px !important; max-width: 150px !important; }
}

/* ── Легенды донатов на мобиле: одна колонка (не тесно, текст не режется) ── */
@media (max-width: 767px) {
    #ipp-db-wrap #ipp-cl-legend,
    #ipp-db-wrap #ipp-tasks-cards { grid-template-columns: 1fr !important; }
}

/* ── Блок табов «История покупок / Товары / Воронка» — единая карточка (как tad_menu) ── */
#ipp-db-wrap .ipdash-saastabs {
    background: var(--ip-bg-card, #fff) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    border-radius: var(--ip-radius-md) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    overflow: hidden !important;
}
/* Внешние табы = шапка карточки (скруглён верх, нижняя граница, без своей тени) */
#ipp-db-wrap .ipdash-saastabs > ul.nav.nav-tabs.nav-tabs_menu.panelhed {
    border-radius: 12px 12px 0 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--ip-border, rgba(0,0,0,0.08)) !important;
    box-shadow: none !important;
    margin: 0 !important;
    background: var(--ip-bg-card, #fff) !important;
}
/* Внутренняя панель графика — без своей рамки/тени, сливается в тело карточки */
#ipp-db-wrap .ipdash-saastabs .panel.panel-custom.menu {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: 100% !important;
    background: transparent !important;
}
/* Убираем дублирующий заголовок внутри графика (имя уже на вкладке), оставляем контролы */
#ipp-db-wrap .ipdash-saastabs .panel.panel-custom.menu > ul.nav.nav-tabs.panelhed > li:first-child { display: none !important; }

body.bg-dark #ipp-db-wrap .ipdash-saastabs { box-shadow: 0 2px 8px rgba(0,0,0,0.25) !important; }

/* ── Месяц-фильтр в шапках графиков → единое поле-поиск (input + кнопка состыкованы) ── */
#ipp-db-wrap .panelhed .linktop input.formstyleerp {
    height: 36px !important;
    border-radius: 8px 0 0 8px !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.12)) !important;
    border-right: none !important;
    padding: 0 12px !important;
    font-size: 13px !important;
}
#ipp-db-wrap .panelhed button[id$="_btn"] {
    width: 40px !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 8px 8px 0 !important;
    background: var(--ip-bg-card, #f9fafb) !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.12)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background 0.15s;
}
#ipp-db-wrap .panelhed button[id$="_btn"]:hover { background: #eff4ff !important; }
#ipp-db-wrap .panelhed button[id$="_btn"] svg,
#ipp-db-wrap .panelhed button[id$="_btn"] svg * { stroke: var(--ip-accent, #1a56db) !important; }
/* убираем зазор между input и кнопкой, чтобы выглядели как одно поле (только там, где есть input — не трогаем год-пилюли) */
#ipp-db-wrap .panelhed .linktop:has(input.formstyleerp) { gap: 0 !important; }
body.bg-dark #ipp-db-wrap .panelhed .linktop input.formstyleerp { background: #252837 !important; border-color: rgba(255,255,255,0.12) !important; color: #e5e7eb !important; }

/* ── Иконки полей: тёмные моно сразу из head (анти-FOUC, дубль из ipdetail-card.css) ── */
.theme-avtar img:not([src*="/flags/"]) { filter: invert(1) brightness(0.15); }
/* Браузер успевает нарисовать цветную картинку до наложения filter — прячем этот кадр
   через opacity:0 и плавно проявляем уже отфильтрованной (фон-тинт не мигает, т.к. это не img) */
.theme-avtar img:not(.user-image):not([src*="/flags/"]) { opacity: 0; animation: mbAvIconIn .3s ease .25s both; }
/* Флаги в переключателе языков — цветные PNG, НЕ инвертировать и не прятать (лежат в .theme-avtar);
   круглые независимо от формы исходного PNG (часть набора прямоугольная) */
.theme-avtar img[src*="/flags/"] {
    filter: none !important;
    opacity: 1 !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

/* ── Переключатель языка: текст «Выбрать язык / Языки» тоже кликабелен (JS-форвард на dropdown) ── */
.ip-lang-words { cursor: pointer; }
.ip-lang-globe { color: var(--ip-warning, #ff9f43); }

/* ─────────────────────────────────────────────────────────────
   RTL — базовый набор. ВСЕ правила под [dir="rtl"], поэтому на
   обычной (LTR) версии не действуют в принципе. Нативный flip даёт
   dir="rtl"; здесь добиваем легаси-утилиты на физических left/right.
   ───────────────────────────────────────────────────────────── */
[dir="rtl"] .pull-left  { float: right; }
[dir="rtl"] .pull-right { float: left; }
[dir="rtl"] .float-left  { float: right !important; }
[dir="rtl"] .float-right { float: left !important; }
[dir="rtl"] .text-left  { text-align: right !important; }
[dir="rtl"] .text-right { text-align: left !important; }
/* легаси-отступы Bootstrap 4 (ml-*/mr-*) — Bootstrap 5 ms/me уже логические и переворачиваются сами */
[dir="rtl"] .ml-auto { margin-left: 0 !important; margin-right: auto !important; }
[dir="rtl"] .mr-auto { margin-right: 0 !important; margin-left: auto !important; }

/* ── Выпадашка выбора языка (.dropdownmenu1) — SaaS-карточка ── */
.theme-avtar .dropdownmenu1 {
    min-width: 224px !important;
    padding: 6px !important;
    border: 1px solid var(--ip-border) !important;
    border-radius: var(--ip-radius-lg) !important;
    box-shadow: var(--ip-shadow-lg) !important;
    background: var(--ip-bg-card, #fff) !important;
    max-height: 360px;
    overflow-y: auto;
}
.theme-avtar .dropdownmenu1 .dd-lang-head {
    padding: 4px 10px 8px;
    font-size: var(--ip-fs-caption);
    font-weight: var(--ip-fw-semibold);
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--ip-text-muted);
    pointer-events: none;
}
.theme-avtar .dropdownmenu1 > li > a {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 8px 10px !important;
    border-radius: var(--ip-radius-md) !important;
    color: var(--ip-text) !important;
    font-weight: var(--ip-fw-medium);
    line-height: 1.2;
    transition: background .15s ease, color .15s ease;
}
.theme-avtar .dropdownmenu1 > li > a .dd-lang-name { flex: 1 1 auto; white-space: nowrap; }
.theme-avtar .dropdownmenu1 > li > a .dd-lang-check { display: inline-flex; color: var(--ip-primary); }
.theme-avtar .dropdownmenu1 > li > a:hover,
.theme-avtar .dropdownmenu1 > li > a:focus {
    background: var(--ip-primary-bg) !important;
    color: var(--ip-primary) !important;
}
.theme-avtar .dropdownmenu1 > li.active > a {
    background: var(--ip-primary-bg) !important;
    color: var(--ip-primary) !important;
    font-weight: var(--ip-fw-semibold);
}
body.bg-dark .theme-avtar .dropdownmenu1 {
    background: #1e2130 !important;
    border-color: rgba(255, 255, 255, 0.10) !important;
}
@keyframes mbAvIconIn { from { opacity: 0; } to { opacity: 1; } }
/* ── Аватар пользователя (фото) не инвертировать фильтром .theme-avtar img ── */
.theme-avtar img.user-image { filter: none !important; }

/* ── Свёрнутый сайдбар: карточка организации = только аватар (текст/шеврон прячем) ── */
.aside-collapsed #saasorg .btn.btn-default.saasorg-btn {
    justify-content: center !important;
    padding: 6px !important;
    gap: 0 !important;
}
.aside-collapsed #saasorg .saasorg-text,
.aside-collapsed #saasorg .saasorg-chev { display: none !important; }
.aside-collapsed #saasorg .saasorg-ava { margin: 0 auto !important; }
.aside-collapsed #saasorg .dropdown-menu { min-width: 190px !important; }

/* ===================================================================
   СВЁРНУТЫЙ САЙДБАР: убрать кривой индикатор +/- и оформить флайаут-подменю
   =================================================================== */
/* индикатор +/- в icon-only режиме не нужен (был не по центру) */
.aside-collapsed .sidebar li.sub-menu [data-bs-toggle="collapse"]:after { display: none !important; }

/* Всплывающее подменю (флайаут) — чистая карточка */
.sidebar-subnav.nav-floating {
    background: #ffffff !important;
    border: 1px solid var(--ip-border, rgba(0,0,0,0.10)) !important;
    border-radius: var(--ip-radius-md) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
    padding: 6px !important;
    margin-left: 80px !important; /* сдвиг за колонку иконок (80px), чтобы флайаут не наезжал */
    min-width: 224px !important;
    overflow: hidden !important;
}
.sidebar-subnav.nav-floating > .sidebar-subnav-header {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--ip-text, #1a1f36) !important;
    padding: 8px 12px 6px !important;
    border-bottom: 1px solid var(--ip-border, rgba(0,0,0,0.07)) !important;
    margin-bottom: 4px !important;
}
/* убираем вертикальную линию-«дерево» и точки-маркеры внутри флайаута */
.sidebar-subnav.nav-floating::before { display: none !important; }
.sidebar-subnav.nav-floating > li > a::before,
.sidebar-subnav.nav-floating > li > a::after,
.sidebar-subnav.nav-floating > li > .nav-item::before,
.sidebar-subnav.nav-floating > li > .nav-item::after { display: none !important; }
.sidebar-subnav.nav-floating > li > a,
.sidebar-subnav.nav-floating > li > .nav-item {
    padding: 8px 12px !important;
    border-radius: var(--ip-radius-sm) !important;
    font-size: 13px !important;
    color: #374151 !important;
    display: flex !important;
    align-items: center !important;
}
.sidebar-subnav.nav-floating > li > a:hover,
.sidebar-subnav.nav-floating > li > .nav-item:hover,
.sidebar-subnav.nav-floating > li.active > a,
.sidebar-subnav.nav-floating > li.active > .nav-item {
    background: #eff4ff !important;
    color: var(--ip-primary, #1a56db) !important;
}

body.bg-dark .sidebar-subnav.nav-floating { background: #1e2130 !important; border-color: rgba(255,255,255,0.10) !important; }
body.bg-dark .sidebar-subnav.nav-floating > .sidebar-subnav-header { color: #e5e7eb !important; border-bottom-color: rgba(255,255,255,0.08) !important; }
body.bg-dark .sidebar-subnav.nav-floating > li > a { color: #cbd5e1 !important; }
body.bg-dark .sidebar-subnav.nav-floating > li > a:hover,
body.bg-dark .sidebar-subnav.nav-floating > li.active > a { background: rgba(26,86,219,0.20) !important; color: #60a5fa !important; }

/* =========================================================================
   MAILBOX — редизайн инбокса (boxmail.php / boxmessages.php)
   Стили вынесены из инлайн <style>; тема ч/б через --ip-* переменные.
   ========================================================================= */

/* --- модалка просмотра письма (базовый .ip-modal уже есть выше) --- */
.ip-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.ip-modal-container{position:absolute;top:0;right:0;width:600px;max-width:90%;height:100%;background:var(--ip-bg-card,#fff);box-shadow:-12px 0 40px rgba(0,0,0,.12),-4px 0 12px rgba(0,0,0,.06);transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;border-top-left-radius:12px;border-bottom-left-radius:12px;overflow:hidden;}
.ip-modal.ip-is-open .ip-modal-container{transform:translateX(0);}
.ip-modal-header{padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f3f4f6;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:10;flex-shrink:0;}
.ip-modal-title{font-size:16px;font-weight:600;color:#111827;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.ip-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius: var(--ip-radius-sm);background:#dc2626;color:#fff;cursor:pointer;flex-shrink:0;transition:background .18s ease,transform .1s ease;}
.ip-modal-close:hover{background:#b91c1c;color:#fff;}
.ip-modal-close:active{background:#991b1b;transform:scale(.95);}
.ip-modal-close svg{width:18px;height:18px;}
.ip-modal-body{flex:1;overflow-y:auto;padding:20px;}
.ip-modal-footer{flex-shrink:0;padding:14px 16px;border-top:1px solid #e5e7eb;background:#f3f4f6;}
/* у компоуза своя шапка/футер — прячем общие */
.ip-modal-container:has(.mbc) .ip-modal-footer{display:none;}
/* в просмотре письма тема дублируется в шапке модалки — прячем внутреннюю */
.ip-modal-body:has(.mbv) .mbv-subject{display:none;}

/* --- спиннер загрузки --- */
.ip-lds-ring{display:inline-block;position:relative;width:80px;height:80px;margin:50px auto;color:var(--ip-primary,#0C48AD);}
.ip-lds-ring div{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid currentColor;border-radius:50%;animation:ip-lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:currentColor transparent transparent transparent;}
.ip-lds-ring div:nth-child(1){animation-delay:-.45s;}
.ip-lds-ring div:nth-child(2){animation-delay:-.3s;}
.ip-lds-ring div:nth-child(3){animation-delay:-.15s;}
@keyframes ip-lds-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
/* По просьбе пользователя: убрать центральный крутящийся спиннер загрузки вкладок/модалок (контент появляется без кольца) */
.ip-lds-ring{display:none!important;}

/* --- иконка синхронизации --- */
@keyframes mb-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
.rotate-img{display:inline-block;animation:mb-spin 2s linear infinite;}
.rotate-img-none{animation:none;}

/* --- прогресс синхронизации --- */
.mb-progress-li{display:none;width:80%;}
.mb-progress-li .box-progress-bar{width:100%;height:14px;border-radius: var(--ip-radius-sm);overflow:hidden;background:var(--ip-bg-card,#fff);margin:12px 0;}
.mb-progress-li .box-progress{display:block;height:14px;border-radius: var(--ip-radius-sm);width:0;background:var(--ip-primary,#4067f9);}
.mb-progress-li .box-progress-percentage{color:var(--ip-text);text-align:center;margin:-15px;font-size:14px;font-weight:700;line-height:16px;}

/* --- левая колонка как интегрированный сайдбар --- */
.mb-side.panel-custom{box-shadow:none;border:1px solid var(--ip-border);border-radius:var(--ip-radius-lg,14px);background:var(--ip-bg-card,#fff);padding:14px;}
.mb-side .form-group{margin-bottom:8px;}
.mb-side .lableip{font-size:11px;color:var(--ip-text-muted);margin-bottom:2px;}

/* --- левая колонка: список папок --- */
.panel-left-body{padding-left:10px;}
.mb-folder-scroll{max-height:450px;overflow-y:auto;}
.mb-email-select{width:100%;}
.mb-folder-summary{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ip-text-muted);padding:2px 6px 10px;}
.mb-folder-summary .mb-fs-total{font-weight:600;color:var(--ip-text);}
/* строка папки — 1-в-1 с РЕАЛЬНЫМ главным меню = ipcss .sidebar .nav>li>a (~4582),
   т.к. ipcss.css подключается ПОСЛЕ bg-white/bg-dark (htmlheader ~64) и побеждает. */
.mailbox-folders .nav-pills>li>a{display:flex;align-items:center;gap:10px;border-radius: var(--ip-radius-sm);margin:2px 8px;padding:7px 5px;min-height:40px;line-height:1.3;color:#374151;font-size:var(--ip-sidebar-font-size,13px);transition:background-color .15s ease,color .15s ease;}
.mailbox-folders .nav-pills>li>a:hover{background:#f3f4f8;color:#111827;}
.mailbox-folders .nav-pills>li.active>a,
.mailbox-folders .nav-pills>li.active>a:hover,
.mailbox-folders .nav-pills>li.active>a:focus{background:#eff4ff !important;color:var(--ip-primary) !important;border-radius: var(--ip-radius-sm);margin:1px 10px;}
.mailbox-folders .nav-pills>li.active>a .mb-fld-name{font-weight:600;}
/* левая полоса-акцент активной папки — 1-в-1 с главным меню (border-left:3px на li) */
.mailbox-folders .nav-pills>li{border-left:3px solid transparent;}
.mailbox-folders .nav-pills>li.active{border-left-color:var(--ip-primary);}
.mailbox-folders .folder_mail_a .label{border-radius: var(--ip-radius-pill);font-weight:600;background:var(--ip-primary-bg);color:var(--ip-primary);}
/* иконки папок в коробках — 1-в-1 с .menu-img_i главного меню */
.mailbox-folders .mb-fld-ic-box{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;min-width:32px;background:var(--ip-bg-card,#fff);border:1px solid rgba(0,0,0,.10);border-radius: var(--ip-radius-sm);box-shadow:0 1px 4px rgba(0,0,0,.07);color:#64748b;transition:border-color .15s,box-shadow .15s,color .15s;}
.mailbox-folders .nav-pills>li>a:hover .mb-fld-ic-box{border-color:rgba(26,86,219,.30);box-shadow:0 1px 4px rgba(26,86,219,.10);color:var(--ip-primary);}
.mailbox-folders .nav-pills>li.active>a .mb-fld-ic-box{border-color:var(--ip-primary);background:#eff4ff;box-shadow:none;color:var(--ip-primary);}
.mailbox-folders .mb-fld-ic{flex:0 0 auto;width:18px;height:18px;color:inherit;}
/* тёмная тема */
body.bg-dark .mailbox-folders .mb-fld-ic-box{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14);box-shadow:none;color:#cbd5e1;}
body.bg-dark .mailbox-folders .nav-pills>li>a:hover .mb-fld-ic-box{background:rgba(26,86,219,.20);border-color:var(--ip-primary);color:#93c5fd;}
body.bg-dark .mailbox-folders .nav-pills>li.active>a .mb-fld-ic-box{background:rgba(26,86,219,.20);border-color:var(--ip-primary);color:#60a5fa;}
.mailbox-folders .mb-fld-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mailbox-folders .mb-fld-toggle{flex:0 0 auto;width:16px;height:16px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--ip-text-muted);cursor:pointer;}
.mailbox-folders .nav-pills>li.active>a .mb-fld-toggle{color:var(--ip-primary);}
.mailbox-folders .mb-fld-toggle svg{transition:transform .15s ease;}
.mailbox-folders .mb-fld-toggle--empty{cursor:default;}
.mailbox-folders .folder_mail.mb-open>.folder_mail_a .mb-fld-toggle svg{transform:rotate(90deg);}
.mailbox-folders .mb-subtree{display:none;}
.mailbox-folders .folder_mail.mb-open>.mb-subtree{display:block;}
.mailbox-folders .mb-subtree .nav-pills{padding-left:14px;}

/* --- чип папки на письме (мини-ярлык) --- */
.mb-tag{display:inline-block;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-size:11px;font-weight:600;line-height:1.4;padding:2px 8px;border-radius: var(--ip-radius-pill);background:var(--ip-primary-bg);color:var(--ip-primary);margin-bottom:4px;}

/* --- блок «Метки» в сайдбаре --- */
.mb-labels{padding:12px 6px 6px;border-top:1px solid var(--ip-border);margin-top:8px;}
.mb-labels-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px 6px;}
.mb-labels-title{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ip-text-muted);}
.mb-label-add-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius: var(--ip-radius-sm);background:var(--ip-primary-bg);color:var(--ip-primary);cursor:pointer;}
.mb-label-form{display:none;flex-direction:column;gap:8px;padding:8px 6px 10px;}
.mb-label-form.is-open{display:flex;}
.mb-label-input{width:100%;}
.mb-swatches{display:flex;flex-wrap:wrap;gap:6px;}
.mb-swatch{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;}
.mb-swatch.is-sel{border-color:var(--ip-text);box-shadow:0 0 0 2px var(--ip-bg-card);}
.mb-label-save{align-self:flex-start;}
.mb-label-list{list-style:none;margin:0;padding:0;}
.mb-label-item{display:flex;align-items:center;border-radius: var(--ip-radius-sm);}
.mb-label-item:hover{background:var(--ip-primary-light);}
.mb-label-item.active{background:var(--ip-primary-light);}
.mb-label-link{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;padding:8px 10px;color:var(--ip-text);text-decoration:none;}
.mb-label-item.active .mb-label-name{font-weight:600;color:var(--ip-primary);}
.mb-label-dot{flex:0 0 auto;width:11px;height:11px;border-radius:50%;}
.mb-label-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}
.mb-label-cnt{flex:0 0 auto;font-size:11px;color:var(--ip-text-muted);}
.mb-label-del{flex:0 0 auto;width:24px;height:24px;border:none;background:none;color:var(--ip-text-muted);cursor:pointer;opacity:0;transition:opacity .15s;}
.mb-label-item:hover .mb-label-del{opacity:1;}
.mb-label-del:hover{color:#be123c;}

/* солидные цвета точек/свотчей (саппорт палитры mb-tag) */
.mb-dot--c1{background:#4f46e5;}
.mb-dot--c2{background:#b45309;}
.mb-dot--c3{background:#15803d;}
.mb-dot--c4{background:#0369a1;}
.mb-dot--c5{background:#a21caf;}
.mb-dot--c6{background:#be123c;}
.mb-dot--c7{background:#475569;}
.mb-dot--c8{background:#0f766e;}

/* ===== Compose «Новое письмо» ===== */
.ip-modal-body:has(.mbc){padding:0;}
/* у компоуза свой заголовок с ×/разворотом — прячем верхний × обёртки */
.ip-modal-container:has(.mbc) .ip-modal-header{display:none;}
.mbc{display:flex;flex-direction:column;}
.mbc-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f3f4f6;}
.mbc-head-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--ip-text);}
.mbc-head-actions{display:flex;align-items:center;gap:4px;}
.mbc-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:none;border-radius: var(--ip-radius-sm);color:var(--ip-text-muted);cursor:pointer;}
.mbc-icon-btn:hover{background:var(--ip-primary-light);color:var(--ip-text);}
/* кнопка закрытия компоуза — красный квадрат (эталон) */
.mbc-icon-btn[data-ip-close="1"]{width:32px;height:32px;background:#dc2626;color:#fff;}
.mbc-icon-btn[data-ip-close="1"]:hover{background:#b91c1c;color:#fff;}
.mbc-icon-btn[data-ip-close="1"]:active{background:#991b1b;transform:scale(.95);}
.mbc-body{padding:4px 18px 10px;}
.mbc-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ip-border);padding:7px 0;}
.mbc-label{flex:0 0 auto;width:48px;font-size:13px;color:var(--ip-text-muted);margin:0;}
.mbc-field{flex:1 1 auto;min-width:0;}
.mbc-input{width:100%;border:none;outline:none;background:none;font-size:14px;color:var(--ip-text);padding:6px 0;}
.mbc-input::placeholder{color:var(--ip-text-muted);}
.mbc-cc-links{flex:0 0 auto;display:flex;gap:12px;}
.mbc-cc-links a{font-size:12px;color:var(--ip-text-muted);text-decoration:none;}
.mbc-cc-links a:hover{color:var(--ip-primary);}
.mbc-cc-row{display:none;}
.mbc-cc-row.is-open{display:flex;}
.mbc .email-container{display:flex;align-items:center;flex-wrap:wrap;gap:4px;}
.mbc .email-token{display:inline-flex;align-items:center;gap:4px;background:var(--ip-primary-bg);color:var(--ip-primary);padding:3px 8px;border-radius: var(--ip-radius-pill);font-size:12px;font-weight:600;}
.mbc .email-token .remove-token{cursor:pointer;opacity:.7;}
.mbc .email-token .remove-token:hover{opacity:1;}
.mbc .email-input{flex:1 1 80px;min-width:80px;}
.mbc .dropdown{position:relative;}
.mbc .dropdown-list{position:absolute;top:100%;left:0;width:100%;max-height:220px;overflow-y:auto;background:var(--ip-bg-card,#fff);border:1px solid var(--ip-border);border-radius: var(--ip-radius-md);box-shadow:var(--ip-shadow-md,0 6px 24px rgba(16,24,40,.12));z-index:1000;display:none;list-style:none;margin:4px 0 0;padding:6px;}
.mbc .dropdown-list li{padding:8px 10px;border-radius: var(--ip-radius-sm);cursor:pointer;font-size:13px;}
.mbc .dropdown-list li:hover{background:var(--ip-primary-light);}
.mbc-editor{margin-top:10px;}
.mbc-editor .tox-tinymce{border:1px solid var(--ip-border) !important;border-radius: var(--ip-radius-md) !important;}
.mbc-editor .tox-menubar{display:none !important;}
.mbc-editor .tox-editor-header{box-shadow:none !important;border-bottom:1px solid var(--ip-border) !important;}
.mbc-attach{margin-top:12px;}
.mbc-foot{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-top:1px solid #e5e7eb;background:#f3f4f6;}
.mbc-foot .botomerpbotomdefault{float:none !important;}
.ip-modal.mbc-expanded .ip-modal-container{width:900px;}

/* ===== Просмотр письма (mailboxmessage) ===== */
.ip-modal-body:has(.mbv){padding:0;}
.mbv{display:flex;flex-direction:column;padding:18px 22px 12px;}
.mbv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.mbv-from{display:flex;align-items:center;gap:12px;min-width:0;}
.mbv-avatar{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--ip-primary-bg);color:var(--ip-primary);font-weight:700;font-size:16px;text-transform:uppercase;}
.mbv-from-info{min-width:0;}
.mbv-from-name{font-size:15px;font-weight:700;color:var(--ip-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mbv-from-email{font-size:13px;color:var(--ip-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mbv-head-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto;}
.mbv-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:none;border-radius: var(--ip-radius-sm);color:var(--ip-text-muted);cursor:pointer;transition:background .15s,color .15s;}
.mbv-icon-btn:hover{background:var(--ip-primary-light);color:var(--ip-text);}
.mbv-icon-btn.is-on{color:#f59e0b;}
.mbv-icon-btn.is-on svg{fill:#f59e0b;}
.mbv-more{position:relative;}
.mbv-more-menu{display:none;position:absolute;top:calc(100% + 4px);right:0;z-index:30;min-width:150px;background:var(--ip-bg-card,#fff);border:1px solid var(--ip-border);border-radius: var(--ip-radius-md);box-shadow:var(--ip-shadow-md,0 6px 24px rgba(16,24,40,.12));padding:6px;}
.mbv-more-menu.is-open{display:block;}
.mbv-more-item{display:block;padding:7px 10px;border-radius: var(--ip-radius-sm);color:var(--ip-text);text-decoration:none;font-size:13px;}
.mbv-more-item:hover{background:var(--ip-primary-light);color:var(--ip-danger,#d92d20);}
.mbv-subject{font-size:20px;font-weight:700;color:var(--ip-text);margin:16px 0 8px;line-height:1.3;}
.mbv-date{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ip-text-muted);}
.mbv-to{margin-top:8px;font-size:13px;color:var(--ip-text-muted);}
.mbv-to-label{margin-right:4px;}
.mbv-to-email{color:var(--ip-primary);text-decoration:none;}
.mbv-to-email:hover{text-decoration:underline;}
.mbv-divider{border:none;border-top:1px solid var(--ip-border);margin:16px 0;}
.mbv-body{margin-top:8px;}
.mbv-iframe{width:100%;min-height:80px;height:auto;border:0;background:#fff;border-radius: var(--ip-radius-md);display:block;}
.mbv-quote-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:6px 0;background:none;border:none;color:var(--ip-primary);font-size:13px;font-weight:600;cursor:pointer;}
.mbv-quote-toggle svg{transition:transform .15s;}
.mbv-quote-toggle.is-open svg{transform:rotate(180deg);}
.mbv-attach{margin-top:16px;border:1px solid var(--ip-border);border-radius: var(--ip-radius-md);overflow:hidden;}
.mbv-attach.is-empty{opacity:.7;}
.mbv-attach-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;color:var(--ip-text);}
.mbv-attach-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;}
.mbv-attach-chev{transition:transform .15s;}
.mbv-attach.is-collapsed .mbv-attach-chev{transform:rotate(-90deg);}
.mbv-attach-body{padding:0 16px 16px;}
.mbv-attach.is-collapsed .mbv-attach-body{display:none;}
.mbv-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 0 6px;margin-top:16px;border-top:1px solid var(--ip-border);}
.mbv-foot-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.mbv-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 18px;border-radius: var(--ip-radius-sm);font-size:13px;font-weight:600;border:1px solid var(--ip-border);background:var(--ip-bg-card,#fff);color:var(--ip-text);cursor:pointer;transition:background .15s,border-color .15s;}
.mbv-btn:hover{background:var(--ip-primary-light);border-color:var(--ip-primary);}
.mbv-btn--primary{background:var(--ip-primary);border-color:var(--ip-primary);color:#fff;}
.mbv-btn--primary:hover{background:var(--ip-primary-hover,#1e429f);border-color:var(--ip-primary-hover,#1e429f);}

/* --- метки в открытом письме --- */
.mbm-labels{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 0 2px;}
.mbm-labels-title{font-size:12px;font-weight:600;color:var(--ip-text-muted);}
.mbm-labels-chips{display:inline-flex;flex-wrap:wrap;gap:6px;}
.mbm-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--ip-border);border-radius: var(--ip-radius-pill);background:var(--ip-bg-card,#fff);font-size:12px;font-weight:600;color:var(--ip-text);}
.mbm-chip .mb-label-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;}
.mbm-chip-name{line-height:1.2;}
.mbm-label-remove{border:none;background:none;padding:0 0 0 2px;font-size:14px;line-height:1;color:var(--ip-text-muted);opacity:.7;cursor:pointer;}
.mbm-label-remove:hover{opacity:1;}
.mbm-label-picker{position:relative;}
.mbm-label-addbtn{border:1px dashed var(--ip-border);background:none;border-radius: var(--ip-radius-pill);padding:3px 10px;font-size:12px;font-weight:600;color:var(--ip-primary);cursor:pointer;}
.mbm-label-addbtn:hover{background:var(--ip-primary-light);}
.mbm-label-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:1060;min-width:180px;max-height:240px;overflow-y:auto;background:var(--ip-bg-card,#fff);border:1px solid var(--ip-border);border-radius: var(--ip-radius-md);box-shadow:var(--ip-shadow-md,0 6px 24px rgba(16,24,40,.12));padding:6px;}
.mbm-label-menu.is-open{display:block;}
.mbm-label-add-opt{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius: var(--ip-radius-sm);color:var(--ip-text);text-decoration:none;font-size:13px;}
.mbm-label-add-opt:hover{background:var(--ip-primary-light);}
.mbm-label-empty{padding:8px 10px;color:var(--ip-text-muted);font-size:12px;}

/* --- дропдаун назначения метки в тулбаре --- */
.mb-assign-wrap{position:relative;}
.mb-assign-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:180px;max-height:260px;overflow-y:auto;background:var(--ip-bg-card,#fff);border:1px solid var(--ip-border);border-radius: var(--ip-radius-md);box-shadow:var(--ip-shadow-md,0 6px 24px rgba(16,24,40,.12));padding:6px;}
.mb-assign-menu.is-open{display:block;}
.mb-assign-opt{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius: var(--ip-radius-sm);color:var(--ip-text);text-decoration:none;font-size:13px;}
.mb-assign-opt:hover{background:var(--ip-primary-light);}
.mb-assign-opt span:first-child{width:11px;height:11px;border-radius:50%;flex:0 0 auto;}
.mb-assign-empty{padding:8px 10px;color:var(--ip-text-muted);font-size:12px;}

/* --- тулбар: плоские монохромные иконки (как эталон) --- */
.mb-toolbar .classiconip1{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--ip-bg-card,#fff) !important;border:1px solid var(--ip-border) !important;border-radius: var(--ip-radius-sm) !important;color:var(--ip-text-muted) !important;box-shadow:none !important;padding:0 !important;transition:background .15s ease,color .15s ease,border-color .15s ease;}
.mb-toolbar .classiconip1:hover{background:var(--ip-primary-light) !important;border-color:var(--ip-primary) !important;color:var(--ip-primary) !important;}
.mb-toolbar .classiconip1 svg{width:18px;height:18px;}
/* локальный поиск по письмам в тулбаре (справа, как эталон) */
.mb-toolbar .mb-toolbar-search{float:right;margin-left:auto;}
.mb-search-box{position:relative;display:flex;align-items:center;}
.mb-search-ic{position:absolute;left:11px;color:var(--ip-text-muted);pointer-events:none;}
.mb-search-input{width:220px;max-width:100%;height:36px;padding:0 12px 0 34px;border:1px solid var(--ip-border);border-radius: var(--ip-radius-sm);background:var(--ip-bg-card,#fff);color:var(--ip-text);font-size:13px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;}
.mb-search-input::placeholder{color:var(--ip-text-muted);}
.mb-search-input:focus{border-color:var(--ip-primary);box-shadow:0 0 0 3px var(--ip-primary-light);}
@media (max-width:768px){.mb-search-input{width:140px;}}
.mb-load-error{padding:20px;color:var(--ip-danger,#d92d20);}

/* --- мобильное выезжающее меню (папки/метки) --- */
.mb-burger{display:none;align-items:center;justify-content:center;width:34px;height:34px;margin-right:6px;border:none;background:none;border-radius: var(--ip-radius-sm);color:var(--ip-text-muted);cursor:pointer;}
.mb-burger:hover{background:var(--ip-primary-light);color:var(--ip-text);}
.mb-side-backdrop{display:none;}
@media (max-width:768px){
  .mb-burger{display:inline-flex;}
  .mb-side-col{position:static;padding:0;}
  .mb-side.panel-custom{position:fixed;top:0;left:0;height:100%;width:284px;max-width:86%;margin:0;border-radius:0 14px 14px 0;z-index:1100;overflow-y:auto;transform:translateX(-100%);transition:transform .25s ease;box-shadow:0 0 30px rgba(0,0,0,.18);}
  .mb-side.panel-custom.is-open{transform:translateX(0);}
  .mb-side-backdrop.is-open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1099;}
  /* ровные боковые отступы контента */
  .row:has(> .mb-side-col){margin-left:0;margin-right:0;}
  .mb-side-col + .col-md-9{padding-left:0;padding-right:0;width:100%;}
  .mb-panel.panel-custom{margin-left:0;margin-right:0;}
  .mb-mails td{padding-left:8px;padding-right:8px;}
  .mb-mails td:nth-child(4){width:auto;}
}

/* ── единая ERP-карточка (папки + список) вместо двух оторванных ── */
@media (min-width:769px){
  .row:has(> .mb-side-col){display:flex;flex-wrap:nowrap;align-items:stretch;margin:0;background:var(--ip-bg-card,#fff);border:1px solid rgba(0,0,0,.08);border-radius: var(--ip-radius-md);box-shadow:0 2px 8px rgba(0,0,0,.06);overflow:hidden;}
  .row:has(> .mb-side-col) > .mb-side-col{flex:0 0 26%;max-width:320px;padding:0;}
  .row:has(> .mb-side-col) > .mb-side-col + .col-md-9{flex:1 1 auto;width:auto;max-width:none;min-width:0;padding:0;}
  .mb-side-col + .col-md-9 > .row{margin:0;}
  .mb-side-col + .col-md-9 > .row > .col-md-12{padding:0;}
  .mb-side.panel-custom{border:none !important;border-right:1px solid rgba(0,0,0,.08) !important;border-radius:0 !important;box-shadow:none !important;background:transparent;height:100%;}
  .mb-panel.panel-custom{border:none !important;border-radius:0 !important;box-shadow:none !important;margin:0;background:transparent;}
}

/* --- список писем: строки-карточки --- */
.mb-mails{width:100%;border-collapse:collapse;}
.mb-mails thead{display:none;}
.mb-mails td{vertical-align:middle;border-top:1px solid var(--ip-border);padding:10px;}
.mb-mails td:nth-child(1){width:1%;white-space:nowrap;padding:10px 0 10px 12px;}
.mb-mails td:nth-child(2){width:1%;padding:10px 0;}
.mb-mails td:nth-child(3){padding-left:2px;}
.mb-mails td:nth-child(4){width:150px;}
.mb-mails tbody tr{cursor:pointer;transition:background .15s ease;}
.mb-mails tbody tr:has(.mb-unread){background:var(--ip-bg-muted,#f4f5f7);}
.mb-mails tbody tr:hover{background:var(--ip-primary-light);}
.mb-mails a.mailmessage{color:var(--ip-text);text-decoration:none;display:block;}
.mb-check{margin:0;}

/* звезда-избранное */
.mb-star{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:none;border:none;color:var(--ip-text-muted);opacity:.6;cursor:pointer;transition:opacity .15s,color .15s;}
.mb-star:hover{opacity:1;color:#f59e0b;}
.mb-star--on{opacity:1;color:#f59e0b;}
.mb-star--on svg{fill:#f59e0b;}

/* аватар + точка статуса */
.mb-avatar{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--ip-primary-bg);color:var(--ip-primary);font-weight:700;font-size:12px;text-transform:uppercase;}
.mb-ava-dot{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:#22c55e;border:2px solid var(--ip-bg-card,#fff);}
/* разноцветные аватары по имени отправителя (как эталон) */
.mb-avatar--c1{background:#6366f1;color:#fff;}
.mb-avatar--c2{background:#3b82f6;color:#fff;}
.mb-avatar--c3{background:#22c55e;color:#fff;}
.mb-avatar--c4{background:#f59e0b;color:#fff;}
.mb-avatar--c5{background:#ef4444;color:#fff;}
.mb-avatar--c6{background:#a855f7;color:#fff;}
.mb-avatar--c7{background:#14b8a6;color:#fff;}
.mb-avatar--c8{background:#ec4899;color:#fff;}

/* основной блок: одна строка (аватар + имя + превью) */
.mb-mails a.mb-cell-main{display:flex;align-items:center;gap:10px;min-width:0;}
.mb-avatar{align-self:center;}
.mb-main-text{min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden;}
.mb-cell-main .mb-sender{max-width:100%;font-weight:600;font-size:14px;color:var(--ip-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mb-cell-main .mb-subject{max-width:100%;font-weight:600;font-size:13.5px;color:var(--ip-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mb-cell-main .mb-snippet{max-width:100%;font-size:13px;color:var(--ip-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mb-attach-ic{vertical-align:middle;color:var(--ip-text-muted);}
/* мета: ярлыки/скрепка над датой */
.mb-meta-tags{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:4px;margin-bottom:4px;}
.mb-meta-tags:empty{display:none;}

/* мета: дата/время с иконками */
.mb-cell-meta{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap;}
.mb-cell-meta .mb-date,
.mb-cell-meta .mb-time{display:flex;align-items:center;justify-content:flex-end;gap:5px;font-size:12px;font-weight:500;color:var(--ip-text-muted);}
.mb-cell-meta .mb-time{margin-top:3px;}
.mb-meta-ic{flex:0 0 auto;opacity:.7;}

/* --- непрочитанное письмо --- */
.mb-mails .mb-unread .mb-sender{font-weight:700;color:var(--ip-text);}
.mb-mails .mb-unread .mb-subject{font-weight:700;color:var(--ip-text);}
.mb-mails .mb-unread .mb-snippet{color:var(--ip-text);}
.mb-read .mb-avatar{opacity:.92;}
a.readmail,a.readmail:hover{color:var(--ip-text-muted);}

/* --- пастельная палитра бейджей-лейблов --- */
.mb-tag--c1{background:#eef2ff;color:#4f46e5;}
.mb-tag--c2{background:#fef3c7;color:#b45309;}
.mb-tag--c3{background:#dcfce7;color:#15803d;}
.mb-tag--c4{background:#e0f2fe;color:#0369a1;}
.mb-tag--c5{background:#fae8ff;color:#a21caf;}
.mb-tag--c6{background:#ffe4e6;color:#be123c;}
.mb-tag--c7{background:#f1f5f9;color:#475569;}
.mb-tag--c8{background:#ccfbf1;color:#0f766e;}

/* --- бейдж направления письма (вкладка Email клиента) --- */
.mail-dir{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius: var(--ip-radius-pill);font-size:11px;font-weight:600;white-space:nowrap;line-height:1.4;}
.mail-dir svg{flex:0 0 auto;}
.mail-dir--in{background:#dcfce7;color:#15803d;}
.mail-dir--out{background:#e0f2fe;color:#0369a1;}
body.bg-dark .mail-dir--in{background:rgba(34,197,94,.18);color:#4ade80;}
body.bg-dark .mail-dir--out{background:rgba(59,130,246,.18);color:#60a5fa;}
.mail-dir-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.mail-dir-from{font-weight:600;color:var(--ip-text);}
/* цветная полоса слева строки по направлению */
.mail-row--in td:first-child{box-shadow:inset 3px 0 0 #22c55e;}
.mail-row--out td:first-child{box-shadow:inset 3px 0 0 #3b82f6;}

@media (max-width:767px){
  .mb-avatar{width:34px;height:34px;font-size:13px;}
  .mb-cell-meta .mb-date,.mb-cell-meta .mb-time{font-size:11px;}
}

/* ── Одно-фото загрузчик вариации товара (ip-dropzone single, create_variation) ── */
.ip-dz-single { width: 150px; max-width: 100%; }
.ip-dropzone.ip-dz-photo { position: relative; width: 150px; height: 150px; padding: 6px; overflow: hidden; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.ip-dropzone.ip-dz-photo .ip-dz-photo-img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--ip-radius-sm); }
.ip-dropzone.ip-dz-photo .ip-dz-photo-ph { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.ip-dz-hide { display: none !important; }

/* Кнопка «Удалить» под фото вариации (ip-dropzone single) */
.ip-dz-remove { display: block; width: 150px; max-width: 100%; margin-top: 6px; padding: 5px 8px; background: #fef2f2; border: 1px solid #fecaca; border-radius: var(--ip-radius-sm); color: #ef4444; font-size: 12px; cursor: pointer; text-align: center; transition: background .12s; }
.ip-dz-remove:hover { background: #fee2e2; }

/* ── Кнопки быстрого перемещения пунктов в «Настройки меню» (admin/settings/menu_allocation) ── */
/* .dd-item relative — для стрелок сворачивания nestable (absolute, якорятся к li). */
#nestable .dd-item, #nestable2 .dd-item { position: relative; }
/* .dd-handle relative — наши кнопки внутри плашки: у раскрытого родителя <li> высокий. */
#nestable .dd-handle, #nestable2 .dd-handle { position: relative; padding-right: 160px; }
/* Карета сворачивания nestable (::before ">") должна быть поверх плашки —
   иначе position:relative у .dd-handle перекрывает её при отрисовке. */
#nestable .dd-item > button, #nestable2 .dd-item > button { position: relative; z-index: 2; }
.ip-menu-actions {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    display: flex;
    gap: 4px;
    z-index: 5;
}
.ip-menu-act {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--ip-border, #e5e7eb);
    background: #fff;
    border-radius: var(--ip-radius-sm);
    color: #6b7280;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
}
.ip-menu-act:hover { background: #0b0de8; border-color: #0b0de8; color: #fff; }
.ip-menu-act[data-act="move"]:hover { background: #E53000; border-color: #E53000; color: #fff; }
.ip-menu-act svg { width: 15px; height: 15px; }
body.bg-dark .ip-menu-act { background: #1f2937; border-color: #374151; color: #cbd5e1; }
body.bg-dark .ip-menu-act:hover { background: #0b0de8; border-color: #0b0de8; color: #fff; }

/* ── Десктопное vs мобильное меню сайдбара (отдельные аллокации, см. Menu::dynamicMobileMenu) ── */
.menu-mobile-only { display: none; } /* на десктопе мобильное меню скрыто */
@media (max-width: 767px) {
    .menu-desktop-only { display: none !important; }
    .menu-mobile-only  { display: block !important; }
}
@media (max-width: 1024px) and (orientation: landscape) {
    .menu-desktop-only { display: none !important; }
    .menu-mobile-only  { display: block !important; }
}

/* ── Бейдж непрочитанных на колокольчике уведомлений ── */
.myModalRightNotificationbtn .topbar-icon { position: relative; }
.ipp-notif-badge {
    position: absolute;
    top: -4px;
    right: -6px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    box-sizing: border-box;
    background: #e53935;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    border-radius: var(--ip-radius-pill);
    box-shadow: 0 0 0 2px var(--ip-topbar-bg, #fff);
    pointer-events: none;
}
body.bg-dark .ipp-notif-badge { box-shadow: 0 0 0 2px #1f2937; }

/* ============================================================
   Тулбар действий документов (Оплата/Печать/Word/Редактировать/Отправить)
   Единый эталон (как в invoicelayout/modern.css). Дублируется здесь, т.к.
   страницы purchase/proposals/plan_project НЕ грузят invoicelayout-CSS,
   а кнопки .invo-buttons-wrap .invo-btns должны выглядеть одинаково ВЕЗДЕ.
   ============================================================ */
.invo-buttons-wrap {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    border-radius: var(--ip-radius-xl);
    background: transparent;
    box-shadow: none;
    width: fit-content;
    padding: 5px;
    margin-left: auto;
    margin-right: auto;
}
.invo-buttons-wrap .invo-btns {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
}
/* Селекторы без обязательного .invo-btns в середине — на части страниц
   (detail_plan_project_estimate / plan_project_estimate) классы invo-buttons-wrap
   и invo-btns стоят на ОДНОМ div, поэтому descendant-вариант там не срабатывает. */
.invo-buttons-wrap a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    border-radius: var(--ip-radius-md);
    font-size: 14px;
    font-weight: 600;
    border: none;
    text-decoration: none;
    transition: filter .15s ease, box-shadow .15s ease;
}
.invo-buttons-wrap a:hover { filter: brightness(0.97); }
.invo-buttons-wrap a svg { width: 20px; height: 20px; color: inherit !important; }
.invo-buttons-wrap a span { padding-left: 0; color: inherit; }
/* Пастельные сегменты — у каждой кнопки свой цвет, иконка/текст в тон */
.invo-buttons-wrap .pay-btn      { background: linear-gradient(135deg,#ebe9ff,#e2ddff); color:#6d4aff; }  /* индиго */
.invo-buttons-wrap .print-btn    { background: linear-gradient(135deg,#e8f1ff,#dbe9ff); color:#2563eb; }  /* синий */
.invo-buttons-wrap .word-btn     { background: linear-gradient(135deg,#e7f8ee,#dcf4e6); color:#16a34a; }  /* зелёный */
.invo-buttons-wrap .pen-btn      { background: linear-gradient(135deg,#fef3e2,#fde7cf); color:#d97706; }  /* оранжевый */
.invo-buttons-wrap .download-btn { background: linear-gradient(135deg,#fdeaf3,#fbdce9); color:#db2777; }  /* розовый */

/* Плашка «счёт просрочен» ($sales_info->overdue_days) внутри документа счёта —
   скрыта во ВСЕХ макетах (modern/green/…), и в админке, и на публичке. */
.invoice-preview-inner .alert.bg-danger-light { display: none !important; }

/* ── Публичная страница счёта (frontend/view_invoice) ── */
/* Шапка убрана → задаём отступы контента сами (раньше их давал inline-style шапки) */
.content-wrapper.inv-public-page { padding: 24px 30px 24px; }
/* Белый «лист» документа = карточка со скруглёнными углами (было radius 0) */
.content-wrapper.inv-public-page .invoice-content-wrap {
    border-radius: 16px;
    box-shadow: 0 2px 14px rgba(16, 24, 40, 0.06);
    overflow: hidden;
}
/* Тулбар «Оплатить + Печать/PDF» — справа в одну линию, единый стиль с админкой */
.inv-pub-toolbar { display: flex; justify-content: flex-end; align-items: center; padding: 0 0 12px; }
.inv-pub-toolbar .invo-buttons-wrap { margin: 0; padding: 0; }
.inv-pub-toolbar .btn-group { display: inline-flex; }
/* Кнопка оплаты как pay-btn (dropdown-триггер) */
.inv-pub-toolbar .pay-btn { cursor: pointer; }
.inv-pub-toolbar .pay-btn .caret { margin-left: 2px; }
/* Чистая шапка счёта: логотип слева (перебиваем правое выравнивание джоб-портала) */
.nav1.inv-clean-nav { justify-content: flex-start; }
.nav1.inv-clean-nav .navbar-header,
.nav1.inv-clean-nav .navbar-brand,
.nav1.inv-clean-nav .brand-logo { float: none !important; margin-left: 0 !important; margin-right: auto; }

/* ───── Выбор почтового ящика (admin/mailbox/selectboxmail.php) — вынесено из PHP, тема-осознанно ───── */
.mb-select-screen { display: flex; align-items: center; justify-content: center; min-height: calc(100vh - 180px); padding: 24px; }
.mb-select-card {
    position: relative; width: 100%; max-width: 440px; padding: 36px 32px 30px;
    background: var(--ip-bg-card);
    border: 1px solid var(--ip-border);
    border-radius: var(--ip-radius-xl);
    box-shadow: var(--ip-shadow-lg, 0 20px 60px rgba(17,24,39,.10));
    text-align: center;
}
.mb-select-icon {
    width: 64px; height: 64px; margin: 0 auto 18px; display: flex; align-items: center; justify-content: center;
    border-radius: var(--ip-radius-lg); background: var(--ip-primary-bg); color: var(--ip-primary);
}
.mb-select-title { margin: 0 0 6px; font-size: 22px; font-weight: 700; color: var(--ip-text); }
.mb-select-sub   { margin: 0 0 24px; font-size: 14px; color: var(--ip-text-muted); }
.mb-select-field { text-align: left; }
.mb-select-label { display: block; margin: 0 0 8px; font-size: 13px; font-weight: 600; color: var(--ip-text); }
#mb-select-field .select2-container { width: 100% !important; }
#mb-select-field .select2-container--default .select2-selection--single {
    height: 52px !important; padding: 0 40px 0 16px !important;
    border: 1px solid var(--ip-border) !important; border-radius: var(--ip-radius-md) !important;
    background: var(--ip-bg-card) !important; display: flex !important; align-items: center !important;
    box-shadow: var(--ip-shadow-sm, 0 1px 2px rgba(17,24,39,.04)) !important;
}
#mb-select-field .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--ip-text) !important; font-size: 15px !important; line-height: normal !important; padding: 0 !important;
}
#mb-select-field .select2-container--default .select2-selection--single .select2-selection__arrow { height: 50px !important; right: 12px !important; }
#mb-select-field .select2-container--default.select2-container--focus .select2-selection--single,
#mb-select-field .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--ip-primary) !important; box-shadow: 0 0 0 3px rgba(26,86,219,.15) !important;
}
#mb-select-field select.formstyleerp {
    width: 100%; height: 52px; padding: 0 16px;
    border: 1px solid var(--ip-border); border-radius: var(--ip-radius-md); font-size: 15px; color: var(--ip-text);
}
