/**
 * Techno module overrides — content shell + inline sidebar accordion menus.
 */

/* Keep AdminLTE-style content sections readable inside page-wrapper */
.page-wrapper .content-header {
    padding: 15px 15px 0;
}

.page-wrapper .content-header h1 {
    font-size: 24px;
    font-weight: 600;
    color: #181D27;
    margin: 0 0 15px;
}

.page-wrapper section.content {
    padding: 0 15px 15px;
}

.page-wrapper .box {
    background: #fff;
    border: 1px solid #E9EAEB;
    border-radius: 8px;
    box-shadow: none;
    margin-bottom: 20px;
}

.page-wrapper .box-body {
    padding: 15px;
}

/* Multilevel sidebar — inline accordion within sidebar (parent myindane pattern) */
.sidebar-nav ul#side-menu > li.two-column > ul.collapse.first-level,
.sidebar-nav ul#side-menu li ul.collapse {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    box-shadow: none !important;
    background: #e3e3e3 !important;
    padding: 0 10px !important;
    border-radius: 5px !important;
}

li.two-column.active ul.collapse.in {
    display: block !important;
}

li.two-column.active ul.collapse:not(.in) {
    display: none !important;
}

/* metisMenu can leave a fixed height — third items then render outside the gray panel */
.sidebar-nav ul#side-menu li ul.collapse,
.sidebar-nav ul#side-menu li ul.collapse.in,
.sidebar-nav ul#side-menu li ul.collapse.collapsing {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.sidebar-nav ul#side-menu li ul,
.sidebar-nav ul#side-menu li ul ul {
    padding-left: 0 !important;
}

body.fix-sidebar .sidebar .scroll-sidebar {
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

/* Second-level items with icons (Consumer Master, Product Master, etc.) */
.sidebar-nav ul#side-menu li ul li > a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 2px !important;
    text-align: center !important;
    margin: 0;
    white-space: normal;
}

.sidebar-nav ul#side-menu li ul li > a i.fa {
    margin: 0 0 4px 0 !important;
    font-size: 14px !important;
}

.sidebar-nav ul#side-menu li ul li > a span {
    font-size: 11px !important;
    line-height: 1.2 !important;
}

/* Third level — inline below parent (Add / View / Product/Service Price) */
.sidebar-nav ul#side-menu li ul li > ul.collapse {
    background: #d5d5d5 !important;
    margin: 2px 0 4px !important;
    padding: 4px 6px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.sidebar-nav ul#side-menu li ul li > ul.collapse > li {
    display: block !important;
    width: 100% !important;
    float: none !important;
}

.sidebar-nav ul#side-menu li ul ul li a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 2px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}

.sidebar-nav ul#side-menu li ul ul li a span {
    font-size: 10px !important;
    line-height: 1.25 !important;
    max-width: 100% !important;
}

/* Active icon color (Font Awesome) */
.sidebar ul li a.active i.fa {
    color: #0F8595 !important;
}

.sidebar-nav ul#side-menu li ul li.active > a,
.sidebar-nav ul#side-menu li ul li > a.active,
.sidebar-nav ul#side-menu li ul ul li.active > a,
.sidebar-nav ul#side-menu li ul ul li > a.active {
    color: #0F8595 !important;
    font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   Validation messages — match parent (new-ui-style.css)
   -------------------------------------------------------------------------- */
.has-error .form-control,
.has-error .form-control:focus {
    border-color: #D5D7DA !important;
}

.has-error .checkbox,
.has-error .checkbox-inline,
.has-error .control-label,
.has-error .radio,
.has-error .radio-inline,
.has-error.checkbox label,
.has-error.checkbox-inline label,
.has-error.radio label,
.has-error.radio-inline label {
    color: #414651 !important;
}

.has-error .help-block,
.has-error span.text-danger,
.has-error label.error,
.has-error .text-danger,
.form-group.has-error .help-block.with-errors,
.form-group.has-error .help-block.with-errors ul,
.form-group.has-error .help-block.with-errors ul li,
.login-box .form-group span.text-danger,
.login-box .form-group label.error,
.login-box .form-group .help-block,
.login-register .form-group span.text-danger,
.login-register .form-group label.error,
.login-register .form-group .help-block,
.page-wrapper .form-group span.text-danger,
.page-wrapper .form-group label.error,
.page-wrapper .form-group .help-block,
.page-wrapper .form-group .help-block.with-errors,
.page-wrapper .form-group .help-block.with-errors ul li,
.white-box .form-group .help-block,
.white-box .form-group .help-block.with-errors,
.white-box .form-group .help-block.with-errors ul li {
    color: #e74a25 !important;
    font-size: 13px;
    font-weight: 400;
    margin-top: 6px;
    margin-bottom: 0;
}

.help-block.with-errors {
    display: block;
    border: none !important;
    padding-top: 0 !important;
}

.help-block.with-errors ul.list-unstyled,
.login-register .help-block.with-errors ul.list-unstyled,
.page-wrapper .help-block.with-errors ul.list-unstyled,
.white-box .help-block.with-errors ul.list-unstyled {
    border-top: none !important;
    border-bottom: none !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    list-style: none;
}

.help-block.with-errors ul.list-unstyled li,
.login-register .help-block.with-errors ul.list-unstyled li,
.page-wrapper .help-block.with-errors ul.list-unstyled li,
.white-box .help-block.with-errors ul.list-unstyled li {
    border: none !important;
    border-bottom: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    display: block !important;
    text-align: left !important;
    font-size: 13px !important;
    line-height: 1.4;
}

.help-block.with-errors ul.list-unstyled li + li {
    margin-top: 4px !important;
}

/* Login form — spacing & no material underline clash */
.login-register .form-material .form-control {
    border-bottom: 1px solid #D5D7DA !important;
    background-image: none !important;
    background-size: auto !important;
    float: none !important;
}

.login-register .login-box .form-group {
    margin-bottom: 18px;
    padding-bottom: 0;
    overflow: visible;
}

.login-register .login-box .form-group .help-block,
.login-register .login-box .form-group .help-block.with-errors {
    margin-top: 6px;
    margin-bottom: 0;
    padding-top: 0;
    min-height: 0;
}

.login-register .help-block.with-errors:empty,
.page-wrapper .help-block.with-errors:empty {
    display: none;
    margin: 0;
    padding: 0;
}

/* Required field asterisk */
.req,
.req-float,
span.req {
    color: #e74a25 !important;
    font-weight: 600;
}

/* Flash / session alerts inside app shell — parent style */
.page-wrapper > .alert.alert-dismissable {
    margin: 15px 15px 0;
    border-radius: 6px;
}

.page-wrapper > .alert.alert-dismissable .close {
    opacity: 0.5;
}

.page-wrapper > .alert-danger,
.login-register .alert-danger {
    color: #e74a25;
    background-color: #fdf2f0;
    border-color: #f5c6c0;
}

.page-wrapper > .alert-success,
.login-register .alert-success {
    color: #1e6b4f;
    background-color: #eefaf4;
    border-color: #b8e6cf;
}

/* --------------------------------------------------------------------------
   Forms & buttons — parent theme inside AdminLTE box shell
   -------------------------------------------------------------------------- */

/* One typography scale inside content forms (overrides new-ui 16px on bare inputs) */
.page-wrapper .box-body {
    font-size: 14px;
    color: #414651;
}

.page-wrapper .box-body label,
.page-wrapper .box-body .control-label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #414651 !important;
}

.page-wrapper .box-body input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.page-wrapper .box-body textarea,
.page-wrapper .box-body select {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #181D27 !important;
}

.page-wrapper .box-body table th {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #414651 !important;
}

.page-wrapper .box-body table td {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #181D27 !important;
}

.page-wrapper .box-body .help-block,
.page-wrapper .box-body .help-block.with-errors,
.page-wrapper .box-body .help-block.with-errors ul li {
    font-size: 13px !important;
}

.page-wrapper input[type="radio"],
.page-wrapper input[type="checkbox"] {
    min-height: 0 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 6px 0 0 !important;
    vertical-align: middle;
    position: static !important;
}

.page-wrapper .radio-inline,
.page-wrapper .checkbox-inline,
.page-wrapper label.radio-inline,
.page-wrapper label.checkbox-inline {
    display: inline-flex !important;
    align-items: center;
    min-height: auto !important;
    padding-top: 7px;
    padding-bottom: 7px;
    margin-right: 18px;
    margin-bottom: 0;
    font-weight: 400 !important;
    font-size: 14px !important;
    color: #414651 !important;
}

.page-wrapper .radio-group-inline {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 20px;
    min-height: 40px;
    padding-top: 0;
}

.page-wrapper .form-control,
.page-wrapper select.form-control,
.page-wrapper textarea.form-control {
    min-height: 40px !important;
    padding: 8px 12px;
    font-size: 14px !important;
    border: 1px solid #D5D7DA !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.page-wrapper .form-control:not(textarea),
.page-wrapper select.form-control {
    height: 40px !important;
    line-height: 22px !important;
}

.page-wrapper textarea.form-control {
    min-height: 80px !important;
}

.page-wrapper input.form-control[readonly],
.page-wrapper input.form-control[disabled],
.page-wrapper select.form-control[disabled] {
    background-color: #F5F5F5 !important;
}

.page-wrapper .box-body form .row > [class*="col-"] > label,
.page-wrapper .box-body form .row.form-group > [class*="col-"]:first-child > label {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding-top: 0;
    margin-bottom: 0;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #414651 !important;
}

/* Column headers above fields (col has .form-group, e.g. product grid) */
.page-wrapper .box-body form .row > [class*="col-"].form-group > label {
    display: block;
    min-height: 0;
    margin-bottom: 6px;
    font-size: 13px !important;
    align-items: stretch;
}

/* Invoice totals row */
.page-wrapper .box-body [class*="total_"][class*="_lable"],
.page-wrapper .box-body .rount_amount_lable {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #181D27 !important;
}

.page-wrapper .box-body form .row {
    margin-bottom: 1px;
}

.page-wrapper .box-body .form-group {
    margin-bottom: 15px;
}

.page-wrapper .input-group .form-control {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.page-wrapper .input-group-addon {
    background: #f9fafb;
    border: 1px solid #D5D7DA;
    border-left: 0;
    border-radius: 0 6px 6px 0;
    min-height: 40px;
    padding: 8px 12px;
    line-height: 1.4;
}

.page-wrapper .select2-container--default .select2-selection--single {
    min-height: 40px !important;
    height: 40px !important;
    border: 1px solid #D5D7DA !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
}

.page-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: normal !important;
    padding: 0 28px 0 12px !important;
    font-size: 14px;
    color: #000;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    width: 100%;
}

.page-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    top: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center;
}

.page-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow b {
    margin-top: 0 !important;
    position: static !important;
}

.page-wrapper .btn-success {
    background: #0F8595 !important;
    border-color: #0F8595 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
    min-height: 40px !important;
    line-height: 1.2 !important;
    border-radius: 24px;
    font-size: 14px !important;
    padding: 0 20px !important;
    float: none !important;
    box-sizing: border-box;
}

.page-wrapper .btn-success:hover,
.page-wrapper .btn-success:focus {
    background: #0c6d7a !important;
    border-color: #0c6d7a !important;
    color: #fff !important;
}

/* Day End — distinct amber from teal primary actions */
.page-wrapper .btn.sales-dayend-action-btn,
.page-wrapper .btnFooter .btn.sales-dayend-action-btn {
    background: #E67E22 !important;
    border-color: #E67E22 !important;
    color: #fff !important;
}

.page-wrapper .btn.sales-dayend-action-btn:hover,
.page-wrapper .btn.sales-dayend-action-btn:focus,
.page-wrapper .btnFooter .btn.sales-dayend-action-btn:hover,
.page-wrapper .btnFooter .btn.sales-dayend-action-btn:focus {
    background: #D35400 !important;
    border-color: #D35400 !important;
    color: #fff !important;
}

.page-wrapper .btn-warning,
.page-wrapper .btn-inverse {
    background: #fff !important;
    border: 1px solid #A4A7AE !important;
    color: #535862 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
    min-height: 40px !important;
    line-height: 1.2 !important;
    border-radius: 24px;
    font-size: 14px !important;
    padding: 0 20px !important;
    float: none !important;
    box-sizing: border-box;
}

.page-wrapper .btn-warning:hover,
.page-wrapper .btn-warning:focus,
.page-wrapper .btn-inverse:hover,
.page-wrapper .btn-inverse:focus {
    background: #fff !important;
    border-color: #717680 !important;
    color: #414651 !important;
}

.page-wrapper .techno-form-footer.btnFooter,
.page-wrapper .box-body .btnFooter {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    position: relative !important;
    bottom: auto !important;
    right: auto !important;
    width: 100%;
    padding: 20px 0 8px !important;
    margin-top: 10px;
    border-top: 1px solid #E9EAEB;
}

.page-wrapper .btnFooter .btn,
.page-wrapper .btnFooter .btn.waves-effect,
.page-wrapper .btnFooter .btn.btn-success,
.page-wrapper .btnFooter .btn.btn-inverse {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    margin: 0 !important;
    vertical-align: middle;
}

/* --------------------------------------------------------------------------
   Invoice list — parent myindane listing + filter pattern (outer-box)
   -------------------------------------------------------------------------- */
.invoice-list-page.content-area {
    padding: 15px;
}

.invoice-list-page .white-box {
    border: 0;
    background: #fff;
    padding: 5px 15px;
    margin-bottom: 70px;
}

.invoice-list-page .white-box hr {
    display: block;
    border-color: #E9EAEB;
    margin: 0 0 16px;
}

.invoice-list-page .headerWithBtn {
    margin-bottom: 12px;
}

.invoice-list-page .headerWithBtn .box-title {
    margin: 10px 0 0 !important;
    font-size: 24px;
    font-weight: 600;
    color: #181D27;
}

.invoice-list-page .invoice-list-header-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.invoice-list-page .headerWithBtn .btn-success {
    background: #0F8595 !important;
    border-color: #0F8595 !important;
    color: #fff !important;
    min-height: 44px;
    border-radius: 24px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    margin: 0 !important;
    float: none;
}

.invoice-list-page .headerWithBtn .btn-success:hover,
.invoice-list-page .headerWithBtn .btn-success:focus {
    background: #0c6d7a !important;
    border-color: #0c6d7a !important;
    color: #fff !important;
}

.invoice-list-page .headerWithBtn .btn-primary {
    background: #4F93DE !important;
    border-color: #4F93DE !important;
    color: #fff !important;
}

.invoice-list-page .invoice-list-filters.outer-box {
    margin: 0 0 10px !important;
    padding: 14px;
    border-radius: 16px;
    background: #F5F5F5;
}

.invoice-list-page .invoice-list-filters label strong {
    font-size: 14px;
    font-weight: 600;
    color: #414651;
}

/* Alignment only — column flex keeps Refresh level with filter inputs */
.invoice-list-page .invoice-list-filters__row > [class*="col-"] {
    display: flex;
    flex-direction: column;
}

.invoice-list-page .invoice-list-filters .invoice-filter-col--action .outerBtn {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.invoice-list-page .invoice-list-filters .form-control {
    min-height: 44px !important;
    height: 44px !important;
    font-size: 14px !important;
    border-radius: 6px !important;
    border: 1px solid #D5D7DA !important;
    margin-top: auto;
}

.invoice-list-page .invoice-list-filters .radio-date {
    min-height: 44px;
    align-items: center;
    font-size: 14px;
    font-weight: 400;
    color: #414651;
    margin-top: auto;
}

.invoice-list-page .invoice-list-filters .radio-date label {
    margin: 0;
    font-weight: 400;
}

.invoice-list-page .invoice-list-filters .btnFilter {
    width: auto;
    min-width: 0;
    height: 36px;
    min-height: 36px;
    padding: 5px 12px;
    font-size: 13px;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
    margin-top: auto;
}

.invoice-list-page .invoice-list-filters .btnFilter .fa {
    font-size: 12px;
}

/* Invoice list filters — compact row, fields sit left next to GST Claiment */
@media (min-width: 1200px) {
    .invoice-list-page .invoice-list-filters__row {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 10px;
        margin-left: 0;
        margin-right: 0;
    }

    .invoice-list-page .invoice-list-filters__row > [class*="col-"] {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }

    .invoice-list-page .invoice-list-filters .invoice-filter-col--gst {
        width: 148px;
        min-width: 148px;
    }

    .invoice-list-page .invoice-list-filters .invoice-filter-col--search {
        width: 172px;
        min-width: 172px;
    }

    .invoice-list-page .invoice-list-filters .invoice-filter-col--date {
        width: 172px;
        min-width: 172px;
    }

    .invoice-list-page .invoice-list-filters .invoice-filter-col--action {
        width: auto;
        min-width: 0;
    }

    /* Center compact Refresh (36px) against 44px filter fields — alignment only */
    .invoice-list-page .invoice-list-filters .invoice-filter-col--action .btnFilter {
        margin-bottom: 4px;
    }
}

/* Mobile / tablet — full-width Refresh button, match filter input height (overrides global .btnFilter padding:0) */
@media (max-width: 1199px) {
    .invoice-list-page .invoice-list-filters .invoice-filter-col--action {
        width: 100%;
        flex: 0 0 100%;
        max-width: 100%;
        margin-top: 4px;
    }

    .invoice-list-page .invoice-list-filters .invoice-filter-col--action .outerBtn {
        width: 100%;
    }

    .invoice-list-page .invoice-list-filters .invoice-filter-col--action .outerBtn label {
        display: none;
    }

    .invoice-list-page .invoice-list-filters .btnFilter {
        width: 100% !important;
        min-width: 0 !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 10px 16px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        border-radius: 6px !important;
        gap: 8px !important;
    }

    .invoice-list-page .invoice-list-filters .btnFilter .fa {
        font-size: 14px !important;
    }
}

/* Report pages — two-row filter layout when crowded; visible select text */
.invoice-list-page[class*="-report-page"] .invoice-list-filters--two-rows {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

@media (min-width: 1200px) {
    .invoice-list-page[class*="-report-page"] .invoice-list-filters__row {
        flex-wrap: nowrap;
        row-gap: 10px;
    }

    .invoice-list-page[class*="-report-page"] .invoice-list-filters--two-rows .invoice-list-filters__row {
        flex-wrap: wrap;
    }

    .invoice-list-page[class*="-report-page"] .invoice-list-filters .invoice-filter-col--search {
        width: 172px;
        min-width: 172px;
    }

    .invoice-list-page[class*="-report-page"] .invoice-list-filters .invoice-filter-col--select-wide,
    .invoice-list-page[class*="-report-page"] .invoice-list-filters .invoice-filter-col--product {
        width: 300px;
        min-width: 300px;
        flex: 0 0 auto;
    }

    .invoice-list-page[class*="-report-page"] .invoice-list-filters .invoice-filter-col--action {
        flex-shrink: 0;
    }
}

.invoice-list-page[class*="-report-page"] .invoice-list-filters .invoice-filter-col--search .select2-container,
.invoice-list-page[class*="-report-page"] .invoice-list-filters .invoice-filter-col--select-wide .select2-container,
.invoice-list-page[class*="-report-page"] .invoice-list-filters .invoice-filter-col--product .select2-container {
    width: 100% !important;
}

.invoice-list-page[class*="-report-page"] .invoice-list-filters .select2-container--default .select2-selection--single {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
}

.invoice-list-page[class*="-report-page"] .invoice-list-filters .select2-container--default .select2-selection--single .select2-selection__rendered {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: normal !important;
}

.invoice-list-page .invoice-list-table-wrap {
    margin-top: 0;
    max-width: 100%;
    overflow-x: visible;
}

.invoice-list-page .invoice-list-table-wrap.table-responsive {
    max-width: 100%;
    overflow-x: visible;
    border: none;
}

.invoice-list-page .dataTables_wrapper {
    padding-top: 4px;
    max-width: 100%;
    overflow-x: visible !important;
}

.invoice-list-page .dataTables_scroll {
    max-width: 100%;
    width: 100% !important;
}


.invoice-list-page .dataTables_info,
.invoice-list-page .dataTables_paginate {
    font-size: 14px;
    color: #414651;
    padding-top: 12px;
}

.invoice-list-page .dataTables_paginate .paginate_button {
    border-radius: 6px !important;
}

.invoice-list-page .dataTables_scrollFoot {
    display: none !important;
    margin: 0 !important;
}

.invoice-list-page .dataTables_filter {
    display: none;
}

.invoice-list-page table.dataTable {
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
    border-collapse: collapse !important;
    border: none !important;
    table-layout: fixed;
}

.invoice-list-page table.dataTable thead tr.invoice-col-header-row {
    background: #D5E6E9 !important;
}

.invoice-list-page table.dataTable thead tr.invoice-col-header-row th {
    font-size: 14px !important;
    color: #0F8595 !important;
    font-weight: 500 !important;
    vertical-align: middle !important;
    border: none !important;
    border-bottom: 1px solid #E9EAEB !important;
    white-space: nowrap;
    padding: 10px 8px !important;
    background: #D5E6E9 !important;
}

/* Filters moved to top section — no extra row under the header */
.invoice-list-page table.dataTable > tfoot,
.invoice-list-page .dataTables_scrollFoot,
.invoice-list-page table.dataTable thead > tr.invoice-col-filter-row {
    display: none !important;
}

/* Keep header/body column widths in sync when DataTables uses scroll wrappers */
.invoice-list-page .dataTables_scrollHead table.dataTable,
.invoice-list-page .dataTables_scrollBody table.dataTable {
    width: 100% !important;
    table-layout: fixed !important;
}

.invoice-list-page table.dataTable thead tr.invoice-col-filter-row,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row,
.invoice-list-page table.dataTable thead tr.invoice-col-filter-row th,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row th,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row th {
    background: #fff !important;
    color: #414651 !important;
    font-weight: 400 !important;
    padding: 8px 6px !important;
    border: none !important;
    border-bottom: 1px solid #E9EAEB !important;
}

/* No sort arrows / cursor on the filter row — sorting lives on the header row */
.invoice-list-page table.dataTable thead tr.invoice-col-filter-row th,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row th,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row th {
    background-image: none !important;
    cursor: default !important;
    pointer-events: auto;
}

.invoice-list-page table.dataTable thead tr.invoice-col-filter-row th.sorting,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row th.sorting,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row th.sorting,
.invoice-list-page table.dataTable thead tr.invoice-col-filter-row th.sorting_asc,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row th.sorting_asc,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row th.sorting_asc,
.invoice-list-page table.dataTable thead tr.invoice-col-filter-row th.sorting_desc,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row th.sorting_desc,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row th.sorting_desc {
    background-image: none !important;
}

.invoice-list-page table.dataTable thead tr.invoice-col-filter-row th.sorting::before,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row th.sorting::before,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row th.sorting::before,
.invoice-list-page table.dataTable thead tr.invoice-col-filter-row th.sorting::after,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row th.sorting::after,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row th.sorting::after,
.invoice-list-page table.dataTable thead tr.invoice-col-filter-row th.sorting_asc::before,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row th.sorting_asc::before,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row th.sorting_asc::before,
.invoice-list-page table.dataTable thead tr.invoice-col-filter-row th.sorting_asc::after,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row th.sorting_asc::after,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row th.sorting_asc::after,
.invoice-list-page table.dataTable thead tr.invoice-col-filter-row th.sorting_desc::before,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row th.sorting_desc::before,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row th.sorting_desc::before,
.invoice-list-page table.dataTable thead tr.invoice-col-filter-row th.sorting_desc::after,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row th.sorting_desc::after,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row th.sorting_desc::after {
    display: none !important;
}

/* Header sort arrows — aligned to the right edge of each header cell */
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.sorting,
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.sorting_asc,
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.sorting_desc {
    background-position: center right 8px !important;
    padding-right: 24px !important;
    position: relative;
}

.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.sorting::before,
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.sorting::after,
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.sorting_asc::before,
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.sorting_asc::after,
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.sorting_desc::before,
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.sorting_desc::after {
    right: 6px !important;
    left: auto !important;
}

/* Right-aligned amount headers: keep the arrow clear of the number */
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.text-right.sorting,
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.invoice-col-amount.sorting,
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.text-right.sorting_asc,
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.invoice-col-amount.sorting_asc,
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.text-right.sorting_desc,
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.invoice-col-amount.sorting_desc {
    padding-right: 20px !important;
}

.invoice-list-page table.dataTable thead tr.invoice-col-filter-row input.form-control,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row input.form-control,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row input.form-control {
    min-height: 38px !important;
    height: 38px !important;
    font-size: 14px !important;
    border-radius: 6px !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.invoice-list-page table.dataTable thead tr.invoice-col-filter-row .input-group,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row .input-group,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row .input-group {
    width: 100%;
    display: table;
}

.invoice-list-page table.dataTable thead tr.invoice-col-filter-row .input-group-addon,
.invoice-list-page table.dataTable tfoot tr.invoice-col-filter-row .input-group-addon,
.invoice-list-page .dataTables_scrollFoot tr.invoice-col-filter-row .input-group-addon {
    min-height: 38px;
    padding: 7px 10px;
}

.invoice-list-page table.dataTable tbody tr,
.invoice-list-page table.dataTable tbody tr.odd,
.invoice-list-page table.dataTable tbody tr.even,
.invoice-list-page table.dataTable > tbody > tr:nth-of-type(odd),
.invoice-list-page table.dataTable > tbody > tr:nth-of-type(even) {
    background: #fff !important;
}

.invoice-list-page table.dataTable td {
    font-size: 14px !important;
    color: #181D27;
    vertical-align: middle !important;
    border: none !important;
    border-bottom: 1px solid #E9EAEB !important;
    padding: 10px 8px !important;
    background: #fff !important;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.invoice-list-page table.dataTable tbody td.dataTables_empty {
    text-align: center !important;
    padding: 16px 8px !important;
    color: #414651;
}

.invoice-list-page table.dataTable th,
.invoice-list-page table.dataTable td {
    border-left: none !important;
    border-right: none !important;
}

.invoice-list-page table.dataTable .invoice-col-consumer {
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.4;
}

.invoice-list-page table.dataTable .invoice-col-number,
.invoice-list-page table.dataTable .invoice-col-date,
.invoice-list-page table.dataTable .invoice-col-state {
    white-space: nowrap;
}

.invoice-list-page table.dataTable .invoice-col-amount {
    text-align: left !important;
    white-space: nowrap;
}

.invoice-list-page table.dataTable .invoice-col-action {
    white-space: nowrap;
    min-width: 150px !important;
    width: 13% !important;
}

/* S.No. column — same padding/alignment on header + body (all listing tables) */
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.techno-col-sno,
.invoice-list-page table.dataTable tbody td.techno-col-sno,
.invoice-list-page table.dataTable th.techno-col-sno,
.invoice-list-page table.dataTable td.techno-col-sno,
.invoice-list-page table.dataTable .invoice-col-sno,
.invoice-list-page .dataTables_scrollHead table.dataTable thead tr.invoice-col-header-row th.techno-col-sno,
.invoice-list-page .dataTables_scrollBody table.dataTable tbody td.techno-col-sno {
    min-width: 42px !important;
    max-width: 42px !important;
    width: 42px !important;
    padding: 10px 6px !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    border-left: none !important;
    border-right: none !important;
    overflow: hidden;
}

.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.techno-col-sno strong,
.invoice-list-page .dataTables_scrollHead table.dataTable thead tr.invoice-col-header-row th.techno-col-sno strong {
    display: inline-block;
    width: 100%;
    text-align: center;
    font-weight: 500;
}

/* Checkbox column — same padding/alignment on header + body (invoice list pages) */
.invoice-list-page table.dataTable thead tr.invoice-col-header-row th.techno-col-checkbox,
.invoice-list-page table.dataTable tbody td.techno-col-checkbox,
.invoice-list-page table.dataTable th.techno-col-checkbox,
.invoice-list-page table.dataTable td.techno-col-checkbox,
.invoice-list-page .dataTables_scrollHead table.dataTable thead tr.invoice-col-header-row th.techno-col-checkbox,
.invoice-list-page .dataTables_scrollBody table.dataTable tbody td.techno-col-checkbox,
.invoice-list-page table.dataTable tbody td:has(> input[type="checkbox"]) {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 10px 4px !important;
    text-align: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    overflow: hidden;
}

.invoice-list-page table.dataTable th.techno-col-checkbox input[type="checkbox"],
.invoice-list-page table.dataTable td.techno-col-checkbox input[type="checkbox"],
.invoice-list-page table.dataTable tbody td:has(> input[type="checkbox"]) input[type="checkbox"] {
    margin: 0 auto !important;
    display: block !important;
    float: none !important;
    vertical-align: middle;
}

/* Checkbox as first column (tables without S.No.) */
.invoice-list-page table.dataTable:has(thead th:first-child.techno-col-checkbox):not(:has(thead th.techno-col-sno)) thead tr.invoice-col-header-row th.techno-col-checkbox,
.invoice-list-page table.dataTable:has(thead th:first-child.techno-col-checkbox):not(:has(thead th.techno-col-sno)) tbody td.techno-col-checkbox,
.invoice-list-page table.dataTable:has(thead th:first-child.techno-col-checkbox):not(:has(thead th.techno-col-sno)) tbody td:has(> input[type="checkbox"]) {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 10px 4px !important;
    text-align: center !important;
}

.invoice-list-page table.dataTable:has(thead th.techno-col-checkbox) > colgroup > col:nth-child(2),
.invoice-list-page table.dataTable:has(td.techno-col-checkbox) > colgroup > col:nth-child(2),
.invoice-list-page .dataTables_scrollHead table.dataTable:has(thead th.techno-col-checkbox) > colgroup > col:nth-child(2),
.invoice-list-page .dataTables_scrollBody table.dataTable:has(td.techno-col-checkbox) > colgroup > col:nth-child(2) {
    width: 28px !important;
    max-width: 28px !important;
}

.invoice-list-page table.dataTable:has(thead th:first-child.techno-col-checkbox):not(:has(thead th.techno-col-sno)) > colgroup > col:nth-child(1),
.invoice-list-page .dataTables_scrollHead table.dataTable:has(thead th:first-child.techno-col-checkbox):not(:has(thead th.techno-col-sno)) > colgroup > col:nth-child(1),
.invoice-list-page .dataTables_scrollBody table.dataTable:has(thead th:first-child.techno-col-checkbox):not(:has(thead th.techno-col-sno)) > colgroup > col:nth-child(1) {
    width: 28px !important;
    max-width: 28px !important;
}

/* Standard listings — do not force 960px min-width (spreads utility columns) */
.master-datatable:not(.master-datatable-wide) table.dataTable,
.master-datatable:not(.master-datatable-wide) .dataTables_scrollHead table.dataTable,
.master-datatable:not(.master-datatable-wide) .dataTables_scrollBody table.dataTable {
    min-width: 0 !important;
    width: 100% !important;
}

/* Serial-number column — compact, all DataTable listings */
.master-datatable table.dataTable th.techno-col-sno,
.master-datatable table.dataTable td.techno-col-sno,
.master-datatable table.dataTable tfoot th.techno-col-sno,
.master-datatable .dataTables_scrollFoot th.techno-col-sno,
.master-datatable .dataTables_scrollHead table.dataTable th.techno-col-sno,
.master-datatable .dataTables_scrollBody table.dataTable td.techno-col-sno {
    min-width: 42px !important;
    max-width: 42px !important;
    width: 42px !important;
    padding: 10px 6px !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    border-left: none !important;
    border-right: none !important;
    overflow: hidden;
}

.master-datatable table.dataTable thead th.techno-col-sno strong,
.master-datatable .dataTables_scrollHead table.dataTable thead th.techno-col-sno strong {
    display: inline-block;
    width: 100%;
    text-align: center;
    font-weight: 500;
}

/* DataTables colgroup — enforce S.No / checkbox widths (scrollX head + body) */
.master-datatable table.dataTable:has(thead th.techno-col-sno) > colgroup > col:nth-child(1),
.master-datatable table.dataTable:has(td.techno-col-sno) > colgroup > col:nth-child(1),
.master-datatable .dataTables_scrollHead table.dataTable:has(thead th.techno-col-sno) > colgroup > col:nth-child(1),
.master-datatable .dataTables_scrollBody table.dataTable:has(td.techno-col-sno) > colgroup > col:nth-child(1) {
    width: 42px !important;
    max-width: 42px !important;
}

.master-datatable table.dataTable:has(thead th.techno-col-checkbox) > colgroup > col:nth-child(2),
.master-datatable table.dataTable:has(td.techno-col-checkbox) > colgroup > col:nth-child(2),
.master-datatable .dataTables_scrollHead table.dataTable:has(thead th.techno-col-checkbox) > colgroup > col:nth-child(2),
.master-datatable .dataTables_scrollBody table.dataTable:has(td.techno-col-checkbox) > colgroup > col:nth-child(2) {
    width: 28px !important;
    max-width: 28px !important;
}

/* Listing tables — default left-aligned data; action column stays centered */
.master-datatable table.dataTable thead th:not(.techno-col-sno) {
    text-align: left !important;
}

.master-datatable table.dataTable tbody td:not(.techno-col-sno):not(:has(.techno-table-actions)):not(:has(.techno-table-status-btn)):not(:has(.btn)) {
    text-align: left !important;
}

.master-datatable table.dataTable tbody td:has(input[type="checkbox"]):not(.techno-col-checkbox),
.master-datatable table.dataTable thead th:has(input[type="checkbox"]):not(.techno-col-checkbox) {
    text-align: center !important;
}

.master-datatable table.dataTable tbody td:has(.techno-table-status-btn),
.master-datatable table.dataTable tbody td:has(.techno-table-actions),
.master-datatable table.dataTable tbody td:last-child:has(.btn),
.master-datatable table.dataTable thead th:last-child {
    text-align: center !important;
}

.invoice-list-page table.dataTable thead th.invoice-col-number {
    width: 9%;
}

.invoice-list-page table.dataTable thead th.invoice-col-consumer {
    width: 26%;
}

.invoice-list-page table.dataTable thead th.invoice-col-date {
    width: 9%;
}

.invoice-list-page table.dataTable thead th.invoice-col-state {
    width: 10%;
}

.invoice-list-page table.dataTable thead th.invoice-col-amount {
    width: 8%;
}

.invoice-list-page table.dataTable thead th.invoice-col-action {
    width: 150px !important;
    max-width: 150px !important;
}

.invoice-list-page .techno-table-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    flex-wrap: nowrap;
}

.invoice-list-page table.dataTable th:not(.techno-col-sno):not(.techno-col-checkbox),
.invoice-list-page table.dataTable td:not(.techno-col-sno):not(.techno-col-checkbox):not(.dataTables_empty) {
    text-align: left !important;
}

.invoice-list-page table.dataTable:has(thead th.techno-col-sno) > colgroup > col:nth-child(1),
.invoice-list-page table.dataTable:has(td.techno-col-sno) > colgroup > col:nth-child(1),
.invoice-list-page .dataTables_scrollHead table.dataTable:has(thead th.techno-col-sno) > colgroup > col:nth-child(1),
.invoice-list-page .dataTables_scrollBody table.dataTable:has(td.techno-col-sno) > colgroup > col:nth-child(1) {
    width: 42px !important;
    max-width: 42px !important;
}

.invoice-list-page .techno-table-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 6px;
    background: #0F8595;
    border: 1px solid #0F8595;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 14px;
    line-height: 1;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.invoice-list-page .techno-table-action:hover,
.invoice-list-page .techno-table-action:focus {
    background: #0c6d7a;
    border-color: #0c6d7a;
    color: #fff !important;
}

.invoice-list-page .techno-table-action--cancel {
    background: #fff;
    border-color: #0F8595;
    color: #0F8595 !important;
}

.invoice-list-page .techno-table-action--cancel:hover,
.invoice-list-page .techno-table-action--cancel:focus {
    background: #f0f9fa;
    color: #0c6d7a !important;
}

@media (max-width: 767px) {
    .invoice-list-page .headerWithBtn {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .invoice-list-page .invoice-list-header-actions {
        width: 100%;
        justify-content: flex-end;
    }
}

/* Readonly datepicker inputs should look like normal editable fields (project-wide) */
.page-wrapper input.form-control.datepicker[readonly],
.page-wrapper input.form-control.datepicker[readonly]:focus,
.page-wrapper input.datepicker[readonly],
.page-wrapper input.datepicker[readonly]:focus,
.login-box input.datepicker[readonly],
input.form-control.datepicker[readonly],
input.form-control.datepicker[readonly]:focus,
input.datepicker[readonly],
input.datepicker[readonly]:focus,
.form-control.datepicker[readonly],
.form-control.datepicker[readonly]:focus {
    background-color: #fff !important;
    background-image: none !important;
    color: #181D27 !important;
    opacity: 1 !important;
    cursor: pointer;
}

/* Standard listing toolbar — Add / Delete (matches invoice list pill buttons) */
.techno-list-toolbar {
    margin-bottom: 15px;
}

.master-datatable .techno-list-page-header {
    margin-bottom: 15px;
}

.master-datatable .techno-list-page-header .box-title {
    font-size: 24px;
    font-weight: 600;
    color: #181D27;
    margin: 0 !important;
}

/* Checkbox column — compact, centered (second column when S.No present) */
.master-datatable table.dataTable th.techno-col-checkbox,
.master-datatable table.dataTable td.techno-col-checkbox,
.master-datatable table.dataTable tfoot th.techno-col-checkbox,
.master-datatable table.dataTable tbody td:has(> input[type="checkbox"]),
.master-datatable .dataTables_scrollFoot th.techno-col-checkbox,
.master-datatable .dataTables_scrollHead table.dataTable th.techno-col-checkbox,
.master-datatable .dataTables_scrollBody table.dataTable td.techno-col-checkbox,
.master-datatable .dataTables_scrollBody table.dataTable tbody td:has(> input[type="checkbox"]) {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 10px 4px !important;
    text-align: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    overflow: hidden;
}

.master-datatable table.dataTable th.techno-col-checkbox input[type="checkbox"],
.master-datatable table.dataTable td.techno-col-checkbox input[type="checkbox"],
.master-datatable table.dataTable tbody td:has(> input[type="checkbox"]) input[type="checkbox"] {
    margin: 0 auto !important;
    display: block !important;
    float: none !important;
    vertical-align: middle;
}

/* Checkbox-only first column (tables without S.No) */
.master-datatable table.dataTable thead th:first-child:has(> input[type="checkbox"]),
.master-datatable table.dataTable tbody td:first-child:has(> input[type="checkbox"]),
.master-datatable table.dataTable tfoot th:first-child:has(> input[type="checkbox"]),
.master-datatable .dataTables_scrollHead table.dataTable thead th:first-child:has(> input[type="checkbox"]),
.master-datatable .dataTables_scrollBody table.dataTable tbody td:first-child:has(> input[type="checkbox"]) {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 8px 2px !important;
    text-align: center !important;
    vertical-align: middle !important;
    box-sizing: border-box;
}

.master-datatable table.dataTable:has(thead th:first-child.techno-col-checkbox) > colgroup > col:nth-child(1),
.master-datatable .dataTables_scrollHead table.dataTable:has(thead th:first-child.techno-col-checkbox) > colgroup > col:nth-child(1),
.master-datatable .dataTables_scrollBody table.dataTable:has(thead th:first-child.techno-col-checkbox) > colgroup > col:nth-child(1) {
    width: 28px !important;
    max-width: 28px !important;
}

.master-datatable table.dataTable thead th:first-child:has(> input[type="checkbox"]) input[type="checkbox"],
.master-datatable table.dataTable tbody td:first-child:has(> input[type="checkbox"]) input[type="checkbox"] {
    margin: 0 auto !important;
    display: block;
    float: none;
}

.techno-list-header-actions,
.invoice-list-page .invoice-list-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

.techno-list-btn-add,
.techno-list-btn-delete {
    min-height: 44px;
    border-radius: 24px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    margin: 0 !important;
    float: none !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    border-width: 1px;
    border-style: solid;
    text-decoration: none !important;
}

.techno-list-btn-add {
    background: #0F8595 !important;
    border-color: #0F8595 !important;
    color: #fff !important;
}

.techno-list-btn-add:hover,
.techno-list-btn-add:focus {
    background: #0c6d7a !important;
    border-color: #0c6d7a !important;
    color: #fff !important;
}

.techno-list-btn-delete {
    background: #D92D20 !important;
    border-color: #D92D20 !important;
    color: #fff !important;
}

.techno-list-btn-delete:hover,
.techno-list-btn-delete:focus {
    background: #B42318 !important;
    border-color: #B42318 !important;
    color: #fff !important;
}

/* DataTables length — toolbar row above table, right-aligned (all listing pages) */
.page-wrapper .dataTables_wrapper > .row:first-child {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0 0 10px 0 !important;
    min-height: 32px;
}

.page-wrapper .dataTables_wrapper > .row:first-child > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto;
    float: none !important;
    padding: 0 !important;
    text-align: right;
}

.page-wrapper .dataTables_length {
    float: none !important;
    margin: 0 !important;
    text-align: right;
}

.page-wrapper .dataTables_length label {
    font-size: 0 !important;
    line-height: 0;
    margin: 0 !important;
    padding: 0 !important;
    font-weight: 400;
}

.page-wrapper .dataTables_length select {
    font-size: 13px !important;
    line-height: normal;
    min-height: 30px !important;
    height: 30px !important;
    width: auto !important;
    min-width: 56px;
    max-width: 70px;
    padding: 2px 20px 2px 6px !important;
    margin: 0 !important;
    border-radius: 6px;
    border: 1px solid #D5D7DA;
    background-color: #fff;
}

.page-wrapper .dataTables_wrapper > .row:first-child .dataTables_filter {
    display: none !important;
}

.page-wrapper .dataTables_wrapper > .row:first-child > [class*="col-"]:has(.dataTables_filter) {
    display: none !important;
}

@media (max-width: 767px) {
    .page-wrapper .dataTables_wrapper > .row:first-child {
        justify-content: flex-end !important;
    }

    .page-wrapper .dataTables_length {
        text-align: right !important;
    }
}

/* =====================================================================
   Project-wide listing tables — unified "invoice list" look.
   Applies to every .master-datatable listing (consumers, products,
   banks, suppliers, units, purchases, receipts, stocks, cash issued,
   bank deposit, etc.) so all grids match the invoice list.
   ===================================================================== */

/* Card shell — match the invoice white-box (flat white, no card border) */
.page-wrapper .box.box-success:has(.box-body.master-datatable) {
    border: 0 !important;
    border-top: 0 !important;
    box-shadow: none !important;
    border-radius: 8px;
}

.page-wrapper .box-body.master-datatable {
    padding: 8px 15px 15px;
}

/* Table base */
.master-datatable table.dataTable {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse !important;
    border: none !important;
}

/* Header row */
.master-datatable table.dataTable thead tr {
    background: #D5E6E9 !important;
}

.master-datatable table.dataTable thead th {
    font-size: 14px !important;
    color: #0F8595 !important;
    font-weight: 500 !important;
    vertical-align: middle !important;
    background: #D5E6E9 !important;
    border: none !important;
    border-bottom: 1px solid #E9EAEB !important;
    padding: 10px 8px !important;
    white-space: nowrap;
}

/* No zebra striping — flat white rows with a subtle hover */
.master-datatable table.dataTable tbody tr,
.master-datatable table.dataTable tbody tr.odd,
.master-datatable table.dataTable tbody tr.even,
.master-datatable table.dataTable.stripe tbody tr.odd,
.master-datatable table.dataTable.display tbody tr.odd,
.master-datatable table.dataTable.table-striped > tbody > tr:nth-of-type(odd),
.master-datatable table.dataTable.table-striped > tbody > tr:nth-of-type(even) {
    background: #fff !important;
}

.master-datatable table.dataTable tbody tr:hover,
.master-datatable table.dataTable tbody tr.odd:hover,
.master-datatable table.dataTable tbody tr.even:hover {
    background: #f7fbfc !important;
}

/* Body cells */
.master-datatable table.dataTable td {
    font-size: 14px !important;
    color: #181D27;
    vertical-align: middle !important;
    background: #fff !important;
    border: none !important;
    border-bottom: 1px solid #E9EAEB !important;
    padding: 10px 8px !important;
    overflow: hidden;
    box-sizing: border-box;
}

/* Long text columns — wrap within cell (overrides DataTables .nowrap) */
.master-datatable table.dataTable.nowrap th.techno-col-text-wrap,
.master-datatable table.dataTable.nowrap td.techno-col-text-wrap,
.master-datatable table.dataTable th.techno-col-text-wrap,
.master-datatable table.dataTable td.techno-col-text-wrap {
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.4;
    overflow: hidden;
    max-width: 0;
}

/* Code / HSN / short identifier columns — fixed minimum width */
.master-datatable table.dataTable.nowrap th.techno-col-compact,
.master-datatable table.dataTable.nowrap td.techno-col-compact,
.master-datatable table.dataTable th.techno-col-compact,
.master-datatable table.dataTable td.techno-col-compact {
    white-space: nowrap !important;
    min-width: 88px !important;
    width: 88px !important;
    max-width: 88px !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Primary text column — absorbs remaining table width */
.master-datatable table.dataTable th.techno-col-primary,
.master-datatable table.dataTable td.techno-col-primary,
.master-datatable .dataTables_scrollHead table.dataTable th.techno-col-primary,
.master-datatable .dataTables_scrollBody table.dataTable td.techno-col-primary {
    width: auto !important;
    max-width: none !important;
}

/* IFSC / short codes */
.master-datatable table.dataTable th.techno-col-ifsc,
.master-datatable table.dataTable td.techno-col-ifsc {
    white-space: nowrap !important;
    min-width: 100px !important;
    width: 100px !important;
    max-width: 100px !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Account / medium identifier columns */
.master-datatable table.dataTable th.techno-col-account,
.master-datatable table.dataTable td.techno-col-account {
    white-space: nowrap !important;
    min-width: 120px !important;
    width: 120px !important;
    max-width: 130px !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Numeric / rate columns */
.master-datatable table.dataTable th.techno-col-numeric,
.master-datatable table.dataTable td.techno-col-numeric {
    white-space: nowrap !important;
    min-width: 72px !important;
    width: 72px !important;
    max-width: 80px !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Status / permission / action icon columns */
.master-datatable table.dataTable th.techno-col-icon,
.master-datatable table.dataTable td.techno-col-icon,
.master-datatable table.dataTable tfoot th.techno-col-icon,
.master-datatable .dataTables_scrollHead table.dataTable th.techno-col-icon,
.master-datatable .dataTables_scrollBody table.dataTable td.techno-col-icon,
.master-datatable table.dataTable td:has(.techno-table-status-btn),
.master-datatable table.dataTable td:has(.techno-table-actions),
.master-datatable .dataTables_scrollBody table.dataTable td:has(.techno-table-status-btn),
.master-datatable .dataTables_scrollBody table.dataTable td:has(.techno-table-actions) {
    white-space: nowrap !important;
    min-width: 42px !important;
    width: 42px !important;
    max-width: 42px !important;
    padding: 8px 4px !important;
    overflow: visible;
    text-align: center !important;
}

.master-datatable table.dataTable th.techno-col-icon,
.master-datatable .dataTables_scrollHead table.dataTable th.techno-col-icon {
    text-align: center !important;
}

/* Balanced equal-width data columns (e.g. Consumer list) */
.master-datatable table.dataTable th.techno-col-even,
.master-datatable table.dataTable td.techno-col-even {
    max-width: 0;
    overflow: hidden;
}

/* Fixed table layout — predictable column width distribution */
.master-datatable table.dataTable {
    table-layout: fixed !important;
}

/* Wide master grids (e.g. Product/Service list) — desktop fits container */
.master-datatable-wide {
    max-width: 100%;
    overflow-x: visible;
}

.master-datatable-wide .dataTables_wrapper,
.master-datatable-wide .dataTables_scroll,
.master-datatable-wide .dataTables_scrollBody {
    max-width: 100%;
    overflow-x: visible !important;
}

.master-datatable-wide table.dataTable {
    min-width: 0 !important;
    width: 100% !important;
}

.master-datatable table.dataTable th,
.master-datatable table.dataTable td {
    border-left: none !important;
    border-right: none !important;
}

/* Column search row (tfoot, incl. the scrollFoot clone) under the header */
.master-datatable table.dataTable tfoot th,
.master-datatable .dataTables_scrollFoot th {
    background: #fff !important;
    border: none !important;
    border-bottom: 1px solid #E9EAEB !important;
    padding: 8px 6px !important;
    vertical-align: middle;
}

.master-datatable table.dataTable tfoot input.form-control,
.master-datatable .dataTables_scrollFoot input.form-control {
    min-height: 38px !important;
    height: 38px !important;
    font-size: 14px !important;
    border-radius: 6px !important;
    width: 100%;
}

/* Info / pagination controls */
.master-datatable .dataTables_info,
.master-datatable .dataTables_paginate {
    font-size: 14px;
    color: #414651;
}

.master-datatable .dataTables_paginate .paginate_button {
    border-radius: 6px !important;
}

/* Action column cells — vertical alignment only (no global text centering) */
.master-datatable table.dataTable td:has(.techno-table-actions),
.master-datatable table.dataTable td:has(.techno-table-status-btn) {
    vertical-align: middle !important;
    white-space: nowrap !important;
}

.master-datatable .techno-table-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: nowrap;
}

.master-datatable .techno-table-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    border-radius: 6px;
    background: #0F8595;
    border: 1px solid #0F8595;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 14px;
    line-height: 1;
    padding: 0;
    flex-shrink: 0;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.master-datatable button.techno-table-status-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    margin: 0;
    border-radius: 6px !important;
    font-size: 14px;
    line-height: 1;
    flex-shrink: 0;
}

.master-datatable .techno-table-action:hover,
.master-datatable .techno-table-action:focus {
    background: #0c6d7a;
    border-color: #0c6d7a;
    color: #fff !important;
}

.master-datatable .techno-table-action--cancel {
    background: #fff;
    border-color: #0F8595;
    color: #0F8595 !important;
}

.master-datatable .techno-table-action--cancel:hover,
.master-datatable .techno-table-action--cancel:focus {
    background: #f0f9fa;
    color: #0c6d7a !important;
}

.master-datatable table.dataTable td a {
    text-decoration: none !important;
}

/* FontAwesome icons inside listing action controls — center alignment only */
.master-datatable .techno-table-action > i.fa,
.master-datatable button.techno-table-status-btn > i.fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    line-height: 1;
    margin: 0;
    padding: 0;
    pointer-events: none;
}

/* =====================================================================
   Mobile & tablet (<= 1024px) — listing tables scroll horizontally so
   columns are never crushed. Desktop (> 1024px) shows full table, no scroll.
   ===================================================================== */
@media (max-width: 1024px) {

    /* Invoice list */
    .invoice-list-page .invoice-list-table-wrap,
    .invoice-list-page .invoice-list-table-wrap.table-responsive,
    .invoice-list-page .dataTables_wrapper,
    .invoice-list-page .dataTables_scroll,
    .invoice-list-page .dataTables_scrollHead,
    .invoice-list-page .dataTables_scrollBody,
    .invoice-list-page .dataTables_scrollFoot {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .invoice-list-page table.dataTable {
        min-width: 900px !important;
    }

    /* Generic .master-datatable listings */
    .page-wrapper .master-datatable,
    .page-wrapper .master-datatable .dataTables_wrapper,
    .page-wrapper .master-datatable .dataTables_scroll,
    .page-wrapper .master-datatable .dataTables_scrollHead,
    .page-wrapper .master-datatable .dataTables_scrollBody,
    .page-wrapper .master-datatable .dataTables_scrollFoot,
    .page-wrapper .table-responsive {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .master-datatable table.dataTable {
        min-width: 760px !important;
    }

    /* Wide grids (Product/Service list) */
    .master-datatable-wide,
    .master-datatable-wide .dataTables_wrapper,
    .master-datatable-wide .dataTables_scroll,
    .master-datatable-wide .dataTables_scrollBody {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .master-datatable-wide table.dataTable {
        min-width: 1300px !important;
    }

    /* Keep cells on one line while scrolling */
    .invoice-list-page table.dataTable td,
    .invoice-list-page table.dataTable th,
    .master-datatable table.dataTable td,
    .master-datatable table.dataTable th {
        white-space: nowrap !important;
    }
}

/* Desktop — no table scrollbars; tables use full container width */
@media (min-width: 1025px) {
    .page-wrapper .master-datatable,
    .page-wrapper .master-datatable .dataTables_wrapper,
    .page-wrapper .master-datatable .dataTables_scroll,
    .page-wrapper .master-datatable .dataTables_scrollHead,
    .page-wrapper .master-datatable .dataTables_scrollBody,
    .page-wrapper .master-datatable .dataTables_scrollFoot,
    .page-wrapper .table-responsive,
    .page-wrapper .invoice-list-page .invoice-list-table-wrap,
    .page-wrapper .invoice-list-page .dataTables_wrapper {
        overflow-x: visible !important;
        overflow-y: visible !important;
    }

    .page-wrapper .dataTables_scrollBody {
        overflow: visible !important;
        max-height: none !important;
    }

    /* Override admin_main.css min-width: 960px that forces horizontal scroll */
    .page-wrapper .master-datatable table.dataTable,
    .page-wrapper .master-datatable .dataTables_scrollHead table.dataTable,
    .page-wrapper .master-datatable .dataTables_scrollBody table.dataTable {
        min-width: 0 !important;
        width: 100% !important;
    }
}

/* =====================================================================
   Site-wide — prevent horizontal page scroll; contain wide content
   inside cards, forms, and table wrappers (no layout/color changes).
   ===================================================================== */
html {
    overflow-x: hidden;
}

body.fix-header.fix-sidebar,
body.normal {
    overflow-x: hidden;
    max-width: 100%;
}

#wrapper {
    max-width: 100%;
    overflow-x: hidden;
}

/* overflow: hidden (not overflow-x only) so children clip to border-top-left-radius */
.page-wrapper {
    max-width: 100%;
    overflow: hidden;
}

.page-wrapper section.content,
.page-wrapper .container-fluid {
    max-width: 100%;
}

.page-wrapper .box,
.page-wrapper .white-box {
    max-width: 100%;
}

.page-wrapper .box-body {
    max-width: 100%;
}

/* Listing tables — desktop: no scroll; mobile/tablet scroll via @media above */
.page-wrapper .master-datatable,
.page-wrapper .master-datatable .dataTables_wrapper,
.page-wrapper .master-datatable .dataTables_scroll,
.page-wrapper .master-datatable .dataTables_scrollHead,
.page-wrapper .master-datatable .dataTables_scrollBody,
.page-wrapper .master-datatable .dataTables_scrollFoot,
.page-wrapper .table-responsive {
    max-width: 100%;
    overflow-x: visible;
}

/* Forms — inputs and selects stay within parent width */
.page-wrapper .form-control,
.page-wrapper select.form-control,
.page-wrapper textarea.form-control,
.page-wrapper .input-group,
.page-wrapper .select2-container {
    max-width: 100%;
}

.page-wrapper .row > [class*="col-"] {
    min-width: 0;
}
