@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
@import url('../icons/bootstrap-icons/bootstrap-icons.min.css');

.alert-info {
    color: #000000;
    background-color: #e5f3fa;
    border-color: #0085ca;
}

.text-primary {
    color: #0085ca !important;
}

/*.e-btn.e-primary:disabled, .e-css.e-btn.e-primary:disabled {
    background-color: #0085ca;
    border-color: transparent;
    box-shadow: none;
    color: #fff;
}
*/
.e-btn.e-primary, .e-css.e-btn.e-primary {
    background-color: #0085ca;
    border-color: #0085ca;
    color: #fff;
}

.e-btn.e-secondary:not(:disabled), .e-css.e-btn.e-secondary:not(:disabled) {
    background-color: #2c6eb5;
    border-color: #2c6eb5;
    box-shadow: none;
    color: white;
}

.e-btn.e-secondary:hover:not(:disabled), .e-css.e-btn.e-secondary:hover:not(:disabled) {
    background-color: #1E468C;
    border-color: #1E468C;
    box-shadow: none;
    color: white;
}

.
.e-btn.e-primary:hover:not(:disabled), .e-css.e-btn.e-primary:hover:not(:disabled) {
    background-color: #1E468C;
    border-color: #1E468C;
    box-shadow: none;
    color: #fff;
}

.e-btn.e-flat.e-primary:hover, .e-css.e-btn.e-flat.e-primary:hover {
    background-color: #1E468C;
    border-color: #1E468C;
    color: #fff;
}

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

.e-btn:disabled {
    background-color: #bfbbbb;
    border-color: #bfbbbb;
}

.e-btn.e-info:disabled {
    background-color: #bfbbbb;
    border-color: #bfbbbb;
}

.e-btn.e-primary:disabled {
    background-color: #bfbbbb;
    border-color: #bfbbbb;
}

.e-btn.e-success:disabled {
    background-color: #bfbbbb;
    border-color: #bfbbbb;
}

.btn.btn-success:disabled {
    background-color: #bfbbbb;
    border-color: #bfbbbb;
}

.e-btn.e-danger:disabled {
    background-color: #bfbbbb;
    border-color: #bfbbbb;
}

.e-btn.e-flat.e-primary, .e-css.e-btn.e-flat.e-primary {
    background-color: #0085ca;
    border-color: #0085ca;
    color: #fff;
}


.e-pager .e-currentitem, .e-pager .e-currentitem:hover {
    background: #0085ca;
    color: #fff;
    opacity: 1;
}

.e-btn.e-primary:focus, .e-css.e-btn.e-primary:focus {
    background-color: #0085ca;
    border-color: #0085ca;
    color: #fff;
    outline: #6c757d 0 solid;
    box-shadow: 0 0 0 0.25em rgb(0 123 255 / 50%);
}



.e-pager .e-numericitem {
    background: #fff;
    border-right-color: #ddd;
    color: #0085ca;
}

.e-pager .e-spacing {
    color: #0085ca;
    opacity: 1;
}

.e-pager .e-numericitem {
    background: #fff;
    border-right-color: #ddd;
    color: #0085ca;
}

.e-pager div.e-icons.e-pager-default {
    color: #0085ca;
}

@font-face {
    font-family: barcode39;
    src: url('../fonts/idhc39m code 39 barcode.ttf') format('truetype');
}

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1:focus {
    outline: none;
}

a, .btn-link {
    color: #0077cc;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.content {
    padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

.productimage {
    position: relative;
    padding-top: 8px;
    padding-bottom: 8px;
    display: inline-block;
}

.groupimage {
    position: relative;
    padding-top: 0px;
    padding-bottom: 0px;
    margin-right: 16px;
    display: inline-block;
}

.xcode-badge {
    position: absolute;
    right: -9px;
    top: -3px;
    text-align: center;
    min-width: 16px !important;
    max-width: 16px !important;
    font-size: 8px;
    min-height: 16px !important;
    max-height: 16px !important;
}



#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolutesidebar right: 0.75rem;
        top: 0.5rem;
    }

.xpossavebar {
    background-color: #1E468C;
    padding: 8px;
    z-index: 900;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.e-btn.e-danger:disabled, .e-btn.e-danger.e-disabled, .e-css.e-btn.e-danger:disabled, .e-css.e-btn.e-danger.e-disabled {
    color: rgba(255,255,255,.65);
}

.e-btn.e-danger:hover:not([DISABLED]), .e-css.e-btn.e-danger:hover:not([DISABLED]) {
    background: #bb2d3b !important;
    border-color: #b02a37 !important;
    box-shadow: none !important;
    color: #fff !important;
}

.e-btn.e-danger:not([DISABLED]), .e-css.e-btn.e-danger:not([DISABLED]) {
    background: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #fff !important;
}

.e-btn.e-success:hover:not([DISABLED]), .e-css.e-btn.e-success:hover:not([DISABLED]) {
    background: #157347 !important;
    border-color: #146c43 !important;
    box-shadow: none !important;
    color: #fff !important;
}

.e-btn.e-success:not([DISABLED]), .e-css.e-btn.e-success:not([DISABLED]) {
    background: #198754 !important;
    border-color: #198754 !important;
    color: #fff !important;
}

.e-chip-list {
    padding: 4px;
}

@page {
    margin-top: 2cm;
    margin-bottom: 2cm;
    margin-left: 5cm;
    margin-right: 2cm;
}

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
    position: relative;
    padding-right: 15px;
    padding-left: 15px;
}

.print-start {
    page-break-before: always;
}

.print-end {
    page-break-after: always;
}

.helpbar {
    padding-top: 16px;
    overflow-x: clip;
    overflow-y: scroll;
    max-height: calc(100vh - 83px);
    min-height: calc(100vh - 83px);
    width: 265px;
    min-width: 265px;
    height: calc(100vh - 83px);
    background-color: white;
    border-left: 3px solid lightgrey;
    padding-top: 16px;
    padding-bottom: 16px;
    padding-right: 8px;
}

.show-help {
    width: 250px;
    min-width: 250px;
}

.e-ddl.e-input-group.e-control-wrapper .e-ddl-icon::before {
    content: "\e729" !important;
}

.e-input-group .e-input-group-icon, .e-input-group.e-control-wrapper .e-input-group-icon {
    border-color: #ced4da !important;
}

.e-input-group .e-input-group-icon:last-child, .e-input-group.e-control-wrapper .e-input-group-icon:last-child {
    border-bottom-right-radius: 3px !important;
    border-top-right-radius: 3px !important;
}

.selectshop > span.e-input-group-icon.e-ddl-icon.e-icons.e-ddl-disable-icon, .language > span.e-input-group-icon.e-ddl-icon.e-icons.e-ddl-disable-icon {
    border: 0 !important;
}

@media (max-width: 1960px) {
    .helpbar {
        position: fixed;
        right: 0;
        width: 290px;
        min-width: 290px;
        background-color: #fff;
    }
}

@media (max-width: 1960px) {
    .show-help {
        width: 273px;
        min-width: 273px;
    }
}

@media (max-width: 641px) {
    .helpbar {
        height: calc(100vh - 160px);
        min-height: calc(100vh - 160px);
    }
}

.swal2-popup {
    border-radius: 6px !important;
}

.xpos-dialog-btn-primary {
    background-color: #1976D2 !important;
    color: #ffffff !important;
}

.xpos-dialog-btn-primary:hover {
    background-color: #1565C0 !important;
}

.xpos-dialog-btn-secondary {
    background-color: #6e7d88 !important;
    color: #ffffff !important;
}

.xpos-dialog-btn-secondary:hover {
    background-color: #5a6770 !important;
}

.xpos-dialog-btn-danger {
    background-color: #dc3545 !important;
    color: #ffffff !important;
}

.xpos-dialog-btn-danger:hover {
    background-color: #c82333 !important;
}

@media only screen and (max-width: 1099.98px) {
    .discount-full {
        display: none !important;
    }
    .discount-short {
        display: inline !important;
    }
}

@media only screen and (min-width: 1100px) {
    .discount-full {
        display: inline !important;
    }
    .discount-short {
        display: none !important;
    }
}

.sidebar {
    height: calc(100vh - 60px) !important;
    height: calc(100dvh - 60px) !important;
    max-height: calc(100vh - 60px) !important;
    max-height: calc(100dvh - 60px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.sidebar::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/*@media screen and ( max-height: 820px ) {
    .lowresscreen {
        display: none;
    }
}*/

.badge-new {
    --bs-border-opacity: 1;
    border-color: #FF1493 !important;
    background-color: #FF1493 !important;
    --bs-text-opacity: 1;
    color: white !important;
}

.badge-updated {
    --bs-border-opacity: 1;
    border-color: #673AB7 !important;
    background-color: #673AB7 !important;
    --bs-text-opacity: 1;
    color: white !important;
}
.badge-lookhere {
    --bs-border-opacity: 1;
    border-color: #F97316 !important;
    background-color: #F97316 !important;
    --bs-text-opacity: 1;
    color: white !important;
}

.badge-deprecated {
    --bs-border-opacity: 1;
    border-color: red !important;
    background-color: red !important;
    --bs-text-opacity: 1;
    color: white !important;
}
.badge-info {
    --bs-border-opacity: 1;
    border-color: blue !important;
    background-color: blue !important;
    --bs-text-opacity: 1;
    color: white !important;
}


.headerbarTest {
    width: calc(100% - 60px) !important;
}

.mobileheader {
}

.mobileheadershop {
    width: 200px;
    flex-grow: 0.5;
}

.xpos-listitem-price-space {
    width: 45px;
}

@media screen and ( max-width: 1024px ) {
    .lowresscreenhidden {
        display: none;
        z-index: 2;
    }

    .xpos-listitem-price-space {
        width: 42px !important;
    }


    #blazor-error-ui {
        display: none !important;
    }

    .mobileheader {
        width: 80%;
    }

    .mobileheadershop {
        width: 100%;
    }

    .lowresscreenshow {
        display: block;
    }

    .sidebar {
        position: fixed;
        height: calc(100vh - 60px) !important;
        height: calc(100dvh - 60px) !important;
        max-height: calc(100vh - 60px) !important;
        max-height: calc(100dvh - 60px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        /* z-index: 100000; */
        /* width: 240px; */
    }

    .sidebar::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }


    .nav {
        max-width: 200px;
        min-width: 200px;
    }
}

@media screen and ( min-width: 1024px ) {
    .lowresscreenhidden {
        display: block;
        z-index: 2;
    }

    .lowresscreenshow {
        display: none;
        z-index: 2;
    }
}

.e-reportviewer-pageview {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.swal2-container {
    z-index: 100000000000;
}

.e-viewer-verticalblock {
    background-color: #f9fafb
}

/*#region theme*/
:root {
    --xpos-header-background: #1175c1;
    --xpos-header-text-color: white;
    --xpos-content-background: #e0e0e0;
    --xpos-scrollable-background: #f0f0f0;
    --xpos-section-header-background-color: #1175c1;
    --xpos-section-header-text-color: white;
    --xpos-button-border: 2px solid #c0c0c0;
    --xpos-button-border-light: 2px solid #f0f0f0;
    --xpos-button-border-selected: 2px solid #1175c1;
    --xpos-button-background-color: #ffffff;
    --xpos-button-background-color-hover: white;
    --xpos-button-background-color-selected: #f0f8ff;
    --xpos-button-text-color: #757b87;
    --xpos-button-text-color-selected: black;
    --xpos-button-box-shadow: #eaeaea 2px 2px 1px 1px;
    --xpos-button-box-shadow-selected: #b4d5ee 2px 2px 1px 1px;
    --xpos-icon-color: #1175c1;
    --xpos-basket-text-color: black;
    --xpos-basket-subtext-color: #adb3bf;
    --xpos-basket-image-placeholder-color: #c7cdd9;
}

.e-grid th.e-headercell {
    height: 38px !important;
}

.e-currentitem {
    background: #0085ca !important;
    color: white !important;
}

/*#endregion */
.e-acrdn-header-content {
    text-decoration: none !important;
}

.e-acrdn-header-content:focus {
    text-decoration: none !important;
}

.e-acrdn-header-content:hover {
    text-decoration: none !important;
}

/*#region page elements*/
.xpos-page-header {
    background-color: var(--xpos-header-background);
    color: var(--xpos-header-text-color);
    margin-bottom: 0.75rem;
    padding: 0.5rem 1rem 0.5rem 1rem;
    border-radius: 2px;
    height: 65px;
    font-size: xx-large;
    /*    font-weight: 900;*/
    text-transform: uppercase !important;
}

.xpos-page-content {
    background-color: var(--xpos-content-background);
}


.xpos-section-header {
    background-color: var(--xpos-section-header-background-color);
    color: var(--xpos-section-header-text-color);
    border-radius: 2px;
    height: 40px;
    padding: 8px 16px 8px 16px;
    text-align: left;
    text-transform: uppercase !important;
    font-size: large;
    /* font-weight: 900;*/
}

.xpos-section-subheader {
    background-color: var(--xpos-section-header-background-color);
    color: var(--xpos-section-header-text-color);
    border-radius: 2px;
    height: 24px;
    padding: 4px 2px 2px 8px;
    text-align: left;
    text-transform: uppercase !important;
    font-size: small;
    /*border-color: var(--xpos-section-header-background-color);
    border-style: solid;
    border-width: 1px;*/
    /* font-weight: 900;*/
}

.xpos-section-header-detail {
    margin-top: 0.25rem;
    margin-left: auto;
    font-size: small;
}

.xpos-scrollable-area {
    background-color: var(--xpos-scrollable-background);
    border-radius: 4px;
    overflow-x: hidden;
    overflow-y: auto;
}

.xpos-scrollable-area::-webkit-scrollbar {
    width: 20px;
    height: 8px;
    background: var(--xpos-button-background-color);
    border: var(--xpos-button-border-light);
    border-radius: 4px !important;
}

.xpos-scrollable-area::-webkit-scrollbar-thumb {
    background: var(--xpos-button-background-color-selected);
    border: var(--xpos-button-border-selected);
    border-radius: 4px !important;
}


.xpos-collapsible-wrapper {
    display: flex;
    overflow: hidden;
}

.xpos-collapsible-wrapper:after {
    content: '';
    height: 50px;
    transition: height 0.3s linear, max-height 0s 0.3s linear;
    max-height: 0px;
}

.xpos-collapsible-wrapper.xpos-collapsed > .xpos-collapsible-area {
    margin-bottom: -2000px;
    transition: margin-bottom 0.3s cubic-bezier(1, 0, 1, 1), visibility 0s 0.3s, max-height 0s 0.3s;
    visibility: hidden;
    max-height: 0;
}

.xpos-collapsible-wrapper.xpos-collapsed:after {
    height: 0;
    transition: height 0.3s linear;
    max-height: 50px;
}

.xpos-collapsible-area {
    transition: margin-bottom 0.3s cubic-bezier(0, 0, 0, 1);
    margin-bottom: 0;
    max-height: 1000000px;
}

/*#endregion */

/*#region dialogs */
.xpos-dialog-wrapper {
    z-index: 999;
    display: flex;
    position: fixed;
    align-items: center;
    justify-content: center;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.xpos-dialog-window {
    background-color: var(--xpos-content-background);
    border-radius: 4px;
    opacity: 1;
    z-index: 999;
    left: 0px;
    top: 0px;
    position: relative;
    display: inline-flex;
    border: var(--xpos-button-border-selected);
    padding: 12px;
}

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

.xpos-dialog-narrow {
    height: calc(100vh - 80px);
    width: calc(50vw);
}

.xpos-dialog-wide {
    height: calc(100vh - 80px);
    width: calc(76vw);
}

.xpos-dialog-block {
    z-index: 998;
    display: block;
    position: absolute;
    background-color: rgba(120, 120, 120, 0.75);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    position: fixed;
}

.xpos-dialog-button {
    border: 1px solid black;
    color: black;
    height: 24px;
}

.xpos-dialog-button-disabled {
    border: 1px solid lightgrey;
    color: lightgrey;
}

/*#endregion */

/*#region icons and images */
.xpos-image {
    background-color: white;
    width: 60px;
    height: 60px;
    margin: 0.5rem auto 0.5rem auto;
    font-size: small;
    color: var(--xpos-basket-image-placeholder-color);
    text-align: center;
    text-transform: uppercase !important;
}

.xpos-icon {
    width: 60px;
    height: 60px;
    margin: auto;
    font-size: xx-large;
    color: var(--xpos-icon-color);
    text-align: center;
    text-transform: uppercase !important;
}

.xpos-no-icon {
    width: 60px;
    height: 60px;
    margin: auto;
    font-size: small;
    color: var(--xpos-basket-image-placeholder-color);
    text-align: center;
    text-transform: uppercase !important;
}

/*#endregion */

/*#region buttons */
.xpos-button {
    width: 120px;
    height: 120px;
    font-size: small;
    font-weight: 900;
    color: var(--xpos-button-text-color);
    text-align: center !important;
    border-radius: 2px;
    border: var(--xpos-button-border);
    background-color: var(--xpos-button-background-color);
    box-shadow: var(--xpos-button-box-shadow);
    margin: 3px;
    justify-content: center;
    display: flex !important;
    flex-direction: column !important;
    padding: 4px;
    user-select: none;
}

.xpos-button:hover {
    border: var(--xpos-button-border-selected);
    background-color: var(--xpos-button-background-color-hover);
    box-shadow: var(--xpos-button-box-shadow-selected);
}

.xpos-button-selected {
    color: var(--xpos-button-text-color-selected);
    border: var(--xpos-button-border-selected);
    background-color: var(--xpos-button-background-color-selected);
    box-shadow: var(--xpos-button-box-shadow-selected);
}

.xpos-button-selected:hover {
    background-color: var(--xpos-button-background-color-selected);
}

.xpos-button-small {
    width: 60px;
    height: 60px;
    padding: 2px 0 2px 0;
}

.xpos-button-smallwide {
    width: 120px;
    min-width: 120px;
    height: 60px;
    padding: 2px 0 2px 0;
}

.xpos-button-large {
    width: 180px;
    height: 180px;
    font-size: xx-large;
}

.xpos-button-red {
    color: white;
    background-color: red;
}

.xpos-button-red:hover {
    background-color: red;
}

.xpos-button-red > .xpos-icon {
    color: white;
}

.xpos-button-blue {
    color: white;
    background-color: blue;
}

.xpos-button-blue:hover {
    background-color: blue;
}

.xpos-button-blue > .xpos-icon {
    color: white;
}


.xpos-button-green {
    color: white;
    background-color: green;
}

.xpos-button-green:hover {
    background-color: green;
}

.xpos-button-green > .xpos-icon {
    color: white;
}

.xpos-button-navigate {
    color: white;
    background-color: var(--xpos-header-background);
}

.xpos-button-navigate:hover {
    background-color: var(--xpos-header-background);
}

.xpos-button-navigate > .xpos-icon {
    color: white;
}

.xpos-button-text {
    text-transform: uppercase !important;
    text-align: center;
    width: 100%;
}

/*#endregion */

/*#region textbox */
.xpos-textbox {
    min-height: 60px !important;
    font-size: xx-large;
    border: 1px solid black;
    background-color: white;
    border-radius: 2px;
    padding-left: 1rem;
    padding-right: 1rem;
}

/*#endregion */

/*#region listitem */
.xpos-listitem {
    border-radius: 2px;
    margin: 2px;
    font-size: larger;
    /*    font-weight: 900;*/
    border: var(--xpos-button-border-light);
    background-color: var(--xpos-button-background-color);
}

.xpos-listitem:hover {
    border: var(--xpos-button-border-selected);
    background-color: var(--xpos-button-background-color-hover);
}

.xpos-listitem.readonly:hover {
    border: unset;
}

.xpos-listitem-selected {
    border: var(--xpos-button-border-selected);
    background-color: var(--xpos-button-background-color-selected);
}

.xpos-listitem-selected:hover {
    background-color: var(--xpos-button-background-color-selected);
}


.xpos-listitem-image {
    text-align: center !important;
}

.xpos-listitem-description {
    margin: 0.75rem 0 0.75rem 0;
}

.xpos-listitem-description-main {
    color: var(--xpos-basket-text-color);
}

.xpos-listitem-description-detail {
    font-size: small;
    color: var(--xpos-basket-subtext-color);
}

.xpos-listitem-date {
    color: var(--xpos-basket-text-color);
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}

.xpos-listitem-quantity {
    color: var(--xpos-basket-text-color);
    text-align: center !important;
    font-variant-numeric: tabular-nums;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.xpos-listitem-minus, .xpos-listitem-plus {
    font-size: 28px;
    color: #C0C0C0 !important;
    padding: 0 5px;
}

.xpos-listitem-minus {
    margin-bottom: 6px;
}

.xpos-listitem-plus {
    margin-bottom: 2px;
}

.xpos-listitem-discount {
    color: var(--xpos-basket-text-color);
    text-align: center !important;
    font-variant-numeric: tabular-nums;
}

.xpos-listitem-vatcode {
    color: var(--xpos-basket-text-color);
    text-align: center !important;
    font-variant-numeric: tabular-nums;
}

.xpos-listitem-price {
    color: var(--xpos-basket-text-color);
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}

/*#endregion */

/*#region colors */
.text-xpos-color {
    color: var(--xpos-section-header-background-color) !important;
}

.bg-xpos-color {
    background-color: var(--xpos-section-header-background-color) !important;
    color: var(--xpos-header-text-color) !important;
}

/*#endregion */

.bg-blur {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.1);
    z-index: 1;
    backdrop-filter: blur(4px);
}

.xx-larg {
    font-size: xx-large;
}

.x-larg {
    font-size: x-large;
}

.e-table .e-columnheader .e-headercell {
    height: 48px;
    border-left: 1px solid #efefef;
}

.navbar-brand-sales {
    display: none;
}

.border-b {
    border-bottom: 1px solid #dee2e6 !important;
}

.border-t {
    border-top: 1px solid #dee2e6 !important;
}

.border-r {
    border-right: 1px solid #dee2e6 !important;
}

.border-l {
    border-left: 1px solid #dee2e6 !important;
}

.navbar-brand {
    color: #1E468C;
}

.e-display-none {
    display: none !important;
}

/* HTML data grid (Products, Products Bundle) - markup in Products.razor / ProductsBundle.razor */
.pgrid {
    overflow: auto;
    border: 1px solid #dee2e6;
    border-radius: 4px 4px 0 0;
    background-color: #fff;
}

.pgrid-table {
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
}

    .pgrid-table th,
    .pgrid-table td {
        padding: 4px 8px;
        border-bottom: 1px solid #dee2e6;
        background-color: #fff;
        vertical-align: middle;
        overflow: hidden;
        white-space: normal;
        overflow-wrap: break-word;
    }

    .pgrid-table th {
        position: sticky;
        top: 0;
        z-index: 2;
        height: 42px;
        font-weight: 600;
        color: #212529;
        user-select: none;
        white-space: nowrap;
    }

    .pgrid-table .pgrid-frozen {
        position: sticky;
        z-index: 1;
    }

    .pgrid-table th.pgrid-frozen {
        z-index: 3;
    }

    .pgrid-table tr > .pgrid-frozen:nth-last-child(1 of .pgrid-frozen) {
        border-right: 1px solid #dee2e6;
    }

    .pgrid-table tbody tr {
        cursor: pointer;
    }

        .pgrid-table tbody tr:hover > td {
            background-color: #f8f9fa;
        }

        .pgrid-table tbody tr.pgrid-selected > td {
            background-color: #e2e9f8;
        }

    .pgrid-table.pgrid-static tbody tr {
        cursor: default;
    }

    /* lets the xcodes badge on a product image overhang the image */
    .pgrid-table td.pgrid-image {
        overflow: visible;
    }

.pgrid-check {
    text-align: center;
    padding-left: 10px !important;
    padding-right: 0 !important;
}

/* a grid that sets its checkbox column's width has the checkbox in the middle, the same space either side */
.pgrid-check.pgrid-check-centred {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.pgrid-sortable {
    cursor: pointer;
}

    .pgrid-sortable:hover {
        background-color: #f8f9fa !important;
    }

.pgrid-dragover {
    box-shadow: inset 2px 0 0 #0d6efd;
}

.pgrid-header {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.pgrid-header-text {
    overflow: hidden;
    text-overflow: ellipsis;
}

.pgrid-sort-icon {
    font-size: 12px;
    color: #6c757d;
}

.pgrid-sort-number {
    font-size: 10px;
    color: #6c757d;
}

.pgrid-resizer {
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 100%;
    cursor: col-resize;
}

    .pgrid-resizer:hover {
        border-right: 2px solid #0d6efd;
    }

.pgrid-table .pgrid-filler {
    padding: 0;
}

.pgrid-empty {
    text-align: left;
    cursor: default;
}

.pgrid-loading {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.5);
    z-index: 5;
}

.pgrid-pager {
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 8px;
    border: 1px solid #dee2e6;
    border-top: none;
    border-radius: 0 0 4px 4px;
    background-color: #fff;
}

.pgrid-pager-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}

.pgrid-page-btn {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: #212529;
    font-size: 14px;
}

    .pgrid-page-btn:hover:not(:disabled) {
        background-color: #e9ecef;
    }

    .pgrid-page-btn.active {
        background-color: #0d6efd;
        color: #fff;
    }

    .pgrid-page-btn:disabled {
        color: #adb5bd;
    }

.pgrid-pager-info {
    font-size: 14px;
    color: #6c757d;
}

/* an icon used as a button inside a grid row, e.g. remove from bundle */
.grid-icon-button {
    padding: 0;
    border: none;
    background: none;
    font-size: 20px;
    line-height: 1;
}

    .grid-icon-button:hover {
        opacity: 0.7;
    }

/* row drag and drop: the grip column and the row being dropped on */
.pgrid-table .pgrid-drag {
    padding: 0 !important;
    text-align: center;
    color: #adb5bd;
    cursor: grab;
}

.pgrid-table tbody tr.pgrid-row-dragover > td {
    box-shadow: inset 0 2px 0 #0d6efd;
}

/* Underlined tabs for the filter boxes, matching the customer edit and create dialogs */
.filter-tabs {
    display: flex;
    flex-direction: row;
    border-bottom: 1px solid #dee2e6;
}

.filter-tabs .tab {
    height: 40px;
    cursor: pointer;
    padding: 0 16px;
    background-color: transparent;
    color: #495057;
    transition: 0.3s;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    margin-bottom: -1px;
}

.filter-tabs .tab:hover {
    opacity: 0.85;
}

.filter-tabs .tab.active {
    color: #2078C0;
    border-bottom-color: #2078C0;
    font-weight: 500;
    opacity: 1;
}

.filter-tab {
    padding: 12px 0;
}

/* tabs stacked in one cell, so the box is as tall as the tallest of them; a fill tab (columns, sorting) adds no height
   and takes the box's height instead */
.filter-tabs-fit {
    display: grid;
    position: relative;
}

.filter-tabs-fit > .filter-tab {
    grid-area: 1 / 1;
    min-width: 0;
}

.filter-tabs-fit > .filter-tab.filter-tab-fill {
    position: absolute;
    inset: 0;
    flex-direction: column;
    min-height: 0;
    overflow-y: auto;
}

/* the scrolling area under the tabs: rows reach into their gutters, which only spill sideways once the vertical
   scroll bar takes its width, so the overflow is just empty gutter and is hidden rather than scrolled */
.filter-tabs + div {
    overflow-x: hidden;
}

/* Saved filters bar: button filters, the screen's search, then the saved filters list, save and delete */
.saved-filter-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
}

.saved-filter-content {
    flex: 1 1 auto;
    min-width: 0;
}

.saved-filter-search-actions {
    flex: 0 0 auto;
    display: flex;
    gap: 8px;
}

/* dragged to set the search box's width, making room for more filter buttons */
.saved-filter-splitter {
    flex: 0 0 auto;
    align-self: stretch;
    width: 8px;
    margin: 0 -4px;
    cursor: col-resize;
    touch-action: none;
    position: relative;
}

.saved-filter-splitter::after {
    content: "";
    position: absolute;
    top: 20%;
    bottom: 20%;
    left: 3px;
    width: 2px;
    border-radius: 1px;
    background-color: #ced4da;
}

.saved-filter-splitter:hover::after,
.saved-filter-splitter.dragging::after {
    background-color: #2078c0;
}

/* overflow buttons are absolutely placed and hidden, so the row is only as wide as the shown ones */
.saved-filter-buttons {
    position: relative;
    display: flex;
    gap: 6px;
    flex: 0 0 auto;
}

.saved-filter-button {
    white-space: nowrap;
}

/* a filter whose settings are the ones applied; specific enough to win over Syncfusion's outline button, which loads after this */
.saved-filter-bar .e-btn.e-outline.saved-filter-button.active {
    background-color: #e7f1fb;
    border-color: #2078c0;
    box-shadow: inset 0 -2px 0 #2078c0;
    /* the selected filter's name in dark blue (its icon keeps its own colour) */
    color: #0b3d6e;
}

.saved-filter-button .bi,
.saved-filter-more-item .bi {
    margin-right: 4px;
}

.saved-filter-badge {
    margin-left: 6px;
    font-size: 0.75em;
    color: #fff;
}

.saved-filter-more {
    position: relative;
    flex: 0 0 auto;
}

.saved-filter-more-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000;
}

.saved-filter-more-list {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1001;
    min-width: 220px;
    margin-top: 2px;
    padding: 4px 0;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.saved-filter-more-item {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 6px 12px;
    border: none;
    background: none;
    text-align: left;
    white-space: nowrap;
    /* the same text as the filter buttons (Syncfusion's buttons) */
    font-size: 14px;
    font-weight: 400;
    line-height: 1.571em;
}

.saved-filter-more-item:hover,
.saved-filter-more-item.active {
    background-color: #f1f3f5;
    color: #0b3d6e;
}

/* Filter button order on the filters box's Display Options tab */
.filter-sorter {
    margin-top: 16px;
}

.filter-sorter-title {
    font-weight: 500;
    margin-bottom: 6px;
}

.filter-sorter-row {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    border-bottom: 1px solid #f1f3f5;
}

.filter-sorter-name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Dragging filter buttons to reorder them: the wrapper is dragged, and the button it is over is marked */
.saved-filter-drag {
    display: inline-flex;
}

.saved-filter-drag.drop-target .saved-filter-button {
    box-shadow: inset 3px 0 0 #2078c0;
}

.saved-filter-more-item.drop-target {
    box-shadow: inset 0 2px 0 #2078c0;
}

.filter-sorter-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.filter-sorter-row {
    cursor: grab;
}

.filter-sorter-row.drop-target {
    box-shadow: inset 0 2px 0 #2078c0;
}

.filter-sorter-grip {
    color: #adb5bd;
}

/* while dragging a filter, the More list's click-away backdrop lets the drag through to the buttons under it */
.xpos-dragging .saved-filter-more-backdrop {
    pointer-events: none;
}

.filter-sorter-count {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin: 0 6px 0 0;
    color: #6c757d;
    cursor: pointer;
}

.filter-sorter-count .form-check-input {
    margin: 0;
}

/* Column picker on Display Options: available and selected columns side by side, then the sort */
.column-picker-hint {
    color: #6c757d;
    font-size: 0.85rem;
    margin: 12px 0 8px;
}

.column-picker-lists {
    display: flex;
    gap: 16px;
}

.column-picker-title {
    font-weight: 500;
    margin-bottom: 6px;
}

.column-picker-list {
    border: 1px solid #dee2e6;
    border-radius: 4px;
    height: 260px;
    overflow-y: auto;
    padding: 4px;
}

.column-picker-list.drop-target {
    box-shadow: inset 0 0 0 2px #2078c0;
}

.column-picker-row {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 2px 4px;
    border-radius: 3px;
    cursor: grab;
    user-select: none;
}

.column-picker-row:hover {
    background-color: #f1f5f9;
}

.column-picker-row.drop-target {
    box-shadow: inset 0 2px 0 #2078c0;
}

.column-picker-row .btn {
    padding: 0 6px;
}

.column-picker-grip {
    color: #adb5bd;
}

.column-picker-name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.column-picker-sort {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

/* the column name takes whatever the direction and move buttons leave, so the row is filled */
.column-picker-sort .form-select {
    flex: 1 1 auto;
    min-width: 0;
}

.column-picker-sort-number {
    width: 18px;
    text-align: right;
    color: #6c757d;
}

.column-picker-direction {
    min-width: 120px;
    text-align: left;
}

.column-picker-number {
    width: 20px;
    text-align: right;
    color: #6c757d;
    font-size: 0.85rem;
}

.column-picker-row {
    padding: 4px 6px;
    border: 1px solid transparent;
}

.column-picker-list[data-drag-key="s:"] .column-picker-row {
    background-color: #f8fbfe;
    border-color: #e3edf7;
    margin-bottom: 2px;
}

/* explains a Display Options setting, under its checkbox */
.display-option-description {
    color: #6c757d;
    font-size: 0.85rem;
    margin: 2px 0 0 26px;
}

/* Edit and Delete for a right-clicked saved filter button, above the More list */
.saved-filter-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1002;
}

.saved-filter-menu {
    position: fixed;
    z-index: 1003;
    min-width: 140px;
    padding: 4px 0;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.saved-filter-menu-item {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 6px 12px;
    border: none;
    background: none;
    text-align: left;
    font-size: 14px;
    font-family: inherit;
    font-weight: 400;
    line-height: 1.571em;
    white-space: nowrap;
}

.saved-filter-menu-item:hover:not(:disabled) {
    background-color: #f1f5f9;
}

.saved-filter-menu-item:disabled {
    color: #adb5bd !important;
}

/* customer image hover preview (Client/Components/CustomerImage.razor) */
.e-tooltip-wrap.customer-image-tooltip {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    max-width: none !important;
}
.e-tooltip-wrap.customer-image-tooltip .e-tip-content {
    padding: 0 !important;
}
.e-tooltip-wrap.customer-image-tooltip .e-arrow-tip {
    display: none !important;
}
.customer-image-upload {
    background: #fff;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.customer-image-upload:hover {
    background: #f1f6ff;
}

/* Payment button colours chosen on the terminal Payment Layout tab (VCLOUD-9817); disabled buttons stay grey */
.e-btn.e-primary.pay-colour-navy:not(:disabled), .e-css.e-btn.e-primary.pay-colour-navy:not(:disabled), .pl-tile.pay-colour-navy {
    background-color: #1E468C;
    border-color: #1E468C;
    color: #fff;
}
.e-btn.e-primary.pay-colour-green:not(:disabled), .e-css.e-btn.e-primary.pay-colour-green:not(:disabled), .pl-tile.pay-colour-green {
    background-color: #27bf4a;
    border-color: #27bf4a;
    color: #fff;
}
.e-btn.e-primary.pay-colour-orange:not(:disabled), .e-css.e-btn.e-primary.pay-colour-orange:not(:disabled), .pl-tile.pay-colour-orange {
    background-color: #e8862a;
    border-color: #e8862a;
    color: #fff;
}
.e-btn.e-primary.pay-colour-red:not(:disabled), .e-css.e-btn.e-primary.pay-colour-red:not(:disabled), .pl-tile.pay-colour-red {
    background-color: #dc3545;
    border-color: #dc3545;
    color: #fff;
}
.e-btn.e-primary.pay-colour-purple:not(:disabled), .e-css.e-btn.e-primary.pay-colour-purple:not(:disabled), .pl-tile.pay-colour-purple {
    background-color: #6f42c1;
    border-color: #6f42c1;
    color: #fff;
}
.e-btn.e-primary.pay-colour-grey:not(:disabled), .e-css.e-btn.e-primary.pay-colour-grey:not(:disabled), .pl-tile.pay-colour-grey {
    background-color: #6c757d;
    border-color: #6c757d;
    color: #fff;
}
.e-btn.e-primary[class*="pay-colour-"]:hover:not(:disabled) {
    filter: brightness(0.9);
}

/* Underlined tabs for the filter boxes, matching the customer edit and create dialogs */
.filter-tabs {
    display: flex;
    flex-direction: row;
    border-bottom: 1px solid #dee2e6;
}

.filter-tabs .tab {
    height: 40px;
    cursor: pointer;
    padding: 0 16px;
    background-color: transparent;
    color: #495057;
    transition: 0.3s;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    margin-bottom: -1px;
}

.filter-tabs .tab:hover {
    opacity: 0.85;
}

.filter-tabs .tab.active {
    color: #2078C0;
    border-bottom-color: #2078C0;
    font-weight: 500;
    opacity: 1;
}

.filter-tab {
    padding: 12px 0;
}

/* tabs stacked in one cell, so the box is as tall as the tallest of them; a fill tab (columns, sorting) adds no height
   and takes the box's height instead */
.filter-tabs-fit {
    display: grid;
    position: relative;
}

.filter-tabs-fit > .filter-tab {
    grid-area: 1 / 1;
    min-width: 0;
}

.filter-tabs-fit > .filter-tab.filter-tab-fill {
    position: absolute;
    inset: 0;
    flex-direction: column;
    min-height: 0;
    overflow-y: auto;
}

/* the scrolling area under the tabs: rows reach into their gutters, which only spill sideways once the vertical
   scroll bar takes its width, so the overflow is just empty gutter and is hidden rather than scrolled */
.filter-tabs + div {
    overflow-x: hidden;
}

/* Saved filters bar: button filters, the screen's search, then the saved filters list, save and delete */
.saved-filter-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
}

.saved-filter-content {
    flex: 1 1 auto;
    min-width: 0;
}

.saved-filter-search-actions {
    flex: 0 0 auto;
    display: flex;
    gap: 8px;
}

/* dragged to set the search box's width, making room for more filter buttons */
.saved-filter-splitter {
    flex: 0 0 auto;
    align-self: stretch;
    width: 8px;
    margin: 0 -4px;
    cursor: col-resize;
    touch-action: none;
    position: relative;
}

.saved-filter-splitter::after {
    content: "";
    position: absolute;
    top: 20%;
    bottom: 20%;
    left: 3px;
    width: 2px;
    border-radius: 1px;
    background-color: #ced4da;
}

.saved-filter-splitter:hover::after,
.saved-filter-splitter.dragging::after {
    background-color: #2078c0;
}

/* overflow buttons are absolutely placed and hidden, so the row is only as wide as the shown ones */
.saved-filter-buttons {
    position: relative;
    display: flex;
    gap: 6px;
    flex: 0 0 auto;
}

.saved-filter-button {
    white-space: nowrap;
}

/* a filter whose settings are the ones applied; specific enough to win over Syncfusion's outline button, which loads after this */
.saved-filter-bar .e-btn.e-outline.saved-filter-button.active {
    background-color: #e7f1fb;
    border-color: #2078c0;
    box-shadow: inset 0 -2px 0 #2078c0;
    /* the selected filter's name in dark blue (its icon keeps its own colour) */
    color: #0b3d6e;
}

.saved-filter-button .bi,
.saved-filter-more-item .bi {
    margin-right: 4px;
}

.saved-filter-badge {
    margin-left: 6px;
    font-size: 0.75em;
    color: #fff;
}

.saved-filter-more {
    position: relative;
    flex: 0 0 auto;
}

.saved-filter-more-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000;
}

.saved-filter-more-list {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1001;
    min-width: 220px;
    margin-top: 2px;
    padding: 4px 0;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.saved-filter-more-item {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 6px 12px;
    border: none;
    background: none;
    text-align: left;
    white-space: nowrap;
    /* the same text as the filter buttons (Syncfusion's buttons) */
    font-size: 14px;
    font-weight: 400;
    line-height: 1.571em;
}

.saved-filter-more-item:hover,
.saved-filter-more-item.active {
    background-color: #f1f3f5;
    color: #0b3d6e;
}

/* Filter button order on the filters box's Display Options tab */
.filter-sorter {
    margin-top: 16px;
}

.filter-sorter-title {
    font-weight: 500;
    margin-bottom: 6px;
}

.filter-sorter-row {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    border-bottom: 1px solid #f1f3f5;
}

.filter-sorter-name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Dragging filter buttons to reorder them: the wrapper is dragged, and the button it is over is marked */
.saved-filter-drag {
    display: inline-flex;
}

.saved-filter-drag.drop-target .saved-filter-button {
    box-shadow: inset 3px 0 0 #2078c0;
}

.saved-filter-more-item.drop-target {
    box-shadow: inset 0 2px 0 #2078c0;
}

.filter-sorter-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.filter-sorter-row {
    cursor: grab;
}

.filter-sorter-row.drop-target {
    box-shadow: inset 0 2px 0 #2078c0;
}

.filter-sorter-grip {
    color: #adb5bd;
}

/* while dragging a filter, the More list's click-away backdrop lets the drag through to the buttons under it */
.xpos-dragging .saved-filter-more-backdrop {
    pointer-events: none;
}

.filter-sorter-count {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin: 0 6px 0 0;
    color: #6c757d;
    cursor: pointer;
}

.filter-sorter-count .form-check-input {
    margin: 0;
}

/* Column picker on Display Options: available and selected columns side by side, then the sort */
.column-picker-hint {
    color: #6c757d;
    font-size: 0.85rem;
    margin: 12px 0 8px;
}

.column-picker-lists {
    display: flex;
    gap: 16px;
}

.column-picker-title {
    font-weight: 500;
    margin-bottom: 6px;
}

.column-picker-list {
    border: 1px solid #dee2e6;
    border-radius: 4px;
    height: 260px;
    overflow-y: auto;
    padding: 4px;
}

.column-picker-list.drop-target {
    box-shadow: inset 0 0 0 2px #2078c0;
}

.column-picker-row {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 2px 4px;
    border-radius: 3px;
    cursor: grab;
    user-select: none;
}

.column-picker-row:hover {
    background-color: #f1f5f9;
}

.column-picker-row.drop-target {
    box-shadow: inset 0 2px 0 #2078c0;
}

.column-picker-row .btn {
    padding: 0 6px;
}

.column-picker-grip {
    color: #adb5bd;
}

.column-picker-name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.column-picker-sort {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

/* the column name takes whatever the direction and move buttons leave, so the row is filled */
.column-picker-sort .form-select {
    flex: 1 1 auto;
    min-width: 0;
}

.column-picker-sort-number {
    width: 18px;
    text-align: right;
    color: #6c757d;
}

.column-picker-direction {
    min-width: 120px;
    text-align: left;
}

.column-picker-number {
    width: 20px;
    text-align: right;
    color: #6c757d;
    font-size: 0.85rem;
}

.column-picker-row {
    padding: 4px 6px;
    border: 1px solid transparent;
}

.column-picker-list[data-drag-key="s:"] .column-picker-row {
    background-color: #f8fbfe;
    border-color: #e3edf7;
    margin-bottom: 2px;
}

/* explains a Display Options setting, under its checkbox */
.display-option-description {
    color: #6c757d;
    font-size: 0.85rem;
    margin: 2px 0 0 26px;
}

/* Edit and Delete for a right-clicked saved filter button, above the More list */
.saved-filter-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1002;
}

.saved-filter-menu {
    position: fixed;
    z-index: 1003;
    min-width: 140px;
    padding: 4px 0;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.saved-filter-menu-item {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 6px 12px;
    border: none;
    background: none;
    text-align: left;
    font-size: 14px;
    font-family: inherit;
    font-weight: 400;
    line-height: 1.571em;
    white-space: nowrap;
}

.saved-filter-menu-item:hover:not(:disabled) {
    background-color: #f1f5f9;
}

.saved-filter-menu-item:disabled {
    color: #adb5bd !important;
}

/* customer image hover preview (Client/Components/CustomerImage.razor) */
.e-tooltip-wrap.customer-image-tooltip {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    max-width: none !important;
}
.e-tooltip-wrap.customer-image-tooltip .e-tip-content {
    padding: 0 !important;
}
.e-tooltip-wrap.customer-image-tooltip .e-arrow-tip {
    display: none !important;
}
.customer-image-upload {
    background: #fff;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.customer-image-upload:hover {
    background: #f1f6ff;
}
