:root {
    --primary-color: #123C2E;      /* Dark Emerald Green */
    --primary-dark: #0D261D;       /* Deep Forest Green */
    --primary-light: #1B5744;
    --accent-color: #C9A84C;       /* Gold */
    --accent-light: #E4C875;
    --accent-hover: #B0903B;       /* Darker Gold */
    --bg-dark: #0A1610;            /* Very Deep Emerald Black */
    --surface-color: #152E23;      /* Semi-transparent/solid surface green */
    --surface-light: #1E3A2F;      /* Lighter emerald surface */
    --text-main: #F5F0E8;          /* Cream white */
    --text-muted: #A0B5AC;         /* Muted grayish green */
    --border-color: rgba(201, 168, 76, 0.2); /* Muted gold border */
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Inter', sans-serif;
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --sidebar-width: 270px;
    --topbar-height: 72px;
}

html[dir="rtl"] {
    direction: rtl;
}

html[dir="rtl"] body,
body.is-rtl {
    font-family: 'Tajawal', 'Inter', Arial, sans-serif !important;
    text-align: right;
}

html[dir="rtl"] .font-heading,
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3,
html[dir="rtl"] h4,
html[dir="rtl"] h5,
html[dir="rtl"] h6 {
    font-family: 'Tajawal', 'Playfair Display', serif !important;
    line-height: 1.35;
}

html[dir="rtl"] .sidebar {
    left: auto;
    right: 0;
}

html[dir="rtl"] .main-content {
    margin-left: 0;
    margin-right: var(--sidebar-width);
}

html[dir="rtl"] .main-content.expanded,
html[dir="rtl"] .main-content.sidebar-mini {
    margin-right: 86px;
}

html[dir="rtl"] .nav-link,
html[dir="rtl"] .topbar,
html[dir="rtl"] .card-glass-header,
html[dir="rtl"] .menu-product-title-line,
html[dir="rtl"] .preview-row,
html[dir="rtl"] .d-flex {
    direction: rtl;
}

html[dir="rtl"] .sidebar-footer {
    direction: rtl;
}

html[dir="rtl"] .input-wrapper .input-icon {
    left: auto;
    right: 14px;
}

html[dir="rtl"] .input-wrapper .form-control {
    padding-left: 44px;
    padding-right: 44px;
}

html[dir="rtl"] .password-toggle {
    right: auto;
    left: 10px;
}

html[dir="rtl"] .dropdown-menu {
    text-align: right;
}

html[dir="rtl"] .table,
html[dir="rtl"] .table-responsive,
html[dir="rtl"] .order-num,
html[dir="rtl"] .topbar-clock,
html[dir="rtl"] .product-card-price,
html[dir="rtl"] .pos-product-price,
html[dir="rtl"] .entry-product-price,
html[dir="rtl"] .entry-cart-total,
html[dir="rtl"] .order-entry-total,
html[dir="rtl"] .order-entry-subtotal,
html[dir="rtl"] .order-entry-tax,
html[dir="rtl"] .entry-change-usd,
html[dir="rtl"] .entry-change-lbp,
html[dir="rtl"] [data-clock],
html[dir="rtl"] [data-last-sync],
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="url"],
html[dir="rtl"] input[name*="email"],
html[dir="rtl"] input[name*="ip"],
html[dir="rtl"] input[name*="url"],
html[dir="rtl"] .demo-cred {
    direction: ltr;
    unicode-bidi: plaintext;
}

.locale-switcher {
    min-width: 116px;
}

.locale-switcher .form-select {
    min-height: 38px;
    border-color: rgba(201, 168, 76, .35);
    background-color: #FFFDF8;
    color: #123C2E;
    font-weight: 800;
}

.login-locale-switcher {
    position: absolute;
    top: 14px;
    inset-inline-end: 14px;
    z-index: 2;
}

.menu-locale-switcher {
    position: absolute;
    top: 18px;
    inset-inline-end: 18px;
    z-index: 4;
}

html[dir="rtl"] .bi.me-1,
html[dir="rtl"] .bi.me-2,
html[dir="rtl"] .me-1,
html[dir="rtl"] .me-2 {
    margin-right: 0 !important;
    margin-left: .35rem !important;
}

html[dir="rtl"] .ms-2 {
    margin-left: 0 !important;
    margin-right: .5rem !important;
}

@media (max-width: 991.98px) {
    html[dir="rtl"] .main-content {
        margin-right: 0 !important;
    }

    html[dir="rtl"] .sidebar {
        transform: translateX(100%);
    }

    html[dir="rtl"] .sidebar.active {
        transform: translateX(0);
    }
}

/* Waiter mobile/tablet portrait workflow: Current Order first, full-screen Add Item sheet. */
.waiter-mobile-header,
.waiter-add-sheet-header,
.waiter-add-fab,
.waiter-mobile-tablebar,
.waiter-table-sheet {
    display: none;
}

@media (max-width: 900px) {
    body.staff-body:has(.waiter-pos-page),
    body.staff-body.waiter-add-sheet-active,
    body.staff-body.waiter-table-sheet-active {
        width: 100%;
        height: 100dvh;
        min-height: 100dvh;
        overflow: hidden !important;
        background: #FBF8F2 !important;
    }

    body.staff-body:has(.waiter-pos-page) .main-content {
        margin-left: 0 !important;
        width: 100% !important;
        height: 100dvh !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-rows: minmax(0, 1fr) !important;
        overflow: hidden !important;
        background: #FBF8F2 !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar {
        display: none !important;
    }

    body.staff-body:has(.waiter-pos-page) .content-area {
        min-height: 0 !important;
        height: 100% !important;
        padding: 0 !important;
        display: block !important;
        overflow: hidden !important;
        background: #FBF8F2 !important;
    }

    body.staff-body .waiter-pos-page {
        position: relative !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-rows: 58px minmax(0, 1fr) !important;
        overflow: hidden !important;
        background: #FBF8F2 !important;
    }

    body.staff-body .waiter-mobile-header {
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 10px !important;
        height: 58px !important;
        padding: 7px 12px !important;
        border-bottom: 1px solid #E8DDCE !important;
        background: #FFFCF7 !important;
    }

    body.staff-body .waiter-mobile-menu-btn {
        width: 44px !important;
        height: 44px !important;
        display: grid !important;
        place-items: center !important;
        border: 1px solid #E7DAC8 !important;
        border-radius: 10px !important;
        background: #FFFFFF !important;
        color: #093424 !important;
        font-size: 22px !important;
    }

    body.staff-body .waiter-mobile-title {
        min-width: 0 !important;
        display: grid !important;
        gap: 1px !important;
    }

    body.staff-body .waiter-mobile-table {
        min-width: 0 !important;
        color: #0A3A29 !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .waiter-mobile-status {
        color: #7B715F !important;
        font-size: 11px !important;
        font-weight: 750 !important;
    }

    body.staff-body .waiter-mobile-count {
        min-height: 30px !important;
        padding: 7px 10px !important;
        border-radius: 999px !important;
        background: #EFE6D7 !important;
        color: #2C2A24 !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-pos-workspace {
        height: 100% !important;
        min-height: 0 !important;
        display: block !important;
        overflow: hidden !important;
        margin: 0 !important;
    }

    body.staff-body .waiter-pos-left {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 2300 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 0 !important;
        background: #FBF8F2 !important;
        transform: translateY(100%) !important;
        transition: transform .22s ease !important;
        overflow: hidden !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.staff-body .waiter-pos-page.waiter-add-open .waiter-pos-left {
        transform: translateY(0) !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body.staff-body .waiter-pos-left .pos-setup-panel {
        display: none !important;
    }

    body.staff-body .waiter-products-panel {
        width: 100% !important;
        height: 100dvh !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-rows: 64px auto minmax(0, 1fr) !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #FBF8F2 !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-products-panel > .card-glass-header,
    body.staff-body .waiter-products-panel .entry-category-title,
    body.staff-body .waiter-pos-help-strip {
        display: none !important;
    }

    body.staff-body .waiter-add-sheet-header {
        height: 64px !important;
        min-height: 64px !important;
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 10px !important;
        padding: calc(8px + env(safe-area-inset-top, 0px)) 12px 8px !important;
        border-bottom: 1px solid #E4D8C7 !important;
        background: #FFFDF8 !important;
    }

    body.staff-body .waiter-sheet-close,
    body.staff-body .waiter-sheet-done {
        min-width: 44px !important;
        height: 44px !important;
        border: 1px solid #E7DAC8 !important;
        border-radius: 10px !important;
        background: #FFFFFF !important;
        color: #083B28 !important;
        font-weight: 900 !important;
    }

    body.staff-body .waiter-sheet-done {
        padding: 0 14px !important;
        background: #093B28 !important;
        color: #FFFFFF !important;
        border-color: #093B28 !important;
    }

    body.staff-body .waiter-add-sheet-header strong,
    body.staff-body .waiter-add-sheet-header span {
        display: block !important;
    }

    body.staff-body .waiter-add-sheet-header strong {
        color: #151713 !important;
        font-size: 17px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-add-sheet-header span {
        color: #706859 !important;
        font-size: 12px !important;
        font-weight: 750 !important;
    }

    body.staff-body .waiter-products-panel .entry-toolbar {
        min-height: 112px !important;
        margin: 0 !important;
        padding: 10px 12px 8px !important;
        display: grid !important;
        grid-template-rows: 48px 42px !important;
        gap: 10px !important;
        border-bottom: 1px solid #E9DED0 !important;
        background: #FBF8F2 !important;
    }

    body.staff-body .waiter-products-panel .entry-search-wrap {
        height: 48px !important;
        position: relative !important;
        margin: 0 !important;
    }

    body.staff-body .waiter-products-panel .entry-search-wrap .form-control {
        height: 48px !important;
        border: 1px solid #E1D4C1 !important;
        border-radius: 12px !important;
        background: #FFFFFF !important;
        color: #161713 !important;
        font-size: 16px !important;
        padding-left: 44px !important;
        padding-right: 70px !important;
    }

    body.staff-body .waiter-products-panel .entry-search-wrap i {
        left: 15px !important;
        color: #0B3B28 !important;
        font-size: 18px !important;
    }

    body.staff-body .waiter-products-panel .pos-search-clear {
        right: 42px !important;
        width: 34px !important;
        height: 34px !important;
        border: 0 !important;
        border-radius: 9px !important;
        background: #F0E7DA !important;
        color: #413A30 !important;
        font-size: 22px !important;
    }

    body.staff-body .waiter-products-panel .pos-search-shortcut {
        display: none !important;
    }

    body.staff-body .waiter-products-panel .order-entry-search::-webkit-search-cancel-button {
        -webkit-appearance: none !important;
        appearance: none !important;
        display: none !important;
    }

    body.staff-body .waiter-products-panel .entry-category-filter {
        min-width: 0 !important;
        display: flex !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 0 8px !important;
        scrollbar-width: none !important;
    }

    body.staff-body .waiter-products-panel .entry-category-filter::-webkit-scrollbar {
        display: none !important;
    }

    body.staff-body .waiter-products-panel .entry-filter {
        flex: 0 0 auto !important;
        min-height: 38px !important;
        min-width: 52px !important;
        padding: 9px 14px !important;
        border: 1px solid transparent !important;
        border-radius: 999px !important;
        background: transparent !important;
        color: #161713 !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-products-panel .entry-filter.active {
        background: #093B28 !important;
        color: #FFFFFF !important;
        box-shadow: 0 8px 18px rgba(9, 59, 40, .2) !important;
    }

    body.staff-body .waiter-products-panel .order-product-list {
        min-height: 0 !important;
        display: block !important;
        padding: 6px 12px 18px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
        background: #FBF8F2 !important;
    }

    body.staff-body .waiter-products-panel .entry-category,
    body.staff-body .waiter-products-panel .entry-product-grid {
        display: contents !important;
    }

    body.staff-body .waiter-products-panel .entry-category[hidden],
    body.staff-body .waiter-products-panel .entry-product[hidden] {
        display: none !important;
    }

    body.staff-body .waiter-products-panel .entry-product {
        min-height: 66px !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto 108px !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 12px 2px !important;
        border: 0 !important;
        border-bottom: 1px solid #E5D9C8 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.staff-body .waiter-products-panel .entry-product.in-cart {
        background: #FFF9EE !important;
        box-shadow: inset 3px 0 0 #C9982F !important;
        padding-left: 10px !important;
    }

    body.staff-body .waiter-products-panel .entry-product-media,
    body.staff-body .waiter-products-panel .entry-product-desc,
    body.staff-body .waiter-products-panel .entry-product input[data-note-for] {
        display: none !important;
    }

    body.staff-body .waiter-products-panel .entry-product-content,
    body.staff-body .waiter-products-panel .entry-product-main,
    body.staff-body .waiter-products-panel .entry-product-main > div,
    body.staff-body .waiter-products-panel .entry-product-meta {
        display: contents !important;
    }

    body.staff-body .waiter-products-panel .entry-product-name {
        grid-column: 1 !important;
        color: #151713 !important;
        font-size: 15px !important;
        font-weight: 950 !important;
        line-height: 1.2 !important;
        white-space: normal !important;
        overflow: visible !important;
    }

    body.staff-body .waiter-products-panel .pos-product-category {
        grid-column: 1 !important;
        margin-top: 21px !important;
        color: #716A60 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
    }

    body.staff-body .waiter-products-panel .pos-product-price {
        grid-column: 2 !important;
        color: #A46D08 !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-products-panel .entry-product .qty-control {
        grid-column: 3 !important;
        width: 108px !important;
        min-height: 44px !important;
        display: grid !important;
        grid-template-columns: 34px 40px 34px !important;
        border: 1px solid #E1D4C1 !important;
        border-radius: 10px !important;
        background: #FFFDF8 !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-products-panel .entry-product .qty-input {
        display: block !important;
        width: 40px !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
        border: 0 !important;
        border-left: 1px solid #E1D4C1 !important;
        border-right: 1px solid #E1D4C1 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #0B3B28 !important;
        font-size: 16px !important;
        font-weight: 950 !important;
        text-align: center !important;
        pointer-events: none !important;
        appearance: textfield !important;
    }

    body.staff-body .waiter-products-panel .entry-product .qty-btn {
        width: 34px !important;
        height: 42px !important;
        min-height: 42px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #0B3B28 !important;
        font-size: 20px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-products-panel .pos-product-qty {
        display: none !important;
    }

    body.staff-body .waiter-pos-right {
        position: static !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        filter: none !important;
    }

    body.staff-body .waiter-cart-panel {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-rows: auto auto minmax(0, 1fr) auto !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #FBF8F2 !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-mobile-tablebar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 10px 12px !important;
        background: #FBF8F2 !important;
    }

    body.staff-body .waiter-change-table {
        min-height: 54px !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        border: 1px solid #E3D7C6 !important;
        border-radius: 12px !important;
        background: #FFFFFF !important;
        color: #0B3B28 !important;
        padding: 8px 12px !important;
        text-align: left !important;
    }

    body.staff-body .waiter-change-table i {
        color: #C1840A !important;
        font-size: 20px !important;
    }

    body.staff-body .waiter-change-table small,
    body.staff-body .waiter-change-table strong {
        display: block !important;
    }

    body.staff-body .waiter-change-table small {
        color: #756D61 !important;
        font-size: 11px !important;
        font-weight: 750 !important;
    }

    body.staff-body .waiter-change-table strong {
        max-width: 48vw !important;
        color: #151713 !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .waiter-cart-panel > .card-glass-header {
        min-height: 52px !important;
        margin: 0 !important;
        padding: 0 12px 10px !important;
        border-bottom: 1px solid #E6DBCA !important;
        background: #FBF8F2 !important;
    }

    body.staff-body .waiter-cart-panel > .card-glass-header h5 {
        color: #151713 !important;
        font-size: 18px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-cart-panel .summary-selected-table {
        display: none !important;
    }

    body.staff-body .waiter-cart-panel .pos-clear-cart {
        min-height: 34px !important;
        padding: 6px 10px !important;
        border: 0 !important;
        background: transparent !important;
        color: #D01C12 !important;
        font-size: 12px !important;
        font-weight: 900 !important;
    }

    body.staff-body .waiter-cart-items {
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 12px 148px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
        background: #FBF8F2 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-empty {
        min-height: 120px !important;
        display: grid !important;
        place-items: center !important;
        align-content: center !important;
        gap: 6px !important;
        padding: 24px 12px !important;
        border: 1px dashed #DCCDBA !important;
        border-radius: 12px !important;
        background: #FFFDF8 !important;
        color: #6B6255 !important;
        text-align: center !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-empty i {
        color: #C1840A !important;
        font-size: 26px !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-empty strong {
        color: #151713 !important;
        font-size: 16px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-empty span {
        font-size: 13px !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item {
        min-height: 98px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "name total"
            "note note"
            "qty remove" !important;
        gap: 6px 10px !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 12px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #E6DBCA !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item-main {
        grid-area: name !important;
        min-width: 0 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item-main strong {
        color: #151713 !important;
        font-size: 15px !important;
        font-weight: 950 !important;
        line-height: 1.2 !important;
        white-space: normal !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item-main span {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-note {
        grid-area: note !important;
        width: 100% !important;
        height: 38px !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        border: 1px solid #E1D4C1 !important;
        border-radius: 9px !important;
        background: #FFFFFF !important;
        color: #312E28 !important;
        font-size: 13px !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-qty {
        grid-area: qty !important;
        width: 132px !important;
        height: 44px !important;
        display: grid !important;
        grid-template-columns: 44px 44px 44px !important;
        border: 1px solid #E1D4C1 !important;
        border-radius: 10px !important;
        background: #FFFDF8 !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-qty button,
    body.staff-body .waiter-pos-page .pos-cart-qty span {
        width: 44px !important;
        height: 42px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        background: transparent !important;
        color: #0B3B28 !important;
        font-size: 18px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-price-stack {
        display: contents !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-price-stack strong {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-price-stack span {
        grid-area: total !important;
        justify-self: end !important;
        color: #151713 !important;
        font-size: 16px !important;
        font-weight: 950 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-remove {
        grid-area: remove !important;
        justify-self: end !important;
        width: 44px !important;
        height: 44px !important;
        display: grid !important;
        place-items: center !important;
        border: 1px solid rgba(208, 28, 18, .18) !important;
        border-radius: 10px !important;
        background: #FFF7F5 !important;
        color: #D01C12 !important;
        font-size: 17px !important;
    }

    body.staff-body .waiter-cart-footer {
        position: fixed !important;
        z-index: 1600 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        padding: 10px 12px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
        border-top: 1px solid #E1D4C1 !important;
        background: rgba(255, 253, 248, .98) !important;
        box-shadow: 0 -12px 28px rgba(31, 24, 14, .08) !important;
    }

    body.staff-body .waiter-cart-footer .d-flex {
        margin-bottom: 4px !important;
        color: #554D42 !important;
        font-size: 12px !important;
    }

    body.staff-body .waiter-cart-footer .order-total-line {
        margin: 6px 0 8px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.staff-body .waiter-cart-footer .order-total-line span,
    body.staff-body .waiter-cart-footer .order-entry-total {
        color: #151713 !important;
        font-size: 20px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack .btn-primary-gold,
    body.staff-body .waiter-pos-page .pos-action-stack .btn {
        min-height: 48px !important;
        padding: 10px 8px !important;
        border-radius: 10px !important;
        font-size: 12px !important;
        font-weight: 950 !important;
        line-height: 1.15 !important;
    }

    body.staff-body .waiter-add-fab {
        position: fixed !important;
        z-index: 1700 !important;
        right: 16px !important;
        bottom: calc(150px + env(safe-area-inset-bottom, 0px)) !important;
        min-width: 142px !important;
        height: 58px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: #093B28 !important;
        color: #FFFFFF !important;
        font-size: 15px !important;
        font-weight: 950 !important;
        box-shadow: 0 14px 28px rgba(9, 59, 40, .28) !important;
    }

    body.staff-body .waiter-add-fab i {
        font-size: 22px !important;
    }

    body.staff-body .waiter-pos-page.waiter-add-open .waiter-add-fab,
    body.staff-body.waiter-add-sheet-active .waiter-add-fab {
        display: none !important;
    }

    body.staff-body .waiter-table-sheet {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 2400 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.staff-body .waiter-table-sheet.is-open {
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body.staff-body .waiter-table-sheet-backdrop {
        position: absolute !important;
        inset: 0 !important;
        background: rgba(6, 27, 18, .42) !important;
        opacity: 0 !important;
        transition: opacity .18s ease !important;
    }

    body.staff-body .waiter-table-sheet.is-open .waiter-table-sheet-backdrop {
        opacity: 1 !important;
    }

    body.staff-body .waiter-table-sheet-panel {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        max-height: min(82dvh, 720px) !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        border-radius: 22px 22px 0 0 !important;
        background: #FFFDF8 !important;
        transform: translateY(100%) !important;
        transition: transform .2s ease !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-table-sheet.is-open .waiter-table-sheet-panel {
        transform: translateY(0) !important;
    }

    body.staff-body .waiter-table-sheet-header {
        min-height: 68px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 44px !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 14px 16px 10px !important;
        border-bottom: 1px solid #E6DBCA !important;
    }

    body.staff-body .waiter-table-sheet-header strong,
    body.staff-body .waiter-table-sheet-header span {
        display: block !important;
    }

    body.staff-body .waiter-table-sheet-header strong {
        color: #151713 !important;
        font-size: 18px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-table-sheet-header span {
        color: #70685C !important;
        font-size: 12px !important;
        font-weight: 750 !important;
    }

    body.staff-body .waiter-table-sheet-header button {
        width: 44px !important;
        height: 44px !important;
        border: 1px solid #E1D4C1 !important;
        border-radius: 12px !important;
        background: #FFFFFF !important;
        color: #0B3B28 !important;
    }

    body.staff-body .waiter-table-sheet-body {
        min-height: 0 !important;
        overflow-y: auto !important;
        padding: 12px 14px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.staff-body .waiter-table-sheet-body .entry-floor-tabs {
        display: flex !important;
        gap: 8px !important;
        margin: 0 0 12px !important;
        overflow-x: auto !important;
        padding-bottom: 6px !important;
    }

    body.staff-body .waiter-table-sheet-body .entry-floor-tab {
        flex: 0 0 auto !important;
        min-height: 40px !important;
        padding: 8px 12px !important;
        border: 1px solid #E1D4C1 !important;
        border-radius: 999px !important;
        background: #FFFFFF !important;
        color: #0B3B28 !important;
        font-weight: 900 !important;
    }

    body.staff-body .waiter-table-sheet-body .entry-floor-tab.active {
        background: #093B28 !important;
        color: #FFFFFF !important;
        border-color: #093B28 !important;
    }

    body.staff-body .waiter-table-sheet-body .entry-table-grid {
        position: static !important;
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.staff-body .waiter-table-sheet-body .entry-table-card {
        min-height: 82px !important;
        display: grid !important;
        align-content: center !important;
        gap: 4px !important;
        border: 1px solid #E1D4C1 !important;
        border-radius: 12px !important;
        background: #FFFFFF !important;
        color: #151713 !important;
        text-align: left !important;
        padding: 12px !important;
    }

    body.staff-body .waiter-table-sheet-body .entry-table-card.selected {
        border-color: #C9982F !important;
        box-shadow: inset 0 0 0 2px rgba(201, 152, 47, .35) !important;
    }
}

@media (min-width: 701px) and (max-width: 900px) {
    body.staff-body .waiter-table-sheet-panel {
        left: 50% !important;
        right: auto !important;
        width: min(680px, calc(100vw - 32px)) !important;
        border-radius: 22px !important;
        transform: translate(-50%, 100%) !important;
    }

    body.staff-body .waiter-table-sheet.is-open .waiter-table-sheet-panel {
        transform: translate(-50%, -16px) !important;
    }

    body.staff-body .waiter-table-sheet-body .entry-table-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Waiter Order Entry approved tablet POS reference pass: dense text list, no product photos. */
@media (min-width: 901px) {
    body.staff-body:has(.waiter-pos-page) {
        overflow: hidden !important;
        background: #FBF8F2 !important;
    }

    body.staff-body:has(.waiter-pos-page) .sidebar {
        width: 176px !important;
        height: 100vh !important;
        overflow: hidden !important;
    }

    body.staff-body:has(.waiter-pos-page) .sidebar .nav-products,
    body.staff-body:has(.waiter-pos-page) .sidebar .nav-recipes {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .entry-empty-menu,
    body.staff-body .cashier-clean-pos .entry-empty-menu {
        grid-column: 1 / -1 !important;
        min-height: 260px !important;
        display: grid !important;
        place-items: center !important;
        align-content: center !important;
        gap: 8px !important;
        padding: 28px !important;
        border: 1px dashed #D7C8B4 !important;
        border-radius: 8px !important;
        background: #FFFCF7 !important;
        color: #5F5A50 !important;
        text-align: center !important;
    }

    body.staff-body .waiter-pos-page .entry-empty-menu i,
    body.staff-body .cashier-clean-pos .entry-empty-menu i {
        color: #C9982F !important;
        font-size: 32px !important;
    }

    body.staff-body .waiter-pos-page .entry-empty-menu strong,
    body.staff-body .cashier-clean-pos .entry-empty-menu strong {
        color: #063B25 !important;
        font-size: 16px !important;
        font-weight: 900 !important;
    }

    body.staff-body:has(.waiter-pos-page) .main-content {
        margin-left: 176px !important;
        width: calc(100% - 176px) !important;
        height: 100vh !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        background: #FBF8F2 !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar {
        flex: 0 0 78px !important;
        min-height: 78px !important;
        padding: 18px 24px 8px !important;
        border-bottom: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.staff-body:has(.waiter-pos-page) .page-title {
        color: #151713 !important;
        font-size: 25px !important;
        font-weight: 900 !important;
        letter-spacing: 0 !important;
    }

    body.staff-body .content-area:has(.waiter-pos-page) {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        display: flex !important;
        overflow: hidden !important;
        padding: 0 18px 14px !important;
    }

    body.staff-body .waiter-pos-page {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        width: 100% !important;
        display: flex !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-workspace {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) clamp(330px, 32vw, 410px) !important;
        gap: 14px !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-left,
    body.staff-body .waiter-pos-right {
        min-width: 0 !important;
        min-height: 0 !important;
        height: 100% !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-left {
        display: grid !important;
        grid-template-rows: 70px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    body.staff-body .waiter-pos-page .card-glass {
        border: 1px solid #E8DDCE !important;
        border-radius: 8px !important;
        background: rgba(255, 255, 255, .86) !important;
        box-shadow: 0 12px 30px rgba(42, 35, 20, .055) !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel {
        height: 70px !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(150px, .42fr) minmax(190px, .58fr) minmax(150px, .5fr) !important;
        grid-template-areas: "floor table notes" !important;
        gap: 12px !important;
        align-items: end !important;
        padding: 10px 14px !important;
        overflow: visible !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel .card-glass-header,
    body.staff-body .waiter-pos-page .entry-floor-tabs,
    body.staff-body .waiter-products-panel .card-glass-header,
    body.staff-body .waiter-pos-page .entry-category-title {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .table-picker-wrap,
    body.staff-body .waiter-pos-page .pos-table-line {
        display: contents !important;
    }

    body.staff-body .waiter-pos-page .pos-floor-field {
        grid-area: floor !important;
        min-width: 0 !important;
    }

    body.staff-body .waiter-pos-page .pos-table-field {
        grid-area: table !important;
        min-width: 0 !important;
    }

    body.staff-body .waiter-pos-page .pos-notes-field {
        grid-area: notes !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.staff-body .waiter-pos-page .form-label {
        margin: 0 0 4px !important;
        color: #151713 !important;
        font-size: 10px !important;
        font-weight: 850 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel .form-select,
    body.staff-body .waiter-pos-page .pos-setup-panel .form-control {
        height: 40px !important;
        min-height: 40px !important;
        border: 1px solid #E5D9C9 !important;
        border-radius: 7px !important;
        background-color: #FFFFFF !important;
        color: #1D1E1A !important;
        font-size: 14px !important;
        font-weight: 760 !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel textarea.form-control {
        height: 40px !important;
        resize: none !important;
        line-height: 1.25 !important;
    }

    body.staff-body .waiter-pos-page .pos-table-control {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 40px !important;
        gap: 8px !important;
    }

    body.staff-body .waiter-pos-page .pos-table-map-button {
        width: 40px !important;
        height: 40px !important;
        border: 1px solid #E5D9C9 !important;
        border-radius: 7px !important;
        background: #F8F3EA !important;
        color: #063B25 !important;
        font-size: 16px !important;
    }

    body.staff-body .waiter-products-panel {
        min-height: 0 !important;
        height: 100% !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) 44px !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .entry-toolbar {
        min-height: 112px !important;
        display: grid !important;
        grid-template-rows: 48px 44px !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 12px 14px 10px !important;
        border-bottom: 1px solid #ECE2D6 !important;
    }

    body.staff-body .waiter-pos-page .entry-search-wrap {
        position: relative !important;
        height: 44px !important;
        margin: 0 !important;
    }

    body.staff-body .waiter-pos-page .entry-search-wrap i {
        left: 16px !important;
        color: #16351E !important;
        font-size: 18px !important;
    }

    body.staff-body .waiter-pos-page .entry-search-wrap .form-control {
        height: 44px !important;
        padding-left: 45px !important;
        padding-right: 50px !important;
        border: 1px solid #E5D9C9 !important;
        border-radius: 8px !important;
        background: #FFFFFF !important;
        color: #22221D !important;
        font-size: 14px !important;
    }

    body.staff-body .waiter-pos-page .pos-search-shortcut {
        position: absolute !important;
        right: 10px !important;
        top: 50% !important;
        width: 30px !important;
        height: 30px !important;
        transform: translateY(-50%) !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 7px !important;
        background: #F2E9DE !important;
        color: #6B6256 !important;
        font-size: 16px !important;
        font-weight: 900 !important;
    }

    body.staff-body .waiter-pos-page .entry-category-filter {
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 0 8px !important;
        scrollbar-width: thin !important;
    }

    body.staff-body .waiter-pos-page .entry-filter {
        flex: 0 0 auto !important;
        min-height: 38px !important;
        padding: 9px 14px !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: transparent !important;
        color: #161713 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-pos-page .entry-filter.active {
        background: #063B25 !important;
        color: #FFFFFF !important;
        box-shadow: 0 7px 16px rgba(6, 59, 37, .22) !important;
    }

    body.staff-body .waiter-pos-page .order-product-list {
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0 6px !important;
        align-content: start !important;
        padding: 12px 12px 10px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
        scrollbar-width: thin !important;
    }

    body.staff-body .waiter-pos-page .entry-category,
    body.staff-body .waiter-pos-page .entry-product-grid {
        display: contents !important;
    }

    body.staff-body .waiter-pos-page .entry-category[hidden],
    body.staff-body .waiter-pos-page .entry-product[hidden] {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .entry-product {
        position: relative !important;
        min-height: 48px !important;
        height: 48px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 58px 30px !important;
        grid-template-rows: 1fr !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 0 10px 0 14px !important;
        border: 1px solid #E8DDCE !important;
        border-radius: 0 !important;
        background: #FFFFFF !important;
        box-shadow: none !important;
        cursor: pointer !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .entry-product:hover,
    body.staff-body .waiter-pos-page .entry-product:focus {
        z-index: 1 !important;
        outline: none !important;
        border-color: #C9982F !important;
        background: #FFFCF7 !important;
        box-shadow: inset 0 0 0 1px rgba(201, 152, 47, .24) !important;
    }

    body.staff-body .waiter-pos-page .entry-product.just-added {
        transform: none !important;
        background: #F4EFE5 !important;
    }

    body.staff-body .waiter-pos-page .entry-product.in-cart {
        background: #FBF8F1 !important;
        box-shadow: inset 4px 0 0 #C9982F !important;
    }

    body.staff-body .waiter-pos-page .entry-product-media,
    body.staff-body .waiter-pos-page .entry-product-media img,
    body.staff-body .waiter-pos-page .entry-product-desc,
    body.staff-body .waiter-pos-page .pos-product-category,
    body.staff-body .waiter-pos-page .entry-product input[data-note-for],
    body.staff-body .waiter-pos-page .entry-product .qty-input,
    body.staff-body .waiter-pos-page .entry-product .qty-btn[data-qty-step="-1"] {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .entry-product-content,
    body.staff-body .waiter-pos-page .entry-product-main,
    body.staff-body .waiter-pos-page .entry-product-main > div,
    body.staff-body .waiter-pos-page .entry-product-meta {
        display: contents !important;
    }

    body.staff-body .waiter-pos-page .entry-product-name {
        grid-column: 1 !important;
        min-width: 0 !important;
        padding: 0 !important;
        color: #151713 !important;
        font-family: Inter, sans-serif !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .waiter-pos-page .pos-product-price {
        grid-column: 2 !important;
        justify-self: end !important;
        color: #171713 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-pos-page .entry-product .qty-control {
        position: static !important;
        grid-column: 3 !important;
        width: 30px !important;
        height: 30px !important;
        display: block !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.staff-body .waiter-pos-page .entry-product .qty-btn[data-qty-step="1"] {
        width: 30px !important;
        height: 30px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: #063B25 !important;
        color: #FFFFFF !important;
        font-size: 19px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        box-shadow: 0 4px 10px rgba(6, 59, 37, .2) !important;
    }

    body.staff-body .waiter-pos-page .pos-product-qty {
        position: absolute !important;
        top: 3px !important;
        right: 40px !important;
        min-width: 19px !important;
        height: 19px !important;
        display: inline-grid !important;
        place-items: center !important;
        border-radius: 999px !important;
        background: #C9982F !important;
        color: #171713 !important;
        font-size: 10px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-pos-page .pos-product-qty[hidden] {
        display: none !important;
    }

    body.staff-body .waiter-pos-help-strip {
        height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 28px !important;
        padding: 0 14px !important;
        border-top: 1px solid #ECE2D6 !important;
        color: #57544D !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-help-strip i {
        color: #063B25 !important;
        margin-right: 6px !important;
    }

    body.staff-body .waiter-cart-panel {
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        padding: 16px !important;
        overflow: hidden !important;
        border-radius: 8px !important;
    }

    body.staff-body .waiter-cart-panel .card-glass-header {
        min-height: 74px !important;
        margin: 0 !important;
        padding: 0 0 12px !important;
        border-bottom: 1px solid #ECE2D6 !important;
    }

    body.staff-body .waiter-cart-panel .card-glass-header h5 {
        margin: 0 !important;
        color: #151713 !important;
        font-size: 18px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-cart-panel .card-glass-header h5 i {
        color: #C1840A !important;
    }

    body.staff-body .waiter-pos-page .summary-selected-table {
        margin-top: 8px !important;
        color: #0D3B27 !important;
        font-size: 13px !important;
        font-weight: 850 !important;
    }

    body.staff-body .waiter-pos-page .order-entry-count {
        min-height: 28px !important;
        padding: 7px 11px !important;
        border-radius: 7px !important;
        background: #EEE9E1 !important;
        color: #625A51 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
    }

    body.staff-body .waiter-pos-page .pos-clear-cart {
        min-height: 28px !important;
        padding: 6px 9px !important;
        border: 0 !important;
        background: transparent !important;
        color: #D01C12 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
    }

    body.staff-body .waiter-cart-items {
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
        scrollbar-width: thin !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-empty {
        min-height: 220px !important;
        display: grid !important;
        place-items: center !important;
        text-align: center !important;
        color: #625F59 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item {
        position: relative !important;
        min-height: 88px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 70px 78px 26px !important;
        grid-template-areas:
            "name unit total remove"
            "note unit total remove"
            "qty unit total remove" !important;
        gap: 3px 10px !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 10px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #E8DDCE !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item-main {
        grid-area: name !important;
        min-width: 0 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item-main strong {
        display: block !important;
        color: #151713 !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item-main span {
        display: block !important;
        margin-top: 2px !important;
        color: #6A645D !important;
        font-size: 11px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-note {
        grid-area: note !important;
        height: 26px !important;
        min-height: 26px !important;
        margin: 0 !important;
        padding: 4px 8px !important;
        border: 1px solid #E8DDCE !important;
        border-radius: 6px !important;
        background: #FFFCF7 !important;
        color: #302F29 !important;
        font-size: 11px !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-qty {
        grid-area: qty !important;
        width: 88px !important;
        height: 30px !important;
        display: grid !important;
        grid-template-columns: 29px 30px 29px !important;
        border: 1px solid #E8DDCE !important;
        border-radius: 6px !important;
        background: #FAF6EF !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-qty button,
    body.staff-body .waiter-pos-page .pos-cart-qty span {
        width: 100% !important;
        height: 28px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        background: transparent !important;
        color: #063B25 !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        opacity: 1 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-price-stack {
        display: contents !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-price-stack strong {
        grid-area: unit !important;
        justify-self: end !important;
        color: #171713 !important;
        font-size: 12px !important;
        font-weight: 750 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-price-stack span {
        grid-area: total !important;
        justify-self: end !important;
        color: #151713 !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-remove {
        grid-area: remove !important;
        justify-self: end !important;
        width: 24px !important;
        height: 24px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 5px !important;
        background: transparent !important;
        color: #D01C12 !important;
        font-size: 15px !important;
    }

    body.staff-body .waiter-cart-footer {
        padding: 12px 0 0 !important;
        border-top: 1px solid #ECE2D6 !important;
        background: transparent !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-cart-footer .d-flex {
        margin-bottom: 7px !important;
        color: #151713 !important;
        font-size: 13px !important;
    }

    body.staff-body .waiter-cart-footer .d-flex strong {
        color: #151713 !important;
        font-weight: 850 !important;
    }

    body.staff-body .waiter-cart-footer .order-total-line {
        margin: 10px 0 12px !important;
        padding: 12px 14px !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: #F0DDC4 !important;
    }

    body.staff-body .waiter-cart-footer .order-total-line span {
        color: #111 !important;
        font-size: 17px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-cart-footer .order-entry-total {
        color: #111 !important;
        font-size: 23px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack {
        gap: 8px !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack .btn-primary-gold,
    body.staff-body .waiter-pos-page .pos-action-stack .btn {
        min-height: 42px !important;
        padding: 10px 12px !important;
        border-radius: 7px !important;
        font-size: 13px !important;
        font-weight: 900 !important;
    }
}

@media (max-width: 1280px) and (min-width: 901px) {
    body.staff-body:has(.waiter-pos-page) .sidebar {
        width: 150px !important;
    }

    body.staff-body:has(.waiter-pos-page) .main-content {
        margin-left: 150px !important;
        width: calc(100% - 150px) !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar {
        flex-basis: 76px !important;
        min-height: 76px !important;
        padding: 16px 18px 8px !important;
    }

    body.staff-body .content-area:has(.waiter-pos-page) {
        padding: 0 12px 10px !important;
    }

    body.staff-body .waiter-pos-workspace {
        grid-template-columns: minmax(0, 1fr) 315px !important;
        gap: 10px !important;
    }

    body.staff-body .waiter-pos-left {
        grid-template-rows: 68px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel {
        height: 68px !important;
        grid-template-columns: minmax(128px, .38fr) minmax(170px, .52fr) minmax(130px, .4fr) !important;
        gap: 8px !important;
        padding: 9px 10px !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel .form-select,
    body.staff-body .waiter-pos-page .pos-setup-panel .form-control,
    body.staff-body .waiter-pos-page .pos-table-map-button {
        height: 38px !important;
        min-height: 38px !important;
        font-size: 12px !important;
    }

    body.staff-body .waiter-pos-page .pos-table-control {
        grid-template-columns: minmax(0, 1fr) 38px !important;
        gap: 6px !important;
    }

    body.staff-body .waiter-pos-page .entry-toolbar {
        min-height: 104px !important;
        grid-template-rows: 44px 42px !important;
        gap: 8px !important;
        padding: 10px 12px 8px !important;
    }

    body.staff-body .waiter-pos-page .order-product-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0 6px !important;
        padding: 10px !important;
    }

    body.staff-body .waiter-pos-page .entry-product {
        height: 48px !important;
        min-height: 48px !important;
        grid-template-columns: minmax(0, 1fr) 52px 28px !important;
        gap: 6px !important;
        padding: 0 8px 0 10px !important;
    }

    body.staff-body .waiter-pos-page .entry-product-name {
        font-size: 12px !important;
    }

    body.staff-body .waiter-pos-page .pos-product-price {
        font-size: 11px !important;
    }

    body.staff-body .waiter-pos-page .entry-product .qty-control,
    body.staff-body .waiter-pos-page .entry-product .qty-btn[data-qty-step="1"] {
        width: 28px !important;
        height: 28px !important;
    }

    body.staff-body .waiter-pos-help-strip {
        gap: 16px !important;
        font-size: 11px !important;
    }

    body.staff-body .waiter-cart-panel {
        padding: 14px !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item {
        min-height: 64px !important;
        grid-template-columns: minmax(0, 1fr) 50px 58px 20px !important;
        gap: 3px 7px !important;
        padding: 7px 0 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-qty {
        width: 78px !important;
        height: 28px !important;
        grid-template-columns: 26px 26px 26px !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-note {
        height: 22px !important;
        min-height: 22px !important;
        padding: 2px 7px !important;
    }

    body.staff-body .waiter-cart-footer {
        padding-top: 9px !important;
    }

    body.staff-body .waiter-cart-footer .d-flex {
        margin-bottom: 5px !important;
        font-size: 12px !important;
    }

    body.staff-body .waiter-cart-footer .order-total-line {
        margin: 7px 0 9px !important;
        padding: 9px 12px !important;
    }

    body.staff-body .waiter-cart-footer .order-entry-total {
        font-size: 21px !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack .btn-primary-gold,
    body.staff-body .waiter-pos-page .pos-action-stack .btn {
        min-height: 38px !important;
        padding: 8px 10px !important;
        font-size: 12px !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar {
        flex-basis: 72px !important;
        min-height: 72px !important;
        padding: 14px 18px 6px !important;
    }

    body.staff-body:has(.waiter-pos-page) .page-title {
        font-size: 23px !important;
        min-width: 230px !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar-right {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        justify-content: flex-end !important;
        gap: 7px !important;
        flex-wrap: nowrap !important;
    }

    body.staff-body:has(.waiter-pos-page) .display-controls {
        gap: 6px !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar-icon-btn {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
    }

    body.staff-body:has(.waiter-pos-page) .offline-status-pill {
        flex: 0 0 206px !important;
        width: 206px !important;
        min-width: 206px !important;
        height: 34px !important;
        gap: 7px !important;
        padding: 6px 8px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
        flex-wrap: nowrap !important;
        overflow: hidden !important;
    }

    body.staff-body:has(.waiter-pos-page) .offline-sync-btn {
        min-height: 24px !important;
        padding: 4px 8px !important;
        font-size: 11px !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar-status {
        flex: 0 1 168px !important;
        width: 168px !important;
        min-width: 0 !important;
        height: 34px !important;
        gap: 6px !important;
        padding: 6px 8px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }

    body.staff-body:has(.waiter-pos-page) .role-pill {
        padding: 4px 8px !important;
        font-size: 11px !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar-clock {
        font-size: 12px !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar-right > .btn {
        min-height: 34px !important;
        padding: 7px 10px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    body.staff-body .content-area:has(.waiter-pos-page) {
        padding-top: 0 !important;
    }
}

body {
    background-color: var(--bg-dark);
    color: var(--text-main);
    font-family: var(--font-body);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

a {
    color: inherit;
}

[x-cloak] {
    display: none !important;
}

.font-heading {
    font-family: var(--font-heading);
}

/* Scrollbar styling */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--bg-dark);
}
::-webkit-scrollbar-thumb {
    background: var(--primary-color);
    border-radius: var(--radius-sm);
}
::-webkit-scrollbar-thumb:hover {
    background: var(--accent-color);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--text-main);
    font-weight: 600;
}

/* Glassmorphism card container */
.card-glass {
    background: rgba(21, 46, 35, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 24px;
    margin-bottom: 24px;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
}
.card-glass h5,
.card-glass .card-title {
    margin-bottom: 0;
}
.card-glass-header {
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 16px;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* Forms */
.form-control, .form-select {
    background-color: rgba(10, 22, 16, 0.6);
    border: 1px solid rgba(201, 168, 76, 0.3);
    color: var(--text-main) !important;
    border-radius: var(--radius-sm);
    padding: 10px 14px;
    transition: all 0.3s ease;
}
.form-select option,
.form-control option {
    background-color: #10251c;
    color: var(--text-main);
}
.dropdown-menu,
.list-group-item {
    background-color: #10251c;
    color: var(--text-main);
    border-color: var(--border-color);
}
.dropdown-item {
    color: var(--text-main);
}
.dropdown-item:hover,
.dropdown-item:focus {
    background-color: rgba(201, 168, 76, 0.14);
    color: var(--accent-color);
}
.modal-content {
    color: var(--text-main);
}
.form-control:focus, .form-select:focus {
    background-color: rgba(10, 22, 16, 0.9);
    border-color: var(--accent-color);
    box-shadow: 0 0 0 0.25rem rgba(201, 168, 76, 0.25);
}
.form-control::placeholder {
    color: rgba(245, 240, 232, 0.4);
}
.form-label {
    color: var(--text-main);
    font-weight: 500;
    margin-bottom: 6px;
}
.form-check-input {
    background-color: rgba(10, 22, 16, 0.6);
    border: 1px solid var(--border-color);
}
.form-check-input:checked {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
}

/* Buttons */
.btn-primary-gold {
    background-color: var(--accent-color);
    color: var(--primary-dark) !important;
    font-family: var(--font-heading);
    font-weight: 700;
    border: none;
    border-radius: var(--radius-sm);
    padding: 10px 20px;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.btn-primary-gold:hover {
    background-color: var(--accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(201, 168, 76, 0.4);
}
.btn-secondary {
    background-color: transparent;
    color: var(--text-main);
    border: 1px solid var(--text-muted);
    border-radius: var(--radius-sm);
    padding: 10px 20px;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.btn-secondary:hover {
    background-color: rgba(245, 240, 232, 0.1);
    color: var(--text-main);
}
.btn-sm-gold {
    background-color: rgba(201, 168, 76, 0.15);
    color: var(--accent-color);
    border: 1px solid var(--border-color);
    padding: 5px 10px;
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: all 0.2s ease;
    display: inline-block;
}
.btn-sm-gold:hover {
    background-color: var(--accent-color);
    color: var(--primary-dark);
}
.btn-sm-danger {
    background-color: rgba(220, 53, 69, 0.15);
    color: #ff6b6b;
    border: 1px solid rgba(220, 53, 69, 0.3);
    padding: 5px 10px;
    border-radius: var(--radius-sm);
    background-image: none;
    transition: all 0.2s ease;
    cursor: pointer;
}
.btn-sm-danger:hover {
    background-color: #dc3545;
    color: white;
}
.btn-sm-info {
    background-color: rgba(13, 202, 240, 0.15);
    color: #0dcaf0;
    border: 1px solid rgba(13, 202, 240, 0.3);
    padding: 5px 10px;
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: all 0.2s ease;
    display: inline-block;
    cursor: pointer;
    background-image: none;
}
.btn-sm-info:hover {
    background-color: #0dcaf0;
    color: #121212;
}
.table-action-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 220px;
}
.table-action-stack form {
    display: inline-flex;
}
.table-qr-thumb {
    width: 68px;
    height: 68px;
    background: #fff;
    border-radius: 6px;
    padding: 4px;
}
.table-qr-modal {
    background: #10251c;
    border: 1px solid var(--border-color);
}
.table-qr-large {
    width: min(320px, 100%);
    background: #fff;
    border-radius: 8px;
    padding: 10px;
}
.qr-token {
    display: inline-block;
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
}

.bg-gold {
    background-color: var(--accent-color) !important;
}

.border-gold {
    border-color: var(--border-color) !important;
}

/* Sidebar Layout */
.staff-body {
    min-height: 100vh;
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.09), transparent 32rem),
        linear-gradient(135deg, #07110c 0%, var(--bg-dark) 42%, #10251c 100%);
}
.sidebar {
    width: var(--sidebar-width);
    background: linear-gradient(180deg, #0d2117 0%, var(--primary-dark) 100%);
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    transition: all 0.3s ease;
    box-shadow: 12px 0 35px rgba(0, 0, 0, 0.22);
}
.sidebar.collapsed {
    transform: translateX(calc(-1 * var(--sidebar-width)));
}
.sidebar-backdrop {
    display: none;
}
.sidebar-brand {
    min-height: var(--topbar-height);
    padding: 14px 18px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(201, 168, 76, 0.1);
    gap: 12px;
}
.brand-logo {
    width: 58px;
    height: 42px;
    border-radius: 8px;
    object-fit: cover;
    object-position: center;
    border: 1px solid rgba(201, 168, 76, 0.35);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
}
.brand-copy {
    min-width: 0;
}
.brand-icon {
    width: 42px;
    height: 42px;
    margin-right: 12px;
    border-radius: 50%;
    background: var(--accent-color);
    color: var(--primary-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0;
    box-shadow: 0 8px 18px rgba(201, 168, 76, 0.2);
}
.brand-name {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
    color: var(--accent-color);
}
.brand-sub {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--text-muted);
}
.sidebar-nav {
    flex: 1;
    overflow-y: auto;
    padding: 20px 0;
}
.nav-section {
    padding: 10px 24px 5px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--accent-color);
    opacity: 0.7;
    font-weight: 600;
}
.nav-link {
    display: flex;
    align-items: center;
    padding: 12px 24px;
    color: var(--text-muted);
    text-decoration: none;
    transition: all 0.2s ease;
    border-left: 4px solid transparent;
    gap: 12px;
}
.nav-link i {
    font-size: 18px;
    width: 20px;
    text-align: center;
}
.nav-link:hover, .nav-link.active {
    color: var(--text-main);
    background-color: rgba(201, 168, 76, 0.08);
    border-left-color: var(--accent-color);
}
.nav-divider {
    height: 1px;
    background-color: rgba(201, 168, 76, 0.1);
    margin: 15px 0;
}
.sidebar-footer {
    padding: 20px;
    border-top: 1px solid rgba(201, 168, 76, 0.1);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.user-info {
    display: flex;
    align-items: center;
}
.user-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--accent-color);
    color: var(--primary-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-right: 10px;
}
.user-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-main);
}
.user-role {
    font-size: 11px;
    color: var(--text-muted);
}
.btn-logout {
    background: transparent;
    border: none;
    color: var(--text-muted);
    font-size: 20px;
    cursor: pointer;
    transition: color 0.2s;
}
.btn-logout:hover {
    color: #ff6b6b;
}

/* Main Content Area */
.main-content {
    min-height: 100vh;
    margin-left: var(--sidebar-width);
    padding: 28px 32px 40px;
    transition: all 0.3s ease;
    width: calc(100% - var(--sidebar-width));
}
.main-content.expanded {
    margin-left: 0;
    width: 100%;
}
.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: var(--topbar-height);
    margin: -8px 0 24px;
    gap: 16px;
}
.sidebar-toggle {
    width: 44px;
    height: 44px;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(21, 46, 35, 0.8);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--accent-color);
    font-size: 22px;
    cursor: pointer;
}
.page-title {
    margin-bottom: 0;
    font-size: 28px;
}
.topbar-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.topbar-status {
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    background: rgba(21, 46, 35, 0.62);
    color: var(--text-main);
    font-size: 13px;
}
.online-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #2ecc71;
    box-shadow: 0 0 0 4px rgba(46, 204, 113, 0.14);
}
.role-pill {
    color: var(--primary-dark);
    background: var(--accent-color);
    border-radius: 999px;
    padding: 3px 8px;
    font-weight: 800;
}
.topbar-clock {
    color: var(--accent-light);
    font-variant-numeric: tabular-nums;
}
.content-area {
    width: 100%;
}

/* Custom Staff/Admin Table styling */
.table-dark-custom {
    color: var(--text-main);
    margin-bottom: 0;
    vertical-align: middle;
    min-width: 680px;
}
.table-dark-custom th {
    background-color: rgba(15, 36, 25, 0.8) !important;
    border-bottom: 1px solid var(--border-color);
    color: var(--accent-color);
    font-family: var(--font-heading);
    font-weight: 600;
    padding: 14px 16px;
}
.table-dark-custom td {
    background-color: transparent !important;
    border-bottom: 1px solid rgba(201, 168, 76, 0.1);
    padding: 16px;
    color: var(--text-main);
}
.table-dark-custom code {
    color: #f7d774;
}
.table-dark-custom tbody tr:hover td {
    background-color: rgba(201, 168, 76, 0.03) !important;
}
.text-gold {
    color: var(--accent-color) !important;
}
.order-num {
    font-family: monospace;
    font-weight: bold;
    color: var(--accent-color);
}

/* Stats cards */
.stat-card {
    background: rgba(21, 46, 35, 0.7);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 20px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}
.stat-card::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 100%;
}
.stat-card.gold::after { background-color: var(--accent-color); }
.stat-card.green::after { background-color: #1B4D3E; }
.stat-card.amber::after { background-color: #D97706; }
.stat-card.teal::after { background-color: #0d9488; }

.stat-icon {
    font-size: 24px;
    color: var(--accent-color);
    margin-bottom: 10px;
}
.stat-value {
    font-size: 32px;
    font-family: var(--font-heading);
    font-weight: bold;
    margin-bottom: 4px;
}
.stat-label {
    font-size: 13px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Badges and tags */
.role-badge {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
}
.role-admin { background-color: rgba(201, 168, 76, 0.2); color: var(--accent-color); }
.role-waiter { background-color: rgba(13, 202, 240, 0.2); color: #0dcaf0; }
.role-cashier { background-color: rgba(25, 135, 84, 0.2); color: #198754; }

/* Staff cards that use Bootstrap classes */
.staff-body .card.bg-dark,
.staff-body .card-dark {
    background: rgba(15, 36, 25, 0.82) !important;
    border-color: var(--border-color) !important;
    border-radius: var(--radius-md);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}

.staff-body .badge {
    border-radius: 6px;
    font-weight: 700;
}
.staff-body .badge.bg-primary,
.staff-body .badge.bg-success,
.staff-body .badge.bg-danger,
.staff-body .badge.bg-info,
.staff-body .badge.bg-secondary {
    color: #fff !important;
}
.staff-body .badge.bg-warning,
.staff-body .badge.text-dark {
    color: #111 !important;
}

.staff-body .btn-outline-light {
    color: var(--text-main);
    border-color: rgba(245, 240, 232, 0.35);
}
.staff-body .btn-outline-light:hover {
    background: rgba(245, 240, 232, 0.12);
    color: var(--text-main);
}
.staff-body .btn-warning,
.staff-body .btn-outline-warning:hover,
.staff-body .btn-check:checked + .btn-outline-warning {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
    color: var(--primary-dark) !important;
}
.staff-body .btn-outline-warning {
    border-color: rgba(201, 168, 76, 0.55);
    color: var(--accent-color);
}
.staff-body .text-muted {
    color: var(--text-muted) !important;
}

/* Cashier detail pages */
.cashier-order-detail .card-glass,
.cashier-checkout .card-glass {
    height: 100%;
}
.order-summary-panel {
    position: sticky;
    top: 24px;
}
.order-total-line {
    background: rgba(201, 168, 76, 0.08);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    padding: 12px 14px;
}

/* Manual POS / waiter order entry */
.order-type-toggle {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.order-type-toggle .btn {
    min-width: 150px;
}
.order-product-list {
    display: grid;
    gap: 24px;
}
.entry-toolbar {
    display: grid;
    gap: 14px;
}
.entry-search-wrap {
    position: relative;
}
.entry-search-wrap i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--accent-color);
}
.entry-search-wrap .form-control {
    padding-left: 42px;
}
.entry-category-filter {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
}
.entry-filter {
    border: 1px solid rgba(201, 168, 76, 0.35);
    background: rgba(10, 22, 16, 0.44);
    color: var(--text-main);
    border-radius: 999px;
    padding: 8px 14px;
    white-space: nowrap;
}
.entry-filter.active,
.entry-filter:hover {
    background: var(--accent-color);
    color: var(--primary-dark);
    border-color: var(--accent-color);
}
.entry-category-title {
    color: var(--accent-color);
    border-bottom: 1px solid rgba(201, 168, 76, 0.16);
    padding-bottom: 8px;
    margin-bottom: 14px;
}
.entry-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
}
.entry-product {
    background: rgba(10, 22, 16, 0.44);
    border: 1px solid rgba(201, 168, 76, 0.16);
    border-radius: var(--radius-sm);
    min-height: 172px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 92px 1fr;
}
.entry-product[hidden],
.entry-category[hidden] {
    display: none !important;
}
.entry-product-media {
    background: rgba(201, 168, 76, 0.08);
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent-color);
    font-size: 28px;
}
.entry-product-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.entry-product-content {
    padding: 14px;
}
.entry-product-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}
.entry-product-name {
    color: var(--text-main);
    font-weight: 700;
}
.entry-product-meta {
    color: var(--text-muted);
    font-size: 12px;
    margin-top: 4px;
}
.entry-product-desc {
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.35;
    margin-top: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.qty-control {
    display: grid;
    grid-template-columns: 34px 58px 34px;
    gap: 6px;
    flex: 0 0 auto;
}
.qty-btn {
    width: 34px;
    height: 34px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-color);
    background: rgba(201, 168, 76, 0.12);
    color: var(--accent-color);
    font-weight: 800;
    line-height: 1;
}
.qty-btn:hover {
    background: var(--accent-color);
    color: var(--primary-dark);
}
.qty-input {
    height: 34px;
    text-align: center;
    padding: 4px;
}
.order-entry-summary {
    display: grid;
    gap: 8px;
    max-height: 240px;
    overflow-y: auto;
    padding-right: 4px;
}
.entry-summary-line,
.entry-payment-preview div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.entry-summary-line {
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(201, 168, 76, 0.08);
}
.pos-payment-box {
    background: rgba(10, 22, 16, 0.38);
    border: 1px solid rgba(201, 168, 76, 0.16);
    border-radius: var(--radius-sm);
    padding: 14px;
}
.entry-payment-preview {
    display: grid;
    gap: 6px;
    font-size: 13px;
    color: var(--text-muted);
}
.entry-payment-preview strong {
    color: var(--accent-color);
}

/* Login Page Styling */
.login-body {
    background: radial-gradient(circle at center, var(--primary-color) 0%, var(--bg-dark) 80%);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
}
.login-container {
    width: 100%;
    max-width: 440px;
    padding: 20px;
}
.login-card {
    background: rgba(15, 36, 25, 0.85);
    backdrop-filter: blur(20px);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: 40px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
}
.login-brand {
    text-align: center;
    margin-bottom: 30px;
}
.login-logo {
    font-size: 48px;
    margin-bottom: 10px;
}
.login-logo-img {
    width: 100%;
    max-width: 320px;
    aspect-ratio: 1280 / 416;
    object-fit: cover;
    object-position: center;
    border-radius: 14px;
    border: 1px solid rgba(201, 168, 76, 0.35);
    margin-bottom: 18px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28);
}
.login-title {
    font-family: var(--font-heading);
    font-size: 32px;
    color: var(--accent-color);
    margin-bottom: 4px;
}
.login-subtitle {
    color: var(--text-muted);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 2px;
}
.form-group {
    margin-bottom: 20px;
}
.input-wrapper {
    position: relative;
}
.input-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--accent-color);
    font-size: 18px;
}
.input-wrapper .form-control {
    padding-left: 45px;
}
.btn-login {
    width: 100%;
    background-color: var(--accent-color);
    color: var(--primary-dark);
    font-family: var(--font-heading);
    font-weight: 700;
    border: none;
    border-radius: var(--radius-sm);
    padding: 12px;
    font-size: 16px;
    transition: all 0.3s ease;
    margin-top: 10px;
    cursor: pointer;
}
.btn-login:hover {
    background-color: var(--accent-hover);
    box-shadow: 0 4px 15px rgba(201, 168, 76, 0.4);
}
.login-demo {
    margin-top: 30px;
    border-top: 1px solid rgba(201, 168, 76, 0.1);
    padding-top: 20px;
}
.demo-title {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--accent-color);
    margin-bottom: 10px;
    text-align: center;
}
.demo-cred {
    font-size: 12px;
    color: var(--text-muted);
    text-align: center;
    margin-bottom: 4px;
    background: rgba(10, 22, 16, 0.5);
    padding: 6px;
    border-radius: 4px;
}

/* Mobile-first Customer QR Menu Styling */
.customer-body {
    background-color: var(--bg-dark);
}
.menu-header {
    background: linear-gradient(180deg, var(--primary-dark) 0%, rgba(10, 22, 16, 0.95) 100%);
    border-bottom: 1px solid var(--border-color);
    padding: 24px 16px;
    text-align: center;
    position: sticky;
    top: 0;
    z-index: 100;
}
.menu-brand-logo {
    width: min(360px, 88vw);
    aspect-ratio: 1280 / 416;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
    border: 1px solid rgba(201, 168, 76, 0.34);
    display: block;
    margin: 0 auto 14px;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.28);
}
.menu-header-logo {
    font-size: 32px;
    margin-bottom: 6px;
}
.menu-header-title {
    font-family: var(--font-heading);
    font-size: 24px;
    color: var(--accent-color);
    margin-bottom: 2px;
}
.menu-header-sub {
    font-size: 12px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 2px;
}
.menu-table-badge {
    display: inline-flex;
    align-items: center;
    margin-top: 12px;
    padding: 8px 14px;
    background: var(--accent-color);
    color: var(--primary-dark);
    border-radius: 999px;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(201, 168, 76, 0.18);
}
.menu-search-shell {
    background: rgba(21, 46, 35, 0.82);
    border-bottom: 1px solid rgba(201, 168, 76, 0.14);
    padding: 12px 16px;
    position: sticky;
    top: 105px;
    z-index: 99;
}
.menu-search-box {
    position: relative;
    max-width: 760px;
    margin: 0 auto;
}
.menu-search-box i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--accent-color);
}
.menu-search-box .form-control {
    padding-left: 42px;
}

.category-tabs-wrapper {
    position: sticky;
    top: 165px;
    z-index: 98;
    background-color: var(--bg-dark);
    padding: 10px 0;
    border-bottom: 1px solid rgba(201, 168, 76, 0.1);
}
.category-tabs {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    padding: 0 16px;
    gap: 10px;
}
/* Hide scrollbar for category tabs */
.category-tabs::-webkit-scrollbar {
    display: none;
}
.category-tab {
    background: rgba(21, 46, 35, 0.6);
    border: 1px solid rgba(201, 168, 76, 0.2);
    color: var(--text-muted);
    padding: 8px 16px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.3s;
}
.category-tab.active {
    background-color: var(--accent-color);
    color: var(--primary-dark);
    border-color: var(--accent-color);
    font-weight: 600;
}
.menu-no-results {
    color: var(--text-muted);
    text-align: center;
    padding: 32px 16px;
}

.menu-section {
    padding: 24px 16px;
}
.section-title {
    font-family: var(--font-heading);
    font-size: 20px;
    color: var(--accent-color);
    border-bottom: 1px solid rgba(201, 168, 76, 0.15);
    padding-bottom: 8px;
    margin-bottom: 20px;
}

.product-card {
    background: rgba(21, 46, 35, 0.5);
    border: 1px solid rgba(201, 168, 76, 0.15);
    border-radius: var(--radius-md);
    overflow: hidden;
    margin-bottom: 16px;
    transition: all 0.3s ease;
    display: flex;
}
.product-card:hover {
    border-color: var(--accent-color);
    transform: translateY(-2px);
}
.product-card-img {
    width: 100px;
    min-width: 100px;
    height: 100px;
    object-fit: cover;
}
.product-card-no-img {
    width: 100px;
    min-width: 100px;
    height: 100px;
    background: #11281E;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(245, 240, 232, 0.2);
}
.product-card-body {
    padding: 14px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.product-card-title {
    font-family: var(--font-heading);
    font-size: 16px;
    margin-bottom: 4px;
    color: var(--text-main);
}
.product-card-desc {
    font-size: 12px;
    color: var(--text-muted);
    margin-bottom: 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.product-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.product-card-price {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--accent-color);
    font-size: 15px;
}
.btn-add-cart {
    background-color: var(--accent-color);
    color: var(--primary-dark);
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.2s;
}
.btn-add-cart:active {
    transform: scale(0.9);
}

/* Floating Cart Button */
.floating-cart-btn {
    position: fixed;
    bottom: 24px;
    right: 24px;
    background-color: var(--accent-color);
    color: var(--primary-dark) !important;
    border-radius: 50px;
    padding: 14px 24px;
    font-family: var(--font-heading);
    font-weight: 700;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 1000;
    text-decoration: none !important;
    transition: all 0.3s ease;
}
.floating-cart-btn:hover {
    background-color: var(--accent-hover);
    transform: translateY(-2px);
}
.cart-badge {
    background-color: var(--primary-dark);
    color: var(--accent-color);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

/* Responsive staff shell */
@media (max-width: 991.98px) {
    .sidebar {
        transform: translateX(calc(-1 * var(--sidebar-width)));
    }
    .sidebar.active {
        transform: translateX(0);
    }
    .sidebar-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1030;
        background: rgba(0, 0, 0, 0.55);
        backdrop-filter: blur(2px);
    }
    body.sidebar-open .sidebar-backdrop {
        display: block;
    }
    .main-content {
        margin-left: 0;
        width: 100%;
        padding: 18px;
    }
    .sidebar-toggle {
        display: inline-flex;
        flex: 0 0 auto;
    }
    .topbar {
        align-items: flex-start;
        min-height: auto;
        margin-top: 0;
    }
    .page-title {
        font-size: 24px;
        line-height: 1.2;
    }
    .topbar-right {
        width: 100%;
        margin-left: 0;
    }
    .card-glass {
        padding: 18px;
    }
    .table-dark-custom {
        min-width: 600px;
    }
    .order-summary-panel {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .main-content {
        padding: 14px;
    }
    .topbar {
        flex-wrap: wrap;
    }
    .page-title {
        flex: 1;
        min-width: 0;
        font-size: 22px;
    }
    .card-glass-header {
        align-items: flex-start;
    }
    .product-card {
        min-height: 116px;
    }
    .product-card-img,
    .product-card-no-img {
        width: 92px;
        min-width: 92px;
        height: 116px;
    }
    .entry-product-grid {
        grid-template-columns: 1fr;
    }
    .entry-product {
        grid-template-columns: 82px 1fr;
    }
}

/* Palace Emerald final branding system */
:root {
    --palace-emerald-950: #071F18;
    --palace-emerald-900: #0B2E23;
    --palace-emerald-800: #123F31;
    --palace-emerald-700: #1B5643;
    --palace-emerald-600: #2A6B55;
    --palace-gold-700: #9A7426;
    --palace-gold-600: #B58A32;
    --palace-gold-500: #C9A84C;
    --palace-gold-300: #E1CB8C;
    --palace-ivory: #F8F2E4;
    --palace-cream: #EFE5CF;
    --palace-surface: #FFFDF7;
    --palace-text: #18251F;
    --palace-muted: #68736D;
    --palace-border: #D9CBAA;
    --success: #2E7D57;
    --warning: #D29532;
    --danger: #B84646;
    --info: #397B8B;
    --brand-green: var(--palace-emerald-700);
    --brand-green-light: var(--palace-emerald-600);
    --brand-green-soft: #E8F0EA;
    --brand-gold: var(--palace-gold-500);
    --brand-gold-light: var(--palace-gold-300);
    --background: var(--palace-ivory);
    --surface: var(--palace-surface);
    --surface-soft: #F3ECD9;
    --text-primary: var(--palace-text);
    --text-secondary: var(--palace-muted);
    --border: var(--palace-border);
    --font-heading: "Cormorant Garamond", "Playfair Display", Georgia, serif;
    --font-body: "Inter", "Tajawal", Arial, sans-serif;
    --radius-md: 12px;
    --radius-lg: 18px;
    --shadow-soft: 0 18px 44px rgba(7, 31, 24, 0.09);
    --shadow-card: 0 12px 28px rgba(7, 31, 24, 0.12);
}

body {
    font-family: var(--font-body);
    letter-spacing: 0;
}

h1, h2, h3, h4, h5, h6,
.page-title,
.menu-header-title,
.login-title,
.section-title {
    font-family: var(--font-heading);
    letter-spacing: 0;
}

.restaurant-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}
.restaurant-logo img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.restaurant-logo-fallback {
    font-family: var(--font-heading);
    font-weight: 700;
    color: inherit;
    line-height: 1.05;
}
.restaurant-logo-sidebar {
    width: 54px;
    height: 54px;
    padding: 4px;
    border-radius: 10px;
    background: rgba(255, 253, 247, 0.08);
    border: 1px solid rgba(225, 203, 140, 0.45);
}
.restaurant-logo-sidebar img {
    border-radius: 8px;
}
.restaurant-logo-login {
    width: min(320px, 82vw);
    min-height: 96px;
    margin: 0 auto 14px;
}
.restaurant-logo-login img {
    border-radius: 14px;
}
.restaurant-logo-menu-header {
    width: min(360px, 84vw);
    min-height: 98px;
    margin: 0 auto 10px;
}
.restaurant-logo-menu-header img {
    border-radius: 16px;
    filter: drop-shadow(0 16px 28px rgba(0, 0, 0, 0.28));
}

.sidebar {
    background:
        linear-gradient(180deg, rgba(225, 203, 140, 0.08), transparent 22%),
        linear-gradient(180deg, var(--palace-emerald-900), var(--palace-emerald-950)) !important;
    border-right: 1px solid rgba(225, 203, 140, 0.28);
}
.sidebar-brand {
    border-bottom: 1px solid rgba(225, 203, 140, 0.24);
}
.brand-copy {
    min-width: 0;
}
.brand-name {
    color: var(--palace-gold-300) !important;
    font-family: var(--font-heading);
    font-size: 22px;
    line-height: 1;
    white-space: normal;
}
.brand-sub,
.nav-section {
    color: rgba(248, 242, 228, 0.74) !important;
}
.nav-link {
    min-height: 44px;
    color: rgba(255, 253, 247, 0.88) !important;
}
.nav-link:hover,
.nav-link.active {
    background: linear-gradient(90deg, rgba(225, 203, 140, 0.2), rgba(255, 253, 247, 0.08)) !important;
    color: #fffdf7 !important;
    border-left-color: var(--palace-gold-300) !important;
}
.nav-link i {
    color: var(--palace-gold-300);
}

.staff-body {
    background:
        radial-gradient(circle at 95% 4%, rgba(181, 138, 50, 0.16), transparent 28rem),
        linear-gradient(180deg, #FFFCF4 0%, var(--palace-ivory) 100%) !important;
}
.content-area {
    max-width: 1480px;
}
.topbar {
    background: rgba(248, 242, 228, 0.84);
    border: 1px solid rgba(217, 203, 170, 0.78);
    box-shadow: 0 12px 26px rgba(7, 31, 24, 0.06);
    backdrop-filter: blur(12px);
}
.page-title {
    color: var(--palace-emerald-900) !important;
}
.card-glass,
.stat-card,
.modal-content,
.dropdown-menu,
.list-group-item {
    background: var(--palace-surface) !important;
    color: var(--palace-text) !important;
    border: 1px solid var(--palace-border) !important;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
}
.card-glass-header {
    border-bottom: 1px solid var(--palace-border);
}
.card-glass h5,
.card-glass .card-title,
.section-title,
.entry-product-name,
.product-card-title {
    color: var(--palace-emerald-800) !important;
}

.form-control,
.form-select {
    min-height: 44px;
    background: #fffef9 !important;
    color: var(--palace-text) !important;
    border: 1px solid var(--palace-border) !important;
    border-radius: 10px;
}
.form-control:focus,
.form-select:focus {
    border-color: var(--palace-emerald-600) !important;
    box-shadow: 0 0 0 0.22rem rgba(42, 107, 85, 0.16) !important;
}
.form-label {
    color: var(--palace-text) !important;
    font-weight: 700;
}
.form-text,
.text-muted,
.entry-product-desc,
.product-card-desc {
    color: var(--palace-muted) !important;
}
.form-select option,
.dropdown-item {
    color: var(--palace-text);
    background: #fffef9;
}

.btn-primary-gold,
.btn-login,
.btn-add-cart,
.floating-cart-btn {
    min-height: 44px;
    background: linear-gradient(180deg, var(--palace-gold-300), var(--palace-gold-600)) !important;
    color: var(--palace-emerald-950) !important;
    border: 1px solid rgba(154, 116, 38, 0.68) !important;
    border-radius: 10px;
    box-shadow: 0 10px 18px rgba(154, 116, 38, 0.18);
}
.btn-primary-gold:hover,
.btn-login:hover,
.btn-add-cart:hover,
.floating-cart-btn:hover {
    background: linear-gradient(180deg, #ecd894, var(--palace-gold-500)) !important;
    color: var(--palace-emerald-950) !important;
    transform: translateY(-1px);
}
.btn-secondary,
.btn-sm-gold,
.btn-sm-info,
.category-tab,
.entry-filter {
    min-height: 40px;
    background: #fffef9 !important;
    color: var(--palace-emerald-800) !important;
    border: 1px solid var(--palace-border) !important;
    border-radius: 999px;
}
.category-tab.active,
.entry-filter.active,
.entry-filter:hover {
    background: var(--palace-emerald-800) !important;
    color: #fffdf7 !important;
    border-color: var(--palace-gold-500) !important;
}

.table-dark-custom {
    background: var(--palace-surface);
    color: var(--palace-text);
}
.table-dark-custom th {
    background: var(--palace-emerald-800) !important;
    color: #fffdf7 !important;
    border-bottom: 2px solid var(--palace-gold-500);
}
.table-dark-custom td {
    color: var(--palace-text) !important;
    background: #fffdf7;
    border-color: var(--palace-border);
}
.table-dark-custom tbody tr:hover td {
    background: #f6efdc !important;
}
.badge,
.role-badge {
    letter-spacing: 0;
}

.login-body {
    background:
        radial-gradient(circle at 85% 18%, rgba(181, 138, 50, 0.22), transparent 25rem),
        linear-gradient(135deg, var(--palace-emerald-950), var(--palace-emerald-800) 48%, var(--palace-cream)) !important;
}
.login-card {
    border: 1px solid rgba(225, 203, 140, 0.42) !important;
    border-radius: 18px;
}
.login-title {
    color: var(--palace-emerald-900) !important;
    font-size: clamp(2rem, 5vw, 3.2rem);
}

.customer-body {
    background:
        radial-gradient(circle at 94% 10%, rgba(181, 138, 50, 0.14), transparent 22rem),
        var(--palace-ivory) !important;
}
.menu-header {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(145deg, rgba(7, 31, 24, 0.98), rgba(18, 63, 49, 0.95) 58%, rgba(27, 86, 67, 0.92)) !important;
    border-bottom: 1px solid rgba(225, 203, 140, 0.38);
    padding: clamp(24px, 6vw, 54px) 16px clamp(20px, 5vw, 40px);
}
.menu-header::before,
.menu-header::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(225, 203, 140, 0.22);
    transform: rotate(45deg);
    pointer-events: none;
}
.menu-header::before {
    left: -120px;
    top: -120px;
}
.menu-header::after {
    right: -118px;
    bottom: -130px;
}
.menu-header > * {
    position: relative;
    z-index: 1;
}
.menu-header-title {
    color: var(--palace-gold-300) !important;
    font-size: clamp(2.2rem, 9vw, 5.2rem);
    line-height: .95;
}
.menu-header-sub {
    color: rgba(255, 253, 247, 0.86) !important;
    font-size: clamp(.86rem, 2.5vw, 1rem);
}
.palace-divider {
    width: min(300px, 72vw);
    height: 1px;
    margin: 14px auto;
    background: linear-gradient(90deg, transparent, var(--palace-gold-300), transparent);
}
.menu-table-badge {
    background: rgba(255, 253, 247, 0.08) !important;
    color: var(--palace-gold-300) !important;
    border: 1px solid rgba(225, 203, 140, 0.55) !important;
}
.menu-search-shell {
    top: 0;
    background: rgba(248, 242, 228, 0.92) !important;
    border-bottom: 1px solid var(--palace-border);
}
.menu-search-box .form-control {
    background: #fffdf7 !important;
    border-color: var(--palace-border) !important;
}
.menu-search-box i {
    color: var(--palace-emerald-700);
}
.category-tabs-wrapper {
    background: rgba(248, 242, 228, 0.92) !important;
}
.product-card,
.entry-product {
    background: var(--palace-surface) !important;
    border-color: var(--palace-border) !important;
    border-radius: 14px;
    box-shadow: var(--shadow-card);
}
.product-card-img,
.product-card-no-img {
    border-radius: 12px 0 0 12px;
    background: var(--brand-green-soft);
}
.product-card-price {
    color: var(--palace-gold-700) !important;
    font-size: 1.18rem;
}
.availability-badge {
    background: #E7F0EA;
    color: var(--success);
}
.modal-dialog-centered .modal-content {
    border-radius: 18px;
}
.product-detail-hero {
    border-radius: 14px;
}
.order-items-list .border-bottom {
    border-color: var(--palace-border) !important;
}
.offline-customer-bar,
.offline-status-pill {
    background: var(--palace-emerald-900) !important;
    color: #fffdf7 !important;
    border-color: rgba(225, 203, 140, 0.28) !important;
}
.offline-customer-bar button,
.offline-sync-btn {
    color: var(--palace-gold-300) !important;
}

.settings-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
    gap: 24px;
    align-items: start;
}
.settings-main-card {
    max-width: none !important;
}
.branding-upload-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: end;
    padding: 16px;
    background: #fbf6e8;
    border: 1px solid var(--palace-border);
    border-radius: 14px;
}
.brand-remove-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    color: var(--palace-text);
    font-weight: 700;
}
.branding-preview-card {
    position: sticky;
    top: 92px;
}
.branding-preview-hero {
    display: grid;
    gap: 14px;
    padding: 22px;
    border-radius: 16px;
    background:
        linear-gradient(145deg, rgba(7,31,24,.96), rgba(27,86,67,.9));
    color: #fffdf7;
    border: 1px solid rgba(225,203,140,.38);
}
.branding-preview-hero h3 {
    color: var(--palace-gold-300) !important;
    font-size: clamp(1.7rem, 4vw, 2.5rem);
    margin: 0;
}
.branding-preview-hero p {
    color: rgba(255,253,247,.76);
    margin: 0;
}
.preview-kicker {
    color: var(--palace-gold-300);
    font-weight: 800;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .08em;
}
.branding-preview-surface {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}
.preview-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--palace-border);
    border-radius: 12px;
    background: #fffdf7;
}
.preview-row span {
    color: var(--palace-muted);
}

@media (max-width: 991.98px) {
    .settings-grid {
        grid-template-columns: 1fr;
    }
    .branding-preview-card {
        position: static;
    }
    .sidebar {
        box-shadow: 14px 0 30px rgba(7, 31, 24, 0.22);
    }
}

@media (max-width: 575.98px) {
    .topbar {
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }
    .branding-upload-box,
    .preview-row {
        grid-template-columns: 1fr;
    }
    .brand-remove-check {
        align-items: flex-start;
    }
    .restaurant-logo-sidebar {
        width: 48px;
        height: 48px;
    }
    .product-card {
        grid-template-columns: 104px minmax(0, 1fr);
    }
    .product-card-img,
    .product-card-no-img {
        width: 104px;
        min-width: 104px;
    }
}

.offline-status-pill,
.offline-customer-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 700;
}
.offline-customer-bar {
    position: sticky;
    top: 0;
    z-index: 1030;
    justify-content: center;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
}
.offline-status-pill [data-network-status].offline,
.offline-customer-bar [data-network-status].offline {
    color: var(--danger);
}
.offline-sync-btn,
.offline-customer-bar button {
    border: 1px solid var(--brand-gold);
    background: var(--brand-gold);
    color: #1f2d27;
    border-radius: 6px;
    padding: 3px 8px;
    font-weight: 800;
}
.offline-sync-meta {
    margin-top: 14px;
    color: var(--text-secondary);
    font-size: 12px;
}
.offline-sync-meta.customer-meta {
    text-align: center;
    margin: 18px 0 90px;
}
.offline-toast {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 3000;
    max-width: min(360px, calc(100vw - 36px));
    padding: 12px 14px;
    border-radius: 8px;
    background: var(--brand-green);
    color: #fff;
    box-shadow: 0 14px 34px rgba(36, 49, 44, 0.24);
    font-weight: 700;
}
.offline-toast.error {
    background: var(--danger);
}
html[data-network-state="offline"] .btn-primary-gold::after,
html[data-network-state="offline"] .btn-login::after {
    content: "";
}
@media (max-width: 575.98px) {
    .offline-status-pill {
        width: 100%;
        justify-content: center;
    }
}

/* Print CSS */
@media print {
    body, html {
        background: #fff !important;
        color: #000 !important;
    }
    .sidebar, .topbar, .btn-primary-gold, .btn-secondary, .alert, .no-print {
        display: none !important;
    }
    .main-content {
        margin-left: 0 !important;
        padding: 0 !important;
    }
    .card-glass {
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .receipt-80mm {
        width: 80mm !important;
        max-width: 80mm !important;
        padding: 5mm !important;
        margin: 0 auto !important;
        font-family: 'Courier New', Courier, monospace !important;
        color: #000 !important;
        background: #fff !important;
    }
    .receipt-divider {
        border-top: 1px dashed #000 !important;
        margin: 4mm 0 !important;
    }
    .receipt-title {
        font-size: 18px !important;
        font-weight: bold !important;
        text-align: center !important;
        text-transform: uppercase !important;
    }
    .receipt-center {
        text-align: center !important;
        font-size: 12px !important;
    }
    .receipt-table {
        width: 100% !important;
        font-size: 12px !important;
        border-collapse: collapse !important;
    }
    .receipt-table th, .receipt-table td {
        padding: 2px 0 !important;
    }
    .text-right {
        text-align: right !important;
    }
}

/* Pulse animation utility */
@keyframes pulse {
    0% { opacity: 1; }
    50% { opacity: 0.4; }
    100% { opacity: 1; }
}
.animate-pulse {
    animation: pulse 1.5s infinite;
}

.order-items-list {
    max-height: 280px;
    overflow-y: auto;
    padding-right: 6px;
}

/* Final delivery light restaurant theme overrides */
:root {
    --brand-green: #315C4C;
    --brand-green-light: #5F8777;
    --brand-green-soft: #E7EFEA;
    --brand-gold: #C9A84C;
    --brand-gold-light: #E8D59A;
    --background: #F7F4EC;
    --surface: #FFFFFF;
    --surface-soft: #F1EEE5;
    --text-primary: #24312C;
    --text-secondary: #66736D;
    --border: #DDD8CB;
    --success: #2F855A;
    --danger: #C94A4A;
    --warning: #D79B32;
    --primary-color: var(--brand-green);
    --primary-dark: #24483B;
    --primary-light: var(--brand-green-light);
    --accent-color: var(--brand-gold);
    --accent-light: var(--brand-gold-light);
    --accent-hover: #B99435;
    --bg-dark: var(--background);
    --surface-color: var(--surface);
    --surface-light: var(--surface-soft);
    --text-main: var(--text-primary);
    --text-muted: var(--text-secondary);
    --border-color: var(--border);
    --radius-md: 14px;
    --shadow-soft: 0 12px 30px rgba(36, 49, 44, 0.08);
}

body,
.staff-body,
.customer-body {
    background: var(--background) !important;
    color: var(--text-primary);
}

h1, h2, h3, h4, h5, h6,
.page-title,
.entry-product-name,
.product-card-title,
.user-name {
    color: var(--text-primary);
}

.staff-body {
    background:
        radial-gradient(circle at top right, rgba(201, 168, 76, 0.16), transparent 28rem),
        linear-gradient(180deg, #fbfaf5 0%, var(--background) 100%) !important;
}

.sidebar {
    background: linear-gradient(180deg, #315C4C 0%, #24483B 100%);
    border-right-color: rgba(201, 168, 76, 0.3);
}
.brand-name,
.nav-section {
    color: var(--brand-gold-light);
}
.brand-sub,
.nav-link,
.user-role,
.btn-logout {
    color: rgba(248, 245, 237, 0.82);
}
.nav-link:hover,
.nav-link.active {
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    border-left-color: var(--brand-gold-light);
}

.main-content {
    background: transparent;
}
.topbar-status,
.card-glass,
.stat-card,
.staff-body .card.bg-dark,
.staff-body .card-dark {
    background: var(--surface) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-soft);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.card-glass-header {
    border-bottom-color: var(--border);
}
.topbar-status {
    box-shadow: 0 6px 18px rgba(36, 49, 44, 0.06);
}
.topbar-clock,
.text-gold,
.order-num,
.product-card-price,
.entry-payment-preview strong {
    color: #9A7628 !important;
}

.form-control,
.form-select {
    background: #fff;
    color: var(--text-primary) !important;
    border-color: var(--border);
}
.form-control:focus,
.form-select:focus {
    background: #fff;
    border-color: var(--brand-gold);
}
.form-control::placeholder {
    color: #8B9891;
}
.form-label,
.staff-body .text-muted,
.text-muted,
.staff-body .text-white-50,
.entry-product-meta,
.entry-product-desc,
.product-card-desc {
    color: var(--text-secondary) !important;
}
.form-select option,
.form-control option,
.dropdown-menu,
.list-group-item {
    background: #fff;
    color: var(--text-primary);
}

.btn-primary-gold,
.btn-login,
.floating-cart-btn,
.category-tab.active,
.entry-filter.active,
.entry-filter:hover,
.btn-add-cart,
.menu-table-badge {
    background: var(--brand-gold);
    color: #1f2d27 !important;
    border-color: var(--brand-gold);
}
.btn-secondary,
.staff-body .btn-outline-light,
.staff-body .btn-outline-warning,
.category-tab,
.entry-filter,
.btn-sm-gold,
.btn-sm-info {
    background: #fff;
    color: var(--brand-green);
    border-color: var(--border);
}
.btn-sm-gold:hover,
.btn-sm-info:hover,
.staff-body .btn-outline-light:hover,
.staff-body .btn-outline-warning:hover {
    background: var(--brand-green-soft);
    color: var(--brand-green);
}

.table-dark-custom {
    color: var(--text-primary);
}
.table-dark-custom th {
    background: var(--brand-green-soft) !important;
    color: var(--brand-green);
    border-bottom-color: var(--border);
}
.table-dark-custom td {
    color: var(--text-primary);
    border-bottom-color: var(--border);
}
.table-dark-custom tbody tr:hover td {
    background: #fbfaf5 !important;
}
.table-dark-custom code,
.qr-token {
    color: #7b5b17;
}

.role-badge.role-cashier,
.role-badge.role-waiter,
.role-badge.role-admin {
    color: var(--brand-green);
    background: var(--brand-green-soft);
}

.login-body {
    background:
        radial-gradient(circle at 80% 20%, rgba(201, 168, 76, 0.22), transparent 24rem),
        linear-gradient(135deg, #fbfaf5 0%, var(--background) 55%, #eaf2ed 100%) !important;
}
.login-card {
    background: var(--surface);
    color: var(--text-primary);
    border-color: var(--border);
    box-shadow: 0 20px 50px rgba(36, 49, 44, 0.14);
    backdrop-filter: none;
}
.login-title {
    color: var(--brand-green);
}
.login-subtitle,
.demo-cred {
    color: var(--text-secondary);
}
.demo-cred {
    background: var(--surface-soft);
}

.customer-body {
    background: var(--background) !important;
}
.menu-header {
    background:
        linear-gradient(180deg, rgba(49, 92, 76, 0.94), rgba(49, 92, 76, 0.86)),
        url('/images/al-rabia-logo.jpeg') center/cover;
    color: #fff;
}
.menu-header-title {
    color: var(--brand-gold-light);
}
.menu-header-sub {
    color: rgba(248, 245, 237, 0.9);
}
.menu-search-shell,
.category-tabs-wrapper {
    background: rgba(247, 244, 236, 0.96);
    border-bottom-color: var(--border);
    backdrop-filter: blur(10px);
}
.category-tab {
    color: var(--brand-green);
    background: #fff;
}
.menu-section {
    max-width: 1180px;
    margin: 0 auto;
}
.section-title {
    color: var(--brand-green);
    border-bottom-color: var(--border);
}
.product-card,
.entry-product {
    background: var(--surface);
    color: var(--text-primary);
    border: 1px solid var(--border);
    box-shadow: var(--shadow-soft);
    cursor: pointer;
}
.product-card:hover,
.entry-product:hover {
    border-color: rgba(201, 168, 76, 0.8);
    box-shadow: 0 16px 34px rgba(36, 49, 44, 0.12);
}
.product-card-img,
.product-card-no-img {
    aspect-ratio: 1 / 1;
    height: auto;
}
.product-card-no-img,
.entry-product-media {
    background: var(--brand-green-soft);
    color: var(--brand-green);
}
.availability-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 6px;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--brand-green-soft);
    color: var(--success);
    font-size: 11px;
    font-weight: 800;
}
.product-detail-hero {
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--border);
    background: var(--brand-green-soft);
}
.product-detail-hero img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
}
.product-detail-desc {
    color: var(--text-secondary);
    line-height: 1.55;
}
.modal-content {
    background: var(--surface) !important;
    color: var(--text-primary) !important;
    border-color: var(--border) !important;
}
.staff-body .card .text-white,
.staff-body .card-glass .text-white,
.staff-body .card.bg-dark,
.staff-body .card-dark,
.staff-body .bg-dark,
.customer-body .bg-dark {
    color: var(--text-primary) !important;
}
.staff-body .card.bg-dark,
.staff-body .bg-dark,
.customer-body .bg-dark {
    background: var(--surface-soft) !important;
    border-color: var(--border) !important;
}
.customer-body .text-white {
    color: var(--text-primary) !important;
}
.menu-header .text-white,
.login-card .text-white,
.btn-primary-gold.text-white,
.btn-login.text-white,
.badge.bg-danger.text-white {
    color: #fff !important;
}
.btn-close-white {
    filter: none;
}
.cart-badge {
    background: var(--brand-green);
    color: #fff;
}

.entry-filter {
    background: #fff;
}
.entry-product-media img {
    object-fit: cover;
}
.pos-payment-box,
.order-total-line,
.entry-summary-line {
    background: var(--surface-soft);
    border-color: var(--border);
}

@media (min-width: 992px) {
    .menu-section .row {
        row-gap: 18px;
    }
    .menu-section .col-md-6 {
        width: 33.3333%;
    }
}
@media (min-width: 1400px) {
    .menu-section .col-md-6 {
        width: 25%;
    }
}
@media (max-width: 575.98px) {
    .menu-header {
        position: relative;
        padding: 18px 12px;
    }
    .menu-brand-logo {
        width: min(300px, 88vw);
    }
    .menu-search-shell {
        top: 0;
    }
    .category-tabs-wrapper {
        top: 64px;
    }
    .product-card {
        display: grid;
        grid-template-columns: 108px 1fr;
        min-height: 130px;
    }
    .product-card-img,
    .product-card-no-img {
        width: 108px;
        min-width: 108px;
        height: 100%;
    }
}

/* Strict Palace Emerald public menu override */
:root {
    --menu-bg-main: #06271E;
    --menu-bg-secondary: #0A382B;
    --menu-bg-card: #103F31;
    --menu-bg-card-hover: #164D3D;
    --menu-bg-deep: #041C16;
    --menu-gold-main: #D4AF54;
    --menu-gold-bright: #E8C96B;
    --menu-gold-soft: #B9923E;
    --menu-text-main: #FFF8E7;
    --menu-text-muted: #D9CEB5;
    --menu-border: rgba(212, 175, 84, 0.34);
}

html:has(.palace-menu-page),
body.customer-body {
    min-height: 100%;
    background:
        radial-gradient(circle at top right, rgba(212, 175, 84, .10), transparent 30%),
        radial-gradient(circle at 8% 22%, rgba(232, 201, 107, .055), transparent 24%),
        linear-gradient(180deg, var(--menu-bg-main) 0%, var(--menu-bg-secondary) 45%, var(--menu-bg-deep) 100%) !important;
    color: var(--menu-text-main) !important;
}

.palace-menu-page {
    min-height: 100vh;
    overflow-x: hidden;
    background:
        linear-gradient(90deg, rgba(212, 175, 84, .06) 1px, transparent 1px),
        linear-gradient(180deg, rgba(212, 175, 84, .045) 1px, transparent 1px),
        radial-gradient(circle at 85% 10%, rgba(212, 175, 84, .09), transparent 24rem),
        linear-gradient(180deg, var(--menu-bg-main), var(--menu-bg-secondary) 44%, var(--menu-bg-deep)) !important;
    background-size: 96px 96px, 96px 96px, auto, auto;
    color: var(--menu-text-main) !important;
}

.customer-body .offline-customer-bar,
.customer-body .offline-sync-meta.customer-meta {
    background: var(--menu-bg-deep) !important;
    color: var(--menu-text-muted) !important;
    border-color: var(--menu-border) !important;
}

.customer-body .offline-customer-bar button {
    color: var(--menu-gold-bright) !important;
    border-color: var(--menu-gold-main) !important;
}

.palace-menu-page .menu-header {
    min-height: auto;
    padding: clamp(18px, 5vw, 38px) 16px 24px;
    background:
        radial-gradient(circle at 50% 0%, rgba(232, 201, 107, .12), transparent 34%),
        linear-gradient(145deg, #041C16 0%, #06271E 38%, #0A382B 100%) !important;
    border-bottom: 1px solid var(--menu-border);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
}

.palace-menu-page .restaurant-logo-menu-header {
    width: min(280px, 76vw);
    min-height: 76px;
    margin-bottom: 8px;
    padding: 5px;
    border: 1px solid rgba(232, 201, 107, .58);
    border-radius: 18px;
    background: rgba(255, 248, 231, .035);
}

.palace-menu-page .restaurant-logo-menu-header img {
    max-height: 112px;
    border-radius: 14px;
}

.palace-menu-page .menu-header-title {
    color: var(--menu-gold-bright) !important;
    font-size: clamp(2rem, 8vw, 4.6rem);
    line-height: .92;
    margin: 8px 0 4px;
    text-shadow: 0 10px 26px rgba(0, 0, 0, .32);
}

.palace-menu-page .menu-header-sub {
    color: var(--menu-text-muted) !important;
    font-size: clamp(.92rem, 2.6vw, 1.04rem);
}

.palace-menu-page .palace-divider {
    width: min(360px, 76vw);
    height: 1px;
    margin: 12px auto;
    background: linear-gradient(90deg, transparent, var(--menu-gold-bright), transparent);
}

.palace-menu-page .menu-table-badge {
    min-height: 38px;
    background: rgba(212, 175, 84, .12) !important;
    color: var(--menu-gold-bright) !important;
    border: 1px solid rgba(212, 175, 84, .62) !important;
    box-shadow: inset 0 0 18px rgba(212, 175, 84, .08);
}

.menu-service-shell {
    width: min(1180px, calc(100% - 24px));
    margin: 16px auto 0;
}

.menu-service-panel {
    padding: 16px;
    background: linear-gradient(145deg, rgba(16, 63, 49, .96), rgba(6, 39, 30, .96));
    border: 1px solid var(--menu-border);
    border-radius: 18px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .18);
}

.menu-service-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-bottom: 12px;
    color: var(--menu-gold-bright);
    font-family: var(--font-heading);
    font-size: 1.18rem;
}

.menu-service-head strong {
    color: var(--menu-text-muted);
    font-family: var(--font-body);
    font-size: .9rem;
}

.menu-service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.menu-service-btn {
    width: 100%;
    min-height: 76px;
    padding: 10px;
    border: 1px solid rgba(212, 175, 84, .42);
    border-radius: 14px;
    background: rgba(4, 28, 22, .42);
    color: var(--menu-text-main);
    font-size: .88rem;
    font-weight: 700;
    transition: background .18s ease, transform .18s ease, border-color .18s ease;
}

.menu-service-btn i {
    color: var(--menu-gold-bright);
}

.menu-service-btn:hover,
.menu-service-btn:focus {
    background: var(--menu-bg-card-hover);
    border-color: var(--menu-gold-bright);
    color: var(--menu-text-main);
    transform: translateY(-1px);
}

.palace-menu-page .menu-search-shell,
.palace-menu-page .category-tabs-wrapper {
    background: rgba(6, 39, 30, .96) !important;
    border-bottom: 1px solid var(--menu-border) !important;
    backdrop-filter: blur(14px);
}

.palace-menu-page .menu-search-shell {
    position: sticky;
    top: 32px;
    z-index: 90;
    padding: 12px 14px;
}

.palace-menu-page .category-tabs-wrapper {
    position: sticky;
    top: 98px;
    z-index: 80;
    padding: 10px 0 12px;
}

.palace-menu-page .menu-search-box {
    max-width: 840px;
}

.palace-menu-page .menu-search-box i {
    color: var(--menu-gold-bright) !important;
    font-size: 1.05rem;
}

.palace-menu-page .menu-search-box .form-control {
    min-height: 50px;
    background: #0D3A2D !important;
    border: 1px solid var(--menu-gold-main) !important;
    color: var(--menu-text-main) !important;
    border-radius: 999px;
    font-size: 1rem;
    box-shadow: inset 0 1px 0 rgba(255, 248, 231, .05);
}

.palace-menu-page .menu-search-box .form-control::placeholder {
    color: rgba(217, 206, 181, .72) !important;
}

.palace-menu-page .menu-search-box .form-control:focus {
    border-color: var(--menu-gold-bright) !important;
    box-shadow: 0 0 0 .24rem rgba(212, 175, 84, .18) !important;
}

.palace-menu-page .category-tabs {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 14px 2px;
    gap: 10px;
}

.palace-menu-page .category-tab {
    min-height: 44px;
    padding: 10px 18px;
    background: rgba(4, 28, 22, .42) !important;
    color: var(--menu-text-main) !important;
    border: 1px solid var(--menu-border) !important;
    border-radius: 999px;
    font-size: .96rem;
    font-weight: 800;
    box-shadow: none;
}

.palace-menu-page .category-tab.active {
    background: linear-gradient(180deg, var(--menu-gold-bright), var(--menu-gold-main)) !important;
    color: var(--menu-bg-deep) !important;
    border-color: var(--menu-gold-bright) !important;
    box-shadow: 0 10px 24px rgba(212, 175, 84, .22);
}

.palace-menu-page .menu-section {
    width: min(1180px, calc(100% - 24px));
    max-width: 1180px;
    margin: 0 auto;
    padding: 26px 0 110px;
    background: transparent !important;
}

.palace-menu-page .section-title {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 32px 0 18px;
    color: var(--menu-gold-bright) !important;
    border: 0 !important;
    font-size: clamp(1.45rem, 4.8vw, 2rem);
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
}

.palace-menu-page .section-title::before,
.palace-menu-page .section-title::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--menu-gold-main));
}

.palace-menu-page .section-title::after {
    background: linear-gradient(90deg, var(--menu-gold-main), transparent);
}

.palace-menu-page .menu-section .row {
    --bs-gutter-x: 18px;
    --bs-gutter-y: 18px;
}

.palace-menu-page .product-card {
    display: grid;
    grid-template-columns: 42% minmax(0, 1fr);
    min-height: 220px;
    height: 100%;
    overflow: hidden;
    background: linear-gradient(145deg, var(--menu-bg-card), #0B3328) !important;
    border: 1px solid var(--menu-border) !important;
    border-radius: 18px;
    color: var(--menu-text-main) !important;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .22);
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.palace-menu-page .product-card:hover,
.palace-menu-page .product-card:focus-within {
    background: linear-gradient(145deg, var(--menu-bg-card-hover), #0E3B2E) !important;
    border-color: rgba(232, 201, 107, .74) !important;
    box-shadow: 0 24px 44px rgba(0, 0, 0, .28);
    transform: translateY(-3px);
}

.palace-menu-page .product-card-img,
.palace-menu-page .product-card-no-img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 16px 0 0 16px;
    background:
        radial-gradient(circle at 50% 24%, rgba(232, 201, 107, .2), transparent 34%),
        linear-gradient(145deg, #0A382B, #041C16) !important;
}

.palace-menu-page .product-card-no-img {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--menu-gold-bright) !important;
    font-size: clamp(2.5rem, 7vw, 4rem);
}

.palace-menu-page .product-card-body {
    min-width: 0;
    padding: 18px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 14px;
}

.palace-menu-page .product-card-title {
    color: var(--menu-text-main) !important;
    font-size: clamp(1.08rem, 2.2vw, 1.25rem);
    line-height: 1.12;
    margin-bottom: 7px;
}

.palace-menu-page .product-card-desc {
    color: var(--menu-text-muted) !important;
    font-size: clamp(.88rem, 1.8vw, .95rem);
    line-height: 1.5;
    margin-bottom: 10px;
}

.palace-menu-page .availability-badge {
    background: rgba(212, 175, 84, .12) !important;
    color: var(--menu-gold-bright) !important;
    border: 1px solid rgba(212, 175, 84, .34);
    font-size: .78rem;
}

.palace-menu-page .product-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.palace-menu-page .product-card-price {
    color: var(--menu-gold-bright) !important;
    font-size: clamp(1.06rem, 2vw, 1.18rem);
    font-weight: 900;
}

.palace-menu-page .btn-add-cart {
    min-width: 44px;
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--menu-gold-bright), var(--menu-gold-main)) !important;
    color: var(--menu-bg-deep) !important;
    border: 1px solid rgba(232, 201, 107, .9) !important;
    box-shadow: 0 10px 18px rgba(0, 0, 0, .2);
}

.palace-menu-page .btn-add-cart:hover {
    transform: scale(1.06);
}

.palace-menu-page .floating-cart-btn {
    right: 18px;
    bottom: 18px;
    min-height: 58px;
    padding: 12px 16px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--menu-gold-bright), var(--menu-gold-main)) !important;
    color: var(--menu-bg-deep) !important;
    border: 1px solid rgba(232, 201, 107, .8) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
    font-weight: 900;
}

.palace-menu-page .floating-cart-btn strong {
    padding-left: 8px;
    border-left: 1px solid rgba(6, 39, 30, .28);
}

.palace-menu-page .cart-badge {
    background: var(--menu-bg-deep) !important;
    color: var(--menu-gold-bright) !important;
}

.palace-menu-page .modal-content,
.palace-menu-page .menu-product-modal,
.palace-menu-page .menu-cart-modal {
    background: linear-gradient(145deg, var(--menu-bg-card), var(--menu-bg-deep)) !important;
    color: var(--menu-text-main) !important;
    border: 1px solid rgba(232, 201, 107, .52) !important;
    border-radius: 20px;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .42);
}

.palace-menu-page .modal-title,
.palace-menu-page .text-gold {
    color: var(--menu-gold-bright) !important;
}

.palace-menu-page .btn-close-white {
    filter: invert(1) grayscale(100%) brightness(180%);
}

.palace-menu-page .product-detail-hero {
    border: 1px solid rgba(232, 201, 107, .42);
    border-radius: 16px;
    background: var(--menu-bg-deep);
}

.palace-menu-page .product-detail-hero img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.palace-menu-page .product-detail-desc,
.palace-menu-page .modal-body .text-muted,
.palace-menu-page .text-muted {
    color: var(--menu-text-muted) !important;
}

.palace-menu-page .modal-body .form-control,
.palace-menu-page .modal-body textarea,
.palace-menu-page .modal-body input {
    background: #0D3A2D !important;
    color: var(--menu-text-main) !important;
    border: 1px solid rgba(212, 175, 84, .48) !important;
}

.palace-menu-page .modal-body .form-control::placeholder,
.palace-menu-page .modal-body textarea::placeholder {
    color: rgba(217, 206, 181, .72) !important;
}

.palace-menu-page .modal-body .btn-outline-warning {
    background: rgba(212, 175, 84, .12) !important;
    color: var(--menu-gold-bright) !important;
    border-color: rgba(212, 175, 84, .54) !important;
}

.palace-menu-page .order-items-list .border-bottom,
.palace-menu-page .border-secondary {
    border-color: rgba(212, 175, 84, .28) !important;
}

.palace-menu-page .modal-footer .btn-primary-gold {
    min-height: 52px;
    background: linear-gradient(180deg, var(--menu-gold-bright), var(--menu-gold-main)) !important;
    color: var(--menu-bg-deep) !important;
}

.palace-menu-page .bg-white,
.palace-menu-page .card,
.palace-menu-page .card-glass,
.palace-menu-page .table,
.palace-menu-page .list-group-item,
.palace-menu-page .dropdown-menu {
    background: var(--menu-bg-card) !important;
    color: var(--menu-text-main) !important;
    border-color: var(--menu-border) !important;
}

@media (min-width: 768px) {
    .palace-menu-page .menu-section .col-md-6 {
        width: 50% !important;
    }
}

@media (min-width: 1024px) {
    .palace-menu-page .menu-section .col-md-6 {
        width: 33.333333% !important;
    }
    .menu-service-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media (min-width: 1366px) {
    .palace-menu-page .product-card {
        min-height: 236px;
    }
    .palace-menu-page .product-card-img,
    .palace-menu-page .product-card-no-img {
        min-height: 236px;
    }
}

@media (max-width: 767.98px) {
    .palace-menu-page .menu-search-shell {
        top: 32px;
    }
    .palace-menu-page .category-tabs-wrapper {
        top: 96px;
    }
    .palace-menu-page .menu-section {
        width: min(100% - 18px, 560px);
        padding-top: 20px;
    }
    .palace-menu-page .menu-section .row {
        --bs-gutter-y: 16px;
    }
    .palace-menu-page .menu-section .col-md-6 {
        width: 100% !important;
    }
    .palace-menu-page .product-card {
        grid-template-columns: 38% minmax(0, 1fr);
        min-height: 178px;
        border-radius: 16px;
    }
    .palace-menu-page .product-card-img,
    .palace-menu-page .product-card-no-img {
        min-height: 178px;
        border-radius: 14px 0 0 14px;
    }
    .palace-menu-page .product-card-body {
        padding: 14px;
    }
    .palace-menu-page .product-card-title {
        font-size: 17px;
    }
    .palace-menu-page .product-card-desc {
        font-size: 13.5px;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .palace-menu-page .product-card-price {
        font-size: 16px;
    }
    .palace-menu-page .floating-cart-btn {
        left: 12px;
        right: 12px;
        bottom: 12px;
        justify-content: center;
    }
    .palace-menu-page .modal-dialog {
        margin: .75rem;
    }
    .palace-menu-page .menu-product-dialog,
    .palace-menu-page .menu-cart-dialog {
        align-items: flex-end;
        min-height: calc(100% - 1.5rem);
    }
    .palace-menu-page .menu-product-modal,
    .palace-menu-page .menu-cart-modal {
        border-radius: 22px 22px 12px 12px;
    }
}

@media (max-width: 390px) {
    .palace-menu-page .restaurant-logo-menu-header {
        width: min(236px, 74vw);
        min-height: 64px;
    }
    .palace-menu-page .menu-header {
        padding-top: 16px;
    }
    .menu-service-grid {
        gap: 8px;
    }
    .menu-service-btn {
        min-height: 68px;
        font-size: .82rem;
    }
    .palace-menu-page .product-card {
        grid-template-columns: 40% minmax(0, 1fr);
    }
    .palace-menu-page .product-card-body {
        padding: 12px;
    }
    .palace-menu-page .btn-add-cart {
        width: 42px;
        min-width: 42px;
        height: 42px;
    }
}

/* Staff display controls: fullscreen and minimized sidebar */
:root {
    --sidebar-mini-width: 84px;
}

.display-controls {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.topbar-icon-btn {
    width: 42px;
    height: 42px;
    border: 1px solid var(--palace-border, #D9CBAA);
    border-radius: 12px;
    background: rgba(255, 253, 247, .82);
    color: var(--palace-emerald-800, #123F31);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.topbar-icon-btn:hover,
.topbar-icon-btn:focus {
    background: var(--palace-emerald-800, #123F31);
    color: #fffdf7;
    border-color: var(--palace-gold-500, #C9A84C);
    transform: translateY(-1px);
}

.topbar-icon-btn[aria-pressed="true"] {
    background: linear-gradient(180deg, var(--palace-gold-300, #E1CB8C), var(--palace-gold-500, #C9A84C));
    color: var(--palace-emerald-950, #071F18);
    border-color: var(--palace-gold-500, #C9A84C);
}

.sidebar.mini {
    width: var(--sidebar-mini-width);
    transform: translateX(0);
}

.sidebar.mini .sidebar-brand {
    justify-content: center;
    padding-left: 12px;
    padding-right: 12px;
}

.sidebar.mini .brand-copy,
.sidebar.mini .nav-section,
.sidebar.mini .nav-divider,
.sidebar.mini .user-info > div {
    display: none !important;
}

.sidebar.mini .restaurant-logo-sidebar {
    width: 48px;
    height: 48px;
}

.sidebar.mini .sidebar-nav {
    padding-left: 10px;
    padding-right: 10px;
}

.sidebar.mini .nav-link {
    justify-content: center;
    min-height: 48px;
    padding: 12px 0;
    font-size: 0;
    border-left-width: 0;
    border-radius: 14px;
}

.sidebar.mini .nav-link i {
    margin: 0;
    width: auto;
    font-size: 20px;
}

.sidebar.mini .nav-link.active {
    border-left-width: 0;
    box-shadow: inset 0 0 0 1px rgba(225, 203, 140, .44);
}

.sidebar.mini .sidebar-footer {
    justify-content: center;
    padding: 14px 10px;
}

.sidebar.mini .user-info {
    display: none;
}

.main-content.sidebar-mini {
    margin-left: var(--sidebar-mini-width);
    width: calc(100% - var(--sidebar-mini-width));
}

@media (max-width: 991.98px) {
    .display-controls {
        order: 2;
    }
    .sidebar-mini-toggle {
        display: none;
    }
    .topbar-icon-btn {
        width: 40px;
        height: 40px;
    }
    .main-content.sidebar-mini {
        margin-left: 0;
        width: 100%;
    }
}

@media print {
    .display-controls {
        display: none !important;
    }
}

.floor-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
    box-shadow: 0 0 0 2px rgba(255,255,255,.12);
}

.entry-floor-tabs,
.cashier-floor-tabs,
.waiter-floor-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.entry-floor-tab,
.floor-filter-tab {
    border: 1px solid rgba(225, 203, 140, .35);
    background: rgba(7, 45, 35, .7);
    color: #f8f3df;
    border-radius: 8px;
    padding: 9px 13px;
    font-weight: 700;
}

.entry-floor-tab.active,
.floor-filter-tab.active {
    background: #c9a84c;
    color: #10281f;
}

.entry-table-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
}

.entry-table-card {
    min-height: 118px;
    text-align: left;
    border: 1px solid rgba(225, 203, 140, .28);
    background: rgba(4, 33, 25, .86);
    color: #fff;
    border-radius: 8px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.entry-table-card.selected {
    border-color: #c9a84c;
    box-shadow: 0 0 0 2px rgba(201, 168, 76, .25);
}

.entry-table-card.disabled {
    opacity: .48;
    cursor: not-allowed;
}

.entry-table-name {
    font-weight: 800;
    color: #f8e6a0;
}

.entry-table-meta,
.entry-table-order {
    color: rgba(255,255,255,.72);
    font-size: .84rem;
}

.table-status-badge {
    align-self: flex-start;
    color: #fff;
    background: #53635e;
}

.table-status-badge.status-available { background: #198754; }
.table-status-badge.status-occupied { background: #b02a37; }
.table-status-badge.status-reserved { background: #0dcaf0; color: #10281f; }
.table-status-badge.status-waiting_bill { background: #ffc107; color: #10281f; }
.table-status-badge.status-needs_cleaning { background: #0d6efd; }
.table-status-badge.status-out_of_service { background: #6c757d; }

/* Final frontend delivery polish */
:root {
    --primary-color: #1B4D3E;
    --primary-dark: #0A1610;
    --accent-color: #C9A84C;
    --background: #0A1610;
    --surface: #153629;
    --surface-soft: #1F4738;
    --border: rgba(201, 168, 76, 0.24);
    --muted-text: #B7C6BE;
    --success: #2EAD6B;
    --warning: #F0B429;
    --danger: #E35D6A;
    --info: #4DB6D8;
    --radius: 8px;
    --shadow-soft: 0 18px 42px rgba(0, 0, 0, 0.28);
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

.staff-body {
    background:
        radial-gradient(circle at top left, rgba(201, 168, 76, 0.08), transparent 34rem),
        linear-gradient(180deg, #0A1610 0%, #10291F 100%);
    color: var(--text-main);
}

.staff-body a:focus-visible,
.staff-body button:focus-visible,
.staff-body input:focus-visible,
.staff-body select:focus-visible,
.staff-body textarea:focus-visible {
    outline: 3px solid rgba(201, 168, 76, 0.55);
    outline-offset: 2px;
}

.main-content,
.content-area {
    max-width: 100%;
    overflow-x: hidden;
}

.content-area {
    padding-bottom: 56px;
}

.topbar {
    gap: 14px;
}

.topbar-right {
    gap: 10px;
}

.topbar .btn,
.topbar .btn-primary-gold,
.topbar-icon-btn,
.sidebar-toggle,
.btn-primary-gold,
.btn-secondary,
.staff-body .btn {
    min-height: 42px;
}

.sidebar.mini .btn-logout {
    width: 44px;
    height: 44px;
}

.card-glass,
.staff-body .card.bg-dark,
.staff-body .card-dark,
.modal-content {
    border-radius: var(--radius);
    border-color: var(--border) !important;
}

.card-glass {
    background: rgba(16, 45, 34, 0.84);
    box-shadow: var(--shadow-soft);
}

.card-glass-header {
    align-items: flex-start;
}

.table-responsive {
    max-width: 100%;
    border-radius: var(--radius);
}

.table-dark-custom {
    min-width: 760px;
    color: #F9F6EC;
}

.table-dark-custom th {
    background: #102C21 !important;
    color: #F2D77A;
    letter-spacing: 0;
    white-space: nowrap;
}

.table-dark-custom td {
    color: #F9F6EC;
}

.table-dark-custom td .text-muted,
.table-dark-custom td .text-white-50,
.staff-body .text-white-50 {
    color: var(--muted-text) !important;
}

.staff-body .bg-dark-subtle {
    background-color: rgba(16, 45, 34, 0.9) !important;
    color: #F9F6EC !important;
}

.staff-body .btn,
.btn-primary-gold,
.btn-secondary,
.btn-sm-gold,
.btn-sm-danger,
.btn-sm-info {
    border-radius: var(--radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    line-height: 1.15;
}

.btn-sm-gold,
.btn-sm-danger,
.btn-sm-info {
    min-height: 34px;
    white-space: nowrap;
}

.staff-body button:disabled,
.staff-body .btn:disabled {
    cursor: wait;
    opacity: 0.72;
}

.staff-body .badge {
    line-height: 1.2;
    white-space: normal;
}

.staff-body .badge.bg-warning,
.staff-body .badge.text-dark,
.bg-gold.text-dark {
    color: #0A1610 !important;
}

.form-control,
.form-select {
    min-height: 44px;
    color: #FFFDF7 !important;
    background-color: rgba(4, 21, 15, 0.74);
}

.form-select,
.form-select option,
.form-control option {
    color: #FFFDF7 !important;
    background-color: #102C21;
}

.password-wrapper .form-control {
    padding-right: 48px;
}

.password-toggle {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border: 1px solid rgba(201, 168, 76, 0.25);
    border-radius: var(--radius);
    background: rgba(201, 168, 76, 0.08);
    color: var(--accent-color);
}

.login-demo {
    display: grid;
    gap: 8px;
}

.demo-cred {
    background: rgba(10, 22, 16, 0.42);
    border: 1px solid rgba(201, 168, 76, 0.14);
    border-radius: var(--radius);
    padding: 8px 10px;
    color: #F9F6EC;
    overflow-wrap: anywhere;
}

.quick-action-grid,
.cashier-summary-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
}

.quick-action-card,
.cashier-summary-strip > div {
    min-height: 78px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: rgba(16, 45, 34, 0.82);
    color: #F9F6EC;
    text-decoration: none;
    padding: 14px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}

.quick-action-card {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 800;
}

.quick-action-card i {
    color: var(--accent-color);
    font-size: 22px;
}

.quick-action-card:hover {
    border-color: var(--accent-color);
    color: var(--accent-light);
}

.cashier-summary-strip > div {
    display: grid;
    gap: 4px;
}

.cashier-summary-strip span {
    color: var(--muted-text);
    font-size: 12px;
    text-transform: uppercase;
}

.cashier-summary-strip strong {
    color: var(--accent-color);
    font-size: 24px;
    font-family: var(--font-heading);
}

.printer-helper-text {
    max-width: 760px;
    color: var(--muted-text);
    font-size: 13px;
    line-height: 1.45;
}

.order-feed-card {
    background: rgba(8, 31, 23, 0.9);
    border: 1px solid rgba(201, 168, 76, 0.18);
    border-radius: var(--radius);
    padding: 16px;
}

.order-feed-card-warning {
    border-color: rgba(240, 180, 41, 0.48);
    background: rgba(45, 31, 8, 0.28);
}

.order-feed-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--muted-text);
    font-size: 13px;
}

.order-feed-meta > span:not(.badge) {
    border: 1px solid rgba(201, 168, 76, 0.14);
    border-radius: 999px;
    padding: 4px 9px;
    background: rgba(10, 22, 16, 0.38);
}

.touch-action-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 10px;
}

.touch-action-row form,
.touch-action-row .btn {
    width: 100%;
}

.order-summary-panel {
    top: 92px;
}

.checkout-items-list {
    display: grid;
    gap: 8px;
    max-height: 260px;
    overflow-y: auto;
    padding-right: 2px;
}

.checkout-item-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(201, 168, 76, 0.12);
}

.checkout-item-row span {
    color: var(--accent-color);
    font-weight: 800;
    white-space: nowrap;
}

.entry-product {
    border-radius: var(--radius);
    min-height: 184px;
}

.entry-product-main {
    align-items: flex-start;
}

.qty-control {
    grid-template-columns: 40px 64px 40px;
}

.qty-btn,
.qty-input {
    min-height: 40px;
}

.entry-category-filter,
.entry-floor-tabs,
.cashier-floor-tabs,
.waiter-floor-tabs {
    scrollbar-width: thin;
}

.entry-table-card {
    border-radius: var(--radius);
}

.table-action-stack {
    gap: 8px;
}

.table-qr-thumb {
    background: #fff;
    border-radius: 6px;
    padding: 5px;
    width: 72px;
    height: 72px;
    object-fit: contain;
}

.table-qr-large {
    width: min(280px, 100%);
    background: #fff;
    border-radius: var(--radius);
    padding: 12px;
}

@media (min-width: 1200px) {
    .order-entry .order-summary-panel,
    .cashier-checkout .order-summary-panel,
    .cashier-order-detail .order-summary-panel {
        position: sticky;
        top: 92px;
    }
}

@media (max-width: 1366px) {
    .content-area {
        padding: 20px;
    }
    .card-glass {
        padding: 18px;
    }
    .page-title {
        font-size: 24px;
    }
    .offline-status-pill {
        max-width: 380px;
    }
}

@media (max-width: 991.98px) {
    .main-content,
    .main-content.sidebar-mini {
        margin-left: 0;
        width: 100%;
    }
    .topbar {
        position: sticky;
        top: 0;
        z-index: 80;
        min-height: auto;
    }
    .topbar-right {
        width: 100%;
        justify-content: flex-start;
    }
    .entry-floor-tabs,
    .cashier-floor-tabs,
    .waiter-floor-tabs,
    .entry-category-filter {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 8px;
    }
    .order-summary-panel {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .content-area {
        padding: 14px;
    }
    .card-glass {
        padding: 14px;
        margin-bottom: 16px;
    }
    .card-glass-header {
        gap: 10px;
    }
    .topbar {
        padding: 12px 14px;
    }
    .page-title {
        font-size: 20px;
        flex-basis: calc(100% - 54px);
    }
    .offline-status-pill {
        width: 100%;
        max-width: none;
        overflow-x: auto;
    }
    .entry-product-grid {
        grid-template-columns: 1fr;
    }
    .entry-product {
        grid-template-columns: 84px 1fr;
    }
    .entry-product-main {
        display: grid;
        gap: 12px;
    }
    .qty-control {
        grid-template-columns: 44px 72px 44px;
    }
    .qty-btn,
    .qty-input {
        min-height: 44px;
    }
    .order-type-toggle .btn,
    .touch-action-row {
        width: 100%;
    }
    .touch-action-row {
        grid-template-columns: 1fr;
    }
    .login-card {
        padding: 24px 18px;
    }
    .login-title {
        font-size: 26px;
    }
}

@media (max-width: 420px) {
    .entry-product {
        grid-template-columns: 1fr;
    }
    .entry-product-media {
        min-height: 128px;
    }
    .table-dark-custom {
        min-width: 620px;
    }
}

@media print {
    .receipt-table,
    .ticket-table {
        table-layout: fixed;
    }
    .receipt-table td,
    .receipt-table th,
    .ticket-table td,
    .ticket-table th {
        overflow-wrap: anywhere;
    }
}

/* Official Al Rabia branding override: dark olive, bronze, warm menu surfaces */
:root {
    --primary-color: #49462D;
    --primary-dark: #2E2B1C;
    --primary-light: #5E5A3A;
    --accent-color: #AC7C35;
    --accent-light: #C7974D;
    --accent-hover: #8F6429;
    --bg-dark: #F5EADA;
    --surface-color: #FFFFFF;
    --surface-light: #F6E7D9;
    --text-main: #26231A;
    --text-muted: #6D6656;
    --border-color: rgba(172, 124, 53, 0.24);
    --background: #F5EADA;
    --surface: #FFFFFF;
    --surface-soft: #F6E7D9;
    --border: rgba(172, 124, 53, 0.24);
    --muted-text: #6D6656;
    --success: #477A50;
    --warning: #B9852F;
    --danger: #B94E47;
    --info: #4E718A;
    --shadow-soft: 0 16px 36px rgba(73, 70, 45, 0.15);
    --palace-emerald-950: #2E2B1C;
    --palace-emerald-900: #49462D;
    --palace-emerald-800: #49462D;
    --palace-emerald-700: #5E5A3A;
    --palace-emerald-600: #706B47;
    --palace-gold-700: #8F6429;
    --palace-gold-600: #AC7C35;
    --palace-gold-500: #AC7C35;
    --palace-gold-300: #C7974D;
    --palace-ivory: #F5EADA;
    --palace-cream: #F6E7D9;
    --palace-surface: #FFFFFF;
    --palace-text: #26231A;
    --palace-muted: #6D6656;
    --palace-border: rgba(172, 124, 53, 0.28);
}

.staff-body {
    background: #F5EADA !important;
    color: #26231A !important;
}

.sidebar {
    background: #49462D !important;
}

.topbar,
.card-glass,
.staff-body .card.bg-dark,
.staff-body .card-dark,
.modal-content {
    background: #FFFFFF !important;
    color: #26231A !important;
    border-color: rgba(172, 124, 53, 0.24) !important;
}

.topbar {
    box-shadow: 0 10px 28px rgba(73, 70, 45, 0.12);
}

.page-title,
.card-glass h5,
.card-glass .card-title,
.entry-product-name,
.staff-body .text-white,
.staff-body .card.bg-dark,
.staff-body .card-dark,
.staff-body .bg-dark {
    color: #26231A !important;
}

.text-gold,
.order-num,
.stat-icon,
.quick-action-card i,
.entry-product-meta,
.entry-product-desc {
    color: #AC7C35 !important;
}

.btn-primary-gold,
.btn-login {
    background: #49462D !important;
    color: #FFFFFF !important;
    border-color: #49462D !important;
}

.btn-primary-gold:hover,
.btn-login:hover {
    background: #AC7C35 !important;
    color: #FFFFFF !important;
}

.staff-body .btn-outline-warning,
.btn-sm-gold {
    border-color: rgba(172, 124, 53, 0.55) !important;
    color: #AC7C35 !important;
    background: rgba(172, 124, 53, 0.08) !important;
}

.staff-body .btn-warning,
.staff-body .btn-outline-warning:hover,
.staff-body .btn-check:checked + .btn-outline-warning,
.btn-sm-gold:hover {
    background: #AC7C35 !important;
    border-color: #AC7C35 !important;
    color: #FFFFFF !important;
}

.form-control,
.form-select {
    background: #FFFFFF !important;
    border-color: rgba(172, 124, 53, 0.34) !important;
    color: #26231A !important;
}

.form-control::placeholder,
.staff-body .text-muted,
.staff-body .text-white-50,
.table-dark-custom td .text-muted,
.table-dark-custom td .text-white-50 {
    color: #6D6656 !important;
}

.form-select option,
.form-control option {
    background: #FFFFFF !important;
    color: #26231A !important;
}

.table-dark-custom {
    background: #FFFFFF !important;
    color: #26231A !important;
}

.table-dark-custom th {
    background: #49462D !important;
    color: #F6E7D9 !important;
}

.table-dark-custom td {
    color: #26231A !important;
    border-bottom-color: rgba(172, 124, 53, 0.16) !important;
}

.stat-card,
.quick-action-card,
.cashier-summary-strip > div,
.order-feed-card,
.pos-payment-box,
.entry-product,
.entry-table-card {
    background: #FFFFFF !important;
    color: #26231A !important;
    border-color: rgba(172, 124, 53, 0.24) !important;
}

.login-body,
.customer-body,
html:has(.palace-menu-page) {
    background: #F5EADA !important;
}

.login-card {
    background: #FFFFFF !important;
    color: #26231A !important;
    border-color: rgba(172, 124, 53, 0.28) !important;
}

.palace-menu-page {
    background: #F5EADA !important;
    color: #26231A !important;
}

.palace-menu-page .menu-header {
    background: #49462D !important;
    color: #FFFFFF !important;
    border-bottom-color: #AC7C35 !important;
}

.palace-menu-page .menu-header-title,
.palace-menu-page .menu-header-sub,
.palace-menu-page .menu-table-badge {
    color: #F6E7D9 !important;
}

.palace-menu-page .palace-divider {
    background: #AC7C35 !important;
}

.palace-menu-page .menu-search-shell,
.palace-menu-page .category-tabs-wrapper,
.palace-menu-page .product-card,
.palace-menu-page .modal-content,
.palace-menu-page .menu-product-modal,
.palace-menu-page .menu-cart-modal {
    background: #FFFFFF !important;
    color: #26231A !important;
    border-color: rgba(172, 124, 53, 0.24) !important;
}

.palace-menu-page .category-tab {
    color: #49462D !important;
    border-color: rgba(172, 124, 53, 0.28) !important;
    background: #F6E7D9 !important;
}

.palace-menu-page .category-tab.active,
.palace-menu-page .btn-add-cart,
.palace-menu-page .floating-cart-btn {
    background: #49462D !important;
    color: #FFFFFF !important;
    border-color: #49462D !important;
}

.palace-menu-page .section-title,
.palace-menu-page .product-card-price,
.palace-menu-page .modal-title,
.palace-menu-page .text-gold {
    color: #AC7C35 !important;
}

.palace-menu-page .product-card-desc,
.palace-menu-page .text-muted,
.palace-menu-page .modal-body .text-muted {
    color: #6D6656 !important;
}

.palace-menu-page .availability-badge {
    background: rgba(71, 122, 80, 0.14) !important;
    color: #355E3B !important;
}

.palace-menu-page.menu-view-only .product-card {
    cursor: pointer;
}

.public-menu-settings-grid {
    display: grid;
    gap: 12px;
}

.public-menu-setting {
    align-items: flex-start;
    background: #F6E7D9;
    border: 1px solid rgba(172, 124, 53, 0.24);
    border-radius: 8px;
    padding: 12px;
}

.public-menu-setting small {
    display: block;
    color: #6D6656;
    margin-top: 3px;
}

/* Frontend redesign phase 1 */
:root {
    --app-sidebar-width: 228px;
    --app-page-bg: #F7F4EE;
    --app-surface: #FFFFFF;
    --app-line: #E8E0D4;
    --app-olive: #49462D;
    --app-olive-2: #302F1E;
    --app-gold: #AC7C35;
    --app-text: #26231A;
    --app-muted: #736C5E;
}

.staff-body {
    background: var(--app-page-bg) !important;
}

.sidebar {
    width: var(--app-sidebar-width) !important;
    background: linear-gradient(180deg, var(--app-olive-2), var(--app-olive)) !important;
    border-right: 0 !important;
    box-shadow: none !important;
}

.sidebar-brand {
    min-height: 116px;
    padding: 20px 18px !important;
}

.restaurant-logo-sidebar,
.brand-logo-wrap {
    width: 128px !important;
    max-width: 100%;
    height: auto !important;
}

.restaurant-logo-sidebar img,
.brand-logo-wrap img {
    width: 100%;
    max-height: 82px;
    object-fit: contain;
}

.sidebar .brand-copy {
    display: none;
}

.sidebar-nav {
    padding: 10px 12px 16px !important;
}

.sidebar .nav-section {
    color: rgba(245, 234, 218, .68) !important;
    font-size: 10px;
    letter-spacing: .06em;
    margin: 18px 10px 8px;
}

.sidebar .nav-link {
    min-height: 38px;
    color: #F7F1E7 !important;
    border-radius: 8px;
    padding: 9px 10px;
    border-left: 0 !important;
    gap: 9px;
}

.sidebar .nav-link i {
    color: #D0A557;
}

.sidebar .nav-link.active,
.sidebar .nav-link:hover {
    background: rgba(255, 255, 255, .08) !important;
    color: #FFFFFF !important;
}

.sidebar-footer {
    border-top-color: rgba(255,255,255,.12) !important;
    padding: 14px !important;
}

.main-content {
    margin-left: var(--app-sidebar-width) !important;
    width: calc(100% - var(--app-sidebar-width)) !important;
}

.topbar {
    min-height: 70px !important;
    padding: 18px 22px 10px !important;
    background: var(--app-page-bg) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.page-title {
    font-family: var(--font-body) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: var(--app-text) !important;
}

.content-area {
    padding: 14px 22px 28px !important;
    background: var(--app-page-bg) !important;
}

.card-glass,
.table-management-shell,
.quick-action-card,
.cashier-summary-strip > div,
.order-feed-card,
.stat-card {
    background: var(--app-surface) !important;
    border: 1px solid var(--app-line) !important;
    border-radius: 8px !important;
    box-shadow: 0 6px 20px rgba(38, 35, 26, .06) !important;
}

.card-glass {
    padding: 18px !important;
    margin-bottom: 18px !important;
}

.btn-primary-gold {
    min-height: 42px;
    background: var(--app-gold) !important;
    border-color: var(--app-gold) !important;
    color: #fff !important;
    border-radius: 8px !important;
    font-family: var(--font-body) !important;
}

.btn-outline-dark,
.staff-body .btn-outline-dark {
    min-height: 42px;
    border-color: #BDB5A7 !important;
    color: var(--app-olive) !important;
    background: #fff !important;
    border-radius: 8px;
    font-weight: 700;
}

.page-kicker {
    color: var(--app-muted);
    margin-top: -12px;
    margin-bottom: 18px;
    font-size: 13px;
}

.unified-mode-banner {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #FFF8EC;
    border: 1px solid #E7D0A9;
    color: var(--app-text);
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 14px;
}

.unified-mode-banner > i {
    color: var(--app-gold);
    font-size: 24px;
}

.unified-mode-banner strong,
.unified-mode-banner span,
.unified-mode-banner a {
    display: inline-block;
    margin-right: 8px;
}

.unified-mode-banner a {
    color: var(--app-gold);
    font-weight: 700;
}

.table-management-shell {
    padding: 14px;
}

.tables-toolbar {
    display: grid;
    grid-template-columns: 260px minmax(280px, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-bottom: 14px;
}

.tables-search {
    position: relative;
}

.tables-search i {
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    color: #A59D8E;
}

.tables-search .form-control {
    padding-left: 38px;
}

.tables-view-toggle {
    display: inline-flex;
    border: 1px solid var(--app-line);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.tables-view-toggle button {
    width: 38px;
    height: 38px;
    border: 0;
    background: #fff;
    color: var(--app-olive);
}

.tables-view-toggle button.active {
    background: var(--app-olive);
    color: #fff;
}

.admin-tables-table {
    min-width: 900px !important;
}

.admin-tables-table th {
    background: var(--app-olive) !important;
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-size: 13px;
    padding: 11px 14px !important;
}

.admin-tables-table td {
    padding: 12px 14px !important;
    font-size: 13px;
}

.admin-tables-table .table-qr-thumb {
    width: 42px;
    height: 42px;
    padding: 3px;
}

.status-pill {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    border-radius: 7px;
    padding: 4px 10px;
    font-weight: 700;
    font-size: 12px;
}

.table-row-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.icon-action {
    width: 34px;
    height: 34px;
    border: 1px solid var(--app-line);
    border-radius: 7px;
    background: #FAF8F4;
    color: var(--app-olive);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.icon-action:hover {
    background: var(--app-olive);
    color: #fff;
}

.dropdown-menu {
    border: 1px solid var(--app-line);
    box-shadow: 0 14px 34px rgba(38,35,26,.12);
    border-radius: 8px;
    padding: 6px;
}

.dropdown-menu:not(.show) {
    display: none !important;
}

.dropdown-menu.show {
    display: block !important;
}

.dropdown-item {
    border-radius: 6px;
    color: var(--app-text);
}

.customer-body,
html:has(.palace-menu-page),
.palace-menu-page {
    background: #FBF8F2 !important;
}

.palace-menu-page .menu-header {
    min-height: 190px !important;
    padding: 20px 18px 24px !important;
    background: #FBF8F2 !important;
    color: var(--app-text) !important;
    border-bottom: 1px solid var(--app-line) !important;
}

.palace-menu-page .restaurant-logo-menu-header {
    width: 132px !important;
    margin-bottom: 8px !important;
}

.palace-menu-page .restaurant-logo-menu-header img {
    max-height: 86px !important;
    object-fit: contain;
}

.palace-menu-page .menu-header-title {
    color: var(--app-olive) !important;
    font-size: clamp(34px, 6vw, 54px) !important;
    line-height: 1.05;
    margin: 4px 0 8px !important;
}

.palace-menu-page .menu-header-sub,
.palace-menu-page .menu-table-badge {
    color: var(--app-text) !important;
}

.palace-menu-page .category-tabs-wrapper {
    position: sticky;
    top: 0;
    z-index: 30;
    padding: 12px 14px !important;
    background: rgba(255,255,255,.94) !important;
    border-top: 1px solid var(--app-line) !important;
    border-bottom: 1px solid var(--app-line) !important;
}

.palace-menu-page .category-tabs {
    max-width: 960px;
    margin: 0 auto;
    gap: 8px !important;
}

.palace-menu-page .category-tab {
    min-height: 34px;
    padding: 8px 13px !important;
    border-radius: 999px !important;
    font-size: 13px;
    background: #fff !important;
}

.palace-menu-page .category-tab.active {
    background: var(--app-olive) !important;
    color: #fff !important;
}

.palace-menu-page .menu-search-shell {
    max-width: 960px;
    margin: 18px auto 8px !important;
    padding: 0 14px !important;
    background: transparent !important;
    border: 0 !important;
}

.palace-menu-page .menu-section {
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 12px 14px 46px !important;
}

.palace-menu-page .section-title {
    text-align: center;
    color: var(--app-olive) !important;
    font-size: 24px !important;
    margin: 24px 0 14px !important;
}

.palace-menu-page .menu-product-list {
    display: grid;
    gap: 10px;
}

.menu-product-row {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 14px;
    align-items: center;
    background: #fff;
    border: 1px solid var(--app-line);
    border-radius: 9px;
    padding: 8px;
    box-shadow: 0 4px 16px rgba(38, 35, 26, .06);
}

.menu-product-image-btn {
    width: 96px;
    height: 78px;
    border: 0;
    border-radius: 7px;
    padding: 0;
    overflow: hidden;
    background: #F6E7D9;
    cursor: zoom-in;
}

.menu-product-image-btn img,
.menu-product-image-btn .product-card-no-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu-product-title-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
}

.palace-menu-page .product-card-title {
    font-family: var(--font-heading) !important;
    font-size: 19px !important;
    color: var(--app-text) !important;
    margin: 0 !important;
}

.palace-menu-page .product-card-price {
    color: var(--app-gold) !important;
    font-size: 22px !important;
    white-space: nowrap;
}

.palace-menu-page .product-card-desc {
    margin: 5px 0 8px !important;
    font-size: 14px !important;
    line-height: 1.35;
}

.menu-product-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.menu-image-preview-dialog {
    max-width: min(760px, calc(100vw - 24px));
}

.menu-image-preview-modal {
    background: #fff !important;
    border-radius: 10px !important;
}

.menu-image-preview-img {
    width: 100%;
    max-height: 72vh;
    object-fit: contain;
    border-radius: 8px;
    background: #F6E7D9;
}

@media (max-width: 991.98px) {
    .main-content,
    .main-content.sidebar-mini {
        margin-left: 0 !important;
        width: 100% !important;
    }
    .tables-toolbar {
        grid-template-columns: 1fr;
    }
    .tables-view-toggle {
        justify-self: end;
    }
}

@media (max-width: 575.98px) {
    .content-area {
        padding: 12px !important;
    }
    .topbar {
        padding: 12px !important;
    }
    .palace-menu-page .menu-header {
        min-height: 164px !important;
    }
    .menu-product-row {
        grid-template-columns: 78px 1fr;
        gap: 10px;
        padding: 7px;
    }
    .menu-product-image-btn {
        width: 78px;
        height: 66px;
    }
    .palace-menu-page .product-card-title {
        font-size: 16px !important;
    }
    .palace-menu-page .product-card-price {
        font-size: 18px !important;
    }
    .palace-menu-page .product-card-desc {
        font-size: 13px !important;
    }
}

/* Phase 1 refinement: approved mockup density and menu proportions */
:root {
    --app-sidebar-width: 228px;
    --topbar-height: 66px;
}

.topbar {
    min-height: 66px !important;
    padding: 12px 22px 8px !important;
    align-items: center;
}

.topbar .btn,
.topbar .btn-primary-gold,
.topbar .btn-outline-dark {
    min-height: 36px !important;
    padding: 8px 13px !important;
    font-size: 13px !important;
}

.topbar-icon-btn {
    min-width: 42px !important;
    width: auto !important;
    padding: 0 9px !important;
    font-size: 0 !important;
}

.topbar-icon-btn i {
    display: none;
}

.sidebar-mini-toggle::after {
    content: "";
    width: 15px;
    height: 12px;
    border: 2px solid currentColor;
    border-left-width: 5px;
    border-radius: 3px;
}

.fullscreen-toggle::after {
    content: "";
    width: 15px;
    height: 15px;
    border: 2px solid currentColor;
    border-radius: 3px;
    box-shadow: inset 0 0 0 3px #fff;
}

.page-title {
    font-size: 24px !important;
    line-height: 1.05 !important;
}

.page-title-stack {
    display: grid;
    gap: 3px;
}

.page-title-stack small {
    color: var(--app-muted);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
}

.content-area {
    padding: 12px 22px 24px !important;
}

.unified-mode-banner {
    display: inline-flex;
    width: auto;
    max-width: min(100%, 720px);
    gap: 9px;
    padding: 8px 10px;
    margin: 0 0 10px;
    font-size: 12px;
}

.unified-mode-banner > i {
    font-size: 17px;
}

.unified-mode-banner strong,
.unified-mode-banner span,
.unified-mode-banner a {
    margin-right: 6px;
}

.table-management-shell {
    padding: 12px;
}

.tables-toolbar {
    grid-template-columns: 220px minmax(260px, 1fr) auto;
    gap: 10px;
    margin-bottom: 10px;
}

.tables-toolbar .form-select,
.tables-toolbar .form-control {
    min-height: 38px;
    font-size: 13px;
}

.tables-view-toggle button {
    width: 36px;
    height: 36px;
}

.admin-tables-table {
    min-width: 760px !important;
    margin-bottom: 0;
}

.admin-tables-table th {
    padding: 9px 12px !important;
    font-size: 12px;
}

.admin-tables-table td {
    padding: 9px 12px !important;
    font-size: 13px;
    vertical-align: middle;
}

.admin-tables-table td strong,
.admin-tables-table .order-num {
    color: var(--app-text);
}

.status-pill {
    min-height: 24px;
    padding: 3px 9px;
    font-size: 11px;
}

.table-row-actions {
    gap: 6px;
}

.icon-action {
    width: 31px;
    height: 31px;
    border-radius: 6px;
}

.table-row-actions .icon-action {
    width: 42px;
    font-size: 0;
}

.table-row-actions .icon-action[title="Open Menu"]::after,
.table-row-actions .icon-action[aria-label="Open menu"]::after {
    content: "View";
    font-size: 11px;
    font-weight: 700;
}

.table-row-actions .icon-action[title="Edit Table"]::after,
.table-row-actions .icon-action[aria-label="Edit table"]::after {
    content: "Edit";
    font-size: 11px;
    font-weight: 700;
}

.table-row-actions .icon-action[aria-label="More actions"]::after {
    content: "...";
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 1px;
}

.palace-menu-page .menu-header {
    min-height: 136px !important;
    padding: 10px 18px 12px !important;
}

.palace-menu-page .restaurant-logo-menu-header {
    width: 96px !important;
    margin-bottom: 2px !important;
}

.palace-menu-page .restaurant-logo-menu-header img {
    max-height: 58px !important;
}

.palace-menu-page .menu-header-title {
    font-size: clamp(30px, 4.3vw, 40px) !important;
    margin: 1px 0 4px !important;
}

.palace-menu-page .menu-header-sub {
    font-size: 14px !important;
}

.palace-menu-page .palace-divider {
    margin: 5px auto 6px !important;
}

.palace-menu-page .menu-table-badge {
    min-height: 30px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
}

.offline-customer-bar {
    min-height: 28px !important;
    padding: 5px 14px !important;
    gap: 11px !important;
    font-size: 12px !important;
}

.offline-customer-bar button {
    min-height: 25px !important;
    padding: 4px 10px !important;
    font-size: 12px !important;
}

.palace-menu-page .menu-service-shell,
.palace-menu-page .menu-search-shell,
.palace-menu-page .category-tabs,
.palace-menu-page .menu-section {
    max-width: 1120px !important;
}

.palace-menu-page .menu-service-shell {
    margin: 12px auto 0 !important;
    padding: 0 24px !important;
}

.palace-menu-page .menu-search-shell {
    margin: 10px auto 5px !important;
    padding: 0 24px !important;
}

.palace-menu-page .menu-search-box {
    width: min(100%, 520px) !important;
}

.palace-menu-page .category-tabs-wrapper {
    padding: 9px 24px !important;
}

.palace-menu-page .category-tabs {
    gap: 7px !important;
}

.palace-menu-page .category-tab {
    min-height: 32px;
    padding: 7px 12px !important;
    font-size: 13px;
}

.palace-menu-page .menu-section {
    padding: 8px 24px 40px !important;
}

.palace-menu-page .section-title {
    font-size: 22px !important;
    margin: 32px 0 14px !important;
}

.palace-menu-page .menu-product-list {
    gap: 9px;
}

.menu-product-row {
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 13px;
    min-height: 96px;
    padding: 8px 10px;
}

.menu-product-image-btn {
    width: 110px;
    height: 82px;
    border-radius: 8px;
}

.menu-product-image-btn .product-card-img-placeholder {
    object-fit: contain !important;
    padding: 12px;
    background: #F8F1E4;
}

.menu-product-image-btn .brand-product-placeholder {
    background:
        linear-gradient(135deg, rgba(185, 130, 31, .18), transparent 42%),
        #F8F1E4 !important;
    color: var(--app-olive);
    border: 1px solid rgba(185, 130, 31, .25);
    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .2px;
    line-height: 1.05;
    text-align: center;
}

.menu-product-image-btn .brand-product-placeholder span {
    color: #0E3B2E !important;
    display: block;
    font-size: 16px;
    font-weight: 800;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .9);
    text-transform: uppercase;
}

.menu-product-title-line {
    gap: 16px;
}

.palace-menu-page .product-card-title {
    font-size: 18px !important;
    line-height: 1.2 !important;
}

.palace-menu-page .product-card-price {
    font-size: 18px !important;
    font-weight: 700;
}

.palace-menu-page .product-card-desc {
    color: #5E584D !important;
    font-size: 13px !important;
    line-height: 1.35;
    margin: 4px 0 7px !important;
}

.menu-product-meta {
    min-height: 30px;
}

.palace-menu-page .availability-badge,
.palace-menu-page .btn-add-cart {
    font-size: 13px !important;
}

@media (max-width: 991.98px) {
    .topbar {
        min-height: 62px !important;
        padding: 10px 16px 8px !important;
    }

    .content-area {
        padding: 12px 16px 22px !important;
    }

    .tables-toolbar {
        grid-template-columns: 1fr;
    }

    .palace-menu-page .menu-service-shell,
    .palace-menu-page .menu-search-shell,
    .palace-menu-page .category-tabs-wrapper,
    .palace-menu-page .menu-section {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 575.98px) {
    .page-title {
        font-size: 20px !important;
    }

    .topbar .btn,
    .topbar .btn-primary-gold,
    .topbar .btn-outline-dark {
        min-height: 34px !important;
        padding: 7px 10px !important;
    }

    .content-area {
        padding: 10px 12px 20px !important;
    }

    .unified-mode-banner {
        display: flex;
        font-size: 12px;
    }

    .palace-menu-page .menu-header {
        min-height: 128px !important;
        padding: 10px 14px 12px !important;
    }

    .palace-menu-page .restaurant-logo-menu-header {
        width: 84px !important;
    }

    .palace-menu-page .restaurant-logo-menu-header img {
        max-height: 50px !important;
    }

    .palace-menu-page .menu-header-title {
        font-size: clamp(28px, 9vw, 36px) !important;
    }

    .palace-menu-page .menu-service-shell,
    .palace-menu-page .menu-search-shell,
    .palace-menu-page .category-tabs-wrapper,
    .palace-menu-page .menu-section {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .palace-menu-page .menu-search-shell {
        margin-top: 10px !important;
    }

    .palace-menu-page .section-title {
        font-size: 20px !important;
        margin: 28px 0 12px !important;
    }

    .menu-product-row {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 10px;
        min-height: 88px;
        padding: 7px;
    }

    .menu-product-image-btn {
        width: 82px;
        height: 72px;
    }

    .menu-product-title-line {
        align-items: flex-start;
        gap: 8px;
    }

    .palace-menu-page .product-card-title {
        font-size: 16px !important;
    }

    .palace-menu-page .product-card-price {
        font-size: 16px !important;
    }

    .palace-menu-page .product-card-desc {
        font-size: 13px !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

/* Visual rebuild Phase 1: approved Admin Tables + public menu presentation */
:root {
    --visual-sidebar-width: 218px;
    --visual-sidebar-bg: #142414;
    --visual-sidebar-bg-2: #1C2A16;
    --visual-green: #143A23;
    --visual-green-strong: #0E321E;
    --visual-gold: #B9821F;
    --visual-gold-soft: #D9B15D;
    --visual-page: #F8F6F1;
    --visual-surface: #FFFFFF;
    --visual-border: #E7DED1;
    --visual-text: #202016;
    --visual-muted: #6F6A60;
}

.staff-body {
    background: var(--visual-page) !important;
    color: var(--visual-text) !important;
    font-family: Inter, Tajawal, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.sidebar {
    width: var(--visual-sidebar-width) !important;
    background: linear-gradient(180deg, var(--visual-sidebar-bg), var(--visual-sidebar-bg-2)) !important;
    border-right: 1px solid rgba(217, 177, 93, .14) !important;
    box-shadow: none !important;
}

.sidebar-brand {
    min-height: 0 !important;
    padding: 18px 16px 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    display: flex !important;
    justify-content: center !important;
}

.restaurant-logo-sidebar,
.brand-logo-wrap {
    width: 156px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 auto !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.restaurant-logo-sidebar img,
.brand-logo-wrap img {
    width: 100% !important;
    max-width: 156px !important;
    max-height: 122px !important;
    object-fit: contain !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: sepia(1) saturate(1.6) hue-rotate(358deg) brightness(1.42) contrast(.95);
}

.sidebar .brand-copy {
    display: none !important;
}

.sidebar-nav {
    padding: 16px 12px 78px !important;
    gap: 3px !important;
}

.sidebar .nav-section {
    margin: 12px 8px 6px !important;
    color: rgba(245, 239, 226, .58) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase;
}

.sidebar .nav-link {
    min-height: 36px !important;
    padding: 8px 10px !important;
    border-radius: 7px !important;
    color: #F5EFE2 !important;
    font-size: 14px !important;
    gap: 10px !important;
    border-left: 0 !important;
}

.sidebar .nav-link i {
    width: 18px !important;
    color: var(--visual-gold-soft) !important;
    font-size: 15px !important;
}

.sidebar .nav-link.active {
    background: rgba(255, 255, 255, .09) !important;
    color: #FFFFFF !important;
    box-shadow: inset 3px 0 0 rgba(217, 177, 93, .9);
}

.sidebar .nav-link:hover {
    background: rgba(255, 255, 255, .07) !important;
}

.sidebar-footer {
    min-height: 62px !important;
    padding: 10px 14px !important;
    border-top: 1px solid rgba(255, 255, 255, .08) !important;
    background: rgba(0, 0, 0, .08) !important;
}

.user-avatar {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: var(--visual-gold-soft) !important;
    color: #182412 !important;
}

.user-name,
.user-role {
    color: #F8F1E4 !important;
}

.main-content {
    margin-left: var(--visual-sidebar-width) !important;
    width: calc(100% - var(--visual-sidebar-width)) !important;
    background: var(--visual-page) !important;
}

.topbar {
    min-height: 84px !important;
    padding: 22px 24px 12px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.topbar::before,
.topbar::after {
    display: none !important;
}

.page-title {
    color: var(--visual-text) !important;
    min-width: 300px !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
}

.page-title-stack > span {
    white-space: nowrap;
}

.page-title-stack {
    display: grid;
    gap: 4px;
}

.page-title-stack small {
    color: var(--visual-muted);
    font-size: 13px;
    font-weight: 500;
}

.topbar-right {
    gap: 10px !important;
    align-items: center !important;
}

.display-controls {
    gap: 8px !important;
}

.topbar-icon-btn {
    min-width: 38px !important;
    height: 38px !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--visual-border) !important;
    color: var(--visual-green) !important;
    box-shadow: none !important;
}

.topbar-icon-btn::after {
    color: var(--visual-green);
    font-size: 11px;
    font-weight: 800;
}

.offline-status-pill {
    min-height: 38px !important;
    padding: 7px 10px !important;
    gap: 9px !important;
    border-radius: 8px !important;
    background: var(--visual-green-strong) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(217, 177, 93, .18) !important;
    box-shadow: none !important;
    font-size: 12px !important;
}

.offline-sync-btn {
    min-height: 26px !important;
    padding: 4px 9px !important;
    background: var(--visual-gold-soft) !important;
    color: #2B2212 !important;
    border-radius: 7px !important;
}

.topbar-status {
    display: none !important;
    min-height: 38px !important;
    padding: 7px 10px !important;
    border: 1px solid var(--visual-border) !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    color: var(--visual-text) !important;
}

.role-pill {
    background: var(--visual-gold) !important;
    color: #FFFFFF !important;
}

.admin-header-action {
    min-height: 38px !important;
    padding: 9px 14px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.admin-header-action-primary {
    background: var(--visual-green-strong) !important;
    border-color: var(--visual-green-strong) !important;
    color: #FFFFFF !important;
}

.content-area {
    padding: 0 24px 24px !important;
    background: var(--visual-page) !important;
}

.unified-mode-banner {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 46px !important;
    margin: 0 0 14px !important;
    padding: 10px 14px !important;
    border: 1px solid #E8D5AE !important;
    border-radius: 8px !important;
    background: #FFF8EA !important;
    color: var(--visual-text) !important;
    font-size: 13px !important;
    box-shadow: none !important;
}

.unified-mode-banner > i {
    display: none !important;
}

.unified-mode-banner strong {
    color: var(--visual-text) !important;
    font-size: 13px !important;
    white-space: nowrap;
}

.unified-mode-banner span {
    color: #4F493F !important;
}

.unified-mode-banner a {
    color: var(--visual-green-strong) !important;
    font-weight: 800 !important;
    margin-left: auto;
}

.table-management-shell {
    padding: 0 !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
    border: 1px solid var(--visual-border) !important;
    border-radius: 11px !important;
    box-shadow: 0 8px 22px rgba(38, 35, 26, .05) !important;
}

.tables-toolbar {
    grid-template-columns: 210px minmax(320px, 1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 16px !important;
    margin: 0 !important;
}

.tables-toolbar .form-select,
.tables-toolbar .form-control {
    min-height: 42px !important;
    border-radius: 8px !important;
    border-color: var(--visual-border) !important;
    background-color: #FFFFFF !important;
    color: var(--visual-text) !important;
    font-size: 14px !important;
}

.tables-search i {
    color: #9A9388 !important;
}

.tables-view-toggle {
    height: 42px !important;
    border-color: var(--visual-border) !important;
    border-radius: 8px !important;
}

.tables-view-toggle button {
    width: 42px !important;
    height: 42px !important;
    color: var(--visual-green) !important;
}

.tables-view-toggle button.active {
    background: var(--visual-green-strong) !important;
    color: #FFFFFF !important;
}

.admin-tables-table {
    min-width: 780px !important;
    width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse !important;
}

.admin-tables-table thead th {
    height: 40px !important;
    padding: 10px 14px !important;
    background: linear-gradient(180deg, #18391E, #112C18) !important;
    color: #FFFFFF !important;
    border: 0 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.admin-tables-table thead th:first-child {
    border-top-left-radius: 0 !important;
}

.admin-tables-table thead th:last-child {
    text-align: right !important;
    border-top-right-radius: 0 !important;
}

.admin-tables-table tbody tr {
    height: 56px !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #EDE5DA !important;
}

.admin-tables-table tbody tr:nth-child(even) {
    background: #FCFAF6 !important;
}

.admin-tables-table td {
    padding: 7px 14px !important;
    color: var(--visual-text) !important;
    font-size: 13px !important;
    vertical-align: middle !important;
    border: 0 !important;
}

.admin-tables-table td strong {
    display: block;
    color: var(--visual-text) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.table-name-cell {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
}

.table-mini-icon {
    position: relative;
    width: 25px;
    height: 28px;
    display: inline-flex;
    border: 2px solid #2A271D;
    border-radius: 4px;
    background: linear-gradient(90deg, #FFF7E9 0 45%, #F4E9D5 45% 55%, #FFF7E9 55% 100%);
    box-shadow: 0 1px 0 rgba(0, 0, 0, .12);
}

.table-mini-icon::before,
.table-mini-icon::after {
    content: "";
    position: absolute;
    top: 5px;
    bottom: 5px;
    width: 2px;
    background: #2A271D;
}

.table-mini-icon::before {
    left: 5px;
}

.table-mini-icon::after {
    right: 5px;
}

.admin-tables-table .small,
.admin-tables-table .text-muted {
    color: var(--visual-muted) !important;
    font-size: 12px !important;
}

.admin-tables-table .order-num {
    color: #94620D !important;
    font-weight: 800 !important;
    font-size: 12px !important;
}

.admin-tables-table td:last-child {
    text-align: right !important;
}

.status-pill {
    min-height: 24px !important;
    min-width: 76px !important;
    justify-content: center !important;
    padding: 4px 9px !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.status-pill.bg-success {
    background: #DFF1E6 !important;
    color: #1C6C37 !important;
}

.status-pill.bg-danger {
    background: #FCE1DF !important;
    color: #B62920 !important;
}

.status-pill.bg-warning,
.status-pill.bg-warning.text-dark {
    background: #FFF0C8 !important;
    color: #A26600 !important;
}

.status-pill.bg-primary {
    background: #E4EEFF !important;
    color: #165AD8 !important;
}

.status-pill.bg-info {
    background: #EBE3FF !important;
    color: #6442C2 !important;
}

.status-pill.bg-secondary {
    background: #E8E4DE !important;
    color: #5D574E !important;
}

.table-row-actions {
    display: inline-flex !important;
    justify-content: flex-end !important;
    gap: 7px !important;
}

.table-row-actions .icon-action {
    position: relative;
    width: 31px !important;
    height: 31px !important;
    padding: 0 !important;
    border-radius: 7px !important;
    border: 1px solid var(--visual-border) !important;
    background: #FBF8F2 !important;
    color: var(--visual-green) !important;
    font-size: 0 !important;
    box-shadow: none !important;
}

.table-row-actions .icon-action i {
    display: none !important;
}

.table-row-actions .icon-action:hover {
    background: var(--visual-green-strong) !important;
    border-color: var(--visual-green-strong) !important;
}

.table-row-actions .icon-action[aria-label="Open menu"]::before {
    content: "";
    width: 15px;
    height: 9px;
    border: 1.6px solid currentColor;
    border-radius: 50%;
    position: absolute;
    inset: 10px 7px auto auto;
}

.table-row-actions .icon-action::after {
    content: "" !important;
}

.table-row-actions .icon-action[aria-label="Open menu"]::after {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    position: absolute;
    top: 13px;
    left: 13px;
}

.table-row-actions .icon-action[aria-label="Edit table"]::before {
    content: "";
    width: 14px;
    height: 5px;
    border: 1.7px solid currentColor;
    border-left-width: 5px;
    transform: rotate(-42deg);
    position: absolute;
    top: 12px;
    left: 8px;
}

.table-row-actions .icon-action[aria-label="More actions"]::before {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 7px 0 0 currentColor, 14px 0 0 currentColor;
    position: absolute;
    top: 14px;
    left: 7px;
}

.table-row-actions .icon-action[aria-label="More actions"]::after {
    content: "" !important;
}

/*
.table-row-actions .icon-action[aria-label="More actions"]::before {
    content: "...";
    color: currentColor;
    font-size: 18px;
    font-weight: 900;
    line-height: 0;
    position: absolute;
    top: 11px;
    left: 8px;
    letter-spacing: 1px;
}
*/

.table-row-actions .icon-action:hover::before,
.table-row-actions .icon-action:hover::after {
    color: #FFFFFF !important;
    border-color: #FFFFFF !important;
    background-color: #FFFFFF;
}

.table-row-actions .dropdown-menu {
    text-align: left;
}

.table-responsive {
    border-radius: 0 !important;
}

.tables-count-footer {
    padding: 12px 16px 14px;
    color: var(--visual-muted);
    font-size: 12px;
    border-top: 1px solid #EDE5DA;
    background: #FFFFFF;
}

.customer-body,
html:has(.palace-menu-page),
.palace-menu-page {
    background: #F9F7F2 !important;
    color: var(--visual-text) !important;
    font-family: Inter, Tajawal, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.offline-customer-bar {
    min-height: 30px !important;
    padding: 6px 16px !important;
    background: #062A1E !important;
    color: #FFFFFF !important;
    font-size: 12px !important;
}

.offline-customer-bar button {
    min-height: 24px !important;
    padding: 3px 10px !important;
    border-radius: 6px !important;
}

.palace-menu-page .menu-header {
    position: relative !important;
    overflow: hidden !important;
    min-height: 218px !important;
    padding: 22px 24px 18px !important;
    background:
        linear-gradient(135deg, rgba(185, 130, 31, .16) 0 1px, transparent 1px 100%),
        #FFFEFC !important;
    border-bottom: 1px solid #EDE5DA !important;
    box-shadow: none !important;
    color: var(--visual-text) !important;
}

.menu-hero-leaf {
    position: absolute;
    top: 22px;
    width: 150px;
    height: 150px;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .82;
    pointer-events: none;
    z-index: 0;
}

.menu-hero-leaf-left {
    left: 28px;
    background-image: url("../images/menu-fallbacks/leaf-left.png");
}

.menu-hero-leaf-right {
    right: 28px;
    background-image: url("../images/menu-fallbacks/leaf-right.png");
}

.palace-menu-page .menu-header > *:not(.menu-hero-leaf) {
    position: relative;
    z-index: 1;
}

.palace-menu-page .restaurant-logo-menu-header,
.palace-menu-page .menu-brand-logo {
    width: 118px !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 auto 4px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.palace-menu-page .restaurant-logo-menu-header img,
.palace-menu-page .menu-brand-logo img {
    width: 118px !important;
    max-height: 88px !important;
    object-fit: contain !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.palace-menu-page .menu-header-title {
    margin: 2px 0 6px !important;
    color: #143A23 !important;
    font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
    font-size: clamp(39px, 4.2vw, 48px) !important;
    font-weight: 700 !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
}

.palace-menu-page .menu-header-sub {
    color: #353225 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase;
}

.palace-menu-page .palace-divider {
    width: 340px !important;
    max-width: 80vw !important;
    height: 1px !important;
    margin: 9px auto 14px !important;
    background: var(--visual-gold) !important;
    opacity: .9 !important;
}

.palace-menu-page .menu-table-badge {
    min-height: 42px !important;
    padding: 10px 20px !important;
    border-radius: 7px !important;
    background: var(--visual-green-strong) !important;
    border: 1px solid rgba(217, 177, 93, .22) !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.palace-menu-page .menu-service-shell,
.palace-menu-page .menu-search-shell,
.palace-menu-page .category-tabs,
.palace-menu-page .menu-section {
    max-width: 1120px !important;
}

.palace-menu-page .menu-service-shell {
    margin: 14px auto 0 !important;
    padding: 0 24px !important;
}

.palace-menu-page .menu-search-shell {
    margin: 0 auto !important;
    padding: 18px 24px 10px !important;
    background: #FFFFFF !important;
    border-left: 1px solid #EDE5DA !important;
    border-right: 1px solid #EDE5DA !important;
    border-radius: 10px 10px 0 0 !important;
}

.palace-menu-page .menu-search-box {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    height: 44px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--visual-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.palace-menu-page .menu-search-box i {
    color: #8A8379 !important;
}

.palace-menu-page .menu-search-box .form-control {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 42px !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    color: var(--visual-text) !important;
    font-size: 14px !important;
    background: transparent !important;
}

.palace-menu-page .menu-search-box .form-control:focus {
    border: 0 !important;
    box-shadow: none !important;
}

.palace-menu-page .menu-search-box:focus-within {
    border-color: var(--visual-green-strong) !important;
    box-shadow: 0 0 0 3px rgba(20, 58, 35, .08) !important;
}

.palace-menu-page .category-tabs-wrapper {
    position: sticky !important;
    top: 0 !important;
    z-index: 30 !important;
    padding: 0 24px 18px !important;
    background: #FFFFFF !important;
    border-top: 0 !important;
    border-bottom: 1px solid #EDE5DA !important;
    overflow: hidden !important;
}

.palace-menu-page .category-tabs {
    gap: 10px !important;
    padding: 0 !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    scrollbar-width: none;
}

.palace-menu-page .category-tabs::-webkit-scrollbar {
    display: none;
}

.palace-menu-page .category-tab {
    min-height: 31px !important;
    padding: 7px 12px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #302E25 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap;
}

.palace-menu-page .category-tab.active {
    background: var(--visual-green-strong) !important;
    color: #FFFFFF !important;
    border-color: var(--visual-green-strong) !important;
}

.palace-menu-page .menu-section {
    margin: 0 auto !important;
    padding: 20px 24px 38px !important;
}

.palace-menu-page .section-title {
    display: grid !important;
    grid-template-columns: minmax(80px, 1fr) auto minmax(80px, 1fr);
    align-items: center;
    gap: 18px;
    margin: 28px 0 16px !important;
    color: #1E2B1D !important;
    font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    text-align: center !important;
}

.palace-menu-page .section-title::before,
.palace-menu-page .section-title::after {
    content: "";
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--visual-gold));
}

.palace-menu-page .section-title::after {
    background: linear-gradient(90deg, var(--visual-gold), transparent);
}

.palace-menu-page .menu-product-list {
    gap: 10px !important;
}

.menu-product-row {
    grid-template-columns: 126px minmax(0, 1fr) !important;
    gap: 16px !important;
    min-height: 102px !important;
    padding: 8px 12px 8px 8px !important;
    background: #FFFFFF !important;
    border: 1px solid #E9E1D6 !important;
    border-radius: 10px !important;
    box-shadow: 0 7px 18px rgba(38, 35, 26, .04) !important;
}

.menu-product-image-btn {
    width: 126px !important;
    height: 88px !important;
    border-radius: 9px !important;
    background: #F4EBDD !important;
    border: 0 !important;
    box-shadow: none !important;
}

.menu-product-image-btn img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 1 !important;
    filter: none !important;
    border-radius: 9px !important;
}

.menu-product-image-btn .product-card-img-fallback {
    object-fit: cover !important;
}

.menu-product-image-btn .brand-product-placeholder {
    width: 100% !important;
    height: 100% !important;
    background:
        linear-gradient(135deg, rgba(185, 130, 31, .18), transparent 44%),
        #F5EADB !important;
    border: 1px solid rgba(185, 130, 31, .25) !important;
    color: #143A23 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 9px !important;
}

.menu-product-image-btn .brand-product-placeholder span {
    display: none !important;
}

.menu-product-image-btn .brand-product-placeholder::after {
    content: "AL Rabia";
    display: block !important;
    color: #143A23 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: none !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .85);
}

.menu-product-info {
    min-width: 0;
}

.menu-product-title-line {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

.palace-menu-page .product-card-title {
    color: var(--visual-text) !important;
    font-family: Inter, Tajawal, system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
}

.palace-menu-page .product-card-price {
    flex: 0 0 auto;
    min-width: 74px;
    text-align: right;
    color: #B36E0A !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.palace-menu-page .product-card-desc {
    max-width: 680px;
    margin: 5px 0 10px !important;
    color: #5E584F !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.palace-menu-page .availability-badge {
    min-height: 24px !important;
    padding: 3px 9px !important;
    border-radius: 999px !important;
    background: #EAF4DD !important;
    color: #1E6E36 !important;
    border: 1px solid #C8DDB1 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.palace-menu-page .btn-add-cart {
    min-height: 32px !important;
    padding: 7px 12px !important;
    border-radius: 7px !important;
    background: var(--visual-green-strong) !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
}

.menu-image-preview-dialog {
    max-width: min(860px, calc(100vw - 28px)) !important;
}

.menu-image-preview-modal {
    background: rgba(255, 255, 255, .98) !important;
    border: 1px solid rgba(255, 255, 255, .25) !important;
    border-radius: 12px !important;
    box-shadow: 0 26px 80px rgba(0, 0, 0, .35) !important;
}

.modal-backdrop.show {
    opacity: .72 !important;
}

.menu-image-preview-img {
    width: 100% !important;
    max-height: 76vh !important;
    object-fit: contain !important;
    border-radius: 10px !important;
    background: #F5EADB !important;
}

@media (max-width: 991.98px) {
    .sidebar {
        transform: translateX(calc(-1 * var(--visual-sidebar-width))) !important;
    }

    .sidebar.active {
        transform: translateX(0) !important;
    }

    .main-content,
    .main-content.sidebar-mini {
        margin-left: 0 !important;
        width: 100% !important;
    }

    .topbar {
        min-height: 76px !important;
        padding: 18px 18px 10px !important;
    }

    .content-area {
        padding: 0 18px 22px !important;
    }

    .tables-toolbar {
        grid-template-columns: 1fr !important;
        padding: 14px !important;
    }

    .palace-menu-page .menu-search-shell,
    .palace-menu-page .category-tabs-wrapper,
    .palace-menu-page .menu-section {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

@media (max-width: 575.98px) {
    .topbar {
        align-items: flex-start !important;
        min-height: 96px !important;
        padding: 14px 14px 10px !important;
    }

    .page-title {
        font-size: 23px !important;
    }

    .topbar-right {
        gap: 7px !important;
    }

    .content-area {
        padding: 0 12px 18px !important;
    }

    .unified-mode-banner {
        align-items: flex-start !important;
        gap: 7px !important;
        padding: 10px 11px !important;
    }

    .unified-mode-banner strong,
    .unified-mode-banner span,
    .unified-mode-banner a {
        display: block !important;
        margin: 0 !important;
        white-space: normal !important;
    }

    .palace-menu-page .menu-header {
        min-height: 206px !important;
        padding: 18px 14px 16px !important;
    }

    .menu-hero-leaf {
        width: 118px;
        height: 118px;
        top: 30px;
        opacity: .48;
    }

    .menu-hero-leaf-left {
        left: -4px;
    }

    .menu-hero-leaf-right {
        right: -4px;
    }

    .palace-menu-page .restaurant-logo-menu-header,
    .palace-menu-page .menu-brand-logo,
    .palace-menu-page .restaurant-logo-menu-header img,
    .palace-menu-page .menu-brand-logo img {
        width: 96px !important;
        max-height: 72px !important;
    }

    .palace-menu-page .menu-header-title {
        font-size: clamp(33px, 10vw, 39px) !important;
    }

    .palace-menu-page .menu-header-sub {
        font-size: 12px !important;
        letter-spacing: .13em !important;
    }

    .palace-menu-page .menu-table-badge {
        min-height: 36px !important;
        padding: 8px 15px !important;
    }

    .palace-menu-page .menu-search-shell {
        padding: 14px 12px 8px !important;
        border-radius: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }

    .palace-menu-page .category-tabs-wrapper {
        padding: 0 12px 12px !important;
        overflow-x: auto !important;
    }

    .palace-menu-page .category-tabs {
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        min-width: max-content;
    }

    .palace-menu-page .menu-section {
        padding: 18px 12px 32px !important;
    }

    .palace-menu-page .section-title {
        grid-template-columns: minmax(46px, 1fr) auto minmax(46px, 1fr);
        gap: 12px;
        margin: 24px 0 14px !important;
        font-size: 23px !important;
    }

    .menu-product-row {
        grid-template-columns: 78px minmax(0, 1fr) !important;
        gap: 10px !important;
        min-height: 88px !important;
        padding: 8px !important;
    }

    .menu-product-image-btn {
        width: 78px !important;
        height: 68px !important;
    }

    .menu-product-image-btn .brand-product-placeholder span {
        font-size: 14px !important;
    }

    .menu-product-title-line {
        gap: 8px !important;
    }

    .palace-menu-page .product-card-title {
        font-size: 15px !important;
    }

    .palace-menu-page .product-card-price {
        min-width: 56px;
        font-size: 16px !important;
    }

    .palace-menu-page .product-card-desc {
        margin: 3px 0 7px !important;
        font-size: 13px !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

/* Public digital menu final polish: customer-only presentation */
.customer-body {
    min-height: 100vh;
}

.customer-body .offline-customer-bar,
.customer-body .offline-sync-meta,
.customer-body .customer-meta {
    display: none !important;
}

[x-cloak] {
    display: none !important;
}

.palace-menu-page {
    padding-bottom: 34px !important;
}

.palace-menu-page .menu-header {
    min-height: 198px !important;
    padding-top: 18px !important;
    padding-bottom: 15px !important;
}

.palace-menu-page .menu-search-shell {
    padding-top: 14px !important;
    padding-bottom: 8px !important;
}

.palace-menu-page .category-tabs-wrapper {
    padding-bottom: 14px !important;
}

.palace-menu-page .menu-section {
    padding-top: 18px !important;
    padding-bottom: 36px !important;
}

.menu-product-row {
    transition: transform 200ms ease-out, border-color 200ms ease-out, box-shadow 200ms ease-out, background-color 200ms ease-out;
    will-change: transform;
}

.menu-product-image-btn {
    flex-shrink: 0 !important;
    width: 132px !important;
    height: 96px !important;
    overflow: hidden !important;
}

.menu-product-image-btn img,
.menu-product-image-btn .product-card-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: 1 !important;
    filter: none !important;
    transform: scale(1);
    transition: transform 220ms ease-out;
}

@media (hover: hover) and (pointer: fine) {
    .menu-product-row:hover {
        transform: translateY(-2px);
        border-color: #E0C99C !important;
        box-shadow: 0 10px 24px rgba(38, 35, 26, .075) !important;
    }

    .menu-product-row:hover .menu-product-image-btn img {
        transform: scale(1.02);
    }
}

@media (hover: none) {
    .menu-product-row:active {
        transform: scale(.99);
        transition-duration: 120ms;
    }
}

.category-tab {
    transition: background-color 200ms ease-out, color 200ms ease-out, border-color 200ms ease-out, transform 200ms ease-out;
}

.category-tab.scroll-active:not(.active) {
    color: var(--visual-green-strong) !important;
    border-color: rgba(20, 58, 35, .16) !important;
}

.menu-empty-results {
    display: grid;
    place-items: center;
    gap: 4px;
    min-height: 140px;
    margin: 28px auto 0;
    padding: 28px;
    max-width: 520px;
    text-align: center;
    color: var(--visual-muted);
    background: #FFFFFF;
    border: 1px solid var(--visual-border);
    border-radius: 12px;
}

.menu-empty-results strong {
    color: var(--visual-text);
    font-size: 16px;
}

.menu-empty-results span {
    font-size: 13px;
}

.palace-menu-page .menu-product-row.menu-product-row-no-image {
    grid-template-columns: minmax(0, 1fr) !important;
    padding-left: 18px !important;
}

.palace-menu-page .menu-product-row.menu-product-row-no-image .menu-product-title-line {
    align-items: center !important;
}

.palace-menu-page .menu-product-row.menu-product-row-no-image .menu-product-meta {
    margin-top: 6px;
}

.menu-animation-ready .menu-header,
.menu-animation-ready .menu-search-shell,
.menu-animation-ready .category-tabs-wrapper,
.menu-animation-ready .menu-category-section,
.menu-animation-ready [data-menu-product-row] {
    opacity: 0;
    transform: translateY(8px);
}

.menu-animation-ready .menu-header.is-visible,
.menu-animation-ready .menu-search-shell.is-visible,
.menu-animation-ready .category-tabs-wrapper.is-visible,
.menu-animation-ready .menu-category-section.is-visible,
.menu-animation-ready [data-menu-product-row].is-visible,
.menu-motion-reduced .menu-header,
.menu-motion-reduced .menu-search-shell,
.menu-motion-reduced .category-tabs-wrapper,
.menu-motion-reduced .menu-category-section,
.menu-motion-reduced [data-menu-product-row] {
    opacity: 1;
    transform: translateY(0);
}

.menu-animation-ready .menu-header,
.menu-animation-ready .menu-search-shell,
.menu-animation-ready .category-tabs-wrapper {
    transition: opacity 420ms ease-out, transform 420ms ease-out;
}

.menu-animation-ready .menu-category-section,
.menu-animation-ready [data-menu-product-row] {
    transition: opacity 380ms ease-out, transform 380ms ease-out;
}

#imagePreviewModal .modal-dialog {
    opacity: 0;
    transform: scale(.96);
    transition: opacity 240ms ease-out, transform 250ms ease-out;
}

.customer-body .modal:not(.show) {
    display: none !important;
}

.customer-body .modal.show {
    display: block !important;
    position: fixed;
    inset: 0;
    z-index: 1055;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0;
}

.customer-body .modal-dialog {
    width: auto;
    margin: 1.75rem auto;
    pointer-events: none;
}

.customer-body .modal-content {
    pointer-events: auto;
}

#imagePreviewModal.show .modal-dialog {
    opacity: 1;
    transform: scale(1);
}

#imagePreviewModal .modal-content {
    overflow: hidden;
}

#imagePreviewModal .modal-header {
    min-height: 52px;
    padding: 10px 14px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#imagePreviewModal .modal-title {
    color: #9A650D !important;
    font-family: Inter, Tajawal, system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

#imagePreviewModal .modal-body {
    padding: 0 14px 14px !important;
}

#imagePreviewModal .btn-close {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .92);
    border: 1px solid rgba(32, 32, 22, .28);
    opacity: 1;
}

#imagePreviewModal .btn-close::before,
#imagePreviewModal .btn-close::after {
    content: "";
    position: absolute;
    top: 18px;
    left: 10px;
    width: 16px;
    height: 2px;
    border-radius: 999px;
    background: #202016;
}

#imagePreviewModal .btn-close::before {
    transform: rotate(45deg);
}

#imagePreviewModal .btn-close::after {
    transform: rotate(-45deg);
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: #000;
    transition: opacity 200ms ease-out !important;
}

.modal-backdrop.fade {
    opacity: 0;
}

.modal-backdrop.show {
    opacity: .72 !important;
}

body.modal-open {
    overflow: hidden !important;
}

@media (max-width: 575.98px) {
    .palace-menu-page {
        padding-bottom: 28px !important;
    }

    .palace-menu-page .menu-header {
        min-height: 188px !important;
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    .palace-menu-page .menu-search-shell {
        padding-top: 12px !important;
        padding-bottom: 8px !important;
    }

    .palace-menu-page .category-tabs-wrapper {
        padding-bottom: 10px !important;
    }

    .menu-product-row {
        grid-template-columns: 90px minmax(0, 1fr) !important;
        min-height: 94px !important;
    }

    .menu-product-image-btn {
        width: 90px !important;
        height: 80px !important;
        border-radius: 8px !important;
    }

    .palace-menu-page .product-card-title {
        font-size: 15px !important;
        line-height: 1.2 !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .palace-menu-page .product-card-price {
        min-width: 52px !important;
        font-size: 16px !important;
        line-height: 1.2 !important;
    }

    .palace-menu-page .product-card-desc {
        font-size: 12.5px !important;
        line-height: 1.3 !important;
    }

    .palace-menu-page .availability-badge {
        min-height: 22px !important;
        padding: 2px 8px !important;
        font-size: 11.5px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .palace-menu-page *,
    #imagePreviewModal .modal-dialog,
    .modal-backdrop {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* Full UI consistency pass: apply approved Al Rabia Tables/Menu system to staff pages */
:root {
    --finish-green: #143A23;
    --finish-green-dark: #0E321E;
    --finish-sidebar: #142414;
    --finish-sidebar-2: #1C2A16;
    --finish-gold: #B9821F;
    --finish-gold-soft: #D9B15D;
    --finish-page: #F8F6F1;
    --finish-surface: #FFFFFF;
    --finish-surface-alt: #FCFAF6;
    --finish-border: #E7DED1;
    --finish-border-strong: #DBC9AF;
    --finish-text: #202016;
    --finish-muted: #6F6A60;
    --finish-shadow: 0 8px 22px rgba(38, 35, 26, .05);
    --finish-radius: 10px;
}

.staff-body {
    background:
        radial-gradient(circle at 20% 0%, rgba(217, 177, 93, .08), transparent 30%),
        var(--finish-page) !important;
    color: var(--finish-text) !important;
}

.staff-body h1,
.staff-body h2,
.staff-body h3,
.staff-body h4,
.staff-body h5,
.staff-body h6,
.staff-body .font-heading {
    font-family: Inter, Tajawal, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    color: var(--finish-text) !important;
    letter-spacing: 0 !important;
}

.content-area {
    max-width: 1480px;
}

.card-glass,
.staff-body .card.bg-dark,
.staff-body .card-dark,
.settings-main-card,
.branding-preview-card,
.cashier-order-detail .card-glass,
.cashier-checkout .card-glass {
    background: var(--finish-surface) !important;
    color: var(--finish-text) !important;
    border: 1px solid var(--finish-border) !important;
    border-radius: var(--finish-radius) !important;
    box-shadow: var(--finish-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.card-glass {
    padding: 18px !important;
}

.card-glass-header {
    min-height: 38px !important;
    padding: 0 0 14px !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid #EDE5DA !important;
}

.card-glass-header h5,
.card-glass-header .card-title {
    color: var(--finish-text) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.card-glass-header h5 i,
.text-gold,
.staff-body a:not(.btn):not(.nav-link):not(.dropdown-item) {
    color: #94620D !important;
}

.staff-body .text-muted,
.staff-body .text-white-50,
.entry-product-meta,
.entry-product-desc,
.order-feed-meta,
.summary-selected-table {
    color: var(--finish-muted) !important;
}

.staff-body .text-white,
.staff-body .card.bg-dark .text-white,
.staff-body .bg-dark,
.order-feed-card .text-white {
    color: var(--finish-text) !important;
}

.staff-body .bg-dark {
    background: var(--finish-surface) !important;
}

.staff-body hr,
.border-subtle {
    border-color: #EDE5DA !important;
    opacity: 1 !important;
}

.staff-body .alert {
    border-radius: 9px !important;
    box-shadow: none !important;
    color: var(--finish-text) !important;
}

.staff-body .alert-warning {
    background: #FFF8EA !important;
    border-color: #E8D5AE !important;
}

.staff-body .alert-danger {
    background: #FCE9E7 !important;
    border-color: #F2C8C4 !important;
}

.staff-body .alert-success {
    background: #EAF5EE !important;
    border-color: #CDE8D6 !important;
}

.btn-primary-gold,
.staff-body .btn-primary,
.staff-body .btn-success {
    min-height: 38px !important;
    padding: 9px 14px !important;
    border-radius: 8px !important;
    background: var(--finish-green-dark) !important;
    border: 1px solid var(--finish-green-dark) !important;
    color: #FFFFFF !important;
    font-family: Inter, Tajawal, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    gap: 8px !important;
    box-shadow: none !important;
    transform: none !important;
}

.btn-primary-gold:hover,
.staff-body .btn-primary:hover,
.staff-body .btn-success:hover {
    background: #0A2818 !important;
    border-color: #0A2818 !important;
    color: #FFFFFF !important;
}

.staff-body .btn-warning,
.staff-body .btn-outline-warning:hover,
.staff-body .btn-check:checked + .btn-outline-warning {
    min-height: 38px !important;
    background: var(--finish-gold-soft) !important;
    border-color: var(--finish-gold-soft) !important;
    color: #2B2212 !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

.staff-body .btn-outline-warning,
.staff-body .btn-outline-light,
.staff-body .btn-outline-secondary,
.staff-body .btn-secondary,
.btn-sm-gold {
    min-height: 36px !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--finish-border) !important;
    color: var(--finish-green) !important;
    font-family: Inter, Tajawal, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    box-shadow: none !important;
}

.staff-body .btn-outline-warning:hover,
.staff-body .btn-outline-light:hover,
.staff-body .btn-outline-secondary:hover,
.staff-body .btn-secondary:hover,
.btn-sm-gold:hover {
    background: var(--finish-green-dark) !important;
    border-color: var(--finish-green-dark) !important;
    color: #FFFFFF !important;
}

.btn-sm-gold,
.btn-sm-danger,
.btn-sm-info,
.staff-body .btn-sm {
    min-width: 32px;
    min-height: 32px !important;
    padding: 6px 9px !important;
}

.btn-sm-danger,
.staff-body .btn-outline-danger,
.staff-body .btn-danger {
    border-radius: 8px !important;
    background: #FCE1DF !important;
    border: 1px solid #F0C2BD !important;
    color: #B62920 !important;
    box-shadow: none !important;
}

.btn-sm-danger:hover,
.staff-body .btn-outline-danger:hover,
.staff-body .btn-danger:hover {
    background: #B62920 !important;
    border-color: #B62920 !important;
    color: #FFFFFF !important;
}

.staff-body .form-control,
.staff-body .form-select,
.staff-body textarea.form-control {
    min-height: 42px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--finish-border) !important;
    border-radius: 8px !important;
    color: var(--finish-text) !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

.staff-body textarea.form-control {
    min-height: auto !important;
}

.staff-body .form-control::placeholder {
    color: #9A9388 !important;
}

.staff-body .form-control:focus,
.staff-body .form-select:focus {
    border-color: var(--finish-green-dark) !important;
    box-shadow: 0 0 0 3px rgba(20, 58, 35, .08) !important;
}

.staff-body .form-label {
    color: var(--finish-text) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.staff-body .form-text,
.staff-body small {
    color: var(--finish-muted) !important;
}

.staff-body .form-check-input {
    background-color: #FFFFFF !important;
    border-color: #CDBEA7 !important;
}

.staff-body .form-check-input:checked {
    background-color: var(--finish-green-dark) !important;
    border-color: var(--finish-green-dark) !important;
}

.staff-body .modal-content {
    background: #FFFFFF !important;
    color: var(--finish-text) !important;
    border: 1px solid var(--finish-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 22px 70px rgba(20, 35, 20, .18) !important;
}

.staff-body .modal-header,
.staff-body .modal-footer {
    border-color: #EDE5DA !important;
}

.staff-body .btn-close {
    filter: none !important;
}

.table-dark-custom {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse !important;
    color: var(--finish-text) !important;
    background: #FFFFFF !important;
}

.table-dark-custom thead th {
    height: 40px !important;
    padding: 10px 14px !important;
    background: linear-gradient(180deg, #18391E, #112C18) !important;
    color: #FFFFFF !important;
    border: 0 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    white-space: nowrap;
}

.table-dark-custom tbody tr {
    background: #FFFFFF !important;
    border-bottom: 1px solid #EDE5DA !important;
}

.table-dark-custom tbody tr:nth-child(even) {
    background: #FCFAF6 !important;
}

.table-dark-custom td {
    padding: 12px 14px !important;
    color: var(--finish-text) !important;
    border: 0 !important;
    vertical-align: middle !important;
    font-size: 13px !important;
}

.table-dark-custom tbody tr:hover td {
    background: #FFF8EA !important;
}

.table-dark-custom code,
.order-num {
    color: #94620D !important;
    background: transparent !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.staff-body .badge,
.status-pill {
    min-height: 24px !important;
    padding: 4px 9px !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.1 !important;
}

.staff-body .badge.bg-success {
    background: #DFF1E6 !important;
    color: #1C6C37 !important;
}

.staff-body .badge.bg-danger {
    background: #FCE1DF !important;
    color: #B62920 !important;
}

.staff-body .badge.bg-warning,
.staff-body .badge.bg-warning.text-dark {
    background: #FFF0C8 !important;
    color: #A26600 !important;
}

.staff-body .badge.bg-primary,
.staff-body .badge.bg-info {
    background: #E4EEFF !important;
    color: #165AD8 !important;
}

.staff-body .badge.bg-secondary {
    background: #E8E4DE !important;
    color: #5D574E !important;
}

.staff-body .badge.bg-gold {
    background: var(--finish-gold-soft) !important;
    color: #2B2212 !important;
}

.stat-card {
    min-height: 118px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--finish-border) !important;
    border-radius: 10px !important;
    box-shadow: var(--finish-shadow) !important;
    color: var(--finish-text) !important;
}

.stat-card::after {
    display: none !important;
}

.stat-icon {
    width: 32px !important;
    height: 32px !important;
    background: #F7EFE1 !important;
    color: var(--finish-gold) !important;
    border-radius: 8px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.stat-value {
    color: var(--finish-green-dark) !important;
    font-family: Inter, Tajawal, system-ui, sans-serif !important;
    font-size: 28px !important;
    font-weight: 850 !important;
}

.stat-label {
    color: var(--finish-muted) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.quick-action-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 12px !important;
}

.quick-action-card,
.cashier-summary-strip > div,
.entry-floor-tab,
.floor-filter-tab,
.brand-remove-check,
.public-menu-setting,
.ui-empty-state {
    background: #FFFFFF !important;
    border: 1px solid var(--finish-border) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    color: var(--finish-text) !important;
}

.quick-action-card {
    min-height: 78px !important;
    padding: 14px !important;
}

.quick-action-card i {
    color: var(--finish-gold) !important;
}

.quick-action-card:hover,
.floor-filter-tab.active,
.entry-floor-tab.active {
    background: #FFF8EA !important;
    border-color: #E8D5AE !important;
    color: var(--finish-green-dark) !important;
}

.entry-search-wrap,
.tables-search {
    position: relative;
}

.entry-search-wrap i,
.tables-search i {
    color: #8A8379 !important;
}

.entry-category-filter,
.waiter-floor-tabs,
.cashier-floor-tabs,
.entry-floor-tabs {
    gap: 8px !important;
}

.entry-filter {
    min-height: 31px !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    color: #302E25 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}

.entry-filter.active,
.entry-filter:hover {
    background: var(--finish-green-dark) !important;
    border-color: var(--finish-green-dark) !important;
    color: #FFFFFF !important;
}

.entry-category-title {
    display: grid !important;
    grid-template-columns: minmax(60px, 1fr) auto minmax(60px, 1fr);
    align-items: center;
    gap: 14px;
    margin: 24px 0 14px !important;
    color: var(--finish-text) !important;
    font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    text-align: center;
    text-transform: uppercase;
}

.entry-category-title::before,
.entry-category-title::after {
    content: "";
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--finish-gold));
}

.entry-category-title::after {
    background: linear-gradient(90deg, var(--finish-gold), transparent);
}

.entry-product-grid {
    gap: 10px !important;
}

.entry-product,
.order-feed-card,
.cashier-summary-strip > div,
.entry-table-card,
.pos-payment-box,
.entry-payment-preview,
.branding-upload-box,
.branding-preview-surface,
.public-menu-setting {
    background: #FFFFFF !important;
    border: 1px solid #E9E1D6 !important;
    border-radius: 10px !important;
    box-shadow: 0 7px 18px rgba(38, 35, 26, .04) !important;
    color: var(--finish-text) !important;
}

.entry-product {
    padding: 8px !important;
}

.entry-product:hover,
.order-feed-card:hover,
.entry-table-card:not(.disabled):hover {
    transform: translateY(-1px);
    border-color: #E0C99C !important;
}

.entry-product-media {
    width: 92px !important;
    min-width: 92px !important;
    height: 76px !important;
    border-radius: 8px !important;
    background: #F5EADB !important;
    color: var(--finish-green) !important;
    overflow: hidden;
}

.entry-product-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.entry-product-name {
    color: var(--finish-text) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.qty-control {
    border: 1px solid var(--finish-border) !important;
    border-radius: 8px !important;
    overflow: hidden;
    background: #FFFFFF !important;
}

.qty-btn {
    color: var(--finish-green-dark) !important;
    background: #FBF8F2 !important;
}

.qty-btn:hover {
    background: var(--finish-green-dark) !important;
    color: #FFFFFF !important;
}

.qty-input {
    border: 0 !important;
    box-shadow: none !important;
    min-height: 34px !important;
}

.order-summary-panel {
    position: sticky;
    top: 18px;
}

.order-total-line {
    border-top: 1px solid #EDE5DA;
    padding-top: 12px;
}

.entry-payment-preview {
    padding: 12px !important;
}

.entry-payment-preview > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--finish-muted);
    font-size: 13px;
}

.entry-payment-preview strong {
    color: var(--finish-green-dark);
}

.order-feed-card,
.order-feed-card-warning {
    padding: 16px !important;
}

.order-feed-card-warning {
    background: #FFF8EA !important;
    border-color: #E8D5AE !important;
}

.order-feed-card ul {
    color: var(--finish-muted) !important;
}

.touch-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cashier-summary-strip {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.cashier-summary-strip > div {
    min-height: 74px !important;
    padding: 12px !important;
}

.cashier-summary-strip span {
    color: var(--finish-muted) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.cashier-summary-strip strong {
    color: var(--finish-green-dark) !important;
    font-size: 24px !important;
}

.settings-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 18px;
    align-items: start;
}

.branding-upload-box,
.brand-remove-check,
.public-menu-setting {
    padding: 14px !important;
}

.branding-preview-hero {
    background:
        linear-gradient(135deg, rgba(185, 130, 31, .12), transparent 52%),
        #FFFEFC !important;
    border: 1px solid var(--finish-border) !important;
    border-radius: 10px !important;
    padding: 18px !important;
}

.preview-kicker {
    color: var(--finish-gold) !important;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.preview-row {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 9px 0;
    border-bottom: 1px solid #EDE5DA;
}

.preview-row span {
    color: var(--finish-muted);
}

.ui-empty-state {
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 28px;
    text-align: center;
}

.ui-empty-state i {
    color: var(--finish-gold);
    font-size: 24px;
}

.ui-empty-state strong {
    color: var(--finish-text);
}

.ui-empty-state span {
    color: var(--finish-muted);
    font-size: 13px;
}

.ui-form-section {
    padding: 16px;
    border: 1px solid var(--finish-border);
    border-radius: 10px;
    background: #FFFFFF;
}

.ui-form-section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 12px;
    margin-bottom: 14px;
    border-bottom: 1px solid #EDE5DA;
}

.ui-form-section-header i {
    color: var(--finish-gold);
}

.ui-form-section-header h5 {
    margin: 0;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.table-action-stack,
td form.d-inline,
.staff-body td .d-inline {
    gap: 6px;
}

.staff-body .dropdown-menu {
    background: #FFFFFF !important;
    border: 1px solid var(--finish-border) !important;
    border-radius: 9px !important;
    box-shadow: 0 16px 40px rgba(38, 35, 26, .12) !important;
}

.staff-body .dropdown-item {
    color: var(--finish-text) !important;
    font-size: 13px !important;
}

.staff-body .dropdown-item:hover,
.staff-body .dropdown-item:focus {
    background: #FFF8EA !important;
    color: var(--finish-green-dark) !important;
}

.staff-body .btn-sm-gold .bi,
.staff-body .btn-sm-danger .bi,
.staff-body .btn-sm-info .bi,
.staff-body .btn-outline-light .bi,
.staff-body .btn-outline-warning .bi,
.staff-body .btn-warning .bi,
.staff-body .btn-success .bi,
.staff-body .btn-danger .bi,
.staff-body .btn-secondary .bi {
    font-style: normal;
}

.staff-body .btn-sm-gold .bi-pencil::before,
.staff-body .btn-sm-gold .bi-pencil-square::before {
    content: "Edit";
}

.staff-body .btn-sm-danger .bi-trash::before,
.staff-body .btn-danger .bi-trash::before,
.staff-body .btn-outline-danger .bi-trash::before {
    content: "Del";
}

.staff-body .btn-sm-info .bi-eye::before,
.staff-body .btn-outline-light .bi-eye::before {
    content: "View";
}

.staff-body .btn-primary-gold .bi-plus-lg::before,
.staff-body .btn-primary-gold .bi-plus-circle::before {
    content: "+";
}

.staff-body .btn-sm-gold .bi::before,
.staff-body .btn-sm-danger .bi::before,
.staff-body .btn-sm-info .bi::before {
    font-family: Inter, Tajawal, system-ui, sans-serif !important;
    font-size: 10px;
    font-weight: 850;
    line-height: 1;
}

@media (max-width: 1199.98px) {
    .settings-grid {
        grid-template-columns: 1fr;
    }

    .order-summary-panel {
        position: static;
    }
}

@media (max-width: 991.98px) {
    .cashier-summary-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .topbar-right {
        width: 100%;
        justify-content: flex-start !important;
    }
}

@media (max-width: 575.98px) {
    .card-glass {
        padding: 14px !important;
    }

    .table-dark-custom {
        min-width: 720px;
    }

    .cashier-summary-strip {
        grid-template-columns: 1fr !important;
    }

    .entry-product-main {
        flex-direction: column;
        align-items: stretch !important;
    }

    .entry-product-media {
        width: 78px !important;
        min-width: 78px !important;
        height: 68px !important;
    }
}

/* Waiter Order Entry complete tablet-first POS rebuild. */
@media (min-width: 901px) {
    html:has(.waiter-pos-page),
    body.staff-body:has(.waiter-pos-page) {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.staff-body:has(.waiter-pos-page) {
        max-height: 100vh !important;
        background: #FBF8F2 !important;
    }

    body.staff-body:has(.waiter-pos-page) .sidebar {
        width: 176px !important;
        height: 100vh !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.staff-body:has(.waiter-pos-page) .main-content {
        margin-left: 176px !important;
        width: calc(100% - 176px) !important;
        height: 100vh !important;
        min-height: 0 !important;
        max-height: 100vh !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        background:
            radial-gradient(circle at 35% 5%, rgba(201, 168, 76, .08), transparent 32%),
            #FBF8F2 !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar {
        flex: 0 0 auto !important;
        min-height: 82px !important;
        padding: 20px 24px 10px !important;
        border-bottom: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.staff-body:has(.waiter-pos-page) .page-title {
        color: #171713 !important;
        font-size: 25px !important;
        font-weight: 900 !important;
    }

    body.staff-body .content-area:has(.waiter-pos-page) {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        padding: 0 18px 14px !important;
    }

    body.staff-body .content-area:has(.waiter-pos-page) > .alert {
        flex: 0 0 auto !important;
    }

    body.staff-body .content-area:has(.waiter-pos-page) .offline-sync-meta {
        display: none !important;
    }

    body.staff-body .waiter-pos-page {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-workspace {
        flex: 1 1 auto !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) clamp(360px, 34vw, 430px) !important;
        grid-auto-rows: minmax(0, 1fr) !important;
        gap: 14px !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-left,
    body.staff-body .waiter-pos-right {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-left {
        display: grid !important;
        grid-template-rows: 118px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    body.staff-body .waiter-pos-page .card-glass {
        margin: 0 !important;
        border: 1px solid #E7DED2 !important;
        border-radius: 10px !important;
        background: rgba(255, 255, 255, .9) !important;
        box-shadow: 0 14px 34px rgba(42, 35, 20, .07) !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel {
        height: 118px !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: 190px minmax(220px, .8fr) minmax(0, 1fr) !important;
        grid-template-areas: "floor table notes" !important;
        gap: 16px !important;
        align-items: start !important;
        padding: 16px 20px !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel .card-glass-header {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .table-picker-wrap,
    body.staff-body .waiter-pos-page .pos-table-line {
        display: contents !important;
    }

    body.staff-body .waiter-pos-page .pos-floor-field {
        grid-area: floor !important;
    }

    body.staff-body .waiter-pos-page .pos-table-field {
        grid-area: table !important;
    }

    body.staff-body .waiter-pos-page .pos-notes-field {
        grid-area: notes !important;
        margin: 0 !important;
    }

    body.staff-body .waiter-pos-page .entry-floor-tabs {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .form-label {
        margin: 0 0 6px !important;
        color: #171713 !important;
        font-family: Inter, sans-serif !important;
        font-size: 10px !important;
        font-weight: 900 !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel .form-control,
    body.staff-body .waiter-pos-page .pos-setup-panel .form-select {
        height: 42px !important;
        min-height: 42px !important;
        border-radius: 8px !important;
        border-color: #E5D9C9 !important;
        background-color: #FFFFFF !important;
        color: #1F211B !important;
        font-size: 14px !important;
        font-weight: 650 !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel textarea.form-control {
        height: 42px !important;
        resize: none !important;
    }

    body.staff-body .waiter-pos-page .pos-table-control {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px !important;
        gap: 8px !important;
    }

    body.staff-body .waiter-pos-page .pos-table-map-button {
        width: 42px !important;
        height: 42px !important;
        border: 1px solid #E2D7C8 !important;
        border-radius: 8px !important;
        background: #F8F4ED !important;
        color: #073D27 !important;
        font-size: 17px !important;
    }

    body.staff-body .waiter-pos-page .entry-table-grid {
        position: fixed !important;
        z-index: 1300 !important;
        top: 150px !important;
        left: 50% !important;
        width: 0 !important;
        max-width: min(430px, calc(100vw - 48px)) !important;
        height: 0 !important;
        max-height: 0 !important;
        transform: translateX(-50%) translateY(12px) !important;
        display: grid !important;
        grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)) !important;
        gap: 8px !important;
        padding: 0 !important;
        border: 1px solid #E4D7C6 !important;
        border-radius: 14px !important;
        background: #FFFCF7 !important;
        box-shadow: 0 16px 44px rgba(17, 24, 16, .18) !important;
        overflow-y: auto !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.staff-body .waiter-pos-page .entry-table-grid.is-open {
        width: min(430px, calc(100vw - 48px)) !important;
        height: auto !important;
        max-height: 320px !important;
        padding: 12px !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateX(-50%) translateY(0) !important;
    }

    body.staff-body .waiter-pos-page .entry-table-card {
        min-height: 72px !important;
        border-radius: 10px !important;
        background: #FFFFFF !important;
        border: 1px solid #E9DDCC !important;
        color: #142414 !important;
    }

    body.staff-body .waiter-products-panel {
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-products-panel .card-glass-header {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .entry-toolbar {
        height: auto !important;
        min-height: 74px !important;
        display: grid !important;
        grid-template-columns: minmax(260px, 390px) minmax(0, 1fr) !important;
        gap: 18px !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 14px 20px 12px !important;
        border-bottom: 1px solid #EEE5D9 !important;
    }

    body.staff-body .waiter-pos-page .entry-search-wrap {
        position: relative !important;
        height: 46px !important;
        margin: 0 !important;
    }

    body.staff-body .waiter-pos-page .entry-search-wrap i {
        left: 15px !important;
        color: #16351E !important;
    }

    body.staff-body .waiter-pos-page .entry-search-wrap .form-control {
        height: 46px !important;
        min-height: 46px !important;
        padding-left: 44px !important;
        padding-right: 48px !important;
        border: 1px solid #E4D9CB !important;
        border-radius: 9px !important;
        background: #FFFFFF !important;
        color: #202018 !important;
        font-size: 14px !important;
    }

    body.staff-body .waiter-pos-page .pos-search-shortcut {
        position: absolute !important;
        right: 10px !important;
        top: 50% !important;
        width: 26px !important;
        height: 26px !important;
        transform: translateY(-50%) !important;
        display: inline-grid !important;
        place-items: center !important;
        border-radius: 7px !important;
        background: #F0E7DA !important;
        color: #756B5D !important;
        font-size: 12px !important;
        font-weight: 800 !important;
    }

    body.staff-body .waiter-pos-page .entry-category-filter {
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        overflow-x: auto !important;
        padding: 0 3px 8px !important;
        scrollbar-width: thin !important;
    }

    body.staff-body .waiter-pos-page .entry-filter {
        flex: 0 0 auto !important;
        min-height: 40px !important;
        padding: 10px 14px !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: transparent !important;
        color: #171713 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-pos-page .entry-filter.active {
        background: #063B25 !important;
        color: #FFFFFF !important;
        box-shadow: 0 7px 18px rgba(6, 59, 37, .2) !important;
    }

    body.staff-body .waiter-pos-page .order-product-list {
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
        align-content: start !important;
        gap: 16px !important;
        padding: 18px 20px 22px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
    }

    body.staff-body .waiter-pos-page .entry-category-title {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .entry-category,
    body.staff-body .waiter-pos-page .entry-product-grid {
        display: contents !important;
    }

    body.staff-body .waiter-pos-page .entry-category[hidden],
    body.staff-body .waiter-pos-page .entry-product[hidden] {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .entry-product {
        position: relative !important;
        min-height: 164px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 88px minmax(0, auto) !important;
        gap: 13px !important;
        padding: 12px !important;
        border: 1px solid #E7DED2 !important;
        border-radius: 10px !important;
        background: #FFFFFF !important;
        box-shadow: 0 8px 22px rgba(42, 35, 20, .06) !important;
        cursor: pointer !important;
        user-select: none !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .entry-product:hover,
    body.staff-body .waiter-pos-page .entry-product:focus {
        outline: none !important;
        border-color: #C9982F !important;
        box-shadow: 0 12px 28px rgba(42, 35, 20, .1) !important;
    }

    body.staff-body .waiter-pos-page .entry-product.just-added {
        transform: scale(.992) !important;
        border-color: #063B25 !important;
    }

    body.staff-body .waiter-pos-page .entry-product.in-cart {
        box-shadow: inset 0 0 0 2px rgba(6, 59, 37, .18), 0 8px 22px rgba(42, 35, 20, .06) !important;
    }

    body.staff-body .waiter-pos-page .entry-product-media {
        width: 100% !important;
        min-width: 0 !important;
        height: 88px !important;
        border-radius: 9px !important;
        overflow: hidden !important;
        background: #EFE2CE !important;
    }

    body.staff-body .waiter-pos-page .entry-product-media img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        color: transparent !important;
        font-size: 0 !important;
    }

    body.staff-body .waiter-pos-page .entry-product-content {
        min-width: 0 !important;
        display: block !important;
    }

    body.staff-body .waiter-pos-page .entry-product-name {
        padding-right: 38px !important;
        color: #171713 !important;
        font-family: Inter, sans-serif !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        line-height: 1.18 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    body.staff-body .waiter-pos-page .entry-product-meta {
        margin-top: 7px !important;
        display: grid !important;
        gap: 4px !important;
        color: #6B665F !important;
        font-size: 12px !important;
    }

    body.staff-body .waiter-pos-page .pos-product-price {
        color: #B17407 !important;
        font-size: 15px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-pos-page .entry-product-desc,
    body.staff-body .waiter-pos-page .entry-product input[data-note-for],
    body.staff-body .waiter-pos-page .entry-product .qty-input,
    body.staff-body .waiter-pos-page .entry-product .qty-btn[data-qty-step="-1"] {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .entry-product .qty-control {
        position: absolute !important;
        right: 12px !important;
        bottom: 12px !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.staff-body .waiter-pos-page .entry-product .qty-btn[data-qty-step="1"] {
        width: 44px !important;
        height: 44px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 10px !important;
        background: #063B25 !important;
        color: #FFFFFF !important;
        font-size: 24px !important;
        font-weight: 900 !important;
        box-shadow: 0 7px 18px rgba(6, 59, 37, .22) !important;
    }

    body.staff-body .waiter-pos-page .pos-product-qty {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        min-width: 30px !important;
        height: 30px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 999px !important;
        background: #C9982F !important;
        color: #171713 !important;
        font-size: 13px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-pos-page .pos-product-qty[hidden] {
        display: none !important;
    }

    body.staff-body .waiter-cart-panel {
        height: 100% !important;
        min-height: 0 !important;
        max-height: 100% !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        align-content: stretch !important;
        padding: 18px !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-cart-panel > * {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.staff-body .waiter-cart-panel .card-glass-header {
        min-height: 72px !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        margin: 0 !important;
        padding: 0 2px 14px !important;
        border-bottom: 1px solid #EEE5D9 !important;
    }

    body.staff-body .waiter-cart-panel .card-glass-header h5 {
        color: #151712 !important;
        font-family: Inter, sans-serif !important;
        font-size: 17px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-cart-panel .card-glass-header h5 i {
        color: #C1840A !important;
    }

    body.staff-body .waiter-pos-page .summary-selected-table {
        margin-top: 7px !important;
        color: #0D3B27 !important;
        font-size: 13px !important;
        font-weight: 850 !important;
    }

    body.staff-body .waiter-pos-page .order-entry-count {
        min-height: 28px !important;
        padding: 7px 11px !important;
        border-radius: 8px !important;
        background: #EEE9E1 !important;
        color: #635D55 !important;
        font-size: 12px !important;
        font-weight: 900 !important;
    }

    body.staff-body .waiter-pos-page .pos-clear-cart {
        min-height: 30px !important;
        padding: 6px 11px !important;
        border-radius: 8px !important;
        border: 1px solid #F0D8CF !important;
        color: #D01C12 !important;
        background: #FFF8F4 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
    }

    body.staff-body .waiter-cart-items {
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 12px 2px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-empty {
        min-height: 220px !important;
        display: grid !important;
        place-items: center !important;
        gap: 6px !important;
        text-align: center !important;
        color: #5D5A52 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-empty i {
        color: #B17407 !important;
        font-size: 42px !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item {
        position: relative !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "name remove"
            "note note"
            "qty price" !important;
        gap: 8px 12px !important;
        min-height: 132px !important;
        margin: 0 0 10px !important;
        padding: 13px !important;
        border: 1px solid #EADFCF !important;
        border-radius: 10px !important;
        background: #FFFFFF !important;
        box-shadow: 0 8px 20px rgba(42, 35, 20, .05) !important;
        overflow: visible !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item-main {
        grid-area: name !important;
        min-width: 0 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item-main strong {
        display: block !important;
        color: #151712 !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        line-height: 1.2 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item-main span {
        display: block !important;
        margin-top: 3px !important;
        color: #756F68 !important;
        font-size: 12px !important;
        white-space: normal !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-note {
        grid-area: note !important;
        position: static !important;
        width: 100% !important;
        height: 36px !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 7px 10px !important;
        border: 1px solid #E8DDCE !important;
        border-radius: 8px !important;
        background: #FBF8F2 !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        color: #24231E !important;
        font-size: 12px !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-qty {
        grid-area: qty !important;
        width: 132px !important;
        height: 46px !important;
        display: grid !important;
        grid-template-columns: 44px 44px 44px !important;
        border: 1px solid #E8DDCE !important;
        border-radius: 9px !important;
        background: #FAF6EF !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-qty button,
    body.staff-body .waiter-pos-page .pos-cart-qty span {
        width: 44px !important;
        height: 44px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        background: transparent !important;
        color: #063B25 !important;
        font-size: 19px !important;
        font-weight: 950 !important;
        opacity: 1 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-price-stack {
        grid-area: price !important;
        align-self: center !important;
        display: grid !important;
        justify-items: end !important;
        gap: 3px !important;
        min-width: 92px !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-price-stack strong {
        color: #0E3B28 !important;
        font-size: 13px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-price-stack span {
        color: #B17407 !important;
        font-size: 14px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-remove {
        grid-area: remove !important;
        width: 32px !important;
        height: 32px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: #FFF3EF !important;
        color: #D01C12 !important;
        font-size: 16px !important;
    }

    body.staff-body .waiter-cart-footer {
        min-height: 0 !important;
        max-height: none !important;
        padding: 14px 2px 0 !important;
        border-top: 1px solid #EEE5D9 !important;
        background: transparent !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-cart-footer .d-flex {
        margin-bottom: 7px !important;
        color: #1B1C18 !important;
        font-size: 13px !important;
    }

    body.staff-body .waiter-cart-footer .d-flex strong {
        color: #111 !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-cart-footer .order-total-line {
        margin: 10px 0 12px !important;
        padding: 12px 14px !important;
        border: 1px solid #E9DDCC !important;
        border-radius: 9px !important;
        background: #F2E0CB !important;
    }

    body.staff-body .waiter-cart-footer .order-total-line span {
        color: #111 !important;
        font-size: 17px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-cart-footer .order-entry-total {
        color: #1D1B16 !important;
        font-size: 22px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack {
        gap: 8px !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack .btn-primary-gold,
    body.staff-body .waiter-pos-page .pos-action-stack .btn {
        min-height: 46px !important;
        padding: 11px 14px !important;
        border-radius: 9px !important;
        font-size: 14px !important;
        font-weight: 900 !important;
    }
}

@media (max-width: 1280px) and (min-width: 901px) {
    body.staff-body:has(.waiter-pos-page) .sidebar {
        width: 150px !important;
    }

    body.staff-body:has(.waiter-pos-page) .main-content {
        margin-left: 150px !important;
        width: calc(100% - 150px) !important;
    }

    body.staff-body .content-area:has(.waiter-pos-page) {
        padding: 0 12px 12px !important;
    }

    body.staff-body .waiter-pos-workspace {
        grid-template-columns: minmax(0, 1fr) 330px !important;
        gap: 12px !important;
    }

    body.staff-body .waiter-pos-left {
        grid-template-rows: 142px minmax(0, 1fr) !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel {
        height: 142px !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-areas:
            "floor table"
            "notes notes" !important;
        gap: 9px 14px !important;
        padding: 14px 16px !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel .form-control,
    body.staff-body .waiter-pos-page .pos-setup-panel .form-select,
    body.staff-body .waiter-pos-page .pos-table-map-button,
    body.staff-body .waiter-pos-page .pos-setup-panel textarea.form-control {
        height: 36px !important;
        min-height: 36px !important;
    }

    body.staff-body .waiter-pos-page .pos-table-control {
        grid-template-columns: minmax(0, 1fr) 36px !important;
    }

    body.staff-body .waiter-pos-page .entry-toolbar {
        min-height: 108px !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    body.staff-body .waiter-pos-page .order-product-list {
        grid-template-columns: repeat(2, minmax(180px, 1fr)) !important;
        gap: 14px !important;
        padding: 14px 16px 18px !important;
    }

    body.staff-body .waiter-pos-page .entry-product {
        min-height: 138px !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 76px minmax(0, auto) !important;
        gap: 10px !important;
    }

    body.staff-body .waiter-pos-page .entry-product-media {
        width: 100% !important;
        min-width: 0 !important;
        height: 76px !important;
    }
}

@media (max-width: 900px) {
    body.staff-body:has(.waiter-pos-page),
    body.staff-body:has(.waiter-pos-page) .main-content,
    body.staff-body .content-area:has(.waiter-pos-page),
    body.staff-body .waiter-pos-page {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.staff-body .waiter-pos-workspace {
        display: grid !important;
        grid-template-columns: 1fr !important;
        height: auto !important;
        overflow: visible !important;
    }

    body.staff-body .waiter-pos-right {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 50 !important;
    }
}

@media (max-width: 900px) and (orientation: portrait) {
    html:has(.waiter-pos-page),
    body.staff-body:has(.waiter-pos-page) {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.staff-body:has(.waiter-pos-page) .main-content {
        margin-left: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar {
        flex: 0 0 auto !important;
        min-height: 78px !important;
        padding: 16px 18px 8px !important;
    }

    body.staff-body .content-area:has(.waiter-pos-page) {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        padding: 0 12px 12px !important;
    }

    body.staff-body .waiter-pos-page,
    body.staff-body .waiter-pos-workspace {
        flex: 1 1 auto !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-workspace {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    body.staff-body .waiter-pos-left {
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-rows: 150px minmax(0, 1fr) !important;
        gap: 12px !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel {
        height: 150px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        grid-template-areas:
            "floor table"
            "notes notes" !important;
        gap: 10px !important;
        padding: 12px !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel .card-glass-header,
    body.staff-body .waiter-products-panel .card-glass-header,
    body.staff-body .waiter-pos-page .entry-category-title {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .entry-category,
    body.staff-body .waiter-pos-page .entry-product-grid {
        display: contents !important;
    }

    body.staff-body .waiter-products-panel {
        min-height: 0 !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .entry-toolbar {
        min-height: 102px !important;
        grid-template-columns: 1fr !important;
        padding: 12px !important;
    }

    body.staff-body .waiter-pos-page .order-product-list {
        min-height: 0 !important;
        grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
        padding: 12px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    body.staff-body .waiter-pos-page .entry-product {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: 76px minmax(0, auto) !important;
        min-height: 148px !important;
        padding: 10px !important;
        border: 1px solid #E7DED2 !important;
        border-radius: 10px !important;
        background: #FFFFFF !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .entry-product-media {
        width: 100% !important;
        min-width: 0 !important;
        height: 76px !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .entry-product-name {
        padding-right: 34px !important;
        color: #171713 !important;
        font-family: Inter, sans-serif !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        white-space: normal !important;
    }

    body.staff-body .waiter-pos-page .entry-product-desc,
    body.staff-body .waiter-pos-page .entry-product input[data-note-for],
    body.staff-body .waiter-pos-page .entry-product .qty-input,
    body.staff-body .waiter-pos-page .entry-product .qty-btn[data-qty-step="-1"] {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .entry-product .qty-control {
        position: absolute !important;
        right: 10px !important;
        bottom: 10px !important;
        display: block !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.staff-body .waiter-pos-page .entry-product .qty-btn[data-qty-step="1"] {
        width: 42px !important;
        height: 42px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 10px !important;
        background: #063B25 !important;
        color: #FFFFFF !important;
        font-size: 22px !important;
        font-weight: 900 !important;
    }

    body.staff-body .waiter-pos-page .pos-product-qty[hidden] {
        display: none !important;
    }

    body.staff-body .waiter-pos-right {
        position: fixed !important;
        z-index: 1500 !important;
        top: 92px !important;
        right: 12px !important;
        bottom: 14px !important;
        width: min(430px, calc(100vw - 40px)) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
        filter: drop-shadow(0 22px 60px rgba(17, 24, 16, .28)) !important;
    }

    body.staff-body .waiter-cart-panel {
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        overflow: hidden !important;
    }
}

/* Final active Waiter Order Entry tablet POS layer. Keep this after older waiter rules. */
@media (min-width: 901px) {
    body.staff-body:has(.waiter-pos-page) {
        overflow: hidden !important;
        background: #FBF8F2 !important;
    }

    body.staff-body:has(.waiter-pos-page) .sidebar {
        width: 176px !important;
        height: 100vh !important;
        overflow: hidden !important;
    }

    body.staff-body:has(.waiter-pos-page) .main-content {
        margin-left: 176px !important;
        width: calc(100% - 176px) !important;
        height: 100vh !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        background: #FBF8F2 !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar {
        flex: 0 0 78px !important;
        min-height: 78px !important;
        padding: 18px 24px 8px !important;
        border-bottom: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.staff-body:has(.waiter-pos-page) .page-title {
        color: #151713 !important;
        font-size: 25px !important;
        font-weight: 900 !important;
        letter-spacing: 0 !important;
    }

    body.staff-body .content-area:has(.waiter-pos-page) {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        display: flex !important;
        overflow: hidden !important;
        padding: 0 18px 14px !important;
    }

    body.staff-body .waiter-pos-page,
    body.staff-body .waiter-pos-workspace {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: 100% !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-workspace {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) clamp(330px, 32vw, 410px) !important;
        gap: 14px !important;
        margin: 0 !important;
    }

    body.staff-body .waiter-pos-left,
    body.staff-body .waiter-pos-right {
        min-width: 0 !important;
        min-height: 0 !important;
        height: 100% !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-left {
        display: grid !important;
        grid-template-rows: 70px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    body.staff-body .waiter-pos-page .card-glass {
        border: 1px solid #E8DDCE !important;
        border-radius: 8px !important;
        background: rgba(255, 255, 255, .86) !important;
        box-shadow: 0 12px 30px rgba(42, 35, 20, .055) !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel {
        height: 70px !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(150px, .42fr) minmax(190px, .58fr) minmax(150px, .5fr) !important;
        grid-template-areas: "floor table notes" !important;
        gap: 12px !important;
        align-items: end !important;
        padding: 10px 14px !important;
        overflow: visible !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel .card-glass-header,
    body.staff-body .waiter-pos-page .entry-floor-tabs,
    body.staff-body .waiter-products-panel .card-glass-header,
    body.staff-body .waiter-pos-page .entry-category-title {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .table-picker-wrap,
    body.staff-body .waiter-pos-page .pos-table-line {
        display: contents !important;
    }

    body.staff-body .waiter-pos-page .pos-floor-field {
        grid-area: floor !important;
        min-width: 0 !important;
    }

    body.staff-body .waiter-pos-page .pos-table-field {
        grid-area: table !important;
        min-width: 0 !important;
    }

    body.staff-body .waiter-pos-page .pos-notes-field {
        grid-area: notes !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.staff-body .waiter-pos-page .form-label {
        margin: 0 0 4px !important;
        color: #151713 !important;
        font-size: 10px !important;
        font-weight: 850 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel .form-select,
    body.staff-body .waiter-pos-page .pos-setup-panel .form-control {
        height: 40px !important;
        min-height: 40px !important;
        border: 1px solid #E5D9C9 !important;
        border-radius: 7px !important;
        background-color: #FFFFFF !important;
        color: #1D1E1A !important;
        font-size: 14px !important;
        font-weight: 760 !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel textarea.form-control {
        height: 40px !important;
        resize: none !important;
        line-height: 1.25 !important;
    }

    body.staff-body .waiter-pos-page .pos-table-control {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 40px !important;
        gap: 8px !important;
    }

    body.staff-body .waiter-pos-page .pos-table-map-button {
        width: 40px !important;
        height: 40px !important;
        border: 1px solid #E5D9C9 !important;
        border-radius: 7px !important;
        background: #F8F3EA !important;
        color: #063B25 !important;
        font-size: 16px !important;
    }

    body.staff-body .waiter-products-panel {
        min-height: 0 !important;
        height: 100% !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) 44px !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .entry-toolbar {
        min-height: 112px !important;
        display: grid !important;
        grid-template-rows: 48px 44px !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 12px 14px 10px !important;
        border-bottom: 1px solid #ECE2D6 !important;
    }

    body.staff-body .waiter-pos-page .entry-search-wrap {
        position: relative !important;
        height: 44px !important;
        margin: 0 !important;
    }

    body.staff-body .waiter-pos-page .entry-search-wrap i {
        left: 16px !important;
        color: #16351E !important;
        font-size: 18px !important;
    }

    body.staff-body .waiter-pos-page .entry-search-wrap .form-control {
        height: 44px !important;
        padding-left: 45px !important;
        padding-right: 50px !important;
        border: 1px solid #E5D9C9 !important;
        border-radius: 8px !important;
        background: #FFFFFF !important;
        color: #22221D !important;
        font-size: 14px !important;
    }

    body.staff-body .waiter-pos-page .pos-search-shortcut {
        position: absolute !important;
        right: 10px !important;
        top: 50% !important;
        width: 30px !important;
        height: 30px !important;
        transform: translateY(-50%) !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 7px !important;
        background: #F2E9DE !important;
        color: #6B6256 !important;
        font-size: 16px !important;
        font-weight: 900 !important;
    }

    body.staff-body .waiter-pos-page .entry-category-filter {
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 0 8px !important;
        scrollbar-width: thin !important;
    }

    body.staff-body .waiter-pos-page .entry-filter {
        flex: 0 0 auto !important;
        min-height: 38px !important;
        padding: 9px 14px !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: transparent !important;
        color: #161713 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-pos-page .entry-filter.active {
        background: #063B25 !important;
        color: #FFFFFF !important;
        box-shadow: 0 7px 16px rgba(6, 59, 37, .22) !important;
    }

    body.staff-body .waiter-pos-page .order-product-list {
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0 6px !important;
        align-content: start !important;
        padding: 12px 12px 10px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
        scrollbar-width: thin !important;
    }

    body.staff-body .waiter-pos-page .entry-category,
    body.staff-body .waiter-pos-page .entry-product-grid {
        display: contents !important;
    }

    body.staff-body .waiter-pos-page .entry-category[hidden],
    body.staff-body .waiter-pos-page .entry-product[hidden] {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .entry-product {
        position: relative !important;
        min-height: 48px !important;
        height: 48px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 58px 30px !important;
        grid-template-rows: 1fr !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 0 10px 0 14px !important;
        border: 1px solid #E8DDCE !important;
        border-radius: 0 !important;
        background: #FFFFFF !important;
        box-shadow: none !important;
        cursor: pointer !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .entry-product:hover,
    body.staff-body .waiter-pos-page .entry-product:focus {
        z-index: 1 !important;
        outline: none !important;
        border-color: #C9982F !important;
        background: #FFFCF7 !important;
        box-shadow: inset 0 0 0 1px rgba(201, 152, 47, .24) !important;
    }

    body.staff-body .waiter-pos-page .entry-product.just-added {
        transform: none !important;
        background: #F4EFE5 !important;
    }

    body.staff-body .waiter-pos-page .entry-product.in-cart {
        background: #FBF8F1 !important;
        box-shadow: inset 4px 0 0 #C9982F !important;
    }

    body.staff-body .waiter-pos-page .entry-product-media,
    body.staff-body .waiter-pos-page .entry-product-media img,
    body.staff-body .waiter-pos-page .entry-product-desc,
    body.staff-body .waiter-pos-page .pos-product-category,
    body.staff-body .waiter-pos-page .entry-product input[data-note-for],
    body.staff-body .waiter-pos-page .entry-product .qty-input,
    body.staff-body .waiter-pos-page .entry-product .qty-btn[data-qty-step="-1"] {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .entry-product-content,
    body.staff-body .waiter-pos-page .entry-product-main,
    body.staff-body .waiter-pos-page .entry-product-main > div,
    body.staff-body .waiter-pos-page .entry-product-meta {
        display: contents !important;
    }

    body.staff-body .waiter-pos-page .entry-product-name {
        grid-column: 1 !important;
        min-width: 0 !important;
        padding: 0 !important;
        color: #151713 !important;
        font-family: Inter, sans-serif !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .waiter-pos-page .pos-product-price {
        grid-column: 2 !important;
        justify-self: end !important;
        color: #171713 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-pos-page .entry-product .qty-control {
        position: static !important;
        grid-column: 3 !important;
        width: 30px !important;
        height: 30px !important;
        display: block !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.staff-body .waiter-pos-page .entry-product .qty-btn[data-qty-step="1"] {
        width: 30px !important;
        height: 30px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 6px !important;
        background: #063B25 !important;
        color: #FFFFFF !important;
        font-size: 19px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        box-shadow: 0 4px 10px rgba(6, 59, 37, .2) !important;
    }

    body.staff-body .waiter-pos-page .pos-product-qty {
        position: absolute !important;
        top: 3px !important;
        right: 40px !important;
        min-width: 19px !important;
        height: 19px !important;
        display: inline-grid !important;
        place-items: center !important;
        border-radius: 999px !important;
        background: #C9982F !important;
        color: #171713 !important;
        font-size: 10px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-pos-page .pos-product-qty[hidden] {
        display: none !important;
    }

    body.staff-body .waiter-pos-help-strip {
        height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 28px !important;
        padding: 0 14px !important;
        border-top: 1px solid #ECE2D6 !important;
        color: #57544D !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-help-strip i {
        color: #063B25 !important;
        margin-right: 6px !important;
    }

    body.staff-body .waiter-cart-panel {
        height: 100% !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        padding: 16px !important;
        overflow: hidden !important;
        border-radius: 8px !important;
    }

    body.staff-body .waiter-cart-panel .card-glass-header {
        min-height: 74px !important;
        margin: 0 !important;
        padding: 0 0 12px !important;
        border-bottom: 1px solid #ECE2D6 !important;
    }

    body.staff-body .waiter-cart-panel .card-glass-header h5 {
        margin: 0 !important;
        color: #151713 !important;
        font-size: 18px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-cart-panel .card-glass-header h5 i {
        color: #C1840A !important;
    }

    body.staff-body .waiter-pos-page .summary-selected-table {
        margin-top: 8px !important;
        color: #0D3B27 !important;
        font-size: 13px !important;
        font-weight: 850 !important;
    }

    body.staff-body .waiter-pos-page .order-entry-count {
        min-height: 28px !important;
        padding: 7px 11px !important;
        border-radius: 7px !important;
        background: #EEE9E1 !important;
        color: #625A51 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
    }

    body.staff-body .waiter-pos-page .pos-clear-cart {
        min-height: 28px !important;
        padding: 6px 9px !important;
        border: 0 !important;
        background: transparent !important;
        color: #D01C12 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
    }

    body.staff-body .waiter-cart-items {
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
        scrollbar-width: thin !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item {
        position: relative !important;
        min-height: 88px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 70px 78px 26px !important;
        grid-template-areas:
            "name unit total remove"
            "note unit total remove"
            "qty unit total remove" !important;
        gap: 3px 10px !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 10px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #E8DDCE !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item-main {
        grid-area: name !important;
        min-width: 0 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item-main strong {
        display: block !important;
        color: #151713 !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item-main span {
        display: block !important;
        margin-top: 2px !important;
        color: #6A645D !important;
        font-size: 11px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-note {
        grid-area: note !important;
        height: 26px !important;
        min-height: 26px !important;
        margin: 0 !important;
        padding: 4px 8px !important;
        border: 1px solid #E8DDCE !important;
        border-radius: 6px !important;
        background: #FFFCF7 !important;
        color: #302F29 !important;
        font-size: 11px !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-qty {
        grid-area: qty !important;
        width: 88px !important;
        height: 30px !important;
        display: grid !important;
        grid-template-columns: 29px 30px 29px !important;
        border: 1px solid #E8DDCE !important;
        border-radius: 6px !important;
        background: #FAF6EF !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-qty button,
    body.staff-body .waiter-pos-page .pos-cart-qty span {
        width: 100% !important;
        height: 28px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        background: transparent !important;
        color: #063B25 !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        opacity: 1 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-price-stack {
        display: contents !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-price-stack strong {
        grid-area: unit !important;
        justify-self: end !important;
        color: #171713 !important;
        font-size: 12px !important;
        font-weight: 750 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-price-stack span {
        grid-area: total !important;
        justify-self: end !important;
        color: #151713 !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-remove {
        grid-area: remove !important;
        justify-self: end !important;
        width: 24px !important;
        height: 24px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 5px !important;
        background: transparent !important;
        color: #D01C12 !important;
        font-size: 15px !important;
    }

    body.staff-body .waiter-cart-footer {
        padding: 12px 0 0 !important;
        border-top: 1px solid #ECE2D6 !important;
        background: transparent !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-cart-footer .d-flex {
        margin-bottom: 7px !important;
        color: #151713 !important;
        font-size: 13px !important;
    }

    body.staff-body .waiter-cart-footer .d-flex strong {
        color: #151713 !important;
        font-weight: 850 !important;
    }

    body.staff-body .waiter-cart-footer .order-total-line {
        margin: 10px 0 12px !important;
        padding: 12px 14px !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: #F0DDC4 !important;
    }

    body.staff-body .waiter-cart-footer .order-total-line span {
        color: #111 !important;
        font-size: 17px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-cart-footer .order-entry-total {
        color: #111 !important;
        font-size: 23px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack {
        gap: 8px !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack .btn-primary-gold,
    body.staff-body .waiter-pos-page .pos-action-stack .btn {
        min-height: 42px !important;
        padding: 10px 12px !important;
        border-radius: 7px !important;
        font-size: 13px !important;
        font-weight: 900 !important;
    }
}

@media (max-width: 1280px) and (min-width: 901px) {
    body.staff-body:has(.waiter-pos-page) .sidebar {
        width: 150px !important;
    }

    body.staff-body:has(.waiter-pos-page) .main-content {
        margin-left: 150px !important;
        width: calc(100% - 150px) !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar {
        flex-basis: 76px !important;
        min-height: 76px !important;
        padding: 16px 18px 8px !important;
    }

    body.staff-body .content-area:has(.waiter-pos-page) {
        padding: 0 12px 10px !important;
    }

    body.staff-body .waiter-pos-workspace {
        grid-template-columns: minmax(0, 1fr) 315px !important;
        gap: 10px !important;
    }

    body.staff-body .waiter-pos-left {
        grid-template-rows: 68px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel {
        height: 68px !important;
        grid-template-columns: minmax(128px, .38fr) minmax(170px, .52fr) minmax(130px, .4fr) !important;
        gap: 8px !important;
        padding: 9px 10px !important;
    }

    body.staff-body .waiter-pos-page .pos-setup-panel .form-select,
    body.staff-body .waiter-pos-page .pos-setup-panel .form-control,
    body.staff-body .waiter-pos-page .pos-table-map-button {
        height: 38px !important;
        min-height: 38px !important;
        font-size: 12px !important;
    }

    body.staff-body .waiter-pos-page .pos-table-control {
        grid-template-columns: minmax(0, 1fr) 38px !important;
        gap: 6px !important;
    }

    body.staff-body .waiter-pos-page .entry-toolbar {
        min-height: 104px !important;
        grid-template-rows: 44px 42px !important;
        gap: 8px !important;
        padding: 10px 12px 8px !important;
    }

    body.staff-body .waiter-pos-page .order-product-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0 6px !important;
        padding: 10px !important;
    }

    body.staff-body .waiter-pos-page .entry-product {
        height: 48px !important;
        min-height: 48px !important;
        grid-template-columns: minmax(0, 1fr) 52px 28px !important;
        gap: 6px !important;
        padding: 0 8px 0 10px !important;
    }

    body.staff-body .waiter-pos-page .entry-product-name {
        font-size: 12px !important;
    }

    body.staff-body .waiter-pos-page .pos-product-price {
        font-size: 11px !important;
    }

    body.staff-body .waiter-pos-page .entry-product .qty-control,
    body.staff-body .waiter-pos-page .entry-product .qty-btn[data-qty-step="1"] {
        width: 28px !important;
        height: 28px !important;
    }

    body.staff-body .waiter-pos-help-strip {
        gap: 16px !important;
        font-size: 11px !important;
    }

    body.staff-body .waiter-cart-panel {
        padding: 14px !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-item {
        min-height: 64px !important;
        grid-template-columns: minmax(0, 1fr) 50px 58px 20px !important;
        gap: 3px 7px !important;
        padding: 7px 0 !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-qty {
        width: 78px !important;
        height: 28px !important;
        grid-template-columns: 26px 26px 26px !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-note {
        height: 22px !important;
        min-height: 22px !important;
        padding: 2px 7px !important;
    }

    body.staff-body .waiter-cart-footer {
        padding-top: 9px !important;
    }

    body.staff-body .waiter-cart-footer .d-flex {
        margin-bottom: 5px !important;
        font-size: 12px !important;
    }

    body.staff-body .waiter-cart-footer .order-total-line {
        margin: 7px 0 9px !important;
        padding: 9px 12px !important;
    }

    body.staff-body .waiter-cart-footer .order-entry-total {
        font-size: 21px !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack .btn-primary-gold,
    body.staff-body .waiter-pos-page .pos-action-stack .btn {
        min-height: 38px !important;
        padding: 8px 10px !important;
        font-size: 12px !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar {
        flex-basis: 72px !important;
        min-height: 72px !important;
        padding: 14px 18px 6px !important;
    }

    body.staff-body:has(.waiter-pos-page) .page-title {
        font-size: 23px !important;
        min-width: 230px !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar-right {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        justify-content: flex-end !important;
        gap: 7px !important;
        flex-wrap: nowrap !important;
    }

    body.staff-body:has(.waiter-pos-page) .display-controls {
        gap: 6px !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar-icon-btn {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
    }

    body.staff-body:has(.waiter-pos-page) .offline-status-pill {
        height: 34px !important;
        gap: 7px !important;
        padding: 6px 8px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    body.staff-body:has(.waiter-pos-page) .offline-sync-btn {
        min-height: 24px !important;
        padding: 4px 8px !important;
        font-size: 11px !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar-status {
        height: 34px !important;
        gap: 6px !important;
        padding: 6px 8px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    body.staff-body:has(.waiter-pos-page) .role-pill {
        padding: 4px 8px !important;
        font-size: 11px !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar-clock {
        font-size: 12px !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar-right > .waiter-feed-link {
        flex: 0 0 52px !important;
        width: 52px !important;
        max-width: 52px !important;
        min-height: 34px !important;
        padding: 7px 8px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar-right > .waiter-feed-link i {
        display: none !important;
    }
}

/* Final override: waiter mobile/tablet portrait must be a touch-first order screen, not compressed desktop. */
@media (max-width: 900px) {
    body.staff-body:has(.waiter-pos-page) {
        height: 100dvh !important;
        overflow: hidden !important;
    }

    body.staff-body:has(.waiter-pos-page) .main-content {
        margin-left: 0 !important;
        width: 100% !important;
        height: 100dvh !important;
        display: grid !important;
        grid-template-rows: minmax(0, 1fr) !important;
        overflow: hidden !important;
    }

    body.staff-body:has(.waiter-pos-page) .topbar {
        display: none !important;
    }

    body.staff-body:has(.waiter-pos-page) .content-area,
    body.staff-body .waiter-pos-page,
    body.staff-body .waiter-pos-workspace {
        height: 100dvh !important;
        min-height: 0 !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    body.staff-body .content-area:has(.waiter-pos-page) > .offline-sync-meta {
        display: none !important;
    }

    body.staff-body .waiter-pos-page {
        display: grid !important;
        grid-template-rows: 58px minmax(0, 1fr) !important;
        height: 100% !important;
        background: #FBF8F2 !important;
    }

    body.staff-body .waiter-pos-workspace {
        height: 100% !important;
    }

    body.staff-body .waiter-mobile-header {
        display: grid !important;
    }

    body.staff-body .waiter-mobile-menu-btn i,
    body.staff-body .waiter-sheet-close i {
        display: none !important;
    }

    body.staff-body .waiter-mobile-menu-btn::before {
        content: "\2630";
        color: #0B3B28 !important;
        font-size: 24px !important;
        line-height: 1 !important;
    }

    body.staff-body .waiter-sheet-close::before {
        content: "\2039";
        color: #0B3B28 !important;
        font-size: 30px !important;
        line-height: 1 !important;
    }

    body.staff-body .waiter-pos-workspace {
        display: block !important;
    }

    body.staff-body .waiter-pos-left {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2300 !important;
        width: 100vw !important;
        height: 100dvh !important;
        display: block !important;
        transform: translateY(100%) !important;
        visibility: hidden !important;
        pointer-events: none !important;
        overflow: hidden !important;
        background: #FBF8F2 !important;
    }

    body.staff-body .waiter-pos-page.waiter-add-open .waiter-pos-left {
        transform: translateY(0) !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body.staff-body .waiter-pos-left .pos-setup-panel {
        display: none !important;
    }

    body.staff-body .waiter-products-panel {
        height: 100dvh !important;
        display: grid !important;
        grid-template-rows: 64px 112px minmax(0, 1fr) !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body.staff-body .waiter-add-sheet-header {
        display: grid !important;
    }

    body.staff-body .waiter-products-panel > .card-glass-header,
    body.staff-body .waiter-products-panel .entry-category-title,
    body.staff-body .waiter-products-panel .entry-product-media,
    body.staff-body .waiter-products-panel .entry-product-desc,
    body.staff-body .waiter-products-panel .entry-product input[data-note-for],
    body.staff-body .waiter-pos-help-strip {
        display: none !important;
    }

    body.staff-body .waiter-products-panel .order-product-list {
        display: block !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: 6px 12px 18px !important;
    }

    body.staff-body .waiter-products-panel .pos-search-shortcut {
        display: none !important;
    }

    body.staff-body .waiter-products-panel .entry-category,
    body.staff-body .waiter-products-panel .entry-product-grid {
        display: contents !important;
    }

    body.staff-body .waiter-products-panel .entry-product {
        min-height: 66px !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto 108px !important;
        gap: 10px !important;
        padding: 12px 2px !important;
        border: 0 !important;
        border-bottom: 1px solid #E5D9C8 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body.staff-body .waiter-products-panel .entry-product-content,
    body.staff-body .waiter-products-panel .entry-product-main,
    body.staff-body .waiter-products-panel .entry-product-main > div,
    body.staff-body .waiter-products-panel .entry-product-meta {
        display: contents !important;
    }

    body.staff-body .waiter-products-panel .entry-product .qty-control {
        width: 108px !important;
        min-height: 44px !important;
        display: grid !important;
        grid-template-columns: 34px 40px 34px !important;
        border: 1px solid #E1D4C1 !important;
        border-radius: 10px !important;
        overflow: hidden !important;
    }

    body.staff-body .waiter-products-panel .entry-product .qty-input,
    body.staff-body .waiter-products-panel .entry-product .qty-btn {
        display: grid !important;
        height: 42px !important;
        min-height: 42px !important;
    }

    body.staff-body .waiter-pos-right,
    body.staff-body .waiter-cart-panel {
        position: static !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        filter: none !important;
    }

    body.staff-body .waiter-cart-panel {
        display: grid !important;
        grid-template-rows: auto auto minmax(0, 1fr) auto !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body.staff-body .waiter-mobile-tablebar {
        display: grid !important;
    }

    body.staff-body .waiter-cart-items {
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: 0 12px 148px !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-remove i {
        display: none !important;
    }

    body.staff-body .waiter-pos-page .pos-cart-remove::before {
        content: "\00d7";
        color: #D32F2F !important;
        font-size: 22px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
    }

    body.staff-body .waiter-cart-footer {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 1600 !important;
        padding: 10px 12px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
        background: rgba(255, 253, 248, .98) !important;
        border-top: 1px solid #E1D4C1 !important;
        box-shadow: 0 -12px 28px rgba(31, 24, 14, .08) !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    body.staff-body .waiter-add-fab {
        display: inline-flex !important;
    }

    body.staff-body .waiter-pos-page.waiter-add-open .waiter-add-fab {
        display: none !important;
    }

    body.staff-body .waiter-table-sheet {
        display: block !important;
    }
}

/* Final RTL safety overrides: keep staff shell width bounded and mobile drawer closed by default. */
html[dir="rtl"] body.staff-body {
    overflow-x: hidden !important;
}

html[dir="rtl"] body.staff-body .sidebar {
    left: auto !important;
    right: 0 !important;
}

html[dir="rtl"] body.staff-body .main-content {
    margin-left: 0 !important;
    margin-right: var(--sidebar-width) !important;
    width: calc(100% - var(--sidebar-width)) !important;
    max-width: calc(100% - var(--sidebar-width)) !important;
}

html[dir="rtl"] body.staff-body .main-content.expanded,
html[dir="rtl"] body.staff-body .main-content.sidebar-mini {
    margin-right: 86px !important;
    width: calc(100% - 86px) !important;
    max-width: calc(100% - 86px) !important;
}

@media (max-width: 991.98px) {
    html[dir="rtl"] body.staff-body .main-content,
    html[dir="rtl"] body.staff-body .main-content.expanded,
    html[dir="rtl"] body.staff-body .main-content.sidebar-mini {
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html[dir="rtl"] body.staff-body .sidebar {
        left: auto !important;
        right: 0 !important;
        transform: translateX(100%) !important;
    }

    html[dir="rtl"] body.staff-body .sidebar.active {
        transform: translateX(0) !important;
    }
}

/* Waiter phone polish: native-feeling order entry without touching order logic. */
.waiter-add-toast {
    display: none;
}

.waiter-cart-status {
    display: inline-flex;
    width: fit-content;
    margin-top: 4px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #E7F5EC;
    color: #085B35;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .04em;
}

.menu-business-footer {
    max-width: 760px;
    margin: 34px auto 22px;
    padding: 18px 16px;
    display: grid;
    gap: 4px;
    border-top: 1px solid rgba(136, 104, 50, .28);
    border-bottom: 1px solid rgba(136, 104, 50, .18);
    color: #49462D;
    text-align: center;
    font-size: 13px;
    font-weight: 650;
}

.menu-business-footer strong {
    color: #12351E;
    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 800;
}

@media (max-width: 900px) {
    body.staff-body:has(.waiter-pos-page) {
        overscroll-behavior: none !important;
        touch-action: manipulation !important;
    }

    body.staff-body .waiter-pos-page {
        grid-template-rows: calc(58px + env(safe-area-inset-top, 0px)) minmax(0, 1fr) !important;
    }

    body.staff-body .waiter-mobile-header {
        min-height: calc(58px + env(safe-area-inset-top, 0px)) !important;
        padding-top: env(safe-area-inset-top, 0px) !important;
        background: rgba(255, 253, 248, .98) !important;
        backdrop-filter: blur(16px) !important;
        border-bottom: 1px solid #E8DDCC !important;
    }

    body.staff-body .waiter-mobile-title span,
    body.staff-body .waiter-mobile-table {
        max-width: 52vw !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-mobile-table-current {
        font-weight: 900 !important;
        color: #062E1F !important;
    }

    body.staff-body .waiter-products-panel {
        grid-template-rows: calc(62px + env(safe-area-inset-top, 0px)) 112px minmax(0, 1fr) !important;
    }

    body.staff-body .waiter-add-sheet-header {
        min-height: calc(62px + env(safe-area-inset-top, 0px)) !important;
        padding-top: env(safe-area-inset-top, 0px) !important;
    }

    body.staff-body .waiter-products-panel .entry-product {
        align-items: center !important;
        grid-template-columns: minmax(0, 1fr) 74px 112px !important;
        padding: 13px 2px !important;
        background: #FFFCF7 !important;
    }

    body.staff-body .waiter-products-panel .entry-product.in-cart {
        background: #FFF8E9 !important;
        box-shadow: inset 4px 0 0 #C5962D !important;
    }

    html[dir="rtl"] body.staff-body .waiter-products-panel .entry-product.in-cart {
        box-shadow: inset -4px 0 0 #C5962D !important;
    }

    body.staff-body .waiter-products-panel .entry-product-name {
        font-size: 15px !important;
        line-height: 1.22 !important;
        font-weight: 900 !important;
        color: #181815 !important;
    }

    body.staff-body .waiter-products-panel .pos-product-category {
        color: #6C665B !important;
        font-size: 11px !important;
        margin-top: 3px !important;
    }

    body.staff-body .waiter-products-panel .pos-product-price {
        justify-self: end !important;
        color: #9A6500 !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    html[dir="rtl"] body.staff-body .waiter-products-panel .pos-product-price {
        justify-self: start !important;
    }

    body.staff-body .waiter-products-panel .entry-product .qty-control {
        justify-self: end !important;
        width: 112px !important;
        grid-template-columns: 36px 40px 36px !important;
    }

    body.staff-body .waiter-cart-items {
        padding-bottom: 160px !important;
    }

    body.staff-body .waiter-cart-items .pos-cart-item {
        grid-template-columns: 104px minmax(0, 1fr) auto 34px !important;
        gap: 9px !important;
        padding: 12px 0 !important;
        border-radius: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #E8DDCC !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.staff-body .waiter-cart-items .pos-cart-item-main strong {
        font-size: 15px !important;
        font-weight: 900 !important;
        color: #171713 !important;
    }

    body.staff-body .waiter-cart-items .pos-cart-item-main span {
        color: #6D6559 !important;
        font-size: 12px !important;
    }

    body.staff-body .waiter-cart-items .pos-cart-note {
        grid-column: 1 / -1 !important;
        min-height: 42px !important;
        border-radius: 10px !important;
        background: #FFFCF7 !important;
    }

    body.staff-body .waiter-cart-items .pos-cart-qty {
        height: 44px !important;
        border-radius: 11px !important;
    }

    body.staff-body .waiter-cart-items .pos-cart-qty button,
    body.staff-body .waiter-cart-items .pos-cart-qty span {
        min-height: 42px !important;
        font-size: 16px !important;
    }

    body.staff-body .waiter-cart-footer {
        padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack button {
        min-height: 56px !important;
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        grid-template-rows: auto auto !important;
        align-items: center !important;
        column-gap: 8px !important;
        text-align: left !important;
        line-height: 1.1 !important;
        padding: 9px 12px !important;
        border-radius: 11px !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack button i {
        grid-row: 1 / 3 !important;
        margin: 0 !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack button span {
        font-size: 14px !important;
        font-weight: 900 !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack button small {
        display: block !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        opacity: .78 !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack button[name="_action"][value="create"] {
        background: #FFFCF7 !important;
        color: #0B3B28 !important;
        border: 1px solid #DCCDB7 !important;
        box-shadow: none !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack button[name="_action"][value="send_to_departments"] {
        background: linear-gradient(135deg, #06452E, #0B6B43) !important;
        color: #fff !important;
        border: 1px solid #06452E !important;
        box-shadow: 0 12px 22px rgba(6, 69, 46, .22) !important;
    }

    html[dir="rtl"] body.staff-body .waiter-pos-page .pos-action-stack button {
        text-align: right !important;
    }

    .waiter-add-toast {
        position: fixed;
        left: 50%;
        bottom: calc(86px + env(safe-area-inset-bottom, 0px));
        z-index: 1700;
        transform: translate(-50%, 12px);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        max-width: min(86vw, 360px);
        padding: 10px 16px;
        border-radius: 999px;
        background: #062E1F;
        color: #fff;
        font-size: 13px;
        font-weight: 900;
        box-shadow: 0 14px 32px rgba(6, 46, 31, .28);
        opacity: 0;
        pointer-events: none;
        transition: opacity .16s ease, transform .16s ease;
    }

    .waiter-add-toast.is-visible {
        opacity: 1;
        transform: translate(-50%, 0);
    }

    body.staff-body .waiter-table-sheet-panel {
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    body.staff-body .waiter-pos-page .pos-action-stack button small {
        display: none !important;
    }
}

/* Final Reports tab contrast override. Keep inactive tabs dark and active tab white. */
body.staff-body .report-tabs .nav-link,
body.staff-body .report-tabs .nav-link:not(.active),
body.staff-body .report-tabs .nav-link:not(.active):focus,
body.staff-body .report-tabs .nav-link:not(.active):active {
    color: #171713 !important;
    background: rgba(255, 255, 255, .94) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

body.staff-body .report-tabs .nav-link:not(.active) i {
    color: #b88632 !important;
}

body.staff-body .report-tabs .nav-link.active,
body.staff-body .report-tabs .nav-link.active:focus,
body.staff-body .report-tabs .nav-link.active:active {
    color: #ffffff !important;
    background: linear-gradient(135deg, #063b25, #075f3f) !important;
    border-color: #063b25 !important;
}

body.staff-body .report-tabs .nav-link.active i {
    color: #f0c96a !important;
}

.product-status-switch {
    border: 1px solid #eadfcd;
    border-radius: 12px;
    background: #fffaf2;
    padding: 13px 14px 13px 48px;
}

.product-status-switch .form-check-input {
    margin-left: -32px;
    width: 46px;
    height: 24px;
}

.product-status-switch .form-check-label strong,
.product-status-switch .form-check-label span {
    display: block;
}

.product-status-switch .form-check-label strong {
    color: #063b25;
    line-height: 1.25;
}

.product-status-switch .form-check-label span {
    color: #6a645d;
    font-size: 12px;
    margin-top: 3px;
}

.report-detail-tile {
    border: 1px solid #eadfcd;
    border-radius: 12px;
    background: #fffaf2;
    padding: 14px 16px;
}

.report-detail-tile span {
    display: block;
    color: #6a645d;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
    margin-bottom: 6px;
}

.report-detail-tile strong {
    color: #063b25;
    font-size: 22px;
}

.report-order-detail {
    border: 1px solid #eadfcd;
    border-radius: 12px;
    background: #fff;
    padding: 16px;
}

/* Reports page tab navigation */
.report-tabs {
    align-items: center;
}

.report-tabs .nav-link {
    color: #1f1f1f !important;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255, 255, 255, .72);
    font-weight: 700;
    padding: 10px 14px;
    opacity: 1 !important;
    text-shadow: none !important;
}

.report-tabs .nav-link i {
    color: #b88632 !important;
}

.report-tabs .nav-link:hover {
    color: var(--primary) !important;
    border-color: rgba(184, 134, 11, .35);
    background: rgba(255, 255, 255, .95);
}

.report-tabs .nav-link.active {
    color: #fff !important;
    background: linear-gradient(135deg, var(--primary), #075f3f);
    border-color: var(--primary);
    box-shadow: 0 10px 24px rgba(6, 59, 37, .16);
}

.report-tabs .nav-link.active i {
    color: #f0c96a !important;
}

.report-tab-content .tab-pane {
    outline: none;
}

.report-tab-content > .tab-pane {
    display: none !important;
}

.report-tab-content > .tab-pane.active {
    display: block !important;
}

/* Waiter mobile product selection: native ordering sheet with sticky search, category tabs, and review bar. */
.waiter-add-bottom-bar {
    display: none;
}

@media (max-width: 900px) {
    body.staff-body .waiter-products-panel {
        grid-template-rows: calc(62px + env(safe-area-inset-top, 0px)) 116px minmax(0, 1fr) auto !important;
    }

    body.staff-body .waiter-add-sheet-header {
        box-shadow: 0 8px 22px rgba(33, 25, 12, .06) !important;
    }

    body.staff-body .waiter-sheet-done {
        min-width: 118px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-products-panel .entry-toolbar {
        position: sticky !important;
        top: 0 !important;
        z-index: 12 !important;
        min-height: 116px !important;
        grid-template-rows: 48px 38px 20px !important;
        gap: 8px !important;
        padding: 10px 12px 8px !important;
        background: rgba(251, 248, 242, .98) !important;
        backdrop-filter: blur(14px) !important;
        box-shadow: 0 8px 22px rgba(33, 25, 12, .045) !important;
    }

    body.staff-body .waiter-products-panel .entry-filter-status {
        grid-row: 3 !important;
        display: flex !important;
        align-items: center !important;
        min-height: 20px !important;
        margin: 0 !important;
    }

    body.staff-body .waiter-products-panel .entry-result-count {
        display: inline-flex !important;
        align-items: center !important;
        max-width: 100% !important;
        min-height: 20px !important;
        padding: 0 9px !important;
        border-radius: 999px !important;
        background: #EFE3D2 !important;
        color: #3B2F20 !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .waiter-products-panel .entry-category-filter {
        grid-row: 2 !important;
        min-height: 38px !important;
        padding: 0 0 4px !important;
        gap: 8px !important;
        scroll-snap-type: x proximity !important;
    }

    body.staff-body .waiter-products-panel .entry-filter {
        scroll-snap-align: start !important;
        min-height: 34px !important;
        padding: 8px 13px !important;
        border: 1px solid #E1D4C1 !important;
        background: #FFFDF8 !important;
        color: #2A2A24 !important;
        font-size: 12px !important;
        font-weight: 950 !important;
        box-shadow: 0 4px 12px rgba(28, 20, 9, .04) !important;
    }

    body.staff-body .waiter-products-panel .entry-filter.active {
        border-color: #083B28 !important;
        background: linear-gradient(135deg, #063B25, #0B6B43) !important;
        color: #FFFFFF !important;
        box-shadow: 0 10px 22px rgba(6, 59, 37, .2) !important;
    }

    body.staff-body .waiter-products-panel .order-product-list {
        padding: 4px 12px calc(88px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.staff-body .waiter-products-panel .entry-product {
        min-height: 50px !important;
        grid-template-columns: minmax(0, 1fr) 68px 102px !important;
        gap: 8px !important;
        padding: 8px 2px !important;
        background: #FFFCF7 !important;
    }

    body.staff-body .waiter-products-panel .entry-product.in-cart {
        padding-left: 8px !important;
    }

    html[dir="rtl"] body.staff-body .waiter-products-panel .entry-product.in-cart {
        padding-left: 2px !important;
        padding-right: 8px !important;
    }

    body.staff-body .waiter-products-panel .entry-product-name {
        font-size: 16px !important;
        line-height: 1.12 !important;
        font-weight: 950 !important;
        letter-spacing: 0 !important;
    }

    body.staff-body .waiter-products-panel .pos-product-category {
        display: inline-flex !important;
        grid-column: 1 !important;
        width: fit-content !important;
        max-width: 100% !important;
        min-height: 19px !important;
        align-items: center !important;
        margin-top: 4px !important;
        padding: 2px 7px !important;
        border-radius: 999px !important;
        background: #E8F3ED !important;
        color: #075936 !important;
        font-size: 10px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .waiter-products-panel .pos-product-price {
        align-self: center !important;
        justify-self: end !important;
        font-size: 14px !important;
        font-weight: 950 !important;
    }

    body.staff-body .waiter-products-panel .entry-product .qty-control {
        width: 102px !important;
        min-height: 36px !important;
        grid-template-columns: 32px 38px 32px !important;
        align-self: center !important;
        border-radius: 10px !important;
    }

    body.staff-body .waiter-products-panel .entry-product .qty-input {
        width: 38px !important;
        height: 34px !important;
        min-height: 34px !important;
        font-size: 15px !important;
    }

    body.staff-body .waiter-products-panel .entry-product .qty-btn {
        width: 32px !important;
        height: 34px !important;
        min-height: 34px !important;
        font-size: 18px !important;
    }

    body.staff-body .waiter-add-bottom-bar {
        display: grid !important;
        grid-template-columns: minmax(0, .72fr) minmax(148px, 1fr) !important;
        gap: 10px !important;
        align-items: center !important;
        padding: 10px 12px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
        border-top: 1px solid #E1D4C1 !important;
        background: rgba(255, 253, 248, .99) !important;
        box-shadow: 0 -12px 30px rgba(31, 24, 14, .1) !important;
    }

    body.staff-body .waiter-add-bottom-summary {
        min-width: 0 !important;
        display: grid !important;
        gap: 2px !important;
    }

    body.staff-body .waiter-add-bottom-summary span {
        color: #70685C !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-add-bottom-summary strong {
        color: #151713 !important;
        font-size: 20px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body.staff-body .waiter-review-order-btn {
        min-height: 52px !important;
        border: 0 !important;
        border-radius: 14px !important;
        background: linear-gradient(135deg, #063B25, #0B6B43) !important;
        color: #FFFFFF !important;
        font-size: 15px !important;
        font-weight: 950 !important;
        box-shadow: 0 14px 26px rgba(6, 59, 37, .24) !important;
    }
}
/* Cashier Clean POS rebuilt from the approved Waiter Order Entry architecture. */
@media (min-width: 901px) {
    html:has(.cashier-clean-pos),
    body.staff-body:has(.cashier-clean-pos) {
        width: 100% !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        background: #FBF8F2 !important;
    }

    body.staff-body:has(.cashier-clean-pos) .sidebar {
        width: 176px !important;
        height: 100dvh !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.staff-body:has(.cashier-clean-pos) .main-content {
        margin-left: 176px !important;
        width: calc(100% - 176px) !important;
        height: 100dvh !important;
        min-height: 0 !important;
        max-height: 100dvh !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        background: #FBF8F2 !important;
    }

    body.staff-body:has(.cashier-clean-pos) .topbar {
        flex: 0 0 66px !important;
        height: 66px !important;
        min-height: 66px !important;
        margin: 0 !important;
        padding: 12px 22px 8px !important;
        overflow: hidden !important;
        background: #FBF8F2 !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body.staff-body:has(.cashier-clean-pos) .page-title {
        font-family: var(--font-body) !important;
        color: #151713 !important;
        font-size: 24px !important;
        font-weight: 950 !important;
        line-height: 1.05 !important;
        letter-spacing: 0 !important;
    }

    body.staff-body .content-area:has(.cashier-clean-pos) {
        flex: 1 1 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 0 18px 14px !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        background: #FBF8F2 !important;
    }

    body.staff-body .content-area:has(.cashier-clean-pos) > .alert,
    body.staff-body .content-area:has(.cashier-clean-pos) > .offline-sync-meta {
        flex: 0 0 auto !important;
        margin: 0 0 8px !important;
    }

    body.staff-body .cashier-clean-pos {
        flex: 1 1 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        color: #171713 !important;
    }

    body.staff-body .cashier-clean-workspace {
        flex: 1 1 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) clamp(370px, 31vw, 430px) !important;
        gap: 14px !important;
        align-items: stretch !important;
        overflow: hidden !important;
    }

    body.staff-body .cashier-clean-left,
    body.staff-body .cashier-clean-right {
        min-width: 0 !important;
        min-height: 0 !important;
        height: 100% !important;
        max-height: 100% !important;
        overflow: hidden !important;
    }

    body.staff-body .cashier-clean-left {
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    body.staff-body .cashier-clean-pos .card-glass {
        margin: 0 !important;
        border: 1px solid #E7DCCB !important;
        border-radius: 10px !important;
        background: rgba(255, 253, 248, .96) !important;
        box-shadow: 0 14px 34px rgba(36, 28, 15, .07) !important;
        color: #171713 !important;
    }

    body.staff-body .cashier-clean-toolbar {
        padding: 10px 12px !important;
        min-height: 0 !important;
        max-height: none !important;
        display: grid !important;
        grid-template-columns: minmax(260px, .9fr) minmax(300px, 1.05fr) minmax(220px, .8fr) !important;
        gap: 10px !important;
        align-items: end !important;
        overflow: hidden !important;
    }

    body.staff-body .cashier-clean-toolbar > .card-glass-header,
    body.staff-body .cashier-clean-toolbar .entry-floor-tabs,
    body.staff-body .cashier-clean-toolbar .entry-table-grid {
        display: none !important;
    }

    body.staff-body .cashier-clean-toolbar .pos-order-type-field,
    body.staff-body .cashier-clean-toolbar .table-picker-wrap,
    body.staff-body .cashier-clean-toolbar .pos-notes-field,
    body.staff-body .cashier-clean-toolbar .pos-table-line,
    body.staff-body .cashier-clean-toolbar .pos-table-field {
        min-width: 0 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    body.staff-body .cashier-clean-toolbar .pos-table-line {
        display: grid !important;
        grid-template-columns: minmax(120px, .45fr) minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: end !important;
    }

    body.staff-body .cashier-clean-toolbar .form-label {
        margin: 0 0 4px !important;
        color: #171713 !important;
        font-size: 9px !important;
        font-weight: 950 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
    }

    body.staff-body .cashier-clean-toolbar .order-type-toggle,
    body.staff-body .cashier-clean-pos .cashier-payment-methods {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 5px !important;
        padding: 4px !important;
        border: 1px solid #E3D4C1 !important;
        border-radius: 10px !important;
        background: #F2E7D8 !important;
    }

    body.staff-body .cashier-clean-toolbar .order-type-toggle .btn,
    body.staff-body .cashier-clean-pos .cashier-payment-methods label {
        min-height: 34px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        padding: 0 8px !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: transparent !important;
        color: #0B3B28 !important;
        font-size: 11px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        cursor: pointer !important;
        box-shadow: none !important;
    }

    body.staff-body .cashier-clean-toolbar .order-type-toggle .btn-check:checked + .btn,
    body.staff-body .cashier-clean-pos .cashier-payment-methods .btn-check:checked + label {
        background: linear-gradient(135deg, #063B25, #0B6B43) !important;
        color: #fff !important;
        box-shadow: 0 9px 18px rgba(6, 59, 37, .16) !important;
    }

    body.staff-body .cashier-clean-toolbar .pos-table-control {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 36px !important;
        gap: 7px !important;
    }

    body.staff-body .cashier-clean-toolbar .form-select,
    body.staff-body .cashier-clean-toolbar .form-control,
    body.staff-body .cashier-clean-toolbar .pos-table-map-button {
        height: 36px !important;
        min-height: 36px !important;
        padding: 6px 10px !important;
        border: 1px solid #E1D4C1 !important;
        border-radius: 9px !important;
        background: #FFFCF7 !important;
        color: #171713 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        box-shadow: none !important;
    }

    body.staff-body .cashier-clean-toolbar textarea.form-control {
        resize: none !important;
        line-height: 1.35 !important;
    }

    body.staff-body .cashier-clean-products {
        min-height: 0 !important;
        height: 100% !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        overflow: hidden !important;
    }

    body.staff-body .cashier-clean-products > .card-glass-header,
    body.staff-body .cashier-clean-products .entry-category-title,
    body.staff-body .cashier-clean-products .entry-product-media,
    body.staff-body .cashier-clean-products .entry-product-desc,
    body.staff-body .cashier-clean-products .entry-product input[data-note-for],
    body.staff-body .cashier-clean-products .entry-product .qty-input,
    body.staff-body .cashier-clean-products .entry-product .qty-btn[data-qty-step="-1"] {
        display: none !important;
    }

    body.staff-body .cashier-clean-products .entry-toolbar {
        position: sticky !important;
        top: 0 !important;
        z-index: 8 !important;
        margin: 0 !important;
        padding: 12px 14px 10px !important;
        display: grid !important;
        grid-template-rows: 44px 18px 38px !important;
        gap: 8px !important;
        background: rgba(255, 253, 248, .98) !important;
        border-bottom: 1px solid #ECE2D6 !important;
        overflow: hidden !important;
    }

    body.staff-body .cashier-clean-products .entry-search-wrap {
        height: 44px !important;
        display: grid !important;
        grid-template-columns: 34px minmax(0, 1fr) auto auto !important;
        align-items: center !important;
        border: 1px solid #E1D4C1 !important;
        border-radius: 10px !important;
        background: #FFFCF7 !important;
        overflow: hidden !important;
    }

    body.staff-body .cashier-clean-products .entry-search-wrap i {
        position: static !important;
        display: grid !important;
        place-items: center !important;
        color: #0B3B28 !important;
    }

    body.staff-body .cashier-clean-products .entry-search-wrap .form-control {
        height: 42px !important;
        min-height: 42px !important;
        border: 0 !important;
        background: transparent !important;
        color: #171713 !important;
        font-size: 14px !important;
        font-weight: 750 !important;
        box-shadow: none !important;
    }

    body.staff-body .cashier-clean-products .entry-filter-status {
        min-height: 18px !important;
        display: flex !important;
        align-items: center !important;
        color: #6A645D !important;
        font-size: 11px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
    }

    body.staff-body .cashier-clean-products .entry-result-count {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 18px !important;
        padding: 0 8px !important;
        border-radius: 999px !important;
        background: #F2E7D8 !important;
        color: #3A2D1C !important;
        white-space: nowrap !important;
    }

    body.staff-body .cashier-clean-products .entry-category-filter {
        min-height: 38px !important;
        display: flex !important;
        gap: 8px !important;
        padding: 0 2px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
        scroll-behavior: smooth !important;
        overscroll-behavior-inline: contain !important;
    }

    body.staff-body .cashier-clean-products .entry-category-filter::-webkit-scrollbar { display: none !important; }

    body.staff-body .cashier-clean-products .entry-filter {
        flex: 0 0 auto !important;
        min-width: max-content !important;
        min-height: 36px !important;
        padding: 0 14px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 9px !important;
        background: transparent !important;
        color: #171713 !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    body.staff-body .cashier-clean-products .entry-filter.active {
        background: #063B25 !important;
        color: #fff !important;
        box-shadow: 0 8px 16px rgba(6, 59, 37, .16) !important;
    }

    html[dir="rtl"] body.staff-body .cashier-clean-products .entry-category-filter { direction: rtl !important; }

    body.staff-body .cashier-clean-products .order-product-list {
        min-height: 0 !important;
        height: auto !important;
        max-height: 100% !important;
        padding: 14px !important;
        display: grid !important;
        grid-template-columns: repeat(auto-fill, minmax(164px, 1fr)) !important;
        grid-auto-rows: minmax(106px, auto) !important;
        gap: 10px !important;
        align-content: start !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
    }

    body.staff-body .cashier-clean-products .entry-category,
    body.staff-body .cashier-clean-products .entry-product-grid { display: contents !important; }

    body.staff-body .cashier-clean-products .entry-category[hidden],
    body.staff-body .cashier-clean-products .entry-product[hidden] { display: none !important; }

    body.staff-body .cashier-clean-products .entry-product {
        position: relative !important;
        min-height: 106px !important;
        height: auto !important;
        padding: 12px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 34px !important;
        grid-template-rows: minmax(38px, auto) auto auto !important;
        gap: 7px 8px !important;
        border: 1px solid #E8DDCE !important;
        border-radius: 9px !important;
        background: #FFFCF7 !important;
        box-shadow: none !important;
        cursor: pointer !important;
        overflow: visible !important;
    }

    body.staff-body .cashier-clean-products .entry-product:hover,
    body.staff-body .cashier-clean-products .entry-product:focus-visible,
    body.staff-body .cashier-clean-products .entry-product.in-cart {
        border-color: #C5962D !important;
        background: #FFF8E9 !important;
    }

    body.staff-body .cashier-clean-products .entry-product-content,
    body.staff-body .cashier-clean-products .entry-product-main,
    body.staff-body .cashier-clean-products .entry-product-main > div,
    body.staff-body .cashier-clean-products .entry-product-meta { display: contents !important; }

    body.staff-body .cashier-clean-products .entry-product-name {
        grid-column: 1 / 2 !important;
        color: #151713 !important;
        font-size: 13px !important;
        font-weight: 950 !important;
        line-height: 1.2 !important;
        overflow-wrap: anywhere !important;
    }

    body.staff-body .cashier-clean-products .pos-product-category {
        grid-column: 1 / 2 !important;
        color: #6A645D !important;
        font-size: 10px !important;
        font-weight: 850 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .cashier-clean-products .pos-product-availability {
        grid-column: 1 / 2 !important;
        justify-self: start !important;
        max-width: 78px !important;
        padding: 2px 7px !important;
        border-radius: 999px !important;
        background: #E7F5EC !important;
        color: #085B35 !important;
        font-size: 9px !important;
        font-weight: 950 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .cashier-clean-products .pos-product-price {
        grid-column: 1 / 2 !important;
        justify-self: end !important;
        align-self: end !important;
        color: #9A6500 !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        white-space: nowrap !important;
    }

    body.staff-body .cashier-clean-products .entry-product .qty-control {
        grid-column: 2 / 3 !important;
        grid-row: 1 / 4 !important;
        align-self: end !important;
        justify-self: end !important;
        width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        display: block !important;
        border: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    body.staff-body .cashier-clean-products .entry-product .qty-btn[data-qty-step="1"] {
        width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: linear-gradient(135deg, #063B25, #0B6B43) !important;
        color: #fff !important;
        font-size: 19px !important;
        font-weight: 950 !important;
        box-shadow: 0 8px 16px rgba(6, 59, 37, .18) !important;
    }

    body.staff-body .cashier-clean-products .pos-product-qty {
        position: absolute !important;
        top: 7px !important;
        right: 7px !important;
        min-width: 22px !important;
        height: 22px !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 999px !important;
        background: #C5962D !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 950 !important;
    }

    body.staff-body .cashier-clean-products .pos-product-qty[hidden] { display: none !important; }

    body.staff-body .cashier-clean-products .entry-no-results {
        grid-column: 1 / -1 !important;
        min-height: 220px !important;
        display: grid !important;
        place-items: center !important;
        align-content: center !important;
        gap: 9px !important;
        border: 1px dashed #DCCDB7 !important;
        border-radius: 10px !important;
        background: #FFFCF7 !important;
        color: #6A645D !important;
    }

    body.staff-body .cashier-clean-products .entry-no-results[hidden] { display: none !important; }

    body.staff-body .cashier-clean-cart {
        height: 100% !important;
        min-height: 0 !important;
        padding: 12px !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        overflow: hidden !important;
    }

    body.staff-body .cashier-clean-cart > .card-glass-header {
        margin: 0 !important;
        padding: 0 0 9px !important;
        border-bottom: 1px solid #ECE2D6 !important;
        flex: 0 0 auto !important;
    }

    body.staff-body .cashier-clean-cart h5 {
        color: #151713 !important;
        font-size: 18px !important;
        font-weight: 950 !important;
    }

    body.staff-body .cashier-clean-cart .summary-selected-table {
        color: #0B3B28 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
    }

    body.staff-body .cashier-clean-cart-items {
        min-height: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 4px 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
        color: #171713 !important;
    }

    body.staff-body .cashier-clean-cart-items .pos-cart-empty {
        min-height: 190px !important;
        display: grid !important;
        place-items: center !important;
        align-content: center !important;
        gap: 8px !important;
        color: #6A645D !important;
    }

    body.staff-body .cashier-clean-cart-items .pos-cart-item {
        min-height: 74px !important;
        display: grid !important;
        grid-template-columns: 92px minmax(0, 1fr) 72px 28px !important;
        grid-template-areas:
            "qty name price remove"
            "note note note note" !important;
        gap: 6px 8px !important;
        align-items: center !important;
        padding: 9px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #ECE2D6 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.staff-body .cashier-clean-cart-items .pos-cart-qty {
        grid-area: qty !important;
        width: 92px !important;
        height: 34px !important;
        display: grid !important;
        grid-template-columns: 30px 32px 30px !important;
        border: 1px solid #E1D4C1 !important;
        border-radius: 9px !important;
        background: #FAF6EF !important;
        overflow: hidden !important;
    }

    body.staff-body .cashier-clean-cart-items .pos-cart-qty button,
    body.staff-body .cashier-clean-cart-items .pos-cart-qty span {
        display: grid !important;
        place-items: center !important;
        width: 100% !important;
        height: 32px !important;
        border: 0 !important;
        background: transparent !important;
        color: #063B25 !important;
        font-size: 14px !important;
        font-weight: 950 !important;
    }

    body.staff-body .cashier-clean-cart-items .pos-cart-item-main { grid-area: name !important; min-width: 0 !important; }

    body.staff-body .cashier-clean-cart-items .pos-cart-item-main strong,
    body.staff-body .cashier-clean-cart-items .pos-cart-item-main span {
        display: block !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .cashier-clean-cart-items .pos-cart-item-main strong {
        color: #151713 !important;
        font-size: 13px !important;
        font-weight: 950 !important;
    }

    body.staff-body .cashier-clean-cart-items .pos-cart-item-main span {
        margin-top: 2px !important;
        color: #6A645D !important;
        font-size: 11px !important;
        font-weight: 750 !important;
    }

    body.staff-body .cashier-clean-cart-items .pos-cart-price-stack {
        grid-area: price !important;
        display: grid !important;
        justify-items: end !important;
        gap: 2px !important;
    }

    body.staff-body .cashier-clean-cart-items .pos-cart-price-stack strong {
        color: #171713 !important;
        font-size: 11px !important;
        font-weight: 750 !important;
    }

    body.staff-body .cashier-clean-cart-items .pos-cart-price-stack span {
        color: #9A6500 !important;
        font-size: 13px !important;
        font-weight: 950 !important;
    }

    body.staff-body .cashier-clean-cart-items .pos-cart-remove {
        grid-area: remove !important;
        width: 28px !important;
        height: 28px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: #FFF4EF !important;
        color: #C81E11 !important;
    }

    body.staff-body .cashier-clean-cart-items .pos-cart-note {
        grid-area: note !important;
        min-height: 32px !important;
        margin: 0 !important;
        padding: 6px 9px !important;
        border: 1px solid #E8DDCE !important;
        border-radius: 8px !important;
        background: #FFFCF7 !important;
        color: #302F29 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
    }

    body.staff-body .cashier-clean-cart-footer {
        flex: 0 0 auto !important;
        min-height: 0 !important;
        padding: 9px 0 0 !important;
        border-top: 1px solid #ECE2D6 !important;
        background: rgba(255, 253, 248, .98) !important;
        overflow: hidden !important;
    }

    body.staff-body .cashier-clean-cart-footer .d-flex,
    body.staff-body .cashier-clean-cart-footer .pos-discount-row {
        margin-bottom: 4px !important;
        color: #151713 !important;
        font-size: 11px !important;
        font-weight: 800 !important;
    }

    body.staff-body .cashier-clean-cart-footer .pos-discount-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.staff-body .cashier-clean-cart-footer .order-total-line {
        margin: 6px 0 8px !important;
        padding: 8px 10px !important;
        border-radius: 9px !important;
        background: #F0DDC4 !important;
    }

    body.staff-body .cashier-clean-cart-footer .order-total-line span,
    body.staff-body .cashier-clean-cart-footer .order-entry-total {
        color: #111 !important;
        font-weight: 950 !important;
    }

    body.staff-body .cashier-clean-cart-footer .order-entry-total { font-size: 20px !important; }

    body.staff-body .cashier-clean-pos .pos-payment-box {
        margin: 0 0 8px !important;
        padding: 8px !important;
        border: 1px solid #E8DDCE !important;
        border-radius: 10px !important;
        background: #FFFCF7 !important;
    }

    body.staff-body .cashier-clean-pos .pos-payment-box .mb-2,
    body.staff-body .cashier-clean-pos .pos-payment-box .d-flex:first-child { margin-bottom: 6px !important; }

    body.staff-body .cashier-clean-pos .pos-payment-box .form-label {
        margin-bottom: 3px !important;
        font-size: 10px !important;
    }

    body.staff-body .cashier-clean-pos .pos-payment-box .form-control {
        height: 32px !important;
        min-height: 32px !important;
        padding: 4px 8px !important;
        font-size: 12px !important;
    }

    body.staff-body .cashier-clean-pos .entry-payment-preview {
        margin-top: 6px !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 5px !important;
    }

    body.staff-body .cashier-clean-pos .entry-payment-preview > div {
        min-height: 36px !important;
        padding: 5px 6px !important;
        display: grid !important;
        align-content: center !important;
        gap: 1px !important;
        border: 1px solid #E8DDCE !important;
        border-radius: 8px !important;
        background: #FAF4EA !important;
    }

    body.staff-body .cashier-clean-pos .entry-payment-preview span {
        color: #6A645D !important;
        font-size: 9px !important;
        font-weight: 850 !important;
        white-space: nowrap !important;
    }

    body.staff-body .cashier-clean-pos .entry-payment-preview strong {
        color: #063B25 !important;
        font-size: 11px !important;
        font-weight: 950 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.staff-body .cashier-clean-pos .pos-action-stack {
        display: grid !important;
        gap: 6px !important;
    }

    body.staff-body .cashier-clean-pos .pos-action-stack .btn-primary-gold,
    body.staff-body .cashier-clean-pos .pos-action-stack .btn {
        min-height: 38px !important;
        padding: 7px 10px !important;
        border-radius: 9px !important;
        font-size: 13px !important;
        font-weight: 950 !important;
    }

    body.staff-body .cashier-clean-pos .pos-action-stack .btn-primary-gold {
        background: linear-gradient(135deg, #063B25, #0B6B43) !important;
        color: #fff !important;
        border: 1px solid #063B25 !important;
    }
}

@media (min-width: 1500px) {
    body.staff-body .cashier-clean-products .order-product-list { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important; }
}

@media (min-width: 1800px) {
    body.staff-body .cashier-clean-products .order-product-list { grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)) !important; }
    body.staff-body .cashier-clean-workspace { grid-template-columns: minmax(0, 1fr) 440px !important; }
}

@media (min-width: 901px) and (max-width: 1180px) {
    body.staff-body .cashier-clean-workspace {
        grid-template-columns: minmax(0, 1fr) 340px !important;
        gap: 10px !important;
    }

    body.staff-body .cashier-clean-toolbar {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        padding: 9px !important;
    }

    body.staff-body .cashier-clean-products .order-product-list {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
        gap: 8px !important;
        padding: 10px !important;
    }
}

@media (max-width: 900px) {
    body.staff-body:has(.cashier-clean-pos),
    body.staff-body:has(.cashier-clean-pos) .main-content,
    body.staff-body .content-area:has(.cashier-clean-pos),
    body.staff-body .cashier-clean-pos,
    body.staff-body .cashier-clean-workspace {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.staff-body .cashier-clean-workspace {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
}

@media (max-width: 900px) {
    body.staff-body .waiter-cart-items {
        display: block !important;
    }

    body.staff-body .waiter-cart-items .pos-cart-item {
        height: auto !important;
        min-height: 0 !important;
        grid-template-rows: auto auto auto !important;
        row-gap: 10px !important;
        padding-top: 14px !important;
        padding-bottom: 18px !important;
        margin-bottom: 12px !important;
        border-bottom: 1px solid #E8DDCC !important;
    }

    body.staff-body .waiter-cart-items .pos-cart-item-main {
        align-self: start !important;
    }

    body.staff-body .waiter-cart-items .pos-cart-item-main strong {
        display: block !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        margin-bottom: 8px !important;
    }
}

/* Final compact waiter mobile actions: keep product and cart content visible. */
@media (max-width: 900px) {
    body.staff-body .waiter-products-panel .order-product-list {
        padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.staff-body .waiter-add-bottom-bar {
        grid-template-columns: minmax(0, .64fr) minmax(126px, .9fr) !important;
        gap: 8px !important;
        padding: 7px 10px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
        box-shadow: 0 -8px 18px rgba(31, 24, 14, .08) !important;
    }

    body.staff-body .waiter-add-bottom-summary span {
        font-size: 10px !important;
    }

    body.staff-body .waiter-add-bottom-summary strong {
        font-size: 17px !important;
    }

    body.staff-body .waiter-review-order-btn {
        min-height: 42px !important;
        border-radius: 11px !important;
        font-size: 13px !important;
        box-shadow: 0 8px 18px rgba(6, 59, 37, .18) !important;
    }

    body.staff-body .waiter-cart-items {
        padding-bottom: 118px !important;
    }

    body.staff-body .waiter-cart-footer {
        padding: 8px 10px calc(9px + env(safe-area-inset-bottom, 0px)) !important;
        box-shadow: 0 -8px 18px rgba(31, 24, 14, .08) !important;
    }

    body.staff-body .waiter-cart-footer .d-flex {
        margin-bottom: 4px !important;
        font-size: 11px !important;
    }

    body.staff-body .waiter-cart-footer .order-total-line {
        margin: 6px 0 7px !important;
        padding: 8px 10px !important;
        border-radius: 10px !important;
    }

    body.staff-body .waiter-cart-footer .order-total-line span {
        font-size: 15px !important;
    }

    body.staff-body .waiter-cart-footer .order-entry-total {
        font-size: 20px !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack {
        gap: 6px !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack button {
        min-height: 44px !important;
        padding: 7px 10px !important;
        border-radius: 10px !important;
        line-height: 1.05 !important;
    }

    body.staff-body .waiter-pos-page .pos-action-stack button small {
        display: none !important;
    }
}
