/* TV portal: real CSS copy from TV portal(1), not the neutralized placeholder. */
/* Active as /css/mltv-layout-core.css?v=build */


/* =========================================================
   TV portal: Bootstrap-lite utilities required by Razor markup
   Chrome 68 safe. No Bootstrap JS.
   ========================================================= */
.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -12px;
    margin-left: -12px;
}
.row > * {
    box-sizing: border-box;
    padding-right: 12px;
    padding-left: 12px;
    min-width: 0;
}
.col { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; }
.col-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
.col-8 { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; }
.col-12 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }

@media (min-width: 576px) {
    .col-sm-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
}
@media (min-width: 992px) {
    .col-lg-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-lg-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
    .col-lg-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; }
}
@media (min-width: 1200px) {
    .col-xl-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-xl-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; }
}
.g-3 { margin-right: -8px; margin-left: -8px; }
.g-3 > * { padding-right: 8px; padding-left: 8px; margin-bottom: 16px; }
.g-4 { margin-right: -12px; margin-left: -12px; }
.g-4 > * { padding-right: 12px; padding-left: 12px; margin-bottom: 24px; }

.d-flex { display: -ms-flexbox !important; display: flex !important; }
.d-block { display: block !important; }
.d-inline-block { display: inline-block !important; }
.flex-column { -ms-flex-direction: column !important; flex-direction: column !important; }
.flex-grow-1 { -ms-flex-positive: 1 !important; flex-grow: 1 !important; }
.align-items-center { -ms-flex-align: center !important; align-items: center !important; }
.justify-content-between { -ms-flex-pack: justify !important; justify-content: space-between !important; }
.justify-content-center { -ms-flex-pack: center !important; justify-content: center !important; }
.align-items-justify { -ms-flex-align: center !important; align-items: center !important; }
.text-start { text-align: left !important; }
.text-center { text-align: center !important; }
.text-white { color: #fff !important; }
.text-decoration-none { text-decoration: none !important; }
.text-opacity-70 { opacity: .70 !important; }
.text-opacity-75 { opacity: .75 !important; }
.text-opacity-80 { opacity: .80 !important; }
.bg-transparent { background-color: transparent !important; }
.border-0 { border: 0 !important; }
.position-relative { position: relative !important; }
.h-100 { height: 100% !important; }
.w-100 { width: 100% !important; }
.overflow-hidden { overflow: hidden !important; }
.m-0 { margin: 0 !important; }
.mt-1 { margin-top: .25rem !important; }
.mt-n1 { margin-top: -.25rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: .25rem !important; }
.mb-2 { margin-bottom: .5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.px-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.p-0 { padding: 0 !important; }
.p-3 { padding: 1rem !important; }
.p-4 { padding: 1.5rem !important; }
.fs-4 { font-size: 1.35rem !important; }
.fs-13px { font-size: 13px !important; }
.fw-semibold { font-weight: 700 !important; }

.card {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-clip: border-box;
    border-radius: 14px;
}
.card-body {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 1rem;
}
.btn {
    display: inline-block;
    font-weight: 700;
    line-height: 1.35;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    user-select: none;
    border: 0;
    padding: .65rem 1rem;
    font-size: 1rem;
    border-radius: 10px;
    background: #2475ff;
}
.btn-theme { background: #2475ff !important; color: #fff !important; }
.btn-default { background: #50658c !important; color: #fff !important; }
.modal { display: none; }
.modal.show, .modal.d-block { display: block !important; }
.progress { display: flex; height: 1rem; overflow: hidden; background-color: rgba(0,0,0,.5); border-radius: .25rem; }
.progress-bar, .progrss-bar { display: flex; flex-direction: column; justify-content: center; overflow: hidden; color: #fff; text-align: center; white-space: nowrap; background-color: #fff; transition: width .6s ease; }
.bg-white { background-color: #fff !important; }
.bg-black { background-color: #000 !important; }
.bg-opacity-50 { opacity: .5 !important; }
.opacity-1 { opacity: .25 !important; }


/* ===== original TV portal: custom.css copied ===== */
:root {
    --mlp-surface-border: rgba(88, 138, 255, .55);
    --mlp-surface-fill: linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,.015) 100%);
    --mlp-shadow-soft: 0 10px 24px rgba(0,0,0,.18);
    --mlp-shadow-focus: inset 0 0 0 3px rgba(255,255,255,.95), 0 10px 26px rgba(0,0,0,.45);
    --mlp-text-primary: rgba(255,255,255,.98);
    --mlp-text-secondary: rgba(255,255,255,.74);
    --mlp-line-tight: 1.2;
    --mlp-line-regular: 1.35;
    --orders-menu-width: 232px;
    --orders-category-width: 198px;
    --orders-category-height: 116px;
    --orders-review-width: 380px;
    --orders-item-gap: 24px;
    --orders-item-min: 240px;
    --home-sync-label: 1rem;
    --home-sync-title: 1.15rem;
    --home-sync-value: 1.2rem;
    --home-sync-subtitle: 0.92rem;
    --home-sync-date: 1.35rem;
}

html, body { overflow: hidden !important; }

/* Shared focus/navigation */
.pos-product, .nav-link, .btn.focusable, a.focusable, button.focusable, [data-nav-scope] .focusable {
    outline: none !important; position: relative; overflow: hidden; border-radius: .75rem;
}
button.focusable, a.focusable, [data-nav-scope] .focusable { transition: none; }
button.focusable > .card, button.focusable > .pos-product, a.focusable > .card, a.focusable > .pos-product, .pos-product, .nav-link {
    transition: box-shadow .15s ease, transform .15s ease, filter .15s ease;
}
.focusable.nav-active, .focusable:focus, .tv-selected { outline: none !important; }
button.focusable.nav-active > .card, button.focusable:focus > .card, button.focusable.tv-selected > .card,
a.focusable.nav-active > .card, a.focusable:focus > .card, a.focusable.tv-selected > .card,
button.focusable.nav-active > .pos-product, button.focusable:focus > .pos-product, button.focusable.tv-selected > .pos-product,
.pos-product.active, .nav-link.active, .focusable.nav-active:not(button):not(a), .focusable:focus:not(button):not(a), .tv-selected:not(button):not(a) {
    outline: none !important; box-shadow: var(--mlp-shadow-focus) !important; transform: translateY(-1px);
}
button.pos-product, button.nav-link { background: transparent; }
[data-nav-scope] .focusable img { max-width: 100%; height: auto; pointer-events: none; }
html, body, .page-shell, .pos, .pos-container, .pos-content, .pos-menu, .pos-sidebar {
    user-select: none; -webkit-user-select: none; -ms-user-select: none; caret-color: transparent;
}
.focusable, .focusable * { user-select: none; -webkit-user-select: none; -ms-user-select: none; caret-color: transparent; }
button, a, .pos-product { cursor: pointer; }
body.loading-active { overflow: hidden; }

.enterprise-loader {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10050;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
}

.enterprise-loader.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.enterprise-loader__backdrop {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(8, 21, 44, .90) 0%, rgba(2, 10, 27, .97) 72%, rgba(1, 7, 18, .99) 100%);
}

.enterprise-loader__card {
    position: relative;
    width: min(440px, calc(100vw - 64px));
    padding: 2rem 2rem 1.55rem;
    border-radius: 1.75rem;
    border: 1px solid rgba(106, 156, 255, .42);
    background: linear-gradient(180deg, rgba(10, 18, 36, .96) 0%, rgba(15, 29, 56, .95) 100%);
    box-shadow: 0 32px 90px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 1px rgba(53, 106, 219, .16);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.enterprise-loader__image {
    width: min(332px, 100%);
    max-height: 184px;
    object-fit: contain;
    display: block;
}

.enterprise-loader__text {
    margin: 0;
    width: 100%;
    text-align: center;
    color: rgba(255,255,255,.98);
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: .01em;
    line-height: 1.3;
    text-shadow: 0 2px 12px rgba(0,0,0,.28);
}

html[dir="rtl"] .enterprise-loader__text {
    letter-spacing: 0;
}

/* Home */
.dashboard-summary-grid { margin-top: .15rem; }
.dashboard-summary-block { min-height: 5.8rem; display: flex; flex-direction: column; justify-content: center; }
.dashboard-divider { background: rgba(255,255,255,.75); margin: 1.15rem 0 1.05rem; opacity: 1; }

.index-main-layout {
    display: flex !important; flex-wrap: nowrap !important; gap: 20px !important; align-items: stretch !important; margin-top: 0 !important;
}
.index-main-layout > [class*="col-lg-"] { display: flex; flex-direction: column; }
.index-main-layout > [class*="col-lg-"]:first-child { flex: 0 0 45% !important; max-width: 45% !important; width: 45% !important; }
.index-main-layout > [class*="col-lg-"]:last-child { flex: 0 0 55% !important; max-width: 55% !important; width: 55% !important; }
.index-main-layout > [class*="col-lg-"] > .card, .index-main-layout > [class*="col-lg-"] > .row { width: 100%; }

.patient-info-grid { margin-top: .25rem; }
.patient-info-card {
    min-height: 150px !important; height: 100%; padding: 1.15rem 1rem; border: 1px solid var(--mlp-surface-border);
    border-radius: 1rem; background: var(--mlp-surface-fill); box-shadow: var(--mlp-shadow-soft);
    display: flex; flex-direction: column; justify-content: space-between; gap: .9rem;
}
.patient-info-card__header { display: flex; align-items: flex-start; gap: .9rem; }
.patient-info-card__titles { min-width: 0; flex: 1; }
.patient-info-card__icon {
    width: 3rem; height: 3rem; min-width: 3rem; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(180deg, rgba(54,120,255,.95) 0%, rgba(40,96,216,.95) 100%);
    color: #fff; font-size: 1.15rem; box-shadow: 0 10px 20px rgba(16,54,131,.28);
}
.dashboard-summary-label {
    font-size: var(--home-sync-label) !important; font-weight: 600 !important; line-height: 1.2 !important; color: rgba(255,255,255,.76) !important; margin-bottom: .35rem !important;
}
.dashboard-summary-value {
    font-size: 1.05rem !important; font-weight: 700 !important; line-height: 1.18 !important; color: #fff !important;
}
.patient-info-card__title {
    font-size: var(--home-sync-title) !important; font-weight: 700 !important; line-height: 1.2 !important; color: #fff !important; margin-bottom: .35rem;
}
.patient-info-card__subtitle {
    font-size: var(--home-sync-subtitle) !important; font-weight: 500 !important; line-height: 1.3 !important; color: rgba(255,255,255,.72) !important;
}
.patient-info-card__value {
    font-size: var(--home-sync-value) !important; font-weight: 600 !important; line-height: 1.22 !important; color: #fff !important; word-break: break-word;
}
.home-meal-panel .btn.btn-theme { font-size: var(--home-sync-title) !important; font-weight: 700 !important; line-height: 1.15 !important; }
.index-date-banner h3, .order-date-text { font-size: var(--home-sync-date) !important; font-weight: 700 !important; line-height: 1.15 !important; color: #fff !important; }
.home-meal-panel .card { min-height: 170px !important; }
.home-meal-panel .card h3 { font-size: var(--home-sync-title) !important; font-weight: 700 !important; line-height: 1.18 !important; }
.home-meal-panel .card .text-white h3.mb-1 { font-size: var(--home-sync-label) !important; font-weight: 600 !important; line-height: 1.2 !important; }
.home-meal-panel .card h4, .home-meal-panel .card .text-white h4.mb-1 { font-size: var(--home-sync-value) !important; font-weight: 600 !important; line-height: 1.2 !important; }
.app-header-meta { display: none !important; }

/* Orders */
.orders-page-shell { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.orders-page-shell .container, .orders-page-shell .container-fluid { max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
.orders-page-shell .pos, .orders-page-shell .pos-with-menu, .orders-page-shell .pos-with-sidebar {
    width: 100% !important; height: 100% !important; overflow: hidden !important;
}
.orders-page-shell .pos-container {
    display: flex !important; align-items: stretch !important; width: 100% !important; min-height: 100vh !important; height: 100vh !important;
    margin: 0 !important; padding: 0 !important; overflow: hidden !important;
}
.orders-page-shell .pos-menu {
    position: relative !important; top: 0 !important; flex: 0 0 var(--orders-menu-width) !important; width: var(--orders-menu-width) !important;
    min-width: var(--orders-menu-width) !important; max-width: var(--orders-menu-width) !important; height: 100% !important;
    overflow-y: auto !important; overflow-x: hidden !important; padding: .75rem .4rem .75rem .5rem !important;
}
.orders-page-shell .pos-menu .nav-container { padding-top: .35rem !important; }
.orders-page-shell .pos-menu .nav-tabs { display: flex !important; flex-direction: column !important; gap: 1rem !important; }
.orders-page-shell .pos-menu .nav-tabs .nav-item { width: 100% !important; margin: 0 !important; display: flex !important; justify-content: center !important; }
.orders-page-shell .orders-category-link {
    width: var(--orders-category-width) !important; min-width: var(--orders-category-width) !important; max-width: var(--orders-category-width) !important;
    height: var(--orders-category-height) !important; min-height: var(--orders-category-height) !important; max-height: var(--orders-category-height) !important;
    padding: .78rem .8rem !important; margin-inline: auto !important; display: flex !important; flex-direction: column !important; align-items: center !important;
    justify-content: center !important; gap: .55rem !important; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 1rem !important;
    background: linear-gradient(180deg, rgba(255,255,255,.035) 0%, rgba(255,255,255,.015) 100%); transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; box-sizing: border-box !important;
}
.orders-category-link:hover, .orders-category-link.nav-active, .orders-category-link.active {
    border-color: rgba(255,255,255,.42) !important; box-shadow: 0 14px 26px rgba(0,0,0,.24), inset 0 0 0 2px rgba(255,255,255,.18); transform: none !important;
}
.orders-category-link__icon-wrap {
    width: 58px !important; height: 58px !important; min-width: 58px !important; min-height: 58px !important; display: inline-flex !important;
    align-items: center !important; justify-content: center !important; flex: 0 0 58px !important;
}
.orders-page-shell .pos-menu .nav-link img, .orders-page-shell .pos-menu .nav-link svg, .orders-page-shell .orders-category-link__icon-wrap img {
    width: 54px !important; height: 54px !important; max-width: 54px !important; max-height: 54px !important;
}
.orders-category-link__text {
    width: 100% !important; max-width: 18ch !important; height: 2.5em !important; min-height: 2.5em !important; max-height: 2.5em !important;
    display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important;
    text-align: center !important; white-space: normal !important; text-wrap: balance !important; line-height: 1.2 !important; font-size: 1.08rem !important; font-weight: 700 !important; color: rgba(255,255,255,.98) !important;
}
.orders-page-shell .pos-content {
    flex: 1 1 auto !important; min-width: 0 !important; width: auto !important; max-width: none !important; padding: .75rem 1.5rem 1rem !important; overflow-y: auto !important; overflow-x: hidden !important;
}
.orders-page-shell .pos-content .pos-content-container { min-height: auto !important; padding-top: 0 !important; max-width: none !important; margin-top: 0 !important; }
.orders-main-header, .orders-main-header *, .orders-sidebar-header { display: none !important; }
.orders-items-grid, .orders-page-shell .orders-items-grid, .orders-page-shell .row.gx-4.pt-2.orders-items-grid, .orders-page-shell .row.gx-4.orders-items-grid {
    display: grid !important; grid-template-columns: repeat(3, minmax(var(--orders-item-min), 1fr)) !important; gap: var(--orders-item-gap) !important;
    width: 100% !important; margin-top: 0 !important; margin-bottom: 0 !important; padding: .35rem 0 0 0 !important; --bs-gutter-x: 0 !important; --bs-gutter-y: 0 !important;
}
.orders-items-grid > [class*="col-"], .orders-page-shell .orders-items-grid > [class*="col-"], .orders-page-shell .row.gx-4.pt-2.orders-items-grid > [class*="col-"], .orders-page-shell .row.gx-4.orders-items-grid > [class*="col-"] {
    width: auto !important; max-width: none !important; flex: 0 0 auto !important; padding: 0 !important; margin: 0 !important;
}
.orders-item-card, .orders-page-shell .pos-product {
    width: 100% !important; min-height: 300px !important; border: 1px solid rgba(255,255,255,.12) !important; border-radius: 1rem !important;
    background: linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.02) 100%); box-shadow: 0 10px 22px rgba(0,0,0,.15);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.orders-item-card:hover, .orders-item-card.nav-active, .orders-item-card:focus {
    transform: translateY(-3px) scale(1.018); border-color: rgba(255,255,255,.38) !important; box-shadow: inset 0 0 0 2px rgba(255,255,255,.22), 0 16px 28px rgba(0,0,0,.26) !important;
}
.orders-page-shell .pos-product .img, .orders-page-shell .orders-item-card .img, .orders-page-shell .modal-pos-product-img .img {
    border-radius: .9rem .9rem 0 0 !important; height: 220px !important; background-size: cover !important; background-position: center !important;
}
.orders-page-shell .pos-sidebar {
    flex: 0 0 var(--orders-review-width) !important; width: var(--orders-review-width) !important; min-width: var(--orders-review-width) !important; max-width: var(--orders-review-width) !important;
    height: 100% !important; overflow-y: auto !important; overflow-x: hidden !important; position: relative !important; top: 0 !important;
}
.orders-page-shell .pos-sidebar-body, .orders-page-shell .pos-sidebar-footer { padding-left: 1rem !important; padding-right: 1rem !important; overflow-x: hidden !important; }
.pos-order-product { display: grid !important; grid-template-columns: 72px minmax(0, 1fr) auto !important; align-items: center !important; column-gap: 14px !important; }
.pos-order-product .img { width: 72px !important; height: 72px !important; min-width: 72px !important; border-radius: 12px !important; background-size: cover !important; background-position: center !important; }
.pos-order-product .flex-1 { min-width: 0 !important; }
.pos-order-product .fs-4 { white-space: normal !important; word-break: break-word !important; font-size: 1.08rem !important; line-height: 1.28 !important; }
.orders-loading-placeholder { min-height: 60vh; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; }
.pos-content-container[data-nav-scope="orders-items"], .pos-content-container[data-nav-scope="orders-items"] * { pointer-events: auto; }
.pos-content-container[data-nav-scope="orders-items"] .pos-product { position: relative; z-index: 2; width: 100%; cursor: pointer; }

@media (max-width: 1600px) {
    :root { --orders-menu-width: 220px; --orders-category-width: 188px; --orders-review-width: 340px; --orders-item-min: 220px; }
}
@media (max-width: 1200px) {
    :root { --orders-review-width: 300px; }
    .orders-items-grid, .orders-page-shell .orders-items-grid, .orders-page-shell .row.gx-4.pt-2.orders-items-grid, .orders-page-shell .row.gx-4.orders-items-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
    }
}
@media (max-width: 1399.98px) {
    :root { --home-sync-label: .95rem; --home-sync-title: 1.05rem; --home-sync-value: 1.1rem; --home-sync-subtitle: .88rem; --home-sync-date: 1.25rem; }
}
@media (max-width: 991.98px) {
    .index-main-layout { flex-wrap: wrap !important; }
    .index-main-layout > [class*="col-lg-"]:first-child, .index-main-layout > [class*="col-lg-"]:last-child {
        flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important;
    }
}
@media (max-width: 767.98px) {
    .patient-info-card { min-height: 132px; }
    :root { --orders-menu-width: 188px; --orders-category-width: 168px; --orders-review-width: 280px; }
    .orders-items-grid, .orders-page-shell .orders-items-grid, .orders-page-shell .row.gx-4.pt-2.orders-items-grid, .orders-page-shell .row.gx-4.orders-items-grid {
        grid-template-columns: 1fr !important;
    }
}


/* ===== FINAL ORDERS AREA-SCROLL + SPACING OVERRIDES ===== */
:root {
    --orders-menu-width: 194px;
    --orders-category-width: 176px;
    --orders-category-height: 106px;
    --orders-review-width: 432px;
    --orders-item-gap: 16px;
    --orders-item-min: 228px;
}

.orders-page-shell,
.orders-page-shell .pos,
.orders-page-shell .pos-with-menu,
.orders-page-shell .pos-with-sidebar,
.orders-page-shell .pos-container {
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    overflow: hidden !important;
}

.orders-page-shell .pos-container { align-items: stretch !important; }

.orders-page-shell .pos-menu {
    padding: .2rem .2rem .25rem .25rem !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
.orders-page-shell .pos-menu::-webkit-scrollbar { width: 0 !important; height: 0 !important; display:none !important; }

.orders-page-shell .pos-menu .nav-container,
.orders-page-shell .pos-menu .h-100 {
    height: 100% !important;
    padding-top: 0 !important;
}

.orders-page-shell .pos-menu .nav-tabs { gap: .75rem !important; }

.orders-page-shell .orders-category-link {
    width: var(--orders-category-width) !important;
    min-width: var(--orders-category-width) !important;
    max-width: var(--orders-category-width) !important;
    height: var(--orders-category-height) !important;
    min-height: var(--orders-category-height) !important;
    max-height: var(--orders-category-height) !important;
}

.orders-page-shell .pos-content {
    padding: .15rem .55rem .2rem .35rem !important;
    overflow: hidden !important;
}

.orders-page-shell .pos-content .pos-content-container {
    height: 100% !important;
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
.orders-page-shell .pos-content .pos-content-container::-webkit-scrollbar { width: 0 !important; height: 0 !important; display:none !important; }

.orders-main-header,
.orders-main-header * { display: none !important; }

.orders-page-shell .row.gx-4.pt-2.orders-items-grid,
.orders-page-shell .orders-items-grid {
    margin: 0 !important;
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    gap: 16px !important;
    align-content: start !important;
}

.orders-page-shell .pos-sidebar {
    width: var(--orders-review-width) !important;
    min-width: var(--orders-review-width) !important;
    max-width: var(--orders-review-width) !important;
    overflow: hidden !important;
}

.orders-page-shell .h-100.d-flex.flex-column.p-0 {
    height: 100% !important;
    max-height: 100% !important;
}

.orders-page-shell .pos-sidebar-header.orders-sidebar-header {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    min-height: 52px !important;
    padding: .55rem 1rem .35rem !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.orders-page-shell .orders-sidebar-header__line {
    display: block !important;
    color: rgba(255,255,255,.98) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.orders-page-shell .pos-sidebar-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
.orders-page-shell .pos-sidebar-body::-webkit-scrollbar { width: 0 !important; height: 0 !important; display:none !important; }

.orders-page-shell .pos-sidebar-footer {
    flex: 0 0 auto !important;
    padding-top: .6rem !important;
    padding-bottom: .6rem !important;
}

@media (max-width: 1600px) {
    :root {
        --orders-menu-width: 186px;
        --orders-category-width: 168px;
        --orders-review-width: 412px;
        --orders-item-min: 214px;
    }
}


/* ===== Home route top-offset fix ===== */
.home-route-active,
.home-route-active #app,
.home-route-active .app,
.home-route-active .app-content-full-width {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.home-route-active .app-header {
    margin-bottom: 0 !important;
    min-height: auto !important;
}

.home-route-active .home-content-host {
    margin-top: 0 !important;
    padding-top: .35rem !important;
    padding-right: 1rem !important;
    padding-bottom: 1rem !important;
    padding-left: 1rem !important;
}

.home-route-active .index-main-layout {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.home-route-active .home-patient-card,
.home-route-active .home-meal-panel {
    margin-top: 0 !important;
}


/* ===== Route-separated host containers ===== */
.route-shell {
    display: block;
    width: 100%;
    min-height: 100%;
}

.home-route-container,
.orders-route-container {
    margin: 0 !important;
    padding: 0 !important;
}

/* ===== Home overlap correction ===== */
.home-route-container,
.home-route-container #app,
.home-route-container .app,
.home-route-container .app-content-full-width {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.home-route-container .app-header {
    position: relative !important;
    margin-bottom: 0 !important;
    min-height: auto !important;
    z-index: 10 !important;
}

.home-route-container .home-content-host {
    margin-top: 0 !important;
    padding-top: .5rem !important;
    padding-right: .75rem !important;
    padding-bottom: .75rem !important;
    padding-left: .75rem !important;
}

.home-route-container .index-main-layout {
    margin-top: 0 !important;
    padding-top: 0 !important;
    gap: 16px !important;
}

.home-route-container .home-panel-right-column,
.home-route-container .home-panel-left-column {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.home-route-container .home-meal-panel > .row {
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.home-route-container .home-meal-panel > .row > [class*="col-"] {
    padding-top: 0 !important;
    padding-left: .5rem !important;
    padding-right: .5rem !important;
}

.home-route-container .home-meal-panel .index-date-banner {
    margin-top: 0 !important;
}

.home-route-container .home-patient-card {
    margin-top: 0 !important;
}

/* ===== Orders top alignment and spacing ===== */
.orders-route-container,
.orders-route-container #app,
.orders-route-container .app,
.orders-route-container .app-content-full-width,
.orders-route-container .orders-content-host,
.orders-route-container .app-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.orders-route-container .orders-content-host,
.orders-route-container .app-content {
    padding-top: 5px !important;
    padding-right: 8px !important;
    padding-bottom: 8px !important;
    padding-left: 8px !important;
}

.orders-route-container .orders-page-shell,
.orders-route-container .orders-page-shell .pos,
.orders-route-container .orders-page-shell .pos-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.orders-route-container .orders-page-shell .pos-container {
    align-items: flex-start !important;
    gap: 8px !important;
    height: calc(100vh - 10px) !important;
    min-height: calc(100vh - 10px) !important;
}

.orders-route-container .orders-page-shell .pos-menu,
.orders-route-container .orders-page-shell .pos-content,
.orders-route-container .orders-page-shell .pos-sidebar {
    margin-top: 0 !important;
    padding-top: 5px !important;
    align-self: stretch !important;
}

.orders-route-container .orders-page-shell .pos-menu {
    padding-right: 2px !important;
    padding-left: 2px !important;
}

.orders-route-container .orders-page-shell .pos-menu .nav-container,
.orders-route-container .orders-page-shell .pos-menu .nav-tabs,
.orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"] {
    margin-top: 0 !important;
    padding-top: 0 !important;
    height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.orders-route-container .orders-page-shell .pos-content {
    padding-left: 2px !important;
    padding-right: 6px !important;
}

.orders-route-container .orders-page-shell .pos-content .pos-content-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
    height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.orders-route-container .orders-page-shell .orders-items-grid,
.orders-route-container .orders-page-shell .row.gx-4.pt-2.orders-items-grid,
.orders-route-container .orders-page-shell .row.gx-4.orders-items-grid {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.orders-route-container .orders-page-shell .row.gx-4.pt-2.orders-items-grid {
    --bs-gutter-y: 0 !important;
    --bs-gutter-x: 0 !important;
}

.orders-route-container .orders-page-shell .pos-sidebar {
    flex: 0 0 430px !important;
    width: 430px !important;
    min-width: 430px !important;
    max-width: 430px !important;
}

.orders-route-container .orders-page-shell .pos-sidebar > .h-100 {
    height: 100% !important;
}

.orders-route-container .orders-page-shell .orders-sidebar-header {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: .35rem .75rem .45rem !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
}

.orders-route-container .orders-page-shell .orders-sidebar-header__line {
    color: rgba(255,255,255,.98) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.orders-route-container .orders-page-shell .pos-sidebar-body {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.orders-route-container .orders-page-shell .pos-sidebar-footer {
    flex-shrink: 0 !important;
}


/* ===== vNext UI polish / grid / review drawer / performance ===== */
:root {
    --orders-review-width: 500px !important;
}

/* TV-friendly focus / hover polish */
.orders-route-container .orders-page-shell .orders-category-link,
.orders-route-container .orders-page-shell .orders-item-card,
.orders-route-container .orders-page-shell .pos-order-product,
.orders-route-container .orders-page-shell .pos-sidebar-footer .btn {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, filter .18s ease !important;
}

.orders-route-container .orders-page-shell .orders-category-link:hover,
.orders-route-container .orders-page-shell .orders-category-link.nav-active,
.orders-route-container .orders-page-shell .orders-category-link:focus {
    transform: translateY(-2px) scale(1.01) !important;
    box-shadow: 0 14px 28px rgba(0,0,0,.28), inset 0 0 0 2px rgba(255,255,255,.20) !important;
    border-color: rgba(255,255,255,.42) !important;
}

.orders-route-container .orders-page-shell .orders-item-card:hover,
.orders-route-container .orders-page-shell .orders-item-card.nav-active,
.orders-route-container .orders-page-shell .orders-item-card:focus,
.orders-route-container .orders-page-shell .pos-product.orders-item-card.active {
    transform: translateY(-3px) scale(1.015) !important;
    box-shadow: 0 18px 30px rgba(0,0,0,.30), inset 0 0 0 2px rgba(255,255,255,.22) !important;
    border-color: rgba(255,255,255,.42) !important;
}

.orders-route-container .orders-page-shell .pos-sidebar-footer .btn:hover,
.orders-route-container .orders-page-shell .pos-sidebar-footer .btn.nav-active,
.orders-route-container .orders-page-shell .pos-sidebar-footer .btn:focus {
    transform: translateY(-1px) !important;
    box-shadow: 0 12px 22px rgba(0,0,0,.26), inset 0 0 0 2px rgba(255,255,255,.18) !important;
}

/* 3-column menu grid with better spacing and centering */
.orders-route-container .orders-page-shell .orders-items-grid,
.orders-route-container .orders-page-shell .row.gx-4.pt-2.orders-items-grid,
.orders-route-container .orders-page-shell .row.gx-4.orders-items-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(260px, 1fr)) !important;
    gap: 18px !important;
    align-content: start !important;
    align-items: start !important;
    justify-items: stretch !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.orders-route-container .orders-page-shell .orders-item-card,
.orders-route-container .orders-page-shell .pos-product.orders-item-card {
    min-height: 250px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

.orders-route-container .orders-page-shell .orders-item-card .img,
.orders-route-container .orders-page-shell .pos-product.orders-item-card .img {
    height: 185px !important;
    background-size: cover !important;
    background-position: center !important;
}

.orders-route-container .orders-page-shell .orders-item-card .info,
.orders-route-container .orders-page-shell .pos-product.orders-item-card .info {
    min-height: 64px !important;
    display: flex !important;
    align-items: center !important;
    padding: 10px 14px !important;
}

.orders-route-container .orders-page-shell .orders-item-card .info .fs-4,
.orders-route-container .orders-page-shell .pos-product.orders-item-card .info .fs-4 {
    margin: 0 !important;
    line-height: 1.2 !important;
}

/* tighten category/items gap and top alignment */
.orders-route-container .orders-page-shell .pos-container {
    gap: 6px !important;
}

.orders-route-container .orders-page-shell .pos-menu {
    padding-right: 0 !important;
}

.orders-route-container .orders-page-shell .pos-content {
    padding-left: 0 !important;
    padding-top: 5px !important;
}

/* review panel width 500px + drawer-like polish */
.orders-route-container .orders-page-shell .pos-sidebar {
    flex: 0 0 500px !important;
    width: 500px !important;
    min-width: 500px !important;
    max-width: 500px !important;
    border-left: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: -18px 0 32px rgba(0,0,0,.18) !important;
}

.orders-route-container .orders-page-shell .orders-sidebar-header {
    min-height: 52px !important;
    padding: .55rem .9rem .6rem !important;
    backdrop-filter: blur(10px);
}

.orders-route-container .orders-page-shell .pos-sidebar-body {
    padding-top: .35rem !important;
}

.orders-route-container .orders-page-shell .pos-order-product {
    border-radius: 14px !important;
    padding: 10px 12px !important;
    margin-bottom: 10px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,.015) 100%) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
}

.orders-route-container .orders-page-shell .pos-order-product .img {
    width: 78px !important;
    height: 78px !important;
}

.orders-route-container .orders-page-shell .pos-sidebar-footer {
    padding-top: 12px !important;
    backdrop-filter: blur(8px);
}

.orders-route-container .orders-page-shell .pos-sidebar-footer .btn {
    border-radius: 16px !important;
}

/* area-specific smooth scrolling */
.orders-route-container .orders-page-shell .pos-menu,
.orders-route-container .orders-page-shell .pos-content .pos-content-container,
.orders-route-container .orders-page-shell .pos-sidebar-body {
    scroll-behavior: smooth !important;
}

/* cleaner scrollbar appearance without always-showing harsh chrome */
.orders-route-container .orders-page-shell .pos-menu,
.orders-route-container .orders-page-shell .pos-content .pos-content-container,
.orders-route-container .orders-page-shell .pos-sidebar-body {
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.22) transparent;
}

.orders-route-container .orders-page-shell .pos-menu::-webkit-scrollbar,
.orders-route-container .orders-page-shell .pos-content .pos-content-container::-webkit-scrollbar,
.orders-route-container .orders-page-shell .pos-sidebar-body::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.orders-route-container .orders-page-shell .pos-menu::-webkit-scrollbar-thumb,
.orders-route-container .orders-page-shell .pos-content .pos-content-container::-webkit-scrollbar-thumb,
.orders-route-container .orders-page-shell .pos-sidebar-body::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.18);
    border-radius: 999px;
}

.orders-route-container .orders-page-shell .pos-menu::-webkit-scrollbar-track,
.orders-route-container .orders-page-shell .pos-content .pos-content-container::-webkit-scrollbar-track,
.orders-route-container .orders-page-shell .pos-sidebar-body::-webkit-scrollbar-track {
    background: transparent;
}

/* lightweight loading veil hook */
.orders-loading-overlay {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(12, 16, 24, .24);
    backdrop-filter: blur(2px);
    z-index: 20;
}

.orders-loading-overlay.is-visible {
    display: flex;
}

.orders-loading-overlay__spinner {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 4px solid rgba(255,255,255,.20);
    border-top-color: rgba(255,255,255,.92);
    animation: orders-spin .8s linear infinite;
}

@keyframes orders-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 1700px) {
    .orders-route-container .orders-page-shell .pos-sidebar {
        flex: 0 0 460px !important;
        width: 460px !important;
        min-width: 460px !important;
        max-width: 460px !important;
    }
}

@media (max-width: 1450px) {
    .orders-route-container .orders-page-shell .orders-items-grid,
    .orders-route-container .orders-page-shell .row.gx-4.pt-2.orders-items-grid,
    .orders-route-container .orders-page-shell .row.gx-4.orders-items-grid {
        grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
    }
}


/* ===== vNext TV navigation + review alignment ===== */

/* tighten category vs items gap */
.orders-route-container .orders-page-shell .pos-container {
    gap: 2px !important;
}

.orders-route-container .orders-page-shell .pos-menu {
    padding-right: 0 !important;
    margin-right: 0 !important;
}

.orders-route-container .orders-page-shell .pos-content {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* review panel width fixed 500 */
.orders-route-container .orders-page-shell .pos-sidebar {
    flex: 0 0 500px !important;
    width: 500px !important;
    min-width: 500px !important;
    max-width: 500px !important;
}

/* align delete button vertically with review item card */
.orders-route-container .orders-page-shell .pos-order {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 14px !important;
    margin-bottom: 10px !important;
}

.orders-route-container .orders-page-shell .pos-order-product {
    margin-bottom: 0 !important;
    padding: 8px 10px 8px 8px !important;
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 12px !important;
}

.orders-route-container .orders-page-shell .pos-order-product .flex-1 {
    min-width: 0 !important;
}

.orders-route-container .orders-page-shell .pos-order-product .fs-4 {
    margin: 0 !important;
    line-height: 1.22 !important;
}

.orders-route-container .orders-page-shell .pos-order-price {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.orders-route-container .orders-page-shell .pos-order-price .text-end {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    margin: 0 !important;
}

.orders-route-container .orders-page-shell .pos-order-price .btn {
    margin: 0 !important;
    align-self: center !important;
}

/* slightly reduce left padding feel in review item area */
.orders-route-container .orders-page-shell .pos-sidebar-body {
    padding-left: .6rem !important;
    padding-right: .9rem !important;
}

/* stronger TV focus ring */
.orders-route-container .orders-page-shell .focusable.nav-active,
.orders-route-container .orders-page-shell .focusable:focus {
    box-shadow: 0 0 0 3px rgba(255,255,255,.92), 0 14px 28px rgba(0,0,0,.35) !important;
}


/* ===== RTL layout support ===== */
body.rtl-active .index-main-layout,
html[dir="rtl"] .index-main-layout { direction: rtl; }
body.rtl-active .orders-route-container .orders-page-shell,
html[dir="rtl"] .orders-route-container .orders-page-shell { direction: rtl; }
body.rtl-active .orders-route-container .orders-page-shell .pos-menu,
html[dir="rtl"] .orders-route-container .orders-page-shell .pos-menu { order: 3; }
body.rtl-active .orders-route-container .orders-page-shell .pos-content,
html[dir="rtl"] .orders-route-container .orders-page-shell .pos-content { order: 2; }
body.rtl-active .orders-route-container .orders-page-shell .pos-sidebar,
html[dir="rtl"] .orders-route-container .orders-page-shell .pos-sidebar {
    order: 1;
    border-left: none !important;
    border-right: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 18px 0 32px rgba(0,0,0,.18) !important;
}
body.rtl-active .patient-info-card__header,
html[dir="rtl"] .patient-info-card__header,
body.rtl-active .pos-order-product,
html[dir="rtl"] .pos-order-product { direction: rtl; }
body.rtl-active .orders-category-link__text,
html[dir="rtl"] .orders-category-link__text,
body.rtl-active .patient-info-card__titles,
html[dir="rtl"] .patient-info-card__titles { text-align: right !important; }


/* ===== FINAL PROJECT OVERRIDE: top spacing + review width + rtl safe ===== */

/* Home route spacing restored */
.home-route-container,
.home-route-container #app,
.home-route-container .app,
.home-route-container .app-content-full-width,
.home-route-container .app-content,
.home-route-container .home-content-host {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.home-route-container .app-header {
    margin-bottom: 0 !important;
}

.home-route-container .home-content-host {
    padding-top: 5px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    padding-bottom: 6px !important;
}

.home-route-container .index-main-layout,
.home-route-container .home-panel-left-column,
.home-route-container .home-panel-right-column,
.home-route-container .home-meal-panel,
.home-route-container .home-patient-card {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Orders route spacing restored */
.orders-route-container,
.orders-route-container #app,
.orders-route-container .app,
.orders-route-container .app-content-full-width,
.orders-route-container .app-content,
.orders-route-container .orders-content-host,
.orders-route-container .orders-page-shell,
.orders-route-container .orders-page-shell .pos,
.orders-route-container .orders-page-shell .pos-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.orders-route-container .orders-content-host,
.orders-route-container .app-content {
    padding-top: 5px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-bottom: 8px !important;
}

.orders-route-container .orders-page-shell .pos-container {
    align-items: flex-start !important;
    gap: 2px !important;
}

.orders-route-container .orders-page-shell .pos-menu {
    padding-top: 5px !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
}

.orders-route-container .orders-page-shell .pos-content {
    padding-top: 5px !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.orders-route-container .orders-page-shell .pos-sidebar {
    padding-top: 5px !important;
}

/* Lock review width at 500px */
.orders-route-container .orders-page-shell .pos-sidebar {
    flex: 0 0 500px !important;
    width: 500px !important;
    min-width: 500px !important;
    max-width: 500px !important;
}

/* Override any later or responsive sidebar shrink rules */
@media (min-width: 0px) {
    .orders-route-container .orders-page-shell .pos-sidebar {
        flex: 0 0 500px !important;
        width: 500px !important;
        min-width: 500px !important;
        max-width: 500px !important;
    }
}

/* Keep review item rows tight */
.orders-route-container .orders-page-shell .pos-sidebar-body {
    padding-left: .45rem !important;
    padding-right: .75rem !important;
}

.orders-route-container .orders-page-shell .pos-order {
    margin-bottom: 8px !important;
}

.orders-route-container .orders-page-shell .pos-order-product {
    padding: 6px 8px 6px 6px !important;
}

/* RTL direction without reintroducing layout spacing */
.rtl {
    direction: rtl !important;
    text-align: right;
}

.ltr {
    direction: ltr !important;
    text-align: left;
}

.rtl .pos-container {
    flex-direction: row-reverse !important;
}

.rtl .pos-menu { order: 3 !important; }
.rtl .pos-content { order: 2 !important; }
.rtl .pos-sidebar { order: 1 !important; }

.rtl .patient-info-card,
.rtl .home-meal-panel .card,
.rtl .orders-item-card,
.rtl .pos-order-product {
    text-align: right !important;
}


/* ===== ENTERPRISE TV NAVIGATION SYSTEM: final baseline override ===== */
.orders-route-container .orders-page-shell {
    --tv-focus-ring: 0 0 0 3px rgba(255,255,255,.96), 0 0 0 7px rgba(60,185,255,.38), 0 18px 34px rgba(0,0,0,.34);
}

.orders-route-container .orders-page-shell .pos-container {
    gap: 8px !important;
}

.orders-route-container .orders-page-shell .pos-menu,
.orders-route-container .orders-page-shell .pos-content .pos-content-container,
.orders-route-container .orders-page-shell .pos-sidebar-body {
    scroll-behavior: smooth;
}

.orders-route-container .orders-page-shell .orders-category-link,
.orders-route-container .orders-page-shell .orders-item-card,
.orders-route-container .orders-page-shell .pos-order,
.orders-route-container .orders-page-shell .pos-sidebar-footer .btn,
.orders-route-container .modal .btn.focusable {
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, opacity .16s ease !important;
}

.orders-route-container .orders-page-shell .focusable.nav-active,
.orders-route-container .orders-page-shell .focusable:focus,
.orders-route-container .orders-page-shell .pos-order:has(.focusable.nav-active),
.orders-route-container .orders-page-shell .pos-order:has(.focusable:focus) {
    box-shadow: var(--tv-focus-ring) !important;
    transform: translateY(-1px) scale(1.01);
}

.orders-route-container .orders-page-shell .orders-category-link.tv-zone-selected {
    border-color: rgba(255,255,255,.28) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 12px 24px rgba(0,0,0,.18) !important;
}

.orders-route-container .orders-page-shell .orders-item-card {
    min-height: 296px !important;
    position: relative;
    overflow: hidden;
}

.orders-route-container .orders-page-shell .orders-item-card__media {
    position: relative;
}

.orders-route-container .orders-page-shell .orders-item-card__qty-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, rgba(38,198,218,.95), rgba(0,118,255,.92));
    box-shadow: 0 10px 22px rgba(0,0,0,.28);
    z-index: 3;
}

.orders-route-container .orders-page-shell .orders-item-card__selected-mark {
    position: absolute;
    left: 14px;
    top: 14px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(18,168,96,.95);
    box-shadow: 0 10px 24px rgba(18,168,96,.35);
    z-index: 3;
}

.orders-route-container .orders-page-shell .tv-item-selected {
    border-color: rgba(90,255,186,.34) !important;
    box-shadow: inset 0 0 0 1px rgba(90,255,186,.22), 0 12px 28px rgba(0,0,0,.22) !important;
    animation: tv-item-glow 1.45s ease-in-out infinite alternate;
}

.orders-route-container .orders-page-shell .tv-item-restricted {
    cursor: pointer !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

.orders-route-container .orders-page-shell .tv-item-restricted .img,
.orders-route-container .orders-page-shell .tv-item-restricted .orders-item-card__media,
.orders-route-container .orders-page-shell .tv-item-restricted .orders-item-card__media img {
    opacity: 1 !important;
    filter: none !important;
}

.orders-route-container .orders-page-shell .tv-item-restricted .info,
.orders-route-container .orders-page-shell .tv-item-restricted .orders-item-card__hint {
    opacity: .82 !important;
}

.orders-route-container .orders-page-shell .orders-item-card__hint {
    margin-top: 8px;
    font-size: .92rem;
    line-height: 1.2;
    color: rgba(255,255,255,.68);
}

.orders-route-container .orders-page-shell .pos-sidebar {
    flex: 0 0 500px !important;
    width: 500px !important;
    min-width: 500px !important;
    max-width: 500px !important;
}

.orders-route-container .orders-page-shell .pos-sidebar-body {
    padding: .7rem .95rem .25rem .7rem !important;
}

.orders-route-container .orders-page-shell .pos-order {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 12px !important;
    margin-bottom: 10px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.035) !important;
    padding: 8px 10px !important;
}

.orders-route-container .orders-page-shell .pos-order-product {
    display: grid !important;
    grid-template-columns: 74px minmax(0,1fr) !important;
    column-gap: 12px !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.orders-route-container .orders-page-shell .orders-review-row__meta {
    margin-top: 6px;
    font-size: .94rem;
    color: rgba(255,255,255,.72);
}

.orders-route-container .orders-page-shell .pos-order-price,
.orders-route-container .orders-page-shell .pos-order-price .text-end {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    height: 100% !important;
}

.orders-route-container .orders-page-shell .orders-review-delete-btn {
    min-width: 124px;
    border-radius: 14px !important;
}

.orders-route-container .orders-page-shell .pos-sidebar-footer .btn,
.orders-route-container .modal .btn.focusable {
    border-radius: 16px !important;
}

@keyframes tv-item-glow {
    from { box-shadow: inset 0 0 0 1px rgba(90,255,186,.20), 0 10px 22px rgba(0,0,0,.18); }
    to { box-shadow: inset 0 0 0 1px rgba(90,255,186,.34), 0 0 0 2px rgba(90,255,186,.12), 0 16px 30px rgba(0,0,0,.24); }
}

html[dir="rtl"] .orders-route-container .orders-page-shell .orders-item-card__qty-badge,
body.rtl-active .orders-route-container .orders-page-shell .orders-item-card__qty-badge {
    right: auto;
    left: 14px;
}

html[dir="rtl"] .orders-route-container .orders-page-shell .orders-item-card__selected-mark,
body.rtl-active .orders-route-container .orders-page-shell .orders-item-card__selected-mark {
    left: auto;
    right: 14px;
}

.patient-identity-grid .patient-info-card--identity {
    min-height: 132px !important;
    padding: 1rem 1rem .95rem;
}
.patient-info-card--identity .patient-info-card__title {
    margin-bottom: .2rem;
    color: rgba(255,255,255,.8) !important;
}
.patient-info-card--identity .patient-info-card__value {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
}
.patient-info-card--guest-order .patient-info-card__action {
    margin-top: auto;
}
.home-guest-order-modal {
    background: rgba(11,17,30,.96);
    border: 1px solid var(--mlp-surface-border);
    border-radius: 1.25rem;
    box-shadow: var(--mlp-shadow-soft);
}
.home-guest-order-modal__guest-name {
    font-size: 1rem;
    font-weight: 700;
    color: rgba(255,255,255,.82);
    margin-bottom: .65rem;
}
.orders-main-header__guest {
    color: rgba(255,255,255,.86);
    font-weight: 600;
}
body.rtl-active .home-guest-order-modal__guest-name,
html[dir="rtl"] .home-guest-order-modal__guest-name {
    text-align: right;
}

/* ===== ENTERPRISE PROMPTS / MODALS ===== */
.modal.modal-pos {
    backdrop-filter: blur(8px);
}

.modal.modal-pos .modal-dialog {
    max-width: min(980px, calc(100vw - 64px)) !important;
}

.modal.modal-pos .modal-content {
    background: linear-gradient(145deg, rgba(15, 22, 38, .98) 0%, rgba(21, 31, 52, .98) 100%) !important;
    border: 1px solid rgba(103, 154, 255, .28) !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    box-shadow: 0 30px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.modal.modal-pos .modal-pos-product {
    min-height: 430px;
    background:
        radial-gradient(circle at top right, rgba(68, 116, 255, .14), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.01) 100%);
}

.modal.modal-pos .modal-pos-product .modal-pos-product-img {
    background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
    border-inline-end: 1px solid rgba(255,255,255,.06);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.modal.modal-pos .modal-pos-product .modal-pos-product-img .img {
    width: 220px !important;
    height: 220px !important;
    border-radius: 28px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    box-shadow: 0 20px 44px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.05);
}

.modal.modal-pos .modal-pos-product .modal-pos-product-info,
.modal.modal-pos .modal-pos-product > .card-body {
    padding: 34px 38px !important;
}

.modal.modal-pos h1,
.modal.modal-pos h2,
.modal.modal-pos h3,
.modal.modal-pos h4 {
    letter-spacing: -.02em;
}

.modal.modal-pos .btn.btn-default,
.modal.modal-pos .btn.btn-theme {
    min-height: 72px;
    border-radius: 20px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 12px 24px rgba(0,0,0,.18);
}

.modal.modal-pos .btn.btn-default {
    background: linear-gradient(180deg, rgba(106, 134, 188, .82), rgba(80, 103, 152, .82)) !important;
    color: #fff !important;
}

.modal.modal-pos .btn.btn-theme {
    background: linear-gradient(180deg, rgba(49, 111, 245, .98), rgba(38, 95, 217, .98)) !important;
}

.modal.modal-pos .btn:hover,
.modal.modal-pos .btn.nav-active,
.modal.modal-pos .btn:focus {
    transform: translateY(-1px);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.16), 0 18px 32px rgba(0,0,0,.24) !important;
}

.modal.modal-pos .info,
.modal.modal-pos .fs-4,
.modal.modal-pos .text-white.text-opacity-75 {
    color: rgba(255,255,255,.88) !important;
}




/* ===== MODAL CONTENT WRAP FIXES ===== */
.modal.modal-pos .modal-pos-product {
    display: flex;
    align-items: stretch;
}

.modal.modal-pos .modal-pos-product .modal-pos-product-info,
.modal.modal-pos .modal-pos-product > .card-body {
    flex: 1 1 auto;
    min-width: 0;
}

.modal.modal-pos .pos-order {
    width: 100%;
}

.modal.modal-pos .pos-order-product {
    display: block !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
}

.modal.modal-pos .pos-order-product .flex-1 {
    min-width: 0 !important;
    width: 100% !important;
}

.modal.modal-pos .pos-order-product .h3,
.modal.modal-pos .pos-order-product .fs-4,
.modal.modal-pos .modal-pos-product-info .info h2,
.modal.modal-pos .modal-pos-product-info h1,
.modal.modal-pos .modal-pos-product-info h2,
.modal.modal-pos .modal-pos-product-info h3 {
    display: block;
    width: 100%;
    max-width: none;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere;
}

.modal.modal-pos .modal-pos-product-info .row {
    --bs-gutter-x: 1.25rem;
}

.modal.modal-pos .modal-pos-product-info .row > .col,
.modal.modal-pos .modal-pos-product-info .row > [class*="col-"] {
    min-width: 0;
}

.modal.modal-pos .modal-pos-product-info .info {
    max-width: 100%;
}

/* ===== ADMIN / LANGUAGE SETTINGS ===== */
.lang-settings-page {
    background: linear-gradient(145deg, rgba(15, 22, 38, .96) 0%, rgba(21, 31, 52, .96) 100%) !important;
    border: 1px solid rgba(103, 154, 255, .22) !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 60px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.lang-settings-page .form-label,
.lang-settings-page th,
.lang-settings-page td {
    color: #e8eefc;
}

.lang-settings-table-wrap {
    max-height: calc(100vh - 220px);
    overflow: auto !important;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: rgba(103,154,255,.55) rgba(255,255,255,.06);
}

.lang-settings-table-wrap::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

.lang-settings-table-wrap::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(103,154,255,.8), rgba(57,111,231,.8));
    border-radius: 999px;
    border: 2px solid rgba(16,23,37,.9);
}

.lang-settings-table-wrap::-webkit-scrollbar-track {
    background: rgba(255,255,255,.06);
    border-radius: 999px;
}

/* ===== ENTERPRISE PROMPTS / MODALS TUNING ===== */
.modal.modal-pos .modal-pos-product .modal-pos-product-img {
    flex: 0 0 200px;
    max-width: 200px;
    padding: 18px;
}

.modal.modal-pos .modal-pos-product .modal-pos-product-img .img {
    width: 150px !important;
    height: 150px !important;
    border-radius: 22px !important;
}

.modal.modal-pos .modal-pos-product .modal-pos-product-info,
.modal.modal-pos .modal-pos-product > .card-body {
    padding: 34px 38px !important;
}

@media (max-width: 991.98px) {
    .modal.modal-pos .modal-pos-product .modal-pos-product-img {
        flex-basis: 160px;
        max-width: 160px;
        padding: 14px;
    }

    .modal.modal-pos .modal-pos-product .modal-pos-product-img .img {
        width: 116px !important;
        height: 116px !important;
    }
}


/* Keep unavailable menu item images fully visible without a dark overlay */
.orders-route-container .orders-page-shell .orders-item-card.tv-item-restricted::before,
.orders-route-container .orders-page-shell .orders-item-card.tv-item-restricted::after,
.orders-route-container .orders-page-shell .orders-item-card.tv-item-restricted .img::before,
.orders-route-container .orders-page-shell .orders-item-card.tv-item-restricted .img::after {
    display: none !important;
    content: none !important;
}


/* ===== QUANTITY POPUP ONLY: true 50/50 image-content split ===== */
.modal.modal-pos.modal-pos-qty .modal-dialog.modal-dialog-qty {
    max-width: 1100px;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty {
    display: grid;
    grid-template-columns: 50% 50%;
    align-items: stretch;
    min-height: 460px;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-img {
    flex: unset;
    max-width: none;
    width: 100%;
    padding: 24px;
    border-inline-end: 1px solid rgba(255,255,255,.06);
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-img .img {
    width: 100% !important;
    height: 100% !important;
    min-height: 340px;
    border-radius: 24px !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info {
    padding: 34px 38px !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

@media (max-width: 991.98px) {
    .modal.modal-pos.modal-pos-qty .modal-dialog.modal-dialog-qty {
        max-width: min(94vw, 760px);
    }

    .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty {
        grid-template-columns: 1fr;
    }

    .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-img {
        border-inline-end: 0;
        border-bottom: 1px solid rgba(255,255,255,.06);
        padding: 20px 20px 12px;
    }

    .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-img .img {
        min-height: 220px;
    }
}


/* ===== QUANTITY POPUP BUTTON LAYOUT TUNING ===== */
.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 {
    --bs-gutter-x: 18px;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    margin-top: 6px;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 > [class*="col-"] {
    min-width: 0;
    display: flex;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 > .col-4 {
    flex: 0 0 34%;
    max-width: 34%;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 > .col-8 {
    flex: 0 0 66%;
    max-width: 66%;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 .btn {
    width: 100% !important;
    min-width: 0;
    white-space: nowrap;
    padding-inline: 18px;
}

@media (max-width: 991.98px) {
    .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 {
        flex-wrap: wrap;
    }

    .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 > .col-4,
    .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 > .col-8 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* ===== QUANTITY POPUP CSS CLASH HARD FIX ===== */
.modal.modal-pos.modal-pos-qty .modal-dialog.modal-dialog-qty {
    width: min(1100px, 92vw) !important;
    max-width: 1100px !important;
}

.modal.modal-pos.modal-pos-qty .modal-content,
.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty {
    width: 100% !important;
    max-width: 100% !important;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: stretch !important;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-img,
.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info {
    align-items: stretch !important;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .fs-4,
.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .d-flex,
.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info hr {
    width: 100% !important;
    max-width: 100% !important;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 {
    display: grid !important;
    grid-template-columns: minmax(150px, 34%) minmax(0, 1fr) !important;
    gap: 18px !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 > .col-4,
.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 > .col-8 {
    flex: initial !important;
}

.modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
}

@media (max-width: 991.98px) {
    .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 {
        grid-template-columns: 1fr !important;
    }
}


/* Category rail: vertical-only scrolling for TV navigation */
.orders-route-container .orders-page-shell .pos-menu,
.orders-page-shell .pos-menu,
.orders-page-shell [data-nav-scope="orders-categories"] {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior-x: none !important;
    scrollbar-gutter: stable both-edges;
    scroll-behavior: smooth;
}

.orders-page-shell [data-nav-scope="orders-categories"] {
    width: 100% !important;
    max-width: 100% !important;
}

.orders-route-container .orders-page-shell .orders-category-link,
.orders-route-container .orders-page-shell .orders-category-link:hover,
.orders-route-container .orders-page-shell .orders-category-link.nav-active,
.orders-route-container .orders-page-shell .orders-category-link:focus,
.orders-page-shell .orders-category-link,
.orders-page-shell .orders-category-link:hover,
.orders-page-shell .orders-category-link.nav-active,
.orders-page-shell .orders-category-link:focus {
    transform: translateY(0) !important;
}

/* =========================================================
   GLOBAL UI STABILIZATION PASS
   Final high-specificity overrides for TV / 10ft UI
   ========================================================= */

:root {
    --ml-stable-popup-max-width: min(980px, calc(100vw - 64px));
    --ml-stable-popup-gap: 22px;
    --ml-stable-popup-image-width: 180px;
    --ml-stable-popup-radius: 26px;
    --ml-stable-action-gap: 14px;
}

/* ----- popup shell normalization ----- */
body .modal.modal-pos .modal-dialog {
    width: min(100%, var(--ml-stable-popup-max-width)) !important;
    max-width: var(--ml-stable-popup-max-width) !important;
}

body .modal.modal-pos .modal-content {
    border-radius: var(--ml-stable-popup-radius) !important;
}

body .modal.modal-pos .modal-pos-product {
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

body .modal.modal-pos .modal-pos-product .modal-pos-product-img {
    flex: 0 0 var(--ml-stable-popup-image-width) !important;
    width: var(--ml-stable-popup-image-width) !important;
    min-width: var(--ml-stable-popup-image-width) !important;
    max-width: var(--ml-stable-popup-image-width) !important;
    padding: 18px !important;
    box-sizing: border-box !important;
}

body .modal.modal-pos .modal-pos-product .modal-pos-product-img .img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    max-width: 144px !important;
    max-height: 144px !important;
    margin: 0 auto !important;
}

body .modal.modal-pos .modal-pos-product .modal-pos-product-info,
body .modal.modal-pos .modal-pos-product > .card-body,
body .modal.modal-pos .modal-body {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* ----- popup text wrapping normalization ----- */
body .modal.modal-pos .modal-pos-product .modal-pos-product-info *,
body .modal.modal-pos .modal-pos-product > .card-body * {
    min-width: 0;
}

body .modal.modal-pos .modal-pos-product .modal-pos-product-info h1,
body .modal.modal-pos .modal-pos-product .modal-pos-product-info h2,
body .modal.modal-pos .modal-pos-product .modal-pos-product-info h3,
body .modal.modal-pos .modal-pos-product .modal-pos-product-info h4,
body .modal.modal-pos .modal-pos-product .modal-pos-product-info .h1,
body .modal.modal-pos .modal-pos-product .modal-pos-product-info .h2,
body .modal.modal-pos .modal-pos-product .modal-pos-product-info .h3,
body .modal.modal-pos .modal-pos-product .modal-pos-product-info .h4,
body .modal.modal-pos .modal-pos-product .modal-pos-product-info .fs-4,
body .modal.modal-pos .modal-pos-product .modal-pos-product-info .info,
body .modal.modal-pos .modal-pos-product .modal-pos-product-info p,
body .modal.modal-pos .modal-pos-product .modal-pos-product-info span,
body .modal.modal-pos .modal-pos-product .modal-pos-product-info div {
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

body .modal.modal-pos .pos-order,
body .modal.modal-pos .pos-order-product,
body .modal.modal-pos .pos-order-product .flex-1,
body .modal.modal-pos .pos-order-product .flex-1 > * {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

body .modal.modal-pos .pos-order-product {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

body .modal.modal-pos .pos-order-product .h3,
body .modal.modal-pos .pos-order-product .fs-4,
body .modal.modal-pos .pos-order-product .small,
body .modal.modal-pos .pos-order-product .text-white,
body .modal.modal-pos .pos-order-product .text-white.text-opacity-50,
body .modal.modal-pos .pos-order-product .text-white.text-opacity-75 {
    width: 100% !important;
    max-width: none !important;
    white-space: normal !important;
}

/* ----- popup actions normalization ----- */
body .modal.modal-pos .modal-footer,
body .modal.modal-pos .modal-pos-product .row.g-3,
body .modal.modal-pos .modal-pos-product .d-flex.gap-2,
body .modal.modal-pos .modal-pos-product .d-flex.gap-3,
body .modal.modal-pos .modal-pos-product .d-grid,
body .modal.modal-pos .modal-pos-product .d-md-flex {
    width: 100% !important;
    max-width: none !important;
}

body .modal.modal-pos .modal-pos-product .row.g-3 {
    --bs-gutter-x: var(--ml-stable-action-gap) !important;
    --bs-gutter-y: var(--ml-stable-action-gap) !important;
}

body .modal.modal-pos .modal-pos-product .row.g-3 > [class*='col-'],
body .modal.modal-pos .modal-pos-product .row.g-3 > .col,
body .modal.modal-pos .modal-footer > *,
body .modal.modal-pos .modal-pos-product .d-md-flex > *,
body .modal.modal-pos .modal-pos-product .d-flex.gap-2 > *,
body .modal.modal-pos .modal-pos-product .d-flex.gap-3 > * {
    min-width: 0 !important;
}

body .modal.modal-pos .modal-pos-product .btn,
body .modal.modal-pos .modal-footer .btn {
    white-space: nowrap !important;
}

/* ----- quantity popup remains 50/50 and stable ----- */
body .modal.modal-pos.modal-pos-qty .modal-dialog.modal-dialog-qty {
    max-width: 1100px !important;
}

body .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty {
    display: grid !important;
    grid-template-columns: 50% 50% !important;
    min-height: 480px !important;
}

body .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-img,
body .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

body .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-img {
    padding: 22px !important;
    border-inline-end: 1px solid rgba(255,255,255,.06) !important;
}

body .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-img .img {
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    height: 100% !important;
    aspect-ratio: auto;
}

body .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

body .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
}

body .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 > .col-4 {
    flex: 0 0 38% !important;
    width: 38% !important;
    max-width: 38% !important;
}

body .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 > .col-8 {
    flex: 0 0 62% !important;
    width: 62% !important;
    max-width: 62% !important;
}

body .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty .modal-pos-product-info .row.g-3 .btn {
    width: 100% !important;
}

/* ----- category rail stability ----- */
body .orders-route-container .orders-page-shell .pos-menu,
body .menu-category-rail,
body .menu-category-container,
body .category-rail {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 14px 12px !important;
    box-sizing: border-box !important;
    scrollbar-gutter: stable !important;
}

body .orders-route-container .orders-page-shell .pos-menu > *,
body .menu-category-list {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

body .orders-route-container .orders-page-shell .pos-menu .nav-item,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item,
body .menu-category-item {
    margin-bottom: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    transform-origin: center center !important;
}

body .orders-route-container .orders-page-shell .pos-menu .nav-item:focus-visible,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible,
body .menu-category-item:focus-visible {
    transform: scale(1.02) !important;
    outline-offset: -3px !important;
}

/* ----- scrollbars visible but soft ----- */
body .orders-route-container .orders-page-shell .pos-menu,
body .orders-route-container .orders-page-shell .pos-content .pos-content-container,
body .orders-route-container .orders-page-shell .pos-sidebar-body,
body .lang-settings-table-wrap {
    scrollbar-width: thin !important;
    scrollbar-color: rgba(255,255,255,.22) transparent !important;
}

body .orders-route-container .orders-page-shell .pos-menu::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-content .pos-content-container::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-sidebar-body::-webkit-scrollbar,
body .lang-settings-table-wrap::-webkit-scrollbar {
    width: 10px !important;
    height: 10px !important;
    display: block !important;
}

body .orders-route-container .orders-page-shell .pos-menu::-webkit-scrollbar-thumb,
body .orders-route-container .orders-page-shell .pos-content .pos-content-container::-webkit-scrollbar-thumb,
body .orders-route-container .orders-page-shell .pos-sidebar-body::-webkit-scrollbar-thumb,
body .lang-settings-table-wrap::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.18) !important;
    border-radius: 999px !important;
    border: 2px solid transparent !important;
    background-clip: padding-box !important;
}

body .orders-route-container .orders-page-shell .pos-menu::-webkit-scrollbar-track,
body .orders-route-container .orders-page-shell .pos-content .pos-content-container::-webkit-scrollbar-track,
body .orders-route-container .orders-page-shell .pos-sidebar-body::-webkit-scrollbar-track,
body .lang-settings-table-wrap::-webkit-scrollbar-track {
    background: transparent !important;
}

/* ----- card/image overflow guards ----- */
body .orders-route-container .orders-page-shell .orders-item-card,
body .orders-route-container .orders-page-shell .orders-review-card,
body .orders-route-container .orders-page-shell .patient-info-card,
body .orders-route-container .orders-page-shell .meal-period-card {
    overflow: hidden !important;
}

body .orders-route-container .orders-page-shell .orders-item-card .img,
body .orders-route-container .orders-page-shell .meal-period-card .img,
body .orders-route-container .orders-page-shell .patient-info-card .img {
    max-width: 100% !important;
}

/* ----- TV-safe focus consistency ----- */
body .focusable:focus-visible,
body button:focus-visible,
body a:focus-visible,
body [tabindex]:focus-visible {
    outline: 3px solid rgba(132, 204, 255, .72) !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .25), 0 16px 28px rgba(0,0,0,.22) !important;
}

@media (max-width: 991.98px) {
    body .modal.modal-pos .modal-pos-product {
        flex-direction: column !important;
    }

    body .modal.modal-pos .modal-pos-product .modal-pos-product-img {
        flex: 0 0 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        border-inline-end: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.06) !important;
    }

    body .modal.modal-pos.modal-pos-qty .modal-pos-product.modal-pos-product--qty {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }
}


/* ===== MENU CATEGORY WIDTH + INDICATOR FINAL ===== */

.menu-category-rail,
.menu-category-container,
.category-rail {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    position: relative;
}

/* hide scrollbar */
.menu-category-rail::-webkit-scrollbar { width: 0px; }
.menu-category-rail { scrollbar-width: none; }

/* vertical indicator background */
.menu-category-rail::after {
    content: '';
    position: absolute;
    right: 2px;
    top: 0;
    width: 4px;
    height: 100%;
    background: rgba(255,255,255,0.08);
    border-radius: 10px;
    pointer-events: none;
}

/* moving indicator */
.menu-scroll-indicator {
    position: absolute;
    right: 2px;
    width: 4px;
    height: 40px;
    background: rgba(255,255,255,0.35);
    border-radius: 10px;
    transition: top 0.2s ease;
    pointer-events: none;
}


/* =========================================================
   FINAL MENU CATEGORY RAIL LOCKDOWN + TV UX
   ========================================================= */
.orders-page-shell {
    --orders-menu-width: 200px !important;
    --orders-category-width: 150px !important;
}

.orders-page-shell .pos-menu {
    flex: 0 0 200px !important;
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    padding: 12px 10px 12px 12px !important;
    overflow: hidden !important;
}

.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
.orders-page-shell .pos-menu [data-nav-scope="orders-categories"] {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding-right: 12px !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
}

.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::-webkit-scrollbar,
.orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::-webkit-scrollbar,
.orders-page-shell .pos-menu::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

.orders-page-shell .pos-menu,
.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
.orders-page-shell .pos-menu [data-nav-scope="orders-categories"] {
    scrollbar-width: none !important;
}

.orders-page-shell .pos-menu .nav,
.orders-page-shell .pos-menu .nav-tabs {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-wrap: nowrap !important;
}

.orders-page-shell .pos-menu .nav-item {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.orders-page-shell .orders-category-link,
.orders-page-shell .pos-menu .nav-link.orders-category-link {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    transform: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, filter .18s ease !important;
}

.orders-page-shell .orders-category-link__text {
    max-width: 100% !important;
}

.orders-page-shell .orders-category-link:hover,
.orders-page-shell .orders-category-link.active,
.orders-page-shell .orders-category-link.nav-active,
.orders-page-shell .orders-category-link:focus-visible {
    transform: none !important;
    border-color: rgba(119, 201, 255, .92) !important;
    box-shadow:
        0 0 0 1px rgba(119, 201, 255, .38),
        0 0 18px rgba(59, 130, 246, .24),
        0 0 32px rgba(59, 130, 246, .14),
        inset 0 0 0 2px rgba(219, 244, 255, .24) !important;
    filter: brightness(1.04) !important;
}

.orders-page-shell .orders-category-link.nav-active::after,
.orders-page-shell .orders-category-link.active::after,
.orders-page-shell .orders-category-link:focus-visible::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
}

.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::before,
.orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::before {
    content: '';
    position: absolute;
    top: 8px;
    right: 3px;
    bottom: 8px;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
    pointer-events: none;
    opacity: .95;
}

.orders-page-shell .menu-scroll-indicator {
    position: absolute;
    right: 3px;
    width: 4px;
    min-height: 36px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(190,235,255,.95), rgba(88,171,255,.92));
    box-shadow: 0 0 10px rgba(88,171,255,.38);
    pointer-events: none;
    transition: top .18s ease, height .18s ease, opacity .18s ease;
    z-index: 3;
}


/* ===== FINAL MENU CATEGORY WIDTH / RAIL CONFLICT CLEANUP ===== */
:root {
    --orders-category-card-width-final: 200px;
    --orders-category-rail-width-final: 250px;
}

.orders-route-container .orders-page-shell .pos-menu,
.orders-page-shell .pos-menu,
.orders-page-shell .pos-container > .pos-menu,
.orders-page-shell .pos-with-menu > .pos-menu,
.orders-page-shell .pos-with-sidebar > .pos-menu {
    width: var(--orders-category-rail-width-final) !important;
    min-width: var(--orders-category-rail-width-final) !important;
    max-width: var(--orders-category-rail-width-final) !important;
    flex: 0 0 var(--orders-category-rail-width-final) !important;
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding-right: 0 !important;
}

.orders-route-container .orders-page-shell .pos-menu .nav-container,
.orders-route-container .orders-page-shell .pos-menu .nav,
.orders-route-container .orders-page-shell .pos-menu .nav-tabs,
.orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
.orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"],
.orders-page-shell .pos-menu .nav-container,
.orders-page-shell .pos-menu .nav,
.orders-page-shell .pos-menu .nav-tabs,
.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
.orders-page-shell .pos-menu [data-nav-scope="orders-categories"] {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
.orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"],
.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
.orders-page-shell .pos-menu [data-nav-scope="orders-categories"] {
    position: relative !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding: 8px 18px 8px 10px !important;
    scroll-behavior: smooth !important;
}

.orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::-webkit-scrollbar,
.orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::-webkit-scrollbar,
.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::-webkit-scrollbar,
.orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::-webkit-scrollbar,
.orders-page-shell .pos-menu::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

.orders-page-shell .pos-menu .nav,
.orders-page-shell .pos-menu .nav-tabs {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
}

.orders-page-shell .pos-menu .nav-item,
.orders-page-shell .pos-menu .nav-tabs .nav-item {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.orders-page-shell .orders-category-link,
.orders-page-shell .pos-menu .nav-link.orders-category-link,
.orders-page-shell .pos-menu .nav-item > .orders-category-link {
    width: var(--orders-category-card-width-final) !important;
    min-width: var(--orders-category-card-width-final) !important;
    max-width: var(--orders-category-card-width-final) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
}

.orders-page-shell .orders-category-link__text {
    width: 100% !important;
    max-width: 100% !important;
}

.orders-page-shell .orders-category-link:hover,
.orders-page-shell .orders-category-link.active,
.orders-page-shell .orders-category-link.nav-active,
.orders-page-shell .orders-category-link:focus-visible {
    transform: none !important;
}

/* remove scrollbar-style thumb; replace with top/bottom visibility cues */
.orders-page-shell .menu-scroll-indicator,
.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::before,
.orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::before {
    display: none !important;
}

.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::after,
.orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::after {
    content: none !important;
}

.orders-page-shell .orders-category-scroll-cue {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 44px;
    height: 18px;
    opacity: 0;
    pointer-events: none;
    z-index: 5;
    transition: opacity .18s ease, transform .18s ease;
}

.orders-page-shell .orders-category-scroll-cue--top {
    top: 6px;
}

.orders-page-shell .orders-category-scroll-cue--bottom {
    bottom: 6px;
}

.orders-page-shell .orders-category-scroll-cue::before,
.orders-page-shell .orders-category-scroll-cue::after {
    content: '';
    position: absolute;
    left: 50%;
    width: 14px;
    height: 3px;
    border-radius: 999px;
    background: rgba(186, 230, 253, .88);
    box-shadow: 0 0 10px rgba(59,130,246,.35);
}

.orders-page-shell .orders-category-scroll-cue--top::before {
    transform: translateX(-11px) rotate(35deg);
    top: 8px;
}
.orders-page-shell .orders-category-scroll-cue--top::after {
    transform: translateX(-3px) rotate(-35deg);
    top: 8px;
}
.orders-page-shell .orders-category-scroll-cue--bottom::before {
    transform: translateX(-11px) rotate(-35deg);
    top: 8px;
}
.orders-page-shell .orders-category-scroll-cue--bottom::after {
    transform: translateX(-3px) rotate(35deg);
    top: 8px;
}

.orders-page-shell .pos-menu [data-nav-scope="orders-categories"].can-scroll-up .orders-category-scroll-cue--top,
.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"].can-scroll-up .orders-category-scroll-cue--top {
    opacity: .95;
}

.orders-page-shell .pos-menu [data-nav-scope="orders-categories"].can-scroll-down .orders-category-scroll-cue--bottom,
.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"].can-scroll-down .orders-category-scroll-cue--bottom {
    opacity: .95;
}

/* subtle rail glow when category area is focused */
.orders-page-shell .pos-menu [data-nav-scope="orders-categories"].rail-focused,
.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"].rail-focused {
    box-shadow: inset 0 0 0 1px rgba(125,211,252,.14), inset 0 0 18px rgba(59,130,246,.08) !important;
}


/* =========================================================
   FINAL MENU CATEGORY 250 / 350 HARD LOCK
   No native scrollbar, only top/bottom visibility cues
   ========================================================= */
:root {
    --orders-category-card-width-final: 250px;
    --orders-category-rail-width-final: 350px;
}

.orders-route-container .orders-page-shell .pos-container,
.orders-page-shell .pos-container {
    column-gap: 18px !important;
}

.orders-route-container .orders-page-shell .pos-menu,
.orders-page-shell .pos-menu,
.orders-page-shell .pos-container > .pos-menu,
.orders-page-shell .pos-with-menu > .pos-menu,
.orders-page-shell .pos-with-sidebar > .pos-menu {
    width: var(--orders-category-rail-width-final) !important;
    min-width: var(--orders-category-rail-width-final) !important;
    max-width: var(--orders-category-rail-width-final) !important;
    flex: 0 0 var(--orders-category-rail-width-final) !important;
    overflow: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    scrollbar-gutter: auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
}

.orders-route-container .orders-page-shell .pos-menu::-webkit-scrollbar,
.orders-page-shell .pos-menu::-webkit-scrollbar,
.orders-route-container .orders-page-shell .pos-menu *::-webkit-scrollbar,
.orders-page-shell .pos-menu *::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important;
}

.orders-route-container .orders-page-shell .pos-menu .nav-container,
.orders-route-container .orders-page-shell .pos-menu .nav,
.orders-route-container .orders-page-shell .pos-menu .nav-tabs,
.orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
.orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"],
.orders-page-shell .pos-menu .nav-container,
.orders-page-shell .pos-menu .nav,
.orders-page-shell .pos-menu .nav-tabs,
.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
.orders-page-shell .pos-menu [data-nav-scope="orders-categories"] {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
}

.orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
.orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"],
.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
.orders-page-shell .pos-menu [data-nav-scope="orders-categories"] {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    scrollbar-gutter: auto !important;
    padding: 8px 34px 8px 34px !important;
    position: relative !important;
    scroll-behavior: smooth !important;
    scroll-padding-top: 32px !important;
    scroll-padding-bottom: 32px !important;
}

.orders-page-shell .pos-menu .nav,
.orders-page-shell .pos-menu .nav-tabs {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    padding: 0 !important;
    margin: 0 !important;
}

.orders-page-shell .pos-menu .nav-item,
.orders-page-shell .pos-menu .nav-tabs .nav-item {
    display: flex !important;
    justify-content: center !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.orders-page-shell .orders-category-link,
.orders-page-shell .pos-menu .nav-link.orders-category-link,
.orders-page-shell .pos-menu .nav-item > .orders-category-link {
    width: var(--orders-category-card-width-final) !important;
    min-width: var(--orders-category-card-width-final) !important;
    max-width: var(--orders-category-card-width-final) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    transform: none !important;
}

.orders-page-shell .orders-category-link:hover,
.orders-page-shell .orders-category-link.active,
.orders-page-shell .orders-category-link.nav-active,
.orders-page-shell .orders-category-link:focus-visible {
    transform: none !important;
}

.orders-page-shell .orders-category-link__icon-wrap,
.orders-page-shell .orders-category-link__text {
    width: 100% !important;
    max-width: 100% !important;
}

.orders-page-shell .orders-category-scroll-cue {
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 52px !important;
    height: 20px !important;
    z-index: 6 !important;
}

.orders-page-shell .orders-category-scroll-cue--top {
    top: 8px !important;
}
.orders-page-shell .orders-category-scroll-cue--bottom {
    bottom: 8px !important;
}

.orders-page-shell .orders-category-scroll-cue::before,
.orders-page-shell .orders-category-scroll-cue::after {
    width: 16px !important;
    height: 3px !important;
}

.orders-page-shell .pos-menu [data-nav-scope="orders-categories"].rail-focused,
.orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"].rail-focused {
    box-shadow: inset 0 0 0 1px rgba(96,165,250,.18), inset 0 0 26px rgba(59,130,246,.08) !important;
}


/* =========================================================
   FINAL MENU ITEMS GRID FILL FIX
   - 3 items per row
   - fill available center space
   - preserve category/review widths
   ========================================================= */

:root {
    --orders-items-grid-gap-final: 22px;
    --orders-items-card-height-final: 250px;
}

body .orders-page-shell .pos-content,
body .orders-route-container .orders-page-shell .pos-content,
body .orders-page-shell .pos-menu-items,
body .orders-route-container .orders-page-shell .pos-menu-items,
body .orders-page-shell .menu-items-container,
body .orders-route-container .orders-page-shell .menu-items-container,
body .orders-page-shell .menu-items-wrapper,
body .orders-route-container .orders-page-shell .menu-items-wrapper,
body .orders-page-shell .menu-items-grid,
body .orders-route-container .orders-page-shell .menu-items-grid {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body .orders-page-shell .pos-content .row,
body .orders-route-container .orders-page-shell .pos-content .row,
body .orders-page-shell .menu-items-grid,
body .orders-route-container .orders-page-shell .menu-items-grid,
body .orders-page-shell .menu-items-wrapper,
body .orders-route-container .orders-page-shell .menu-items-wrapper,
body .orders-page-shell .menu-items-container,
body .orders-route-container .orders-page-shell .menu-items-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--orders-items-grid-gap-final) !important;
    align-items: start !important;
    justify-items: stretch !important;
    padding: 10px 18px 10px 18px !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body .orders-page-shell .pos-content .row > [class*="col-"],
body .orders-route-container .orders-page-shell .pos-content .row > [class*="col-"],
body .orders-page-shell .menu-items-grid > [class*="col-"],
body .orders-route-container .orders-page-shell .menu-items-grid > [class*="col-"],
body .orders-page-shell .menu-items-container > [class*="col-"],
body .orders-route-container .orders-page-shell .menu-items-container > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

body .orders-page-shell .pos-product,
body .orders-route-container .orders-page-shell .pos-product,
body .orders-page-shell .menu-item-card,
body .orders-route-container .orders-page-shell .menu-item-card,
body .orders-page-shell .menu-item,
body .orders-route-container .orders-page-shell .menu-item,
body .orders-page-shell .menu-card,
body .orders-route-container .orders-page-shell .menu-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: var(--orders-items-card-height-final) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

body .orders-page-shell .pos-product .img,
body .orders-route-container .orders-page-shell .pos-product .img,
body .orders-page-shell .menu-item-card .img,
body .orders-route-container .orders-page-shell .menu-item-card .img,
body .orders-page-shell .menu-card .img,
body .orders-route-container .orders-page-shell .menu-card .img {
    height: calc(var(--orders-items-card-height-final) - 58px) !important;
}

body .orders-page-shell .pos-product .info,
body .orders-route-container .orders-page-shell .pos-product .info,
body .orders-page-shell .menu-item-card .info,
body .orders-route-container .orders-page-shell .menu-item-card .info,
body .orders-page-shell .menu-card .info,
body .orders-route-container .orders-page-shell .menu-card .info {
    min-height: 58px !important;
    height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
}

body .orders-page-shell .pos-product .info .title,
body .orders-route-container .orders-page-shell .pos-product .info .title,
body .orders-page-shell .menu-item-card .info .title,
body .orders-route-container .orders-page-shell .menu-item-card .info .title,
body .orders-page-shell .menu-card .info .title,
body .orders-route-container .orders-page-shell .menu-card .info .title {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 1400px) {
    body .orders-page-shell .pos-content .row,
    body .orders-route-container .orders-page-shell .pos-content .row,
    body .orders-page-shell .menu-items-grid,
    body .orders-route-container .orders-page-shell .menu-items-grid,
    body .orders-page-shell .menu-items-wrapper,
    body .orders-route-container .orders-page-shell .menu-items-wrapper,
    body .orders-page-shell .menu-items-container,
    body .orders-route-container .orders-page-shell .menu-items-container {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* =========================================================
   FINAL CLEANUP PASS
   - Category rail: 350 rail / 250 cards
   - No native scrollbar
   - Top / bottom visibility indicators only
   - Center grid fills available middle area with 3 cards
   - Scoped late override to beat older duplicated rules
   ========================================================= */

:root {
    --ml-cat-rail-w: 350px;
    --ml-cat-card-w: 250px;
    --ml-center-gap: 24px;
    --ml-item-card-h: 252px;
}

/* ===== SHELL WIDTH BALANCE ===== */
body .orders-page-shell {
    display: grid !important;
    grid-template-columns: var(--ml-cat-rail-w) minmax(0, 1fr) minmax(300px, 450px) !important;
    column-gap: var(--ml-center-gap) !important;
    align-items: stretch !important;
}

/* ===== CATEGORY RAIL ===== */
body .orders-page-shell .pos-menu {
    width: var(--ml-cat-rail-w) !important;
    min-width: var(--ml-cat-rail-w) !important;
    max-width: var(--ml-cat-rail-w) !important;
    flex: 0 0 var(--ml-cat-rail-w) !important;
    box-sizing: border-box !important;
    padding: 16px 20px !important;
    margin: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

body .orders-page-shell .pos-menu::-webkit-scrollbar,
body .orders-page-shell .pos-menu *::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important;
}

/* inner scroll host */
body .orders-page-shell .pos-menu [data-nav-scope="orders-categories"],
body .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
body .orders-page-shell .pos-menu .category-scroll-host {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 2px 8px 24px 8px !important;
    margin: 0 !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    scroll-behavior: smooth !important;
}

body .orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::-webkit-scrollbar,
body .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::-webkit-scrollbar,
body .orders-page-shell .pos-menu .category-scroll-host::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important;
}

/* kill nav-tabs / flex conflicts */
body .orders-page-shell .pos-menu .nav,
body .orders-page-shell .pos-menu .nav-tabs {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

body .orders-page-shell .pos-menu .nav-item {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* hard card size */
body .orders-page-shell .pos-menu .pos-menu-item,
body .orders-page-shell .menu-category-item,
body .orders-page-shell .menu-category-card,
body .orders-page-shell .menu-category-btn {
    width: var(--ml-cat-card-w) !important;
    min-width: var(--ml-cat-card-w) !important;
    max-width: var(--ml-cat-card-w) !important;
    flex: 0 0 var(--ml-cat-card-w) !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    transform: none !important;
}

body .orders-page-shell .pos-menu .pos-menu-item:focus-visible,
body .orders-page-shell .pos-menu .pos-menu-item.active,
body .orders-page-shell .pos-menu .pos-menu-item.selected {
    transform: none !important;
    outline-offset: -2px !important;
    box-shadow:
        0 0 0 2px rgba(103,190,255,.95),
        0 0 0 5px rgba(103,190,255,.14) !important;
}

/* rail glow when active */
body .orders-page-shell .pos-menu.rail-focused {
    box-shadow: inset 0 0 0 1px rgba(103,190,255,.18), 0 0 24px rgba(103,190,255,.10) !important;
    border-radius: 18px !important;
}

/* top / bottom indicators only */
body .orders-page-shell .pos-menu::before,
body .orders-page-shell .pos-menu::after {
    content: '' !important;
    position: absolute !important;
    left: 28px !important;
    right: 28px !important;
    height: 18px !important;
    z-index: 8 !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transition: opacity .18s ease !important;
}

body .orders-page-shell .pos-menu::before {
    top: 6px !important;
    background: linear-gradient(to bottom, rgba(255,255,255,.26), rgba(255,255,255,0)) !important;
    border-radius: 14px 14px 0 0 !important;
}

body .orders-page-shell .pos-menu::after {
    bottom: 6px !important;
    background: linear-gradient(to top, rgba(255,255,255,.26), rgba(255,255,255,0)) !important;
    border-radius: 0 0 14px 14px !important;
}

body .orders-page-shell .pos-menu.has-overflow-top::before { opacity: 1 !important; }
body .orders-page-shell .pos-menu.has-overflow-bottom::after { opacity: 1 !important; }

/* kill old thumb style indicator if present */
body .orders-page-shell .menu-scroll-indicator {
    display: none !important;
}

/* ===== CENTER MENU ITEMS AREA ===== */
body .orders-page-shell .pos-content,
body .orders-page-shell .pos-menu-items,
body .orders-page-shell .menu-items-container,
body .orders-page-shell .menu-items-wrapper,
body .orders-page-shell .menu-items-grid {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* strongest possible override for duplicated grid/flex rules */
body .orders-page-shell .pos-content .row,
body .orders-page-shell .pos-content > .row,
body .orders-page-shell .menu-items-grid,
body .orders-page-shell .menu-items-wrapper,
body .orders-page-shell .menu-items-container,
body .orders-page-shell [data-nav-scope="orders-items"] {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--ml-center-gap) !important;
    align-items: start !important;
    justify-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 8px 4px 8px 4px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* neutralize bootstrap columns inside center area */
body .orders-page-shell .pos-content .row > *,
body .orders-page-shell .pos-content > .row > *,
body .orders-page-shell .menu-items-grid > *,
body .orders-page-shell .menu-items-wrapper > *,
body .orders-page-shell .menu-items-container > *,
body .orders-page-shell [data-nav-scope="orders-items"] > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* hard menu item card width via track fill, no dead space */
body .orders-page-shell .pos-product,
body .orders-page-shell .menu-item-card,
body .orders-page-shell .menu-item,
body .orders-page-shell .menu-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: var(--ml-item-card-h) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

body .orders-page-shell .pos-product .img,
body .orders-page-shell .menu-item-card .img,
body .orders-page-shell .menu-card .img {
    height: calc(var(--ml-item-card-h) - 58px) !important;
}

body .orders-page-shell .pos-product .info,
body .orders-page-shell .menu-item-card .info,
body .orders-page-shell .menu-card .info {
    min-height: 58px !important;
    height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
}

body .orders-page-shell .pos-product .info .title,
body .orders-page-shell .menu-item-card .info .title,
body .orders-page-shell .menu-card .info .title {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.22 !important;
}

/* review panel kept stable */
body .orders-page-shell .pos-sidebar {
    min-width: 0 !important;
}

@media (max-width: 1600px) {
    body .orders-page-shell {
        grid-template-columns: var(--ml-cat-rail-w) minmax(0, 1fr) minmax(280px, 420px) !important;
    }
}

@media (max-width: 1400px) {
    body .orders-page-shell .pos-content .row,
    body .orders-page-shell .pos-content > .row,
    body .orders-page-shell .menu-items-grid,
    body .orders-page-shell .menu-items-wrapper,
    body .orders-page-shell .menu-items-container,
    body .orders-page-shell [data-nav-scope="orders-items"] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* =========================================================
   FINAL ORDERS SCREEN SHELL RESTORE
   Root cause fix:
   - neutralize late body .orders-page-shell grid override
   - restore original pos-container flex layout
   - keep category rail + center items + review panel visible
   ========================================================= */

body .orders-page-shell {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .orders-page-shell .orders-loading-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 20 !important;
}

body .orders-page-shell .pos-container {
    display: flex !important;
    grid-template-columns: none !important;
    column-gap: 0 !important;
    gap: 14px !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 100vh !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* left rail */
body .orders-page-shell .pos-menu {
    flex: 0 0 350px !important;
    width: 350px !important;
    min-width: 350px !important;
    max-width: 350px !important;
    display: block !important;
    order: 0 !important;
    visibility: visible !important;
}

/* middle content */
body .orders-page-shell .pos-content {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    display: block !important;
    order: 0 !important;
    visibility: visible !important;
    overflow: hidden !important;
    padding: .75rem 1rem 1rem !important;
}

body .orders-page-shell .pos-content .pos-content-container {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    margin: 0 !important;
    padding-top: 0 !important;
}

/* right review panel */
body .orders-page-shell .pos-sidebar {
    flex: 0 0 430px !important;
    width: 430px !important;
    min-width: 430px !important;
    max-width: 430px !important;
    display: block !important;
    order: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* center menu items grid */
body .orders-page-shell .orders-items-grid,
body .orders-page-shell .row.gx-4.pt-2.orders-items-grid,
body .orders-page-shell .row.gx-4.orders-items-grid,
body .orders-page-shell [data-nav-scope="orders-items"] .orders-items-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: .35rem 0 0 0 !important;
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
}

body .orders-page-shell .orders-items-grid > [class*="col-"],
body .orders-page-shell .row.gx-4.pt-2.orders-items-grid > [class*="col-"],
body .orders-page-shell .row.gx-4.orders-items-grid > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* card sizing */
body .orders-page-shell .pos-product.orders-item-card,
body .orders-page-shell .orders-item-card,
body .orders-page-shell .pos-product {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 300px !important;
}

/* ensure sidebar shell stays column flex */
body .orders-page-shell .h-100.d-flex.flex-column.p-0 {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* responsive fallback */
@media (max-width: 1450px) {
    body .orders-page-shell .orders-items-grid,
    body .orders-page-shell .row.gx-4.pt-2.orders-items-grid,
    body .orders-page-shell .row.gx-4.orders-items-grid {
        grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
    }
}


/* =========================================================
   MENU CATEGORY ARROW INDICATORS (replace visible scrollbar)
   ========================================================= */
body .orders-page-shell .pos-menu,
body .orders-route-container .orders-page-shell .pos-menu {
    overflow: hidden !important;
    position: relative !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

body .orders-page-shell .pos-menu::-webkit-scrollbar,
body .orders-page-shell .pos-menu *::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu *::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important;
}

body .orders-page-shell .pos-menu [data-nav-scope="orders-categories"],
body .orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"],
body .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
body .orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"] {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

body .orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::-webkit-scrollbar,
body .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important;
}

/* remove old fade strips if present */
body .orders-page-shell .pos-menu::before,
body .orders-page-shell .pos-menu::after,
body .orders-route-container .orders-page-shell .pos-menu::before,
body .orders-route-container .orders-page-shell .pos-menu::after {
    background: none !important;
    height: 0 !important;
    opacity: 0 !important;
    content: none !important;
}

/* TV-style arrow cues */
body .orders-page-shell .pos-menu .menu-scroll-arrow,
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 15 !important;
    pointer-events: none !important;
    background: rgba(255,255,255,0.08) !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(6px) !important;
}

body .orders-page-shell .pos-menu .menu-scroll-arrow::before,
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow::before {
    content: '' !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 8px solid transparent !important;
    border-right: 8px solid transparent !important;
}

body .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-top,
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-top {
    top: 10px !important;
}

body .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-top::before,
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-top::before {
    border-bottom: 11px solid rgba(255,255,255,.88) !important;
}

body .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-bottom,
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-bottom {
    bottom: 10px !important;
}

body .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-bottom::before,
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-bottom::before {
    border-top: 11px solid rgba(255,255,255,.88) !important;
}

body .orders-page-shell .pos-menu.has-overflow-top .menu-scroll-arrow-top,
body .orders-page-shell .pos-menu.has-overflow-bottom .menu-scroll-arrow-bottom,
body .orders-route-container .orders-page-shell .pos-menu.has-overflow-top .menu-scroll-arrow-top,
body .orders-route-container .orders-page-shell .pos-menu.has-overflow-bottom .menu-scroll-arrow-bottom {
    display: flex !important;
}


/* =========================================================
   REAL FIX PACK
   - Rename/display Nursing Station correctly
   - Hide visible MenuCategory scrollbar on actual rail
   - Show only top/bottom arrow indicators on actual rail
   - Keep current Orders layout intact
   ========================================================= */

/* Nursing Station actual card/icon polish */
body .fa-hospital,
body .fa-hospital-o {
    font-size: 1.22rem !important;
    line-height: 1 !important;
}

body .patient-identity-card i.fa-hospital,
body .patient-identity-card i.fa-hospital-o,
body .identity-card i.fa-hospital,
body .identity-card i.fa-hospital-o,
body .patient-summary-card i.fa-hospital,
body .patient-summary-card i.fa-hospital-o {
    width: 28px !important;
    height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ===== Actual orders rail / nav-container / nav-tabs scrollbar suppression ===== */
body .orders-page-shell .pos-menu,
body .orders-route-container .orders-page-shell .pos-menu {
    overflow: hidden !important;
    position: relative !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

body .orders-page-shell .pos-menu::-webkit-scrollbar,
body .orders-page-shell .pos-menu *::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu *::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important;
}

/* Real scroll hosts used by the category rail */
body .orders-page-shell .pos-menu .nav-container,
body .orders-route-container .orders-page-shell .pos-menu .nav-container,
body .orders-page-shell .pos-menu .nav-tabs,
body .orders-route-container .orders-page-shell .pos-menu .nav-tabs,
body .orders-page-shell .pos-menu [data-nav-scope="orders-categories"],
body .orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"],
body .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
body .orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"] {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

body .orders-page-shell .pos-menu .nav-container::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu .nav-container::-webkit-scrollbar,
body .orders-page-shell .pos-menu .nav-tabs::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu .nav-tabs::-webkit-scrollbar,
body .orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::-webkit-scrollbar,
body .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important;
}

/* Common custom scrollbar rails injected by plugins */
body .orders-page-shell .pos-menu .simplebar-track,
body .orders-page-shell .pos-menu .simplebar-scrollbar,
body .orders-page-shell .pos-menu .scrollbar-track,
body .orders-page-shell .pos-menu .scrollbar-thumb,
body .orders-page-shell .pos-menu .os-scrollbar,
body .orders-page-shell .pos-menu .os-scrollbar-vertical,
body .orders-page-shell .pos-menu .os-scrollbar-track,
body .orders-page-shell .pos-menu .os-scrollbar-handle,
body .orders-page-shell .pos-menu .ps__rail-y,
body .orders-page-shell .pos-menu .ps__thumb-y,
body .orders-page-shell .pos-menu [data-scrollbar] .scroll-content-scrollbar,
body .orders-page-shell .pos-menu [data-scrollbar="true"] .scroll-content-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu .simplebar-track,
body .orders-route-container .orders-page-shell .pos-menu .simplebar-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu .scrollbar-track,
body .orders-route-container .orders-page-shell .pos-menu .scrollbar-thumb,
body .orders-route-container .orders-page-shell .pos-menu .os-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu .os-scrollbar-vertical,
body .orders-route-container .orders-page-shell .pos-menu .os-scrollbar-track,
body .orders-route-container .orders-page-shell .pos-menu .os-scrollbar-handle,
body .orders-route-container .orders-page-shell .pos-menu .ps__rail-y,
body .orders-route-container .orders-page-shell .pos-menu .ps__thumb-y,
body .orders-route-container .orders-page-shell .pos-menu [data-scrollbar] .scroll-content-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu [data-scrollbar="true"] .scroll-content-scrollbar {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
}

/* Arrow indicators only */
body .orders-page-shell .pos-menu .menu-scroll-arrow,
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 24 !important;
    pointer-events: none !important;
    background: rgba(255,255,255,.10) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(6px) !important;
}

body .orders-page-shell .pos-menu .menu-scroll-arrow::before,
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow::before {
    content: '' !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 8px solid transparent !important;
    border-right: 8px solid transparent !important;
}

body .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-top,
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-top {
    top: 8px !important;
}
body .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-top::before,
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-top::before {
    border-bottom: 11px solid rgba(255,255,255,.92) !important;
}

body .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-bottom,
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-bottom {
    bottom: 8px !important;
}
body .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-bottom::before,
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow.menu-scroll-arrow-bottom::before {
    border-top: 11px solid rgba(255,255,255,.92) !important;
}

body .orders-page-shell .pos-menu.has-overflow-top .menu-scroll-arrow-top,
body .orders-page-shell .pos-menu.has-overflow-bottom .menu-scroll-arrow-bottom,
body .orders-route-container .orders-page-shell .pos-menu.has-overflow-top .menu-scroll-arrow-top,
body .orders-route-container .orders-page-shell .pos-menu.has-overflow-bottom .menu-scroll-arrow-bottom {
    display: flex !important;
}


/* =========================================================
   CRISP CARD STYLING PACK
   - MenuCategory tiles
   - MenuItems cards
   TV-clean, sharper, higher contrast
   ========================================================= */

:root {
    --ml-crisp-card-bg: linear-gradient(180deg, rgba(18,18,22,.96) 0%, rgba(24,24,28,.96) 100%);
    --ml-crisp-card-border: rgba(255,255,255,.12);
    --ml-crisp-card-border-soft: rgba(255,255,255,.08);
    --ml-crisp-card-shadow: 0 12px 28px rgba(0,0,0,.28);
    --ml-crisp-focus: #2f8fff;
    --ml-crisp-focus-glow: rgba(47,143,255,.22);
    --ml-crisp-text: #ffffff;
    --ml-crisp-muted: rgba(255,255,255,.76);
    --ml-crisp-band: rgba(255,255,255,.10);
}

/* ===== MenuCategory crisp tiles ===== */
body .orders-page-shell .pos-menu .pos-menu-item,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item {
    background: var(--ml-crisp-card-bg) !important;
    border: 1px solid var(--ml-crisp-card-border-soft) !important;
    border-radius: 18px !important;
    box-shadow: var(--ml-crisp-card-shadow) !important;
    min-height: 104px !important;
    padding: 14px 16px !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease !important;
    backdrop-filter: blur(2px) !important;
}

body .orders-page-shell .pos-menu .pos-menu-item i,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item i,
body .orders-page-shell .pos-menu .pos-menu-item svg,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item svg,
body .orders-page-shell .pos-menu .pos-menu-item .icon,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item .icon {
    color: #fff !important;
    fill: #fff !important;
    filter: none !important;
    opacity: 1 !important;
    width: 32px !important;
    height: 32px !important;
    font-size: 32px !important;
    margin-bottom: 6px !important;
}

body .orders-page-shell .pos-menu .pos-menu-item span,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item span,
body .orders-page-shell .pos-menu .pos-menu-item .label,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item .label {
    color: var(--ml-crisp-text) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: .01em !important;
    text-shadow: none !important;
}

body .orders-page-shell .pos-menu .pos-menu-item:hover,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:hover {
    border-color: rgba(255,255,255,.18) !important;
    box-shadow: 0 16px 32px rgba(0,0,0,.34) !important;
    transform: translateY(-1px) !important;
}

body .orders-page-shell .pos-menu .pos-menu-item.active,
body .orders-page-shell .pos-menu .pos-menu-item.selected,
body .orders-page-shell .pos-menu .pos-menu-item:focus-visible,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.active,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.selected,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible {
    border-color: var(--ml-crisp-focus) !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.08),
        0 0 0 4px var(--ml-crisp-focus-glow),
        0 16px 34px rgba(0,0,0,.38) !important;
    transform: none !important;
}

body .orders-page-shell .pos-menu .pos-menu-item::after,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item::after {
    content: '' !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 0 !important;
    height: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    transition: height .16s ease, background .16s ease !important;
}

body .orders-page-shell .pos-menu .pos-menu-item.active::after,
body .orders-page-shell .pos-menu .pos-menu-item.selected::after,
body .orders-page-shell .pos-menu .pos-menu-item:focus-visible::after,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.active::after,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.selected::after,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible::after {
    height: 3px !important;
    background: var(--ml-crisp-focus) !important;
}

/* ===== MenuItems crisp cards ===== */
body .orders-page-shell .pos-product.orders-item-card,
body .orders-page-shell .orders-item-card,
body .orders-page-shell .pos-product,
body .orders-route-container .orders-page-shell .pos-product.orders-item-card,
body .orders-route-container .orders-page-shell .orders-item-card,
body .orders-route-container .orders-page-shell .pos-product {
    background: var(--ml-crisp-card-bg) !important;
    border: 1px solid var(--ml-crisp-card-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--ml-crisp-card-shadow) !important;
    overflow: hidden !important;
    min-height: 300px !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}

body .orders-page-shell .pos-product:hover,
body .orders-route-container .orders-page-shell .pos-product:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 34px rgba(0,0,0,.34) !important;
    border-color: rgba(255,255,255,.18) !important;
}

body .orders-page-shell .pos-product .img,
body .orders-page-shell .orders-item-card .img,
body .orders-route-container .orders-page-shell .pos-product .img,
body .orders-route-container .orders-page-shell .orders-item-card .img {
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-color: transparent !important;
    margin: 18px 18px 0 18px !important;
    height: 168px !important;
    border-radius: 14px !important;
}

body .orders-page-shell .pos-product .info,
body .orders-page-shell .orders-item-card .info,
body .orders-route-container .orders-page-shell .pos-product .info,
body .orders-route-container .orders-page-shell .orders-item-card .info {
    min-height: 70px !important;
    height: 70px !important;
    padding: 14px 16px !important;
    background: var(--ml-crisp-band) !important;
    border-top: 1px solid rgba(255,255,255,.06) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
}

body .orders-page-shell .pos-product .info .title,
body .orders-page-shell .orders-item-card .info .title,
body .orders-route-container .orders-page-shell .pos-product .info .title,
body .orders-route-container .orders-page-shell .orders-item-card .info .title {
    color: var(--ml-crisp-text) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-shadow: none !important;
}

body .orders-page-shell .pos-product .info .sub,
body .orders-page-shell .pos-product .info small,
body .orders-route-container .orders-page-shell .pos-product .info .sub,
body .orders-route-container .orders-page-shell .pos-product .info small {
    color: var(--ml-crisp-muted) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

/* selected / qty badge crisp */
body .orders-page-shell .pos-product .badge,
body .orders-route-container .orders-page-shell .pos-product .badge,
body .orders-page-shell .qty-badge,
body .orders-route-container .orders-page-shell .qty-badge {
    border-radius: 999px !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.24) !important;
    font-weight: 800 !important;
}

/* selected item glow */
body .orders-page-shell .pos-product.active,
body .orders-page-shell .pos-product.selected,
body .orders-page-shell .pos-product:focus-visible,
body .orders-route-container .orders-page-shell .pos-product.active,
body .orders-route-container .orders-page-shell .pos-product.selected,
body .orders-route-container .orders-page-shell .pos-product:focus-visible {
    border-color: rgba(89, 214, 165, .55) !important;
    box-shadow:
        0 0 0 1px rgba(89,214,165,.18),
        0 10px 28px rgba(0,0,0,.34) !important;
}

/* unavailable text cleaner */
body .orders-page-shell .pos-product .text-muted,
body .orders-route-container .orders-page-shell .pos-product .text-muted {
    color: rgba(255,255,255,.62) !important;
    opacity: 1 !important;
}

/* keep review panel styling intact, just sharpen cards a touch */
body .orders-page-shell .pos-sidebar .card,
body .orders-route-container .orders-page-shell .pos-sidebar .card {
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.22) !important;
}


/* =========================================================
   CRISP GLOW + RADIUS POLISH PACK
   - outer glow, no clipped selected radius
   - footer gray band matches card corner radius
   - menu category styled closer to menu item tiles
   ========================================================= */

:root {
    --ml-crisp-radius: 18px;
    --ml-crisp-focus-blue: #74c6ff;
    --ml-crisp-focus-blue-glow: rgba(116,198,255,.36);
}

/* ===== Menu item cards ===== */
body .orders-page-shell .pos-product,
body .orders-route-container .orders-page-shell .pos-product,
body .orders-page-shell .orders-item-card,
body .orders-route-container .orders-page-shell .orders-item-card {
    position: relative !important;
    overflow: visible !important; /* allow external focus glow */
    border-radius: var(--ml-crisp-radius) !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .orders-page-shell .pos-product::before,
body .orders-route-container .orders-page-shell .pos-product::before,
body .orders-page-shell .orders-item-card::before,
body .orders-route-container .orders-page-shell .orders-item-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: var(--ml-crisp-radius) !important;
    background: linear-gradient(180deg, rgba(18,18,22,.96) 0%, rgba(24,24,28,.96) 100%) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.28) !important;
    z-index: 0 !important;
}

body .orders-page-shell .pos-product > *,
body .orders-route-container .orders-page-shell .pos-product > *,
body .orders-page-shell .orders-item-card > *,
body .orders-route-container .orders-page-shell .orders-item-card > * {
    position: relative !important;
    z-index: 1 !important;
}

body .orders-page-shell .pos-product .img,
body .orders-route-container .orders-page-shell .pos-product .img,
body .orders-page-shell .orders-item-card .img,
body .orders-route-container .orders-page-shell .orders-item-card .img {
    border-top-left-radius: calc(var(--ml-crisp-radius) - 3px) !important;
    border-top-right-radius: calc(var(--ml-crisp-radius) - 3px) !important;
    overflow: hidden !important;
}

body .orders-page-shell .pos-product .info,
body .orders-route-container .orders-page-shell .pos-product .info,
body .orders-page-shell .orders-item-card .info,
body .orders-route-container .orders-page-shell .orders-item-card .info {
    border-top: 1px solid rgba(255,255,255,.06) !important;
    border-bottom-left-radius: calc(var(--ml-crisp-radius) - 3px) !important;
    border-bottom-right-radius: calc(var(--ml-crisp-radius) - 3px) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.08)) !important;
    overflow: hidden !important;
}

/* outer glow instead of clipped inner border */
body .orders-page-shell .pos-product.active,
body .orders-page-shell .pos-product.selected,
body .orders-page-shell .pos-product:focus-visible,
body .orders-route-container .orders-page-shell .pos-product.active,
body .orders-route-container .orders-page-shell .pos-product.selected,
body .orders-route-container .orders-page-shell .pos-product:focus-visible,
body .orders-page-shell .orders-item-card.active,
body .orders-page-shell .orders-item-card.selected,
body .orders-page-shell .orders-item-card:focus-visible,
body .orders-route-container .orders-page-shell .orders-item-card.active,
body .orders-route-container .orders-page-shell .orders-item-card.selected,
body .orders-route-container .orders-page-shell .orders-item-card:focus-visible {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.10),
        0 0 0 5px var(--ml-crisp-focus-blue-glow),
        0 18px 34px rgba(0,0,0,.34) !important;
    border-radius: calc(var(--ml-crisp-radius) + 2px) !important;
}

body .orders-page-shell .pos-product.active::before,
body .orders-page-shell .pos-product.selected::before,
body .orders-page-shell .pos-product:focus-visible::before,
body .orders-route-container .orders-page-shell .pos-product.active::before,
body .orders-route-container .orders-page-shell .pos-product.selected::before,
body .orders-route-container .orders-page-shell .pos-product:focus-visible::before,
body .orders-page-shell .orders-item-card.active::before,
body .orders-page-shell .orders-item-card.selected::before,
body .orders-page-shell .orders-item-card:focus-visible::before,
body .orders-route-container .orders-page-shell .orders-item-card.active::before,
body .orders-route-container .orders-page-shell .orders-item-card.selected::before,
body .orders-route-container .orders-page-shell .orders-item-card:focus-visible::before {
    border-color: var(--ml-crisp-focus-blue) !important;
}

/* ===== Menu category tiles closer to same card language ===== */
body .orders-page-shell .pos-menu .pos-menu-item,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item {
    position: relative !important;
    overflow: visible !important;
    border-radius: var(--ml-crisp-radius) !important;
    background: transparent !important;
    box-shadow: none !important;
    min-height: 106px !important;
}

body .orders-page-shell .pos-menu .pos-menu-item::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: var(--ml-crisp-radius) !important;
    background: linear-gradient(180deg, rgba(18,18,22,.96) 0%, rgba(24,24,28,.96) 100%) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.22) !important;
    z-index: 0 !important;
}

body .orders-page-shell .pos-menu .pos-menu-item > *,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item > * {
    position: relative !important;
    z-index: 1 !important;
}

body .orders-page-shell .pos-menu .pos-menu-item.active,
body .orders-page-shell .pos-menu .pos-menu-item.selected,
body .orders-page-shell .pos-menu .pos-menu-item:focus-visible,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.active,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.selected,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.10),
        0 0 0 5px var(--ml-crisp-focus-blue-glow),
        0 16px 30px rgba(0,0,0,.30) !important;
    border-radius: calc(var(--ml-crisp-radius) + 2px) !important;
}

body .orders-page-shell .pos-menu .pos-menu-item.active::before,
body .orders-page-shell .pos-menu .pos-menu-item.selected::before,
body .orders-page-shell .pos-menu .pos-menu-item:focus-visible::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.active::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.selected::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible::before {
    border-color: var(--ml-crisp-focus-blue) !important;
}

body .orders-page-shell .pos-menu .pos-menu-item::after,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item::after {
    display: none !important; /* remove clipped inner underline */
}

/* disabled items remain scrollable/focusable, but visually clear */
body .orders-page-shell .pos-product.disabled::before,
body .orders-route-container .orders-page-shell .pos-product.disabled::before,
body .orders-page-shell .pos-product.unavailable::before,
body .orders-route-container .orders-page-shell .pos-product.unavailable::before {
    border-color: rgba(255,255,255,.08) !important;
}

body .orders-page-shell .pos-product.disabled,
body .orders-route-container .orders-page-shell .pos-product.disabled,
body .orders-page-shell .pos-product.unavailable,
body .orders-route-container .orders-page-shell .pos-product.unavailable {
    cursor: default !important;
}


/* =========================================================
   REAL GLOW + FOCUS FIX
   - disable late visible scrollbar override on actual rail
   - real external glow for categories + item cards
   - rounded bottom band matches item radius
   - disabled items remain focusable but cannot open popup
   ========================================================= */

/* 1) override the late "soft visible scrollbar" block for the actual rail only */
body .orders-route-container .orders-page-shell .pos-menu,
body .orders-route-container .orders-page-shell .pos-menu .nav-container,
body .orders-route-container .orders-page-shell .pos-menu .nav-tabs,
body .orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"],
body .orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"] {
    scrollbar-width: none !important;
    scrollbar-color: transparent transparent !important;
    -ms-overflow-style: none !important;
}

body .orders-route-container .orders-page-shell .pos-menu::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu .nav-container::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu .nav-tabs::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::-webkit-scrollbar,
body .orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important;
}

body .orders-route-container .orders-page-shell .pos-menu::-webkit-scrollbar-thumb,
body .orders-route-container .orders-page-shell .pos-menu .nav-container::-webkit-scrollbar-thumb,
body .orders-route-container .orders-page-shell .pos-menu .nav-tabs::-webkit-scrollbar-thumb,
body .orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"]::-webkit-scrollbar-thumb,
body .orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"]::-webkit-scrollbar-thumb {
    background: transparent !important;
    border: 0 !important;
}

/* 2) actual category card real glow */
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item {
    position: relative !important;
    overflow: visible !important;
    border-radius: 18px !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(18,18,22,.96) 0%, rgba(24,24,28,.96) 100%) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.22) !important;
    z-index: 0 !important;
}

body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item > * {
    position: relative !important;
    z-index: 1 !important;
}

body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.active,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.selected,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.nav-active {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.10),
        0 0 0 5px rgba(116,198,255,.34),
        0 16px 30px rgba(0,0,0,.30) !important;
    border-radius: 20px !important;
}

body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.active::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.selected::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.nav-active::before {
    border-color: #74c6ff !important;
}

/* 3) actual menu item card outer glow + matching gray band radius */
body .orders-route-container .orders-page-shell .orders-item-card,
body .orders-route-container .orders-page-shell .pos-product.orders-item-card {
    position: relative !important;
    overflow: visible !important;
    border-radius: 18px !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .orders-route-container .orders-page-shell .orders-item-card::before,
body .orders-route-container .orders-page-shell .pos-product.orders-item-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(18,18,22,.96) 0%, rgba(24,24,28,.96) 100%) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.28) !important;
    z-index: 0 !important;
}

body .orders-route-container .orders-page-shell .orders-item-card > *,
body .orders-route-container .orders-page-shell .pos-product.orders-item-card > * {
    position: relative !important;
    z-index: 1 !important;
}

body .orders-route-container .orders-page-shell .orders-item-card .orders-item-card__media,
body .orders-route-container .orders-page-shell .pos-product.orders-item-card .orders-item-card__media,
body .orders-route-container .orders-page-shell .orders-item-card .modal-pos-product-img,
body .orders-route-container .orders-page-shell .pos-product.orders-item-card .modal-pos-product-img {
    border-top-left-radius: 15px !important;
    border-top-right-radius: 15px !important;
    overflow: hidden !important;
}

body .orders-route-container .orders-page-shell .orders-item-card .info,
body .orders-route-container .orders-page-shell .pos-product.orders-item-card .info {
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.08)) !important;
    border-top: 1px solid rgba(255,255,255,.06) !important;
    border-bottom-left-radius: 15px !important;
    border-bottom-right-radius: 15px !important;
    overflow: hidden !important;
    min-height: 76px !important;
}

body .orders-route-container .orders-page-shell .orders-item-card.active,
body .orders-route-container .orders-page-shell .orders-item-card.selected,
body .orders-route-container .orders-page-shell .orders-item-card:focus-visible,
body .orders-route-container .orders-page-shell .orders-item-card.nav-active,
body .orders-route-container .orders-page-shell .tv-item-selected {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.10),
        0 0 0 5px rgba(116,198,255,.34),
        0 18px 34px rgba(0,0,0,.34) !important;
    border-radius: 20px !important;
}

body .orders-route-container .orders-page-shell .orders-item-card.active::before,
body .orders-route-container .orders-page-shell .orders-item-card.selected::before,
body .orders-route-container .orders-page-shell .orders-item-card:focus-visible::before,
body .orders-route-container .orders-page-shell .orders-item-card.nav-active::before,
body .orders-route-container .orders-page-shell .tv-item-selected::before {
    border-color: #74c6ff !important;
}

/* 4) disabled items stay navigable/focusable, but visually muted */
body .orders-route-container .orders-page-shell .orders-item-card.tv-item-restricted,
body .orders-route-container .orders-page-shell .orders-item-card[aria-disabled="True"],
body .orders-route-container .orders-page-shell .orders-item-card[aria-disabled="true"],
body .orders-route-container .orders-page-shell .orders-item-card[data-disabled="True"],
body .orders-route-container .orders-page-shell .orders-item-card[data-disabled="true"] {
    cursor: default !important;
}

body .orders-route-container .orders-page-shell .orders-item-card.tv-item-restricted::before,
body .orders-route-container .orders-page-shell .orders-item-card[aria-disabled="True"]::before,
body .orders-route-container .orders-page-shell .orders-item-card[aria-disabled="true"]::before,
body .orders-route-container .orders-page-shell .orders-item-card[data-disabled="True"]::before,
body .orders-route-container .orders-page-shell .orders-item-card[data-disabled="true"]::before {
    border-color: rgba(255,255,255,.08) !important;
}

/* keep custom arrow indicators visible */
body .orders-route-container .orders-page-shell .pos-menu .menu-scroll-arrow {
    z-index: 30 !important;
    display: none;
}
body .orders-route-container .orders-page-shell .pos-menu.has-overflow-top .menu-scroll-arrow-top,
body .orders-route-container .orders-page-shell .pos-menu.has-overflow-bottom .menu-scroll-arrow-bottom {
    display: flex !important;
}


/* =========================================================
   MENU CATEGORY SELECTED BORDER/COLOR REAL FIX
   ========================================================= */
:root {
    --ml-menucat-selected-border: #78cfff;
    --ml-menucat-selected-glow: rgba(120,207,255,.32);
    --ml-menucat-card-bg: linear-gradient(180deg, rgba(20,20,24,.98) 0%, rgba(28,28,34,.98) 100%);
}

/* actual tile surface */
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item::before,
body .orders-page-shell .pos-menu .pos-menu-item::before {
    background: var(--ml-menucat-card-bg) !important;
    border-color: rgba(255,255,255,.10) !important;
}

/* kill inner clipped highlight */
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item::after,
body .orders-page-shell .pos-menu .pos-menu-item::after {
    display: none !important;
    content: none !important;
}

/* real selected/focused state on actual tile */
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.active,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.selected,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.nav-active,
body .orders-page-shell .pos-menu .pos-menu-item.active,
body .orders-page-shell .pos-menu .pos-menu-item.selected,
body .orders-page-shell .pos-menu .pos-menu-item:focus-visible,
body .orders-page-shell .pos-menu .pos-menu-item.nav-active {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.12),
        0 0 0 6px var(--ml-menucat-selected-glow),
        0 14px 28px rgba(0,0,0,.30) !important;
    border-radius: 20px !important;
}

body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.active::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.selected::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.nav-active::before,
body .orders-page-shell .pos-menu .pos-menu-item.active::before,
body .orders-page-shell .pos-menu .pos-menu-item.selected::before,
body .orders-page-shell .pos-menu .pos-menu-item:focus-visible::before,
body .orders-page-shell .pos-menu .pos-menu-item.nav-active::before {
    border: 1px solid var(--ml-menucat-selected-border) !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.05),
        0 0 0 1px rgba(0,0,0,.02) !important;
}

/* selected icon/text crisp white */
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.active i,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.selected i,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible i,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.nav-active i,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.active span,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.selected span,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible span,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.nav-active span,
body .orders-page-shell .pos-menu .pos-menu-item.active i,
body .orders-page-shell .pos-menu .pos-menu-item.selected i,
body .orders-page-shell .pos-menu .pos-menu-item:focus-visible i,
body .orders-page-shell .pos-menu .pos-menu-item.nav-active i,
body .orders-page-shell .pos-menu .pos-menu-item.active span,
body .orders-page-shell .pos-menu .pos-menu-item.selected span,
body .orders-page-shell .pos-menu .pos-menu-item:focus-visible span,
body .orders-page-shell .pos-menu .pos-menu-item.nav-active span {
    color: #ffffff !important;
    opacity: 1 !important;
}


/* =========================================================
   CRISP SURFACE + TOP GLOW CLIP FIX
   - restore darker crisp card surface
   - stop top glow from being clipped
   - apply same principle to MenuCategory + MenuItems
   ========================================================= */

:root {
    --ml-crisp-surface-strong: linear-gradient(180deg, rgba(10,12,18,.985) 0%, rgba(18,20,28,.975) 100%);
    --ml-crisp-surface-softband: linear-gradient(180deg, rgba(66,66,74,.72) 0%, rgba(56,56,64,.70) 100%);
    --ml-crisp-border-normal: rgba(255,255,255,.12);
    --ml-crisp-border-selected: #74c6ff;
    --ml-crisp-glow-selected: rgba(116,198,255,.34);
}

/* let selected glow render fully */
body .orders-route-container .orders-page-shell,
body .orders-route-container .orders-page-shell .pos-container,
body .orders-route-container .orders-page-shell .pos-content,
body .orders-route-container .orders-page-shell .pos-content .pos-content-container,
body .orders-route-container .orders-page-shell .orders-items-grid,
body .orders-route-container .orders-page-shell .row.gx-4.pt-2.orders-items-grid,
body .orders-route-container .orders-page-shell .row.gx-4.orders-items-grid,
body .orders-route-container .orders-page-shell .pos-menu,
body .orders-route-container .orders-page-shell .pos-menu .nav-container,
body .orders-route-container .orders-page-shell .pos-menu .nav-tabs {
    overflow: visible !important;
}

/* preserve vertical behavior on actual menu rail host */
body .orders-route-container .orders-page-shell .pos-menu [data-nav-scope="orders-categories"],
body .orders-route-container .orders-page-shell .pos-menu > .h-100[data-nav-scope="orders-categories"],
body .orders-route-container .orders-page-shell .pos-menu .nav-container,
body .orders-route-container .orders-page-shell .pos-menu .nav-tabs {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* actual menu item card surface restored crisp dark */
body .orders-route-container .orders-page-shell .orders-item-card::before,
body .orders-route-container .orders-page-shell .pos-product.orders-item-card::before,
body .orders-route-container .orders-page-shell .pos-product::before {
    background: var(--ml-crisp-surface-strong) !important;
    border: 1px solid var(--ml-crisp-border-normal) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.30) !important;
}

body .orders-route-container .orders-page-shell .orders-item-card .info,
body .orders-route-container .orders-page-shell .pos-product.orders-item-card .info,
body .orders-route-container .orders-page-shell .pos-product .info {
    background: var(--ml-crisp-surface-softband) !important;
    border-top: 1px solid rgba(255,255,255,.07) !important;
    border-bottom-left-radius: 16px !important;
    border-bottom-right-radius: 16px !important;
    min-height: 78px !important;
    overflow: hidden !important;
}

/* actual menu item selected ring visible on all sides */
body .orders-route-container .orders-page-shell .orders-item-card,
body .orders-route-container .orders-page-shell .pos-product.orders-item-card,
body .orders-route-container .orders-page-shell .pos-product {
    margin-top: 6px !important;
    margin-bottom: 8px !important;
    border-radius: 20px !important;
}

body .orders-route-container .orders-page-shell .orders-item-card.active,
body .orders-route-container .orders-page-shell .orders-item-card.selected,
body .orders-route-container .orders-page-shell .orders-item-card:focus-visible,
body .orders-route-container .orders-page-shell .orders-item-card.nav-active,
body .orders-route-container .orders-page-shell .tv-item-selected,
body .orders-route-container .orders-page-shell .pos-product.active,
body .orders-route-container .orders-page-shell .pos-product.selected,
body .orders-route-container .orders-page-shell .pos-product:focus-visible,
body .orders-route-container .orders-page-shell .pos-product.nav-active {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.10),
        0 0 0 5px var(--ml-crisp-glow-selected),
        0 18px 34px rgba(0,0,0,.36) !important;
    border-radius: 22px !important;
}

body .orders-route-container .orders-page-shell .orders-item-card.active::before,
body .orders-route-container .orders-page-shell .orders-item-card.selected::before,
body .orders-route-container .orders-page-shell .orders-item-card:focus-visible::before,
body .orders-route-container .orders-page-shell .orders-item-card.nav-active::before,
body .orders-route-container .orders-page-shell .tv-item-selected::before,
body .orders-route-container .orders-page-shell .pos-product.active::before,
body .orders-route-container .orders-page-shell .pos-product.selected::before,
body .orders-route-container .orders-page-shell .pos-product:focus-visible::before,
body .orders-route-container .orders-page-shell .pos-product.nav-active::before {
    border-color: var(--ml-crisp-border-selected) !important;
}

/* restore category crisp surface */
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item::before {
    background: var(--ml-crisp-surface-strong) !important;
    border: 1px solid var(--ml-crisp-border-normal) !important;
    box-shadow: 0 12px 24px rgba(0,0,0,.24) !important;
}

body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item {
    margin-top: 6px !important;
    margin-bottom: 8px !important;
    border-radius: 20px !important;
}

body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.active,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.selected,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.nav-active {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.10),
        0 0 0 5px var(--ml-crisp-glow-selected),
        0 16px 30px rgba(0,0,0,.30) !important;
    border-radius: 22px !important;
}

body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.active::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.selected::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item:focus-visible::before,
body .orders-route-container .orders-page-shell .pos-menu .pos-menu-item.nav-active::before {
    border-color: var(--ml-crisp-border-selected) !important;
}


/* =========================================================
   MAIN SCREEN GLOW + MEAL INDICATOR PACK
   ========================================================= */
:root {
    --ml-main-glow-surface: linear-gradient(180deg, rgba(10,12,18,.985) 0%, rgba(18,20,28,.975) 100%);
    --ml-main-glow-border: rgba(255,255,255,.12);
    --ml-main-glow-selected: #74c6ff;
    --ml-main-glow-shadow: rgba(116,198,255,.34);
    --ml-meal-indicator-bg: rgba(14,18,28,.78);
    --ml-meal-indicator-border: rgba(255,255,255,.10);
    --ml-meal-indicator-green: #2fd27a;
}

/* actual main identity/info cards */
body .patient-info-card {
    position: relative !important;
    overflow: visible !important;
    border-radius: 20px !important;
    background: transparent !important;
    box-shadow: none !important;
}
body .patient-info-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 20px !important;
    background: var(--ml-main-glow-surface) !important;
    border: 1px solid var(--ml-main-glow-border) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.26) !important;
    z-index: 0 !important;
}
body .patient-info-card > * {
    position: relative !important;
    z-index: 1 !important;
}
body .patient-info-card:hover,
body .patient-info-card:focus-within {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.10),
        0 0 0 5px var(--ml-main-glow-shadow),
        0 18px 34px rgba(0,0,0,.30) !important;
    border-radius: 22px !important;
}
body .patient-info-card:hover::before,
body .patient-info-card:focus-within::before {
    border-color: var(--ml-main-glow-selected) !important;
}

/* actual meal period cards on main screen */
body [data-nav-scope="home-meals"] .card {
    position: relative !important;
    overflow: visible !important;
    border-radius: 20px !important;
    background: transparent !important;
    box-shadow: none !important;
}
body [data-nav-scope="home-meals"] .card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 20px !important;
    background: var(--ml-main-glow-surface) !important;
    border: 1px solid var(--ml-main-glow-border) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.26) !important;
    z-index: 0 !important;
}
body [data-nav-scope="home-meals"] .card > * {
    position: relative !important;
    z-index: 1 !important;
}
body [data-nav-scope="home-meals"] .card.tv-selected,
body [data-nav-scope="home-meals"] .card:hover,
body [data-nav-scope="home-meals"] .btn:focus-visible .card {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.10),
        0 0 0 5px var(--ml-main-glow-shadow),
        0 18px 34px rgba(0,0,0,.30) !important;
    border-radius: 22px !important;
}
body [data-nav-scope="home-meals"] .card.tv-selected::before,
body [data-nav-scope="home-meals"] .card:hover::before,
body [data-nav-scope="home-meals"] .btn:focus-visible .card::before {
    border-color: var(--ml-main-glow-selected) !important;
}

/* meal selected indicator */
body .meal-period-selected-indicator {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: var(--ml-meal-indicator-bg) !important;
    border: 1px solid var(--ml-meal-indicator-border) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.22) !important;
    z-index: 3 !important;
}
body .meal-period-selected-indicator__dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: var(--ml-meal-indicator-green) !important;
    box-shadow: 0 0 0 4px rgba(47,210,122,.16) !important;
}
body .meal-period-selected-indicator__text {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* ordered meal card subtle accent */
body [data-nav-scope="home-meals"] .meal-period-card--ordered::before {
    border-color: rgba(47,210,122,.34) !important;
}

/* nursing station icon polish on actual card */
body .patient-info-card__icon .fa-hospital,
body .patient-info-card__icon .fa-hospital-o {
    font-size: 1.22rem !important;
    line-height: 1 !important;
}


/* =========================================================
   MEAL PERIOD BLUE + NETFLIX GLOW PACK
   - keep meal period cards blue
   - add stronger hover/focus glow
   ========================================================= */
:root {
    --ml-meal-blue-surface: linear-gradient(180deg, rgba(17,57,150,.98) 0%, rgba(21,76,196,.98) 100%);
    --ml-meal-blue-border: rgba(130,190,255,.34);
    --ml-meal-blue-glow: rgba(76, 165, 255, .42);
    --ml-meal-blue-glow-outer: rgba(76, 165, 255, .22);
}

/* actual main-screen meal period cards */
body [data-nav-scope="home-meals"] .card,
body .meal-period-card,
body .order-meal-card {
    position: relative !important;
    overflow: visible !important;
    border-radius: 20px !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: translateZ(0) scale(1) !important;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease !important;
}

body [data-nav-scope="home-meals"] .card::before,
body .meal-period-card::before,
body .order-meal-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 20px !important;
    background: var(--ml-meal-blue-surface) !important;
    border: 1px solid var(--ml-meal-blue-border) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.26) !important;
    z-index: 0 !important;
    transition:
        border-color .18s ease,
        box-shadow .18s ease !important;
}

body [data-nav-scope="home-meals"] .card > *,
body .meal-period-card > *,
body .order-meal-card > * {
    position: relative !important;
    z-index: 1 !important;
}

body [data-nav-scope="home-meals"] .card:hover,
body [data-nav-scope="home-meals"] .card.tv-selected,
body [data-nav-scope="home-meals"] .btn:focus-visible .card,
body .meal-period-card:hover,
body .meal-period-card.tv-selected,
body .meal-period-card:focus-visible,
body .order-meal-card:hover,
body .order-meal-card.tv-selected,
body .order-meal-card:focus-visible {
    transform: scale(1.022) !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.10),
        0 0 0 5px var(--ml-meal-blue-glow),
        0 0 24px 6px var(--ml-meal-blue-glow-outer),
        0 22px 42px rgba(0,0,0,.34) !important;
    border-radius: 22px !important;
    filter: saturate(1.05) brightness(1.03) !important;
}

body [data-nav-scope="home-meals"] .card:hover::before,
body [data-nav-scope="home-meals"] .card.tv-selected::before,
body [data-nav-scope="home-meals"] .btn:focus-visible .card::before,
body .meal-period-card:hover::before,
body .meal-period-card.tv-selected::before,
body .meal-period-card:focus-visible::before,
body .order-meal-card:hover::before,
body .order-meal-card.tv-selected::before,
body .order-meal-card:focus-visible::before {
    border-color: #89d1ff !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.06),
        0 18px 34px rgba(0,0,0,.30) !important;
}

/* ordered meal period cards stay blue but slightly richer */
body [data-nav-scope="home-meals"] .meal-period-card--ordered::before,
body .meal-period-card--ordered::before {
    border-color: rgba(151,214,255,.46) !important;
}


/* =========================================================
   ARABIC FIRST-PAINT FLICKER FIX
   Hide translated content very briefly until language/dir is applied
   ========================================================= */
html.lang-pending body .home-screen-root,
html.lang-pending body .index-page-root,
html.lang-pending body [data-page="home-index"],
body.lang-pending .home-screen-root,
body.lang-pending .index-page-root,
body.lang-pending [data-page="home-index"] {
    visibility: hidden !important;
}

html.lang-ready body .home-screen-root,
html.lang-ready body .index-page-root,
html.lang-ready body [data-page="home-index"],
body.lang-ready .home-screen-root,
body.lang-ready .index-page-root,
body.lang-ready [data-page="home-index"] {
    visibility: visible !important;
}


/* =========================================================
   GUEST ORDER NAV + BUTTON FONT + NETFLIX FOCUS PACK
   ========================================================= */

:root {
    --ml-btn-font-size-consistent: 18px;
    --ml-btn-font-weight-consistent: 700;
    --ml-btn-line-height-consistent: 1.18;
    --ml-btn-letter-spacing-consistent: .01em;
    --ml-focus-netflix-glow: rgba(116,198,255,.34);
    --ml-focus-netflix-ring: #74c6ff;
}

body button,
body .btn,
body input[type="button"],
body input[type="submit"],
body .app-btn-consistent,
body .orders-page-shell .btn,
body .orders-route-container .btn,
body .modal .btn,
body [data-nav-scope="home-actions"] .btn,
body [data-nav-scope="home-meals"] .btn {
    font-size: var(--ml-btn-font-size-consistent) !important;
    font-weight: var(--ml-btn-font-weight-consistent) !important;
    line-height: var(--ml-btn-line-height-consistent) !important;
    letter-spacing: var(--ml-btn-letter-spacing-consistent) !important;
    text-rendering: geometricPrecision !important;
}

body .btn-lg,
body .orders-page-shell .btn-lg,
body .orders-route-container .btn-lg {
    font-size: 19px !important;
}

body .focusable,
body .btn,
body .card,
body .pos-menu-item,
body .orders-item-card,
body .pos-product {
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease,
        filter .18s ease !important;
    transform-origin: center center !important;
}

body .guest-order-btn,
body [data-nav-id="guest-order"],
body .focusable:focus-visible,
body .focusable.nav-active,
body .btn:focus-visible,
body .btn.nav-active {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.10),
        0 0 0 5px var(--ml-focus-netflix-glow),
        0 18px 34px rgba(0,0,0,.30) !important;
    transform: scale(1.022) !important;
    border-color: var(--ml-focus-netflix-ring) !important;
    outline: none !important;
}

body .guest-order-btn:focus-visible,
body .guest-order-btn.nav-active,
body [data-nav-id="guest-order"]:focus-visible,
body [data-nav-id="guest-order"].nav-active {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.10),
        0 0 0 6px var(--ml-focus-netflix-glow),
        0 20px 38px rgba(0,0,0,.32) !important;
    transform: scale(1.028) !important;
}


/* =========================================================
   PATIENT INFO NON-FOCUSABLE / GUEST ORDER ONLY
   ========================================================= */

/* Patient info area should not look focusable */
body [data-nav-scope="patient-info"] .patient-info-card,
body .patient-info-nonfocus,
body [data-nav-scope="patient-info"] .card:not(.guest-order-btn):not([data-nav-id="guest-order"]) {
    pointer-events: none !important;
}

body [data-nav-scope="patient-info"] .patient-info-card *,
body .patient-info-nonfocus * {
    pointer-events: none !important;
}

/* Keep Guest Order explicitly focusable/clickable */
body [data-nav-id="guest-order"],
body .guest-order-btn,
body [data-nav-scope="patient-info"] [data-nav-id="guest-order"],
body [data-nav-scope="patient-info"] .guest-order-btn {
    pointer-events: auto !important;
}

/* remove focus styling from nonfocus patient cards if something lands there */
body [data-nav-scope="patient-info"] .patient-info-card:focus,
body [data-nav-scope="patient-info"] .patient-info-card:focus-visible,
body .patient-info-nonfocus:focus,
body .patient-info-nonfocus:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
}


/* =========================================================
   GUEST ORDER REAL SELECTOR FOCUS FIX
   ========================================================= */
body .guest-order-btn,
body [data-nav-id="guest-order-open"] {
    pointer-events: auto !important;
    position: relative !important;
}

body .guest-order-btn:focus-visible,
body .guest-order-btn.nav-active,
body [data-nav-id="guest-order-open"]:focus-visible,
body [data-nav-id="guest-order-open"].nav-active {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.10),
        0 0 0 6px rgba(116,198,255,.34),
        0 20px 38px rgba(0,0,0,.32) !important;
    transform: scale(1.028) !important;
    outline: none !important;
}


/* =========================================================
   GUEST ORDER ONLY FOCUS - FINAL LOCK
   ========================================================= */
body .nav-suppressed,
body .nav-suppressed * {
    pointer-events: none !important;
}

body .nav-suppressed:focus,
body .nav-suppressed:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
}

body [data-nav-id="guest-order-open"],
body .guest-order-btn {
    pointer-events: auto !important;
}


/* =========================================================
   EXIT CONFIRMATION POPUP REMOTE NAV FIX
   ========================================================= */
#iframeExitPrompt .btn:focus-visible,
#iframeExitPrompt .btn.nav-active,
#iframeExitConfirmModal .btn:focus-visible,
#iframeExitConfirmModal .btn.nav-active,
[data-nav-id="iframe-exit-cancel"]:focus-visible,
[data-nav-id="iframe-exit-confirm"]:focus-visible,
[data-nav-id="iframe-exit-cancel"].nav-active,
[data-nav-id="iframe-exit-confirm"].nav-active {
    outline: none !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.14),
        0 0 0 6px rgba(116,198,255,.34),
        0 16px 30px rgba(0,0,0,.32) !important;
    transform: scale(1.035) !important;
}


/* =========================================================
   FINAL FIX: GUEST ORDER FOCUS + MEALS SELECTED
   ========================================================= */
body .nav-suppressed,
body .nav-suppressed * {
    pointer-events: none !important;
}

body .nav-suppressed:focus,
body .nav-suppressed:focus-visible,
body .nav-suppressed.nav-active {
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
}

body [data-nav-id="guest-order-open"],
body .guest-order-btn {
    pointer-events: auto !important;
    position: relative !important;
}

body [data-nav-id="guest-order-open"]:focus-visible,
body [data-nav-id="guest-order-open"].nav-active,
body .guest-order-btn:focus-visible,
body .guest-order-btn.nav-active {
    outline: none !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.14),
        0 0 0 6px rgba(116,198,255,.38),
        0 20px 38px rgba(0,0,0,.34) !important;
    transform: scale(1.035) !important;
}


/* =========================================================
   MEALS SELECTED STRICT VISIBILITY + NAV RECOVER
   ========================================================= */
body .nav-suppressed,
body .nav-suppressed:focus,
body .nav-suppressed:focus-visible,
body .nav-suppressed.nav-active {
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
}

body [data-nav-id="guest-order-open"],
body .guest-order-btn {
    pointer-events: auto !important;
}

/* Only cards marked ordered may show Meals Selected indicator */
body [data-nav-scope="home-meals"] .card:not(.meal-period-card--ordered) .meal-period-selected-indicator {
    display: none !important;
}


/* =========================================================
   GUEST ORDER EXPLICIT EDGE BRIDGE FOCUS
   ========================================================= */
body [data-nav-id="guest-order-open"],
body .guest-order-btn {
    pointer-events: auto !important;
    position: relative !important;
}

body [data-nav-id="guest-order-open"]:focus-visible,
body [data-nav-id="guest-order-open"].nav-active,
body .guest-order-btn:focus-visible,
body .guest-order-btn.nav-active {
    outline: none !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.14),
        0 0 0 6px rgba(116,198,255,.38),
        0 20px 38px rgba(0,0,0,.34) !important;
    transform: scale(1.035) !important;
}


/* =========================================================
   FOCUS REFINEMENT + GUEST ORDER NAV PACK
   ========================================================= */
:root {
    --ml-focus-glow: rgba(116,198,255,.36);
    --ml-focus-ring: #74c6ff;
    --ml-focus-shadow: 0 20px 38px rgba(0,0,0,.34);
    --ml-btn-font-size: 18px;
    --ml-btn-font-weight: 700;
}

body .btn,
body button,
body input[type="button"],
body input[type="submit"] {
    font-size: var(--ml-btn-font-size) !important;
    font-weight: var(--ml-btn-font-weight) !important;
    line-height: 1.18 !important;
    letter-spacing: .01em !important;
    text-rendering: geometricPrecision !important;
}

/* Smooth Netflix-like motion without changing layout */
body .focusable,
body .btn,
body [data-nav-id],
body .card,
body .patient-info-card,
body .meal-period-card,
body .orders-item-card,
body .pos-product,
body .pos-menu-item {
    transition:
        transform .18s cubic-bezier(.2,.8,.2,1),
        box-shadow .18s cubic-bezier(.2,.8,.2,1),
        border-color .18s ease,
        filter .18s ease !important;
    transform-origin: center center !important;
    will-change: transform, box-shadow;
}

/* Unified focus glow */
body .focusable:focus-visible,
body .focusable.nav-active,
body [data-nav-id]:focus-visible,
body [data-nav-id].nav-active,
body .btn:focus-visible,
body .btn.nav-active {
    outline: none !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.12),
        0 0 0 6px var(--ml-focus-glow),
        var(--ml-focus-shadow) !important;
    transform: scale(1.026) !important;
    border-color: var(--ml-focus-ring) !important;
    filter: brightness(1.04) saturate(1.04) !important;
}

body [data-nav-id="guest-order-open"],
body .guest-order-btn {
    pointer-events: auto !important;
    position: relative !important;
}

body [data-nav-id="guest-order-open"]:focus-visible,
body [data-nav-id="guest-order-open"].nav-active,
body .guest-order-btn:focus-visible,
body .guest-order-btn.nav-active {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.14),
        0 0 0 7px rgba(116,198,255,.40),
        0 22px 42px rgba(0,0,0,.36) !important;
    transform: scale(1.04) !important;
}

/* Keep passive patient cards visually stable unless they contain Guest Order */
body .patient-info-card.patient-info-nonfocus:not(.patient-info-card--guest-order):focus,
body .patient-info-card.patient-info-nonfocus:not(.patient-info-card--guest-order):focus-visible,
body .patient-info-card.patient-info-nonfocus:not(.patient-info-card--guest-order).nav-active {
    transform: none !important;
    box-shadow: none !important;
    outline: none !important;
}

@media (prefers-reduced-motion: reduce) {
    body .focusable,
    body .btn,
    body [data-nav-id],
    body .card,
    body .patient-info-card,
    body .meal-period-card,
    body .orders-item-card,
    body .pos-product,
    body .pos-menu-item {
        transition: none !important;
    }
}


/* =========================================================
   SCROLLINTO VIEW GLOBAL FIX + TV SAFE FOCUS
   ========================================================= */
body.legacy-tv-browser .focusable,
body.legacy-tv-browser [data-nav-id],
body.legacy-tv-browser .btn,
body.legacy-tv-browser .card,
body.legacy-tv-browser .patient-info-card,
body.legacy-tv-browser .meal-period-card,
body.legacy-tv-browser .orders-item-card,
body.legacy-tv-browser .pos-product,
body.legacy-tv-browser .pos-menu-item {
    transform: none !important;
    transition: border-color .12s linear, box-shadow .12s linear !important;
    will-change: auto !important;
    filter: none !important;
}

html.legacy-tv-browser [data-nav-scope="home-meals"] .card,
body.legacy-tv-browser [data-nav-scope="home-meals"] .card,
html.legacy-tv-browser .meal-period-card,
body.legacy-tv-browser .meal-period-card {
    background: rgba(16, 20, 30, 0.72) !important;
    border: 2px solid rgba(255,255,255,0.42) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.24) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

body.legacy-tv-browser * {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}


/* =========================================================
   FINAL SCROLL/FIELD TV COMPATIBILITY FIX
   ========================================================= */
body.legacy-tv-browser .focusable,
body.legacy-tv-browser [data-nav-id],
body.legacy-tv-browser .btn,
body.legacy-tv-browser .card,
body.legacy-tv-browser .patient-info-card,
body.legacy-tv-browser .meal-period-card,
body.legacy-tv-browser .orders-item-card,
body.legacy-tv-browser .pos-product,
body.legacy-tv-browser .pos-menu-item {
    transform: none !important;
    transition: border-color .12s linear, box-shadow .12s linear !important;
    will-change: auto !important;
    filter: none !important;
}

html.legacy-tv-browser [data-nav-scope="home-meals"] .card,
body.legacy-tv-browser [data-nav-scope="home-meals"] .card,
html.legacy-tv-browser .meal-period-card,
body.legacy-tv-browser .meal-period-card {
    background: rgba(16, 20, 30, 0.72) !important;
    border: 2px solid rgba(255,255,255,0.42) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.24) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

body.legacy-tv-browser * {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}


/* =========================================================
   CHROME 68 FINAL LAYOUT + NAV COMPATIBILITY
   ========================================================= */

body.legacy-tv-browser .patient-info-card:not(.patient-info-card--guest-order):focus,
body.legacy-tv-browser .patient-info-card:not(.patient-info-card--guest-order).nav-active,
body.legacy-tv-browser .home-patient-card:focus,
body.legacy-tv-browser .home-patient-card.nav-active {
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
}

html.legacy-tv-browser [data-nav-scope="home-meals"] .card,
body.legacy-tv-browser [data-nav-scope="home-meals"] .card,
html.legacy-tv-browser .meal-period-card,
body.legacy-tv-browser .meal-period-card,
html.legacy-tv-browser .meal-card,
body.legacy-tv-browser .meal-card,
html.legacy-tv-browser .order-meal-card,
body.legacy-tv-browser .order-meal-card {
    background: rgba(16, 20, 30, 0.72) !important;
    border: 2px solid rgba(255,255,255,0.42) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.24) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

html.legacy-tv-browser [data-nav-scope="home-meals"] .card:focus,
body.legacy-tv-browser [data-nav-scope="home-meals"] .card:focus,
html.legacy-tv-browser [data-nav-scope="home-meals"] .card.nav-active,
body.legacy-tv-browser [data-nav-scope="home-meals"] .card.nav-active,
html.legacy-tv-browser .meal-period-card:focus,
body.legacy-tv-browser .meal-period-card:focus,
html.legacy-tv-browser .meal-period-card.nav-active,
body.legacy-tv-browser .meal-period-card.nav-active {
    border: 3px solid rgba(255,255,255,0.92) !important;
    box-shadow:
        0 0 0 3px rgba(116,198,255,.34),
        0 12px 28px rgba(0,0,0,.30) !important;
    outline: none !important;
    transform: none !important;
}

body.legacy-tv-browser .orders-page-shell .orders-item-card,
body.legacy-tv-browser .orders-page-shell .pos-product.orders-item-card,
body.legacy-tv-browser .orders-page-shell .pos-product {
    min-height: 292px !important;
    height: 292px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 18px !important;
}

body.legacy-tv-browser .orders-page-shell .orders-item-card .modal-pos-product-img,
body.legacy-tv-browser .orders-page-shell .pos-product.orders-item-card .modal-pos-product-img {
    height: 178px !important;
    min-height: 178px !important;
    flex: 0 0 178px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

body.legacy-tv-browser .orders-page-shell .orders-item-card .modal-pos-product-img .img,
body.legacy-tv-browser .orders-page-shell .pos-product.orders-item-card .modal-pos-product-img .img {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}

body.legacy-tv-browser .tv-item-img-fallback {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    max-width: 86% !important;
    max-height: 86% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

body.legacy-tv-browser .orders-page-shell .orders-item-card .info,
body.legacy-tv-browser .orders-page-shell .pos-product .info,
body.legacy-tv-browser .orders-page-shell .orders-item-card .product-info {
    flex: 1 1 auto !important;
    min-height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 10px 12px !important;
}

body.legacy-tv-browser .orders-page-shell .orders-item-card .title,
body.legacy-tv-browser .orders-page-shell .pos-product .title,
body.legacy-tv-browser .orders-page-shell .orders-item-card .product-name {
    width: 100% !important;
    text-align: center !important;
    line-height: 1.22 !important;
}

body.legacy-tv-browser .focusable,
body.legacy-tv-browser [data-nav-id],
body.legacy-tv-browser .btn,
body.legacy-tv-browser .card,
body.legacy-tv-browser .patient-info-card,
body.legacy-tv-browser .meal-period-card,
body.legacy-tv-browser .orders-item-card,
body.legacy-tv-browser .pos-product,
body.legacy-tv-browser .pos-menu-item {
    transform: none !important;
    transition: border-color .12s linear, box-shadow .12s linear !important;
    will-change: auto !important;
    filter: none !important;
}

body.legacy-tv-browser * {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}


/* =========================================================
   CHROME 68 HOME + ORDER VISUAL/NAV PATCH
   ========================================================= */

/* Chrome68 main meal-period cards: force the same blue card surface */
html.legacy-tv-browser .chrome68-meal-period-card,
body.legacy-tv-browser .chrome68-meal-period-card,
html.legacy-tv-browser [data-nav-scope="home-meals"] .card,
body.legacy-tv-browser [data-nav-scope="home-meals"] .card,
html.legacy-tv-browser .meal-period-card,
body.legacy-tv-browser .meal-period-card,
html.legacy-tv-browser .meal-card,
body.legacy-tv-browser .meal-card,
html.legacy-tv-browser .order-meal-card,
body.legacy-tv-browser .order-meal-card {
    background: linear-gradient(135deg, #1240a8 0%, #1f6fff 100%) !important;
    border: 2px solid rgba(143,211,255,.62) !important;
    border-radius: 18px !important;
    color: #fff !important;
    box-shadow: 0 12px 26px rgba(0,0,0,.28) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

html.legacy-tv-browser .chrome68-meal-period-card:focus,
body.legacy-tv-browser .chrome68-meal-period-card:focus,
html.legacy-tv-browser .chrome68-meal-period-card.nav-active,
body.legacy-tv-browser .chrome68-meal-period-card.nav-active,
html.legacy-tv-browser [data-nav-scope="home-meals"] .card:focus,
body.legacy-tv-browser [data-nav-scope="home-meals"] .card:focus,
html.legacy-tv-browser [data-nav-scope="home-meals"] .card.nav-active,
body.legacy-tv-browser [data-nav-scope="home-meals"] .card.nav-active {
    border: 3px solid rgba(255,255,255,.96) !important;
    box-shadow:
        0 0 0 3px rgba(116,198,255,.42),
        0 0 22px rgba(91,181,255,.38),
        0 12px 28px rgba(0,0,0,.30) !important;
    outline: none !important;
    transform: none !important;
}

/* Remove focus from passive patient cards on Chrome68 */
body.legacy-tv-browser .patient-info-card:not(.patient-info-card--guest-order),
body.legacy-tv-browser .home-patient-card {
    outline: none !important;
}

body.legacy-tv-browser .patient-info-card:not(.patient-info-card--guest-order):focus,
body.legacy-tv-browser .patient-info-card:not(.patient-info-card--guest-order).nav-active,
body.legacy-tv-browser .home-patient-card:focus,
body.legacy-tv-browser .home-patient-card.nav-active {
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Chrome68 Orders item cards: stable image/name alignment */
body.legacy-tv-browser .orders-page-shell .orders-item-card,
body.legacy-tv-browser .orders-page-shell .pos-product.orders-item-card,
body.legacy-tv-browser .orders-page-shell .pos-product {
    height: 292px !important;
    min-height: 292px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 18px !important;
}

body.legacy-tv-browser .orders-page-shell .orders-item-card .modal-pos-product-img,
body.legacy-tv-browser .orders-page-shell .pos-product.orders-item-card .modal-pos-product-img {
    height: 178px !important;
    min-height: 178px !important;
    flex: 0 0 178px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

body.legacy-tv-browser .orders-page-shell .orders-item-card .modal-pos-product-img .img,
body.legacy-tv-browser .orders-page-shell .pos-product.orders-item-card .modal-pos-product-img .img {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}

body.legacy-tv-browser .tv-item-img-fallback {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    max-width: 86% !important;
    max-height: 86% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

body.legacy-tv-browser .orders-page-shell .orders-item-card .info,
body.legacy-tv-browser .orders-page-shell .pos-product .info,
body.legacy-tv-browser .orders-page-shell .orders-item-card .product-info,
body.legacy-tv-browser .orders-page-shell .orders-item-card .content,
body.legacy-tv-browser .orders-page-shell .pos-product .content {
    flex: 1 1 auto !important;
    min-height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 10px 12px !important;
    background: rgba(38,39,48,.92) !important;
}

body.legacy-tv-browser .orders-page-shell .orders-item-card .title,
body.legacy-tv-browser .orders-page-shell .pos-product .title,
body.legacy-tv-browser .orders-page-shell .orders-item-card .product-name,
body.legacy-tv-browser .orders-page-shell .pos-product .product-name {
    width: 100% !important;
    text-align: center !important;
    line-height: 1.22 !important;
}

/* Review panel: remove accidental nested scrollbars and fit action button */
body.legacy-tv-browser .orders-page-shell .pos-sidebar,
body.legacy-tv-browser .orders-page-shell .pos-sidebar-body,
body.legacy-tv-browser .orders-page-shell .order-review,
body.legacy-tv-browser .orders-page-shell .review-panel {
    overflow-x: hidden !important;
}

body.legacy-tv-browser .orders-page-shell .pos-order-product,
body.legacy-tv-browser .orders-page-shell .review-item,
body.legacy-tv-browser .orders-page-shell .order-review-item {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    box-sizing: border-box !important;
}

body.legacy-tv-browser .orders-page-shell .pos-order-product .info,
body.legacy-tv-browser .orders-page-shell .review-item .info,
body.legacy-tv-browser .orders-page-shell .order-review-item .info {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
}

body.legacy-tv-browser .orders-page-shell .pos-order-product .title,
body.legacy-tv-browser .orders-page-shell .review-item .title,
body.legacy-tv-browser .orders-page-shell .order-review-item .title {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

body.legacy-tv-browser .orders-page-shell .pos-order-product .btn,
body.legacy-tv-browser .orders-page-shell .review-item .btn,
body.legacy-tv-browser .orders-page-shell .order-review-item .btn {
    flex: 0 0 auto !important;
    min-width: 96px !important;
    max-width: 130px !important;
}

/* TV mode only: avoid render-jumping effects */
body.legacy-tv-browser .focusable,
body.legacy-tv-browser [data-nav-id],
body.legacy-tv-browser .btn,
body.legacy-tv-browser .card,
body.legacy-tv-browser .patient-info-card,
body.legacy-tv-browser .meal-period-card,
body.legacy-tv-browser .orders-item-card,
body.legacy-tv-browser .pos-product,
body.legacy-tv-browser .pos-menu-item {
    transform: none !important;
    transition: border-color .12s linear, box-shadow .12s linear !important;
    will-change: auto !important;
    filter: none !important;
}

body.legacy-tv-browser * {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}


/* ===== CHROME68 FORCE BLUE OVERRIDE ===== */
html.legacy-tv-browser .meal-period-card,
html.legacy-tv-browser .meal-card,
html.legacy-tv-browser .home-meal-card,
html.legacy-tv-browser [data-nav-scope='home-meals'] .card,
body.legacy-tv-browser .meal-period-card,
body.legacy-tv-browser .meal-card,
body.legacy-tv-browser .home-meal-card,
body.legacy-tv-browser [data-nav-scope='home-meals'] .card
{
    background: #1548c9 !important;
    background-image: none !important;
    border: 2px solid rgba(135,200,255,.75) !important;
    color: #ffffff !important;
    opacity: 1 !important;
    filter: none !important;
}

html.legacy-tv-browser .meal-period-card *,
html.legacy-tv-browser .meal-card *,
html.legacy-tv-browser .home-meal-card *,
body.legacy-tv-browser .meal-period-card *,
body.legacy-tv-browser .meal-card *,
body.legacy-tv-browser .home-meal-card *
{
    color: #ffffff !important;
}

/* Remove accidental transparent overlays */
html.legacy-tv-browser .meal-period-card:before,
html.legacy-tv-browser .meal-period-card:after,
body.legacy-tv-browser .meal-period-card:before,
body.legacy-tv-browser .meal-period-card:after
{
    opacity: 0 !important;
    background: transparent !important;
}


/* =========================================================
   ORDER REVIEW PANEL FIX - ALL BROWSERS
   Prevent menu-item image/card styles from leaking into review panel.
   ========================================================= */

.orders-page-shell .pos-sidebar,
.orders-page-shell .pos-sidebar-body,
.orders-page-shell .review-panel,
.orders-page-shell .order-review,
.orders-page-shell .pos-order {
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

.orders-page-shell .pos-order-product,
.orders-page-shell .review-item,
.orders-page-shell .order-review-item,
.orders-page-shell .cart-item,
.orders-page-shell .selected-order-item {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 86px !important;
    max-height: 112px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 12px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.orders-page-shell .pos-order-product .img,
.orders-page-shell .pos-order-product img,
.orders-page-shell .review-item .img,
.orders-page-shell .review-item img,
.orders-page-shell .order-review-item .img,
.orders-page-shell .order-review-item img,
.orders-page-shell .cart-item .img,
.orders-page-shell .cart-item img,
.orders-page-shell .selected-order-item .img,
.orders-page-shell .selected-order-item img {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    flex: 0 0 64px !important;
    object-fit: contain !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

.orders-page-shell .pos-order-product .info,
.orders-page-shell .review-item .info,
.orders-page-shell .order-review-item .info,
.orders-page-shell .cart-item .info,
.orders-page-shell .selected-order-item .info {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
    display: block !important;
}

.orders-page-shell .pos-order-product .title,
.orders-page-shell .pos-order-product .name,
.orders-page-shell .review-item .title,
.orders-page-shell .review-item .name,
.orders-page-shell .order-review-item .title,
.orders-page-shell .order-review-item .name,
.orders-page-shell .cart-item .title,
.orders-page-shell .cart-item .name,
.orders-page-shell .selected-order-item .title,
.orders-page-shell .selected-order-item .name {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    line-height: 1.2 !important;
    max-height: 44px !important;
    overflow: hidden !important;
}

.orders-page-shell .pos-order-product .btn,
.orders-page-shell .review-item .btn,
.orders-page-shell .order-review-item .btn,
.orders-page-shell .cart-item .btn,
.orders-page-shell .selected-order-item .btn {
    flex: 0 0 auto !important;
    min-width: 88px !important;
    max-width: 126px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
}

.orders-page-shell .pos-sidebar * {
    max-width: 100%;
}

.orders-page-shell .pos-sidebar .modal-pos-product-img,
.orders-page-shell .pos-sidebar .product-image,
.orders-page-shell .pos-sidebar .item-image {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    flex: 0 0 64px !important;
}

.orders-page-shell .pos-sidebar-footer,
.orders-page-shell .review-footer {
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.orders-page-shell .pos-sidebar-footer .btn,
.orders-page-shell .review-footer .btn {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}


/* =========================================================
   ORDER ITEM NAME STRIP ALIGNMENT FIX - ALL BROWSERS
   Keeps item-name area full-width and fixed-height regardless of text length.
   ========================================================= */

.orders-page-shell .orders-item-card,
.orders-page-shell .pos-product.orders-item-card,
.orders-page-shell .pos-product {
    position: relative !important;
    overflow: hidden !important;
}

.orders-page-shell .orders-item-card .info,
.orders-page-shell .orders-item-card .content,
.orders-page-shell .orders-item-card .product-info,
.orders-page-shell .pos-product .info,
.orders-page-shell .pos-product .content,
.orders-page-shell .pos-product .product-info {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    flex: 0 0 76px !important;
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    padding: 8px 12px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: rgba(48, 49, 57, 0.92) !important;
}

.orders-page-shell .orders-item-card .title,
.orders-page-shell .orders-item-card .name,
.orders-page-shell .orders-item-card .product-name,
.orders-page-shell .pos-product .title,
.orders-page-shell .pos-product .name,
.orders-page-shell .pos-product .product-name {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    text-align: center !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

/* keep unavailable/secondary text aligned under name */
.orders-page-shell .orders-item-card .subtitle,
.orders-page-shell .orders-item-card .status,
.orders-page-shell .orders-item-card .unavailable,
.orders-page-shell .pos-product .subtitle,
.orders-page-shell .pos-product .status,
.orders-page-shell .pos-product .unavailable {
    width: 100% !important;
    text-align: center !important;
    line-height: 1.15 !important;
    margin-top: 4px !important;
}

/* Chrome 68 safety: no shrink/expand of item-name strip */
body.legacy-tv-browser .orders-page-shell .orders-item-card .info,
body.legacy-tv-browser .orders-page-shell .orders-item-card .content,
body.legacy-tv-browser .orders-page-shell .orders-item-card .product-info,
body.legacy-tv-browser .orders-page-shell .pos-product .info,
body.legacy-tv-browser .orders-page-shell .pos-product .content,
body.legacy-tv-browser .orders-page-shell .pos-product .product-info {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    flex: 0 0 76px !important;
}


/* =========================================================
   ORDER ITEM NAME STRIP HEIGHT REFINEMENT
   Removes extra bottom space while keeping full-width alignment.
   ========================================================= */

.orders-page-shell .orders-item-card .info,
.orders-page-shell .orders-item-card .content,
.orders-page-shell .orders-item-card .product-info,
.orders-page-shell .pos-product .info,
.orders-page-shell .pos-product .content,
.orders-page-shell .pos-product .product-info {
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    flex: 0 0 58px !important;
    padding: 6px 12px !important;
    justify-content: center !important;
}

.orders-page-shell .orders-item-card .title,
.orders-page-shell .orders-item-card .name,
.orders-page-shell .orders-item-card .product-name,
.orders-page-shell .pos-product .title,
.orders-page-shell .pos-product .name,
.orders-page-shell .pos-product .product-name {
    line-height: 1.12 !important;
    max-height: 42px !important;
    margin: 0 !important;
}

.orders-page-shell .orders-item-card .subtitle,
.orders-page-shell .orders-item-card .status,
.orders-page-shell .orders-item-card .unavailable,
.orders-page-shell .pos-product .subtitle,
.orders-page-shell .pos-product .status,
.orders-page-shell .pos-product .unavailable {
    margin-top: 2px !important;
    line-height: 1.08 !important;
}

body.legacy-tv-browser .orders-page-shell .orders-item-card .info,
body.legacy-tv-browser .orders-page-shell .orders-item-card .content,
body.legacy-tv-browser .orders-page-shell .orders-item-card .product-info,
body.legacy-tv-browser .orders-page-shell .pos-product .info,
body.legacy-tv-browser .orders-page-shell .pos-product .content,
body.legacy-tv-browser .orders-page-shell .pos-product .product-info {
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    flex: 0 0 58px !important;
    padding: 6px 12px !important;
}

/* =========================================================
   HOME MEAL PERIOD KEYBOARD NAV REFINEMENT
   Explicit focus styling for Home meal cards once JS assigns focusable classes.
   ========================================================= */

.home-meal-nav-target,
[data-nav-role="home-meal-period"] {
    cursor: pointer;
}

.home-meal-nav-target:focus,
.home-meal-nav-target.nav-active,
[data-nav-role="home-meal-period"]:focus,
[data-nav-role="home-meal-period"].nav-active {
    outline: none !important;
    border: 3px solid rgba(255,255,255,.95) !important;
    box-shadow:
        0 0 0 3px rgba(116,198,255,.36),
        0 0 22px rgba(91,181,255,.36),
        0 12px 28px rgba(0,0,0,.30) !important;
}

body.legacy-tv-browser .home-meal-nav-target,
body.legacy-tv-browser [data-nav-role="home-meal-period"] {
    background: linear-gradient(135deg, #1240a8 0%, #1f6fff 100%) !important;
    border: 2px solid rgba(143,211,255,.62) !important;
    color: #fff !important;
}


/* =========================================================
   ORDER ITEM IMAGE/NAME WIDTH MATCH FIX
   Makes image container and name strip same visual width.
   ========================================================= */

.orders-page-shell .orders-item-card,
.orders-page-shell .pos-product.orders-item-card,
.orders-page-shell .pos-product {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: hidden !important;
}

.orders-page-shell .orders-item-card .modal-pos-product-img,
.orders-page-shell .orders-item-card .product-image,
.orders-page-shell .orders-item-card .item-image,
.orders-page-shell .pos-product .modal-pos-product-img,
.orders-page-shell .pos-product .product-image,
.orders-page-shell .pos-product .item-image {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 0 !important;
}

.orders-page-shell .orders-item-card .modal-pos-product-img .img,
.orders-page-shell .orders-item-card .product-image .img,
.orders-page-shell .orders-item-card .item-image .img,
.orders-page-shell .pos-product .modal-pos-product-img .img,
.orders-page-shell .pos-product .product-image .img,
.orders-page-shell .pos-product .item-image .img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.orders-page-shell .orders-item-card .info,
.orders-page-shell .orders-item-card .content,
.orders-page-shell .orders-item-card .product-info,
.orders-page-shell .pos-product .info,
.orders-page-shell .pos-product .content,
.orders-page-shell .pos-product .product-info {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 0 0 18px 18px !important;
}

/* Slightly compact name strip while preserving two-line names */
.orders-page-shell .orders-item-card .info,
.orders-page-shell .orders-item-card .content,
.orders-page-shell .orders-item-card .product-info,
.orders-page-shell .pos-product .info,
.orders-page-shell .pos-product .content,
.orders-page-shell .pos-product .product-info {
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    flex: 0 0 62px !important;
    padding: 6px 12px !important;
}

/* Chrome68 specific: remove tiny inset gap caused by older flex rounding */
body.legacy-tv-browser .orders-page-shell .orders-item-card .modal-pos-product-img,
body.legacy-tv-browser .orders-page-shell .pos-product .modal-pos-product-img,
body.legacy-tv-browser .orders-page-shell .orders-item-card .info,
body.legacy-tv-browser .orders-page-shell .pos-product .info,
body.legacy-tv-browser .orders-page-shell .orders-item-card .content,
body.legacy-tv-browser .orders-page-shell .pos-product .content,
body.legacy-tv-browser .orders-page-shell .orders-item-card .product-info,
body.legacy-tv-browser .orders-page-shell .pos-product .product-info {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}


/* =========================================================
   ORDER ITEM IMAGE / NAME EDGE ALIGNMENT FIX
   Aligns image container edges with the item-name strip edges.
   ========================================================= */

/* Use one shared inset variable for image + name strip */
.orders-page-shell .orders-item-card,
.orders-page-shell .pos-product.orders-item-card,
.orders-page-shell .pos-product {
    --ml-item-inner-inset: 8px;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Image area uses the same left/right inset as name strip */
.orders-page-shell .orders-item-card .modal-pos-product-img,
.orders-page-shell .orders-item-card .product-image,
.orders-page-shell .orders-item-card .item-image,
.orders-page-shell .pos-product .modal-pos-product-img,
.orders-page-shell .pos-product .product-image,
.orders-page-shell .pos-product .item-image {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: var(--ml-item-inner-inset) !important;
    margin-right: var(--ml-item-inner-inset) !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    border-radius: 14px 14px 0 0 !important;
    overflow: hidden !important;
}

/* The background/image holder fills the inset image area */
.orders-page-shell .orders-item-card .modal-pos-product-img .img,
.orders-page-shell .orders-item-card .product-image .img,
.orders-page-shell .orders-item-card .item-image .img,
.orders-page-shell .pos-product .modal-pos-product-img .img,
.orders-page-shell .pos-product .product-image .img,
.orders-page-shell .pos-product .item-image .img {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Name strip uses identical left/right inset */
.orders-page-shell .orders-item-card .info,
.orders-page-shell .orders-item-card .content,
.orders-page-shell .orders-item-card .product-info,
.orders-page-shell .pos-product .info,
.orders-page-shell .pos-product .content,
.orders-page-shell .pos-product .product-info {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: var(--ml-item-inner-inset) !important;
    margin-right: var(--ml-item-inner-inset) !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    border-radius: 0 0 14px 14px !important;
}

/* Chrome 68 does not always honor CSS variables reliably, so repeat fixed inset */
body.legacy-tv-browser .orders-page-shell .orders-item-card .modal-pos-product-img,
body.legacy-tv-browser .orders-page-shell .pos-product .modal-pos-product-img,
body.legacy-tv-browser .orders-page-shell .orders-item-card .info,
body.legacy-tv-browser .orders-page-shell .pos-product .info,
body.legacy-tv-browser .orders-page-shell .orders-item-card .content,
body.legacy-tv-browser .orders-page-shell .pos-product .content,
body.legacy-tv-browser .orders-page-shell .orders-item-card .product-info,
body.legacy-tv-browser .orders-page-shell .pos-product .product-info {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    align-self: stretch !important;
}


/* =========================================================
   LATEST CHROME / EDGE ITEM CARD EDGE ALIGNMENT FIX
   Chrome68 already looks correct, so this intentionally excludes legacy-tv-browser.
   ========================================================= */

body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product.orders-item-card,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Image block: full visual card width */
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .modal-pos-product-img,
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .product-image,
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .item-image,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .modal-pos-product-img,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .product-image,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .item-image {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    border-radius: 18px 18px 0 0 !important;
    overflow: hidden !important;
}

/* Image holder inside block */
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .modal-pos-product-img .img,
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .product-image .img,
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .item-image .img,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .modal-pos-product-img .img,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .product-image .img,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .item-image .img {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Name strip: same exact width and edges as image block */
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .info,
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .content,
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .product-info,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .info,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .content,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .product-info {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    border-radius: 0 0 18px 18px !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    flex: 0 0 62px !important;
    padding: 6px 12px !important;
}

/* Some versions apply the grey strip on the inner text wrapper instead of .info */
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .product-title,
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .item-title,
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .product-caption,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .product-title,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .item-title,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .product-caption {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Text stays centered but does not control strip width */
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .title,
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .name,
body:not(.legacy-tv-browser) .orders-page-shell .orders-item-card .product-name,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .title,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .name,
body:not(.legacy-tv-browser) .orders-page-shell .pos-product .product-name {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* =========================================================
   PERFORMANCE BRANCH V1 - MAIN ACTIONS BELOW MEAL PERIODS
   ========================================================= */
.ml-main-actions-below-meals {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 20px;
    align-items: stretch;
}
.ml-main-action-card,
.ml-main-action-btn,
.ml-guest-status-card {
    min-height: 86px;
    border-radius: 18px;
    border: 2px solid rgba(143,211,255,.35);
    background: rgba(16, 25, 50, .72);
    color: #fff;
    box-shadow: 0 10px 24px rgba(0,0,0,.22);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 14px 18px;
    font-weight: 800;
    font-size: 18px;
    letter-spacing: .01em;
    box-sizing: border-box;
}
.ml-main-action-btn,
.ml-main-action-card button,
.ml-main-action-card .btn {
    width: 100%;
    min-height: 64px;
    border-radius: 16px;
    font-weight: 800;
}
.ml-guest-status-card.no-guests {
    background: rgba(50, 53, 65, .82);
    border-color: rgba(255,255,255,.24);
}
.ml-guest-status-card.guest-available {
    background: linear-gradient(135deg, #1240a8 0%, #1f6fff 100%);
    border-color: rgba(143,211,255,.68);
}
.ml-main-action-card:focus,
.ml-main-action-card.nav-active,
.ml-main-action-btn:focus,
.ml-main-action-btn.nav-active,
.ml-guest-status-card:focus,
.ml-guest-status-card.nav-active,
[data-nav-role='home-meal-period']:focus,
[data-nav-role='home-meal-period'].nav-active {
    outline: none !important;
    border-color: rgba(255,255,255,.94) !important;
    box-shadow:
        0 0 0 3px rgba(116,198,255,.36),
        0 0 22px rgba(91,181,255,.36),
        0 12px 28px rgba(0,0,0,.30) !important;
}
.patient-info-card:not(.patient-info-card--guest-order):focus,
.patient-info-card:not(.patient-info-card--guest-order).nav-active,
.home-patient-card:focus,
.home-patient-card.nav-active {
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
}
@media (max-width: 900px) {
    .ml-main-actions-below-meals { grid-template-columns: 1fr; }
}


/* =========================================================
   PERFORMANCE BRANCH V1 - LARGE ACTION BUTTON LAYOUT
   ========================================================= */

.ml-main-actions-below-meals {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 34px;
    margin-top: 18px;
    padding: 0 8px 14px 8px;
    box-sizing: border-box;
}

.ml-main-actions-below-meals .ml-main-action-btn,
.ml-main-actions-below-meals .ml-main-action-card {
    width: 100%;
    min-height: 72px;
    border-radius: 14px;
    border: 2px solid rgba(86,155,255,.75);
    background: linear-gradient(180deg, #2c6cff 0%, #2458d6 100%);
    color: #ffffff;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: .01em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow:
        0 10px 24px rgba(0,0,0,.25),
        inset 0 1px 0 rgba(255,255,255,.18);
    transition: transform .12s ease, box-shadow .12s ease;
}

.ml-main-actions-below-meals .ml-main-action-btn:hover,
.ml-main-actions-below-meals .ml-main-action-btn:focus,
.ml-main-actions-below-meals .ml-main-action-btn.nav-active,
.ml-main-actions-below-meals .ml-main-action-card:hover,
.ml-main-actions-below-meals .ml-main-action-card:focus,
.ml-main-actions-below-meals .ml-main-action-card.nav-active {
    transform: scale(1.02);
    box-shadow:
        0 0 0 3px rgba(144,205,255,.45),
        0 0 22px rgba(69,143,255,.42),
        0 14px 30px rgba(0,0,0,.34);
}

.ml-main-actions-below-meals .ml-guest-status-card {
    min-height: 72px;
    border-radius: 14px;
    font-size: 20px;
    font-weight: 800;
}

@media (max-width: 1100px) {
    .ml-main-actions-below-meals {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}


/* =========================================================
   PERF BRANCH V1 - GUEST LAYOUT CLEAN REBUILD
   Safe: does not alter patient name/diet card content.
   ========================================================= */

/* Remove any previously injected status text completely */
.ml-guest-tile-status,
.ml-guest-tile-status-final,
.ml-guest-status-clean,
.ml-guest-status-final {
    display: none !important;
}

/* Keep Guests card clean; no in-card Guest Order button */
.patient-info-card--guest-order .guest-order-btn,
.patient-info-card--guest-order [data-nav-id="guest-order-open"] {
    display: none !important;
}

/* If the original card shows --, leave it as-is. No JS text injection. */

/* Bottom action row. Appended at bottom but visually styled as page action buttons. */
.perf-clean-bottom-actions {
    width: calc(100% - 48px) !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 34px !important;
    margin: 18px 24px 14px 24px !important;
    box-sizing: border-box !important;
}

.perf-clean-bottom-actions .ml-main-action-btn {
    width: 100% !important;
    min-height: 72px !important;
    border-radius: 14px !important;
    border: 2px solid rgba(86,155,255,.75) !important;
    background: linear-gradient(180deg, #2c6cff 0%, #2458d6 100%) !important;
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.perf-clean-bottom-actions .ml-main-action-btn:focus,
.perf-clean-bottom-actions .ml-main-action-btn.nav-active {
    outline: none !important;
    box-shadow:
        0 0 0 3px rgba(144,205,255,.45),
        0 0 22px rgba(69,143,255,.42),
        0 14px 30px rgba(0,0,0,.34) !important;
}

/* Avoid double meal card border */
[data-nav-role='home-meal-period'].nav-active,
[data-nav-role='home-meal-period']:focus,
.meal-period-card.nav-active,
.meal-period-card:focus {
    outline: none !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 3px rgba(116,198,255,.36), 0 0 18px rgba(91,181,255,.30) !important;
}

[data-nav-role='home-meal-period'].nav-active::before,
[data-nav-role='home-meal-period'].nav-active::after,
[data-nav-role='home-meal-period']:focus::before,
[data-nav-role='home-meal-period']:focus::after {
    opacity: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* =========================================================
   PERF BRANCH V1 - PATIENT/GUEST SAFE FIX
   ========================================================= */

.ml-guest-tile-status,
.ml-guest-tile-status-final,
.ml-guest-status-clean,
.ml-guest-status-final {
    display: none !important;
}

.patient-info-card--guest-order .guest-order-btn,
.patient-info-card--guest-order [data-nav-id="guest-order-open"] {
    display: none !important;
}

.patient-info-card--guest-order .ml-guest-status-safe {
    display: block !important;
    margin-top: 26px !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    color: #ffffff !important;
}

.patient-info-card--guest-order .ml-guest-status-safe.no-guests {
    color: rgba(255,255,255,.82) !important;
}

.patient-info-card--guest-order .ml-guest-status-safe.guest-available {
    color: #ffffff !important;
}

.perf-safe-bottom-actions {
    width: calc(100% - 48px) !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 34px !important;
    margin: 18px 24px 14px 24px !important;
    box-sizing: border-box !important;
}

.perf-safe-bottom-actions .ml-main-action-btn {
    width: 100% !important;
    min-height: 72px !important;
    border-radius: 14px !important;
    border: 2px solid rgba(86,155,255,.75) !important;
    background: linear-gradient(180deg, #2c6cff 0%, #2458d6 100%) !important;
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.perf-safe-bottom-actions .ml-main-action-btn:focus,
.perf-safe-bottom-actions .ml-main-action-btn.nav-active {
    outline: none !important;
    box-shadow:
        0 0 0 3px rgba(144,205,255,.45),
        0 0 22px rgba(69,143,255,.42),
        0 14px 30px rgba(0,0,0,.34) !important;
}

[data-nav-role='home-meal-period'].nav-active,
[data-nav-role='home-meal-period']:focus,
.meal-period-card.nav-active,
.meal-period-card:focus {
    outline: none !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 3px rgba(116,198,255,.36), 0 0 18px rgba(91,181,255,.30) !important;
}

[data-nav-role='home-meal-period'].nav-active::before,
[data-nav-role='home-meal-period'].nav-active::after,
[data-nav-role='home-meal-period']:focus::before,
[data-nav-role='home-meal-period']:focus::after {
    opacity: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* FINAL GUEST/PATIENT FIX */
.ml-guest-status-safe{
    margin-top:24px !important;
    font-size:22px !important;
    font-weight:800 !important;
    color:#fff !important;
    display:block !important;
}

.perf-safe-bottom-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:28px !important;
    margin:18px 24px !important;
}

.perf-safe-bottom-actions .ml-main-action-btn{
    min-height:72px !important;
    border-radius:14px !important;
    border:2px solid rgba(86,155,255,.75) !important;
    background:linear-gradient(180deg,#2c6cff 0%, #2458d6 100%) !important;
    color:#fff !important;
    font-size:22px !important;
    font-weight:900 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.perf-bottom-guest-order{
    display:flex !important;
}


/* =========================================================
   PERF BRANCH V1 - ACTIONS INSIDE MEAL PERIOD AREA
   ========================================================= */

.perf-safe-bottom-actions {
    display: none !important;
}

/* Expand screen panels enough to keep action row inside navigation area */
.home-patient-panel,
.patient-info-panel,
.patient-info-shell,
.patient-info-container,
.patient-info-grid,
.patient-info-area {
    min-height: 780px !important;
}

.home-meal-panel,
.meal-period-panel,
.meal-periods-panel,
.order-period-panel,
.order-periods-panel,
.meal-periods-grid,
.home-meals-area {
    min-height: 780px !important;
}

/* Button row becomes part of the meal period area */
.perf-meal-area-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    margin-top: 16px !important;
    padding: 0 8px 4px 8px !important;
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
}

.perf-meal-area-actions .ml-main-action-btn {
    width: 100% !important;
    min-height: 66px !important;
    border-radius: 14px !important;
    border: 2px solid rgba(86,155,255,.75) !important;
    background: linear-gradient(180deg, #2c6cff 0%, #2458d6 100%) !important;
    color: #ffffff !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.perf-meal-area-actions .ml-main-action-btn:focus,
.perf-meal-area-actions .ml-main-action-btn.nav-active {
    outline: none !important;
    box-shadow:
        0 0 0 3px rgba(144,205,255,.45),
        0 0 22px rgba(69,143,255,.42),
        0 14px 30px rgba(0,0,0,.34) !important;
}

.perf-meal-area-actions .ml-main-action-placeholder {
    min-height: 66px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Single focus ring on meal cards */
[data-nav-role='home-meal-period'].nav-active,
[data-nav-role='home-meal-period']:focus,
.meal-period-card.nav-active,
.meal-period-card:focus {
    outline: none !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 3px rgba(116,198,255,.36), 0 0 18px rgba(91,181,255,.30) !important;
}

[data-nav-role='home-meal-period'].nav-active::before,
[data-nav-role='home-meal-period'].nav-active::after,
[data-nav-role='home-meal-period']:focus::before,
[data-nav-role='home-meal-period']:focus::after {
    opacity: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* =========================================================
   PERF BRANCH V1 - LAYOUT + PATIENT NAME FIX
   Fixes stretched meal cards caused by action-row height expansion.
   ========================================================= */

/* Undo aggressive panel expansion from previous branch attempt */
.home-patient-panel,
.patient-info-panel,
.patient-info-shell,
.patient-info-container,
.patient-info-grid,
.patient-info-area,
.home-meal-panel,
.meal-period-panel,
.meal-periods-panel,
.order-period-panel,
.order-periods-panel,
.meal-periods-grid,
.home-meals-area {
    min-height: initial !important;
}

/* Keep meal period rows at their natural card height so navigation geometry remains stable */
.home-meal-panel [data-nav-scope="home-meals"],
.index-right-panel [data-nav-scope="home-meals"] {
    flex-grow: 0 !important;
    align-content: flex-start !important;
}

.home-meal-panel [data-nav-scope="home-meals"] .card,
.index-right-panel [data-nav-scope="home-meals"] .card {
    min-height: 199px !important;
    height: 199px !important;
}

/* Keep action buttons visually part of the meal-period area without pushing card heights */
.perf-meal-area-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    margin-top: 14px !important;
    padding: 0 8px 0 8px !important;
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
    flex: 0 0 auto !important;
}

.perf-meal-area-actions .ml-main-action-btn {
    min-height: 64px !important;
    height: 64px !important;
}

/* In non-iframe mode the Back button is hidden by JS; keep placeholder space stable only when hidden */
.perf-iframe-only-action[style*="display: none"] + .perf-bottom-guest-order {
    grid-column: 2 / 3;
}


/* =========================================================
   PERF BRANCH V1 - NAME + GUEST DIRECT FIX
   ========================================================= */

/* No old JS-injected guest text */
.ml-guest-tile-status,
.ml-guest-tile-status-final,
.ml-guest-status-clean,
.ml-guest-status-final {
    display: none !important;
}

/* Hide Guest Order only when it is inside the Guests patient-info card */
.patient-info-card--guest-order .guest-order-btn,
.patient-info-card--guest-order [data-nav-id="guest-order-open"] {
    display: none !important;
}

.patient-info-card--guest-order .ml-guest-status-direct {
    display: block !important;
    margin-top: 24px !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    color: #ffffff !important;
}

/* Actions inside meal area */
.perf-meal-area-actions.direct-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    margin-top: 16px !important;
    padding: 0 8px 4px 8px !important;
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
}

.perf-meal-area-actions.direct-actions .ml-main-action-btn {
    width: 100% !important;
    min-height: 66px !important;
    border-radius: 14px !important;
    border: 2px solid rgba(86,155,255,.75) !important;
    background: linear-gradient(180deg, #2c6cff 0%, #2458d6 100%) !important;
    color: #ffffff !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.perf-meal-area-actions.direct-actions .perf-bottom-guest-order {
    display: flex !important;
}

.perf-meal-area-actions.direct-actions .ml-main-action-placeholder {
    min-height: 66px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Single focus ring */
[data-nav-role='home-meal-period'].nav-active,
[data-nav-role='home-meal-period']:focus,
.meal-period-card.nav-active,
.meal-period-card:focus {
    outline: none !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 3px rgba(116,198,255,.36), 0 0 18px rgba(91,181,255,.30) !important;
}

[data-nav-role='home-meal-period'].nav-active::before,
[data-nav-role='home-meal-period'].nav-active::after,
[data-nav-role='home-meal-period']:focus::before,
[data-nav-role='home-meal-period']:focus::after {
    opacity: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* =========================================================
   PERF BRANCH V1 - LINE 97 + GUEST BUTTON FIX
   ========================================================= */

/* Hide only old in-card Guest Order button */
.patient-info-card--guest-order .guest-order-btn,
.patient-info-card--guest-order [data-nav-id="guest-order-open"] {
    display: none !important;
}

/* New bottom action button uses separate class/id and must remain visible */
.line97-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    margin-top: 16px !important;
    padding: 0 8px 4px 8px !important;
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
}

.line97-actions .ml-main-action-btn {
    width: 100% !important;
    min-height: 66px !important;
    border-radius: 14px !important;
    border: 2px solid rgba(86,155,255,.75) !important;
    background: linear-gradient(180deg, #2c6cff 0%, #2458d6 100%) !important;
    color: #ffffff !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.line97-actions .perf-bottom-guest-order-action {
    display: flex !important;
}

.line97-actions .ml-main-action-placeholder {
    min-height: 66px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* =========================================================
   PERF BRANCH V1 - RIGHT COLUMN ACTION FIX
   ========================================================= */

/* Keep only right-column action row */
.perf-safe-bottom-actions,
.perf-bottom-actions-hasguest,
.perf-clean-bottom-actions,
.perf-bottom-actions-razor,
.perf-meal-area-actions.line97-actions:not(.right-column-actions) {
    display: none !important;
}

/* Must beat .right-column-actions .ml-main-action-btn display:flex */
.right-column-actions .perf-iframe-only-action:not(.iframe-visible) {
    display: none !important;
}

.right-column-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    margin-top: 14px !important;
    padding: 0 8px 4px 8px !important;
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
}

.right-column-actions .ml-main-action-btn {
    width: 100% !important;
    min-height: 66px !important;
    border-radius: 14px !important;
    border: 2px solid rgba(86,155,255,.75) !important;
    background: linear-gradient(180deg, #2c6cff 0%, #2458d6 100%) !important;
    color: #ffffff !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.right-column-actions .perf-bottom-guest-order-action {
    display: flex !important;
}

.right-column-actions .ml-main-action-placeholder {
    min-height: 66px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Single focus ring */
[data-nav-role='home-meal-period'].nav-active,
[data-nav-role='home-meal-period']:focus,
.meal-period-card.nav-active,
.meal-period-card:focus {
    outline: none !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 3px rgba(116,198,255,.36), 0 0 18px rgba(91,181,255,.30) !important;
}

[data-nav-role='home-meal-period'].nav-active::before,
[data-nav-role='home-meal-period'].nav-active::after,
[data-nav-role='home-meal-period']:focus::before,
[data-nav-role='home-meal-period']:focus::after {
    opacity: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* =========================================================
   PERF BRANCH V1 - ACTIONS INSIDE MEAL GRID ROW
   ========================================================= */

.right-column-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    margin-top: 4px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.right-column-actions .ml-main-action-btn {
    width: 100% !important;
    min-height: 66px !important;
    border-radius: 14px !important;
    border: 2px solid rgba(86,155,255,.75) !important;
    background: linear-gradient(180deg, #2c6cff 0%, #2458d6 100%) !important;
    color: #ffffff !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.right-column-actions .perf-iframe-only-action:not(.iframe-visible) {
    display: none !important;
}

.right-column-actions .perf-bottom-guest-order-action {
    display: flex !important;
}

.right-column-actions .ml-main-action-placeholder {
    min-height: 66px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* =========================================================
   BASELINE + LAYOUT SYNC REFINE
   - Slightly reduce Meal Period card height
   - Increase Patient Information card height
   - Keep action buttons inside meal-grid navigation area
   ========================================================= */

/* Patient information side: make each tile slightly taller and better balanced */
.patient-identity-grid > *,
.dashboard-summary-grid > *,
.patient-info-grid > *,
.home-patient-panel .patient-info-card,
.home-patient-panel .patient-identity-card,
.patient-info-panel .patient-info-card,
.patient-info-panel .patient-identity-card,
.home-panel-left-column .patient-info-card,
.home-panel-left-column .patient-identity-card {
    min-height: 140px !important;
}

/* Lower section cards normally need a little extra height for value text */
.home-panel-left-column .patient-info-card,
.patient-info-panel .patient-info-card {
    min-height: 150px !important;
}

/* Reduce unused vertical gap inside patient cards */
.patient-info-card,
.patient-identity-card {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

/* Meal period side: slightly shorter cards so both panels visually sync */
.home-panel-right-column .meal-period-card,
.home-panel-right-column [data-nav-role='home-meal-period'],
.meal-period-card,
[data-nav-role='home-meal-period'] {
    min-height: 155px !important;
    height: 155px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

/* Keep meal-period content compact and avoid oversized empty area */
.meal-period-card .meal-period-body,
.meal-period-card .card-body,
[data-nav-role='home-meal-period'] .meal-period-body,
[data-nav-role='home-meal-period'] .card-body {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

/* Reduce vertical spacing between meal rows slightly */
.home-panel-right-column .row.g-3,
.home-panel-right-column .row.g-3.mt-2,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 {
    --bs-gutter-y: 0.85rem !important;
}

/* Action row stays visually tied to meal cards but not oversized */
.right-column-actions,
.perf-meal-area-actions.right-column-actions {
    margin-top: 8px !important;
}

.right-column-actions .ml-main-action-btn,
.perf-meal-area-actions.right-column-actions .ml-main-action-btn {
    min-height: 58px !important;
    font-size: 20px !important;
}

/* Keep left and right main panels close in visual bottom alignment */
.home-panel-left-column .card,
.home-panel-right-column .card,
.home-panel-left-column .home-panel,
.home-panel-right-column .home-panel {
    min-height: 760px !important;
}

/* On TV/desktop width, avoid over-expanding meal cards again */
@media (min-width: 1200px) {
    .home-panel-right-column .meal-period-card,
    .home-panel-right-column [data-nav-role='home-meal-period'],
    .meal-period-card,
    [data-nav-role='home-meal-period'] {
        min-height: 150px !important;
        height: 150px !important;
    }

    .home-panel-left-column .patient-info-card,
    .home-panel-left-column .patient-identity-card,
    .patient-info-panel .patient-info-card,
    .patient-info-panel .patient-identity-card {
        min-height: 148px !important;
    }
}


/* =========================================================
   TV GUIDE + COMPACT MEAL CARD REFINEMENT
   ========================================================= */

/* Make meal cards actually shorter */
.home-panel-right-column .meal-period-card,
.home-panel-right-column [data-nav-role='home-meal-period'],
.meal-period-card,
[data-nav-role='home-meal-period'] {
    min-height: 128px !important;
    height: 128px !important;
    max-height: 128px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Compact inner content */
.meal-period-card .card-body,
.meal-period-card .meal-period-body {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* Reduce vertical spacing between rows */
.home-panel-right-column .row.g-3,
.home-panel-right-column .row.g-3.mt-2,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 {
    --bs-gutter-y: 0.55rem !important;
}

/* Action buttons smaller again */
.perf-meal-area-actions.right-column-actions,
.right-column-actions {
    margin-top: 6px !important;
    padding-top: 2px !important;
}

.perf-meal-area-actions.right-column-actions .btn,
.perf-meal-area-actions.right-column-actions button,
.right-column-actions .btn,
.right-column-actions button {
    min-height: 48px !important;
    height: 48px !important;
    font-size: 18px !important;
    border-radius: 14px !important;
}

/* Patient cards slightly taller for balance */
.home-panel-left-column .patient-info-card,
.home-panel-left-column .patient-identity-card,
.patient-info-panel .patient-info-card,
.patient-info-panel .patient-identity-card {
    min-height: 152px !important;
}

/* TV guide panel */
.tv-remote-guide {
    margin-top: 12px;
    background: linear-gradient(180deg, rgba(8,16,40,0.96), rgba(4,8,24,0.98));
    border: 1px solid rgba(85,140,255,0.45);
    border-radius: 18px;
    padding: 14px 18px;
    box-shadow: 0 0 18px rgba(50,110,255,0.12);
}

.tv-remote-guide-title {
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
}

.tv-remote-guide-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.tv-remote-guide-text {
    color: rgba(255,255,255,0.92);
    font-size: 15px;
    line-height: 1.6;
    font-weight: 500;
}

.tv-remote-guide-text.ar {
    direction: rtl;
    text-align: right;
    font-family: "Segoe UI", Tahoma, Arial, sans-serif;
}

.tv-key {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border-radius: 8px;
    background: rgba(60,120,255,0.18);
    border: 1px solid rgba(100,160,255,0.55);
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    margin: 0 2px;
}

@media (max-width: 1200px) {
    .tv-remote-guide-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   TV GUIDE + FINAL MEAL HEIGHT OVERRIDE
   ========================================================= */

/* Strongly compact the actual meal-period cards in right column */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > .col-md-6 > *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > .col-lg-6 > *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > .col-xl-6 > *,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    height: 122px !important;
    min-height: 122px !important;
    max-height: 122px !important;
    padding-top: 10px !important;
    padding-bottom: 8px !important;
    overflow: hidden !important;
}

/* Reduce content spacing inside meal cards */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * .card-body,
.home-panel-right-column [data-nav-role="home-meal-period"] .card-body,
.home-panel-right-column .meal-period-card .card-body {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* Reduce gap between meal-card rows */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 {
    --bs-gutter-y: 0.45rem !important;
}

/* Bottom actions compact and same visual width as meal grid */
.home-panel-right-column .right-column-actions,
.home-panel-right-column .perf-meal-area-actions.right-column-actions {
    margin-top: 4px !important;
    gap: 20px !important;
}

.home-panel-right-column .right-column-actions button,
.home-panel-right-column .perf-meal-area-actions.right-column-actions button,
.home-panel-right-column .right-column-actions .ml-main-action-btn,
.home-panel-right-column .perf-meal-area-actions.right-column-actions .ml-main-action-btn {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    font-size: 18px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

/* Slightly increase left patient cards so left/right panels feel balanced */
.home-panel-left-column .patient-info-card,
.home-panel-left-column .patient-identity-card,
.home-panel-left-column .card-body .patient-info-card,
.home-panel-left-column .card-body .patient-identity-card,
.home-panel-left-column .dashboard-summary-grid > *,
.home-panel-left-column .patient-identity-grid > * {
    min-height: 148px !important;
}

/* TV/Remote guide panel in left column */
.tv-remote-guide {
    margin: 12px 4px 0 4px !important;
    padding: 12px 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(84,145,255,.55) !important;
    background: linear-gradient(180deg, rgba(6,12,30,.95), rgba(4,8,20,.98)) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.tv-remote-guide-title {
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    margin-bottom: 8px !important;
}

.tv-remote-guide-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}

.tv-remote-guide-text {
    color: rgba(255,255,255,.9) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
}

.tv-remote-guide-text.ar {
    direction: rtl !important;
    text-align: right !important;
    font-family: "Segoe UI", Tahoma, Arial, sans-serif !important;
}

.tv-key {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 26px !important;
    height: 24px !important;
    padding: 0 7px !important;
    margin: 0 2px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(130,180,255,.55) !important;
    background: rgba(42,110,255,.22) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

/* TV screen safeguard */
@media (min-width: 1200px) {
    .home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
    .home-panel-right-column [data-nav-role="home-meal-period"],
    .home-panel-right-column .meal-period-card,
    .home-panel-right-column .order-period-card,
    .home-panel-right-column .dashboard-meal-period-card {
        height: 118px !important;
        min-height: 118px !important;
        max-height: 118px !important;
    }
}


/* =========================================================
   BALANCED MEAL CARDS + TV GUIDE CARD ROW
   ========================================================= */

/* Restore meal period cards to balanced medium height */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > .col-md-6 > *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > .col-lg-6 > *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > .col-xl-6 > *,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    height: 145px !important;
    min-height: 145px !important;
    max-height: 145px !important;
    padding-top: 12px !important;
    padding-bottom: 10px !important;
    overflow: hidden !important;
}

/* Keep rows compact but not squeezed */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 {
    --bs-gutter-y: 0.85rem !important;
}

/* Action buttons compact but readable */
.home-panel-right-column .right-column-actions button,
.home-panel-right-column .perf-meal-area-actions.right-column-actions button,
.home-panel-right-column .right-column-actions .ml-main-action-btn,
.home-panel-right-column .perf-meal-area-actions.right-column-actions .ml-main-action-btn {
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    font-size: 18px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

/* TV Guide as a full-width card row below Diet Restrictions / Guests */
.tv-remote-guide {
    margin-top: 10px !important;
    padding: 12px 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(84,145,255,.55) !important;
    background: linear-gradient(180deg, rgba(6,12,30,.96), rgba(4,8,20,.98)) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.tv-remote-guide-title {
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    margin-bottom: 8px !important;
}

.tv-remote-guide-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}

.tv-remote-guide-text {
    color: rgba(255,255,255,.92) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
}

.tv-remote-guide-text.ar {
    direction: rtl !important;
    text-align: right !important;
    font-family: "Segoe UI", Tahoma, Arial, sans-serif !important;
}

.tv-key {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 26px !important;
    height: 24px !important;
    padding: 0 7px !important;
    margin: 0 2px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(130,180,255,.55) !important;
    background: rgba(42,110,255,.22) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

/* The guide is informational only; not part of remote focus */
.tv-remote-guide,
.tv-remote-guide * {
    pointer-events: none !important;
}

/* Preserve current patient-card balance */
.home-panel-left-column .patient-info-card,
.home-panel-left-column .patient-identity-card,
.home-panel-left-column .dashboard-summary-grid > *,
.home-panel-left-column .patient-identity-grid > * {
    min-height: 140px !important;
}

/* TV width */
@media (min-width: 1200px) {
    .home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
    .home-panel-right-column [data-nav-role="home-meal-period"],
    .home-panel-right-column .meal-period-card,
    .home-panel-right-column .order-period-card,
    .home-panel-right-column .dashboard-meal-period-card {
        height: 140px !important;
        min-height: 140px !important;
        max-height: 140px !important;
    }
}


/* =========================================================
   TV GUIDE VISIBLE LEFT PANEL FIX
   ========================================================= */

/* Restore meal period cards from too-small state to balanced medium */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    height: 142px !important;
    min-height: 142px !important;
    max-height: 142px !important;
}

/* Make guide a visible full-width row inside left panel */
.tv-remote-guide-row {
    width: 100% !important;
    display: block !important;
    margin-top: 12px !important;
    clear: both !important;
}

.tv-remote-guide-card {
    width: 100% !important;
    display: block !important;
    padding: 12px 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(84,145,255,.62) !important;
    background: linear-gradient(180deg, rgba(7,14,34,.98), rgba(4,8,20,.99)) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.07) !important;
    box-sizing: border-box !important;
}

.tv-remote-guide-title {
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    margin-bottom: 8px !important;
}

.tv-remote-guide-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}

.tv-remote-guide-text {
    color: rgba(255,255,255,.92) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
}

.tv-remote-guide-text.ar {
    direction: rtl !important;
    text-align: right !important;
    font-family: "Segoe UI", Tahoma, Arial, sans-serif !important;
}

.tv-key {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 26px !important;
    height: 24px !important;
    padding: 0 7px !important;
    margin: 0 2px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(130,180,255,.55) !important;
    background: rgba(42,110,255,.22) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

/* Guide is informational only, not remote-focusable */
.tv-remote-guide-card,
.tv-remote-guide-card * {
    pointer-events: none !important;
}


/* =========================================================
   TV GUIDE INSIDE PATIENT GRID + BALANCED MEAL PERIOD CARDS
   ========================================================= */

/* Meal Period cards: balanced height close to requested screenshot */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    height: 138px !important;
    min-height: 138px !important;
    max-height: 138px !important;
    padding-top: 12px !important;
    padding-bottom: 10px !important;
    overflow: hidden !important;
}

/* Comfortable row spacing; not too squeezed */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 {
    --bs-gutter-y: 0.8rem !important;
}

/* Action buttons compact and part of meal-period grid */
.home-panel-right-column .right-column-actions,
.home-panel-right-column .perf-meal-area-actions.right-column-actions {
    margin-top: 4px !important;
    gap: 22px !important;
}

.home-panel-right-column .right-column-actions button,
.home-panel-right-column .perf-meal-area-actions.right-column-actions button,
.home-panel-right-column .right-column-actions .ml-main-action-btn,
.home-panel-right-column .perf-meal-area-actions.right-column-actions .ml-main-action-btn {
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    font-size: 18px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

/* TV Guide card inside patient-info-grid */
.patient-info-grid .tv-remote-guide-card {
    width: 100% !important;
    display: block !important;
    padding: 12px 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(84,145,255,.62) !important;
    background: linear-gradient(180deg, rgba(7,14,34,.98), rgba(4,8,20,.99)) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.07) !important;
    box-sizing: border-box !important;
}

.patient-info-grid .tv-remote-guide-title {
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    margin-bottom: 8px !important;
}

.patient-info-grid .tv-remote-guide-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}

.patient-info-grid .tv-remote-guide-text {
    color: rgba(255,255,255,.92) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
}

.patient-info-grid .tv-remote-guide-text.ar {
    direction: rtl !important;
    text-align: right !important;
    font-family: "Segoe UI", Tahoma, Arial, sans-serif !important;
}

.patient-info-grid .tv-key {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 26px !important;
    height: 24px !important;
    padding: 0 7px !important;
    margin: 0 2px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(130,180,255,.55) !important;
    background: rgba(42,110,255,.22) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

/* Guide is informational only */
.patient-info-grid .tv-remote-guide-card,
.patient-info-grid .tv-remote-guide-card * {
    pointer-events: none !important;
}

/* Remove old hidden/floating TV guide containers if CSS remains */
.tv-remote-guide-row {
    display: contents !important;
}

/* TV width tuning */
@media (min-width: 1200px) {
    .home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
    .home-panel-right-column [data-nav-role="home-meal-period"],
    .home-panel-right-column .meal-period-card,
    .home-panel-right-column .order-period-card,
    .home-panel-right-column .dashboard-meal-period-card {
        height: 136px !important;
        min-height: 136px !important;
        max-height: 136px !important;
    }
}


/* =========================================================
   TV GUIDE ROW + MEAL CARD HEIGHT RESTORE
   ========================================================= */

/* Restore Meal Period cards closer to previous/reference height */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    height: 165px !important;
    min-height: 165px !important;
    max-height: 165px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    overflow: hidden !important;
}

/* Restore comfortable meal row spacing */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 {
    --bs-gutter-y: 1rem !important;
}

/* Keep action row compact and inside the meal grid */
.home-panel-right-column .right-column-actions button,
.home-panel-right-column .perf-meal-area-actions.right-column-actions button,
.home-panel-right-column .right-column-actions .ml-main-action-btn,
.home-panel-right-column .perf-meal-area-actions.right-column-actions .ml-main-action-btn {
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    font-size: 18px !important;
}

/* TV guide as its own clean row, matching patient-info-grid style */
.tv-guide-grid-row {
    margin-top: 0.75rem !important;
}

.tv-guide-grid-row .tv-remote-guide-card {
    width: 100% !important;
    display: block !important;
    padding: 12px 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(84,145,255,.62) !important;
    background: linear-gradient(180deg, rgba(7,14,34,.98), rgba(4,8,20,.99)) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.07) !important;
    box-sizing: border-box !important;
}

.tv-guide-grid-row .tv-remote-guide-title {
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    margin-bottom: 8px !important;
}

.tv-guide-grid-row .tv-remote-guide-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}

.tv-guide-grid-row .tv-remote-guide-text {
    color: rgba(255,255,255,.92) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
}

.tv-guide-grid-row .tv-remote-guide-text.ar {
    direction: rtl !important;
    text-align: right !important;
    font-family: "Segoe UI", Tahoma, Arial, sans-serif !important;
}

.tv-guide-grid-row .tv-key {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 26px !important;
    height: 24px !important;
    padding: 0 7px !important;
    margin: 0 2px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(130,180,255,.55) !important;
    background: rgba(42,110,255,.22) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

/* Guide is informational only */
.tv-guide-grid-row .tv-remote-guide-card,
.tv-guide-grid-row .tv-remote-guide-card * {
    pointer-events: none !important;
}


/* =========================================================
   TALLER MEAL PERIOD CARDS + BALANCED ACTION BUTTONS
   ========================================================= */

/* Increase meal period card height slightly */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    height: 182px !important;
    min-height: 182px !important;
    max-height: 182px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

/* Keep spacing elegant */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 {
    --bs-gutter-y: 1rem !important;
}

/* Increase Guest / Back button height */
.home-panel-right-column .right-column-actions button,
.home-panel-right-column .perf-meal-area-actions.right-column-actions button,
.home-panel-right-column .right-column-actions .ml-main-action-btn,
.home-panel-right-column .perf-meal-area-actions.right-column-actions .ml-main-action-btn {
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    border-radius: 16px !important;
}

/* Better visual balance */
.home-panel-right-column .perf-meal-area-actions.right-column-actions {
    margin-top: 10px !important;
}


/* =========================================================
   MEAL PERIOD CONTENT + FOCUS RING POLISH
   ========================================================= */

/* Meal card content: cleaner internal spacing after height increase */
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    height: 178px !important;
    min-height: 178px !important;
    max-height: 178px !important;
    padding: 16px 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

/* Title line spacing */
.home-panel-right-column [data-nav-role="home-meal-period"] h1,
.home-panel-right-column [data-nav-role="home-meal-period"] h2,
.home-panel-right-column [data-nav-role="home-meal-period"] h3,
.home-panel-right-column [data-nav-role="home-meal-period"] h4,
.home-panel-right-column [data-nav-role="home-meal-period"] h5,
.home-panel-right-column [data-nav-role="home-meal-period"] .meal-title,
.home-panel-right-column [data-nav-role="home-meal-period"] .meal-period-title,
.home-panel-right-column .meal-period-card h1,
.home-panel-right-column .meal-period-card h2,
.home-panel-right-column .meal-period-card h3,
.home-panel-right-column .meal-period-card h4,
.home-panel-right-column .meal-period-card h5,
.home-panel-right-column .meal-period-card .meal-title,
.home-panel-right-column .meal-period-card .meal-period-title {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.15 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Separator line remains neat */
.home-panel-right-column [data-nav-role="home-meal-period"] hr,
.home-panel-right-column .meal-period-card hr {
    margin: 6px 0 10px 0 !important;
    height: 4px !important;
    border: 0 !important;
    opacity: 1 !important;
    background: rgba(255,255,255,.95) !important;
    border-radius: 999px !important;
}

/* Details rows/content align better */
.home-panel-right-column [data-nav-role="home-meal-period"] .row,
.home-panel-right-column .meal-period-card .row {
    margin-top: 0 !important;
    align-items: flex-start !important;
}

.home-panel-right-column [data-nav-role="home-meal-period"] label,
.home-panel-right-column [data-nav-role="home-meal-period"] .label,
.home-panel-right-column [data-nav-role="home-meal-period"] .meal-label,
.home-panel-right-column .meal-period-card label,
.home-panel-right-column .meal-period-card .label,
.home-panel-right-column .meal-period-card .meal-label {
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    margin-bottom: 2px !important;
}

.home-panel-right-column [data-nav-role="home-meal-period"] span,
.home-panel-right-column [data-nav-role="home-meal-period"] div,
.home-panel-right-column .meal-period-card span,
.home-panel-right-column .meal-period-card div {
    line-height: 1.22 !important;
}

/* Order user / time values */
.home-panel-right-column [data-nav-role="home-meal-period"] .fw-bold,
.home-panel-right-column [data-nav-role="home-meal-period"] .fw-semibold,
.home-panel-right-column .meal-period-card .fw-bold,
.home-panel-right-column .meal-period-card .fw-semibold {
    font-size: 17px !important;
    line-height: 1.2 !important;
}

/* Normalize focus ring: no grey overlay, no oversized double border */
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card {
    outline: none !important;
    border: 1px solid rgba(115,150,215,.55) !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.18) !important;
    background-color: #1554d1 !important;
    transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background-color .14s ease !important;
}

/* Focus/active state */
.home-panel-right-column [data-nav-role="home-meal-period"]:focus,
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active,
.home-panel-right-column .meal-period-card:focus,
.home-panel-right-column .meal-period-card.nav-active {
    outline: none !important;
    border: 2px solid rgba(118,205,255,.95) !important;
    background-color: #1f67f2 !important;
    box-shadow:
        0 0 0 3px rgba(110,190,255,.32),
        0 0 18px rgba(70,165,255,.42),
        0 10px 24px rgba(0,0,0,.25) !important;
    transform: scale(1.012) !important;
}

/* Remove old pseudo focus overlays that caused grey/double ring */
.home-panel-right-column [data-nav-role="home-meal-period"]::before,
.home-panel-right-column [data-nav-role="home-meal-period"]::after,
.home-panel-right-column .meal-period-card::before,
.home-panel-right-column .meal-period-card::after {
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
    opacity: 0 !important;
}

/* Remove Bootstrap/TV browser default focus grey */
.home-panel-right-column [data-nav-role="home-meal-period"]:focus-visible,
.home-panel-right-column .meal-period-card:focus-visible {
    outline: none !important;
}

/* Button focus same style family */
.home-panel-right-column .right-column-actions .ml-main-action-btn:focus,
.home-panel-right-column .right-column-actions .ml-main-action-btn.nav-active,
.home-panel-right-column .perf-meal-area-actions.right-column-actions .ml-main-action-btn:focus,
.home-panel-right-column .perf-meal-area-actions.right-column-actions .ml-main-action-btn.nav-active {
    outline: none !important;
    border: 2px solid rgba(118,205,255,.95) !important;
    background: linear-gradient(180deg, #2f78ff 0%, #2460e6 100%) !important;
    box-shadow:
        0 0 0 3px rgba(110,190,255,.32),
        0 0 18px rgba(70,165,255,.42),
        0 10px 24px rgba(0,0,0,.25) !important;
    transform: scale(1.01) !important;
}




/* =========================================================
   FINAL HARD FIX - BLUE MEAL CARDS + PROPER CONTENT ALIGNMENT
   Must remain at the end of custom.css.
   ========================================================= */

/* The right meal cards are the first six children of the meal grid.
   Exclude the col-12 action row. */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) {
    display: flex !important;
}

/* Force full blue card surface back on the actual card shell */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .card,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .meal-period-card,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) [data-nav-role="home-meal-period"],
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    width: 100% !important;
    height: 172px !important;
    min-height: 172px !important;
    max-height: 172px !important;
    padding: 16px 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    border: 1px solid rgba(120,160,220,.55) !important;
    background: linear-gradient(135deg, #1542a8 0%, #1557d8 52%, #1768f4 100%) !important;
    background-color: #1557d8 !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.22) !important;
    outline: none !important;
    display: block !important;
    transform-origin: center center !important;
}

/* Force inner layers transparent so they do not turn grey */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * > *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .card-body,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .meal-period-body,
.home-panel-right-column [data-nav-role="home-meal-period"] .card-body,
.home-panel-right-column [data-nav-role="home-meal-period"] .meal-period-body,
.home-panel-right-column .meal-period-card .card-body,
.home-panel-right-column .meal-period-card .meal-period-body {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Title natural placement, not glued to the top */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) h1,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) h2,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) h3,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) h4,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) h5,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .meal-title,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .meal-period-title {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.18 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* If the title is just normal bold text/div, preserve spacing */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .fw-bold:first-child,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .fw-semibold:first-child {
    margin-bottom: 8px !important;
    color: #ffffff !important;
}

/* White separator line placement */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) hr {
    margin: 8px 0 12px 0 !important;
    height: 4px !important;
    border: 0 !important;
    opacity: 1 !important;
    background: rgba(255,255,255,.96) !important;
    border-radius: 999px !important;
}

/* Detail content spacing */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .row {
    margin-top: 0 !important;
    align-items: flex-start !important;
}

.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) label,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .label,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .meal-label {
    color: rgba(255,255,255,.95) !important;
    font-size: 15px !important;
    line-height: 1.24 !important;
    font-weight: 850 !important;
    margin-bottom: 3px !important;
}

.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) span,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) div {
    color: inherit !important;
}

/* Focus state: blue, not grey; ring stays in size */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *:focus,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *.nav-active,
.home-panel-right-column [data-nav-role="home-meal-period"]:focus,
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active,
.home-panel-right-column .meal-period-card:focus,
.home-panel-right-column .meal-period-card.nav-active {
    border: 2px solid rgba(118,205,255,.98) !important;
    background: linear-gradient(135deg, #1761df 0%, #1f72ff 54%, #2b86ff 100%) !important;
    background-color: #1f72ff !important;
    box-shadow:
        0 0 0 3px rgba(105,190,255,.30),
        0 0 17px rgba(80,175,255,.42),
        0 12px 24px rgba(0,0,0,.24) !important;
    outline: none !important;
    transform: scale(1.006) !important;
}

/* Disable old pseudo-element grey/double focus overlays */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *::before,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *::after,
.home-panel-right-column [data-nav-role="home-meal-period"]::before,
.home-panel-right-column [data-nav-role="home-meal-period"]::after,
.home-panel-right-column .meal-period-card::before,
.home-panel-right-column .meal-period-card::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Row spacing and actions */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 {
    --bs-gutter-y: 1rem !important;
}

.home-panel-right-column .right-column-actions button,
.home-panel-right-column .perf-meal-area-actions.right-column-actions button,
.home-panel-right-column .right-column-actions .ml-main-action-btn,
.home-panel-right-column .perf-meal-area-actions.right-column-actions .ml-main-action-btn {
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    font-size: 21px !important;
    font-weight: 850 !important;
    border-radius: 16px !important;
}


/* =========================================================
   FINAL FIX - REMOVE DOUBLE MEAL CARD BORDERS
   Must remain at the end of custom.css.
   ========================================================= */

/* Keep border only on the outer clickable meal card */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Remove borders/backgrounds from inner wrapper layers */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * > *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .card-body,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .meal-period-body,
.home-panel-right-column [data-nav-role="home-meal-period"] > *,
.home-panel-right-column .meal-period-card > * {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Single normal border */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    border: 1px solid rgba(118,160,225,.62) !important;
    outline: none !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.22) !important;
}

/* Single focus border/ring only */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *:focus,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *.nav-active,
.home-panel-right-column [data-nav-role="home-meal-period"]:focus,
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active,
.home-panel-right-column .meal-period-card:focus,
.home-panel-right-column .meal-period-card.nav-active {
    border: 2px solid rgba(118,205,255,.98) !important;
    outline: none !important;
    box-shadow:
        0 0 0 3px rgba(105,190,255,.30),
        0 0 16px rgba(80,175,255,.42),
        0 12px 24px rgba(0,0,0,.24) !important;
}

/* Disable all pseudo borders/glows that create double outlines */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12)::before,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12)::after,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *::before,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *::after,
.home-panel-right-column [data-nav-role="home-meal-period"]::before,
.home-panel-right-column [data-nav-role="home-meal-period"]::after,
.home-panel-right-column .meal-period-card::before,
.home-panel-right-column .meal-period-card::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    opacity: 0 !important;
}


/* =========================================================
   FINAL FIX - REMOVE INNER MEAL CARD BORDER / DOUBLE FRAME
   Keep this as the last block in custom.css.
   ========================================================= */

/* Outer Bootstrap/grid column must never draw a border */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Keep only ONE card surface on the actual clickable/focusable meal card */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    border: 1px solid rgba(118,160,225,.62) !important;
    outline: 0 !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.22) !important;
    background: linear-gradient(135deg, #1542a8 0%, #1557d8 52%, #1768f4 100%) !important;
    background-color: #1557d8 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

/* Remove the visible inner rectangle/border from all nested meal card layers */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * > *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * > * > *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .card,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .card-body,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .meal-period-body,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .meal-card-body,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) .period-card-body,
.home-panel-right-column [data-nav-role="home-meal-period"] > *,
.home-panel-right-column [data-nav-role="home-meal-period"] > * > *,
.home-panel-right-column .meal-period-card > *,
.home-panel-right-column .meal-period-card > * > * {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
    border-radius: 0 !important;
}

/* If older CSS draws an inset frame using pseudo elements, remove it everywhere */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12)::before,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12)::after,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *::before,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *::after,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * > *::before,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * > *::after,
.home-panel-right-column [data-nav-role="home-meal-period"]::before,
.home-panel-right-column [data-nav-role="home-meal-period"]::after,
.home-panel-right-column [data-nav-role="home-meal-period"] > *::before,
.home-panel-right-column [data-nav-role="home-meal-period"] > *::after,
.home-panel-right-column .meal-period-card::before,
.home-panel-right-column .meal-period-card::after,
.home-panel-right-column .meal-period-card > *::before,
.home-panel-right-column .meal-period-card > *::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Focus: one outer ring only, no internal second frame */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *:focus,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *.nav-active,
.home-panel-right-column [data-nav-role="home-meal-period"]:focus,
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active,
.home-panel-right-column .meal-period-card:focus,
.home-panel-right-column .meal-period-card.nav-active {
    border: 2px solid rgba(118,205,255,.98) !important;
    outline: 0 !important;
    background: linear-gradient(135deg, #1761df 0%, #1f72ff 54%, #2b86ff 100%) !important;
    background-color: #1f72ff !important;
    box-shadow:
        0 0 0 3px rgba(105,190,255,.30),
        0 0 16px rgba(80,175,255,.42),
        0 12px 24px rgba(0,0,0,.24) !important;
}


/* =========================================================
   NAVIGATION STABILITY VISUAL SUPPORT
   ========================================================= */

/* Browser focus outline can create flicker/jerk on Chrome 68 TV browser */
.focusable:focus,
[data-nav-id]:focus,
[data-nav-role]:focus {
    outline: none !important;
}

/* Only one active visual state should be shown */
.focusable:not(.nav-active):focus {
    box-shadow: inherit;
}


/* =========================================================
   DETERMINISTIC TV NAV VISUAL SUPPORT
   ========================================================= */
.home-panel-right-column .focusable,
.home-panel-right-column [data-tv-grid-row] {
    outline: none !important;
}
.home-panel-right-column .focusable:focus {
    outline: none !important;
}


/* =========================================================
   STATEFUL TV NAVIGATION SUPPORT
   ========================================================= */
.home-panel-right-column .focusable,
.home-panel-right-column [data-tv-row],
.home-panel-right-column [data-tv-col] {
    outline: none !important;
}

.home-panel-right-column .focusable:focus,
.home-panel-right-column [data-tv-row]:focus,
.home-panel-right-column [data-tv-col]:focus {
    outline: none !important;
}


/* =========================================================
   FINAL DIALOG YES/NO FOCUS CONTRAST + TV NAV SUPPORT
   ========================================================= */

/* Non-focused prompt buttons: lighter grey for TV viewing */
.modal.show button,
.modal.show .btn,
[role="dialog"] button,
[role="dialog"] .btn,
.confirmation-dialog button,
.confirmation-dialog .btn,
.confirm-dialog button,
.confirm-dialog .btn,
.swal2-popup button,
.sweet-alert button {
    background: linear-gradient(180deg, #d7dde8 0%, #aeb8c9 100%) !important;
    background-color: #c5ccd8 !important;
    color: #1b2940 !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Focused prompt button: strong blue, clear glow */
.modal.show button:focus,
.modal.show button.nav-active,
.modal.show .btn:focus,
.modal.show .btn.nav-active,
[role="dialog"] button:focus,
[role="dialog"] button.nav-active,
[role="dialog"] .btn:focus,
[role="dialog"] .btn.nav-active,
.confirmation-dialog button:focus,
.confirmation-dialog button.nav-active,
.confirmation-dialog .btn:focus,
.confirmation-dialog .btn.nav-active,
.confirm-dialog button:focus,
.confirm-dialog button.nav-active,
.confirm-dialog .btn:focus,
.confirm-dialog .btn.nav-active,
.swal2-popup button:focus,
.swal2-popup button.nav-active,
.sweet-alert button:focus,
.sweet-alert button.nav-active {
    background: linear-gradient(180deg, #2e7dff 0%, #1764ee 100%) !important;
    background-color: #1764ee !important;
    color: #ffffff !important;
    border: 2px solid rgba(180,225,255,.95) !important;
    box-shadow:
        0 0 0 3px rgba(100,190,255,.35),
        0 0 22px rgba(70,160,255,.50),
        0 10px 24px rgba(0,0,0,.28) !important;
    outline: none !important;
}

/* Keep TV nav visual stable */
.home-panel-right-column .focusable,
.home-panel-right-column [data-tv-row],
.home-panel-right-column [data-tv-col] {
    outline: none !important;
}


/* =========================================================
   FINAL CHROME 68 SAFE - TV CONFIRMATION BUTTON CONTRAST
   Must remain at the end of custom.css.
   Focused button = strong blue.
   Non-focused button = light grey.
   ========================================================= */

/* Non-focused confirmation buttons */
.modal.show button,
.modal.show .btn,
.modal-dialog button,
.modal-dialog .btn,
[role="dialog"] button,
[role="dialog"] .btn,
.confirmation-dialog button,
.confirmation-dialog .btn,
.confirm-dialog button,
.confirm-dialog .btn,
.swal2-popup button,
.swal2-popup .btn,
.sweet-alert button,
.sweet-alert .btn {
    background: #cfd6e2 !important;
    background-image: none !important;
    color: #1c2433 !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: none !important;
    opacity: .88 !important;
    outline: none !important;
}

/* Focused / active confirmation button */
.modal.show button:focus,
.modal.show button.nav-active,
.modal.show .btn:focus,
.modal.show .btn.nav-active,
.modal-dialog button:focus,
.modal-dialog button.nav-active,
.modal-dialog .btn:focus,
.modal-dialog .btn.nav-active,
[role="dialog"] button:focus,
[role="dialog"] button.nav-active,
[role="dialog"] .btn:focus,
[role="dialog"] .btn.nav-active,
.confirmation-dialog button:focus,
.confirmation-dialog button.nav-active,
.confirmation-dialog .btn:focus,
.confirmation-dialog .btn.nav-active,
.confirm-dialog button:focus,
.confirm-dialog button.nav-active,
.confirm-dialog .btn:focus,
.confirm-dialog .btn.nav-active,
.swal2-popup button:focus,
.swal2-popup button.nav-active,
.swal2-popup .btn:focus,
.swal2-popup .btn.nav-active,
.sweet-alert button:focus,
.sweet-alert button.nav-active,
.sweet-alert .btn:focus,
.sweet-alert .btn.nav-active {
    background: #1767ff !important;
    background-image: linear-gradient(180deg, #3291ff 0%, #1767ff 100%) !important;
    color: #ffffff !important;
    border: 2px solid rgba(180,225,255,.98) !important;
    box-shadow:
        0 0 0 3px rgba(80,180,255,.35),
        0 0 22px rgba(50,145,255,.65),
        0 10px 28px rgba(0,0,0,.30) !important;
    opacity: 1 !important;
    outline: none !important;
    transform: scale(1.03) !important;
}

/* Remove browser default dotted/faint focus from dialog buttons */
.modal.show button::-moz-focus-inner,
.modal.show .btn::-moz-focus-inner,
.modal-dialog button::-moz-focus-inner,
.modal-dialog .btn::-moz-focus-inner,
.confirmation-dialog button::-moz-focus-inner,
.confirmation-dialog .btn::-moz-focus-inner,
.confirm-dialog button::-moz-focus-inner,
.confirm-dialog .btn::-moz-focus-inner,
.swal2-popup button::-moz-focus-inner,
.sweet-alert button::-moz-focus-inner {
    border: 0 !important;
}

/* Chrome 68 safe focus consistency for TV remote */
button.nav-active,
.btn.nav-active {
    outline: none !important;
}


/* =========================================================
   FINAL UI FIX - MEAL STATUS BOTTOM + STRONG TV FOCUS
   Chrome 68 safe CSS only.
   ========================================================= */

/* Make meal card content structured so status can sit at bottom */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    position: relative !important;
    height: 178px !important;
    min-height: 178px !important;
    max-height: 178px !important;
    padding: 17px 20px 34px 20px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Push common "Meals Selected" indicators to the last line/bottom area */
.home-panel-right-column .meal-selected,
.home-panel-right-column .meals-selected,
.home-panel-right-column .meal-selected-status,
.home-panel-right-column .meals-selected-status,
.home-panel-right-column .selected-meal-status,
.home-panel-right-column .selected-status,
.home-panel-right-column .ordered-status,
.home-panel-right-column .meal-status,
.home-panel-right-column .order-status-badge {
    position: absolute !important;
    left: 20px !important;
    right: 20px !important;
    bottom: 9px !important;
    top: auto !important;
    display: block !important;
    text-align: right !important;
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    z-index: 3 !important;
}

/* If status contains a green dot/icon, keep it aligned at bottom */
.home-panel-right-column .meal-selected i,
.home-panel-right-column .meals-selected i,
.home-panel-right-column .meal-selected-status i,
.home-panel-right-column .meals-selected-status i,
.home-panel-right-column .selected-meal-status i,
.home-panel-right-column .selected-status i,
.home-panel-right-column .ordered-status i,
.home-panel-right-column .meal-status i,
.home-panel-right-column .order-status-badge i {
    vertical-align: middle !important;
    margin-right: 5px !important;
}

/* More visible TV navigation indication */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *.nav-active,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *:focus,
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active,
.home-panel-right-column [data-nav-role="home-meal-period"]:focus,
.home-panel-right-column .meal-period-card.nav-active,
.home-panel-right-column .meal-period-card:focus,
.home-panel-right-column .order-period-card.nav-active,
.home-panel-right-column .order-period-card:focus,
.home-panel-right-column .dashboard-meal-period-card.nav-active,
.home-panel-right-column .dashboard-meal-period-card:focus {
    border: 3px solid #ffffff !important;
    outline: 0 !important;
    background: linear-gradient(135deg, #1971ff 0%, #2387ff 55%, #31a0ff 100%) !important;
    background-color: #2387ff !important;
    box-shadow:
        0 0 0 4px rgba(84, 205, 255, .62),
        0 0 30px rgba(50, 170, 255, .95),
        0 16px 34px rgba(0,0,0,.38) !important;
    transform: scale(1.018) !important;
    z-index: 20 !important;
}

/* Add a clear left active rail on focused meal cards */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *.nav-active:before,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *:focus:before,
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active:before,
.home-panel-right-column [data-nav-role="home-meal-period"]:focus:before,
.home-panel-right-column .meal-period-card.nav-active:before,
.home-panel-right-column .meal-period-card:focus:before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 14px !important;
    bottom: 14px !important;
    width: 8px !important;
    border-radius: 0 8px 8px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 18px rgba(255,255,255,.85) !important;
    opacity: 1 !important;
    z-index: 4 !important;
}

/* Keep focus text readable */
.home-panel-right-column .nav-active,
.home-panel-right-column .nav-active * {
    text-shadow: 0 1px 2px rgba(0,0,0,.35) !important;
}

/* Action buttons also get clearer active indication */
.home-panel-right-column .right-column-actions button.nav-active,
.home-panel-right-column .right-column-actions button:focus,
.home-panel-right-column .perf-meal-area-actions.right-column-actions button.nav-active,
.home-panel-right-column .perf-meal-area-actions.right-column-actions button:focus {
    border: 3px solid #ffffff !important;
    background: linear-gradient(180deg, #3291ff 0%, #1767ff 100%) !important;
    color: #ffffff !important;
    box-shadow:
        0 0 0 4px rgba(84, 205, 255, .55),
        0 0 28px rgba(50, 170, 255, .85),
        0 12px 28px rgba(0,0,0,.32) !important;
    transform: scale(1.018) !important;
}

/* Chrome 68 safe: remove conflicting inner pseudo frames except the active rail above */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *:after,
.home-panel-right-column [data-nav-role="home-meal-period"]:after,
.home-panel-right-column .meal-period-card:after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   FINAL FIX - MEALS SELECTED FOOTER STABILITY
   Chrome 68 safe. Must remain at end of custom.css.
   ========================================================= */

.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    position: relative !important;
    height: 178px !important;
    min-height: 178px !important;
    max-height: 178px !important;
    padding: 17px 20px 34px 20px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.home-panel-right-column .meal-card-body,
.home-panel-right-column .meal-period-body,
.home-panel-right-column .order-period-body,
.home-panel-right-column .card-body {
    padding-bottom: 24px !important;
}

/* Only selected status footer should be bottom-anchored */
.home-panel-right-column .meal-selected-status,
.home-panel-right-column .meals-selected-status,
.home-panel-right-column .meal-selected,
.home-panel-right-column .meals-selected {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 8px !important;
    top: auto !important;
    display: block !important;
    text-align: right !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    color: #b8ffcf !important;
    line-height: 16px !important;
    z-index: 5 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: none !important;
    width: auto !important;
    height: 18px !important;
}

.home-panel-right-column .meal-selected-status *,
.home-panel-right-column .meals-selected-status *,
.home-panel-right-column .meal-selected *,
.home-panel-right-column .meals-selected * {
    position: static !important;
    display: inline !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 16px !important;
}

.home-panel-right-column .meal-selected-status i,
.home-panel-right-column .meals-selected-status i,
.home-panel-right-column .meal-selected i,
.home-panel-right-column .meals-selected i {
    margin-right: 5px !important;
    vertical-align: middle !important;
}

/* Keep normal Order User / Order Time rows untouched */
.home-panel-right-column .meal-period-card .row,
.home-panel-right-column .order-period-card .row,
.home-panel-right-column .dashboard-meal-period-card .row,
.home-panel-right-column [data-nav-role="home-meal-period"] .row {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    display: flex !important;
    height: auto !important;
    max-width: none !important;
    overflow: visible !important;
}

.home-panel-right-column .meal-period-card .row > div,
.home-panel-right-column .order-period-card .row > div,
.home-panel-right-column .dashboard-meal-period-card .row > div,
.home-panel-right-column [data-nav-role="home-meal-period"] .row > div {
    min-width: 0 !important;
    overflow: hidden !important;
}

.home-panel-right-column .meal-period-card .row > div *,
.home-panel-right-column .order-period-card .row > div *,
.home-panel-right-column .dashboard-meal-period-card .row > div *,
.home-panel-right-column [data-nav-role="home-meal-period"] .row > div * {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.home-panel-right-column .has-meal-selected-status {
    padding-bottom: 36px !important;
}


/* =========================================================
   FINAL FIX - MEALS SELECTED SAFE FOOTER
   Chrome 68 safe. Must remain at the end of custom.css.
   ========================================================= */

/* Reset previous broad status classes; they must not reposition card/title/order rows */
.home-panel-right-column .meal-selected-status,
.home-panel-right-column .meals-selected-status,
.home-panel-right-column .meal-selected,
.home-panel-right-column .meals-selected {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    display: inline !important;
    width: auto !important;
    height: auto !important;
    text-align: inherit !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* Only safe leaf status is pinned to last line */
.home-panel-right-column .meal-selected-footer-status {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 8px !important;
    top: auto !important;
    display: block !important;
    width: auto !important;
    height: 18px !important;
    text-align: right !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    color: #b8ffcf !important;
    line-height: 16px !important;
    z-index: 5 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.home-panel-right-column .has-meal-selected-status {
    position: relative !important;
    padding-bottom: 36px !important;
}

/* Normal meal title and order rows remain normal */
.home-panel-right-column .meal-period-card .row,
.home-panel-right-column .order-period-card .row,
.home-panel-right-column .dashboard-meal-period-card .row,
.home-panel-right-column [data-nav-role="home-meal-period"] .row {
    position: static !important;
    display: flex !important;
    height: auto !important;
    white-space: normal !important;
    overflow: visible !important;
}

.home-panel-right-column .meal-period-card .row > div,
.home-panel-right-column .order-period-card .row > div,
.home-panel-right-column .dashboard-meal-period-card .row > div,
.home-panel-right-column [data-nav-role="home-meal-period"] .row > div {
    min-width: 0 !important;
    overflow: hidden !important;
}

.home-panel-right-column .meal-period-card .row > div *,
.home-panel-right-column .order-period-card .row > div *,
.home-panel-right-column .dashboard-meal-period-card .row > div *,
.home-panel-right-column [data-nav-role="home-meal-period"] .row > div * {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}


/* =========================================================
   FINAL FIX - MEAL PERIOD FONT UNIFORM + INLINE SELECTED INDICATOR
   Chrome 68 safe. Must remain at end of custom.css.
   ========================================================= */

/* Uniform card typography closer to Patient Information weight/scale */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    font-size: 17px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    padding: 18px 22px 18px 22px !important;
}

/* Meal period title */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * h1,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * h2,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * h3,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * h4,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * h5,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * h6,
.home-panel-right-column .meal-period-card h1,
.home-panel-right-column .meal-period-card h2,
.home-panel-right-column .meal-period-card h3,
.home-panel-right-column .meal-period-card h4,
.home-panel-right-column .meal-period-card h5,
.home-panel-right-column .meal-period-card h6,
.home-panel-right-column .order-period-card h1,
.home-panel-right-column .order-period-card h2,
.home-panel-right-column .order-period-card h3,
.home-panel-right-column .order-period-card h4,
.home-panel-right-column .order-period-card h5,
.home-panel-right-column .order-period-card h6,
.home-panel-right-column .dashboard-meal-period-card h1,
.home-panel-right-column .dashboard-meal-period-card h2,
.home-panel-right-column .dashboard-meal-period-card h3,
.home-panel-right-column .dashboard-meal-period-card h4,
.home-panel-right-column .dashboard-meal-period-card h5,
.home-panel-right-column .dashboard-meal-period-card h6 {
    font-size: 18px !important;
    line-height: 22px !important;
    font-weight: 900 !important;
    margin: 0 0 7px 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Labels and values */
.home-panel-right-column .meal-period-card,
.home-panel-right-column .meal-period-card *,
.home-panel-right-column .order-period-card,
.home-panel-right-column .order-period-card *,
.home-panel-right-column .dashboard-meal-period-card,
.home-panel-right-column .dashboard-meal-period-card *,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column [data-nav-role="home-meal-period"] * {
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 800 !important;
}

/* Keep title slightly larger after broad rule */
.home-panel-right-column .meal-period-card h1,
.home-panel-right-column .meal-period-card h2,
.home-panel-right-column .meal-period-card h3,
.home-panel-right-column .meal-period-card h4,
.home-panel-right-column .meal-period-card h5,
.home-panel-right-column .meal-period-card h6,
.home-panel-right-column .order-period-card h1,
.home-panel-right-column .order-period-card h2,
.home-panel-right-column .order-period-card h3,
.home-panel-right-column .order-period-card h4,
.home-panel-right-column .order-period-card h5,
.home-panel-right-column .order-period-card h6,
.home-panel-right-column .dashboard-meal-period-card h1,
.home-panel-right-column .dashboard-meal-period-card h2,
.home-panel-right-column .dashboard-meal-period-card h3,
.home-panel-right-column .dashboard-meal-period-card h4,
.home-panel-right-column .dashboard-meal-period-card h5,
.home-panel-right-column .dashboard-meal-period-card h6 {
    font-size: 18px !important;
    line-height: 22px !important;
}

/* Remove old footer status behavior */
.home-panel-right-column .meal-selected-status,
.home-panel-right-column .meals-selected-status,
.home-panel-right-column .meal-selected,
.home-panel-right-column .meals-selected,
.home-panel-right-column .meal-selected-footer-status {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    display: inline !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    text-align: inherit !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* New selected indicator after Order User value */
.home-panel-right-column .meal-selected-inline-indicator {
    display: inline-block !important;
    position: static !important;
    margin-left: 8px !important;
    padding: 2px 8px 2px 8px !important;
    border-radius: 999px !important;
    background: rgba(23, 120, 50, .96) !important;
    border: 1px solid rgba(190, 255, 205, .95) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    line-height: 14px !important;
    font-weight: 900 !important;
    vertical-align: middle !important;
    box-shadow: 0 0 10px rgba(105, 255, 135, .46) !important;
    max-width: 132px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Visible green dot before selected text */
.home-panel-right-column .meal-selected-inline-indicator:before {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #6dff8a !important;
    margin-right: 5px !important;
    vertical-align: 1px !important;
    box-shadow: 0 0 8px rgba(109,255,138,.85) !important;
}

/* Ensure order row columns are clean and do not collide */
.home-panel-right-column .meal-period-card .row > div,
.home-panel-right-column .order-period-card .row > div,
.home-panel-right-column .dashboard-meal-period-card .row > div,
.home-panel-right-column [data-nav-role="home-meal-period"] .row > div {
    min-width: 0 !important;
    overflow: hidden !important;
}

.home-panel-right-column .meal-period-card .row > div *,
.home-panel-right-column .order-period-card .row > div *,
.home-panel-right-column .dashboard-meal-period-card .row > div *,
.home-panel-right-column [data-nav-role="home-meal-period"] .row > div * {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Strong visible focus indication */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *.nav-active,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *:focus,
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active,
.home-panel-right-column [data-nav-role="home-meal-period"]:focus,
.home-panel-right-column .meal-period-card.nav-active,
.home-panel-right-column .meal-period-card:focus,
.home-panel-right-column .order-period-card.nav-active,
.home-panel-right-column .order-period-card:focus,
.home-panel-right-column .dashboard-meal-period-card.nav-active,
.home-panel-right-column .dashboard-meal-period-card:focus {
    border: 3px solid #ffffff !important;
    background: linear-gradient(135deg, #1971ff 0%, #2387ff 55%, #31a0ff 100%) !important;
    background-color: #2387ff !important;
    box-shadow:
        0 0 0 4px rgba(84, 205, 255, .72),
        0 0 34px rgba(50, 170, 255, .98),
        0 16px 34px rgba(0,0,0,.38) !important;
    transform: scale(1.015) !important;
    z-index: 20 !important;
}


/* =========================================================
   FINAL FIX - MEAL PERIOD FOCUS + CLEAN SELECTED INDICATOR
   Chrome 68 safe. Must remain at end of custom.css.
   ========================================================= */

/* Uniform font sizing closer to Patient Information cards */
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * {
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 800 !important;
}

/* Meal period titles */
.home-panel-right-column .meal-period-card h1,
.home-panel-right-column .meal-period-card h2,
.home-panel-right-column .meal-period-card h3,
.home-panel-right-column .meal-period-card h4,
.home-panel-right-column .meal-period-card h5,
.home-panel-right-column .meal-period-card h6,
.home-panel-right-column .order-period-card h1,
.home-panel-right-column .order-period-card h2,
.home-panel-right-column .order-period-card h3,
.home-panel-right-column .order-period-card h4,
.home-panel-right-column .order-period-card h5,
.home-panel-right-column .order-period-card h6,
.home-panel-right-column .dashboard-meal-period-card h1,
.home-panel-right-column .dashboard-meal-period-card h2,
.home-panel-right-column .dashboard-meal-period-card h3,
.home-panel-right-column .dashboard-meal-period-card h4,
.home-panel-right-column .dashboard-meal-period-card h5,
.home-panel-right-column .dashboard-meal-period-card h6,
.home-panel-right-column [data-nav-role="home-meal-period"] h1,
.home-panel-right-column [data-nav-role="home-meal-period"] h2,
.home-panel-right-column [data-nav-role="home-meal-period"] h3,
.home-panel-right-column [data-nav-role="home-meal-period"] h4,
.home-panel-right-column [data-nav-role="home-meal-period"] h5,
.home-panel-right-column [data-nav-role="home-meal-period"] h6 {
    font-size: 17px !important;
    line-height: 21px !important;
    font-weight: 900 !important;
}

/* Card values */
.home-panel-right-column .meal-period-card *,
.home-panel-right-column .order-period-card *,
.home-panel-right-column .dashboard-meal-period-card *,
.home-panel-right-column [data-nav-role="home-meal-period"] * {
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 800 !important;
}

/* Hide old text/pill/badge styles for Meals Selected because it was colliding with text */
.home-panel-right-column .meal-selected-text-hidden,
.home-panel-right-column .meal-selected-inline-indicator,
.home-panel-right-column .meal-selected-footer-status,
.home-panel-right-column .meal-selected-status,
.home-panel-right-column .meals-selected-status,
.home-panel-right-column .meal-selected,
.home-panel-right-column .meals-selected {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
}

/* Clean selected indicator on card itself */
.home-panel-right-column .meal-period-has-selection:after {
    content: "✓" !important;
    display: block !important;
    position: absolute !important;
    right: 16px !important;
    bottom: 14px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #25d366 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    font-size: 18px !important;
    line-height: 24px !important;
    text-align: center !important;
    font-weight: 900 !important;
    z-index: 30 !important;
    box-shadow: 0 0 14px rgba(37, 211, 102, .85), 0 4px 10px rgba(0,0,0,.35) !important;
}

/* Strong focus ring applied to the actual card wrapper */
.home-panel-right-column .meal-period-card.nav-active,
.home-panel-right-column .meal-period-card:focus,
.home-panel-right-column .order-period-card.nav-active,
.home-panel-right-column .order-period-card:focus,
.home-panel-right-column .dashboard-meal-period-card.nav-active,
.home-panel-right-column .dashboard-meal-period-card:focus,
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active,
.home-panel-right-column [data-nav-role="home-meal-period"]:focus,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12).nav-active,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12):focus,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *.nav-active,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *:focus {
    border: 4px solid #ffffff !important;
    outline: none !important;
    background: linear-gradient(135deg, #0e63ff 0%, #1e78ff 55%, #2f9fff 100%) !important;
    background-color: #1e78ff !important;
    box-shadow:
        0 0 0 5px rgba(90, 210, 255, .78),
        0 0 36px rgba(55, 180, 255, 1),
        0 18px 34px rgba(0,0,0,.45) !important;
    transform: scale(1.018) !important;
    z-index: 40 !important;
}

/* Extra visible left rail for selected navigation card */
.home-panel-right-column .meal-period-card.nav-active:before,
.home-panel-right-column .order-period-card.nav-active:before,
.home-panel-right-column .dashboard-meal-period-card.nav-active:before,
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active:before,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *.nav-active:before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 9px !important;
    border-radius: 0 9px 9px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 18px rgba(255,255,255,.95) !important;
    z-index: 35 !important;
}

/* Keep title/order rows readable and unclipped */
.home-panel-right-column .meal-period-card .row > div,
.home-panel-right-column .order-period-card .row > div,
.home-panel-right-column .dashboard-meal-period-card .row > div,
.home-panel-right-column [data-nav-role="home-meal-period"] .row > div {
    min-width: 0 !important;
    overflow: hidden !important;
}

.home-panel-right-column .meal-period-card .row > div *,
.home-panel-right-column .order-period-card .row > div *,
.home-panel-right-column .dashboard-meal-period-card .row > div *,
.home-panel-right-column [data-nav-role="home-meal-period"] .row > div * {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Make sure card is relative for indicators */
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * {
    position: relative !important;
}


/* =========================================================
   FINAL SAFETY FIX - MEAL PERIOD CARDS MUST NEVER HIDE
   Chrome 68 safe. Must remain at end of custom.css.
   ========================================================= */

/* Hard restore all meal period cards */
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12),
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > * {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Undo unsafe hiding classes from previous build */
.home-panel-right-column .meal-selected-text-hidden,
.home-panel-right-column .meal-selected-inline-indicator,
.home-panel-right-column .meal-selected-footer-status,
.home-panel-right-column .meal-selected-status,
.home-panel-right-column .meals-selected-status,
.home-panel-right-column .meal-selected,
.home-panel-right-column .meals-selected {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: hidden !important;
    max-width: 120px !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: 12px !important;
    line-height: 14px !important;
    color: #b8ffcf !important;
    vertical-align: middle !important;
}

/* Prevent selected indicator text from taking over the card layout */
.home-panel-right-column .meal-selected-text-hidden,
.home-panel-right-column .meal-selected-inline-indicator,
.home-panel-right-column .meal-selected-footer-status {
    margin-left: 6px !important;
}

/* Clean visible selected marker using card pseudo-element only */
.home-panel-right-column .meal-period-has-selection:after,
.home-panel-right-column .has-meal-selected-inline:after,
.home-panel-right-column .has-meal-selected-status:after {
    content: "✓" !important;
    display: block !important;
    position: absolute !important;
    right: 14px !important;
    bottom: 12px !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    background: #24c960 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    font-size: 15px !important;
    line-height: 20px !important;
    text-align: center !important;
    font-weight: 900 !important;
    z-index: 20 !important;
    box-shadow: 0 0 12px rgba(36,201,96,.75) !important;
}

/* Uniform meal card font closer to patient information */
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card,
.home-panel-right-column [data-nav-role="home-meal-period"] *,
.home-panel-right-column .meal-period-card *,
.home-panel-right-column .order-period-card *,
.home-panel-right-column .dashboard-meal-period-card * {
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 800 !important;
}

/* Title slightly stronger, not huge */
.home-panel-right-column [data-nav-role="home-meal-period"] h1,
.home-panel-right-column [data-nav-role="home-meal-period"] h2,
.home-panel-right-column [data-nav-role="home-meal-period"] h3,
.home-panel-right-column [data-nav-role="home-meal-period"] h4,
.home-panel-right-column [data-nav-role="home-meal-period"] h5,
.home-panel-right-column [data-nav-role="home-meal-period"] h6,
.home-panel-right-column .meal-period-card h1,
.home-panel-right-column .meal-period-card h2,
.home-panel-right-column .meal-period-card h3,
.home-panel-right-column .meal-period-card h4,
.home-panel-right-column .meal-period-card h5,
.home-panel-right-column .meal-period-card h6,
.home-panel-right-column .order-period-card h1,
.home-panel-right-column .order-period-card h2,
.home-panel-right-column .order-period-card h3,
.home-panel-right-column .order-period-card h4,
.home-panel-right-column .order-period-card h5,
.home-panel-right-column .order-period-card h6,
.home-panel-right-column .dashboard-meal-period-card h1,
.home-panel-right-column .dashboard-meal-period-card h2,
.home-panel-right-column .dashboard-meal-period-card h3,
.home-panel-right-column .dashboard-meal-period-card h4,
.home-panel-right-column .dashboard-meal-period-card h5,
.home-panel-right-column .dashboard-meal-period-card h6 {
    font-size: 17px !important;
    line-height: 21px !important;
    font-weight: 900 !important;
}

/* Make navigation focus obvious on meal period cards */
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active,
.home-panel-right-column [data-nav-role="home-meal-period"]:focus,
.home-panel-right-column .meal-period-card.nav-active,
.home-panel-right-column .meal-period-card:focus,
.home-panel-right-column .order-period-card.nav-active,
.home-panel-right-column .order-period-card:focus,
.home-panel-right-column .dashboard-meal-period-card.nav-active,
.home-panel-right-column .dashboard-meal-period-card:focus,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *.nav-active,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *:focus {
    border: 4px solid #ffffff !important;
    outline: none !important;
    background: linear-gradient(135deg, #0f63ff 0%, #1e78ff 55%, #2f9fff 100%) !important;
    background-color: #1e78ff !important;
    box-shadow:
        0 0 0 5px rgba(90, 210, 255, .75),
        0 0 34px rgba(55, 180, 255, 1),
        0 18px 34px rgba(0,0,0,.45) !important;
    transform: scale(1.015) !important;
    z-index: 40 !important;
}

/* Focus rail */
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active:before,
.home-panel-right-column .meal-period-card.nav-active:before,
.home-panel-right-column .order-period-card.nav-active:before,
.home-panel-right-column .dashboard-meal-period-card.nav-active:before,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > *.nav-active:before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 9px !important;
    border-radius: 0 9px 9px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 18px rgba(255,255,255,.95) !important;
    z-index: 35 !important;
}


/* =========================================================
   FINAL MEAL CARD TYPOGRAPHY + SELECTED INDICATOR CLEANUP
   Chrome 68 safe. Must remain at the end of custom.css.
   ========================================================= */

/* Meal cards: patient-card-like typography and tighter internal padding */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > button,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > .btn,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    min-height: 168px !important;
    height: 168px !important;
    max-height: 168px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 16px !important;
}

/* Inner card body alignment: less left whitespace */
.home-panel-right-column .meal-period-card .card-body,
.home-panel-right-column .order-period-card .card-body,
.home-panel-right-column .dashboard-meal-period-card .card-body,
.home-panel-right-column [data-nav-role="home-meal-period"] .card-body,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > button .card-body,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > .btn .card-body {
    padding: 15px 18px 13px 18px !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
}

/* Normalize meal card fonts to be closer to patient information cards */
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card,
.home-panel-right-column [data-nav-role="home-meal-period"],
.home-panel-right-column .meal-period-card *,
.home-panel-right-column .order-period-card *,
.home-panel-right-column .dashboard-meal-period-card *,
.home-panel-right-column [data-nav-role="home-meal-period"] *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > button *,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > .btn * {
    font-size: 15px !important;
    line-height: 19px !important;
    font-weight: 800 !important;
}

/* Meal period name/title */
.home-panel-right-column .meal-period-card h1,
.home-panel-right-column .meal-period-card h2,
.home-panel-right-column .meal-period-card h3,
.home-panel-right-column .meal-period-card h4,
.home-panel-right-column .meal-period-card h5,
.home-panel-right-column .meal-period-card h6,
.home-panel-right-column .order-period-card h1,
.home-panel-right-column .order-period-card h2,
.home-panel-right-column .order-period-card h3,
.home-panel-right-column .order-period-card h4,
.home-panel-right-column .order-period-card h5,
.home-panel-right-column .order-period-card h6,
.home-panel-right-column .dashboard-meal-period-card h1,
.home-panel-right-column .dashboard-meal-period-card h2,
.home-panel-right-column .dashboard-meal-period-card h3,
.home-panel-right-column .dashboard-meal-period-card h4,
.home-panel-right-column .dashboard-meal-period-card h5,
.home-panel-right-column .dashboard-meal-period-card h6,
.home-panel-right-column [data-nav-role="home-meal-period"] h1,
.home-panel-right-column [data-nav-role="home-meal-period"] h2,
.home-panel-right-column [data-nav-role="home-meal-period"] h3,
.home-panel-right-column [data-nav-role="home-meal-period"] h4,
.home-panel-right-column [data-nav-role="home-meal-period"] h5,
.home-panel-right-column [data-nav-role="home-meal-period"] h6 {
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 900 !important;
    margin-top: 0 !important;
    margin-bottom: 6px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Progress line reduced spacing */
.home-panel-right-column .meal-period-card .progress,
.home-panel-right-column .order-period-card .progress,
.home-panel-right-column .dashboard-meal-period-card .progress,
.home-panel-right-column [data-nav-role="home-meal-period"] .progress {
    margin-bottom: 7px !important;
    height: 5px !important;
}

/* Keep order columns compact and aligned */
.home-panel-right-column .meal-period-card .row,
.home-panel-right-column .order-period-card .row,
.home-panel-right-column .dashboard-meal-period-card .row,
.home-panel-right-column [data-nav-role="home-meal-period"] .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
}

.home-panel-right-column .meal-period-card .row > div,
.home-panel-right-column .order-period-card .row > div,
.home-panel-right-column .dashboard-meal-period-card .row > div,
.home-panel-right-column [data-nav-role="home-meal-period"] .row > div {
    padding-left: 0 !important;
    padding-right: 10px !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

/* Values: no oversized h3/h4 */
.home-panel-right-column .meal-period-card h3,
.home-panel-right-column .meal-period-card h4,
.home-panel-right-column .order-period-card h3,
.home-panel-right-column .order-period-card h4,
.home-panel-right-column .dashboard-meal-period-card h3,
.home-panel-right-column .dashboard-meal-period-card h4,
.home-panel-right-column [data-nav-role="home-meal-period"] h3,
.home-panel-right-column [data-nav-role="home-meal-period"] h4 {
    font-size: 15px !important;
    line-height: 18px !important;
    font-weight: 850 !important;
    margin: 0 0 3px 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Remove old experimental selected-indicator text/pill styles */
.home-panel-right-column .meal-selected-text-hidden,
.home-panel-right-column .meal-selected-inline-indicator,
.home-panel-right-column .meal-selected-footer-status,
.home-panel-right-column .meal-selected-status,
.home-panel-right-column .meals-selected-status,
.home-panel-right-column .meal-selected,
.home-panel-right-column .meals-selected {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
}

/* Clean selected indicator, inside normal card flow, not absolute */
.home-panel-right-column .meal-period-selected-indicator {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 9px !important;
    padding: 0 !important;
    position: static !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: hidden !important;
    color: #d8ffe2 !important;
    font-size: 13px !important;
    line-height: 16px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.home-panel-right-column .meal-period-selected-indicator__dot {
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #39e76f !important;
    border: 1px solid #ffffff !important;
    box-shadow: 0 0 8px rgba(57,231,111,.85) !important;
}

.home-panel-right-column .meal-period-selected-indicator__text {
    display: inline-block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Disable previous pseudo check badges to avoid duplicate indicators */
.home-panel-right-column .meal-period-has-selection:after,
.home-panel-right-column .has-meal-selected-inline:after,
.home-panel-right-column .has-meal-selected-status:after {
    content: none !important;
    display: none !important;
}

/* Strong visible focus ring on actual meal period card/button */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > button.nav-active,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > button:focus,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > .btn.nav-active,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > .btn:focus,
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active,
.home-panel-right-column [data-nav-role="home-meal-period"]:focus,
.home-panel-right-column .meal-period-card.nav-active,
.home-panel-right-column .meal-period-card:focus,
.home-panel-right-column .order-period-card.nav-active,
.home-panel-right-column .order-period-card:focus,
.home-panel-right-column .dashboard-meal-period-card.nav-active,
.home-panel-right-column .dashboard-meal-period-card:focus {
    border: 4px solid #ffffff !important;
    outline: none !important;
    background: linear-gradient(135deg, #0f63ff 0%, #1e78ff 55%, #2f9fff 100%) !important;
    background-color: #1e78ff !important;
    box-shadow:
        0 0 0 5px rgba(90, 210, 255, .75),
        0 0 34px rgba(55, 180, 255, 1),
        0 18px 34px rgba(0,0,0,.45) !important;
    transform: scale(1.012) !important;
    z-index: 40 !important;
}

/* Focus rail */
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > button.nav-active:before,
.home-panel-right-column .row.g-3.mt-2.flex-grow-1 > div:not(.col-12) > .btn.nav-active:before,
.home-panel-right-column [data-nav-role="home-meal-period"].nav-active:before,
.home-panel-right-column .meal-period-card.nav-active:before,
.home-panel-right-column .order-period-card.nav-active:before,
.home-panel-right-column .dashboard-meal-period-card.nav-active:before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 8px !important;
    border-radius: 0 8px 8px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 18px rgba(255,255,255,.95) !important;
    z-index: 35 !important;
}


/* =========================================================
   FINAL HOTFIX - FORCE MEALS SELECTED INDICATOR VISIBLE
   ========================================================= */

.home-panel-right-column .meal-period-selected-indicator,
.meal-period-selected-indicator {
    display:flex !important;
    align-items:center !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    width:auto !important;
    height:auto !important;
    overflow:visible !important;
    margin-top:10px !important;
    padding-top:2px !important;
    z-index:999 !important;
}

.home-panel-right-column .meal-period-selected-indicator__dot,
.meal-period-selected-indicator__dot {
    display:inline-block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:10px !important;
    height:10px !important;
    min-width:10px !important;
    border-radius:50% !important;
    background:#48ff72 !important;
    border:1px solid #ffffff !important;
    margin-right:7px !important;
    box-shadow:0 0 10px rgba(72,255,114,.95) !important;
}

.home-panel-right-column .meal-period-selected-indicator__text,
.meal-period-selected-indicator__text {
    display:inline-block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#ffffff !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:16px !important;
    white-space:nowrap !important;
}

.home-panel-right-column .meal-period-card .card-body,
.home-panel-right-column .order-period-card .card-body,
.home-panel-right-column .dashboard-meal-period-card .card-body {
    padding-bottom:18px !important;
}



/* =========================================================
   FINAL TV NAVIGATION INDICATOR FIX
   ========================================================= */

.tv-selected,
.tv-selected .card,
.tv-selected .meal-period-card,
button.tv-selected,
.focusable.tv-selected {
    position: relative !important;
    border: 3px solid #7fd0ff !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.35),
        0 0 18px rgba(80,170,255,.95),
        0 0 28px rgba(80,170,255,.65) !important;
    transform: scale(1.01) !important;
    z-index: 50 !important;
}

.tv-selected:before,
button.tv-selected:before,
.focusable.tv-selected:before {
    content: '' !important;
    position: absolute !important;
    inset: -4px !important;
    border-radius: 18px !important;
    border: 2px solid rgba(180,230,255,.95) !important;
    pointer-events: none !important;
}

.meal-period-card.tv-selected,
.order-period-card.tv-selected {
    background: linear-gradient(180deg,#2d74ff 0%,#2256c7 100%) !important;
}



/* =========================================================
   FINAL FIX - CLEAN MEALS SELECTED + STRONG MEAL NAV RING
   Chrome 68 safe. Keep this block last.
   ========================================================= */

/* Stop the selected text from floating into the title/progress area */
.home-panel-right-column .meal-period-selected-indicator,
.meal-period-selected-indicator {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 10px !important;
    top: auto !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: auto !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    text-align: left !important;

    z-index: 25 !important;
    pointer-events: none !important;
}

/* Make the card reserve space for the indicator */
.home-panel-right-column .meal-period-card .card-body,
.home-panel-right-column .order-period-card .card-body,
.home-panel-right-column .dashboard-meal-period-card .card-body,
.home-panel-right-column [data-nav-role="home-meal-period"] .card-body,
.home-panel-right-column button.focusable .card-body,
.home-panel-right-column button.tv-selected .card-body {
    padding-bottom: 34px !important;
}

/* Selected status as a small clean bottom line, not over the title */
.home-panel-right-column .meal-period-selected-indicator__dot,
.meal-period-selected-indicator__dot {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 9px !important;
    height: 9px !important;
    min-width: 9px !important;
    border-radius: 50% !important;
    background: #45ff74 !important;
    border: 1px solid #ffffff !important;
    margin-right: 7px !important;
    vertical-align: 0 !important;
    box-shadow: 0 0 10px rgba(69,255,116,.95) !important;
}

.home-panel-right-column .meal-period-selected-indicator__text,
.meal-period-selected-indicator__text {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #dffff0 !important;
    font-size: 13px !important;
    line-height: 16px !important;
    font-weight: 850 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.45) !important;
}

/* Remove older pseudo selected marks to avoid duplicate/confusing indicators */
.home-panel-right-column .meal-period-has-selection:after,
.home-panel-right-column .has-meal-selected-inline:after,
.home-panel-right-column .has-meal-selected-status:after {
    content: none !important;
    display: none !important;
}

/* Strong navigation ring on the button AND the visible inner card */
.home-panel-right-column button.tv-selected,
.home-panel-right-column button.focusable.tv-selected,
.home-panel-right-column .focusable.tv-selected,
.home-panel-right-column .nav-active,
.home-panel-right-column button:focus {
    position: relative !important;
    outline: none !important;
    border-radius: 18px !important;
    box-shadow:
        0 0 0 4px rgba(255,255,255,.75),
        0 0 0 8px rgba(74,190,255,.70),
        0 0 34px rgba(55,180,255,1) !important;
    z-index: 80 !important;
}

/* The real visible card must also glow, because the button itself can be transparent */
.home-panel-right-column button.tv-selected > .card,
.home-panel-right-column button.focusable.tv-selected > .card,
.home-panel-right-column .focusable.tv-selected > .card,
.home-panel-right-column .nav-active > .card,
.home-panel-right-column button:focus > .card,
.home-panel-right-column .meal-period-card.tv-selected,
.home-panel-right-column .meal-period-card.nav-active,
.home-panel-right-column .meal-period-card:focus,
.home-panel-right-column .order-period-card.tv-selected,
.home-panel-right-column .order-period-card.nav-active,
.home-panel-right-column .order-period-card:focus,
.home-panel-right-column .dashboard-meal-period-card.tv-selected,
.home-panel-right-column .dashboard-meal-period-card.nav-active,
.home-panel-right-column .dashboard-meal-period-card:focus {
    border: 4px solid #ffffff !important;
    background: linear-gradient(135deg, #0f63ff 0%, #1d78ff 55%, #31a0ff 100%) !important;
    background-color: #1d78ff !important;
    box-shadow:
        0 0 0 5px rgba(90,210,255,.80),
        0 0 36px rgba(55,180,255,1),
        0 18px 34px rgba(0,0,0,.42) !important;
    transform: scale(1.012) !important;
    z-index: 90 !important;
}

/* Clear white rail inside focused meal card */
.home-panel-right-column button.tv-selected > .card:before,
.home-panel-right-column button.focusable.tv-selected > .card:before,
.home-panel-right-column .focusable.tv-selected > .card:before,
.home-panel-right-column .nav-active > .card:before,
.home-panel-right-column button:focus > .card:before,
.home-panel-right-column .meal-period-card.nav-active:before,
.home-panel-right-column .order-period-card.nav-active:before,
.home-panel-right-column .dashboard-meal-period-card.nav-active:before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 8px !important;
    border-radius: 0 8px 8px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 18px rgba(255,255,255,.95) !important;
    z-index: 35 !important;
}

/* Keep meal text size closer to Patient Information cards and avoid large inconsistent headings */
.home-panel-right-column button.focusable .card,
.home-panel-right-column .meal-period-card,
.home-panel-right-column .order-period-card,
.home-panel-right-column .dashboard-meal-period-card {
    font-size: 15px !important;
    line-height: 19px !important;
    font-weight: 800 !important;
}

.home-panel-right-column button.focusable .card h3,
.home-panel-right-column button.focusable .card h4,
.home-panel-right-column .meal-period-card h3,
.home-panel-right-column .meal-period-card h4,
.home-panel-right-column .order-period-card h3,
.home-panel-right-column .order-period-card h4,
.home-panel-right-column .dashboard-meal-period-card h3,
.home-panel-right-column .dashboard-meal-period-card h4 {
    font-size: 15px !important;
    line-height: 18px !important;
    font-weight: 850 !important;
    margin-top: 0 !important;
    margin-bottom: 4px !important;
}

.home-panel-right-column button.focusable .card h3:first-child,
.home-panel-right-column .meal-period-card h3:first-child,
.home-panel-right-column .order-period-card h3:first-child,
.home-panel-right-column .dashboard-meal-period-card h3:first-child {
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 900 !important;
}

/* Prevent order time from pushing into the indicator */
.home-panel-right-column button.focusable .card .row > div,
.home-panel-right-column .meal-period-card .row > div,
.home-panel-right-column .order-period-card .row > div,
.home-panel-right-column .dashboard-meal-period-card .row > div {
    min-width: 0 !important;
    overflow: hidden !important;
}


/* =========================================================
   FINAL FIX - MEAL PERIOD NAV CLASS BRIDGE RING
   Chrome 68 safe. Keep this block LAST.
   ========================================================= */

/* outer transparent button must not clip the glow */
.home-panel-right-column button.meal-period-nav-button,
.home-panel-right-column button.focusable[data-nav-id] {
    overflow: visible !important;
    position: relative !important;
    outline: none !important;
}

/* visible card receives .tv-nav-ring from JS bridge */
.home-panel-right-column .meal-period-visible-card.tv-nav-ring,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.tv-selected > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card,
.home-panel-right-column button.focusable.nav-active > .meal-period-visible-card,
.home-panel-right-column button.focusable.tv-selected > .meal-period-visible-card,
.home-panel-right-column button.focusable:focus > .meal-period-visible-card {
    border: 4px solid #ffffff !important;
    outline: none !important;
    background: linear-gradient(135deg, #0f63ff 0%, #1e78ff 55%, #35a4ff 100%) !important;
    background-color: #1e78ff !important;
    box-shadow:
        0 0 0 5px rgba(120, 225, 255, .88),
        0 0 30px rgba(80, 205, 255, 1),
        0 0 56px rgba(40, 145, 255, .86),
        0 16px 30px rgba(0,0,0,.42) !important;
    transform: scale(1.012) !important;
    z-index: 150 !important;
    position: relative !important;
}

/* same left white marker used by action buttons */
.home-panel-right-column .meal-period-visible-card.tv-nav-ring:before,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.tv-selected > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card:before,
.home-panel-right-column button.focusable.nav-active > .meal-period-visible-card:before,
.home-panel-right-column button.focusable.tv-selected > .meal-period-visible-card:before,
.home-panel-right-column button.focusable:focus > .meal-period-visible-card:before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 9px !important;
    border-radius: 0 9px 9px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 18px rgba(255,255,255,.98) !important;
    z-index: 160 !important;
}

/* outer halo */
.home-panel-right-column .meal-period-visible-card.tv-nav-ring:after,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card:after,
.home-panel-right-column button.meal-period-nav-button.tv-selected > .meal-period-visible-card:after,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card:after,
.home-panel-right-column button.focusable.nav-active > .meal-period-visible-card:after,
.home-panel-right-column button.focusable.tv-selected > .meal-period-visible-card:after,
.home-panel-right-column button.focusable:focus > .meal-period-visible-card:after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: -7px !important;
    right: -7px !important;
    top: -7px !important;
    bottom: -7px !important;
    border-radius: 22px !important;
    border: 3px solid rgba(95, 215, 255, .96) !important;
    box-shadow: 0 0 24px rgba(70, 200, 255, .94) !important;
    pointer-events: none !important;
    z-index: 155 !important;
}

/* keep Meals Selected as clean bottom status */
.home-panel-right-column .meal-period-selected-indicator {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 10px !important;
    top: auto !important;
    height: 18px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    z-index: 170 !important;
}

.home-panel-right-column .meal-period-selected-indicator__dot {
    display: inline-block !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #45ff74 !important;
    border: 1px solid #ffffff !important;
    margin-right: 7px !important;
    box-shadow: 0 0 10px rgba(69,255,116,.95) !important;
}

.home-panel-right-column .meal-period-selected-indicator__text {
    display: inline !important;
    color: #e5fff0 !important;
    font-size: 13px !important;
    line-height: 16px !important;
    font-weight: 850 !important;
}

/* Reserve room for selected status */
.home-panel-right-column .meal-period-visible-card .card-body {
    padding-bottom: 34px !important;
}


/* =========================================================
   FINAL FIX - FORCE VISIBLE MEAL PERIOD NAVIGATION RING
   Chrome 68 safe. Keep this block LAST.
   ========================================================= */

.home-panel-right-column button.meal-period-nav-button {
    position: relative !important;
    overflow: visible !important;
    outline: none !important;
    border-radius: 18px !important;
}

.home-panel-right-column button.meal-period-nav-button.meal-button-nav-focused > .meal-period-visible-card,
.home-panel-right-column .meal-period-visible-card.meal-card-nav-focused,
.home-panel-right-column button.meal-period-nav-button.tv-selected > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.focused > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.spatial-focus > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.is-focused > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card {
    border: 4px solid #ffffff !important;
    outline: none !important;
    background: linear-gradient(135deg, #0f63ff 0%, #1f7fff 55%, #38a8ff 100%) !important;
    background-color: #1f7fff !important;
    box-shadow:
        0 0 0 5px rgba(120, 225, 255, .95),
        0 0 30px rgba(80, 205, 255, 1),
        0 0 58px rgba(35, 145, 255, .92),
        0 16px 30px rgba(0,0,0,.42) !important;
    transform: scale(1.014) !important;
    z-index: 200 !important;
    position: relative !important;
}

.home-panel-right-column button.meal-period-nav-button.meal-button-nav-focused > .meal-period-visible-card:before,
.home-panel-right-column .meal-period-visible-card.meal-card-nav-focused:before,
.home-panel-right-column button.meal-period-nav-button.tv-selected > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.focused > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.spatial-focus > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.is-focused > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card:before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 10px !important;
    border-radius: 0 10px 10px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 20px rgba(255,255,255,1) !important;
    z-index: 220 !important;
}

.home-panel-right-column button.meal-period-nav-button.meal-button-nav-focused > .meal-period-visible-card:after,
.home-panel-right-column .meal-period-visible-card.meal-card-nav-focused:after,
.home-panel-right-column button.meal-period-nav-button.tv-selected > .meal-period-visible-card:after,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card:after,
.home-panel-right-column button.meal-period-nav-button.focused > .meal-period-visible-card:after,
.home-panel-right-column button.meal-period-nav-button.spatial-focus > .meal-period-visible-card:after,
.home-panel-right-column button.meal-period-nav-button.is-focused > .meal-period-visible-card:after,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card:after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: -8px !important;
    right: -8px !important;
    top: -8px !important;
    bottom: -8px !important;
    border-radius: 23px !important;
    border: 3px solid rgba(95, 215, 255, 1) !important;
    box-shadow: 0 0 26px rgba(70, 200, 255, 1) !important;
    pointer-events: none !important;
    z-index: 210 !important;
}

.home-panel-right-column .meal-period-selected-indicator {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 10px !important;
    top: auto !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: 18px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    z-index: 230 !important;
}

.home-panel-right-column .meal-period-selected-indicator__dot {
    display: inline-block !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #45ff74 !important;
    border: 1px solid #ffffff !important;
    margin-right: 7px !important;
    box-shadow: 0 0 10px rgba(69,255,116,.95) !important;
}

.home-panel-right-column .meal-period-selected-indicator__text {
    display: inline !important;
    color: #e5fff0 !important;
    font-size: 13px !important;
    line-height: 16px !important;
    font-weight: 850 !important;
}

.home-panel-right-column .meal-period-visible-card .card-body {
    padding-bottom: 34px !important;
}


/* =========================================================
   FINAL FIX - MEAL PERIOD VISIBLE FOCUS OVERLAY
   Chrome 68 safe. Keep this block LAST.
   ========================================================= */

/* The transparent button must not clip the visible card glow. */
.home-panel-right-column button.meal-period-nav-button,
.home-panel-right-column button.focusable.meal-period-nav-button {
    position: relative !important;
    overflow: visible !important;
    z-index: 50 !important;
    outline: none !important;
    border-radius: 20px !important;
}

/* Raise the focused meal button above neighboring cards. */
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused,
.home-panel-right-column button.meal-period-nav-button.tv-selected,
.home-panel-right-column button.meal-period-nav-button.nav-active,
.home-panel-right-column button.meal-period-nav-button:focus {
    z-index: 500 !important;
}

/* The visible inner card gets the actual TV navigation ring. */
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused,
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.tv-selected > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card {
    position: relative !important;
    z-index: 510 !important;
    overflow: visible !important;
    border: 4px solid #ffffff !important;
    outline: none !important;
    background: linear-gradient(135deg, #0d62ff 0%, #1d7dff 55%, #36a8ff 100%) !important;
    background-color: #1d7dff !important;
    box-shadow:
        0 0 0 5px rgba(255,255,255,.60),
        0 0 0 10px rgba(78,210,255,.88),
        0 0 36px rgba(78,210,255,1),
        0 0 68px rgba(20,120,255,.90),
        0 20px 34px rgba(0,0,0,.46) !important;
    transform: scale(1.016) !important;
}

/* White left marker like Guest Order focus. */
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused:before,
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.tv-selected > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card:before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 11px !important;
    border-radius: 0 11px 11px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 22px rgba(255,255,255,1) !important;
    z-index: 530 !important;
}

/* Clear outer halo around the visible card. */
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused:after,
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card:after,
.home-panel-right-column button.meal-period-nav-button.tv-selected > .meal-period-visible-card:after,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card:after,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card:after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: -9px !important;
    right: -9px !important;
    top: -9px !important;
    bottom: -9px !important;
    border-radius: 24px !important;
    border: 4px solid rgba(95, 220, 255, 1) !important;
    box-shadow: 0 0 28px rgba(70, 205, 255, 1) !important;
    pointer-events: none !important;
    z-index: 520 !important;
}

/* Keep Meals Selected clean at card bottom. */
.home-panel-right-column .meal-period-selected-indicator {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 10px !important;
    top: auto !important;
    height: 18px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    z-index: 540 !important;
}

.home-panel-right-column .meal-period-selected-indicator__dot {
    display: inline-block !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #45ff74 !important;
    border: 1px solid #ffffff !important;
    margin-right: 7px !important;
    box-shadow: 0 0 10px rgba(69,255,116,.95) !important;
}

.home-panel-right-column .meal-period-selected-indicator__text {
    display: inline !important;
    color: #e5fff0 !important;
    font-size: 13px !important;
    line-height: 16px !important;
    font-weight: 850 !important;
}

.home-panel-right-column .meal-period-visible-card .card-body {
    padding-bottom: 34px !important;
}


/* =========================================================
   FINAL TV NAVIGATION CLIPPING FIX
   ========================================================= */

.home-panel-right-column .row,
.home-panel-right-column .col-sm-6,
.home-panel-right-column .col-sm-6.d-flex,
.home-panel-right-column .meal-period-nav-button,
.home-panel-right-column .meal-period-visible-card,
.home-panel-right-column .meal-period-visible-card .card-body {
    overflow: visible !important;
}

.home-panel-right-column .meal-period-visible-card {
    position: relative !important;
    z-index: 50 !important;
}

.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.tv-selected > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused {
    z-index: 9999 !important;
}


/* =========================================================
   FINAL FIX - OUTER MEAL BUTTON BORDER FOCUS
   Chrome 68 safe. Keep this block LAST.
   ========================================================= */

/* Button no longer has border-0 in Razor. Make the button itself show the ring. */
.home-panel-right-column button.meal-period-nav-button {
    position: relative !important;
    overflow: visible !important;
    border: 3px solid transparent !important;
    border-radius: 18px !important;
    outline: none !important;
    z-index: 60 !important;
    background: transparent !important;
}

/* Any navigation/focus state makes the outer button visibly selected. */
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused,
.home-panel-right-column button.meal-period-nav-button.tv-selected,
.home-panel-right-column button.meal-period-nav-button.nav-active,
.home-panel-right-column button.meal-period-nav-button.focused,
.home-panel-right-column button.meal-period-nav-button.spatial-focus,
.home-panel-right-column button.meal-period-nav-button.is-focused,
.home-panel-right-column button.meal-period-nav-button.keyboard-focus,
.home-panel-right-column button.meal-period-nav-button:focus {
    border: 4px solid #ffffff !important;
    box-shadow:
        0 0 0 5px rgba(116,225,255,.90),
        0 0 32px rgba(80,205,255,1),
        0 0 60px rgba(30,140,255,.88) !important;
    z-index: 9999 !important;
}

/* Also style the visible inner card for the same focus state. */
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.tv-selected > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.focused > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.spatial-focus > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.is-focused > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.keyboard-focus > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused {
    position: relative !important;
    overflow: visible !important;
    border: 3px solid #ffffff !important;
    background: linear-gradient(135deg, #0f63ff 0%, #1f7fff 55%, #38a8ff 100%) !important;
    box-shadow:
        inset 0 0 0 2px rgba(255,255,255,.35),
        0 12px 28px rgba(0,0,0,.38) !important;
    transform: scale(1.006) !important;
    z-index: 9998 !important;
}

/* Left white marker inside focused meal card. */
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.tv-selected > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card:before,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 10px !important;
    border-radius: 0 10px 10px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 18px rgba(255,255,255,1) !important;
    z-index: 10000 !important;
}

/* Ensure parent columns cannot clip the button ring. */
.home-panel-right-column,
.home-panel-right-column .row,
.home-panel-right-column .col-sm-6,
.home-panel-right-column .col-sm-6.d-flex {
    overflow: visible !important;
}

/* Keep selected meal status at bottom. */
.home-panel-right-column .meal-period-selected-indicator {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 10px !important;
    top: auto !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: 18px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    z-index: 10001 !important;
}

.home-panel-right-column .meal-period-selected-indicator__dot {
    display: inline-block !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #45ff74 !important;
    border: 1px solid #ffffff !important;
    margin-right: 7px !important;
    box-shadow: 0 0 10px rgba(69,255,116,.95) !important;
}

.home-panel-right-column .meal-period-selected-indicator__text {
    display: inline !important;
    color: #e5fff0 !important;
    font-size: 13px !important;
    line-height: 16px !important;
    font-weight: 850 !important;
}

.home-panel-right-column .meal-period-visible-card .card-body {
    padding-bottom: 34px !important;
}


/* =========================================================
   FINAL TV FOCUS OVERLAY FOR ALL ACTIONS + MEAL CARDS
   Chrome 68 safe. Keep this block LAST.
   ========================================================= */

/* Body-level overlay cannot be clipped by columns/cards. */
.ml-tv-focus-overlay {
    position: fixed !important;
    pointer-events: none !important;
    z-index: 2147483000 !important;
    border: 4px solid #ffffff !important;
    box-shadow:
        0 0 0 5px rgba(120, 225, 255, .92),
        0 0 30px rgba(80, 205, 255, 1),
        0 0 58px rgba(30, 140, 255, .90),
        0 18px 34px rgba(0,0,0,.42) !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

.ml-tv-focus-overlay-rail {
    position: absolute !important;
    left: -1px !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 11px !important;
    border-radius: 0 11px 11px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 20px rgba(255,255,255,1) !important;
}

/* Highlight the actual element lightly so the active card/button also looks alive. */
.ml-tv-current-focus-source {
    position: relative !important;
    z-index: 5000 !important;
}

/* Keep Meal Period inner card slightly highlighted while overlay is active. */
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused {
    background: linear-gradient(135deg, #0f63ff 0%, #1f7fff 55%, #38a8ff 100%) !important;
    background-color: #1f7fff !important;
    border-color: rgba(255,255,255,.90) !important;
}

/* Make sure transparent meal button/card wrappers do not clip their own content. */
.home-panel-right-column,
.home-panel-right-column .row,
.home-panel-right-column .col-sm-6,
.home-panel-right-column .col-sm-6.d-flex,
.home-panel-right-column button.meal-period-nav-button,
.home-panel-right-column .meal-period-visible-card,
.home-panel-right-column .meal-period-visible-card .card-body {
    overflow: visible !important;
}

/* Keep selected meal status clean and bottom-aligned. */
.home-panel-right-column .meal-period-selected-indicator {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 10px !important;
    top: auto !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: 18px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    z-index: 10001 !important;
}

.home-panel-right-column .meal-period-selected-indicator__dot {
    display: inline-block !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #45ff74 !important;
    border: 1px solid #ffffff !important;
    margin-right: 7px !important;
    box-shadow: 0 0 10px rgba(69,255,116,.95) !important;
}

.home-panel-right-column .meal-period-selected-indicator__text {
    display: inline !important;
    color: #e5fff0 !important;
    font-size: 13px !important;
    line-height: 16px !important;
    font-weight: 850 !important;
}

.home-panel-right-column .meal-period-visible-card .card-body {
    padding-bottom: 34px !important;
}


/* =========================================================
   CHROME 68 HOME NAVIGATION FALLBACK FOCUS VISIBILITY
   Keep this block LAST.
   ========================================================= */

.home-panel-right-column,
.home-panel-right-column .row,
.home-panel-right-column .col-sm-6,
.home-panel-right-column .col-sm-6.d-flex,
.home-panel-right-column button,
.home-panel-right-column .card {
    overflow: visible !important;
}

.home-panel-right-column button.nav-active,
.home-panel-right-column button.keyboard-focus,
.home-panel-right-column button.remote-focus,
.home-panel-right-column button:focus {
    outline: none !important;
    position: relative !important;
    z-index: 9000 !important;
    box-shadow:
        0 0 0 4px rgba(255,255,255,.72),
        0 0 0 8px rgba(84,215,255,.88),
        0 0 34px rgba(80,205,255,1) !important;
}

/* Meal cards get direct inner-card focus, not just transparent button focus */
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.keyboard-focus > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused {
    position: relative !important;
    z-index: 9100 !important;
    border: 4px solid #ffffff !important;
    background: linear-gradient(135deg, #0f63ff 0%, #1f7fff 55%, #38a8ff 100%) !important;
    box-shadow:
        0 0 0 5px rgba(120,225,255,.92),
        0 0 34px rgba(80,205,255,1),
        0 0 64px rgba(30,140,255,.90),
        0 18px 34px rgba(0,0,0,.42) !important;
}

.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.keyboard-focus > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card:before,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 11px !important;
    border-radius: 0 11px 11px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 20px rgba(255,255,255,1) !important;
    z-index: 9200 !important;
}

/* Body overlay from previous baseline remains the primary universal visual indicator */
.ml-tv-focus-overlay {
    position: fixed !important;
    display: block;
    pointer-events: none !important;
    z-index: 2147483000 !important;
}


/* =========================================================
   CHROME 68 SELECT + REMOTE BACK FIX VISUALS
   Keep this block LAST.
   ========================================================= */

.home-panel-right-column button.nav-active,
.home-panel-right-column button.keyboard-focus,
.home-panel-right-column button.remote-focus,
.home-panel-right-column button.ml-tv-current-focus-source,
.home-panel-right-column button:focus {
    outline: none !important;
    position: relative !important;
    z-index: 9000 !important;
    box-shadow:
        0 0 0 4px rgba(255,255,255,.76),
        0 0 0 8px rgba(84,215,255,.92),
        0 0 34px rgba(80,205,255,1) !important;
}

.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.keyboard-focus > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.ml-tv-current-focus-source > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused {
    position: relative !important;
    z-index: 9100 !important;
    border: 4px solid #ffffff !important;
    background: linear-gradient(135deg, #0f63ff 0%, #1f7fff 55%, #38a8ff 100%) !important;
    box-shadow:
        0 0 0 5px rgba(120,225,255,.92),
        0 0 34px rgba(80,205,255,1),
        0 0 64px rgba(30,140,255,.90),
        0 18px 34px rgba(0,0,0,.42) !important;
}

.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.keyboard-focus > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.ml-tv-current-focus-source > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button:focus > .meal-period-visible-card:before,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 11px !important;
    border-radius: 0 11px 11px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 20px rgba(255,255,255,1) !important;
    z-index: 9200 !important;
}


/* =========================================================
   CHROME 68 STABLE ALL-NAV + IFRAME BACK VISIBILITY
   Keep this block LAST.
   ========================================================= */

.right-column-actions .perf-iframe-only-action.iframe-visible {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.home-panel-right-column button.nav-active,
.home-panel-right-column button.keyboard-focus,
.home-panel-right-column button.ml-tv-current-focus-source,
.home-panel-right-column button:focus {
    outline: none !important;
    position: relative !important;
    z-index: 9000 !important;
}

.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.keyboard-focus > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.ml-tv-current-focus-source > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused {
    border: 4px solid #ffffff !important;
    box-shadow:
        0 0 0 5px rgba(120,225,255,.92),
        0 0 34px rgba(80,205,255,1),
        0 0 64px rgba(30,140,255,.90),
        0 18px 34px rgba(0,0,0,.42) !important;
    z-index: 9100 !important;
}

.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.keyboard-focus > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.ml-tv-current-focus-source > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card:before,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 11px !important;
    border-radius: 0 11px 11px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 20px rgba(255,255,255,1) !important;
    z-index: 9200 !important;
}


/* =========================================================
   SINGLE OWNER TV NAVIGATION VISUALS
   Keep this block LAST.
   ========================================================= */
.right-column-actions .perf-iframe-only-action.iframe-visible {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.home-panel-right-column,
.home-panel-right-column .row,
.home-panel-right-column .col-sm-6,
.home-panel-right-column .col-sm-6.d-flex,
.home-panel-right-column button,
.home-panel-right-column .card {
    overflow: visible !important;
}
.home-panel-right-column button.nav-active,
.home-panel-right-column button.keyboard-focus,
.home-panel-right-column button.ml-tv-current-focus-source,
.home-panel-right-column button:focus {
    outline: none !important;
    position: relative !important;
    z-index: 9000 !important;
}
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.keyboard-focus > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.ml-tv-current-focus-source > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused {
    border: 4px solid #ffffff !important;
    box-shadow: 0 0 0 5px rgba(120,225,255,.92), 0 0 34px rgba(80,205,255,1), 0 0 64px rgba(30,140,255,.90), 0 18px 34px rgba(0,0,0,.42) !important;
    z-index: 9100 !important;
}
.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.keyboard-focus > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.ml-tv-current-focus-source > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card:before,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 11px !important;
    border-radius: 0 11px 11px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 20px rgba(255,255,255,1) !important;
    z-index: 9200 !important;
}


/* =========================================================
   FIXED GRAPH TV NAVIGATION - NO FLICKER VISUALS
   Keep this block LAST.
   ========================================================= */

.right-column-actions .perf-iframe-only-action.iframe-visible {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.home-panel-right-column,
.home-panel-right-column .row,
.home-panel-right-column .col-sm-6,
.home-panel-right-column .col-sm-6.d-flex,
.home-panel-right-column button,
.home-panel-right-column .card {
    overflow: visible !important;
}

.home-panel-right-column button,
.home-panel-right-column .meal-period-visible-card {
    transition: none !important;
    animation: none !important;
}

.home-panel-right-column button.nav-active,
.home-panel-right-column button.keyboard-focus,
.home-panel-right-column button.ml-tv-current-focus-source,
.home-panel-right-column button:focus {
    outline: none !important;
    position: relative !important;
    z-index: 9000 !important;
}

.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.keyboard-focus > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.ml-tv-current-focus-source > .meal-period-visible-card,
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused {
    border: 4px solid #ffffff !important;
    box-shadow: 0 0 0 5px rgba(120,225,255,.92), 0 0 34px rgba(80,205,255,1), 0 0 64px rgba(30,140,255,.90), 0 18px 34px rgba(0,0,0,.42) !important;
    z-index: 9100 !important;
}

.home-panel-right-column button.meal-period-nav-button.nav-active > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.keyboard-focus > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.ml-tv-current-focus-source > .meal-period-visible-card:before,
.home-panel-right-column button.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card:before,
.home-panel-right-column .meal-period-visible-card.meal-period-card-focused:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 11px !important;
    border-radius: 0 11px 11px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 20px rgba(255,255,255,1) !important;
    z-index: 9200 !important;
}

/* Body-level ring. No animation = no flicker. */
.ml-fixed-graph-focus-overlay {
    position: fixed !important;
    pointer-events: none !important;
    z-index: 2147483100 !important;
    border: 4px solid #ffffff !important;
    box-shadow:
        0 0 0 5px rgba(120, 225, 255, .92),
        0 0 30px rgba(80, 205, 255, 1),
        0 0 58px rgba(30, 140, 255, .90),
        0 18px 34px rgba(0,0,0,.42) !important;
    background: transparent !important;
    box-sizing: border-box !important;
    transition: none !important;
    animation: none !important;
}

.ml-fixed-graph-focus-rail {
    position: absolute !important;
    left: -1px !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 11px !important;
    border-radius: 0 11px 11px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 20px rgba(255,255,255,1) !important;
}


/* =========================================================
   TV portal: ORDER SCREEN TV NAVIGATION + OVERLAY CLEANUP
   Keep this block LAST.
   ========================================================= */
.orders-page-shell,
.orders-page-shell .pos-menu,
.orders-page-shell .pos-content,
.orders-page-shell .pos-sidebar,
.orders-page-shell button,
.orders-page-shell .pos-product,
.orders-page-shell .orders-category-link {
    overflow: visible !important;
}
.orders-page-shell button,
.orders-page-shell .orders-category-link,
.orders-page-shell .orders-item-card,
.orders-page-shell .orders-review-delete-btn {
    transition: none !important;
    animation: none !important;
}
.orders-page-shell .orders-tv-focused,
.orders-page-shell .nav-active,
.orders-page-shell .keyboard-focus,
.orders-page-shell button:focus {
    outline: none !important;
    position: relative !important;
    z-index: 9000 !important;
}
.orders-page-shell .orders-category-link.orders-tv-focused,
.orders-page-shell .orders-item-card.orders-tv-focused,
.orders-page-shell .orders-review-delete-btn.orders-tv-focused,
.orders-page-shell [data-nav-id='footer-submit'].orders-tv-focused,
.orders-page-shell [data-nav-id='footer-home'].orders-tv-focused {
    background: rgba(38, 117, 255, .96) !important;
    box-shadow: none !important;
}
.ml-order-focus-overlay {
    position: fixed !important;
    pointer-events: none !important;
    z-index: 2147483200 !important;
    border: 4px solid #ffffff !important;
    box-shadow: 0 0 0 5px rgba(120,225,255,.92), 0 0 30px rgba(80,205,255,1), 0 0 58px rgba(30,140,255,.90), 0 18px 34px rgba(0,0,0,.42) !important;
    background: transparent !important;
    box-sizing: border-box !important;
    transition: none !important;
    animation: none !important;
}
.ml-order-focus-overlay-rail {
    position: absolute !important;
    left: -1px !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 11px !important;
    border-radius: 0 11px 11px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 20px rgba(255,255,255,1) !important;
}


/* =========================================================
   TV portal: ORDER POPUP / MODAL TV FOCUS FIX
   Keep this block LAST.
   ========================================================= */

body.mltv-modal-active #ml-order-focus-overlay,
body.mltv-modal-active #ml-fixed-graph-focus-overlay,
body.mltv-modal-active #ml-tv-focus-overlay {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.modal.show button,
.modal.d-block button,
[role='dialog'] button {
    transition: none !important;
    animation: none !important;
}

/* Non-focused modal buttons: intentionally light grey for TV clarity. */
.modal.show button.btn,
.modal.d-block button.btn,
[role='dialog'] button.btn {
    background: rgba(190, 202, 220, .58) !important;
    color: #ffffff !important;
    border: 2px solid rgba(255,255,255,.18) !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Focused modal button: blue, with a tight ring that does not overlap adjacent buttons. */
.modal.show button.modal-tv-focused,
.modal.show button.nav-active,
.modal.d-block button.modal-tv-focused,
.modal.d-block button.nav-active,
[role='dialog'] button.modal-tv-focused,
[role='dialog'] button.nav-active {
    background: #2378ff !important;
    color: #ffffff !important;
    border: 4px solid #ffffff !important;
    outline: none !important;
    position: relative !important;
    z-index: 2147483201 !important;
    box-shadow:
        inset 0 0 0 2px rgba(120,225,255,.65),
        0 0 0 3px rgba(120,225,255,.92),
        0 0 24px rgba(80,205,255,.95) !important;
}

.modal.show button.modal-tv-focused:before,
.modal.show button.nav-active:before,
.modal.d-block button.modal-tv-focused:before,
.modal.d-block button.nav-active:before,
[role='dialog'] button.modal-tv-focused:before,
[role='dialog'] button.nav-active:before {
    content: "" !important;
    position: absolute !important;
    left: -1px !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 9px !important;
    border-radius: 0 9px 9px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 0 14px rgba(255,255,255,1) !important;
}

/* Keep old order/category focus from showing through a modal. */
body.mltv-modal-active .orders-page-shell .orders-category-link.nav-active,
body.mltv-modal-active .orders-page-shell .orders-item-card.nav-active,
body.mltv-modal-active .orders-page-shell .orders-review-delete-btn.nav-active,
body.mltv-modal-active .orders-page-shell .orders-tv-focused:not(.modal-tv-focused) {
    box-shadow: none !important;
    outline: none !important;
}


/* =========================================================
   TV portal: Chrome 68 visual fixes
   Keep this block LAST.
   ========================================================= */

.mltv-item-popup,
.modal-dialog.mltv-item-popup,
.modal-content.mltv-item-popup,
[role="dialog"].mltv-item-popup {
    width: 1080px !important;
    max-width: 1080px !important;
    min-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
}

.mltv-confirm-popup,
.modal-dialog.mltv-confirm-popup,
.modal-content.mltv-confirm-popup,
[role="dialog"].mltv-confirm-popup {
    width: 1240px !important;
    max-width: 1240px !important;
    min-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
}

body.mltv-modal-open .modal-dialog,
body.mltv-modal-open .modal-content,
body.mltv-modal-open [role="dialog"] {
    max-width: 1240px !important;
}

body.mltv-modal-open .modal button,
body.mltv-modal-open .popup button,
body.mltv-modal-open [role="dialog"] button,
body.mltv-modal-open .modal .btn,
body.mltv-modal-open .popup .btn,
body.mltv-modal-open [role="dialog"] .btn {
    outline: none !important;
    transition: none !important;
    animation: none !important;
    box-shadow: none !important;
}

body.mltv-modal-open .modal button.nav-active,
body.mltv-modal-open .modal button.keyboard-focus,
body.mltv-modal-open .modal button.ml-tv-current-focus-source,
body.mltv-modal-open .modal button:focus,
body.mltv-modal-open .popup button.nav-active,
body.mltv-modal-open .popup button.keyboard-focus,
body.mltv-modal-open .popup button.ml-tv-current-focus-source,
body.mltv-modal-open .popup button:focus,
body.mltv-modal-open [role="dialog"] button.nav-active,
body.mltv-modal-open [role="dialog"] button.keyboard-focus,
body.mltv-modal-open [role="dialog"] button.ml-tv-current-focus-source,
body.mltv-modal-open [role="dialog"] button:focus {
    outline: none !important;
    border: 4px solid #ffffff !important;
    box-shadow:
        0 0 0 5px rgba(120,225,255,.92),
        0 0 30px rgba(80,205,255,1),
        0 0 58px rgba(30,140,255,.90) !important;
    z-index: 2147482500 !important;
}

body.mltv-modal-open #ml-fixed-graph-focus-overlay,
body.mltv-modal-open #ml-tv-focus-overlay,
body.mltv-modal-open #ml-order-focus-overlay,
body.mltv-modal-open #ml-modal-focus-overlay,
body.mltv-modal-open .ml-fixed-graph-focus-overlay,
body.mltv-modal-open .ml-tv-focus-overlay,
body.mltv-modal-open .ml-order-focus-overlay,
body.mltv-modal-open .ml-modal-focus-overlay {
    display: none !important;
}

.mltv-status-centered {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    z-index: 2147482600 !important;
    margin: 0 !important;
    min-width: 280px !important;
    max-width: 420px !important;
    text-align: center !important;
}

body.mltv-status-open .toast,
body.mltv-status-open .toast-container,
body.mltv-status-open .loading-toast,
body.mltv-status-open .app-loading-status,
body.mltv-status-open .global-loader,
body.mltv-status-open .loader-status {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    z-index: 2147482600 !important;
}

@media (max-width: 1300px) {
    .mltv-item-popup,
    .modal-dialog.mltv-item-popup,
    .modal-content.mltv-item-popup,
    [role="dialog"].mltv-item-popup {
        width: 920px !important;
        max-width: 920px !important;
        min-width: 920px !important;
    }

    .mltv-confirm-popup,
    .modal-dialog.mltv-confirm-popup,
    .modal-content.mltv-confirm-popup,
    [role="dialog"].mltv-confirm-popup {
        width: 980px !important;
        max-width: 980px !important;
        min-width: 920px !important;
    }
}


/* =========================================================
   TV portal: Chrome 68 modal containment / clipping fixes
   Keep this block LAST.
   ========================================================= */
body.mltv-modal-open .modal-dialog:not(.mltv-active-popup),
body.mltv-modal-open .modal-content:not(.mltv-active-popup),
body.mltv-modal-open [role="dialog"]:not(.mltv-active-popup) { max-width: none !important; min-width: 0 !important; }
body.mltv-modal-open .modal, body.mltv-modal-open .modal-open, body.mltv-modal-open .modal-backdrop, body.mltv-modal-open .dx-overlay-wrapper, body.mltv-modal-open .dx-overlay-content, body.mltv-modal-open .swal2-container { overflow: visible !important; }
.mltv-active-popup { position: fixed !important; left: 50% !important; right: auto !important; top: 50% !important; bottom: auto !important; margin: 0 !important; transform: translate(-50%, -50%) !important; box-sizing: border-box !important; overflow: visible !important; z-index: 2147482400 !important; }
.mltv-item-popup-v2 { width: 1040px !important; max-width: 1040px !important; min-width: 1040px !important; min-height: 500px !important; max-height: 760px !important; }
.mltv-confirm-popup-v2 { width: 1180px !important; max-width: 1180px !important; min-width: 960px !important; min-height: 420px !important; max-height: 720px !important; }
.mltv-guest-popup-v2 { width: 980px !important; max-width: 980px !important; min-width: 980px !important; min-height: 620px !important; max-height: 760px !important; overflow: visible !important; }
.mltv-guest-popup-v2 .modal-body, .mltv-guest-popup-v2 .popup-body, .mltv-guest-popup-v2 .dx-popup-content { overflow: visible !important; max-height: none !important; }
body.mltv-modal-open .mltv-active-popup button, body.mltv-modal-open .mltv-active-popup .btn, body.mltv-modal-open .mltv-active-popup .mltv-popup-button-v2 { outline: none !important; transition: none !important; animation: none !important; box-shadow: none !important; border-width: 0 !important; position: relative !important; z-index: 2147482450 !important; }
body.mltv-modal-open .mltv-active-popup button.nav-active, body.mltv-modal-open .mltv-active-popup button.keyboard-focus, body.mltv-modal-open .mltv-active-popup button.ml-tv-current-focus-source, body.mltv-modal-open .mltv-active-popup button:focus, body.mltv-modal-open .mltv-active-popup .btn.nav-active, body.mltv-modal-open .mltv-active-popup .btn.keyboard-focus, body.mltv-modal-open .mltv-active-popup .btn.ml-tv-current-focus-source, body.mltv-modal-open .mltv-active-popup .btn:focus { border: 4px solid #ffffff !important; box-shadow: 0 0 0 4px rgba(120,225,255,.92), 0 0 24px rgba(80,205,255,1) !important; }
body.mltv-modal-open #ml-fixed-graph-focus-overlay, body.mltv-modal-open #ml-tv-focus-overlay, body.mltv-modal-open #ml-order-focus-overlay, body.mltv-modal-open #ml-home-focus-overlay, body.mltv-modal-open #ml-modal-focus-overlay, body.mltv-modal-open .ml-fixed-graph-focus-overlay, body.mltv-modal-open .ml-tv-focus-overlay, body.mltv-modal-open .ml-order-focus-overlay, body.mltv-modal-open .ml-home-focus-overlay, body.mltv-modal-open .ml-modal-focus-overlay, body.mltv-status-open-v2 #ml-fixed-graph-focus-overlay, body.mltv-status-open-v2 #ml-tv-focus-overlay, body.mltv-status-open-v2 #ml-order-focus-overlay, body.mltv-status-open-v2 #ml-home-focus-overlay, body.mltv-status-open-v2 #ml-modal-focus-overlay { display: none !important; }
.mltv-status-centered-v2 { position: fixed !important; left: 50% !important; top: 50% !important; right: auto !important; bottom: auto !important; transform: translate(-50%, -50%) !important; margin: 0 !important; z-index: 2147482600 !important; min-width: 300px !important; max-width: 460px !important; text-align: center !important; }
@media (max-width: 1366px) { .mltv-item-popup-v2 { width: 940px !important; max-width: 940px !important; min-width: 940px !important; min-height: 480px !important; } .mltv-confirm-popup-v2 { width: 1040px !important; max-width: 1040px !important; min-width: 900px !important; } .mltv-guest-popup-v2 { width: 920px !important; max-width: 920px !important; min-width: 920px !important; min-height: 600px !important; } }


/* ===== original TV portal: appstyles.css copied ===== */

.extrafocus {
    box-sizing: border-box;
    text-decoration: none;
    font-weight: bold;
}

#enterprise-preloader {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

#enterprise-preloader.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}


#preloader .loading-text {
    margin-top: 0.75rem;
    margin-bottom: 0;
    font-size: 0.95rem;
    font-weight: 600;
}

.spinner {
    margin: 0 auto;
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-top: 4px solid #3498db;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
}

[data-bs-theme="dark"] .spinner {
    border-color: rgba(255, 255, 255, 0.18);
    border-top-color: #60a5fa;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}



/* =========================================================
   TV portal: explicit TV layout corrections
   ========================================================= */
html, body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    min-height: 100% !important;
    background: #3f3f3f !important;
    color: #fff !important;
    overflow: hidden !important;
}

.app-content,
.home-content-host,
.orders-content-host {
    padding: 0 !important;
    margin: 0 !important;
    min-height: calc(100vh - 56px) !important;
    overflow: hidden !important;
}

.index-main-layout.home-dashboard-shell {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
    width: 100vw !important;
    height: calc(100vh - 56px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.home-panel-left-column {
    -ms-flex: 0 0 44% !important;
    flex: 0 0 44% !important;
    max-width: 44% !important;
    height: calc(100vh - 56px) !important;
    padding: 16px !important;
    overflow: hidden !important;
    background: rgba(10,14,24,.62) !important;
    border-right: 1px solid rgba(67,108,188,.75) !important;
}

.home-panel-left-column .home-patient-card {
    height: 100% !important;
}

.home-panel-left-column .patient-info-grid,
.home-panel-left-column .dashboard-summary-grid {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
}

.home-panel-left-column .patient-info-grid > .col-12,
.home-panel-left-column .patient-info-grid > .col-sm-6,
.home-panel-left-column .dashboard-summary-grid > .col-12,
.home-panel-left-column .dashboard-summary-grid > .col-sm-6 {
    -ms-flex: 0 0 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
}

.home-panel-right-column,
.index-main-layout.home-dashboard-shell > .col-lg-7,
.index-main-layout.home-dashboard-shell > .col-xl-7 {
    -ms-flex: 0 0 56% !important;
    flex: 0 0 56% !important;
    max-width: 56% !important;
    height: calc(100vh - 56px) !important;
    padding: 18px 26px !important;
    overflow: hidden !important;
}

.home-meal-periods-grid,
.meal-period-grid,
.meal-periods {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
}

.home-meal-periods-grid > .col-12,
.home-meal-periods-grid > .col-sm-6,
.meal-period-grid > .col-12,
.meal-period-grid > .col-sm-6 {
    -ms-flex: 0 0 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
}

.meal-period-visible-card,
.meal-period-card,
.meal-card {
    min-height: 155px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

.tv-remote-guide-card {
    min-height: 106px !important;
}

/* Orders screen */
.orders-route-container .app-content,
.orders-content-host {
    overflow: hidden !important;
}

.pos.pos-with-menu.pos-with-sidebar.orders-page-shell {
    position: relative !important;
    width: 100vw !important;
    height: calc(100vh - 0px) !important;
    overflow: hidden !important;
}

.orders-page-shell .pos-container {
    height: 100vh !important;
    overflow: hidden !important;
}

.orders-page-shell .pos-menu {
    position: fixed !important;
    left: 28px !important;
    top: 55px !important;
    bottom: 20px !important;
    width: 255px !important;
    overflow: hidden !important;
}

.orders-page-shell .pos-content {
    position: fixed !important;
    left: 310px !important;
    top: 55px !important;
    right: 455px !important;
    bottom: 20px !important;
    overflow: hidden !important;
}

.orders-page-shell .pos-sidebar {
    position: fixed !important;
    right: 24px !important;
    top: 42px !important;
    width: 420px !important;
    bottom: 16px !important;
    overflow: hidden !important;
}

/* Root popup host */
#mltv-root-popup-host {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 2147482900 !important;
    pointer-events: none !important;
}
#mltv-root-popup-host > * { pointer-events: auto !important; }

#mltv-root-popup-host .modal,
#mltv-root-popup-host .modal.show,
#mltv-root-popup-host .modal.d-block,
#mltv-root-popup-host .tv-modal-overlay {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    display: block !important;
    background: rgba(0,0,0,.58) !important;
    overflow: hidden !important;
    z-index: 2147483000 !important;
}

#mltv-root-popup-host .modal-content,
#mltv-root-popup-host .modal-pos-product,
#mltv-root-popup-host .modal-pos-product--qty,
#mltv-root-popup-host .home-guest-order-modal,
#mltv-root-popup-host .tv-centered-popup {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    max-width: calc(100vw - 96px) !important;
    max-height: calc(100vh - 96px) !important;
    z-index: 2147483100 !important;
}

#mltv-root-popup-host .home-guest-order-modal { width: 920px !important; }
#mltv-root-popup-host .modal-pos-product { width: 960px !important; }
#mltv-root-popup-host .modal-pos-product--qty { width: 1060px !important; }

/* Single focus visual */
.tv-selected,
.tv-selected:focus {
    outline: none !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.98),
        0 0 0 4px rgba(104,222,255,.92),
        0 0 18px rgba(88,210,255,.78) !important;
}


/* =========================================================
   TV portal: header/logo restore
   Targets actual markup:
   <div id="header" class="app-header">
     <div class="brand"><div class="brand-logo">
       <img src="/img/logo.svg" class="invert-dark">
   ========================================================= */
#header.app-header,
.app-header {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    background: #24344f !important;
    border-bottom: 1px solid rgba(78, 120, 180, .35) !important;
    box-shadow: 0 2px 18px rgba(0,0,0,.30) !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    padding: 0 12px !important;
    margin: 0 !important;
    width: 100% !important;
    position: relative !important;
    z-index: 20 !important;
    overflow: hidden !important;
}

.app-header .brand,
#header .brand {
    height: 56px !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
}

.app-header .brand-logo,
#header .brand-logo {
    height: 56px !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
}

.app-header .brand-logo img,
#header .brand-logo img,
.app-header img.invert-dark,
#header img.invert-dark {
    display: block !important;
    height: 40px !important;
    max-height: 40px !important;
    width: auto !important;
    max-width: 240px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
}

/* Prevent copied splash/logo rules from making the header logo huge. */
#header img[src*="logo"],
.app-header img[src*="logo"],
#header img[src*="Logo"],
.app-header img[src*="Logo"] {
    height: 40px !important;
    max-height: 40px !important;
    width: auto !important;
    max-width: 240px !important;
}

/* Main content starts below header. */
#app.app,
.app.app-content-full-width {
    background: #3f3f3f !important;
    color: #fff !important;
}

.app-content,
.home-content-host,
.orders-content-host {
    min-height: calc(100vh - 56px) !important;
}

/* TV portal loading overlay */
#mltv-loading-overlay {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    table-layout: fixed;
    background: rgba(0, 0, 0, .52);
    z-index: 2147483200;
}
#mltv-loading-overlay .mltv-loading-box {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}
#mltv-loading-overlay .mltv-loading-title {
    display: inline-block;
    min-width: 260px;
    padding: 24px 38px 8px 38px;
    background: rgba(13, 26, 53, .96);
    border: 1px solid rgba(104,222,255,.92);
    border-bottom: 0;
    border-radius: 14px 14px 0 0;
    font-size: 24px;
    font-weight: 700;
}
#mltv-loading-overlay .mltv-loading-message {
    display: inline-block;
    min-width: 260px;
    padding: 8px 38px 24px 38px;
    background: rgba(13, 26, 53, .96);
    border: 1px solid rgba(104,222,255,.92);
    border-top: 0;
    border-radius: 0 0 14px 14px;
    font-size: 16px;
}


/* =========================================================
   TV portal: header/logo + date button width fix
   ========================================================= */
#header.app-header,
.app-header {
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    background: #24344f !important;
    border-bottom: 1px solid rgba(78,120,180,.45) !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    padding: 0 12px !important;
    margin: 0 !important;
    overflow: hidden !important;
}
#header .brand,
.app-header .brand,
#header .brand-logo,
.app-header .brand-logo {
    height: 58px !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}
#header .brand-logo img,
.app-header .brand-logo img,
#header img.invert-dark,
.app-header img.invert-dark {
    height: 40px !important;
    max-height: 40px !important;
    width: auto !important;
    max-width: 260px !important;
    display: block !important;
    margin: 0 !important;
    object-fit: contain !important;
    -webkit-filter: invert(1) brightness(2.2) contrast(.9) !important;
    filter: invert(1) brightness(2.2) contrast(.9) !important;
}

/* Make Today/Tomorrow match meal-card column width. */
.home-date-actions,
.date-action-row,
.home-day-selector,
.order-date-actions,
.today-tomorrow-row {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
}
.home-date-actions button,
.date-action-row button,
.home-day-selector button,
.order-date-actions button,
.today-tomorrow-row button,
button.today-button,
button.tomorrow-button,
.btn-today,
.btn-tomorrow {
    width: 48% !important;
    min-width: 0 !important;
    height: 58px !important;
    border-radius: 12px !important;
    font-size: 18px !important;
}

/* If the markup only has two top-level date buttons in the right column, make them meal-card width. */
.home-panel-right-column > button,
.home-panel-right-column > .btn,
.index-main-layout.home-dashboard-shell > .col-lg-7 > button,
.index-main-layout.home-dashboard-shell > .col-xl-7 > button {
    width: 48% !important;
    min-width: 0 !important;
    height: 58px !important;
    margin: 8px 1% 20px 1% !important;
}

/* Loading overlay must exist for inline shim. */
#mltv-loading-overlay {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    table-layout: fixed;
    background: rgba(0, 0, 0, .52);
    z-index: 2147483200;
}
#mltv-loading-overlay .mltv-loading-box {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}
#mltv-loading-overlay .mltv-loading-title {
    display: inline-block;
    min-width: 260px;
    padding: 24px 38px 8px 38px;
    background: rgba(13, 26, 53, .96);
    border: 1px solid rgba(104,222,255,.92);
    border-bottom: 0;
    border-radius: 14px 14px 0 0;
    font-size: 24px;
    font-weight: 700;
}
#mltv-loading-overlay .mltv-loading-message {
    display: inline-block;
    min-width: 260px;
    padding: 8px 38px 24px 38px;
    background: rgba(13, 26, 53, .96);
    border: 1px solid rgba(104,222,255,.92);
    border-top: 0;
    border-radius: 0 0 14px 14px;
    font-size: 16px;
}


/* TV portal: visual adjustment: date buttons align with meal cards */
.home-panel-right-column .btn-theme,
.home-panel-right-column button,
.index-main-layout.home-dashboard-shell > .col-lg-7 .btn-theme,
.index-main-layout.home-dashboard-shell > .col-xl-7 .btn-theme {
    width: 48% !important;
    max-width: 48% !important;
    height: 58px !important;
    border-radius: 12px !important;
}

.home-panel-right-column .d-flex:first-child,
.index-main-layout.home-dashboard-shell > .col-lg-7 .d-flex:first-child,
.index-main-layout.home-dashboard-shell > .col-xl-7 .d-flex:first-child {
    width: 100% !important;
    gap: 16px !important;
}


/* =========================================================
   TV portal: restore larger meal-card sizing
   Earlier override made cards too small. Match previous working layout:
   two 48% columns, full-width cards, about 160px high.
   ========================================================= */
.home-panel-right-column,
.index-main-layout.home-dashboard-shell > .col-lg-7,
.index-main-layout.home-dashboard-shell > .col-xl-7 {
    padding: 16px 28px !important;
    overflow: hidden !important;
}

.home-meal-periods-grid,
.meal-period-grid,
.meal-periods {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    margin: 0 -8px !important;
}

.home-meal-periods-grid > .col-12,
.home-meal-periods-grid > .col-sm-6,
.meal-period-grid > .col-12,
.meal-period-grid > .col-sm-6,
.home-meal-periods-grid > div,
.meal-period-grid > div {
    -ms-flex: 0 0 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 16px !important;
}

.meal-period-visible-card,
.meal-period-card,
.meal-card,
.meal-period-nav-button {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    min-height: 152px !important;
    height: 152px !important;
    margin: 0 !important;
    padding: 20px 24px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

.meal-period-visible-card .card-body,
.meal-period-card .card-body,
.meal-card .card-body {
    padding: 0 !important;
}

/* Today / Tomorrow should align to meal card columns */
.home-date-actions,
.date-action-row,
.home-day-selector,
.order-date-actions,
.today-tomorrow-row,
.home-panel-right-column > .d-flex:first-child,
.index-main-layout.home-dashboard-shell > .col-lg-7 > .d-flex:first-child,
.index-main-layout.home-dashboard-shell > .col-xl-7 > .d-flex:first-child {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
}

.home-date-actions button,
.date-action-row button,
.home-day-selector button,
.order-date-actions button,
.today-tomorrow-row button,
.home-panel-right-column > .d-flex:first-child button,
.index-main-layout.home-dashboard-shell > .col-lg-7 > .d-flex:first-child button,
.index-main-layout.home-dashboard-shell > .col-xl-7 > .d-flex:first-child button {
    width: 48% !important;
    max-width: 48% !important;
    height: 58px !important;
    min-height: 58px !important;
    border-radius: 12px !important;
}

/* Guest button same as one meal-card column */
.guest-order-button,
.guest-order-card,
button[data-tv-action="guest"],
button[data-nav-id*="guest"] {
    width: 48% !important;
    max-width: 48% !important;
    height: 58px !important;
    min-height: 58px !important;
    margin-top: 6px !important;
    border-radius: 12px !important;
}


/* =========================================================
   TV portal: Home/Orders layout correction
   ========================================================= */

/* Home right panel spacing: use full width like prior baseline. */
.home-panel-right-column,
.index-main-layout.home-dashboard-shell > .col-lg-7,
.index-main-layout.home-dashboard-shell > .col-xl-7 {
    padding-left: 28px !important;
    padding-right: 28px !important;
}

/* Date buttons exactly match meal card columns. */
.home-date-actions,
.date-action-row,
.home-day-selector,
.order-date-actions,
.today-tomorrow-row,
.home-panel-right-column > .d-flex:first-child,
.index-main-layout.home-dashboard-shell > .col-lg-7 > .d-flex:first-child,
.index-main-layout.home-dashboard-shell > .col-xl-7 > .d-flex:first-child {
    display: -ms-flexbox !important;
    display: flex !important;
    width: 100% !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
}

.home-date-actions button,
.date-action-row button,
.home-day-selector button,
.order-date-actions button,
.today-tomorrow-row button,
.home-panel-right-column > .d-flex:first-child button,
.index-main-layout.home-dashboard-shell > .col-lg-7 > .d-flex:first-child button,
.index-main-layout.home-dashboard-shell > .col-xl-7 > .d-flex:first-child button {
    -ms-flex: 0 0 48% !important;
    flex: 0 0 48% !important;
    width: 48% !important;
    max-width: 48% !important;
    min-width: 0 !important;
}

/* Meal cards must use 2 large columns on Home. */
.home-meal-periods-grid > .col-12,
.home-meal-periods-grid > .col-sm-6,
.meal-period-grid > .col-12,
.meal-period-grid > .col-sm-6,
.home-meal-periods-grid > div,
.meal-period-grid > div {
    -ms-flex: 0 0 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
}

.meal-period-visible-card,
.meal-period-card,
.meal-card {
    min-height: 152px !important;
    height: 152px !important;
}

/* Guest button one meal-card column width and aligned under left column. */
.guest-order-button,
.guest-order-card,
button[data-tv-action="guest"],
button[data-nav-id*="guest"],
.home-panel-right-column button.guest-order-button,
.index-main-layout.home-dashboard-shell button.guest-order-button {
    display: block !important;
    -ms-flex: 0 0 48% !important;
    flex: 0 0 48% !important;
    width: 48% !important;
    max-width: 48% !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 58px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Orders screen: category left, 3-column product grid center, review/cart fixed right. */
.orders-page-shell,
.pos.pos-with-menu.pos-with-sidebar.orders-page-shell,
.orders-route-container,
.orders-content-host {
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    overflow: hidden !important;
    position: relative !important;
}

.orders-page-shell .pos-menu,
.pos-menu,
.orders-category-list,
.category-list,
.order-categories,
.pos-categories {
    position: fixed !important;
    left: 24px !important;
    top: 64px !important;
    bottom: 20px !important;
    width: 235px !important;
    max-width: 235px !important;
    overflow: hidden !important;
    z-index: 3 !important;
}

.orders-page-shell .pos-sidebar,
.pos-sidebar,
.orders-cart,
.order-cart,
.cart-panel,
.pos-cart {
    position: fixed !important;
    right: 24px !important;
    top: 48px !important;
    bottom: 16px !important;
    width: 405px !important;
    max-width: 405px !important;
    overflow: hidden !important;
    z-index: 3 !important;
}

.orders-page-shell .pos-content,
.pos-content,
.orders-product-grid,
.product-grid,
.order-products,
.pos-products {
    position: fixed !important;
    left: 285px !important;
    right: 455px !important;
    top: 62px !important;
    bottom: 20px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    overflow: hidden !important;
    z-index: 2 !important;
}

/* Product grid: exactly 3 columns inside available content area. */
.orders-page-shell .pos-content .row,
.pos-content .row,
.orders-product-grid .row,
.product-grid .row,
.order-products .row,
.pos-products .row {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    margin-left: -8px !important;
    margin-right: -8px !important;
}

.orders-page-shell .pos-content .row > *,
.pos-content .row > *,
.orders-product-grid .row > *,
.product-grid .row > *,
.order-products .row > *,
.pos-products .row > * {
    -ms-flex: 0 0 33.333333% !important;
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 18px !important;
}

/* Product cards must fit their column, not stretch across cart/review area. */
.pos-product,
.pos-menu-item,
.product-card,
.orders-item-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 250px !important;
    max-height: 250px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

.pos-product img,
.pos-menu-item img,
.product-card img,
.orders-item-card img {
    max-width: 100% !important;
    max-height: 170px !important;
    object-fit: contain !important;
}

/* Sidebar bottom buttons stay at bottom. */
.pos-sidebar .cart-actions,
.pos-sidebar .order-cart-actions,
.pos-sidebar .pos-cart-actions,
.cart-actions,
.order-cart-actions,
.pos-cart-actions {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
}


/* =========================================================
   TV portal: exact Razor-markup CSS repair
   ========================================================= */

/* Home meal days row: actual markup is row g-3[data-nav-scope="home-days"] */
[data-nav-scope="home-days"] {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    margin: 0 -8px 14px -8px !important;
}
[data-nav-scope="home-days"] > .col-sm-6 {
    -ms-flex: 0 0 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}
[data-nav-scope="home-days"] button {
    width: 100% !important;
    max-width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
}

/* Home meal cards: actual markup is row g-3 mt-2 flex-grow-1[data-nav-scope="home-meals"] */
[data-nav-scope="home-meals"] {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    margin: 0 -8px !important;
    padding: 0 !important;
}
[data-nav-scope="home-meals"] > .col-12,
[data-nav-scope="home-meals"] > .col-sm-6 {
    -ms-flex: 0 0 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 16px !important;
}
[data-nav-scope="home-meals"] .meal-period-visible-card {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 154px !important;
    height: 154px !important;
    padding: 20px 24px !important;
    margin: 0 !important;
}

/* Guest order button should be one meal-card column width, left aligned under cards */
.home-panel-right-column [data-nav-id="guest-order"],
.home-panel-right-column button[data-nav-id*="guest"],
.index-main-layout.home-dashboard-shell [data-nav-id="guest-order"],
.index-main-layout.home-dashboard-shell button[data-nav-id*="guest"] {
    width: calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    height: 58px !important;
    min-height: 58px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Order screen real markup: .orders-items-grid with col-xxl/col-xl/col-lg children */
.orders-page-shell .pos-menu {
    width: 235px !important;
    max-width: 235px !important;
}
.orders-page-shell .pos-sidebar {
    width: 405px !important;
    max-width: 405px !important;
}
.orders-page-shell .pos-content {
    left: 285px !important;
    right: 455px !important;
    top: 62px !important;
    bottom: 20px !important;
    overflow: hidden !important;
}
.orders-items-grid {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    margin-left: -8px !important;
    margin-right: -8px !important;
}
.orders-items-grid > [class*="col-"] {
    -ms-flex: 0 0 33.333333% !important;
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 18px !important;
}
.orders-items-grid .orders-item-card,
.orders-items-grid .pos-product {
    width: 100% !important;
    max-width: 100% !important;
    height: 248px !important;
    min-height: 248px !important;
    overflow: hidden !important;
}
.orders-items-grid .orders-item-card__media,
.orders-items-grid .modal-pos-product-img {
    height: 170px !important;
    max-height: 170px !important;
    overflow: hidden !important;
}

/* Modal/popup repair: render actual modal-dialog centered even before JS reparenting */
.modal.show.d-block,
.modal.d-block {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    display: block !important;
    background: rgba(0,0,0,.58) !important;
    z-index: 2147482500 !important;
    overflow: hidden !important;
}
.modal.show.d-block > .modal-dialog,
.modal.d-block > .modal-dialog,
.modal-dialog.modal-dialog-centered {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    max-width: calc(100vw - 96px) !important;
    max-height: calc(100vh - 96px) !important;
    z-index: 2147482600 !important;
}
.modal.show.d-block .modal-content,
.modal.d-block .modal-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: rgba(16, 29, 56, .98) !important;
    border: 1px solid rgba(72, 119, 199, .9) !important;
    border-radius: 18px !important;
    color: #fff !important;
    overflow: hidden !important;
}
.modal.show.d-block .modal-pos-product,
.modal.d-block .modal-pos-product {
    display: -ms-flexbox !important;
    display: flex !important;
    width: 980px !important;
    max-width: calc(100vw - 96px) !important;
    min-height: 300px !important;
    background: rgba(16, 29, 56, .98) !important;
    color: #fff !important;
}
.modal.show.d-block .modal-pos-product-info,
.modal.d-block .modal-pos-product-info {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    padding: 34px !important;
}
.modal.show.d-block .modal-pos-product-img,
.modal.d-block .modal-pos-product-img {
    display: block !important;
    width: 280px !important;
    min-width: 280px !important;
    background: rgba(9, 19, 38, .70) !important;
}
.modal.show.d-block .modal-pos-product-img .img,
.modal.d-block .modal-pos-product-img .img {
    width: 100% !important;
    height: 100% !important;
    min-height: 300px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

/* Confirmation prompt specific */
#confirmPrompt .modal-dialog,
#exitPrompt .modal-dialog,
#deletePrompt .modal-dialog,
#menuPrompt .modal-dialog {
    width: 980px !important;
}

/* Guest popup specific */
#guestOrderPrompt .modal-dialog {
    width: 960px !important;
}
#guestOrderPrompt .home-guest-order-modal {
    width: 960px !important;
    max-width: calc(100vw - 96px) !important;
    background: rgba(16, 29, 56, .98) !important;
}

/* Root popup host is still highest priority if JS moves popup there */
#mltv-root-popup-host .modal-dialog {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
}


/* =========================================================
   TV portal: popup and Orders grid final repair
   ========================================================= */

/* Orders fixed 3-column product grid between category and review/sidebar */
body .orders-page-shell .pos-menu,
body .pos.pos-with-menu.pos-with-sidebar .pos-menu,
body .pos-menu {
    position: fixed !important;
    left: 24px !important;
    top: 64px !important;
    bottom: 20px !important;
    width: 230px !important;
    max-width: 230px !important;
    min-width: 230px !important;
    overflow: hidden !important;
    z-index: 20 !important;
}

body .orders-page-shell .pos-sidebar,
body .pos.pos-with-menu.pos-with-sidebar .pos-sidebar,
body .pos-sidebar {
    position: fixed !important;
    right: 24px !important;
    top: 48px !important;
    bottom: 16px !important;
    width: 405px !important;
    max-width: 405px !important;
    min-width: 405px !important;
    overflow: hidden !important;
    z-index: 20 !important;
}

body .orders-page-shell .pos-content,
body .pos.pos-with-menu.pos-with-sidebar .pos-content,
body .pos-content {
    position: fixed !important;
    left: 280px !important;
    right: 455px !important;
    top: 62px !important;
    bottom: 20px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 12px !important;
    overflow: hidden !important;
    z-index: 10 !important;
}

/* product grid actual and fallback selectors */
body .orders-items-grid,
body .pos-content .orders-items-grid,
body .pos-content > .row,
body .orders-product-grid .row,
body .product-grid .row,
body .order-products .row,
body .pos-products .row {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: -8px !important;
    margin-right: -8px !important;
}

/* IMPORTANT: beat older .col-sm-6/.col-12 50% rules inside Orders only */
body .orders-items-grid > *,
body .pos-content .orders-items-grid > *,
body .pos-content > .row > *,
body .orders-product-grid .row > *,
body .product-grid .row > *,
body .order-products .row > *,
body .pos-products .row > * {
    -ms-flex: 0 0 33.333333% !important;
    flex: 0 0 33.333333% !important;
    width: 33.333333% !important;
    max-width: 33.333333% !important;
    min-width: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin: 0 0 18px 0 !important;
    box-sizing: border-box !important;
}

body .orders-items-grid .orders-item-card,
body .orders-items-grid .pos-product,
body .pos-content .orders-item-card,
body .pos-content .pos-product,
body .pos-content .product-card,
body .pos-content .pos-menu-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 250px !important;
    max-height: 250px !important;
    min-height: 250px !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
}

/* prevent item image from pushing card width */
body .orders-items-grid img,
body .pos-content .orders-item-card img,
body .pos-content .pos-product img,
body .pos-content .product-card img {
    max-width: 100% !important;
    max-height: 170px !important;
    object-fit: contain !important;
}

/* Popup host/backdrop */
#mltv-root-popup-host {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 2147482000 !important;
    pointer-events: none !important;
}

#mltv-root-popup-host > * {
    pointer-events: auto !important;
}

/* Make every active modal actually visible, not just the blur backdrop */
body .modal.show,
body .modal.d-block,
body .modal[style*="display: block"],
#mltv-root-popup-host .modal,
#mltv-root-popup-host .modal.show,
#mltv-root-popup-host .modal.d-block {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(0,0,0,.58) !important;
    overflow: hidden !important;
    z-index: 2147482100 !important;
}

/* Center modal dialog. */
body .modal.show > .modal-dialog,
body .modal.d-block > .modal-dialog,
body .modal[style*="display: block"] > .modal-dialog,
#mltv-root-popup-host .modal > .modal-dialog,
#mltv-root-popup-host .modal-dialog,
body .modal-dialog.modal-dialog-centered {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: 980px !important;
    max-width: calc(100vw - 96px) !important;
    max-height: calc(100vh - 96px) !important;
    z-index: 2147482200 !important;
}

/* Real visible popup body. */
body .modal.show .modal-content,
body .modal.d-block .modal-content,
body .modal[style*="display: block"] .modal-content,
#mltv-root-popup-host .modal-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    background: linear-gradient(110deg, rgba(16, 28, 52, .98), rgba(22, 45, 90, .98)) !important;
    border: 1px solid rgba(70, 119, 199, .9) !important;
    border-radius: 18px !important;
    color: #fff !important;
    min-height: 250px !important;
    overflow: hidden !important;
    box-shadow: 0 24px 60px rgba(0,0,0,.45) !important;
}

/* Product/item details modal body. */
body .modal.show .modal-pos-product,
body .modal.d-block .modal-pos-product,
body .modal[style*="display: block"] .modal-pos-product,
#mltv-root-popup-host .modal-pos-product {
    display: -ms-flexbox !important;
    display: flex !important;
    width: 980px !important;
    max-width: calc(100vw - 96px) !important;
    min-height: 310px !important;
    background: linear-gradient(110deg, rgba(16, 28, 52, .98), rgba(22, 45, 90, .98)) !important;
    color: #fff !important;
}

body .modal.show .modal-pos-product-img,
body .modal.d-block .modal-pos-product-img,
#mltv-root-popup-host .modal-pos-product-img {
    display: block !important;
    width: 330px !important;
    min-width: 330px !important;
    min-height: 310px !important;
    background: rgba(255,255,255,.18) !important;
}

body .modal.show .modal-pos-product-info,
body .modal.d-block .modal-pos-product-info,
#mltv-root-popup-host .modal-pos-product-info {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    padding: 34px !important;
    color: #fff !important;
}

/* Confirmation modal, guest modal, and prompt layouts */
body .modal.show .confirmation-modal,
body .modal.d-block .confirmation-modal,
body .modal.show .home-guest-order-modal,
body .modal.d-block .home-guest-order-modal,
#mltv-root-popup-host .confirmation-modal,
#mltv-root-popup-host .home-guest-order-modal {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 980px !important;
    max-width: calc(100vw - 96px) !important;
    min-height: 250px !important;
    background: linear-gradient(110deg, rgba(16, 28, 52, .98), rgba(22, 45, 90, .98)) !important;
    color: #fff !important;
}

/* Button row in popup */
body .modal.show .modal-footer,
body .modal.d-block .modal-footer,
#mltv-root-popup-host .modal-footer,
body .modal.show .confirmation-actions,
body .modal.d-block .confirmation-actions {
    display: -ms-flexbox !important;
    display: flex !important;
    gap: 12px !important;
    padding: 18px 28px 28px 28px !important;
}

body .modal.show .modal-footer button,
body .modal.d-block .modal-footer button,
body .modal.show .confirmation-actions button,
body .modal.d-block .confirmation-actions button {
    -ms-flex: 1 1 0 !important;
    flex: 1 1 0 !important;
    height: 58px !important;
    border-radius: 12px !important;
}


/* =========================================================
   TV portal: Modal, duplicate image, category clipping fix
   ========================================================= */

/* Confirmation/prompt blank-backdrop fix: common Bootstrap modal body classes */
body .modal.show .modal-header,
body .modal.d-block .modal-header,
body .modal.show .modal-body,
body .modal.d-block .modal-body,
body .modal.show .modal-footer,
body .modal.d-block .modal-footer,
#mltv-root-popup-host .modal-header,
#mltv-root-popup-host .modal-body,
#mltv-root-popup-host .modal-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
    position: relative !important;
    z-index: 2147482300 !important;
}

body .modal.show .modal-header,
body .modal.d-block .modal-header,
#mltv-root-popup-host .modal-header {
    padding: 28px 36px 8px 36px !important;
    border-bottom: 0 !important;
}

body .modal.show .modal-body,
body .modal.d-block .modal-body,
#mltv-root-popup-host .modal-body {
    padding: 10px 36px 18px 36px !important;
    min-height: 70px !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body .modal.show .modal-title,
body .modal.d-block .modal-title,
#mltv-root-popup-host .modal-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #fff !important;
}

/* If prompt content is direct children without modal-body */
body .modal.show .modal-content > *,
body .modal.d-block .modal-content > *,
#mltv-root-popup-host .modal-content > * {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Item details popup: do not clip at top; reserve header/info area. */
body .modal.show .modal-pos-product,
body .modal.d-block .modal-pos-product,
#mltv-root-popup-host .modal-pos-product,
body .modal.show .modal-pos-product--qty,
body .modal.d-block .modal-pos-product--qty,
#mltv-root-popup-host .modal-pos-product--qty {
    display: -ms-flexbox !important;
    display: flex !important;
    width: 980px !important;
    min-height: 380px !important;
    max-height: calc(100vh - 96px) !important;
    overflow: hidden !important;
    transform: none !important;
}

body .modal.show .modal-pos-product-info,
body .modal.d-block .modal-pos-product-info,
#mltv-root-popup-host .modal-pos-product-info {
    padding: 42px 34px 28px 34px !important;
    min-height: 380px !important;
    overflow: hidden !important;
}

body .modal.show .modal-pos-product-title,
body .modal.d-block .modal-pos-product-title,
#mltv-root-popup-host .modal-pos-product-title,
body .modal.show .modal-pos-product-info h1,
body .modal.d-block .modal-pos-product-info h1,
body .modal.show .modal-pos-product-info h2,
body .modal.d-block .modal-pos-product-info h2,
body .modal.show .modal-pos-product-info h3,
body .modal.d-block .modal-pos-product-info h3 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
    margin: 0 0 6px 0 !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
}

/* Popup buttons should stay below product text, not cover the title. */
body .modal.show .modal-pos-product-info .modal-footer,
body .modal.d-block .modal-pos-product-info .modal-footer,
#mltv-root-popup-host .modal-pos-product-info .modal-footer,
body .modal.show .modal-pos-product-actions,
body .modal.d-block .modal-pos-product-actions,
#mltv-root-popup-host .modal-pos-product-actions {
    position: absolute !important;
    left: 34px !important;
    right: 34px !important;
    bottom: 28px !important;
    display: -ms-flexbox !important;
    display: flex !important;
    gap: 12px !important;
    padding: 0 !important;
}

/* Category rail: stop clipping/cropping names and icons. */
body .orders-page-shell .pos-menu,
body .pos.pos-with-menu.pos-with-sidebar .pos-menu,
body .pos-menu {
    left: 28px !important;
    top: 64px !important;
    bottom: 20px !important;
    width: 245px !important;
    min-width: 245px !important;
    max-width: 245px !important;
    overflow: visible !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .pos-menu .nav,
body .pos-menu .nav-container,
body .pos-menu .menu,
body .pos-menu ul {
    overflow: visible !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body .pos-menu a,
body .pos-menu button,
body .pos-menu .nav-link,
body .pos-menu .pos-menu-link,
body .pos-menu .category-card,
body .pos-menu .category-item {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: normal !important;
    text-overflow: clip !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

/* Move product content to account for wider categories. */
body .orders-page-shell .pos-content,
body .pos.pos-with-menu.pos-with-sidebar .pos-content,
body .pos-content {
    left: 300px !important;
    right: 445px !important;
}

/* Keep review/sidebar width stable. */
body .orders-page-shell .pos-sidebar,
body .pos.pos-with-menu.pos-with-sidebar .pos-sidebar,
body .pos-sidebar {
    right: 24px !important;
    width: 395px !important;
    min-width: 395px !important;
    max-width: 395px !important;
}

/* Product image duplicate fix: only one image layer visible. */
body .orders-items-grid .orders-item-card__media,
body .orders-items-grid .pos-product-img,
body .pos-content .orders-item-card__media,
body .pos-content .pos-product-img,
body .pos-content .product-img {
    background-image: none !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
}

body .orders-items-grid .orders-item-card__media img,
body .orders-items-grid .pos-product-img img,
body .pos-content .orders-item-card__media img,
body .pos-content .pos-product-img img,
body .pos-content .product-img img {
    display: block !important;
    margin: 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
    height: 155px !important;
    max-height: 155px !important;
    object-fit: contain !important;
}

/* If old CSS uses pseudo-elements for image shine/duplicate, suppress it inside product media. */
body .orders-items-grid .orders-item-card__media:before,
body .orders-items-grid .orders-item-card__media:after,
body .orders-items-grid .pos-product-img:before,
body .orders-items-grid .pos-product-img:after,
body .pos-content .orders-item-card__media:before,
body .pos-content .orders-item-card__media:after,
body .pos-content .pos-product-img:before,
body .pos-content .pos-product-img:after {
    display: none !important;
    content: none !important;
}

/* Ensure exactly 3 columns after category/sidebar adjustments. */
body .orders-items-grid > *,
body .pos-content .orders-items-grid > *,
body .pos-content > .row > * {
    -ms-flex: 0 0 33.333333% !important;
    flex: 0 0 33.333333% !important;
    width: 33.333333% !important;
    max-width: 33.333333% !important;
}


/* =========================================================
   TV portal: Chrome 58 fixed TV layout patch
   - No CSS grid
   - No :has()
   - No CSS variables
   - Fixed TV dimensions/areas
   ========================================================= */

/* HOME/EXIT CONFIRMATION PROMPT:
   The blue line was the dialog/content collapsed or hidden behind overlay.
   Force a fixed visible confirmation box. */
#mltv-root-popup-host .modal,
#mltv-root-popup-host .modal.show,
#mltv-root-popup-host .modal.d-block,
body .modal.show,
body .modal.d-block,
body .modal[style*="display: block"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    overflow: hidden !important;
    background: rgba(0,0,0,.64) !important;
    z-index: 2147482000 !important;
}

#mltv-root-popup-host .modal-dialog,
body .modal.show > .modal-dialog,
body .modal.d-block > .modal-dialog,
body .modal[style*="display: block"] > .modal-dialog {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    width: 1040px !important;
    height: 310px !important;
    max-width: 1040px !important;
    max-height: 310px !important;
    margin-left: -520px !important;
    margin-top: -155px !important;
    transform: none !important;
    z-index: 2147482200 !important;
}

#mltv-root-popup-host .modal-content,
body .modal.show .modal-content,
body .modal.d-block .modal-content,
body .modal[style*="display: block"] .modal-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    width: 1040px !important;
    height: 310px !important;
    min-height: 310px !important;
    max-height: 310px !important;
    overflow: hidden !important;
    background: #12213f !important;
    border: 1px solid #31599a !important;
    border-radius: 18px !important;
    color: #fff !important;
    box-shadow: 0 24px 60px rgba(0,0,0,.5) !important;
}

#mltv-root-popup-host .modal-header,
#mltv-root-popup-host .modal-body,
#mltv-root-popup-host .modal-footer,
body .modal.show .modal-header,
body .modal.show .modal-body,
body .modal.show .modal-footer,
body .modal.d-block .modal-header,
body .modal.d-block .modal-body,
body .modal.d-block .modal-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
    position: relative !important;
}

#mltv-root-popup-host .modal-header,
body .modal.show .modal-header,
body .modal.d-block .modal-header {
    height: 64px !important;
    padding: 24px 36px 0 36px !important;
    border: 0 !important;
}

#mltv-root-popup-host .modal-title,
body .modal.show .modal-title,
body .modal.d-block .modal-title {
    display: block !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 34px !important;
    color: #fff !important;
}

#mltv-root-popup-host .modal-body,
body .modal.show .modal-body,
body .modal.d-block .modal-body {
    height: 105px !important;
    padding: 10px 36px 0 36px !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 34px !important;
    border: 0 !important;
}

#mltv-root-popup-host .modal-footer,
body .modal.show .modal-footer,
body .modal.d-block .modal-footer,
#mltv-root-popup-host .confirmation-actions,
body .modal.show .confirmation-actions,
body .modal.d-block .confirmation-actions {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    position: absolute !important;
    left: 36px !important;
    right: 36px !important;
    bottom: 28px !important;
    height: 64px !important;
    padding: 0 !important;
    border: 0 !important;
}

#mltv-root-popup-host .modal-footer button,
body .modal.show .modal-footer button,
body .modal.d-block .modal-footer button,
#mltv-root-popup-host .confirmation-actions button,
body .modal.show .confirmation-actions button,
body .modal.d-block .confirmation-actions button {
    display: block !important;
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 0 !important;
    flex: 1 1 0 !important;
    height: 64px !important;
    margin: 0 6px !important;
    border-radius: 12px !important;
}

/* ITEM DETAILS POPUP:
   Fixed TV size. No responsiveness. No clipping. */
#mltv-root-popup-host .modal-pos-product,
#mltv-root-popup-host .modal-pos-product--qty,
body .modal.show .modal-pos-product,
body .modal.d-block .modal-pos-product,
body .modal.show .modal-pos-product--qty,
body .modal.d-block .modal-pos-product--qty {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    width: 1040px !important;
    height: 430px !important;
    min-height: 430px !important;
    max-height: 430px !important;
    overflow: hidden !important;
    background: #12213f !important;
    color: #fff !important;
}

#mltv-root-popup-host .modal-pos-product-img,
body .modal.show .modal-pos-product-img,
body .modal.d-block .modal-pos-product-img {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 330px !important;
    height: 430px !important;
    min-width: 330px !important;
    max-width: 330px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.18) !important;
}

#mltv-root-popup-host .modal-pos-product-img .img,
body .modal.show .modal-pos-product-img .img,
body .modal.d-block .modal-pos-product-img .img {
    display: block !important;
    width: 330px !important;
    height: 430px !important;
    min-height: 430px !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
}

#mltv-root-popup-host .modal-pos-product-img img,
body .modal.show .modal-pos-product-img img,
body .modal.d-block .modal-pos-product-img img {
    display: block !important;
    width: 300px !important;
    max-width: 300px !important;
    height: 380px !important;
    max-height: 380px !important;
    margin: 25px auto !important;
    object-fit: contain !important;
}

#mltv-root-popup-host .modal-pos-product-info,
body .modal.show .modal-pos-product-info,
body .modal.d-block .modal-pos-product-info {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    left: 330px !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 710px !important;
    height: 430px !important;
    padding: 42px 36px 112px 36px !important;
    overflow: hidden !important;
    color: #fff !important;
    box-sizing: border-box !important;
}

#mltv-root-popup-host .modal-pos-product-title,
body .modal.show .modal-pos-product-title,
body .modal.d-block .modal-pos-product-title,
#mltv-root-popup-host .modal-pos-product-info h1,
#mltv-root-popup-host .modal-pos-product-info h2,
#mltv-root-popup-host .modal-pos-product-info h3,
body .modal.show .modal-pos-product-info h1,
body .modal.show .modal-pos-product-info h2,
body .modal.show .modal-pos-product-info h3 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 0 12px 0 !important;
    color: #fff !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    line-height: 32px !important;
    max-height: 68px !important;
    overflow: hidden !important;
}

#mltv-root-popup-host .modal-pos-product-info,
body .modal.show .modal-pos-product-info,
body .modal.d-block .modal-pos-product-info {
    font-size: 22px !important;
    line-height: 30px !important;
}

/* Actions inside item details. */
#mltv-root-popup-host .modal-pos-product-info .modal-footer,
body .modal.show .modal-pos-product-info .modal-footer,
body .modal.d-block .modal-pos-product-info .modal-footer,
#mltv-root-popup-host .modal-pos-product-actions,
body .modal.show .modal-pos-product-actions,
body .modal.d-block .modal-pos-product-actions {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    position: absolute !important;
    left: 36px !important;
    right: 36px !important;
    bottom: 32px !important;
    height: 64px !important;
    padding: 0 !important;
}

#mltv-root-popup-host .modal-pos-product-info button,
body .modal.show .modal-pos-product-info button,
body .modal.d-block .modal-pos-product-info button {
    height: 64px !important;
    border-radius: 12px !important;
}

/* CATEGORY RAIL:
   It is TV fixed-size. Stop left clipping by giving it enough width and forcing content box. */
body .orders-page-shell .pos-menu,
body .pos.pos-with-menu.pos-with-sidebar .pos-menu,
body .pos-menu {
    position: fixed !important;
    left: 34px !important;
    top: 64px !important;
    bottom: 20px !important;
    width: 270px !important;
    min-width: 270px !important;
    max-width: 270px !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    z-index: 20 !important;
}

body .pos-menu *,
body .orders-page-shell .pos-menu * {
    box-sizing: border-box !important;
}

body .pos-menu a,
body .pos-menu button,
body .pos-menu .nav-link,
body .pos-menu .pos-menu-link,
body .pos-menu .category-card,
body .pos-menu .category-item,
body .pos-menu li {
    display: block !important;
    width: 270px !important;
    min-width: 270px !important;
    max-width: 270px !important;
    height: 104px !important;
    min-height: 104px !important;
    overflow: hidden !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    white-space: normal !important;
    text-align: center !important;
}

/* Content moves right to clear wider category rail. */
body .orders-page-shell .pos-content,
body .pos.pos-with-menu.pos-with-sidebar .pos-content,
body .pos-content {
    position: fixed !important;
    left: 330px !important;
    right: 430px !important;
    top: 62px !important;
    bottom: 20px !important;
    width: auto !important;
    max-width: none !important;
    overflow: hidden !important;
    padding: 0 10px !important;
}

/* Cart/review fixed. */
body .orders-page-shell .pos-sidebar,
body .pos.pos-with-menu.pos-with-sidebar .pos-sidebar,
body .pos-sidebar {
    position: fixed !important;
    right: 20px !important;
    top: 48px !important;
    bottom: 16px !important;
    width: 390px !important;
    min-width: 390px !important;
    max-width: 390px !important;
    overflow: hidden !important;
}

/* Product grid remains 3 columns, no duplicate media layers. */
body .orders-items-grid,
body .pos-content .orders-items-grid,
body .pos-content > .row {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    margin-left: -8px !important;
    margin-right: -8px !important;
}

body .orders-items-grid > *,
body .pos-content .orders-items-grid > *,
body .pos-content > .row > * {
    -ms-flex: 0 0 33.333333% !important;
    flex: 0 0 33.333333% !important;
    width: 33.333333% !important;
    max-width: 33.333333% !important;
    min-width: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin: 0 0 18px 0 !important;
}

body .orders-items-grid .orders-item-card,
body .orders-items-grid .pos-product,
body .pos-content .orders-item-card,
body .pos-content .pos-product,
body .pos-content .product-card {
    width: 100% !important;
    max-width: 100% !important;
    height: 246px !important;
    min-height: 246px !important;
    max-height: 246px !important;
    overflow: hidden !important;
}

body .orders-items-grid .orders-item-card__media,
body .orders-items-grid .pos-product-img,
body .pos-content .orders-item-card__media,
body .pos-content .pos-product-img,
body .pos-content .product-img {
    height: 158px !important;
    min-height: 158px !important;
    max-height: 158px !important;
    background-image: none !important;
    overflow: hidden !important;
}

body .orders-items-grid .orders-item-card__media:before,
body .orders-items-grid .orders-item-card__media:after,
body .orders-items-grid .pos-product-img:before,
body .orders-items-grid .pos-product-img:after,
body .pos-content .orders-item-card__media:before,
body .pos-content .orders-item-card__media:after,
body .pos-content .pos-product-img:before,
body .pos-content .pos-product-img:after {
    display: none !important;
    content: none !important;
}

body .orders-items-grid .orders-item-card__media img,
body .orders-items-grid .pos-product-img img,
body .pos-content .orders-item-card__media img,
body .pos-content .pos-product-img img,
body .pos-content .product-img img {
    display: block !important;
    width: auto !important;
    height: 150px !important;
    max-height: 150px !important;
    max-width: 100% !important;
    margin: 4px auto !important;
    object-fit: contain !important;
}


/* =========================================================
   TV portal: Chrome58 popup fixed heights and close-safe layout
   ========================================================= */

/* General item/details popup: fixed 500px height for TV. */
#mltv-root-popup-host .modal-dialog,
body .modal.show > .modal-dialog,
body .modal.d-block > .modal-dialog,
body .modal[style*="display: block"] > .modal-dialog {
    width: 1040px !important;
    height: 500px !important;
    max-width: 1040px !important;
    max-height: 500px !important;
    margin-left: -520px !important;
    margin-top: -250px !important;
    left: 50% !important;
    top: 50% !important;
    transform: none !important;
}

/* Default modal content fixed 500px. */
#mltv-root-popup-host .modal-content,
body .modal.show .modal-content,
body .modal.d-block .modal-content,
body .modal[style*="display: block"] .modal-content {
    width: 1040px !important;
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
}

/* Item details body fixed 500px. */
#mltv-root-popup-host .modal-pos-product,
#mltv-root-popup-host .modal-pos-product--qty,
body .modal.show .modal-pos-product,
body .modal.d-block .modal-pos-product,
body .modal.show .modal-pos-product--qty,
body .modal.d-block .modal-pos-product--qty {
    width: 1040px !important;
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
}

#mltv-root-popup-host .modal-pos-product-img,
body .modal.show .modal-pos-product-img,
body .modal.d-block .modal-pos-product-img {
    width: 330px !important;
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
}

#mltv-root-popup-host .modal-pos-product-img .img,
body .modal.show .modal-pos-product-img .img,
body .modal.d-block .modal-pos-product-img .img {
    width: 330px !important;
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
}

#mltv-root-popup-host .modal-pos-product-img img,
body .modal.show .modal-pos-product-img img,
body .modal.d-block .modal-pos-product-img img {
    width: 300px !important;
    max-width: 300px !important;
    height: 420px !important;
    max-height: 420px !important;
    margin: 40px auto !important;
    object-fit: contain !important;
}

#mltv-root-popup-host .modal-pos-product-info,
body .modal.show .modal-pos-product-info,
body .modal.d-block .modal-pos-product-info {
    left: 330px !important;
    width: 710px !important;
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
    padding: 46px 36px 126px 36px !important;
}

/* Submit/order confirmation prompt: 600px normal, can grow to 850px if content is longer. */
#confirmPrompt .modal-dialog,
#confirmPrompt.modal .modal-dialog,
#mltv-root-popup-host #confirmPrompt .modal-dialog,
body .modal.show#confirmPrompt > .modal-dialog,
body .modal.d-block#confirmPrompt > .modal-dialog,
body .modal.show .confirmPrompt .modal-dialog,
body .modal.d-block .confirmPrompt .modal-dialog {
    height: 600px !important;
    max-height: 850px !important;
    margin-top: -300px !important;
}

#confirmPrompt .modal-content,
#confirmPrompt.modal .modal-content,
#mltv-root-popup-host #confirmPrompt .modal-content,
body .modal.show#confirmPrompt .modal-content,
body .modal.d-block#confirmPrompt .modal-content {
    height: 600px !important;
    min-height: 600px !important;
    max-height: 850px !important;
}

/* Confirmation drawer/prompt bodies that are not id=confirmPrompt but include order confirmation content. */
#mltv-root-popup-host .drawer-confirm,
#mltv-root-popup-host .order-confirmation,
#mltv-root-popup-host .submit-order-confirmation,
body .modal.show .drawer-confirm,
body .modal.show .order-confirmation,
body .modal.show .submit-order-confirmation {
    min-height: 600px !important;
    max-height: 850px !important;
}

/* Plain exit/no prompt should remain compact: 500px. */
#yesnoPrompt .modal-dialog,
#yesnoPrompt.modal .modal-dialog,
#mltv-root-popup-host #yesnoPrompt .modal-dialog,
body .modal.show#yesnoPrompt > .modal-dialog,
body .modal.d-block#yesnoPrompt > .modal-dialog {
    height: 500px !important;
    max-height: 500px !important;
    margin-top: -250px !important;
}

#yesnoPrompt .modal-content,
#yesnoPrompt.modal .modal-content,
#mltv-root-popup-host #yesnoPrompt .modal-content,
body .modal.show#yesnoPrompt .modal-content,
body .modal.d-block#yesnoPrompt .modal-content {
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
}

/* Keep button row visible at bottom for all fixed prompts. */
#mltv-root-popup-host .modal-footer,
body .modal.show .modal-footer,
body .modal.d-block .modal-footer,
#mltv-root-popup-host .confirmation-actions,
body .modal.show .confirmation-actions,
body .modal.d-block .confirmation-actions,
#mltv-root-popup-host .modal-pos-product-actions,
body .modal.show .modal-pos-product-actions {
    position: absolute !important;
    left: 36px !important;
    right: 36px !important;
    bottom: 32px !important;
    height: 70px !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    padding: 0 !important;
}

/* Ensure No/Cancel buttons are normal pointer targets; JS handles close for Chrome58. */
#mltv-root-popup-host button,
body .modal.show button,
body .modal.d-block button {
    pointer-events: auto !important;
}


/* =========================================================
   TV portal: Chrome58 center prompt + wider home meal cards
   ========================================================= */

/* Fixed TV viewport center for prompts/modals.
   User test viewport is 1099x866. Center the 1040x500 box in that visible app area. */
#mltv-root-popup-host .modal-dialog,
body .modal.show > .modal-dialog,
body .modal.d-block > .modal-dialog,
body .modal[style*="display: block"] > .modal-dialog {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    width: 1040px !important;
    height: 500px !important;
    max-width: 1040px !important;
    max-height: 500px !important;
    margin-left: -520px !important;
    margin-top: -250px !important;
    transform: none !important;
}

/* In DevTools device viewport, browser chrome/top toolbar causes perceived downshift.
   Use 433px visual center for 866px viewport where available by keeping actual top 50%.
   This class exists after popup host moves modal. */
#mltv-root-popup-host .modal.mltv-active-modal > .modal-dialog {
    left: 50% !important;
    top: 50% !important;
    margin-left: -520px !important;
    margin-top: -250px !important;
}

/* Submit/order confirm prompt: 600px, max 850px, centered. */
#confirmPrompt .modal-dialog,
#confirmPrompt.modal .modal-dialog,
#mltv-root-popup-host #confirmPrompt .modal-dialog,
body .modal.show#confirmPrompt > .modal-dialog,
body .modal.d-block#confirmPrompt > .modal-dialog {
    width: 1040px !important;
    height: 600px !important;
    max-height: 850px !important;
    margin-left: -520px !important;
    margin-top: -300px !important;
}
#confirmPrompt .modal-content,
#confirmPrompt.modal .modal-content,
#mltv-root-popup-host #confirmPrompt .modal-content,
body .modal.show#confirmPrompt .modal-content,
body .modal.d-block#confirmPrompt .modal-content {
    height: 600px !important;
    min-height: 600px !important;
    max-height: 850px !important;
}

/* Make visible prompt content fill the fixed height nicely. */
#mltv-root-popup-host .modal-content,
body .modal.show .modal-content,
body .modal.d-block .modal-content {
    width: 1040px !important;
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
}
#mltv-root-popup-host .modal-header,
body .modal.show .modal-header,
body .modal.d-block .modal-header {
    height: 84px !important;
    padding: 34px 46px 0 46px !important;
}
#mltv-root-popup-host .modal-body,
body .modal.show .modal-body,
body .modal.d-block .modal-body {
    height: 220px !important;
    padding: 14px 46px 0 46px !important;
    font-size: 28px !important;
    line-height: 38px !important;
}
#mltv-root-popup-host .modal-footer,
body .modal.show .modal-footer,
body .modal.d-block .modal-footer,
#mltv-root-popup-host .confirmation-actions,
body .modal.show .confirmation-actions,
body .modal.d-block .confirmation-actions {
    left: 46px !important;
    right: 46px !important;
    bottom: 44px !important;
    height: 72px !important;
}

/* HOME screen: use available right-side width.
   Actual markup uses data-nav-scope home-days/home-meals. */
.home-panel-right-column,
.index-main-layout.home-dashboard-shell > .col-lg-7,
.index-main-layout.home-dashboard-shell > .col-xl-7 {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* Expand the day buttons to two wide equal columns. */
[data-nav-scope="home-days"] {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
[data-nav-scope="home-days"] > .col-sm-6,
[data-nav-scope="home-days"] > .col-6,
[data-nav-scope="home-days"] > div {
    -ms-flex: 0 0 48% !important;
    flex: 0 0 48% !important;
    width: 48% !important;
    max-width: 48% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
[data-nav-scope="home-days"] > .col-sm-6:first-child,
[data-nav-scope="home-days"] > div:first-child {
    margin-right: 4% !important;
}
[data-nav-scope="home-days"] button {
    width: 100% !important;
    max-width: 100% !important;
    height: 64px !important;
}

/* Expand meal cards: two wider columns, not narrow squares. */
[data-nav-scope="home-meals"] {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
[data-nav-scope="home-meals"] > .col-12,
[data-nav-scope="home-meals"] > .col-sm-6,
[data-nav-scope="home-meals"] > div {
    -ms-flex: 0 0 48% !important;
    flex: 0 0 48% !important;
    width: 48% !important;
    max-width: 48% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 18px !important;
}
[data-nav-scope="home-meals"] > .col-sm-6:nth-child(odd),
[data-nav-scope="home-meals"] > div:nth-child(odd) {
    margin-right: 4% !important;
}
[data-nav-scope="home-meals"] .meal-period-visible-card,
[data-nav-scope="home-meals"] .meal-period-card,
[data-nav-scope="home-meals"] .meal-card {
    width: 100% !important;
    max-width: 100% !important;
    height: 156px !important;
    min-height: 156px !important;
    padding: 20px 26px !important;
}

/* Guest Order matches left meal-card column width. */
.home-panel-right-column [data-nav-id="guest-order"],
.home-panel-right-column button[data-nav-id*="guest"],
.index-main-layout.home-dashboard-shell [data-nav-id="guest-order"],
.index-main-layout.home-dashboard-shell button[data-nav-id*="guest"] {
    width: 48% !important;
    max-width: 48% !important;
    height: 64px !important;
    min-height: 64px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}


/* =========================================================
   TV portal: absolute center popup + cancel target repair
   Chrome 58 safe.
   ========================================================= */

#mltv-root-popup-host .modal,
#mltv-root-popup-host .modal.show,
#mltv-root-popup-host .modal.d-block,
body .modal.show,
body .modal.d-block,
body .modal[style*="display: block"] {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    z-index: 2147482000 !important;
}

/* Hard override every previous popup placement. */
#mltv-root-popup-host .modal-dialog,
#mltv-root-popup-host .modal.mltv-active-modal > .modal-dialog,
body .modal.show > .modal-dialog,
body .modal.d-block > .modal-dialog,
body .modal[style*="display: block"] > .modal-dialog,
body .modal-dialog.modal-dialog-centered,
body .modal-lg.modal-dialog,
body .modal-dialog.modal-lg,
div.modal-dialog.modal-lg.modal-dialog-centered,
div.modal-dialog.modal-dialog-centered {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: 1040px !important;
    height: 500px !important;
    max-width: 1040px !important;
    max-height: 500px !important;
    min-width: 1040px !important;
    min-height: 500px !important;
    margin-left: -520px !important;
    margin-top: -250px !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    -webkit-transform: none !important;
    transform: none !important;
    z-index: 2147482200 !important;
}

/* Make the visible content occupy that fixed 500px. */
#mltv-root-popup-host .modal-content,
body .modal.show .modal-content,
body .modal.d-block .modal-content,
body .modal[style*="display: block"] .modal-content {
    width: 1040px !important;
    height: 500px !important;
    min-width: 1040px !important;
    min-height: 500px !important;
    max-width: 1040px !important;
    max-height: 500px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    background: #12213f !important;
}

/* Item details internal layout fixed inside centered box. */
#mltv-root-popup-host .modal-pos-product,
#mltv-root-popup-host .modal-pos-product--qty,
body .modal.show .modal-pos-product,
body .modal.d-block .modal-pos-product,
body .modal.show .modal-pos-product--qty,
body .modal.d-block .modal-pos-product--qty {
    width: 1040px !important;
    height: 500px !important;
    min-width: 1040px !important;
    min-height: 500px !important;
    max-width: 1040px !important;
    max-height: 500px !important;
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
}

#mltv-root-popup-host .modal-pos-product-img,
body .modal.show .modal-pos-product-img,
body .modal.d-block .modal-pos-product-img {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 330px !important;
    height: 500px !important;
}

#mltv-root-popup-host .modal-pos-product-info,
body .modal.show .modal-pos-product-info,
body .modal.d-block .modal-pos-product-info {
    position: absolute !important;
    left: 330px !important;
    top: 0 !important;
    width: 710px !important;
    height: 500px !important;
    padding: 52px 36px 132px 36px !important;
    box-sizing: border-box !important;
}

/* Buttons remain real clickable areas. */
#mltv-root-popup-host button,
body .modal.show button,
body .modal.d-block button,
#mltv-root-popup-host .btn,
body .modal.show .btn,
body .modal.d-block .btn {
    pointer-events: auto !important;
    position: relative !important;
    z-index: 2147482400 !important;
}

/* Bottom action row in item popup and confirmation prompt. */
#mltv-root-popup-host .modal-footer,
body .modal.show .modal-footer,
body .modal.d-block .modal-footer,
#mltv-root-popup-host .modal-pos-product-actions,
body .modal.show .modal-pos-product-actions,
body .modal.d-block .modal-pos-product-actions,
#mltv-root-popup-host .confirmation-actions,
body .modal.show .confirmation-actions,
body .modal.d-block .confirmation-actions {
    position: absolute !important;
    left: 36px !important;
    right: 36px !important;
    bottom: 38px !important;
    height: 72px !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    padding: 0 !important;
    z-index: 2147482350 !important;
}

/* For item popup, action row is inside the right info area. */
#mltv-root-popup-host .modal-pos-product-info .modal-footer,
body .modal.show .modal-pos-product-info .modal-footer,
body .modal.d-block .modal-pos-product-info .modal-footer,
#mltv-root-popup-host .modal-pos-product-info .modal-pos-product-actions,
body .modal.show .modal-pos-product-info .modal-pos-product-actions,
body .modal.d-block .modal-pos-product-info .modal-pos-product-actions {
    left: 36px !important;
    right: 36px !important;
    bottom: 38px !important;
}

/* =========================================================
   TV portal: Home meal card width only
   Purpose: widen only the Home meal-period cards.
   No navigation, JS, image, color, or unrelated layout changes.
   ========================================================= */
.index-main-layout.home-dashboard-shell .home-panel-right-column [data-nav-scope="home-meals"] > div:not(.col-12),
.index-main-layout.home-dashboard-shell .index-right-panel [data-nav-scope="home-meals"] > div:not(.col-12),
.home-panel-right-column [data-nav-scope="home-meals"] > div:not(.col-12),
.index-right-panel [data-nav-scope="home-meals"] > div:not(.col-12) {
    -ms-flex: 0 0 48% !important;
    flex: 0 0 48% !important;
    width: 48% !important;
    max-width: 48% !important;
    min-width: 48% !important;
}

.index-main-layout.home-dashboard-shell .home-panel-right-column [data-nav-scope="home-meals"] > div:not(.col-12) > button.meal-period-nav-button,
.index-main-layout.home-dashboard-shell .index-right-panel [data-nav-scope="home-meals"] > div:not(.col-12) > button.meal-period-nav-button,
.home-panel-right-column [data-nav-scope="home-meals"] > div:not(.col-12) > button.meal-period-nav-button,
.index-right-panel [data-nav-scope="home-meals"] > div:not(.col-12) > button.meal-period-nav-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
}

.index-main-layout.home-dashboard-shell .home-panel-right-column [data-nav-scope="home-meals"] .meal-period-visible-card,
.index-main-layout.home-dashboard-shell .index-right-panel [data-nav-scope="home-meals"] .meal-period-visible-card,
.home-panel-right-column [data-nav-scope="home-meals"] .meal-period-visible-card,
.index-right-panel [data-nav-scope="home-meals"] .meal-period-visible-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
}


/* TV portal:  button/card width parity + uniform action fonts.
   Keep meal card layout unchanged; make top/day and bottom action buttons match one meal-card column. */
.index-main-layout .home-panel-right-column [data-nav-scope="home-days"],
.index-main-layout .home-panel-right-column [data-nav-scope="home-meals"] {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.index-main-layout .home-panel-right-column [data-nav-scope="home-days"] > .col-sm-6,
.index-main-layout .home-panel-right-column [data-nav-scope="home-meals"] > .col-sm-6 {
    -webkit-box-flex: 0 !important;
    -ms-flex: 0 0 48% !important;
    flex: 0 0 48% !important;
    width: 48% !important;
    min-width: 48% !important;
    max-width: 48% !important;
    margin-right: 2% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

.index-main-layout .home-panel-right-column [data-nav-scope="home-days"] > .col-sm-6:nth-child(2n),
.index-main-layout .home-panel-right-column [data-nav-scope="home-meals"] > .col-sm-6:nth-child(2n) {
    margin-right: 0 !important;
}

.index-main-layout .home-panel-right-column [data-nav-scope="home-days"] > .col-sm-6 > .d-flex {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
}

.index-main-layout .home-panel-right-column #lblToday,
.index-main-layout .home-panel-right-column #lblTomorrow,
.index-main-layout .home-panel-right-column [data-nav-id="day-today"],
.index-main-layout .home-panel-right-column [data-nav-id="day-tomorrow"] {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
}

.index-main-layout .home-panel-right-column [data-nav-scope="home-days"] > .col-12 {
    -ms-flex: 0 0 100% !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.index-main-layout .home-panel-right-column [data-nav-scope="home-meals"] > .home-action-row-wrapper,
.index-main-layout .home-panel-right-column [data-nav-scope="home-meals"] > .col-12.home-action-row-wrapper {
    -ms-flex: 0 0 100% !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

.index-main-layout .home-panel-right-column .perf-meal-area-actions.right-column-actions {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    gap: 0 !important;
}

.index-main-layout .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-btn,
.index-main-layout .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-placeholder {
    -ms-flex: 0 0 48% !important;
    flex: 0 0 48% !important;
    width: 48% !important;
    min-width: 48% !important;
    max-width: 48% !important;
    margin-right: 2% !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
}

.index-main-layout .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-btn:nth-child(2n),
.index-main-layout .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-placeholder:nth-child(2n) {
    margin-right: 0 !important;
}

/* =========================================================
   MLT-DEMO-019: deterministic Home meal layout
   - fixed date/header footprint
   - six meal cards + action row fit the viewport
   - no internal content scrolling
   ========================================================= */
@media (min-width: 992px) {
    html,
    body {
        overflow: hidden !important;
    }

    .index-main-layout.home-dashboard-shell {
        height: calc(100vh - 58px) !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column,
    .index-main-layout.home-dashboard-shell .index-right-panel,
    .index-main-layout.home-dashboard-shell .home-meal-panel {
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column [data-nav-scope="home-days"] {
        -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 212px !important;
        flex: 0 0 212px !important;
        height: 212px !important;
        min-height: 212px !important;
        max-height: 212px !important;
        align-content: flex-start !important;
        overflow: hidden !important;
        margin-bottom: 10px !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .index-date-banner {
        height: 126px !important;
        min-height: 126px !important;
        max-height: 126px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
        box-sizing: border-box !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(3, minmax(0, 1fr)) 58px !important;
        column-gap: 16px !important;
        row-gap: 10px !important;
        -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin-top: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        align-content: stretch !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid > .col-sm-6,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid > div:not(.col-12):not(.home-action-row-wrapper) {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid .meal-period-nav-button,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid .meal-period-visible-card,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid .meal-period-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        box-sizing: border-box !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid > .home-action-row-wrapper,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid > .col-12.home-action-row-wrapper {
        grid-column: 1 / -1 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-btn,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-placeholder {
        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;
    }
}

@media (max-width: 991.98px) {
    html,
    body,
    .index-main-layout.home-dashboard-shell,
    .index-main-layout.home-dashboard-shell .home-panel-right-column,
    .index-main-layout.home-dashboard-shell .index-right-panel,
    .index-main-layout.home-dashboard-shell .home-meal-panel,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid {
        overflow: visible !important;
        height: auto !important;
        max-height: none !important;
    }
}


/* =========================================================
   MLT-DEMO-020: coherent fixed-height Home right panel
   - removes redundant spacer bands
   - keeps all six cards and full action buttons visible
   - no internal scrolling on desktop
   ========================================================= */
@media (min-width: 992px) {
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meal-panel {
        display: grid !important;
        grid-template-rows: 174px minmax(0, 1fr) !important;
        gap: 8px !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column [data-nav-scope="home-days"] {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: 52px 112px !important;
        column-gap: 16px !important;
        row-gap: 10px !important;
        width: 100% !important;
        height: 174px !important;
        min-height: 174px !important;
        max-height: 174px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column [data-nav-scope="home-days"] > .col-sm-6,
    .index-main-layout.home-dashboard-shell .home-panel-right-column [data-nav-scope="home-days"] > .col-12 {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column [data-nav-scope="home-days"] > .col-12 {
        grid-column: 1 / -1 !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .index-date-banner {
        width: 100% !important;
        height: 112px !important;
        min-height: 112px !important;
        max-height: 112px !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        box-sizing: border-box !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(3, minmax(0, 1fr)) 54px !important;
        column-gap: 16px !important;
        row-gap: 10px !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        align-content: stretch !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid > .col-sm-6,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid > div:not(.col-12):not(.home-action-row-wrapper) {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid > .home-action-row-wrapper,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid > .col-12.home-action-row-wrapper {
        grid-column: 1 / -1 !important;
        width: auto !important;
        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-btn,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-placeholder {
        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================
   MLT-DEMO-021: balanced Home right-panel spacing
   - matches left-panel inner padding
   - keeps action row fully inside the panel
   - distributes available height without clipping or scrolling
   ========================================================= */
@media (min-width: 992px) {
    .index-main-layout.home-dashboard-shell .home-panel-right-column {
        min-height: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meal-panel {
        display: grid !important;
        grid-template-rows: 174px minmax(0, 1fr) !important;
        gap: 12px !important;
        height: 100% !important;
        min-height: 0 !important;
        padding: 14px 18px 18px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column [data-nav-scope="home-days"] {
        width: 100% !important;
        height: 174px !important;
        min-height: 174px !important;
        max-height: 174px !important;
        margin: 0 !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(3, minmax(0, 1fr)) 56px !important;
        column-gap: 16px !important;
        row-gap: 12px !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        align-content: stretch !important;
        overflow: hidden !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid > .col-sm-6,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid > div:not(.col-12):not(.home-action-row-wrapper) {
        align-self: stretch !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid .meal-period-nav-button,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid .meal-period-visible-card,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid .meal-period-card,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid .dashboard-meal-period-card {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-action-row-wrapper {
        grid-column: 1 / -1 !important;
        align-self: end !important;
        width: 100% !important;
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 16px !important;
        width: 100% !important;
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-btn,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-placeholder {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================
   MLT-DEMO-022: right-panel card/action alignment refinement
   - adds a clean horizontal inset around the meal/action grid
   - keeps action buttons exactly aligned to meal-card columns
   ========================================================= */
@media (min-width: 992px) {
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid {
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid > .col-sm-6,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid > div:not(.col-12):not(.home-action-row-wrapper),
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-action-row-wrapper,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions {
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 16px !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-btn,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-placeholder {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }
}

/* =========================================================
   MLT-DEMO-023: enforce rendered meal/action column alignment
   - use the actual Bootstrap row element as a fixed inset grid
   - neutralize row gutters/negative margins from legacy rules
   - action buttons share the exact meal-card grid boundaries
   ========================================================= */
@media (min-width: 992px) {
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] {
        --bs-gutter-x: 0 !important;
        --bs-gutter-y: 0 !important;
        width: calc(100% - 32px) !important;
        min-width: 0 !important;
        max-width: calc(100% - 32px) !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
        padding: 0 !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap: 16px !important;
        box-sizing: border-box !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] > .col-sm-6 {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] > .home-action-row-wrapper,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] > .col-12.home-action-row-wrapper {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] .perf-meal-area-actions.right-column-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap: 16px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] .perf-meal-area-actions.right-column-actions > .ml-main-action-btn,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] .perf-meal-area-actions.right-column-actions > .ml-main-action-placeholder {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================
   MLT-DEMO-024: exact meal/action column sizing
   - allow the spanning action row to stretch to the CSS-grid area
     without an explicit 100% width that can overrun the tracks
   - keep both action buttons identical in width and height
   ========================================================= */
@media (min-width: 992px) {
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] > .home-action-row-wrapper,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] > .col-12.home-action-row-wrapper {
        grid-column: 1 / -1 !important;
        justify-self: stretch !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] .perf-meal-area-actions.right-column-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap: 16px !important;
        justify-self: stretch !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] .perf-meal-area-actions.right-column-actions > .ml-main-action-btn,
    .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] .perf-meal-area-actions.right-column-actions > .ml-main-action-placeholder {
        justify-self: stretch !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
    }
}
