@import '_content/Blazor.Bootstrap/Blazor.Bootstrap.olwso25aue.bundle.scp.css';
@import '_content/Microsoft.AspNetCore.Components.QuickGrid/Microsoft.AspNetCore.Components.QuickGrid.boiwgh0w5b.bundle.scp.css';

/* /Components/Account/Pages/Login.razor.rz.scp.css */
/* =========================================================
   BS25 ERP — Login (light, modern, fully responsive)
   Soft pastel mesh background, white card, clean stacked
   labels, accessible focus states. No alignment quirks.
   ========================================================= */

.auth-stage[b-b285km3hlr] {
    /* design tokens — light theme */
    --bg-1:        #f5f7fc;
    --bg-2:        #eef2fb;
    --bg-3:        #f8f4ff;
    --ink:         #0f172a;
    --ink-soft:    #475569;
    --ink-mute:    #94a3b8;
    --line:        #e6eaf2;
    --line-strong: #d6dbe7;
    --card:        #ffffff;
    --primary:     #4f46e5;       /* indigo */
    --primary-2:   #6366f1;
    --primary-3:   #8b5cf6;       /* violet */
    --accent:      #06b6d4;       /* cyan */
    --primary-glow:rgba(79,70,229,0.22);
    --danger:      #e11d48;

    position: relative;
    min-height: 100vh;
    width: 100%;
    margin: -1.5rem 0;            /* counter MainLayout's article padding */
    padding: clamp(1rem, 4vw, 2.4rem) clamp(0.6rem, 4vw, 1.5rem);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: var(--ink);
    font-family: "Inter", "Segoe UI", "Roboto", system-ui, sans-serif;
    background:
        radial-gradient(900px 600px at 85% 0%,  rgba(139,92,246,0.10), transparent 60%),
        radial-gradient(800px 600px at 5% 100%, rgba(6,182,212,0.10),  transparent 60%),
        linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 55%, var(--bg-3) 100%);
}

/* =========================================================
   Animated background orbs (soft pastel)
   ========================================================= */
.mesh[b-b285km3hlr] {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.orb[b-b285km3hlr] {
    position: absolute;
    border-radius: 999px;
    filter: blur(80px);
    opacity: 0.55;
    animation: drift-b-b285km3hlr 24s ease-in-out infinite alternate;
}

.orb.o1[b-b285km3hlr] { width: 360px; height: 360px; top: -100px; left: -80px;
          background: radial-gradient(circle, #c7d2fe 0%, transparent 70%); }

.orb.o2[b-b285km3hlr] { width: 420px; height: 420px; top: 20%; right: -120px;
          background: radial-gradient(circle, #a5f3fc 0%, transparent 70%);
          animation-delay: -8s; animation-duration: 28s; }

.orb.o3[b-b285km3hlr] { width: 320px; height: 320px; bottom: -100px; left: 30%;
          background: radial-gradient(circle, #fbcfe8 0%, transparent 70%);
          animation-delay: -14s; animation-duration: 32s; }

@keyframes drift-b-b285km3hlr {
    0%   { transform: translate(0, 0) scale(1); }
    50%  { transform: translate(40px, -30px) scale(1.05); }
    100% { transform: translate(-30px, 40px) scale(0.97); }
}

/* =========================================================
   Card
   ========================================================= */
.auth-card[b-b285km3hlr] {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 440px;
    padding: clamp(1.4rem, 4vw, 2.2rem) clamp(1.1rem, 4vw, 2rem) clamp(1.2rem, 3vw, 1.6rem);
    border-radius: 22px;
    background: var(--card);
    border: 1px solid var(--line);
    box-shadow:
        0 1px 0 rgba(255,255,255,0.6) inset,
        0 1px 3px rgba(15,23,42,0.04),
        0 24px 60px rgba(15,23,42,0.10);
    animation: cardIn-b-b285km3hlr 0.5s cubic-bezier(0.22,1,0.36,1) both;
}

@keyframes cardIn-b-b285km3hlr {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ---------- card head: brand mark ---------- */
.card-head[b-b285km3hlr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 1.2rem;
}

.brand-mark[b-b285km3hlr] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.mark-glyph[b-b285km3hlr] {
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--ink);
    padding: 0.55rem 1rem;
    border-radius: 14px;
    background: linear-gradient(180deg, #fafbff 0%, #eef0f9 100%);
    border: 1px solid var(--line);
    box-shadow: 0 1px 0 rgba(255,255,255,0.8) inset, 0 4px 12px rgba(15,23,42,0.06);
}

.mark-glyph .hl[b-b285km3hlr] {
    background: linear-gradient(135deg, var(--primary), var(--accent));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.mark-tag[b-b285km3hlr] {
    font-size: 0.68rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--ink-mute);
}

/* ---------- title ---------- */
.card-title[b-b285km3hlr] {
    text-align: center;
    margin-bottom: 1.4rem;
}

.card-title h1[b-b285km3hlr] {
    margin: 0;
    font-size: clamp(1.35rem, 3.4vw, 1.65rem);
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--ink);
}

.card-title p[b-b285km3hlr] {
    margin: 0.3rem 0 0;
    color: var(--ink-soft);
    font-size: 0.92rem;
}

/* =========================================================
   Form
   ========================================================= */
.auth-form[b-b285km3hlr] {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
}

.vsummary[b-b285km3hlr] {
    color: var(--danger);
    font-size: 0.85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ---------- field (label above input) ---------- */
.field label[b-b285km3hlr] {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 0.4rem;
    letter-spacing: 0.01em;
}

.input-wrap[b-b285km3hlr] {
    position: relative;
    display: block;
}

.input-wrap > i[b-b285km3hlr] {
    position: absolute;
    left: 0.95rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ink-mute);
    font-size: 1.05rem;
    pointer-events: none;
    transition: color 0.18s ease;
    line-height: 1;
    z-index: 2;
}

/* InputText renders the <input> from inside a child component,
   so scoped CSS won't reach it without ::deep. */
.input-wrap[b-b285km3hlr]  .input {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 2.85rem;
    line-height: normal;
    padding: 0 0.9rem 0 2.55rem;
    margin: 0;
    background: #ffffff;
    border: 1px solid var(--line-strong);
    border-radius: 12px;
    color: var(--ink);
    font-size: 0.95rem;
    font-family: inherit;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.input-wrap[b-b285km3hlr]  .input::placeholder {
    color: var(--ink-mute);
    opacity: 0.85;
}

.input-wrap[b-b285km3hlr]  .input:hover {
    border-color: #c4cad9;
}

.input-wrap[b-b285km3hlr]  .input:focus,
.input-wrap[b-b285km3hlr]  .input:focus-visible {
    border-color: var(--primary-2);
    box-shadow: 0 0 0 4px rgba(99,102,241,0.18);
}

.input-wrap:focus-within > i[b-b285km3hlr] {
    color: var(--primary);
}

/* keep autofill from breaking the look */
.input-wrap[b-b285km3hlr]  .input:-webkit-autofill {
    -webkit-text-fill-color: var(--ink);
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
    transition: background-color 9999s ease;
}

.field-error[b-b285km3hlr] {
    display: block;
    color: var(--danger);
    font-size: 0.8rem;
    margin-top: 0.32rem;
    padding-left: 0.2rem;
}

/* =========================================================
   Remember + forgot
   ========================================================= */
.line-row[b-b285km3hlr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: -0.1rem 0 0.1rem;
}

.check-line[b-b285km3hlr] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--ink-soft);
    font-size: 0.88rem;
    cursor: pointer;
    margin: 0;
    user-select: none;
}

.check-line[b-b285km3hlr]  input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 6px;
    border: 1px solid var(--line-strong);
    background: #ffffff;
    cursor: pointer;
    position: relative;
    margin: 0;
    transition: background 0.18s ease, border-color 0.18s ease;
    flex-shrink: 0;
}

.check-line[b-b285km3hlr]  input[type="checkbox"]:checked {
    background: linear-gradient(135deg, var(--primary), var(--primary-3));
    border-color: transparent;
}

.check-line[b-b285km3hlr]  input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 5px;
    width: 5px;
    height: 9px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.muted-link[b-b285km3hlr] {
    color: var(--primary);
    font-size: 0.85rem;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.15s ease;
}

.muted-link:hover[b-b285km3hlr] {
    color: var(--primary-3);
    text-decoration: underline;
}

/* =========================================================
   Primary CTA
   ========================================================= */
.cta[b-b285km3hlr] {
    width: 100%;
    height: 2.95rem;
    margin-top: 0.45rem;
    border: 0;
    border-radius: 12px;
    cursor: pointer;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.97rem;
    letter-spacing: 0.01em;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-3) 60%, var(--accent) 100%);
    background-size: 200% auto;
    box-shadow:
        0 1px 0 rgba(255,255,255,0.25) inset,
        0 10px 24px var(--primary-glow);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    position: relative;
    transition: background-position 0.45s ease, transform 0.14s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.cta:hover[b-b285km3hlr] {
    background-position: right center;
    transform: translateY(-1px);
    box-shadow:
        0 1px 0 rgba(255,255,255,0.3) inset,
        0 14px 30px rgba(99,102,241,0.32);
    filter: brightness(1.03);
}

.cta:active[b-b285km3hlr] { transform: translateY(0); }

.cta i[b-b285km3hlr] { font-size: 1.05rem; transition: transform 0.18s ease; }
.cta:hover i[b-b285km3hlr] { transform: translateX(3px); }

/* =========================================================
   Seam (divider) + alt links
   ========================================================= */
.seam[b-b285km3hlr] {
    text-align: center;
    margin: 0.5rem 0 0.1rem;
    position: relative;
}

.seam[b-b285km3hlr]::before,
.seam[b-b285km3hlr]::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 42%;
    height: 1px;
    background: var(--line);
}

.seam[b-b285km3hlr]::before { left: 0; }
.seam[b-b285km3hlr]::after  { right: 0; }

.seam span[b-b285km3hlr] {
    background: var(--card);
    padding: 0 0.7rem;
    color: var(--ink-mute);
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    position: relative;
}

.alt-row[b-b285km3hlr] {
    text-align: center;
    font-size: 0.88rem;
}

.alt-row a[b-b285km3hlr] {
    color: var(--ink-soft);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.15s ease;
}

.alt-row a:hover[b-b285km3hlr] { color: var(--primary); }

.alt-row .dot[b-b285km3hlr] {
    color: var(--ink-mute);
    margin: 0 0.45rem;
}

/* =========================================================
   External login zone + footer
   ========================================================= */
.ext-zone[b-b285km3hlr] {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--line);
}

.ext-zone:empty[b-b285km3hlr] { display: none; }

.card-foot[b-b285km3hlr] {
    margin-top: 1.4rem;
    text-align: center;
    color: var(--ink-mute);
    font-size: 0.74rem;
    letter-spacing: 0.06em;
}

/* =========================================================
   Responsive — tighter spacing on small screens
   ========================================================= */
@media (max-width: 540px) {
    .auth-stage[b-b285km3hlr] { margin: 0; min-height: 100svh; }
    .auth-card[b-b285km3hlr]  { max-width: 100%; border-radius: 18px; }
    .orb.o3[b-b285km3hlr]     { display: none; }
    .input[b-b285km3hlr]      { height: 2.7rem; font-size: 0.92rem; }
    .cta[b-b285km3hlr]        { height: 2.8rem; font-size: 0.93rem; }
    .line-row[b-b285km3hlr]   { font-size: 0.85rem; }
}

@media (max-width: 360px) {
    .auth-card[b-b285km3hlr]  { padding: 1.2rem 1rem 1.1rem; border-radius: 14px; }
    .card-title h1[b-b285km3hlr] { font-size: 1.2rem; }
}

/* respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
    .orb[b-b285km3hlr]        { animation: none; }
    .auth-card[b-b285km3hlr]  { animation: none; }
    .cta[b-b285km3hlr]        { transition: none; }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* --- GLOBAL LAYOUT --- */
.bb-page[b-xfsdc6yj21] {
    background:
        radial-gradient(circle at top left, rgba(59, 130, 246, 0.08), transparent 28%),
        linear-gradient(180deg, #f7fafc 0%, #eef3f8 100%);
    display: flex;
    height: 100vh;
    overflow: hidden;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    position: relative;
}

/* --- THEME VARIABLES --- */

:root[b-xfsdc6yj21] {
    --bb-sidebar-width: 220px;
    --bb-sidebar-collapsed-width: 52px;
    --bb-sidebar-font-family: 'Segoe UI Variable Text', 'Segoe UI', 'Trebuchet MS', Tahoma, Geneva, Verdana, sans-serif;
    --bb-sidebar-background-color: linear-gradient(180deg, #f8fbff 0%, #eef5fb 100%);
    --bb-sidebar-top-row-background-color: linear-gradient(135deg, #1d4ed8 0%, #2563eb 55%, #3b82f6 100%);
    --bb-sidebar-title-text-color: #ffffff;
    --bb-sidebar-nav-item-text-color: #334155;
    --bb-sidebar-nav-item-text-active-color-rgb: 37, 99, 235;
    --bb-sidebar-nav-item-background-hover-color: rgba(37, 99, 235, 0.09);
    --bb-sidebar-nav-item-group-background-color: rgba(37, 99, 235, 0.12);
    --bb-sidebar-nav-item-parent-background-color: rgba(37, 99, 235, 0.16);
    --bb-sidebar-nav-item-text-hover-color: #1d4ed8;
    --bb-sidebar-nav-item-text-active-color: #1d4ed8;
    --bb-sidebar-brand-icon-color: #ffffff;
    --bb-sidebar-content-border-color: rgba(148, 163, 184, 0.28);
    --bb-sidebar-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
    --bb-topbar-background: rgba(255, 255, 255, 0.84);
    --bb-topbar-border: rgba(148, 163, 184, 0.24);
}

.amber-theme[b-xfsdc6yj21] {
    --bb-sidebar-background-color: linear-gradient(180deg, #2b2b2b 0%, #202020 100%);
    --bb-sidebar-top-row-background-color: linear-gradient(135deg, #5c3b00 0%, #8a5a00 55%, #c88a00 100%);
    --bb-sidebar-title-text-color: #fff7e6;
    --bb-sidebar-nav-item-text-color: #d4d4d8;
    --bb-sidebar-nav-item-text-active-color-rgb: 255, 191, 36;
    --bb-sidebar-nav-item-background-hover-color: rgba(255, 191, 36, 0.12);
    --bb-sidebar-nav-item-group-background-color: rgba(255, 191, 36, 0.18);
    --bb-sidebar-nav-item-parent-background-color: rgba(255, 191, 36, 0.24);
    --bb-sidebar-nav-item-text-hover-color: #fbbf24;
    --bb-sidebar-nav-item-text-active-color: #fbbf24;
    --bb-sidebar-brand-icon-color: #fff7e6;
    --bb-sidebar-content-border-color: rgba(255, 255, 255, 0.08);
    --bb-sidebar-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
    --bb-topbar-background: rgba(255, 251, 235, 0.9);
    --bb-topbar-border: rgba(202, 138, 4, 0.18);
}

/* --- SIDEBAR CONTAINER --- */
.sidebar-custom[b-xfsdc6yj21] {
    background: var(--bb-sidebar-background-color);
    border-right: 1px solid var(--bb-sidebar-content-border-color);
    box-shadow: var(--bb-sidebar-shadow);
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    font-family: var(--bb-sidebar-font-family);
    transition: width 0.3s ease-in-out, transform 0.3s ease-in-out;
    z-index: 1000;
}

.sidebar-header[b-xfsdc6yj21] {
    min-height: 3.2rem;
    flex-shrink: 0;
    background: var(--bb-sidebar-top-row-background-color);
    color: var(--bb-sidebar-title-text-color);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.65rem;
    padding: 0.4rem 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.sidebar-custom.collapsed .sidebar-header[b-xfsdc6yj21] {
    justify-content: center;
    padding: 0.4rem 0;
}

/* Icon circle */
.brand-logo-wrap[b-xfsdc6yj21] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}

.brand-icon[b-xfsdc6yj21] {
    color: var(--bb-sidebar-brand-icon-color);
    font-size: 1.05rem;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}

/* Text block */
.brand-text-wrap[b-xfsdc6yj21] {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    overflow: hidden;
}

.brand-name[b-xfsdc6yj21] {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--bb-sidebar-title-text-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.brand-version[b-xfsdc6yj21] {
    font-size: 0.64rem;
    font-weight: 500;
    opacity: 0.7;
    letter-spacing: 0.05em;
    color: var(--bb-sidebar-title-text-color);
}

.sidebar-menu-area[b-xfsdc6yj21] {
    flex-grow: 1;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    padding: 0.3rem 0.16rem 0.45rem 0.16rem;
}

.sidebar-auth[b-xfsdc6yj21] {
    padding: 0.5rem 0.45rem 0.35rem 0.45rem;
}

.sidebar-auth-link[b-xfsdc6yj21] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.45rem 0.55rem;
    color: var(--bb-sidebar-nav-item-text-color);
    text-decoration: none;
    background: transparent;
    border: 0;
    border-radius: 12px;
    font-size: 0.92rem;
    font-family: var(--bb-sidebar-font-family);
    font-weight: 500;
    text-align: left;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.sidebar-auth-link:hover[b-xfsdc6yj21] {
    color: var(--bb-sidebar-nav-item-text-hover-color);
    background-color: var(--bb-sidebar-nav-item-background-hover-color);
    transform: translateX(2px);
}

.sidebar-auth-text[b-xfsdc6yj21] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-auth-form[b-xfsdc6yj21] {
    margin: 0;
}

.sidebar-auth-divider[b-xfsdc6yj21] {
    height: 1px;
    margin-top: 0.55rem;
    background: linear-gradient(90deg, transparent, var(--bb-sidebar-content-border-color), transparent);
}

.sidebar-menu-area[b-xfsdc6yj21]::-webkit-scrollbar {
    width: 6px;
}

.sidebar-menu-area[b-xfsdc6yj21]::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.35);
    border-radius: 999px;
}

.sidebar-menu-area[b-xfsdc6yj21]::-webkit-scrollbar-thumb:hover {
    background: rgba(100, 116, 139, 0.55);
}

.sidebar-custom.collapsed .nav-link[b-xfsdc6yj21] {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
}

.sidebar-custom.collapsed .nav-link .menu-title[b-xfsdc6yj21],
.sidebar-custom.collapsed .nav-link .menu-chevron[b-xfsdc6yj21] {
    display: none;
}

.sidebar-custom.collapsed .nav-link .bi[b-xfsdc6yj21] {
    margin-right: 0 !important;
}

/* --- MAIN CONTENT AREA --- */
main[b-xfsdc6yj21] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

.content[b-xfsdc6yj21] {
    padding: 0.75rem 1rem;
    overflow-y: auto;
    height: 100%;
}

.bb-top-row[b-xfsdc6yj21] {
    min-height: 2.3rem;
    height: 2.3rem;
    padding-top: 0.05rem;
    padding-bottom: 0.05rem;
    backdrop-filter: blur(10px);
    background: var(--bb-topbar-background) !important;
    border-bottom: 1px solid var(--bb-topbar-border) !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
    padding-left: 0.45rem !important;
    padding-right: 0.45rem !important;
}

.layout-page-title[b-xfsdc6yj21] {
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.01em;
}

.bb-top-row .nav-link[b-xfsdc6yj21],
.bb-top-row .btn-link[b-xfsdc6yj21],
.bb-top-row .nav-item[b-xfsdc6yj21],
.bb-top-row .bi[b-xfsdc6yj21] {
    font-size: 0.84rem;
    line-height: 1;
}

.bb-top-row .nav-link[b-xfsdc6yj21],
.bb-top-row .btn-link[b-xfsdc6yj21] {
    min-height: 0;
}

.bb-top-row .gap-3[b-xfsdc6yj21] {
    gap: 0.7rem !important;
}

@media (max-width: 768px) {
    .bb-top-row[b-xfsdc6yj21] {
        padding-left: 0.3rem !important;
        padding-right: 0.3rem !important;
    }

    .content[b-xfsdc6yj21] {
        padding: 0.12rem;
    }

    .sidebar-custom[b-xfsdc6yj21] {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        height: 100vh;
        box-shadow: 2px 0 20px rgba(0,0,0,0.18);
    }

    .sidebar-custom.collapsed[b-xfsdc6yj21] {
        width: 0 !important;
        overflow: hidden;
        transform: translateX(-100%);
    }

    .mobile-backdrop[b-xfsdc6yj21] {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0, 0, 0, 0.45);
        z-index: 999;
        backdrop-filter: blur(2px);
        animation: fadeIn-b-xfsdc6yj21 0.3s;
    }
}

@keyframes fadeIn-b-xfsdc6yj21 {
    from { opacity: 0; }
    to { opacity: 1; }
}
/* /Components/Layout/MainLayout1.razor.rz.scp.css */
@media (max-width: 768px) {
    .bb-sidebar[b-lq5vxtlkql] {
        display: none;
    }

        .bb-sidebar.show[b-lq5vxtlkql] {
            display: block;
            position: absolute;
            z-index: 1050;
            background-color: #fff;
            height: 100%;
            width: 230px;
            top: 0;
            left: 0;
            box-shadow: 2px 0 5px rgba(0, 0, 0, 0.3);
        }

    .sidebar-backdrop[b-lq5vxtlkql] {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 1040;
    }
}
/* =========================================================
   MOBILE: Show PageHeader below top bar (without 2 outlets)
   ========================================================= */
@media (max-width: 768px) {

    /* Move the PageHeader visually below the top bar */
    .page-header-title[b-lq5vxtlkql] {
        position: fixed !important;
        top: 56px !important; /* your topbar height */
        left: 0 !important;
        right: 0 !important;
        z-index: 1060 !important;
        padding: 8px 12px !important;
        margin: 0 !important;
        background: #ffffff !important;
        border-bottom: 1px solid #e2e8f0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

        /* Make the title compact */
        .page-header-title h4[b-lq5vxtlkql] {
            font-size: 1rem !important;
            line-height: 1.2 !important;
            font-weight: 700 !important;
            color: #0f172a !important;
        }

    /* IMPORTANT: push page body down so it doesn't go under fixed title */
    article.content[b-lq5vxtlkql] {
        padding-top: 46px !important; /* space for the fixed mobile title */
    }
}
/* /Components/Layout/MenuSidebar.razor.rz.scp.css */
/* ============================= */
/* Sidebar Container             */
/* ============================= */
.menu-sidebar[b-pjcv0b27eh] {
    --menu-leaf-text: #1f4e79;
    --menu-leaf-text-hover: #0f5f9f;
    --menu-leaf-icon: #64748b;
    --menu-leaf-hover-bg: #e8f2fb;
    --menu-leaf-active-bg: #dcecf9;
    --menu-leaf-font: "Bahnschrift", "Segoe UI Semibold", "Segoe UI", Arial, sans-serif;
    width: 280px;
    height: 100%;
    padding: 8px;
    background-color: var(--bs-body-bg);
    overflow-y: auto;
    border-right: 1px solid rgba(0,0,0,0.08);
}

/* ============================= */
/* Tree Base                     */
/* ============================= */
.menu-tree[b-pjcv0b27eh],
.menu-children[b-pjcv0b27eh] {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ============================= */
/* Menu Row                      */
/* ============================= */
.menu-row[b-pjcv0b27eh] {
    display: flex;
    align-items: center;
    gap: 1.2px;
    padding: 6px 8px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.9rem;
    color: #212529;
    transition: background-color 0.15s ease, color 0.15s ease;
}

    .menu-row:hover[b-pjcv0b27eh] {
        background-color: rgba(13,110,253,0.08); /* bootstrap primary light */
        color: #0d6efd;
    }

    /* ============================= */
    /* Icon                          */
    /* ============================= */
    .menu-row i[b-pjcv0b27eh] {
        font-size: 1rem;
        min-width: 14px;
        color: #6c757d;
    }

    .menu-row:hover i[b-pjcv0b27eh] {
        color: #0d6efd;
    }

    /* ============================= */
    /* Caret (Expand / Collapse)     */
    /* ============================= */
    .menu-row .bi-caret-right-fill[b-pjcv0b27eh],
    .menu-row .bi-caret-down-fill[b-pjcv0b27eh] {
        font-size: 0.7rem;
        color: #6c757d;
    }

/* ============================= */
/* Children Container            */
/* ============================= */
.menu-children[b-pjcv0b27eh] {
    margin-left: 10px;
    padding-left: 6px;
    border-left: 1px dashed rgba(0,0,0,0.15);
}

/* ============================= */
/* Leaf (Clickable Link)         */
/* ============================= */
.menu-node:not(:has(.menu-children)) .menu-row[b-pjcv0b27eh] {
    padding-left: 16px;
    color: var(--menu-leaf-text);
    font-family: var(--menu-leaf-font);
    font-size: 0.92rem;
    font-weight: 500;
    letter-spacing: 0;
}

.menu-node:not(:has(.menu-children)) .menu-row i[b-pjcv0b27eh] {
    color: var(--menu-leaf-icon);
    font-size: 0.9rem;
}

.menu-node:not(:has(.menu-children)) .menu-row:hover[b-pjcv0b27eh] {
    background-color: var(--menu-leaf-hover-bg);
    color: var(--menu-leaf-text-hover);
}

.menu-node:not(:has(.menu-children)) .menu-row:hover i[b-pjcv0b27eh] {
    color: var(--menu-leaf-text-hover);
}

/* ============================= */
/* Active Page (optional)        */
/* ============================= */
.menu-row.active[b-pjcv0b27eh] {
    background-color: var(--menu-leaf-active-bg);
    color: var(--menu-leaf-text-hover);
    font-weight: 600;
}

.menu-row.active i[b-pjcv0b27eh] {
    color: var(--menu-leaf-text-hover);
}

/* Rainbow-style accents for specific parent menus (single solid color each). */
.menu-text-rainbow-1[b-pjcv0b27eh] {
    color: #ff6f61;
    font-weight: 600;
}

.menu-text-rainbow-2[b-pjcv0b27eh] {
    color: #3fb950;
    font-weight: 600;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-vwff7cmm9o] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-vwff7cmm9o] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-vwff7cmm9o] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-vwff7cmm9o] {
    font-size: 1.1rem;
}

.bi[b-vwff7cmm9o] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-vwff7cmm9o] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-vwff7cmm9o] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-vwff7cmm9o] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-lock-nav-menu[b-vwff7cmm9o] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-vwff7cmm9o] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-vwff7cmm9o] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-vwff7cmm9o] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-vwff7cmm9o] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

.nav-item[b-vwff7cmm9o] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-vwff7cmm9o] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-vwff7cmm9o] {
        padding-bottom: 1rem;
    }

    .nav-item[b-vwff7cmm9o]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-vwff7cmm9o]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-vwff7cmm9o]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-vwff7cmm9o] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-vwff7cmm9o] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-vwff7cmm9o] {
        display: none;
    }

    .nav-scrollable[b-vwff7cmm9o] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Pages/CodexHistory.razor.rz.scp.css */

/* /Components/Pages/FI/Payments/PaymentProposalReview.razor.rz.scp.css */
.proposal-action-toolbar[b-y6x13qykpu] {
    position: relative;
    z-index: 25;
    pointer-events: auto;
    flex-wrap: wrap;
}

.proposal-action-btn[b-y6x13qykpu] {
    position: relative;
    z-index: 26;
    pointer-events: auto;
}

.proposal-action-toolbar[b-y6x13qykpu]::before,
.proposal-action-toolbar[b-y6x13qykpu]::after {
    pointer-events: none;
}

.card-header[b-y6x13qykpu] {
    position: relative;
}
/* /Components/Pages/Index.razor.rz.scp.css */
/* ── Hero Banner ─────────────────────────────────────────────────────────── */
.dashboard-hero[b-wmcbqpc4sx] {
    background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 55%, #3b82f6 100%);
    border-radius: 14px;
    padding: 1.5rem 1.8rem;
    margin-bottom: 1.4rem;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    box-shadow: 0 6px 22px rgba(37, 99, 235, 0.28);
}

.hero-title[b-wmcbqpc4sx] {
    font-size: 1.4rem;
    font-weight: 700;
    margin: 0 0 0.2rem;
    letter-spacing: -0.01em;
}

.hero-user[b-wmcbqpc4sx] {
    color: #bfdbfe;
}

.hero-subtitle[b-wmcbqpc4sx] {
    font-size: 0.86rem;
    opacity: 0.82;
    margin: 0;
}

.hero-date[b-wmcbqpc4sx] {
    font-size: 0.82rem;
    background: rgba(255, 255, 255, 0.15);
    padding: 0.32rem 0.8rem;
    border-radius: 20px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    backdrop-filter: blur(4px);
}

/* ── Section label ───────────────────────────────────────────────────────── */
.section-label[b-wmcbqpc4sx] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #94a3b8;
    margin-bottom: 0.7rem;
    padding-left: 0.15rem;
}

/* ── Module Grid ─────────────────────────────────────────────────────────── */
.module-grid[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(238px, 1fr));
    gap: 0.75rem;
}

/* ── Module Card ─────────────────────────────────────────────────────────── */
.module-card[b-wmcbqpc4sx] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.95rem 1rem 0.95rem 1.2rem;
    border-radius: 12px;
    background: #ffffff;
    text-decoration: none;
    color: #1e293b;
    border: 1px solid rgba(148, 163, 184, 0.2);
    box-shadow: 0 1px 5px rgba(15, 23, 42, 0.06);
    transition: transform 0.16s ease, box-shadow 0.16s ease;
    position: relative;
    overflow: hidden;
}

.module-card[b-wmcbqpc4sx]::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: var(--accent, #2563eb);
    border-radius: 12px 0 0 12px;
}

.module-card:hover[b-wmcbqpc4sx] {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.11);
    text-decoration: none;
    color: #1e293b;
}

/* ── Icon bubble ─────────────────────────────────────────────────────────── */
.mod-icon[b-wmcbqpc4sx] {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    flex-shrink: 0;
    background: var(--icon-bg, rgba(37, 99, 235, 0.09));
    color: var(--accent, #2563eb);
}

/* ── Card body ───────────────────────────────────────────────────────────── */
.mod-body[b-wmcbqpc4sx] {
    flex: 1;
    min-width: 0;
}

.mod-body h5[b-wmcbqpc4sx] {
    font-size: 0.875rem;
    font-weight: 700;
    margin: 0 0 0.12rem;
    color: #1e293b;
}

.mod-body p[b-wmcbqpc4sx] {
    font-size: 0.74rem;
    color: #64748b;
    margin: 0;
    line-height: 1.35;
}

.mod-arrow[b-wmcbqpc4sx] {
    font-size: 0.68rem;
    color: #cbd5e1;
    flex-shrink: 0;
}

/* ── Per-module accent palette ───────────────────────────────────────────── */
.fi-card[b-wmcbqpc4sx]    { --accent: #2563eb; --icon-bg: rgba(37,  99, 235, 0.09); }
.co-card[b-wmcbqpc4sx]    { --accent: #059669; --icon-bg: rgba(5,  150, 105, 0.09); }
.mm-card[b-wmcbqpc4sx]    { --accent: #d97706; --icon-bg: rgba(217, 119,   6, 0.09); }
.sd-card[b-wmcbqpc4sx]    { --accent: #7c3aed; --icon-bg: rgba(124,  58, 237, 0.09); }
.asset-card[b-wmcbqpc4sx] { --accent: #0891b2; --icon-bg: rgba(8,  145, 178, 0.09); }
.bp-card[b-wmcbqpc4sx]    { --accent: #db2777; --icon-bg: rgba(219,  39, 119, 0.09); }
.hr-card[b-wmcbqpc4sx]    { --accent: #65a30d; --icon-bg: rgba(101, 163,  13, 0.09); }
.kpi-card[b-wmcbqpc4sx]   { --accent: #dc2626; --icon-bg: rgba(220,  38,  38, 0.09); }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 576px) {
    .module-grid[b-wmcbqpc4sx] {
        grid-template-columns: 1fr;
    }

    .dashboard-hero[b-wmcbqpc4sx] {
        padding: 1.1rem 1rem;
    }

    .hero-title[b-wmcbqpc4sx] {
        font-size: 1.15rem;
    }
}
/* /Components/Pages/KPI/MktStatusDashboard.razor.rz.scp.css */
.mkt-dashboard[b-tsz4mnfrjb] {
    --mkt-bg: #f3f5fb;
    --mkt-card: #ffffff;
    --mkt-border: #dbe2f0;
    --mkt-text: #233451;
    --mkt-muted: #64748b;
    background: linear-gradient(145deg, #eef2fb 0%, #f8f9fd 100%);
    padding: 0.65rem;
    border-radius: 12px;
    height: calc(100vh - 120px);
    max-height: calc(100vh - 120px);
    overflow: hidden;
}

.mkt-header[b-tsz4mnfrjb] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.45rem;
}

.mkt-header h1[b-tsz4mnfrjb] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #1e2a46;
}

.mkt-actions[b-tsz4mnfrjb] {
    display: flex;
    gap: 0.35rem;
}

.mkt-status[b-tsz4mnfrjb] {
    margin-bottom: 0.75rem;
}

.mkt-main-grid[b-tsz4mnfrjb] {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 0.6rem;
    height: calc(100% - 64px);
    min-height: 0;
}

.mkt-filter-panel[b-tsz4mnfrjb] {
    background: var(--mkt-card);
    border: 1px solid var(--mkt-border);
    border-radius: 12px;
    padding: 0.4rem;
    height: 100%;
    overflow: auto;
}

.mkt-filter-panel h2[b-tsz4mnfrjb] {
    font-size: 0.95rem;
    margin: 0 0 0.4rem 0;
    color: var(--mkt-text);
}

.mkt-filter-group[b-tsz4mnfrjb] {
    border-top: 1px solid #edf1f8;
    padding-top: 0.45rem;
    margin-top: 0.45rem;
}

.mkt-filter-group h3[b-tsz4mnfrjb] {
    font-size: 0.8rem;
    margin: 0 0 0.25rem;
    color: #334155;
}

.mkt-check[b-tsz4mnfrjb] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.78rem;
    margin-bottom: 0.18rem;
    color: #334155;
}

.mkt-content[b-tsz4mnfrjb] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-height: 0;
    overflow: auto;
    padding-right: 0.2rem;
}

.mkt-kpi-cards[b-tsz4mnfrjb] {
    display: grid;
    grid-template-columns: repeat(6, minmax(100px, 1fr));
    gap: 0.35rem;
}

.mkt-kpi-card[b-tsz4mnfrjb] {
    color: #fff;
    border-radius: 8px;
    padding: 0.45rem;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.3);
}

.mkt-kpi-card span[b-tsz4mnfrjb] {
    display: block;
    font-size: 0.72rem;
    opacity: 0.95;
}

.mkt-kpi-card strong[b-tsz4mnfrjb] {
    font-size: 1.05rem;
    line-height: 1.1;
}

.mkt-blue[b-tsz4mnfrjb] { background: linear-gradient(140deg, #3587ea, #2f6ccc); }
.mkt-green[b-tsz4mnfrjb] { background: linear-gradient(140deg, #4fab57, #3f8b49); }
.mkt-teal[b-tsz4mnfrjb] { background: linear-gradient(140deg, #4ab67f, #3b8a73); }
.mkt-cyan[b-tsz4mnfrjb] { background: linear-gradient(140deg, #2fa4c8, #1f7fa8); }
.mkt-violet[b-tsz4mnfrjb] { background: linear-gradient(140deg, #7d72d8, #5b52b2); }
.mkt-orange[b-tsz4mnfrjb] { background: linear-gradient(140deg, #f59a3f, #d67618); }

.mkt-visual-grid[b-tsz4mnfrjb] {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 0.4rem;
}

.mkt-panel[b-tsz4mnfrjb] {
    background: var(--mkt-card);
    border: 1px solid var(--mkt-border);
    border-radius: 12px;
    padding: 0.4rem;
    min-height: 155px;
    max-height: 190px;
    overflow: auto;
}

.mkt-panel h3[b-tsz4mnfrjb] {
    margin: 0 0 0.5rem;
    color: var(--mkt-text);
    font-size: 0.95rem;
}

.mkt-panel canvas[b-tsz4mnfrjb] {
    width: 100%;
    height: 80px;
}


.mkt-chart-panel[b-tsz4mnfrjb] {
    min-height: 360px;
    max-height: 420px;
    overflow: visible;
    padding-bottom: 0.35rem;
}

.mkt-chart-panel canvas[b-tsz4mnfrjb] {
    height: 290px !important;
}
.mkt-team-bars[b-tsz4mnfrjb] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.mkt-team-row[b-tsz4mnfrjb] {
    display: grid;
    grid-template-columns: 80px 1fr 130px;
    align-items: center;
    gap: 0.35rem;
}

.mkt-team-label[b-tsz4mnfrjb],
.mkt-team-value[b-tsz4mnfrjb] {
    color: #334155;
    font-size: 0.82rem;
}

.mkt-team-track[b-tsz4mnfrjb] {
    height: 14px;
    background: #e2e8f0;
    border-radius: 999px;
    overflow: hidden;
}

.mkt-team-fill[b-tsz4mnfrjb] {
    height: 100%;
    background: linear-gradient(90deg, #3aa8df, #5cc274);
}

.mkt-table thead th[b-tsz4mnfrjb] {
    font-size: 0.76rem;
    color: #334155;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
}

.mkt-table tbody td[b-tsz4mnfrjb] {
    font-size: 0.8rem;
}

.mkt-stock-row[b-tsz4mnfrjb] {
    margin-top: 0.65rem;
    border-top: 1px solid #e9edf7;
    padding-top: 0.55rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.35rem;
}

.mkt-stock-row span[b-tsz4mnfrjb] {
    display: block;
    font-size: 0.72rem;
    color: var(--mkt-muted);
}

.mkt-stock-row strong[b-tsz4mnfrjb] {
    display: block;
    font-size: 1.05rem;
    color: #1f314f;
}

@media (max-width: 1200px) {
    .mkt-dashboard[b-tsz4mnfrjb] {
        height: auto;
        max-height: none;
        overflow: visible;
    }

    .mkt-main-grid[b-tsz4mnfrjb] {
        grid-template-columns: 1fr;
        height: auto;
    }

    .mkt-filter-panel[b-tsz4mnfrjb] {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.4rem;
        height: auto;
        max-height: none;
        overflow: visible;
    }

    .mkt-filter-group[b-tsz4mnfrjb] {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }

    .mkt-content[b-tsz4mnfrjb] {
        overflow: visible;
        padding-right: 0;
    }
}

@media (max-width: 900px) {
    .mkt-header[b-tsz4mnfrjb] {
        flex-direction: column;
        align-items: flex-start;
    }

    .mkt-actions[b-tsz4mnfrjb] {
        width: 100%;
        flex-wrap: wrap;
    }

    .mkt-actions .btn[b-tsz4mnfrjb] {
        flex: 1 1 auto;
        min-width: 140px;
    }

    .mkt-filter-panel[b-tsz4mnfrjb] {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .mkt-kpi-cards[b-tsz4mnfrjb] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mkt-kpi-card strong[b-tsz4mnfrjb] {
        font-size: 0.95rem;
    }

    .mkt-visual-grid[b-tsz4mnfrjb] {
        grid-template-columns: 1fr;
    }

    .mkt-panel[b-tsz4mnfrjb] {
        min-height: 155px;
        max-height: none;
        overflow: visible;
    }

    .mkt-panel canvas[b-tsz4mnfrjb] {
        height: 130px;
    }

    .mkt-chart-panel[b-tsz4mnfrjb] {
        min-height: 320px;
        max-height: none;
        overflow: visible;
        padding-bottom: 0.35rem;
    }

    .mkt-chart-panel canvas[b-tsz4mnfrjb] {
        height: 250px !important;
    }

    .mkt-team-row[b-tsz4mnfrjb] {
        grid-template-columns: 68px 1fr;
        row-gap: 0.2rem;
    }

    .mkt-team-value[b-tsz4mnfrjb] {
        grid-column: 1 / -1;
    }

    .mkt-stock-row[b-tsz4mnfrjb] {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 640px) {
    .mkt-dashboard[b-tsz4mnfrjb] {
        padding: 0.45rem;
        border-radius: 10px;
    }

    .mkt-header h1[b-tsz4mnfrjb] {
        font-size: 1rem;
    }

    .mkt-kpi-cards[b-tsz4mnfrjb] {
        grid-template-columns: 1fr;
    }

    .mkt-kpi-card[b-tsz4mnfrjb] {
        padding: 0.4rem;
    }

    .mkt-stock-row[b-tsz4mnfrjb] {
        grid-template-columns: 1fr;
    }

    .mkt-selection-summary[b-tsz4mnfrjb],
    .mkt-inline-status[b-tsz4mnfrjb],
    .mkt-check[b-tsz4mnfrjb] {
        font-size: 0.74rem;
    }
}


.mkt-inline-status[b-tsz4mnfrjb] {
    margin-top: 0.45rem;
    padding: 0.35rem 0.45rem;
    border-radius: 6px;
    font-size: 0.72rem;
    line-height: 1.2;
    border: 1px solid transparent;
}

.mkt-inline-status.ok[b-tsz4mnfrjb] {
    color: #0f5132;
    background: #d1e7dd;
    border-color: #badbcc;
}

.mkt-inline-status.warn[b-tsz4mnfrjb] {
    color: #664d03;
    background: #fff3cd;
    border-color: #ffecb5;
}

.mkt-inline-status.err[b-tsz4mnfrjb] {
    color: #842029;
    background: #f8d7da;
    border-color: #f5c2c7;
}

.mkt-selection-summary[b-tsz4mnfrjb] {
    margin-top: 0.45rem;
    border-top: 1px dashed #d6dfef;
    padding-top: 0.4rem;
    font-size: 0.72rem;
    color: #334155;
    display: grid;
    gap: 0.2rem;
}


















/* /Components/Pages/MM/General_Material/Material_Create.razor.rz.scp.css */
.control-section[b-k3ec5tzjix] {
    min-height: 370px;
}

.control-wrapper[b-k3ec5tzjix] {
    max-width: 150px;
    margin: 0 auto;
    padding: 50px 0px 0px;
}

.example-label[b-k3ec5tzjix] {
    font-size: 14px;
    margin-bottom: 6px;
}

.property-panel-section .property-value[b-k3ec5tzjix] {
    padding: 5px 0px 10px;
    font-size: 14px;
}

.property-panel-content[b-k3ec5tzjix] {
    padding: 0px 0px 15px 0px;
}

    .property-panel-content:last-child[b-k3ec5tzjix] {
        padding: 0px 0px 40px 0px;
    }
/* /Components/Pages/MM/General_Material/PlantView/General_Mat_Assign_Plant_Create1.razor.rz.scp.css */

/* ROOT LAYOUT */
.ap-root[b-wual4c67nd] {
    height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #f4f6f8; /* Soft background */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* HEADER */
.ap-header[b-wual4c67nd] {
    flex: 0 0 auto;
    background: white;
    border-bottom: 1px solid #e9ecef;
    padding: 12px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}

.icon-box[b-wual4c67nd] {
    width: 32px;
    height: 32px;
    background-color: #e7f5ff;
    color: #0d6efd;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

/* SCROLLABLE CONTENT */
.ap-content[b-wual4c67nd] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 20px;
    max-width: 1000px; /* Constrain width for eye comfort */
    margin: 0 auto;
    width: 100%;
}

/* CONTEXT BANNER */
.context-banner[b-wual4c67nd] {
    background: white;
    border-radius: 8px;
    padding: 12px 20px;
    border-left: 4px solid #0d6efd; /* Accent bar */
    display: flex;
    align-items: center;
    gap: 15px;
}

.context-item[b-wual4c67nd] {
    display: flex;
    flex-direction: column;
}

    .context-item.label[b-wual4c67nd] {
        font-size: 0.7rem;
        text-transform: uppercase;
        color: #868e96;
        font-weight: 700;
        letter-spacing: 0.5px;
    }

    .context-item.value[b-wual4c67nd] {
        font-size: 1rem;
        font-weight: 600;
        color: #212529;
    }

.separator[b-wual4c67nd] {
    width: 1px;
    height: 24px;
    background-color: #dee2e6;
    margin: 0 10px;
}

/* SETTINGS BOX */
.settings-box[b-wual4c67nd] {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    overflow: hidden;
}

.settings-header[b-wual4c67nd] {
    background-color: #e9ecef;
    padding: 6px 12px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #495057;
    text-transform: uppercase;
}

/* FOOTER */
.ap-footer[b-wual4c67nd] {
    flex: 0 0 auto;
    padding: 12px 20px;
    background: white;
    border-top: 1px solid #dee2e6;
    display: flex;
    justify-content: flex-start;
}

/* SYNCFUSION OVERRIDES for Cleaner Look */
[b-wual4c67nd].e-custom-combo.e-input-group {
    border-radius: 6px !important;
    border-color: #ced4da !important;
    padding-top: 4px;
    padding-bottom: 4px;
}

    [b-wual4c67nd].e-custom-combo.e-input-group:hover:not(.e-disabled) {
        border-color: #86b7fe !important;
    }

    [b-wual4c67nd].e-custom-combo.e-input-group.e-input-focus {
        box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15) !important;
        border-color: #86b7fe !important;
    }
/* /Components/Pages/MM/MaterialCreation/Retail_Mat_Index.razor.rz.scp.css */

[b-jd0hdl0gt2] .e-grid .e-headercell {
    /*background-color: #333;*/ /* Override the header background color */
    background-color: #F3F4F6;
    /*color: #fff;*/
    color: #000000;
}
/* /Components/Pages/MM/PR/PrCreate.razor.rz.scp.css */
.pr-page-shell[b-e4a5ekaopa] {
    font-size: 0.82rem;
    overflow-x: hidden;
    overscroll-behavior-x: none;
    touch-action: pan-y;
}

.pr-page-shell .pr-compact-card[b-e4a5ekaopa] {
    margin-bottom: 0.42rem !important;
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(0,0,0,.06) !important;
}

.pr-page-shell .pr-compact-header[b-e4a5ekaopa] {
    min-height: 27px;
    padding-top: 0.16rem !important;
    padding-bottom: 0.16rem !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}

.pr-page-shell .pr-compact-header h6[b-e4a5ekaopa] {
    font-size: 0.86rem;
    line-height: 1.1;
}

.pr-page-shell .pr-compact-body[b-e4a5ekaopa] {
    padding: 0.32rem 0.5rem !important;
}

.pr-page-shell .row.g-1[b-e4a5ekaopa] {
    --bs-gutter-x: 0.35rem;
    --bs-gutter-y: 0.2rem;
}

.pr-page-shell .row.g-1.mb-1[b-e4a5ekaopa] {
    margin-bottom: 0.15rem !important;
}

.pr-page-shell[b-e4a5ekaopa] (.table-responsive),
.pr-page-shell[b-e4a5ekaopa] (.ali-grid-container) {
    overscroll-behavior-x: contain;
}

.pr-header-control.form-control[b-e4a5ekaopa],
.pr-header-control.form-control-sm[b-e4a5ekaopa] {
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 5px !important;
    line-height: 22px !important;
    border-radius: 2px !important;
    box-sizing: border-box !important;
    font-size: 0.78rem !important;
}

.pr-page-shell .form-control.form-control-sm:not(textarea)[b-e4a5ekaopa],
.pr-page-shell .form-select.form-select-sm[b-e4a5ekaopa],
.pr-page-shell input.form-control.form-control-sm:not(textarea)[b-e4a5ekaopa],
.pr-page-shell select.form-select.form-select-sm[b-e4a5ekaopa] {
    height: 24px !important;
    min-height: 24px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    line-height: 22px !important;
    border-radius: 2px !important;
    box-sizing: border-box !important;
    font-size: 0.78rem !important;
}

.pr-header-control.form-control[disabled][b-e4a5ekaopa],
.pr-header-control.form-control-sm[disabled][b-e4a5ekaopa] {
    height: 24px !important;
    min-height: 24px !important;
}

.pr-header-remarks.form-control[b-e4a5ekaopa],
.pr-header-remarks.form-control-sm[b-e4a5ekaopa] {
    height: 24px !important;
    min-height: 24px !important;
    line-height: 22px !important;
    font-size: 0.78rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    resize: none;
}


input.pr-header-control.form-control[type="date"][b-e4a5ekaopa],
input.pr-header-control.form-control-sm[type="date"][b-e4a5ekaopa] {
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 5px !important;
    line-height: 22px !important;
}

input.pr-header-control[type="date"][b-e4a5ekaopa]::-webkit-calendar-picker-indicator {
    margin: 0;
}

.card-body .form-label.small[b-e4a5ekaopa] {
    line-height: 1.05;
    margin-bottom: 0.05rem !important;
    font-size: 0.68rem !important;
}

.pr-page-shell .btn.btn-sm[b-e4a5ekaopa] {
    padding: 0.11rem 0.38rem;
    font-size: 0.78rem;
    line-height: 1.1;
}

.pr-page-shell .badge[b-e4a5ekaopa] {
    padding: 0.16rem 0.34rem;
    font-size: 0.68rem;
    line-height: 1.05;
}

.pr-page-shell textarea.form-control.form-control-sm[b-e4a5ekaopa] {
    min-height: 24px !important;
    height: 24px !important;
    padding-top: 0.04rem !important;
    padding-bottom: 0.04rem !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    line-height: 1.2 !important;
    font-size: 0.78rem !important;
}

.pr-page-shell .pr-approval-comments.form-control.form-control-sm[b-e4a5ekaopa] {
    min-height: 24px !important;
    height: 24px !important;
    line-height: 1.2 !important;
    padding-top: 0.04rem !important;
    padding-bottom: 0.04rem !important;
    resize: vertical;
}

.pr-page-shell .table.table-sm:not(.ali-grid-table) > :not(caption) > * > *[b-e4a5ekaopa] {
    padding-top: 0.12rem !important;
    padding-bottom: 0.12rem !important;
    line-height: 1.08 !important;
    font-size: 0.78rem !important;
    vertical-align: middle !important;
}

.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-grid-head th) {
    padding: 0 5px !important;
}

.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-grid-body-wrap td) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.pr-page-shell[b-e4a5ekaopa] (.erp-mc) {
    --erp-mc-h: 24px !important;
}

.pr-page-shell[b-e4a5ekaopa] (.erp-mc-input) {
    font-size: 0.78rem;
    padding: 0 5px;
}

.pr-page-shell[b-e4a5ekaopa] (.erp-mc-btn) {
    width: 23px;
    min-width: 23px;
    flex-basis: 23px;
}

.pr-page-shell[b-e4a5ekaopa] (.ali-grid-container) {
    border-radius: 2px;
    box-shadow: none;
}

.pr-page-shell[b-e4a5ekaopa] (.ali-cell),
.pr-page-shell[b-e4a5ekaopa] (.ali-cell.ali-readonly),
.pr-page-shell[b-e4a5ekaopa] (.ali-editable-input) {
    padding-left: 4px;
    padding-right: 4px;
}

.pr-page-shell .alert[b-e4a5ekaopa] {
    padding: 0.28rem 0.45rem !important;
    margin-bottom: 0.35rem !important;
    font-size: 0.78rem;
}
/* /Components/Pages/MM/PR/PrNew.razor.rz.scp.css */


.clickable-header:hover[b-uyetichnaf] {
    background-color: #f8f9fa !important;
}

/* Styles for standard InputNumber/InputDate to match GridInput look
           (GridInput has its own internal styles)
        */
.excel-input[b-uyetichnaf] {
    width: 100%;
    border: none;
    padding: 4px 6px;
    background: transparent;
    outline: none;
    font-size: 0.9rem;
}

    .excel-input:focus[b-uyetichnaf] {
        background-color: #e8f0fe;
        box-shadow: inset 0 0 0 2px #1a73e8;
    }

/* Hide spinners on number inputs */
input[type=number].excel-input[b-uyetichnaf]::-webkit-inner-spin-button,
input[type=number].excel-input[b-uyetichnaf]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* /Components/Pages/MM/RFQ/MmRfqHeaderPage.razor.rz.scp.css */
.rfq-generated-compact[b-8wcwtylyne] {
    font-size: 0.8rem;
}

.rfq-generated-compact[b-8wcwtylyne]  .card {
    margin-bottom: 0.45rem !important;
    border-radius: 4px;
}

.rfq-generated-compact[b-8wcwtylyne]  .card-header {
    min-height: 30px;
    padding: 0.18rem 0.5rem !important;
}

.rfq-generated-compact[b-8wcwtylyne]  .card-body {
    padding: 0.35rem 0.5rem !important;
}

.rfq-generated-compact[b-8wcwtylyne]  .row {
    --bs-gutter-x: 0.35rem;
    --bs-gutter-y: 0.25rem;
}

.rfq-generated-compact[b-8wcwtylyne]  label,
.rfq-generated-compact[b-8wcwtylyne]  .form-label {
    margin-bottom: 0.08rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: #5b6670;
}

.rfq-generated-compact[b-8wcwtylyne]  .form-control,
.rfq-generated-compact[b-8wcwtylyne]  .form-select {
    min-height: 24px;
    height: 24px;
    padding: 0.08rem 0.4rem;
    font-size: 0.78rem;
    border-radius: 3px;
}

.rfq-generated-compact[b-8wcwtylyne]  textarea.form-control {
    height: auto;
    min-height: 48px;
}

.rfq-generated-compact[b-8wcwtylyne]  .btn,
.rfq-generated-compact[b-8wcwtylyne]  .btn-sm {
    padding: 0.08rem 0.42rem;
    font-size: 0.78rem;
    line-height: 1.2;
    border-radius: 3px;
}

.rfq-generated-compact[b-8wcwtylyne]  .table {
    margin-bottom: 0;
    font-size: 0.78rem;
}

.rfq-generated-compact[b-8wcwtylyne]  .table th,
.rfq-generated-compact[b-8wcwtylyne]  .table td {
    padding: 3px 6px;
    line-height: 1.1;
    white-space: nowrap;
    vertical-align: middle;
}

.rfq-generated-compact[b-8wcwtylyne]  .table thead th {
    height: 24px;
}

.rfq-generated-compact[b-8wcwtylyne]  .table tbody tr {
    height: 26px;
}
/* /Components/Pages/MM/RFQ/MmRfqLinePage.razor.rz.scp.css */
.rfq-generated-compact[b-0xnfjj0haq] {
    font-size: 0.8rem;
}

.rfq-generated-compact[b-0xnfjj0haq]  .card {
    margin-bottom: 0.45rem !important;
    border-radius: 4px;
}

.rfq-generated-compact[b-0xnfjj0haq]  .card-header {
    min-height: 30px;
    padding: 0.18rem 0.5rem !important;
}

.rfq-generated-compact[b-0xnfjj0haq]  .card-body {
    padding: 0.35rem 0.5rem !important;
}

.rfq-generated-compact[b-0xnfjj0haq]  .row {
    --bs-gutter-x: 0.35rem;
    --bs-gutter-y: 0.25rem;
}

.rfq-generated-compact[b-0xnfjj0haq]  label,
.rfq-generated-compact[b-0xnfjj0haq]  .form-label {
    margin-bottom: 0.08rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: #5b6670;
}

.rfq-generated-compact[b-0xnfjj0haq]  .form-control,
.rfq-generated-compact[b-0xnfjj0haq]  .form-select {
    min-height: 24px;
    height: 24px;
    padding: 0.08rem 0.4rem;
    font-size: 0.78rem;
    border-radius: 3px;
}

.rfq-generated-compact[b-0xnfjj0haq]  textarea.form-control {
    height: auto;
    min-height: 48px;
}

.rfq-generated-compact[b-0xnfjj0haq]  .btn,
.rfq-generated-compact[b-0xnfjj0haq]  .btn-sm {
    padding: 0.08rem 0.42rem;
    font-size: 0.78rem;
    line-height: 1.2;
    border-radius: 3px;
}

.rfq-generated-compact[b-0xnfjj0haq]  .table {
    margin-bottom: 0;
    font-size: 0.78rem;
}

.rfq-generated-compact[b-0xnfjj0haq]  .table th,
.rfq-generated-compact[b-0xnfjj0haq]  .table td {
    padding: 3px 6px;
    line-height: 1.1;
    white-space: nowrap;
    vertical-align: middle;
}

.rfq-generated-compact[b-0xnfjj0haq]  .table thead th {
    height: 24px;
}

.rfq-generated-compact[b-0xnfjj0haq]  .table tbody tr {
    height: 26px;
}
/* /Components/Pages/MM/RFQ/PendingRfqList.razor.rz.scp.css */
.rfq-pending-page[b-j4vj3fmhni] {
    border-radius: 4px;
}

.rfq-pending-page[b-j4vj3fmhni]  .card-header {
    min-height: 30px;
    font-size: 0.9rem;
}

.rfq-pending-page[b-j4vj3fmhni]  .btn-sm {
    padding: 0.08rem 0.42rem;
    line-height: 1.2;
    font-size: 0.78rem;
    border-radius: 3px;
}

.rfq-pending-page[b-j4vj3fmhni]  .table.table-sm {
    font-size: 0.8rem;
}

.rfq-pending-page[b-j4vj3fmhni]  .table.table-sm thead th {
    height: 24px;
    padding: 3px 6px;
    line-height: 1.05;
    white-space: nowrap;
    vertical-align: middle;
}

.rfq-pending-page[b-j4vj3fmhni]  .table.table-sm tbody td {
    padding: 3px 6px;
    line-height: 1.1;
    white-space: nowrap;
    vertical-align: middle;
}

.rfq-pending-page[b-j4vj3fmhni]  .table.table-sm tbody tr {
    height: 26px;
}

.rfq-pending-page[b-j4vj3fmhni]  .form-check-input {
    width: 0.85rem;
    height: 0.85rem;
    margin-top: 0;
}
/* /Components/Pages/MM/RFQ/QuotationCreate.razor.rz.scp.css */
.quotation-page[b-n7qzb4ivva]  .card {
    border-radius: 4px;
    margin-bottom: 0.45rem !important;
}

.quotation-page[b-n7qzb4ivva]  .card-header {
    min-height: 30px;
    padding: 0.18rem 0.5rem !important;
}

.quotation-page[b-n7qzb4ivva]  .card-header h6 {
    font-size: 0.9rem;
}

.quotation-page[b-n7qzb4ivva]  .card-body {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.quotation-page[b-n7qzb4ivva]  .form-label.small {
    font-size: 0.72rem;
    line-height: 1;
    margin-bottom: 0.1rem !important;
}

.quotation-page[b-n7qzb4ivva]  .form-control-sm,
.quotation-page[b-n7qzb4ivva]  .form-select-sm {
    min-height: 24px;
    height: 24px;
    padding: 1px 6px;
    line-height: 1.1;
    font-size: 0.82rem;
    border-radius: 2px;
}

.quotation-page[b-n7qzb4ivva]  .btn-sm {
    padding: 0.08rem 0.42rem;
    line-height: 1.2;
    font-size: 0.78rem;
    border-radius: 3px;
}

.quotation-page[b-n7qzb4ivva]  .badge {
    padding: 0.18rem 0.38rem;
    font-size: 0.72rem;
}

.quotation-page[b-n7qzb4ivva]  .ali-grid-container {
    --ali-rh: 26px;
    --ali-hh: 24px;
    --ali-hfs: 12px;
}

.quotation-page[b-n7qzb4ivva]  .ali-grid-toolbar {
    padding-top: 2px;
    padding-bottom: 2px;
}

.quotation-page[b-n7qzb4ivva]  .ali-cell {
    padding-left: 3px;
    padding-right: 3px;
    font-size: 0.8rem;
}
/* /Components/Pages/MM/RFQ/RfqCreate.razor.rz.scp.css */
.rfq-page[b-19tl5dee4p]  .table-responsive {
    overflow-x: auto;
}

.rfq-page[b-19tl5dee4p]  .rfq-compact-card {
    border-radius: 4px;
    margin-bottom: 0.45rem !important;
}

.rfq-page[b-19tl5dee4p]  .rfq-compact-header {
    min-height: 30px;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}

.rfq-page[b-19tl5dee4p]  .rfq-compact-header h6 {
    font-size: 0.9rem;
}

.rfq-page[b-19tl5dee4p]  .rfq-compact-body {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.rfq-page[b-19tl5dee4p]  .rfq-section-card {
    overflow: hidden;
}

.rfq-page[b-19tl5dee4p]  .rfq-section-header {
    min-height: 30px;
    border-bottom-color: #d8dde3;
}

.rfq-page[b-19tl5dee4p]  .rfq-section-header .small {
    font-size: 0.72rem;
}

.rfq-page[b-19tl5dee4p]  .rfq-section-body {
    background: #fff;
}

.rfq-page[b-19tl5dee4p]  .rfq-entry-strip {
    min-height: 30px;
    padding: 3px 8px;
    border-bottom: 1px solid #d8dde3;
    background: #f8fafc;
    position: relative;
    z-index: 20;
}

.rfq-page[b-19tl5dee4p]  .rfq-entry-strip:has(.erp-mc-panel) {
    margin-bottom: 164px;
}

.rfq-page[b-19tl5dee4p]  .rfq-inline-label {
    width: 54px;
    flex: 0 0 54px;
    font-size: 0.72rem;
    line-height: 1;
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-picker {
    width: min(360px, 45vw);
    min-width: 260px;
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-picker .erp-mc-panel {
    max-height: 160px;
    box-shadow: 0 8px 18px rgba(15,23,42,.14);
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-picker .erp-mc-body {
    max-height: 128px;
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-picker .erp-mc-hcell,
.rfq-page[b-19tl5dee4p]  .rfq-vendor-picker .erp-mc-cell {
    padding: 4px 8px;
    font-size: 0.8rem;
    line-height: 1.15;
}

.rfq-page[b-19tl5dee4p]  .form-label.small {
    font-size: 0.72rem;
    line-height: 1;
    margin-bottom: 0.1rem !important;
}

.rfq-page[b-19tl5dee4p]  .form-control-sm,
.rfq-page[b-19tl5dee4p]  .form-select-sm {
    min-height: 24px;
    height: 24px;
    padding: 1px 6px;
    line-height: 1.1;
    font-size: 0.82rem;
    border-radius: 2px;
}

.rfq-page[b-19tl5dee4p]  .btn-sm {
    padding: 0.08rem 0.42rem;
    line-height: 1.2;
    font-size: 0.78rem;
    border-radius: 3px;
}

.rfq-page[b-19tl5dee4p]  .badge {
    padding: 0.18rem 0.38rem;
    font-size: 0.72rem;
}

.rfq-page[b-19tl5dee4p]  .table.table-sm {
    margin-bottom: 0;
    font-size: 0.82rem;
    border-collapse: collapse;
}

.rfq-page[b-19tl5dee4p]  .table.table-sm thead th {
    height: 24px;
    padding: 3px 6px;
    line-height: 1.05;
    font-size: 0.79rem;
    vertical-align: middle;
    white-space: nowrap;
    border-bottom: 1px solid #1f2937;
    background: #f3f6f9;
}

.rfq-page[b-19tl5dee4p]  .table.table-sm tbody td {
    padding: 3px 6px;
    line-height: 1.1;
    vertical-align: middle;
    border-bottom: 1px solid #e5e7eb;
}

.rfq-page[b-19tl5dee4p]  .table.table-sm tbody tr {
    height: 26px;
}

.rfq-page[b-19tl5dee4p]  .table.table-sm .form-control-sm,
.rfq-page[b-19tl5dee4p]  .table.table-sm .form-select-sm,
.rfq-page[b-19tl5dee4p]  .table.table-sm input.form-control-sm,
.rfq-page[b-19tl5dee4p]  .table.table-sm select.form-select-sm {
    height: 24px;
    min-height: 24px;
    padding-top: 1px;
    padding-bottom: 1px;
    padding-left: 6px;
    padding-right: 6px;
    line-height: 1.15;
    font-size: 0.8rem;
    border-radius: 2px;
}

.rfq-page[b-19tl5dee4p]  .table.table-sm .text-center .btn.btn-sm,
.rfq-page[b-19tl5dee4p]  .table.table-sm td .btn.btn-sm.btn-link {
    padding: 0;
    line-height: 1;
}

.rfq-page[b-19tl5dee4p]  .table.table-sm tbody td:last-child {
    width: 40px;
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-completed td {
    color: #6b7280;
    background: #f8fafc;
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-summary .table.table-sm thead th {
    height: 24px;
    padding: 3px 6px;
    line-height: 1.05;
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-summary .table.table-sm tbody td {
    padding: 3px 6px;
    line-height: 1.1;
    white-space: nowrap;
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-summary .table.table-sm tbody tr {
    height: 26px;
}
/* /Components/Pages/MM/RFQ/RfqDetails.razor.rz.scp.css */
.rfq-list-page[b-evy6pldaak] {
    border-radius: 4px;
}

.rfq-list-page .card-body[b-evy6pldaak] {
    padding: 0.35rem !important;
}

.rfq-list-page[b-evy6pldaak]  .btn-sm {
    padding: 0.08rem 0.42rem;
    font-size: 0.78rem;
    line-height: 1.2;
    border-radius: 3px;
}

.rfq-list-page[b-evy6pldaak]  .btn-sm .bi {
    margin-right: 0.2rem;
}

.rfq-list-page[b-evy6pldaak]  .table,
.rfq-list-page[b-evy6pldaak]  .grid,
.rfq-list-page[b-evy6pldaak]  [role="grid"] {
    font-size: 0.78rem;
}

.rfq-list-page[b-evy6pldaak]  th,
.rfq-list-page[b-evy6pldaak]  td {
    padding-top: 2px;
    padding-bottom: 2px;
    line-height: 1.08;
}
/* /Components/Pages/ModuleModelPages/Index.razor.rz.scp.css */
/* /Components/Pages/Plants/Index.razor.rz.scp.css */
.e-control[b-o4aaouqmo7] {
    font-family: "Tahoma", "Arial", sans-serif;
    font-size: 10px;
    font-style: normal;
    line-height: 1.5;
}

.e-tab .e-toolbar-items .e-toolbar-item .e-tab-text[b-o4aaouqmo7] {
    font-family: "Tahoma", "Arial", sans-serif;
    font-size: 10px;
    font-style: normal;
    line-height: 1.5;
}

.e-card[b-o4aaouqmo7] {
    font-family: "Tahoma", "Arial", sans-serif;
    font-size: 10px;
    font-style: normal;
    line-height: 1.5;
}
/* /Components/Pages/TestPages/ImportExcel.razor.rz.scp.css */
/* /Components/Shared/AlGrid.razor.rz.scp.css */
.al-grid-container[b-wh0zpjnrop] {
    overflow: auto;
    min-height: 0;
    border: 1px solid #dee2e6;
    background: #fff;
}

/* Table */
.al-table[b-wh0zpjnrop] {
    width: 100%;
    table-layout: fixed;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

/* Sticky header */
[b-wh0zpjnrop] .al-header th {
    position: sticky;
    top: 0;
    z-index: 20;
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    font-weight: 600;
    white-space: nowrap;
}

/* Cells */
[b-wh0zpjnrop] tbody td {
    padding: 0;
    border-bottom: 1px solid #dee2e6;
    border-right: 1px solid #dee2e6;
    background: #fff;
}

/* ===================== */
/* FREEZE LEFT COLUMNS   */
/* ===================== */
[b-wh0zpjnrop] .freeze-left {
    position: sticky;
    left: var(--freeze-left-offset);
    z-index: 10;
    background: #fff;
}

/* ===================== */
/* FREEZE RIGHT COLUMNS  */
/* ===================== */
[b-wh0zpjnrop] .freeze-right {
    position: sticky;
    right: var(--freeze-right-offset);
    z-index: 10;
    background: #fff;
}

/* Headers above frozen cells */
[b-wh0zpjnrop] th.freeze-left,
[b-wh0zpjnrop] th.freeze-right {
    z-index: 30;
    background: #f8f9fa;
}

/* Shadow for ERP feel */
[b-wh0zpjnrop] .freeze-left {
    box-shadow: 3px 0 4px -2px rgba(0,0,0,.25);
}

[b-wh0zpjnrop] .freeze-right {
    box-shadow: -3px 0 4px -2px rgba(0,0,0,.25);
}

/* Safety */
[b-wh0zpjnrop] th,
[b-wh0zpjnrop] td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Shared/AliGrid/AliGrid.razor.rz.scp.css */

/* /Components/Shared/AlInput.razor.rz.scp.css */
/* =========================================================
   AlInput - BS25 ERP STANDARD INPUT
   SAP COMPACT · Flat · F4 enabled · Grid aligned
   ========================================================= */

/* =========================
   Wrapper (IMPORTANT FIX)
   - Standard: fixed to input height
   - Grid: fills cell height
   ========================= */
.al-input-wrapper[b-65lw4xexn5] {
    position: relative;
    width: 100%;
    height: auto; /* default safe */
}

/* Standard wrapper height = SAP compact */
.variant-standard.al-input-wrapper[b-65lw4xexn5] {
    height: 28px;
}

/* Grid wrapper must fill cell height */
.variant-grid.al-input-wrapper[b-65lw4xexn5] {
    height: 100%;
}

/* Mobile touch height */
@media (max-width: 640px) {
    .variant-standard.al-input-wrapper[b-65lw4xexn5] {
        height: 32px;
    }
}

/* =========================
   BASE INPUT (SAP Compact)
   ========================= */
[b-65lw4xexn5] input {
    width: 100%;
    box-sizing: border-box;
    outline: none;
    /* SAP compact */
    height: 28px;
    padding: 0 6px;
    font-size: 0.88rem;
    line-height: 1.2;
    /* flat SAP look */
    border-radius: 0;
    border: 1px solid #b6bec9;
    background-color: #ffffff;
    color: #212529;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* mobile */
@media (max-width: 640px) {
    [b-65lw4xexn5] input {
        height: 32px;
        font-size: 0.92rem;
    }
}

/* hover */
[b-65lw4xexn5] input:hover {
    border-color: #9aa4b2;
}

/* focus */
[b-65lw4xexn5] input:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59,130,246,.15);
}

/* readonly stays white (SAP behavior) */
[b-65lw4xexn5] input[readonly] {
    background-color: #ffffff;
    opacity: 1;
}

/* =========================
   SEARCH SPACE HANDLING
   ========================= */
[b-65lw4xexn5] input {
    padding-right: 6px; /* default */
}

    [b-65lw4xexn5] input.has-search {
        padding-right: 28px; /* room for icon */
    }

/* =========================
   VARIANT: GRID (AliGrid)
   ========================= */
.variant-grid[b-65lw4xexn5]  input {
    height: 100%; /* fill cell height */
    padding: 0 5px;
    font-size: 0.86rem;
    border: none;
    background-color: #ffffff;
}

    /* grid focus = Excel-like */
    .variant-grid[b-65lw4xexn5]  input:focus {
        border: none;
        box-shadow: inset 0 0 0 2px rgba(59,130,246,.65);
    }

/* =========================
   VARIANT: STANDARD (FORM)
   ========================= */
.variant-standard[b-65lw4xexn5]  input {
    height: 28px; /* keep fixed */
    border: 1px solid #b6bec9;
    padding: 0 6px;
    font-size: 0.88rem;
}

@media (max-width: 640px) {
    .variant-standard[b-65lw4xexn5]  input {
        height: 32px;
        font-size: 0.92rem;
    }
}

/* =========================
   SEARCH BUTTON (F4)
   ========================= */
.al-search-btn[b-65lw4xexn5] {
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border: none;
    background: transparent;
    padding: 0;
    display: none;
    align-items: center;
    justify-content: center;
    color: #0d6efd;
    cursor: pointer;
    z-index: 5;
}

    .al-search-btn i[b-65lw4xexn5] {
        font-size: 0.85rem;
        line-height: 1;
    }

    /* hover without fill */
    .al-search-btn:hover[b-65lw4xexn5] {
        background-color: rgba(0, 0, 0, 0.05);
    }

/* show on hover or focus */
.al-input-wrapper:hover .al-search-btn[b-65lw4xexn5],
.al-input-wrapper:focus-within .al-search-btn[b-65lw4xexn5] {
    display: flex;
}

/* =========================
   INVALID (SAP STYLE)
   ========================= */
[b-65lw4xexn5] input.invalid {
    border-color: #c0392b !important;
    background-color: rgba(192,57,43,.06);
}

    /* invalid focus */
    [b-65lw4xexn5] input.invalid:focus {
        box-shadow: 0 0 0 2px rgba(192,57,43,.18), 0 0 0 4px rgba(59,130,246,.10);
    }

/* grid invalid = red inset */
.variant-grid[b-65lw4xexn5]  input.invalid {
    background-color: #ffffff;
    border: none;
    box-shadow: inset 0 0 0 2px rgba(192,57,43,.85);
}
/* /Components/Shared/AminGrid.razor.rz.scp.css */
/* ================================================================= */
/* --- Main Grid Structure & Layout --- */
/* ================================================================= */

.grid-wrapper[b-zqmneck0wc] {
    position: relative;
}

.grid-toolbar[b-zqmneck0wc] {
    padding: 8px;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6; /* Border between toolbar and header */
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.variant-display[b-zqmneck0wc] {
    font-size: 0.9em;
    color: #6c757d;
}

.grid-container[b-zqmneck0wc] {
    border: 1px solid #dee2e6;
    border-top: none;
    border-bottom-left-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
    height: 70vh;
    /* --- FIX: Use a single scroll container for both X and Y axes --- */
    overflow: auto;
    position: relative;
}

.grid-header[b-zqmneck0wc] {
    background-color: #f8f9fa;
    font-weight: 600;
    color: #495057;
    border-bottom: 2px solid #dee2e6;
    /* --- FIX: Make the header sticky to the top of the single scroll container --- */
    position: sticky;
    top: 0;
    z-index: 20;
}

.grid-body[b-zqmneck0wc] {
    background-color: #fff;
    position: relative;
    /* --- FIX: Remove all overflow properties from the body --- */
}

/* ================================================================= */
/* --- Cell & Row Styling --- */
/* ================================================================= */

.excel-cell[b-zqmneck0wc] {
    padding: 0 15px;
    display: flex;
    align-items: center;
    overflow: hidden;
    white-space: nowrap;
    border-bottom: 1px solid #e9ecef;
    position: relative;
    width: 100%;
}

.header-cell[b-zqmneck0wc] {
    border-bottom-width: 0;
    font-size: 0.85em;
    letter-spacing: 0.5px;
    justify-content: space-between;
}

[b-zqmneck0wc] .row:nth-of-type(odd) .excel-cell {
    background-color: #fff;
}

[b-zqmneck0wc] .row:nth-of-type(even) .excel-cell {
    background-color: #f8f9fa;
}

[b-zqmneck0wc] .row:hover .excel-cell {
    background-color: #ddeeff;
}

[b-zqmneck0wc] .selected-row .excel-cell {
    background-color: #cce5ff !important;
}

[b-zqmneck0wc] .grid-body .col,
.filter-header-container[b-zqmneck0wc] {
    border-right: 1px solid #e9ecef;
}


[b-zqmneck0wc] .excel-cell[contenteditable="true"]:focus {
    outline: 2px solid #0d6efd;
    z-index: 10;
    position: relative;
    background-color: #fff !important;
}

/* ================================================================= */
/* --- Column Features: Sort, Resize, Reorder --- */
/* ================================================================= */

.header-content[b-zqmneck0wc] {
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    user-select: none;
    flex-grow: 1;
    overflow: hidden;
}

.header-text[b-zqmneck0wc] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-actions[b-zqmneck0wc] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sort-indicator[b-zqmneck0wc] {
    font-size: 0.9em;
    color: #adb5bd;
    cursor: pointer;
}

    .sort-indicator.active[b-zqmneck0wc] {
        color: #212529;
    }

.resizer[b-zqmneck0wc] {
    position: absolute;
    top: 0;
    right: 0;
    width: 8px;
    height: 100%;
    cursor: col-resize;
    z-index: 99;
    transition: background-color 0.2s ease;
}

    .resizer:hover[b-zqmneck0wc] {
        background-color: rgba(13, 110, 253, 0.5);
    }

.dragging > .header-cell[b-zqmneck0wc] {
    opacity: 0.5;
}

.dragging[b-zqmneck0wc] {
    background-color: #d1e7dd;
}

/* ================================================================= */
/* --- Advanced Filter Popup --- */
/* ================================================================= */

.filter-header-container[b-zqmneck0wc] {
    position: relative;
    display: flex;
    align-items: center;
}

    .filter-header-container:first-child .filter-popup[b-zqmneck0wc] {
        left: 0;
        right: auto;
    }

    .filter-header-container.active[b-zqmneck0wc] {
        background-color: #e9ecef;
        outline: 1px solid #0d6efd;
        outline-offset: -1px;
    }

.filter-icon[b-zqmneck0wc] {
    padding: 0 4px;
    cursor: pointer;
    color: #adb5bd;
    transition: color 0.2s ease-in-out;
}

    .filter-icon:hover[b-zqmneck0wc] {
        color: #0d6efd;
    }

    .filter-icon.active[b-zqmneck0wc] {
        color: #0d6efd;
    }

.filter-popup[b-zqmneck0wc] {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1000;
    background-color: white;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
    min-width: 300px;
    display: flex;
    flex-direction: column;
}

.filter-tabs[b-zqmneck0wc] {
    display: flex;
    border-bottom: 1px solid #dee2e6;
    background-color: #f8f9fa;
}

.filter-tab[b-zqmneck0wc] {
    padding: 10px 15px;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 0.9em;
    color: #6c757d;
}

    .filter-tab.active[b-zqmneck0wc] {
        background-color: #fff;
        font-weight: 600;
        color: #0d6efd;
        border-right: 1px solid #dee2e6;
    }

    .filter-tab:not(.active):hover[b-zqmneck0wc] {
        background-color: #e9ecef;
    }

.filter-content[b-zqmneck0wc] {
    padding: 15px;
}

.filter-search-box[b-zqmneck0wc] {
    margin-bottom: 10px;
}

.filter-values-list[b-zqmneck0wc] {
    max-height: 250px;
    overflow-y: auto;
}

.list-filter-textarea[b-zqmneck0wc] {
    min-height: 150px;
    resize: vertical;
}

.filter-loading[b-zqmneck0wc] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    color: #6c757d;
}

.filter-advanced-container[b-zqmneck0wc], .filter-range-container[b-zqmneck0wc] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.filter-actions[b-zqmneck0wc] {
    padding: 12px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    background-color: #f8f9fa;
}

/* ================================================================= */
/* --- Actions Column (Add/Edit/Delete) --- */
/* ================================================================= */

.actions-header-col[b-zqmneck0wc],
[b-zqmneck0wc] .actions-col {
    position: sticky;
    right: 0;
    z-index: 15;
}

.actions-header-col[b-zqmneck0wc] {
    background-color: #f8f9fa;
    border-left: 1px solid #dee2e6;
}

[b-zqmneck0wc] .actions-cell {
    border-left: 1px solid #e9ecef;
}

[b-zqmneck0wc] .row:nth-of-type(odd) .actions-cell {
    background-color: #fff;
}

[b-zqmneck0wc] .row:nth-of-type(even) .actions-cell {
    background-color: #f8f9fa;
}


.actions-cell[b-zqmneck0wc] {
    justify-content: center;
    gap: 8px;
}

.action-btn[b-zqmneck0wc] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    color: #6c757d;
    transition: background-color 0.2s, color 0.2s;
}

    .action-btn:hover[b-zqmneck0wc] {
        background-color: #e9ecef;
        color: #0d6efd;
    }

    .action-btn.delete-btn:hover[b-zqmneck0wc] {
        color: #dc3545;
    }

.add-btn[b-zqmneck0wc] {
    margin-left: auto;
}

/* ================================================================= */
/* --- Settings Popup --- */
/* ================================================================= */

.settings-overlay[b-zqmneck0wc] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    justify-content: center;
    align-items: center;
}

.settings-popup[b-zqmneck0wc] {
    background-color: white;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
    width: 90%;
    max-width: 700px;
}

.settings-header[b-zqmneck0wc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    border-bottom: 1px solid #dee2e6;
}

    .settings-header h5[b-zqmneck0wc] {
        margin-bottom: 0;
    }

.settings-body[b-zqmneck0wc] {
    padding: 0;
}

.column-visibility-list[b-zqmneck0wc] {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    padding: 10px;
    border-radius: 0.25rem;
}

/* ================================================================= */
/* --- Responsive Card View for Mobile/Tablet --- */
/* ================================================================= */

@media (max-width: 768px) {

    /* 1. Hide the original table header */
    .grid-header[b-zqmneck0wc] {
        display: none;
    }

    /* 2. Adjust main containers for a card list layout */
    .grid-container[b-zqmneck0wc], .grid-body[b-zqmneck0wc] {
        overflow-x: hidden; /* Prevent horizontal scroll */
    }

    /* FIX: Added ::deep to target elements inside Blazor component */
    [b-zqmneck0wc] .grid-body .row {
        /* Make each row a distinct card */
        position: static !important;
        transform: none !important;
        width: auto !important;
        display: block;
        border: 1px solid #dee2e6;
        border-radius: 0.375rem;
        margin: 0 15px 1rem 15px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }

    /* 3. Transform cells to stack vertically */
    /* FIX: Added ::deep */
    [b-zqmneck0wc] .grid-body .col {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 15px;
        width: 100% !important;
        border-bottom: 1px solid #e9ecef;
        border-right: none; /* Make sure to remove right border in card view */
    }

    /* FIX: Added ::deep */
    [b-zqmneck0wc] .grid-body .row .col:last-of-type {
        border-bottom: none;
    }

    /* 4. Use the data-label to create a label for each cell's data */
    /* FIX: Added ::deep */
    [b-zqmneck0wc] .grid-body .col::before {
        content: attr(data-label);
        font-weight: 600;
        color: #495057;
        padding-right: 15px;
    }

    /* 5. Reposition the actions cell to be part of the flow */
    /* FIX: Added ::deep */
    [b-zqmneck0wc] .grid-body .actions-col {
        position: static;
        background: none;
        width: 100% !important;
        border-top: 1px solid #e9ecef;
        border-right: none; /* Make sure to remove right border in card view */
    }

    /* FIX: Added ::deep */
    [b-zqmneck0wc] .grid-body .actions-cell {
        background-color: #f8f9fa !important;
    }
}
/* /Components/Shared/ErpMultiCombo/ErpMultiCombo.razor.rz.scp.css */
/* =========================================================
   ErpMultiCombo (SAP compact, multi-column)
   ========================================================= */

.erp-mc[b-k9jyx0w6l6] {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    --erp-mc-h: 28px;
}

.erp-mc-label[b-k9jyx0w6l6] {
    font-size: .78rem;
    font-weight: 800;
    color: #334155;
    margin-bottom: 3px;
    display: inline-block;
}

.erp-mc-ig[b-k9jyx0w6l6] {
    display: flex;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* INPUT */
.erp-mc-input[b-k9jyx0w6l6] {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    height: var(--erp-mc-h);
    padding: 0 6px;
    font-size: .88rem;
    border-radius: 0;
    border: 1px solid #b6bec9;
    background: #fff;
    outline: none;
    box-shadow: none;
}

    .erp-mc-input:hover[b-k9jyx0w6l6] {
        border-color: #9aa4b2;
    }

    .erp-mc-input:focus[b-k9jyx0w6l6] {
        border-color: #3b82f6;
        box-shadow: 0 0 0 2px rgba(59,130,246,.15);
    }

/* BUTTONS */
.erp-mc-btn[b-k9jyx0w6l6] {
    width: 28px;
    min-width: 28px;
    flex: 0 0 28px;
    height: var(--erp-mc-h);
    border-radius: 0;
    border: 1px solid #b6bec9;
    border-left: 0;
    background: #f8fafc;
    color: #334155;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

    .erp-mc-btn:hover[b-k9jyx0w6l6] {
        background: #eef2f7;
        border-color: #9aa4b2;
    }

.erp-mc-x[b-k9jyx0w6l6]::before {
    content: "✕";
    font-size: .75rem;
    line-height: 1;
}

.erp-mc-arrow[b-k9jyx0w6l6] {
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #475569;
}

.erp-mc-btn.open .erp-mc-arrow[b-k9jyx0w6l6] {
    border-top: 0;
    border-bottom: 5px solid #475569;
}

/* =========================================================
   DROPDOWN PANEL  ✅ FIXED (overflow + positioning)
   ========================================================= */
.erp-mc-panel[b-k9jyx0w6l6] {
    position: absolute; /* ✅ required */
    left: 0; /* ✅ align with input */
    top: calc(var(--erp-mc-h) + 2px); /* ✅ below input */
    z-index: 9999; /* ✅ must be very high */
    border: 1px solid #c6cdd6;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15,23,42,.12);
    overflow: hidden; /* keeps header/body clean */
    min-width: 100%;
    width: max-content;
    max-width: min(96vw, 1200px);
}

/* On mobile, input height changes, so panel top must follow */
@media (max-width:640px) {
    .erp-mc-panel[b-k9jyx0w6l6] {
        top: calc(32px + 2px);
    }
}

/* Header (sticky) */
.erp-mc-head[b-k9jyx0w6l6] {
    display: flex;
    position: sticky;
    top: 0;
    background: #f7f9fd;
    border-bottom: 1px solid #c6cdd6;
    z-index: 2;
}

.erp-mc-hcell[b-k9jyx0w6l6] {
    padding: 6px 8px;
    font-size: .80rem;
    font-weight: 800;
    color: #334155;
    white-space: nowrap;
}

/* Body */
.erp-mc-body[b-k9jyx0w6l6] {
    max-height: 260px;
    overflow: auto;
}

.erp-mc-row[b-k9jyx0w6l6] {
    display: flex;
    cursor: pointer;
}

.erp-mc-cell[b-k9jyx0w6l6] {
    padding: 6px 8px;
    font-size: .88rem;
    border-bottom: 1px solid #edf1f6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.erp-mc-row:hover .erp-mc-cell[b-k9jyx0w6l6] {
    background: #f5f9ff;
}

.erp-mc-row.active .erp-mc-cell[b-k9jyx0w6l6] {
    background: #eaf2ff;
    font-weight: 600;
}

.erp-mc-empty[b-k9jyx0w6l6] {
    padding: 10px;
    font-size: .85rem;
    color: #64748b;
}

/* =========================================================
   Mobile sizing
   ========================================================= */
@media (max-width:640px) {
    .erp-mc-input[b-k9jyx0w6l6] {
        height: 32px;
        font-size: .92rem;
    }

    .erp-mc-btn[b-k9jyx0w6l6] {
        width: 32px;
        min-width: 32px;
        height: 32px;
    }
}

/* =========================================================
   SAP Lock: keep input background WHITE always
   (prevents bootstrap/focus/autofill blue fill)
   ========================================================= */
.erp-mc-input[b-k9jyx0w6l6],
.erp-mc-input:focus[b-k9jyx0w6l6],
.erp-mc-input:focus-visible[b-k9jyx0w6l6],
.erp-mc-input:active[b-k9jyx0w6l6],
.erp-mc-input[readonly][b-k9jyx0w6l6] {
    background-color: #ffffff !important;
}

    /* Autofill (Chrome) */
    .erp-mc-input:-webkit-autofill[b-k9jyx0w6l6],
    .erp-mc-input:-webkit-autofill:hover[b-k9jyx0w6l6],
    .erp-mc-input:-webkit-autofill:focus[b-k9jyx0w6l6],
    .erp-mc-input:-webkit-autofill:active[b-k9jyx0w6l6] {
        -webkit-box-shadow: 0 0 0px 1000px #ffffff inset !important;
        box-shadow: 0 0 0px 1000px #ffffff inset !important;
        -webkit-text-fill-color: #212529 !important;
    }

    /* Disabled should be light SAP gray */
    .erp-mc-input:disabled[b-k9jyx0w6l6] {
        background-color: #f5f7fa !important;
        color: #6b7280;
    }

/* =========================================================
   OPTIONAL: If your form/card is clipping dropdown
   Add this class to the form container: class="erp-no-clip"
   ========================================================= */
.erp-no-clip[b-k9jyx0w6l6] {
    overflow: visible !important;
}
/* /Components/Shared/GenComboBox.razor.rz.scp.css */


.gen-combo-wrapper[b-971u3mm12f] {
    position: relative;
}


.gen-combo[b-971u3mm12f] {
    display: block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem 2.25rem .375rem .75rem; 
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}


.clear-btn[b-971u3mm12f],
.arrow-btn[b-971u3mm12f] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px 6px;
    font-size: 14px;
    color: #555;
}

.clear-btn[b-971u3mm12f] {
    right: 2.25rem; 
}

.arrow-btn[b-971u3mm12f] {
    right: 0.75rem; 
    pointer-events: none;
}

.clear-btn:hover[b-971u3mm12f] {
    background-color: #eee;
    border-radius: 4px;
}

.arrow-btn[b-971u3mm12f]::after {
    content: '▼';
    font-size: 10px;
}

/* /Components/Shared/GenComboBoxMultiColumn.razor.rz.scp.css */
/* =========================================================
   MultiColumnCombo – BS25 ERP STANDARD (SAP COMPACT)
   Compatible with existing markup (NO HTML changes)
   ========================================================= */

/* =========================
   Root container
   ========================= */
.multi-column-combo-container[b-57tkwmxcs5] {
    position: relative;
    width: 100%;
}

    /* =========================
   Label (matches ERP)
   ========================= */
    .multi-column-combo-container > label.form-label[b-57tkwmxcs5] {
        font-size: 0.78rem;
        font-weight: 800;
        color: #334155;
        margin-bottom: 3px;
    }

    /* =========================
   Input group (override Bootstrap)
   ========================= */
    .multi-column-combo-container .input-group[b-57tkwmxcs5] {
        display: flex;
        align-items: stretch;
    }

        /* =========================
   Text input (SAP compact)
   ========================= */
        .multi-column-combo-container .input-group .form-control[b-57tkwmxcs5] {
            height: 28px; /* SAP COMPACT */
            padding: 0 6px;
            font-size: 0.88rem;
            line-height: 1.2;
            border-radius: 0;
            border: 1px solid #b6bec9;
            background-color: #ffffff;
            color: #212529;
            box-shadow: none;
        }

    /* hover */
    .multi-column-combo-container .form-control:hover[b-57tkwmxcs5] {
        border-color: #9aa4b2;
    }

    /* focus */
    .multi-column-combo-container .form-control:focus[b-57tkwmxcs5] {
        border-color: #3b82f6;
        box-shadow: 0 0 0 2px rgba(59,130,246,.15);
    }

    /* readonly stays white */
    .multi-column-combo-container .form-control[readonly][b-57tkwmxcs5] {
        background-color: #ffffff;
        opacity: 1;
    }

    /* =========================
   Buttons (clear + arrow)
   ========================= */
    .multi-column-combo-container .clear-btn[b-57tkwmxcs5],
    .multi-column-combo-container .arrow-btn[b-57tkwmxcs5] {
        width: 28px;
        min-width: 28px;
        height: 28px;
        border-radius: 0;
        border: 1px solid #b6bec9;
        border-left: 0;
        background: #f8fafc;
        color: #334155;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-shadow: none;
    }

        /* hover */
        .multi-column-combo-container .clear-btn:hover[b-57tkwmxcs5],
        .multi-column-combo-container .arrow-btn:hover[b-57tkwmxcs5] {
            background: #eef2f7;
            border-color: #9aa4b2;
        }

        /* arrow icon (CSS arrow) */
        .multi-column-combo-container .arrow-btn[b-57tkwmxcs5]::after {
            content: "";
            width: 0;
            height: 0;
            border-left: 4px solid transparent;
            border-right: 4px solid transparent;
            border-top: 5px solid #475569;
        }

        /* arrow open state */
        .multi-column-combo-container .arrow-btn.open[b-57tkwmxcs5]::after {
            border-top: none;
            border-bottom: 5px solid #475569;
        }

    /* clear icon (X) */
    .multi-column-combo-container .clear-icon[b-57tkwmxcs5]::before {
        content: "✕";
        font-size: 0.75rem;
        line-height: 1;
    }

    /* =========================
   Dropdown list (panel)
   ========================= */
    .multi-column-combo-container .dropdown-list[b-57tkwmxcs5] {
        list-style: none;
        margin: 0;
        padding: 0;
        border: 1px solid #c6cdd6;
        background: #ffffff;
        box-shadow: 0 10px 30px rgba(15,23,42,.12);
        z-index: 2000;
    }

    /* Header (if used) */
    .multi-column-combo-container .dropdown-header[b-57tkwmxcs5] {
        padding: 6px 8px;
        font-size: 0.78rem;
        font-weight: 800;
        background: #f7f9fd;
        border-bottom: 1px solid #c6cdd6;
    }

    /* =========================
   Dropdown items
   ========================= */
    .multi-column-combo-container .dropdown-list li[b-57tkwmxcs5] {
        padding: 6px 8px;
        font-size: 0.88rem;
        cursor: pointer;
        white-space: nowrap;
    }

        /* hover */
        .multi-column-combo-container .dropdown-list li:hover[b-57tkwmxcs5] {
            background: #f5f9ff;
        }

        /* active (keyboard) */
        .multi-column-combo-container .dropdown-list li.active[b-57tkwmxcs5] {
            background: #eaf2ff;
            font-weight: 600;
        }

        /* empty text */
        .multi-column-combo-container .dropdown-list li[style*="cursor: default"][b-57tkwmxcs5] {
            background: #ffffff;
            color: #64748b;
        }

    /* =========================
   Validation message
   ========================= */
    .multi-column-combo-container .validation-message[b-57tkwmxcs5] {
        font-size: 0.76rem;
        font-weight: 700;
        margin-top: 3px;
        color: #c0392b;
    }

/* =========================
   Mobile touch
   ========================= */
@media (max-width: 640px) {
    .multi-column-combo-container .form-control[b-57tkwmxcs5] {
        height: 32px;
        font-size: 0.92rem;
    }

    .multi-column-combo-container .clear-btn[b-57tkwmxcs5],
    .multi-column-combo-container .arrow-btn[b-57tkwmxcs5] {
        height: 32px;
        width: 32px;
        min-width: 32px;
    }
}

/* Hide internal label of custom combos (we already show ERP label) */
.multi-column-combo-container > label.form-label[b-57tkwmxcs5],
.gen-combo-box-multi-column-container > label.form-label[b-57tkwmxcs5],
.gen-combo-box-multi-column > label.form-label[b-57tkwmxcs5],
.gen-combo-container > label.form-label[b-57tkwmxcs5] {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* /Components/Shared/GenDeciBox.razor.rz.scp.css */
.form-control[b-cf2cookznl] {
    border: 2px solid lightblue;
    border-radius: 5px;
    padding: 8px;
    width: 100%;
}

    .form-control:focus[b-cf2cookznl] {
        border-color: deepskyblue;
        box-shadow: 0 0 5px deepskyblue;
    }
/* /Components/Shared/MultiLevelMenu.razor.rz.scp.css */
.multi-level-menu[b-id4g0yherc] {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

.multi-level-menu.is-collapsed .nav-link[b-id4g0yherc] {
    justify-content: center;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.multi-level-menu.is-collapsed .menu-title[b-id4g0yherc],
.multi-level-menu.is-collapsed .menu-chevron[b-id4g0yherc] {
    display: none;
}

.multi-level-menu.is-collapsed .bi[b-id4g0yherc] {
    margin-right: 0 !important;
    min-width: auto;
    text-align: center;
}

.nav-link[b-id4g0yherc] {
    color: var(--bb-sidebar-nav-item-text-color);
    display: flex;
    align-items: center;
    gap: 0.18rem;
    padding-top: 0.34rem;
    padding-bottom: 0.34rem;
    padding-right: 0.48rem;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
    font-size: 0.82rem;
    font-family: var(--bb-sidebar-font-family, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif);
    font-weight: 500;
    border-left: 3px solid transparent;
    border-radius: 11px;
    min-height: 29px;
    margin: 0.06rem 0;
    white-space: nowrap;
    overflow: hidden;
}

.nav-link:hover[b-id4g0yherc] {
    color: var(--bb-sidebar-nav-item-text-hover-color);
    background-color: var(--bb-sidebar-nav-item-background-hover-color);
    transform: translateX(2px);
}

.active-link[b-id4g0yherc],
.nav-link.active[b-id4g0yherc] {
    color: var(--bb-sidebar-nav-item-text-active-color);
    background: linear-gradient(90deg, rgba(var(--bb-sidebar-nav-item-text-active-color-rgb), 0.16), rgba(var(--bb-sidebar-nav-item-text-active-color-rgb), 0.08));
    border-left-color: var(--bb-sidebar-nav-item-text-active-color);
    box-shadow: inset 0 0 0 1px rgba(var(--bb-sidebar-nav-item-text-active-color-rgb), 0.12);
    font-weight: 700;
}

.active-parent[b-id4g0yherc] {
    color: var(--bb-sidebar-nav-item-text-active-color);
    background: linear-gradient(90deg, rgba(var(--bb-sidebar-nav-item-text-active-color-rgb), 0.12), rgba(var(--bb-sidebar-nav-item-text-active-color-rgb), 0.06));
    border-left-color: var(--bb-sidebar-nav-item-text-active-color);
    font-weight: 700;
}

.bi[b-id4g0yherc] {
    font-size: 0.9rem;
    min-width: 1.05rem;
    text-align: left;
    opacity: 0.92;
}

.menu-icon[b-id4g0yherc] {
    margin-right: 0.24rem;
    flex: 0 0 0.95rem;
    min-width: 0.95rem;
    text-align: center;
}

.menu-title[b-id4g0yherc] {
    letter-spacing: 0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1 1 auto;
    min-width: 0;
}

.transition-icon[b-id4g0yherc] {
    transition: transform 0.2s;
    font-size: 0.68rem;
    opacity: 0.68;
    flex: 0 0 auto;
}

.rotate-180[b-id4g0yherc] {
    transform: rotate(180deg);
}

.submenu-container[b-id4g0yherc] {
    animation: slideDown-b-id4g0yherc 0.18s ease-out;
}

@keyframes slideDown-b-id4g0yherc {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.text-truncate[b-id4g0yherc] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nav-link.level-0[b-id4g0yherc] {
    font-weight: 600;
    color: #0f172a;
    letter-spacing: 0.005em;
    text-transform: none;
}

.nav-link.level-1[b-id4g0yherc] {
    font-weight: 600;
    color: #1e293b;
}

.nav-link.level-2[b-id4g0yherc] {
    font-size: 0.8rem;
    color: #334155;
}

.nav-link.level-3[b-id4g0yherc] {
    font-size: 0.79rem;
    color: #475569;
}

.nav-link.level-2 .bi[b-id4g0yherc],
.nav-link.level-3 .bi[b-id4g0yherc] {
    font-size: 0.82rem;
    color: #64748b;
}
/* /Components/Shared/SapFormGrid.razor.rz.scp.css */
.sap-form-grid[b-wynorubrlr] {
    display: grid;
    gap: .6rem 1.25rem;
    padding: .75rem;
    border-radius: 6px;
    border: 1px solid #dbe3ef;
    background: #eaf3fb; /* soft blue like screenshot */
}

    /* Responsive columns */
    .sap-form-grid.columns-2[b-wynorubrlr] {
        grid-template-columns: 1fr 1fr;
    }

    .sap-form-grid.columns-3[b-wynorubrlr] {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .sap-form-grid.columns-4[b-wynorubrlr] {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

@media (max-width: 1100px) {
    .sap-form-grid.columns-4[b-wynorubrlr] {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (max-width: 900px) {
    .sap-form-grid.columns-3[b-wynorubrlr],
    .sap-form-grid.columns-4[b-wynorubrlr] {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .sap-form-grid[class*="columns-"][b-wynorubrlr] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Shared/SapTextBox.razor.rz.scp.css */
/* Layout: label | input on desktop; stacked on mobile */
.sap-field[b-9mje46xj4s] {
    display: grid;
    grid-template-columns: 1fr 2fr;
    align-items: center;
    gap: .5rem .75rem;
    margin-bottom: .5rem;
}

/* Stack on small screens */
@media (max-width: 768px) {
    .sap-field[b-9mje46xj4s] {
        grid-template-columns: 1fr; /* single column */
        gap: .35rem;
    }

    .sap-label[b-9mje46xj4s] {
        order: 1;
        font-size: 14px; /* slightly larger for mobile */
    }

    .sap-input-shell[b-9mje46xj4s] {
        order: 2;
    }
}

/* Compact desktop density option */
.sap-dense .sap-label[b-9mje46xj4s] {
    font-size: 12px;
}

.sap-dense .sap-input[b-9mje46xj4s] {
    height: 28px;
    font-size: 13px;
}

/* Label */
.sap-label[b-9mje46xj4s] {
    color: #334155;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sap-required[b-9mje46xj4s] {
    color: #ef4444;
    margin-left: 3px;
}

/* Input shell + input */
.sap-input-shell[b-9mje46xj4s] {
    position: relative;
    display: flex;
    align-items: center;
}

.sap-input[b-9mje46xj4s] {
    width: 100%;
    height: 36px;
    padding: 6px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #ffffff;
    color: #0f172a;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

/* Larger touch target on mobile */
@media (max-width: 768px) {
    .sap-input[b-9mje46xj4s] {
        height: 44px;
        font-size: 16px; /* prevents iOS zoom on focus */
        padding: 8px 12px;
    }
}

.sap-input:focus[b-9mje46xj4s] {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96,165,250,.25);
}

.sap-readonly .sap-input[readonly][b-9mje46xj4s] {
    background: #f3f6fb;
    color: #475569;
}

/* Validation */
.sap-invalid .sap-input[b-9mje46xj4s] {
    border-color: #ef4444;
}

.validation-message[b-9mje46xj4s],
.validation-message > div[b-9mje46xj4s] {
    grid-column: 2;
    color: #ef4444;
    font-size: 12px;
}

/* When stacked on mobile, show message beneath input */
@media (max-width: 768px) {
    .validation-message[b-9mje46xj4s],
    .validation-message > div[b-9mje46xj4s] {
        grid-column: 1;
    }
}

/* Right aligned numbers */
.sap-right[b-9mje46xj4s] {
    text-align: right;
}

/* Suffix inside input area (e.g., "kg") */
.sap-suffix[b-9mje46xj4s] {
    position: absolute;
    right: 10px;
    font-size: 12px;
    color: #64748b;
    pointer-events: none;
    top: 50%;
    transform: translateY(-50%);
}
/* /Components/Shared/VirtualAliGrid.razor.rz.scp.css */
/* ================================================================= */
/* --- Main Grid Structure & Layout --- */
/* ================================================================= */
.grid-wrapper[b-bzn1cuwr8l] {
    position: relative;
}

/* Force zero spacing/gutters between grid cells at generic level */
.grid-wrapper .row[b-bzn1cuwr8l],
.grid-wrapper .row.g-0[b-bzn1cuwr8l] {
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.grid-wrapper .row > .col[b-bzn1cuwr8l],
.grid-wrapper .row > [class*="col"][b-bzn1cuwr8l] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}

.grid-toolbar[b-bzn1cuwr8l] {
    padding: 8px;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.variant-display[b-bzn1cuwr8l] {
    font-size: 0.9em;
    color: #6c757d;
}

.grid-container[b-bzn1cuwr8l] {
    border: 1px solid #dee2e6;
    border-top: none;
    border-bottom-left-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
    height: 70vh;
    overflow: auto;
    position: relative;
    /* ✅ NEW: STOP TOUCHPAD SWIPE FROM LEAKING TO BROWSER BACK/FORWARD */
    overscroll-behavior-x: contain;
    overscroll-behavior-y: contain;
    touch-action: pan-x pan-y;
}

.grid-header[b-bzn1cuwr8l] {
    background-color: #f8f9fa;
    font-weight: 650; /* was 600 */
    color: #111827; /* dark slate */
    border-bottom: 0 !important;
    position: sticky;
    top: 0;
    z-index: 20;
}

    /* underline always visible (even under sticky Actions col) */
    .grid-header[b-bzn1cuwr8l]::after {
        content: none !important;
    }

/* Sticky underline (always full visible width of the scroll container) */
.grid-header-underline[b-bzn1cuwr8l] {
    position: sticky;
    top: var(--vg-header-h); /*EXACT header height from Blazor */
    left: 0;
    right: 0;
    height: 0;
    background: transparent;
    z-index: 1000; /*higher than actions sticky */
    pointer-events: none;
}

.grid-body[b-bzn1cuwr8l] {
    background-color: #fff;
    position: relative;
}

/* ================================================================= */
/* --- Cell & Row Styling --- */
/* ================================================================= */

.excel-cell[b-bzn1cuwr8l] {
    padding: 0 15px;
    display: flex;
    align-items: center;
    overflow: hidden;
    white-space: nowrap;
    border-bottom: 1px solid #e9ecef;
    position: relative;
    width: 100%;
}

.header-cell[b-bzn1cuwr8l] {
    border-bottom-width: 0;
    font-size: 0.85em;
    letter-spacing: 0.5px;
    justify-content: space-between;
}

[b-bzn1cuwr8l] .row:nth-of-type(odd) .excel-cell {
    background-color: #fff;
}

[b-bzn1cuwr8l] .row:nth-of-type(even) .excel-cell {
    background-color: #f8f9fa;
}

[b-bzn1cuwr8l] .row:hover .excel-cell {
    background-color: #ddeeff;
}

[b-bzn1cuwr8l] .selected-row .excel-cell {
    background-color: #cce5ff !important;
}

[b-bzn1cuwr8l] .grid-body .col,
.filter-header-container[b-bzn1cuwr8l] {
    border-right: 1px solid #e9ecef;
}

[b-bzn1cuwr8l] .excel-cell[contenteditable="true"]:focus {
    outline: 2px solid #0d6efd;
    z-index: 10;
    position: relative;
    background-color: #fff !important;
}

/* Qty, Price, numeric columns usually look better slightly stronger */
.excel-cell[data-type="number"][b-bzn1cuwr8l],
.excel-cell.numeric[b-bzn1cuwr8l] {
    font-weight: 500;
    color: #0f172a;
}

/* ================================================================= */
/* --- Column Features: Sort, Resize, Reorder --- */
/* ================================================================= */
.group-header-content[b-bzn1cuwr8l] {
    display: flex;
    align-items: center;
    gap: 2px;
}

.group-label-cell[b-bzn1cuwr8l] {
    position: relative;
    width: 100%;
    min-height: 100%;
    padding-right: 18px;
}

.group-toggle[b-bzn1cuwr8l] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1em;
    font-weight: 800;
    line-height: 1;
    width: 1rem;
    height: 1.25rem;
    padding: 0;
}

.group-toggle.sap-toggle[b-bzn1cuwr8l] {
    width: 14px;
    height: 14px;
    border: 1px solid #6b7280;
    border-radius: 1px;
    background: #f8fafc;
    color: #0f172a;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.group-toggle.sap-toggle.group-corner-toggle[b-bzn1cuwr8l] {
    position: absolute;
    right: 0;
    bottom: 1px;
}

.header-content[b-bzn1cuwr8l] {
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    user-select: none;
    flex-grow: 1;
    overflow: hidden;
}

.header-content.group-selected[b-bzn1cuwr8l] {
    font-weight: inherit;
    color: inherit !important;
}

.filter-header-container.group-col-selected > .header-cell[b-bzn1cuwr8l] {
    background: inherit !important;
    box-shadow: inherit;
}

.filter-header-container.selected-header > .header-cell[b-bzn1cuwr8l] {
    outline: 1px solid #1d4ed8;
    outline-offset: -1px;
}

.filter-header-container.group-col-selected .header-text[b-bzn1cuwr8l] {
    color: inherit !important;
    font-weight: inherit;
}

.group-pill[b-bzn1cuwr8l] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    border: 1px solid #94a3b8;
    border-radius: 2px;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
    color: #475569;
    background: #f8fafc;
}

.filter-pill[b-bzn1cuwr8l] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    border: 1px solid #1d4ed8;
    border-radius: 2px;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
    color: #ffffff;
    background: #1d4ed8;
}

.header-context-menu[b-bzn1cuwr8l] {
    position: fixed;
    z-index: 5000;
    min-width: 130px;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.2);
    border-radius: 4px;
    padding: 4px 0;
}

.header-context-item[b-bzn1cuwr8l] {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    text-align: left;
    font-size: 12px;
    padding: 6px 10px;
    color: #0f172a;
    cursor: pointer;
}

.header-context-item:hover:not(:disabled)[b-bzn1cuwr8l] {
    background: #e2e8f0;
}

.header-context-item:disabled[b-bzn1cuwr8l] {
    color: #94a3b8;
    cursor: not-allowed;
}

.header-text[b-bzn1cuwr8l] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-actions[b-bzn1cuwr8l] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sort-indicator[b-bzn1cuwr8l] {
    font-size: 0.9em;
    color: #adb5bd;
    cursor: pointer;
}

    .sort-indicator.active[b-bzn1cuwr8l] {
        color: #212529;
    }

.resizer[b-bzn1cuwr8l] {
    position: absolute;
    top: 0;
    right: 0;
    width: 8px;
    height: 100%;
    cursor: col-resize;
    z-index: 99;
    transition: background-color 0.2s ease;
}

    .resizer:hover[b-bzn1cuwr8l] {
        background-color: rgba(13, 110, 253, 0.5);
    }

.dragging > .header-cell[b-bzn1cuwr8l] {
    opacity: 0.5;
}

.dragging[b-bzn1cuwr8l] {
    background-color: #d1e7dd;
}

/* IMPORTANT: Bootstrap .col uses flex:1; that breaks fixed pixel widths */
#app .grid-wrapper .row > .col[b-bzn1cuwr8l],
.grid-wrapper .row > .col[b-bzn1cuwr8l] {
    flex: 0 0 auto !important;
    box-sizing: border-box;
}

.grid-wrapper .row > .col[b-bzn1cuwr8l] {
    flex: 0 0 auto !important;
    box-sizing: border-box;
}

/* ================================================================= */
/* --- Advanced Filter Popup --- */
/* ================================================================= */

.filter-header-container[b-bzn1cuwr8l] {
    position: relative;
    display: flex;
    align-items: center;
}

    .filter-header-container:first-child .filter-popup[b-bzn1cuwr8l],
    .grid-header .row > .filter-header-container:nth-child(2) .filter-popup[b-bzn1cuwr8l] {
        left: 0;
        right: auto;
    }

    .filter-header-container.active[b-bzn1cuwr8l] {
        background-color: #e9ecef;
        outline: 1px solid #0d6efd;
        outline-offset: -1px;
    }

.filter-icon[b-bzn1cuwr8l] {
    padding: 0 4px;
    cursor: pointer;
    color: #adb5bd;
    transition: color 0.2s ease-in-out;
}

    .filter-icon:hover[b-bzn1cuwr8l] {
        color: #0d6efd;
    }

    .filter-icon.active[b-bzn1cuwr8l] {
        color: #0d6efd;
    }

.filter-popup[b-bzn1cuwr8l] {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1000;
    background-color: white;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
    min-width: 200px;
    display: flex;
    flex-direction: column;
}

.filter-tabs[b-bzn1cuwr8l] {
    display: flex;
    border-bottom: 1px solid #dee2e6;
    background-color: #f8f9fa;
}

.filter-tab[b-bzn1cuwr8l] {
    padding: 10px 15px;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 0.9em;
    color: #6c757d;
}

    .filter-tab.active[b-bzn1cuwr8l] {
        background-color: #fff;
        font-weight: 600;
        color: #0d6efd;
        border-right: 1px solid #dee2e6;
    }

    .filter-tab:not(.active):hover[b-bzn1cuwr8l] {
        background-color: #e9ecef;
    }

.filter-content[b-bzn1cuwr8l] {
    padding: 15px;
}

.filter-search-box[b-bzn1cuwr8l] {
    margin-bottom: 10px;
}

.filter-values-list[b-bzn1cuwr8l] {
    max-height: 250px;
    overflow-y: auto;
}

    /* --- FIX: Filter Checklist Item Alignment and Wrapping --- */
    .filter-values-list .form-check[b-bzn1cuwr8l] {
        margin-bottom: 0.25rem;
        padding-left: 0;
        min-height: 1.5rem;
        display: flex;
        align-items: center;
        cursor: pointer;
    }

    .filter-values-list .form-check-label[b-bzn1cuwr8l] {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-left: 4px;
    }

    .filter-values-list .form-check:first-child[b-bzn1cuwr8l] {
        font-weight: 600;
        border-bottom: 1px solid #eee;
        padding-bottom: 5px;
        margin-bottom: 5px;
        padding-top: 5px;
    }

    .filter-values-list .form-check-input[b-bzn1cuwr8l] {
        margin-top: 0;
        margin-left: 0;
        margin-right: 0.5rem;
    }
/* --- END FIX --- */

.list-filter-textarea[b-bzn1cuwr8l] {
    min-height: 150px;
    resize: vertical;
}

.filter-loading[b-bzn1cuwr8l] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    color: #6c757d;
}

.filter-advanced-container[b-bzn1cuwr8l], .filter-range-container[b-bzn1cuwr8l] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.filter-actions[b-bzn1cuwr8l] {
    padding: 12px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    background-color: #f8f9fa;
}

/* ================================================================= */
/* --- Actions Column (Add/Edit/Delete) --- */
/* ================================================================= */

.actions-header-col[b-bzn1cuwr8l],
[b-bzn1cuwr8l] .actions-col {
    position: sticky;
    right: 0;
    z-index: 15;
    min-width: 80px;
    width: 80px;
}

.actions-header-col[b-bzn1cuwr8l] {
    background-color: #f8f9fa;
    border-left: 1px solid #dee2e6;
}

    .actions-header-col .excel-cell.header-cell[b-bzn1cuwr8l] {
        padding: 0 4px;
        justify-content: space-between;
        flex-wrap: nowrap;
    }

[b-bzn1cuwr8l] .actions-col .excel-cell {
    padding: 0 4px;
    justify-content: center;
    border-left: 1px solid #e9ecef;
}
/* --- END FIX --- */

[b-bzn1cuwr8l] .actions-cell {
    gap: 6px;
}

[b-bzn1cuwr8l] .row:nth-of-type(odd) .actions-cell {
    background-color: #fff;
}

[b-bzn1cuwr8l] .row:nth-of-type(even) .actions-cell {
    background-color: #f8f9fa;
}

.action-btn[b-bzn1cuwr8l] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px;
    border-radius: 4px;
    color: #6c757d;
    transition: background-color 0.2s, color 0.2s;
}

@media (max-width: 768px) {
    .actions-header-col[b-bzn1cuwr8l],
    [b-bzn1cuwr8l] .actions-col {
        min-width: 60px;
        width: 60px;
    }

    [b-bzn1cuwr8l] .actions-cell {
        gap: 4px;
    }

    .action-btn[b-bzn1cuwr8l] {
        padding: 1px;
    }

    .action-btn svg[b-bzn1cuwr8l] {
        width: 12px;
        height: 12px;
    }
}

    .action-btn:hover[b-bzn1cuwr8l] {
        color: #111827;
    }

    .action-btn.delete-btn:hover[b-bzn1cuwr8l] {
        color: #dc3545;
    }

.add-btn[b-bzn1cuwr8l] {
    margin-left: auto;
}

/* ================================================================= */
/* --- Settings Popup --- */
/* ================================================================= */

.settings-overlay[b-bzn1cuwr8l] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px;
    box-sizing: border-box;
}

.settings-popup[b-bzn1cuwr8l] {
    background-color: white;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
    width: 90%;
    max-width: 700px;
    max-height: calc(100vh - 24px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.settings-header[b-bzn1cuwr8l] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    border-bottom: 1px solid #dee2e6;
}

    .settings-header h5[b-bzn1cuwr8l] {
        margin-bottom: 0;
    }

.settings-body[b-bzn1cuwr8l] {
    padding: 0;
    overflow-y: auto;
    max-height: calc(100vh - 120px);
}

.column-visibility-list[b-bzn1cuwr8l] {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    padding: 10px;
    border-radius: 0.25rem;
}

/* ================================================================= */
/* --- Grouping and Totals Styling --- */
/* ================================================================= */

.group-header-wrap[b-bzn1cuwr8l] {
    background: transparent;
}

.group-header-row[b-bzn1cuwr8l] {
    background-color: #e9ecef;
    padding: 0;
    display: flex;
    align-items: stretch;
    font-weight: 700;
    color: #495057;
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

.group-footer-row[b-bzn1cuwr8l] {
    font-weight: 600;
    border-top: 0;
    border-bottom: 0;
}

    .group-footer-row .footer-cell-container:last-child[b-bzn1cuwr8l] {
        border-right: none;
    }

.sub-total-row[b-bzn1cuwr8l] {
    background-color: #f1f1f1;
    border-right: none;
}

.grand-total-row[b-bzn1cuwr8l] {
    background-color: #cce5ff;
    font-weight: 700;
    border-top: 0;
}

.footer-cell-container[b-bzn1cuwr8l] {
    border-right: 0;
}

.sub-total-row .footer-cell-container.subtotal-merged-cell[b-bzn1cuwr8l] {
    border-right: 0;
}

.sub-total-row .footer-cell-container.subtotal-merged-cell .footer-cell[b-bzn1cuwr8l] {
    border-right: 1px solid var(--erp-gridline, #c6cdd6);
}

.footer-cell[b-bzn1cuwr8l] {
    display: flex;
    align-items: center;
    padding: 0 15px;
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
}


/* =========================================================
   Stronger typography
   ========================================================= */

.header-cell[b-bzn1cuwr8l],
.header-content[b-bzn1cuwr8l],
.header-text[b-bzn1cuwr8l] {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 600;
    color: #111827;
    letter-spacing: 0.2px;
}

.grid-body[b-bzn1cuwr8l],
[b-bzn1cuwr8l] .grid-body,
.excel-cell[b-bzn1cuwr8l] {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 500;
    color: #111827;
}


.sort-indicator[b-bzn1cuwr8l] {
    color: #6b7280;
}

    .sort-indicator.active[b-bzn1cuwr8l] {
        color: #111827;
    }

.action-btn[b-bzn1cuwr8l] {
    font-size: 14px;
    color: #4b5563;
}

/* =========================================================
   EXCEL-LIKE: Never allow columns to wrap to next line
   ========================================================= */

[b-bzn1cuwr8l] .grid-header .row,
[b-bzn1cuwr8l] .grid-body .row {
    flex-wrap: nowrap !important;
}

.group-footer-row[b-bzn1cuwr8l],
.group-header-row[b-bzn1cuwr8l] {
    flex-wrap: nowrap !important;
}

.vg-noselect[b-bzn1cuwr8l], .vg-noselect *[b-bzn1cuwr8l] {
    user-select: none !important;
}

.grid-wrapper.vg-resizing[b-bzn1cuwr8l] {
    cursor: col-resize;
}

/* ================= Filter Popup – Lighter Typography ================= */
.filter-popup[b-bzn1cuwr8l] {
    font-size: 0.88rem;
    color: #374151; /* softer than black */
}

    .filter-popup .filter-tab[b-bzn1cuwr8l] {
        font-weight: 500;
        color: #6b7280;
    }

        .filter-popup .filter-tab.active[b-bzn1cuwr8l] {
            font-weight: 600;
            color: #2563eb;
        }

.filter-values-list .form-check-label[b-bzn1cuwr8l] {
    font-weight: 500;
    color: #111827;
}

.filter-values-list .form-check:first-child .form-check-label[b-bzn1cuwr8l] {
    font-weight: 600;
}

.filter-popup .btn[b-bzn1cuwr8l] {
    font-weight: 600;
}

/* /Components/Shared/VirtualGrid.razor.rz.scp.css */
/* ================================================================= */
/* --- Main Grid Structure & Layout --- */
/* ================================================================= */

.grid-wrapper[b-yvfe2ym99y] {
    position: relative;
}

.grid-toolbar[b-yvfe2ym99y] {
    padding: 8px;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6; /* Border between toolbar and header */
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.variant-display[b-yvfe2ym99y] {
    font-size: 0.9em;
    color: #6c757d;
}

.grid-container[b-yvfe2ym99y] {
    border: 1px solid #dee2e6;
    border-top: none;
    border-bottom-left-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
    height: 70vh;
    /* --- FIX: Use a single scroll container for both X and Y axes --- */
    overflow: auto;
    position: relative;
}

.grid-header[b-yvfe2ym99y] {
    background-color: #f8f9fa;
    font-weight: 600;
    color: #495057;
    border-bottom: 2px solid #dee2e6;
    /* --- FIX: Make the header sticky to the top of the single scroll container --- */
    position: sticky;
    top: 0;
    z-index: 20;
}

.grid-body[b-yvfe2ym99y] {
    background-color: #fff;
    position: relative;
    /* --- FIX: Remove all overflow properties from the body --- */
}

/* ================================================================= */
/* --- Cell & Row Styling --- */
/* ================================================================= */

.excel-cell[b-yvfe2ym99y] {
    padding: 0 15px;
    display: flex;
    align-items: center;
    overflow: hidden;
    white-space: nowrap;
    border-bottom: 1px solid #e9ecef;
    position: relative;
    width: 100%;
}

.header-cell[b-yvfe2ym99y] {
    border-bottom-width: 0;
    font-size: 0.85em;
    letter-spacing: 0.5px;
    justify-content: space-between;
}

[b-yvfe2ym99y] .row:nth-of-type(odd) .excel-cell {
    background-color: #fff;
}

[b-yvfe2ym99y] .row:nth-of-type(even) .excel-cell {
    background-color: #f8f9fa;
}

[b-yvfe2ym99y] .row:hover .excel-cell {
    background-color: #ddeeff;
}

[b-yvfe2ym99y] .selected-row .excel-cell {
    background-color: #cce5ff !important;
}

[b-yvfe2ym99y] .grid-body .col,
.filter-header-container[b-yvfe2ym99y] {
    border-right: 1px solid #e9ecef;
}


[b-yvfe2ym99y] .excel-cell[contenteditable="true"]:focus {
    outline: 2px solid #0d6efd;
    z-index: 10;
    position: relative;
    background-color: #fff !important;
}

/* ================================================================= */
/* --- Column Features: Sort, Resize, Reorder --- */
/* ================================================================= */

.header-content[b-yvfe2ym99y] {
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    user-select: none;
    flex-grow: 1;
    overflow: hidden;
}

.header-text[b-yvfe2ym99y] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-actions[b-yvfe2ym99y] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sort-indicator[b-yvfe2ym99y] {
    font-size: 0.9em;
    color: #adb5bd;
    cursor: pointer;
}

    .sort-indicator.active[b-yvfe2ym99y] {
        color: #212529;
    }

.resizer[b-yvfe2ym99y] {
    position: absolute;
    top: 0;
    right: 0;
    width: 8px;
    height: 100%;
    cursor: col-resize;
    z-index: 99;
    transition: background-color 0.2s ease;
}

    .resizer:hover[b-yvfe2ym99y] {
        background-color: rgba(13, 110, 253, 0.5);
    }

.dragging > .header-cell[b-yvfe2ym99y] {
    opacity: 0.5;
}

.dragging[b-yvfe2ym99y] {
    background-color: #d1e7dd;
}

/* ================================================================= */
/* --- Advanced Filter Popup --- */
/* ================================================================= */

.filter-header-container[b-yvfe2ym99y] {
    position: relative;
    display: flex;
    align-items: center;
}

    .filter-header-container:first-child .filter-popup[b-yvfe2ym99y] {
        left: 0;
        right: auto;
    }

    .filter-header-container.active[b-yvfe2ym99y] {
        background-color: #e9ecef;
        outline: 1px solid #0d6efd;
        outline-offset: -1px;
    }

.filter-icon[b-yvfe2ym99y] {
    padding: 0 4px;
    cursor: pointer;
    color: #adb5bd;
    transition: color 0.2s ease-in-out;
}

    .filter-icon:hover[b-yvfe2ym99y] {
        color: #0d6efd;
    }

    .filter-icon.active[b-yvfe2ym99y] {
        color: #0d6efd;
    }

.filter-popup[b-yvfe2ym99y] {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1000;
    background-color: white;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
    min-width: 300px;
    display: flex;
    flex-direction: column;
}

.filter-tabs[b-yvfe2ym99y] {
    display: flex;
    border-bottom: 1px solid #dee2e6;
    background-color: #f8f9fa;
}

.filter-tab[b-yvfe2ym99y] {
    padding: 10px 15px;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 0.9em;
    color: #6c757d;
}

    .filter-tab.active[b-yvfe2ym99y] {
        background-color: #fff;
        font-weight: 600;
        color: #0d6efd;
        border-right: 1px solid #dee2e6;
    }

    .filter-tab:not(.active):hover[b-yvfe2ym99y] {
        background-color: #e9ecef;
    }

.filter-content[b-yvfe2ym99y] {
    padding: 15px;
}

.filter-search-box[b-yvfe2ym99y] {
    margin-bottom: 10px;
}

.filter-values-list[b-yvfe2ym99y] {
    max-height: 250px;
    overflow-y: auto;
}

.list-filter-textarea[b-yvfe2ym99y] {
    min-height: 150px;
    resize: vertical;
}

.filter-loading[b-yvfe2ym99y] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    color: #6c757d;
}

.filter-advanced-container[b-yvfe2ym99y], .filter-range-container[b-yvfe2ym99y] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.filter-actions[b-yvfe2ym99y] {
    padding: 12px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    background-color: #f8f9fa;
}

/* ================================================================= */
/* --- Actions Column (Add/Edit/Delete) --- */
/* ================================================================= */

.actions-header-col[b-yvfe2ym99y],
[b-yvfe2ym99y] .actions-col {
    position: sticky;
    right: 0;
    z-index: 15;
}

.actions-header-col[b-yvfe2ym99y] {
    background-color: #f8f9fa;
    border-left: 1px solid #dee2e6;
}

[b-yvfe2ym99y] .actions-cell {
    border-left: 1px solid #e9ecef;
}

[b-yvfe2ym99y] .row:nth-of-type(odd) .actions-cell {
    background-color: #fff;
}

[b-yvfe2ym99y] .row:nth-of-type(even) .actions-cell {
    background-color: #f8f9fa;
}


.actions-cell[b-yvfe2ym99y] {
    justify-content: center;
    gap: 8px;
}

.action-btn[b-yvfe2ym99y] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    color: #6c757d;
    transition: background-color 0.2s, color 0.2s;
}

    .action-btn:hover[b-yvfe2ym99y] {
        background-color: #e9ecef;
        color: #0d6efd;
    }

    .action-btn.delete-btn:hover[b-yvfe2ym99y] {
        color: #dc3545;
    }

.add-btn[b-yvfe2ym99y] {
    margin-left: auto;
}

/* ================================================================= */
/* --- Settings Popup --- */
/* ================================================================= */

.settings-overlay[b-yvfe2ym99y] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    justify-content: center;
    align-items: center;
}

.settings-popup[b-yvfe2ym99y] {
    background-color: white;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
    width: 90%;
    max-width: 700px;
}

.settings-header[b-yvfe2ym99y] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    border-bottom: 1px solid #dee2e6;
}

    .settings-header h5[b-yvfe2ym99y] {
        margin-bottom: 0;
    }

.settings-body[b-yvfe2ym99y] {
    padding: 0;
}

.column-visibility-list[b-yvfe2ym99y] {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    padding: 10px;
    border-radius: 0.25rem;
}

/* ================================================================= */
/* --- Responsive Card View for Mobile/Tablet --- */
/* ================================================================= */

@media (max-width: 768px) {

    /* 1. Hide the original table header */
    .grid-header[b-yvfe2ym99y] {
        display: none;
    }

    /* 2. Adjust main containers for a card list layout */
    .grid-container[b-yvfe2ym99y], .grid-body[b-yvfe2ym99y] {
        overflow-x: hidden; /* Prevent horizontal scroll */
    }

    /* FIX: Added ::deep to target elements inside Blazor component */
    [b-yvfe2ym99y] .grid-body .row {
        /* Make each row a distinct card */
        position: static !important;
        transform: none !important;
        width: auto !important;
        display: block;
        border: 1px solid #dee2e6;
        border-radius: 0.375rem;
        margin: 0 15px 1rem 15px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }

    /* 3. Transform cells to stack vertically */
    /* FIX: Added ::deep */
    [b-yvfe2ym99y] .grid-body .col {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 15px;
        width: 100% !important;
        border-bottom: 1px solid #e9ecef;
        border-right: none; /* Make sure to remove right border in card view */
    }

    /* FIX: Added ::deep */
    [b-yvfe2ym99y] .grid-body .row .col:last-of-type {
        border-bottom: none;
    }

    /* 4. Use the data-label to create a label for each cell's data */
    /* FIX: Added ::deep */
    [b-yvfe2ym99y] .grid-body .col::before {
        content: attr(data-label);
        font-weight: 600;
        color: #495057;
        padding-right: 15px;
    }

    /* 5. Reposition the actions cell to be part of the flow */
    /* FIX: Added ::deep */
    [b-yvfe2ym99y] .grid-body .actions-col {
        position: static;
        background: none;
        width: 100% !important;
        border-top: 1px solid #e9ecef;
        border-right: none; /* Make sure to remove right border in card view */
    }

    /* FIX: Added ::deep */
    [b-yvfe2ym99y] .grid-body .actions-cell {
        background-color: #f8f9fa !important;
    }
}
/* /Components/Shared/VirtualGroupedGrid.razor.rz.scp.css */
/* ================================================================= */
/* --- Main Grid Structure & Layout --- */
/* ================================================================= */
.grid-wrapper[b-7yt74nhpwn] {
    position: relative;
}

.grid-toolbar[b-7yt74nhpwn] {
    padding: 8px;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.variant-display[b-7yt74nhpwn] {
    font-size: 0.9em;
    color: #6c757d;
}

.grid-container[b-7yt74nhpwn] {
    border: 1px solid #dee2e6;
    border-top: none;
    border-bottom-left-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
    height: 70vh;
    overflow: auto;
    position: relative;
    /* ✅ NEW: STOP TOUCHPAD SWIPE FROM LEAKING TO BROWSER BACK/FORWARD */
    overscroll-behavior-x: contain;
    overscroll-behavior-y: contain;
    touch-action: pan-x pan-y;
}

.grid-header[b-7yt74nhpwn] {
    background-color: #f8f9fa;
    font-weight: 650; /* was 600 */
    color: #111827; /* dark slate */
    border-bottom: 0 !important;
    position: sticky;
    top: 0;
    z-index: 20;
}

    /* underline always visible (even under sticky Actions col) */
    .grid-header[b-7yt74nhpwn]::after {
        content: none !important;
    }

/* Sticky underline (always full visible width of the scroll container) */
.grid-header-underline[b-7yt74nhpwn] {
    position: sticky;
    top: var(--vg-header-h); /*EXACT header height from Blazor */
    left: 0;
    right: 0;
    height: 0;
    background: transparent;
    z-index: 1000; /*higher than actions sticky */
    pointer-events: none;
}

.grid-body[b-7yt74nhpwn] {
    background-color: #fff;
    position: relative;
}

/* ================================================================= */
/* --- Cell & Row Styling --- */
/* ================================================================= */

.excel-cell[b-7yt74nhpwn] {
    padding: 0 15px;
    display: flex;
    align-items: center;
    overflow: hidden;
    white-space: nowrap;
    border-bottom: 1px solid #e9ecef;
    position: relative;
    width: 100%;
}

.header-cell[b-7yt74nhpwn] {
    border-bottom-width: 0;
    font-size: 0.85em;
    letter-spacing: 0.5px;
    justify-content: space-between;
}

[b-7yt74nhpwn] .row:nth-of-type(odd) .excel-cell {
    background-color: #fff;
}

[b-7yt74nhpwn] .row:nth-of-type(even) .excel-cell {
    background-color: #f8f9fa;
}

[b-7yt74nhpwn] .row:hover .excel-cell {
    background-color: #ddeeff;
}

[b-7yt74nhpwn] .selected-row .excel-cell {
    background-color: #cce5ff !important;
}

[b-7yt74nhpwn] .grid-body .col,
.filter-header-container[b-7yt74nhpwn] {
    border-right: 1px solid #e9ecef;
}

[b-7yt74nhpwn] .excel-cell[contenteditable="true"]:focus {
    outline: 2px solid #0d6efd;
    z-index: 10;
    position: relative;
    background-color: #fff !important;
}

/* Qty, Price, numeric columns usually look better slightly stronger */
.excel-cell[data-type="number"][b-7yt74nhpwn],
.excel-cell.numeric[b-7yt74nhpwn] {
    font-weight: 500;
    color: #0f172a;
}

/* ================================================================= */
/* --- Column Features: Sort, Resize, Reorder --- */
/* ================================================================= */
.group-header-content[b-7yt74nhpwn] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.group-toggle[b-7yt74nhpwn] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.95em;
    line-height: 1;
    width: 1.25rem;
    height: 1.25rem;
    padding: 0;
}

.header-content[b-7yt74nhpwn] {
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    user-select: none;
    flex-grow: 1;
    overflow: hidden;
}

.header-text[b-7yt74nhpwn] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-actions[b-7yt74nhpwn] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sort-indicator[b-7yt74nhpwn] {
    font-size: 0.9em;
    color: #adb5bd;
    cursor: pointer;
}

    .sort-indicator.active[b-7yt74nhpwn] {
        color: #212529;
    }

.resizer[b-7yt74nhpwn] {
    position: absolute;
    top: 0;
    right: 0;
    width: 8px;
    height: 100%;
    cursor: col-resize;
    z-index: 99;
    transition: background-color 0.2s ease;
}

    .resizer:hover[b-7yt74nhpwn] {
        background-color: rgba(13, 110, 253, 0.5);
    }

.dragging > .header-cell[b-7yt74nhpwn] {
    opacity: 0.5;
}

.dragging[b-7yt74nhpwn] {
    background-color: #d1e7dd;
}

/* IMPORTANT: Bootstrap .col uses flex:1; that breaks fixed pixel widths */
#app .grid-wrapper .row > .col[b-7yt74nhpwn],
.grid-wrapper .row > .col[b-7yt74nhpwn] {
    flex: 0 0 auto !important;
    box-sizing: border-box;
}

.grid-wrapper .row > .col[b-7yt74nhpwn] {
    flex: 0 0 auto !important;
    box-sizing: border-box;
}

/* ================================================================= */
/* --- Advanced Filter Popup --- */
/* ================================================================= */

.filter-header-container[b-7yt74nhpwn] {
    position: relative;
    display: flex;
    align-items: center;
}

    .filter-header-container:first-child .filter-popup[b-7yt74nhpwn],
    .grid-header .row > .filter-header-container:nth-child(2) .filter-popup[b-7yt74nhpwn] {
        left: 0;
        right: auto;
    }

    .filter-header-container.active[b-7yt74nhpwn] {
        background-color: #e9ecef;
        outline: 1px solid #0d6efd;
        outline-offset: -1px;
    }

.filter-icon[b-7yt74nhpwn] {
    padding: 0 4px;
    cursor: pointer;
    color: #adb5bd;
    transition: color 0.2s ease-in-out;
}

    .filter-icon:hover[b-7yt74nhpwn] {
        color: #0d6efd;
    }

    .filter-icon.active[b-7yt74nhpwn] {
        color: #0d6efd;
    }

.filter-popup[b-7yt74nhpwn] {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1000;
    background-color: white;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
    min-width: 200px;
    display: flex;
    flex-direction: column;
}

.filter-tabs[b-7yt74nhpwn] {
    display: flex;
    border-bottom: 1px solid #dee2e6;
    background-color: #f8f9fa;
}

.filter-tab[b-7yt74nhpwn] {
    padding: 10px 15px;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 0.9em;
    color: #6c757d;
}

    .filter-tab.active[b-7yt74nhpwn] {
        background-color: #fff;
        font-weight: 600;
        color: #0d6efd;
        border-right: 1px solid #dee2e6;
    }

    .filter-tab:not(.active):hover[b-7yt74nhpwn] {
        background-color: #e9ecef;
    }

.filter-content[b-7yt74nhpwn] {
    padding: 15px;
}

.filter-search-box[b-7yt74nhpwn] {
    margin-bottom: 10px;
}

.filter-values-list[b-7yt74nhpwn] {
    max-height: 250px;
    overflow-y: auto;
}

    /* --- FIX: Filter Checklist Item Alignment and Wrapping --- */
    .filter-values-list .form-check[b-7yt74nhpwn] {
        margin-bottom: 0.25rem;
        padding-left: 0;
        min-height: 1.5rem;
        display: flex;
        align-items: center;
        cursor: pointer;
    }

    .filter-values-list .form-check-label[b-7yt74nhpwn] {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-left: 4px;
    }

    .filter-values-list .form-check:first-child[b-7yt74nhpwn] {
        font-weight: 600;
        border-bottom: 1px solid #eee;
        padding-bottom: 5px;
        margin-bottom: 5px;
        padding-top: 5px;
    }

    .filter-values-list .form-check-input[b-7yt74nhpwn] {
        margin-top: 0;
        margin-left: 0;
        margin-right: 0.5rem;
    }
/* --- END FIX --- */

.list-filter-textarea[b-7yt74nhpwn] {
    min-height: 150px;
    resize: vertical;
}

.filter-loading[b-7yt74nhpwn] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    color: #6c757d;
}

.filter-advanced-container[b-7yt74nhpwn], .filter-range-container[b-7yt74nhpwn] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.filter-actions[b-7yt74nhpwn] {
    padding: 12px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    background-color: #f8f9fa;
}

/* ================================================================= */
/* --- Actions Column (Add/Edit/Delete) --- */
/* ================================================================= */

.actions-header-col[b-7yt74nhpwn],
[b-7yt74nhpwn] .actions-col {
    position: sticky;
    right: 0;
    z-index: 15;
    min-width: 80px;
    width: 80px;
}

.actions-header-col[b-7yt74nhpwn] {
    background-color: #f8f9fa;
    border-left: 1px solid #dee2e6;
}

    .actions-header-col .excel-cell.header-cell[b-7yt74nhpwn] {
        padding: 0 4px;
        justify-content: space-between;
        flex-wrap: nowrap;
    }

[b-7yt74nhpwn] .actions-col .excel-cell {
    padding: 0 4px;
    justify-content: center;
    border-left: 1px solid #e9ecef;
}
/* --- END FIX --- */

[b-7yt74nhpwn] .actions-cell {
    gap: 6px;
}

[b-7yt74nhpwn] .row:nth-of-type(odd) .actions-cell {
    background-color: #fff;
}

[b-7yt74nhpwn] .row:nth-of-type(even) .actions-cell {
    background-color: #f8f9fa;
}

.action-btn[b-7yt74nhpwn] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px;
    border-radius: 4px;
    color: #6c757d;
    transition: background-color 0.2s, color 0.2s;
}

@media (max-width: 768px) {
    .actions-header-col[b-7yt74nhpwn],
    [b-7yt74nhpwn] .actions-col {
        min-width: 60px;
        width: 60px;
    }

    [b-7yt74nhpwn] .actions-cell {
        gap: 4px;
    }

    .action-btn[b-7yt74nhpwn] {
        padding: 1px;
    }

    .action-btn svg[b-7yt74nhpwn] {
        width: 12px;
        height: 12px;
    }
}

    .action-btn:hover[b-7yt74nhpwn] {
        color: #111827;
    }

    .action-btn.delete-btn:hover[b-7yt74nhpwn] {
        color: #dc3545;
    }

.add-btn[b-7yt74nhpwn] {
    margin-left: auto;
}

/* ================================================================= */
/* --- Settings Popup --- */
/* ================================================================= */

.settings-overlay[b-7yt74nhpwn] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    justify-content: center;
    align-items: center;
}

.settings-popup[b-7yt74nhpwn] {
    background-color: white;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
    width: 90%;
    max-width: 700px;
}

.settings-header[b-7yt74nhpwn] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    border-bottom: 1px solid #dee2e6;
}

    .settings-header h5[b-7yt74nhpwn] {
        margin-bottom: 0;
    }

.settings-body[b-7yt74nhpwn] {
    padding: 0;
}

.column-visibility-list[b-7yt74nhpwn] {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    padding: 10px;
    border-radius: 0.25rem;
}

/* ================================================================= */
/* --- Grouping and Totals Styling --- */
/* ================================================================= */

.group-header-wrap[b-7yt74nhpwn] {
    background: transparent;
}

.group-header-row[b-7yt74nhpwn] {
    background-color: #e9ecef;
    padding: 0 15px;
    display: flex;
    align-items: center;
    font-weight: 700;
    color: #495057;
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

.group-footer-row[b-7yt74nhpwn] {
    font-weight: 600;
    border-top: 2px solid #adb5bd;
    border-bottom: 1px solid #dee2e6;
}

    .group-footer-row .footer-cell-container:last-child[b-7yt74nhpwn] {
        border-right: none;
    }

.sub-total-row[b-7yt74nhpwn] {
    background-color: #f1f1f1;
    border-right: none;
}

.grand-total-row[b-7yt74nhpwn] {
    background-color: #cce5ff;
    font-weight: 700;
    border-top: 3px double #0d6efd;
}

.footer-cell-container[b-7yt74nhpwn] {
    border-right: 1px solid #e9ecef;
}

.footer-cell[b-7yt74nhpwn] {
    display: flex;
    align-items: center;
    padding: 0 15px;
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
}


/* =========================================================
   Stronger typography
   ========================================================= */

.header-cell[b-7yt74nhpwn],
.header-content[b-7yt74nhpwn],
.header-text[b-7yt74nhpwn] {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 600;
    color: #111827;
    letter-spacing: 0.2px;
}

.grid-body[b-7yt74nhpwn],
[b-7yt74nhpwn] .grid-body,
.excel-cell[b-7yt74nhpwn] {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 500;
    color: #111827;
}


.sort-indicator[b-7yt74nhpwn] {
    color: #6b7280;
}

    .sort-indicator.active[b-7yt74nhpwn] {
        color: #111827;
    }

.action-btn[b-7yt74nhpwn] {
    font-size: 14px;
    color: #4b5563;
}

/* =========================================================
   EXCEL-LIKE: Never allow columns to wrap to next line
   ========================================================= */

[b-7yt74nhpwn] .grid-header .row,
[b-7yt74nhpwn] .grid-body .row {
    flex-wrap: nowrap !important;
}

.group-footer-row[b-7yt74nhpwn],
.group-header-row[b-7yt74nhpwn] {
    flex-wrap: nowrap !important;
}

.vg-noselect[b-7yt74nhpwn], .vg-noselect *[b-7yt74nhpwn] {
    user-select: none !important;
}

.grid-wrapper.vg-resizing[b-7yt74nhpwn] {
    cursor: col-resize;
}

/* ================= Filter Popup – Lighter Typography ================= */
.filter-popup[b-7yt74nhpwn] {
    font-size: 0.88rem;
    color: #374151; /* softer than black */
}

    .filter-popup .filter-tab[b-7yt74nhpwn] {
        font-weight: 500;
        color: #6b7280;
    }

        .filter-popup .filter-tab.active[b-7yt74nhpwn] {
            font-weight: 600;
            color: #2563eb;
        }

.filter-values-list .form-check-label[b-7yt74nhpwn] {
    font-weight: 500;
    color: #111827;
}

.filter-values-list .form-check:first-child .form-check-label[b-7yt74nhpwn] {
    font-weight: 600;
}

.filter-popup .btn[b-7yt74nhpwn] {
    font-weight: 600;
}

