/**
 * FOUC Prevention for Select2 dropdowns
 * Hide native select elements in filter containers until Select2 initializes
 * This prevents the "flash of unstyled content" where all options are visible
 *
 * Using display: none for maximum effectiveness - completely removes elements from rendering
 * Once Select2 initializes, it creates its own .select2-container element
 * which becomes visible, providing a seamless transition.
 */
/* Hide all selects in filter containers until Select2 initializes */
.filter_value_container select:not(.select2-hidden-accessible) {
    display: none !important;
}

/* Ensure the container maintains proper layout while select is hidden */
.filter_value_container {
    min-height: 38px;
    position: relative;
}

/* Additional rule for multiple selects - higher specificity */
div.filter_value_container > select.form-control[multiple]:not(.select2-hidden-accessible),
.filter_value_container select[multiple]:not(.select2-hidden-accessible) {
    display: none !important;
}

/* Loading placeholder shown before Select2 initializes (modern browsers with :has() support) */
@supports selector(:has(*)) {
    .filter_value_container:has(select):not(:has(.select2-container))::before {
        content: "";
        display: block;
        height: 36px;
        background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
        background-size: 200% 100%;
        animation: loading-shimmer 1.5s infinite;
        border-radius: 0.25rem;
    }

    @keyframes loading-shimmer {
        0% {
            background-position: 200% 0;
        }

        100% {
            background-position: -200% 0;
        }
    }
}
:root {
    --primary-blue: #0d6efd;
    --light-blue: #e3f2fd;
    --dark-blue: #0a58ca;
    /* DOTRO journal red, measured on the spec mockups (img01/img05). */
    --dotro-red: #C7262E;
}

body {
    color: #000000;
    background-color: rgb(245, 247, 248);
}

.form-container {
    max-width: 1472px;
    margin: auto;
    width: 100%;
}

.krajee-default.file-preview-frame .kv-file-content,
.krajee-default.file-preview-frame .kv-file-content iframe {
    width: 150px !important;
    height: 100px !important;
}

.card {
    /*box-shadow: 0 0 30px 0 rgb(200 200 200 / 20%);*/
    box-shadow: 0 0 30px 0 #CECECE;
}

.xp-leftbar {
    box-shadow: 0 0 30px 0 rgba(200, 200, 200, 0.4);
}

.card-body-save {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 1.25rem;
}

.card-title {
    margin-bottom: 0px;
    font-size: 17px;
}

.card-header {
    padding-bottom: 0.6rem;
}

.card-header-no-border {
    border-top: 0px;
    border-bottom: 0px;
}

.card-header-top-border {
    border-top: 1px solid #D4DDE3;
    border-bottom: 0px;
}

.card-header-top-border:first-child {
    border-radius: unset;
}

.card-header-bottom-border {
    border-bottom: 1px solid #D4DDE3;
    border-top: 0;
}

.card-header-bottom-border:first-child {
    border-radius: unset;
}

.table-no-up-border thead th {
    border-top: 0px;
}

.table-up-border thead th {
    border-top: 2px solid #dee2e6 !important;
}

.dataTables_filter LABEL {
    float: right;
}

table.dataTable thead>tr>th.sorting {
    padding-right: 26px !important;
}

table.dataTable thead>tr>th.sorting:before,
table.dataTable thead>tr>th.sorting:after {
    content: '';
    display: none;
}

table.dataTable thead>tr>th.sorting.sorting_desc:after {
    display: block;
    opacity: .6;
    content: "▼";
    content: "▼" /""
}

table.dataTable thead>tr>th.sorting.sorting_desc:before {
    display: block;
    content: "▲";
    content: "▲" /""
}

table.dataTable thead>tr>th.sorting.sorting_asc:before {
    display: block;
    opacity: .6;
    content: "▲";
    content: "▲" /""
}

table.dataTable thead>tr>th.sorting.sorting_asc:after {
    display: block;
    content: "▼";
    content: "▼" /""
}

.dataTables_length LABEL {
    width: 75px;
}

.form-control {
    border: 1px solid #ced4da;
}

@supports (-webkit-backdrop-filter: blur(1px)) {
    INPUT[type=text].form-control {
        line-height: 2 !important;
    }
}

INPUT[type=text].form-control {
    line-height: 3;
}

.dataTables_info {
    display: inline-block;
    padding-right: 15px;
}

.dataTables_paginate {
    display: inline-block;
}

.page_bold {
    font-weight: bold;
}

.dataTable,
.table-striped {
    color: #000000;
}

.dataTable tbody tr:hover,
.table-striped tbody tr:hover {
    background-color: #e6f1ff !important;
}

.table-striped tbody tr {
    background-color: #fff !important;
}

.select2-container--default .select2-selection--single {
    background-color: #fff;
    border: 1px solid #ced4da;
}

.add_new_input input.form-control,
.add_new_input select.form-control {
    width: 100%;
    display: inline;
}

.dropzone {
    min-height: 60px;
}

.dropzone .dz-message {
    margin: 0;
}

.warninglist {
    color: #CC5600;
    background-color: #FFF1E8;
    position: relative;
    padding: .5rem .5rem;
    margin-bottom: 1rem;
    list-style-type: none;
    margin-top: 5px;
}

.errorlist {
    position: relative;
    padding: .5rem .5rem;
    margin-bottom: 1rem;
    list-style-type: none;
    margin-top: 5px;
}

.errorlist LI {
    color: #C6272C;
}

.table thead th {
    vertical-align: top;
}

.add-row {
    width: 200px;
}

.dynamic-form-add td {
    text-align: left;
}

.dynamic-form-add td .add-row {
    display: inline;
}

.equipment-add-footer-td .add-row, .add-row-container .add-row {
    display: inline;
}

.table thead th {
    color: #000;
    font-weight: 700;
}

.text_black_bold,
.text_black_bold INPUT.form-control {
    color: #000;
    font-weight: bold;
}

.select2-container .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #000;
}

.form-control {
    color: #000;
}

.custom-form-set .delete-button,
#tbl_order_items .delete-button,
#tbl_order_items .delete-button-equipment,
#tbl_fiscal_bill_items .delete-button,
#tbl_items .delete-button,
#tbl_offer_items .delete-button,
#tbl_offer_items .delete-button-equipment,
#tbl_child_products .delete-button,
#tbl_delivery_note_items .delete-button,
#tbl_provider_order_items .delete-button,
#tbl_order_ticket_items .delete-button,
#tbl_receipt_note_items .delete-button,
#tbl_opportunity_items .delete-button,
#tbl_opportunity_items .delete-button-equipment,
#tbl_provider_orders .delete-button,
#total_vat_container .delete-button,
.inventory-table .delete-button,
.formset-table-delete-icon .delete-button,
.outstanding-funnel-step .delete-button,
.outstanding-rules-panel .delete-button {
    background-color: #ff4b5b;
    border: none !important;
    border-radius: 50% !important;
    width: 35px;
    height: 35px;
    display: block;
    text-align: center;
    line-height: 35px;
    color: #fff;
}

#id_order_details {
    height: 100px;
}

.invoice-details,
.delivery-details {
    height: 100px !important;
}

.checkbox-margin-top {
    margin-top: 10px;
}

.display-inline-block {
    display: inline-block;
}

.display-inline-flex {
    display: inline-flex;
}

.select2-selection__clear {
    width: 15px;
}

.hidden {
    display: none;
}

.show_hide_icon {
    font-size: 16px;
}

#tbl_order_items .btn-info {
    cursor: default !important;
}

#tbl_order_items .treeviewbutton {
    width: 30px;
    padding: 0px;
}

#tbl_order_items tr.row1:hover,
#tbl_order_items tr.row2:hover,
#tbl_offer_items tr.row1:hover,
#tbl_offer_items tr.row2:hover,
#tbl_opportunity_items tr.row1:hover,
#tbl_opportunity_items tr.row2:hover {
    background-color: #e6f1ff;
}

.btn-preluare {
    color: #ffffff;
    background-color: #5D1A76;
    border-color: #5D1A76;
    box-shadow: 0 2px 6px 0 rgba(93, 26, 118, 0.5);
}

.btn-preluare:active {
    background-color: #5D1A76;
    border-color: #5D1A76;
}

.btn-preluare:hover {
    background-color: #5D1A76;
    border-color: #5D1A76;
}

.btn-preluare:focus {
    background-color: #5D1A76;
    border-color: #5D1A76;
    box-shadow: 0 0 0 0.2rem rgba(93, 26, 118, 0.5);
}

.btn-preluare:visited {
    background-color: #5D1A76;
    border-color: #5D1A76;
}

.btn-preluare:not(:disabled):not(.disabled).active {
    background-color: #5D1A76;
    border-color: #5D1A76;
}

.btn-preluare:not(:disabled):not(.disabled):active {
    background-color: #5D1A76;
    border-color: #5D1A76;
}


.btn-preluat {
    color: #ffffff;
    background-color: #D77B29;
    border-color: #D77B29;
    box-shadow: 0 2px 6px 0 rgba(215, 123, 41, 0.5);
}

.btn-preluat:active {
    background-color: #D77B29;
    border-color: #D77B29;
}

.btn-preluat:hover {
    background-color: #D77B29;
    border-color: #D77B29;
}

.btn-preluat:focus {
    background-color: #D77B29;
    border-color: #D77B29;
    box-shadow: 0 0 0 0.2rem rgba(215, 123, 41, 0.5);
}

.btn-preluat:visited {
    background-color: #D77B29;
    border-color: #D77B29;
}

.btn-preluat:not(:disabled):not(.disabled).active {
    background-color: #D77B29;
    border-color: #D77B29;
}

.btn-preluat:not(:disabled):not(.disabled):active {
    background-color: #D77B29;
    border-color: #D77B29;
}

.btn-noaction {
    padding-top: 9px;
    color: #ffffff;
    background-color: #898A8A;
    border-color: #898A8A;
    box-shadow: 0 2px 6px 0 rgba(137, 138, 138, 0.5);
}

.btn-noaction:active {
    background-color: #898A8A;
    border-color: #898A8A;
}

.btn-noaction:hover {
    background-color: #898A8A;
    border-color: #898A8A;
}

.btn-noaction:focus {
    background-color: #898A8A;
    border-color: #898A8A;
    box-shadow: 0 0 0 0.2rem rgba(137, 138, 138, 0.5);
}

.btn-noaction:visited {
    background-color: #898A8A;
    border-color: #898A8A;
}

.btn-noaction:not(:disabled):not(.disabled).active {
    background-color: #898A8A;
    border-color: #898A8A;
}

.btn-noaction:not(:disabled):not(.disabled):active {
    background-color: #898A8A;
    border-color: #898A8A;
}


.btn-intarziere {
    color: #ffffff;
    background-color: #C6272C;
    border-color: #C6272C;
    box-shadow: 0 2px 6px 0 rgba(198, 39, 44, 0.5);
}

.btn-intarziere:active {
    background-color: #C6272C;
    border-color: #C6272C;
}

.btn-intarziere:hover {
    background-color: #C6272C;
    border-color: #C6272C;
}

.btn-intarziere:focus {
    background-color: #C6272C;
    border-color: #C6272C;
    box-shadow: 0 0 0 0.2rem rgba(198, 39, 44, 0.5);
}

.btn-intarziere:visited {
    background-color: #C6272C;
    border-color: #C6272C;
}

.btn-intarziere:not(:disabled):not(.disabled).active {
    background-color: #C6272C;
    border-color: #C6272C;
}

.btn-intarziere:not(:disabled):not(.disabled):active {
    background-color: #C6272C;
    border-color: #C6272C;
}

.btn-faraintarziere {
    color: #ffffff;
    background-color: #5D1A76;
    border-color: #5D1A76;
    box-shadow: 0 2px 6px 0 rgba(93, 26, 118, 0.5);
}

.btn-faraintarziere:active {
    background-color: #5D1A76;
    border-color: #5D1A76;
}

.btn-faraintarziere:hover {
    background-color: #5D1A76;
    border-color: #5D1A76;
}

.btn-faraintarziere:focus {
    background-color: #5D1A76;
    border-color: #5D1A76;
    box-shadow: 0 0 0 0.2rem rgba(93, 26, 118, 0.5);
}

.btn-faraintarziere:visited {
    background-color: #5D1A76;
    border-color: #5D1A76;
}

.btn-faraintarziere:not(:disabled):not(.disabled).active {
    background-color: #5D1A76;
    border-color: #5D1A76;
}

.btn-faraintarziere:not(:disabled):not(.disabled):active {
    background-color: #5D1A76;
    border-color: #5D1A76;
}


.btn-faraintarziere-inlucru {
    color: #ffffff;
    background-color: #D77B29;
    border-color: #D77B29;
    box-shadow: 0 2px 6px 0 rgb(215 123 41 / 50%);
}

.btn-faraintarziere-inlucru:active {
    background-color: #D77B29;
    border-color: #D77B29;
}

.btn-faraintarziere-inlucru:hover {
    background-color: #D77B29;
    border-color: #D77B29;
}

.btn-faraintarziere-inlucru:focus {
    background-color: #D77B29;
    border-color: #D77B29;
    box-shadow: 0 0 0 0.2rem rgb(215 123 41 / 50%);
}

.btn-faraintarziere-inlucru:visited {
    background-color: #D77B29;
    border-color: #D77B29;
}

.btn-faraintarziere-inlucru:not(:disabled):not(.disabled).active {
    background-color: #D77B29;
    border-color: #D77B29;
}

.btn-faraintarziere-inlucru:not(:disabled):not(.disabled):active {
    background-color: #D77B29;
    border-color: #D77B29;
}

.btn-finalizat {
    color: #ffffff;
    background-color: #00A1E2;
    border-color: #00A1E2;
    box-shadow: 0 2px 6px 0 rgba(0, 161, 226, 0.5);
}

.btn-finalizat:active {
    background-color: #00A1E2;
    border-color: #00A1E2;
}

.btn-finalizat:hover {
    background-color: #00A1E2;
    border-color: #00A1E2;
}

.btn-finalizat:focus {
    background-color: #00A1E2;
    border-color: #00A1E2;
    box-shadow: 0 0 0 0.2rem rgba(0, 161, 226, 0.5);
}

.btn-finalizat:visited {
    background-color: #00A1E2;
    border-color: #00A1E2;
}

.btn-finalizat:not(:disabled):not(.disabled).active {
    background-color: #00A1E2;
    border-color: #00A1E2;
}

.btn-finalizat:not(:disabled):not(.disabled):active {
    background-color: #00A1E2;
    border-color: #00A1E2;
}

.btn-pause {
    color: #ffffff;
    background-color: #F7CE45;
    border-color: #F7CE45;
    box-shadow: 0 2px 6px 0 rgba(247, 206, 69, 0.5);
}

.btn-pause:active {
    background-color: #F7CE45;
    border-color: #F7CE45;
}

.btn-pause:hover {
    background-color: #F7CE45;
    border-color: #F7CE45;
}

.btn-pause:focus {
    background-color: #F7CE45;
    border-color: #F7CE45;
    box-shadow: 0 0 0 0.2rem rgba(247, 206, 69, 0.5);
}

.btn-pause:visited {
    background-color: #F7CE45;
    border-color: #F7CE45;
}

.btn-pause:not(:disabled):not(.disabled).active {
    background-color: #F7CE45;
    border-color: #F7CE45;
}

.btn-pause:not(:disabled):not(.disabled):active {
    background-color: #F7CE45;
    border-color: #F7CE45;
}


.btn-expandorder {
    color: #ffffff;
    background-color: #00A1E2;
    border-color: #00A1E2;
    box-shadow: 0 2px 6px 0 rgba(76, 124, 243, 0.5);
}

.btn-expandorder:active {
    background-color: #00A1E2;
    border-color: #00A1E2;
}

.btn-expandorder:hover {
    background-color: #00A1E2;
    border-color: #00A1E2;
}

.btn-expandorder:focus {
    background-color: #00A1E2;
    border-color: #00A1E2;
}

.btn-expandorder:visited {
    background-color: #00A1E2;
    border-color: #00A1E2;
}

.btn-expandorder:not(:disabled):not(.disabled).active {
    background-color: #00A1E2;
    border-color: #00A1E2;
}

.btn-expandorder:not(:disabled):not(.disabled):active {
    background-color: #00A1E2;
    border-color: #00A1E2;
}

.text-red {
    color: #C6272C;
}

.btn-download {
    border-radius: 50% !important;
    width: 35px;
    height: 35px;
}

.dt-body-nowrap {
    white-space: nowrap;
}

.django-ckeditor-widget {
    width: 100%;
}

.calendar .month-container {
    width: 25% !important;
    display: inline-block;
}

.calendar .months-container {
    height: 800px;
}

.fc-button {
    color: #4c7cf3;
    background-color: #fff;
    border: 1px solid #dee2e6;
}

.fc-button-primary:hover {
    color: #313131;
    background-color: #e1e4e9;
    border-color: #e1e4e9;
}

.fc-button-primary:not(:disabled).fc-button-active,
.fc-button-primary:not(:disabled):active {
    color: #313131;
    background-color: #e1e4e9;
    border-color: #e1e4e9;
}

.fc-button-primary:disabled {
    color: #313131;
    background-color: #e1e4e9;
    border-color: #e1e4e9;
}

.calendar-header .next,
.calendar-header .prev {
    color: #4c7cf3;
}

.calendar table.month td.day .day-content:hover {
    background: #e6f1ff !important;
}

.current_month {
    color: #346bf1;
    font-weight: bold;
    font-size: 20px !important;
}

.table tr.noborder td {
    border-top: 0px;
}

.table tr.border-bottom td {
    border-top: 0px;
    border-bottom: 1px solid #dee2e6;
}

.table-hover tbody:hover {
    background-color: #f0f1f4;
}

.production_time_positive {
    color: #ff0000;
}

.production_time_negative {
    color: #00bb00;
}

.drag_disabled {
    pointer-events: none;
}

.drag_enabled {
    pointer-events: all;
}

.dd-expand {
    pointer-events: auto;
}

.dd-collapse {
    pointer-events: auto;
}

.dd-list .dd-item .dd-handle {
    color: #313131;
    background-color: transparent;
    background: transparent;
    border: 0px;
}

.dd-empty {
    background-color: transparent;
    background: transparent;
    border: 0px;
}

.client_percent {
    font-size: 14px;
}

.text-bar {
    height: 30px;
    width: 100%;
    color: #000000;
    line-height: 30px;
    text-align: center;
    font-weight: bold;
    z-index: 2;
    font-size: 15px;
}

.progress-bar-style {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}

.progress-container {
    position: relative;
}

.client_type {
    color: #ff4b5b;
}

.c3 text {
    fill: #666 !important;
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
}

.version {
    position: absolute;
    color: #8A98AC;
    font-size: 12px;
}

.copywrite {
    color: #8A98AC;
    font-size: 12px;
}

.has-error .select2-selection,
.has-error .select2-container--default .select2-selection--multiple,
.has-error .select2-container--default .select2-selection--single {
    border: 1px solid rgb(185, 74, 72) !important;
}

.has-error .form-control {
    border-color: rgb(185, 74, 72) !important;
}

.has-warning .select2-selection,
.has-warning .select2-container--default .select2-selection--multiple,
.has-warning .select2-container--default .select2-selection--single {
    border: 1px solid #CC5600 !important;
}

.has-warning .form-control {
    border-color: #CC5600 !important;
}

.warning-message {
    color: #CC5600 !important;
}

.form-group.required .control-label:after,
.form-group.required .col-form-label:before {
    content: "*";
    color: #C22929;
    position: relative;
    vertical-align: middle;
    margin-right: 2px;
    font-size: 1.25em;
}

/*
.show_hide_icon:after,
td.details-control a:after {
    font-family:"Font Awesome 5 Pro";
    font-weight: 300;
    content: "\f0fe";
    cursor: pointer;
    font-size: 20px;
    color:#00A1E2 !important;
}
.show_hide_icon.shown:after,
tr.shown td.details-control a:after {
  font-family:"Font Awesome 5 Pro";
  font-weight: 300;
  content: "\f146";
}*/

.details_row,
.details_row .dataTable tbody tr,
.details_row .dataTable thead tr {
    background-color: #e6f1ff !important;
}

.offer-status .active {
    color: #fff !important;
    font-weight: bold;
}

.table.noborder td {
    border: 0px !important;
}

TR[data-formset-form-deleted] {
    display: none;
}

DIV[data-formset-form-deleted] {
    display: none;
}

/*Select2 ReadOnly Start*/
select[readonly].select2-hidden-accessible+.select2-container {
    pointer-events: none;
    touch-action: none;
}

select[readonly].select2-hidden-accessible+.select2-container .select2-selection {
    background: #eee;
    box-shadow: none;
}

select[readonly].select2-hidden-accessible+.select2-container .select2-selection__arrow,
select[readonly].select2-hidden-accessible+.select2-container .select2-selection__clear {
    display: none;
}

/*Select2 ReadOnly End*/

.assigned_items {
    background: #c7ecee;
}

.tooltip .tooltip-inner {
    background-color: #333333 !important;
    text-align: left;
}

.tooltip .arrow:before {
    border-top-color: #333333 !important;
}

.tooltip .tooltip-inner div {
    display: block;
}

.text-warning2 {
    color: #D77B29 !important;
    ;
}

.switchery {
    margin-top: 5px;
}

.fc-toolbar .fc-center {
    text-transform: capitalize;
}

.fc th.fc-widget-header {
    text-transform: none;
}

.dataTables_wrapper .dataTables_processing {
    position: fixed !important;
}

.move-up-checkbox .switchery {
    margin-top: 0px;
}

.cursor-initial {
    cursor: initial !important;
}

.btn-light-red {
    color: #ffffff;
    background-color: #C6272C;
    border-color: #C6272C;
    box-shadow: 0 2px 6px 0 rgb(198 39 44 / 50%);
}

.btn-light-red:focus {
    box-shadow: 0 0 0 0.2rem rgb(198 39 44 / 50%);
}

.text-light-red {
    color: #ED6666 !important;
}

.btn-light-green {
    color: #ffffff;
    background-color: #6AC94F;
    border-color: #6AC94F;
    box-shadow: 0 2px 6px 0 rgb(06 201 79 / 50%);
}

.text-light-green {
    color: #6AC94F !important;
}

/* No-billing / cancelled-order invoiced badge (Facturat column). */
.btn-no-billing {
    color: #ffffff;
    background-color: #000000;
    border-color: #000000;
    box-shadow: 0 2px 6px 0 rgb(0 0 0 / 35%);
}

.btn-no-billing:hover,
.btn-no-billing:focus {
    color: #ffffff;
    background-color: #222222;
    border-color: #222222;
}

.btn-light-brown {
    color: #ffffff;
    background-color: #F5A622;
    border-color: #F5A622;
    box-shadow: 0 2px 6px 0 rgb(245 166 34 / 50%);
}

.text-light-brown {
    color: #F5A622 !important;
}

.text-light-yellow {
    color: #E9B524 !important;
}

.btn-light-blue {
    color: #ffffff;
    background-color: #73A0D4;
    border-color: #73A0D4;
    box-shadow: 0 2px 6px 0 rgb(115 160 212 / 50%);
}

.btn-light-blue-custom {
    color: #ffffff;
    background-color: #00A1E2;
    border-color: #00A1E2;
    box-shadow: 0 2px 6px 0 rgb(0 161 226 / 50%);
}

.btn-light-yellow-custom {
    color: #ffffff;
    background-color: #E9B524;
    border-color: #E9B524;
    box-shadow: 0 2px 6px 0 rgb(245 166 34 / 50%);
}

.text-light-blue {
    color: #73A0D4 !important;
}

/* DOTRO communications tab badges (§10.4): distinct hues per call status,
   split off from the shared journal btn-light-blue so Initiat (outbound) and
   Preluat (answered) no longer look identical. Revenit keeps the DOTRO brand
   green already used for the note-tab avatar badge. */
.dotro-comm-badge--preluat {
    color: #ffffff;
    background-color: #4C7CF3;
    border-color: #4C7CF3;
}

.dotro-comm-badge--initiat {
    color: #4C7CF3;
    background-color: #EAF0FD;
    border-color: #EAF0FD;
}

.dotro-comm-badge--revenit {
    color: #ffffff;
    background-color: #2BCD72;
    border-color: #2BCD72;
}

.select2-search__field {
    line-height: 1.6;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    background-image: url(../assets/plugins/select2/img/select2x2.png);
    background-repeat: no-repeat;
    background-size: 60px 40px;
    background-position: -35px -21px;
    padding-left: 25px;
}

.search-input-container {
    position: relative;
}

.search-input-container input {
    padding-left: 30px;
}

.search-input-container i {
    position: absolute;
    left: 12px;
    top: 12px;
    color: gray;
}

.p-r-0 {
    padding-right: 0px !important;
}

.p-l-0 {
    padding-left: 0px !important;
}

.flow-error {
    color: #ff4b5b;
    background-color: #ffe4e6;
}

a.btn-success:focus {
    color: #fff;
}

.tabledit-view-mode .select2-container--disabled {
    display: none;
}

.card-no-shadow {
    box-shadow: none;
}

.stage-item-container {
    cursor: pointer;
    min-width: 320px;
    max-width: 420px;
}

.default-stages {
    color: #ffffff;
    background-color: #6558B3;
    border-color: #6558B3;
    box-shadow: 0 2px 6px 0 rgba(101, 88, 179, 0.5);
}

.card-header-flow-color,
.placeholder-flow-color {
    color: #AAAAAA;
    opacity: 1;
}

.color-preluare {
    color: #5D1A76;
    font-weight: bold;
}

.border-color-preluare {
    border: 1px solid #5D1A76;
    /*box-shadow: 0 2px 6px 0 rgba(93, 26, 118, 0.5);*/
}

.header-border-color-preluare {
    border-bottom: 1px solid #5D1A76;
}

.color-finalizat {
    color: #00A1E2;
    font-weight: bold;
}

.border-color-finalizat {
    border: 1px solid #00A1E2;
    /*box-shadow: 0 2px 6px 0 rgba(0, 161, 226, 0.5);*/
}

.header-border-color-finalizat {
    border-bottom: 1px solid #00A1E2;
}

.color-pause {
    color: #E9B524;
    font-weight: bold;
}

.border-color-pause {
    border: 1px solid #E9B524;
    /*box-shadow: 0 2px 6px 0 rgba(254, 237, 18, 0.5);*/
}

.header-border-color-pause {
    border-bottom: 1px solid #E9B524;
}

.color-preluat {
    color: #D77B29;
    font-weight: bold;
}

.border-color-preluat {
    border: 1px solid #D77B29;
    /*box-shadow: 0 2px 6px 0 rgba(215, 123, 41, 0.5);*/
}

.header-border-color-preluat {
    border-bottom: 1px solid #D77B29;
}

.color-noaction {
    color: #898A8A;
    font-weight: bold;
}

.border-color-noaction {
    border: 1px solid #898A8A;
    /*box-shadow: 0 2px 6px 0 rgba(137, 138, 138, 0.5);*/
}

.header-border-color-noaction {
    border-bottom: 1px solid #898A8A;
}

.upper-case {
    text-transform: uppercase;
}

.drop-container-zone-ok {
    background-color: #2ACD72;
}

.drop-container-zone-red {
    background-color: rgb(198, 39, 44);
}

.close-button-position {
    position: absolute;
    top: 3px;
    right: 10px;
    color: rgb(198, 39, 44);
}

.close-button-position-disabled {
    position: absolute;
    top: 3px;
    right: 10px;
    color: #8A98AC;
}

.flow-action-bk-color {
    background-color: transparent;
}

.action-container.drop-container-zone-ok .card-header-top-border,
.action-container.drop-container-zone-red .card-header-top-border {
    border-top: 0px;
}

.flow-action-border-top {
    /*border-top: 1px solid #D4DDE3;*/
}

.action-container.drop-container-zone-red .flow-action-bk-color {
    color: rgb(198, 39, 44);
}

.action-container.drop-container-zone-ok .flow-action-bk-color {
    color: #2ACD72;
}

.btn-pause-flow-action {
    color: #000000;
    background-color: #E9B524;
    border-color: #E9B524;
    box-shadow: 0 2px 6px 0 rgba(233, 181, 36, 0.5);
}

.btn-pause-flow-action:active {
    background-color: #E9B524;
    border-color: #E9B524;
}

.btn-pause-flow-action:hover {
    background-color: #E9B524;
    border-color: #E9B524;
}

.btn-pause-flow-action:focus {
    background-color: #E9B524;
    border-color: #E9B524;
}

.btn-pause-flow-action:visited {
    background-color: #E9B524;
    border-color: #E9B524;
}

.btn-pause-flow-action:not(:disabled):not(.disabled).active {
    background-color: #E9B524;
    border-color: #E9B524;
}

.btn-pause-flow-action:not(:disabled):not(.disabled):active {
    background-color: #E9B524;
    border-color: #E9B524;
}

#repeat_flow_components BUTTON.close,
.stage-item-container SPAN.help-information,
#action_flow_components BUTTON.close,
#action_flow_custom_components BUTTON.close,
#action_flow_components .component_settings_button,
#action_flow_custom_components .component_settings_button {
    display: none;
}

#action_flow_components .action-text,
#action_flow_custom_components .action-text {
    width: auto;
}

.action-components BUTTON.close,
.default-stages BUTTON.close {
    color: #fff;
    box-shadow: none;
    opacity: 1;
}

.close-action {
    position: absolute;
    top: 0px;
    right: 5px;
}

.inner-wrapper-sticky {
    z-index: 1;
}

.flow-warning {
    color: #CC5600;
    background-color: #FFF1E8;
}

.flow-warning-color {
    color: #CC5600;
}

.help-icon-text {
    margin-left: 5px;
    font-size: 14px;
}

.help-icon-text-no-margin {
    font-size: 14px;
}

.stage-item-flow-column-header {
    width: 20px;
    white-space: pre-line;
}

.flow-available-action-container {
    min-width: 270px;
}

.flow-available-action-components {
    max-width: 320px;
    overflow: auto;
}

#containerRightActions {
    justify-content: flex-end;
    overflow: auto;
}

.flow-stages-container {}

.stage-definition-container {
    min-width: 1200px;
    overflow: auto;
}

#add_select_value,
#add-field-value,
#add-service-template {
    display: inline;
    cursor: pointer;
}

li:has(span#add_select_value),
li:has(span#add-field-value),
li:has(span#add-service-template) {
    padding-bottom: 10px;
}

.error-text-color {
    color: #ff4b5b;
}

.spin {
    z-index: 99999;
}

.flux_table_position {
    position: relative;
}

.flow-order-tags-cell {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.flow-order-tags-td .flow-order-tags-add-btn {
    opacity: 0;
    margin-top: 7px;
    padding: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.15s ease 0.12s;
}

.flow-order-tags-td:hover .flow-order-tags-add-btn {
    opacity: 1;
    transition-delay: 0s;
}

.scroll-hidden::-webkit-scrollbar {
    width: 0;
    background: transparent;
}

.flux_thead {
    position: sticky;
    top: 0;
    background-color: white;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1);
    z-index: 1;
}

.flux_tfoot {
    position: sticky;
    bottom: 0;
    background-color: white;
}

input[type=checkbox] {
    transform: scale(1.3);
    margin-left: 2px;
}

.icon-rotate {
    color: #4c7cf3 !important;
    -moz-transition: all 0.25s linear;
    -webkit-transition: all 0.25s linear;
    transition: all 0.25s linear;
}

.icon-rotate.down {
    -ms-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.help-icon-text i {
    display: inline;
}

.table th {
    border-top: none !important;
}

#document_entry_list tfoot th,
.table.add-border th {
    border-top: 1px solid #dee2e6 !important;
}

@media (min-width: 768px) {
    .modal-xl {
        width: 90%;
        max-width: 1200px;
    }
}

.total-row {
    background-color: #F0F4F9;
}

.tooltip {
    z-index: 100000000 !important;
}

.helper-addon {
    position: relative;
}

.helper-addon .helper {
    position: absolute;
    padding: 10px;
}

.left-addon .helper {
    left: 7px;
}

.right-addon .helper {
    right: 7px;
}

.left-addon input {
    padding-left: 30px;
}

.right-addon input {
    padding-right: 30px;
}

.btn-link,
.btn-link:visited,
.btn-link:active {
    color: #FFFFFF !important;
    background-color: #4c7cf3 !important;
    border-color: #4c7cf3 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.btn-link:hover,
.btn-link:focus {
    color: #FFFFFF !important;
    background-color: #346bf1 !important;
    border-color: #346bf1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.product-description {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.display-table-cell {
    display: table-cell;
}

.display-table-row {
    display: table-row;
}

#bills-popup,
#entry-popup,
#products-popup,
#clients-popup,
#documents-popup,
#providerorder-popup,
#orders-popup,
#deliveries-popup,
#cargus-deliveries-popup,
#e-factura-popup,
#notes-popup {
    position: fixed;
    width: 700px;
    height: 60px;
    bottom: 15%;
    left: 50%;
    margin-left: -300px;
    margin-bottom: -30px;
    background: #FFF;
    color: #000;
    box-shadow: 0 0 50px 0 #cecece;
    border-radius: 15px;
}

.flow_product_popup {
    position: sticky;
    width: 250px;
    height: 45px;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background: #FFF;
    color: #000;
    box-shadow: 0 0 50px 0 #cecece;
    border-radius: 15px;
    z-index: 9;
}

input[type="checkbox" i]:disabled {
    background-color: initial;
}

input[type="checkbox"][readonly] {
    opacity: 0.6;
}

#products-popup button,
#clients-popup button,
#documents-popup button,
#providerorder-popup button,
#orders-popup button,
#deliveries-popup button,
#cargus-deliveries-popup button,
#e-factura-popup button,
#notes-popup button {
    margin-top: -7px;
}

.display-table {
    display: table;
}

.display-inline-grid {
    display: inline-grid;
}

.signature-pad {
    border: 1px solid #ced4da;
    ;
    width: 100%;
    border-radius: 5px;
}

.signature-clear-btn {
    z-index: 2;
    position: absolute;
    margin-left: -12px;
    margin-top: -4px;
}

.zoom {
    transition: transform .2s;
    width: 10%;
}

.zoom:hover {
    background: white;
    transform: scale(6);
    position: relative;
    z-index: 9999;
}

.view-files-td {
    width: 200px;
}

/* flickering problem */
.canvasWrapper {
    width: 90%;
    height: 25vh;
}

.table-responsive2 .dataTables_length {
    white-space: nowrap !important;
}

.canvasWrapper2 {
    width: 90%;
    height: 22vh;
}

#tbl_order_items tbody+tbody {
    border-top: 1px solid #dee2e6;
}

.hr_horizontal {
    border-top: 5px solid #F5F7F9;
}

.hr_vertical {
    border-right: 5px solid #F5F7F9;
}

.employee_txtdata {
    background-color: white !important;
}

.last_tr_monthly {
    border-bottom: 0px !important;
}

.custom_loader_chart {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    margin-left: -100px;
    margin-top: -26px;
    text-align: center;
    background-color: #fff;
}

.clients-chart-container {
    height: 22vh;
}

.custom_loader {
    z-index: 100000000 !important;
    position: fixed !important;
    display: block;
    top: 50%;
    left: 50%;
    margin-left: -100px;
    margin-top: -26px;
    text-align: center;
    padding: 1em 0;
    box-shadow: 0 0 30px 0 #cecece;
    border-radius: 15px;
    padding: 20px;
    background-color: #fff;
}

.custom_loader_hidden {
    display: none;
}

.reports-warning {
    color: #CC5600;
    padding: 0px;
    margin-left: 5px !important;
}

.overlap-warning {
    color: #CC5600;
}

.modal-body-equipments {
    height: 400px;
    overflow-y: auto;
}

.document-entry-currency {
    right: 12px;
    top: 8px
}

/* Livrari: remove gap between calendar block and site footer */
body.delivery-page .xp-contentbar {
    margin-bottom: 0;
    padding-bottom: 0;
}

body.delivery-page .xp-contentbar > .row > .col-lg-12 > .card.m-b-30 {
    margin-bottom: 0;
}

/*
 * Workflow mobile: flow_mobile loads before style.css; it now sets compact
 * `.xp-contentbar` padding with !important when `is_mobile` so theme + `.p-t-15`
 * do not restore 30px/15px gutters (common for logged-out / IP flow users).
 * Phones in landscape often exceed 767px width, skipping the portrait-only
 * `width: 100%` rule on `.xp-rightbar.table-fit-content .xp-contentbar`, leaving
 * `width: fit-content` — Livrari then looks boxed with large side margins on device
 * while a narrow emulator still hits max-width: 767px rules.
 */
@media (max-width: 767px) {
    body.flux-workflow-dashboard .xp-contentbar,
    body.flux-workflow-dashboard .xp-contentbar.p-t-15 {
        padding-left: calc(8px + env(safe-area-inset-left, 0px)) !important;
        padding-right: calc(8px + env(safe-area-inset-right, 0px)) !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    body.flux-workflow-dashboard.delivery-page .xp-contentbar,
    body.flux-workflow-dashboard.delivery-page .xp-contentbar.p-t-15 {
        padding-bottom: 0 !important;
    }

    /*
     * Guests use body.xp-leftbar-hidden and never render the authenticated xp-topbar
     * (site/base.html). The same .xp-contentbar.p-t-15 sits flush under the viewport,
     * so theme + compact padding read as a stray top gutter above the mobile flux
     * header; logged-in users get the topbar first, which hides that effect.
     */
    body.flux-workflow-dashboard.xp-vertical.xp-leftbar-hidden .xp-contentbar,
    body.flux-workflow-dashboard.xp-vertical.xp-leftbar-hidden .xp-contentbar.p-t-15 {
        padding-top: env(safe-area-inset-top, 0px) !important;
    }

    body.flux-workflow-dashboard .xp-rightbar.table-fit-content .xp-contentbar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }
}

@media ((max-height: 540px) and (max-width: 932px) and (pointer: coarse)) and (min-width: 768px) {
    body.flux-workflow-dashboard .xp-contentbar,
    body.flux-workflow-dashboard .xp-contentbar.p-t-15 {
        padding-left: calc(8px + env(safe-area-inset-left, 0px)) !important;
        padding-right: calc(8px + env(safe-area-inset-right, 0px)) !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

    body.flux-workflow-dashboard.delivery-page .xp-contentbar,
    body.flux-workflow-dashboard.delivery-page .xp-contentbar.p-t-15 {
        padding-bottom: 0 !important;
    }

    body.flux-workflow-dashboard.xp-vertical.xp-leftbar-hidden .xp-contentbar,
    body.flux-workflow-dashboard.xp-vertical.xp-leftbar-hidden .xp-contentbar.p-t-15 {
        padding-top: env(safe-area-inset-top, 0px) !important;
    }

    body.flux-workflow-dashboard .xp-rightbar.table-fit-content .xp-contentbar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }
}

/* Livrari mobile: shell above sticky flux chrome + FullCalendar stacking */
body.flux-workflow-dashboard.delivery-page-mobile .xp-leftbar {
    z-index: 1250 !important;
}

body.flux-workflow-dashboard.delivery-page-mobile
    .xp-rightbar > .xp-topbar:not(.language_selected_operator) {
    position: relative !important;
    z-index: 1250 !important;
}

body.flux-workflow-dashboard.delivery-page-mobile
    .xp-topbar:not(.language_selected_operator) .dropdown-menu {
    z-index: 1251 !important;
}

body.flux-workflow-dashboard.delivery-page-mobile.xp-vertical.xp-leftbar-mobile-open .flux-mobile-header {
    z-index: 1040 !important;
}

#calendar-delivery .fc-day-grid-event .fc-content {
    white-space: normal !important;
}

/* Month view: neutral chrome (not workflow primary blue). */
#calendar-delivery .fc-dayGridMonth-view a.fc-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.65em;
    max-width: 100%;
    margin: 4px 2px 2px;
    padding: 4px 8px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    white-space: pre-line;
    color: #ffffff;
    background-color: #5f6368;
    border-radius: 999px;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

#calendar-delivery .fc-dayGridMonth-view a.fc-more:hover,
#calendar-delivery .fc-dayGridMonth-view a.fc-more:focus {
    color: #ffffff;
    background-color: #4a5056;
    text-decoration: none;
    box-shadow: 0 2px 4px rgba(15, 23, 42, 0.16);
}

#calendar-delivery .fc-dayGridMonth-view a.fc-more:focus {
    outline: 0;
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(95, 99, 104, 0.45);
}

.calendar .months-container .month-container {
    height: 250px;
}

#filterMenuButton.dropdown-toggle:after {
    content: none !important;
}

#filterMenuButton.dropdown-toggle {
    padding: 7px 8px !important;
}

.dropdown-custom .options {
    height: 175px;
    overflow-y: scroll;
    padding: 10px 20px;
}

.dropdown-custom .apply {
    border-top: solid 1px #ddd;
    padding: 10px 20px;
    text-align: right;
}

.dropdown-custom .form-check {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 1.50rem;
}

.dropdown-custom input {
    transform: scale(1.5);
    margin-left: -1.25rem;
    margin-right: 0.375rem;
}

.dropdown-custom label {
    margin-bottom: 0.125rem;
}

.chart-title {
    color: #666666;
    font-weight: bold;
    margin-bottom: 10px;
    display: inline-block;
    font-size: 16px;
}

.canvasWrapper3 {
    width: 99%;
    height: 18vh;
}

#clients_list .column-padding-right {
    padding-right: 12px;
}

.column-padding-right {
    padding-right: 12px !important;
}

.modal-body-permissions {
    height: min(70vh, 720px);
    overflow: auto;
    position: relative;
}

#tutorialModal .modal-dialog {
    max-width: 800px;
    margin: 30px auto;
}

#tutorialModal .modal-body {
    position: relative;
    padding: 0px;
}

#tutorialModal .close {
    position: absolute;
    right: -30px;
    top: 0;
    z-index: 999;
    font-size: 2rem;
    font-weight: normal;
    color: #fff;
    opacity: 1;
}

#tutorialModal .status {
    top: 35px;
    font-size: 0.75rem;
}

#showTutorial i {
    font-size: 28px;
    color: #853CFB;
}

.btn-brown-perms {
    color: #ffffff !important;
    background-color: #D77B29 !important;
    border-color: #D77B29 !important;
    box-shadow: 0 2px 6px 0 rgb(49 49 49 / 50%);
    border-radius: 50% !important;
    float: none !important;
    margin: 5px !important;
}

.btn-nude {
    background-color: rgb(245, 247, 248);
}

#showTutorial.btn-list {
    width: 30px;
    height: 19px;
    padding: 0 0 0 10px;
}

#showTutorial.btn-list i {
    padding-top: 0;
    font-size: 16px;
}

.perm-thead {
    position: sticky;
    top: -5px;
    background-color: white;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1);
    z-index: 99999;
}

.permissions-modal-dialog {
    max-width: 1140px;
    width: calc(100% - 2rem);
}

.permissions-modal-close {
    position: absolute;
    top: 6px;
    right: 10px;
}

.perm-error-icon-col {
    min-width: 25px;
    max-width: 25px;
}

.permissions-table {
    table-layout: fixed;
    width: 100%;
}

.perm-thead th,
.perm-thead td {
    border: 0 !important;
    vertical-align: middle;
}

.perm-search-cell {
    width: 52%;
}

.perm-action-cell {
    width: 12%;
}

.perm-select-all-label {
    border: 0 !important;
    width: 52%;
}

.perm-select-all-checkbox,
.permissions-table .perm-row input[type="checkbox"] {
    width: auto;
}

.perm-category-header td {
    font-weight: 600;
    background-color: var(--primary-blue);
    color: #ffffff;
    border-top: 0;
    border-bottom: 1px solid #ffffff;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    cursor: pointer;
    user-select: none;
}

.perm-category-header-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    min-height: 1.5rem;
}

.perm-category-chevron {
    position: absolute;
    right: 0;
    width: 1rem;
    color: #ffffff;
    transition: transform 0.15s ease-in-out;
}

.perm-category-header:not(.is-collapsed) .perm-category-chevron {
    transform: rotate(90deg);
}

.perm-category-title {
    text-align: center;
    color: #ffffff;
}

.perm-subcategory-header td {
    font-weight: 600;
    color: var(--primary-blue);
    background-color: rgba(0, 161, 226, 0.12);
    border-top: 0;
    border-bottom: 1px solid rgba(0, 161, 226, 0.2);
    border-left: 3px solid var(--primary-blue);
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

.perm-subcategory-label {
    padding-left: 1.25rem;
    color: var(--primary-blue);
}

.perm-row-label {
    width: 52%;
}

.perm-status-icon {
    font-size: 24px;
}

.perm-status-icon-muted {
    color: #949ca9;
}

.xp-topbar .xp-userprofile .dropdown-menu .dropdown-item:first-child {
    background-image: none;
    font-weight: normal;
}

.form-control-custom {
    border-radius: unset;
    background: none;
    border: none;
    color: #8A98AC;
    font-weight: 300;
    border-bottom: 1px solid rgb(245, 247, 248);
    margin-top: 3px;
    float: left;
}

.form-control-custom:focus {
    border-bottom: 1px solid #ced4da;
    background: none;
    color: #8A98AC;
    font-weight: 300;
}

.make-excerpt {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 32ch;
    float: left;
    color: #8A98AC;
    margin-left: 0;
}

/* Order line description in workflow — stand out next to qty info */
.flow-item-description {
    color: #000;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #000;
}

.make-excerpt-no-limit {
    float: left;
    color: #8A98AC;
    margin-left: 0;
}

.make-excerpt-flow-popup {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #8A98AC;
    margin-left: 0;
    max-width: 680px;
}

.dropdown-menu {
    box-shadow: 0 0 10px 0 #cecece;
}

.btn-technical {
    font-size: 16px;
    background-color: #fff;
    line-height: 40px;
    min-width: 200px;
    border-radius: 10px;
    border-color: #D0D4E4;
    color: #000000;
}

.btn-technical:hover,
.btn-technical:active,
.btn-technical:focus {
    box-shadow: 0 0 7px 0 #cecece;
    color: #000000;
}

.btn-video {
    border-color: #743DF7;
    background-color: #743DF7;
}

.btn-onboard {
    border-color: #005E8C;
    background-color: #005E8C;
}

.btn-email {
    border-color: #FFD100;
    background-color: #FFD100;
}

.btn-phone {
    border-color: #F16A7E;
    background-color: #F16A7E;
}

.btn-phone-parent[disabled] .btn-phone {
    border-color: #cecece;
    background-color: #cecece;
}

.btn-implementation-parent[disabled] .btn-implementation {
    border-color: #cecece;
    background-color: #cecece;
}

.btn-implementation {
    border-color: #3EC0C5;
    background-color: #3EC0C5;
}

.error-border {
    border: 1px red solid;
}

.btn-technical-inside {
    border-radius: 7px;
}

.list-group-item-action:focus,
.list-group-item-action:hover,
.list-group-item-action:active {
    background-color: #e6f1ff !important;
}

.implementation-container {
    max-width: 800px;
    margin: auto;
    width: 100%;
}

.implementation-container img {
    width: 60%;
}

.error {
    color: #C6272C;
}

::-webkit-scrollbar {
    width: 10px;
    height: 16px;
}

::-webkit-scrollbar-track {
    border-radius: 8px;
    background-color: #fff;
    border: 1px solid #cacaca;
}

::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background-color: #babac0;
}

.button-border-redius {
    border-radius: 3px !important;
}

.action-finalizat-container .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #ffffff transparent transparent transparent;
}

.action-finalizat-container .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #ffffff transparent;
}

.select2-container--default .select2-selection--single {
    padding-right: 10px;
}

.action-finalizat-container .select2-container--default .select2-selection--single {
    border-color: #00A1E2;
    background-color: #00A1E2 !important;
    box-shadow: 0 2px 6px 0 rgba(0, 161, 226, 0.5);
}

.action-finalizat-container .select2-container .select2-selection--single .select2-selection__rendered {
    color: #FFFFFF;
}

.action-pauza-container .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #ffffff transparent transparent transparent;
}

.action-pauza-container .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #ffffff transparent;
}

.action-pauza-container .select2-container--default .select2-selection--single {
    border-color: #E9B524;
    background-color: #E9B524 !important;
    box-shadow: 0 2px 6px 0 rgba(233, 181, 36, 0.5);
}

.action-pauza-container .select2-container .select2-selection--single .select2-selection__rendered {
    color: #FFFFFF;
}

.action-preluare-container .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #ffffff transparent transparent transparent;
}

.action-preluare-container .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #ffffff transparent;
}

.action-preluare-container .select2-container--default .select2-selection--single {
    border-color: #5D1A76;
    background-color: #5D1A76 !important;
    color: #ffffff;
    box-shadow: 0 2px 6px 0 rgba(93, 26, 118, 0.5);
}

.action-preluare-container .select2-container .select2-selection--single .select2-selection__rendered {
    color: #ffffff;
}

.action_container .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__arrow {
    display: none;
}

.btn-gray {
    background-color: #949ca9 !important;
    border: none;
}

.btn-gray:hover {
    background-color: #bdc3c7 !important;
    border: none;
}

.dropdown-menu.dropdown-margin {
    margin-bottom: 8px !important;
    margin-left: -4px !important;
}

.space-15 {
    height: 15px;
}

.btn-space {
    margin-left: 3px;
}

.btn-set-size {
    width: 105px !important;
}

.btn-danger {
    background-color: #DE3031;
    border-color: #DE3031;
}

.btn-danger:hover,
.btn-danger:focus {
    background-color: #BE1E1D;
    border-color: #BE1E1D;
}

.ellipsis-overflow {
    text-overflow: ellipsis;
}

.action-text {
    white-space: break-spaces;
    display: inline-flex;
    width: 195px;
}

.actions_td_container {
    min-width: 270px;
    max-width: 270px;
}

.components_td_container {
    min-width: 520px;
    max-width: 520px;
}

.btn-round-small {
    width: 30px;
    height: 30px;
    padding: 4px 7px;
    border-radius: 50%;
}

.btn-component {
    padding: 2px 10px;
}

.table.move-border td,
.table-border-bt th {
    border-top: none !important;
    border-bottom: 1px solid #dee2e6 !important;
}

.dataTable tbody tr:hover,
.table-striped tbody tr:hover {
    -webkit-appearance: none !important;
    -moz-box-shadow: inset 1px 0 0 #dadce0, inset -1px 0 0 #dadce0, 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);
    -webkit-box-shadow: inset 1px 0 0 #dadce0, inset -1px 0 0 #dadce0, 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);
    box-shadow: inset 1px 0 0 #dadce0, inset -1px 0 0 #dadce0, 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);
    z-index: 2;
}

.dataTables_length {
    padding-top: 8px;
}

.order_details_background {
    background-color: #fff !important;
}

.table-no-left-padding tr td:first-child {
    padding-left: 0px;
}

.select2-results .help-icon-text {
    float: right;
}

.efactura-icon {
    font-size: 18px !important;
}

.entry_type_2 .select2-selection__rendered {
    min-width: 90px;
}

#product_stock .history_stock:hover,
#product_stock .history_stock thead tr,
#offer_list .history_stock:hover,
#offer_list .history_stock thead tr,
#printed_form_generated_list .completed_signatures:hover,
#printed_form_generated_list .completed_signatures thead tr,
#printed_form_list .completed_signatures:hover,
#printed_form_list .completed_signatures thead tr {
    background: none !important;
    box-shadow: none !important;
}

TABLE TBODY .value-text-right {
    text-align: right;
}

.efactura-container {
    display: flex;
    gap: 18px;
    margin: 16px 0px;
}

.efactura-option {
    box-shadow: 0 0 15px 0 #CECECE;
    padding: 32px 16px;
    cursor: pointer;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 18px;
    border-radius: 5px;
    border: 2px solid transparent;
}

.efactura-option.active {
    border: 2px solid #4c7cf3;
}

.email_addresses_container {
    position: relative;
}

.error-message {
    color: red;
    margin-top: 5px;
}

.offer_title .jconfirm-title,
.opportunity_title .jconfirm-title,
.proform_title .jconfirm-title {
    width: 100%;
}

#gmap_area {
    min-height: 700px;
}

.fixedHeader-floating {
    top: -6px !important;
    position: fixed;
    background-color: #FFFFFF !important;
    padding-bottom: 10px;
}

.equipment-button {
    width: 15px;
    height: 15px;
    padding: 0;
    margin-right: 5px;
    margin-top: -4px;
}

.text-break-words {
    word-break: break-word;
}

.col-sm-6 {
    width: 50%;
}

.col-sm-5 {
    width: 41.66667%;
}

.col-sm-4 {
    width: 33.33333%;
}

.col-sm-3 {
    width: 25%;
}

.col-sm-2 {
    width: 16.666667%;
}

.col-sm-1 {
    width: 8.333333%
}

.text-count-message {
    font-size: 13px;
    color: #8A98AC;
}

.product_thumbnail {
    height: 30px;
    width: 30px;
    border-radius: 6px;
    box-shadow: 0 2px 6px 0 rgba(49, 49, 49, 0.5);
}

#tbl_order_items_wrapper #tbl_order_items_info {
    padding-bottom: 20px;
}

#tbl_order_items_wrapper thead tr th {}

.dataTable-td-hidden {
    display: none;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

table.table.flux_table_position thead tr th {
    padding: 1rem;
}

#xp-container {
    display: flex;
    width: 100%;
    overflow: hidden;
}

.xp-leftbar {
    min-width: 250px;
    position: relative;
}

.xp-leftbar .xp-leftbar-wrapper {
    position: fixed;
    top: 0;
    width: 250px;
    background: white;
    padding-bottom: 10px;
}

.xp-leftbar .xp-leftbar-wrapper .version {
    position: relative;
    padding-left: 30px;
    padding-bottom: 0;
}

.xp-rightbar {
    margin-left: 0 !important;
    width: 100%;
}

.xp-rightbar.table-fit-content {
    margin-left: 0;
    width: 100%;
    overflow: auto;
    height: 100vh;
}

/*
 * Workflow /index only: document scrollbar + .xp-rightbar scrollbar (flow uses scrollIntoView, etc.).
 */
body.xp-vertical.flux-workflow-dashboard {
    overflow-x: hidden;
    overflow-y: hidden;
}

body.xp-vertical.flux-workflow-dashboard #xp-container {
    height: 100vh;
    max-height: 100vh;
    overflow: hidden;
}

@supports (height: 100dvh) {
    body.xp-vertical.flux-workflow-dashboard #xp-container {
        height: 100dvh;
        max-height: 100dvh;
    }
}

body.xp-vertical.flux-workflow-dashboard .xp-rightbar.table-fit-content .xp-contentbar {
    min-height: 0;
}

/*
 * Mobile-only: flex/100vh clipping, dynamic viewport, safe area (portrait + landscape phones).
 * - max-width 767px: typical phone portrait and small screens
 * - coarse pointer + short height + moderate width: phones in landscape (width often > 767px)
 */
/* Portrait phones: no horizontal pan on the main column (fit-content + row margins overflow). */
@media (max-width: 767px) {
    #xp-container {
        min-height: 0;
    }

    .xp-rightbar.table-fit-content {
        box-sizing: border-box;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        min-height: 0;
        padding-bottom: env(safe-area-inset-bottom, 0px);
        max-height: 100vh;
    }

    @supports (height: 100dvh) {
        .xp-rightbar.table-fit-content {
            height: 100dvh;
            max-height: 100dvh;
        }
    }
}

/* Landscape touch: allow horizontal scroll only when width may exceed the viewport. */
@media ((max-height: 540px) and (max-width: 932px) and (pointer: coarse)) and (min-width: 768px) {
    #xp-container {
        min-height: 0;
    }

    .xp-rightbar.table-fit-content {
        box-sizing: border-box;
        overflow-x: auto;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        min-height: 0;
        padding-bottom: env(safe-area-inset-bottom, 0px);
        max-height: 100vh;
    }

    @supports (height: 100dvh) {
        .xp-rightbar.table-fit-content {
            height: 100dvh;
            max-height: 100dvh;
        }
    }
}

.xp-rightbar.table-fit-content .xp-contentbar {
    width: fit-content;
    min-width: 100%;
}

@media (max-width: 767px) {
    .xp-rightbar.table-fit-content .xp-contentbar {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
}

.xp-rightbar.table-fit-content .table-responsive {
    overflow: initial;
}

.xp-rightbar.table-fit-content .table-responsive table.dataTable thead th {
    background: white;
    position: sticky !important;
    top: 0;
    z-index: 10;
}

.xp-rightbar.table-fit-content .table-responsive table.dataTable td,
table.dataTable th {
    /*white-space: nowrap;*/
}

.min-exchange-width {
    min-width: 370px;
}

.flow-popup-width {
    min-width: 800px;
}

@media (max-width: 767px) {
    /*
     * Mobile sidebar: overlay only. Do not reserve horizontal space in the flex
     * row (no margin-left on .xp-rightbar) so cards keep full viewport width.
     */
    body.xp-vertical #xp-container > .xp-leftbar {
        flex: 0 0 0;
        min-width: 0 !important;
        width: 0;
        max-width: 0;
        overflow: visible;
    }

    .xp-leftbar {
        position: fixed !important;
        top: 0;
        bottom: 0;
        left: -250px;
        z-index: 1050;
        height: 100%;
        height: 100dvh;
        max-height: 100dvh;
        width: 250px;
        min-width: 250px !important;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);
    }

    body.xp-vertical.xp-leftbar-mobile-open .xp-leftbar {
        left: 0;
        display: block !important;
    }

    /* Follow sliding .xp-leftbar instead of a separate fixed layer (avoids desync). */
    .xp-leftbar .xp-leftbar-wrapper {
        position: absolute;
        left: 0;
        top: 0;
        width: 250px;
        min-height: 100%;
        height: 100%;
        box-sizing: border-box;
    }

    /* Mobile header (flow) stays above the drawer so hamburger can close menu */
    body.xp-vertical.xp-leftbar-mobile-open .flux-mobile-header {
        z-index: 1060;
    }

    /* Mobile header (flow) stays above the drawer so hamburger can close menu */
    body.xp-vertical.xp-leftbar-mobile-open .flux-mobile-header {
        z-index: 1060;
    }

    .min-exchange-width {
        min-width: 100%;
    }

    /* Only when the right bar is not already the scroll root (table-fit-content scrolls there). */
    .xp-vertical .xp-rightbar:not(.table-fit-content) .xp-contentbar .main-card {
        overflow: auto;
    }
}

@media (max-width: 992px) {
    .flow-popup-width {
        min-width: 100%;
    }
}

.recalculate-cursor-pointer {
    cursor: pointer;
}

.xp-vertical.xp-leftbar-hidden .xp-leftbar {
    display: none !important;
}

/* Guest sessions: sidebar is hidden on all viewports; do not reserve 250px (theme default). */
.xp-vertical.xp-leftbar-hidden .xp-rightbar {
    margin-left: 0 !important;
}

.dataTables_empty {
    text-align: center;
}

.img-thumb {
    max-height: 100px;
    max-width: 60px;
}

.img-zoom img.img-thumb {
    position: relative;
    max-height: 24px;
}

.img-zoom img.img-full {
    position: absolute;
    transform: translate(-50%, 50px);
    background-color: #FFFFFF;
    max-width: 600px;
    z-index: 1000;
}

.krajee-default.file-preview-frame .kv-file-content {
    width: 30px !important;
    height: 30px !important;
}

.krajee-default.file-preview-frame .kv-file-content .file-input-preview {
    max-width: 30px;
}

/* Fix for task form file preview - ensure images fit properly */
#addEditTaskModal .krajee-default.file-preview-frame .kv-file-content {
    width: 150px !important;
    height: 100px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

/* Ensure all images are contained within preview frame */
#addEditTaskModal .krajee-default.file-preview-frame .kv-file-content img,
#addEditTaskModal .krajee-default.file-preview-frame .kv-file-content .file-input-preview,
#addEditTaskModal .krajee-default.file-preview-frame .kv-file-content .kv-preview-data {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}

/* Ensure the preview container doesn't overflow */
#addEditTaskModal .krajee-default.file-preview-frame {
    overflow: hidden !important;
}

.krajee-default.file-preview-frame .file-thumbnail-footer {
    height: 30px;
}

.krajee-default .file-footer-caption {
    margin: 8px 0 0 0;
}

#profilePictureCtrl .previewPhoto {
    margin-bottom: 15px;
    border-radius: 12px;
    max-width: 200px;
}

.userPictureThumb {
    width: 38px;
    height: 38px;
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    border-bottom-right-radius: 50%;
    border-bottom-left-radius: 50%;
    box-shadow: 0 2px 6px 0 rgb(76 124 243 / 50%);
    margin: 0 5px;
}

.blockElement h1 {
    font-size: 16px;
    margin-bottom: 0px;
    padding: 10px;
}

.offer-status .btn-danger.focus,
.offer-status .btn-success.focus {
    box-shadow: none;
}

.daterangepicker {
    font-family: inherit;
}

.daterangepicker select.monthselect {
    width: 61%;
}

.custom-readonly[readonly] {
    /*background-color: #f5f5f5;*/
    background-color: #fff;
}

.daterangepicker .ranges li.active {
    background-color: #00A1E2;
}

.daterangepicker .ranges li:hover:not(.active) {
    background-color: #e6f1ff;
}

.daterangepicker td.in-range {
    background-color: #e6f1ff;
}

.daterangepicker td.available:hover,
.daterangepicker th.available:hover {
    background-color: #e6f1ff;
}

.daterangepicker td.active,
.daterangepicker td.active:hover {
    background-color: #00A1E2;
}

.daterangepicker .calendar-time .select2-container.daterange-minute-select,
.daterangepicker .calendar-time .select2-container.daterange-hour-select {
    width: 50px !important;
}

.daterangepicker .calendar-time .select2-container.daterange-minute-select .select2-selection,
.daterangepicker .calendar-time .select2-container.daterange-hour-select .select2-selection,
.daterangepicker .calendar-time .select2-container.daterange-minute-select .select2-selection--single .select2-selection__rendered,
.daterangepicker .calendar-time .select2-container.daterange-hour-select .select2-selection--single .select2-selection__rendered {
    height: 28px !important;
    line-height: 28px !important;
}

.daterangepicker .calendar-time .select2-container.daterange-minute-select .select2-selection--single .select2-selection__arrow,
.daterangepicker .calendar-time .select2-container.daterange-hour-select .select2-selection--single .select2-selection__arrow {
    height: 26px !important;
    width: 20px !important;
}

.daterangepicker .month .select2-container.daterange-month-select {
    width: 116px !important;
}

.daterangepicker .month .select2-container.daterange-year-select {
    width: 77px !important;
    padding-left: 5px;
}

.daterangepicker .calendar-time .select2-container.daterange-minute-select .select2-selection__rendered,
.daterangepicker .calendar-time .select2-container.daterange-hour-select .select2-selection__rendered,
.daterangepicker .month .select2-container.daterange-month-select .select2-selection__rendered,
.daterangepicker .month .select2-container.daterange-year-select .select2-selection__rendered {
    padding: 0;
}

.exchange-helper {
    position: relative;
}

.exchange-helper .helper {
    position: absolute;
    top: 7px;
    right: 3px;
    width: 25px;
    height: 25px;
    padding: 4px 7px;
    font-size: 12px;
}

.exchange-helper .helper-currency {
    position: absolute;
    top: 7px;
    right: 30px;
    padding: 4px 7px;
    font-size: 12px;
}

.currency-icon {
    position: absolute;
    top: 7px;
    right: 10px;
    padding: 4px 7px;
    font-size: 12px;
    cursor: pointer;
}

.daterangepicker .calendar-table th,
.daterangepicker .calendar-table td {
    max-width: 25px;
    min-width: 25px;
    width: 25px;
}

.daterangepicker .drp-calendar {
    min-width: 300px;
    max-width: 300px;
}

.daterangepicker .drp-calendar.left .calendar-table {
    padding-right: 15px;
}

.xp-contentbar {
    min-height: calc(100vh - 210px);
}

.pay-type-locked + .select2-container {
    pointer-events: none;
    opacity: 0.65;
}

#messages-container {
    position: fixed;
    top: 4%;
    left: 55%;
    transform: translateX(-50%);
    width: 30%;
}

.myalert-top {
    min-width: 100%;
}

a.btn-primary:focus {
    color: #ffffff;
}

.recalculate_price {
    width: 20px;
}

.jconfirm.jconfirm-bootstrap .jconfirm-box .jconfirm-buttons button.btn-success.btn-min-width-105,
.jconfirm.jconfirm-bootstrap .jconfirm-box .jconfirm-buttons button.btn-blue.btn-min-width-105 {
    min-width: 105px;
}

.discount_percent_icon {
    position: relative;
}

.discount_percent_icon INPUT {
    padding-right: 15px;
}

.discount_percent_icon:after {
    content: "\0025";
    position: absolute;
    right: 9px;
    top: 50%;
    /* position the top  edge of the element at the middle of the parent */
    transform: translate(-50%, -50%);
    color: #000;
}

.discount-modal-divider {
    border: 0;
    border-top: 1px solid #dee2e6;
    opacity: 1;
}

.discount-modal-field-label {
    font-size: 0.8125rem;
    color: #6c757d;
}

.start-button span.schedule-icon {
    display: none;
}

.original-currency {
    color: #8A98AC;
    font-size: 12px;
}

.currency_and_um {
    position: absolute;
    right: 0;
    top: 50%;
    /* position the top  edge of the element at the middle of the parent */
    transform: translate(-50%, -50%);
}

.equipment-cost-custom {
    min-width: 130px !important;
    padding-right: 80px !important;
}

.provider_um_value {
    position: absolute;
    left: 0;
    top: 50%;
    /* position the top  edge of the element at the middle of the parent */
    transform: translate(-50%, -50%);
}

.profile_um_span {
    font-size: 12px;
    position: absolute;
    right: -19px;
    top: 50%;
    background: #fff;
    line-height: 36px;
    padding-left: 2px;
    border-right: 1px solid #ced4da;
    border-top: 1px solid #ced4da;
    border-bottom: 1px solid #ced4da;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    transform: translate(-50%, -50%);
    min-width: 24px;
    padding-right: 2px;
}

.profile_um_span_disabled {
    background: #e1e4e9;
}

.cost_calculator {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 1px;
    height: 28px !important;
    width: 28px !important;
}

.product_name {
    height: 30px;
    display: flex;
    align-items: center;
}

.selection_modal {
    display: inline-block;
    vertical-align: middle;
}

.payment-link-test-dialog .jconfirm-box {
    max-width: 720px;
}

.payment-link-test-panel {
    padding: 0.25rem 0;
}

.payment-link-test-url {
    word-break: break-all;
    overflow-wrap: anywhere;
    font-size: 0.875rem;
    line-height: 1.45;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    padding: 0.75rem;
    max-height: 9rem;
    overflow-y: auto;
}

.payment-link-test-actions {
    margin-top: 1rem;
}

.delete_product {
    background-color: red;
    display: flex;
    align-items: center;
}

.delete_product_button {
    color: red;
    margin-right: 30px;
}

.product_names_table {
    display: flex;
    align-items: center
}

.datepicker--cell.-focus- {
    background: rgba(225, 228, 233, 0.5);
}

.typeahead.dropdown-menu .dropdown-item.active,
.typeahead.dropdown-menu .dropdown-item:active,
.typeahead.dropdown-menu .dropdown-item:hover,
.typeahead.dropdown-menu .dropdown-item:focus {
    background-color: #4c7cf3 !important;
    color: #FFFFFF !important;
}

.typeahead.dropdown-menu .dropdown-item {
    color: #000000 !important;
}

.filter_value_container .select2-container--default .select2-selection--single .select2-selection__clear {
    font-size: 24px;
    color: #DE3031;
}

.title_additional_info {
    font-size: 15px;
    font-weight: normal;
}

#language_options:first-child {
    border-radius: 15px 15px 0 0 !important;
}

.globe-size {
    width: 25px !important;
    height: 25px !important;
    font-size: 25px;
}

.notification-bell-size {
    width: 25px !important;
    height: 25px !important;
    font-size: 25px;
}

/* Space between icons in the same profilebar group */
.header-icon {
    margin-right: 14px;
}

/* Vertical separator between awareness and communication groups */
.header-divider {
    width: 1px;
    height: 18px;
    background: #E0E0E0;
    margin: 0 12px;
    align-self: center;
}

/* Hide separator when chat/WhatsApp (or any header-icon) do not follow */
.header-divider:not(:has(+ .header-icon)) {
    display: none;
}

/* Fixed gap before the account block, anchored on Cont */
.account-item {
    margin-left: 22px;
    margin-right: 0;
}

/* Last icon before Cont should not add its own trailing margin */
.header-icon:has(+ .account-item) {
    margin-right: 0;
}

.whatsapp-header-icon {
    color: #25D366;
    width: 28px;
    height: 28px;
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 5px;
}

.notification-count {
    position: absolute;
    top: -8px;
    right: -8px;
    padding: 0.1rem 0.3rem;
    background-color: #fb665e;
    color: #ffffff;
    border-radius: 50%;
    font-size: 0.6rem;
    min-width: 16px;
    text-align: center;
    line-height: 1.5;
    border: none;
}

/* Notifications modal: fit small viewports (defaults are 500px wide / 600px list height). */
@media (max-width: 767px) {
    #notificationsModal.modal {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    #notificationsModal .modal-dialog.notification-panel {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        width: 100%;
        max-width: calc(100vw - 1rem);
        margin: 0.5rem auto;
        padding: 10px;
        box-sizing: border-box;
    }

    #notificationsModal .modal-content {
        min-height: 15rem;
        max-height: calc(100vh - 1rem);
        max-height: calc(100dvh - 1rem);
        display: flex;
        flex-direction: column;
        overflow: hidden;
        box-sizing: border-box;
    }

    #notificationsModal .notification-header {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
        flex-shrink: 0;
    }

    #notificationsModal .notification-actions {
        display: flex;
        align-items: center;
        gap: 4px;
        margin-left: auto;
    }

    #notificationsModal .notification-list {
        min-height: 11rem;
        max-height: none;
        flex: 1 1 auto;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        box-sizing: border-box;
    }

    #notificationsModal #no_notifications:not(.hidden),
    #notificationsModal #no_new_notifications:not(.hidden) {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 8rem;
        margin: 0;
        padding: 0 0.5rem;
        text-align: center;
    }

    #notificationsModal .notification-footer {
        flex-wrap: wrap;
        gap: 8px;
        flex-shrink: 0;
    }

    #notificationsModal .notification-footer button {
        flex: 1 1 auto;
        min-width: 0;
    }

    #notificationsModal #all-notif-table,
    #notificationsModal #new-notif-table {
        table-layout: fixed;
        width: 100%;
    }

    #notificationsModal #all-notif-table td,
    #notificationsModal #new-notif-table td {
        word-break: break-word;
        vertical-align: top;
    }

    #notificationsModal .notification-time {
        white-space: normal;
    }

    #notificationsModal .options-dropdown {
        max-width: min(220px, calc(100vw - 2rem));
        box-sizing: border-box;
    }
}

.kv-file-content .kv-preview-data.file-preview-other-frame:has(.force-file-icon) {
    width: 160px !important;
}

.selected-language-icon {
    margin-right: 10px;
}

.selected-language-button {
    padding-left: 10px !important;
    cursor: pointer;
}

.unselected-language-button {
    padding-left: 38.5px !important;
}

.badge-style {
    display: inline-flex !important;
    flex-wrap: wrap;
    width: auto !important;
}

.select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: #fff !important;
}

.equipment_buttons {
    white-space: nowrap;
}

.equipment_buttons button {
    padding-right: 9px;
    padding-left: 9px;
    margin-right: 10px;
}

.delete-x-from-view-product.hide-placeholder-tags>.select2-container.select2-container--default.select2-container--disabled>.selection>.select2-selection.select2-selection--multiple>.select2-selection__rendered>.select2-selection__clear,
.delete-x-from-view-service.hide-placeholder-tags>.select2-container.select2-container--default.select2-container--disabled>.selection>.select2-selection.select2-selection--multiple>.select2-selection__rendered>.select2-selection__clear,
.delete-x-from-view-product.hide-placeholder-tags>.select2.select2-container.select2-container--default.select2-container--disabled>.selection>.select2-selection.select2-selection--multiple>.select2-selection__rendered>.select2-search.select2-search--inline>.select2-search__field,
.delete-x-from-view-service.hide-placeholder-tags>.select2.select2-container.select2-container--default.select2-container--disabled>.selection>.select2-selection.select2-selection--multiple>.select2-selection__rendered>.select2-search.select2-search--inline>.select2-search__field,
#selTags+.select2 .select2-selection__clear {
    display: none;
}

.help-icon {
    font-size: 17px;
}

.pdf_product_hyperlink {
    position: absolute;
    right: 7px;
    top: 51%;
    transform: translate(-145%, -50%);
    cursor: pointer;
}

.offer_description_padding INPUT {
    padding-right: 25px;
}

.language_selected_operator {
    padding: 0 !important;
    /* Cancel padding */
    background: none !important;
    /* Cancel background */
}

span.select2-container:has(span.select2-dropdown) {
    width: auto !important;
    display: block;
}

.dropdown-custom {
    width: max-content;
    margin-top: 5px;
}

.remove-border-top {
    border-top: none;
}

.position_help_in_textbox {
    position: absolute;
    right: 9px;
    top: 50%;
    /* position the top  edge of the element at the middle of the parent */
    transform: translate(-50%, -50%);
}

.help_in_textbox INPUT {
    padding-right: 23px;
}

.font-underline {
    text-decoration: underline;
}

.child_row_spacer {
    display: inline-table;
}

.limit_input_150 INPUT {
    max-width: 150px;
}

.tbody-no-border {
    border-top: 0 !important;
    border-bottom: 0 !important;
}

.btn-transparent {
    background-color: transparent;
    border: 0;
}

#table_cost_comments tr {
    position: relative;
}

#table_cost_comments th:last-child,
#table_cost_comments td:last-child {
    width: 0 !important;
    padding: 0 !important;
}

#table_cost_comments thead {
    display: none;
}

#table_cost_comments tr:last-child td {
    border-bottom: 0 !important;
}

#addCostCommentModal .modal-dialog {
    overflow-y: initial !important
}

#addCostCommentModal .modal-body {
    max-height: 65vh;
    overflow-y: auto
}

.copy-text.phone {
    display: none;
}

.copy-icon.dont-remove {
    margin-right: 5px;
}

.copy-tooltip {
    position: absolute;
    margin-left: 5px;
    top: -3px;
    background-color: #333;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    z-index: 1000;
    white-space: nowrap;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.copy-tooltip.show {
    opacity: 1;
}

.copy-tooltip.opportunity {
    top: -40%;
    left: 50%;
}

.scheduling-product-select {
    display: inline-block;
}

.scheduling-product-select .product-select-info,
.select-memento .product-select-info {
    color: white !important;
    padding-bottom: 4px;
}

#scheduling_form .scheduling-products .select2-container--default .select2-selection--multiple .select2-selection__rendered li,
.select-memento .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
    display: flex;
    align-items: center;
}

#scheduling_form #id_client {
    padding-left: 15px;
}

/* Comanda: select + buton ochi pe acelasi rand; Select2 in flex fara min-width:0 nu se micsoreaza */
#scheduling_form .scheduling-order-select-row .order-select {
    flex: 1 1 0%;
    min-width: 0;
}

#scheduling_form input[readonly],
#scheduling_form .select2-container--disabled .select2-selection,
#scheduling_form select[disabled] {
    background-color: #ffffff;
    border: 0;
    pointer-events: none;
}

/* Modal footer uses justify-content: flex-end; on narrow screens the leftmost btn (Inchide) is clipped */
.scheduling-page-mobile #scheduling-modal .modal-footer {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
}

.scheduling-page-mobile #scheduling-modal .modal-footer > * {
    width: 100%;
    margin: 0.35rem 0 0 0 !important;
}

.scheduling-page-mobile #scheduling-modal .modal-footer > *:first-child {
    margin-top: 0 !important;
}

/*
 * Notify.js foloseste z-index 1050 pe .notifyjs-corner. Trebuie deasupra:
 * - modal flux + backdrop (1190–1205 in flow_mobile.css),
 * - sheet-ul MobileSheetSelect (.ms-sheet z-index 2000, atasat in .modal),
 * - chrome flux (drawer/header pana la ~1250 pe unele pagini).
 * Fara asta, toast-urile dispar in spatele popup-ului de programare pe mobil.
 */
body.scheduling-page-mobile .notifyjs-corner,
body.flux-workflow-dashboard.modal-open .notifyjs-corner,
body.ms-sheet-open .notifyjs-corner {
    z-index: 10050 !important;
}

/* Top-center notify: center copy on narrow screens (bootstrap style uses nowrap + asymmetric icon padding). */
@media (max-width: 768px) {
    .notifyjs-corner[data-notify-pos="t-c"] .notifyjs-container > div {
        text-align: center;
        white-space: normal;
        max-width: calc(100vw - 24px);
        box-sizing: border-box;
    }
}

body.scheduling-page-mobile.modal-open .jconfirm {
    z-index: 100000000 !important;
}

.mt-neg-3 {
    margin-top: -7px !important;
}

.jconfirm .order-generate-document .jconfirm-buttons {
    text-align: center !important;
}

.scheduling-calendar .fc-timeGridWeek-view .fc-event,
.scheduling-calendar .fc-timeGridDay-view .fc-event {
    text-align: start !important;
    align-content: center;
    border-radius: 5px !important;
    margin: 0;
    padding: 0 5px;
}

.scheduling-calendar .fc-head .fc-widget-header,
#calendar-delivery .fc-head .fc-widget-header {
    background-color: #ffffff !important;
    border: 0 !important;
}

.scheduling-calendar .fc-axis {
    width: 100px !important;
    padding: 0;
    text-align: center;
}

.scheduling-calendar .fc-divider {
    background: #d2d7de;
}

.scheduling-calendar .fc-day-header .scheduling-header-date,
#calendar-delivery .fc-day-header .delivery-header-date {
    display: block;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    text-align: center;
    align-content: center;
    font-size: 25px;
}

.scheduling-calendar .fc-day-header.fc-today .scheduling-header-date,
#calendar-delivery .fc-day-header.fc-today .delivery-header-date {
    background-color: #4c7cf3;
    color: #ffffff;
}

.scheduling-calendar .fc-timeGridWeek-view .fc-today,
.scheduling-calendar .fc-timeGridDay-view .fc-today {
    background: #ffffff !important;
}

.custom_margin_right {
    margin-right: 42px;
}

#documentModal .select2-container--default .select2-search--inline .select2-search__field {
    width: initial !important;
}

.scheduling-calendar .fc-dayGridMonth-view,
.scheduling-calendar .fc-timeGridWeek-view,
.scheduling-calendar .fc-timeGridDay-view {
    overflow: auto;
}

/* Livrari: outer view clips; inner .fc-scroller handles vertical scroll (see below). */
#calendar-delivery .fc-dayGridMonth-view,
#calendar-delivery .fc-dayGridWeek-view,
#calendar-delivery .fc-dayGridMobileWeek-view,
#calendar-delivery .fc-dayGridDay-view {
    overflow: hidden;
}

/*
 * FullCalendar lockOverflow() sets overflow-y: scroll whenever the body *can* scroll,
 * which reserves a permanent scrollbar gutter. auto shows a scrollbar only when needed.
 */
#calendar-delivery .fc-scroller {
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

.calendar-parent,
.delivery-calendar-parent {
    height: 800px;
}

.scheduling-calendar .fc-dayGridMonth-view .fc-row.fc-week,
#calendar-delivery .fc-dayGridMonth-view .fc-row.fc-week {
    min-height: 173px !important;
}

#calendar-delivery .fc-dayGridWeek-view .fc-row.fc-week,
#calendar-delivery .fc-dayGridMobileWeek-view .fc-row.fc-week,
#calendar-delivery .fc-dayGridDay-view .fc-row.fc-week {
    min-height: 800px !important;
}

.scheduling-calendar .fc-timeGridWeek-view .fc-head-container.fc-widget-header,
.scheduling-calendar .fc-timeGridDay-view .fc-head-container.fc-widget-header,
.scheduling-calendar .fc-dayGridMonth-view .fc-head-container.fc-widget-header,
#calendar-delivery .fc-dayGridWeek-view .fc-head-container.fc-widget-header,
#calendar-delivery .fc-dayGridMobileWeek-view .fc-head-container.fc-widget-header,
#calendar-delivery .fc-dayGridDay-view .fc-head-container.fc-widget-header,
#calendar-delivery .fc-dayGridMonth-view .fc-head-container.fc-widget-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 10;
    transform: translate(-1px, -1px);
}

.scheduling-calendar .fc-timeGridWeek-view .fc-head-container.fc-widget-header .fc-row,
.scheduling-calendar .fc-timeGridDay-view .fc-head-container.fc-widget-header .fc-row,
.scheduling-calendar .fc-timeGridDay-view .fc-head-container.fc-widget-header .fc-row {
    width: calc(100% + 1px) !important;
}

.new-feature-container {
    position: absolute;
    max-width: 53px;
    height: 28px;
}

.new-feature-container .new-feature-image {
    height: 24px;
    max-height: 24px;
}

.new-feature-container .new-feature-close {
    position: absolute;
    cursor: pointer;
}

.select-view {
    background-color: #4c7cf3;
    color: #ffffff !important;
    text-decoration: none;
    border: none;
    border-radius: 50px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 7px;
    padding: 2px 10px;
}

.btn-edit-memento {
    background-color: #4c7cf3;
    border-color: #4c7cf3;
    color: #ffffff !important;
    border-radius: 50% !important;
    width: 25px;
    height: 25px;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer !important;
    font-size: 12px;
}

.memento-icon {
    height: 24px !important;
}

.memento-container {
    line-height: 1 !important;
}

#mementoForm .modal-body,
#mementoForm .modal-header {
    padding: 1rem 1.5rem !important;
}

.show_hide_super_product {
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
}

.table TR[level="0"] TD.product-td .select2.select2-container .selection .select2-selection,
.table TD[level="0"] .product-select-container {
    border-left: solid 10px #4E7CA1;
}

.table TR[level="1"] TD.product-td .select2.select2-container .selection .select2-selection,
.table TD[level="1"] .product-select-container {
    border-left: solid 10px #25AEC8;
}

.table TR[level="2"] TD.product-td .select2.select2-container .selection .select2-selection,
.table TD[level="2"] .product-select-container {
    border-left: solid 10px #17D8B6;
}

.product-select-container {
    display: inline-block;
    padding-left: 5px;
    border-radius: .25rem;
}

.table TD.product-td[level="1"] {
    padding-left: 40px;
}

.table TD.product-td[level="2"] {
    padding-left: 80px;
}

.show_hide_super_product {
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
}

.table TR[level="0"] TD.product-td .select2.select2-container .selection .select2-selection,
.table TD[level="0"] .product-select-container {
    border-left: solid 10px #4E7CA1;
}

.table TR[level="1"] TD.product-td .select2.select2-container .selection .select2-selection,
.table TD[level="1"] .product-select-container {
    border-left: solid 10px #25AEC8;
}

.table TR[level="2"] TD.product-td .select2.select2-container .selection .select2-selection,
.table TD[level="2"] .product-select-container {
    border-left: solid 10px #17D8B6;
}

.product-select-container {
    display: inline-block;
    padding-left: 5px;
    border-radius: .25rem;
}

.table TD.product-td[level="1"] {
    padding-left: 40px;
}

.table TD.product-td[level="2"] {
    padding-left: 80px;
}

.show_hide_super_product {
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
}

.table TR[level="0"] TD.product-td .select2.select2-container .selection .select2-selection,
.table TD[level="0"] .product-select-container {
    border-left: solid 10px #4E7CA1;
}

.table TR[level="1"] TD.product-td .select2.select2-container .selection .select2-selection,
.table TD[level="1"] .product-select-container {
    border-left: solid 10px #25AEC8;
}

.table TR[level="2"] TD.product-td .select2.select2-container .selection .select2-selection,
.table TD[level="2"] .product-select-container {
    border-left: solid 10px #17D8B6;
}

.product-select-container {
    display: inline-block;
    padding-left: 5px;
    border-radius: .25rem;
}

.table TD.product-td[level="1"] {
    padding-left: 40px;
}

.table TD.product-td[level="2"] {
    padding-left: 80px;
}

/* Flow index view=item: product column hierarchy (same as view comanda) */
.flux_product .product-td.flow-item-product-cell .product-select-container {
    display: block;
    padding-left: 6px;
}

.flux_product .product-td.flow-item-product-cell .product-select-container.flow-level-0 {
    margin-left: 0;
    border-left: solid 4px #4E7CA1;
}

.flux_product .product-td.flow-item-product-cell .product-select-container.flow-level-1 {
    margin-left: 20px;
    border-left: solid 4px #25AEC8;
}

.flux_product .product-td.flow-item-product-cell .product-select-container.flow-level-2 {
    margin-left: 40px;
    border-left: solid 4px #17D8B6;
}

.flux_product .product-td.flow-item-product-cell .product-select-container.flow-level-3 {
    margin-left: 60px;
    border-left: solid 4px #4E7CA1;
}

.flux_product .product-td.flow-item-product-cell .product-select-container.flow-level-4 {
    margin-left: 80px;
    border-left: solid 4px #25AEC8;
}

.flux_product .product-td.flow-item-product-cell .product-select-container.flow-level-5 {
    margin-left: 100px;
    border-left: solid 4px #17D8B6;
}

/* Fallback for hierarchy deeper than 5 levels */
.flux_product .product-td.flow-item-product-cell .product-select-container[class*="flow-level-"] {
    min-height: 1px;
}

a.change-view-day {
    color: black;
}

a.change-view-day :hover {
    color: #346bf1;
}

#containerClient .select2-search--inline,
#subcategory .select2-search--inline,
#containerClient .select2-search__field:placeholder-shown,
#subcategory .select2-search__field:placeholder-shown {
    width: 100% !important;
}

.custom-radio-inline {
    display: flex;
    flex-wrap: nowrap;
}

.custom-radio-block {
    display: block;
}

.select2-container--default .select2-selection--multiple {
    width: auto !important;
    min-width: 150px;
}

.select2-selection__clear {
    padding: 1px;
    margin-right: 10px;
    margin-bottom: 5px;
}

div.dataTables_wrapper div.dataTables_processing {
    z-index: 11;
}

.filter_value_container input[custom-search-option="1"],
.filter_value_container INPUT[type=text] {
    min-width: 150px;
}

.footer-text {
    font-style: italic;
    font-size: 13px;
    margin-right: 7px !important;
}

.product_list_container,
.accounting_list_container {
    display: none;
}

.accounting_list_container .select2-selection--multiple .select2-search__field {
    width: 100% !important;
}

.text-price-aquisition {
    display: none;
}

#tags_container .tag-title {
    border-top: 1px solid #D4DDE3;
    margin-top: 10px;
    margin-bottom: 10px;
    padding-top: 15px;
    font-weight: 700;
}

.jconfirm .btn-no-width {
    width: unset !important;
}

.vat-container {
    position: relative;
    display: inline-block;
}

.vat-container input {
    padding-right: 45px;
    min-width: 120px !important;
}

.vat-overlay {
    position: absolute;
    top: 50%;
    right: 9px;
    transform: translateY(-52%);
    pointer-events: none;
    font-size: 14px;
    color: #666;
}

.subtotal-label {
    min-width: 130px;
}

.ron-value {
    padding-left: .75rem;
}

.converted-row td {
    border: 0 !important;
    padding: 0 .75rem .75rem !important;
    color: #8A98AC !important;
}

.text-transparent .selection .select2-selection__rendered {
    color: transparent !important;
}

.ron-total-value {
    color: #8A98AC;
    font-size: 14px;
}

#addVATRateModal select[readonly]+.select2 .select2-selection__placeholder {
    display: none !important;
}

.btn-export {
    padding: 0 !important;
    border-color: #FFFFFF !important;
    max-height: 37px !important;
}

.btn-export i {
    font-size: 36px !important;
    font-weight: 200 !important;
}

.btn-export:hover {
    background: #FFFFFF !important;
    color: #4c7cf3 !important;
}

#import_total_row_2 td {
    border-top: none !important;
}

#tbl_custom_taxes_items .custom-taxes-products .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
    display: flex;
    align-items: center;
}

#tbl_custom_taxes_items .product-select-info {
    color: #FFF !important;
}

.tax-product-select {
    display: inline-block;
}

#document-entry-form #add_row.hidden {
    display: none !important;
}

#tbl_import_nir_line_items .add_line_items {
    display: none !important;
}

.custom-card {
    border: 1px solid #D4DDE3;
    border-radius: 20px;
    padding: 20px;
    overflow: auto;
}

.custom-card::-webkit-scrollbar-track {
    margin-left: 20px !important;
    margin-right: 20px !important;
}

#additional_container .switchery,
#taxes_container .switchery,
#associated_container .switchery {
    margin-top: 0 !important;
}

.krajee-default.file-preview-frame {
    display: flex;
    width: 97%;
    margin: 1px 8px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
    padding: 6px;
    float: left;
    text-align: center;
}

.krajee-default .file-footer-caption {
    display: flex;
    text-align: center;
    font-size: 14px;
    line-height: 1.4;
    color: #777;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    width: 75% !important;
    max-width: 75% !important;
}

.krajee-default .file-footer-caption .file-caption-info {
    width: 80% !important;
    text-align: left !important;
}

.krajee-default .file-footer-caption .file-size-info {
    width: 20% !important;
}

.krajee-default.file-preview-frame .file-thumbnail-footer {
    display: flex;
    align-items: center;
    width: 93%;
}

.krajee-default.file-preview-frame .file-thumbnail-footer> :nth-child(3) {
    margin-left: auto;
}

.krajee-default .file-footer-buttons button {
    background-color: #FFFFFF !important;
    border-color: #FFFFFF !important;
    padding: 0 !important;
    box-shadow: none !important;
    display: flex;
    align-items: center;
    margin-right: 10px;
}

.krajee-default .file-footer-buttons button i {
    color: black !important;
    font-size: 14px;
}

.krajee-default .file-footer-buttons button.btn-danger i {
    color: #dc3545 !important;
}

.krajee-default .file-footer-buttons button.btn-default i {
    color: #4c7cf3 !important;
}

.krajee-default .file-actions .file-footer-buttons {
    display: flex;
    align-items: center;
}

.krajee-default .file-thumbnail-footer .file-drag-handle,
.krajee-default .file-thumbnail-footer .file-upload-indicator {
    margin-top: 0 !important;
    height: unset !important;
    width: unset !important;
    display: flex;
    align-items: center;
    padding-right: 10px;
}

.krajee-default .file-thumbnail-footer i {
    font-size: 14px;
}

.krajee-default .file-caption-info,
.krajee-default .file-size-info {
    height: unset !important;
    margin-left: 3px;
}

.krajee-default .file-other-icon {
    font-size: 2em !important;
}

.file-input-image-view img {
    width: 30px;
    height: 30px;
}

.file-input-image-view span {
    font-size: 15px;
}

#ai_assistant_modal .modal-dialog {
    width: 700px;
}

.ai_mode {
    padding: 15px;
    background-color: #F0F8FF;
    border-radius: .25rem;
}

.input-currency-overflow {
    padding-right: 55px;
    text-overflow: ellipsis;
}

.input-currency-overflow:hover {
    text-overflow: unset;
}

#inventory-edit-form .select2-selection__rendered .select2-search--inline .select2-search__field {
    width: 100% !important;
    box-sizing: border-box;
}

#ai_content_preview {
    padding: 20px;
    border-radius: .25rem;
    box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.15);
}

.border-red-tr {
    border: 1px solid #C6272C !important;
}

.border-red-tr td {
    border-top: 1px solid #C6272C;
    border-bottom: 1px solid #C6272C;
}

/* Solid color preview square (set fill via inline style background-color or CSS var) */
.square-color-swatch {
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 4px;
    vertical-align: middle;
}

/* custom color picker */
.custom-color-picker .clr-field button {
    width: 100%;
    border-radius: 4px;
    border: 1px solid #ced4da;
}

.custom-color-picker .clr-field button:focus {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-color-picker .clr-picker {
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.custom-color-picker .clr-swatches button {
    border-radius: 4px;
}

.custom-color-picker .clr-field,
.custom-color-picker .tabledit-input {
    max-width: 38px !important;
    max-height: 38px !important;
}

.custom-color-picker .tabledit-span {
    visibility: hidden;
}

.custom-color-picker .colorpicker,
.view-details-btn,
.view-hyperlink-btn {
    cursor: pointer;
}

.product-select-container > .view-details-btn,
.flux-mobile-stage-product-name > .view-details-btn {
    display: inline;
    vertical-align: middle;
}

.view-additional-details-content {
    height: 400px;
}

.additional-details-context {
    color: #212529;
    font-weight: 700;
    font-size: 0.9rem;
    margin-top: 0.35rem;
    word-break: break-word;
}

#clr-picker {
    z-index: 2000;
}

/* Advanced filter trigger button */
.advanced-filter-trigger {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 96% !important;
    text-align: left;
    padding: 5px 10px;
    cursor: pointer;
    left: 2%;
    background: #fff;
    box-shadow: 0 0 30px 0 rgba(200, 200, 200, 0.2);
    white-space: normal;
}

.advanced-filter-trigger:focus {
    outline: none;
    box-shadow: none;
}

.advanced-filter-trigger .trigger-icon {
    margin-left: 10px;
}

.advanced-filter-trigger>span:first-of-type {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
}

/* Advanced filter panel */
.advanced-filter-panel {
    width: 96%;
    position: relative;
    left: 2%;
    display: none;
    padding-top: 10px;
    margin-top: 5px;
}

.advanced-filter-panel .filter-section {
    border-radius: 4px;
    background: #ffffff;
    padding: 10px;
    box-shadow: 0 0 30px 0 rgba(200, 200, 200, 0.2);
}

.filter-header {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
    font-weight: 500;
}

/* Segmented controls */
.segmented-control {
    display: flex;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid #ced4da;
}

.segmented-control button {
    flex: 1;
    padding: 5px 10px;
    border: none;
    background: #fff;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 13px;
}

.segmented-control button.active {
    background: #007bff;
    color: white;
}

.segmented-control button:not(:last-child) {
    border-right: 1px solid #ced4da;
}

.filter-label {
    font-size: 14px;
    margin-right: 4px;
}

.include-exclude-advanced .select2-container--default .select2-selection--multiple {
    width: auto !important;
}

.advanced-filter-container {
    background: #f0f1f4;
    box-shadow: none !important;
    width: 100%;
    padding: 10px 0;
}

/* Select2 advanced filters: avoid dropdown narrower than panel content */
.select2-container .select2-dropdown.select2-advanced-dropdown {
    min-width: 230px;
    width: auto !important;
}

.select2-dropdown.select2-advanced-dropdown .advanced-filter-panel,
.select2-dropdown.select2-advanced-dropdown .advanced-filter-trigger {
    width: 100%;
    max-width: 100%;
    left: 0;
    box-sizing: border-box;
    margin: auto;
}


@media (max-width: 600px) {
    .select2-container .select2-dropdown.select2-advanced-dropdown {
        min-width: min(230px, calc(100vw - 1rem));
    }
}

/* Segmented Control Styles */
.segmented-control-container {
    display: inline-flex;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid #ced4da;
    background: #f8f9fa;
    margin: 8px 0;
}

.segmented-control-btn {
    position: relative;
    flex: 1;
    text-align: center;
}

.segmented-control-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.segmented-control-label {
    display: block;
    padding: 6px 12px;
    cursor: pointer;
    transition: all 0.2s;
    color: #495057;
    font-weight: 400;
}

.segmented-control-input:checked+.segmented-control-label {
    background: #007bff;
    color: white;
    font-weight: 500;
}

.segmented-control-btn:not(:last-child) {
    border-right: 1px solid #ced4da;
}

/* Hover effects */
.segmented-control-label:hover {
    background-color: #e9ecef;
}

.segmented-control-input:checked+.segmented-control-label:hover {
    background-color: #0069d9;
}

.filter-panel {
    width: 96%;
    position: relative;
    left: 2%;
}

.filter-panel .filter-section {
    border-radius: 4px;
    background: #ffffff;
    padding: 10px;
    box-shadow: 0 0 30px 0 rgba(200, 200, 200, 0.2);
}

.trigger-text,
#products-no {
    font-size: 13px;
    white-space: normal;
}

.advanced-filter-trigger .trigger-text {
    display: inline-block;
    max-width: 140px;
}


.pdf_additional_details {
    position: absolute;
    right: 0;
    top: 51%;
    transform: translate(-0%, -50%);
    cursor: pointer;
}

#additionalDetailsForm .note-toolbar-wrapper {
    min-height: 44px !important;
}

#improve_email {
    position: absolute;
    padding: 10px 13px;
    right: 15px;
    bottom: 20px;
    border-radius: 1.75rem;
    background: #C34BFA;
    background: linear-gradient(90deg, rgba(195, 75, 250, 1) 0%, rgba(253, 204, 77, 1) 100%);
    color: #FFF;
}

#id_ai_assistant {
    background: #C34BFA;
    background: linear-gradient(90deg, rgba(195, 75, 250, 1) 0%, rgba(253, 204, 77, 1) 100%);
    color: #FFF;
    border: none;
}

.copy-tooltip-emag,
.copy-tooltip-woo {
    position: absolute;
    transition: opacity 0.3s ease;
    z-index: 1000;
    background-color: #333;
    margin-left: 10px;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    white-space: nowrap;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.copy-tooltip-emag.show,
.copy-tooltip-woo {
    opacity: 1;
}

.export-container {
    min-height: calc(100vh - 200px);
}

.document-type-card {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    transition: all 0.3s ease;
    background: white;
}

.document-type-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-color: #007bff;
}

.document-type-card.selected {
    border-color: #007bff;
    background-color: #f8fbff;
}

.settings-btn {
    background: none;
    border: none;
    color: #6c757d;
    transition: color 0.3s ease;
}

.settings-btn:hover {
    color: #007bff;
}

.export-btn {
    min-width: 120px;
}

.date-range-selector {
    background: white;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.preview-section {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
}

.preview-period-input {
    background: white !important;
    border: 1px solid #ced4da;
}

/* Export form styles - delivery note custom fields */
.export-label-padding {
    padding-right: 30px;
}

.export-icon-size {
    font-size: 24px;
}

.export-icon-inactive {
    color: #949ca9;
}

.export-option-indent {
    padding-left: 30px;
}

.export-option-indent-small {
    padding-top: 6px;
    cursor: default;
}

.document-preview-container {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 12px 15px;
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.document-preview-container:last-child {
    margin-bottom: 0;
}

.document-preview-name {
    font-weight: 600;
    color: #333;
}

.document-preview-template {
    color: #6c757d;
    font-size: 0.85em;
    margin-top: 2px;
}

.document-preview-badge {
    background: #e9ecef;
    color: #495057;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.8em;
}

.document-checkbox {
    transform: scale(1.3) !important;
    margin-right: 0.375rem;
}

.saga-integration-container .integration-card {
    border: 2px solid #e9ecef;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 10px;
}

.saga-integration-container .integration-card:hover {
    border-color: #007bff;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.saga-integration-container .integration-card.selected {
    border-color: #007bff;
    background-color: #f8f9fa;
}

.saga-option .card-body {
    padding: 2rem 1rem;
}

.saga-option .card-text {
    font-size: 0.85rem;
    font-style: italic;
    line-height: 1.4;
}

.document-type-card label,
.document-preview-name {
    line-height: 1 !important;
}

.status-color-badge {
    width: 16px;
    height: 16px;
    border-radius: 3px;
    margin-right: 8px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
}

.financial-value {
    font-weight: 500;
    min-width: 80px;
    text-align: right;
    display: inline-block;
}

.table-container {
    display: flex;
    justify-content: center;
}

.formset-hide-delete-checkbox input[type=checkbox] {
    display: none;
}

/* Freeze Panes Styles for Product Tables */
/* Vertical scroll uses the page; horizontal scroll stays on the container so the
   table can be wider than the viewport. The sticky thead is mirrored by a floating
   clone (.table-sticky-header-host) which is fixed to the viewport top while the
   page scrolls (handled in main.js) because position:sticky on the original thead
   is bound to this container's scroll context. */
.table-freeze-panes-container {
    overflow-x: auto;
    overflow-y: hidden;
    /* ~1 sticky header row + 3 product line rows (order / offer / opportunity) */
    min-height: calc(3.5rem + 4 * 3.5rem);
    position: relative;
}

/* Fullscreen mode keeps its own internal vertical scroll (the overlay covers the
   whole viewport so the page cannot scroll behind it). */
.table-freeze-panes-container.is-fullscreen {
    overflow-y: auto;
}

/* Bottom-of-viewport mirror horizontal scrollbar (synced with container via JS) */
.table-freeze-panes-wrapper {
    position: relative;
}

/* Host is positioned by JS (fixed to viewport) except in table fullscreen mode */
.table-bottom-scroll-host {
    display: none;
    position: fixed;
    bottom: 0;
    z-index: 1030;
    height: 18px;
    box-sizing: border-box;
    background-color: #fff;
}

.table-bottom-scroll-host.is-visible {
    display: block;
}

/* Inherits global ::-webkit-scrollbar rules in this file (no local thumb/track). */
.table-bottom-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    min-height: 18px;
    height: 18px;
    width: 100%;
    background-color: #fff;
}

.table-bottom-scroll-spacer {
    height: 1px;
    pointer-events: none;
}

/* Top-of-viewport floating clone of the table thead. Shown by JS while the page
   has scrolled past the original thead. Built from a clone of the original
   <thead> wrapped in a fixed-position host so it appears glued to the viewport
   top regardless of the inner scroll context of .table-freeze-panes-container. */
.table-sticky-header-host {
    display: none;
    position: fixed;
    top: 0;
    z-index: 1020;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

.table-sticky-header-host.is-visible {
    display: block;
}

/* Inner horizontal scroller mirrors the source container's scrollLeft. The
   scrollbar is hidden because the source container already shows one (or the
   bottom mirror does). */
.table-sticky-header-scroll {
    overflow-x: scroll;
    overflow-y: hidden;
    width: 100%;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.table-sticky-header-scroll::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.table-sticky-header-host > .table-sticky-header-scroll > table {
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 0;
}

/* Frozen left columns inside the clone. The original CSS rules are scoped to the
   source table IDs (#tbl_order_items, etc.) and don't match the clone, so we
   re-declare them on the clone host. Defaults follow the open/closed rules from
   the live table; .administration-closed / .administration-open on the clone
   table mirrors those states from the original. */
.table-sticky-header-host th.freeze-col-line-no {
    position: sticky;
    left: 0;
    z-index: 11;
    background-color: #fff;
    min-width: 53px;
    width: 53px;
    max-width: 53px;
}

.table-sticky-header-host th.freeze-col-administration {
    position: sticky;
    left: 53px;
    z-index: 12;
    background-color: #fff;
    min-width: 15px;
    width: 15px;
    max-width: 15px;
}

.table-sticky-header-host table.administration-open th.freeze-col-administration {
    min-width: 250px !important;
    width: 250px !important;
    max-width: 250px !important;
}

.table-sticky-header-host th.freeze-col-product {
    position: sticky;
    left: 53px;
    z-index: 11;
    background-color: #fff;
    min-width: 400px;
    max-width: 400px;
}

.table-sticky-header-host th.freeze-col-product.has-administration {
    left: 68px;
}

.table-sticky-header-host table.administration-open th.freeze-col-product.has-administration {
    left: 303px !important;
}

/* Disable interactive controls in the clone (tutorial play, tooltips, etc.).
   The fullscreen toggle and administration toggle are re-enabled below. */
.table-sticky-header-host a,
.table-sticky-header-host button,
.table-sticky-header-host input,
.table-sticky-header-host select,
.table-sticky-header-host [data-toggle="tooltip"],
.table-sticky-header-host [data-original-title] {
    pointer-events: none !important;
    cursor: default !important;
}

/* Re-enable the fullscreen toggle and administration toggle in the clone. */
.table-sticky-header-host .table-freeze-panes-toggle,
.table-sticky-header-host .toggle-administration-btn {
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* In the clone the #toggle_administration ID rule does not apply, so the
   btn-sm padding pushes the icon out of the narrow closed column. Zero it
   out here to match the source table behaviour. */
.table-sticky-header-host .toggle-administration-btn {
    width: 25px;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Hide the floating clone in fullscreen: the in-container sticky thead works
   there because the fullscreen overlay establishes its own vertical scroll. */
body.has-fullscreen-table .table-sticky-header-host {
    display: none !important;
}

/* Fullscreen: mirror sits at bottom of the overlay, not the browser chrome */
.table-freeze-panes-wrapper.is-fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    z-index: 1040;
    margin: 0;
    padding: 8px;
    background-color: #fff;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.table-freeze-panes-wrapper.is-fullscreen .table-bottom-scroll-host {
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: 8px;
    width: auto;
    height: 18px;
    flex-shrink: 0;
    z-index: 1041;
}

.table-freeze-panes-wrapper.is-fullscreen .table-freeze-panes-container.is-fullscreen {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    height: auto;
    margin: 0;
}

/* Set border-collapse separate for tables with freeze panes to keep borders visible */
.table-freeze-panes-container table {
    border-collapse: separate;
    border-spacing: 0;
}

/* Sticky header: only the main line-items thead, not nested equipment tables */
#tbl_order_items > thead > tr,
#tbl_offer_items > thead > tr,
#tbl_opportunity_items > thead > tr {
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: #fff;
}

#tbl_order_items > thead > tr > th,
#tbl_offer_items > thead > tr > th,
#tbl_opportunity_items > thead > tr > th {
    background-color: #fff;
    position: relative;
}

/* Icon columns: match other headers (top-aligned when row height grows) */
#tbl_order_items > thead > tr > th.freeze-col-line-no,
#tbl_offer_items > thead > tr > th.freeze-col-line-no,
#tbl_opportunity_items > thead > tr > th.freeze-col-line-no,
#tbl_order_items > thead > tr > th.freeze-col-administration,
#tbl_offer_items > thead > tr > th.freeze-col-administration,
#tbl_opportunity_items > thead > tr > th.freeze-col-administration {
    vertical-align: top;
}

/* Frozen column: Line Number (#) */
#tbl_order_items thead tr th.freeze-col-line-no,
#tbl_offer_items thead tr th.freeze-col-line-no,
#tbl_opportunity_items thead tr th.freeze-col-line-no,
#tbl_order_items tbody tr td.freeze-col-line-no,
#tbl_offer_items tbody tr td.freeze-col-line-no,
#tbl_opportunity_items tbody tr td.freeze-col-line-no {
    position: sticky;
    left: 0;
    z-index: 5;
    background-color: #fff;
    min-width: 53px;
    width: 53px;
    max-width: 53px;
}

/* Frozen column: Administration (if exists) */
#tbl_order_items thead tr th.freeze-col-administration,
#tbl_offer_items thead tr th.freeze-col-administration,
#tbl_opportunity_items thead tr th.freeze-col-administration,
#tbl_order_items tbody tr td.freeze-col-administration,
#tbl_offer_items tbody tr td.freeze-col-administration,
#tbl_opportunity_items tbody tr td.freeze-col-administration {
    position: sticky;
    left: 53px;
    /* Exact width of line number column */
    z-index: 5;
    background-color: #fff;
    min-width: 15px;
    /* Default: closed state */
    width: 15px;
    /* Fixed width when closed */
    max-width: 15px;
}

/* When administration is closed, maintain very narrow width */
#tbl_order_items.administration-closed thead tr th.freeze-col-administration,
#tbl_offer_items.administration-closed thead tr th.freeze-col-administration,
#tbl_opportunity_items.administration-closed thead tr th.freeze-col-administration,
#tbl_order_items.administration-closed tbody tr td.freeze-col-administration,
#tbl_offer_items.administration-closed tbody tr td.freeze-col-administration,
#tbl_opportunity_items.administration-closed tbody tr td.freeze-col-administration {
    min-width: 15px !important;
    width: 15px !important;
    max-width: 15px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden;
}

/* Remove horizontal padding and margins from administration header content when closed */
#tbl_order_items.administration-closed #administration_th,
#tbl_offer_items.administration-closed #administration_th,
#tbl_opportunity_items.administration-closed #administration_th {
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden;
}

#tbl_order_items.administration-closed #administration_th>div,
#tbl_offer_items.administration-closed #administration_th>div,
#tbl_opportunity_items.administration-closed #administration_th>div {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden;
}

#tbl_order_items.administration-closed #toggle_administration,
#tbl_offer_items.administration-closed #toggle_administration,
#tbl_opportunity_items.administration-closed #toggle_administration {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* When administration is open, set wider width */
#tbl_order_items.administration-open thead tr th.freeze-col-administration,
#tbl_offer_items.administration-open thead tr th.freeze-col-administration,
#tbl_opportunity_items.administration-open thead tr th.freeze-col-administration,
#tbl_order_items.administration-open tbody tr td.freeze-col-administration,
#tbl_offer_items.administration-open tbody tr td.freeze-col-administration,
#tbl_opportunity_items.administration-open tbody tr td.freeze-col-administration {
    min-width: 250px !important;
    width: 250px !important;
    max-width: 250px !important;
}

/* Frozen column: Product */
#tbl_order_items thead tr th.freeze-col-product,
#tbl_offer_items thead tr th.freeze-col-product,
#tbl_opportunity_items thead tr th.freeze-col-product,
#tbl_order_items tbody tr td.freeze-col-product,
#tbl_offer_items tbody tr td.freeze-col-product,
#tbl_opportunity_items tbody tr td.freeze-col-product {
    position: sticky;
    left: 53px;
    /* Default: after line number */
    z-index: 5;
    background-color: #fff;
    min-width: 400px;
    max-width: 400px;
}

/* If administration column exists, adjust product column position */
/* Default: administration closed (15px) */
#tbl_order_items thead tr th.freeze-col-product.has-administration,
#tbl_offer_items thead tr th.freeze-col-product.has-administration,
#tbl_opportunity_items thead tr th.freeze-col-product.has-administration,
#tbl_order_items tbody tr td.freeze-col-product.has-administration,
#tbl_offer_items tbody tr td.freeze-col-product.has-administration,
#tbl_opportunity_items tbody tr td.freeze-col-product.has-administration {
    left: 68px;
    /* After line number (53px) + administration closed (15px) */
}

/* When administration is closed, adjust product column position */
#tbl_order_items.administration-closed thead tr th.freeze-col-product.has-administration,
#tbl_offer_items.administration-closed thead tr th.freeze-col-product.has-administration,
#tbl_opportunity_items.administration-closed thead tr th.freeze-col-product.has-administration,
#tbl_order_items.administration-closed tbody tr td.freeze-col-product.has-administration,
#tbl_offer_items.administration-closed tbody tr td.freeze-col-product.has-administration,
#tbl_opportunity_items.administration-closed tbody tr td.freeze-col-product.has-administration {
    left: 68px !important;
    /* After line number (53px) + administration closed (15px) */
}

/* When administration is open, adjust product column position */
#tbl_order_items.administration-open thead tr th.freeze-col-product.has-administration,
#tbl_offer_items.administration-open thead tr th.freeze-col-product.has-administration,
#tbl_opportunity_items.administration-open thead tr th.freeze-col-product.has-administration,
#tbl_order_items.administration-open tbody tr td.freeze-col-product.has-administration,
#tbl_offer_items.administration-open tbody tr td.freeze-col-product.has-administration,
#tbl_opportunity_items.administration-open tbody tr td.freeze-col-product.has-administration {
    left: 303px !important;
    /* After line number (53px) + administration open (250px) */
}

/* Ensure header frozen columns have higher z-index */
#tbl_order_items thead tr th.freeze-col-line-no,
#tbl_offer_items thead tr th.freeze-col-line-no,
#tbl_opportunity_items thead tr th.freeze-col-line-no,
#tbl_order_items thead tr th.freeze-col-administration,
#tbl_offer_items thead tr th.freeze-col-administration,
#tbl_opportunity_items thead tr th.freeze-col-administration,
#tbl_order_items thead tr th.freeze-col-product,
#tbl_offer_items thead tr th.freeze-col-product,
#tbl_opportunity_items thead tr th.freeze-col-product {
    z-index: 11;
}

/* Hover effect for frozen columns - same color as normal rows when row is hovered */
#tbl_order_items tbody tr:hover td.freeze-col-line-no,
#tbl_offer_items tbody tr:hover td.freeze-col-line-no,
#tbl_opportunity_items tbody tr:hover td.freeze-col-line-no,
#tbl_order_items tbody tr:hover td.freeze-col-administration,
#tbl_offer_items tbody tr:hover td.freeze-col-administration,
#tbl_opportunity_items tbody tr:hover td.freeze-col-administration,
#tbl_order_items tbody tr:hover td.freeze-col-product,
#tbl_offer_items tbody tr:hover td.freeze-col-product,
#tbl_opportunity_items tbody tr:hover td.freeze-col-product {
    background-color: #e6f1ff !important;
}

/* Product table: full-screen workspace (order / offer / opportunity edit) */
/* Toggle lives in sticky # column header so it stays visible when scrolling */
.freeze-col-line-no-header-inner {
    min-width: 0;
}

.freeze-col-line-no-with-fullscreen .freeze-col-line-no-label {
    flex: 1 1 auto;
    align-self: flex-start;
    min-width: 0;
    line-height: 1.2;
    text-align: left;
}

.freeze-col-line-no-with-fullscreen .table-freeze-panes-toggle {
    flex-shrink: 0;
    align-self: flex-start;
    margin-left: 1rem;
    padding-top: 0;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    box-shadow: none;
    background-color: transparent;
    color: #000000;
}

.freeze-col-line-no-with-fullscreen .table-freeze-panes-toggle:hover,
.freeze-col-line-no-with-fullscreen .table-freeze-panes-toggle:focus {
    color: #6c757d;
    background-color: transparent;
    box-shadow: none;
}

.table-freeze-panes-container.is-fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    z-index: 1040;
    margin: 0;
    padding: 8px;
    background-color: #fff;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.25);
    align-items: flex-start;
}

/* When fullscreen is on the wrapper, strip inner padding/shadow so layout is not doubled */
.table-freeze-panes-wrapper.is-fullscreen > .table-freeze-panes-container.is-fullscreen {
    padding: 0;
    background-color: transparent;
    box-shadow: none;
    z-index: auto;
}

/* Bootstrap .row parent uses display:flex with align-items:stretch by default.
   In fullscreen the container is 100vh; a stretched <table> flex item makes the
   browser distribute extra height across rows (worst with 1-2 product rows).
   Pin the table to its natural height so rows stay compact. */
.table-freeze-panes-container.is-fullscreen > table {
    align-self: flex-start;
    flex: 0 0 auto;
    height: auto;
    width: 100%;
}

.table-freeze-panes-container.is-fullscreen .equipment-accordion-header {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}

body.has-fullscreen-table {
    overflow: hidden;
}

/* Document line custom fields: hide input when product has no value (e.g. super product rows) */
.custom_field_col[data-has-value="false"] .custom-field-input-container {
    display: none !important;
}

.expired-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

.expired-wrapper .btn {
    opacity: 0.85;
    /* optional faded effect */
}

.expired-stamp {
    position: absolute;
    top: 100%;
    left: 65%;
    transform: translate(-50%, -50%) rotate(-5deg);

    border: 2px dashed #C6272C;
    color: #C6272C;

    font-weight: 700;
    font-size: 0.75rem;
    padding: 2px 8px;

    background: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 1px;
    pointer-events: none;
}

.service-report-signature-preview {
    max-width: 260px;
    max-height: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.service-report-select-options-container .service-report-option-index-col {
    width: 72px;
}

.service-report-select-options-container .service-report-option-index-col input {
    width: 72px;
    max-width: 72px;
}

.service-report-select-options-container .service-report-option-value-col {
    width: auto;
}

.service-report-select-options-container .service-report-option-delete-col {
    width: 48px;
}

/* Order / offer / opportunity line: equipment accordion below product row */
/* Tight vertical join: product row gets .product-has-accordion from main.js when accordion visible */
.equipment-accordion-row > td {
    padding-top: 0;
    padding-bottom: 0;
    background-color: #fff;
}

/* Indent equipment block under product column by line nesting level */
#tbl_order_items tr.equipment-accordion-row[level="0"] .equipment-accordion,
#tbl_offer_items tr.equipment-accordion-row[level="0"] .equipment-accordion,
#tbl_opportunity_items tr.equipment-accordion-row[level="0"] .equipment-accordion {
    margin-left: 20px;
}

/* Indent equipment block under product column by line nesting level */
#tbl_order_items tr.equipment-accordion-row[level="1"] .equipment-accordion,
#tbl_offer_items tr.equipment-accordion-row[level="1"] .equipment-accordion,
#tbl_opportunity_items tr.equipment-accordion-row[level="1"] .equipment-accordion {
    margin-left: 60px;
}

#tbl_order_items tr.equipment-accordion-row[level="2"] .equipment-accordion,
#tbl_offer_items tr.equipment-accordion-row[level="2"] .equipment-accordion,
#tbl_opportunity_items tr.equipment-accordion-row[level="2"] .equipment-accordion {
    margin-left: 100px;
}

/* View pages (#tbl_order_items): equipment block joins product row like edit */
#tbl_order_items tr.product-row-has-equipment-view > td {
    border-bottom: 0;
}

/* View-only: no bottom border on equipment accordion block (edit keeps .equipment-accordion border) */
tr.equipment-view-equipment-row .equipment-accordion {
    border-bottom: 0;
}

.equipment-view-readonly.equipment_table > thead > tr > th {
    vertical-align: middle;
}

.equipment-view-readonly.equipment_table > tbody > tr:last-child > td,
.equipment-view-readonly.equipment_table > tfoot > tr:last-child > td {
    border-bottom: 0;
}

/* View equipment table: slightly larger than edit table-sm */
.equipment-view-readonly.equipment_table {
    font-size: 0.9375rem;
}

.equipment-view-readonly.equipment_table.table-sm > thead > tr > th,
.equipment-view-readonly.equipment_table.table-sm > tbody > tr > td,
.equipment-view-readonly.equipment_table.table-sm > tfoot > tr > td {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.65rem;
    padding-right: 0.65rem;
}

.equipment-view-readonly.equipment_table.table-sm > thead > tr > th.equipment-th-line-no,
.equipment-view-readonly.equipment_table.table-sm > tbody > tr > td.equipment-td-line-no {
    padding-left: 0.4rem;
    padding-right: 0.4rem;
}

.equipment-view-rip-icon {
    font-size: 24px;
}

.equipment-view-rip-icon-muted {
    color: #949ca9;
}

#tbl_order_items tbody tr[data-formset-form].product-has-accordion > td,
#tbl_offer_items tbody tr[data-formset-form].product-has-accordion > td,
#tbl_opportunity_items tbody tr[data-formset-form].product-has-accordion > td {
    border-bottom: 0;
}

.equipment-accordion {
    background-color: #fff;
    border-bottom: 1px solid #dee2e6;
}

.equipment-accordion-header {
    color: #212529;
    border: 0;
    box-shadow: none;
}

.equipment-accordion-header:hover,
.equipment-accordion-header:focus {
    color: #111;
    text-decoration: none;
    background-color: #e9ecef;
    box-shadow: none;
}

.equipment-accordion-header:focus {
    outline: 1px solid #ced4da;
    outline-offset: -1px;
}

.equipment-accordion-label {
    font-weight: 400;
    color: inherit;
}

.equipment-accordion-icon {
    display: inline-block;
    transition: transform 0.2s ease;
}

.equipment-accordion-header-open .equipment-accordion-icon {
    transform: rotate(90deg);
}

.equipment-accordion-body {
    overflow: hidden;
    transition: max-height 0.28s ease;
    max-height: 2400px;
}

.equipment-accordion-body.collapsed {
    max-height: 0;
}

.equipment-accordion-body .equipment_table {
    margin-bottom: 0;
    width: auto;
    max-width: 100%;
    table-layout: auto;
}

/* Add equipment: same plus icon as other add-row buttons, fixed width */
a[equipment-formset-add].equipment-formset-add-btn {
    width: 75px;
    min-width: 75px;
}

/* Spacing between equipment table columns (order / offer / opportunity lines) */
.equipment_table > thead > tr > th,
.equipment_table > tbody > tr > td {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    vertical-align: middle;
}

.equipment_table > thead > tr > th {
    font-weight: 400;
}

.equipment_table > thead > tr > th.equipment-th-line-no,
.equipment_table > tbody > tr > td.equipment-td-line-no {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

/* UM sits in-flow beside quantity (.equipment-qty-um-group); normal cell padding */
.equipment-td-qty {
    padding-right: 0.5rem;
}

/* Quantity + UM: one field (shared outer border, no seam between value and UM) */
.equipment_table .equipment-qty-um-group,
.custom-form-set .equipment-qty-um-group {
    max-width: max-content;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    background-color: #fff;
    overflow: hidden;
}

.equipment_table .equipment-qty-um-group:focus-within,
.custom-form-set .equipment-qty-um-group:focus-within {
    border-color: #80bdff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.equipment_table .equipment-qty-um-group:has(.form-control.is-invalid),
.custom-form-set .equipment-qty-um-group:has(.form-control.is-invalid) {
    border-color: #dc3545;
}

.equipment_table .equipment-qty-um-group:has(.form-control.is-invalid):focus-within,
.custom-form-set .equipment-qty-um-group:has(.form-control.is-invalid):focus-within {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.equipment_table .equipment-qty-um-group .profile_um_span,
.custom-form-set .equipment-qty-um-group .profile_um_span {
    position: static;
    transform: none;
    top: auto;
    right: auto;
    line-height: 1.5;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin-left: 0;
    border: none;
    border-radius: 0;
    min-width: 1.75rem;
    padding-left: 0.35rem;
    padding-right: 0.5rem;
}

.equipment_table .equipment-qty-um-group input[id$="-equipment_quantity"].form-control,
.custom-form-set .equipment-qty-um-group input.form-control {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.equipment_table .equipment-qty-um-group input[id$="-equipment_quantity"].form-control:focus,
.custom-form-set .equipment-qty-um-group input.form-control:focus {
    outline: 0;
    box-shadow: none !important;
}

/* Base width until JS runs; ch-based width set in adjustOrderEquipmentNumericFieldWidths */
.equipment_table input[id$="-equipment_quantity"].form-control,
.equipment_table input.equipment-input-duration.form-control,
.equipment_table td.equipment-td-cost input.form-control {
    display: inline-block;
    width: 10ch;
    min-width: 8ch;
    max-width: 42ch;
    box-sizing: border-box;
    /* Global INPUT[type=text].form-control uses line-height 2–3; that misaligns text in compact cells */
    line-height: 1.5 !important;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    vertical-align: middle;
}

.equipment_table input.equipment-input-duration.form-control {
    text-align: center;
}

/* Line-level totals next to "Adauga Echipament" (offer_show_costs): same compact sizing as row inputs */
.equipment_table .equipment-add-footer-td .equipment-footer-line-total-wrap input.form-control,
.equipment_table .equipment-add-footer-td input.equipment-footer-line-total.form-control {
    display: inline-block;
    width: 10ch;
    min-width: 8ch;
    max-width: 42ch;
    box-sizing: border-box;
    line-height: 1.5 !important;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    vertical-align: middle;
}

.equipment_table .equipment-add-footer-td input.equipment-footer-line-total.form-control {
    text-align: center;
}

/* Warning strip: same font size as "Echipamente" (1rem); label size unchanged */
.equipment-needs-config {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    font-weight: 400;
    line-height: 1.3;
    color: #212529;
    background-color: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 0.25rem;
    padding: 0.2rem 0.55rem 0.2rem 0.45rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.equipment-needs-config-icon {
    font-size: 1em;
    color: #212529;
}

/* Offer totals row: total equipment stacked under total product cost; clock beside equipment cost */
.offer-total-product-cost-cell .offer-total-product-cost-wrap {
    width: 100%;
}

.offer-total-equipment-under-product .offer-total-equipment-input-wrap {
    min-width: 0;
}

/* Match table header / help icon tone; transparent like other icon buttons */
.offer-total-manufacture-clock-btn {
    background-color: transparent;
    box-shadow: none;
    color: #8897aa;
    font-size: 14px;
    line-height: 1;
}

.offer-total-manufacture-clock-btn:hover,
.offer-total-manufacture-clock-btn:focus,
.offer-total-manufacture-clock-btn:active {
    background-color: transparent;
    box-shadow: none;
    color: #6c757d;
}

.offer-total-manufacture-clock-btn i {
    font-size: 14px;
    display: block;
    line-height: 1;
}

.offer-total-equipment-with-clock .offer-total-manufacture-clock-btn {
    align-self: center;
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.popover.offer-total-manufacture-popover {
    max-width: 12rem;
}

/* Offer view: align product cost and total equipment decimals; clock in right column */
.offer-total-cost-view-grid {
    display: grid;
    grid-template-columns: minmax(min-content, 1fr) auto;
    column-gap: 0.35rem;
    row-gap: 0.35rem;
    align-items: baseline;
    justify-items: end;
    width: 100%;
    max-width: 100%;
    font-variant-numeric: tabular-nums;
}

.offer-total-cost-view-grid-product {
    grid-column: 1;
    grid-row: 1;
    text-align: right;
    white-space: nowrap;
    overflow-wrap: normal;
    min-width: min-content;
}

.offer-total-cost-view-grid-equipment {
    grid-column: 1;
    grid-row: 2;
    text-align: right;
    white-space: nowrap;
    overflow-wrap: normal;
    min-width: min-content;
}

.offer-total-cost-view-grid-equipment .offer-total-equipment-with-clock-wrap {
    text-align: right;
    white-space: nowrap;
}

.offer-total-cost-view-grid-clock {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    align-self: baseline;
    display: inline-flex;
    align-items: center;
    line-height: 1;
    position: relative;
    top: -0.06em;
}

.offer-total-cost-view-grid-clock i {
    display: block;
    line-height: 1;
}

.profile-calculator-btn {
    flex-shrink: 0;
    width: calc(1.5em + 0.5rem + 2px);
    height: calc(1.5em + 0.5rem + 2px);
    min-width: calc(1.5em + 0.5rem + 2px);
    padding: 0;
    margin-left: 0.5rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.profile-calculator-btn:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
}

.profile-calculator-btn i {
    font-size: 1rem;
    line-height: 1;
}

/* Compact toggle columns (Implicit / Client) */
#tbl_profile_items td:has(.switchery) {
    min-width: 60px;
}

.equipment-profile-bool-icon {
    font-size: 24px;
}

.equipment-profile-bool-icon-off {
    color: #949ca9;
}

.profile-config-modal-body {
    overflow: auto;
    max-height: 650px;
}

.profile-config-modal-dialog {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

.profile-config-modal-speed-row {
    margin-bottom: 0.75rem;
}

.profile-config-modal-speed-row > [class*="col-"] {
    min-width: 0;
    padding-left: 6px;
    padding-right: 6px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

/* Client-side validation messages: stack under control and wrap within column */
.profile-config-modal .profile-modal-inline-error {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    flex: 0 0 auto;
    margin-top: 4px;
    margin-bottom: 0;
}

.profile-config-modal .profile-modal-field {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
}

.profile-config-modal-speed-row > [class*="col-"]:first-child {
    padding-left: 0;
}

.profile-config-modal-speed-row > [class*="col-"]:last-child {
    padding-right: 0;
}

.profile-config-modal .select2-container {
    min-width: 0;
    width: 100% !important;
    max-width: 100%;
}

/* Uniform control height: text inputs, readonly, and Select2 single (profile modal) */
.profile-config-modal .form-control {
    height: calc(1.5em + 0.5rem + 2px);
    min-height: calc(1.5em + 0.5rem + 2px);
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
}

.profile-config-modal .select2-container--default .select2-selection--single {
    height: calc(1.5em + 0.5rem + 2px) !important;
    min-height: calc(1.5em + 0.5rem + 2px);
    border-radius: 0.2rem;
}

.profile-config-modal .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: calc(1.5em + 0.5rem);
    padding-left: 0.5rem;
    padding-right: 1.65rem;
    font-size: 0.875rem;
}

.profile-config-modal .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: calc(1.5em + 0.5rem);
    top: 1px;
    right: 0.35rem;
}

.profile-config-modal .input-group {
    align-items: stretch;
}

.profile-config-modal .input-group-append .input-group-text,
.profile-config-modal .input-group-prepend .input-group-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: calc(1.5em + 0.5rem + 2px);
    padding: 0.25rem 0.55rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-color: #ced4da;
}

.profile-modal-label {
    display: block;
    font-weight: 600;
    font-size: 0.9rem;
    color: #495057;
    margin-bottom: 0.35rem;
}

.profile-modal-field {
    margin-bottom: 1rem;
}

.profile-config-modal .input-group .equipment-cost-custom {
    min-width: 0;
    flex: 1 1 auto;
    width: 1%;
    padding-right: 0.5rem;
}

.profile-cost-adjust-info {
    font-size: 0.875rem;
    white-space: normal;
    line-height: 1.4;
}

.profile-configurare-btn.profile-config-has-error {
    border-color: #dc3545;
    color: #dc3545;
}

.profile-config-error-badge {
    display: block;
    color: #dc3545;
    font-size: 0.72rem;
    font-weight: 600;
    margin-top: 3px;
    line-height: 1.2;
    white-space: nowrap;
}


/* Notification permission floating popup (global — chat page + operator transfer) */
#notif-permission-popup {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 340px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.14), 0 2px 8px rgba(0,0,0,0.08);
    z-index: 9999;
    transform: translateY(120%);
    opacity: 0;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.25s ease;
    overflow: hidden;
}

#notif-permission-popup.notif-popup-visible {
    transform: translateY(0);
    opacity: 1;
}

#notif-permission-popup.notif-popup-hiding {
    transform: translateY(120%);
    opacity: 0;
}

.notif-popup-header {
    display: flex;
    align-items: flex-start;
    padding: 16px 16px 12px 16px;
    gap: 12px;
}

.notif-popup-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, #4e73df 0%, #224abe 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
}

.notif-popup-icon.notif-popup-icon-blocked {
    background: linear-gradient(135deg, #f6c23e 0%, #e0a800 100%);
}

.notif-popup-text {
    flex: 1;
    min-width: 0;
}

.notif-popup-title {
    font-size: 14px;
    font-weight: 600;
    color: #2d3748;
    margin: 0 0 4px 0;
    line-height: 1.3;
}

.notif-popup-desc {
    font-size: 12px;
    color: #718096;
    margin: 0;
    line-height: 1.4;
}

.notif-popup-close {
    flex-shrink: 0;
    background: none;
    border: none;
    color: #a0aec0;
    font-size: 16px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    transition: color 0.15s;
}

.notif-popup-close:hover {
    color: #4a5568;
}

.notif-popup-actions {
    padding: 0 16px 16px 16px;
    display: flex;
    gap: 8px;
}

.notif-popup-actions .btn {
    font-size: 13px;
    border-radius: 8px;
    padding: 6px 16px;
}

.notif-popup-steps {
    padding: 0 16px 16px 16px;
    border-top: 1px solid #f0f0f0;
    margin-top: 0;
}

.notif-popup-steps-title {
    font-size: 11px;
    font-weight: 600;
    color: #a0aec0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 12px 0 8px 0;
}

.notif-popup-steps ol {
    margin: 0;
    padding-left: 18px;
}

.notif-popup-steps ol li {
    font-size: 12px;
    color: #4a5568;
    line-height: 1.5;
    margin-bottom: 2px;
}

.notif-popup-steps ol li strong {
    color: #2d3748;
}

.notif-popup-browser-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    background: #edf2f7;
    color: #4a5568;
    border-radius: 20px;
    padding: 2px 8px;
    margin-bottom: 8px;
}

@media (max-width: 480px) {
    #notif-permission-popup {
        right: 12px;
        left: 12px;
        width: auto;
        bottom: 16px;
    }
}

/* Transfer modal: wider than default modal-xl (1140px) */
@media (min-width: 576px) {
    .modal-dialog.modal-transfer-stock {
        max-width: min(96vw, 1400px);
    }
}

/*
 * Time popup (#time_modal): desktop-safe fallback rules that replace the
 * inline styles previously set on the form and modal-body. Loaded everywhere
 * so the desktop look stays consistent across pages that open the popup.
 */
#time_modal .time-form {
    margin: 10px;
}

#time_modal .time-form .modal-body {
    max-height: 510px;
    overflow: auto;
}

.travel-order-select-action {
    min-width: 280px;
}

.travel-route-drag-handle {
    cursor: grab;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #6c757d;
}

.travel-route-drag-handle:active {
    cursor: grabbing;
}

.travel-route-row-dragging {
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.18);
}

/* Override Bootstrap .table-responsive overflow so typeahead is not clipped. */
.table-responsive.travel-route-stops-table-wrap {
    overflow: visible;
}

#travelRouteStopsTable .js-route-from,
#travelRouteStopsTable .js-route-to {
    min-width: 10rem;
}

/* Position context for bootstrap3-typeahead inside table cells. */
.travel-route-typeahead-wrap {
    position: relative;
}

.travel-route-typeahead-wrap > .typeahead.dropdown-menu {
    /* Override plugin top/left from .position() — unreliable in <td>. */
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    z-index: 1050;
    max-height: 240px;
    overflow-y: auto;
}

.travel-order-row-actions,
.expense-settlement-row-actions {
    white-space: nowrap;
}

#travelRouteSheetSection #travelRouteConsumption,
#travelRouteSheetSection #travelRouteStopsTable .js-route-km {
    text-align: left;
}

#travelOrderTable th.accounting-doc-number-col,
#travelOrderTable td.accounting-doc-number-col,
#expenseSettlementTable th.accounting-doc-number-col,
#expenseSettlementTable td.accounting-doc-number-col {
    min-width: 7rem;
    white-space: nowrap;
}

#travelOrderTable th.accounting-doc-date-col,
#travelOrderTable td.accounting-doc-date-col,
#expenseSettlementTable th.accounting-doc-date-col,
#expenseSettlementTable td.accounting-doc-date-col {
    min-width: 6.75rem;
    white-space: nowrap;
}

.travel-order-row-actions .btn,
.expense-settlement-row-actions .btn {
    border-radius: 50% !important;
    width: 35px;
    height: 35px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* -------------------------------------------------------------------------
 * Field chips picker — api-external add/edit (GET field selection)
 * ------------------------------------------------------------------------- */
.field-chips-container {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 4px 0;
}

/* One section block per group (Comanda / Client / Produs) */
.chip-group-section {
    margin-bottom: 12px;
}

/* Section header row: label + mini select/deselect buttons */
.chip-group-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    padding-bottom: 4px;
    border-bottom: 1px solid #dee2e6;
}

.chip-group-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6c757d;
    flex: 1;
}


/* Chips grid inside a section — three columns, chip sized to its label */
.chip-group-chips {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
}

.field-chip {
    display: inline-flex;
    align-items: center;
    justify-self: start;        /* chip is only as wide as its label */
    padding: 4px 14px;
    border: 1px solid #adb5bd;
    border-radius: 20px;
    background: #fff;
    color: #495057;
    font-size: 0.8125rem;
    line-height: 1.4;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    user-select: none;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Responsive: 2 columns on tablet */
@media (max-width: 991px) {
    .chip-group-chips {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Responsive: 1 column on mobile */
@media (max-width: 575px) {
    .chip-group-chips {
        grid-template-columns: 1fr;
    }
}

.field-chip:hover {
    border-color: #007bff;
    color: #007bff;
}

.field-chip.active {
    background: #007bff;
    border-color: #007bff;
    color: #fff;
}

.field-chip.active:hover {
    background: #0069d9;
    border-color: #0069d9;
    color: #fff;
}

.quickreply-order-header {
    color: #000;
    width: 5rem;
    text-align: center;
}

.quickreply-order-cell {
    text-align: center;
    vertical-align: middle;
    width: 5rem;
}

.quickreply-order-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    background-color: #e9ecef;
    color: #495057;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.quickreply-drag-handle {
    cursor: grab;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6c757d;
    font-size: 1rem;
    padding: 0.125rem 0;
}

.quickreply-drag-handle:active {
    cursor: grabbing;
}

.quickreply-row-dragging {
    opacity: 0.35;
}

.quickreply-drop-line-row td {
    padding: 0;
    border: none;
    height: 0;
    line-height: 0;
}

.quickreply-drop-line {
    height: 3px;
    background-color: #007bff;
    border-radius: 2px;
    margin: 0.125rem 0;
}

.quickreply-drop-preview-row {
    opacity: 0.65;
    background-color: #e7f1ff;
    box-shadow: inset 0 0 0 2px #007bff;
    pointer-events: none;
}

.quickreply-drop-preview-row td {
    pointer-events: none;
}

.quickreply-order-toast {
    position: fixed;
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 9999;
    min-width: 14rem;
    padding: 0.75rem 1.25rem;
    border-radius: 0.375rem;
    background-color: #28a745;
    color: #fff;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
    opacity: 0;
    transform: translateY(0.5rem);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
}

.quickreply-order-toast.quickreply-order-toast-visible {
    opacity: 1;
    transform: translateY(0);
}

.service-guarantee-status {
    font-size: 0.8125rem;
    font-weight: 500;
}

.service-guarantee-status--in-warranty {
    color: #28a745;
}

.service-guarantee-status--out-of-warranty {
    color: #dc3545;
}

.client-select-info.service-guarantee-status--in-warranty {
    color: #28a745 !important;
}

.client-select-info.service-guarantee-status--out-of-warranty {
    color: #dc3545 !important;
}

.service-guarantee-calc-toggle {
    margin-top: 0.25rem;
    line-height: 1.2;
}

.service-guarantee-calc-link {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 500;
    color: #007bff;
    text-decoration: none;
}

.service-guarantee-calc-link:hover {
    color: #0056b3;
    text-decoration: underline;
}

.service-guarantee-calc-link i {
    margin-right: 0.25rem;
}

.service-guarantee-calc-panel {
    margin-top: 0.75rem;
    padding: 0.75rem;
    background-color: #f5f6f8;
    border: 1px solid #d9dde3;
    border-radius: 0.25rem;
}

.service-guarantee-calc-field + .service-guarantee-calc-field {
    margin-top: 0.75rem;
}

.service-guarantee-calc-label {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #5a6a7a;
}

.service-guarantee-calc-duration-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.service-guarantee-calc-duration {
    max-width: 4.5rem;
}

.service-guarantee-calc-unit {
    max-width: 6rem;
}

.service-guarantee-calc-preview {
    margin-top: 0.75rem;
    font-size: 0.75rem;
    line-height: 1.3;
}

.service-guarantee-calc-preview-result {
    color: #28a745;
    font-weight: 600;
}

.invoice-series-fields-table {
    table-layout: fixed;
    width: 100%;
    max-width: 720px;
}

.invoice-series-fields-table td {
    vertical-align: middle;
}

.invoice-series-col-series {
    width: 90px;
}

.invoice-series-col-label {
    width: 110px;
    white-space: nowrap;
}

.invoice-series-col-number {
    width: 90px;
}

.invoice-series-col-rule {
    width: 180px;
}

.invoice-series-col-actions {
    width: 40px;
}

.invoice-series-fields-table .form-control {
    width: 100%;
}

.outstanding-rules-panel {
    background-color: #fff;
    padding: 0;
    max-width: 720px;
}

.outstanding-rules-table {
    width: 100%;
    max-width: 720px;
}

.outstanding-rules-panel,
.outstanding-rules-panel .outstanding-rule-card-title,
.outstanding-rules-panel .outstanding-rule-card-meta,
.outstanding-rules-panel .outstanding-rules-section-label,
.outstanding-rules-panel .outstanding-rules-table-header,
.outstanding-rules-panel .outstanding-rules-order-item,
.outstanding-rule-modal .modal-title,
.outstanding-rule-modal .modal-body,
.outstanding-rule-modal label,
.outstanding-rule-modal .outstanding-funnel-step-header,
.outstanding-rule-modal .outstanding-rule-footer-settings {
    font-family: Comfortaa, Calibri, sans-serif;
}

.outstanding-rules-section-label {
    font-size: 15px;
    font-weight: 400;
    color: #000;
}

.outstanding-rules-empty {
    font-size: 0.9rem;
    line-height: 1.5;
    padding: 0.75rem 0;
    color: #000;
}

.outstanding-rules-table-header {
    display: grid;
    grid-template-columns: 56px 28px 140px minmax(0, 1fr) 72px 90px;
    gap: 0.75rem;
    align-items: center;
    padding: 0.5rem 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: #000;
    border-bottom: 1px solid #e9ecef;
}

.outstanding-rules-table-header > span:first-child {
    white-space: nowrap;
}

.outstanding-rules-col-pasi,
.outstanding-rules-col-actions {
    text-align: center;
}

.outstanding-rules-table-body {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 0;
}

.outstanding-rules-order-col {
    display: flex;
    flex-direction: column;
}

.outstanding-rules-order-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3.25rem;
    font-weight: 600;
    color: #4c5fd7;
    font-size: 0.9rem;
}

.outstanding-rules-sortable-col {
    min-width: 0;
}

.outstanding-rule-card {
    background-color: #fff;
    border: none;
    border-radius: 0;
    margin-bottom: 0;
}

.outstanding-rule-card-body {
    display: grid;
    grid-template-columns: 28px 140px minmax(0, 1fr) 72px 90px;
    gap: 0.75rem;
    align-items: center;
    padding: 0.65rem 0;
    min-height: 3.25rem;
}

.outstanding-rule-card-dragging {
    opacity: 0.45;
}

.outstanding-rule-drag-handle {
    cursor: grab;
    color: #adb5bd;
    font-size: 1rem;
    text-align: center;
}

.outstanding-rule-drag-handle:active {
    cursor: grabbing;
}

.outstanding-rule-card-content {
    min-width: 0;
    grid-column: span 1;
}

.outstanding-rule-card-title {
    font-weight: 600;
    color: #000;
    margin-bottom: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.outstanding-rule-card-meta {
    display: none;
}

.outstanding-rule-criteria {
    color: #000;
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.outstanding-rule-meta-badge {
    background-color: #eef2ff;
    color: #4c5fd7;
    border-radius: 999px;
    padding: 0.15rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
    justify-self: center;
}

.outstanding-rule-actions {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    justify-self: center;
    gap: 4px;
    width: 100%;
}

.outstanding-rule-actions .tabledit-edit-button,
.outstanding-rule-actions .tabledit-delete-button {
    float: none !important;
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #fff;
}

.outstanding-rule-actions .tabledit-edit-button i,
.outstanding-rule-actions .tabledit-delete-button i {
    margin: 0 !important;
    margin-top: 0 !important;
    line-height: 1;
}

.outstanding-rule-modal .modal-dialog {
    max-height: calc(100vh - 3rem);
    margin: 1.5rem auto;
}

.outstanding-rule-modal .modal-dialog.modal-dialog-centered {
    display: flex;
    align-items: flex-start;
    min-height: calc(100% - 3rem);
    padding: 1.5rem 0;
}

.outstanding-rule-modal .modal-content {
    border: none;
    border-radius: 1rem;
    box-shadow: 0 16px 48px rgba(15, 23, 42, 0.18);
    max-height: calc(100vh - 3rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.outstanding-rule-modal .modal-header,
.outstanding-rule-modal .modal-footer {
    flex-shrink: 0;
}

.outstanding-rule-modal .modal-dialog-scrollable .modal-body {
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1 1 auto;
    min-height: 0;
}

.outstanding-field-with-icon {
    position: relative;
}

.outstanding-field-icon {
    position: absolute;
    left: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    z-index: 2;
    pointer-events: none;
}

.outstanding-field-control {
    padding-left: 2.35rem;
}

.outstanding-field-with-icon .select2-container {
    width: 100% !important;
}

.outstanding-field-with-icon .select2-container .select2-selection--single,
.outstanding-field-with-icon .select2-container .select2-selection--multiple {
    min-height: calc(1.5em + 0.75rem + 2px);
    padding-left: 1.75rem;
    border-color: #ced4da;
    border-radius: 0.375rem;
}

.outstanding-field-with-icon .select2-container--default .select2-selection--multiple {
    padding-top: 0.2rem;
}

.outstanding-funnel-section-title {
    font-weight: 600;
    color: #000;
    margin-bottom: 0.15rem;
}

.outstanding-funnel-step-header-row {
    display: grid;
    grid-template-columns: var(--step-grid, 40px 12rem 80px 1.4fr 44px);
    gap: 12px;
    align-items: center;
    padding: 0.35rem 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: #000;
    border-bottom: 1px solid #e9ecef;
    margin-bottom: 0.5rem;
}

.outstanding-funnel-step {
    background-color: #fff;
    border: none;
    border-radius: 0;
    padding: 0.35rem 0;
    margin-bottom: 0.25rem;
}

.outstanding-funnel-step-row {
    display: grid;
    /* Fixed timing column so long labels (e.g. In ziua expirarii) do not shift days/template. */
    grid-template-columns: var(--step-grid, 40px 12rem 80px 1.4fr 44px);
    gap: 12px;
    align-items: center;
}

.outstanding-step-badge {
    min-width: 1.85rem;
    height: 1.85rem;
    line-height: 1.85rem;
    border-radius: 50%;
    padding: 0;
    text-align: center;
    background-color: #eef2ff;
    color: #4c5fd7;
    font-weight: 600;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.outstanding-step-timing {
    width: 100%;
    min-width: 0;
}

.outstanding-step-days {
    width: 100%;
    max-width: 80px;
}

.outstanding-step-days:disabled {
    background-color: #f1f3f5;
    color: #adb5bd;
}

.outstanding-step-template-select {
    min-width: 0;
}

.outstanding-rule-send-hour-input {
    max-width: 8rem;
}

.outstanding-send-hour-field {
    max-width: 10rem;
}

.outstanding-send-hour-field .select2-container {
    width: 100% !important;
}

.outstanding-send-hour-select2,
.outstanding-send-hour-dropdown {
    z-index: 2000 !important;
}

.outstanding-send-hour-dropdown .select2-results__options {
    max-height: 240px;
}

.outstanding-send-hour-inline {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.outstanding-send-hour-inline-label {
    font-size: 0.95rem;
    font-weight: 400;
    color: #000;
    margin-bottom: 0;
    white-space: nowrap;
}

.outstanding-rule-info-message {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: #000;
    margin-top: 1rem;
}

.outstanding-rule-info-message i {
    color: #4c7cf3;
    margin-top: 0.15rem;
}

#datepickers-container .datepicker {
    z-index: 1061;
}

.outstanding-add-step-btn {
    border-style: dashed;
    border-width: 2px;
    border-color: #4c7cf3;
    color: #4c7cf3;
    background-color: #eef3fe;
    font-weight: 600;
}

.outstanding-add-step-btn:hover,
.outstanding-add-step-btn:focus {
    border-color: #3b66d4;
    color: #2f57c0;
    background-color: #dce7fd;
}

.outstanding-add-step-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    border-color: #94a3b8;
    color: #64748b;
    background-color: #f1f5f9;
}

.outstanding-funnel-timing-hint {
    font-size: 0.85rem;
    padding: 0.5rem 0.75rem;
}

.outstanding-rule-footer-settings {
    border-top: 1px solid #e9ecef;
}

.outstanding-shadow-warning {
    max-width: 720px;
    font-size: 0.88rem;
    border-radius: 0.5rem;
    color: #664d03;
    background-color: #fff3cd;
    border-color: #ffecb5;
}

#outstanding-shadow-warnings {
    max-width: 720px;
}

.outstanding-rule-modal .select2-container .select2-selection--single,
.outstanding-rule-modal .select2-container .select2-selection--multiple {
    min-height: calc(1.5em + 0.75rem + 2px);
}

.outstanding-rule-modal .datepicker {
    z-index: 1060;
}

.outstanding-select-separator {
    color: #ccc;
    font-size: 0.85em;
}

/* Sameday courier list: keep the wide action table horizontally scrollable. */
.sameday-table-wrap {
    min-width: 1200px;
}

.sameday-actions {
    float: right;
}

.sameday-action-btn {
    float: none;
    margin: 5px;
}

.sameday-modal-dialog {
    max-width: 1200px;
}

/* The AWB form is taller than most viewports. This theme ships Bootstrap
   4.1.3, which predates .modal-dialog-scrollable, so the modal body has to be
   made scrollable by hand (same approach as the report modals in reports.css):
   without it the PAGE scrolls behind a fixed modal and the footer -- with
   Estimeaza/Confirma -- is unreachable, so no AWB can be submitted.
   NB the AWB modal nests <form> between .modal-content and the body/footer,
   so the form is part of the flex chain too or the body never gets a height. */
#generateSamedayAwbModal .modal-dialog {
    max-height: calc(100vh - 2rem);
    margin: 1rem auto;
}

#generateSamedayAwbModal .modal-content {
    max-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#generateSamedayAwbModal .sameday-form {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1 1 auto;
}

#generateSamedayAwbModal .modal-header,
#generateSamedayAwbModal .modal-footer {
    flex-shrink: 0;
}

#generateSamedayAwbModal .modal-body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    flex: 1 1 auto;
    min-height: 0;
}

/* Sameday AWB recipient address option buttons (edit/delete) */
.sameday-addr-btn {
    width: 32px;
    height: 30px;
    font-size: 11px;
    padding: 6px 10px;
}

/* DOTRO SmartPBX call journal */
.dotro-icon-btn {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    color: #fff;
}
.dotro-icon-btn + .dotro-icon-btn {
    margin-left: 4px;
}
.dotro-expand-cell {
    width: 36px;
    text-align: center;
}
.dotro-expand-btn {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #d4dde3;
    background: #fff;
    color: #4c7cf3;
    cursor: pointer;
    transition: transform 0.15s ease;
}
.dotro-expand-btn.open {
    transform: rotate(90deg);
}
.dotro-addon-date {
    min-width: 250px;
}

/* KPI band: one rounded card, 4 equal segments with thin dividers */
.dotro-kpi-band {
    display: flex;
    background: #fff;
    border: 1px solid #e9edf0;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}
.dotro-kpi-seg {
    flex: 1 1 0;
    text-align: center;
    padding: 18px 12px;
}
.dotro-kpi-seg + .dotro-kpi-seg {
    border-left: 1px solid #e9edf0;
}
.dotro-kpi-value {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.1;
    color: #1f2d3d;
}
.dotro-kpi-value.is-danger {
    color: #C6272C;
}
.dotro-kpi-value.is-success {
    color: #2BCD72;
}
.dotro-kpi-label {
    margin-top: 6px;
    font-size: 13px;
    color: #8a97a5;
}

/* Journal card: single 24px inner padding (spec img01), replacing the
   competing card-body/col-lg-12 gutter stack. */
/* Filter bar controls must never wrap their input-group addons (rev2 §1). */
.dotro-journal-card .form-row .input-group { flex-wrap: nowrap; }
.dotro-journal-card .form-row .form-control { min-width: 0; }
.dotro-journal-card .card-body {
    padding: 24px;
}

/* Status pill (spec ~115x41 at 1400px) */
.dotro-status-badge {
    font-size: 15px;
    font-weight: 700;
    padding: 13px 22px;
    border-radius: 8px;
    min-width: 115px;
    text-align: center;
    display: inline-block;
    letter-spacing: 0.2px;
    line-height: 1;
}
/* Saturated, solid status colours (the app theme renders the base .badge-*
   classes as light pastels; the DOTRO journal spec wants strong solid fills).
   Scoped to .dotro-status-badge so other badges are untouched. Nepreluat=red,
   Revenit=green, Initiat/Preluat=green, other=amber. */
.dotro-status-badge.badge-danger {
    background-color: var(--dotro-red);
    color: #fff;
}
.dotro-status-badge.badge-info {
    background-color: #2bcd72;
    color: #fff;
}
.dotro-status-badge.badge-success {
    background-color: #2bcd72;
    color: #fff;
}
.dotro-status-badge.badge-warning {
    background-color: #f0ad4e;
    color: #fff;
}

/* Client cell: name + contact line + day-group badge */
.dotro-client-name {
    font-weight: 600;
    color: #1f2d3d;
}
a.dotro-client-name:hover {
    text-decoration: underline;
}
.dotro-contact-person {
    font-size: 12px;
    color: #4c7cf3;
    margin-top: 1px;
}
.dotro-group-badge {
    margin-top: 5px;
}
.dotro-count-badge {
    font-size: 14px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 15px;
    line-height: 1;
    display: inline-block;
}
.dotro-count-badge i {
    margin-right: 6px;
    font-size: 13px;
}
.dotro-count-badge--missed {
    background: #FDE9EB;
    color: var(--dotro-red, #C7262E);
}
.dotro-count-badge--answered {
    background: #EAF0FD;
    color: #4C7CF3;
}
.dotro-add-client {
    border-radius: 8px;
    font-size: 12px;
    padding: 4px 12px;
}

/* Round 35px action circles */
.dotro-action-circle {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
}
.dotro-action-circle + .dotro-action-circle {
    margin-left: 6px;
}
.dotro-action-circle:hover {
    color: #fff;
    filter: brightness(0.95);
}
.dotro-action-circle--muted {
    background: #dfe3e8;
    color: #fff;
    cursor: default;
}
.dotro-action-circle--muted:hover {
    color: #fff;
    filter: none;
}
.dotro-actions {
    display: inline-flex;
    align-items: center;
}

/* Expanded "Istoric apeluri pe zi" sub-table */
.dotro-child-wrap {
    background: #fff;
    border: 1px solid #e9edf0;
    border-radius: 12px;
    padding: 16px 18px;
    margin: 6px 0 10px;
}
.dotro-child-title {
    font-weight: 600;
    color: #1f2d3d;
    margin-bottom: 10px;
}
.dotro-child-table {
    width: 100%;
    margin-bottom: 0;
}
.dotro-child-table th {
    font-size: 12px;
    font-weight: 600;
    color: #8a97a5;
    border: none;
    padding: 6px 10px;
}
.dotro-child-table td {
    border-top: 1px solid #eef1f4;
    padding: 10px;
    vertical-align: middle;
    color: #1f2d3d;
}
.dotro-child-empty {
    padding: 8px 0;
    color: #8a97a5;
}
.dotro-last-badge {
    font-size: 10px;
    font-weight: 600;
    padding: 3px 7px;
    border-radius: 10px;
    vertical-align: middle;
}

/* Wave 2: option-card modals (Adauga client / Marcheaza apel ca realizat). */
.dotro-modal .modal-dialog {
    max-width: 560px;
}
.dotro-modal-header {
    background: #f0f2f5;
    border-bottom: none;
    padding: 1.25rem 1.5rem;
}
.dotro-modal-header .modal-title {
    font-weight: 700;
    color: #1f2d3d;
}
.dotro-modal-text {
    color: #1f2d3d;
    margin-bottom: 1.25rem;
}
.dotro-optcard {
    display: flex;
    align-items: center;
    border: 1px solid #e3e7ed;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 14px;
    cursor: pointer;
    background: #fff;
    transition: border-color .15s ease, background-color .15s ease;
}
.dotro-optcard:last-child {
    margin-bottom: 0;
}
.dotro-optcard:hover,
.dotro-optcard:focus {
    border-color: #c7cfda;
    background: #fafbfc;
    outline: none;
}
.dotro-optcard-icon {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    margin-right: 16px;
}
.dotro-optcard-body {
    flex: 1 1 auto;
}
.dotro-optcard-title {
    font-weight: 700;
    color: #1f2d3d;
    margin-bottom: 2px;
}
.dotro-optcard-desc {
    color: #8a97a5;
    font-size: .9rem;
}
.dotro-optcard-chevron {
    flex: 0 0 auto;
    color: #c3cad3;
    font-size: 18px;
    margin-left: 12px;
}

/* Spec §6 (img27): in-modal 2-step "Asociaza contact la client existent". */
.dotro-assoc-step-label {
    font-weight: 700;
    color: #1f2d3d;
    margin-bottom: 12px;
}
.dotro-assoc-search {
    position: relative;
    margin-bottom: 12px;
}
.dotro-assoc-search .fa-search {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #8a97a5;
}
.dotro-assoc-search-input {
    padding-left: 38px;
}
.dotro-assoc-results {
    border: 1px solid #e3e7ed;
    border-radius: 8px;
    overflow: hidden;
}
.dotro-assoc-results:empty {
    display: none;
}
.dotro-client-result {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    cursor: pointer;
    border-bottom: 1px solid #eef1f5;
    color: #1f2d3d;
}
.dotro-client-result:last-child {
    border-bottom: none;
}
.dotro-client-result:hover {
    background: #fafbfc;
}
.dotro-client-result--selected {
    background: #EAF0FD;
    color: #4C7CF3;
    font-weight: 600;
}
.dotro-client-result-check {
    flex: 0 0 auto;
    color: #4C7CF3;
    margin-right: 12px;
    visibility: hidden;
}
.dotro-client-result--selected .dotro-client-result-check {
    visibility: visible;
}
/* The autocomplete `text` HTML is `Name<br/><span class=client-select-info>CUI...`;
   flatten it to one row: name left, grey CUI info right (img27). */
.dotro-client-result br {
    display: none;
}
.dotro-client-result .client-select-info {
    margin-left: auto;
    padding-left: 12px;
    color: #8a97a5;
    font-size: .9rem;
    font-weight: 400;
    white-space: nowrap;
}
.dotro-assoc-divider {
    margin: 18px 0;
    border-top: 1px solid #e3e7ed;
}
.dotro-assoc-step2 {
    display: none;
}
.dotro-assoc-step2--visible {
    display: block;
}
.dotro-assoc-prefix {
    background: #f0f2f5;
    color: #1f2d3d;
}
.dotro-assoc-prefix .fa-caret-down {
    margin-left: 6px;
    color: #8a97a5;
}
.dotro-assoc-hint {
    color: #8a97a5;
    font-size: .9rem;
    margin: 8px 0 0;
}
.dotro-assoc-hint-strong {
    color: #2BCD72;
}
.dotro-assoc-save {
    background: #2BCD72;
    border-color: #2BCD72;
    color: #fff;
    font-weight: 600;
}
.dotro-assoc-save:hover:not(:disabled) {
    background: #25b464;
    border-color: #25b464;
    color: #fff;
}
.dotro-assoc-save:disabled {
    opacity: .55;
}

/* Wave 3: full-width settings page (dotro_integration_edit.html). */
.dotro-settings-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    background: #f0f2f5;
    padding: 20px 28px;
}
.dotro-settings-title {
    font-weight: 700;
    color: #1f2d3d;
    margin: 0;
}
.dotro-settings-subtitle {
    color: #8a97a5;
    margin-top: 4px;
}
.dotro-settings-status {
    color: #2BCD72;
    font-weight: 600;
    white-space: nowrap;
    padding-top: 4px;
}
.dotro-settings-status .fa-circle {
    font-size: 9px;
    vertical-align: middle;
    margin-right: 4px;
}
.dotro-settings-status.is-muted {
    color: #8a97a5;
}
.dotro-settings-body {
    padding: 8px 28px 4px;
}
.dotro-settings-section {
    padding: 20px 0 6px;
}
.dotro-settings-section-title {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    color: #8a97a5;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: 1px solid #e9edf0;
}
.dotro-settings-row {
    margin-bottom: 22px;
}
.dotro-settings-label {
    color: #1f2d3d;
    font-weight: 500;
}
.dotro-settings-help {
    display: block;
    margin-top: 6px;
    color: #8a97a5;
    font-size: 13px;
}
.dotro-settings-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #e8f4fb;
    color: #2a6f97;
    border-radius: 10px;
    padding: 14px 18px;
    margin: 4px 0 8px;
}
.dotro-settings-banner .fa-info-circle {
    font-size: 16px;
    flex: 0 0 auto;
}

/* Mapping table */
.dotro-map-table {
    width: 100%;
    margin-bottom: 8px;
}
.dotro-map-table th {
    font-size: 12px;
    font-weight: 600;
    color: #8a97a5;
    padding: 8px 12px;
    border-bottom: 1px solid #e9edf0;
}
.dotro-map-table td {
    padding: 14px 12px;
    border-bottom: 1px solid #eef1f4;
    vertical-align: middle;
    color: #1f2d3d;
}
.dotro-map-user {
    font-weight: 500;
}
.dotro-ext-badge {
    display: inline-block;
    background: #eef2fb;
    color: #4c7cf3;
    font-weight: 600;
    font-size: 13px;
    padding: 4px 12px;
    border-radius: 8px;
}
.dotro-map-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    cursor: pointer;
}
.dotro-map-btn + .dotro-map-btn {
    margin-left: 6px;
}
.dotro-map-edit {
    background: #eef2fb;
    color: #4c7cf3;
}
.dotro-map-del {
    background: #fceceb;
    color: #c6272c;
}
.dotro-map-editor {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 12px 0;
}
.dotro-map-editor .dotro-map-user-select {
    max-width: 320px;
}
.dotro-map-editor .dotro-map-ext-input {
    max-width: 160px;
}
.dotro-map-add {
    border-radius: 8px;
}

/* Feature toggle rows */
.dotro-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #eef1f4;
}
.dotro-toggle-row:last-child {
    border-bottom: none;
}
.dotro-toggle-title {
    font-weight: 600;
    color: #1f2d3d;
}
.dotro-toggle-desc {
    color: #8a97a5;
    font-size: 13px;
    margin-top: 2px;
}
.dotro-toggle {
    position: relative;
    display: inline-block;
    width: 45px;
    height: 23px;
    flex: 0 0 auto;
    cursor: pointer;
}
.dotro-toggle input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.dotro-toggle-slider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #cdd3db;
    border-radius: 26px;
    transition: background .15s ease;
}
.dotro-toggle-slider::before {
    content: "";
    position: absolute;
    height: 17px;
    width: 17px;
    left: 3px;
    top: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform .15s ease;
}
.dotro-toggle input:checked + .dotro-toggle-slider {
    background: #0878F4;
}
.dotro-toggle input:checked + .dotro-toggle-slider::before {
    transform: translateX(22px);
}

/* Footer */
.dotro-settings-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 18px 28px;
    border-top: 1px solid #e9edf0;
}
.dotro-settings-save {
    background: #2BCD72;
    border-color: #2BCD72;
    color: #fff;
}
.dotro-settings-save:hover {
    background: #24b866;
    border-color: #24b866;
    color: #fff;
}

/* Renunta outline button: rest/hover left color unset upstream -> unreadable
   on hover's darker background (§5.2/§7.2). Scoped fix, ×3 sites (option-modal
   footer, settings footer, mapping-editor). */
.dotro-modal .btn-outline-secondary,
.dotro-settings .btn-outline-secondary {
    background: #fff;
    color: #2b3648;
    border-color: #d6dae2;
    border-radius: 6px;
}
.dotro-modal .btn-outline-secondary:hover,
.dotro-settings .btn-outline-secondary:hover {
    background: #f5f6f8;
    color: #2b3648;
    border-color: #c6ccd6;
}

/* Filtre (funnel) advanced-filter panel + count badge */
.dotro-filter-panel {
    border: 1px solid #e6e9f0;
    border-radius: 8px;
    background: #fafbfe;
    padding: 12px 14px;
    margin: 0 0 14px;
    max-width: 360px;
}
#dotroFilterBtn.active,
#dotroFilterBtn.has-filters {
    background: #4C7CF3;
    border-color: #4C7CF3;
    color: #fff;
}
.dotro-filter-count {
    display: inline-block;
    min-width: 16px;
    height: 16px;
    line-height: 16px;
    padding: 0 4px;
    margin-left: 4px;
    border-radius: 8px;
    background: #C6272C;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
}

/* Note-tab "(Dotro)" attribution: DOTRO-generated ClientNote (created_via
   == "dotro"). No brand logo asset ships in the repo, so the badge is a small
   phone glyph in DOTRO's brand red-orange; swap to the official DOTRO
   logomark in place of the <i> glyph once the client supplies that asset. */
.dotro-note-avatar {
    position: relative;
    display: inline-block;
    line-height: 1;
}
.dotro-note-badge {
    position: absolute;
    right: -4px;
    bottom: -4px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #F0533F;
    color: #fff;
    border: 2px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    line-height: 1;
}
.dotro-note-author-tag {
    display: inline-block;
    margin-left: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #8a97a5;
    vertical-align: middle;
}

/* Provider order — client order Select2 result + detail sheet */
.order-select-result {
    display: block;
    line-height: 1.25;
    padding: 2px 0;
}

.order-select-result__main {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    min-height: 20px;
    overflow: hidden;
    white-space: nowrap;
}

.order-select-result__number {
    font-weight: 600;
    color: #2f3a4a;
    flex-shrink: 0;
}

.order-select-result__title {
    color: #2f3a4a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex-shrink: 1;
    min-width: 0;
}

.order-select-result__tag,
.order-select-result__tag-more {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 1px 7px;
    border-radius: 10px;
    background: #e8eef7;
    color: #4a6fa5;
    font-size: 11px;
    line-height: 1.4;
}

.order-select-result__tag-more {
    max-width: none;
    font-weight: 600;
}

.order-select-result__info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 17px;
    height: 17px;
    margin: 0;
    padding: 0;
    border: 1px solid #a9b3c6;
    border-radius: 50%;
    background: transparent;
    color: #a9b3c6;
    font-size: 11px;
    font-style: italic;
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1;
    cursor: pointer;
}

.order-select-result__info:hover,
.order-select-result__info--active {
    color: #4a6fa5;
    border-color: #4a6fa5;
    background: #e8f0fb;
    border-radius: 5px;
}

.order-select-result__meta {
    margin-top: 2px;
    font-size: 11px;
    line-height: 1.3;
    color: #8a98ac;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.select2-results__option--highlighted .order-select-result__number,
.select2-results__option--highlighted .order-select-result__title {
    color: #ffffff;
}

.select2-results__option--highlighted .order-select-result__meta {
    color: rgba(255, 255, 255, 0.85);
}

.select2-results__option--highlighted .order-select-result__tag,
.select2-results__option--highlighted .order-select-result__tag-more {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

.order-select-highlight {
    background: #ffe566;
    color: inherit;
    border-radius: 2px;
    padding: 0 1px;
}

.order-select-sheet {
    display: none;
    position: fixed;
    z-index: 10050;
    width: 290px;
    padding: 12px 14px;
    background: #ffffff;
    border: 1px solid #dfe5ef;
    border-radius: 6px;
    box-shadow: 0 6px 18px rgba(47, 58, 74, 0.12);
    pointer-events: auto;
}

.order-select-sheet.order-select-sheet--open {
    display: block;
}

.order-select-sheet__caret {
    position: absolute;
    top: -6px;
    width: 10px;
    height: 10px;
    background: #ffffff;
    border-top: 1px solid #dfe5ef;
    border-left: 1px solid #dfe5ef;
    transform: translateX(-50%) rotate(45deg);
}

.order-select-sheet--above .order-select-sheet__caret {
    top: auto;
    bottom: -6px;
    border-top: none;
    border-left: none;
    border-right: 1px solid #dfe5ef;
    border-bottom: 1px solid #dfe5ef;
}

.order-select-sheet__header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.order-select-sheet__number {
    font-weight: 700;
    color: #2f3a4a;
}

.order-select-sheet__status {
    display: inline-flex;
    align-items: center;
    padding: 1px 8px;
    border-radius: 10px;
    background: #e8f0fb;
    color: #4a6fa5;
    font-size: 11px;
    font-weight: 600;
}

.order-select-sheet__date {
    margin-left: auto;
    font-size: 11px;
    color: #8a98ac;
}

.order-select-sheet__section {
    margin-top: 10px;
}

.order-select-sheet__label {
    margin-bottom: 4px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8a98ac;
}

.order-select-sheet__title {
    font-weight: 600;
    color: #2f3a4a;
    word-break: break-word;
}

.order-select-sheet__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.order-select-sheet__detail-row {
    display: flex;
    gap: 6px;
    margin-top: 4px;
    font-size: 12px;
    color: #2f3a4a;
}

.order-select-sheet__detail-key {
    color: #8a98ac;
    flex-shrink: 0;
}

.order-select-sheet__detail-value {
    font-weight: 600;
    word-break: break-word;
}

.provider-order-linked-order {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-right: 8px;
    white-space: nowrap;
}

.provider-order-linked-orders .provider-order-linked-order {
    display: flex;
    margin-right: 0;
    margin-bottom: 4px;
}
