/********************************************************************************
 * Common material overrides
********************************************************************************/
html, body, h1, h2, h3, h4, h5, h6, button, input, optgroup, select, textarea{
    font-family: "Roboto", arial;
}
html,body{
    width: 100%;
    height: 100%;
}
body{
    background-color: #f2f2f2;
    font-size: 0.9rem;
    position: relative;
}
body.inner{
    padding-top: 50px;
}
body.contacts-page{
    padding-top: 0;
}
h3{
    font-size: 2.6rem;
    font-weight: 700;
}
a{
    cursor: pointer;
    color: #000;
}
.dayContainer{
    width: 290px;
    min-width: 290px;
    max-width: 290px;
}
.flatpickr-weekdays, .flatpickr-calendar{
    width: 290px;
}
.sidenav li{
    border-bottom: #eeeeee solid 1px;
}
.sidenav li ul li>a{
    padding-left: 60px;
    font-weight: 400;
}
nav ul a, .dropdown-content li>a, .dropdown-content li>span{
    font-weight: 700;
    text-transform: uppercase;
    color: #042e86;
}
h1,h2,h3,h4,h5,h6{
    color: #333;
    margin: 0;
}
h1,h2{
    font-size: 1.1rem;
    font-weight: 700;
}
table.tighter td, table.tighter th{
    padding-top: 8px;
    padding-bottom: 8px;
}
table.tighter td .browser-default, table.tighter th .browser-default{
    padding: 0.05rem 0.25rem !important;
    height: calc(1.9rem + 2px);
    font-size: 0.95rem;
}
table.tightest td, table.tightest th{
    padding-top: 3px;
    padding-bottom: 3px;
}
table.light-bordered>thead>tr, table.light-bordered>tbody>tr{
    border-bottom: 1px solid #e7e7e7;
}
table.light-bordered>tbody>tr:last-child{
    border-bottom: none;
}
table.assign-color th,
table.assign-color td{
    text-align: center;
}
.row .col{
    padding: 0 0.4rem;
}
#body-loader{
    position: absolute;
    left: 0;
    top: 80px;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 10;
    color: #fff;
}
#body-loader span{
    display: inline-block;
    width: 100%;
    padding-top: 25%;
    text-align: center;
}
.call-customer{
    display: inline-block;
    width: 26px;
    height: 26px;
    border: #333 solid 1px;
    border-radius: 50%;
    background: url('/images/phone-call.png');
    background-position: center;
    background-size: 60%;
    background-repeat: no-repeat;
}
.call-customer.bigger{
    width: 34px;
    height: 34px;
}
.whatsapp-customer{
    display: inline-block;
    width: 27px;
    height: 27px;
    background: url('/images/whatsapp-green.png');
    background-position: center;
    background-size: 100%;
    background-repeat: no-repeat;
    margin-left: 5px;
}
.whatsapp-customer.bigger{
    width: 36px;
    height: 36px;
}
.edit-icon{
    display: inline-block;
    width: 26px;
    height: 26px;
    border: #333 solid 1px;
    border-radius: 50%;
    background: url('/images/pencil.png');
    background-position: center;
    background-size: 60%;
    background-repeat: no-repeat;
}
.edit-icon.bigger{
    width: 34px;
    height: 34px;
}
.add-order-icon{
    display: inline-block;
    width: 26px;
    height: 26px;
    border: #333 solid 1px;
    border-radius: 50%;
    background: url('/images/plus.png');
    background-position: center;
    background-size: 60%;
    background-repeat: no-repeat;
}
.add-order-icon.bigger{
    width: 34px;
    height: 34px;
}
.delete-icon{
    display: inline-block;
    width: 26px;
    height: 26px;
    border: #333 solid 1px;
    border-radius: 50%;
    background: url('/images/delete.png');
    background-position: center;
    background-size: 60%;
    background-repeat: no-repeat;
}
.delete-icon.bigger{
    width: 34px;
    height: 34px;
}
/********************************************************************************
 * Header CSS
********************************************************************************/
nav ul li{
    height: 62px;
    line-height: 62px;
    border-left: #e4e4e4 solid 1px;
    position: relative;
}
nav .nav-wrapper{
    position: relative;
    height: 35px !important;
}
.sidenav ul {
    display: none;
    margin-left: 15px;
}
.nav-wrapper>ul>li:before{
    content: '';
    position: absolute;
    top: -2px;
    left: -1px;
    width: 20px;
    height: 2px;
    background-color: #ddd;
    transition: all 0.5s;
}
.nav-wrapper>ul>li.active{
    background-color: #fff;
}
.nav-wrapper>ul>li.active:before, .nav-wrapper>ul>li:hover:before{
    width: 80%;
    background-color: #eb1d1d;
    transition: all 0.5s;
}
.nav-wrapper>ul li:last-child{
    border-right: #e4e4e4 solid 1px;    
}
nav{
    background-color: #ddd;
    box-shadow: none;
    border-top: #e4e4e4 solid 1px;
    height: 80px;
}
nav ul{
    margin-left: 6.8rem;
    margin-right: 6.8rem;
}
nav ul a{
    font-size: 14px;
    font-weight: 700;
    min-width: 100px;
    color: #2c2c2c;
}
nav .logout{
    position: absolute;
    top: 8px;
    right: 10px;
    color: #111111;
    width: 100%;
    height: 25px;
    line-height: 25px;
    text-align: right;
}
nav .logout span{
    display: inline-block;
    vertical-align: top;
    margin-top: 0;
    margin-right: 5px;
}
nav .logout i{
    color: #111111;
    display: inline-block;
    height: auto;
    line-height: 1;
}
nav .logout a.qr-trigger{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.3s ease;
}
nav .logout a.qr-trigger:hover{
    opacity: .86;
}
nav .logout a.qr-trigger img.qr-trigger-icon{
    width: 45px;
    height: 18px;
    display: block;
}
nav .gpay-center{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}
nav .gpay-center-icon{
    width: 45px;
    height: 18px;
    display: block;
}
@media (max-width: 768px) {
    nav .gpay-center{
        left: 42%;
    }
}
@media (max-width: 480px) {
    nav .gpay-center{
        left: 38%;
    }
}
.dropdown-content li>a, .dropdown-content li>span{
    font-size: 14px;
    font-weight: 400;
}
.dropdown-content{
    min-width: 160px;
}
.dropdown-content li{
    height: auto;
}
.burger-wrapper {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 40px;
    height: 40px;
    padding: 5px 10px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    cursor: pointer;
    z-index: 201;    
}
.line-1 {
    width: 27px;
    height: 2px;
    background-color: #111;
}
.line-2 {
    width: 27px;
    height: 2px;
    margin-top: 5px;
    margin-bottom: 5px;
    background-color: #111;
}
.line-3 {
    width: 27px;
    height: 2px;
    background-color: #111;
}
nav .sidenav-trigger{
    height: auto;
    text-align: center;
    margin: 0;
}
.searchbar{
    position: relative;
    z-index: 1;
    /*border: #f00 solid 1px;*/
    padding: 0;
    margin-top: 5px;
    text-align: center;
    height: 40px;
}
.searchbar i{
    position: absolute;
    top: 3px;
    left: 15px;
    z-index: 2;
    color: #999;
    height: 25px !important;
    line-height: 25px !important;
}
.searchbar input{
    position: absolute;
    left: 9px;
    top: 0;
    width: calc(100% - 18px);
    height: 30px;
    line-height: 30px;
    padding-left: 10px;
    margin: 0;
    border-color: #fff;
    vertical-align: top;
}
.searchbar .filter-icon{
    color: #333333;
    float: right;
    margin-right: 15px;
    margin-top: 2px;
}
#agent-performance-bar{
    top: 0;
    max-width: calc(100% - 30px);
    width: auto;
    height: 28px;
    overflow: auto;
    line-height: 28px;
    position: absolute;
    background-color: #fff;
    color: #000;
    display: flex;
    white-space: nowrap;
    left: 10px;
    -ms-overflow-style: none;    /* Hide scrollbar on Internet Explorer and Edge */
    scrollbar-width: none;       /* Hide scrollbar on Firefox */
}
#agent-performance-bar::-webkit-scrollbar {
    display: none;               /* Hide scrollbar on Chrome, Safari, and Opera */
}
#agent-performance-bar span{
    display: inline-block;
    height: 24px;
    line-height: 24px;
    margin:3px 3px 3px 0;
    padding: 0 2px;
    font-size: 0.8rem;
    font-weight: 400;
    border-radius: 5px;
    background-color: #fbeccf;
}
/*CSS for inner pages header*/
.header-inner{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 40px;
    line-height: 40px;
    background-color: #ddd;
    z-index: 1;
}
.header-inner a{
    float: left;
    margin-top: 8px;
    margin-left: 10px;
}
.header-inner a i{
    font-size: 1.8rem;
}
.header-inner .page-title{
    display: inline-block;
    width: 80%;
    height: 100%;
    font-size: 1.2rem;
    font-weight: 600;
    padding-left: 10px;
}
.main-page-title{
    margin-top: 5px ;
    display: block;
    width: 100%;
    height: auto;
    line-height: 2;
    color: #333333;
    font-size: 1rem;
    font-weight: 600;
    padding: 3px 10px;
    text-align: left;
}
/********************************************************************************
 * Dashboard/Homescree CSS
********************************************************************************/
/*#homeTabs{
    position: fixed;
    top: 80px;
}
.tabs-content.carousel.carousel-slider{
    position: fixed;
    top: 110px;
}
.tabs-content.carousel.carousel-slider, .carousel.carousel-slider .carousel-item{
    height: 92%;
    overflow: auto;
}
*/
.tab-content-container{
    position: fixed;
    top: 110px;
    width: 100%;
    height: calc(100% - 170px);
    overflow: auto;
}
.tab-content-container.no-tabs{
    top: auto;
    width: 100%;
    height: calc(100% - 150px);
}
body.contacts-page .tab-content-container{
    top: 80px;
    height: calc(100% - 140px);
}
.shop-page .tab-content-container,
.shop-page .tab-content-container.no-tabs{
    position: static;
    top: auto;
    width: auto;
    height: auto;
    overflow: visible;
    display: grid;
    gap: 18px;
    margin-top: 12px;
}
body.sales-report .tab-content-container{
    top: 112px;
    height: calc(100% - 180px);
}
body.pending-payments .tab-content-container{
    top: 85px;
    height: calc(100% - 145px);
}
#homeTabs.tabs, #homeTabs.tabs .tab{
    height: 30px;
    line-height: 30px;
    background-color: #ddd;
}
#homeTabs.tabs .tab a{
    font-size: 0.9rem;
    color: #666;
}
#homeTabs.tabs .tab a.active, #homeTabs.tabs .tab a:focus, #homeTabs.tabs .tab a:focus.active{
    color: #000;
    background-color: #ddd;
}
#homeTabs.tabs .indicator{
    background-color: #222;
}
#homeTabs.tabs.shop .tab{
    background-color: #e6d1d7;
}
#homeTabs.tabs.shop .tab a.active{
    color: #fff;
    background-color: #ba395e;
}
.card{
    padding: 5px;
    margin-left: 10px;
    margin-right: 10px;
    position: relative;
    border-radius: 5px;
    box-shadow: #ccc 1px 1px 3px;
}
.card .row{
    margin: 0;
}
.card h1{
    font-weight: 600;
    font-size: 0.9rem;
}
.card h1.notes::after{
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: red;
    border-radius: 50%;
    vertical-align: middle;
    margin-left: 5px; /* Adjust as needed to center horizontally */
}
.card button.payment-update{
    background-color: #eeeeee;
    border: #cccccc solid 1px;
    border-radius: 3px;
    float: right;
}
.card .update-trail{
    font-size: 0.8rem;
}
.card .update-trail label{
    font-size: 0.7rem;
    color: #999999;
}
.card h2{
    font-weight: 400 !important;
    font-size: 0.85rem !important;
    color: #666 !important;
    line-height: 1.2 !important;
    margin-top: 5px;
    margin-bottom: 0;
}
.card h2 span.fund{
    color:#999999;
}
.card h2 span.fund.negative{
    color:#cc0000;
    font-weight: 600;
}
.card h2 span.fund.positive{
    color:#00a651;
    font-weight: 600;
}
.card h3{
    font-weight: 400 !important;
    font-size: 0.8rem !important;
    color: #444 !important;
    line-height: 1.2 !important;
    margin-top: 5px;
    margin-bottom: 0;
}
.card h3.highlight{
    color: #c00 !important;
    font-weight: 600 !important;
}
.card h3 span{
    font-weight: 600 !important;
}
.card h3 span.grind-type{
    font-weight: 400 !important;
    font-size: 0.7rem;
    letter-spacing: 0.05rem;
    text-transform: uppercase;
    color: #ffffff;
    background-color: #666666;
    float: right;
    margin-bottom: 2px;
    padding: 0 3px;
    height: 14px;
    line-height: 13px;
}
.card h3 span.elapsed-time{
    font-weight: 400 !important;
}
.card .chip.grain{
    border-radius: 5px;
    background-color: #f7c594;
    margin: 5px 5px 0 0;
    width: 24px;
    height: 20px;
    line-height: 20px;
    padding: 0;
    text-align: center;
    font-size: 0.7rem;
    text-transform: uppercase;
    color: #000;
}
.thumbs-up{
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url('/images/like.png');
    background-position: center;
    background-size: 100%;
}
.thumbs-down{
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url('/images/dont-like.png');
    background-position: center;
    background-size: 100%;
}
.card.delivery-order span.added-by, .card.delivery-order span.weight{
    position: absolute;
    top: 0;
    width: 55px;
    right: 0;
    background-color: #0e76bd;
    color: #fff;
    border-bottom-left-radius: 5px;
    border-top-right-radius: 5px;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 3px 0;
    text-transform: uppercase;
}
.card.delivery-order span.weight{
    top: 2px;
    right: 65px;
    width: auto;
    background: transparent;
    border: none;
    border-radius: 0;
    color: #000;
}
.card.delivery-order span.reorder{
    position: absolute;
    top: 2px;
    right: 95px;
}
.card.delivery-order span.delivery-color{
    position: absolute;
    top: 5px;
    right: 70px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #fff;
    box-shadow: #555555 1px 1px 3px;
}
.card.shop-product span.reorder{
    position: static;
    top: auto;
    right: auto;
    margin: 0;
}
.card.shop-product span.discount{
    font-weight: 600;
    color: #4ab849;
}
.modal{
    box-shadow: none;
}
.modal .modal-content{
    box-shadow: #333333 0 0 10px;
}
.modal .color-grid{
    width: 220px;
}
.modal .color-cell{
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 20px;
    height: 20px;
    line-height: 20px;
    color: #2d2df1;
    font-size: 0.8rem;
    font-weight: 600;
    margin:10px;
}
.modal .color-cell.default{
    border: #dddddd solid 1px;
}
.modal .color-cell.selected::after {
    content: '\2713'; /* Unicode for check mark */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    color: #FFFFFF; /* Color of the check mark */
    font-weight: bold;
}
.modal .color-cell.default::after{
    color: #000000;
}
.card.delivery-order .amounts{
    margin-top: 5px;
    font-size: 0.8rem;
}
.card.delivery-order .amounts span{
    display: inline-block;
    background-color: #eee;
    padding: 1px 3px;
    border-radius: 3px;
    font-size: 0.75rem;
}
.card.delivery-order .amounts span.order-amount{
    font-weight: 600;
}
.card.delivery-order p{
    margin: 5px 0 0 0;
    font-size: 12px !important;
    font-weight: 400;
    color: #c00;
}
.dashboard-filters{
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 65px;
    background-color: #ddd;
}
.dashboard-filters.shop{
    background-color: #e6d1d7;
}
.dashboard-filters .row{
    display: block;  /*By default let's hide the filter for expected orders section*/
}
.dashboard-filters .filter-icon{
    margin-top: 9px;
    margin-left: 10px;
    font-size: 2.8rem;
}
.btn.add-order,
.btn.add-customer,
.btn.delete-customers,
.btn.set-delivery-color{
    position: fixed;
    bottom: 9px;
    right: 65px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    padding: 0;
    border-radius: 40px;
    background-color: #00a651;
    z-index: 1;
}
.btn.add-order{
    right: 10px;
}
.btn.set-delivery-color{
    right: 15px;
    display: none;
    background: linear-gradient(45deg, 
        #ff0000, /* Red */
        #ff7f00, /* Orange */
        #ffff00, /* Yellow */
        #00ff00, /* Green */
        #0000ff, /* Blue */
        #4b0082, /* Indigo */
        #9400d3  /* Violet */
    );
    color: #fff; /* Text color */
    border: none;
}
.btn.add-customer{
    background-color: #03a8e4;
}
.btn.delete-customers{
    right: auto;
    left: 15px;
    background-color: #c00;
    display: none;
    z-index: 1;
}
.dashboard-filters table td, .dashboard-filters table tr{
    padding: 0;
    border: none;
    font-size: 0.8rem;
}
.dashboard-filters table td.label{
    min-width: 60px;
    font-weight: 400;
}
.dashboard-filters table td.value{
    font-weight: 600;
}
/********************************************************************************
 * Add Order Page CSS
********************************************************************************/
.add-order-h4{
    font-weight: 400;
    color: #666;
    min-height: 30px;
    margin-left: 5px;
}
.btn.submit-order-btn{
    width: 100%;
    color: #fff;
    background-color: #000;
    border: none;
    font-size: 1.2rem;
    border-radius: 4px;
    height: 44px;
    margin-bottom: 2%;
}
.inline-inputs section{
    display: inline-block;
    width: 23.5%;
}
/********************************************************************************
 * Customer Details Popup CSS
********************************************************************************/
.customer-details .col{
    padding: 0;
}
.customer-details h1{
    font-size: 1.3rem;
    margin: 10px 0 30px 0;
}
.customer-details h2{
    font-size: 1.1rem;
    font-weight: 400;
    margin: 10px 0;
}
.customer-details h2 span{
    font-weight: 600;
    float: right;
}
.customer-details h3{
    font-size: 1rem;
}
.input-field{
    margin-top: 5px;
    margin-bottom: 0;
}
input[type=text]:not(.browser-default),
input[type=number]:not(.browser-default),
input[type=tel]:not(.browser-default){
    margin-bottom: 0;
    height: 2rem;
    font-size: 13px;
}
table.order-grains th,
table.order-grains td{
    padding: 2px;
}
table.order-grains tbody td.grain-rate,
table.order-grains tbody td.grain-kg,
table.order-grains tbody td.grain-amount{
    width: 70px;
}
table.order-grains td input{
    text-align: right;
    height: 1.8rem;
}
.input-field>label{
    top: -3px;
}
.input-field>label.active{
    top: 0;
}
.input-field.suffix input{
    margin-left: 0;
}
.input-field.suffix .prefix{
    right: 0;
}
.input-field.suffix .prefix ~ label{
    margin-left: 0;
}
table.ordered-grains th,
table.ordered-grains td{
    padding: 2px 3px;
    text-align: center;
    min-width: 40px;
    max-width: 60px;
    font-size: 0.85rem;
}
table.ordered-grains {
    border-collapse: collapse;
    width: auto;
}

table.ordered-grains th, table.ordered-grains td {
    border: 1px solid #cccccc;
}
label.paid-unpaid{
    display: inline-block;
    width: 90px;
    background-color: #f5f5f5;
    border: #999999 solid 1px;
    border-radius: 5px;
    margin-bottom: 5px;
    text-align: left;
}
label.paid-unpaid span{
    padding-left: 30px !important;
}
.back-button{
    position: fixed;
    bottom: 8px;
    right: 5px;
    width: 45px;
    height: 45px;
    line-height: 45px;
    padding: 0;
    border-radius: 45px;
    background: none;
    z-index: 1;
    box-shadow: none;
}
.back-button:focus,
.back-button:active{
    box-shadow: none;
    background: none;
}
.back-button i{
    color: #000000;
    font-size: 2rem;
}
.back-button.order-page{
    bottom: 0;
}
.back-button.order-page i{
    color: #ffffff;
}

.pull-to-refresh {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 14px;
    color: #999;
}

.icon-refresh {
    margin-top: 10px;
    font-size: 24px;
    color: #999;
}
.shop-btn{
    display: inline-block;
    font-size: 0.9rem;
    text-transform: uppercase;
    padding: 0 10px;
    border-radius: 5px;
    text-align: center;
    border: none;
    background-color: #cb5d7f;
    color: #ffffff;
    height: 24px;
    line-height: 24px;
}
.shop-btn.active{
    background-color: #b0224e;
}
.shop-footer{
    padding-top: 18px;
    margin-top: 22px;
    border-top: 1px solid rgba(34, 34, 34, 0.08);
}
.shop-footer__summary{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 14px;
}
.shop-footer__label{
    font-size: 0.95rem;
    color: #4b5563;
    font-weight: 700;
}
.shop-footer__count{
    font-size: 1.25rem;
    font-weight: 700;
    color: #111827;
}
.shop-footer__actions{
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.shop-page{
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 16px;
}
.shop-page__header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.shop-page__header .page-title{
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 4px;
}
.shop-page__header .page-subtitle{
    color: #6b7280;
    font-size: 0.95rem;
}
.shop-tabs{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}
.shop-tab-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border-radius: 999px;
    border: 1px dashed #d1d5db;
    background: #ffffff;
    color: #1f2937;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.shop-tab-button.active,
.shop-tab-button:hover{
    background-color: #2563eb;
    color: #ffffff;
    border-color: #2563eb;
}
.shop-panel{
    display: block;
    min-height: auto;
    background: #ffffff;
    border: 1px dashed #d6dbe4;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(17, 24, 39, 0.07);
    padding: 20px;
}
.shop-panel--top{
    padding: 22px 24px 20px;
    margin-bottom: 22px;
}
.shop-stats-row{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.shop-stat-card{
    background: #f8fafc;
    border: 1px dashed #d6dbe4;
    border-radius: 16px;
    padding: 16px;
}
.shop-stat-label{
    color: #6b7280;
    font-size: 0.85rem;
    margin-bottom: 8px;
    font-weight: 700;
}
.shop-stat-value{
    font-size: 1.6rem;
    font-weight: 800;
    color: #111827;
}
.shop-panel--main{
    padding: 22px 24px 24px;
}
/* Remove background for main panel on shop pages */
.shop-page .shop-panel--main{
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}
/* Top row: tabs and action button inline */
.shop-top-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

/* Remove top panel background to match requested flat look */
.shop-page .shop-panel--top{
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

/* Make product cards occupy full width of container */
.shop-main .shop-card{
    width: 100%;
    box-sizing: border-box;
    margin: 0;
}

.shop-panel--main .tab-content-container{
    display: grid;
    gap: 18px;
    width: 100%;
}

/* Ensure product list container flows normally and full width */
.shop-page #productList{
    width: 100%;
}
.panel-title{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}
.panel-title h3{
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
}
.panel-title .pill{
    white-space: nowrap;
}
.shop-main{
    display: grid;
    gap: 18px;
    margin-top: 12px;
}
.shop-card{ margin-bottom: 0; }
.shop-card{
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 16px;
    background: #ffffff;
    border-radius: 18px;
    padding: 18px;
    box-shadow: #ccc 1px 1px 3px;
}
.shop-card__content{
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.shop-card:hover{
    box-shadow: #ccc 1px 1px 3px;
}
.shop-card .reorder{
    position: static;
    right: auto;
    top: auto;
    left: auto;
    transform: none;
    color: #6b7280;
    cursor: grab;
    font-size: 20px;
    margin: 0;
}
.shop-card__preview{
    width: 110px;
    height: 110px;
    min-width: 110px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg,#ffffff,#f3f4f6);
    overflow: hidden;
    border: 1px solid #e5e7eb;
    flex-shrink: 0;
    margin-top: 15px;
}
.shop-card__preview img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.shop-card__content{
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
    justify-content: flex-start;
}
.shop-card__meta{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
    font-size: 1rem;
}
.shop-card__meta--row{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.shop-card__meta--stack{
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}
.shop-card__actions{
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    justify-content: center;
    min-width: 62px;
    flex-shrink: 0;
}
.shop-card__action,
.shop-card__drag-handle{
    width: 44px;
    height: 44px;
    border: 1px solid #d1d5db;
    background: #ffffff;
    color: #111827;
    font-weight: 700;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex-shrink: 0;
}
.shop-card__action i{
    font-size: 20px;
}
.shop-card__drag-handle{
    cursor: grab;
}
.shop-card__drag-handle:hover{
    background: #f9fafb;
}
.shop-card__action--edit{
    color: #2563eb;
    border-color: #bfdbfe;
}
.shop-card__action--delete{
    color: #dc2626;
    border-color: #fecaca;
}
.shop-card__title{
    margin: 0 0 8px;
    font-size: 1.08rem;
    font-weight: 700;
    color: #111827;
}
.shop-card__subtitle{
    margin: 0;
    color: #6b7280;
    font-size: 0.9rem;
    line-height: 1.4;
    min-height: 4px;
}
.shop-card__meta{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 6px;
    align-items: flex-start;
}
.shop-card__tag{
    color: #374151;
    font-size: 0.8125rem;
    font-weight: 600;
    border: none;
    white-space: nowrap;
}
.shop-card__tag-value{
    font-weight: 400;
    color: #6b7280;
    font-size: 13px;
}
.shop-card__tag strong{
    font-weight: 700;
}
.shop-card__tag--status{
    color: #1d4ed8;
    border-radius: 12px;
}
.shop-card__tag--status.inactive{
    /* background: transparent; */
    color: #b91c1c;
    /* border-color: #fecaca; */
}
.shop-card__preview i{
    font-size: 32px;
    color: #9ca3af;
}
.shop-card__tag{
    /* padding: 6px 10px; */
    border-radius: 999px;
    /* background: #f8fafc; */
    color: #374151;
    font-size: 0.0.8125rem;
    font-weight: 700;
    /* border: 1px solid #e5e7eb; */
}
.shop-card__tag--status{
    /* background: #eff6ff; */
    color: #1d4ed8;
}
.shop-card__tag--status.inactive{
    /* background: #fef2f2; */
    color: #b91c1c;
}
@media(max-width:900px){
    .shop-page{padding:0 12px;}
    .shop-top-row{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;}
    .shop-page__header{flex-direction:column;align-items:flex-start;}
    .shop-tab-button{width:auto;justify-content:center;white-space:nowrap;}
    .shop-panel--top{padding:12px 0 16px;}
    .shop-stats-row{display:grid;grid-template-columns: repeat(3, minmax(100px, 1fr));gap:10px;margin-top:18px;}
    .shop-stat-card{padding:12px;}
    .shop-stat-label{font-size:0.78rem;}
    .shop-stat-value{font-size:1.3rem;}
    .shop-card{
        display:flex;
        flex-direction:row;
        align-items:center;
        gap:12px;
        padding:14px;
        flex-wrap:nowrap;
    }
    .shop-card__preview{
        width:84px;
        height:84px;
        min-width:84px;
        margin:0;
    }
    .shop-card__actions{
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:8px;
        width:48px;
        min-width:48px;
    }
    .shop-card__action,
    .shop-card__drag-handle{
        width:34px;
        height:34px;
    }
    .shop-card__action i{font-size:18px;}
    .shop-card__meta{font-size:0.88rem;gap:8px;}
    .shop-card__tag{font-size:0.82rem;white-space:normal;}
    .shop-card__tag-value{font-size:12px;}
    .shop-card__title{font-size:1rem;}
    .shop-card__subtitle{font-size:0.85rem;line-height:1.4;}
    .shop-card__preview img{border-radius:16px;}
    .shop-card__content{flex:1 1 auto;min-width:0;overflow:hidden;}
    .shop-panel--main{padding:0;}
    .panel-title{flex-direction:column;align-items:flex-start;gap:10px;}
    .panel-title h3{font-size:1.05rem;}
}
@media(max-width:700px){
    .shop-card{
        gap:8px;
        padding:12px;
    }
    .shop-card__preview{
        width:72px;
        height:72px;
        min-width:72px;
    }
    .shop-card__action,
    .shop-card__drag-handle{
        width:30px;
        height:30px;
    }
    .shop-card__title{font-size:0.96rem;}
    .shop-card__subtitle{font-size:0.82rem;}
    .shop-card__meta{font-size:0.85rem;}
}
@media(max-width:580px){
    .shop-card{
        gap:8px;
        padding:10px;
    }
    .shop-card__preview{
        width:64px;
        height:64px;
        min-width:64px;
    }
    .shop-card__actions{
        width:44px;
        min-width:44px;
    }
    .shop-card__action,
    .shop-card__drag-handle{
        width:28px;
        height:28px;
    }
    .shop-card__title{font-size:0.9rem;}
    .shop-card__subtitle{font-size:0.78rem;}
    .shop-card__meta{font-size:0.82rem;}
    .shop-card__tag{font-size:0.76rem;}
    .shop-card__tag-value{font-size:10px;}
    .shop-tab-button{padding:8px 14px;}
}

/* Force correct mobile shop-card layout */
@media(max-width:900px){
    .shop-panel--main .shop-card,
    .shop-main .shop-card{
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:space-between !important;
        flex-wrap:nowrap !important;
        gap:10px !important;
        padding:12px !important;
    }
    .shop-panel--main .shop-card__preview,
    .shop-main .shop-card__preview{
        width:72px !important;
        height:72px !important;
        min-width:72px !important;
        margin:0 !important;
    }
    .shop-panel--main .shop-card__preview img,
    .shop-main .shop-card__preview img{
        width:100% !important;
        height:100% !important;
        object-fit:cover !important;
    }
    .shop-panel--main .shop-card__content,
    .shop-main .shop-card__content{
        flex:1 1 auto !important;
        min-width:0 !important;
        overflow:hidden !important;
    }
    .shop-panel--main .shop-card__actions,
    .shop-main .shop-card__actions{
        width:48px !important;
        min-width:48px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        gap:8px !important;
    }
    .shop-panel--main .shop-card__action,
    .shop-panel--main .shop-card__drag-handle,
    .shop-main .shop-card__action,
    .shop-main .shop-card__drag-handle{
        width:32px !important;
        height:32px !important;
    }
}
/* .grocery{
} */
.grocery{
    float: right;
    position: relative;
    top: -10px;
    z-index: 1;
}
.grocery i{
    color: #00b0f0;
    font-size: 1.4rem;
}
.grocery .items-count{
    position: absolute;
    display: inline-block;
    width: 100%;
    text-align: center;
    left: 0;
    top: -6px;
    z-index: 2;
    font-weight: 800;
    font-size: 0.8rem;
    color: #0000cc;
    text-shadow: #ffffff 0 0 1px;
}
.order-items-table-wrapper{
    margin-top: 15px;
    padding-right: 15px;
    overflow: auto;
    max-height: 350px;
}
.chips.daterange{
    border: none;
    margin-top: 5px;
}
.chips.daterange .chip.active{
    background-color: #26a69a;
    color: #ffffff;
}
a.whatsapp{
    position: fixed;
    bottom: 70px;
    left: 20px;
    width: 36px;
    height: 36px;
    line-height: 36px;
    background: url('/images/whatsapp-green.png');
    background-position: center;
    background-size: 100%;
    background-repeat: no-repeat;
}
#salesReportTabs.tabs,
#salesReportTabs.tabs .tab{
    height: 32px;
    line-height: 32px;
}
@media(min-width:993px){
    nav a.sidenav-trigger
    {
        display: block !important;
    }
    body
    , .tab-content-container
    ,.dashboard-filters
    ,.header-inner
    ,.btn.submit-order-btn
    ,.header-inner .page-title
    ,.navbar-fixed nav
    ,footer.order-summary{
        max-width: 800px;
        margin-left: auto;
        margin-right: auto;
    }
    .dashboard-filters
    ,.header-inner
    ,a.whatsapp
    ,#add-to-home-screen-button
    ,#add-to-home-screen-instructions{
        margin-left: calc((100% - 800px)/2);
    }
    .back-button
    ,.btn.submit-order-btn
    ,.btn.add-order
    ,.btn.set-delivery-color{
        right: calc(((100% - 800px)/2) + 20px);
        left: auto;
    }
    .modal .modal-content{
        max-width: 600px;
    }
}
body.no-internet{
    position: relative;
    overflow: hidden;
}
body.no-internet .no-internet-message{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 10px;
    background-color: #000;
    color: red;
    text-align: center;
    z-index: 11;
    font-weight: 600;
}
body.no-internet .no-internet-message.resumed{
    color: green;
}
body.no-internet::after{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 10;
    background: rgba(0, 0, 0, 0.6);
}