/* RestaurantPoS V3.7 — authenticated admin cleanup.
   The staff login uses Filament's simple layout and is intentionally excluded. */

.fi-layout,
.fi-layout * {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* The breadcrumb trail already names the page ("Suppliers > List"), so the
   big duplicate <h1> right below it is pure repetition — hide the heading
   wherever a breadcrumb is present, on every resource page site-wide, but
   leave it alone on simple pages that have no breadcrumb (their heading is
   the only page title they have). */
.fi-header:has(.fi-breadcrumbs) .fi-header-heading {
    display: none !important;
}

/* Deliberate exception to the flat-design rule above: the cashier
   shift-start prompt is a glass modal by request. Shared across every page
   that can show it (Dashboard, POS) via App\Filament\Pages\Concerns\HasCashierShiftPrompt. */
.fi-layout .rd-shift-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(15, 23, 42, .45);
    -webkit-backdrop-filter: blur(6px) !important;
    backdrop-filter: blur(6px) !important;
}

.fi-layout .rd-shift-modal {
    position: relative;
    width: 100%;
    max-width: 380px;
    border-radius: 1rem;
    padding: 26px 24px 22px;
    background: color-mix(in srgb, var(--d-card, #fff) 88%, transparent);
    -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
    backdrop-filter: blur(18px) saturate(160%) !important;
    border: 1px solid rgba(255, 255, 255, .35);
    box-shadow: 0 24px 60px -12px rgba(0, 0, 0, .35);
    text-align: center;
}

.dark .fi-layout .rd-shift-modal {
    background: color-mix(in srgb, var(--d-card, #181f27) 78%, transparent);
    border-color: rgba(255, 255, 255, .08);
}

.fi-layout .rd-shift-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    border: 1px solid var(--d-line, #dfe5ec);
    background: var(--d-soft, #f8fafc);
    color: var(--d-muted, #748091);
    cursor: pointer;
}

.fi-layout .rd-shift-modal-close:hover {
    background: var(--d-line, #dfe5ec);
}

.fi-layout .rd-shift-modal-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--restaurant-primary, #d79a2b), color-mix(in srgb, var(--restaurant-primary, #d79a2b) 60%, #fff));
    color: #fff;
    position: relative;
    overflow: hidden;
}

.fi-layout .rd-shift-modal-icon svg {
    width: 28px !important;
    height: 28px !important;
    position: relative;
    z-index: 1;
}

.fi-layout .rd-shift-modal-icon::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 20%, rgba(255, 255, 255, .55) 45%, transparent 70%);
    background-size: 200% 100%;
    animation: rd-shimmer 2.2s ease-in-out infinite;
}

@keyframes rd-shimmer {
    0% { background-position: 150% 0; }
    100% { background-position: -50% 0; }
}

.fi-layout .rd-shift-modal h3 {
    margin: 0 0 4px;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--d-text, #202833);
}

.fi-layout .rd-shift-modal p {
    margin: 0 0 16px;
    color: var(--d-muted, #748091);
    font-size: .72rem;
    line-height: 1.5;
}

.fi-layout .rd-shift-modal label {
    display: block;
    text-align: left;
    font-size: .58rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--d-muted, #748091);
    margin-bottom: 5px;
}

.fi-layout .rd-shift-modal input {
    width: 100%;
    height: 40px;
    border-radius: .6rem;
    border: 1px solid var(--d-line, #dfe5ec);
    background: var(--d-soft, #f8fafc);
    color: var(--d-text, #202833);
    padding: 0 12px;
    font-size: .8rem;
    margin-bottom: 16px;
    box-sizing: border-box;
}

.fi-layout .rd-shift-modal-actions {
    display: flex;
    gap: 8px;
}

.fi-layout .rd-shift-modal-start {
    flex: 1.4;
    height: 42px;
    border-radius: .6rem;
    border: 0;
    background: var(--restaurant-primary, #d79a2b);
    color: #fff;
    font-weight: 800;
    font-size: .72rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.fi-layout .rd-shift-modal-later {
    flex: 1;
    height: 42px;
    border-radius: .6rem;
    border: 1px solid var(--d-line, #dfe5ec);
    background: var(--d-soft, #f8fafc);
    color: var(--d-text, #202833);
    font-weight: 700;
    font-size: .72rem;
    cursor: pointer;
}

/* Glassmorphism hero panel: a colourful decorative glow sits behind the
   hero (see .rd-hero-blob), and the hero itself is a frosted, semi
   transparent panel so the glow is visible blurred through it — otherwise,
   against the plain page background, backdrop-filter has nothing to blur. */
.fi-layout .rd-hero-glass {
    background: color-mix(in srgb, var(--d-card, #fff) 55%, transparent) !important;
    -webkit-backdrop-filter: blur(22px) saturate(180%) !important;
    backdrop-filter: blur(22px) saturate(180%) !important;
    border: 1px solid rgba(255, 255, 255, .35) !important;
}

.dark .fi-layout .rd-hero-glass {
    background: color-mix(in srgb, var(--d-card, #181f27) 45%, transparent) !important;
    border-color: rgba(255, 255, 255, .08) !important;
}

/* Prevent the old inherited topbar search styling from becoming translucent. */
.fi-layout .farm-topbar-search-inline input,
.fi-layout .penzi-global-search-hook input,
.fi-layout .rugs-input {
    background: var(--rpos-flat-surface, #fff) !important;
    background-image: none !important;
}

/* Penzi/Agrovet HR cards: keep the information, remove the glass/neumorphic treatment. */
.fi-layout .hr-stat-card,
.fi-layout .hrx-card,
.fi-layout .hrx-list,
.fi-layout .hrx-mini,
.fi-layout .hrx-payroll,
.fi-layout .hrx-workforce,
.fi-layout .hrx-section,
.fi-layout .hrx-shell,
.fi-layout .hr-section,
.fi-layout .hr-card,
.fi-layout .rp-mm-hero,
.fi-layout .rp-mm-stat,
.fi-layout .rp-mm-card,
.fi-layout .rp-mm-note {
    background: var(--rpos-flat-surface, #fff) !important;
    background-image: none !important;
    border: 1px solid var(--rpos-flat-border, #dce2e8) !important;
    border-radius: .75rem !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05) !important;
}

.dark .fi-layout .hr-stat-card,
.dark .fi-layout .hrx-card,
.dark .fi-layout .hrx-list,
.dark .fi-layout .hrx-mini,
.dark .fi-layout .hrx-payroll,
.dark .fi-layout .hrx-workforce,
.dark .fi-layout .hrx-section,
.dark .fi-layout .hrx-shell,
.dark .fi-layout .hr-section,
.dark .fi-layout .hr-card,
.dark .fi-layout .rp-mm-hero,
.dark .fi-layout .rp-mm-stat,
.dark .fi-layout .rp-mm-card,
.dark .fi-layout .rp-mm-note {
    background: var(--rpos-flat-surface, #171c22) !important;
    border-color: var(--rpos-flat-border, #303842) !important;
    box-shadow: none !important;
}

.fi-layout .hr-stat-card::before,
.fi-layout .hr-stat-card::after,
.fi-layout .hrx-card::before,
.fi-layout .hrx-card::after,
.fi-layout .rp-mm-hero::before,
.fi-layout .rp-mm-hero::after,
.fi-layout .rp-mm-card::before,
.fi-layout .rp-mm-card::after {
    filter: none !important;
    box-shadow: none !important;
}

/* Module Manager "premium" look, matching the same flat-card-plus-colored-
   accent formula already used on the shift and menu premium pages
   (see .rshift-premium / .rmenu-premium-page above): a colored top-border
   per module, a tinted icon badge to match, and a gradient hero band —
   not neumorphism, which this app deliberately moved away from everywhere
   else, so Module Manager shouldn't be the one page that goes back to it. */
.fi-layout .rp-mm-card:nth-of-type(10n+1) { --mm-accent: #16a34a; }
.fi-layout .rp-mm-card:nth-of-type(10n+2) { --mm-accent: #f97316; }
.fi-layout .rp-mm-card:nth-of-type(10n+3) { --mm-accent: #2563eb; }
.fi-layout .rp-mm-card:nth-of-type(10n+4) { --mm-accent: #0f9f8f; }
.fi-layout .rp-mm-card:nth-of-type(10n+5) { --mm-accent: #8b5cf6; }
.fi-layout .rp-mm-card:nth-of-type(10n+6) { --mm-accent: #d946ef; }
.fi-layout .rp-mm-card:nth-of-type(10n+7) { --mm-accent: #eab308; }
.fi-layout .rp-mm-card:nth-of-type(10n+8) { --mm-accent: #ec4899; }
.fi-layout .rp-mm-card:nth-of-type(10n+9) { --mm-accent: #dc2626; }
.fi-layout .rp-mm-card:nth-of-type(10n+10) { --mm-accent: #64748b; }

.fi-layout .rp-mm-card {
    border-top: 3px solid var(--mm-accent, #d99a2b) !important;
    background: color-mix(in srgb, var(--mm-accent, #d99a2b) 3%, var(--rpos-flat-surface, #fff)) !important;
    transition: box-shadow .15s ease;
}

.dark .fi-layout .rp-mm-card {
    background: color-mix(in srgb, var(--mm-accent, #d99a2b) 6%, var(--rpos-flat-surface, #171c22)) !important;
}

.fi-layout .rp-mm-card:hover {
    box-shadow: 0 6px 18px -6px color-mix(in srgb, var(--mm-accent, #d99a2b) 35%, transparent) !important;
}

.fi-layout .rp-mm-icon {
    color: var(--mm-accent, #d99a2b) !important;
    background: color-mix(in srgb, var(--mm-accent, #d99a2b) 12%, transparent) !important;
    box-shadow: none !important;
    border: 1px solid color-mix(in srgb, var(--mm-accent, #d99a2b) 28%, transparent) !important;
}

.fi-layout .rp-mm-hero {
    border-left: 4px solid var(--rpos-flat-accent, #d99a2b) !important;
    background: linear-gradient(120deg, color-mix(in srgb, var(--rpos-flat-accent, #d99a2b) 6%, var(--rpos-flat-surface, #fff)), var(--rpos-flat-surface, #fff)) !important;
}

.fi-layout .hr-stat-card:hover,
.fi-layout .hrx-card:hover,
.fi-layout .rp-mm-card:hover {
    transform: none !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .07) !important;
}

/* Only one global search: the universal search rendered at TOPBAR_START. */
.fi-topbar,
.fi-topbar nav,
.fi-topbar-start,
.fi-topbar-end {
    overflow: visible !important;
}

.penzi-global-search-hook {
    position: relative;
    width: min(34rem, 46vw);
    min-width: 19rem;
    margin-inline: .5rem;
    z-index: 80;
}

.penzi-global-search-hook > * {
    width: 100%;
}

.rugs-root {
    position: relative;
    width: 100%;
    z-index: 100;
}

.rugs-input-wrap {
    position: relative;
    width: 100%;
}

.rugs-leading-icon {
    position: absolute;
    left: .8rem;
    top: 50%;
    width: 1rem;
    height: 1rem;
    color: #94a3b8;
    transform: translateY(-50%);
    pointer-events: none;
}

.rugs-input {
    width: 100%;
    height: 2.45rem;
    border: 1px solid #d7dde5 !important;
    border-radius: .7rem !important;
    padding: .55rem 5rem .55rem 2.45rem !important;
    color: #1f2937 !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: none !important;
    font-size: .82rem;
}

.rugs-input:focus {
    border-color: rgb(var(--primary-500, 217 154 43)) !important;
    box-shadow: 0 0 0 1px rgb(var(--primary-500, 217 154 43)) !important;
}

.dark .rugs-input {
    color: #f8fafc !important;
    background: #171c22 !important;
    border-color: #374151 !important;
}

.rugs-actions {
    position: absolute;
    inset-block: 0;
    right: .55rem;
    display: flex;
    align-items: center;
    gap: .35rem;
}

.rugs-loading { color: rgb(var(--primary-600, 217 154 43)); }
.rugs-clear,
.rugs-close {
    border: 0;
    background: transparent;
    color: #64748b;
    cursor: pointer;
}
.rugs-clear { display:grid; place-items:center; width:1.7rem; height:1.7rem; border-radius:.45rem; }
.rugs-clear:hover { background:#f1f5f9; color:#334155; }
.dark .rugs-clear:hover { background:#252b33; color:#e5e7eb; }
.rugs-close { font-size:.72rem; font-weight:700; }
.rugs-kbd { border:1px solid #d7dde5; border-radius:.35rem; padding:.14rem .35rem; color:#64748b; background:#f8fafc; font-size:.6rem; font-weight:700; }
.dark .rugs-kbd { border-color:#374151; background:#20262d; color:#94a3b8; }

.rugs-results {
    position: absolute;
    top: calc(100% + .5rem);
    left: 0;
    width: min(44rem, calc(100vw - 2rem));
    max-height: min(70vh, 36rem);
    overflow: hidden;
    border: 1px solid #d7dde5;
    border-radius: .75rem;
    background: #fff;
    box-shadow: 0 14px 32px rgba(15,23,42,.14);
}
.dark .rugs-results { border-color:#374151; background:#171c22; box-shadow:0 16px 36px rgba(0,0,0,.42); }
.rugs-results-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem .9rem; border-bottom:1px solid #e5e7eb; }
.dark .rugs-results-head { border-color:#303842; }
.rugs-title { color:#111827; font-size:.82rem; font-weight:800; }
.dark .rugs-title { color:#f8fafc; }
.rugs-subtitle { margin-top:.12rem; color:#64748b; font-size:.66rem; }
.rugs-results-body { max-height: calc(min(70vh, 36rem) - 4rem); overflow-y:auto; padding:.55rem; }
.rugs-empty { padding:1.25rem; color:#64748b; text-align:center; font-size:.78rem; }
.rugs-group + .rugs-group { margin-top:.65rem; }
.rugs-group-label { padding:.2rem .45rem .35rem; color:#64748b; font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.rugs-group-list { display:grid; gap:.2rem; }
.rugs-result { display:flex; align-items:flex-start; gap:.7rem; padding:.62rem .65rem; border:1px solid transparent; border-radius:.6rem; text-decoration:none; }
.rugs-result:hover { border-color:#e2e8f0; background:#f8fafc; }
.dark .rugs-result:hover { border-color:#374151; background:#20262d; }
.rugs-icon { display:grid; place-items:center; flex:0 0 2rem; width:2rem; height:2rem; border-radius:.5rem; color:rgb(var(--primary-700, 180 120 30)); background:rgb(var(--primary-50, 255 247 237)); }
.dark .rugs-icon { background:#252b33; }
.rugs-copy { min-width:0; flex:1; }
.rugs-result-title { color:#111827; font-size:.76rem; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dark .rugs-result-title { color:#f8fafc; }
.rugs-result-subtitle { margin-top:.08rem; color:#64748b; font-size:.64rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rugs-details { display:flex; flex-wrap:wrap; gap:.35rem .6rem; margin-top:.3rem; color:#64748b; font-size:.58rem; }
.rugs-arrow { flex:0 0 auto; width:.9rem; height:.9rem; margin-top:.5rem; color:#94a3b8; }

@media (max-width: 900px) {
    .penzi-global-search-hook { width:min(26rem, 55vw); min-width:14rem; }
    .rugs-results { width:min(38rem, calc(100vw - 1rem)); }
}

@media (max-width: 768px) {
    .fi-topbar nav { flex-wrap:wrap !important; }
    .penzi-global-search-hook { order:99; flex:0 0 100%; width:100%; min-width:0; max-width:none; margin:.35rem 0 0; }
    .rugs-results { position:fixed; top:7.2rem; left:.5rem; right:.5rem; width:auto; max-height:calc(100vh - 8rem); }
}

/* restaurant-sidebar-v3-12-3:start */
/* Shared HR-style menu applied to the complete RestaurantPoS sidebar. */

/* Remove every connector rail, vertical line and navigation dot. */
html body .fi-sidebar .fi-sidebar-group-items,
html body .fi-sidebar .fi-sidebar-item,
html body .fi-sidebar .fi-sidebar-item-button,
html body .fi-sidebar .fi-sidebar-item-children,
html body .fi-sidebar .fi-sidebar-group-items ul,
html body .fi-sidebar .fi-sidebar-group-items li {
    border-inline-start: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    background-image: none !important;
}
html body .fi-sidebar .fi-sidebar-group-items::before,
html body .fi-sidebar .fi-sidebar-group-items::after,
html body .fi-sidebar .fi-sidebar-item::before,
html body .fi-sidebar .fi-sidebar-item::after,
html body .fi-sidebar .fi-sidebar-item-button::before,
html body .fi-sidebar .fi-sidebar-item-button::after,
html body .fi-sidebar .fi-sidebar-item-children::before,
html body .fi-sidebar .fi-sidebar-item-children::after,
html body .fi-sidebar .fi-sidebar-group-items ul::before,
html body .fi-sidebar .fi-sidebar-group-items ul::after,
html body .fi-sidebar .fi-sidebar-group-items li::before,
html body .fi-sidebar .fi-sidebar-group-items li::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Shared HR clean-menu proportions. */
html body .fi-sidebar .fi-sidebar-group-label,
html body .fi-sidebar .fi-sidebar-group-label > span {
    font-size: .66rem !important;
    line-height: 1.15 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    font-variation-settings: "wght" 800 !important;
    font-synthesis: weight !important;
    opacity: 1 !important;
}

/* Uniform font weight for every sidebar link, including active links. */
html body .fi-sidebar .fi-sidebar-item-label,
html body .fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-label,
html body .fi-sidebar .fi-sidebar-item-button[aria-current="page"] .fi-sidebar-item-label {
    font-size: .82rem !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    font-variation-settings: "wght" 500 !important;
    font-synthesis: weight !important;
    letter-spacing: 0 !important;
}
html body .fi-sidebar .fi-sidebar-item,
html body .fi-sidebar .fi-sidebar-item-button {
    min-height: 2rem !important;
}
html body .fi-sidebar .fi-sidebar-item-button {
    padding-top: .34rem !important;
    padding-bottom: .34rem !important;
    padding-inline-start: .65rem !important;
    padding-inline-end: .65rem !important;
    gap: .4rem !important;
}

/* Flatten any leftover HR/cluster indentation. */
html body .fi-sidebar .fi-sidebar-group-items,
html body .fi-sidebar .fi-sidebar-group-items ul,
html body .fi-sidebar .fi-sidebar-item-children {
    margin-inline-start: 0 !important;
    padding-inline-start: 0 !important;
}

/* Keep current Restaurant text-only navigation. */
html body .fi-sidebar .fi-sidebar-item-icon,
html body .fi-sidebar .fi-sidebar-item-button > svg:first-child {
    display: none !important;
}

/* Compact badges without changing row height. */
html body .fi-sidebar .fi-sidebar-item-badge {
    min-width: 1.15rem !important;
    min-height: 1.15rem !important;
    padding: 0 .28rem !important;
    font-size: .58rem !important;
    font-weight: 600 !important;
}

html body .fi-sidebar .fi-sidebar-group {
    margin-bottom: .72rem !important;
}
html body .fi-sidebar .fi-sidebar-group-label {
    margin-bottom: .25rem !important;
}
html body .fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-button,
html body .fi-sidebar .fi-sidebar-item-button[aria-current="page"] {
    font-weight: 500 !important;
}
/* restaurant-sidebar-v3-12-3:end */

/* restaurant-typography-v3-12-4:start */
/* Strong sidebar group headings + calmer dashboard Filament tables. */

/* Sidebar group headings: intentionally very bold. */
html body .fi-sidebar .fi-sidebar-group-label,
html body .fi-sidebar .fi-sidebar-group-label > span {
    font-weight: 900 !important;
    font-variation-settings: "wght" 900 !important;
    font-synthesis: weight !important;
    -webkit-text-stroke: .12px currentColor !important;
    opacity: 1 !important;
}

/* Keep sidebar links uniform and lighter than the group headings. */
html body .fi-sidebar .fi-sidebar-item-label,
html body .fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-label,
html body .fi-sidebar .fi-sidebar-item-button[aria-current="page"] .fi-sidebar-item-label {
    font-weight: 500 !important;
    font-variation-settings: "wght" 500 !important;
}

/* Dashboard Filament tables: match the lighter dashboard typography. */
.rdash .rd-table-slot .fi-ta-header-cell-label,
.rdash .rd-table-slot .fi-ta-header-cell-label span,
.rdash .rd-table-slot .fi-ta-header-cell button {
    font-weight: 600 !important;
    font-variation-settings: "wght" 600 !important;
}

.rdash .rd-table-slot .fi-ta-cell,
.rdash .rd-table-slot .fi-ta-cell *:not(.fi-badge):not(svg):not(path),
.rdash .rd-table-slot .fi-ta-text-item,
.rdash .rd-table-slot .fi-ta-text-item-label,
.rdash .rd-table-slot .fi-ta-text-item a,
.rdash .rd-table-slot .fi-ta-record a {
    font-weight: 500 !important;
    font-variation-settings: "wght" 500 !important;
}

/* Secondary/subtext should not look heavy. */
.rdash .rd-table-slot .fi-ta-text-item-description,
.rdash .rd-table-slot .fi-ta-cell .text-gray-500,
.rdash .rd-table-slot .fi-ta-cell .dark\:text-gray-400 {
    font-weight: 400 !important;
    font-variation-settings: "wght" 400 !important;
}

/* Preserve compact spacing from V3.12.2 without making text feel cramped. */
.rdash .rd-table-slot .fi-ta-cell {
    line-height: 1.35 !important;
}
.rdash .rd-table-slot .fi-ta-header-cell {
    line-height: 1.25 !important;
}
/* restaurant-typography-v3-12-4:end */

/* restaurant-sidebar-heading-v3-13:start */
/* Comfortaa can render heavy numeric weights too softly at small sizes. */
/* Use a system bold face for GROUP LABELS only; sidebar items stay Comfortaa. */
html body .fi-sidebar .fi-sidebar-group-button,
html body .fi-sidebar .fi-sidebar-group-button > span,
html body .fi-sidebar .fi-sidebar-group-label,
html body .fi-sidebar .fi-sidebar-group-label > span {
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: .67rem !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    font-variation-settings: "wght" 900 !important;
    font-synthesis: weight !important;
    letter-spacing: .065em !important;
    text-transform: uppercase !important;
    color: rgb(17 24 39) !important;
    opacity: 1 !important;
}
html.dark body .fi-sidebar .fi-sidebar-group-button,
html.dark body .fi-sidebar .fi-sidebar-group-button > span,
html.dark body .fi-sidebar .fi-sidebar-group-label,
html.dark body .fi-sidebar .fi-sidebar-group-label > span {
    color: rgb(243 244 246) !important;
}
/* Keep navigation links visually uniform. */
html body .fi-sidebar .fi-sidebar-item-label,
html body .fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-label,
html body .fi-sidebar .fi-sidebar-item-button[aria-current="page"] .fi-sidebar-item-label {
    font-weight: 500 !important;
    font-variation-settings: "wght" 500 !important;
}
/* restaurant-sidebar-heading-v3-13:end */

/* restaurant-premium-ops-v3-14:start */
.rpos-fast,.rpos-terminal-v2,.pay-shell,.opsboard,.rshift-premium,.rreceipts,.daily-report,.rmenu-premium-page,.rpos-floor-page,.rcat-premium-page{--rest-green:#16a34a;--rest-green-soft:#f0fdf4;--rest-orange:#f97316;--rest-orange-soft:#fff7ed;--rest-amber:#d97706;--rest-blue:#2563eb;--rest-blue-soft:#eff6ff;--rest-purple:#8b5cf6;--rest-purple-soft:#f5f3ff;--rest-teal:#0f9f8f;--rest-teal-soft:#f0fdfa;--rest-red:#e11d48;--rest-red-soft:#fff1f2}
/* POS */
.rpos-fast .rp-header{border-left:4px solid var(--rest-green)!important;background:color-mix(in srgb,var(--rest-green) 3%,var(--rp-card))!important}.rpos-fast .rp-grid>.rp-panel:first-child{border-top:3px solid var(--rest-orange)!important}.rpos-fast .rp-grid>.rp-panel:last-child{border-top:3px solid var(--rest-blue)!important}.rpos-fast .rp-mini:nth-child(1){border-top:2px solid var(--rest-purple)!important}.rpos-fast .rp-mini:nth-child(2){border-top:2px solid var(--rest-green)!important}.rpos-fast .rp-mini:nth-child(3){border-top:2px solid var(--rest-orange)!important}.rpos-fast .rp-mini:nth-child(4){border-top:2px solid var(--rest-blue)!important}.rpos-fast .rp-product{border-top:3px solid var(--rest-orange)!important;background:color-mix(in srgb,var(--rest-orange) 3%,var(--rp-card))!important}.rpos-fast .rp-product:has(.rp-station.bar){border-top-color:var(--rest-purple)!important;background:color-mix(in srgb,var(--rest-purple) 3%,var(--rp-card))!important}.rpos-fast .rp-product:has(.rp-station.direct){border-top-color:var(--rest-teal)!important;background:color-mix(in srgb,var(--rest-teal) 3%,var(--rp-card))!important}.rpos-fast .rp-product:hover{box-shadow:0 7px 18px rgba(15,23,42,.06)!important}.rpos-fast .rp-table.available{background:var(--rest-green-soft)!important;border-color:#bbf7d0!important}.rpos-fast .rp-table.occupied{background:var(--rest-orange-soft)!important;border-color:#fed7aa!important}.dark .rpos-fast .rp-table.available{background:#123328!important;border-color:#245a45!important}.dark .rpos-fast .rp-table.occupied{background:#352415!important;border-color:#5a3c1e!important}.rpos-fast .rp-cart-item{border-left:3px solid var(--rest-blue)!important}.rpos-fast .rp-open-order{border-left:3px solid var(--rest-amber)!important}.rpos-fast .rp-action-send{background:var(--rest-green)!important;border-color:var(--rest-green)!important}.rpos-fast .rp-action-pay{background:var(--rest-blue)!important;border-color:var(--rest-blue)!important}.rpos-fast .rp-total{border-left:3px solid var(--rest-purple)!important}
/* old POS fallback */
.rpos-terminal-v2 .rpos-v2-head,.rpos-terminal-v2 .rpos-v2-panel,.rpos-terminal-v2 .rpos-v2-chip,.rpos-terminal-v2 .rpos-v2-product,.rpos-terminal-v2 .rpos-v2-cartitem,.rpos-terminal-v2 .rpos-v2-table,.rpos-terminal-v2 .rpos-v2-btn,.rpos-terminal-v2 .rpos-v2-pill,.rpos-terminal-v2 .rpos-v2-cat{box-shadow:none!important;border:1px solid #dfe5ec!important;background:#fff!important;border-radius:.75rem!important}.rpos-terminal-v2 .rpos-v2-head{border-left:4px solid var(--rest-green)!important}.rpos-terminal-v2 .rpos-v2-product{border-top:3px solid var(--rest-orange)!important}
/* Cashier */
.pay-shell .pay-head{border-left:4px solid var(--rest-blue)!important;background:color-mix(in srgb,var(--rest-blue) 4%,var(--surface))!important}.pay-shell .pay-grid>.pay-panel:first-child{border-top:3px solid var(--rest-orange)!important}.pay-shell .pay-grid>.pay-panel:last-child{border-top:3px solid var(--rest-green)!important}.pay-shell .pay-order{transition:transform .12s,border-color .12s,background .12s!important}.pay-shell .pay-order:hover{transform:translateX(2px);border-color:var(--rest-blue)!important}.pay-shell .pay-order.active{border-left-color:var(--rest-orange)!important;background:var(--rest-orange-soft)!important}.dark .pay-shell .pay-order.active{background:#352415!important}.pay-shell .pay-method:nth-child(1){border-color:#86efac!important;color:#15803d!important;background:var(--rest-green-soft)!important}.pay-shell .pay-method:nth-child(2){border-color:#99f6e4!important;color:#0f766e!important;background:var(--rest-teal-soft)!important}.pay-shell .pay-method:nth-child(3){border-color:#bfdbfe!important;color:#1d4ed8!important;background:var(--rest-blue-soft)!important}.pay-shell .pay-method:nth-child(1).active{background:var(--rest-green)!important;color:#fff!important}.pay-shell .pay-method:nth-child(2).active{background:var(--rest-teal)!important;color:#fff!important}.pay-shell .pay-method:nth-child(3).active{background:var(--rest-blue)!important;color:#fff!important}.pay-shell .pay-total{border-left:3px solid var(--rest-purple)!important}.pay-shell .pay-btn{background:var(--rest-green)!important;border-color:var(--rest-green)!important}
/* Kitchen / Bar */
.opsboard .ops-head{border-left:4px solid var(--rest-orange)!important;background:color-mix(in srgb,var(--rest-orange) 4%,var(--surface))!important}.opsboard .ops-filters .ops-filter:nth-child(1){--ops-color:#2563eb}.opsboard .ops-filters .ops-filter:nth-child(2){--ops-color:#f97316}.opsboard .ops-filters .ops-filter:nth-child(3){--ops-color:#16a34a}.opsboard .ops-filters .ops-filter:nth-child(4){--ops-color:#8b5cf6}.opsboard .ops-filter.active{color:var(--ops-color)!important;background:color-mix(in srgb,var(--ops-color) 7%,var(--surface))!important;border-bottom-color:var(--ops-color)!important}.opsboard .ops-card[data-status="open"]{border-left-color:var(--rest-blue)!important}.opsboard .ops-card[data-status="preparing"]{border-left-color:var(--rest-orange)!important}.opsboard .ops-card[data-status="ready"]{border-left-color:var(--rest-green)!important}.opsboard .ops-card[data-status="open"] .ops-card-head{background:var(--rest-blue-soft)!important}.opsboard .ops-card[data-status="preparing"] .ops-card-head{background:var(--rest-orange-soft)!important}.opsboard .ops-card[data-status="ready"] .ops-card-head{background:var(--rest-green-soft)!important}.dark .opsboard .ops-card[data-status="open"] .ops-card-head{background:#162a46!important}.dark .opsboard .ops-card[data-status="preparing"] .ops-card-head{background:#352415!important}.dark .opsboard .ops-card[data-status="ready"] .ops-card-head{background:#123328!important}
/* Shifts */
.rshift-premium .rshift-hero,.rshift-premium .rshift-stat,.rshift-premium .rshift-panel,.rshift-premium .rshift-row,.rshift-premium .rshift-state,.rshift-premium .rshift-helper{box-shadow:none!important;background:#fff!important;border:1px solid #dfe5ec!important;border-radius:.8rem!important}.dark .rshift-premium .rshift-hero,.dark .rshift-premium .rshift-stat,.dark .rshift-premium .rshift-panel,.dark .rshift-premium .rshift-row,.dark .rshift-premium .rshift-state,.dark .rshift-premium .rshift-helper{background:#181f27!important;border-color:#303946!important}.rshift-premium .rshift-hero{border-left:4px solid var(--rest-teal)!important}.rshift-premium .rshift-stat:nth-child(1){border-top:3px solid var(--rest-purple)!important}.rshift-premium .rshift-stat:nth-child(2){border-top:3px solid var(--rest-green)!important}.rshift-premium .rshift-stat:nth-child(3){border-top:3px solid var(--rest-teal)!important}.rshift-premium .rshift-stat:nth-child(4){border-top:3px solid var(--rest-blue)!important}.rshift-premium .rshift-stat:nth-child(5){border-top:3px solid var(--rest-orange)!important}.rshift-premium .rshift-stat:nth-child(6){border-top:3px solid var(--rest-amber)!important}.rshift-premium .rshift-panel:first-child{border-top:3px solid var(--rest-teal)!important}.rshift-premium .rshift-panel:last-child{border-top:3px solid var(--rest-purple)!important}.rshift-premium .rshift-btn{background:var(--rest-teal)!important;border:1px solid var(--rest-teal)!important;box-shadow:none!important}
/* Receipts */
.rreceipts .rr-head{border-left:4px solid var(--rest-blue)!important;background:color-mix(in srgb,var(--rest-blue) 4%,var(--surface))!important}.rreceipts .rr-stat:nth-child(1){border-top:3px solid var(--rest-green)!important}.rreceipts .rr-stat:nth-child(2){border-top:3px solid var(--rest-teal)!important}.rreceipts .rr-stat:nth-child(3){border-top:3px solid var(--rest-purple)!important}.rreceipts .rr-row{transition:background .1s!important}.rreceipts .rr-row:hover{background:color-mix(in srgb,var(--rest-blue) 3%,var(--surface))!important}.rreceipts .rr-btn.print{background:var(--rest-blue)!important}.rreceipts .rr-actions .rr-btn:first-child{color:var(--rest-purple)!important}
/* Daily report */
.daily-report .dr-head{border-left:4px solid var(--rest-purple)!important;background:color-mix(in srgb,var(--rest-purple) 4%,var(--surface))!important}.daily-report .dr-card:nth-child(1){border-top:3px solid var(--rest-green)!important}.daily-report .dr-card:nth-child(2){border-top:3px solid var(--rest-blue)!important}.daily-report .dr-card:nth-child(3){border-top:3px solid var(--rest-green)!important}.daily-report .dr-card:nth-child(4){border-top:3px solid var(--rest-teal)!important}.daily-report .dr-card:nth-child(5){border-top:3px solid var(--rest-blue)!important}.daily-report .dr-card:nth-child(6){border-top:3px solid var(--rest-orange)!important}.daily-report .dr-card:nth-child(7){border-top:3px solid var(--rest-red)!important}.daily-report .dr-card:nth-child(8){border-top:3px solid var(--rest-purple)!important}.daily-report .dr-grid>.dr-table:first-child{border-top:3px solid var(--rest-green)!important}.daily-report .dr-grid>.dr-table:last-child{border-top:3px solid var(--rest-orange)!important}.daily-report .dr-print{background:var(--rest-purple)!important;border-color:var(--rest-purple)!important;color:#fff!important}
/* Menu Items: flatten old neumorphism */
.rmenu-premium-page .rmenu-hero,.rmenu-premium-page .rmenu-route,.rmenu-premium-page .rmenu-stat,.rmenu-premium-page .rmenu-guidance,.rmenu-premium-page .rmenu-table-shell,.rmenu-premium-page .rmenu-eyebrow{box-shadow:none!important;border:1px solid #dfe5ec!important;background:#fff!important;border-radius:.8rem!important}.dark .rmenu-premium-page .rmenu-hero,.dark .rmenu-premium-page .rmenu-route,.dark .rmenu-premium-page .rmenu-stat,.dark .rmenu-premium-page .rmenu-guidance,.dark .rmenu-premium-page .rmenu-table-shell,.dark .rmenu-premium-page .rmenu-eyebrow{background:#181f27!important;border-color:#303946!important}.rmenu-premium-page .rmenu-hero{border-left:4px solid var(--rest-green)!important;background:var(--rest-green-soft)!important}.dark .rmenu-premium-page .rmenu-hero{background:#123328!important}.rmenu-premium-page .rmenu-route.kitchen{border-top:3px solid var(--rest-orange)!important}.rmenu-premium-page .rmenu-route.bar{border-top:3px solid var(--rest-purple)!important}.rmenu-premium-page .rmenu-route:nth-child(3){border-top:3px solid var(--rest-teal)!important}.rmenu-premium-page .rmenu-route:nth-child(4){border-top:3px solid var(--rest-green)!important}.rmenu-premium-page .rmenu-stat:nth-child(1){border-top:3px solid var(--rest-blue)!important}.rmenu-premium-page .rmenu-stat:nth-child(2){border-top:3px solid var(--rest-orange)!important}.rmenu-premium-page .rmenu-stat:nth-child(3){border-top:3px solid var(--rest-purple)!important}.rmenu-premium-page .rmenu-stat:nth-child(4){border-top:3px solid var(--rest-teal)!important}.rmenu-premium-page .rmenu-stat:nth-child(5){border-top:3px solid var(--rest-green)!important}.rmenu-premium-page .rmenu-table-shell{border-top:3px solid var(--rest-green)!important}
/* Tables/floor: flatten old neumorphism */
.rpos-floor-page .rpos-floor-hero,.rpos-floor-page .rpos-floor-control,.rpos-floor-page .rpos-floor-stat,.rpos-floor-page .rpos-floor-area,.rpos-floor-page .rpos-floor-table-shell,.rpos-floor-page .rpos-floor-bulk-note,.rpos-floor-page .rpos-floor-eyebrow{box-shadow:none!important;border:1px solid #dfe5ec!important;background:#fff!important;border-radius:.8rem!important}.dark .rpos-floor-page .rpos-floor-hero,.dark .rpos-floor-page .rpos-floor-control,.dark .rpos-floor-page .rpos-floor-stat,.dark .rpos-floor-page .rpos-floor-area,.dark .rpos-floor-page .rpos-floor-table-shell,.dark .rpos-floor-page .rpos-floor-bulk-note,.dark .rpos-floor-page .rpos-floor-eyebrow{background:#181f27!important;border-color:#303946!important}.rpos-floor-page .rpos-floor-hero{border-left:4px solid var(--rest-blue)!important;background:var(--rest-blue-soft)!important}.dark .rpos-floor-page .rpos-floor-hero{background:#162a46!important}.rpos-floor-page .rpos-floor-stat:nth-child(1){border-top:3px solid var(--rest-blue)!important}.rpos-floor-page .rpos-floor-stat:nth-child(2){border-top:3px solid var(--rest-green)!important}.rpos-floor-page .rpos-floor-stat:nth-child(3){border-top:3px solid var(--rest-orange)!important}.rpos-floor-page .rpos-floor-stat:nth-child(4){border-top:3px solid var(--rest-purple)!important}.rpos-floor-page .rpos-floor-stat:nth-child(5){border-top:3px solid var(--rest-teal)!important}.rpos-floor-page .rpos-floor-table-shell{border-top:3px solid var(--rest-blue)!important}
/* setup Filament tables */
.rmenu-premium-page .fi-ta-ctn,.rpos-floor-page .fi-ta-ctn,.rcat-premium-page .fi-ta-ctn{box-shadow:none!important;border-radius:.65rem!important}.rmenu-premium-page .fi-ta-header,.rpos-floor-page .fi-ta-header,.rcat-premium-page .fi-ta-header{background:#f8fafc!important}.dark .rmenu-premium-page .fi-ta-header,.dark .rpos-floor-page .fi-ta-header,.dark .rcat-premium-page .fi-ta-header{background:#1d252e!important}
/* restaurant-premium-ops-v3-14:end */

/* restaurant-page-icons-v3-15:start */
/* Shared operational icon language for the custom RestaurantPoS pages. */
.rest-page-title{display:flex!important;align-items:center!important;gap:.55rem!important}
.rest-page-title-icon{display:block!important;width:1.08rem!important;height:1.08rem!important;flex:0 0 auto!important;color:currentColor!important}
.rest-inline-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.38rem!important}
.rest-inline-action>svg,.rest-inline-action .fi-icon{display:block!important;width:.8rem!important;height:.8rem!important;flex:0 0 auto!important;margin:0!important}
.rest-section-label{display:flex!important;align-items:center!important;gap:.4rem!important}
.rest-section-label>svg,.rest-section-label .fi-icon{display:block!important;width:.82rem!important;height:.82rem!important;flex:0 0 auto!important}
.rest-eyebrow-icon{display:inline-flex!important;align-items:center!important;gap:.36rem!important}
.rest-eyebrow-icon>svg,.rest-eyebrow-icon .fi-icon{display:block!important;width:.78rem!important;height:.78rem!important}
.rest-stat-label{display:inline-flex!important;align-items:center!important;gap:.32rem!important}
.rest-stat-label>svg,.rest-stat-label .fi-icon{display:block!important;width:.72rem!important;height:.72rem!important;flex:0 0 auto!important}
/* Keep bordered icon shells visually centered. */
.rest-icon-shell{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}
.rest-icon-shell>svg,.rest-icon-shell .fi-icon{display:block!important;margin:0!important;flex:0 0 auto!important}
/* restaurant-page-icons-v3-15:end */
