@charset "UTF-8";
html, body { margin:0; min-height:100%; background:#101827; color:#fff; font-family:Arial, Helvetica, sans-serif; overflow:hidden; }
button, input, select, textarea { font-family:Arial, Helvetica, sans-serif; }
.mltv-page { height:100vh; box-sizing:border-box; padding:18px; background:#101827; color:#fff; }
.mltv-header { height:58px; display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.mltv-title { font-size:28px; font-weight:700; }
.mltv-subtitle { font-size:18px; opacity:.78; margin-top:4px; }
.mltv-back { min-width:150px; border:0; border-radius:14px; padding:14px 20px; background:#24334f; color:#fff; font-size:20px; }
.mltv-grid { display:flex; height:calc(100vh - 100px); gap:18px; }
.mltv-panel { background:#17233a; border-radius:20px; box-shadow:0 0 0 1px rgba(255,255,255,.06) inset; overflow:hidden; }
.mltv-home-left { width:38%; padding:18px; box-sizing:border-box; }
.mltv-home-right { flex:1; padding:18px; box-sizing:border-box; }
.mltv-info-card { background:#202f4d; border-radius:18px; padding:18px; margin-bottom:14px; }
.mltv-info-label { font-size:16px; opacity:.7; }
.mltv-info-value { font-size:25px; font-weight:700; margin-top:7px; }
.mltv-meal-list { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; }
.mltv-card-button { display:block; width:100%; border:0; border-radius:20px; background:#20395e; color:#fff; text-align:left; padding:22px; min-height:145px; font-size:22px; box-sizing:border-box; }
.mltv-card-button small { display:block; opacity:.75; margin-top:9px; font-size:17px; }
.mltv-card-button:focus, .focusable.tv-focused { outline:5px solid #fff; outline-offset:4px; }
.mltv-orders-shell { height:calc(100vh - 36px); display:flex; gap:14px; }
.mltv-category-panel { width:250px; padding:14px; box-sizing:border-box; overflow:auto; }
.mltv-content-panel { flex:1; padding:14px; box-sizing:border-box; overflow:auto; }
.mltv-review-panel { width:320px; padding:14px; box-sizing:border-box; display:flex; flex-direction:column; }
.mltv-category-button { width:100%; min-height:66px; margin-bottom:12px; border:0; border-radius:16px; padding:14px; background:#24385d; color:#fff; font-size:20px; text-align:left; }
.mltv-category-button.active { background:#3868a7; }
.mltv-items-grid { display:grid; grid-template-columns:repeat(4, minmax(150px,1fr)); gap:14px; }
.mltv-item-card { border:0; border-radius:18px; overflow:hidden; background:#213554; color:#fff; min-height:228px; text-align:left; padding:0; }
.mltv-item-image { height:145px; background-size:cover; background-position:center; background-color:#121b2d; position:relative; }
.mltv-item-name { padding:14px; font-size:19px; font-weight:700; min-height:58px; }
.mltv-qty-badge { position:absolute; right:10px; top:10px; min-width:38px; height:38px; border-radius:19px; background:#fff; color:#0f1728; line-height:38px; text-align:center; font-size:22px; font-weight:700; }
.mltv-review-list { flex:1; overflow:auto; }
.mltv-review-row { display:flex; align-items:center; gap:10px; background:#202f4d; border-radius:14px; padding:10px; margin-bottom:10px; }
.mltv-review-row img { width:52px; height:52px; object-fit:cover; border-radius:10px; }
.mltv-review-row strong { font-size:17px; display:block; }
.mltv-review-row span { opacity:.75; }
.mltv-review-delete { margin-left:auto; border:0; border-radius:12px; padding:12px 14px; background:#683448; color:#fff; font-size:17px; }
.mltv-footer-button { width:100%; border:0; border-radius:16px; padding:18px; margin-top:10px; background:#3868a7; color:#fff; font-size:22px; font-weight:700; }
.mltv-alert { padding:22px; margin:18px; border-radius:18px; background:#452631; color:#fff; font-size:20px; }
.mltv-modal { display:none; position:fixed; left:0; top:0; right:0; bottom:0; background:rgba(0,0,0,.68); z-index:5000; align-items:center; justify-content:center; }
.mltv-modal.is-open { display:flex; }
.mltv-modal-panel { width:620px; max-width:90vw; background:#17233a; border-radius:24px; padding:28px; box-shadow:0 20px 70px rgba(0,0,0,.45); }
.mltv-modal-title { font-size:30px; font-weight:700; margin-bottom:18px; }
.mltv-modal-actions { display:flex; gap:14px; margin-top:24px; }
.mltv-modal-actions button { flex:1; border:0; border-radius:16px; padding:18px; color:#fff; background:#3868a7; font-size:22px; }
.mltv-modal-actions .secondary { background:#3c455c; }
.mltv-iframe-host { height:100vh; background:#000; }
.mltv-iframe-host iframe { width:100%; height:100%; border:0; display:block; }
@media (max-width:1100px) { .mltv-items-grid{grid-template-columns:repeat(3,minmax(150px,1fr));}.mltv-review-panel{width:280px}.mltv-home-left{width:42%;} }
/* MLT-CSHTML-003: compact DummyHost test target, not a full-width meal card */
.mltv-dummy-page { padding:16px; }
.mltv-dummy-wrap { height:calc(100vh - 105px); display:flex; align-items:center; justify-content:center; }
.mltv-dummy-card { width:560px; max-width:90%; background:#1d3153; border-radius:24px; padding:34px; box-sizing:border-box; text-align:center; box-shadow:0 0 0 2px rgba(255,255,255,.08) inset; }
.mltv-dummy-title { font-size:30px; font-weight:700; margin-bottom:14px; }
.mltv-dummy-text { font-size:19px; line-height:1.45; opacity:.82; margin-bottom:28px; }
.mltv-dummy-action { width:100%; min-height:74px; border:0; border-radius:18px; background:#3868a7; color:#fff; font-size:24px; font-weight:700; }
.mltv-dummy-action:focus, .mltv-dummy-action.tv-focused { outline:5px solid #fff; outline-offset:4px; }

/* MLT-CSHTML-004: restore Blazor DummyHost smart-room host in pure CSHTML/CSS. */
.smartroom-body { margin:0; padding:0; width:100%; height:100%; overflow:hidden; background:#fff; color:#000; }
.smartroom-brandbar { height:66px; background:#23304a; color:#fff; display:flex; align-items:center; padding:0 24px; box-sizing:border-box; border-bottom:4px solid rgba(255,255,255,.22); }
.smartroom-facility-logo { font-size:34px; line-height:1; font-weight:700; letter-spacing:-2px; margin-right:16px; }
.smartroom-facility-text { font-size:12px; opacity:.9; }
.smartroom-host-page { width:100vw; height:calc(100vh - 66px); overflow:hidden; color:#000; background:radial-gradient(circle at 15% 5%, #9b6ce3 0, #b7c4ff 26%, #eef5ff 58%, #ffffff 100%); font-family:Arial, Helvetica, sans-serif; position:relative; padding:70px 70px 38px 70px; box-sizing:border-box; }
.smartroom-topbar { display:flex; align-items:center; justify-content:space-between; height:110px; }
.smartroom-brand { display:flex; align-items:center; color:#fff; width:310px; }
.smartroom-heart { font-size:86px; line-height:1; font-weight:700; transform:rotate(-8deg); margin-right:24px; }
.smartroom-brand-text { font-size:30px; line-height:28px; font-weight:700; }
.smartroom-tabs { display:flex; align-items:center; gap:80px; flex:1; justify-content:center; }
.smartroom-tab { border:0; background:transparent; color:#fff; font-size:27px; padding:21px 58px; border-radius:12px; min-width:270px; }
.smartroom-tab-active { color:#333; background:#fff; box-shadow:0 8px 18px rgba(0,0,0,.28); }
.smartroom-clock { display:flex; align-items:center; gap:22px; min-width:360px; justify-content:flex-end; }
.smartroom-date { font-size:28px; text-align:right; color:#1a1a1a; line-height:34px; }
.smartroom-time { color:#00518c; font-size:64px; font-weight:800; }
.smartroom-grid { display:grid; grid-template-columns:260px 260px 260px 260px 260px; grid-auto-rows:340px; gap:26px; margin-top:42px; align-items:stretch; }
.smartroom-card { background:#000; color:#fff; border:0; border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 8px 18px rgba(0,0,0,.36); font-size:36px; line-height:42px; text-align:center; font-weight:700; }
.smartroom-card-icon { display:block; font-size:88px; line-height:1; margin-bottom:36px; color:#fff; }
.smartroom-card-icon svg { width:88px; height:88px; fill:#fff; display:block; }
.smartroom-card-small { grid-column:1; grid-row:2; height:155px; }
.smartroom-card-wide { grid-column:2 / span 2; grid-row:2; height:155px; flex-direction:row; gap:38px; font-size:52px; }
.smartroom-card-message { grid-column:4 / span 2; grid-row:2; height:155px; flex-direction:row; gap:34px; font-size:34px; border:5px solid #00518c; }
.smartroom-message-icon { font-size:70px; }
.smartroom-sun { color:#ffbb18; font-size:92px; text-shadow:0 0 20px #ffdd78; line-height:1; }
.smartroom-room { position:absolute; left:0; right:0; bottom:20px; text-align:center; font-size:34px; color:#000; }
.smartroom-card:focus, .smartroom-tab:focus, .smartroom-focused, .smartroom-card.tv-focused, .smartroom-tab.tv-focused { outline:5px solid #00a6e8 !important; outline-offset:0; box-shadow:0 0 0 3px rgba(255,255,255,.9), 0 0 18px 8px rgba(0,81,140,.35) !important; }
@media (max-width:1280px) { .smartroom-host-page{padding-left:46px;padding-right:46px}.smartroom-grid{grid-template-columns:220px 220px 220px 220px 220px;grid-auto-rows:290px;gap:22px}.smartroom-card{font-size:28px;line-height:34px}.smartroom-card-wide,.smartroom-card-message,.smartroom-card-small{height:145px}.smartroom-tabs{gap:38px}.smartroom-clock{min-width:300px}.smartroom-time{font-size:54px} }

/* MLT-CSHTML-005: align CSHTML pages with approved Blazor visual classes/display logic. */
.smartroom-body { margin:0; padding:0; width:100%; height:100%; overflow:hidden; background:#fff; color:#000; }
.smartroom-brandbar { display:none !important; }
.smartroom-host-page { width:100vw !important; height:100vh !important; overflow:hidden; color:#000; background:radial-gradient(circle at 15% 5%, #9b6ce3 0, #b7c4ff 26%, #eef5ff 58%, #ffffff 100%); font-family:Arial, Helvetica, sans-serif; position:relative; padding:70px 80px 40px 80px !important; box-sizing:border-box; }
.smartroom-topbar { display:flex; align-items:center; justify-content:space-between; height:110px; }
.smartroom-brand { display:flex; align-items:center; color:#fff; width:310px; }
.smartroom-heart { font-size:86px; line-height:1; font-weight:700; transform:rotate(-8deg); margin-right:24px; }
.smartroom-brand-text { font-size:30px; line-height:28px; font-weight:700; }
.smartroom-tabs { display:flex; align-items:center; gap:80px; flex:1; justify-content:center; }
.smartroom-tab { border:0; background:transparent; font-size:27px; padding:21px 58px; border-radius:12px; min-width:270px; color:#111; }
.smartroom-tab-active { background:#fff; box-shadow:0 8px 18px rgba(0,0,0,.28); }
.smartroom-clock { display:flex; align-items:center; gap:22px; min-width:360px; justify-content:flex-end; }
.smartroom-date { font-size:28px; text-align:right; color:#1a1a1a; line-height:34px; }
.smartroom-time { color:#00518c; font-size:64px; font-weight:800; }
.smartroom-grid { display:grid; grid-template-columns:260px 260px 260px 260px 260px; grid-auto-rows:340px; gap:26px; margin-top:42px; align-items:stretch; }
.smartroom-card { background:#000; color:#fff; border:0; border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 8px 18px rgba(0,0,0,.36); font-size:36px; line-height:42px; text-align:center; font-weight:400; }
.smartroom-card-icon { font-size:88px; margin-bottom:36px; }
.smartroom-card-small { grid-column:1; grid-row:2; height:155px; }
.smartroom-card-wide { grid-column:2 / span 2; grid-row:2; height:155px; flex-direction:row; gap:38px; font-size:52px; }
.smartroom-card-message { grid-column:4 / span 2; grid-row:2; height:155px; flex-direction:row; gap:34px; font-size:34px; border:5px solid #00518c; }
.smartroom-room { position:absolute; left:0; right:0; bottom:28px; text-align:center; font-size:36px; color:#000; }
.smartroom-card:focus, .smartroom-tab:focus, .smartroom-focused, .smartroom-card.tv-focused, .smartroom-tab.tv-focused { outline:5px solid #00518c !important; box-shadow:0 0 0 3px rgba(255,255,255,.9), 0 0 18px 8px rgba(0,81,140,.35) !important; }
.mltv-home-toolbar { position:absolute; left:18px; right:18px; top:12px; height:64px; display:flex; align-items:center; justify-content:space-between; z-index:10; }
.home-dashboard-shell.mltv-page { padding:88px 22px 22px 22px; overflow:hidden; background:#101827; }
.home-dashboard-shell .patient-dashboard-card,
.home-dashboard-shell .index-right-panel { background:#17233a; border-radius:22px; box-shadow:0 0 0 1px rgba(255,255,255,.08) inset; overflow:hidden; }
.home-dashboard-shell .patient-info-card,
.home-dashboard-shell .home-detail-card { background:#203252; border-radius:18px; padding:16px; color:#fff; min-height:104px; box-sizing:border-box; }
.home-dashboard-shell .patient-info-card__title,
.home-dashboard-shell .home-detail-card__title { font-size:17px; opacity:.78; }
.home-dashboard-shell .patient-info-card__subtitle,
.home-dashboard-shell .home-detail-card__subtitle { font-size:13px; opacity:.58; margin-top:2px; }
.home-dashboard-shell .patient-info-card__value,
.home-dashboard-shell .home-detail-card__value { font-size:22px; font-weight:700; margin-top:8px; color:#fff; }
.home-dashboard-shell .index-right-panel { padding:16px; }
.home-dashboard-shell .index-date-banner { background:#203252; color:#fff; border-radius:18px; }
.home-dashboard-shell .meal-period-visible-card { color:#fff; border-radius:20px; overflow:hidden; width:100%; background:linear-gradient(135deg,#255b91,#16345d); box-shadow:0 10px 24px rgba(0,0,0,.24); }
.home-dashboard-shell .bg-gradient-custom-grey { background:linear-gradient(135deg,#56606f,#2e3748) !important; }
.home-dashboard-shell .meal-period-nav-button { color:#fff; border:0; }
.home-dashboard-shell .meal-period-selected-indicator { position:absolute; right:14px; top:12px; display:flex; align-items:center; gap:7px; font-size:14px; font-weight:700; }
.home-dashboard-shell .meal-period-selected-indicator__dot { width:12px; height:12px; border-radius:50%; background:#5ef58a; display:inline-block; }
.home-dashboard-shell .tv-remote-guide-card { background:#14233e; border-radius:18px; color:#fff; padding:16px; margin-top:12px; }
.home-dashboard-shell .tv-remote-guide-title { font-size:18px; font-weight:700; margin-bottom:8px; }
.home-dashboard-shell .tv-remote-guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.home-dashboard-shell .tv-remote-guide-text { font-size:14px; line-height:1.4; opacity:.86; }
.home-dashboard-shell .tv-key { background:#fff; color:#111; border-radius:6px; padding:2px 7px; font-weight:700; }
.home-dashboard-shell .focusable.tv-focused,
.home-dashboard-shell .mltv-v2-focusable.tv-focused,
.home-dashboard-shell button:focus { outline:5px solid #fff !important; outline-offset:4px; box-shadow:0 0 0 4px rgba(49,122,255,.8) !important; }

/* CSHTML branch 006: Blazor parity dashboard refinements */
.mltv-home-toolbar { display:none !important; }
.home-patient-card .home-detail-card__icon { width:54px; min-width:54px; height:54px; border-radius:16px; display:flex; align-items:center; justify-content:center; color:#fff; background:rgba(255,255,255,.12); box-shadow:inset 0 0 0 1px rgba(255,255,255,.18); }
.home-card-svg { width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.home-detail-card { display:flex; align-items:flex-start; gap:14px; }
.home-detail-card__body { min-width:0; }
.home-detail-card__title { letter-spacing:.03em; }
.patient-info-card--guest-order .home-detail-card__value:empty { display:none; }
.meal-period-visible-card { min-height:199px; }
.meal-period-progress { height:6px; }
.meal-period-progress .progress-bar { width:100%; }
.meal-period-selected-indicator { position:absolute; right:18px; bottom:14px; display:flex; align-items:center; gap:8px; color:#fff; font-weight:700; font-size:17px; background:rgba(0,0,0,.22); border-radius:999px; padding:6px 12px; }
.meal-period-selected-indicator__dot { width:13px; height:13px; border-radius:999px; background:#7cff9b; box-shadow:0 0 12px rgba(124,255,155,.9); }
.mltv-guest-popup-overlay { background:rgba(0,0,0,.68); }
.mltv-guest-popup-panel { width:1080px; max-width:92vw; max-height:86vh; overflow:hidden; border-radius:24px; background:#101d32; padding:24px 28px 28px; box-shadow:0 22px 80px rgba(0,0,0,.55); }
.mltv-guest-popup-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; padding:4px 6px 16px; border-bottom:1px solid rgba(255,255,255,.12); }
.mltv-guest-popup-title { color:#fff; font-size:34px; line-height:1.1; margin:0 0 8px 0; }
.mltv-guest-popup-heading { min-width:0; }
.mltv-guest-popup-line { color:#fff; font-size:21px; font-weight:800; line-height:1.35; white-space:nowrap; }
.mltv-guest-popup-line span { color:rgba(255,255,255,.78); display:inline-block; min-width:150px; }
.mltv-guest-popup-line strong { color:#fff; }
.mltv-guest-popup-subtitle { color:rgba(255,255,255,.72); font-size:22px; }
.mltv-guest-popup-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; max-height:62vh; overflow:auto; padding:18px 44px 4px; }
.mltv-guest-meal-card { min-height:178px; border:1px solid rgba(111,178,255,.65); border-radius:14px; padding:18px 22px 16px; background:linear-gradient(135deg,#2d84f7,#1467dd); color:#fff; text-align:left; box-shadow:0 8px 18px rgba(0,0,0,.30); }
.mltv-guest-meal-card--unavailable { background:linear-gradient(135deg,#4a5667,#273241); }
.mltv-guest-meal-name { font-size:21px; font-weight:900; line-height:1.15; text-transform:uppercase; }
.mltv-guest-meal-line { height:5px; background:rgba(255,255,255,.55); border-radius:999px; margin:12px 0 12px 0; }
.mltv-guest-meal-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:12px; }
.mltv-guest-meal-field span { display:block; font-size:15px; font-weight:900; line-height:1.1; color:rgba(255,255,255,.88); }
.mltv-guest-meal-field strong { display:block; font-size:16px; line-height:1.15; margin-top:4px; color:#fff; }
.mltv-guest-meal-status { display:flex; align-items:center; gap:8px; font-size:16px; line-height:1.1; font-weight:900; color:#fff; }
.mltv-guest-meal-status-dot { width:10px; height:10px; border-radius:999px; background:#ffcf53; box-shadow:0 0 10px rgba(255,207,83,.65); }
.mltv-guest-meal-status-dot--ordered { background:#7cff9b; box-shadow:0 0 12px rgba(124,255,155,.9); }
.mltv-page-loading { display:none; position:fixed; left:0; top:0; right:0; bottom:0; z-index:10000; background:rgba(6,12,24,.72); align-items:center; justify-content:center; color:#fff; }
.mltv-page-loading.is-active { display:flex; }
.mltv-page-loading-card { min-width:360px; border-radius:26px; padding:30px 38px; background:#101d32; box-shadow:0 18px 70px rgba(0,0,0,.55); text-align:center; font-size:27px; font-weight:700; }
.mltv-page-loading-spinner { width:64px; height:64px; margin:0 auto 18px auto; border-radius:999px; border:8px solid rgba(255,255,255,.24); border-top-color:#fff; animation:mltvSpin 1s linear infinite; }
@keyframes mltvSpin { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }

/* MLT-CSHTML-007: match the Blazor shell logo/header line for Home/Index while keeping Orders full-screen. */
.mltv-cshtml-body { margin:0; overflow:hidden; }
.mltv-cshtml-app-header { height:64px; min-height:64px; display:flex; align-items:center; padding:0 24px; background:#0b1220; border-bottom:1px solid rgba(255,255,255,.08); }
.mltv-cshtml-app-header .brand { display:flex; align-items:center; min-width:0; }
.mltv-cshtml-app-header .brand-logo { display:flex; align-items:center; height:40px; }
.mltv-cshtml-app-header .brand-logo img { display:block; width:auto; max-height:40px; }
.home-content-host { height:calc(100vh - 64px); min-height:0; overflow:hidden; padding:16px; }
.orders-content-host { height:100vh; min-height:0; overflow:hidden; }
#mltv-home-v2-root { height:100%; margin:0; }
#mltv-home-v2-root .home-patient-card,
#mltv-home-v2-root .home-meal-panel { height:100%; }
.enterprise-loader__image--csshtml { width:70px; height:70px; border-radius:20px; background:linear-gradient(135deg,#2f80ed,#0f4aa2); margin:0 auto 18px auto; position:relative; }
.enterprise-loader__image--csshtml:before { content:''; position:absolute; left:22px; top:13px; width:4px; height:44px; background:#fff; border-radius:3px; box-shadow:9px 0 0 #fff,18px 0 0 #fff; }
.enterprise-loader__image--csshtml:after { content:''; position:absolute; left:14px; top:26px; width:42px; height:4px; background:#fff; border-radius:3px; }
.mltv-modal[aria-hidden="true"] { display:none; }
.mltv-modal.is-open[aria-hidden="false"] { display:flex; }

/* MLT-CSHTML-008: harden CSHTML modal lifecycle so no popup is visible on initial Home/Index load. */
.mltv-modal[aria-hidden="true"],
.mltv-modal:not(.is-open) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
.mltv-modal.is-open[aria-hidden="false"] {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
body:not(.mltv-cshtml-modal-open) #guestOrderPrompt,
body:not(.mltv-cshtml-modal-open) #iframeExitPrompt {
    display: none !important;
    visibility: hidden !important;
}

/* MLT-CSHTML-008: remove CSHTML-only black logo bar and use the same shell header rules/classes as the Blazor baseline. */
#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;
    box-shadow: 0 2px 18px rgba(0,0,0,.30) !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    padding: 0 12px !important;
    margin: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
}
#header .brand,
.app-header .brand,
#header .brand-logo,
.app-header .brand-logo {
    height: 58px !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !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 {
    display: block !important;
    height: 40px !important;
    max-height: 40px !important;
    width: auto !important;
    max-width: 260px !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;
}
.home-content-host { height: calc(100vh - 58px) !important; min-height: 0 !important; overflow: hidden !important; padding: 16px !important; }
.orders-content-host { height: 100vh !important; min-height: 0 !important; overflow: hidden !important; }


/* MLT-CSHTML-009: align CSHTML shell/logo and iframe behavior to the Blazor runtime markup. */
.mltv-iframe-host-fullpage {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: #000 !important;
    overflow: hidden !important;
}
.mltv-iframe-host-frame,
#mltv-test-frame,
#mltvFrame {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    display: block !important;
    background: #000 !important;
}
#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;
    box-shadow: 0 2px 18px rgba(0,0,0,.30) !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: 280px !important;
    -webkit-filter: invert(1) brightness(2.2) contrast(.9) !important;
    filter: invert(1) brightness(2.2) contrast(.9) !important;
}
.home-content-host {
    height: calc(100vh - 58px) !important;
    min-height: 0 !important;
    padding: 16px !important;
    overflow: hidden !important;
}
#mltv-home-v2-root.mltv-page {
    height: calc(100vh - 58px) !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #3f3f3f !important;
}
/* Blazor starts focus on Today in iframe/home; info cards are display-only. */
.patient-info-card:not(.focusable) {
    cursor: default !important;
}

/* MLT-CSHTML-011: iframe Back/Menu parity and Blazor patient-card alignment. */
.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: nowrap !important;
    flex-wrap: nowrap !important;
    gap: 18px !important;
    width: 100% !important;
}
.index-main-layout .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-btn {
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 0 !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 72px !important;
    margin: 0 !important;
    border-radius: 12px !important;
}
.index-main-layout .home-panel-right-column .perf-meal-area-actions.right-column-actions > .perf-iframe-only-action:not(.iframe-visible) {
    display: none !important;
}
.index-main-layout .home-panel-right-column .perf-meal-area-actions.right-column-actions > .perf-iframe-only-action.iframe-visible {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}
.home-detail-card {
    min-height: 148px !important;
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important;
    gap: 18px !important;
}
.home-patient-card .home-detail-card__icon {
    width: 60px !important;
    min-width: 60px !important;
    height: 60px !important;
    margin-top: 0 !important;
    border-radius: 16px !important;
}
.home-card-svg {
    width: 40px !important;
    height: 40px !important;
}
.home-detail-card__body {
    padding-top: 2px !important;
    min-height: 86px !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
}
.patient-info-card__title,
.home-detail-card__title {
    min-height: 24px !important;
    line-height: 24px !important;
}
.patient-info-card__subtitle,
.home-detail-card__subtitle {
    min-height: 22px !important;
    line-height: 22px !important;
}
.patient-info-card__value,
.home-detail-card__value {
    margin-top: auto !important;
    line-height: 1.2 !important;
}
#header .brand-logo img,
.app-header .brand-logo img,
#header img.invert-dark,
.app-header img.invert-dark {
    -webkit-filter: none !important;
    filter: none !important;
    height: 42px !important;
    max-height: 42px !important;
    max-width: 300px !important;
}

/* MLT-CSHTML-012: Blazor parity polish for header logo, Home action focus, and info-card icon alignment. */
/* The Blazor layout uses the same uploaded SVG with invert-dark on the dark header. */
#header.app-header .brand-logo img.invert-dark,
.app-header .brand-logo img.invert-dark,
#header img.invert-dark,
.app-header img.invert-dark {
    display: block !important;
    height: 40px !important;
    max-height: 40px !important;
    width: auto !important;
    max-width: 260px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    -webkit-filter: invert(1) brightness(2.4) contrast(.95) !important;
    filter: invert(1) brightness(2.4) contrast(.95) !important;
}

/* Keep action buttons in the same visible focus family as meal-period cards. */
.index-main-layout .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-btn:focus,
.index-main-layout .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-btn.tv-focused,
.index-main-layout .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-btn.mltv-v2-focused,
.index-main-layout .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,.98) !important;
    background: linear-gradient(180deg, #2f7fff 0%, #2466ed 100%) !important;
    box-shadow:
        inset 0 0 0 3px rgba(255,255,255,.96),
        0 0 0 4px rgba(70,200,255,.55),
        0 0 22px 8px rgba(70,200,255,.38),
        0 12px 26px rgba(0,0,0,.35) !important;
    transform: scale(1.01) !important;
}

/* Buttons should have a visible card-style border even before focus, like the Blazor meal/action area. */
.index-main-layout .home-panel-right-column .perf-meal-area-actions.right-column-actions > .ml-main-action-btn {
    border: 1px solid rgba(118,205,255,.52) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 10px 22px rgba(0,0,0,.18) !important;
}

/* Blazor Home cards: icon is the height of roughly two information lines and centered beside the text block. */
#mltv-home-v2-root.mltv-v2-context-root .home-detail-card.patient-info-card,
#mltv-home-v2-root .home-detail-card.patient-info-card,
#mltv-home-v2-root .home-patient-card .home-detail-card {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    -webkit-box-pack: start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    padding: 20px 22px !important;
    min-height: 128px !important;
}

#mltv-home-v2-root .home-patient-card .home-detail-card__icon {
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #6ea6ff !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
}

#mltv-home-v2-root .home-patient-card .home-card-svg {
    width: 54px !important;
    height: 54px !important;
    stroke: currentColor !important;
    stroke-width: 1.75 !important;
}

#mltv-home-v2-root .home-patient-card .home-detail-card__body {
    min-width: 0 !important;
    min-height: 54px !important;
    padding-top: 0 !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
}

#mltv-home-v2-root .home-patient-card .home-detail-card__title,
#mltv-home-v2-root .home-patient-card .patient-info-card__title {
    min-height: 0 !important;
    line-height: 1.2 !important;
    margin: 0 0 6px 0 !important;
}

#mltv-home-v2-root .home-patient-card .home-detail-card__subtitle,
#mltv-home-v2-root .home-patient-card .patient-info-card__subtitle {
    min-height: 0 !important;
    line-height: 1.2 !important;
    margin: -2px 0 8px 0 !important;
}

#mltv-home-v2-root .home-patient-card .home-detail-card__value,
#mltv-home-v2-root .home-patient-card .patient-info-card__value {
    margin: 0 !important;
    line-height: 1.2 !important;
}

/* =========================================================
   MLT-CSHTML-013: right-panel parity/focus polish only.
   Patient information area is intentionally untouched.
   ========================================================= */
.index-main-layout .home-panel-right-column .index-right-panel,
.index-main-layout .home-panel-right-column .home-meal-panel {
    border-radius: 14px !important;
    border: 1px solid rgba(80, 128, 200, .45) !important;
    background: #17233a !important;
    overflow: visible !important;
}

.index-main-layout .home-panel-right-column [data-nav-scope="home-meals"] .meal-period-visible-card {
    border-radius: 16px !important;
    min-height: 162px !important;
}

.index-main-layout .home-panel-right-column [data-nav-scope="home-meals"] .meal-period-visible-card:before {
    border-radius: 16px !important;
}

/* Button focus must use the same visual vocabulary as focused meal cards. */
.index-main-layout .home-panel-right-column #lblToday,
.index-main-layout .home-panel-right-column #lblTomorrow,
.index-main-layout .home-panel-right-column .ml-main-action-btn {
    position: relative !important;
    overflow: visible !important;
    border-radius: 16px !important;
    border: 1px solid rgba(130,190,255,.42) !important;
    background: linear-gradient(180deg, #2f83ff 0%, #2167df 100%) !important;
    box-shadow: 0 12px 24px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

.index-main-layout .home-panel-right-column #lblToday:focus,
.index-main-layout .home-panel-right-column #lblToday.tv-focused,
.index-main-layout .home-panel-right-column #lblToday.nav-active,
.index-main-layout .home-panel-right-column #lblToday.keyboard-focus,
.index-main-layout .home-panel-right-column #lblToday.ml-tv-current-focus-source,
.index-main-layout .home-panel-right-column #lblTomorrow:focus,
.index-main-layout .home-panel-right-column #lblTomorrow.tv-focused,
.index-main-layout .home-panel-right-column #lblTomorrow.nav-active,
.index-main-layout .home-panel-right-column #lblTomorrow.keyboard-focus,
.index-main-layout .home-panel-right-column #lblTomorrow.ml-tv-current-focus-source,
.index-main-layout .home-panel-right-column .ml-main-action-btn:focus,
.index-main-layout .home-panel-right-column .ml-main-action-btn.tv-focused,
.index-main-layout .home-panel-right-column .ml-main-action-btn.nav-active,
.index-main-layout .home-panel-right-column .ml-main-action-btn.keyboard-focus,
.index-main-layout .home-panel-right-column .ml-main-action-btn.ml-tv-current-focus-source {
    outline: none !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;
    z-index: 9100 !important;
    transform: none !important;
}

.index-main-layout .home-panel-right-column #lblToday:focus:before,
.index-main-layout .home-panel-right-column #lblToday.tv-focused:before,
.index-main-layout .home-panel-right-column #lblToday.nav-active:before,
.index-main-layout .home-panel-right-column #lblToday.keyboard-focus:before,
.index-main-layout .home-panel-right-column #lblToday.ml-tv-current-focus-source:before,
.index-main-layout .home-panel-right-column #lblTomorrow:focus:before,
.index-main-layout .home-panel-right-column #lblTomorrow.tv-focused:before,
.index-main-layout .home-panel-right-column #lblTomorrow.nav-active:before,
.index-main-layout .home-panel-right-column #lblTomorrow.keyboard-focus:before,
.index-main-layout .home-panel-right-column #lblTomorrow.ml-tv-current-focus-source:before,
.index-main-layout .home-panel-right-column .ml-main-action-btn:focus:before,
.index-main-layout .home-panel-right-column .ml-main-action-btn.tv-focused:before,
.index-main-layout .home-panel-right-column .ml-main-action-btn.nav-active:before,
.index-main-layout .home-panel-right-column .ml-main-action-btn.keyboard-focus:before,
.index-main-layout .home-panel-right-column .ml-main-action-btn.ml-tv-current-focus-source: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;
}

/* Only truly ordered cards may display the selected footer.  This overrides old bridge CSS safely. */
.index-main-layout .home-panel-right-column [data-nav-scope="home-meals"] .meal-period-visible-card:not(.meal-period-card--ordered) .meal-period-selected-indicator {
    display: none !important;
    visibility: hidden !important;
}

.index-main-layout .home-panel-right-column [data-nav-scope="home-meals"] .meal-period-card--ordered .meal-period-selected-indicator {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    visibility: visible !important;
}

/* MLT-CSHTML-017: Orders CSHTML parity pass for category rail, review title, and Home placement. */
.mltv-orders-shell {
    padding: 18px 24px !important;
    gap: 14px !important;
    background: #101827 !important;
}

.mltv-orders-left-rail {
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
    padding: 14px !important;
    overflow: hidden !important;
}

.mltv-order-context-block {
    color: #fff !important;
    padding: 6px 8px 16px 8px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    margin-bottom: 14px !important;
}

.mltv-order-context-date {
    font-size: 18px !important;
    font-weight: 700 !important;
    opacity: .95 !important;
    white-space: nowrap !important;
}

.mltv-order-context-meal {
    font-size: 17px !important;
    font-weight: 700 !important;
    opacity: .82 !important;
    margin-top: 5px !important;
    white-space: nowrap !important;
}

.mltv-category-list {
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 2px 4px 2px !important;
}

.mltv-category-list::-webkit-scrollbar { width: 0 !important; }

.mltv-orders-left-rail .orders-category-link,
.mltv-category-button.orders-category-link {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 116px !important;
    height: 116px !important;
    margin: 0 0 12px 0 !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(120,160,220,.34) !important;
    border-radius: 16px !important;
    background: #24385d !important;
    color: #fff !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    gap: 7px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.mltv-orders-left-rail .orders-category-link.active,
.mltv-orders-left-rail .orders-category-link.tv-focused,
.mltv-orders-left-rail .orders-category-link:focus {
    background: #3868a7 !important;
}

.orders-category-link__icon-wrap {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    color: rgba(255,255,255,.92) !important;
}

.orders-category-link__img,
.orders-category-link__fallback svg {
    width: 50px !important;
    height: 50px !important;
    max-width: 50px !important;
    max-height: 50px !important;
    object-fit: contain !important;
    display: block;
}

.orders-category-link__fallback svg {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 4 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.orders-category-link__text {
    display: block !important;
    width: 100% !important;
    height: 2.35em !important;
    max-height: 2.35em !important;
    overflow: hidden !important;
    line-height: 1.18 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    white-space: normal !important;
    text-align: center !important;
}

.mltv-content-panel {
    padding: 14px !important;
}

.mltv-review-panel {
    width: 320px !important;
    min-width: 320px !important;
    max-width: 320px !important;
}

.mltv-review-title-line {
    font-size: 21px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    color: #fff !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-bottom: 4px !important;
}

.mltv-review-subtitle-line {
    font-size: 16px !important;
    color: rgba(255,255,255,.78) !important;
    margin-bottom: 12px !important;
    white-space: nowrap !important;
}

.mltv-review-home-button {
    width: 100% !important;
    min-width: 0 !important;
    margin-top: 10px !important;
    text-align: center !important;
    font-weight: 800 !important;
    background: #3868a7 !important;
}

.mltv-order-status-footer {
    text-align: center !important;
}


/* MLT-CSHTML-018: Orders screen cleanup after 017 baseline.
   Keep left patient/index area untouched; refine only Orders screen layout. */
.mltv-menu-items-title {
    margin-bottom: 14px !important;
    font-size: 29px !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.mltv-order-context-singleline {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding: 8px 8px 15px 8px !important;
}

.mltv-order-context-singleline .mltv-order-context-date,
.mltv-order-context-singleline .mltv-order-context-meal,
.mltv-order-context-separator {
    display: inline !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    opacity: .95 !important;
}

.mltv-order-context-separator {
    opacity: .72 !important;
}

.mltv-review-panel .mltv-review-title-line {
    margin-bottom: 14px !important;
}

.mltv-review-panel .mltv-review-subtitle-line {
    display: none !important;
}

.mltv-content-panel .mltv-items-grid,
#ordersItemsGrid {
    grid-template-columns: repeat(3, minmax(230px, 1fr)) !important;
    gap: 18px !important;
    align-items: start !important;
}

.mltv-content-panel .mltv-item-card {
    min-height: 250px !important;
    border-radius: 18px !important;
}

.mltv-content-panel .mltv-item-image {
    height: 168px !important;
    background-size: cover !important;
    background-position: center center !important;
}

.mltv-content-panel .mltv-item-name {
    min-height: 72px !important;
    padding: 16px 18px !important;
    font-size: 21px !important;
    line-height: 1.16 !important;
}


/* MLT-CSHTML-019: Orders title consistency and category-keyboard activation parity.
   Keep patient/index area untouched. These rules only affect /Home/Orders. */
.mltv-orders-shell .mltv-menu-items-title,
.mltv-orders-shell .mltv-review-title-line,
.mltv-orders-shell .mltv-order-context-singleline,
.mltv-orders-shell .mltv-order-context-singleline .mltv-order-context-date,
.mltv-orders-shell .mltv-order-context-singleline .mltv-order-context-meal,
.mltv-orders-shell .mltv-order-context-singleline .mltv-order-context-separator {
    font-size: 22px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
    color: #fff !important;
}

.mltv-orders-shell .mltv-order-context-singleline {
    padding: 8px 6px 15px 6px !important;
    text-align: left !important;
}

.mltv-orders-shell .mltv-menu-items-title,
.mltv-orders-shell .mltv-review-title-line,
.mltv-orders-shell .mltv-order-context-singleline {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.mltv-orders-shell .mltv-menu-items-title {
    margin: 0 0 14px 0 !important;
}

.mltv-orders-shell .mltv-review-title-line {
    margin: 0 0 14px 0 !important;
}

.mltv-orders-shell .mltv-category-button.active,
.mltv-orders-shell .mltv-category-button.tv-focused,
.mltv-orders-shell .mltv-category-button:focus {
    background: #3868a7 !important;
}

.mltv-orders-shell .mltv-item-card[style*="display: none"],
.mltv-orders-shell .mltv-item-card[style*="display:none"] {
    pointer-events: none !important;
}


/* MLT-CSHTML-020: Orders title/context alignment cleanup.
   Keep patient information area untouched. Move order context beside Menu Items title and center Review title. */
.mltv-orders-shell .mltv-orders-content-header {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important;
    -webkit-box-pack: justify !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 0 14px 0 !important;
}

.mltv-orders-shell .mltv-menu-items-title {
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 22px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

.mltv-orders-shell .mltv-orders-context-title {
    -webkit-box-flex: 0 !important;
    -ms-flex: 0 0 auto !important;
    flex: 0 0 auto !important;
    max-width: 46% !important;
    font-size: 22px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
    color: #fff !important;
    text-align: right !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.mltv-orders-shell .mltv-orders-left-rail .mltv-category-list {
    padding-top: 0 !important;
}

.mltv-orders-shell .mltv-review-title-line {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 22px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    margin: 0 0 14px 0 !important;
}


.mltv-add-item-summary {
    margin-top: 14px;
    padding: 14px 18px;
    border-radius: 12px;
    background: rgba(31, 71, 128, 0.55);
    border: 1px solid rgba(104, 159, 235, 0.35);
    color: #ffffff;
    font-weight: 800;
    font-size: 18px;
}

.mltv-confirm-panel {
    max-width: 620px;
}

/* MLT-CSHTML-022: Orders Add Item popup parity with Blazor itemQtyPopup. */
.mltv-order-popup-overlay.is-open {
    background: rgba(0,0,0,.72) !important;
}
.mltv-order-popup-panel {
    width: 760px !important;
    min-height: 330px !important;
    max-width: 88vw !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    border-radius: 22px !important;
    background: #17233a !important;
    border: 1px solid rgba(105,159,235,.65) !important;
    box-shadow: 0 0 0 2px rgba(255,255,255,.05) inset, 0 24px 80px rgba(0,0,0,.58) !important;
}
.mltv-order-popup-image {
    width: 250px !important;
    flex: 0 0 250px !important;
    background: #0d1526 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.mltv-order-popup-image .img {
    width: 100% !important;
    height: 100% !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-color: #111827 !important;
}
.mltv-order-popup-info {
    flex: 1 1 auto !important;
    padding: 28px 30px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}
.mltv-order-popup-title {
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin-bottom: 18px !important;
}
.mltv-order-popup-qty {
    font-size: 23px !important;
    line-height: 1.25 !important;
    color: #fff !important;
    font-weight: 700 !important;
}
.mltv-order-popup-qty span:first-child {
    color: rgba(255,255,255,.78) !important;
}
.mltv-order-popup-rule {
    border: 0 !important;
    border-top: 1px solid rgba(255,255,255,.16) !important;
    width: 100% !important;
    margin: 24px 0 !important;
}
.mltv-order-popup-restricted-message {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #ffd28a !important;
    margin-bottom: 8px !important;
}
.mltv-order-popup-actions {
    margin-top: auto !important;
    display: flex !important;
    gap: 16px !important;
}
.mltv-order-popup-button {
    min-height: 66px !important;
    border-radius: 16px !important;
    font-size: 23px !important;
    font-weight: 800 !important;
}
.mltv-order-popup-button.tv-focused,
.mltv-order-popup-button:focus {
    outline: 5px solid #fff !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 0 4px rgba(68,205,255,.75) !important;
}


/* MLT-CSHTML-027: Chrome 68 submit/add popup hardening.
   Chrome 68 does not support flex gap; use explicit widths/margins and make
   tv-focused visible inside modal buttons. Also avoid native list bullets so
   UTF-8 bullet rendering cannot show as mojibake on legacy TVs. */
html body .mltv-submit-popup-actions,
html body .mltv-order-popup-actions {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    font-size: 0 !important;
    white-space: nowrap !important;
}
html body .mltv-submit-popup-actions .mltv-submit-popup-button,
html body .mltv-order-popup-actions .mltv-order-popup-button {
    display: inline-block !important;
    vertical-align: top !important;
    width: 49% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    white-space: nowrap !important;
    line-height: 72px !important;
}
html body .mltv-submit-popup-actions .mltv-submit-popup-button + .mltv-submit-popup-button,
html body .mltv-order-popup-actions .mltv-order-popup-button + .mltv-order-popup-button {
    margin-left: 2% !important;
}
html body .mltv-submit-popup-overlay .tv-focused,
html body .mltv-submit-popup-overlay button.tv-focused,
html body .mltv-submit-popup-overlay button:focus,
html body .mltv-order-popup-overlay .tv-focused,
html body .mltv-order-popup-overlay button.tv-focused,
html body .mltv-order-popup-overlay button:focus {
    outline: 5px solid #fff !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 0 4px rgba(68,205,255,.75), 0 0 28px rgba(68,205,255,.95) !important;
}
html body .mltv-submit-popup-review {
    list-style: none !important;
    padding-left: 0 !important;
    font-size: 0 !important;
}
html body .mltv-submit-popup-review-item {
    display: inline-block !important;
    width: 50% !important;
    vertical-align: top !important;
    padding: 0 20px 6px 0 !important;
    box-sizing: border-box !important;
    font-size: 22px !important;
    line-height: 1.28 !important;
    white-space: normal !important;
}
html body .mltv-submit-popup-review-item::before {
    content: none !important;
    display: none !important;
}
html body .mltv-submit-popup-bullet {
    display: inline-block !important;
    width: 18px !important;
    font-weight: 800 !important;
}
html body .mltv-submit-popup-review-item span + span {
    display: inline !important;
}

/* MLT-CSHTML-031: Chrome 68 Orders deterministic focus visibility.
   Key movement was being captured but the Orders UI did not visibly move on
   Chrome 68 because older focus-class names from the Blazor/TV code path and
   the CSHTML focus class were not applied together.  Keep patient/index area
   untouched; this only affects /Home/Orders. */
.mltv-orders-shell .focusable.tv-focused,
.mltv-orders-shell .focusable.mltv-focused,
.mltv-orders-shell .focusable.orders-tv-focused,
.mltv-orders-shell .focusable.nav-active,
.mltv-orders-shell .mltv-category-button.tv-focused,
.mltv-orders-shell .mltv-category-button.mltv-focused,
.mltv-orders-shell .mltv-category-button.orders-tv-focused,
.mltv-orders-shell .mltv-item-card.tv-focused,
.mltv-orders-shell .mltv-item-card.mltv-focused,
.mltv-orders-shell .mltv-item-card.orders-tv-focused,
.mltv-orders-shell .mltv-review-delete.tv-focused,
.mltv-orders-shell .mltv-review-delete.mltv-focused,
.mltv-orders-shell .mltv-review-delete.orders-tv-focused,
.mltv-orders-shell .mltv-footer-button.tv-focused,
.mltv-orders-shell .mltv-footer-button.mltv-focused,
.mltv-orders-shell .mltv-back.tv-focused,
.mltv-orders-shell .mltv-back.mltv-focused {
    outline: 5px solid #ffffff !important;
    outline-offset: -5px !important;
    box-shadow: 0 0 0 3px rgba(74, 204, 255, .95) inset, 0 0 0 6px rgba(255,255,255,.90) inset, 0 0 18px 6px rgba(74,204,255,.35) !important;
    z-index: 20 !important;
}

.mltv-orders-shell .mltv-category-button.tv-focused,
.mltv-orders-shell .mltv-category-button.mltv-focused,
.mltv-orders-shell .mltv-category-button.orders-tv-focused {
    background: #3b74b8 !important;
}

.mltv-orders-shell .mltv-item-card.tv-focused,
.mltv-orders-shell .mltv-item-card.mltv-focused,
.mltv-orders-shell .mltv-item-card.orders-tv-focused {
    background: #2188f6 !important;
}

.mltv-modal.is-open .focusable.tv-focused,
.mltv-modal.is-open .focusable.mltv-focused,
.mltv-modal.is-open .focusable.modal-tv-focused,
.mltv-submit-popup-overlay.is-open .focusable.tv-focused,
.mltv-submit-popup-overlay.is-open .focusable.mltv-focused,
.mltv-order-popup-overlay.is-open .focusable.tv-focused,
.mltv-order-popup-overlay.is-open .focusable.mltv-focused {
    outline: 5px solid #ffffff !important;
    outline-offset: -5px !important;
    box-shadow: 0 0 0 3px rgba(74,204,255,.95) inset, 0 0 0 6px rgba(255,255,255,.9) inset !important;
}

/* MLT-CSHTML-032: Orders right-side behavior refinements only.
   Keep patient/index area untouched.  Make the Orders focus ring look like a
   controlled TV focus indicator instead of the chunky doubled outline seen on
   Chrome 68. */
.mltv-orders-shell .focusable.tv-focused,
.mltv-orders-shell .focusable.mltv-focused,
.mltv-orders-shell .focusable.orders-tv-focused,
.mltv-orders-shell .focusable.nav-active,
.mltv-orders-shell .mltv-category-button.tv-focused,
.mltv-orders-shell .mltv-category-button.mltv-focused,
.mltv-orders-shell .mltv-category-button.orders-tv-focused,
.mltv-orders-shell .mltv-item-card.tv-focused,
.mltv-orders-shell .mltv-item-card.mltv-focused,
.mltv-orders-shell .mltv-item-card.orders-tv-focused,
.mltv-orders-shell .mltv-review-delete.tv-focused,
.mltv-orders-shell .mltv-review-delete.mltv-focused,
.mltv-orders-shell .mltv-review-delete.orders-tv-focused,
.mltv-orders-shell .mltv-footer-button.tv-focused,
.mltv-orders-shell .mltv-footer-button.mltv-focused,
.mltv-orders-shell .mltv-back.tv-focused,
.mltv-orders-shell .mltv-back.mltv-focused {
    outline: none !important;
    border-color: rgba(125, 224, 255, .95) !important;
    box-shadow: 0 0 0 2px rgba(255,255,255,.96), 0 0 0 5px rgba(95,215,255,.55), 0 0 18px rgba(95,215,255,.75) !important;
    z-index: 20 !important;
}

.mltv-orders-shell .mltv-item-card.tv-focused,
.mltv-orders-shell .mltv-item-card.mltv-focused,
.mltv-orders-shell .mltv-item-card.orders-tv-focused {
    background: #213554 !important;
}

.mltv-orders-shell .mltv-item-card.tv-focused .mltv-item-name,
.mltv-orders-shell .mltv-item-card.mltv-focused .mltv-item-name,
.mltv-orders-shell .mltv-item-card.orders-tv-focused .mltv-item-name {
    background: #2a91f8 !important;
}

.mltv-orders-shell .mltv-category-button.tv-focused,
.mltv-orders-shell .mltv-category-button.mltv-focused,
.mltv-orders-shell .mltv-category-button.orders-tv-focused {
    background: #3b74b8 !important;
}

.mltv-submit-popup-review-item {
    list-style: none !important;
}

.mltv-submit-popup-bullet:before {
    content: '\2022' !important;
}


/* MLT-CSHTML-033: Chrome 68 submit item marker + SVG category icon parity. */
html body .mltv-submit-popup-review {
    list-style: none !important;
    padding-left: 0 !important;
}
html body .mltv-submit-popup-review-item {
    display: inline-block !important;
    width: 49% !important;
    vertical-align: top !important;
    position: relative !important;
    padding-left: 28px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
}
html body .mltv-submit-popup-review-item::before {
    content: none !important;
    display: none !important;
}
html body .mltv-submit-popup-bullet,
html body .mltv-submit-popup-bullet::before,
html body .mltv-submit-popup-bullet:before {
    content: none !important;
}
html body .mltv-submit-popup-bullet {
    position: absolute !important;
    left: 0 !important;
    top: 2px !important;
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    background: none !important;
    border-radius: 0 !important;
}
html body .mltv-submit-popup-bullet svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    fill: #ffffff !important;
    opacity: .95 !important;
}
html body .mltv-submit-popup-review-item span + span {
    display: inline !important;
}

.mltv-guest-popup-close { min-width:120px; max-width:150px; width:140px; height:46px; padding:0 18px; border-radius:10px; font-size:16px; font-weight:800; }


/* MLT-CSHTML-040: guest meal card field parity and Chrome 68-safe submit refresh support */
html body .mltv-guest-popup-panel .mltv-guest-popup-close {
    flex: 0 0 260px !important;
    width: 260px !important;
    max-width: 260px !important;
    min-width: 260px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 22px !important;
    font-size: 18px !important;
    border-radius: 12px !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-card,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card {
    min-height: 190px !important;
    height: 190px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-fields,
html body .mltv-guest-popup-panel .mltv-guest-meal-fields--three {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-field {
    display: inline-block !important;
    width: 32% !important;
    min-width: 0 !important;
    padding: 0 8px 6px 0 !important;
    margin: 0 !important;
    vertical-align: top !important;
    box-sizing: border-box !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-field span,
html body .mltv-guest-popup-panel .mltv-guest-meal-field strong {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-field span {
    font-size: 14px !important;
    line-height: 1.1 !important;
    opacity: .92 !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-field strong {
    font-size: 15px !important;
    line-height: 1.1 !important;
    margin-top: 3px !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-status {
    margin-top: 2px !important;
    display: flex !important;
}

/* MLT-CSHTML-041: Guest Order popup meal card detail parity.
   Use unique v3 classes so Chrome 68/cache does not inherit older compact card rules. */
html body .mltv-guest-popup-panel .mltv-guest-meal-card-v3,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v3 {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 156px !important;
    min-height: 156px !important;
    padding: 16px 20px 14px 20px !important;
    overflow: hidden !important;
    text-align: left !important;
    box-sizing: border-box !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-v3-title {
    display: block !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    margin: 0 0 8px 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-v3-line {
    display: block !important;
    height: 5px !important;
    width: 100% !important;
    background: rgba(255,255,255,.55) !important;
    border-radius: 5px !important;
    margin: 0 0 10px 0 !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-v3-info {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-v3-row {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-v3-row span {
    display: inline-block !important;
    width: 118px !important;
    min-width: 118px !important;
    color: rgba(255,255,255,.88) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    vertical-align: top !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-v3-row strong {
    display: inline-block !important;
    max-width: 300px !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    vertical-align: top !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
html[dir="rtl"] body .mltv-guest-popup-panel .mltv-guest-meal-card-v3,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v3 { text-align: right !important; }
html[dir="rtl"] body .mltv-guest-popup-panel .mltv-guest-meal-v3-row span { width: 128px !important; min-width: 128px !important; }


/* MLT-CSHTML-042: Guest popup card visible detail fix.
   Uses v4 classes and CSS2-compatible layout so Chrome 68 cannot collapse the detail rows.
   Also overrides earlier v3/compact button rules and browser cache-sensitive button defaults. */
html body .mltv-guest-popup-panel .mltv-guest-popup-close {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 6px 14px !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
}
html body .mltv-guest-popup-panel .mltv-guest-popup-grid,
html body .mltv-guest-popup-grid {
    display: block !important;
    overflow: auto !important;
    padding: 22px 26px 26px 26px !important;
    max-height: calc(100vh - 260px) !important;
    font-size: 0 !important;
    text-align: center !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v4,
html body button.mltv-guest-meal-card-v4 {
    display: inline-block !important;
    width: 470px !important;
    min-width: 470px !important;
    max-width: 470px !important;
    height: 176px !important;
    min-height: 176px !important;
    max-height: 176px !important;
    margin: 0 16px 18px 16px !important;
    padding: 16px 22px 14px 22px !important;
    vertical-align: top !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    text-align: left !important;
    white-space: normal !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-v4-title {
    display: block !important;
    height: 25px !important;
    line-height: 25px !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    text-align: left !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-v4-rule {
    display: block !important;
    height: 5px !important;
    width: 100% !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    border-radius: 4px !important;
    background: rgba(255,255,255,.58) !important;
    overflow: hidden !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-v4-details {
    display: block !important;
    width: 100% !important;
    height: 94px !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-v4-detail {
    display: block !important;
    width: 100% !important;
    height: 29px !important;
    line-height: 29px !important;
    margin: 0 0 2px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-align: left !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-v4-detail span {
    display: inline-block !important;
    width: 122px !important;
    min-width: 122px !important;
    max-width: 122px !important;
    height: 29px !important;
    line-height: 29px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    vertical-align: top !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}
html body .mltv-guest-popup-panel .mltv-guest-meal-v4-detail strong {
    display: inline-block !important;
    width: 290px !important;
    max-width: 290px !important;
    height: 29px !important;
    line-height: 29px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    vertical-align: top !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v4,
html[dir="rtl"] body .mltv-guest-popup-panel .mltv-guest-meal-v4-title,
html[dir="rtl"] body .mltv-guest-popup-panel .mltv-guest-meal-v4-detail { text-align: right !important; }
html[dir="rtl"] body .mltv-guest-popup-panel .mltv-guest-popup-grid { text-align: center !important; }

/* MLT-CSHTML-043: Guest meal card placeholders restored.
   Use the same visible label/value structure as the Patient Meal Period cards.
   Chrome 68 safe: no grid/flex dependency for the two-column fields. */
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5,
html body button.mltv-guest-meal-card-v5 {
    display: inline-block !important;
    width: 470px !important;
    min-width: 470px !important;
    max-width: 470px !important;
    height: 178px !important;
    min-height: 178px !important;
    max-height: 178px !important;
    padding: 16px 22px 14px 22px !important;
    margin: 0 16px 18px 16px !important;
    vertical-align: top !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    text-align: left !important;
    color: #ffffff !important;
    white-space: normal !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-name {
    display: block !important;
    height: 26px !important;
    line-height: 26px !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-line {
    display: block !important;
    height: 5px !important;
    width: 100% !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    background: rgba(255,255,255,.58) !important;
    border-radius: 4px !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-fields,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-fields--two {
    display: block !important;
    height: 45px !important;
    width: 100% !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-field {
    display: inline-block !important;
    width: 49% !important;
    height: 45px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: top !important;
    overflow: hidden !important;
    text-align: left !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-field span,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-field strong {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    color: #ffffff !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-field span {
    font-size: 15px !important;
    line-height: 19px !important;
    font-weight: 900 !important;
    color: rgba(255,255,255,.88) !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-field strong {
    font-size: 16px !important;
    line-height: 21px !important;
    font-weight: 900 !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-status {
    display: block !important;
    width: 100% !important;
    height: 30px !important;
    line-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-status-dot {
    display: inline-block !important;
    width: 9px !important;
    height: 9px !important;
    margin: 0 8px 0 0 !important;
    border-radius: 9px !important;
    background: #ffcf53 !important;
    vertical-align: middle !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-status-dot--ordered {
    background: #7cff9b !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-status span,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-status strong {
    display: inline !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-name,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-field,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v5 .mltv-guest-meal-status {
    text-align: right !important;
}


/* MLT-CSHTML-044: force visible guest order placeholders on Chrome 68 and cached TV browsers.
   This intentionally removes clipping from the guest meal cards so Order User/Time/Status rows are visible. */
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6,
html body button.mltv-guest-meal-card-v6 {
    display:inline-block!important; width:470px!important; min-width:470px!important; max-width:470px!important;
    height:166px!important; min-height:166px!important; max-height:166px!important;
    padding:14px 20px 12px 20px!important; margin:0 16px 18px 16px!important;
    vertical-align:top!important; box-sizing:border-box!important; text-align:left!important;
    white-space:normal!important; overflow:visible!important; color:#fff!important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-name { display:block!important; height:25px!important; line-height:25px!important; margin:0 0 6px 0!important; overflow:hidden!important; white-space:nowrap!important; text-overflow:ellipsis!important; font-size:20px!important; font-weight:900!important; color:#fff!important; }
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-line { display:block!important; height:5px!important; width:100%!important; margin:0 0 8px 0!important; background:rgba(255,255,255,.58)!important; border-radius:4px!important; }
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-fields { display:block!important; width:100%!important; height:48px!important; margin:0 0 5px 0!important; padding:0!important; overflow:visible!important; }
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-field { display:inline-block!important; width:48%!important; height:48px!important; margin:0!important; padding:0!important; vertical-align:top!important; overflow:hidden!important; text-align:left!important; }
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-field span { display:block!important; width:100%!important; font-size:14px!important; line-height:18px!important; font-weight:900!important; color:rgba(255,255,255,.85)!important; overflow:hidden!important; white-space:nowrap!important; text-overflow:ellipsis!important; }
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-field strong { display:block!important; width:100%!important; font-size:15px!important; line-height:22px!important; font-weight:900!important; color:#fff!important; overflow:hidden!important; white-space:nowrap!important; text-overflow:ellipsis!important; }
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-status { display:block!important; width:100%!important; height:28px!important; line-height:28px!important; margin:0!important; padding:0!important; overflow:hidden!important; white-space:nowrap!important; text-overflow:ellipsis!important; font-size:14px!important; font-weight:900!important; color:#fff!important; }
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-status-dot { display:inline-block!important; width:9px!important; height:9px!important; margin:0 8px 0 0!important; border-radius:9px!important; background:#ffcf53!important; vertical-align:middle!important; }
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-status-dot--ordered { background:#7cff9b!important; }
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-status span { display:inline!important; color:rgba(255,255,255,.85)!important; font-size:14px!important; font-weight:900!important; }
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-status strong { display:inline!important; color:#fff!important; font-size:14px!important; font-weight:900!important; margin-left:8px!important; }
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-name,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-field,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v6 .mltv-guest-meal-status { text-align:right!important; }


/* MLT-CSHTML-045: Guest Order popup card layout finalization.
   No scrollbars. Popup/card size adapts to the SP row count (4/6/8 common cases).
   Order User and Order Time are rendered inside the card body, matching patient meal cards. */
html body .mltv-guest-popup-panel,
html body #guestOrderPrompt .mltv-guest-popup-panel {
    width: 1280px !important;
    max-width: 96vw !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 22px 28px 28px 28px !important;
    overflow: visible !important;
}
html body .mltv-guest-popup-panel--two-col { width: 1160px !important; }
html body .mltv-guest-popup-panel--three-col { width: 1280px !important; }
html body .mltv-guest-popup-panel--four-col { width: 1500px !important; max-width: 98vw !important; }
html body .mltv-guest-popup-panel .mltv-guest-popup-header {
    display: block !important;
    position: relative !important;
    min-height: 76px !important;
    margin: 0 0 22px 0 !important;
    padding: 0 0 18px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
    overflow: hidden !important;
}
html body .mltv-guest-popup-panel .mltv-guest-popup-heading {
    display: block !important;
    padding-right: 210px !important;
    overflow: hidden !important;
}
html body .mltv-guest-popup-panel .mltv-guest-popup-close {
    position: absolute !important;
    top: 4px !important;
    right: 26px !important;
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 8px 16px !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
    border-radius: 9px !important;
}
html body .mltv-guest-popup-panel .mltv-guest-popup-grid,
html body #guestOrderPrompt .mltv-guest-popup-grid {
    display: block !important;
    width: 100% !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0 !important;
    text-align: center !important;
    white-space: normal !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7,
html body #guestOrderPrompt button.mltv-guest-meal-card-v7 {
    display: inline-block !important;
    width: 500px !important;
    min-width: 500px !important;
    max-width: 500px !important;
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    margin: 0 18px 22px 18px !important;
    padding: 18px 22px 16px 22px !important;
    vertical-align: top !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: normal !important;
    text-align: left !important;
    color: #ffffff !important;
    background: linear-gradient(135deg,#1261e5,#2b82ff) !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 12px !important;
}
html body .mltv-guest-popup-panel--three-col button.mltv-guest-meal-card-v7,
html body #guestOrderPrompt .mltv-guest-popup-grid--three-col button.mltv-guest-meal-card-v7 {
    width: 380px !important;
    min-width: 380px !important;
    max-width: 380px !important;
    height: 154px !important;
    min-height: 154px !important;
    max-height: 154px !important;
    margin-left: 13px !important;
    margin-right: 13px !important;
}
html body .mltv-guest-popup-panel--four-col button.mltv-guest-meal-card-v7,
html body #guestOrderPrompt .mltv-guest-popup-grid--four-col button.mltv-guest-meal-card-v7 {
    width: 330px !important;
    min-width: 330px !important;
    max-width: 330px !important;
    height: 154px !important;
    min-height: 154px !important;
    max-height: 154px !important;
    margin-left: 11px !important;
    margin-right: 11px !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7 .mltv-guest-meal-name {
    display: block !important;
    height: 27px !important;
    line-height: 27px !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: left !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7 .mltv-guest-meal-line {
    display: block !important;
    width: 100% !important;
    height: 5px !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    background: rgba(255,255,255,.58) !important;
    border-radius: 5px !important;
    overflow: hidden !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7 .mltv-guest-meal-fields,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7 .mltv-guest-meal-fields--two {
    display: block !important;
    width: 100% !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7 .mltv-guest-meal-field {
    display: inline-block !important;
    width: 50% !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 12px 0 0 !important;
    box-sizing: border-box !important;
    vertical-align: top !important;
    overflow: hidden !important;
    text-align: left !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7 .mltv-guest-meal-field span,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7 .mltv-guest-meal-field strong {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7 .mltv-guest-meal-field span {
    height: 22px !important;
    line-height: 22px !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7 .mltv-guest-meal-field strong {
    height: 30px !important;
    line-height: 30px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
}
html[dir="rtl"] body .mltv-guest-popup-panel .mltv-guest-popup-heading { padding-left: 210px !important; padding-right: 0 !important; }
html[dir="rtl"] body .mltv-guest-popup-panel .mltv-guest-popup-close { left: 26px !important; right: auto !important; }
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7 .mltv-guest-meal-name,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v7 .mltv-guest-meal-field { text-align: right !important; }

/* MLT-CSHTML-046: Guest Order popup Cancel button size correction.
   Keep guest meal card layout/details from 045; only make Cancel compact and contained.
   Chrome 68-safe CSS: no flex-only dependency, no modern selectors. */
html body #guestOrderPrompt .mltv-guest-popup-panel .mltv-guest-popup-close,
html body .mltv-guest-popup-panel .mltv-guest-popup-close,
html body #guestOrderPrompt button.mltv-guest-popup-close,
html body button.mltv-guest-popup-close.btn,
html body button.mltv-guest-popup-close.btn-theme {
    position: absolute !important;
    top: 6px !important;
    right: 28px !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 6px 12px !important;
    font-size: 15px !important;
    line-height: 20px !important;
    border-radius: 8px !important;
    display: block !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

html body #guestOrderPrompt .mltv-guest-popup-panel .mltv-guest-popup-heading {
    padding-right: 190px !important;
}

html[dir="rtl"] body #guestOrderPrompt .mltv-guest-popup-panel .mltv-guest-popup-close,
html[dir="rtl"] body .mltv-guest-popup-panel .mltv-guest-popup-close {
    left: 28px !important;
    right: auto !important;
}

html[dir="rtl"] body #guestOrderPrompt .mltv-guest-popup-panel .mltv-guest-popup-heading {
    padding-left: 190px !important;
    padding-right: 0 !important;
}

/* MLT-CSHTML-047: Add Item modal TV remote hardening. */
.mltv-order-popup-button.is-busy,
.mltv-order-popup-button:disabled {
    opacity: 0.65;
}

/* MLT-CSHTML-055: Guest meal HasOrder parity and Chrome 68-safe layout.
   Keep the 045 card sizing but apply it to v8 cards and keep the selected
   indicator inside the card without creating scroll. */
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8,
html body #guestOrderPrompt button.mltv-guest-meal-card-v8 {
    display: inline-block !important;
    position: relative !important;
    width: 500px !important;
    min-width: 500px !important;
    max-width: 500px !important;
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    margin: 0 18px 22px 18px !important;
    padding: 18px 22px 16px 22px !important;
    vertical-align: top !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: normal !important;
    text-align: left !important;
    color: #ffffff !important;
    background: linear-gradient(135deg,#1261e5,#2b82ff) !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 12px !important;
}
html body .mltv-guest-popup-panel--three-col button.mltv-guest-meal-card-v8,
html body #guestOrderPrompt .mltv-guest-popup-grid--three-col button.mltv-guest-meal-card-v8 {
    width: 380px !important;
    min-width: 380px !important;
    max-width: 380px !important;
    height: 154px !important;
    min-height: 154px !important;
    max-height: 154px !important;
    margin-left: 13px !important;
    margin-right: 13px !important;
}
html body .mltv-guest-popup-panel--four-col button.mltv-guest-meal-card-v8,
html body #guestOrderPrompt .mltv-guest-popup-grid--four-col button.mltv-guest-meal-card-v8 {
    width: 330px !important;
    min-width: 330px !important;
    max-width: 330px !important;
    height: 154px !important;
    min-height: 154px !important;
    max-height: 154px !important;
    margin-left: 11px !important;
    margin-right: 11px !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-meal-name {
    display: block !important;
    height: 27px !important;
    line-height: 27px !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: left !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-meal-line {
    display: block !important;
    width: 100% !important;
    height: 5px !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    background: rgba(255,255,255,.58) !important;
    border-radius: 5px !important;
    overflow: hidden !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-meal-fields,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-meal-fields--two {
    display: block !important;
    width: 100% !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-meal-field {
    display: inline-block !important;
    width: 50% !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 12px 0 0 !important;
    box-sizing: border-box !important;
    vertical-align: top !important;
    overflow: hidden !important;
    text-align: left !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-meal-field span,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-meal-field strong {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-meal-field span {
    height: 22px !important;
    line-height: 22px !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-meal-field strong {
    height: 30px !important;
    line-height: 30px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
}
html body #guestOrderPrompt button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator {
    position: absolute !important;
    top: 8px !important;
    right: 10px !important;
    height: 22px !important;
    line-height: 22px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
    border-radius: 11px !important;
    z-index: 2 !important;
}
html body #guestOrderPrompt button.mltv-guest-meal-card-v8.meal-period-card--ordered .mltv-guest-meal-name {
    padding-right: 118px !important;
}
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-meal-name,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-meal-field { text-align: right !important; }
html[dir="rtl"] body #guestOrderPrompt button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator { left: 10px !important; right: auto !important; }
html[dir="rtl"] body #guestOrderPrompt button.mltv-guest-meal-card-v8.meal-period-card--ordered .mltv-guest-meal-name { padding-left: 118px !important; padding-right: 0 !important; }


/* MLT-CSHTML-056: Guest selected indicator only when real HasOrder exists; keep it in normal card flow, below Order User/Order Time, so it never overlaps the Meal Period title. */
html body #guestOrderPrompt button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator {
    position: static !important;
    display: block !important;
    width: auto !important;
    max-width: 210px !important;
    height: 18px !important;
    line-height: 18px !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    border-radius: 0 !important;
    z-index: auto !important;
    background: transparent !important;
    color: #ffffff !important;
    text-align: left !important;
}
html body #guestOrderPrompt button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator .meal-period-selected-indicator__dot {
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    margin: 0 6px 0 0 !important;
    vertical-align: middle !important;
}
html body #guestOrderPrompt button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator .meal-period-selected-indicator__text {
    display: inline-block !important;
    vertical-align: middle !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
html body #guestOrderPrompt button.mltv-guest-meal-card-v8.meal-period-card--ordered .mltv-guest-meal-name {
    padding-right: 0 !important;
}
html[dir="rtl"] body #guestOrderPrompt button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator {
    text-align: right !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
html[dir="rtl"] body #guestOrderPrompt button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator .meal-period-selected-indicator__dot {
    margin-left: 6px !important;
    margin-right: 0 !important;
}
html[dir="rtl"] body #guestOrderPrompt button.mltv-guest-meal-card-v8.meal-period-card--ordered .mltv-guest-meal-name {
    padding-left: 0 !important;
}

/* MLT-CSHTML-058: align Guest Meals Selected footer like patient meal cards; scoped only to Guest Order popup. */
html body #guestOrderPrompt button.mltv-guest-meal-card-v8,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 {
    position: relative !important;
    padding-bottom: 38px !important;
    overflow: hidden !important;
}
html body #guestOrderPrompt button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator {
    position: absolute !important;
    left: 22px !important;
    right: auto !important;
    top: auto !important;
    bottom: 10px !important;
    display: block !important;
    width: auto !important;
    max-width: 240px !important;
    height: 20px !important;
    line-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    z-index: 3 !important;
}
html body #guestOrderPrompt button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator .meal-period-selected-indicator__dot,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator .meal-period-selected-indicator__dot {
    display: inline-block !important;
    width: 9px !important;
    height: 9px !important;
    min-width: 9px !important;
    margin: 0 7px 0 0 !important;
    padding: 0 !important;
    border-radius: 9px !important;
    background: #7cff9b !important;
    vertical-align: middle !important;
    box-shadow: 0 0 8px rgba(124,255,155,.85) !important;
}
html body #guestOrderPrompt button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator .meal-period-selected-indicator__text,
html body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator .meal-period-selected-indicator__text {
    display: inline-block !important;
    vertical-align: middle !important;
    max-width: 210px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
html[dir="rtl"] body #guestOrderPrompt button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator {
    left: auto !important;
    right: 22px !important;
    text-align: right !important;
}
html[dir="rtl"] body #guestOrderPrompt button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator .meal-period-selected-indicator__dot,
html[dir="rtl"] body .mltv-guest-popup-panel button.mltv-guest-meal-card-v8 .mltv-guest-selected-indicator .meal-period-selected-indicator__dot {
    margin: 0 0 0 7px !important;
}


/* MLT-DEMO-011: keep all meal periods visible from the top of the panel. */
html body .index-main-layout .home-panel-right-column .home-meal-panel {
    min-height: 0 !important;
}
html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid {
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    align-content: flex-start !important;
    -ms-flex-line-pack: start !important;
    justify-content: flex-start !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-top: 2px !important;
    padding-right: 5px !important;
    margin-bottom: 0 !important;
}
html[dir="rtl"] body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid {
    padding-right: 0 !important;
    padding-left: 5px !important;
}
html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid > div {
    align-self: flex-start !important;
}
html body .app-header .smarthealth-brand-logo {
    display: block !important;
    width: auto !important;
    height: 40px !important;
    max-height: 40px !important;
    filter: none !important;
}

/* MLT-DEMO-012: non-overlapping meal-period flow.
   Keep the action row outside the scrolling meal list and reserve the full
   card height in every flex row, including legacy TV browsers. */
html body .index-main-layout .home-panel-right-column .home-meal-panel {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
    min-height: 0 !important;
}

html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important;
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    margin: 10px 0 0 0 !important;
    padding: 2px 6px 8px 0 !important;
    box-sizing: border-box !important;
}

html[dir="rtl"] body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid {
    padding: 2px 0 8px 6px !important;
}

html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid > .col-sm-6 {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    -webkit-transform: none !important;
    transform: none !important;
    -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;
    height: 178px !important;
    min-height: 178px !important;
    max-height: 178px !important;
    margin: 0 4% 18px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    -webkit-box-align: stretch !important;
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
}

html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid > .col-sm-6:nth-of-type(2n) {
    margin-right: 0 !important;
}

html[dir="rtl"] body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid > .col-sm-6 {
    margin: 0 0 18px 4% !important;
}

html[dir="rtl"] body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid > .col-sm-6:nth-of-type(2n) {
    margin-left: 0 !important;
}

html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid .meal-period-nav-button {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 178px !important;
    min-height: 178px !important;
    max-height: 178px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid .meal-period-visible-card {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    -webkit-transform: none !important;
    transform: none !important;
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 162px !important;
    min-height: 162px !important;
    max-height: 162px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid .meal-period-visible-card > .card-body {
    height: 162px !important;
    min-height: 162px !important;
    max-height: 162px !important;
    padding: 20px 24px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* The action row participates in normal flow after all meal cards. */
html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid > .home-action-row-wrapper {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    -webkit-transform: none !important;
    transform: none !important;
    -webkit-box-flex: 0 !important;
    -ms-flex: 0 0 100% !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 64px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

@media (max-width: 900px) {
    html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid > .col-sm-6,
    html[dir="rtl"] body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid > .col-sm-6 {
        -ms-flex: 0 0 100% !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 18px 0 !important;
    }
}


/* MLT-DEMO-013: use the available vertical space before enabling scroll,
   add the supplied right-side logo, and visually disable closed meal periods. */
html body #header.app-header,
html body .app-header {
    -webkit-box-pack: justify !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
}
html body .app-header .brand-right {
    margin-left: auto !important;
}
html[dir="rtl"] body .app-header .brand-right {
    margin-left: 0 !important;
    margin-right: auto !important;
}
html body .app-header .menulogistics-header-logo {
    display: block !important;
    width: auto !important;
    height: 40px !important;
    max-height: 40px !important;
    max-width: 250px !important;
    object-fit: contain !important;
    filter: none !important;
    -webkit-filter: none !important;
}

html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid {
    margin-top: 6px !important;
    padding-bottom: 4px !important;
}
html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid > .col-sm-6 {
    height: 140px !important;
    min-height: 140px !important;
    max-height: 140px !important;
    margin-bottom: 10px !important;
}
html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid .meal-period-nav-button {
    height: 140px !important;
    min-height: 140px !important;
    max-height: 140px !important;
}
html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid .meal-period-visible-card,
html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid .meal-period-visible-card > .card-body {
    height: 134px !important;
    min-height: 134px !important;
    max-height: 134px !important;
}
html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid .meal-period-visible-card > .card-body {
    padding: 14px 20px !important;
}
html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid .meal-period-visible-card h3 {
    margin-bottom: 4px !important;
}
html body .meal-period-nav-button--disabled {
    cursor: not-allowed !important;
    pointer-events: none !important;
    opacity: .62 !important;
}
html body .meal-period-nav-button--disabled .meal-period-visible-card {
    filter: grayscale(.35) brightness(.76) !important;
    -webkit-filter: grayscale(.35) brightness(.76) !important;
}

html body .index-main-layout .home-panel-right-column [data-nav-scope="home-meals"].home-meals-grid {
    overflow-y: auto !important;
}


/* MLT-DEMO-014: one visual focus owner only.
   Legacy pseudo-rings and fixed overlay rings can be active at the same time as
   the current navigation class, producing a doubled selection indicator. */
#ml-fixed-graph-focus-overlay,
#ml-tv-focus-overlay,
#ml-order-focus-overlay,
#ml-home-focus-overlay,
#ml-modal-focus-overlay,
.ml-fixed-graph-focus-overlay,
.ml-tv-focus-overlay,
.ml-order-focus-overlay,
.ml-home-focus-overlay,
.ml-modal-focus-overlay {
    display: none !important;
}

.index-main-layout button.focusable::before,
.index-main-layout button.mltv-v2-focusable::before,
.index-main-layout .meal-period-visible-card::before,
body.mltv-modal-open .mltv-active-popup button::before,
body.mltv-modal-open .mltv-active-popup .btn::before {
    content: none !important;
    display: none !important;
}

.index-main-layout button.focusable:focus,
.index-main-layout button.focusable.nav-active,
.index-main-layout button.focusable.keyboard-focus,
.index-main-layout button.focusable.ml-tv-current-focus-source,
.index-main-layout button.mltv-v2-focusable:focus,
.index-main-layout button.mltv-v2-focusable.nav-active,
.index-main-layout button.mltv-v2-focusable.keyboard-focus,
.index-main-layout button.mltv-v2-focusable.ml-tv-current-focus-source,
body.mltv-modal-open .mltv-active-popup button:focus,
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 {
    outline: none !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 0 0 4px rgba(85, 215, 255, .88), 0 0 18px rgba(85, 215, 255, .72) !important;
}

/* MLT-DEMO-015: exactly one navigation focus ring.
   Remove legacy pseudo/overlay indicators and avoid combining a white border
   with a cyan outer shadow, which appeared as a doubled ring on the right edge. */
#mltv-focus-ring,
#mltv-popup-focus-ring,
.mltv-popup-focus-ring,
.ml-tv-focus-ring,
.tv-focus-ring,
[data-tv-focus-ring] {
    display: none !important;
    visibility: hidden !important;
}

.index-main-layout .focusable::before,
.index-main-layout .focusable::after,
.index-main-layout .mltv-v2-focusable::before,
.index-main-layout .mltv-v2-focusable::after,
.mltv-modal .focusable::before,
.mltv-modal .focusable::after,
.mltv-active-popup .focusable::before,
.mltv-active-popup .focusable::after {
    content: none !important;
    display: none !important;
}

.index-main-layout .focusable:focus,
.index-main-layout .focusable:focus-visible,
.index-main-layout .focusable.nav-active,
.index-main-layout .focusable.keyboard-focus,
.index-main-layout .focusable.ml-tv-current-focus-source,
.index-main-layout .mltv-v2-focusable:focus,
.index-main-layout .mltv-v2-focusable:focus-visible,
.index-main-layout .mltv-v2-focusable.nav-active,
.index-main-layout .mltv-v2-focusable.keyboard-focus,
.index-main-layout .mltv-v2-focusable.ml-tv-current-focus-source,
.mltv-modal .focusable:focus,
.mltv-modal .focusable:focus-visible,
.mltv-modal .focusable.nav-active,
.mltv-modal .focusable.keyboard-focus,
.mltv-modal .focusable.ml-tv-current-focus-source {
    outline: 0 !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 4px #55d7ff, 0 0 16px rgba(85, 215, 255, .72) !important;
}

/* =========================================================
   MLT-DEMO-017: restore persistent meal-period card surfaces.
   MLT-DEMO-014 intentionally removed legacy ::before focus rings, but the
   historical card surface also used ::before. Keep the focus-ring cleanup
   and render the actual card surface directly on the card instead.
   ========================================================= */
html body .index-main-layout .home-panel-right-column
[data-nav-scope="home-meals"].home-meals-grid .meal-period-visible-card {
    background: linear-gradient(180deg, #2469e8 0%, #1f55c7 100%) !important;
    border: 1px solid rgba(130, 190, 255, .42) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .28) !important;
    color: #ffffff !important;
}

html body .index-main-layout .home-panel-right-column
[data-nav-scope="home-meals"].home-meals-grid .meal-period-visible-card > .card-body {
    background: transparent !important;
    border-radius: inherit !important;
}

html body .index-main-layout .home-panel-right-column
[data-nav-scope="home-meals"].home-meals-grid
.meal-period-nav-button--disabled .meal-period-visible-card {
    background: linear-gradient(180deg, #294a7f 0%, #223b67 100%) !important;
    border-color: rgba(126, 157, 199, .28) !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .22) !important;
}

html body .index-main-layout .home-panel-right-column
[data-nav-scope="home-meals"].home-meals-grid
.meal-period-nav-button.nav-active > .meal-period-visible-card,
html body .index-main-layout .home-panel-right-column
[data-nav-scope="home-meals"].home-meals-grid
.meal-period-nav-button.keyboard-focus > .meal-period-visible-card,
html body .index-main-layout .home-panel-right-column
[data-nav-scope="home-meals"].home-meals-grid
.meal-period-nav-button.ml-tv-current-focus-source > .meal-period-visible-card,
html body .index-main-layout .home-panel-right-column
[data-nav-scope="home-meals"].home-meals-grid
.meal-period-nav-button.meal-period-button-focused > .meal-period-visible-card,
html body .index-main-layout .home-panel-right-column
[data-nav-scope="home-meals"].home-meals-grid
.meal-period-visible-card.meal-period-card-focused {
    background: linear-gradient(180deg, #2ea2ff 0%, #2379ee 100%) !important;
}

/* =========================================================
   MLT-DEMO-025: Chrome 68-safe final home alignment/focus contract
   - action buttons use the same direct grid cells as meal cards
   - one pseudo-element owns the TV focus ring
   ========================================================= */
@media (min-width: 992px) {
    html body .index-main-layout.home-dashboard-shell .home-panel-right-column .home-meals-grid[data-nav-scope="home-meals"] > .home-action-cell {
        width: 100% !important;
        min-width: 0 !important;
        max-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;
        overflow: visible !important;
    }

    html body .index-main-layout.home-dashboard-shell .home-panel-right-column .home-action-cell > .ml-main-action-btn {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important;
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
    }
}

/* Chrome 68 does not support :focus-visible.  All legacy focus classes stay
   available for key routing, but they are visually silent. */
html body .focusable,
html body .mltv-v2-focusable,
html body [data-nav-id],
html body [data-tv-id] {
    position: relative;
}

html body .tv-selected,
html body .nav-active,
html body .keyboard-focus,
html body .remote-focus,
html body .focused,
html body .spatial-focus,
html body .is-focused,
html body .orders-tv-focused,
html body .modal-tv-focused,
html body .mltv-focused,
html body .mltv-current,
html body .mltv-home-focused,
html body .ml-tv-current-focus-source,
html body button:focus,
html body a:focus,
html body [role="button"]:focus,
html body [data-nav-id]:focus {
    outline: 0 !important;
    box-shadow: none !important;
}

html body .focusable:before,
html body .mltv-v2-focusable:before,
html body [data-nav-id]:before,
html body [data-tv-id]:before {
    content: "";
    display: none;
    position: absolute;
    left: -4px;
    right: -4px;
    top: -4px;
    bottom: -4px;
    border: 4px solid #78eaff;
    border-radius: 14px;
    box-shadow: 0 0 20px rgba(120, 234, 255, .82);
    pointer-events: none;
    z-index: 50;
    box-sizing: border-box;
}

html body .mltv-current:not([disabled]):before,
html body .mltv-home-focused:not([disabled]):before,
html body .ml-tv-current-focus-source:not([disabled]):before {
    display: block !important;
}

/* The visible card inside a focused wrapper must never create a second frame. */
html body .mltv-current > .card,
html body .mltv-home-focused > .card,
html body .ml-tv-current-focus-source > .card,
html body .mltv-current > .meal-period-visible-card,
html body .mltv-home-focused > .meal-period-visible-card,
html body .ml-tv-current-focus-source > .meal-period-visible-card {
    outline: 0 !important;
    box-shadow: none !important;
    border-color: transparent !important;
    transform: none !important;
}

html body [disabled]:before,
html body [aria-disabled="true"]:before,
html body .meal-period-nav-button--disabled:before {
    display: none !important;
}

/* MLT-DEMO-025 hard stop for legacy secondary frames. */
html body .tv-selected,
html body .nav-active,
html body .keyboard-focus,
html body .remote-focus,
html body .focused,
html body .spatial-focus,
html body .is-focused,
html body .orders-tv-focused,
html body .modal-tv-focused,
html body .mltv-focused,
html body .mltv-current,
html body .mltv-home-focused,
html body .ml-tv-current-focus-source {
    border-color: transparent !important;
    transform: none !important;
}

html body .mltv-current > .card:before,
html body .mltv-current > .card:after,
html body .mltv-home-focused > .card:before,
html body .mltv-home-focused > .card:after,
html body .ml-tv-current-focus-source > .card:before,
html body .ml-tv-current-focus-source > .card:after,
html body .mltv-current > .meal-period-visible-card:before,
html body .mltv-current > .meal-period-visible-card:after,
html body .mltv-home-focused > .meal-period-visible-card:before,
html body .mltv-home-focused > .meal-period-visible-card:after,
html body .ml-tv-current-focus-source > .meal-period-visible-card:before,
html body .ml-tv-current-focus-source > .meal-period-visible-card:after {
    content: none !important;
    display: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* Full production-style order date/time needs a compact but readable value. */
html body .meal-card-detail-row h4 {
    font-size: 16px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}
