* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body {
    font-family:
        Inter,
        Arial,
        sans-serif;
    background: #f5f8fc;
    color: #182840;
    font-size: 14px;
}


/* =====================================================
   MAIN SHELL
===================================================== */

.mig-shell {
    display: flex;
    min-height: 100vh;
}

.mig-main {
    min-width: 0;
    flex: 1;
}

.mig-content {
    padding: 20px 22px 30px;
}


/* =====================================================
   SIDEBAR
===================================================== */

.mig-sidebar {
    position: sticky;
    top: 0;

    display: flex;

    width: 265px;
    min-width: 265px;
    height: 100vh;

    flex-direction: column;

    background:
        linear-gradient(
            180deg,
            #071126 0%,
            #091833 100%
        );

    color: white;
}

.mig-brand {
    display: flex;

    min-height: 82px;

    align-items: center;

    gap: 12px;

    padding: 17px 17px;

    border-bottom:
        1px solid rgba(255,255,255,.08);
}

.mig-brand-icon {
    display: grid;

    width: 46px;
    height: 46px;

    place-items: center;

    border-radius: 10px;

    color: white;

    background:
        linear-gradient(
            135deg,
            #03b789,
            #1180e8
        );

    font-size: 23px;
}

.mig-brand-name {
    font-size: 19px;
    font-weight: 900;
    white-space: nowrap;
}

.mig-brand-name b {
    color: #3482ff;
}

.mig-brand-sub {
    margin-top: 3px;

    color: #a6b8d2;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 2px;
}

.mig-nav {
    flex: 1;

    overflow-y: auto;

    padding: 12px 11px 20px;
}

.mig-nav-label {
    margin:
        13px
        8px
        6px;

    color: #8297b8;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.2px;

    text-transform: uppercase;
}

.mig-nav-item {
    display: flex;

    min-height: 40px;

    align-items: center;

    gap: 10px;

    margin-bottom: 3px;

    padding:
        0
        12px;

    border:
        1px solid transparent;

    border-radius: 8px;

    color: #c2d0e4;

    text-decoration: none;

    font-size: 13px;
    font-weight: 500;
}

.mig-nav-item:hover {
    color: white;
    background: rgba(255,255,255,.06);
}

.mig-nav-item.active {
    color: white;

    border-color:
        rgba(54,130,255,.22);

    background:
        linear-gradient(
            90deg,
            #15345f,
            #174482
        );

    box-shadow:
        inset 3px 0 0 #2d82ff;
}

.mig-nav-icon {
    width: 18px;

    color: #dbe8fb;

    text-align: center;

    font-size: 17px;
}

.mig-sidebar-user {
    display: flex;

    align-items: center;

    gap: 9px;

    padding: 13px 16px;

    border-top:
        1px solid rgba(255,255,255,.08);
}

.mig-user-round {
    display: grid;

    width: 35px;
    height: 35px;

    place-items: center;

    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            #4338ca,
            #7c3aed
        );

    font-size: 12px;
    font-weight: 800;
}

.mig-sidebar-user-name {
    font-size: 12px;
    font-weight: 800;
}

.mig-sidebar-user-role {
    margin-top: 2px;

    color: #8ea2bf;

    font-size: 10px;
}


/* =====================================================
   TOP BAR
===================================================== */

.mig-topbar {
    position: sticky;
    top: 0;
    z-index: 20;

    display: flex;

    min-height: 76px;

    align-items: center;

    gap: 13px;

    padding:
        0
        20px;

    border-bottom:
        1px solid #dce5f0;

    background: white;
}

.mig-global-search {
    display: flex;

    width: min(48%, 575px);
    height: 45px;

    align-items: center;

    gap: 9px;

    padding:
        0
        13px;

    border:
        1px solid #d9e3ef;

    border-radius: 8px;

    background: white;
}

.mig-global-search span {
    color: #7190b7;
    font-size: 22px;
}

.mig-global-search input {
    width: 100%;

    border: 0;
    outline: 0;

    color: #324663;
    background: transparent;

    font-family: inherit;
    font-size: 13px;
}

.mig-top-sales {
    display: flex;

    min-width: 150px;

    align-items: center;

    gap: 8px;

    margin-left: auto;

    padding:
        7px
        10px;

    border-radius: 9px;

    background: #edf9f5;
}

.mig-top-sales-icon {
    display: grid;

    width: 31px;
    height: 31px;

    place-items: center;

    border-radius: 7px;

    color: white;

    background: #05a873;

    font-weight: 900;
}

.mig-top-sales small {
    display: block;

    color: #087b55;

    font-size: 9px;
    font-weight: 900;
}

.mig-top-sales strong {
    display: block;

    margin-top: 1px;

    color: #13233a;

    font-size: 12px;
}

.mig-top-date,
.mig-top-time {
    display: flex;

    align-items: center;

    gap: 6px;

    color: #3b4e69;

    font-size: 12px;

    white-space: nowrap;
}

.mig-calendar-icon,
.mig-clock-icon {
    color: #1269e7;
}

.mig-top-user {
    display: flex;

    align-items: center;

    gap: 8px;

    padding-left: 11px;

    border-left:
        1px solid #e5ebf2;
}

.mig-top-avatar {
    display: grid;

    width: 37px;
    height: 37px;

    place-items: center;

    border-radius: 50%;

    color: white;

    background:
        linear-gradient(
            135deg,
            #4138d8,
            #6840e4
        );

    font-size: 11px;
    font-weight: 800;
}

.mig-top-user strong {
    display: block;

    max-width: 135px;

    overflow: hidden;

    color: #142038;

    font-size: 12px;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.mig-top-user small {
    display: block;

    margin-top: 2px;

    color: #8794a8;

    font-size: 10px;
}

.mig-logout {
    border: 0;

    color: #6c7c93;

    background: transparent;

    cursor: pointer;

    font-size: 20px;
}

.mig-mobile-button {
    display: none;
}


/* =====================================================
   DASHBOARD CARDS
===================================================== */

.mig-dashboard-cards {
    display: grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap: 14px;

    margin-bottom: 18px;
}

.mig-stat-card {
    display: flex;

    min-height: 128px;

    align-items: center;

    gap: 16px;

    padding:
        18px
        20px;

    border-radius: 12px;

    color: white;

    box-shadow:
        0 8px 22px
        rgba(15,23,42,.09);
}

.mig-green {
    background:
        linear-gradient(
            135deg,
            #0bb983,
            #069a69
        );
}

.mig-blue {
    background:
        linear-gradient(
            135deg,
            #2c7cf6,
            #1262e8
        );
}

.mig-orange {
    background:
        linear-gradient(
            135deg,
            #ff9a1b,
            #ff6916
        );
}

.mig-purple {
    background:
        linear-gradient(
            135deg,
            #8a4bec,
            #722ee9
        );
}

.mig-stat-symbol {
    display: grid;

    width: 52px;
    height: 52px;

    flex-shrink: 0;

    place-items: center;

    border-radius: 11px;

    background:
        rgba(255,255,255,.16);

    color: white;

    font-size: 31px;
    font-weight: 900;
}

.mig-stat-label {
    color:
        rgba(255,255,255,.95);

    font-size: 12px;
    font-weight: 800;
}

.mig-stat-number {
    margin-top: 4px;

    color: white;

    font-size: 24px;
    font-weight: 900;

    letter-spacing: -.5px;
}

.mig-stat-note {
    margin-top: 6px;

    color:
        rgba(255,255,255,.82);

    font-size: 10px;
}


/* =====================================================
   PANELS
===================================================== */

.mig-dashboard-panels {
    display: grid;

    grid-template-columns:
        minmax(0,2fr)
        minmax(300px,.95fr);

    gap: 15px;

    margin-bottom: 15px;
}

.mig-small-panels {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap: 15px;
}

.mig-panel {
    overflow: hidden;

    border:
        1px solid #dce5ef;

    border-radius: 11px;

    background: white;

    box-shadow:
        0 4px 16px
        rgba(15,23,42,.04);
}

.mig-panel-head {
    display: flex;

    min-height: 72px;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    padding:
        14px
        17px;

    border-bottom:
        1px solid #e7edf4;
}

.mig-panel-head h2 {
    margin: 0;

    color: #15243b;

    font-size: 15px;
    font-weight: 850;
}

.mig-panel-head p {
    margin:
        4px
        0
        0;

    color: #7b8ba3;

    font-size: 11px;
}

.mig-panel-action {
    padding:
        7px
        10px;

    border:
        1px solid #bfd6fb;

    border-radius: 7px;

    color: #1264db;

    text-decoration: none;

    font-size: 10px;
    font-weight: 800;
}


/* =====================================================
   TABLE
===================================================== */

.mig-table-wrap {
    overflow-x: auto;
}

.mig-table {
    width: 100%;

    border-collapse: collapse;
}

.mig-table th {
    padding:
        11px
        16px;

    border-bottom:
        1px solid #dce5ee;

    background: #f5f8fc;

    color: #60718c;

    font-size: 10px;
    font-weight: 800;

    text-align: left;

    text-transform: uppercase;

    letter-spacing: .4px;
}

.mig-table td {
    padding:
        13px
        16px;

    border-bottom:
        1px solid #edf1f6;

    color: #384b66;

    font-size: 12px;
}

.mig-table tbody tr:last-child td {
    border-bottom: 0;
}

.mig-cashier {
    display: flex;

    align-items: center;

    gap: 9px;
}

.mig-cashier-letter {
    display: grid;

    width: 34px;
    height: 34px;

    place-items: center;

    border-radius: 8px;

    background: #eef2f7;

    color: #37506e;

    font-size: 12px;
    font-weight: 900;
}

.mig-cashier strong {
    display: block;

    color: #132138;

    font-size: 12px;
}

.mig-cashier small {
    display: block;

    margin-top: 2px;

    color: #09a16e;

    font-size: 10px;
}

.mig-sale-pill {
    display: inline-block;

    padding:
        5px
        8px;

    border-radius: 999px;

    color: #1662d5;

    background: #e7f1ff;

    font-size: 10px;
    font-weight: 800;
}


/* =====================================================
   PAYMENT PANEL
===================================================== */

.mig-payment-list {
    display: grid;

    gap: 9px;

    padding: 14px;
}

.mig-payment-row {
    display: flex;

    min-height: 49px;

    align-items: center;

    justify-content: space-between;

    padding:
        0
        14px;

    border:
        1px solid #e6ebf2;

    border-radius: 8px;

    background: #fafbfd;
}

.mig-payment-row span {
    color: #485c78;

    font-size: 11px;
    font-weight: 800;
}

.mig-payment-row strong {
    color: #17233a;

    font-size: 12px;
}


/* =====================================================
   BOTTOM LISTS
===================================================== */

.mig-alert-list {
    padding:
        5px
        15px
        12px;
}

.mig-alert-item {
    display: flex;

    min-height: 55px;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

    border-bottom:
        1px solid #edf1f5;
}

.mig-alert-item:last-child {
    border-bottom: 0;
}

.mig-alert-item strong {
    display: block;

    color: #233550;

    font-size: 11px;
}

.mig-alert-item small {
    display: block;

    margin-top: 3px;

    color: #8996a8;

    font-size: 9px;
}

.mig-red-text {
    color: #dc354e !important;
}

.mig-restock {
    padding:
        6px
        8px;

    border-radius: 6px;

    color: white;

    background: #ff7415;

    text-decoration: none;

    font-size: 9px;
    font-weight: 800;
}

.mig-purple-pill,
.mig-risk-pill {
    display: inline-block;

    padding:
        5px
        7px;

    border-radius: 999px;

    font-size: 9px;
    font-weight: 800;
}

.mig-purple-pill {
    color: #7431df;
    background: #f1eaff;
}

.mig-risk-pill {
    color: #be263d;
    background: #fff0f2;
}

.mig-empty-good {
    display: grid;

    min-height: 110px;

    place-items: center;

    color: #079968;

    font-size: 11px;
    font-weight: 700;
}


/* =====================================================
   GLOBAL TABLES FOR OTHER PAGES
===================================================== */

.table-responsive {
    width: 100%;
    overflow-x: auto;

    border:
        1px solid #dce5ef;

    border-radius: 9px;
}

.table {
    width: 100%;

    border-collapse: collapse;
}

.table th {
    padding:
        11px
        13px;

    border-right:
        1px solid #dce5ef;

    border-bottom:
        1px solid #cfd9e6;

    background: #f4f7fb;

    color: #526682;

    font-size: 10px;
    font-weight: 800;

    text-align: left;

    text-transform: uppercase;
}

.table td {
    padding:
        12px
        13px;

    border-right:
        1px solid #e0e7ef;

    border-bottom:
        1px solid #e0e7ef;

    background: white;

    color: #2d405c;

    font-size: 12px;
}

.table th:last-child,
.table td:last-child {
    border-right: 0;
}

.table tbody tr:last-child td {
    border-bottom: 0;
}


/* =====================================================
   BASIC BUTTONS / FORMS FOR OTHER MODULES
===================================================== */

.btn,
button.btn {
    display: inline-flex;

    min-height: 38px;

    align-items: center;
    justify-content: center;

    gap: 6px;

    padding:
        0
        12px;

    border:
        1px solid transparent;

    border-radius: 7px;

    text-decoration: none;

    font-family: inherit;
    font-size: 11px;
    font-weight: 800;

    cursor: pointer;
}

.btn-primary,
.btn-main {
    color: white;

    background:
        linear-gradient(
            135deg,
            #2478f4,
            #0f62e7
        );
}

.btn-success {
    color: white;
    background: #08a873;
}

.btn-danger {
    color: white;
    background: #dc3149;
}

.btn-secondary {
    color: #51647e;
    background: #edf2f7;
}

.btn-outline-primary {
    border-color: #bcd5fc;
    color: #1762d6;
    background: white;
}

.btn-outline-danger {
    border-color: #fac6cd;
    color: #cd2f46;
    background: white;
}

.form-control,
.form-select {
    width: 100%;
    min-height: 40px;

    padding:
        0
        11px;

    border:
        1px solid #d4deea;

    border-radius: 7px;

    outline: 0;

    color: #263a55;

    background: white;

    font-family: inherit;
    font-size: 12px;
}


/* =====================================================
   FOOTER
===================================================== */

.mig-footer {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

    padding:
        14px
        22px;

    border-top:
        1px solid #dde6ef;

    background: white;

    color: #76869d;

    font-size: 10px;
}

.mig-footer-right {
    display: flex;
    gap: 8px;
}

.mig-online {
    color: #09a46f;
    font-weight: 700;
}


/* =====================================================
   MOBILE
===================================================== */

.mig-overlay {
    display: none;
}

@media (max-width: 1100px) {

    .mig-dashboard-cards {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .mig-small-panels {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 900px) {

    .mig-sidebar {
        position: fixed;

        left: -265px;
        z-index: 50;

        transition: left .2s ease;
    }

    .mig-sidebar.open {
        left: 0;
    }

    .mig-overlay.show {
        position: fixed;
        inset: 0;
        z-index: 40;

        display: block;

        background:
            rgba(0,0,0,.5);
    }

    .mig-mobile-button {
        display: block;

        border: 0;

        background: transparent;

        font-size: 20px;

        cursor: pointer;
    }

    .mig-global-search {
        width: 100%;
    }

    .mig-top-sales,
    .mig-top-date,
    .mig-top-time {
        display: none;
    }

    .mig-dashboard-panels {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 620px) {

    .mig-content {
        padding: 14px;
    }

    .mig-dashboard-cards {
        grid-template-columns: 1fr;
    }

    .mig-top-user > div:last-child {
        display: none;
    }

}


/* =====================================================
   MIG PRODUCTS PAGE
===================================================== */

.mig-products-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

.mig-page-eyebrow {
    margin-bottom: 5px;
    color: #697d99;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
}

.mig-products-heading h1 {
    margin: 0;
    color: #122139;
    font-size: 24px;
    font-weight: 900;
}

.mig-products-heading p {
    margin: 5px 0 0;
    color: #72839b;
    font-size: 12px;
}

.mig-products-heading-actions {
    display: flex;
    gap: 8px;
}


/* BUTTONS */

.mig-button {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 0;
    border-radius: 7px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.mig-button-blue {
    color: white;
    background: linear-gradient(
        135deg,
        #2678f4,
        #0c61e7
    );
}

.mig-button-green {
    color: white;
    background: linear-gradient(
        135deg,
        #0bb17a,
        #079966
    );
}

.mig-button-light {
    border: 1px solid #d8e1ec;
    color: #5c6f88;
    background: #f7f9fc;
}


/* PRODUCT STATS */

.mig-product-stat-grid {
    display: grid;
    grid-template-columns:
        repeat(4,minmax(0,1fr));
    gap: 13px;
    margin-bottom: 16px;
}

.mig-product-stat {
    display: flex;
    min-height: 112px;
    align-items: center;
    gap: 13px;
    padding: 16px 17px;
    border-radius: 11px;
    color: white;
}

.mig-product-stat-green {
    background:
        linear-gradient(
            135deg,
            #0bb582,
            #079868
        );
}

.mig-product-stat-blue {
    background:
        linear-gradient(
            135deg,
            #2b7cf5,
            #1262e7
        );
}

.mig-product-stat-orange {
    background:
        linear-gradient(
            135deg,
            #ff9819,
            #ff6816
        );
}

.mig-product-stat-purple {
    background:
        linear-gradient(
            135deg,
            #8a49ed,
            #722ce9
        );
}

.mig-product-stat-icon {
    display: grid;
    width: 47px;
    height: 47px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 10px;
    background:
        rgba(255,255,255,.16);
    font-size: 25px;
    font-weight: 900;
}

.mig-product-stat small {
    display: block;
    color:
        rgba(255,255,255,.94);
    font-size: 10px;
    font-weight: 800;
}

.mig-product-stat strong {
    display: block;
    margin-top: 4px;
    color: white;
    font-size: 21px;
    font-weight: 900;
}

.mig-product-stat span {
    display: block;
    margin-top: 5px;
    color:
        rgba(255,255,255,.8);
    font-size: 9px;
}


/* CATALOGUE */

.mig-products-panel {
    overflow: hidden;
    border:
        1px solid #dce5ef;
    border-radius: 11px;
    background: white;
    box-shadow:
        0 5px 17px
        rgba(15,23,42,.04);
}

.mig-products-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding:
        15px
        17px;
    border-bottom:
        1px solid #e5ebf2;
}

.mig-products-panel-head h2 {
    margin: 0;
    color: #15243b;
    font-size: 17px;
    font-weight: 900;
}

.mig-products-panel-head p {
    margin:
        4px
        0
        0;
    color: #7a8aa1;
    font-size: 10px;
}


/* FILTERS */

.mig-product-filters {
    display: grid;
    grid-template-columns:
        minmax(260px,1.5fr)
        minmax(155px,.7fr)
        minmax(155px,.7fr)
        auto;
    gap: 8px;
    padding:
        13px
        17px;
}

.mig-product-search {
    display: flex;
    min-height: 40px;
    align-items: center;
    gap: 8px;
    padding:
        0
        11px;
    border:
        1px solid #d7e1ec;
    border-radius: 7px;
    background: white;
}

.mig-product-search span {
    color: #176bea;
    font-size: 20px;
}

.mig-product-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #30445f;
    font-family: inherit;
    font-size: 11px;
}

.mig-product-filters select {
    min-height: 40px;
    padding:
        0
        10px;
    border:
        1px solid #d7e1ec;
    border-radius: 7px;
    outline: 0;
    background: white;
    color: #30445f;
    font-family: inherit;
    font-size: 11px;
}


/* PRODUCT TABLE */

.mig-products-table-wrap {
    margin:
        0
        17px;
    overflow-x: auto;
    border:
        1px solid #dce5ef;
    border-radius: 8px;
}

.mig-products-table {
    width: 100%;
    min-width: 1050px;
    border-collapse: collapse;
}

.mig-products-table th {
    padding:
        10px
        11px;
    border-right:
        1px solid #dce5ef;
    border-bottom:
        1px solid #ced9e5;
    background: #f4f7fb;
    color: #536985;
    font-size: 9px;
    font-weight: 900;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.mig-products-table td {
    padding:
        11px
        11px;
    border-right:
        1px solid #e1e7ef;
    border-bottom:
        1px solid #e1e7ef;
    background: white;
    color: #30445f;
    font-size: 11px;
    vertical-align: middle;
}

.mig-products-table th:last-child,
.mig-products-table td:last-child {
    border-right: 0;
}

.mig-products-table tbody tr:last-child td {
    border-bottom: 0;
}

.mig-products-table tbody tr:nth-child(even) td {
    background: #fbfcfe;
}

.mig-products-table tbody tr:hover td {
    background: #f4f8ff;
}

.mig-products-empty {
    padding: 45px !important;
    color: #8b9aae !important;
    text-align: center;
}

.mig-center {
    text-align: center;
}


/* CELLS */

.mig-product-name-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mig-product-name-cell strong {
    display: block;
    color: #13233a;
    font-size: 11px;
}

.mig-product-name-cell small {
    display: block;
    margin-top: 2px;
    color: #95a2b4;
    font-size: 8px;
}

.mig-product-box-icon {
    display: grid;
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 7px;
    color: #176bec;
    background: #eaf3ff;
    font-size: 19px;
}

.mig-category-pill,
.mig-variant-pill,
.mig-stock-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
}

.mig-category-pill {
    padding:
        5px
        8px;
    color: #465b76;
    background: #edf2f7;
}

.mig-variant-pill {
    min-width: 28px;
    height: 27px;
    color: #1764d8;
    background: #e9f2ff;
}

.mig-stock-cell {
    display: flex;
    align-items: center;
    gap: 7px;
}

.mig-stock-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.mig-stock-dot.green {
    background: #0bad70;
}

.mig-stock-dot.red {
    background: #e6324d;
}

.mig-stock-status {
    padding:
        5px
        8px;
}

.mig-stock-status.in {
    border:
        1px solid #87ddb0;
    color: #087747;
    background: #e6faef;
}

.mig-stock-status.out {
    border:
        1px solid #fac1c9;
    color: #ba243c;
    background: #fff0f2;
}


/* ACTIONS */

.mig-product-actions {
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.mig-action {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    padding:
        0
        8px;
    border: 0;
    border-radius: 6px;
    color: white;
    font-family: inherit;
    font-size: 9px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.mig-action-blue {
    background: #176bea;
}

.mig-action-orange {
    background: #ff7415;
}

.mig-action-grey {
    color: #3f5674;
    background: #e9eef5;
}


/* TABLE FOOTER */

.mig-products-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding:
        12px
        17px;
    color: #72829a;
    font-size: 10px;
}


/* =====================================================
   PRODUCT MODAL
===================================================== */

.mig-product-modal {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.mig-product-modal.show {
    display: flex;
}

.mig-product-modal-bg {
    position: absolute;
    inset: 0;
    background:
        rgba(4,12,28,.66);
    backdrop-filter:
        blur(4px);
}

.mig-product-modal-card {
    position: relative;
    z-index: 1;
    width: min(920px,100%);
    max-height: 92vh;
    overflow-y: auto;
    border:
        1px solid #dbe4ef;
    border-radius: 13px;
    background: white;
    box-shadow:
        0 28px 75px
        rgba(0,0,0,.26);
}

.mig-variant-modal {
    width: min(760px,100%);
}

.mig-product-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding:
        15px
        18px;
    border-bottom:
        1px solid #e5ebf2;
}

.mig-product-modal-head h2 {
    margin: 0;
    color: #14233a;
    font-size: 17px;
    font-weight: 900;
}

.mig-product-modal-head p {
    margin:
        4px
        0
        0;
    color: #7b8aa0;
    font-size: 10px;
}

.mig-product-modal-close {
    display: grid;
    width: 33px;
    height: 33px;
    place-items: center;
    border: 0;
    border-radius: 7px;
    background: #edf2f7;
    color: #5c6e86;
    font-size: 21px;
    cursor: pointer;
}

.mig-product-modal-body {
    padding: 17px 18px;
}


/* FORM SECTIONS */

.mig-form-section {
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom:
        1px solid #e9eef4;
}

.mig-form-section:last-of-type {
    margin-bottom: 0;
}

.mig-form-section-title {
    margin-bottom: 11px;
    color: #1764db;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.mig-form-grid {
    display: grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap: 12px;
}

.mig-form-grid-4 {
    grid-template-columns:
        repeat(4,minmax(0,1fr));
}

.mig-span-2 {
    grid-column:
        span 2;
}

.mig-field label {
    display: block;
    margin-bottom: 5px;
    color: #43566f;
    font-size: 10px;
    font-weight: 800;
}

.mig-field label span {
    color: #98a5b6;
    font-weight: 500;
}

.mig-field input,
.mig-field select {
    display: block;
    width: 100%;
    min-height: 40px;
    padding:
        0
        10px;
    border:
        1px solid #d5dfeb;
    border-radius: 7px;
    outline: 0;
    background: white;
    color: #263b57;
    font-family: inherit;
    font-size: 11px;
}

.mig-field input:focus,
.mig-field select:focus {
    border-color: #6ca3f8;
    box-shadow:
        0 0 0 3px
        rgba(23,107,234,.08);
}

.mig-checkbox-label {
    display: flex !important;
    min-height: 40px;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    padding:
        0
        11px;
    border:
        1px solid #d5dfeb;
    border-radius: 7px;
    background: #f9fbfd;
}

.mig-checkbox-label input {
    width: auto;
    min-height: auto;
}

.mig-product-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 2px;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

    .mig-product-stat-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 760px) {

    .mig-products-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .mig-product-filters {
        grid-template-columns: 1fr;
    }

    .mig-form-grid,
    .mig-form-grid-4 {
        grid-template-columns: 1fr;
    }

    .mig-span-2 {
        grid-column: auto;
    }

}

@media (max-width: 520px) {

    .mig-product-stat-grid {
        grid-template-columns: 1fr;
    }

}


/* =====================================================
   MIG BARCODE CENTRE
===================================================== */

.mig-barcode-page {
    width: 100%;
}

.mig-barcode-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.mig-barcode-heading h1 {
    margin: 0;
    color: #122139;
    font-size: 24px;
    font-weight: 900;
}

.mig-barcode-heading p {
    margin: 5px 0 0;
    color: #72839a;
    font-size: 12px;
}

.mig-barcode-heading-actions {
    display: flex;
    gap: 8px;
}


/* SUMMARY CARDS */

.mig-barcode-stat-grid {
    display: grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap: 13px;
    margin-bottom: 16px;
}

.mig-barcode-stat {
    display: flex;
    min-height: 105px;
    align-items: center;
    gap: 13px;
    padding: 15px 17px;
    border-radius: 11px;
    color: white;
}

.mig-barcode-stat-blue {
    background:
        linear-gradient(
            135deg,
            #347ff5,
            #1764e8
        );
}

.mig-barcode-stat-green {
    background:
        linear-gradient(
            135deg,
            #10b887,
            #079b6d
        );
}

.mig-barcode-stat-orange {
    background:
        linear-gradient(
            135deg,
            #ff991b,
            #ff6a16
        );
}

.mig-barcode-stat-icon {
    display: grid;
    width: 46px;
    height: 46px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 10px;
    background:
        rgba(255,255,255,.16);
    font-size: 22px;
    font-weight: 900;
}

.mig-barcode-stat small {
    display: block;
    color:
        rgba(255,255,255,.94);
    font-size: 10px;
    font-weight: 800;
}

.mig-barcode-stat strong {
    display: block;
    margin-top: 3px;
    color: white;
    font-size: 20px;
    font-weight: 900;
}

.mig-barcode-stat span {
    display: block;
    margin-top: 4px;
    color:
        rgba(255,255,255,.82);
    font-size: 9px;
}


/* MAIN PANEL */

.mig-barcode-panel {
    overflow: hidden;
    border:
        1px solid #dce5ef;
    border-radius: 11px;
    background: white;
    box-shadow:
        0 5px 17px
        rgba(15,23,42,.04);
}

.mig-barcode-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding:
        15px
        17px;
    border-bottom:
        1px solid #e5ebf2;
}

.mig-barcode-panel-head h2 {
    margin: 0;
    color: #15243b;
    font-size: 17px;
    font-weight: 900;
}

.mig-barcode-panel-head p {
    margin: 4px 0 0;
    color: #7a8aa1;
    font-size: 10px;
}

.mig-barcode-tools {
    min-width: 300px;
}

.mig-barcode-search {
    display: flex;
    min-height: 40px;
    align-items: center;
    gap: 8px;
    padding:
        0
        11px;
    border:
        1px solid #d7e1ec;
    border-radius: 7px;
    background: white;
}

.mig-barcode-search span {
    color: #176bea;
    font-size: 20px;
}

.mig-barcode-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #30445f;
    font-family: inherit;
    font-size: 11px;
}


/* BARCODE GRID */

.mig-barcode-grid {
    display: grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap: 13px;
    padding:
        15px
        17px;
}

.mig-barcode-card {
    display: flex;
    min-height: 255px;
    flex-direction: column;
    overflow: hidden;
    border:
        1px solid #dce5ef;
    border-radius: 10px;
    background: white;
    box-shadow:
        0 3px 11px
        rgba(15,23,42,.035);
}

.mig-barcode-card-head {
    display: flex;
    align-items: center;
    gap: 9px;
    padding:
        12px
        13px;
    border-bottom:
        1px solid #edf1f5;
}

.mig-barcode-product-icon {
    display: grid;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 8px;
    color: #176bea;
    background: #eaf3ff;
    font-size: 17px;
}

.mig-barcode-product-info {
    min-width: 0;
    flex: 1;
}

.mig-barcode-product-info strong {
    display: block;
    overflow: hidden;
    color: #14233a;
    font-size: 11px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mig-barcode-product-info span {
    display: block;
    margin-top: 2px;
    color: #8795a9;
    font-size: 9px;
}

.mig-barcode-price {
    color: #14233a;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}


/* STATUS */

.mig-barcode-status-row {
    padding:
        10px
        13px
        0;
}

.mig-barcode-status {
    display: inline-flex;
    align-items: center;
    padding:
        4px
        7px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 900;
}

.mig-barcode-status.assigned {
    color: #087848;
    background: #e7faef;
    border:
        1px solid #8bdfb2;
}

.mig-barcode-status.missing {
    color: #be5a0e;
    background: #fff1e5;
    border:
        1px solid #f6c491;
}


/* LABEL */

.mig-barcode-label {
    display: flex;
    min-height: 125px;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin:
        9px
        13px;
    padding:
        12px;
    border:
        1px dashed #cdd8e6;
    border-radius: 8px;
    background: #fff;
}

.mig-barcode-label svg {
    max-width: 100%;
}

.mig-barcode-number {
    margin-top: 7px;
    color: #273b56;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .7px;
}

.mig-barcode-card-foot {
    display: flex;
    justify-content: flex-end;
    padding:
        0
        13px
        12px;
}

.mig-barcode-print-one {
    min-height: 30px;
    padding:
        0
        9px;
    border:
        1px solid #bcd5fb;
    border-radius: 6px;
    color: #1763d7;
    background: #f7faff;
    font-family: inherit;
    font-size: 9px;
    font-weight: 800;
    cursor: pointer;
}


/* NO BARCODE */

.mig-no-barcode {
    display: flex;
    min-height: 155px;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding:
        15px;
    text-align: center;
}

.mig-no-barcode-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 9px;
    color: #d8650c;
    background: #fff1e5;
    font-size: 21px;
    font-weight: 900;
}

.mig-no-barcode strong {
    margin-top: 8px;
    color: #253750;
    font-size: 11px;
}

.mig-no-barcode span {
    max-width: 250px;
    margin:
        4px
        0
        10px;
    color: #8190a4;
    font-size: 9px;
}


/* EMPTY */

.mig-barcode-empty {
    grid-column: 1 / -1;
    display: flex;
    min-height: 250px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #8190a4;
    text-align: center;
}

.mig-barcode-empty-icon {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 11px;
    color: #176bea;
    background: #eaf3ff;
    font-size: 23px;
}

.mig-barcode-empty strong {
    margin-top: 9px;
    color: #263850;
    font-size: 12px;
}

.mig-barcode-empty span {
    margin-top: 4px;
    font-size: 10px;
}


/* FOOTER */

.mig-barcode-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding:
        11px
        17px;
    border-top:
        1px solid #edf1f5;
    color: #75859c;
    font-size: 9px;
}


/* RESPONSIVE */

@media (max-width: 1150px) {

    .mig-barcode-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 760px) {

    .mig-barcode-heading,
    .mig-barcode-panel-head {
        align-items: stretch;
        flex-direction: column;
    }

    .mig-barcode-stat-grid,
    .mig-barcode-grid {
        grid-template-columns: 1fr;
    }

    .mig-barcode-tools {
        min-width: 0;
    }

}


/* PRINT */

@media print {

    body {
        background: white !important;
    }

    .mig-sidebar,
    .mig-topbar,
    .mig-footer,
    .mig-barcode-heading,
    .mig-barcode-stat-grid,
    .mig-barcode-panel-head,
    .mig-barcode-footer,
    .mig-barcode-card-foot,
    .mig-barcode-status-row {
        display: none !important;
    }

    .mig-content {
        padding: 0 !important;
    }

    .mig-barcode-panel {
        border: 0 !important;
        box-shadow: none !important;
    }

    .mig-barcode-grid {
        grid-template-columns:
            repeat(3,1fr) !important;
        gap: 8mm !important;
        padding: 0 !important;
    }

    .mig-barcode-card {
        min-height: auto !important;
        border:
            1px solid #777 !important;
        break-inside: avoid;
        page-break-inside: avoid;
        box-shadow: none !important;
    }

    .mig-barcode-card-head {
        padding: 7px !important;
    }

    .mig-barcode-label {
        min-height: auto !important;
        margin: 5px !important;
        border: 0 !important;
    }


    body.mig-print-single-barcode
    .mig-barcode-card {
        display: none !important;
    }

    body.mig-print-single-barcode
    .mig-barcode-card.mig-barcode-print-target {
        display: flex !important;
        width: 70mm !important;
        margin: 0 auto !important;
    }

}


/* =====================================================
   MIG BUSINESS REPORTS
===================================================== */

.mig-reports-page {
    width: 100%;
}

.mig-reports-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.mig-reports-heading h1 {
    margin: 0;
    color: #122139;
    font-size: 24px;
    font-weight: 900;
}

.mig-reports-heading p {
    margin: 5px 0 0;
    color: #72839a;
    font-size: 12px;
}

.mig-reports-heading-actions {
    display: flex;
    gap: 8px;
}


/* MAIN KPI CARDS */

.mig-reports-stat-grid {
    display: grid;
    grid-template-columns:
        repeat(4,minmax(0,1fr));
    gap: 13px;
    margin-bottom: 13px;
}

.mig-report-stat {
    display: flex;
    min-height: 112px;
    align-items: center;
    gap: 13px;
    padding: 16px 17px;
    border-radius: 11px;
    color: white;
    box-shadow:
        0 7px 18px
        rgba(15,23,42,.07);
}

.mig-report-blue {
    background:
        linear-gradient(
            135deg,
            #347ff5,
            #1764e8
        );
}

.mig-report-green {
    background:
        linear-gradient(
            135deg,
            #10b887,
            #079b6d
        );
}

.mig-report-orange {
    background:
        linear-gradient(
            135deg,
            #ff991b,
            #ff6916
        );
}

.mig-report-purple {
    background:
        linear-gradient(
            135deg,
            #8a49ed,
            #722ce9
        );
}

.mig-report-stat-icon {
    display: grid;
    width: 47px;
    height: 47px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 10px;
    background:
        rgba(255,255,255,.16);
    color: white;
    font-size: 23px;
    font-weight: 900;
}

.mig-report-stat small {
    display: block;
    color:
        rgba(255,255,255,.94);
    font-size: 10px;
    font-weight: 800;
}

.mig-report-stat strong {
    display: block;
    margin-top: 4px;
    color: white;
    font-size: 20px;
    font-weight: 900;
}

.mig-report-stat span {
    display: block;
    margin-top: 5px;
    color:
        rgba(255,255,255,.82);
    font-size: 9px;
}


/* SMALL SNAPSHOT */

.mig-report-mini-grid {
    display: grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap: 10px;
    margin-bottom: 15px;
}

.mig-report-mini-card {
    display: flex;
    min-height: 64px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding:
        0
        14px;
    border:
        1px solid #dce5ef;
    border-radius: 9px;
    background: white;
}

.mig-report-mini-card span {
    color: #75859c;
    font-size: 10px;
    font-weight: 700;
}

.mig-report-mini-card strong {
    color: #14233a;
    font-size: 13px;
    font-weight: 900;
}


/* GRID */

.mig-report-grid-two {
    display: grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap: 15px;
}

.mig-report-margin-top {
    margin-top: 15px;
}


/* PANELS */

.mig-report-panel {
    overflow: hidden;
    border:
        1px solid #dce5ef;
    border-radius: 11px;
    background: white;
    box-shadow:
        0 4px 15px
        rgba(15,23,42,.035);
}

.mig-report-panel-head {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding:
        13px
        15px;
    border-bottom:
        1px solid #e7edf4;
}

.mig-report-panel-head h2 {
    margin: 0;
    color: #15243b;
    font-size: 14px;
    font-weight: 900;
}

.mig-report-panel-head p {
    margin:
        4px
        0
        0;
    color: #7a8aa1;
    font-size: 10px;
}


/* TABLES */

.mig-report-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.mig-report-table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
}

.mig-report-table th {
    padding:
        10px
        12px;
    border-right:
        1px solid #dce5ef;
    border-bottom:
        1px solid #ced9e5;
    background: #f4f7fb;
    color: #536985;
    font-size: 9px;
    font-weight: 900;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .35px;
}

.mig-report-table td {
    padding:
        11px
        12px;
    border-right:
        1px solid #e1e7ef;
    border-bottom:
        1px solid #e1e7ef;
    background: white;
    color: #30445f;
    font-size: 10px;
    vertical-align: middle;
}

.mig-report-table th:last-child,
.mig-report-table td:last-child {
    border-right: 0;
}

.mig-report-table tbody tr:last-child td {
    border-bottom: 0;
}

.mig-report-table tbody tr:nth-child(even) td {
    background: #fbfcfe;
}

.mig-report-table tbody tr:hover td {
    background: #f5f9ff;
}

.mig-report-empty {
    padding: 35px !important;
    color: #8a98aa !important;
    text-align: center;
}


/* PRODUCT */

.mig-report-product {
    display: flex;
    align-items: center;
    gap: 7px;
}

.mig-report-product-icon {
    display: grid;
    width: 29px;
    height: 29px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 6px;
    color: #176bea;
    background: #eaf3ff;
    font-size: 14px;
}


/* CASHIER */

.mig-report-cashier {
    display: flex;
    align-items: center;
    gap: 7px;
}

.mig-report-cashier-avatar {
    display: grid;
    width: 29px;
    height: 29px;
    flex-shrink: 0;
    place-items: center;
    border-radius: 6px;
    color: #435a76;
    background: #eef2f7;
    font-size: 10px;
    font-weight: 900;
}


/* VARIANCE */

.mig-variance {
    display: inline-flex;
    padding:
        4px
        7px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
}

.mig-variance.normal {
    color: #087848;
    background: #e8faef;
}

.mig-variance.danger {
    color: #bd263d;
    background: #fff0f2;
}


/* STOCK MOVEMENTS */

.mig-movement-type {
    display: inline-flex;
    padding:
        4px
        7px;
    border-radius: 999px;
    color: #1764d8;
    background: #e9f2ff;
    font-size: 8px;
    font-weight: 900;
}

.mig-stock-change {
    display: inline-flex;
    padding:
        4px
        7px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
}

.mig-stock-change.positive {
    color: #087848;
    background: #e8faef;
}

.mig-stock-change.negative {
    color: #bd263d;
    background: #fff0f2;
}


/* RESPONSIVE */

@media (max-width: 1150px) {

    .mig-reports-stat-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .mig-report-grid-two {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 700px) {

    .mig-reports-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .mig-reports-stat-grid,
    .mig-report-mini-grid {
        grid-template-columns: 1fr;
    }

}


/* PRINT */

@media print {

    .mig-sidebar,
    .mig-topbar,
    .mig-footer,
    .mig-reports-heading-actions {
        display: none !important;
    }

    .mig-content {
        padding: 0 !important;
    }

    .mig-reports-stat-grid {
        grid-template-columns:
            repeat(4,1fr) !important;
    }

    .mig-report-grid-two {
        grid-template-columns: 1fr !important;
    }

    .mig-report-panel {
        margin-bottom: 10px;
        box-shadow: none !important;
    }

}


/* =========================================================
   MIG SUPERMARKET - RECEIVE STOCK
   ========================================================= */

.mig-receive-page {
    width: 100%;
}


/* PAGE HEADING */

.mig-receive-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;

    margin-bottom: 16px;
}

.mig-receive-heading h1 {
    margin: 0;

    color: #122139;

    font-size: 24px;
    line-height: 1.2;

    font-weight: 900;
}

.mig-receive-heading p {
    max-width: 760px;

    margin:
        5px
        0
        0;

    color: #72839a;

    font-size: 12px;
    line-height: 1.5;
}

.mig-receive-heading-actions {
    display: flex;

    gap: 8px;

    flex-shrink: 0;
}


/* MAIN CARD */

.mig-receive-workspace {
    overflow: hidden;

    padding: 18px;

    border:
        1px solid #dce5ef;

    border-radius: 11px;

    background: #fff;

    box-shadow:
        0 5px 18px
        rgba(15,23,42,.04);
}


/* FORM */

.mig-receive-workspace form {
    width: 100%;
}


/*
|--------------------------------------------------------------------------
| Labels
|--------------------------------------------------------------------------
*/

.mig-receive-workspace label {
    display: block;

    margin:
        0
        0
        5px;

    color: #43566f;

    font-size: 10px;
    font-weight: 800;
}


/*
|--------------------------------------------------------------------------
| Inputs / Selects
|--------------------------------------------------------------------------
*/

.mig-receive-workspace input:not([type="hidden"]):not([type="checkbox"]),
.mig-receive-workspace select,
.mig-receive-workspace textarea {
    display: block;

    width: 100%;
    min-height: 42px;

    margin-bottom: 13px;

    padding:
        0
        11px;

    border:
        1px solid #d5dfeb;

    border-radius: 7px;

    outline: none;

    background: #fff;

    color: #273b56;

    font-family: inherit;
    font-size: 11px;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.mig-receive-workspace textarea {
    min-height: 90px;

    padding:
        10px
        11px;

    resize: vertical;
}

.mig-receive-workspace input:focus,
.mig-receive-workspace select:focus,
.mig-receive-workspace textarea:focus {
    border-color: #69a2f9;

    box-shadow:
        0 0 0 3px
        rgba(23,107,234,.08);
}

.mig-receive-workspace input::placeholder {
    color: #98a5b5;
}


/*
|--------------------------------------------------------------------------
| Give supplier/invoice/search area a professional panel
|--------------------------------------------------------------------------
*/

.mig-receive-workspace > form > div:first-child,
.mig-receive-workspace form > .cardx:first-child {
    border-radius: 9px;
}


/* SEARCH FIELD */

.mig-receive-workspace input[
    placeholder*="Barcode"
],
.mig-receive-workspace input[
    placeholder*="barcode"
] {
    min-height: 48px;

    border:
        1px solid #bcd4f5;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #fbfdff
        );

    font-size: 12px;
}


/* RECEIVING LIST TITLE */

.mig-receive-workspace h1,
.mig-receive-workspace h2,
.mig-receive-workspace h3 {
    color: #14233a;

    font-family:
        Inter,
        Arial,
        sans-serif;

    font-weight: 900;
}

.mig-receive-workspace h2 {
    margin:
        10px
        0
        10px;

    font-size: 17px;
}

.mig-receive-workspace h3 {
    font-size: 14px;
}


/* =========================================================
   RECEIVE STOCK TABLE
   ========================================================= */

.mig-receive-workspace .table-responsive {
    width: 100%;

    overflow-x: auto;

    margin-top: 8px;

    border:
        1px solid #dce5ef;

    border-radius: 8px;

    background: #fff;
}

.mig-receive-workspace table,
.mig-receive-workspace .table {
    width: 100%;
    min-width: 950px;

    border-collapse: collapse !important;

    border-spacing: 0 !important;

    background: white;
}

.mig-receive-workspace th {
    padding:
        11px
        12px !important;

    border-right:
        1px solid #dce5ef !important;

    border-bottom:
        1px solid #cad6e4 !important;

    background:
        linear-gradient(
            180deg,
            #f8fafc,
            #f3f6fa
        ) !important;

    color: #536985 !important;

    font-size: 9px !important;
    font-weight: 900 !important;

    text-align: left;

    text-transform: uppercase;

    letter-spacing: .45px;

    white-space: nowrap;
}

.mig-receive-workspace td {
    padding:
        10px
        12px !important;

    border-right:
        1px solid #e1e7ef !important;

    border-bottom:
        1px solid #e1e7ef !important;

    background: white;

    color: #30445f;

    font-size: 11px;

    vertical-align: middle;
}

.mig-receive-workspace th:last-child,
.mig-receive-workspace td:last-child {
    border-right: 0 !important;
}

.mig-receive-workspace tbody tr:last-child td {
    border-bottom: 0 !important;
}

.mig-receive-workspace tbody tr:nth-child(even) td {
    background: #fbfcfe;
}

.mig-receive-workspace tbody tr:hover td {
    background: #f5f9ff;
}


/*
|--------------------------------------------------------------------------
| Inputs inside receiving rows
|--------------------------------------------------------------------------
*/

.mig-receive-workspace td input:not([type="hidden"]),
.mig-receive-workspace td select {
    min-width: 90px;
    min-height: 34px;

    margin: 0 !important;

    padding:
        0
        8px;

    font-size: 10px;
}


/* =========================================================
   TOTAL BAR
   ========================================================= */

.mig-receive-workspace .purchase-total,
.mig-receive-workspace [id*="total"],
.mig-receive-workspace [class*="total"] {
    font-weight: 800;
}


/*
|--------------------------------------------------------------------------
| Give text immediately below receiving table a total-summary feel
|--------------------------------------------------------------------------
*/

.mig-receive-workspace table + div,
.mig-receive-workspace .table-responsive + div {
    margin-top: 12px;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.mig-receive-workspace button,
.mig-receive-workspace .btn {
    display: inline-flex;

    min-height: 40px;

    align-items: center;
    justify-content: center;

    gap: 6px;

    padding:
        0
        14px;

    border:
        0;

    border-radius: 7px;

    color: white;

    background:
        linear-gradient(
            135deg,
            #287af5,
            #1262e8
        );

    box-shadow:
        0 5px 13px
        rgba(18,98,232,.16);

    font-family: inherit;
    font-size: 11px;
    font-weight: 800;

    text-decoration: none;

    cursor: pointer;
}

.mig-receive-workspace button:hover,
.mig-receive-workspace .btn:hover {
    filter: brightness(.97);
}


/* REMOVE-ITEM BUTTON IF PRESENT */

.mig-receive-workspace button[
    class*="danger"
],
.mig-receive-workspace .btn-danger {
    background: #dc3149;
}


/* =========================================================
   SUPPLIER SECTION VISUAL GROUPING
   ========================================================= */

.mig-receive-workspace form {
    position: relative;
}

.mig-receive-workspace form::before {
    content: "DELIVERY DETAILS";

    display: block;

    margin-bottom: 11px;

    color: #1764db;

    font-size: 10px;
    font-weight: 900;

    letter-spacing: .6px;
}


/* =========================================================
   SEARCH / ADD PRODUCTS DIVIDER
   ========================================================= */

.mig-receive-workspace h2 {
    position: relative;

    padding-top: 4px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {

    .mig-receive-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .mig-receive-heading-actions {
        width: 100%;
    }

    .mig-receive-heading-actions .mig-button {
        flex: 1;
    }

    .mig-receive-workspace {
        padding: 13px;
    }

}


/* =========================================================
   PRINT
   ========================================================= */

@media print {

    .mig-sidebar,
    .mig-topbar,
    .mig-footer,
    .mig-receive-heading-actions {
        display: none !important;
    }

    .mig-content {
        padding: 0 !important;
    }

}


/* =========================================================
   MIG SUPERMARKET
   SHARED PROFESSIONAL MODULE DESIGN
   ========================================================= */

.mig-module-page {
    width:100%;
}

.mig-module-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:15px;
}

.mig-module-eyebrow {
    margin-bottom:5px;
    color:#667d9b;
    font-size:10px;
    font-weight:900;
    letter-spacing:1px;
}

.mig-module-heading h1 {
    margin:0;
    color:#122139;
    font-size:24px;
    line-height:1.15;
    font-weight:900;
}

.mig-module-heading p {
    max-width:780px;
    margin:5px 0 0;
    color:#72839a;
    font-size:11px;
    line-height:1.5;
}

.mig-module-card {
    overflow:hidden;
    padding:17px;
    border:1px solid #dce5ef;
    border-radius:11px;
    background:#fff;
    box-shadow:
        0 5px 18px
        rgba(15,23,42,.04);
}


/* =========================================================
   HEADINGS INSIDE MODULES
   ========================================================= */

.mig-module-card h1,
.mig-module-card h2,
.mig-module-card h3,
.mig-module-card h4 {
    font-family:Inter,Arial,sans-serif;
    color:#14233a;
    font-weight:900;
}

.mig-module-card h1 {
    margin:0 0 13px;
    font-size:19px;
}

.mig-module-card h2 {
    margin:18px 0 10px;
    font-size:16px;
}

.mig-module-card h3 {
    margin:15px 0 9px;
    font-size:14px;
}


/* =========================================================
   FORMS
   ========================================================= */

.mig-module-card label {
    display:block;
    margin:0 0 5px;
    color:#425771;
    font-size:10px;
    font-weight:800;
}

.mig-module-card input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.mig-module-card select,
.mig-module-card textarea {
    width:100%;
    min-height:40px;
    margin-bottom:10px;
    padding:0 10px;
    border:1px solid #d4dfeb;
    border-radius:7px;
    outline:0;
    background:#fff;
    color:#293e5b;
    font-family:Inter,Arial,sans-serif;
    font-size:11px;
}

.mig-module-card textarea {
    min-height:80px;
    padding:9px 10px;
    resize:vertical;
}

.mig-module-card input:focus,
.mig-module-card select:focus,
.mig-module-card textarea:focus {
    border-color:#6aa2fa;
    box-shadow:
        0 0 0 3px
        rgba(23,107,234,.08);
}

.mig-module-card input::placeholder,
.mig-module-card textarea::placeholder {
    color:#98a5b5;
}


/* =========================================================
   TABLES
   ========================================================= */

.mig-module-card .table-responsive {
    width:100%;
    overflow-x:auto;
    margin-top:8px;
    border:1px solid #dce5ef;
    border-radius:8px;
    background:#fff;
}

.mig-module-card table,
.mig-module-card .table {
    width:100%;
    border-collapse:collapse !important;
    border-spacing:0 !important;
    background:#fff;
}

.mig-module-card th {
    padding:10px 11px !important;
    border-right:1px solid #dce5ef !important;
    border-bottom:1px solid #ccd8e5 !important;
    background:
        linear-gradient(
            180deg,
            #f8fafc,
            #f3f6fa
        ) !important;
    color:#536984 !important;
    font-size:9px !important;
    font-weight:900 !important;
    text-align:left;
    text-transform:uppercase;
    letter-spacing:.4px;
    white-space:nowrap;
}

.mig-module-card td {
    padding:11px !important;
    border-right:1px solid #e1e7ef !important;
    border-bottom:1px solid #e1e7ef !important;
    background:#fff;
    color:#30445f;
    font-size:10px;
    vertical-align:middle;
}

.mig-module-card th:last-child,
.mig-module-card td:last-child {
    border-right:0 !important;
}

.mig-module-card tbody tr:last-child td {
    border-bottom:0 !important;
}

.mig-module-card tbody tr:nth-child(even) td {
    background:#fbfcfe;
}

.mig-module-card tbody tr:hover td {
    background:#f5f9ff;
}


/* TABLE INPUTS */

.mig-module-card td input:not([type="hidden"]),
.mig-module-card td select {
    min-height:34px !important;
    margin:0 !important;
    padding:0 8px !important;
    font-size:10px !important;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.mig-module-card button,
.mig-module-card .btn {
    display:inline-flex;
    min-height:38px;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0 12px;
    border:1px solid transparent;
    border-radius:7px;
    font-family:Inter,Arial,sans-serif;
    font-size:10px;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
    transition:.15s ease;
}

.mig-module-card button:hover,
.mig-module-card .btn:hover {
    transform:translateY(-1px);
}

.mig-module-card .btn-primary,
.mig-module-card .btn-main,
.mig-module-card button[type="submit"] {
    color:#fff;
    background:
        linear-gradient(
            135deg,
            #287af5,
            #1262e8
        );
    box-shadow:
        0 5px 12px
        rgba(18,98,232,.14);
}

.mig-module-card .btn-success {
    color:#fff;
    background:#09a873;
}

.mig-module-card .btn-danger {
    color:#fff;
    background:#dc3149;
}

.mig-module-card .btn-warning {
    color:#fff;
    background:#ff7415;
}

.mig-module-card .btn-secondary {
    color:#52657e;
    background:#eef2f7;
}

.mig-module-card .btn-outline-primary {
    border-color:#bcd4fa;
    color:#1763d7;
    background:#fff;
}

.mig-module-card .btn-outline-danger {
    border-color:#f5c3cb;
    color:#c92d45;
    background:#fff;
}


/* =========================================================
   STATUS BADGES
   ========================================================= */

.mig-module-card .badge {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:4px 7px;
    border-radius:999px;
    font-size:8px;
    font-weight:900;
}

.mig-module-card .bg-success {
    color:#087747 !important;
    background:#e7faef !important;
}

.mig-module-card .bg-warning {
    color:#bd590d !important;
    background:#fff1e5 !important;
}

.mig-module-card .bg-danger {
    color:#bc263d !important;
    background:#fff0f2 !important;
}

.mig-module-card .bg-primary {
    color:#1764d8 !important;
    background:#e9f2ff !important;
}

.mig-module-card .bg-secondary {
    color:#51647c !important;
    background:#edf2f7 !important;
}


/* =========================================================
   STOCK TAKE
   ========================================================= */

.mig-stocktake-page .mig-module-card > p:first-of-type {
    margin-top:0;
}

.mig-stocktake-page table {
    min-width:800px;
}

.mig-stocktake-page td input {
    border:1px solid #cddbec !important;
    background:#fff !important;
}

.mig-stocktake-page td:nth-child(2) {
    font-weight:800;
    color:#1e3554;
}


/* =========================================================
   RETURNS & REFUNDS
   ========================================================= */

.mig-returns-page .mig-module-card {
    display:grid;
    gap:13px;
}

.mig-returns-page h2 {
    margin-top:5px;
}

.mig-returns-page table {
    min-width:800px;
}


/* =========================================================
   PURCHASE ORDERS
   ========================================================= */

.mig-po-page table {
    min-width:860px;
}

.mig-po-page textarea {
    margin-top:4px;
}

.mig-po-page .mig-module-card form {
    padding:14px;
    margin-top:10px;
    border:1px solid #e0e7f0;
    border-radius:9px;
    background:#fafcff;
}


/* =========================================================
   SUPPLIERS
   ========================================================= */

.mig-suppliers-page table {
    min-width:780px;
}

.mig-suppliers-page .mig-module-card form {
    padding:14px;
    margin:9px 0 14px;
    border:1px solid #e0e7f0;
    border-radius:9px;
    background:#fafcff;
}


/* =========================================================
   CUSTOMERS
   ========================================================= */

.mig-customers-page table {
    min-width:900px;
}

.mig-customers-page .mig-module-card form {
    padding:14px;
    margin-bottom:14px;
    border:1px solid #e0e7f0;
    border-radius:9px;
    background:#fafcff;
}


/* =========================================================
   PROMOTIONS
   ========================================================= */

.mig-promotions-page table {
    min-width:880px;
}

.mig-promotions-page .mig-module-card form {
    padding:14px;
    margin-bottom:14px;
    border:1px solid #e0e7f0;
    border-radius:9px;
    background:#fafcff;
}


/* =========================================================
   EXPENSES
   ========================================================= */

.mig-expenses-page table {
    min-width:760px;
}

.mig-expenses-page .mig-module-card form {
    padding:14px;
    margin-bottom:14px;
    border:1px solid #e0e7f0;
    border-radius:9px;
    background:#fafcff;
}


/* =========================================================
   POS TERMINAL
   ========================================================= */

.mig-pos-page .mig-module-card {
    min-height:600px;
}

.mig-pos-page table {
    min-width:750px;
}

.mig-pos-page input[
    placeholder*="barcode"
],
.mig-pos-page input[
    placeholder*="Barcode"
] {
    min-height:46px;
    border-color:#b9d3f6;
}

.mig-pos-page .btn-success {
    min-height:42px;
    padding:0 17px;
    font-size:11px;
}


/* =========================================================
   EMPTY TABLE PRESENTATION
   ========================================================= */

.mig-module-card tbody:empty::after {
    content:"No records available";
    display:block;
    padding:28px;
    color:#8a99ac;
    font-size:10px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:760px) {

    .mig-module-heading {
        align-items:stretch;
        flex-direction:column;
    }

    .mig-module-card {
        padding:12px;
    }

}


/* =========================================================
   PRINT
   ========================================================= */

@media print {

    .mig-sidebar,
    .mig-topbar,
    .mig-footer {
        display:none !important;
    }

    .mig-content {
        padding:0 !important;
    }

    .mig-module-card {
        border:0 !important;
        box-shadow:none !important;
    }

}


/* =========================================================
   MIG PREMIUM POS TERMINAL
   ========================================================= */

.mig-pos-terminal {
    width:100%;
}

.mig-pos-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:14px;
}

.mig-pos-eyebrow {
    margin-bottom:4px;
    color:#657d9c;
    font-size:10px;
    font-weight:900;
    letter-spacing:1px;
}

.mig-pos-heading h1 {
    margin:0;
    color:#122139;
    font-size:24px;
    font-weight:900;
}

.mig-pos-heading p {
    margin:5px 0 0;
    color:#72839a;
    font-size:11px;
}

.mig-pos-shift-badge {
    display:flex;
    align-items:center;
    gap:12px;
    padding:9px 12px;
    border:1px solid #dce5ef;
    border-radius:9px;
    background:#fff;
}

.mig-pos-shift-badge span {
    display:block;
    color:#8291a5;
    font-size:8px;
    font-weight:900;
}

.mig-pos-shift-badge strong {
    display:block;
    margin-top:2px;
    color:#1d304a;
    font-size:10px;
}

.mig-pos-shift-separator {
    width:1px;
    height:30px;
    background:#e2e8f0;
}


/* MAIN GRID */

.mig-pos-layout {
    display:grid;
    grid-template-columns:minmax(0,2fr) 385px;
    gap:15px;
    align-items:start;
}

.mig-pos-left {
    display:grid;
    gap:12px;
}


/* PANELS */

.mig-pos-panel,
.mig-pos-cart-panel,
.mig-pos-summary-card {
    border:1px solid #dce5ef;
    border-radius:11px;
    background:#fff;
    box-shadow:
        0 4px 15px
        rgba(15,23,42,.035);
}

.mig-pos-panel {
    padding:15px;
}

.mig-pos-panel-title {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:15px;
    margin-bottom:10px;
}

.mig-pos-panel-title h2,
.mig-pos-cart-head h2,
.mig-pos-summary-head h2 {
    margin:0;
    color:#14233a;
    font-size:14px;
    font-weight:900;
}

.mig-pos-panel-title p,
.mig-pos-cart-head p,
.mig-pos-summary-head p {
    margin:3px 0 0;
    color:#8390a3;
    font-size:9px;
}


/* PRICE MODE */

.mig-pos-price-mode {
    min-width:150px;
}

.mig-pos-price-mode label {
    display:block;
    margin-bottom:4px;
    color:#51647e;
    font-size:9px;
    font-weight:800;
}

.mig-pos-price-mode select {
    width:100%;
    min-height:36px;
    border:1px solid #d5dfeb;
    border-radius:7px;
    padding:0 9px;
    background:#fff;
    color:#2b405c;
    font-family:inherit;
    font-size:10px;
}


/* SEARCH */

.mig-pos-search {
    display:flex;
    min-height:52px;
    align-items:center;
    gap:10px;
    border:2px solid #b9d4fa;
    border-radius:9px;
    padding:0 13px;
    background:#fff;
}

.mig-pos-search:focus-within {
    border-color:#2878ef;
    box-shadow:
        0 0 0 3px
        rgba(40,120,239,.08);
}

.mig-pos-search-icon {
    color:#176bea;
    font-size:24px;
}

.mig-pos-search input {
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    color:#263a56;
    font-family:inherit;
    font-size:12px;
}

.mig-pos-results {
    margin-top:9px;
}

.mig-pos-result-item {
    display:flex;
    width:100%;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:6px;
    padding:10px 12px;
    border:1px solid #e1e7ef;
    border-radius:7px;
    background:#fff;
    text-align:left;
    cursor:pointer;
}

.mig-pos-result-item:hover {
    background:#f5f9ff;
    border-color:#bfd5f8;
}

.mig-pos-result-item strong {
    display:block;
    color:#1c304d;
    font-size:10px;
}

.mig-pos-result-item span {
    display:block;
    margin-top:3px;
    color:#8794a8;
    font-size:9px;
}

.mig-pos-result-item b {
    color:#1263dc;
    font-size:10px;
}


/* CUSTOMER */

.mig-pos-customer-bar {
    display:flex;
    min-height:66px;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:10px 14px;
    border:1px solid #dce5ef;
    border-radius:10px;
    background:#fff;
}

.mig-pos-customer-info {
    display:flex;
    align-items:center;
    gap:10px;
}

.mig-pos-customer-avatar {
    display:grid;
    width:38px;
    height:38px;
    place-items:center;
    border-radius:8px;
    color:#176bea;
    background:#eaf3ff;
    font-size:18px;
}

.mig-pos-customer-info strong {
    display:block;
    color:#172a45;
    font-size:11px;
}

.mig-pos-customer-info span {
    display:block;
    margin-top:2px;
    color:#8795a8;
    font-size:9px;
}

.mig-pos-customer-button {
    min-height:34px;
    padding:0 10px;
    border:1px solid #bcd4fb;
    border-radius:6px;
    color:#1763d8;
    background:#f8fbff;
    font-family:inherit;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
}


/* CART */

.mig-pos-cart-panel {
    overflow:hidden;
}

.mig-pos-cart-head {
    display:flex;
    min-height:63px;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:12px 15px;
    border-bottom:1px solid #e7edf4;
}

.mig-pos-cart-count {
    padding:5px 8px;
    border-radius:999px;
    color:#1764d8;
    background:#e9f2ff;
    font-size:9px;
    font-weight:800;
}

.mig-pos-cart-table-wrap {
    min-height:280px;
    overflow-x:auto;
}

.mig-pos-cart-table {
    width:100%;
    min-width:720px;
    border-collapse:collapse;
}

.mig-pos-cart-table th {
    padding:10px 11px;
    border-right:1px solid #dce5ef;
    border-bottom:1px solid #ccd8e5;
    background:#f4f7fb;
    color:#536984;
    font-size:9px;
    font-weight:900;
    text-align:left;
    text-transform:uppercase;
}

.mig-pos-cart-table td {
    padding:10px 11px;
    border-right:1px solid #e1e7ef;
    border-bottom:1px solid #e1e7ef;
    color:#30445f;
    font-size:10px;
}

.mig-pos-cart-table th:last-child,
.mig-pos-cart-table td:last-child {
    border-right:0;
}

.mig-pos-product-cell {
    display:flex;
    align-items:center;
    gap:8px;
}

.mig-pos-product-icon {
    display:grid;
    width:32px;
    height:32px;
    place-items:center;
    border-radius:7px;
    color:#176bea;
    background:#eaf3ff;
}

.mig-pos-product-cell strong {
    display:block;
    color:#172a45;
    font-size:10px;
}

.mig-pos-product-cell span {
    display:block;
    margin-top:2px;
    color:#8795a8;
    font-size:8px;
}

.mig-pos-center {
    text-align:center !important;
}

.mig-pos-right {
    text-align:right !important;
}

.mig-pos-qty-input {
    width:75px;
    min-height:31px;
    border:1px solid #d5dfeb;
    border-radius:6px;
    text-align:center;
    font-family:inherit;
    font-size:10px;
}

.mig-pos-remove-item {
    width:28px;
    height:28px;
    border:0;
    border-radius:6px;
    color:#c82941;
    background:#fff0f2;
    font-size:16px;
    cursor:pointer;
}

.mig-pos-empty-cart {
    display:flex;
    min-height:235px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#8795a8;
}

.mig-pos-empty-icon {
    display:grid;
    width:52px;
    height:52px;
    place-items:center;
    margin-bottom:8px;
    border-radius:11px;
    background:#eff4fa;
    font-size:24px;
}

.mig-pos-empty-cart strong {
    color:#495d78;
    font-size:11px;
}

.mig-pos-empty-cart span {
    margin-top:4px;
    font-size:9px;
}


/* SUMMARY */

.mig-pos-summary {
    position:sticky;
    top:92px;
}

.mig-pos-summary-card {
    overflow:hidden;
}

.mig-pos-summary-head {
    padding:14px 15px;
    border-bottom:1px solid #e8edf4;
}

.mig-pos-summary-lines {
    padding:11px 15px;
}

.mig-pos-summary-lines > div {
    display:flex;
    min-height:42px;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border-bottom:1px solid #edf1f5;
}

.mig-pos-summary-lines span {
    color:#566a84;
    font-size:10px;
}

.mig-pos-summary-lines strong {
    color:#14233a;
    font-size:11px;
}

.mig-pos-discount-input {
    display:flex;
    align-items:center;
    overflow:hidden;
    border:1px solid #d8e1ec;
    border-radius:6px;
}

.mig-pos-discount-input span {
    padding:0 7px;
    font-size:8px;
}

.mig-pos-discount-input input {
    width:80px;
    min-height:31px;
    border:0;
    border-left:1px solid #d8e1ec;
    outline:0;
    padding:0 7px;
    text-align:right;
    font-family:inherit;
    font-size:9px;
}

.mig-pos-total {
    padding:15px;
    background:
        linear-gradient(
            135deg,
            #edf5ff,
            #f5f9ff
        );
    border-top:1px solid #dce8f6;
    border-bottom:1px solid #dce8f6;
}

.mig-pos-total span {
    display:block;
    color:#1762d5;
    font-size:9px;
    font-weight:900;
}

.mig-pos-total strong {
    display:block;
    margin-top:4px;
    color:#0c58c9;
    font-size:28px;
    font-weight:900;
}


/* PAYMENT METHODS */

.mig-pos-payment-section {
    padding:13px 15px;
}

.mig-pos-payment-section > label {
    display:block;
    margin-bottom:8px;
    color:#425670;
    font-size:10px;
    font-weight:900;
}

.mig-pos-payment-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px;
}

.mig-pos-pay-method {
    display:flex;
    min-height:65px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:1px solid #dce5ef;
    border-radius:8px;
    color:#53657e;
    background:#fff;
    font-family:inherit;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
}

.mig-pos-pay-method .icon {
    font-size:19px;
}

.mig-pos-pay-method:hover {
    border-color:#8db8f8;
    background:#f6faff;
}

.mig-pos-pay-method.active {
    border-color:#176bea;
    color:#0f5ed7;
    background:#eaf3ff;
    box-shadow:
        inset 0 0 0 1px #176bea;
}


/* MAIN PAY BUTTON */

.mig-pos-pay-button {
    display:flex;
    width:calc(100% - 30px);
    min-height:58px;
    align-items:center;
    justify-content:space-between;
    margin:0 15px 10px;
    padding:0 15px;
    border:0;
    border-radius:9px;
    color:#fff;
    background:
        linear-gradient(
            135deg,
            #0db178,
            #079769
        );
    box-shadow:
        0 7px 17px
        rgba(7,151,105,.2);
    font-family:inherit;
    cursor:pointer;
}

.mig-pos-pay-button span {
    font-size:10px;
    font-weight:900;
}

.mig-pos-pay-button strong {
    font-size:15px;
}


/* SECONDARY */

.mig-pos-secondary-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    padding:0 15px 9px;
}

.mig-pos-hold-button,
.mig-pos-resume-button,
.mig-pos-close-shift-button {
    min-height:36px;
    border-radius:7px;
    font-family:inherit;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
}

.mig-pos-hold-button {
    border:1px solid #ffd09f;
    color:#c65b0b;
    background:#fff7ef;
}

.mig-pos-resume-button {
    border:1px solid #bad4fb;
    color:#1763d7;
    background:#f7faff;
}

.mig-pos-close-shift-button {
    width:calc(100% - 30px);
    margin:0 15px 14px;
    border:1px solid #dce5ef;
    color:#63758d;
    background:#f8fafc;
}


/* PAYMENT MODAL */

.mig-pos-payment-modal .modal-body {
    padding:16px;
}

.mig-pos-payment-due {
    padding:13px;
    margin-bottom:13px;
    border-radius:9px;
    background:#eaf9f3;
    text-align:center;
}

.mig-pos-payment-due span {
    display:block;
    color:#08784e;
    font-size:9px;
    font-weight:900;
}

.mig-pos-payment-due strong {
    display:block;
    margin-top:3px;
    color:#067649;
    font-size:25px;
    font-weight:900;
}

.mig-pos-modal-section-title {
    margin:9px 0 7px;
    color:#405670;
    font-size:10px;
    font-weight:900;
}

.mig-pos-payline {
    display:grid;
    grid-template-columns:130px 130px 1fr 35px;
    gap:7px;
    margin-bottom:7px;
}

.mig-pos-payline select,
.mig-pos-payline input {
    min-height:37px;
    border:1px solid #d6e0ec;
    border-radius:6px;
    padding:0 8px;
    font-family:inherit;
    font-size:10px;
}

.mig-pos-payline button {
    border:0;
    border-radius:6px;
    color:#c72a42;
    background:#fff0f2;
    cursor:pointer;
}

.mig-pos-add-payment-line {
    min-height:33px;
    border:1px solid #bdd5fa;
    border-radius:6px;
    color:#1763d7;
    background:#f7faff;
    font-family:inherit;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
}

.mig-pos-mpesa-panel {
    margin-top:13px;
    padding:12px;
    border:1px solid #bde6d5;
    border-radius:8px;
    background:#f2fcf8;
}

.mig-pos-mpesa-row {
    display:grid;
    grid-template-columns:1fr auto;
    gap:7px;
}

.mig-pos-mpesa-row input {
    min-height:38px;
    border:1px solid #cfe1da;
    border-radius:6px;
    padding:0 9px;
    font-family:inherit;
}

.mig-pos-mpesa-row button {
    border:0;
    border-radius:6px;
    padding:0 12px;
    color:#fff;
    background:#09a873;
    font-family:inherit;
    font-size:9px;
    font-weight:800;
}

.mig-pos-mpesa-status {
    margin-top:6px;
    color:#648071;
    font-size:9px;
}

.mig-pos-owner-pin {
    margin-top:13px;
}

.mig-pos-owner-pin label {
    display:block;
    margin-bottom:5px;
    color:#405670;
    font-size:9px;
    font-weight:800;
}

.mig-pos-owner-pin input {
    width:100%;
    min-height:38px;
    border:1px solid #d6e0ec;
    border-radius:6px;
    padding:0 9px;
    font-family:inherit;
}

.mig-pos-confirm-payment {
    width:100%;
    min-height:43px;
    border:0;
    border-radius:7px;
    color:#fff;
    background:#09a873;
    font-family:inherit;
    font-size:10px;
    font-weight:900;
    cursor:pointer;
}


/* OPEN SHIFT */

.mig-pos-open-shift {
    display:grid;
    min-height:650px;
    place-items:center;
}

.mig-pos-shift-card {
    width:min(440px,100%);
    padding:28px;
    border:1px solid #dce5ef;
    border-radius:13px;
    background:#fff;
    box-shadow:
        0 10px 30px
        rgba(15,23,42,.07);
}

.mig-pos-shift-icon {
    display:grid;
    width:55px;
    height:55px;
    place-items:center;
    margin-bottom:12px;
    border-radius:12px;
    color:#fff;
    background:#0bab75;
    font-size:25px;
    font-weight:900;
}

.mig-pos-shift-card h1 {
    margin:0;
    color:#15243b;
    font-size:22px;
    font-weight:900;
}

.mig-pos-shift-card p {
    margin:5px 0 18px;
    color:#7b899d;
    font-size:11px;
}

.mig-pos-shift-card label {
    display:block;
    margin-bottom:5px;
    color:#455972;
    font-size:10px;
    font-weight:800;
}

.mig-money-input {
    display:flex;
    min-height:44px;
    overflow:hidden;
    border:1px solid #d5dfeb;
    border-radius:7px;
}

.mig-money-input span {
    display:grid;
    padding:0 11px;
    place-items:center;
    color:#60738d;
    background:#f3f6fa;
    font-size:10px;
    font-weight:800;
}

.mig-money-input input {
    width:100%;
    border:0;
    outline:0;
    padding:0 10px;
    font-family:inherit;
}

.mig-pos-primary-button {
    width:100%;
    min-height:45px;
    margin-top:13px;
    border:0;
    border-radius:7px;
    color:#fff;
    background:#176bea;
    font-family:inherit;
    font-size:10px;
    font-weight:900;
    cursor:pointer;
}


/* RESPONSIVE */

@media (max-width:1100px) {

    .mig-pos-layout {
        grid-template-columns:1fr;
    }

    .mig-pos-summary {
        position:static;
    }

}

@media (max-width:650px) {

    .mig-pos-heading {
        align-items:stretch;
        flex-direction:column;
    }

    .mig-pos-panel-title {
        align-items:stretch;
        flex-direction:column;
    }

    .mig-pos-price-mode {
        min-width:0;
    }

    .mig-pos-payment-grid {
        grid-template-columns:repeat(2,1fr);
    }

    .mig-pos-payline {
        grid-template-columns:1fr;
    }

}


/* =========================================================
   POS PRODUCT SEARCH IMPROVEMENT
   ========================================================= */

.mig-pos-results {
    max-height:320px;
    overflow-y:auto;
    border-radius:8px;
}

.mig-pos-result-item {
    min-height:58px;
}

.mig-pos-result-main {
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}

.mig-pos-result-icon {
    display:grid;
    width:35px;
    height:35px;
    flex-shrink:0;
    place-items:center;
    border-radius:8px;
    color:#176bea;
    background:#eaf3ff;
    font-size:17px;
}

.mig-pos-result-price {
    flex-shrink:0;
    color:#0d63df;
    text-align:right;
    font-size:11px;
    font-weight:900;
}

.mig-pos-result-price small {
    display:block;
    margin-top:2px;
    color:#0a9b6a;
    font-size:8px;
    font-weight:700;
}

.mig-pos-search-message {
    padding:13px;
    border:1px solid #e1e7ef;
    border-radius:7px;
    color:#64758d;
    background:#fafbfd;
    font-size:10px;
}

.mig-pos-search-message small {
    display:block;
    margin-top:3px;
    color:#8d99aa;
}

.mig-pos-search-message.error {
    border-color:#f5c8cf;
    color:#bd2b42;
    background:#fff6f7;
}


/* =========================================================
   POS QUANTITY CONTROL
   ========================================================= */

.mig-pos-qty-control {
    display:inline-grid;
    grid-template-columns:29px 55px 29px;
    overflow:hidden;
    border:1px solid #d6e0eb;
    border-radius:6px;
    background:#fff;
}

.mig-pos-qty-control button {
    min-height:31px;
    border:0;
    color:#1763d8;
    background:#f3f7fc;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}

.mig-pos-qty-control input {
    width:55px;
    border:0;
    border-left:1px solid #d6e0eb;
    border-right:1px solid #d6e0eb;
    outline:0;
    text-align:center;
    font-family:inherit;
    font-size:9px;
}


/* =========================================================
   CASH RECEIVED + CHANGE
   ========================================================= */

#migCashChange {
    display:none;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:12px;
}

.mig-cash-box {
    padding:11px;
    border-radius:8px;
    background:#f4f7fb;
}

.mig-cash-box span {
    display:block;
    color:#718199;
    font-size:8px;
    font-weight:900;
}

.mig-cash-box strong {
    display:block;
    margin-top:4px;
    color:#172a45;
    font-size:16px;
    font-weight:900;
}

.mig-cash-box.change {
    background:#e9faf2;
}

.mig-cash-box.change span {
    color:#087a4e;
}

.mig-cash-box.change strong {
    color:#07915f;
    font-size:20px;
}


/* =========================================================
   SALE SUCCESS
   ========================================================= */

.mig-sale-success {
    display:grid;
    gap:6px;
    margin-top:10px;
}

.mig-sale-success > div {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:8px 10px;
    border-radius:7px;
    background:#f6f8fb;
}

.mig-sale-success span {
    color:#718199;
    font-size:11px;
}

.mig-sale-success strong {
    color:#172a45;
    font-size:12px;
}

.mig-sale-success .change {
    background:#e8faf1;
}

.mig-sale-success .change span {
    color:#087c50;
    font-weight:900;
}

.mig-sale-success .change strong {
    color:#068d5c;
    font-size:18px;
}


/* WALK-IN CUSTOMER */

#pointsLabel {
    color:#0a9c6b;
}

