/**
 * Admin / POS / KDS / waiter legacy safety net for Galaxy Tab E (SM-T560NU)
 * and other old Android Chrome builds. Load LAST after admin-*.css.
 */

/* Modal overlays: inset/max()/backdrop-filter often fail — use absolute box */
.modal-overlay,
.appd-overlay,
#printBillModal,
#billModal,
#kotModal,
#posNoteModal,
#orderBillModal,
#formModal,
#confirmModal,
#addConfirmModal,
#editModal,
#deleteModal {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.modal-overlay.active,
.appd-overlay.appd-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Confirm / alert sheets: keep centered on Tab E */
.appd-overlay,
.modal-overlay {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    justify-content: center !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    align-items: center !important;
}

.appd-sheet,
.confirm-modal {
    margin: auto !important;
    position: relative !important;
}

/* Save / success toasts: dead-center on every admin page */
.appd-toast-host {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 100001 !important;
    pointer-events: none !important;
    display: block !important;
}

.appd-toast {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    z-index: 100002 !important;
    pointer-events: auto !important;
    -webkit-transform: translate(-50%, -50%) !important;
    transform: translate(-50%, -50%) !important;
}

.modal-overlay .modal-content,
.modal-overlay .confirm-modal,
.modal-overlay .appd-sheet,
#printBillModal .modal-content,
#billModal .modal-content {
    position: relative;
    z-index: 2;
    pointer-events: auto !important;
    -webkit-transform: none;
    transform: none;
    max-height: 90vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.navbar .hotel-header-name,
.navbar .logo span,
.admin-navbar .logo span {
    opacity: 1 !important;
}

/*
 * LOCKED admin navbar chrome — same sizes on every page.
 * Overrides page CSS (orders/analytics/settings/pos) that used to change POS button size.
 */
.header.admin-rb-header,
.header.admin-billdesk-header {
    background-color: #1B4332 !important;
    background-image: -webkit-linear-gradient(left, #16382A 0%, #1B4332 40%, #2D6A4F 100%) !important;
    background-image: linear-gradient(90deg, #16382A 0%, #1B4332 40%, #2D6A4F 100%) !important;
    border-bottom: 3px solid #C9A227 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28) !important;
    -webkit-flex-direction: row !important;
    flex-direction: row !important;
    -webkit-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
    -webkit-align-items: center !important;
    align-items: center !important;
    margin: 0 !important;
    min-height: 72px !important;
    padding: 0.85rem 1rem !important;
    box-sizing: border-box !important;
}

.header.admin-rb-header h1,
.header.admin-rb-header h1 a,
.header.admin-rb-header .admin-nav-brand-row h1,
.header.admin-billdesk-header h1,
.header.admin-billdesk-header h1 a {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    font-size: 1.32rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

.header.admin-rb-header .admin-nav-user-name,
.header.admin-billdesk-header .admin-nav-user-name {
    font-size: 1.12rem !important;
    font-weight: 700 !important;
    color: #F3FAF6 !important;
    -webkit-text-fill-color: #F3FAF6 !important;
    opacity: 1 !important;
    line-height: 1.2 !important;
}

.header.admin-rb-header .admin-nav-page-pill,
.header.admin-billdesk-header .admin-nav-page-pill {
    display: inline-block !important;
    margin-top: 0.3rem !important;
    padding: 0.2rem 0.65rem !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    color: #1B4332 !important;
    -webkit-text-fill-color: #1B4332 !important;
    background: #C9A227 !important;
    border-radius: 999px !important;
    line-height: 1.25 !important;
}

.header.admin-rb-header .admin-mobile-menu-toggle,
.header.admin-billdesk-header .admin-mobile-menu-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: rgba(0, 0, 0, 0.35) !important;
    border: 1px solid #ffffff !important;
    border-radius: 11px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
    box-sizing: border-box !important;
}

.header.admin-rb-header .admin-mobile-menu-toggle .admin-menu-line,
.header.admin-rb-header .admin-mobile-menu-toggle span,
.header.admin-billdesk-header .admin-mobile-menu-toggle .admin-menu-line,
.header.admin-billdesk-header .admin-mobile-menu-toggle span {
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    height: 3px !important;
    margin: 0 !important;
    background-color: #ffffff !important;
    border-radius: 999px !important;
    display: block !important;
    opacity: 1 !important;
}

.header.admin-rb-header .admin-mobile-pos-btn,
.header.admin-billdesk-header .admin-mobile-pos-btn {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    min-width: 4.4rem !important;
    padding: 0 0.85rem !important;
    margin: 0 !important;
    border-radius: 11px !important;
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    background: #C9A227 !important;
    border: 1px solid #C9A227 !important;
    color: #1B4332 !important;
    -webkit-text-fill-color: #1B4332 !important;
    box-sizing: border-box !important;
}

.header.admin-rb-header .admin-mobile-pos-btn i,
.header.admin-billdesk-header .admin-mobile-pos-btn i {
    font-size: 1.1rem !important;
    color: #1B4332 !important;
    line-height: 1 !important;
}

@media (max-width: 992px) {
    .header.admin-rb-header .admin-mobile-menu-toggle,
    .header.admin-billdesk-header .admin-mobile-menu-toggle {
        right: 0.85rem !important;
    }

    .header.admin-rb-header .admin-mobile-pos-btn,
    .header.admin-billdesk-header .admin-mobile-pos-btn {
        right: 4.55rem !important; /* ~14px gap before 44px menu */
    }

    .header.admin-rb-header .header-logo-title-outer.has-pos-shortcut,
    .header.admin-billdesk-header .header-logo-title-outer.has-pos-shortcut {
        padding-right: 7.6rem !important;
        max-width: calc(100% - 7.4rem) !important;
    }
}

body,
.btn,
input,
select,
textarea {
    font-family: Outfit, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}

.pos-catalog-card,
.pos-table-card,
.kds-card,
.stat-card {
    background-color: var(--bg-card, #161b29);
}

@media (min-width: 600px) and (max-width: 1100px) {
    .btn-pos-action,
    .btn {
        min-height: 40px;
    }

    .modal-overlay .btn {
        min-height: 44px;
        font-size: 1rem !important;
    }
}

/*
 * POS maximized — Galaxy Tab E / Tab A9 / small tablets (≈769–1400 CSS px).
 * Upper row: categories + 2-col dishes | order list.
 * Bottom: full-width payment checkout (Round Off, Customer Paid, Settle…).
 * Dish catalog must scroll to the last item (min-height:0 chain).
 */
@media (min-width: 769px) and (max-width: 1400px) {
    body.pos-maximized.pos-tablet-checkout {
        height: 100vh !important;
        max-height: 100vh !important;
        overflow: hidden !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view {
        height: calc(100vh - var(--admin-header-offset, 72px)) !important;
        max-height: calc(100vh - var(--admin-header-offset, 72px)) !important;
        overflow: hidden !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .table-content-wrapper {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-flex-direction: column !important;
        flex-direction: column !important;
        -webkit-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
        -webkit-align-items: stretch !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        margin: 0 !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-max-header--desktop,
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-sticky-cluster {
        -webkit-flex: 0 0 auto !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 0.4rem 0.55rem !important;
        margin: 0 !important;
        min-height: 0 !important;
        grid-column: auto !important;
        grid-row: auto !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-max-header-title {
        font-size: 0.95rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-max-header--desktop .pos-max-search {
        width: 200px !important;
        max-width: 42vw !important;
        padding: 0.4rem 0.65rem 0.4rem 2.2rem !important;
        font-size: 0.85rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-minimize-btn {
        padding: 0.35rem 0.7rem !important;
        font-size: 0.78rem !important;
    }

    /* Work row: catalog + order list share remaining height above checkout */
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-tablet-work-row {
        -webkit-box-flex: 1 !important;
        -webkit-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        width: 100% !important;
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-flex-direction: row !important;
        flex-direction: row !important;
        -webkit-align-items: stretch !important;
        align-items: stretch !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-main-workspace {
        -webkit-box-flex: 1 !important;
        -webkit-flex: 1 1 58% !important;
        flex: 1 1 58% !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-flex-direction: row !important;
        flex-direction: row !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0.25rem 0.2rem 0.25rem 0.35rem !important;
        box-sizing: border-box !important;
        grid-column: auto !important;
        grid-row: auto !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .order-section,
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .order-section.pos-order-panel {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-flex-direction: column !important;
        flex-direction: column !important;
        -webkit-box-flex: 0 !important;
        -webkit-flex: 0 0 36% !important;
        flex: 0 0 36% !important;
        width: 36% !important;
        max-width: 400px !important;
        min-width: 280px !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        inset: auto !important;
        grid-column: auto !important;
        grid-row: auto !important;
        padding: 0.45rem 0.55rem 0.35rem !important;
        border-left: 1px solid rgba(27, 67, 50, 0.12) !important;
        background: #ffffff !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .menu-section {
        -webkit-box-flex: 1 !important;
        -webkit-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        grid-column: auto !important;
        grid-row: auto !important;
        padding: 0.2rem 0.35rem 1.25rem !important;
        box-sizing: border-box !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-left-category-panel {
        width: 98px !important;
        max-width: 98px !important;
        -webkit-flex: 0 0 98px !important;
        flex: 0 0 98px !important;
        max-height: none !important;
        height: auto !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 0.15rem 0.2rem 0.35rem 0 !important;
        margin: 0 !important;
        gap: 0.28rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-left-category-panel .pos-cat-filter {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 0.42rem 0.35rem !important;
        font-size: 0.68rem !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        word-break: break-word !important;
        text-align: center !important;
        border-radius: 7px !important;
        min-height: 36px !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-category-toggle-handle {
        display: none !important;
    }

    /* Auto-fill instead of a hard-coded 2-column split: a short filtered list
       (e.g. 4 wraps) sizes to its own content instead of stretching into a
       block of empty white space, and a wide landscape tablet naturally gets
       3 columns instead of wasting the extra width on 2 oversized ones. */
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-catalog-grid {
        width: 100% !important;
        max-width: 100% !important;
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: grid !important;
        grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)) !important;
        -webkit-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
        align-content: start !important;
        gap: 0.5rem !important;
        margin: 0 !important;
        padding: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-catalog-card {
        width: auto !important;
        max-width: 100% !important;
        -webkit-flex: none !important;
        flex: none !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 8px !important;
        min-width: 0 !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-catalog-card .card-body {
        padding: 0.45rem 0.5rem 0.3rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-catalog-card .pn {
        font-size: 0.86rem !important;
        line-height: 1.25 !important;
    }

    /* Price + Add / qty-stepper row — restored to visible (see admin-pos.css),
       sized for a confident tap: the add button and +/- steppers are the most
       frequently tapped controls on this whole screen. */
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-catalog-card .card-bottom {
        padding: 0.4rem 0.5rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-catalog-card .pp {
        font-size: 0.88rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-catalog-card .btn-card-add {
        padding: 0.45rem 0.7rem !important;
        font-size: 0.82rem !important;
        min-height: 34px !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-catalog-card .card-qty-btn {
        width: 30px !important;
        height: 30px !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-catalog-card .card-qty-val {
        font-size: 0.9rem !important;
    }

    body.pos-maximized.pos-tablet-checkout.pos-no-images .table-card.maximized-view .pos-catalog-card > .pos-card-image-wrapper,
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-catalog-card > .pos-card-image-wrapper {
        max-height: 72px !important;
    }

    body.pos-no-images.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-catalog-card > .pos-card-image-wrapper {
        display: none !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-title {
        font-size: 0.92rem !important;
        margin: 0 0 0.35rem !important;
    }

    /* Bill table: reserved Total + delete columns so amounts never clip */
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table {
        font-size: 0.78rem !important;
        table-layout: fixed !important;
        width: 100% !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table th,
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table td {
        padding: 0.32rem 0.25rem !important;
        vertical-align: middle !important;
        overflow: visible !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table th:nth-child(1),
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table td:nth-child(1) {
        width: 34% !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table th:nth-child(2),
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table td:nth-child(2) {
        width: 12% !important;
        white-space: nowrap !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table th:nth-child(3),
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table td:nth-child(3) {
        width: 28% !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table th:nth-child(4),
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table td:nth-child(4) {
        width: 14% !important;
        min-width: 56px !important;
        text-align: right !important;
        white-space: nowrap !important;
        padding-right: 0.4rem !important;
        font-variant-numeric: tabular-nums;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table th:nth-child(5),
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table td:nth-child(5) {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 48px !important;
        text-align: center !important;
        padding-left: 0.15rem !important;
        padding-right: 0.15rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table .js-pos-item-line-total {
        white-space: nowrap !important;
        font-weight: 700 !important;
        text-decoration: none !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table .pos-delete-item-btn {
        padding: 0.28rem 0.35rem !important;
        font-size: 0.9rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-item-clickable-name:hover,
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-item-clickable-name:hover span {
        text-decoration: none !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table .pos-item-clickable-name,
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table .pos-item-clickable-name span {
        max-width: none !important;
        white-space: normal !important;
        word-break: break-word !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-order-panel-body,
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-order-panel-scroll,
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-cart-scroll-content {
        min-height: 0 !important;
        -webkit-box-flex: 1 !important;
        -webkit-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
        overflow: hidden !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-order-panel-scroll,
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-cart-scroll-content {
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-orders-table-wrap {
        max-height: none !important;
        -webkit-box-flex: 1 !important;
        -webkit-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        margin-bottom: 0.25rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-order-bottom-tools,
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-order-actions-sticky {
        -webkit-flex: 0 0 auto !important;
        flex: 0 0 auto !important;
        padding: 0.3rem 0 !important;
        margin: 0 !important;
    }

    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-order-actions-sticky .btn,
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .btn-pos-action {
        min-height: 40px !important;
        height: 40px !important;
        font-size: 0.8rem !important;
        padding: 0 0.65rem !important;
    }

    /* Full-width bottom payment / settle bar */
    body.pos-maximized.pos-tablet-checkout .table-card.maximized-view .pos-tablet-checkout-host {
        -webkit-flex: 0 0 auto !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 0.35rem 0.55rem 0.45rem !important;
        margin: 0 !important;
        border-top: 1px solid rgba(27, 67, 50, 0.14) !important;
        background: #f7faf8 !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch !important;
        z-index: 5 !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-order-payment-wrap {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-checkout {
        margin: 0 !important;
        border-radius: 8px !important;
        background: #ffffff !important;
        border: 1px solid rgba(27, 67, 50, 0.16) !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-rows {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
        padding: 0 !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-row {
        -webkit-box-flex: 1 !important;
        -webkit-flex: 1 1 22% !important;
        flex: 1 1 22% !important;
        min-width: 150px !important;
        border-bottom: none !important;
        border-right: 1px solid rgba(27, 67, 50, 0.1) !important;
        padding: 0.4rem 0.65rem !important;
        box-sizing: border-box !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-input {
        width: 88px !important;
        max-width: 100% !important;
    }

    /*
     * Row 1 (above) is Round Off / Customer Paid / Return / Tip, already a
     * single flex row. Everything below it — action bar, payment-mode radios,
     * settle bar — used to stack as three more full-width rows, which is why
     * the checkout panel ate more screen height (227px) than the entire
     * catalog + order list above it (220px) on a 960x600 tablet. Turning the
     * checkout panel itself into a wrapping flex row lets the action bar and
     * payment-mode radios share ONE row (there's 900px+ of width to spare),
     * cutting the panel to two rows and handing that reclaimed height back to
     * item browsing, where it actually matters.
     */
    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-checkout {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
        -webkit-align-items: stretch !important;
        align-items: stretch !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-rows {
        -webkit-flex: 1 1 100% !important;
        flex: 1 1 100% !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-action-bar {
        -webkit-flex: 1 1 54% !important;
        flex: 1 1 54% !important;
        border-bottom: none !important;
        border-right: 1px solid rgba(27, 67, 50, 0.14) !important;
        padding-left: 0.55rem !important;
        padding-right: 0.55rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-modes {
        -webkit-flex: 1 1 44% !important;
        flex: 1 1 44% !important;
        -webkit-align-items: center !important;
        align-items: center !important;
        padding-top: 0.55rem !important;
        padding-bottom: 0.55rem !important;
        padding-left: 0.55rem !important;
        padding-right: 0.55rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-part-payments-panel {
        -webkit-flex: 1 1 100% !important;
        flex: 1 1 100% !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-settle-section {
        -webkit-flex: 1 1 100% !important;
        flex: 1 1 100% !important;
        padding-left: 0.55rem !important;
        padding-right: 0.55rem !important;
    }

    /* Bigger, easier-to-hit settle controls now that the row has its own
       full-width line instead of being squeezed under three other rows. */
    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-settle-bar {
        gap: 0.6rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-settle-bar .pos-payment-input {
        max-width: 110px !important;
        padding: 0.45rem 0.55rem !important;
        font-size: 0.92rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-settle-btn {
        padding: 0.5rem 1rem !important;
        font-size: 0.85rem !important;
        min-height: 40px !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-mode {
        font-size: 0.85rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-total-value {
        font-size: 1.2rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-modes {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
        gap: 0.55rem !important;
        padding-top: 0.35rem !important;
        padding-bottom: 0.35rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-settle-bar {
        -webkit-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
    }

    body.pos-maximized.pos-tablet-checkout .pos-tablet-checkout-host .pos-payment-settle-btn {
        min-height: 40px !important;
        padding: 0.45rem 0.9rem !important;
        font-size: 0.85rem !important;
    }
}
