/**
 * Restaurant Management System (RMS) — module-specific styles only.
 * Loaded after custom.css so these rules override theme / global spans.
 */

 .x-button {
    box-shadow: none !important;
 }

/* ── Order panel: layout surfaces ────────────────────────────────────────── */

.rms-order-panel {
    background: #EEF2FA;
}

.rms-order-panel .rms-menu-browser {
    background: #EEF2FA;
}

.rms-order-panel .rms-order-basket {
    background: #FFFFFF;
    border-left: 1px solid #D5E0F5 !important;
}

/* ── Order panel: top toolbar ────────────────────────────────────────────── */

.rms-order-panel .rms-order-toolbar.x-toolbar {
    background: #FFFFFF !important;
    border-bottom: 1px solid #D5E0F5 !important;
    padding: 0 6px !important;
    box-shadow: none !important;
}

.rms-order-panel .rms-toolbar-nav-btn .x-inner-el {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    background-image: none !important;
    min-height: 52px !important;
}

.rms-order-panel .rms-toolbar-nav-btn .x-text-el,
.rms-order-panel .rms-toolbar-nav-btn .x-icon-el {
    color: #1b3a7a !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.rms-order-panel .rms-toolbar-nav-btn.x-button .x-icon-el {
    height: 32px !important;
    width: 32px !important;
}

.rms-order-panel .rms-toolbar-nav-btn.x-hovered .x-inner-el {
    background: #E8F0FD !important;
    border-radius: 8px !important;
}

.rms-order-panel .rms-toolbar-void-btn .x-inner-el {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    background-image: none !important;
    min-height: 52px !important;
}

.rms-order-panel .rms-toolbar-void-btn .x-text-el,
.rms-order-panel .rms-toolbar-void-btn .x-inner-el .x-icon-el {
    color: #B83030 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.rms-order-panel .rms-toolbar-void-btn.x-hovered .x-inner-el {
    background: #FADDDD !important;
    border-radius: 8px !important;
}

/* ── Order panel: order header bar ───────────────────────────────────────── */

.rms-order-panel .rms-order-header-bar {
    background: #EEF2FA;
    padding: 10px 16px;
    border-bottom: 1px solid #D5E0F5;
    flex-shrink: 0;
}

/* ── Order panel: vertical category navigation panel ─────────────────────── */

/* The panel itself — sits between the menu browser and the right basket */
.rms-order-panel .rms-category-nav-panel {
    background: #FFFFFF;
    border-right: 1px solid #D5E0F5 !important;
    display: flex;
    flex-direction: column;
}

/* "Menu" section header above the list */
.rms-order-panel .rms-category-nav-panel .rms-category-nav-header {
    flex-shrink: 0;
    padding: 14px 0 10px;
    text-align: center;
    border-bottom: 1px solid #EEF2FA;
}

.rms-order-panel .rms-category-nav-panel .rms-category-nav-header-text {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: #607297;
}

/* Scrollable strip — vertical, no scrollbar chrome */
.rms-order-panel .rms-category-strip {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 6px 0px 6px 8px;
    box-sizing: border-box;
    background: #fff ;
}

.rms-order-panel .rms-category-strip::-webkit-scrollbar {
    display: none;
}

/* Vbox layout inside the strip */
.rms-order-panel .rms-category-strip .x-container-body-el,
.rms-order-panel .rms-category-strip .x-layout-vbox {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px;
}

/* Each category row */
.rms-order-panel .rms-category-strip .rms-category-btn {
    flex-shrink: 0;
}

/* Inactive state — full-width tall touch target */
.rms-order-panel .rms-category-strip .rms-category-btn .x-inner-el {
    padding: 0 10px !important;
    height: 60px !important;
    border-radius: 6px !important;
    background-color: #fff !important;
    border: 1.5px solid #D5E0F5 !important;
    background-image: none !important;
    box-shadow: none !important;
    justify-content: flex-start !important;
}

.rms-order-panel .rms-category-strip .rms-category-btn .x-text-el,
.rms-order-panel .rms-category-strip .rms-category-btn .x-text-el * {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #607297 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: break-word !important;
    letter-spacing: 0.01em;
    text-align: center !important;
}

/* Hover state */
.rms-order-panel .rms-category-strip .rms-category-btn.x-hovered .x-inner-el {
    background-color: #EEF4FF !important;
    border-color: #C8D9F5 !important;
}

.rms-order-panel .rms-category-strip .rms-category-btn.x-hovered .x-text-el,
.rms-order-panel .rms-category-strip .rms-category-btn.x-hovered .x-text-el * {
    color: #2B5FC4 !important;
}

/* Active state — solid blue fill with left accent stripe */
.rms-order-panel .rms-category-strip .rms-category-btn.rms-category-btn--active .x-inner-el,
.rms-order-panel .rms-category-strip .rms-category-btn.rms-category-btn--active.x-button-pressed .x-inner-el,
.rms-order-panel .rms-category-strip .rms-category-btn.rms-category-btn--active.x-button-pressing .x-inner-el,
.rms-order-panel .rms-category-strip .rms-category-btn.rms-category-btn--active.x-button-focused .x-inner-el,
.rms-order-panel .rms-category-strip .rms-category-btn[data-rms-active="1"] .x-inner-el,
.x-keyboard-mode .rms-order-panel .rms-category-strip .rms-category-btn.rms-category-btn--active.x-focused .x-inner-el,
.x-keyboard-mode .rms-order-panel .rms-category-strip .rms-category-btn[data-rms-active="1"].x-focused .x-inner-el {
    background-color: #2B5FC4 !important;
    border-color: #2B5FC4 !important;
    background-image: none !important;
    box-shadow: 0 2px 10px rgba(43, 95, 196, 0.22) !important;
    border-left: 3px solid #7FABF2 !important;
}

.rms-order-panel .rms-category-strip .rms-category-btn.rms-category-btn--active .x-text-el,
.rms-order-panel .rms-category-strip .rms-category-btn.rms-category-btn--active .x-text-el *,
.rms-order-panel .rms-category-strip .rms-category-btn[data-rms-active="1"] .x-text-el,
.rms-order-panel .rms-category-strip .rms-category-btn[data-rms-active="1"] .x-text-el *,
.rms-order-panel .rms-category-strip .rms-category-btn.rms-category-btn--active .x-icon-el,
.rms-order-panel .rms-category-strip .rms-category-btn[data-rms-active="1"] .x-icon-el,
.x-keyboard-mode .rms-order-panel .rms-category-strip .rms-category-btn.rms-category-btn--active.x-focused .x-text-el,
.x-keyboard-mode .rms-order-panel .rms-category-strip .rms-category-btn.rms-category-btn--active.x-focused .x-text-el * {
    color: #ffffff !important;
}

/* ── Order panel: vertical category scroll arrows ────────────────────────── */

/* Centred ghost circle, full panel width as touch target */
.rms-order-panel .rms-category-scroll-btn--v {
    flex-shrink: 0;
    align-self: center;
}

.rms-order-panel .rms-category-scroll-btn--v .x-inner-el {
    width: 48px !important;
    height: 48px !important;
    border-radius: 17px !important;
    background-color: #fff !important;
    border: 1.5px solid #D5E0F5 !important;
    background-image: none !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rms-order-panel .rms-category-scroll-btn--v .x-icon-el {
    font-size: 12px !important;
    color: #2B5FC4 !important;
}

.rms-order-panel .rms-category-scroll-btn--v.x-hovered .x-inner-el {
    background-color: #E8F0FD !important;
    border-color: #B8CFEE !important;
}

.rms-order-panel .rms-category-scroll-btn--v.x-hovered .x-icon-el {
    color: #2B5FC4 !important;
}

.rms-order-panel .rms-category-scroll-btn--v.x-button-pressed .x-inner-el,
.rms-order-panel .rms-category-scroll-btn--v.x-button-pressing .x-inner-el {
    background-color: #2B5FC4 !important;
    border-color: #2B5FC4 !important;
    box-shadow: 0 2px 6px rgba(43, 95, 196, 0.25) !important;
}

.rms-order-panel .rms-category-scroll-btn--v.x-button-pressed .x-icon-el,
.rms-order-panel .rms-category-scroll-btn--v.x-button-pressing .x-icon-el {
    color: #ffffff !important;
}

/* ── Order panel: menu empty state ───────────────────────────────────────── */

.rms-menu-empty-state {
    padding: 32px 16px;
    color: #6B7FA8;
    text-align: center;
    font-size: 13px;
}

/* ── Order panel: FIRE / BILL action buttons (lower right basket) ────────── */

.rms-order-panel .rms-action-buttons {
    padding: 12px;
    background: #FFFFFF;
}

.rms-order-panel .rms-fire-btn .x-inner-el,
.rms-order-panel .rms-fire-btn.x-button-pressed .x-inner-el,
.rms-order-panel .rms-fire-btn.x-button-pressing .x-inner-el,
.rms-order-panel .rms-fire-btn.x-button-focused .x-inner-el,
.x-keyboard-mode .rms-order-panel .rms-fire-btn.x-focused .x-inner-el {
    background-color: #e8943a !important;
    border: none !important;
    border-radius: 12px !important;
    background-image: none !important;
    box-shadow: 0 4px 12px rgba(180, 83, 9, 0.22) !important;
}

.rms-order-panel .rms-fire-btn .x-text-el,
.rms-order-panel .rms-fire-btn .x-text-el *,
.rms-order-panel .rms-fire-btn .x-icon-el,
.rms-order-panel .rms-fire-btn.x-button-pressed .x-text-el,
.rms-order-panel .rms-fire-btn.x-button-pressed .x-text-el *,
.x-keyboard-mode .rms-order-panel .rms-fire-btn.x-focused .x-text-el,
.x-keyboard-mode .rms-order-panel .rms-fire-btn.x-focused .x-text-el * {
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    letter-spacing: 0.02em;
}

.rms-order-panel .rms-bill-btn .x-inner-el,
.rms-order-panel .rms-bill-btn.x-button-pressed .x-inner-el,
.rms-order-panel .rms-bill-btn.x-button-pressing .x-inner-el,
.rms-order-panel .rms-bill-btn.x-button-focused .x-inner-el,
.x-keyboard-mode .rms-order-panel .rms-bill-btn.x-focused .x-inner-el {
    background-color: #1b3a7a !important;
    border: none !important;
    border-radius: 12px !important;
    background-image: none !important;
    box-shadow: 0 4px 12px rgba(11, 27, 51, 0.20) !important;
}

.rms-order-panel .rms-bill-btn .x-text-el,
.rms-order-panel .rms-bill-btn .x-text-el *,
.rms-order-panel .rms-bill-btn .x-icon-el,
.rms-order-panel .rms-bill-btn.x-button-pressed .x-text-el,
.rms-order-panel .rms-bill-btn.x-button-pressed .x-text-el *,
.x-keyboard-mode .rms-order-panel .rms-bill-btn.x-focused .x-text-el,
.x-keyboard-mode .rms-order-panel .rms-bill-btn.x-focused .x-text-el * {
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    letter-spacing: 0.02em;
}

.rms-order-panel .rms-fire-btn.x-disabled .x-inner-el,
.rms-order-panel .rms-bill-btn.x-disabled .x-inner-el {
    background-color: #dde1e7 !important;
    box-shadow: none !important;
}

.rms-order-panel .rms-fire-btn.x-disabled .x-text-el,
.rms-order-panel .rms-fire-btn.x-disabled .x-text-el *,
.rms-order-panel .rms-bill-btn.x-disabled .x-text-el,
.rms-order-panel .rms-bill-btn.x-disabled .x-text-el * {
    color: #6b7280 !important;
}

/* Order panel — aligned qty column + wider price field */
.rms-order-panel .rms-order-line-qty-col {
    flex-shrink: 0 !important;
}

.rms-order-panel .rms-order-line-price-col {
    flex-shrink: 0 !important;
}

.rms-order-panel .rms-order-line-qty-readonly {
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    color: #2B5FC4;
    line-height: 44px;
    width: 100%;
}

.rms-order-panel .rms-order-line-price-display {
    font-size: 13px;
    font-weight: 600;
    color: #2B5FC4;
    font-variant-numeric: tabular-nums;
    line-height: 44px;
    text-align: right;
    width: 100%;
}

.rms-order-panel .rms-order-line-price-field {
    width: 100% !important;
    max-width: 132px !important;
}

.rms-order-panel .rms-order-line-price-field .x-input-wrap-el {
    min-height: 44px !important;
    border-radius: 6px !important;
}

.rms-order-panel .rms-order-line-price-field .x-input-el {
    font-size: 14px !important;
    font-weight: 600 !important;
    font-variant-numeric: tabular-nums !important;
    text-align: right !important;
    padding-right: 10px !important;
}

.rms-order-panel .rms-order-line-qty-btn .x-inner-el {
    background: #F5F7FC !important;
    border: 1.5px solid #D5E0F5 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.rms-order-panel .rms-order-line-qty-btn.x-hovered .x-inner-el {
    background: #E8F0FD !important;
    border-color: #B8CFEE !important;
}

.rms-order-panel .rms-order-line-qty-btn.x-button-pressed .x-inner-el,
.rms-order-panel .rms-order-line-qty-btn.x-button-pressing .x-inner-el {
    background: #2B5FC4 !important;
    border-color: #2B5FC4 !important;
}

.rms-order-panel .rms-order-line-qty-btn.x-button-pressed .x-text-el,
.rms-order-panel .rms-order-line-qty-btn.x-button-pressing .x-text-el {
    color: #ffffff !important;
}

.rms-order-panel .rms-order-line-qty-btn .x-text-el {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #2B5FC4 !important;
}

/* ── Order panel: subtotal bar ────────────────────────────────────────────── */

.rms-order-panel .rms-subtotal-bar {
    background: #F5F7FC;
    border-top: 1px solid #D5E0F5;
    padding: 12px 16px;
    flex-shrink: 0;
}

/* ── Order panel: order line rows ─────────────────────────────────────────── */

/* Keep the separator subtle — use page bg so it reads as air, not a rule */
.rms-order-panel .rms-order-line-price-field .x-input-wrap-el {
    border-radius: 8px !important;
}


.rms-bill-panel .x-toolbar .rms-menu-header-tool .x-inner-el {
    background: #fff !important;
    background-image: none !important;
    border: 2px solid #2B5FC4 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-bill-panel .x-toolbar .rms-menu-header-tool .x-text-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool .x-icon-el {
    color: #2B5FC4 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-bill-panel .x-toolbar .rms-menu-header-tool.x-hovered .x-inner-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool.x-pressing .x-inner-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool.x-pressed .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border-color: #2B5FC4 !important;
}

.rms-bill-panel .x-toolbar .rms-menu-header-tool.x-hovered .x-text-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool.x-pressing .x-text-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool.x-pressed .x-text-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool.x-hovered .x-icon-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool.x-pressing .x-icon-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool.x-pressed .x-icon-el {
    color: #ffffff !important;
}

.rms-bill-panel .x-toolbar .rms-menu-header-tool-home .x-inner-el {
    background: #E8F0FD !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-bill-panel .x-toolbar .rms-menu-header-tool-home .x-text-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool-home .x-icon-el {
    color: #2B5FC4 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-bill-panel .x-toolbar .rms-menu-header-tool-home.x-hovered .x-inner-el, 
.rms-bill-panel .x-toolbar .rms-menu-header-tool-home.x-pressing .x-inner-el, 
.rms-bill-panel .x-toolbar .rms-menu-header-tool-home.x-pressed .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border-color: #2B5FC4 !important;
}

.rms-bill-panel .x-toolbar .rms-menu-header-tool-home.x-hovered .x-text-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool-home.x-pressed .x-text-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool-home.x-pressing .x-text-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool-home.x-hovered .x-icon-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool-home.x-pressing .x-icon-el,
.rms-bill-panel .x-toolbar .rms-menu-header-tool-home.x-pressed .x-icon-el {
    color: #ffffff !important;
}

/* ── Floor plan: table status tiles ──────────────────────────────────────── */

.rms-floorplan-grid {
    padding-left: 16px;
    padding-top: 12px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
}

.rms-floorplan-grid .x-dataview{
    background-color: #f5f7fc;
}

.rms-floorplan-grid .x-dataview-item {
    margin: 0 12px 12px 0;
    flex: 0 0 auto;
}

/* ── Order panel: menu item tiles ─────────────────────────────────────────── */

.rms-menu-item-grid {
    padding: 12px 12px 12px 16px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    background: #f5f7fc;
}

.rms-menu-item-grid .x-dataview-item {
    margin: 0 18px 18px 0;
    flex: 0 0 auto;
}

.rms-menu-item-card {
    background: #fff;
    border-radius: 12px;
    /* min-height: 195.2px; */
    min-height: 152.5px;
    width: 132px;
    padding: 0;
    cursor: pointer;
    box-shadow: 0 2px 3px rgba(27,58,122,0.10), 0 1px 3px rgba(27,58,122,0.06) !important;
    border: 2px solid #fff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: border-color 120ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.rms-menu-item-card:active {
    transform: scale(0.96);
    border-color: #2B5FC4;
    box-shadow: 0 1px 4px rgba(43, 95, 196, 0.18);
}

.rms-menu-item-photo-wrap {
    width: 100%;
    aspect-ratio: 3 / 2;
    background: #eef1f5;
    flex-shrink: 0;
    overflow: hidden;
}

.rms-menu-item-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rms-menu-item-placeholder {
    width: 100%;
    aspect-ratio: 3 / 2;
    background: #fefeff;
    border-bottom: 1px solid #EEF2FA;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rms-menu-item-placeholder__letter {
    font-size: 28px;
    font-weight: 800;
    color: #2B5FC4;
    opacity: 0.45;
    line-height: 1;
}

.rms-menu-item-name {
    font-size: 12px;
    font-weight: 600;
    color: #2B5FC4;
    line-height: 1.2;
    padding: 6px 8px 2px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.rms-menu-item-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 8px 6px;
}

.rms-menu-item-price {
    font-size: 14px;
    font-weight: 700;
    color: #e8943a;
    font-variant-numeric: tabular-nums;
}

.rms-menu-item-86-badge {
    font-size: 11px;
    font-weight: 600;
    color: #c0392b;
    background: #fdecea;
    padding: 2px 5px;
    border-radius: 4px;
}

.rms-menu-item-86d {
    opacity: 0.45;
    cursor: default;
}

.rms-menu-item-86d:active {
    transform: none;
    border-color: transparent;
}

.rms-item-image-preview {
    max-width: 200px;
}

.rms-item-image-preview__img {
    max-width: 100%;
    max-height: 160px;
    border-radius: 8px;
    border: 1px solid #dde1e7;
    display: block;
    object-fit: cover;
}

.rms-table-card {
    border-radius: 10px;
    padding: 10px 12px 8px;
    min-width: 128px;
    min-height: 96px;
    cursor: pointer;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.10), 0 4px 12px rgba(0, 0, 0, 0.07);
    transition: transform 140ms ease, box-shadow 140ms ease;
    border: 1.5px solid rgba(255, 255, 255, 0.18);
    position: relative;
    overflow: hidden;
}

.rms-table-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 40%;
    background: linear-gradient(180deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0) 100%);
    pointer-events: none;
    border-radius: 10px 10px 0 0;
}

.rms-table-card:active {
    transform: scale(0.96);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* Floor plan table shapes (layout stays grid; shape from TableShape) */
.rms-shape-rect {
    min-width: 120px;
    min-height: 90px;
    width: 120px;
}

.rms-shape-round {
    width: 104px;
    min-width: 104px;
    max-width: 104px;
    height: 104px;
    min-height: 104px;
    max-height: 104px;
    border-radius: 50%;
    padding: 8px 10px;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.rms-shape-round .rms-table-number {
    font-size: 16px;
}

.rms-shape-round .rms-table-status,
.rms-shape-round .rms-table-covers,
.rms-shape-round .rms-table-server {
    font-size: 9px;
}

.rms-shape-oval {
    width: 148px;
    min-width: 148px;
    max-width: 148px;
    height: 104px;
    min-height: 104px;
    max-height: 104px;
    border-radius: 50%;
    padding: 8px 14px;
    justify-content: center;
    text-align: center;
}

.rms-shape-oval .rms-table-number {
    font-size: 16px;
}

.rms-shape-booth {
    width: 168px;
    min-width: 168px;
    max-width: 168px;
    min-height: 88px;
    border-radius: 6px;
    padding: 10px 16px;
}

.rms-table-number {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.1;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
}

.rms-table-status {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    opacity: 1;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.24);
}

.rms-table-covers {
    font-size: 11px;
    opacity: 0.92;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.rms-table-server {
    font-size: 11px;
    opacity: 0.9;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.18);
}

.rms-status-available {
    background: linear-gradient(145deg, #2B5FC4 0%, #1b3a7a 100%);
}

/* Occupied: dark navy */
.rms-status-occupied {
    background: linear-gradient(145deg, #1b3a7a 0%, #0f1f40 100%);
}

/* Reserved: indigo-blue */
.rms-status-reserved {
    background: linear-gradient(145deg, #4a5bcc 0%, #3240a8 100%);
}

/* For Clearing: brand warning amber */
.rms-status-for-clearing {
    background: linear-gradient(145deg, #e8943a 0%, #c06820 100%);
}

/* Blocked: muted grey */
.rms-status-blocked {
    background: linear-gradient(145deg, #6B7FA8 0%, #4a5570 100%);
}

/* Merged: teal-blue accent */
.rms-status-merged {
    background: linear-gradient(145deg, #3b82c4 0%, #2563a0 100%);
}

.rms-floor-plan .x-panelheader,
.rms-menu-pricing-manager .x-panelheader,
.rms-loyalty-admin .x-panelheader,
.rms-floor-plan > .x-dock > .x-panelheader {
    background-color: #ffffff !important;
    border-bottom: 1px solid #D5E0F5 !important;
    box-shadow: none !important;
}

.rms-floor-plan .x-panelheader .x-panelheader-body-el,
.rms-loyalty-admin .x-panelheader .x-panelheader-body-el,
.rms-menu-pricing-manager .x-panelheader .x-panelheader-body-el {
    border-bottom: 1px solid #D5E0F5 !important;
}

.rms-floor-plan .x-paneltitle,
.rms-loyalty-admin .x-paneltitle,
.rms-menu-pricing-manager .x-paneltitle {
    color: #1b3a7a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
}
.rms-floorplan-wrap {
    background: #fff;
    border-top: 1px solid #2B5FC4;
}

/* ── Header tool buttons — Home (light) / Dashboard (outlined blue) ──────── */

.rms-floor-plan .rms-menu-header-tool .x-inner-el {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #2B5FC4 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-floor-plan .rms-menu-header-tool .x-text-el,
.rms-floor-plan .rms-menu-header-tool .x-icon-el {
    color: #2B5FC4 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-floor-plan .rms-menu-header-tool.x-hovered .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border-color: #2B5FC4 !important;
}

.rms-floor-plan .rms-menu-header-tool.x-hovered .x-text-el,
.rms-floor-plan .rms-menu-header-tool.x-hovered .x-icon-el {
    color: #ffffff !important;
}

.rms-floor-plan .rms-menu-header-tool-home .x-inner-el {
    background: #E8F0FD !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-floor-plan .rms-menu-header-tool-home .x-text-el,
.rms-floor-plan .rms-menu-header-tool-home .x-icon-el {
    color: #2B5FC4 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-floor-plan .rms-menu-header-tool-home.x-hovered .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border-color: #2B5FC4 !important;
}

.rms-floor-plan .rms-menu-header-tool-home.x-hovered .x-text-el,
.rms-floor-plan .rms-menu-header-tool-home.x-hovered .x-icon-el {
    color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ZONE TAB SUB-NAV  (mirrors .rms-menu-subnav)
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-floor-subnav {
    background: #ffffff;
    border-bottom: 1px solid #94aee1;
    flex-shrink: 0;
}

/* Inactive zone tab */
.rms-floor-plan .rms-floor-tab:not(.x-button-confirm) .x-inner-el {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    border-bottom: none !important;
    border-radius: 8px 8px 0 0 !important;
    box-shadow: none !important;
}

.rms-floor-plan .rms-floor-tab:not(.x-button-confirm) .x-text-el,
.rms-floor-plan .rms-floor-tab:not(.x-button-confirm) .x-text-el *,
.rms-floor-plan .rms-floor-tab:not(.x-button-confirm) .x-icon-el {
    color: #1b3a7a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-floor-plan .rms-floor-tab:not(.x-button-confirm).x-hovered .x-inner-el {
    background: #E8F0FD !important;
    background-image: none !important;
    transform: translateY(-2px);
    transition: transform 0.2s ease;
    border-bottom: none !important;
}

.rms-floor-plan .rms-floor-tab:not(.x-button-confirm).x-hovered .x-text-el,
.rms-floor-plan .rms-floor-tab:not(.x-button-confirm).x-hovered .x-icon-el {
    color: #2B5FC4 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ACTION TOOLBAR  (sits below zone tabs)
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-floor-action-toolbar.x-toolbar {
    background: #F5F7FC !important;
    border-bottom: 1px solid #D5E0F5 !important;
    box-shadow: none !important;
}

/* Ghost action buttons — Tables & Zones, Takeout, Reservations */
.rms-floor-btn-ghost .x-inner-el {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-floor-btn-ghost .x-text-el,
.rms-floor-btn-ghost .x-text-el *,
.rms-floor-btn-ghost .x-icon-el {
    color: #2B5FC4 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-floor-btn-ghost.x-hovered .x-inner-el {
    background: #E8F0FD !important;
    border-color: #2B5FC4 !important;
}

.rms-floor-btn-ghost.x-hovered .x-text-el,
.rms-floor-btn-ghost.x-hovered .x-icon-el {
    color: #1b3a7a !important;
}

.rms-floor-btn-ghost.x-button-pressing .x-inner-el,
.rms-floor-btn-ghost.x-button-pressed .x-inner-el {
    background: #dce8fb !important;
}

/* Primary Refresh button */
.rms-floor-btn-primary .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border: 1px solid #1b3a7a !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-floor-btn-primary .x-text-el,
.rms-floor-btn-primary .x-text-el *,
.rms-floor-btn-primary .x-icon-el {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.rms-floor-btn-primary.x-hovered .x-inner-el {
    background: #1b3a7a !important;
    border-color: #1b3a7a !important;
}

.rms-floor-btn-primary.x-button-pressing .x-inner-el,
.rms-floor-btn-primary.x-button-pressed .x-inner-el {
    background: #152d61 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   MERGE MODE BANNER
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-floor-merge-banner {
    background: #FDF0D0;
    border-bottom: 1px solid #e8c86b;
    padding: 10px 16px;
}

.rms-floor-merge-banner-text {
    color: #7A5A0A;
    font-size: 13px;
    font-weight: 700;
}

.rms-floor-merge-cancel-btn .x-inner-el {
    background: #ffffff !important;
    border: 1px solid #c0a030 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-floor-merge-cancel-btn .x-text-el {
    color: #7A5A0A !important;
    font-weight: 700 !important;
    font-size: 12px !important;
}

.rms-floor-merge-cancel-btn.x-hovered .x-inner-el {
    background: #FDF0D0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   EMPTY STATE
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-floor-empty {
    padding: 48px 24px;
    text-align: center;
}

.rms-floor-empty-icon {
    font-size: 36px;
    color: #c0cadd;
    margin-bottom: 12px;
}

.rms-floor-empty-title {
    font-size: 15px;
    font-weight: 700;
    color: #6B7FA8;
    margin-bottom: 4px;
}

.rms-floor-empty-sub {
    font-size: 12px;
    color: #c0cadd;
    line-height: 1.5;
}

.rms-floor-plan .x-button.x-button-confirm .x-inner-el {
    background-color: #2B5FC4 !important;
    background-image: none !important;
    border: 1px solid #1b3a7a !important;
    border-radius: 8px 8px 0 0 !important;
    box-shadow: none !important;
}

/* .rms-floor-plan .x-button.x-button-confirm .x-text-el,
.rms-floor-plan .x-button.x-hovered .x-icon-el {
    color: #1b3a7a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
} */

.rms-floor-plan .x-button.x-button-confirm.x-button-pressing .x-inner-el,
.rms-floor-plan .x-button.x-button-confirm.x-hovered .x-inner-el {
    background-color: #1b3a7a !important;
    border-color: #1b3a7a !important;
}


/* ── Manage Tables & Zones (touch-friendly list + modals) ─────────────────── */
.rms-tzm-dialog .x-panel-body-wrap-el{
    border: 1px solid #D5E0F5;
    border-radius: 8px;
}

.rms-tzm-dialog .rms-tzm-header {
    background: #fff;
    border-radius: 8px;
}

.rms-tzm-dialog .rms-tzm-toolbar {
    padding: 12px 16px;
    background: #F5F7FC;
    border-bottom: 1px solid #D5E0F5;
}

.rms-tzm-dialog .rms-tzm-list-hint {
    font-size: 13px;
    color: #6B7FA8;
    line-height: 1.4;
    padding-right: 12px;
}

.rms-tzm-dialog .rms-tzm-list {
    padding: 8px 12px 16px;
    background: #ffffff;
}

.rms-tzm-dialog .rms-tzm-list-row {
    min-height: 56px;
    padding: 12px 14px;
    margin-bottom: 8px;
    background: #ffffff;
    border: 1px solid #D5E0F5;
    border-radius: 10px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.rms-tzm-dialog .rms-tzm-list-row:hovered {
    background: #E8F0FD !important;
    border-color: #2B5FC4 !important;
}

.rms-tzm-dialog .rms-tzm-list-row-title {
    font-size: 16px;
    font-weight: 700;
    color: #1E2A3A;
    line-height: 1.25;
}

.rms-tzm-dialog .rms-tzm-list-row-sub {
    font-size: 13px;
    color: #6B7FA8;
    margin-top: 4px;
    line-height: 1.3;
}

.rms-tzm-dialog .rms-tzm-list-row-chevron {
    font-size: 28px;
    font-weight: 300;
    color: #2B5FC4;
    line-height: 1;
    padding-left: 8px;
}

.rms-tzm-dialog .rms-tzm-empty {
    padding: 32px 20px;
    text-align: center;
}

.rms-tzm-dialog .rms-tzm-empty-text {
    font-size: 15px;
    color: #6B7FA8;
    line-height: 1.5;
}
.rms-tzm-form-dialog.rms-menu-meta-form-dialog {
    box-shadow: 0 2px 32px rgba(27,58,122,0.10), 0 1px 4px rgba(27,58,122,0.06) !important;
    border-radius: 8px !important;
    border: 1px solid #D5E0F5 !important;
}

/* Tabs + footer buttons (manager + form dialog) */
.rms-tzm-dialog .rms-tzm-close-btn .x-inner-el,
.rms-tzm-form-dialog .rms-tzm-close-btn .x-inner-el,
.rms-takeout-dialog .rms-takeout-close-btn .x-inner-el {
    background: transparent;
    border: none !important;
    border-radius: 12px !important;
}

.rms-tzm-dialog .rms-tzm-close-btn .x-text-el,
.rms-tzm-form-dialog .rms-tzm-close-btn .x-text-el,
.rms-takeout-dialog .rms-takeout-close-btn .x-text-el {
    color: #c0cadd !important;
    font-weight: 600 !important;
    font-size: 20px !important;
}
.rms-tzm-dialog .rms-tzm-close-btn.x-hovered .x-inner-el,
.rms-tzm-form-dialog .rms-tzm-close-btn.x-hovered .x-inner-el,
.rms-takeout-dialog .rms-takeout-close-btn.x-hovered .x-inner-el {
    background: #E8F0FD !important;
    border: none !important;
    border-radius: 12px !important;
}

.rms-tzm-dialog .rms-tzm-tab:not(.rms-tzm-tab--active) .x-inner-el {
    background: #fff !important;
    border-bottom: 1px solid #E8F0FD !important;
    padding: 4px 0;
}

.rms-tzm-dialog .rms-tzm-tab:not(.rms-tzm-tab--active).x-hovered .x-inner-el {
    background: #E8F0FD !important;
    transform: translateY(-2px);
    transition: transform 0.2s ease ;
}

.rms-tzm-dialog .rms-tzm-tab:not(.rms-tzm-tab--active).x-hovered .x-inner-el .x-text-el {
    color: #2B5FC4 !important;
    border-bottom: 2px solid #E8F0FD !important;
    /* letter-spacing: 0.02em; */
}

.rms-tzm-dialog .rms-tzm-tab:not(.rms-tzm-tab--active) .x-inner-el .x-text-el {
    color: #6B7FA8 !important;
    font-weight: 650 !important;
    font-size: 14px !important;
    /* letter-spacing: 0.02em; */
}

.rms-tzm-dialog .rms-tzm-tab--active {
    border-bottom: 2.5px solid #2B5FC4 !important;
    border-radius: 0px !important;
    padding: 4px 0;
}

.rms-tzm-dialog .x-button.rms-tzm-tab--active .x-inner-el .x-text-el {
    color: #2B5FC4 !important;
    font-weight: 650 !important;
    font-size:14px !important;
}

.rms-tzm-dialog .rms-tzm-btn .x-inner-el,
.rms-tzm-form-dialog .rms-tzm-btn .x-inner-el {
    border-radius: 8px !important;
    min-height: 40px !important;
    padding: 12px 20px !important;
    min-width: 44px !important;
}

.rms-tzm-dialog .rms-tzm-btn .x-text-el,
.rms-tzm-form-dialog .rms-tzm-btn .x-text-el {
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 0.02em;
}

.rms-tzm-dialog .rms-tzm-btn--primary .x-inner-el,
.rms-tzm-form-dialog .rms-tzm-btn--primary .x-inner-el {
    background: #2B5FC4 !important;
    border: none;
}

.rms-tzm-dialog .rms-tzm-btn--primary .x-text-el,
.rms-tzm-form-dialog .rms-tzm-btn--primary .x-text-el {
    color: #ffffff !important;
}

.rms-tzm-dialog .rms-tzm-btn--primary.x-hovered .x-inner-el,
.rms-tzm-form-dialog .rms-tzm-btn--primary.x-hovered .x-inner-el {
    background: #1b3a7a !important;
    border: 1px solid #2B5FC4 !important;
    box-shadow: 0 2px 12px rgba(27,58,122,0.10), 0 1px 4px rgba(27,58,122,0.06);
}

.rms-tzm-dialog .rms-tzm-btn--ghost .x-inner-el,
.rms-tzm-form-dialog .rms-tzm-btn--ghost .x-inner-el {
    background: #fff ;
    border: 1px solid #D5E0F5;
}

.rms-tzm-dialog .rms-tzm-btn--ghost .x-text-el,
.rms-tzm-form-dialog .rms-tzm-btn--ghost .x-text-el {
    color: #607297;
}

.rms-tzm-dialog .rms-tzm-btn--ghost.x-hovered .x-inner-el {
    background: #E8F0FD !important;
    border: 1px solid #D5E0F5 !important;
}

.rms-tzm-dialog .rms-tzm-btn--ghost.x-hovered .x-text-el,
.rms-tzm-form-dialog .rms-tzm-btn--ghost.x-hovered .x-icon-el {
    color: #1E2A3A !important;
}

.rms-tzm-dialog .rms-tzm-btn--danger .x-inner-el,
.rms-tzm-form-dialog .rms-tzm-btn--danger .x-inner-el {
    background: #B83030 !important;
    border: none !important;
}

.rms-tzm-dialog .rms-tzm-btn--danger .x-text-el,
.rms-tzm-form-dialog .rms-tzm-btn--danger .x-text-el {
    color: #ffffff !important;
}

/* Add/edit form modal */
.rms-tzm-form-dialog .rms-tzm-form-header {
    background: #fff;
    padding: 20px 12px 12px 24px !important;
    border-top-color: #fff !important;
    border-right-color: #fff !important;
    border-left-color: #fff !important;
    border-bottom: 1px solid #D5E0F5 !important; 
}

.rms-tzm-form-dialog .rms-tzm-form-title {
    font-size: 18px;
    font-weight: 700;
    color: #1b3a7a;
}
.rms-tzm-form-dialog .rms-tzm-form-title-option {
    color: #E07B2A;
    font-size: 18px;
    font-weight: 700;
}

.rms-tzm-form-header .rms-tzm-close-btn .x-icon-el{
    color: #6B7FA8 !important;
    font-weight: 550 !important;
}
.rms-tzm-form-dialog .rms-tzm-form-body {
    padding: 16px 22px 8px 18px;
}

.rms-tzm-form-dialog .rms-tzm-form-body .x-label-text-el {
    font-size: 13px !important;
    font-weight: 650 !important;
    color: #6b7fa8 !important;
}

.rms-tzm-form-dialog .rms-tzm-form-body .x-input-el {
    font-size: 16px !important;
}

.rms-tzm-form-dialog .rms-tzm-form-footer {
    padding: 12px 30px !important;
    border-top: 1px solid #EEF2FA;
    background: #fff;
}

/* Menu item dialog — two-column rows + invoice hint */
.rms-item-form-dialog .rms-item-form-row > .x-field {
    flex: 1 1 0;
    min-width: 0;
}

.rms-item-form-dialog .rms-item-form-hint,
.rms-item-form-dialog .rms-item-modifiers-label span,
.rms-item-form-dialog .rms-image-field span{
    font-size: 12px !important;
    line-height: 1.25;
    color: #6b7280;
    font-weight: 450 !important;
}

.rms-item-form-dialog .rms-item-modifiers-label {
    font-size: 14px;
    font-weight: 600;
    color: #111827;
}

.rms-item-form-dialog .rms-item-modifier-link-row {
    padding: 10px 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}

.rms-item-form-dialog .rms-item-modifier-link-row__name {
    font-size: 14px;
    font-weight: 600;
    color: #111827;
}

.rms-item-form-dialog .rms-item-modifier-link-row__meta {
    font-size: 12px;
    color: #6b7280;
    margin-top: 2px;
}

/* ── KDS: bump buttons — amber fill; inner layers transparent (no text box) ─ */

/* ── Page background ─────────────────────────────────────────────────────── */

.rms-kds-display {
    background: #EEF2FA !important;
}


/* ── Toolbar ─────────────────────────────────────────────────────────────── */

.rms-kds-display .rms-kds-toolbar.x-toolbar {
    background: #FFFFFF !important;
    border-bottom: 1px solid #D5E0F5 !important;
    min-height: 58px !important;
    padding: 0 12px !important;
    box-shadow: 0 1px 0 rgba(27, 58, 122, 0.06) !important;
}

.rms-kds-display .rms-kds-toolbar .x-toolbar-body-el,
.rms-kds-display .rms-kds-toolbar .x-body-el {
    background: transparent !important;
}

.rms-kds-title-text {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 800;
    color: #1b3a7a;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0 8px;
}

.rms-kds-title-icon {
    color: #2B5FC4;
    font-size: 15px;
}


/* ── Toolbar nav buttons (Dashboard) ────────────────────────────────────── */

.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--nav .x-inner-el,
.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--nav.x-button-pressing .x-inner-el,
.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--nav.x-button-pressed .x-inner-el,
.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--nav.x-button-focused .x-inner-el {
    background: #FFFFFF !important;
    background-image: none !important;
    border: 1px solid #2B5FC4 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    min-height: 44px;
    padding: 0 14px !important;
}

.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--nav .x-text-el,
.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--nav .x-icon-el {
    color: #2B5FC4 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--nav.x-hovered .x-inner-el {
    background: #2B5FC4 !important;
    border-color: #2B5FC4 !important;
    background-image: none !important;
}

.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--nav.x-hovered .x-text-el,
.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--nav.x-hovered .x-icon-el {
    color: #ffffff !important;
}


/* ── Toolbar Home button ─────────────────────────────────────────────────── */

.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--home .x-inner-el,
.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--home.x-button-pressing .x-inner-el,
.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--home.x-button-pressed .x-inner-el {
    background: #E8F0FD !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    min-height: 44px;
    padding: 0 14px !important;
}

.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--home .x-text-el,
.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--home .x-icon-el {
    color: #2B5FC4 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--home.x-hovered .x-inner-el {
    background: #2B5FC4 !important;
    border-color: #2B5FC4 !important;
    background-image: none !important;
}

.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--home.x-hovered .x-text-el,
.rms-kds-display .rms-kds-toolbar-btn.rms-kds-toolbar-btn--home.x-hovered .x-icon-el {
    color: #ffffff !important;
}


/* ── Toolbar ghost button (Recall Last) ──────────────────────────────────── */

/* Recall Last — amber accent */

.rms-kds-toolbar-btn--accent .x-inner-el {
    background: rgba(232,148,58,0.14) !important;
    background-image: none !important;
    border: 1px solid rgba(232,148,58,0.38) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.rms-kds-toolbar-btn--accent .x-text-el,
.rms-kds-toolbar-btn--accent .x-icon-el {
    color: #E07B2A !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.rms-kds-toolbar-btn--accent.x-hovered .x-inner-el {
    background: #e8943a !important;
    border-color: #e8943a !important;
    box-shadow: 0 2px 10px rgba(180,83,9,0.40) !important;
}

.rms-kds-toolbar-btn--accent.x-hovered .x-text-el,
.rms-kds-toolbar-btn--accent.x-hovered .x-icon-el {
    color: #FFFFFF !important;
}

.rms-kds-toolbar-btn--accent.x-button-pressing .x-inner-el {
    background: #c06820 !important;
}

/* ── Station filter chips ────────────────────────────────────────────────── */

.rms-kds-station-bar {
    gap: 6px;
    padding: 0 4px;
}

.rms-kds-display .rms-kds-chip .x-inner-el,
.rms-kds-display .rms-kds-chip.x-button-pressing .x-inner-el,
.rms-kds-display .rms-kds-chip.x-button-pressed .x-inner-el,
.rms-kds-display .rms-kds-chip.x-button-focused .x-inner-el {
    background: #F5F7FC !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    border-radius: 20px !important;
    box-shadow: none !important;
    min-height: 36px;
    padding: 0 16px !important;
}

.rms-kds-display .rms-kds-chip .x-text-el,
.rms-kds-display .rms-kds-chip .x-text-el * {
    color: #2B5FC4 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
}

/* Active chip */
.rms-kds-display .rms-kds-chip.rms-kds-chip--active .x-inner-el,
.rms-kds-display .rms-kds-chip.rms-kds-chip--active.x-button-pressing .x-inner-el,
.rms-kds-display .rms-kds-chip.rms-kds-chip--active.x-button-pressed .x-inner-el {
    background: #2B5FC4 !important;
    border-color: #2B5FC4 !important;
    box-shadow: 0 2px 8px rgba(43, 95, 196, 0.25) !important;
    background-image: none !important;
}

.rms-kds-display .rms-kds-chip.rms-kds-chip--active .x-text-el,
.rms-kds-display .rms-kds-chip.rms-kds-chip--active .x-text-el * {
    color: #ffffff !important;
}

.rms-kds-display .rms-kds-chip:not(.rms-kds-chip--active).x-hovered .x-inner-el {
    background: #E8F0FD !important;
    border-color: #c0cadd !important;
    background-image: none !important;
}


/* ── Refresh indicator ───────────────────────────────────────────────────── */

.rms-kds-refresh-indicator {
    padding: 0 10px;
}

.rms-kds-refresh-text {
    font-size: 11px;
    font-weight: 600;
    color: #6B7FA8;
    min-width: 80px;
    text-align: center;
    letter-spacing: 0.02em;
}

.rms-kds-refresh-text--syncing {
    color: #2B5FC4;
}


/* ── Ticket area ─────────────────────────────────────────────────────────── */

.rms-kds-display .rms-kds-ticket-area {
    padding: 14px 16px;
    background: #EEF2FA !important;
    gap: 12px;
}

.rms-kds-display .rms-kds-ticket-area .x-container-body-el {
    gap: 12px;
}


/* ── Empty state ─────────────────────────────────────────────────────────── */

.rms-kds-empty-state {
    flex: 1;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 40px;
    text-align: center;
}

.rms-kds-empty-icon {
    font-size: 36px;
    color: #0F6B4A;
    margin-bottom: 12px;
    display: block;
}

.rms-kds-empty-text {
    font-size: 15px;
    font-weight: 600;
    color: #6B7FA8;
    letter-spacing: 0.01em;
}


/* ── Ticket card ─────────────────────────────────────────────────────────── */

.rms-kds-display .rms-kds-ticket-card {
    background: #FFFFFF !important;
    border-radius: 12px !important;
    border: 1px solid #D5E0F5 !important;
    min-width: 230px;
    max-width: 300px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 8px rgba(27, 58, 122, 0.08), 0 1px 2px rgba(27, 58, 122, 0.05);
    overflow: hidden;
}

/* Strip ExtJS panel chrome */
.rms-kds-display .rms-kds-ticket-card > .x-panelheader,
.rms-kds-display .rms-kds-ticket-card > .x-dock > .x-panelheader {
    display: none !important;
}

.rms-kds-display .rms-kds-ticket-card .x-panel-body-el,
.rms-kds-display .rms-kds-ticket-card .x-body-el {
    background: transparent !important;
    border: none !important;
}


/* ── Card header ─────────────────────────────────────────────────────────── */

.rms-kds-card-header {
    padding: 12px 14px 11px;
    background: #F5F7FC;
    border-bottom: 1px solid #D5E0F5;
}

.rms-kds-card-table {
    font-size: 20px;
    font-weight: 800;
    color: #1b3a7a;
    letter-spacing: -0.01em;
    line-height: 1.2;
}


/* ── Time badge ──────────────────────────────────────────────────────────── */

/* Background colour is set inline by the controller (green/amber/red from getTimeBadgeColor).
   These rules handle shape, text, and spacing only. */
.rms-kds-time-badge {
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
}


/* ── Line items ──────────────────────────────────────────────────────────── */

.rms-kds-card-lines {
    padding: 8px 14px;
}

.rms-kds-line-row {
    padding: 8px 0;
    border-bottom: 1px solid #EEF2FA;
}

.rms-kds-line-row:last-child {
    border-bottom: none;
}

.rms-kds-line-row--bumped {
    opacity: 0.38;
}

.rms-kds-line-row--bumped .rms-kds-line-name {
    text-decoration: line-through;
}

.rms-kds-ticket-card span.rms-kds-line-name{
    color: #1E2A3A !important;
}

.rms-kds-line-text {
    font-size: 14px;
    color: #1E2A3A;
    font-weight: 500;
    line-height: 1.35;
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.rms-kds-line-qty {
    font-size: 13px;
    font-weight: 800;
    color: #2B5FC4;
    flex-shrink: 0;
}

.rms-kds-line-name {
    flex: 1;
}

.rms-kds-line-modifiers {
    font-size: 11px;
    color: #6B7FA8;
    margin-top: 3px;
    line-height: 1.3;
}

.rms-kds-line-empty {
    padding: 12px 0;
    font-size: 13px;
    color: #6B7FA8;
    font-style: italic;
}


/* ── Per-line Bump button ────────────────────────────────────────────────── */

.rms-kds-display .rms-kds-bump-btn {
    margin: 0 !important;
    padding: 0 !important;
    min-height: unset !important;
}

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done) .x-inner-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done).x-button-pressing .x-inner-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done).x-button-pressed .x-inner-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done).x-button-focused .x-inner-el,
.x-keyboard-mode .rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done).x-focused .x-inner-el {
    background-color: #E8943A !important;
    background-image: none !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 6px rgba(180, 83, 9, 0.20) !important;
    min-height: 40px;
    padding: 0 12px !important;
}

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done).x-button-pressing .x-inner-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done).x-button-pressed .x-inner-el {
    background-color: #C97B1A !important;
}

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done) .x-body-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done) .x-wrap-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done) .x-text-el {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done) .x-body-el {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 36px !important;
}

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done) .x-text-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done) .x-text-el span,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done) span,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done).x-button-pressing .x-text-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done).x-button-pressed .x-text-el,
.x-keyboard-mode .rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--line:not(.rms-kds-bump-btn--done).x-focused .x-text-el {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-weight: 800 !important;
    font-size: 11px !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
}


/* ── Bump-all footer button ──────────────────────────────────────────────── */

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done) .x-inner-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done).x-button-pressing .x-inner-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done).x-button-pressed .x-inner-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done).x-button-focused .x-inner-el,
.x-keyboard-mode .rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done).x-focused .x-inner-el {
    background-color: #1b3a7a !important;
    background-image: none !important;
    border: none !important;
    border-top: 1px solid #D5E0F5 !important;
    border-radius: 0 0 12px 12px !important;
    box-shadow: none !important;
    min-height: 52px !important;
    padding: 0 16px !important;
}

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done).x-button-pressing .x-inner-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done).x-button-pressed .x-inner-el {
    background-color: #122959 !important;
}

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done) .x-body-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done) .x-wrap-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done) .x-text-el {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done) .x-body-el {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done) .x-text-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done) .x-text-el span,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done) span,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done).x-button-pressing .x-text-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done).x-button-pressed .x-text-el,
.x-keyboard-mode .rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all:not(.rms-kds-bump-btn--done).x-focused .x-text-el {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
}


/* ── Done / complete state ───────────────────────────────────────────────── */

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--done .x-inner-el {
    background-color: #DCF5EC !important;
    border: 1px solid #b0dece !important;
    box-shadow: none !important;
}

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--all.rms-kds-bump-btn--done .x-inner-el {
    border-radius: 0 0 12px 12px !important;
}

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--done .x-body-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--done .x-wrap-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--done .x-text-el {
    background: transparent !important;
    background-color: transparent !important;
}

.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--done .x-text-el,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--done .x-text-el span,
.rms-kds-display .rms-kds-ticket-card .rms-kds-bump-btn--done span {
    color: #0F6B4A !important;
    -webkit-text-fill-color: #0F6B4A !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 0.04em;
}



/* ── Takeout / Delivery order dialog ─────────────────────────────────────── */

.rms-takeout-dialog .rms-takeout-type-row .rms-takeout-type-btn {
    margin: 0 !important;
}

.rms-takeout-dialog .rms-takeout-type-row .rms-takeout-type-btn:first-child {
    margin-right: 10px !important;
}

.rms-takeout-dialog .rms-takeout-type-btn .x-inner-el {
    border-radius: 8px !important;
    min-height: 56px;
}

.rms-takeout-dialog .rms-takeout-type-btn--active .x-inner-el {
    background: #EEF2FA !important;
    border: 2px solid #2B5FC4 !important;
    border-bottom-color:#2756b0 !important;
}

.rms-takeout-dialog .rms-takeout-type-btn--active .x-text-el {
    color: #2B5FC4 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

.rms-takeout-dialog .rms-takeout-type-btn:not(.rms-takeout-type-btn--active) .x-inner-el {
    background: #ffffff !important;
    border: 2px solid #E8F0FD !important;
}

.rms-takeout-dialog .rms-takeout-type-btn:not(.rms-takeout-type-btn--active).x-hovered .x-inner-el {
    background: #F5F7FC !important;
    border: 2px solid #D5E0F5 !important;
}

.rms-takeout-dialog .rms-takeout-type-btn:not(.rms-takeout-type-btn--active) .x-text-el {
    color: #607297 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}
/* ── Reservation form dialog ─────────────────────────────────────────────── */

.rms-reservation-form.x-floating {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #D5E0F5;
    box-shadow: 0 2px 32px rgba(27,58,122,0.10), 0 1px 4px rgba(27,58,122,0.06) !important;
}


.rms-reservation-form-body {
    background: #ffffff;
}

/* Field labels — matches rms-menu-sidebar-title uppercase micro-label style */
.rms-reservation-form .x-label-text-el {
    font-size: 10px !important;
    font-weight: 800 !important;
    color: #6B7FA8 !important;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    padding-bottom: 5px !important;
}

/* Required field label accent */
.rms-reservation-form .x-field-required .x-label-text-el::after {
    content: ' *';
    color: #B83030;
    font-weight: 800;
}

.rms-reservation-form .x-input-el {
    font-size: 14px !important;
    color: #1E2A3A !important;
    min-height: 44px;
    padding: 10px 12px !important;
    border-radius: 8px !important;
}

.rms-reservation-form .x-input-el::placeholder {
    color: #B0BBCC !important;
}

.rms-reservation-form .x-input-wrap-el {
    border: 1px solid #D5E0F5 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

/* Focus ring matches rms-menu-search focus */
.rms-reservation-form .x-field.x-focused .x-input-wrap-el {
    border-color: #2B5FC4 !important;
    box-shadow: 0 0 0 3px rgba(43, 95, 196, 0.10) !important;
}

.rms-reservation-form .rms-reservation-form-row > .x-field {
    flex: 1 1 0;
    min-width: 0;
}

/* Footer divider matches Menu Manager toolbar borders */
.rms-reservation-form-footer {
    border-top: 1px solid #EEF2FA;
    padding-top: 16px;
    margin-top: 4px;
}

/* Ghost / Cancel button — matches rms-floor-btn-ghost */
.rms-reservation-form .rms-reservation-btn--ghost .x-inner-el {
    background: #F5F7FC !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.rms-reservation-form .rms-reservation-btn--ghost .x-text-el {
    color: #607297 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}

.rms-reservation-form .rms-reservation-btn--ghost.x-hovered .x-inner-el {
    background: #EEF2FA !important;
    border-color: #c0cadd !important;
}

.rms-reservation-form .rms-reservation-btn--ghost.x-hovered .x-text-el {
    color: #1E2A3A !important;
}

/* Primary / Save button — matches rms-menu-btn-primary (blue CTA convention) */
.rms-reservation-form .rms-reservation-btn--primary .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border: 1px solid #1b3a7a !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.rms-reservation-form .rms-reservation-btn--primary .x-text-el {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

.rms-reservation-form .rms-reservation-btn--primary.x-hovered .x-inner-el {
    background: #1b3a7a !important;
    border-color: #1b3a7a !important;
}

.rms-reservation-form .rms-reservation-btn--primary.x-button-pressing .x-inner-el,
.rms-reservation-form .rms-reservation-btn--primary.x-button-pressed .x-inner-el {
    background: #152d61 !important;
}

/* ── Reservation panel ───────────────────────────────────────────────────── */

.rms-reservation-panel .x-panelheader,
.rms-reservation-form .x-panelheader {
    background-color: #ffffff !important;
    border-bottom: 1px solid #D5E0F5 !important;
    box-shadow: none !important;
}

.rms-reservation-panel .x-panelheader .x-panelheader-body-el,
.rms-reservation-form .x-panelheader .x-panelheader-body-el {
    border-bottom: 1px solid #D5E0F5 !important;
    padding: 10px;
}

.rms-reservation-panel .x-paneltitle,
.rms-reservation-form .x-paneltitle{
    color: #1b3a7a !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    margin: 0px 12px !important;
}

.rms-reservation-panel .rms-menu-header-tool .x-inner-el {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #2B5FC4 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-reservation-panel .rms-menu-header-tool .x-text-el,
.rms-reservation-panel .rms-menu-header-tool .x-icon-el {
    color: #2B5FC4 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-reservation-panel .rms-menu-header-tool.x-hovered .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border-color: #2B5FC4 !important;
}

.rms-reservation-panel .rms-menu-header-tool.x-hovered .x-text-el,
.rms-reservation-panel .rms-menu-header-tool.x-hovered .x-icon-el {
    color: #ffffff !important;
}

.rms-reservation-panel .rms-menu-header-tool-home .x-inner-el {
    background: #E8F0FD !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-reservation-panel .rms-menu-header-tool-home .x-text-el,
.rms-reservation-panel .rms-menu-header-tool-home .x-icon-el {
    color: #2B5FC4 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-reservation-panel .rms-menu-header-tool-home.x-hovered .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border-color: #2B5FC4 !important;
}

.rms-reservation-panel .rms-menu-header-tool-home.x-hovered .x-text-el,
.rms-reservation-panel .rms-menu-header-tool-home.x-hovered .x-icon-el {
    color: #ffffff !important;
}

/* Date navigation toolbar */
.rms-reservation-panel .x-toolbar.x-docked-top {
    background: #F5F7FC !important;
    border-bottom: 1px solid #D5E0F5 !important;
    box-shadow: none !important;
}

/* Date display pill between nav arrows */
.rms-reservation-date-display {
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    color: #1E2A3A;
    background: #ffffff;
    border: 1px solid #D5E0F5;
    border-radius: 8px;
    padding: 8px 14px;
    letter-spacing: -0.01em;
}

/* Prev / Next arrow buttons */
.rms-reservation-panel .rms-reservation-date-nav.x-button .x-inner-el {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-reservation-panel .rms-reservation-date-nav.x-button .x-icon-el {
    color: #2B5FC4 !important;
    font-size: 14px !important;
}

.rms-reservation-panel .rms-reservation-date-nav.x-button.x-hovered .x-inner-el {
    background: #E8F0FD !important;
    border-color: #2B5FC4 !important;
}

/* "New Reservation" CTA — matches rms-menu-btn-primary */
.rms-reservation-panel .rms-reservation-btn-new .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border: 1px solid #1b3a7a !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-reservation-panel .rms-reservation-btn-new .x-text-el,
.rms-reservation-panel .rms-reservation-btn-new .x-icon-el {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.rms-reservation-panel .rms-reservation-btn-new.x-hovered .x-inner-el {
    background: #1b3a7a !important;
    border-color: #1b3a7a !important;
}

/* Reservation list sidebar */
.rms-reservation-panel .rms-reservation-list {
    background: #ffffff;
    border-right: 1px solid #D5E0F5;
}

/* List rows — template classes */
.rms-reservation-row {
    padding: 12px 16px;
    min-height: 64px;
    border-bottom: 1px solid #EEF2FA;
    box-sizing: border-box;
}

.rms-reservation-row__name {
    font-size: 14px;
    font-weight: 600;
    color: #1E2A3A;
    line-height: 1.3;
}

.rms-reservation-row__meta {
    font-size: 12px;
    color: #6B7FA8;
    margin-top: 2px;
}

/* Selected list row — navy left accent, matches rms-menu-nav-item--selected */
.rms-reservation-panel .x-list .x-listitem.x-selected .rms-reservation-row {
    background: #EBF1FD;
    border-left: 3px solid #1b3a7a;
}

/* Hover state */
.rms-reservation-panel .x-list .x-listitem:not(.x-selected):hover .rms-reservation-row {
    background: #F0F5FF;
}

/* Status badges in list rows — mirrors rms-waitlist-wait-badge */
.rms-reservation-status {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.rms-reservation-status--confirmed { background: #DCF5EC; color: #0F6B4A !important; }
.rms-reservation-status--pending   { background: #FDF0D0; color: #E07B2A !important; }
.rms-reservation-status--seated    { background: #E8F0FD; color: #1b3a7a !important; }
.rms-reservation-status--cancelled { background: #FADDDD; color: #B83030 !important; }
.rms-reservation-status--no-show   { background: #EEF2FA; color: #6B7FA8 !important; }

/* Detail panel */
.rms-reservation-panel .rms-reservation-detail {
    background: #fff;
    padding: 8px;
}

/* Empty-state placeholder — matches rms-floor-empty */
.rms-reservation-detail-empty {
    padding: 48px 24px;
    text-align: center;
}

.rms-reservation-detail-empty .rms-reservation-detail-empty__icon {
    font-size: 36px;
    color: #c0cadd;
    display: block;
    margin-bottom: 12px;
}

.rms-reservation-detail-empty__text {
    font-size: 14px;
    color: #6B7FA8;
    line-height: 1.5;
}

/* Detail card — white card matching rms-menu-main */
.rms-reservation-detail-card {
    background: #ffffff;
    border: 1px solid #D5E0F5;
    border-radius: 10px;
    padding: 20px 24px;
    box-shadow: 0 1px 3px rgba(27, 58, 122, 0.05);
}

/* Guest name heading */
.rms-reservation-detail__name {
    font-size: 20px;
    font-weight: 800;
    color: #1b3a7a;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin-bottom: 4px;
}

/* Date / time / covers line */
.rms-reservation-detail__meta {
    font-size: 13px;
    color: #6B7FA8;
    margin-bottom: 20px;
    font-weight: 500;
}

/* Contact / deposit fields */
.rms-reservation-detail__label {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #c0cadd;
    margin-bottom: 2px;
}

.rms-reservation-detail__value {
    font-size: 13px;
    font-weight: 600;
    color: #1E2A3A;
    line-height: 1.4;
}

/* Notes block */
.rms-reservation-detail__notes {
    font-size: 13px;
    color: #607297;
    font-style: italic;
    margin-bottom: 24px;
    padding: 10px 12px;
    background: #F5F7FC;
    border-radius: 6px;
    border-left: 3px solid #D5E0F5;
}

/* Detail action buttons — Confirm (green), Seat Now (blue), Cancel Reservation (red) */
.rms-reservation-panel .rms-reservation-action-confirm .x-inner-el {
    background: #0F6B4A !important;
    background-image: none !important;
    border: 1px solid #0a4e36 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-reservation-panel .rms-reservation-action-confirm .x-text-el,
.rms-reservation-panel .rms-reservation-action-confirm .x-icon-el {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.rms-reservation-panel .rms-reservation-action-confirm.x-hovered .x-inner-el {
    background: #0a4e36 !important;
}

.rms-reservation-panel .rms-reservation-action-seat .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border: 1px solid #1b3a7a !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-reservation-panel .rms-reservation-action-seat .x-text-el,
.rms-reservation-panel .rms-reservation-action-seat .x-icon-el {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.rms-reservation-panel .rms-reservation-action-seat.x-hovered .x-inner-el {
    background: #1b3a7a !important;
    border-color: #1b3a7a !important;
}

.rms-reservation-panel .rms-reservation-action-cancel .x-inner-el {
    background: #FADDDD !important;
    background-image: none !important;
    border: 1px solid #f0c8c8 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-reservation-panel .rms-reservation-action-cancel .x-text-el,
.rms-reservation-panel .rms-reservation-action-cancel .x-icon-el {
    color: #B83030 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.rms-reservation-panel .rms-reservation-action-cancel.x-hovered .x-inner-el {
    background: #B83030 !important;
    border-color: #B83030 !important;
}

.rms-reservation-panel .rms-reservation-action-cancel.x-hovered .x-text-el,
.rms-reservation-panel .rms-reservation-action-cancel.x-hovered .x-icon-el {
    color: #ffffff !important;
}

/* ── Menu manager (touch RMS) ────────────────────────────────────────────── */

.rms-menu-manager-body {
    background: #EEF2FA !important;
}

/* ── Panel header ─────────────────── */

.rms-menu-manager .x-panelheader,
.rms-menu-manager > .x-dock > .x-panelheader {
    background-color: #fff !important;
    border-bottom: 1px solid #D5E0F5 !important;
    /* min-height: 44px !important; */
    box-shadow: none !important;
}

.rms-menu-manager .x-panelheader .x-panelheader-body-el {
    border-bottom: 1px solid #D5E0F5 !important;
}

.rms-menu-manager .x-paneltitle {
    color: #1b3a7a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
}
.rms-menu-manager, .rms-menu-manager {
    /* Header tool buttons (Home / Branch Dashboard) */
    .rms-menu-header-tool .x-inner-el {
        background: #fff !important;
        background-image: none !important;
        border: 1px solid #2B5FC4 !important;
        border-radius: 6px !important;
        box-shadow: none !important;
    }

    .rms-menu-header-tool .x-text-el,
    .rms-menu-header-tool .x-icon-el {
        color: #2B5FC4 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
    }

    .rms-menu-header-tool.x-hovered .x-inner-el,
    .rms-menu-header-tool.x-hovered .x-inner-el {
        background: #2B5FC4 !important;
        background-image: none !important;
        border-color: #2B5FC4 !important;
    }

    .rms-menu-header-tool.x-hovered .x-text-el,
    .rms-menu-header-tool.x-hovered .x-icon-el {
        color: #ffffff !important;
    }

    /* Header tool buttons (Home / Branch Dashboard) */
    .rms-menu-header-tool-home .x-inner-el {
        background: #E8F0FD !important;
        background-image: none !important;
        border: 1px solid #D5E0F5 !important;
        border-radius: 6px !important;
        box-shadow: none !important;
    }

    .rms-menu-header-tool-home .x-text-el,
    .rms-menu-header-tool-home .x-icon-el {
        color: #2B5FC4 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
    }

    .rms-menu-header-tool-home.x-hovered .x-inner-el,
    .rms-menu-header-tool-home.x-hovered .x-inner-el {
        background: #2B5FC4 !important;
        background-image: none !important;
        border-color: #2B5FC4 !important;
    }

    .rms-menu-header-tool-home.x-hovered .x-text-el,
    .rms-menu-header-tool-home.x-hovered .x-icon-el {
        color: #ffffff !important;
    }
}



/* ── Tab sub-nav strip ──────────────────────────────────────────────────────── */

.rms-menu-subnav {
    background: #FFFFFF;
    border-bottom: 1px solid #94aee1;
    flex-shrink: 0;
}

/* Active tab */
.rms-menu-manager .rms-menu-tab.rms-menu-tab--active.x-disabled .x-inner-el,
.rms-menu-manager .rms-menu-tab--active.x-button-pressing .x-inner-el,
.rms-menu-manager .rms-menu-tab--active.x-button-pressed .x-inner-el {
    background: #2b5fc4 !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    border-bottom-color: #2b5fc4 !important;
    border-radius: 8px 8px 0 0 !important;
    box-shadow: none !important;
}

.rms-menu-manager .rms-menu-tab.rms-menu-tab--active.x-disabled .x-text-el,
.rms-menu-manager .rms-menu-tab.rms-menu-tab--active .x-text-el *,
.rms-menu-manager .rms-menu-tab.rms-menu-tab--active .x-icon-el {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* Inactive tab */
.rms-menu-manager .rms-menu-tab:not(.rms-menu-tab--active) .x-inner-el {
    background: #FFFFFF !important;
    border: 1px solid transparent;
    border-bottom: 2px solid #E8F0FD !important;
    border-radius: 8px 8px 0 0;
    box-shadow: none;
}

.rms-dash-tabs .x-tab.x-hovered .x-inner-el {
    border-bottom: 3px solid  #E8F0FD !important;
}

.rms-dash-tabs .x-tab.x-hovered .x-text-el {
    color: #0055ff !important;
}

.rms-menu-manager .rms-menu-tab:not(.rms-menu-tab--active) .x-text-el,
.rms-menu-manager .rms-menu-tab:not(.rms-menu-tab--active) .x-text-el *,
.rms-menu-manager .rms-menu-tab:not(.rms-menu-tab--active) .x-icon-el {
    color: #1b3a7a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-menu-manager .rms-menu-tab:not(.rms-menu-tab--active).x-hovered .x-inner-el {
    background: #E8F0FD !important;
    transform: translateY(-2px);
    transition: transform 0.2s ease;
    border-bottom: none;
}

.rms-menu-manager .rms-menu-tab:not(.rms-menu-tab--active).x-hovered .x-text-el,
.rms-menu-manager .rms-menu-tab:not(.rms-menu-tab--active).x-hovered .x-icon-el{
    color: #2B5FC4 !important;
}

/* ── Workspace layout ────────────────────────────────────────────────────────── */

.rms-menu-workspace {
    padding: 0px 8px 8px !important;
    gap: 8px;
}

/* ── Sidebar panel ───────────────────────────────────────────────────────────── */

.rms-menu-sidebar {
    background: #ffffff !important;
    border-radius: 4px !important;
    border: 1px solid #D5E0F5 !important;
    box-shadow: none !important;
    overflow: hidden;
}

.rms-menu-sidebar-section {
    min-height: 0;
}

.rms-menu-sidebar-section--split {
    border-top: 1px solid #D5E0F5;
}

/* Section header */
.rms-menu-sidebar-title {
    padding: 6px 10px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6B7FA8;
    background: #F5F7FC;
    border-bottom: 1px solid #EEF2FA;
    line-height: 1;
}

.rms-menu-sidebar-title .x-fa {
    font-size: 10px;
    margin-right: 4px;
    color: #c0cadd;
}

/* ── "Add" outline buttons in sidebar ───────────────────────────────────────── */

.rms-menu-btn-block .x-inner-el {
    border-radius: 6px !important;
    min-height: 30px !important;
}

.rms-menu-btn-block--outline .x-inner-el {
    background: #F5F7FC !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    box-shadow: none !important;
}

.rms-menu-btn-block--outline .x-text-el,
.rms-menu-btn-block--outline .x-text-el *,
.rms-menu-btn-block--outline .x-icon-el {
    color: #2B5FC4 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.rms-menu-btn-block--outline.x-hovered .x-inner-el{
    background: #E8F0FD !important;
    border-color: #2B5FC4 !important;
}

/* ── Navigation lists ────────────────────────────────────────────────────────── */

.rms-menu-nav-list .x-listitem {
    border: none !important;
    border-radius: 0 !important;
    border-bottom: 1px solid #EEF2FA !important;
    overflow: hidden;
}

/* Remove Ext JS default inner padding */
.rms-menu-nav-list .x-listitem-inner-el {
    padding: 0 !important;
}

.rms-menu-nav-item {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 5px 8px 5px 6px;
    min-height: 38px;
    box-sizing: border-box;
    cursor: pointer;
}

/* Selected row — navy left accent */
.x-listitem.rms-menu-nav-item--selected {
    background: #EBF1FD !important;
    border-left: 3px solid #1b3a7a !important;
    border-bottom: 1px solid #D5E0F5 !important;
    border-top: none !important;
    border-right: none !important;
}

.rms-menu-nav-item--selected .rms-menu-nav-item {
    background: #EBF1FD;
}

/* Icon bubble */
.rms-menu-nav-item__icon {
    width: 22px;
    height: 22px;
    border-radius: 5px;
    background: #EEF2FA;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 11px;
    color: #6B7FA8;
}

.rms-menu-nav-item--selected .rms-menu-nav-item__icon,
.x-listitem.rms-menu-nav-item--selected .rms-menu-nav-item__icon {
    background: #1b3a7a;
    color: #ffffff;
}

/* Text area */
.rms-menu-nav-item__text {
    flex: 1;
    min-width: 0;
}

.rms-menu-nav-item__title {
    font-size: 12px;
    font-weight: 600;
    color: #1E2A3A;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.x-listitem.rms-menu-nav-item--selected .rms-menu-nav-item__title {
    color: #1b3a7a;
}

.rms-menu-nav-item__meta {
    font-size: 10px;
    font-weight: 600;
    color: #c0cadd;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 1px;
}

/* Inline edit button */
.rms-menu-nav-item__edit {
    flex-shrink: 0;
    padding: 2px 7px;
    font-size: 11px;
    font-weight: 700;
    color: #2B5FC4;
    background: #E8F0FD;
    border: 1px solid #D5E0F5;
    border-radius: 4px;
    min-height: 22px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    letter-spacing: 0.01em;
}

.rms-menu-nav-item__edit:active {
    background: #2B5FC4;
    color: #ffffff;
    border-color: #2B5FC4;
}

/* Empty-state text */
.rms-menu-empty {
    padding: 16px 12px;
    text-align: center;
    font-size: 12px;
    line-height: 1.55;
    color: #c0cadd;
}

/* ── Main content panel ──────────────────────────────────────────────────────── */

.rms-menu-main {
    background: #ffffff !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    overflow: hidden;
}

.rms-menu-main .x-body-wrap-el{
    border: 1px solid #D5E0F5 !important;
}

/* ── Breadcrumb context bar ──────────────────────────────────────────────────── */

.rms-menu-context {
    padding: 6px 12px;
    border-bottom: 1px solid #EEF2FA;
    background: #F5F7FC;
    flex-shrink: 0;
}

.rms-menu-context__label {
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #c0cadd;
    margin-bottom: 1px;
}

.rms-menu-context__path {
    font-size: 13px;
    font-weight: 700;
    color: #1b3a7a;
    line-height: 1.3;
}

.rms-menu-context__group {
    color: #1b3a7a;
}

.rms-menu-context__sep {
    margin: 0 5px;
    color: #D5E0F5;
    font-weight: 400;
}

.rms-menu-context__category {
    color: #2B5FC4;
}

.rms-menu-context__hint {
    font-size: 11px;
    color: #c0cadd;
    margin-top: 1px;
    line-height: 1.4;
}

/* ── Search + Add toolbar ────────────────────────────────────────────────────── */

.rms-menu-toolbar {
    border-bottom: 1px solid #EEF2FA;
    background: #FFFFFF;
    flex-shrink: 0;
}

/* Search field */
.rms-menu-search .x-input-wrap-el {
    border-radius: 6px !important;
    background: #EEF2FA !important;
    min-height: 34px !important;
    box-shadow: none !important;
}

.rms-menu-search .x-input-el {
    font-size: 13px !important;
    color: #1E2A3A !important;
    padding: 7px 10px !important;
}

.rms-menu-search .x-input-el::placeholder {
    color: #c0cadd !important;
}

.rms-menu-search.x-focused .x-input-wrap-el,
.rms-menu-search .x-field.x-focused .x-input-wrap-el {
    border-color: #2B5FC4 !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 3px rgba(43, 95, 196, 0.1) !important;
}

/* "Add Item" primary button */
.rms-menu-btn-primary .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border: 1px solid #1b3a7a !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-menu-btn-primary .x-text-el,
.rms-menu-btn-primary .x-text-el *,
.rms-menu-btn-primary .x-icon-el {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.rms-menu-btn-primary.x-hovered .x-inner-el,
.rms-menu-btn-primary.x-hovered .x-icon-el {
    background: #1b3a7a !important;
    border-color: #1b3a7a !important;
}

/* ── Items grid ──────────────────────────────────────────────────────────────── */

.rms-menu-grid {
    background: #ffffff;
}

/* Column header row */
.rms-menu-grid .x-headercontainer {
    background: #F5F7FC !important;
    border-bottom: 1px solid #D5E0F5 !important;
}

.rms-menu-grid .x-column-header {
    border-right: 1px solid #EEF2FA !important;
}

.rms-menu-grid .x-column-header .x-text-el,
.rms-menu-grid .x-column-header .x-text-el * {
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #6B7FA8 !important;
}

/* Grid rows — compact */
.rms-menu-grid .x-gridrow {
    border-bottom: 1px solid #EEF2FA !important;


}

.rms-menu-grid .x-gridrow .x-gridcell-body-el {
    display: inline-flex;
    align-items: center;
}

.rms-menu-grid .x-gridrow.x-odd {
    background: #FAFBFD;
}

.rms-menu-grid .x-gridrow:not(.x-selected):hover {
    background: #F0F5FF !important;
}

/* Cells */
.rms-menu-grid .x-gridcell {
    font-size: 13px !important;
    vertical-align: middle;
    padding: 0 8px !important;
}

/* .rms-menu-grid .x-gridcell.x-widthed.x-align-left,
.rms-menu-grid .x-gridrow .x-cells-el {
    flex-shrink: 1;
} */

/* Code column */
.rms-menu-cell-code {
    font-family: ui-monospace, 'Cascadia Code', 'SF Mono', monospace;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #607297 !important;
    letter-spacing: 0.03em;
}

/* Name column */
.rms-menu-item-name {
    font-size: 13px;
    font-weight: 600;
    color: #1E2A3A;
}

/* Price column */
.rms-menu-price {
    font-size: 13px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #1b3a7a;
}

/* ── Badges ──────────────────────────────────────────────────────────────────── */

.rms-menu-badge {
    display: inline-block;
    margin-left: 5px;
    padding: 1px 5px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
    vertical-align: middle;
    letter-spacing: 0.03em;
}

.rms-menu-badge--86 {
    background: #FADDDD;
    color: #B83030;
}

.rms-menu-badge--vat {
    background: #E8F0FD;
    color: #2B5FC4;
}

.rms-menu-badge--muted,
.rms-menu-badge--split {
    background: #EEF2FA;
    color: #607297;
    border: 1px solid #DCF5EC;
}

/* ── Status chips ────────────────────────────────────────────────────────────── */

.rms-menu-status {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.rms-menu-status--ok   { color: #0F6B4A; }
.rms-menu-status--warn { color: #7A5A0A; }
.rms-menu-status--off  { color: #C0CADD; }

/* ── Grid action buttons ─────────────────────────────────────────────────────── */

.rms-menu-actions {
    display: flex;
    gap: 8px;
    flex-wrap: nowrap;
    align-items: center;
}

.rms-menu-action-btn {
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    min-height: 22px;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    white-space: nowrap;
    letter-spacing: 0.01em;
    transition: background 100ms, color 100ms;
}

.rms-menu-action-btn.edit-item-btn,
.rms-menu-action-btn.edit-option-btn {
    background: #E8F0FD;
    color: #1b3a7a;
    border: 1px solid #D5E0F5;
}

.rms-menu-action-btn.edit-item-btn:active,
.rms-menu-action-btn.edit-item-btn:hover,
.rms-menu-action-btn.edit-option-btn:active,
.rms-menu-action-btn.edit-option-btn:hover{
    background: #1b3a7a;
    color: #ffffff;
    border-color: #1b3a7a;
}

.rms-menu-action-btn.toggle86-btn.rms-menu-action-btn--86 {
    background: #FADDDD;
    color: #B83030;
    border: 1px solid #f0c8c8;
}

.rms-menu-action-btn.toggle86-btn.rms-menu-action-btn--restore {
    background: #DCF5EC;
    color: #0F6B4A;
    border: 1px solid #b0dece;
}

/* ── Grid empty state ────────────────────────────────────────────────────────── */

.rms-menu-grid-empty {
    padding: 36px 24px;
    text-align: center;
}

.rms-menu-grid-empty .x-fa {
    font-size: 28px;
    color: #D5E0F5;
    margin-bottom: 10px;
    display: block;
}

.rms-menu-grid-empty p {
    margin: 0 0 5px;
    font-size: 15px;
    font-weight: 700;
    color: #1E2A3A;
}

.rms-menu-grid-empty span {
    font-size: 12px;
    line-height: 1.5;
    color: #c0cadd;
}

/* ── Branch dashboard (touch POS hub) ───────────────────────────────────── */

.rms-branch-dashboard,
.rms-branch-dashboard-body {
    background: #EEF2FA !important;
}


.rms-branch-dashboard .x-panelheader,
.rms-branch-dashboard > .x-dock > .x-panelheader {
    background: #FFFFFF !important; 
    border-bottom: 1px solid #D5E0F5 !important;
    min-height: 44px !important;
}

.rms-branch-dashboard .x-panelheader .x-paneltitle {
    color: #1b3a7a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
}

/* "Home" tool button */
.rms-dash-header-tool .x-inner-el {
    background: #E8F0FD !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-dash-header-tool .x-text-el,
.rms-dash-header-tool .x-icon-el {
    color: #2B5FC4 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-dash-header-tool.x-hovered .x-inner-el,
.rms-dash-header-tool.x-hovered .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border-color: #2B5FC4 !important;
}

.rms-dash-header-tool.x-hovered .x-text-el,
.rms-dash-header-tool.x-hovered .x-icon-el {
    color: #ffffff !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   CUSTOM HEADER BAR  (title + live badge + refresh)
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-dash-header {
    padding: 13px 20px;
    background: #FFFFFF;
    border-bottom: 1px solid #D5E0F5;
    flex-shrink: 0;
}

.rms-dash-header__brand {
    min-width: 0;
}

.rms-dash-header__title {
    font-size: 18px;
    font-weight: 800;
    color: #1b3a7a;
    letter-spacing: -0.025em;
    line-height: 1.25;
}

.rms-dash-header__date {
    margin-top: 2px;
    font-size: 12px;
    font-weight: 500;
    color: #6B7FA8;
    letter-spacing: 0.01em;
}

/* ── Live indicator pill ── */
.rms-dash-live {
    display: flex;
    /* margin: 0px 0px 0px 6px; */
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #DCF5EC;
    border: 1px solid rgba(15, 107, 74, 0.22);
    /* animation: rms-dash-pulse 2s ease-in-out infinite; */
}

.rms-dash-live__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
    background: #0F6B4A;
    box-shadow: 0 0 0 0 rgba(15, 107, 74, 0.4);
    animation: rms-dash-pulse 2s ease-in-out infinite;
}

@keyframes rms-dash-pulse {
    0%, 100% { box-shadow: 0 0 0 0   rgba(15, 107, 74, 0.45); }
    50%       { box-shadow: 0 0 0 5px rgba(15, 107, 74, 0);    }
}

.rms-dash-live__text {
    font-size: 11px;
    font-weight: 900;
    color: #0F6B4A;
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

/* ── Last-refreshed timestamp ── */

.rms-dash-refreshed {
    font-size: 11px;
    color: #6B7FA8;
    white-space: nowrap;
}

.rms-dash-refreshed__label {
    font-weight: 500;
}

.rms-dash-refreshed__time {
    font-weight: 700;
    color: #1E2A3A;
    font-variant-numeric: tabular-nums;
}
/* ── Refresh button ── */
.rms-dash-btn-refresh .x-inner-el {
    background: white !important;
    background-image: none !important;
    border: 1px solid #2B5FC4 !important;
    border-radius: 6px !important;
    /* box-shadow: 0 2px 8px rgba(43, 95, 196, 0.28) !important; */
}

.rms-dash-btn-refresh .x-text-el,
.rms-dash-btn-refresh .x-inner-el .x-icon-el {
    color: #2B5FC4;
    font-size: 11px !important;
    font-weight: 600 !important;
}
.rms-dash-btn-refresh.x-hovered .x-inner-el,
.rms-dash-btn-refresh.x-pressed .x-inner-el,
.rms-dash-btn-refresh.x-pressing .x-inner-el,
.rms-dash-btn-refresh.x-hovered .x-inner-el .x-icon-el {
    background: #2B5FC4 !important;
    color: #fff !important;
    background-image: none !important;
}

.x-hovered.rms-dash-btn-refresh,
.x-pressing.rms-dash-btn-refresh {
    .x-inner-el, .x-text-el {
        background-color: #2B5FC4;
        color: #fff;
    }

    .x-icon-el {
        color: inherit !important;
    }

}


/* ═══════════════════════════════════════════════════════════════════════════
   KPI STRIP
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-dash-kpi-row {
    padding: 0px 16px 0;
    gap: 10px;
}

/* Base card */
.rms-dash-kpi {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    min-height: 82px;
    background: #FFFFFF;
    border-radius: 10px;
    border: 1px solid #D5E0F5;
    border-left-width: 3px;               /* colored accent — overridden below */
    box-shadow: 0 1px 2px rgba(27, 58, 122, 0.05);
    box-sizing: border-box;
}

/* Left-border accent per metric type */
.rms-dash-kpi--tables  { border-left-color: #2B5FC4; }
.rms-dash-kpi--revenue { border-left-color: #0F6B4A; }
.rms-dash-kpi--orders  { border-left-color: #7A5A0A; }
.rms-dash-kpi--time    { border-left-color: #607297; }

/* Icon container */
.rms-dash-kpi__icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.rms-dash-kpi--tables  .rms-dash-kpi__icon { background: #E8F0FD; color: #2B5FC4; }
.rms-dash-kpi--revenue .rms-dash-kpi__icon { background: #DCF5EC; color: #0F6B4A; }
.rms-dash-kpi--orders  .rms-dash-kpi__icon { background: #FDF0D0; color: #7A5A0A; }
.rms-dash-kpi--time    .rms-dash-kpi__icon { background: #F5F7FC; color: #607297;  }

/* Text block */
.rms-dash-kpi__body {
    flex: 1;
    min-width: 0;
}

.rms-dash-kpi__label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #6B7FA8;
    margin-bottom: 3px;
}

.rms-dash-kpi__value {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    color: #1E2A3A;
    letter-spacing: -0.02em;
}

/* Coloured values for revenue + orders */
.rms-dash-kpi--revenue .rms-dash-kpi__value { color: #0F6B4A; }
.rms-dash-kpi--orders  .rms-dash-kpi__value { color: #7A5A0A; }

.rms-dash-kpi__suffix {
    font-size: 14px;
    font-weight: 600;
    color: #c0cadd;
}


/* ═══════════════════════════════════════════════════════════════════════════
   MAIN AREA
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-dash-main {
    padding: 12px 16px 16px;
    min-height: 0;
}


/* ═══════════════════════════════════════════════════════════════════════════
   ORDER TAB PANEL
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-dash-tabs {
    background: #FFFFFF !important;
    border-radius: 12px !important;
    border: 1px solid #D5E0F5 !important;
    box-shadow: 0 1px 3px rgba(27, 58, 122, 0.06) !important;
    overflow: hidden !important;
}

/* Tab bar */
.rms-dash-tabs .x-tabbar.rms-dash-tabs__bar {
    background: #F5F7FC !important;
    border-bottom: 1px solid #D5E0F5 !important;
    padding: 10px 12px 0 !important;
    min-height: 50px !important;
}

.rms-dash-tabs .x-tab {
    margin: 0 3px !important;
}

/* Inactive tab */
.rms-dash-tabs .x-tab .x-inner-el {
    min-height: 40px !important;
    padding: 0 18px !important;
    border-radius: 8px 8px 0 0 !important;
    background: transparent !important;
    background-image: none !important;
    border: 1px solid transparent !important;
    border-bottom: 1px solid #D5E0F5 !important;
    box-shadow: none !important;
}

.rms-dash-tabs .x-tab.x-hovered .x-inner-el {
    border-bottom: 3px solid  #E8F0FD !important;
}

.rms-dash-tabs .x-tab.x-hovered .x-text-el {
    color: #0055ff !important;
}


.rms-dash-tabs .x-tab .x-text-el {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #607297;
}

/* Active tab */
.rms-dash-tabs .x-tab.x-active .x-inner-el {
    background: #FFFFFF !important;
    background-image: none !important;
    border-color: #D5E0F5 !important;
    border-bottom-color: #FFFFFF !important;
    box-shadow: none !important;
}

.rms-dash-tabs .x-tab.x-active .x-text-el {
    font-weight: 700 !important;
    color: #2B5FC4 !important;
}

/* Tab content pane */
.rms-dash-tab-panel {
    background: #FFFFFF;
}


/* ═══════════════════════════════════════════════════════════════════════════
   LIST — empty states
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-dash-list {
    min-height: 200px;
}

.rms-dash-empty {
    padding: 44px 24px;
    text-align: center;
}

.rms-dash-empty__icon {
    font-size: 32px;
    color: #c0cadd;
    margin-bottom: 10px;
}

.rms-dash-empty__title {
    font-size: 15px;
    font-weight: 700;
    color: #607297;
    margin-bottom: 4px;
}

.rms-dash-empty__hint {
    font-size: 13px;
    color: #c0cadd;
    line-height: 1.5;
    max-width: 260px;
    margin: 0 auto;
}


/* ═══════════════════════════════════════════════════════════════════════════
   LIST — rows
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-dash-list-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 16px;
    min-height: 66px;
    border-bottom: 1px solid #EEF2FA;
    transition: background 0.12s ease;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.rms-dash-list-item:last-child {
    border-bottom: none;
}

.rms-dash-list-item:hover {
    background: #E8F0FD;
}

/* Table/order avatar badge */
.rms-dash-list-item__table {
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background: #1b3a7a;
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: -0.01em;
}

.rms-dash-list-item__body {
    flex: 1;
    min-width: 0;
}

.rms-dash-list-item__title {
    font-size: 14px;
    font-weight: 700;
    color: #1E2A3A;
    margin-bottom: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rms-dash-list-item__meta {
    font-size: 12px;
    color: #6B7FA8;
    line-height: 1.4;
}

.rms-dash-list-item__amount {
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 800;
    color: #0F6B4A;
    font-variant-numeric: tabular-nums;
    text-align: right;
    min-width: 76px;
}

.rms-dash-list-item__actions {
    flex-shrink: 0;
    display: flex;
    gap: 6px;
}


/* ═══════════════════════════════════════════════════════════════════════════
   LIST ACTION BUTTONS  (Open / Resume / Reprint / Void)
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-dash-btn {
    height: 38px;
    padding: 0 14px;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    outline: none;
    transition: opacity 0.12s ease;
    -webkit-tap-highlight-color: transparent;
}

.rms-dash-btn:active {
    opacity: 0.75;
}

/* Primary — Open */
.rms-dash-btn--primary {
    background: #2B5FC4;
    color: #ffffff;
}

/* Warn — Resume (unpaid) */
.rms-dash-btn--warn {
    background: #FDF0D0;
    color: #7A5A0A;
    border: 1px solid rgba(122, 90, 10, 0.18);
}

/* Danger — Void */
.rms-dash-btn--danger {
    background: #FADDDD;
    color: #B83030;
    border: 1px solid rgba(184, 48, 48, 0.18);
}


/* ═══════════════════════════════════════════════════════════════════════════
   SIDEBAR SHELL
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-dash-sidebar {
    min-width: 0;
    min-height: 0;
    flex-shrink: 0;
}

.rms-dash-actions {
    min-height: 0;
    flex: 1;
}

.rms-dash-actions-col {
    min-width: 0;
}


/* ═══════════════════════════════════════════════════════════════════════════
   SHIFT CARD
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-dash-shift-card {
    padding: 14px 16px;
    background: #FFFFFF;
    border-radius: 12px;
    border: 1px solid #D5E0F5;
    box-shadow: 0 1px 2px rgba(27, 58, 122, 0.05);
}

.rms-dash-shift-card--compact {
    flex-shrink: 0;
    padding: 10px 12px;
    border-radius: 10px;
    margin-bottom: 0;
}

.rms-dash-shift-card__eyebrow {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #6B7FA8;
}

/* Status badge */
.rms-dash-shift-badge {
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.rms-dash-shift-badge--open {
    background: #DCF5EC;
}
.rms-dash-shift-badge--open .x-innerhtml span {
    color: #0F6B4A !important;
    font-weight: 900 !important;
}

.rms-dash-shift-badge--closed {
    background: #EEF2FA;
    color: #6B7FA8;
}

/* Detail text */
.rms-dash-shift-card__cashier {
    font-size: 15px;
    font-weight: 800;
    color: #1E2A3A;
    line-height: 1.25;
}

.rms-dash-shift-card__detail {
    font-size: 13px;
    font-weight: 600;
    color: #1b3a7a;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rms-dash-shift-card--compact .rms-dash-shift-card__detail {
    font-size: 12px;
    font-weight: 600;
    color: #607297;
}

.rms-dash-shift-card__detail-name {
    font-weight: 700;
    color: #1E2A3A;
}

.rms-dash-shift-card__detail-meta {
    font-weight: 500;
    color: #6B7FA8;
}

.rms-dash-shift-card__opened {
    font-size: 11px;
    color: #6B7FA8;
}


/* ═══════════════════════════════════════════════════════════════════════════
   QUICK ACTIONS — section label
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-dash-actions-title div {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #6B7FA8;
    padding: 0 2px;
}


/* ═══════════════════════════════════════════════════════════════════════════
   QUICK ACTIONS — buttons (base, non-tile variant)
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-dash-action {
    text-align: left !important;
}

.rms-dash-action .x-inner-el {
    justify-content: flex-start !important;
    padding: 0 12px !important;
    border-radius: 10px !important;
    border: 1px solid #D5E0F5 !important;
    background: #FFFFFF !important;
    background-image: none !important;
    box-shadow: 0 1px 2px rgba(27, 58, 122, 0.04) !important;
}

.rms-dash-action .x-body-el {
    flex-direction: row !important;
    align-items: center !important;
}

.rms-dash-action .x-icon-el {
    width: 38px !important;
    height: 38px !important;
    margin: 0 11px 0 0 !important;
    border-radius: 9px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    flex-shrink: 0 !important;
}

.rms-dash-action .x-text-el {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1E2A3A !important;
}

/* ── Icon tint per action ── */
.rms-dash-action--floor   .x-icon-el { background: #E8F0FD; color: #2B5FC4; }
.rms-dash-action--takeout .x-icon-el { background: #FDF0D0; color: #7A5A0A; }
.rms-dash-action--kds     .x-icon-el { background: #FADDDD; color: #B83030; }
.rms-dash-action--shift   .x-icon-el { background: #DCF5EC; color: #0F6B4A; }
.rms-dash-action--reserve .x-icon-el { background: #E8F0FD; color: #1b3a7a; }
.rms-dash-action--menu    .x-icon-el { background: #F5F7FC; color: #607297;  }

/* Press state */
.rms-dash-action.x-hovered .x-inner-el{
    background: #F5F7FC !important;
    background-image: none !important;
    border-color: #2B5FC4 !important;
    box-shadow: none !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   QUICK ACTIONS — 2-column tile layout  (.rms-dash-action--tile)
   ═══════════════════════════════════════════════════════════════════════════ */

.rms-dash-action--tile {
    min-height: 82px !important;
    height: 82px !important;
    overflow: visible !important;
}

.rms-dash-action--tile .x-inner-el {
    justify-content: center !important;
    align-items: center !important;
    padding: 8px 6px 10px !important;
    min-height: 82px !important;
    height: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

.rms-dash-action--tile .x-body-el {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
}

.rms-dash-action--tile .x-icon-el {
    flex-shrink: 0 !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 0 7px 0 !important;
    font-size: 14px !important;
    border-radius: 8px !important;
}

.rms-dash-action--tile .x-text-el {
    flex-shrink: 0 !important;
    display: block !important;
    overflow: visible !important;
    max-height: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
    color: #1E2A3A !important;
}


/* ── Modifier manager ───────────────────────────────────────────────────── */

.rms-menu-manager,
.rms-menu-manager-body {
    background: #EEF2FA !important;
}

.rms-menu-manager .x-panelheader,
.rms-menu-manager > .x-dock > .x-panelheader {
    background-color: #fff !important;
    border-bottom: 1px solid #D5E0F5 !important;
    box-shadow: none !important;
}

.rms-menu-manager .x-panelheader .x-panelheader-body-el {
    border-bottom: 1px solid #D5E0F5 !important;
}

.rms-menu-manager .x-paneltitle {
    color: #1b3a7a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
}

/* Workspace */
.rms-modifier-workspace {
    padding: 0px 8px 8px !important;
    gap: 8px;
}

/* Sidebar — inherits rms-menu-sidebar base; only modifier-specific overrides here */
.rms-modifier-sidebar {
    width: 272px;
}

/* Main panel — inherits rms-menu-main base */
.rms-modifier-main .x-body-wrap-el {
    border: 1px solid #D5E0F5 !important;
}

/* Options toolbar header */
.rms-modifier-main-head {
    border-bottom: 1px solid #EEF2FA;
    background: #FFFFFF;
    flex-shrink: 0;
}

.rms-modifier-main-title {
    font-size: 13px;
    font-weight: 700;
    color: #1b3a7a;
    padding: 0 4px;
}

/* Group list item — uses rms-menu-nav-item layout */
.rms-modifier-group-item {
    min-height: 48px;
}

.rms-modifier-group-item .rms-menu-nav-item__meta {
    margin-top: 2px;
}

.rms-dash-action--tile .x-text-el {
    flex-shrink: 0 !important;
    display: block !important;
    overflow: visible !important;
    max-height: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
    color: #1b3a7a !important;
}

/* ── Touch-friendly Ext.Msg / MessageBox (Admin.utils.RmsMsg) ─────────────── */

.rms-touch-msgbox {
    max-width: 96vw !important;
}

.rms-touch-msgbox .x-messagebox-text,
.rms-touch-msgbox .x-messagebox-text * {
    font-size: 16px !important;
    line-height: 1.45 !important;
}

.rms-touch-msgbox .x-messageboxtitle,
.rms-touch-msgbox .x-dialogtitle {
    font-size: 18px !important;
    font-weight: 700 !important;
}

.rms-touch-msgbox .x-toolbar-footer {
    padding: 12px 10px !important;
}

.rms-touch-msgbox .x-toolbar-footer .x-button .x-inner-el {
    min-height: 56px !important;
    padding: 0 20px !important;
    border-radius: 10px !important;
}

.rms-touch-msgbox .x-toolbar-footer .x-button .x-text-el,
.rms-touch-msgbox .x-toolbar-footer .x-button .x-text-el * {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 56px !important;
}

/* Prompt dialogs (e.g. Covers) — wider body + taller input */
.rms-touch-msgbox--prompt {
    width: 92vw !important;
    max-width: 440px !important;
}

.rms-touch-msgbox--prompt .x-messagebox-text {
    margin-bottom: 12px !important;
}

.rms-touch-msgbox--prompt .x-field,
.rms-touch-msgbox--prompt .x-textfield {
    margin: 8px 12px 4px !important;
}

.rms-touch-msgbox--prompt .x-field .x-input-el,
.rms-touch-msgbox--prompt .x-textfield .x-input-el {
    font-size: 18px !important;
    min-height: 52px !important;
    text-align: center !important;
}

.rms-touch-msgbox--prompt .x-field .x-input-wrap-el,
.rms-touch-msgbox--prompt .x-textfield .x-input-wrap-el {
    min-height: 52px !important;
    border-radius: 10px !important;
}

/* Two-button prompts/confirms — full-width stacked OK + Cancel */
.rms-touch-msgbox--stacked:not(.rms-touch-msgbox--prompt) {
    max-width: 420px !important;
}

/*
 * Button roles (Admin.utils.RmsMsg). Footer uses defaultButtonUI: null so .x-button-action global
 * blue from overrides.scss does not apply; only [data-rms-role="primary"] is filled blue.
 */
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.x-button-action .x-inner-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button:not([data-rms-role="primary"]):not([data-rms-role="cancel"]) .x-inner-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.x-button-action .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-inner-el,
.x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-inner-el {
    background-color: #fff !important;
    border: 2px solid #c5d0de !important;
    background-image: none !important;
    box-shadow: none !important;
}

#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.x-button-action:not([data-rms-role="primary"]) .x-text-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-text-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-text-el *,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-text-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-text-el * {
    color: #2B5FC4 !important;
}

#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="primary"] .x-inner-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--primary .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="primary"] .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--primary .x-inner-el,
.x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="primary"] .x-inner-el,
.x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--primary .x-inner-el,
body.admin-brand-greenlane .x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="primary"] .x-inner-el,
body.admin-brand-greenlane .x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--primary .x-inner-el {
    background-color: #2B5FC4 !important;
    border: 2px solid #2B5FC4 !important;
    background-image: none !important;
    box-shadow: none !important;
}

#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="primary"] .x-text-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="primary"] .x-text-el *,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--primary .x-text-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--primary .x-text-el *,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="primary"] .x-text-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="primary"] .x-text-el *,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--primary .x-text-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--primary .x-text-el * {
    color: #fff !important;
}

#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="primary"].x-button-pressing .x-inner-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="primary"].x-button-pressed .x-inner-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--primary.x-button-pressing .x-inner-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--primary.x-button-pressed .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="primary"].x-button-pressing .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="primary"].x-button-pressed .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--primary.x-button-pressing .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--primary.x-button-pressed .x-inner-el {
    background-color: #1369a7 !important;
    border-color: #1369a7 !important;
}

#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-inner-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--secondary .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--secondary .x-inner-el,
.x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-inner-el,
.x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--secondary .x-inner-el,
body.admin-brand-greenlane .x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-inner-el,
body.admin-brand-greenlane .x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--secondary .x-inner-el {
    background-color: #fff !important;
    border: 2px solid #c5d0de !important;
    background-image: none !important;
    box-shadow: none !important;
}

#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-text-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-text-el *,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--secondary .x-text-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--secondary .x-text-el *,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-text-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="secondary"] .x-text-el *,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--secondary .x-text-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--secondary .x-text-el * {
    color: #2B5FC4 !important;
}

#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"] .x-inner-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"] .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel .x-inner-el,
.x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"] .x-inner-el,
.x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel .x-inner-el,
body.admin-brand-greenlane .x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"] .x-inner-el,
body.admin-brand-greenlane .x-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel .x-inner-el {
    background-color: #fff !important;
    border: 2px solid #B83030 !important;
    background-image: none !important;
    box-shadow: none !important;
}

#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"] .x-text-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"] .x-text-el *,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel .x-text-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel .x-text-el *,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"] .x-text-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"] .x-text-el *,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel .x-text-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel .x-text-el * {
    color: #B83030 !important;
}

#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"].x-button-pressing .x-inner-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"].x-button-pressed .x-inner-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel.x-button-pressing .x-inner-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel.x-button-pressed .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"].x-button-pressing .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"].x-button-pressed .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel.x-button-pressing .x-inner-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel.x-button-pressed .x-inner-el {
    background-color: #fef2f2 !important;
    border-color: #b91c1c !important;
}

#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"].x-button-pressing .x-text-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"].x-button-pressed .x-text-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel.x-button-pressing .x-text-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel.x-button-pressed .x-text-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"].x-button-pressing .x-text-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"].x-button-pressed .x-text-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel.x-button-pressing .x-text-el,
body.admin-brand-greenlane #ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel.x-button-pressed .x-text-el,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"].x-button-pressing .x-text-el *,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button[data-rms-role="cancel"].x-button-pressed .x-text-el *,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel.x-button-pressing .x-text-el *,
#ext-messagebox.rms-touch-msgbox .x-toolbar-footer .x-button.rms-touch-msgbox-btn--cancel.x-button-pressed .x-text-el * {
    color: #b91c1c !important;
}

/* Full-width stacked footer (alerts, prompts, table menus) */
.rms-touch-msgbox--stacked {
    width: 92vw !important;
    max-width: 420px !important;
}

.rms-touch-msgbox--stacked .x-toolbar-footer {
    padding: 12px !important;
}

.rms-touch-msgbox--stacked .x-toolbar-footer,
.rms-touch-msgbox--stacked .x-toolbar-footer .x-body-el,
.rms-touch-msgbox--stacked .x-toolbar-footer .x-box-el {
    width: 100% !important;
    max-width: 100% !important;
}

.rms-touch-msgbox--stacked .x-toolbar-footer .x-button,
.rms-touch-msgbox--stacked .x-toolbar-footer .x-layout-box-item.x-button {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 6px 0 !important;
}

.rms-touch-msgbox--stacked .x-toolbar-footer .x-button .x-inner-el {
    width: 100% !important;
}

.rms-touch-msgbox--stacked .x-toolbar-footer .x-button .x-body-el {
    justify-content: center !important;
}

.rms-touch-msgbox .x-field .x-input-el,
.rms-touch-msgbox .x-textfield .x-input-el {
    font-size: 16px !important;
    min-height: 48px !important;
}

.rms-touch-msgbox .x-field .x-input-wrap-el {
    min-height: 48px !important;
}

/* Kitchen printer configuration */
.rms-printer-config-body {
    background: #F5F6F8;
}

.rms-printer-list__row {
    display: flex;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid #DDE1E7;
    background: #FFFFFF;
}

.rms-printer-list__main {
    flex: 1;
    min-width: 0;
}

.rms-printer-list__name {
    font-size: 16px;
    font-weight: 600;
    color: #1b3a7a;
}

.rms-printer-list__meta {
    font-size: 13px;
    color: #5C6573;
    margin-top: 4px;
}

.rms-printer-list__badge {
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 12px;
    background: #E8F5E9;
    color: #2E7D32;
    margin-right: 12px;
}

.rms-printer-list__badge--off {
    background: #F0F0F0;
    color: #757575;
}

.rms-printer-list__edit {
    font-size: 14px;
    font-weight: 600;
    color: #E8943A;
    padding: 8px 12px;
}

.rms-printer-cat-header {
    padding: 10px 16px 6px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #5C6573;
    background: #EEF1F5;
    border-bottom: 1px solid #DDE1E7;
}

.rms-printer-cat-row {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #DDE1E7;
    background: #FFFFFF;
}

.rms-printer-cat-row__text {
    flex: 1;
}

.rms-printer-cat-row__group {
    font-size: 12px;
    color: #5C6573;
}

.rms-printer-cat-row__name {
    font-size: 15px;
    font-weight: 600;
    color: #1b3a7a;
}

.rms-printer-cat-row__toggle {
    font-size: 13px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 16px;
    background: #F0F0F0;
    color: #757575;
}

.rms-printer-cat-row__toggle--on {
    background: #E8943A;
    color: #FFFFFF;
}

/* ── Waitlist Panel ────────────────────────────────────────────────────────── */

/* Panel header */
.rms-waitlist-panel .x-panelheader,
.rms-waitlist-panel > .x-dock > .x-panelheader {
    background-color: #fff !important;
    border-bottom: 1px solid #D5E0F5 !important;
    box-shadow: none !important;
}

.rms-waitlist-panel .x-paneltitle {
    color: #1b3a7a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
}

/* Toolbar strip below header */
.rms-waitlist-toolbar.x-toolbar {
    background: #FFFFFF !important;
    border-bottom: 1px solid #D5E0F5 !important;
    padding: 0 12px !important;
}

.rms-waitlist-toolbar-title {
    font-size: 14px;
    font-weight: 700;
    color: #1E2A3A;
    display: flex;
    align-items: center;
    gap: 6px;
}

.rms-waitlist-toolbar-title .x-fa {
    color: #6B7FA8;
    font-size: 13px;
}

/* Toolbar "Refresh" ghost button */
.rms-waitlist-btn-ghost .x-inner-el {
    background: #FFFFFF !important;
    background-image: none !important;
    border: 1px solid #D5E0F5 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.rms-waitlist-btn-ghost .x-text-el,
.rms-waitlist-btn-ghost .x-icon-el {
    color: #607297 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.rms-waitlist-btn-ghost.x-hovered .x-inner-el {
    background: #E8F0FD !important;
    border-color: #D5E0F5 !important;
}

.rms-waitlist-btn-ghost.x-hovered .x-text-el,
.rms-waitlist-btn-ghost.x-hovered .x-icon-el {
    color: #1E2A3A !important;
}

/* Toolbar "Add to Waitlist" primary CTA */
.rms-waitlist-btn-primary .x-inner-el {
    background: #2B5FC4 !important;
    background-image: none !important;
    border: 1px solid #1b3a7a !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    min-width: 148px !important;
}

.rms-waitlist-btn-primary .x-text-el,
.rms-waitlist-btn-primary .x-icon-el {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.rms-waitlist-btn-primary.x-hovered .x-inner-el {
    background: #1b3a7a !important;
    border-color: #1b3a7a !important;
}

/* Grid */
.rms-waitlist-grid {
    background: #ffffff;
}

.rms-waitlist-grid .x-headercontainer {
    background: #F5F7FC !important;
    border-bottom: 1px solid #D5E0F5 !important;
}

.rms-waitlist-grid .x-column-header {
    border-right: 1px solid #EEF2FA !important;
}

.rms-waitlist-grid .x-column-header .x-text-el,
.rms-waitlist-grid .x-column-header .x-text-el * {
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #6B7FA8 !important;
}

.rms-waitlist-grid .x-gridrow {
    border-bottom: 1px solid #EEF2FA !important;
}

.rms-waitlist-grid .x-gridrow.x-odd {
    background: #FAFBFD;
}

.rms-waitlist-grid .x-gridrow:not(.x-selected):hover {
    background: #F0F5FF !important;
}

.rms-waitlist-grid .x-gridcell {
    font-size: 13px !important;
    vertical-align: middle;
    padding: 0 8px !important;
}

.rms-waitlist-grid .x-gridcell-body-el {
    display: inline-flex;
    align-items: center;
}

/* Cell classes */
.rms-waitlist-cell-id {
    font-weight: 600 !important;
    color: #6B7FA8 !important;
    font-size: 12px !important;
}

.rms-waitlist-cell-name {
    font-weight: 600 !important;
    color: #1E2A3A !important;
}

.rms-waitlist-cell-party {
    font-weight: 700 !important;
    color: #1b3a7a !important;
}

.rms-waitlist-cell-phone {
    color: #607297 !important;
    font-size: 12px !important;
}

/* Wait-time badges */
.rms-waitlist-wait-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.rms-waitlist-wait-badge--ok {
    background: #DCF5EC;
    color: #0F6B4A;
}

.rms-waitlist-wait-badge--warn {
    background: #FDF0D0;
    color: #7A5A0A;
}

.rms-waitlist-wait-badge--danger {
    background: #FADDDD;
    color: #B83030;
}

/* Action buttons in the grid */
.rms-waitlist-actions {
    display: flex;
    gap: 6px;
    align-items: center;
}

.rms-waitlist-action-btn {
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    white-space: nowrap;
    letter-spacing: 0.01em;
    transition: background 100ms, color 100ms;
    -webkit-tap-highlight-color: transparent;
}

.rms-waitlist-action-btn--seat {
    background: #DCF5EC;
    color: #0F6B4A;
    border: 1px solid #b0dece;
}

.rms-waitlist-action-btn--seat:active,
.rms-waitlist-action-btn--seat:hover {
    background: #0F6B4A;
    color: #ffffff;
    border-color: #0F6B4A;
}

.rms-waitlist-action-btn--remove {
    background: #FADDDD;
    color: #B83030;
    border: 1px solid #f0c8c8;
}

.rms-waitlist-action-btn--remove:active,
.rms-waitlist-action-btn--remove:hover {
    background: #B83030;
    color: #ffffff;
    border-color: #B83030;
}

.rms-shift-summary .x-toolbar .x-toolbar-body-el {
    border-bottom: 1px solid #D5E0F5 !important;
}
