@media (max-width: 767px) {
    .main-header .navbar-custom-menu {
        float: none !important;
        display: block !important;
    }
    .main-header .navbar-custom-menu .dropdown-menu {
        left: auto !important;
    }
    .skin-blue-light .main-header .navbar .dropdown-menu li a {
        color: #777;
    }
    .main-header .navbar {
        height: auto;
    }
}
.bg-danger {
    background-color: #f2dede !important;
}
.btn-big {
    padding: 10px 30px;
    font-size: 18px;
    line-height: 1.3333333;
}

.of-visible {
    overflow: visible !important;
}

#online_indicator {
    font-size: 8px;
    vertical-align: middle;
}

.pt-0 {
    padding-top: 0px;
}
.f-right {
    float: right;
}
.mb-10 {
    margin-bottom: 10px;
}
.discount-badge {
    position: absolute;
    top: 6px;
    right: 10px;
    font-size: 18px;
    padding: 7px;
}

.discount-badge-small {
    position: absolute;
    top: -2px;
    left: 10px;
    font-size: 12px;
    padding: 6px;
}
.product-info-table td,
.product-info-table th {
    font-size: 12px;
}
.catalogue {
    max-height: 127px;
    margin: auto;
    margin-bottom: 18px;
}
.catalogue-title {
    display: inline-block;
    font-size: 18px;
    margin: 0;
    line-height: 1;
    margin-bottom: 10px;
}
.bg-light-gray {
    background-color: #f8f8f8 !important;
}
.p-5-5 {
    padding: 5px 5px !important;
}
.m-4 {
    margin: 4px;
}
.skin-black .main-header,
.skin-black-light .main-header {
    color: #525f7f !important;
}
.skin-black .main-header .navbar .nav .open > a {
    color: #999 !important;
}
.skin-black .main-header .navbar .nav > li > a:hover {
    color: #999 !important;
}
.skin-black .main-header .navbar > .sidebar-toggle:hover {
    color: #999 !important;
}
.mt-0 {
    margin-top: 0 !important;
}
/* DataTables responsive: full width, reduce empty space - Apply All */
.dataTables_wrapper {
    width: 100% !important;
}
.dataTables_wrapper table.dataTable {
    width: 100% !important;
}
.table-responsive {
    width: 100%;
    overflow-x: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.table-responsive table {
    width: 100% !important;
    min-width: 0;
}

.table-pdf thead tr {
    background-color: #357ca5 !important;
    color: #fff;
}
.table-pdf thead tr th {
    color: #fff !important;
}
.blue-heading {
    background-color: #357ca5;
    color: #fff;
}

.table-pdf .odd {
    background-color: #dce6f1;
}
.p-4 {
    padding: 4px;
}
.p-10 {
    padding: 10px !important;
}
.jquery-top-scrollbar {
    height: 6px !important;
}
.jquery-top-scrollbar div {
    height: 6px !important;
}
.scroll-top-bottom {
    width: 100%;
    overflow: scroll;
}
.scroll-top-bottom::-webkit-scrollbar {
    height: 6px;
}

div.col-sm-12.pos_product_div {
    height: 660px !important;
}

.scrolltop {
    display: none;
    width: 100%;
    margin: 0 auto;
    position: fixed;
    bottom: 20px;
    right: 10px;
}
.scroll {
    position: absolute;
    right: 20px;
    bottom: 20px;
    background: #b2b2b2;
    background: rgba(178, 178, 178, 0.7);
    padding: 7px;
    text-align: center;
    margin: 0 0 0 0;
    cursor: pointer;
    transition: 0.5s;
    -moz-transition: 0.5s;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    border-radius: 6px;
}
.scroll:hover {
    background: rgba(178, 178, 178, 1);
    transition: 0.5s;
    -moz-transition: 0.5s;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
}
.scroll:hover .fas {
    padding-top: -10px;
}
.scroll .fas {
    font-size: 25px;
    margin-top: -5px;
    margin-left: 1px;
    transition: 0.5s;
    -moz-transition: 0.5s;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
}

.f-left {
    float: left;
}
.align-left {
    text-align: left;
}
.align-right {
    text-align: right;
}

.table-pdf {
    border-collapse: collapse;
    width: 100%;
    border-spacing: 8px 10px;
}
.td-border td,
.td-border th {
    border-bottom: 1px solid lightgrey;
    padding: 8px 5px;
}

.ws-nowrap {
    white-space: nowrap;
}

.btn-app > .fas,
.btn-app > .fab {
    font-size: 20px;
    display: block;
}
.dropdown-menu > li > a > .fas {
    margin-right: 6px;
}
.mt-5 {
    margin-top: 5px !important;
}
.pos-form-actions {
    height: auto;
    padding-top: 12px;
    padding-bottom: 20px;
    position: fixed;
    bottom: 0px;
    /* background-color: #D1D5DC; */
    width: 100%;
    z-index: 1000;
}
.mb-12 {
    margin-bottom: 12px !important;
}
.pb-0 {
    padding-bottom: 0px !important;
}
.pr-12 {
    padding-right: 12px !important;
}
.main-header .sidebar-toggle:before {
    content: '' !important;
}
.ui-autocomplete {
    max-height: 300px;
    overflow-y: auto;
    /* prevent horizontal scrollbar */
    overflow-x: hidden;
}
.margin-bottom-20 {
    margin-bottom: 20px !important;
}
.text-white {
    color: #fff;
}
.wizard > .steps > ul > li {
    width: 33.33% !important;
}
.wizard > .content {
    /* background: #445867 !important; */
}
legend {
    color: #fff;
    margin-bottom: 6px;
    border-bottom: none;
}
.left-col {
    background:
        linear-gradient(0deg, rgba(0, 0, 0, 0.76), rgba(51, 51, 51, 0.32)), url(../img/home-bg.jpg);
    text-align: center;
    background-size: cover;
    background-position: center;
}
.left-col-content {
    color: #1a7bf9;
    width: 100%;
}
.login-header {
    font-size: 27px;
    font-weight: 600;
}
.login-header a {
    color: #fff;
}
.form-header {
    font-size: 18px;
    margin: 16px 0;
}
.btn-login {
    padding: 6px 52px !important;
}
/* .right-col {
  background-color: #243949;
  height: 100%;
  min-height: 100vh;
} */

/* Background color added by Prashant */
.right-col {
    background: linear-gradient(to right, #6366f1, #3b82f6);
    height: 100%;
}

/* .right-col label {
  color: #fff;
}

.right-col a, .text-white a {
  color: #fff;
  font-weight: 600;
  font-size: 15px
}
.right-col a:hover, .text-white a:hover {
  color: #ccc;
}
.right-col-content {
  padding: 10% 16%;
  padding-bottom: 3%;
}
.right-col-content-register {
  padding: 2% 8%;
} */

.input_inline {
    width: 100%;
    display: inline-flex;
}
.input_inline input,
.input_inline span {
    width: 50%;
}
.bg-manufacturing {
    background-color: #ff851b;
}
.img-thumbnail {
    position: relative;
    width: 70px;
    height: 70px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 2px;
    transition: border 0.2s ease-in-out;
    padding: 4px;
    margin: 3px;
    text-align: center;
}
.img-thumbnail > .badge {
    position: absolute;
    top: -5px;
    right: -7px;
    font-size: 9px;
    font-weight: 400;
    cursor: pointer;
}
.navbar-nav > .notifications-menu > .dropdown-menu > li .menu {
    max-height: 350px;
}
.bg-aqua-lite {
    background-color: #7fffd4;
}
.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a {
    white-space: normal;
}
.spacer {
    margin-top: 20px;
}
#product_list_body {
    max-height: 485px;
    overflow-y: scroll;
    overflow-x: hidden;
}
.div-overlay {
    cursor: not-allowed;
    background: #e9e9e9;
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.5;
}

.d-inline-table {
    display: inline-table;
}

.label-round {
    font-size: 8px;
    border-radius: 44%;
}
.table > tbody + tbody {
    border-top: 0;
}
.table-pl-12 td,
.table-pl-12 th {
    padding-left: 12px !important;
}
table tbody td.pl-20-td {
    padding-left: 20px !important;
}
table.table-border-center > tbody > tr > td:first-child,
table.table-border-center > thead > tr > th:first-child,
table.table-border-center > tfoot > tr > td:first-child {
    border-right: 1px solid darkgray;
}
table.table-border-center-col > tbody > tr > td:nth-child(2),
table.table-border-center-col > thead > tr > th:nth-child(2),
table.table-border-center-col > tfoot > tr > td:nth-child(2) {
    border-right: 1px solid darkgray;
    border-left: 1px solid darkgray;
}
.bg-transparent {
    background-color: transparent !important;
}
.mb-0 {
    margin-bottom: 0;
}

.nav-tabs > li > a {
    font-size: 18px;
    font-weight: 600;
}
.table-transparent,
.table-transparent th {
    background-color: transparent !important;
    color: #000 !important;
}
.td-full-width {
    white-space: nowrap;
}
.font-17 {
    font-size: 17px !important;
}
table.dataTable tbody > tr.selected {
    background-color: #b0bed9;
}
tr.footer-total > td {
    vertical-align: middle !important;
}
.error {
    color: red !important;
}
/*  pos tab */
div.pos-tab-container {
    z-index: 10;
    background-color: #ffffff;
    padding: 0 !important;
    border-radius: 4px;
    -moz-border-radius: 4px;
    border: 1px solid #ddd;
    margin-bottom: 28px;
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    background-clip: padding-box;
}
div.pos-tab-menu {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 0;
}
div.pos-tab-menu div.list-group {
    margin-bottom: 0;
}
div.pos-tab-menu div.list-group > a {
    margin-bottom: 0;
}
div.pos-tab-menu div.list-group > a .glyphicon,
div.pos-tab-menu div.list-group > a .fa {
    color: #5a55a3;
}
div.pos-tab-menu div.list-group > a:first-child {
    border-top-right-radius: 0;
    -moz-border-top-right-radius: 0;
}
div.pos-tab-menu div.list-group > a:last-child {
    border-bottom-right-radius: 0;
    -moz-border-bottom-right-radius: 0;
}

/* div.pos-tab-menu div.list-group>a.active,
div.pos-tab-menu div.list-group>a.active .glyphicon,
div.pos-tab-menu div.list-group>a.active .fa{
  background-color: #3c8dbc;
  color: #ffffff;
    border-color: #3c8dbc;
} */

div.pos-tab-menu div.list-group > a.active,
div.pos-tab-menu div.list-group > a.active .glyphicon,
div.pos-tab-menu div.list-group > a.active .fa {
    background: linear-gradient(to right, #6366f1, #3b82f6);
    color: #ffffff;
    border-color: transparent;
}

div.pos-tab-menu div.list-group > a.active:after {
    /* content: ''; */
    position: absolute;
    left: 100%;
    top: 50%;
    margin-top: -13px;
    border-left: 0;
    border-bottom: 13px solid transparent;
    border-top: 13px solid transparent;
    border-left: 10px solid #3c8dbc;
}

div.pos-tab-content {
    background-color: #ffffff;
    /* border: 1px solid #eeeeee; */
    padding-left: 20px;
    padding-top: 20px;
}

div.pos-tab div.pos-tab-content:not(.active) {
    display: none;
}

.add-product-price-table th {
    background-color: #5cb85c;
    color: white;
}
.blue-header th {
    background-color: #3c8dbc;
    color: white;
}
.table-th-green th {
    background-color: #5cb85c;
    color: white;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
}
.active-cell {
    border: 2px dotted #3c8dbc !important;
}
.cursor-pointer {
    cursor: pointer !important;
}
.pos_product_div {
    /* min-height: 47vh;
    max-height: 57vh; */
    overflow-y: auto;
    /* margin-bottom: 20px; */
    height: 40vh !important;
}
.bg-lightgray {
    background-color: #f0eded !important;
}
.balance_due_box > li {
    padding: 11px 5px 0px 5px;
}
.option-div {
    padding: 15px;
    background-color: #d2d6de;
    color: #333;
    border: 1px solid #d2d6de;
    cursor: pointer;
}
.option-div input[type='radio'] {
    display: none;
}
.option-div-group .icon {
    color: #d33724;
    display: none;
}
.option-div-group .option-div:hover {
    border: 1px solid gray;
}
.option-div-group .active .icon {
    display: block;
}
.margin-left-10 {
    margin-left: 10px;
}
.margin-bottom-12 {
    margin-bottom: 12px;
}
.bg-info {
    background-color: #00c0ef !important;
}
.bg-info > a {
    color: #ffffff !important;
}
.bg-info > a:hover {
    background-color: #337ab7 !important;
}
ul.dt-button-collection {
    background-color: #00c0ef;
}
td.details-control {
    background: url('/img/details_open.png') no-repeat center center;
    cursor: pointer;
}
tr.details td.details-control {
    background: url('/img/details_close.png') no-repeat center center;
}
.icheckbox_square-blue,
.iradio_square-blue {
    margin-right: 10px;
}
.header-right-div {
    right: 10px;
    float: right;
    position: absolute;
    top: 15px;
}
.header-left-div {
    margin-top: 15px;
    display: inline-flex;
}
.m-8 {
    margin: 8px;
}
.mt-10 {
    margin-top: 10px;
}
.mt-15 {
    margin-top: 15px;
}
.m-5 {
    margin: 5px;
}
.icon-link {
    text-align: center;
    display: block;
    margin-bottom: 18px;
}
.icon-link > a {
    display: grid;
}
.icon-link > .badge {
    position: absolute;
    top: 20px;
    right: 67px;
}
.link-des {
    display: inline-block;
    text-align: left;
}

.navbar-nav > .user-menu > .dropdown-menu > li.user-header > img {
    border: none;
    height: auto;
    width: 100%;
    max-height: 120px;
}
.bg-light-green {
    background-color: #98d973 !important;
    color: #fff !important;
}
.hover-q {
    font-size: 16px;
    margin-left: 3px;
    cursor: help;
}
.input-group-addon .hover-q {
    margin-left: 0px;
}
.text-bold {
    font-weight: bold;
}
.tour .popover-content {
    padding: 14px 14px;
}

/* =========================================================
   BillPosware: Application Tour Popup Redesign
   ========================================================= */
.bp-tour-popover {
    max-width: 380px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(11, 30, 61, 0.15) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18) !important;
}
.bp-tour-popover .popover-title {
    background: #0b1e3d !important;
    color: #bcbec0 !important;
    border-radius: 11px 11px 0 0 !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #d4952b !important;
}
.bp-tour-popover .popover-content {
    padding: 12px 14px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #333 !important;
}
.bp-tour-nav {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 14px 10px !important;
    border-top: 1px solid #eee !important;
}
.bp-tour-btn {
    flex: 1 !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    border: none !important;
    cursor: pointer !important;
    text-align: center !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
}
.bp-tour-prev {
    background: #e5e7eb !important;
    color: #374151 !important;
}
.bp-tour-prev:hover {
    background: #d1d5db !important;
}
.bp-tour-next {
    background: linear-gradient(135deg, #10b981, #059669) !important;
    color: #fff !important;
}
.bp-tour-next:hover {
    background: linear-gradient(135deg, #059669, #047857) !important;
}
.bp-tour-end {
    background: #0b1e3d !important;
    color: #bcbec0 !important;
    flex: 0 0 auto !important;
}
.bp-tour-end:hover {
    background: #1a3a6a !important;
    color: #fff !important;
}
.table-slim > tbody > tr > td,
.table-slim > tbody > tr > th,
.table-slim > tfoot > tr > td,
.table-slim > tfoot > tr > th,
.table-slim > thead > tr > td,
.table-slim > thead > tr > th {
    padding: 1px;
}

/* Custom scroll bar start*/

/* width */
/* ::-webkit-scrollbar {
    width: 7px;
} */

/* Track */
/* ::-webkit-scrollbar-track {
    background: #f1f1f1; 
} */

/* Handle */
/* ::-webkit-scrollbar-thumb {
    background: #888; 
} */

/* Handle on hover */
/* ::-webkit-scrollbar-thumb:hover {
    background: #555; 
} */

/* Custom scroll bar end*/

.product_cell {
    height: 100px;
    padding: 1%;
}
.product_cell_div {
    height: 100% !important;
    width: 100% !important;
    text-align: center;
    vertical-align: middle;
    padding-top: 5px;
    cursor: pointer;
    overflow: hidden;
}

/*CSS to print receipts*/
.print_section {
    display: none;
}
@media print {
    .print_section {
        display: inline !important;
    }
    .modal-xl {
        width: 100% !important;
    }
    ::-webkit-scrollbar {
        display: none !important;
    }
    #toast-container {
        display: none;
    }
}

.input-number .btn-default {
    background-color: white;
    padding: 6px 9px;
}

.width-50 {
    width: 50% !important;
}
.width-40 {
    width: 40% !important;
}
.width-60 {
    width: 60% !important;
}
.width-100 {
    width: 100% !important;
}

.font-30 {
    font-size: 30px !important;
}

.font-23 {
    font-size: 23px !important;
}
.padding-5 {
    padding: 5px !important;
}
.padding-10 {
    padding: 10px !important;
}
.padding-side-15 {
    /*padding-left: 15px !important;
    padding-right: 15px !important;*/
}
.text-muted-imp {
    color: #a3a3a3 !important;
}

.table-no-top-cell-border td {
    border-top: 0px !important;
    border-bottom: 0px !important;
}
.table-no-top-cell-border th {
    border-top: 0px !important;
    border-bottom: 0px !important;
}

.table-no-side-cell-border td {
    border-left: 0px !important;
    border-right: 0px !important;
}
.table-no-side-cell-border th {
    border-left: 0px !important;
    border-right: 0px !important;
}

.color-555 {
    color: #555555 !important;
}
.color-555 * {
    color: #555555 !important;
}
.color-white {
    color: white !important;
}
.col-no-padding {
    padding-left: 0px;
    padding-right: 0px;
}
.col-2px-padding {
    padding: 2px;
}

.pos-express-btn {
    font-size: 23px !important;
    overflow: hidden !important;
    height: 73px !important;
    white-space: normal;
}
.word-wrap {
    word-wrap: break-word !important;
}

.modal-xl {
    width: 90%; /* respsonsive width */
    margin-left: auto !important;
    margin-right: auto !important;
}
table.ajax_view tbody tr {
    cursor: pointer;
}
.bg-white {
    background-color: #fff;
}

.product-thumbnail-small {
    height: 50px;
    width: 50px;
}

table.table-text-center td,
table.table-text-center th {
    vertical-align: middle !important;
}
.product_list {
    padding-left: 3px;
    padding-right: 3px;
}
.product_box {
    width: 100%;
    /*padding-top: 5px;
  padding-bottom: 2px;*/
    margin-bottom: 10px;
    text-align: center;
    cursor: pointer;
    /*border: 1px solid darkgray;*/
    font-weight: 600;
    background-color: #fff;
    border-radius: 12px;
    padding: 8px;
}
.product_box .image-container {
    height: 50px;
    margin: auto;
    width: 100%;
    margin-bottom: 4px;
}
.product_box .image-container img {
    height: 100%;
    width: 100%;
    border-radius: 12px;
}
.eq-height-row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}
.eq-height-col {
    display: flex;
}

.product_box .text_div {
    margin-top: 3px;
}
.product_box .text {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1; /* number of lines to show */
    line-height: 14px; /* fallback */
    max-height: 14px; /* fallback */
}
.small-box.bg-gray:hover {
    color: #000;
    text-decoration: none;
}

#calendar table tbody td {
    cursor: pointer;
}

.min-height-90hv {
    min-height: 90vh !important;
}

/* Grow Shadow */
.hvr-grow-shadow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: box-shadow, transform;
    transition-property: box-shadow, transform;
}
.hvr-grow-shadow:hover,
.hvr-grow-shadow:focus,
.hvr-grow-shadow:active {
    box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.text-link {
    cursor: pointer;
}

.text-link:hover {
    text-decoration: underline;
}

.v-center {
    vertical-align: middle !important;
}

.bg-woocommerce {
    background-color: #9e458b !important;
}

/*.box, .info-box, .nav-tabs-custom, .external-event{
  box-shadow: 0 4px 6px 0 hsla(0, 0%, 0%, 0.2) !important;
}*/

.user_avatar {
    border-radius: 50%;
    width: 25px;
    height: 25px;
    margin: 1px;
}

.fs-10 {
    font-size: 10px;
}

.timeline-lode-more-btn {
    margin-left: 50px;
    margin-top: 25px;
    padding-right: 12px;
    padding-left: 12px;
}

.pa-0 {
    padding: 0px !important;
}

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

.m-2 {
    margin: 2px !important;
}

.treeview-menu i {
    display: none !important;
}
.treeview-menu a {
    padding-left: 25px !important;
    font-size: 95% !important;
}
.treeview-menu a::before {
    content: '\2192 ';
}

@media only screen and (max-width: 600px) {
    .pos-form-actions {
        position: absolute;
    }
}
.mr-8 {
    margin-right: 8px !important;
}

@media (max-width: 1024px) {
    .pos_form_totals {
        margin-bottom: 40px;
    }
}

.swal-modal .swal-text {
    text-align: center;
}

.pos-total {
    /* display: inline-block; */
    padding: 8px 10px;
    vertical-align: middle;
    margin-left: 5px;
    margin-right: 5px;
}
.pos-total span.number {
    font-size: 26px;
    vertical-align: middle;
    font-weight: bolder;
}

.pos-total span.text {
    font-weight: bolder;
    display: inline-block;
    width: 60px;
    vertical-align: middle;
}
.mb-40 {
    margin-bottom: 40px !important;
}
/*BillPosware Updated (Start)*/
@media print {
    @page {
        margin: 10px !important;
    }
}
/*BillPosware Updated (End)*/
@media print {
    a:after {
        content: '';
    }
    a[href]:after {
        content: none !important;
    }
    .receipt-wrapper {
        width: 80mm;
        margin: 0 auto !important; /* ensures content stays centered */
    }
}

.fa-times {
    font-size: 30px;
}
.mb-5 {
    margin-bottom: 5px !important;
}
.tree-actions {
    margin-left: 20px;
    display: none;
}
.jstree-hovered .tree-actions {
    display: inherit;
}

.info-box-new-style {
    padding: 30px !important;
    padding-right: 0 !important;
}
.info-box {
    background: linear-gradient(
        to bottom,
        rgb(244, 245, 246) 0%,
        rgb(244, 245, 246) 50%,
        rgb(244, 245, 246) 100%
    );
    border-radius: 10px;
    padding: 15px;
    transition:
        transform 0.3s ease-in-out,
        box-shadow 0.3s ease-in-out,
        background 0.3s ease-in-out;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    color: #ffffff;
    cursor: pointer;
    width: 95%;
    max-width: 500px;
    margin: 5px;
}
div.info-box.info-box-new-style {
    border-style: solid !important;
    border-color: #eceff1 !important;
}
span.info-box-text {
    color: #000000 !important;
}
span.info-box-number {
    color: #455a64 !important;
}

@media (max-width: 576px) {
    input.form-control.pos_quantity.input_number.mousetrap.input_quantity {
        padding: 6px 0px !important;
    }
    button.btn.btn-default.btn-flat.quantity-down {
        padding: 6px 0px !important;
    }
    button.btn.btn-default.btn-flat.quantity-up {
        padding: 6px 0px !important;
    }
}

div.pos-form-actions.theme__pos {
    background-color: #001f3f !important;
    margin-left: -15px;
}

button.btn.btn-default.btn-pos.bg-info.text-white.btn-flat.no-print {
    font-size: 12px !important;
}

.btn.btn-flat.pos_custom_btn {
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    border-width: 1px;
    width: auto !important;
    height: 40px !important;
    color: #ffffff !important;
    background: linear-gradient(145deg, #0044cc, #001a66) !important;
    border: 2px solid #003399 !important;

    border-radius: 6px !important;
    padding: 4px 6px;
    text-decoration: none !important;
    display: inline-block !important;
    box-shadow:
        3px 3px 8px rgba(0, 0, 0, 0.3),
        -3px -3px 8px rgba(255, 255, 255, 0.1) !important;
    transition: all 0.3s ease-in-out !important;
    cursor: pointer;
    color: #ffffff !important;
    background: linear-gradient(145deg, #00bfff, #1e90ff) !important;
    border: 2px solid #007acc !important;
    border-radius: 8px !important;
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3) !important;
    transition: all 0.3s ease-in-out !important;
}

button.btn.btn-default.bg-yellow.btn-flat:hover {
    font-size: 12px !important;
    width: auto !important;
    height: 40px !important;
    color: #800000 !important;
    background: linear-gradient(145deg, #ffcc00, #b8860b) !important;
    transform: translateY(-5px) scale(1.05) !important;
    box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.5) !important;
    border-color: #800000 !important;
}

/* =========================================================
   BillPosware Global: Add/Download Button Redesign
   Gold left (icon) + Dark Navy right (text) with inset dashed border
   ========================================================= */

/* --- Button Container: transparent shell, flex row --- */
.tw-dw-btn.tw-text-white[style*="FFB600"],
a.tw-dw-btn.tw-text-white[style*="FFB600"],
button.tw-dw-btn.tw-text-white[style*="FFB600"],
.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600,
a.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600,
button.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600,
.tw-dw-btn.bp-btn-add {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: stretch !important;
    overflow: hidden !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.30) !important;
    text-decoration: none !important;
    height: auto !important;
    gap: 0 !important;
    line-height: normal !important;
    font-size: 0 !important;
    transition: all 0.25s ease !important;
    cursor: pointer !important;
}

/* --- SVG icon: gold section on the left --- */
.tw-dw-btn.tw-text-white[style*="FFB600"] svg,
.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600 svg,
.tw-dw-btn.bp-btn-add svg {
    background: #d4952b !important;
    border-radius: 0 !important;
    padding: 10px !important;
    width: 48px !important;
    height: auto !important;
    min-height: 46px !important;
    margin: 0 !important;
    color: #ffffff !important;
    stroke: #ffffff !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* --- FontAwesome icon: gold section on the left --- */
.tw-dw-btn.tw-text-white[style*="FFB600"] > i,
.tw-dw-btn.tw-text-white[style*="FFB600"] > .fa,
.tw-dw-btn.tw-text-white[style*="FFB600"] > .fas,
.tw-dw-btn.tw-text-white[style*="FFB600"] > .far,
.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600 > i,
.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600 > .fa,
.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600 > .fas,
.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600 > .far,
.tw-dw-btn.bp-btn-add > i {
    background: #d4952b !important;
    border-radius: 0 !important;
    padding: 10px !important;
    width: 48px !important;
    height: auto !important;
    min-height: 46px !important;
    margin: 0 !important;
    color: #ffffff !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    box-shadow: none !important;
}

/* --- Text label: dark navy section with inset dashed border --- */
.bp-btn-label {
    background: #1b2a4a !important;
    color: #bcbec0 !important;
    padding: 12px 22px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    position: relative !important;
    font-family: 'Noto Sans Khmer', 'Battambang', 'Inter', sans-serif !important;
    letter-spacing: 0.3px !important;
    line-height: 1.3 !important;
}

/* Inset dashed border (offset stroke) only on the navy section */
.bp-btn-label::before {
    content: '' !important;
    position: absolute !important;
    top: 5px !important;
    right: 5px !important;
    bottom: 5px !important;
    left: 5px !important;
    border: 1.5px dashed rgba(255, 255, 255, 0.30) !important;
    border-radius: 4px !important;
    pointer-events: none !important;
}

/* --- Hover: lift + brighter --- */
.tw-dw-btn.tw-text-white[style*="FFB600"]:hover,
.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600:hover,
.tw-dw-btn.bp-btn-add:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.40) !important;
    transform: translateY(-2px) !important;
}
.tw-dw-btn.tw-text-white[style*="FFB600"]:hover .bp-btn-label,
.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600:hover .bp-btn-label,
.tw-dw-btn.bp-btn-add:hover .bp-btn-label {
    background: #243656 !important;
}
.tw-dw-btn.tw-text-white[style*="FFB600"]:hover svg,
.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600:hover svg,
.tw-dw-btn.bp-btn-add:hover svg,
.tw-dw-btn.tw-text-white[style*="FFB600"]:hover > i,
.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600:hover > i,
.tw-dw-btn.bp-btn-add:hover > i {
    background: #e0a430 !important;
}

/* --- Active: press down --- */
.tw-dw-btn.tw-text-white[style*="FFB600"]:active,
.tw-dw-btn.tw-bg-gradient-to-r.tw-from-indigo-600:active,
.tw-dw-btn.bp-btn-add:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
}

/* =========================================================
   BillPosware Global: Table Header Redesign
   Light mode: green style (like sidebar active). Dark mode: Dark Navy, white text.
   ========================================================= */
/* Light mode: light green bg, 70-80% black text (same style for header and footer) */
/* Table header Apply All System - box-table, contact, modern-data-card, hrm, khqr, etc. */
.table > thead > tr > th, .table-bordered > thead > tr > th, .table-striped > thead > tr > th,
table.dataTable thead th, .dataTables_wrapper table thead th,
.box-table thead th, #contact_table .contact-table-header th, #contact_table thead.contact-table-header th,
.modern-data-card .table thead th, .hrm-content-wrapper .table thead th,
.hrm-attendance-table thead th, .khqr-list-table thead th {
    background-color: #e8f5e9 !important;
    color: rgba(0,0,0,0.75) !important;
    border-bottom: 2px solid rgba(30, 154, 92, 0.35) !important;
    box-shadow: none !important;
}
body:not(.dark-mode) .table > thead > tr > th,
body:not(.dark-mode) .table-bordered > thead > tr > th,
body:not(.dark-mode) .table-striped > thead > tr > th,
body:not(.dark-mode) table.dataTable > thead > tr > th,
body:not(.dark-mode) table.dataTable thead th,
body:not(.dark-mode) .dataTables_wrapper table thead th,
body:not(.dark-mode) .box-table thead th,
body:not(.dark-mode) #contact_table .contact-table-header th,
body:not(.dark-mode) .modern-data-card .table thead th,
body:not(.dark-mode) .hrm-content-wrapper .table thead th,
body:not(.dark-mode) .hrm-attendance-table thead th,
body:not(.dark-mode) .khqr-list-table thead th {
    background-color: #e8f5e9 !important;
    color: rgba(0,0,0,0.75) !important;
    border-color: rgba(30, 154, 92, 0.2) !important;
    border-right: 1px solid rgba(0,0,0,0.06) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 12px 10px !important;
    white-space: nowrap;
    text-align: center;
    font-family: 'Noto Sans Khmer', 'Battambang', sans-serif !important;
}
body:not(.dark-mode) .table > thead > tr > th:last-child,
body:not(.dark-mode) .table-bordered > thead > tr > th:last-child,
body:not(.dark-mode) .table-striped > thead > tr > th:last-child,
body:not(.dark-mode) table.dataTable > thead > tr > th:last-child,
body:not(.dark-mode) table.dataTable thead th:last-child {
    border-right: 1px solid rgba(30, 154, 92, 0.2) !important;
}
body:not(.dark-mode) .table > thead > tr > th:first-child,
body:not(.dark-mode) table.dataTable > thead > tr > th:first-child,
body:not(.dark-mode) .dataTables_wrapper table thead th:first-child {
    border-top-left-radius: 10px;
}
body:not(.dark-mode) .table > thead > tr > th:last-child,
body:not(.dark-mode) table.dataTable > thead > tr > th:last-child,
body:not(.dark-mode) .dataTables_wrapper table thead th:last-child {
    border-top-right-radius: 10px;
}

body:not(.dark-mode) .table > thead > tr > th a,
body:not(.dark-mode) table.dataTable > thead > tr > th a,
body:not(.dark-mode) table.dataTable thead th a {
    color: rgba(0,0,0,0.75) !important;
}

body:not(.dark-mode) table.dataTable thead .sorting:before,
body:not(.dark-mode) table.dataTable thead .sorting:after,
body:not(.dark-mode) table.dataTable thead .sorting_asc:before,
body:not(.dark-mode) table.dataTable thead .sorting_asc:after,
body:not(.dark-mode) table.dataTable thead .sorting_desc:before,
body:not(.dark-mode) table.dataTable thead .sorting_desc:after {
    color: rgba(0,0,0,0.6) !important;
}

body:not(.dark-mode) table.dataTable thead .sorting_asc:after,
body:not(.dark-mode) table.dataTable thead .sorting_desc:after {
    color: rgba(0,0,0,0.75) !important;
}

/* Table empty state (គ្មានទិន្នន័យ): centered, clean - Full System */
body:not(.dark-mode) table.dataTable td.dataTables_empty,
body:not(.dark-mode) table.dataTable th.dataTables_empty {
    color: rgba(0,0,0,0.75) !important;
    text-align: center !important;
    padding: 24px 16px !important;
    font-size: 14px !important;
    background: #ffffff !important;
}

/* Table footer: same background and text color as header - Full System */
body:not(.dark-mode) .table > tfoot > tr > td,
body:not(.dark-mode) .table > tfoot > tr > th,
body:not(.dark-mode) .table tfoot tr.footer-total td,
body:not(.dark-mode) .table tfoot tr.bg-gray td,
body:not(.dark-mode) table.dataTable tfoot th,
body:not(.dark-mode) table.dataTable tfoot td {
    background-color: #e8f5e9 !important;
    color: rgba(0,0,0,0.75) !important;
    border-color: rgba(30, 154, 92, 0.2) !important;
    font-weight: 600 !important;
}

/* Dark mode: Dark Navy background, white text (original style) */
body.dark-mode .table > thead > tr > th,
body.dark-mode .table-bordered > thead > tr > th,
body.dark-mode .table-striped > thead > tr > th,
body.dark-mode table.dataTable > thead > tr > th,
body.dark-mode table.dataTable thead th,
body.dark-mode .dataTables_wrapper table thead th,
body.dark-mode .box-table thead th,
body.dark-mode #contact_table .contact-table-header th,
body.dark-mode .modern-data-card .table thead th,
body.dark-mode .hrm-content-wrapper .table thead th,
body.dark-mode .hrm-attendance-table thead th,
body.dark-mode .khqr-list-table thead th {
    background-color: #1a2b4b !important;
    color: #ffffff !important;
    border-bottom: 2px solid rgba(255,255,255,0.15) !important;
    box-shadow: none !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 12px 10px !important;
    white-space: nowrap;
    text-align: center;
}
body.dark-mode .table > thead > tr > th:last-child,
body.dark-mode table.dataTable > thead > tr > th:last-child,
body.dark-mode .dataTables_wrapper table thead th:last-child {
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
}
body.dark-mode .table > thead > tr > th:first-child,
body.dark-mode table.dataTable > thead > tr > th:first-child,
body.dark-mode .dataTables_wrapper table thead th:first-child {
    border-top-left-radius: 10px;
}
body.dark-mode .table > thead > tr > th:last-child,
body.dark-mode table.dataTable > thead > tr > th:last-child,
body.dark-mode .dataTables_wrapper table thead th:last-child {
    border-top-right-radius: 10px;
}

body.dark-mode .table > thead > tr > th a,
body.dark-mode table.dataTable > thead > tr > th a,
body.dark-mode table.dataTable thead th a {
    color: #ffffff !important;
}

body.dark-mode .table > thead > tr > th .sorting_asc,
body.dark-mode .table > thead > tr > th .sorting_desc,
body.dark-mode table.dataTable thead .sorting:after,
body.dark-mode table.dataTable thead .sorting_asc:after,
body.dark-mode table.dataTable thead .sorting_desc:after {
    color: #f5a623 !important;
}

body.dark-mode table.dataTable thead .sorting:before,
body.dark-mode table.dataTable thead .sorting:after,
body.dark-mode table.dataTable thead .sorting_asc:before,
body.dark-mode table.dataTable thead .sorting_asc:after,
body.dark-mode table.dataTable thead .sorting_desc:before,
body.dark-mode table.dataTable thead .sorting_desc:after {
    color: rgba(255, 255, 255, 0.5) !important;
}

body.dark-mode table.dataTable thead .sorting_asc:after,
body.dark-mode table.dataTable thead .sorting_desc:after {
    color: #f5a623 !important;
}

/* Dark mode table footer: same as header */
body.dark-mode .table > tfoot > tr > td,
body.dark-mode .table > tfoot > tr > th,
body.dark-mode .table tfoot tr.footer-total td,
body.dark-mode .table tfoot tr.bg-gray td,
body.dark-mode table.dataTable tfoot th,
body.dark-mode table.dataTable tfoot td {
    background-color: #1a2b4b !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    font-weight: 600 !important;
}

/* Box header with dark navy for widget titles */
.box-primary > .box-header {
    background-color: transparent;
}

/* Ensure PDF tables retain their style (dark navy for print) */
.table-pdf thead tr {
    background-color: #1a2b4b !important;
    color: #ffffff !important;
}

/* POS table header is excluded (handled separately in pos_form_totals) */
#pos_table > thead > tr > th {
    background: linear-gradient(135deg, #f8f9fa, #e9ecef) !important;
    color: #1e293b !important;
}

/* =========================================================
   BillPosware Global: Unified Form & UI System
   Matches Login page style across all admin forms
   ========================================================= */

/* ── CSS Variables ── */
:root {
    --bp-form-border: #e2e8f0;
    --bp-form-radius: 8px;
    --bp-form-focus: #d4af37;
    --bp-form-focus-shadow: rgba(212, 175, 55, 0.2);
    --bp-addon-bg: #fff5f0;
    --bp-addon-color: #d4af37;
    --bp-navy: #0b1e3d;
    --bp-gold: #d4af37;
    --bp-text-light: #bcbec0;
}

/* ── 1. Form Controls ────────────────────────────────────── */
.form-control {
    border: 1.5px solid var(--bp-form-border) !important;
    border-radius: var(--bp-form-radius) !important;
    font-size: 13px;
    color: #333;
    background: #fff;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.form-control:focus {
    border-color: var(--bp-form-focus) !important;
    box-shadow: 0 0 0 3px var(--bp-form-focus-shadow) !important;
    outline: none !important;
}
.form-control::placeholder {
    color: #9ca3af;
    font-weight: 400;
}

/* Textarea inherits form-control style */
textarea.form-control {
    border-radius: var(--bp-form-radius) !important;
    min-height: 80px;
}

/* ── 2. Input Group Addon (Icon prefix) ──────────────────── */
.input-group-addon {
    background: var(--bp-addon-bg) !important;
    color: var(--bp-addon-color) !important;
    border: 1.5px solid var(--bp-form-border) !important;
    border-right: none !important;
    border-radius: var(--bp-form-radius) 0 0 var(--bp-form-radius) !important;
    font-size: 15px;
    min-width: 40px;
    transition: border-color 0.3s ease, color 0.3s ease, background 0.3s ease;
}
.input-group .form-control:first-child {
    border-radius: var(--bp-form-radius) 0 0 var(--bp-form-radius) !important;
}
.input-group .form-control:last-child,
.input-group .form-control:not(:first-child) {
    border-radius: 0 var(--bp-form-radius) var(--bp-form-radius) 0 !important;
}
.input-group .input-group-addon + .form-control,
.input-group .input-group-addon + .select2-container {
    border-left: none !important;
    border-radius: 0 var(--bp-form-radius) var(--bp-form-radius) 0 !important;
}
.input-group .input-group-addon:last-child {
    border-left: none !important;
    border-right: 1.5px solid var(--bp-form-border) !important;
    border-radius: 0 var(--bp-form-radius) var(--bp-form-radius) 0 !important;
}

/* Focus glow on addon when sibling input is focused */
.input-group:focus-within > .input-group-addon {
    border-color: var(--bp-form-focus) !important;
    color: #c49a2c !important;
    background: #fff8ee !important;
}
.input-group:focus-within > .form-control {
    border-color: var(--bp-form-focus) !important;
}

/* ── 3. Quick-Add [+] Buttons ────────────────────────────── */
.input-group-btn > .btn {
    border: 1.5px solid var(--bp-form-border) !important;
    border-left: none !important;
    border-radius: 0 var(--bp-form-radius) var(--bp-form-radius) 0 !important;
    background: #fff !important;
    color: var(--bp-gold) !important;
    transition: all 0.3s ease !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none !important;
    height: 34px;
}
.input-group-btn > .btn:hover {
    background: var(--bp-addon-bg) !important;
    color: #c49a2c !important;
    transform: scale(1.08);
}
.input-group-btn > .btn i {
    color: var(--bp-gold) !important;
    transition: color 0.3s;
}
.input-group-btn > .btn:hover i {
    color: #b8860b !important;
}

/* Select2 inside input-group: flush edges */
.input-group .select2-container {
    border-radius: 0 !important;
    flex: 1 1 auto;
    display: table-cell;
}
.input-group .select2-container .select2-selection--single {
    border-radius: 0 !important;
}
.input-group .input-group-addon + .select2-container .select2-selection--single {
    border-left: none !important;
    border-radius: 0 !important;
}
.input-group .select2-container + .input-group-btn > .btn {
    border-left: 1.5px solid var(--bp-form-border) !important;
}
/* Last select2 in group gets right radius */
.input-group .select2-container:last-child .select2-selection--single {
    border-radius: 0 var(--bp-form-radius) var(--bp-form-radius) 0 !important;
}
/* First select2 in group gets left radius */
.input-group .select2-container:first-child .select2-selection--single {
    border-radius: var(--bp-form-radius) 0 0 var(--bp-form-radius) !important;
}
/* Input group focus state passes through to select2 */
.input-group:focus-within .select2-container .select2-selection--single {
    border-color: var(--bp-form-focus) !important;
}

/* ── 4. Select2 Dropdowns ────────────────────────────────── */
.select2-container--default .select2-selection--single {
    border: 1.5px solid var(--bp-form-border) !important;
    border-radius: var(--bp-form-radius) !important;
    height: 34px !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    background: #fff !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #333 !important;
    line-height: 32px !important;
    padding-left: 12px !important;
    font-size: 13px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 32px !important;
    right: 6px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--bp-gold) transparent transparent transparent !important;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--bp-form-focus) !important;
    box-shadow: 0 0 0 3px var(--bp-form-focus-shadow) !important;
}
/* Multi-select style */
.select2-container--default .select2-selection--multiple {
    border: 1.5px solid var(--bp-form-border) !important;
    border-radius: var(--bp-form-radius) !important;
    min-height: 34px !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    background: #fff !important;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--bp-form-focus) !important;
    box-shadow: 0 0 0 3px var(--bp-form-focus-shadow) !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: var(--bp-addon-bg) !important;
    border: 1px solid var(--bp-form-border) !important;
    border-radius: 4px !important;
    color: var(--bp-navy) !important;
    font-size: 12px;
}
/* Dropdown results panel — BillPosware: no border, green strip at bottom only */
.select2-dropdown {
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12) !important;
    animation: bpDropSlide 0.25s ease-out;
    overflow: hidden !important;
    background: #4CAF50 !important;
    padding-bottom: 8px !important;
}
.select2-container--default .select2-search--dropdown {
    background: #fff !important;
}
.select2-results__option {
    padding: 10px 14px !important;
    font-size: 14px !important;
    transition: background 0.2s, color 0.2s, transform 0.2s, border-left 0.2s;
}
.select2-results__option--highlighted[aria-selected],
.select2-results__option--highlighted.select2-results__option--selectable {
    background: #DBF5DC !important;
    color: #4CAF50 !important;
    transform: translateX(4px);
    border-left: 3px solid #4CAF50 !important;
}
.select2-results__option[aria-selected="true"] {
    background: #4CAF50 !important;
    color: #fff !important;
    font-weight: 600;
}
.select2-search--dropdown .select2-search__field {
    border: 1px solid #E5E7EB !important;
    border-radius: 8px !important;
    padding: 8px 10px 8px 32px !important;
}
.select2-search--dropdown .select2-search__field:focus {
    border-color: #4CAF50 !important;
    box-shadow: none !important;
    outline: none !important;
}

/* ── 5. Labels ───────────────────────────────────────────── */
.form-group > label,
.form-group > .control-label {
    color: var(--bp-navy);
    font-weight: 600;
    font-size: 12.5px;
    margin-bottom: 5px;
    letter-spacing: 0.2px;
}

/* ── 6. Section Headers / Box Titles ─────────────────────── */
.box-header > .box-title {
    color: var(--bp-navy);
    font-weight: 700;
    font-size: 15px;
}
.box-header > .box-title > i,
.box-header > .box-title > .fa,
.box-header > .box-title > .fas,
.box-header > .box-title > .far {
    color: var(--bp-gold);
    margin-right: 6px;
}

/* ── 7. Box / Card Enhancement ───────────────────────────── */
.content-wrapper .box {
    border-radius: 10px;
    border-top: 3px solid var(--bp-gold);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
    overflow: visible;
}
.content-wrapper .box > .box-header {
    border-bottom: 1px solid #f0f0f0;
    padding: 12px 15px;
    border-radius: 10px 10px 0 0;
}
.content-wrapper .nav-tabs-custom {
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
    overflow: visible;
}
.content-wrapper .nav-tabs-custom > .nav-tabs {
    border-bottom: 2px solid #f0f0f0;
}
.content-wrapper .nav-tabs-custom > .nav-tabs > li.active > a {
    border-top: 3px solid var(--bp-gold) !important;
    color: var(--bp-navy) !important;
    font-weight: 600;
}
.content-wrapper .nav-tabs > li > a {
    border-radius: var(--bp-form-radius) var(--bp-form-radius) 0 0 !important;
    transition: all 0.3s;
    font-size: 13px;
}
.content-wrapper .nav-tabs > li > a:hover {
    background: #fff8ee;
    border-color: transparent;
}

/* ── 8. Modal Styling (BillPosware green brand — matches billposware.css) ───── */
.modal-content {
    border-radius: 14px !important;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.18) !important;
    border: none !important;
    overflow: hidden;
}
.modal-header {
    background: linear-gradient(135deg, #4CAF50, #388E3C) !important;
    color: #fff !important;
    border-bottom: none !important;
    padding: 18px 24px;
}
.modal-header .modal-title {
    color: #fff !important;
    font-weight: 700;
    font-size: 17px;
    font-family: 'Noto Sans Khmer', 'Battambang', sans-serif;
}
.modal-header .modal-title i {
    color: rgba(255, 255, 255, 0.95) !important;
    margin-right: 10px;
}
.modal-header .close {
    color: #fff !important;
    opacity: 1;
    text-shadow: none;
    width: 38px;
    height: 38px;
    min-width: 38px;
    padding: 0;
    margin: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
.modal-header .close:hover {
    background: rgba(255, 255, 255, 0.35) !important;
    color: #fff !important;
    opacity: 1;
}
.modal-body {
    padding: 24px;
}
.modal-footer {
    border-top: 1px solid #e5e7eb;
    padding: 14px 24px;
}

/* ── 9. Checkbox & Radio Enhancements ────────────────────── */
.icheckbox_square-blue.checked {
    border-color: var(--bp-gold) !important;
}

/* ── 9b. Datepicker / Datetimepicker z-index fix ─────────── */
.bootstrap-datetimepicker-widget {
    z-index: 9999 !important;
}
.daterangepicker {
    z-index: 9999 !important;
}

/* ── 9c. SmartMenu Date Style (Apply globally) ───────────── */
:root {
    --date-accent: #22c55e;
    --date-accent-bg: rgba(34, 197, 94, 0.12);
}
/* Native input[type="date"] - SmartMenu style */
input[type="date"],
input[type="date"].form-control {
    padding: 10px 12px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-family: inherit !important;
}
input[type="date"]:hover,
input[type="date"].form-control:hover {
    border-color: var(--date-accent, var(--bp-gold, #22c55e)) !important;
}
input[type="date"]:focus,
input[type="date"].form-control:focus {
    border-color: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2);
}
/* Date input fields (form-control readonly used with datepicker) */
.form-control[readonly][placeholder*="date"],
.form-control[readonly][placeholder*="Date"],
.form-control[readonly][placeholder*="ថ្ងៃ"],
.form-control.date_range,
.form-control.dob-date-picker,
.form-control.start-date-picker,
.form-control.discount_date,
.form-control.label-date-picker,
.form-control.expiry_datepicker,
.form-control.os_exp_date,
.form-control.os_date {
    padding: 10px 12px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    cursor: pointer;
}
/* Daterangepicker - SmartMenu style (green header, rounded) */
.daterangepicker {
    border-radius: 12px !important;
    border: 1px solid #E5E7EB !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
}
.daterangepicker .calendar-table {
    border-radius: 12px !important;
}
.daterangepicker .calendar-table th.month {
    background: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    color: #fff !important;
    padding: 10px !important;
    border-radius: 12px 12px 0 0 !important;
}
.daterangepicker .calendar-table .prev.available,
.daterangepicker .calendar-table .next.available {
    background: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    color: #fff !important;
}
.daterangepicker .calendar-table .prev span,
.daterangepicker .calendar-table .next span {
    border-color: #fff !important;
}
.daterangepicker td.available:hover,
.daterangepicker th.available:hover {
    background-color: var(--date-accent-bg, rgba(34,197,94,0.12)) !important;
    border-color: transparent !important;
}
.daterangepicker td.active,
.daterangepicker td.active:hover {
    background-color: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    border-color: transparent !important;
    color: #fff !important;
}
.daterangepicker td.in-range {
    background-color: var(--date-accent-bg, rgba(34,197,94,0.12)) !important;
}
.daterangepicker .ranges li.active {
    background-color: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    color: #fff !important;
}
.daterangepicker .drp-buttons .btn.applyBtn {
    background: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    border-color: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    color: #fff !important;
}
/* Bootstrap Datepicker - SmartMenu style */
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.active,
.datepicker table tr td span.active {
    background-color: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    color: #fff !important;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover {
    border-color: var(--date-accent, var(--bp-gold, #22c55e)) !important;
}
.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next {
    background: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    color: #fff !important;
}
.datepicker-dropdown {
    border-radius: 12px !important;
    border: 1px solid #E5E7EB !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
}
.datepicker .datepicker-days table thead tr:first-child th {
    background: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    color: #fff !important;
    border-radius: 12px 12px 0 0 !important;
}
/* Bootstrap DateTimepicker - SmartMenu style */
.bootstrap-datetimepicker-widget .picker-switch,
.bootstrap-datetimepicker-widget .prev,
.bootstrap-datetimepicker-widget .next {
    background: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    color: #fff !important;
}
.bootstrap-datetimepicker-widget td.active,
.bootstrap-datetimepicker-widget td.active:hover {
    background-color: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    color: #fff !important;
}
.bootstrap-datetimepicker-widget td.today:before {
    border-bottom-color: var(--date-accent, var(--bp-gold, #22c55e)) !important;
}
/* Flatpickr - SmartMenu style (when used in main app) */
.flatpickr-calendar {
    font-family: inherit !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
    border: 1px solid #E5E7EB !important;
}
.flatpickr-months .flatpickr-month {
    background: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    color: #fff !important;
    border-radius: 12px 12px 0 0 !important;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: var(--date-accent, var(--bp-gold, #22c55e)) !important;
    border-color: var(--date-accent, var(--bp-gold, #22c55e)) !important;
}
.flatpickr-day:hover {
    background: var(--date-accent-bg, rgba(34,197,94,0.12)) !important;
}
.flatpickr-day.today {
    border-color: var(--date-accent, var(--bp-gold, #22c55e)) !important;
}

/* BillPosware DateFilter — green header, weekdays, selected/hover (.bp-datefilter-cal) */
.flatpickr-calendar.bp-datefilter-cal,
body .flatpickr-calendar.bp-datefilter-cal {
    font-family: 'Noto Sans Khmer', 'Battambang', sans-serif !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.12) !important;
    border: none !important;
    z-index: 10700 !important;
    overflow: visible !important;
    padding-bottom: 8px !important;
    background: #4CAF50 !important;
}
.flatpickr-calendar.bp-datefilter-cal .flatpickr-innerContainer,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-innerContainer { background: #fff !important; }
.flatpickr-calendar.bp-datefilter-cal .flatpickr-rContainer,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-rContainer { background: #fff !important; }
.flatpickr-calendar.bp-datefilter-cal .flatpickr-months,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-months { border-radius: 12px 12px 0 0 !important; overflow: visible !important; }
.flatpickr-calendar.bp-datefilter-cal .flatpickr-months .flatpickr-month,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-months .flatpickr-month {
    background: #4CAF50 !important;
    color: #fff !important;
    border-radius: 12px 12px 0 0 !important;
    height: 44px !important;
    overflow: visible !important;
}
.flatpickr-calendar.bp-datefilter-cal .flatpickr-current-month,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-current-month {
    padding: 0 !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}
.flatpickr-calendar.bp-datefilter-cal .flatpickr-weekdays,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-weekdays { background: #DBF5DC !important; }
.flatpickr-calendar.bp-datefilter-cal span.flatpickr-weekday,
body .flatpickr-calendar.bp-datefilter-cal span.flatpickr-weekday {
    color: #388E3C !important;
    font-weight: 700 !important;
    font-size: 12px !important;
}
.flatpickr-calendar.bp-datefilter-cal .flatpickr-day,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-day { border-radius: 8px !important; font-size: 13px !important; }
.flatpickr-calendar.bp-datefilter-cal .flatpickr-day.selected,
.flatpickr-calendar.bp-datefilter-cal .flatpickr-day.startRange,
.flatpickr-calendar.bp-datefilter-cal .flatpickr-day.endRange,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-day.selected,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-day.startRange,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-day.endRange {
    background: #4CAF50 !important;
    border-color: #4CAF50 !important;
    color: #fff !important;
    font-weight: 600 !important;
}
.flatpickr-calendar.bp-datefilter-cal .flatpickr-day:hover,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-day:hover {
    background: #DBF5DC !important;
    border-color: #DBF5DC !important;
    color: #388E3C !important;
}
.flatpickr-calendar.bp-datefilter-cal .flatpickr-day.today,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-day.today {
    border-color: #4CAF50 !important;
    color: #4CAF50 !important;
    font-weight: 700 !important;
}
.flatpickr-calendar.bp-datefilter-cal .flatpickr-day.today.selected,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-day.today.selected { color: #fff !important; }
/* Hide prev/next arrows — BillPosware uses custom month/year panel */
.flatpickr-calendar.bp-datefilter-cal .flatpickr-prev-month,
.flatpickr-calendar.bp-datefilter-cal .flatpickr-next-month,
.flatpickr-calendar.bp-datefilter-cal .flatpickr-months .flatpickr-prev-month,
.flatpickr-calendar.bp-datefilter-cal .flatpickr-months .flatpickr-next-month,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-prev-month,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-next-month,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-months .flatpickr-prev-month,
body .flatpickr-calendar.bp-datefilter-cal .flatpickr-months .flatpickr-next-month {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}
.flatpickr-calendar.bp-datefilter-cal.animate .dayContainer,
body .flatpickr-calendar.bp-datefilter-cal.animate .dayContainer {
    transform: none !important;
    transition: none !important;
    animation: none !important;
}
@media (max-width: 640px) {
    .flatpickr-calendar.bp-datefilter-cal,
    body .flatpickr-calendar.bp-datefilter-cal { max-width: min(100vw - 40px, 320px) !important; }
}

/* Custom month/year panel for bp-datefilter-cal */
.flatpickr-calendar.bp-datefilter-cal .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar.bp-datefilter-cal .flatpickr-current-month .numInputWrapper { display: none !important; }
.flatpickr-calendar.bp-datefilter-cal .bp-cal-trigger {
    background: rgba(255,255,255,.15); border: none; color: #fff; font-size: 14px; font-weight: 700;
    cursor: pointer; padding: 5px 14px; border-radius: 8px; transition: background .2s;
    font-family: inherit; display: inline-flex; align-items: center; gap: 6px;
}
.flatpickr-calendar.bp-datefilter-cal .bp-cal-trigger:hover { background: rgba(255,255,255,.3); }
.flatpickr-calendar.bp-datefilter-cal .bp-cal-trigger .bp-cal-chev { font-size: 9px; transition: transform .2s; }
.flatpickr-calendar.bp-datefilter-cal .bp-cal-trigger.open .bp-cal-chev { transform: rotate(180deg); }
.flatpickr-calendar.bp-datefilter-cal .bp-cal-panel {
    position: absolute; top: 44px; left: 0; right: 0; background: rgba(255,255,255,.97);
    border: none; border-radius: 0 0 14px 14px; box-shadow: 0 8px 28px rgba(0,0,0,.12);
    z-index: 10; display: none; backdrop-filter: blur(8px); overflow: hidden;
}
.flatpickr-calendar.bp-datefilter-cal .bp-cal-panel.open { display: block; animation: bpCalSlide .2s ease; }
@keyframes bpCalSlide { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
.flatpickr-calendar.bp-datefilter-cal .bp-cal-yr-row {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 10px; border-bottom: 1px solid rgba(76,175,80,.15);
}
.flatpickr-calendar.bp-datefilter-cal .bp-cal-yr-btn {
    background: none; border: none; cursor: pointer; font-size: 14px; color: #4CAF50;
    padding: 4px 10px; border-radius: 8px; transition: background .2s;
}
.flatpickr-calendar.bp-datefilter-cal .bp-cal-yr-btn:hover { background: #DBF5DC; }
.flatpickr-calendar.bp-datefilter-cal .bp-cal-yr-label { font-weight: 700; font-size: 16px; color: #4CAF50; }
.flatpickr-calendar.bp-datefilter-cal .bp-cal-months { display: grid; grid-template-columns: repeat(3,1fr); gap: 4px; padding: 8px; }
.flatpickr-calendar.bp-datefilter-cal .bp-cal-mo {
    padding: 9px 4px; text-align: center; border-radius: 8px; cursor: pointer;
    font-size: 13px; font-weight: 500; color: #333; transition: all .2s ease;
}
.flatpickr-calendar.bp-datefilter-cal .bp-cal-mo:hover { background: #DBF5DC; color: #4CAF50; transform: scale(1.08); }
.flatpickr-calendar.bp-datefilter-cal .bp-cal-mo.sel { background: #4CAF50; color: #fff; font-weight: 700; }
.flatpickr-calendar.bp-datefilter-cal .bp-cal-mo.sel:hover { background: #388E3C; color: #fff; transform: none; }

/* ── 10. Page Entrance Animations ────────────────────────── */
@keyframes bpSlideInRight {
    from { opacity: 0; transform: translateX(40px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes bpDropSlide {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes bpScaleIn {
    from { opacity: 0; transform: scale(0.95); }
    to   { opacity: 1; transform: scale(1); }
}

/* Page boxes & content animate slide from right */
.content-wrapper .box,
.content-wrapper .nav-tabs-custom,
.content-wrapper > section.content > .row,
.content-wrapper > .content-header {
    animation: bpSlideInRight 0.45s ease-out both;
}
.content-wrapper .box:nth-child(2),
.content-wrapper > section.content > .row:nth-child(2) { animation-delay: 0.06s; }
.content-wrapper .box:nth-child(3),
.content-wrapper > section.content > .row:nth-child(3) { animation-delay: 0.12s; }
.content-wrapper .box:nth-child(4),
.content-wrapper > section.content > .row:nth-child(4) { animation-delay: 0.18s; }

/* Modals scale in */
.modal.in .modal-content {
    animation: bpScaleIn 0.35s ease-out both;
}

/* ── 11. .billpos-form Enhanced Class ────────────────────── */
.billpos-form .form-group,
.billpos-form .col-sm-4,
.billpos-form .col-sm-6,
.billpos-form .col-sm-3,
.billpos-form .col-md-4,
.billpos-form .col-md-6,
.billpos-form .col-md-3 {
    animation: bpSlideInRight 0.4s ease-out both;
}
.billpos-form .form-group:nth-child(1),
.billpos-form [class*="col-"]:nth-child(1)  { animation-delay: 0.02s; }
.billpos-form .form-group:nth-child(2),
.billpos-form [class*="col-"]:nth-child(2)  { animation-delay: 0.04s; }
.billpos-form .form-group:nth-child(3),
.billpos-form [class*="col-"]:nth-child(3)  { animation-delay: 0.06s; }
.billpos-form .form-group:nth-child(4),
.billpos-form [class*="col-"]:nth-child(4)  { animation-delay: 0.08s; }
.billpos-form .form-group:nth-child(5),
.billpos-form [class*="col-"]:nth-child(5)  { animation-delay: 0.10s; }
.billpos-form .form-group:nth-child(6),
.billpos-form [class*="col-"]:nth-child(6)  { animation-delay: 0.12s; }
.billpos-form .form-group:nth-child(7),
.billpos-form [class*="col-"]:nth-child(7)  { animation-delay: 0.14s; }
.billpos-form .form-group:nth-child(8),
.billpos-form [class*="col-"]:nth-child(8)  { animation-delay: 0.16s; }
.billpos-form .form-group:nth-child(9),
.billpos-form [class*="col-"]:nth-child(9)  { animation-delay: 0.18s; }
.billpos-form .form-group:nth-child(10),
.billpos-form [class*="col-"]:nth-child(10) { animation-delay: 0.20s; }
.billpos-form .form-group:nth-child(n+11),
.billpos-form [class*="col-"]:nth-child(n+11) { animation-delay: 0.22s; }

/* Enhanced input styling inside .billpos-form */
.billpos-form .form-control {
    height: 38px;
    padding: 8px 14px;
}
.billpos-form .input-group-addon {
    min-width: 42px;
    font-size: 16px;
}
.billpos-form .select2-container--default .select2-selection--single {
    height: 38px !important;
}
.billpos-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px !important;
}
.billpos-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px !important;
}

/* ── 12. Buttons – Submit/Save ───────────────────────────── */
.btn-primary {
    background: linear-gradient(135deg, var(--bp-gold), #f0c850) !important;
    border: none !important;
    color: #000 !important;
    font-weight: 700 !important;
    border-radius: var(--bp-form-radius) !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.3) !important;
}
.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, #c49a2c, #e6b83d) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 16px rgba(212, 175, 55, 0.4) !important;
    color: #000 !important;
}
.btn-danger {
    border-radius: var(--bp-form-radius) !important;
    transition: all 0.3s ease !important;
}
.btn-default {
    border-radius: var(--bp-form-radius) !important;
    border: 1.5px solid var(--bp-form-border) !important;
    transition: all 0.3s ease !important;
}
.btn-default:hover {
    border-color: var(--bp-gold) !important;
    background: #fff8ee !important;
}

/* ── 13. Alert Boxes ─────────────────────────────────────── */
.alert {
    border-radius: var(--bp-form-radius) !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* ── 14. Breadcrumb / Content Header ─────────────────────── */
.content-header > h1 {
    color: var(--bp-navy);
    font-weight: 700;
}

/* ── 15. Standalone select2 not in input-group: ensure radius ── */
.form-group > .select2-container:only-child .select2-selection--single,
.form-group > .select2-container:last-child:not(:only-child) .select2-selection--single {
    border-radius: var(--bp-form-radius) !important;
}

/* ── 15b. Responsive fixes ────────────────────────────────── */
@media (max-width: 768px) {
    .billpos-form .form-control { height: 36px; padding: 6px 12px; }
    .billpos-form .select2-container--default .select2-selection--single { height: 36px !important; }
    .modal-content { border-radius: 8px !important; }
}

/* ── 16. POS Cart Table: compact inputs only ─────────────── */
#product_cart .form-control,
#pos_table .form-control,
.pos_product_row .form-control {
    border-radius: 4px !important;
    border-width: 1px !important;
    height: 30px !important;
    padding: 2px 6px !important;
    font-size: 12px !important;
}
#product_cart .input-group-addon,
#pos_table .input-group-addon {
    background: #f1f5f9 !important;
    color: #64748b !important;
    border-width: 1px !important;
    border-radius: 4px 0 0 4px !important;
    padding: 2px 8px !important;
}

/* ── 17. POS Top Bar: Clean branded inputs ───────────────── */
.pos-top-inputs .input-group {
    border-radius: 10px !important;
    overflow: visible;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    border: 1.5px solid var(--bp-form-border);
    background: #fff;
    transition: box-shadow 0.3s, border-color 0.3s;
}
.pos-top-inputs .input-group:focus-within {
    border-color: var(--bp-form-focus);
    box-shadow: 0 0 0 3px var(--bp-form-focus-shadow), 0 2px 8px rgba(0,0,0,0.06);
}
.pos-top-inputs .input-group-addon {
    background: var(--bp-addon-bg) !important;
    color: var(--bp-addon-color) !important;
    border: none !important;
    border-right: 1.5px solid var(--bp-form-border) !important;
    border-radius: 0 !important;
    min-width: 42px;
    font-size: 16px;
}
.pos-top-inputs .form-control {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: 38px;
    font-size: 13px;
    padding: 6px 14px;
}
.pos-top-inputs .form-control:focus {
    box-shadow: none !important;
}
.pos-top-inputs .input-group-btn > .btn {
    border: none !important;
    border-left: 1.5px solid var(--bp-form-border) !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: var(--bp-gold) !important;
    height: 38px;
    width: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s;
    box-shadow: none !important;
}
.pos-top-inputs .input-group-btn > .btn:hover {
    background: var(--bp-addon-bg) !important;
    color: #b8860b !important;
}
.pos-top-inputs .input-group-btn > .btn i {
    color: var(--bp-gold) !important;
    font-size: 16px;
}
.pos-top-inputs .select2-container--default .select2-selection--single {
    border: none !important;
    border-radius: 0 !important;
    height: 38px !important;
    background: transparent !important;
    box-shadow: none !important;
}
.pos-top-inputs .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px !important;
    padding-left: 12px !important;
    font-size: 13px;
    color: #333 !important;
}
.pos-top-inputs .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px !important;
}
.pos-top-inputs .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--bp-gold) transparent transparent transparent !important;
}

/* ── 18. Barcode Scanner Button ──────────────────────────── */
.bp-barcode-btn {
    border: none !important;
    border-left: 1.5px solid var(--bp-form-border) !important;
    border-radius: 0 var(--bp-form-radius) var(--bp-form-radius) 0 !important;
    background: linear-gradient(135deg, var(--bp-gold), #f0c850) !important;
    color: #fff !important;
    height: 38px;
    width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s;
}
.bp-barcode-btn:hover {
    background: linear-gradient(135deg, #c49a2c, #e6b83d) !important;
    transform: scale(1.05);
}
.bp-barcode-btn i,
.bp-barcode-btn svg {
    color: #fff !important;
    font-size: 16px;
}

/* Scan addon (SKU, etc.) - matches input-group-addon style */
.bp-scan-addon {
    background: var(--bp-addon-bg) !important;
    color: var(--bp-addon-color) !important;
    border: 1.5px solid var(--bp-form-border) !important;
    border-left: none !important;
    border-radius: 0 var(--bp-form-radius) var(--bp-form-radius) 0 !important;
    min-width: 40px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.bp-scan-addon:hover {
    background: #fff8ee !important;
    color: #c49a2c !important;
}
.bp-scan-addon i {
    color: var(--bp-gold) !important;
    font-size: 15px;
    transition: color 0.3s, transform 0.3s;
}
.bp-scan-addon:hover i {
    color: #b8860b !important;
    transform: scale(1.15);
}

/* ── 19. Barcode Scanner Modal ───────────────────────────── */
#bp-barcode-modal {
    z-index: 10500 !important;
}
#bp-barcode-modal + .modal-backdrop {
    z-index: 10499 !important;
}
#bp-barcode-modal .modal-content {
    border-radius: 16px !important;
    overflow: hidden;
    border: 2px solid var(--bp-gold) !important;
}
#bp-barcode-modal .modal-header {
    background: var(--bp-navy);
    border-bottom: 2px solid var(--bp-gold) !important;
    padding: 10px 18px;
}
#bp-barcode-modal .modal-title {
    color: var(--bp-text-light) !important;
    font-weight: 700;
    font-size: 14px;
}
#bp-barcode-modal .modal-body {
    padding: 0;
    background: #111;
    position: relative;
}
#bp-cam-box {
    width: 100%;
    min-height: 300px;
    position: relative;
    overflow: hidden;
    background: #000;
}
#bp-cam-box video {
    width: 100% !important;
    height: auto !important;
    display: block;
    object-fit: cover;
}
#bp-cam-box > div[style*="position"] { z-index: 2; }
#bp-cam-box #qr-shaded-region { display: none !important; }

/* =========================================================
   Manage User Form: Fix input focus (border visible + no displacement)
   High specificity to override global .form-control:focus
   ========================================================= */
.bp-create-user .bp-field .form-control,
.bp-create-user .bp-field-icon .form-control {
    background-clip: padding-box !important;
    -webkit-background-clip: padding-box !important;
    overflow: visible !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}
.bp-create-user .bp-field .form-control:focus,
.bp-create-user .bp-field-icon .form-control:focus,
.bp-create-user .has-error .bp-field .form-control:focus,
.bp-create-user .has-error .bp-field-icon .form-control:focus {
    border: 1px solid #4CAF50 !important;
    box-shadow: none !important;
    outline: none !important;
    height: 42px !important;
    min-height: 42px !important;
    background: #fff !important;
    background-clip: padding-box !important;
    -webkit-background-clip: padding-box !important;
}
.bp-create-user .bp-field-icon .form-control:focus {
    border: none !important;
    background: transparent !important;
}
.bp-create-user .bp-field-icon {
    overflow: visible !important;
    background-clip: padding-box !important;
    -webkit-background-clip: padding-box !important;
}
.bp-create-user .bp-field-icon:focus-within {
    border: 1px solid #4CAF50 !important;
    box-shadow: none !important;
    outline: none !important;
    height: 42px !important;
    min-height: 42px !important;
}

/* Invoice items table header — ពណ៌ប្រេសជិតស (Product, Quantity, Unit Price, Subtotal) */
body:not(.dark-mode) .bp-inline-items-wrap .bp-invoice-items-table thead th,
body:not(.dark-mode) .bp-inline-items-wrap .bp-invoice-items-thead th {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-right-color: #e2e8f0 !important;
}
