@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;
}

a.btn.btn-xs.btn-danger.pull-right {
    padding: 0;
    background: #5e47fc00;
}

#comenip {
    padding-right: 5px !important;
    padding-left: 5px !important;
}

a.btn.btn-xs.btn-danger.pull-right {
    padding: 0px;
    background: #5e47fc00;
}

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;
}

.input-group-addon {
    padding: 3px 1px;
}

.p.bg-white {
    border-radius: 1.25rem;
}

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 {
    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;
}

img.img-circle.img-xs {
    margin: 0 auto;
    border-radius: 50% !important;
    border: solid 3px #b7b7b7;
}

.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;
    }

    .mr {
        margin-right: 1px !important;
    }

    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;
    }

    .mr {
        margin-right: 1px !important;
    }

    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-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;
    }

    .mr {
        margin-right: 1px !important;
    }

    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: 6px;
    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;
} */
.select2-container--default .select2-selection--single {
    height: 40px !important;
    padding: 0.688rem 1.938rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    padding: 1.888rem 1.938rem !important;
}

select#category_products {
    border-radius: 12px;
    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: 5px !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: 5px !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;
}

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

.plusiconip3 {
    background: #b9cef2 !important;
    border: 1px dashed #b9cef2 !important;
    margin-right: 5px !important;
    padding: 10px !important;
    border-radius: 5px !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;
}

.plusiconip:hover {
    border: 1px solid #00aaff !important;
    text-decoration: none !important;
}

.rowmbipa {
    margin: 5px 5px;
    color: #000 !important;
    border-radius: 12px;
    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;
}

button.bgrcol {
    margin-top: 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 {
    padding: 0.1rem 0.975rem 1.1rem;
    border-bottom: 1px solid #d3d3d34d;
    margin-bottom: 5px;
    text-transform: uppercase;
    font-weight: 600;
    padding-bottom: 0px;
    display: flow-root;
}

.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: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    height: 33px !important;
    vertical-align: middle;
    width: 100% !important;
    padding: 1px;
}

.formstyleerp {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    height: 48px;
    vertical-align: middle;
    width: 100% !important;
    background: none;
    padding: 1.475rem .75rem 0.975rem .75rem !important
}

.formstyleerpplan {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    height: 48px;
    vertical-align: middle;
    width: auto !important;
    background: none;
    padding: 1.475rem .75rem 0.975rem .75rem !important
}

.formstyllogin {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    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: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    height: 48px;
    vertical-align: middle;
    width: 100% !important;
    background: none;
    padding: 1.175rem .75rem 0.975rem .75rem !important
}

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

.formstyleerp1 {
    margin: 0px !important;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    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: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    height: 48px;
    vertical-align: middle;
    width: auto !important;
    background: none;
    padding: 0.775rem .75rem 0.775rem .75rem !important;
}

.formstyleerpselecitm {
    margin: 0px !important;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    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: 12px;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    -ms-border-radius: 12px;
    height: 48px;
    vertical-align: middle;
    width: 80px;
    background: none;
    padding: 0.775rem .75rem 0.775rem .75rem !important;
}

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

.formstyleerpinputreturn {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    height: 55px;
    vertical-align: middle;
    width: 100% !important;
    display: block;
    background: none;
    padding: 2px !important;
}

.formstyleerptextarea {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    height: 150px;
    vertical-align: middle;
    width: 100% !important;
    padding: 5px;
    background: none;
    padding: 0.688rem 1.938rem !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;
}

.botomerpbotomprim {
    height: 40px !important;
    border-radius: 5px;
    text-decoration: none !important;
    border: 1px solid #0077b5;
    padding: 0.375rem 1.35rem !important;
    color: #0077b5;
    float: right;
    margin: 1px 2px;
    transition: .2s linear;
}

.botomerpbotomprim:hover {
    box-shadow: #0077b5 0 0px 0px 40px inset;
    box-shadow: 0 0 0 2px white, 0 0 0 3px #0077b5;
    color: #0077b5 !important;
}

.botomerepot {
    height: 45px !important;
    border-radius: 5px;
    text-decoration: none !important;
    border: 1px solid #01b81a;
    padding: 0.375rem 1.35rem !important;
    color: #01b81a;
    margin: 1px 2px !important;
    transition: .2s linear;
}

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

.botomerpinvois {
    background-color: #0077b5 !important;
    border-radius: 50rem;
    text-decoration: none !important;
    border: 0px solid #0077b5;
    padding: 1.375rem 2.75rem !important;
    color: #fff;
    margin: 1px 2px;
    transition: .2s linear;
}

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

.botomerpbotomprim1 {
    height: 55px !important;
    background-color: #4b467b !important;
    border-radius: 12px;
    text-decoration: none !important;
    border: 0px solid #4b467b;
    padding: .975rem 2.75rem !important;
    color: #fff;
    float: right;
    margin: 0px 5px;
    font-size: 14px !important;
    transition: .2s linear;
}

.botomerpbotomprim1:hover {
    box-shadow: #4b467b 0 0px 0px 40px inset;
    box-shadow: 0 0 0 2px white, 0 0 0 3px #4b467b;
}

.botomerpbotomdefault {
    height: 40px !important;
    border-radius: 5px;
    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: 5px;
    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 {
    background: transparent !important;
}

.botomerpsearch {
    padding: .675rem 1.15rem !important;
    background: #0000 !important;
    height: 48px;
    border-radius: 5px;
    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: 5px;
    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: 6px !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: 5px;
    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: 5px;
    height: 37px;
    width: 37px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    box-shadow: -3px 4px 23px rgba(0, 0, 0, 0.1);
}

.headd-img {
    margin-right: 1px;
    padding: 2px;
    border-radius: 5px;
    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: 12px;
    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: 12px;
    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: 12px;
    /* -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;
}

.lableip {
    font-size: 11px;
    font-weight: 700 !important;
    position: absolute;
/*     top: 13px; */
    /* left: 10px; */
    margin-bottom: 0;
    padding: 0 15px;
    z-index: 99;
    float: left;
}
.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: 5px !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;
}

.hedtitelname1 {
    text-transform: uppercase;
    margin: 10px;
}

/*  шапка для калокольчика*/
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: 8px !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: #0b0de8;
    background-color: #b9cef2 !important;
    border-radius: 0.25rem !important;
    padding: 1px 5px;
    margin: 0 1px;
}

/*  Пика млад*/
.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%);
        }
    }
}

/* 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: 5px;
    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 {
    color: #fff;
}

.hedtitelname2 {
    font-weight: 600;
    margin: 10px;
}

.headd-imgchat {
    /* background: #ffffff !important; */
    margin-right: 1px;
    padding: 10px;
    border-radius: 5px;
    height: 37px;
    width: 37px;
    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;
}

.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-dialog-right,
.modal.modal-right .modal-dialog-right {
    max-width: 600px;
    min-height: var(--modal-height);
}

.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 {
    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: 5px;
    }

    .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: 5px !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-right: -10px;
}

img.plusiconip {
    margin-right: 0px !important;
}

/* Конец модального окна */
/*  Новая шапка*/
/* Google Fonts - Poppins */
.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: 5px;
    margin: 10px 20px 0px 34px;
    width: -webkit-fill-available;
    max-width: 100%;
    padding: 15px 20px;
    /* vertical-align: middle; 
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);*/
}

@-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: 5px;
        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 {
    justify-content: space-between;
}

.nav1 .logo1 {
    font-size: 22px;
    font-weight: 500;
}

.nav1 .nav-links1 {
    column-gap: 10px;
    list-style: none;
}

.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: 6px;
    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: 5px;
        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) {
    .topmenu1 {
        position: static !important;
        display: block !important;
        margin: 0 !important;
        z-index: auto !important;
    }

    /* Десктопная кнопка скрыта 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;
    }
}

#saasorg .btn.btn-default {
    width: 100% !important;
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #374151 !important;
    padding: 6px 10px !important;
    border-radius: 6px !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    background: #f9fafb !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

#saasorg .btn.btn-default:hover {
    background: #f3f4f8 !important;
    border-color: rgba(0,0,0,0.12) !important;
}

/* Разделитель убираем */
.has-user-block {
    border-bottom: none !important;
    border-top: none !important;
    padding: 0 !important;
}

/* ─── Компактные отступы между пунктами ─────────────────────────────────── */

.sidebar > .nav > li {
    padding: 0 !important;
    margin: 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: 6px !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: #1a56db !important;
    color: #1a56db !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;
}

/* Мой код для туду листа */
ul.form1 {
    position: relative;
    margin: auto;
    padding: 0;
    list-style: none;
    overflow: hidden;
}

.form1 li a {
    padding-left: 20px;
    padding: 20px 5px;
    /* 		height:50px;
		line-height:50px; */
    display: block;
    overflow: hidden;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 14px;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

.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: 5px;
}

.form1 em {
    font-size: 10px;
    background: #ea4f35;
    padding: 3px 5px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    font-style: normal;
    color: #fff;
    /* margin-top: 17px; */
    margin-right: 15px;
    margin-left: 15px;
    line-height: 10px;
    height: 15px;
    float: right;
    width: auto;
}

.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;
}

/* Новая аналитика со скоролом */
.bodycar {
    margin: 10px  0px 10px;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.carousel1 {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    /* Горизонтальный скроллинг */
    overflow-y: hidden;
    /* Убираем вертикальный скроллинг */
    white-space: nowrap;
    /* Запрещаем перенос слайдов */
    scroll-behavior: smooth;
    /* Плавная прокрутка */
}

.carousel1::-webkit-scrollbar {
    height: 8px;
    /* Высота полосы прокрутки */
}

.carousel1::-webkit-scrollbar-thumb {
    background-color: #ccc;
    /* Цвет ползунка */
    border-radius: 10px;
    /* Закругление */
}

.carousel1::-webkit-scrollbar-track {
    background-color: #f1f1f1;
    /* Цвет фона полосы прокрутки */
}

.carousel-track1 {
    justify-content: center;
    flex-direction: row;
    display: flex;
}

.card1 {
    flex: 0 300px;
    margin: 0 5px;
    border-radius: 10px;
    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: 10px;
    /*         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: 5px;
}

.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: #1a56db;
    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: 12px;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    -ms-border-radius: 12px;
    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;
    }
}

/* Конец бокового модального окна */
ul.nav.nav-tabs.panelhed {
    margin-bottom: 5px;
    margin-top: 5px;
}

/* Для датапикеров */
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: 12px;
    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: 12px;
    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;
}

/* Числовые колонки: правое выравнивание */
#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: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    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;
}

.ip-dt-scroll-x {
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
}

/* чтобы был горизонтальный скролл */
#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 {
    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;
}

/* ===== 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: 8px;
  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;
}

.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: 10px;
}

/* 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;
}
/* Скрываем 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: 5px;
}

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

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

.btn, a.btn, button.btn {
    border-radius: 6px !important;
    filter: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

.botomerpbotomprim {
    border-radius: 6px !important;
    border: 1px solid #1a56db !important;
    color: #1a56db !important;
    height: auto !important;
    padding: 6px 14px !important;
}
.botomerpbotomprim:hover { background-color: #1a56db !important; color: #fff !important; box-shadow: none !important; }

.botomerepot {
    border-radius: 6px !important;
    border: 1px solid #057a55 !important;
    color: #057a55 !important;
    height: auto !important;
    padding: 6px 14px !important;
}
.botomerepot:hover { background-color: #057a55 !important; color: #fff !important; box-shadow: none !important; }

.botomerpinvois { border-radius: 6px !important; background-color: #1a56db !important; border-color: #1a56db !important; padding: 6px 16px !important; box-shadow: none !important; }
.botomerpinvois:hover { background-color: #1e429f !important; box-shadow: none !important; }
.botomerpbotomprim1 { border-radius: 6px !important; background-color: #1a56db !important; border-color: #1a56db !important; height: auto !important; padding: 6px 16px !important; font-size: 13px !important; }
.botomerpbotomprim1:hover { background-color: #1e429f !important; box-shadow: none !important; }
/* .botomerpbotomdefault height/radius — в SaaS BUTTON SYSTEM */

.btnbtndanger { border-radius: 6px !important; padding: 6px 14px !important; border: 1px solid #e02424 !important; color: #e02424 !important; }
.btnbtndanger:hover { background: #e02424 !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: 20px !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: #057a55 !important; border-color: #057a55 !important; box-shadow: none !important; }
.toggle.btn-primary:not(.off) { background-color: #1a56db !important; border-color: #1a56db !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: 8px;
    margin: 0 !important;
}
/* При свёрнутом сайдбаре — показываем иконку */
.aside-collapsed .aside-inner .topnavbar .brand-logo-collapsed {
    display: flex !important;
}

/* ─── Topbar — Panelix-стиль: full-width, без зазоров ───────────────────── */

.nav1 {
    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 {
    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 {
    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: 6px !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: #1a56db !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: #1a56db !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: 8px !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;
    transition: border-color 0.15s, box-shadow 0.15s !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;
}

/* Активный пункт — синяя рамка */
.sidebar .nav > li.active > a .menu-img_i {
    border-color: #1a56db !important;
    background: #eff4ff !important;
    box-shadow: none !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: 6px !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: 8px !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: #1a56db !important;
}
.headar-menu li.active > a {
    background: #1a56db !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

#saasorg .btn.btn-default {
    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 { 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: 6px !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 > a:hover { background-color: #f3f4f8 !important; color: #111827 !important; }
.sidebar-subnav > li.active > a { color: #1a56db !important; background-color: #eff4ff !important; font-weight: 500 !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: #1a56db !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: #1a56db !important; border-color: #1a56db !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: #1a56db !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 .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; }
body.bg-dark .toggle.btn.off { background-color: #374151 !important; border-color: #4b5563 !important; }

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

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

/* Иконки нижней мобильной навигации — стиль как у menu-img_i */
.icon11 {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 8px !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;
}

.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: #1a56db !important;
    background: #eff4ff !important;
}

/* footernavbar в сайдбаре */
.nav-links2 li {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 8px !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 { 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; }

/* ─── Тёмная тема — иконки сайдбара (переопределяем белый фон) ─────────── */

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;
}

body.bg-dark .sidebar .nav > li > a:hover .menu-img_i {
    border-color: rgba(96,165,250,0.3) !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;
}

/* Тёмная тема — кнопка организации внизу */
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 {
    background: #1a1d2e !important;
    border-top-color: rgba(255,255,255,0.06) !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;
}
body.bg-dark .sidebar .nav > li > a:hover .menu-img_i {
    border-color: rgba(96,165,250,0.3) !important;
    background: #2d3147 !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;
}

/* Организация внизу */
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;
}

/* Активный пункт подменю */
body.bg-dark .sidebar-subnav > li.active > a {
    color: #60a5fa !important;
    background-color: rgba(26,86,219,0.15) !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;
}

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.sub-menu > a[aria-expanded="true"] {
    color: #e5e7eb !important;
    font-weight: 600 !important;
    background-color: transparent !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"] {
    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 {
    color: #1a1f36 !important;
}

.sidebar-subnav > li.active > a {
    color: #1a56db !important;
}

/* ─── Кнопка рабочего дня (иконка-тоггл) ────────────────────────────────── */

.btn-workday {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    background: transparent !important;
    border: none !important;
    color: #9ca3af !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background 0.15s, color 0.15s !important;
    flex-shrink: 0 !important;
}

.btn-workday svg {
    padding: 2px;
    width: 22px !important;
    height: 22px !important;
    stroke: currentColor !important;
    flex-shrink: 0 !important;
}

.btn-workday:hover {
    background: #f3f4f8 !important;
    color: #374151 !important;
    text-decoration: none !important;
}

/* Активное состояние — рабочий день начат */
.btn-workday--active {
    color: #057a55 !important;
}

.btn-workday--active:hover {
    background: #def7ec !important;
    color: #057a55 !important;
}

/* Зелёная точка-индикатор */
.btn-workday__dot {
    position: absolute !important;
    top: 5px !important;
    right: 5px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #057a55 !important;
    border: 1.5px solid #ffffff !important;
    display: block !important;
}

/* Тёмная тема */
body.bg-dark .btn-workday:hover {
    background: rgba(255,255,255,0.08) !important;
    color: #e5e7eb !important;
}

body.bg-dark .btn-workday__dot {
    border-color: #1a1d2e !important;
}

/* ─── Единый box-стиль иконок в topnavbar ───────────────────────────────── */

.btn-workday {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 8px !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: #1a56db !important;
    background: #ffffff !important;
    text-decoration: none !important;
}

.btn-workday svg {
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
}

/* Активный (рабочий день начат) — зелёная рамка */
.btn-workday--active {
    color: #057a55 !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: #057a55 !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 {
    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 {
    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: 8px !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: #1a56db !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: 8px;
    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: 8px !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: 10px;
    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: 6px;
    margin: 1px 6px;
    transition: background 0.12s;
    cursor: pointer;
}

.gs-item:hover,
.gs-item.active {
    background: #eff4ff;
    color: #1a56db;
    text-decoration: none;
}

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

.gs-item:hover svg,
.gs-item.active svg { color: #1a56db; }

.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: 12px !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: 12px !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: #1a56db;
    --card-icon-bg: rgba(26,86,219,0.10);
    background-color: #fff !important;
    border-radius: 12px !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: 10px !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: 8px !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: 8px !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, padding) */
.botomerpbotomdefault:hover,
.botomerepot:hover,
.botomerpbotomprim:hover {
    padding: 0 20px !important;
    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: #1a56db !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: 20px !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 {
    background-color: #1a56db !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 1px 3px rgba(26,86,219,0.30) !important;
}
.botomerepot:hover {
    background-color: #1e429f !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(26,86,219,0.40) !important;
}

/* ── Primary outline (botomerpbotomprim) ─────── */
.botomerpbotomprim {
    background-color: transparent !important;
    color: #1a56db !important;
    border: 1.5px solid #1a56db !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 {
    height: 38px !important;
    min-width: 90px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    border-radius: 8px !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: #1a56db !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: 8px !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: #1a56db !important;
    border: none !important;
    border-radius: 12px !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 {
    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: 6px !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: #1a56db !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: 12px !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 {
    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 {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 14px !important;
    border-left: none !important;
    border-radius: 8px !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: 8px !important;
    -moz-border-radius: 8px !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: 8px !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: #1a56db !important;
}
.form1 li a:hover svg {
    stroke: #1a56db !important;
}

/* Активный таб */
.form1 li.selected > a,
.form1 li.selected > a:hover {
    background: #1a56db !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 {
    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: 10px !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: #1a56db !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: 12px !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 {
    display: inline-flex !important;
    align-items: center !important;
    padding: 7px 20px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #1a56db !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    text-decoration: none !important;
    transition: background 0.15s, color 0.15s, border-color 0.15s !important;
    border: 1.5px solid #e5e7eb !important;
    background: #ffffff !important;
    letter-spacing: 0.02em !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: #eff4ff !important;
    border-color: #1a56db !important;
    color: #1a56db !important;
}

/* Активный таб — заполненный синий (перебиваем background:none у first-child > a) */
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: #1a56db !important;
    border-color: #1a56db !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 8px rgba(26,86,219,0.22) !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: #1a56db !important;
    border-color: #1a56db !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 {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    margin: 0 4px 0 0 !important;
    border-radius: 10px !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;
}
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;
}
ul.nav.nav-tabs.panelhed li.linktop > a.plusiconip img {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    flex-shrink: 0 !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 ul.nav.nav-tabs.panelhed {
    min-height: 48px !important;
    padding: 4px 8px !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* Внутри 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,
ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 8px !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;
    /* сброс позиционирования из filtrip.css */
    top: unset !important;
    right: unset !important;
    z-index: unset !important;
    position: static !important;
    color: var(--ip-text-muted, #6b7280) !important;
}
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 img,
ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn 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 > button.dropbtn:hover img,
ul.nav.nav-tabs.panelhed li.linktop > a.dropbtn:hover img {
    opacity: 1 !important;
}

/* ── #wrap: order:-1 → стоит ПЕРВЫМ в правой группе.
   #searchtable раскрывается влево (right:0, width:0→250px) в пустое
   пространство заголовка — не закрывает ⚙ и ▽ (они правее #wrap). */
ul.nav.nav-tabs.panelhed #wrap {
    order: -1 !important;
    float: none !important;
    display: inline-block !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
}

/* Кнопки settings/filter всегда выше expanding #searchtable (z-index:3) */
ul.nav.nav-tabs.panelhed li.linktop {
    position: relative !important;
    z-index: 5 !important;
}

/* searchuip — кнопка поиска: нейтральный icon-box 36px */
ul.nav.nav-tabs.panelhed #wrap .searchuip,
#wrap .searchuip {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    width: 36px !important;
    height: 36px !important;
    background-color: transparent !important;
    background-position: center center !important;
    background-size: 17px 17px !important;
    background-repeat: no-repeat !important;
    border-radius: 8px !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;
}
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 {
    height: 36px !important;
    z-index: 3 !important;
}
#wrap #searchtable:focus {
    border-radius: 8px !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 {
    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: 8px !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: дополнение к существующему блоку — стекирование */
    .nav-tabs-custom ul.nav.nav-tabs.panelhed > li:not(.linktop) > a {
        padding: 6px 8px !important;
    }
}

/* ── panelhed: вертикальное выравнивание иконок (десктоп + мобиль) ──────────
   Без align-items:center кнопки разъезжаются по высоте внутри ul.
   li.linktop явно flex — убирает базовое выравнивание baseline от Bootstrap. */
.nav-tabs-custom ul.nav.nav-tabs.panelhed {
    align-items: center !important;
}
ul.nav.nav-tabs.panelhed li.linktop {
    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 {
        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 вырастает когда в нём есть фокус */
    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: 36px !important;
    }
    /* #searchtable заполняет #wrap (оставляем 40px под кнопку поиска) */
    ul.nav.nav-tabs.panelhed #wrap:focus-within #searchtable: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: 6px !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: 6px !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: 12px !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 {
    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: 6px !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: 8px !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: 6px !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: 20px !important;
    font-size: 11px !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;
}
/* success — зелёный */
span.label.label-success,
strong.label.label-success,
a.label.label-success {
    background: #dcfce7 !important;
    color: #166534 !important;
}
/* danger — красный */
span.label.label-danger,
strong.label.label-danger,
a.label.label-danger {
    background: #fee2e2 !important;
    color: #991b1b !important;
}
/* warning — жёлтый/янтарный */
span.label.label-warning,
strong.label.label-warning,
a.label.label-warning {
    background: #fef9c3 !important;
    color: #854d0e !important;
}
/* primary — синий */
span.label.label-primary,
strong.label.label-primary,
a.label.label-primary {
    background: var(--ip-primary-light, #eff4ff) !important;
    color: var(--ip-primary, #1a56db) !important;
}
/* info — голубой */
span.label.label-info,
strong.label.label-info,
a.label.label-info {
    background: #e0f2fe !important;
    color: #075985 !important;
}
/* default — нейтральный серый */
span.label.label-default,
strong.label.label-default,
a.label.label-default {
    background: #f3f4f6 !important;
    color: #4b5563 !important;
}
/* inverse — тёмно-синий (перезаписываем из app.css: border-radius:25px синий) */
span.label.label-inverse,
strong.label.label-inverse,
a.label.label-inverse {
    background: #1e3a5f !important;
    color: #bfdbfe !important;
}

/* dark theme — слегка снижаем яркость bg */
body.bg-dark span.label.label-success,
body.bg-dark strong.label.label-success { background: rgba(22,101,52,0.30) !important; color: #86efac !important; }
body.bg-dark span.label.label-danger,
body.bg-dark strong.label.label-danger  { background: rgba(153,27,27,0.30) !important; color: #fca5a5 !important; }
body.bg-dark span.label.label-warning,
body.bg-dark strong.label.label-warning { background: rgba(133,77,14,0.30) !important; color: #fde68a !important; }
body.bg-dark span.label.label-primary,
body.bg-dark strong.label.label-primary { background: rgba(26,86,219,0.25) !important; color: #93c5fd !important; }
body.bg-dark span.label.label-info,
body.bg-dark strong.label.label-info    { background: rgba(7,89,133,0.30) !important; color: #7dd3fc !important; }
body.bg-dark span.label.label-default,
body.bg-dark strong.label.label-default { background: rgba(255,255,255,0.08) !important; color: #9ca3af !important; }
body.bg-dark span.label.label-inverse,
body.bg-dark strong.label.label-inverse { background: rgba(30,58,95,0.50) !important; color: #93c5fd !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: 8px !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: 8px !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: 12px !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 */
ul.nav.nav-tabs.panelhed li.linktop > a.plusiconip {
    margin: 0 !important;
}
/* Единый gap 6px для всех panelhed внутри nav-tabs-custom */
.nav-tabs-custom ul.nav.nav-tabs.panelhed {
    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 {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
}
ul.nav.nav-tabs.panelhed li.linktop > a.plusiconip {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
}
ul.nav.nav-tabs.panelhed #wrap {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
}
ul.nav.nav-tabs.panelhed #wrap .searchuip,
#wrap .searchuip {
    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 {
    width: 16px !important;
    height: 16px !important;
}
ul.nav.nav-tabs.panelhed li.linktop > a.plusiconip img {
    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: 10px !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 {
    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 {
        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;
    }
}

/* ─── 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: 6px !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 {
    margin: 0 0 12px !important;
    padding: 0 !important;
}
.carousel1 {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
    white-space: normal !important;
}
.carousel1::-webkit-scrollbar { display: none !important; }

.carousel-track1 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    justify-content: stretch !important;
    padding: 10px 5px 10px !important;
}

/* Card base */
.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-radius: 16px !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;
}

/* Accent dot — top right */
.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;
}

/* Hide old large SVG icon */
.carousel-track1 .card1 > svg { display: none !important; }
.carousel-track1 .card1 > div > svg { display: none !important; }

/* Label (metric name) */
.carousel-track1 .card1 .c1-label {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #6b7280 !important;
    line-height: 1.4 !important;
    padding-right: 20px !important;
    white-space: normal !important;
}

/* Main number */
.carousel-track1 .card1 h3 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    line-height: 1.2 !important;
    margin: 10px 0 0 !important;
    white-space: nowrap !important;
}

/* 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-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    margin-top: 12px !important;
}
.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 — оригинальные цвета */
.carousel-track1 .cardgreen      { --c1-accent: #008000; }
.carousel-track1 .cardorange     { --c1-accent: #D95100; }
.carousel-track1 .cardelectric   { --c1-accent: #0b0de8; }
.carousel-track1 .cardvinous     { --c1-accent: #9b2d30; }
.carousel-track1 .carberyuzovy   { --c1-accent: #1b877e; }

/* 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 h3 { color: #e5e7eb !important; }
body.bg-dark .carousel-track1 .card1 .c1-label { color: #9ca3af !important; }
body.bg-dark .carousel-track1 .card1 .c1-period { color: #6b7280 !important; }

/* Mobile: horizontal swipe carousel */
@media (max-width: 768px) {
    .carousel-track1 {
        flex-wrap: nowrap !important;
        padding-bottom: 12px !important;
    }
    .carousel-track1 .card1 {
        flex: 0 0 240px !important;
        min-width: 240px !important;
    }
}

/* ── c1-chart-wrap: круглый фон + hover-тень ── */
.carousel-track1 .cardgreen      { --c1-accent-tint: rgba(0,128,0,0.10); }
.carousel-track1 .cardorange     { --c1-accent-tint: rgba(217,81,0,0.10); }
.carousel-track1 .cardelectric   { --c1-accent-tint: rgba(11,13,232,0.10); }
.carousel-track1 .cardvinous     { --c1-accent-tint: rgba(155,45,48,0.10); }
.carousel-track1 .carberyuzovy   { --c1-accent-tint: rgba(27,135,126,0.10); }

.carousel-track1 .card1 .c1-chart-wrap {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: var(--c1-accent-tint, rgba(99,102,241,0.08)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    transition: box-shadow 0.25s ease !important;
    cursor: default !important;
}
.carousel-track1 .card1 .c1-chart-wrap:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.14) !important;
}
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 {
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
    cursor: default !important;
}
.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 ── */
.carousel-track1 .card1 .c1-chart-wrap svg {
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}

/* ── c1-chart-wrap: убираем круг, бары в стиле Panelix ── */
.carousel-track1 .card1 .c1-chart-wrap {
    width: auto !important;
    height: auto !important;
    border-radius: 8px !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 {
    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 {
    position: absolute !important;
    bottom: -10px !important;
    right: -5px !important;
    font-size: 80px !important;
    color: var(--c1-accent, #6366f1) !important;
    opacity: 0.07 !important;
    line-height: 1 !important;
    pointer-events: none !important;
    display: flex !important;
    align-items: flex-end !important;
    z-index: 0 !important;
}
.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 {
    opacity: 0.04 !important;
}
.carousel-track1 .card1 h3 {
    font-size: 32px !important;
}
.carousel-track1 .card1 {
    border-radius: 14px !important;
}

/* ── SaaS mix: круглая иконка сверху-справа, убираем точку ── */
.carousel-track1 .card1::after {
    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 {
    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-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 {
        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: 12px !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: 12px !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: 12px !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: 12px !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: 10px !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: 10px !important;
        width: 100% !important;
    }
    td .select2-container {
        width: 100% !important;
    }
}

/* ── Textarea ── */
.formstyleerptextarea {
    border-radius: 12px !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 {
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #111827 !important;
}

/* ── Select2 глобально ── */
.select2-container--default .select2-selection--single {
    border-radius: 12px !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 {
    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: 12px !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: 8px !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: 12px !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: 12px !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: 10px !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 {
    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: 10px !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: 8px !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 */
.filepond--root {
    border-radius: 12px !important;
}
.filepond--panel-root {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: none !important;
}
/* Убираем вторую рамку от 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 {
    color: #6b7280 !important;
    font-size: 13px !important;
    cursor: pointer !important;
}
.filepond--drop-label label a {
    color: #1a56db !important;
    text-decoration: none !important;
}
.filepond--drop-label label a:hover {
    text-decoration: underline !important;
}
/* Иконка скрепки/загрузки */
.filepond--label-action {
    color: #1a56db !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}
.filepond--label-action:hover {
    text-decoration: underline !important;
}
/* Тёмная тема */
body.bg-dark .filepond--panel-root {
    background-color: #1e2130 !important;
    border-color: rgba(255,255,255,0.10) !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: 10px !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 {
    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: 8px !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: #1a56db;
}
.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: 8px !important;
    overflow: hidden;
}
.client-card-layout ul.ulproject > li > a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: 8px !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: #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: #f3f4f6 !important;
    color: #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: #f3f4f6 !important;
    color: #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 {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.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: 14px;
    box-shadow: none;
    background: #fff;
    padding: 8px !important;
}
/* Контент карточки клиента (.tab-content) тянется на всю ширину (десктоп) */
.client-card-layout > .tab-content {
    flex: 1 1 0;
    min-width: 0;
}
/* Тёмная тема */
body.bg-dark .client-card-layout > .nav-tabs-custom {
    border-right-color: transparent;
}
body.bg-dark .client-card-layout > .pcd-content-panel {
    background: var(--ip-bg-card, #1e2130);
}
body.bg-dark .client-card-layout ul.ulproject > li > a {
    color: #d1d5db !important;
}
body.bg-dark .client-card-layout ul.ulproject > li > a:hover,
body.bg-dark .client-card-layout ul.ulproject > li.active > a {
    background: rgba(255,255,255,0.07) !important;
    color: #f9fafb !important;
}
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: 12px;
    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: #1a56db;
    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: #111827;
    line-height: 1.2;
    margin-bottom: 3px;
}
body.bg-dark .ccm-banner-name {
    color: #f9fafb;
}
.ccm-banner-sub {
    font-size: 13px;
    color: #6b7280;
}
body.bg-dark .ccm-banner-sub {
    color: #9ca3af;
}
.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: 8px;
    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: 10px !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: 6px !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: #1a56db !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: 8px;
    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 {
    font-family: inherit !important;
    margin-bottom: 0 !important;
}
.filepond--panel-root {
    background-color: #f9fafb !important;
    border: 1.5px dashed #d1d5db !important;
    border-radius: 8px !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: #1a56db !important;
    font-weight: 600 !important;
}
.filepond--drip-blob { background: #1a56db !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: 12px;
    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: #111827 !important;
    text-decoration: none !important;
    line-height: 1;
}
.ip-comment-author:hover { color: #1a56db !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: 6px;
    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: 8px;
    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: 8px;
    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: 6px;
    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: 10px;
    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-author { color: #f3f4f6 !important; }
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); }
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-100 { width: 100px !important; }
.wd-0   { width: 0px !important; }
.pointer { cursor: pointer !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 #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    background: #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: #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: #111827;
    margin: 0 0 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.att-card__meta {
    font-size: 11px;
    color: #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 #f3f4f6;
    background: #fafafa;
}

.att-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 500;
    border-radius: 6px;
    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 { background: #1e2230; border-color: rgba(255,255,255,0.08); }
body.bg-dark .att-card__preview { background: #161925; }
body.bg-dark .att-card__name { color: #f3f4f6; }
body.bg-dark .att-card__meta { color: #9ca3af; }
body.bg-dark .att-card__actions { background: #161925; border-top-color: rgba(255,255,255,0.05); }
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: 10px;
    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: 8px;
    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: #fff;
        border-bottom: 1px solid #e5e7eb;
        position: sticky;
        top: 0;
        z-index: 200;
        min-height: 52px;
    }
    body.bg-dark .ccm-mobile-header {
        background: var(--ip-bg-card, #1e2130);
        border-bottom-color: rgba(255,255,255,0.08);
    }

    .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: 8px;
        flex-shrink: 0;
        transition: background 0.15s;
    }
    .ccm-burger:hover { background: #f3f4f6; }
    body.bg-dark .ccm-burger:hover { background: rgba(255,255,255,0.07); }
    .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: #111827;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    body.bg-dark .ccm-mobile-title { color: #f3f4f6; }

    /* ── Основной 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: #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;
    }
    body.bg-dark .client-card-layout > .nav-tabs-custom {
        background: var(--ip-bg-card, #1e2130) !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: 8px;
        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 {
        padding: 12px 14px;
        gap: 10px;
    }
    .ccm-banner-body {
        min-width: 0;
        flex: 1 1 0;
        overflow: hidden;
    }
    .ccm-banner-name {
        font-size: 15px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .ccm-banner-sub {
        font-size: 12px;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: break-word;
        line-height: 1.4;
    }
    .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 {
        overflow-x: clip !important;
        overflow-y: visible !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .ccm-banner-body {
        min-width: 0 !important;
        flex: 1 1 0 !important;
        overflow-x: clip !important;
        overflow-y: visible !important;
        max-width: 100% !important;
    }
    .ccm-banner-name {
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .ccm-banner-sub {
        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 ===== */

/* ===== 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: 10px;
    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: 6px;
    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; }
.ip-drop-link { color: #6366f1; cursor: pointer; }
/* Утилиты (чтобы не писать 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 24px; }
.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: 8px;
    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 #e5e7eb; border-radius: 8px; overflow: hidden; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.06); display: flex; flex-direction: column; }
.ip-file-card-thumb { width: 100%; height: 100px; background: #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; 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 { background: #1e2130 !important; border-color: rgba(255,255,255,0.08) !important; }
body.bg-dark .ip-file-card-thumb { background: #161927 !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;
}
.card {
    background-color: #fff;
    border: 0 solid transparent;
    border-radius: 1.25rem;
    box-shadow: 0 0.3125rem 0.3125rem 0 rgb(82 63 105 / 5%);
    height: calc(100% - 30px);
    margin-bottom: 1.875rem;
    position: relative;
    transition: all .5s ease-in-out;
}
.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;
}
.card {
    word-wrap: break-word;
    background-clip: initial;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: 0.75rem;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.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;
}
.profile-info {
    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: #1a56db;
}
.col-lg-10.stat.card-stat.num-ch{
    background-color: #ffd3e2;
    padding: 39px 10px;
}
.stat.card-stat {
color: #4b467b !important;
    text-align: center;
    padding: 35px;
    height: 160px;
    margin: 1px 0;
    border-radius: 12px;
    -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%);
}
.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){
    p.text0-white.m0.wid {font-size: 13px !important;}
    .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;
    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;
}
.card-widget-iconi {
    margin-bottom: 0 !important; 
    width: 110px !important;
}
.col-xs-6 {
    width: 100% !important;
}
p.m0.lead.mobfo {
    font-size: 20px;
}
.col-xs-3.numch {
    padding: 7px;
}
.card-widget-iconi {
    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: 12px;
    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;
  }

  @keyframes dash {
    from {
      stroke-dashoffset: 360;
    }
    to {
      stroke-dashoffset: 40;
    }
  }

#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: #1a56db;
    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: 5px !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 {
    border-radius: 10px !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: 6px !important;
    border: 1px solid #d1d5db !important;
    box-shadow: none !important;
    font-size: 13px !important;
}

.form-control:focus {
    border-color: #1a56db !important;
    box-shadow: 0 0 0 3px rgba(26,86,219,0.1) !important;
}

select.form-control,
input.form-control {
    border-radius: 6px !important;
    box-shadow: none !important;
}

/* --- Card (Bootstrap) --- */
.card {
    border-radius: 10px !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: 6px !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: 6px !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: 6px !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;
}
/* ===== Конец карточки проекта ===== */

/* 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: 14px;
    background: #fff;
    padding: 8px;
}
body.bg-dark .client-card-layout.pcd-ajax > #pcd-ajax-body {
    background: var(--ip-bg-card, #1e2130);
}

/* ============================================================
   Единый вид контента вкладок карточек (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: 6px !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 {
        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;
}
