@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/Account/Pages/Register.razor.rz.scp.css */
/* ============================================================
   BS25 — Register page layout
   Centered shell, responsive two-column grid (form + side),
   clean static labels (no floating-label overlap).
   ============================================================ */

.auth-page[b-zgftugwk6a] {
    min-height: calc(100vh - 60px); /* fills below topbar */
    padding: 32px 24px 48px;
    background:
        radial-gradient(720px 320px at 8% 0%, rgba(91, 77, 243, 0.10), transparent 60%),
        radial-gradient(620px 280px at 96% 18%, rgba(0, 180, 216, 0.10), transparent 60%),
        #f6f8fb;
    display: flex;
    justify-content: center;
}

.auth-shell[b-zgftugwk6a] {
    width: 100%;
    max-width: 1040px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* ---- Header ---- */
.auth-head[b-zgftugwk6a] {
    text-align: left;
}

.auth-eyebrow[b-zgftugwk6a] {
    display: inline-block;
    margin-bottom: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(91, 77, 243, 0.10);
    color: #5b4df3;
    font-family: 'Space Mono', 'Inter', monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.auth-head h1[b-zgftugwk6a] {
    margin: 4px 0 6px;
    color: #0a0e1f;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.auth-head p[b-zgftugwk6a] {
    margin: 0;
    color: #6e7e95;
    font-size: 14px;
}

.auth-head a[b-zgftugwk6a] {
    color: #5b4df3;
    text-decoration: none;
    font-weight: 600;
}

.auth-head a:hover[b-zgftugwk6a] {
    text-decoration: underline;
}

/* ---- Grid ---- */
.auth-grid[b-zgftugwk6a] {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.auth-card[b-zgftugwk6a] {
    padding: 28px 28px 24px;
    border: 1px solid rgba(0, 20, 80, 0.08);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 2px 18px rgba(0, 20, 80, 0.05);
}

.auth-card--aside h3[b-zgftugwk6a] {
    margin: 0 0 6px;
    color: #0a0e1f;
    font-size: 16px;
    font-weight: 700;
}

.auth-muted[b-zgftugwk6a] {
    margin: 0 0 14px;
    color: #6e7e95;
    font-size: 13px;
}

/* ---- Form fields (static labels above input — no overlap) ---- */
.auth-field[b-zgftugwk6a] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}

.auth-field label[b-zgftugwk6a] {
    color: #384659;
    font-size: 13px;
    font-weight: 600;
}

.auth-field[b-zgftugwk6a]  .form-control {
    height: 44px;
    padding: 10px 14px;
    border: 1px solid rgba(0, 20, 80, 0.12);
    border-radius: 10px;
    background: #fbfcfe;
    color: #0a0e1f;
    font-size: 14px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.auth-field[b-zgftugwk6a]  .form-control:hover {
    background: #ffffff;
}

.auth-field[b-zgftugwk6a]  .form-control:focus {
    outline: 0;
    background: #ffffff;
    border-color: rgba(91, 77, 243, 0.45);
    box-shadow: 0 0 0 3px rgba(91, 77, 243, 0.12);
}

.auth-field[b-zgftugwk6a]  .text-danger {
    color: #d22e3e;
    font-size: 12px;
    margin-top: 2px;
}

.auth-row[b-zgftugwk6a] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

/* ---- Submit ---- */
.auth-submit[b-zgftugwk6a] {
    width: 100%;
    height: 46px;
    margin-top: 6px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #5b4df3 0%, #4338ca 100%);
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.01em;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    box-shadow: 0 6px 18px rgba(91, 77, 243, 0.28);
}

.auth-submit:hover[b-zgftugwk6a] {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(91, 77, 243, 0.36);
}

.auth-submit:active[b-zgftugwk6a] {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(91, 77, 243, 0.30);
}

/* ---- Responsive ---- */
@media (max-width: 960px) {
    .auth-grid[b-zgftugwk6a] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .auth-page[b-zgftugwk6a] {
        padding: 20px 14px 40px;
    }

    .auth-card[b-zgftugwk6a] {
        padding: 22px 20px 20px;
    }

    .auth-row[b-zgftugwk6a] {
        grid-template-columns: 1fr;
    }

    .auth-head h1[b-zgftugwk6a] {
        font-size: 22px;
    }
}

/* /Components/Layout/MainLayout.razor.rz.scp.css */
:root[b-xfsdc6yj21] {
    --bg-page: linear-gradient(135deg, #f3f5ff 0%, #faf8ff 52%, #effff7 100%);
    --bg-card: #ffffff;
    --sidebar-bg: #ffffff;
    --text-primary: #0a0e1f;
    --text-secondary: #384659;
    --text-muted: #6e7e95;
    --accent: #5b4df3;
    --accent-rgb: 91, 77, 243;
    --accent-light: rgba(var(--accent-rgb), 0.1);
    --border: rgba(0, 20, 80, 0.08);
    --shadow-card: 0 2px 16px rgba(0, 20, 80, 0.05);
    --bb-sidebar-width: 320px;
    --bb-sidebar-collapsed-width: 64px;
    --bb-sidebar-font-family: 'Inter', 'Segoe UI', sans-serif;
    --bb-sidebar-nav-item-text-color: #384659;
    --bb-sidebar-nav-item-text-active-color-rgb: var(--accent-rgb);
    --bb-sidebar-nav-item-background-hover-color: rgba(80, 80, 200, 0.07);
    --bb-sidebar-nav-item-text-hover-color: #0d1a33;
    --bb-sidebar-nav-item-text-active-color: var(--accent);
    --bb-sidebar-content-border-color: rgba(80, 80, 200, 0.25);
}

.bb-page[b-xfsdc6yj21] {
    --bg-page: linear-gradient(135deg, #f3f5ff 0%, #faf8ff 52%, #effff7 100%);
    --bg-card: #ffffff;
    --sidebar-bg: #ffffff;
    --text-primary: #0a0e1f;
    --text-secondary: #384659;
    --text-muted: #6e7e95;
    --accent-light: rgba(var(--accent-rgb), 0.1);
    --border: rgba(0, 20, 80, 0.08);
    --shadow-card: 0 2px 16px rgba(0, 20, 80, 0.05);
    --bb-sidebar-nav-item-text-color: #384659;
    --bb-sidebar-nav-item-text-active-color-rgb: var(--accent-rgb);
    --bb-sidebar-nav-item-background-hover-color: rgba(80, 80, 200, 0.07);
    --bb-sidebar-nav-item-text-hover-color: #0d1a33;
    --bb-sidebar-nav-item-text-active-color: var(--accent);
    --bb-sidebar-content-border-color: rgba(80, 80, 200, 0.25);
    background: var(--bg-page);
    display: flex;
    height: 100vh;
    overflow: hidden;
    font-family: 'Inter', 'Segoe UI', sans-serif;
    color: var(--text-primary);
    margin: 0;
    position: relative;
}

.sidebar-custom[b-xfsdc6yj21] {
    background: var(--sidebar-bg);
    border-right: 1px solid rgba(0, 20, 80, 0.08);
    box-shadow: 4px 0 20px rgba(0, 20, 80, 0.06);
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    position: relative; /* anchor for the drag-to-resize handle */
    transition: width 0.24s ease, transform 0.24s ease;
    z-index: 1000;
}

/* ===== Drag-to-resize handle (right edge of the expanded sidebar) ===== */
.sidebar-resizer[b-xfsdc6yj21] {
    position: absolute;
    top: 0;
    right: -4px; /* sit mostly outside the edge so it doesn't cover the menu scrollbar */
    width: 6px;
    height: 100%;
    cursor: col-resize;
    z-index: 1100;
    touch-action: none;
}

.sidebar-resizer[b-xfsdc6yj21]::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    transform: translateX(-50%);
    background: transparent;
    transition: background 0.15s ease;
}

.sidebar-resizer:hover[b-xfsdc6yj21]::after,
.sidebar-resizing .sidebar-resizer[b-xfsdc6yj21]::after {
    background: rgba(var(--accent-rgb), 0.55);
}

/* No handle when collapsed (fixed narrow rail). */
.sidebar-custom.collapsed .sidebar-resizer[b-xfsdc6yj21] {
    display: none;
}

/* While dragging: follow the cursor instantly and suppress text selection. */
.sidebar-resizing .sidebar-custom[b-xfsdc6yj21] {
    transition: none !important;
}

.sidebar-resizing[b-xfsdc6yj21],
.sidebar-resizing *[b-xfsdc6yj21] {
    cursor: col-resize !important;
    user-select: none !important;
}

/* On mobile the sidebar is a full-width slide-in overlay — no resizing. */
@media (max-width: 767.98px) {
    .sidebar-resizer[b-xfsdc6yj21] {
        display: none;
    }
}

.sidebar-header[b-xfsdc6yj21] {
    min-height: 68px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    white-space: nowrap;
    overflow: hidden;
    border-bottom: 1px solid rgba(0, 20, 80, 0.08);
}

.sidebar-custom.collapsed .sidebar-header[b-xfsdc6yj21] {
    justify-content: center;
    padding-inline: 0;
}

.brand-logo-wrap[b-xfsdc6yj21] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.brand-mark[b-xfsdc6yj21] {
    width: 40px;
    height: 40px;
    display: block;
}

.brand-text-wrap[b-xfsdc6yj21] {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    overflow: hidden;
}

.brand-name[b-xfsdc6yj21] {
    color: var(--text-primary);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0;
}

.brand-name strong[b-xfsdc6yj21] {
    color: var(--accent);
    font-weight: 800;
}

.brand-version[b-xfsdc6yj21] {
    margin-top: 2px;
    color: var(--text-muted);
    font-family: 'Space Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.sidebar-collapse-button[b-xfsdc6yj21] {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    margin-left: auto;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #42526f;
}

.sidebar-collapse-button:hover[b-xfsdc6yj21] {
    background: rgba(0, 20, 80, 0.05);
    color: var(--accent);
}

.sidebar-search[b-xfsdc6yj21] {
    height: 38px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 12px 18px 6px;
    padding: 0 10px 0 12px;
    border: 1px solid rgba(0, 20, 80, 0.08);
    border-radius: 10px;
    background: rgba(0, 20, 80, 0.035);
}

.sidebar-search .bi[b-xfsdc6yj21] {
    color: #9aa7bf;
    font-size: 14px;
}

.sidebar-search input[b-xfsdc6yj21] {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #263b59;
    font-size: 15px;
}

.sidebar-search kbd[b-xfsdc6yj21] {
    min-width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(0, 20, 80, 0.08);
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    color: #9aa7bf;
    font-family: 'Space Mono', monospace;
    font-size: 12px;
    font-weight: 400;
}

.search-clear-btn[b-xfsdc6yj21] {
    background: transparent;
    border: 0;
    padding: 0 4px;
    color: #9aa7bf;
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 12px;
    transition: color 0.15s ease;
}

.search-clear-btn:hover[b-xfsdc6yj21] {
    color: var(--accent);
}

.sidebar-menu-area[b-xfsdc6yj21] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 0 12px;
    scrollbar-gutter: auto;
    scrollbar-width: thin;
    /* Firefox: thumb color + transparent track (no light gutter bar). */
    scrollbar-color: rgba(0, 20, 80, 0.18) transparent;
}

.sidebar-custom.collapsed .sidebar-menu-area[b-xfsdc6yj21] {
    overflow-y: auto;
    padding-top: 16px;
}

.sidebar-custom.collapsed .sidebar-menu-area[b-xfsdc6yj21]::-webkit-scrollbar {
    width: 0;
}

.sidebar-auth[b-xfsdc6yj21] {
    padding: 8px;
}

.sidebar-auth-link[b-xfsdc6yj21] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    color: var(--text-secondary);
    text-decoration: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
}

.sidebar-auth-link:hover[b-xfsdc6yj21] {
    color: var(--text-primary);
    background: rgba(0, 20, 80, 0.04);
}

.sidebar-auth-text[b-xfsdc6yj21] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-auth-divider[b-xfsdc6yj21] {
    height: 1px;
    margin: 8px 8px 0;
    background: var(--border);
}

.sidebar-menu-area[b-xfsdc6yj21]::-webkit-scrollbar {
    width: 6px;
}

/* Transparent track so no light gutter bar shows against the dark body. */
.sidebar-menu-area[b-xfsdc6yj21]::-webkit-scrollbar-track {
    background: transparent;
}

.sidebar-menu-area[b-xfsdc6yj21]::-webkit-scrollbar-thumb {
    background: rgba(0, 20, 80, 0.18);
    border-radius: 999px;
}

.sidebar-user-area[b-xfsdc6yj21] {
    flex: 0 0 auto;
    border-top: 1px solid rgba(0, 20, 80, 0.08);
    background: #ffffff;
}

.sidebar-user-link[b-xfsdc6yj21] {
    min-height: 62px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    color: #0d1a33;
    text-decoration: none;
}

.sidebar-user-link:hover[b-xfsdc6yj21] {
    background: rgba(0, 20, 80, 0.035);
    color: #0d1a33;
    text-decoration: none;
}

.sidebar-user-avatar[b-xfsdc6yj21] {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--accent), #00b4d8);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    position: relative;
}

.sidebar-user-avatar[b-xfsdc6yj21]::after {
    content: '';
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 10px;
    height: 10px;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #16c784;
}

.sidebar-user-copy[b-xfsdc6yj21] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.12;
}

.sidebar-user-copy strong[b-xfsdc6yj21] {
    color: #0d1a33;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-user-copy small[b-xfsdc6yj21] {
    margin-top: 3px;
    color: #8fa0bb;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-user-chevron[b-xfsdc6yj21] {
    margin-left: auto;
    color: #8fa0bb;
    font-size: 12px;
}

.sidebar-custom.collapsed .sidebar-user-link[b-xfsdc6yj21] {
    justify-content: center;
    padding-inline: 0;
}

main[b-xfsdc6yj21] {
    flex: 1;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.content[b-xfsdc6yj21] {
    flex: 1;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0;
}

.bb-top-row[b-xfsdc6yj21] {
    height: 60px;
    min-height: 60px;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(80, 80, 200, 0.2);
}

.page-header-title[b-xfsdc6yj21] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.breadcrumb-root[b-xfsdc6yj21],
.breadcrumb-separator[b-xfsdc6yj21],
.topbar-date[b-xfsdc6yj21],
.topbar-search kbd[b-xfsdc6yj21] {
    font-family: 'Space Mono', monospace;
    color: var(--text-muted);
    font-size: 11px;
}

.layout-page-title[b-xfsdc6yj21] {
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.topbar-search[b-xfsdc6yj21] {
    width: min(294px, 30vw);
    height: 40px;
    align-items: center;
    gap: 8px;
    padding: 0 10px 0 12px;
    border: 1px solid rgba(80, 80, 200, 0.2);
    border-radius: 12px;
    background: rgba(80, 80, 200, 0.08);
}

.topbar-search .bi[b-xfsdc6yj21] {
    color: var(--text-muted);
    font-size: 14px;
}

.topbar-search input[b-xfsdc6yj21] {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-primary);
    font-size: 13px;
}

.topbar-search:focus-within[b-xfsdc6yj21] {
    border-color: rgba(var(--accent-rgb), 0.4);
    box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.08);
}

.topbar-search kbd[b-xfsdc6yj21] {
    border: 0;
    background: rgba(0, 0, 0, 0.05);
    box-shadow: none;
    padding: 2px 5px;
}

.topbar-actions[b-xfsdc6yj21] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.topbar-icon-button[b-xfsdc6yj21],
.topbar-text-link[b-xfsdc6yj21],
.topbar-avatar-link[b-xfsdc6yj21] {
    min-width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 0;
    border-radius: 12px;
    border: 1px solid rgba(80, 80, 200, 0.2);
    background: rgba(80, 80, 200, 0.08);
    color: #4a5878;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    position: relative;
}

.topbar-text-link[b-xfsdc6yj21] {
    padding-inline: 10px;
}

.tweaks-topbar-button[b-xfsdc6yj21] {
    padding-inline: 10px;
    color: var(--accent);
}

.topbar-icon-button:hover[b-xfsdc6yj21],
.topbar-text-link:hover[b-xfsdc6yj21],
.topbar-avatar-link:hover[b-xfsdc6yj21] {
    background: rgba(var(--accent-rgb), 0.08);
    color: var(--accent);
    text-decoration: none;
}

.notification-badge[b-xfsdc6yj21] {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: var(--accent);
    border: 2px solid #f0f4ff;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
}

.topbar-avatar[b-xfsdc6yj21] {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--accent), #0084a2);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 2px 12px rgba(var(--accent-rgb), 0.35);
}

.topbar-avatar-link[b-xfsdc6yj21] {
    background: transparent;
    border: 0;
    min-width: 40px;
    height: 40px;
}

.tweaks-trigger[b-xfsdc6yj21] {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1001;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(80, 80, 200, 0.2);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.97);
    color: var(--accent);
    box-shadow: 0 8px 40px rgba(0, 0, 30, 0.12);
}

.tweaks-panel[b-xfsdc6yj21] {
    position: fixed;
    right: 24px;
    bottom: 76px;
    z-index: 1001;
    width: 240px;
    display: none;
    padding: 20px 22px;
    border: 1px solid rgba(80, 80, 200, 0.2);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 8px 40px rgba(0, 0, 30, 0.12);
}

.tweaks-panel.open[b-xfsdc6yj21] {
    display: block;
    animation: fadeUp-b-xfsdc6yj21 0.2s ease;
}

.tweaks-panel h4[b-xfsdc6yj21] {
    margin: 0 0 14px;
    color: var(--accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.tw-row[b-xfsdc6yj21] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 11px;
    color: #6b7fa8;
    font-size: 12px;
}

.tw-toggle[b-xfsdc6yj21] {
    width: 36px;
    height: 20px;
    border: 0;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.1);
    position: relative;
}

.tw-toggle.on[b-xfsdc6yj21] {
    background: var(--accent);
}

.tw-toggle[b-xfsdc6yj21]::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s;
}

.tw-toggle.on[b-xfsdc6yj21]::after {
    transform: translateX(16px);
}

.tw-swatches[b-xfsdc6yj21] {
    display: flex;
    gap: 5px;
}

.tw-swatch[b-xfsdc6yj21] {
    width: 20px;
    height: 20px;
    border: 2px solid transparent;
    border-radius: 999px;
}

.tw-swatch.active[b-xfsdc6yj21] {
    border-color: #0d1a33;
}

@keyframes fadeUp-b-xfsdc6yj21 {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 768px) {
    .bb-top-row[b-xfsdc6yj21] {
        padding-inline: 10px;
        gap: 10px;
    }

    .content[b-xfsdc6yj21] {
        padding: 14px;
    }

    .sidebar-custom[b-xfsdc6yj21] {
        position: fixed;
        inset: 0 auto 0 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;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        z-index: 999;
        backdrop-filter: blur(2px);
    }
}
/* /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 */
.dashboard-page[b-wmcbqpc4sx] {
    min-height: 100%;
    padding: 24px 32px 32px;
    background: #f7f8fb;
    color: #07142c;
}

.dashboard-header[b-wmcbqpc4sx],
.card-top[b-wmcbqpc4sx],
.overview-toolbar[b-wmcbqpc4sx],
.dashboard-actions[b-wmcbqpc4sx],
.summary-row[b-wmcbqpc4sx],
.mini-legend[b-wmcbqpc4sx] {
    display: flex;
    align-items: center;
}

.dashboard-header[b-wmcbqpc4sx] {
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.dashboard-header h1[b-wmcbqpc4sx] {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 0;
}

.dashboard-header nav[b-wmcbqpc4sx] {
    display: flex;
    gap: 8px;
    color: #8a99b6;
    font-size: 14px;
}

.dashboard-header a[b-wmcbqpc4sx],
.activity-card a[b-wmcbqpc4sx] {
    color: #6f35f4;
    text-decoration: none;
}

.dashboard-header strong[b-wmcbqpc4sx] {
    color: #1d3154;
    font-weight: 500;
}

.dashboard-actions[b-wmcbqpc4sx] {
    gap: 14px;
}

button[b-wmcbqpc4sx],
.icon-action[b-wmcbqpc4sx],
.export-action[b-wmcbqpc4sx] {
    font: inherit;
}

.icon-action[b-wmcbqpc4sx],
.export-action[b-wmcbqpc4sx],
.card-top button[b-wmcbqpc4sx],
.overview-toolbar button[b-wmcbqpc4sx] {
    height: 36px;
    border: 1px solid #e5e9f2;
    border-radius: 10px;
    background: #fff;
    color: #07142c;
}

.icon-action[b-wmcbqpc4sx] {
    width: 36px;
    display: grid;
    place-items: center;
    position: relative;
}

.icon-action span[b-wmcbqpc4sx] {
    position: absolute;
    top: 7px;
    right: 7px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #7a35f4;
}

.export-action[b-wmcbqpc4sx] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    background: #7a35f4;
    border-color: #7a35f4;
    color: #fff;
    font-weight: 700;
}

.kpi-grid[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 18px;
}

.kpi-card[b-wmcbqpc4sx],
.overview-card[b-wmcbqpc4sx],
.metric-card[b-wmcbqpc4sx],
.revenue-card[b-wmcbqpc4sx],
.list-card[b-wmcbqpc4sx] {
    border: 1px solid #e8ebf2;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.kpi-card[b-wmcbqpc4sx] {
    min-height: 136px;
    padding: 22px 24px 18px;
    position: relative;
    overflow: hidden;
}

.kpi-card p[b-wmcbqpc4sx],
.metric-card p[b-wmcbqpc4sx],
.panel-title p[b-wmcbqpc4sx],
.list-card p[b-wmcbqpc4sx],
.summary-row small[b-wmcbqpc4sx] {
    margin: 0;
    color: #8a99b6;
}

.kpi-card p[b-wmcbqpc4sx] {
    margin-bottom: 8px;
    font-weight: 700;
}

.kpi-card strong[b-wmcbqpc4sx],
.metric-card strong[b-wmcbqpc4sx] {
    color: #07142c;
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
}

.kpi-card div[b-wmcbqpc4sx] {
    position: relative;
    z-index: 1;
}

.kpi-card small[b-wmcbqpc4sx] {
    margin-left: 6px;
    color: #8a99b6;
}

.kpi-card svg[b-wmcbqpc4sx] {
    position: absolute;
    right: 16px;
    bottom: 22px;
    width: 128px;
    height: 40px;
}

.kpi-card polyline[b-wmcbqpc4sx] {
    fill: none;
    stroke: #7a35f4;
    stroke-width: 2;
}

.kpi-card:nth-child(2) polyline[b-wmcbqpc4sx] {
    stroke: #a8b4c8;
}

.trend[b-wmcbqpc4sx] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    vertical-align: middle;
}

.trend.up[b-wmcbqpc4sx] {
    color: #087b4f;
    background: #cdf9e3;
}

.trend.down[b-wmcbqpc4sx] {
    color: #bc2835;
    background: #ffe2e6;
}

.overview-card[b-wmcbqpc4sx] {
    min-height: 322px;
    display: grid;
    grid-template-columns: 315px minmax(0, 1fr);
    overflow: hidden;
    margin-bottom: 18px;
}

.overview-copy[b-wmcbqpc4sx] {
    padding: 26px 24px;
    background: radial-gradient(circle at 80% 28%, rgba(255, 183, 34, 0.2), transparent 32%),
        radial-gradient(circle at 95% 0%, rgba(122, 53, 244, 0.18), transparent 28%),
        #fff;
}

.panel-title h2[b-wmcbqpc4sx],
.list-card h2[b-wmcbqpc4sx] {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 800;
}

.overview-legend[b-wmcbqpc4sx] {
    list-style: none;
    display: grid;
    gap: 18px;
    margin: 30px 0 0;
    padding: 0;
}

.overview-legend li[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.overview-legend span[b-wmcbqpc4sx],
.mini-legend i[b-wmcbqpc4sx] {
    width: 12px;
    height: 12px;
    border-radius: 4px;
}

.overview-legend label[b-wmcbqpc4sx],
.mini-legend span[b-wmcbqpc4sx] {
    color: #1d3154;
    font-size: 14px;
}

.overview-legend strong[b-wmcbqpc4sx] {
    font-size: 15px;
}

.purple[b-wmcbqpc4sx] { background: #7a35f4; }
.amber[b-wmcbqpc4sx] { background: #f59e0b; }
.blue[b-wmcbqpc4sx] { background: #1da9e8; }
.green[b-wmcbqpc4sx] { background: #16c784; }

.overview-chart[b-wmcbqpc4sx] {
    padding: 20px 24px 24px;
}

.overview-toolbar[b-wmcbqpc4sx] {
    justify-content: space-between;
    margin-bottom: 18px;
}

.overview-toolbar div[b-wmcbqpc4sx] {
    display: flex;
    gap: 10px;
}

.overview-toolbar button[b-wmcbqpc4sx],
.card-top button[b-wmcbqpc4sx] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
}

.stack-chart[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 34px;
    align-items: end;
    height: 225px;
}

.stack-day[b-wmcbqpc4sx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: #8a99b6;
    font-size: 13px;
}

.stack-bars[b-wmcbqpc4sx] {
    height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: 6px;
}

.stack-bars i[b-wmcbqpc4sx] {
    width: 32px;
    display: block;
    border-radius: 6px;
    opacity: 0.22;
}

.stack-bars .amber[b-wmcbqpc4sx],
.stack-bars .purple[b-wmcbqpc4sx],
.stack-bars .green[b-wmcbqpc4sx] {
    opacity: 0.22;
}

.stack-bars .blue[b-wmcbqpc4sx] {
    opacity: 0.25;
}

.analytics-grid[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}

.metric-card[b-wmcbqpc4sx],
.revenue-card[b-wmcbqpc4sx],
.list-card[b-wmcbqpc4sx] {
    padding: 22px;
}

.card-top[b-wmcbqpc4sx] {
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.metric-card .card-top > div[b-wmcbqpc4sx] {
    min-width: 0;
}

.metric-card p[b-wmcbqpc4sx] {
    margin-bottom: 8px;
}

.metric-card .trend[b-wmcbqpc4sx] {
    margin-left: 8px;
}

.mini-legend[b-wmcbqpc4sx] {
    gap: 18px;
    margin-bottom: 18px;
}

.mini-legend span[b-wmcbqpc4sx] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
}

.mini-bars[b-wmcbqpc4sx] {
    height: 92px;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    align-items: end;
    gap: 7px;
}

.mini-bars span[b-wmcbqpc4sx] {
    border-radius: 6px;
    background: rgba(122, 53, 244, 0.18);
}

.mini-bars .active[b-wmcbqpc4sx] {
    background: #7a35f4;
}

.days-row[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 7px;
    color: #8a99b6;
    font-size: 12px;
    text-align: center;
}

.summary-row[b-wmcbqpc4sx] {
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.summary-row span[b-wmcbqpc4sx] {
    display: grid;
    gap: 4px;
}

.summary-row strong[b-wmcbqpc4sx] {
    font-size: 20px;
}

.line-chart[b-wmcbqpc4sx] {
    width: 100%;
    height: 112px;
}

.line-chart polyline[b-wmcbqpc4sx] {
    fill: none;
    stroke-width: 2;
}

.line-a[b-wmcbqpc4sx] { stroke: #7a35f4; }
.line-b[b-wmcbqpc4sx] { stroke: #1da9e8; }
.line-c[b-wmcbqpc4sx] { stroke: #f59e0b; }

.customer-dots[b-wmcbqpc4sx] {
    height: 150px;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    align-items: end;
    gap: 14px;
}

.customer-dots .bar[b-wmcbqpc4sx] {
    width: 20px;
    justify-self: center;
    border-radius: 6px;
    background: rgba(122, 53, 244, 0.32);
}

.customer-dots .bar.active[b-wmcbqpc4sx] {
    background: #f5a90b;
}

.customer-dots i[b-wmcbqpc4sx] {
    width: 20px;
    height: 20px;
    justify-self: center;
    border-radius: 999px;
}

.red[b-wmcbqpc4sx] { background: #e87378; }
.amber-dot[b-wmcbqpc4sx] { background: #e7c760; }
.green-dot[b-wmcbqpc4sx] { background: #96d46b; }
.blue-dot[b-wmcbqpc4sx] { background: #72d69a; }
.cyan-dot[b-wmcbqpc4sx] { background: #82d5e2; }
.indigo-dot[b-wmcbqpc4sx] { background: #7d86d8; }
.violet-dot[b-wmcbqpc4sx] { background: #ba7bd9; }

.lower-grid[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 0.9fr);
    gap: 18px;
}

.revenue-card[b-wmcbqpc4sx] {
    grid-column: 1 / -1;
}

.revenue-title[b-wmcbqpc4sx] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.revenue-title span[b-wmcbqpc4sx] {
    font-size: 16px;
    font-weight: 800;
}

.revenue-title strong[b-wmcbqpc4sx] {
    font-size: 27px;
}

.revenue-title em[b-wmcbqpc4sx] {
    font-style: normal;
}

.revenue-chart[b-wmcbqpc4sx] {
    width: 100%;
    height: 240px;
}

.grid-lines line[b-wmcbqpc4sx] {
    stroke: #edf0f5;
}

.revenue-fill[b-wmcbqpc4sx] {
    fill: rgba(122, 53, 244, 0.12);
}

.revenue-line[b-wmcbqpc4sx],
.target-line[b-wmcbqpc4sx],
.last-line[b-wmcbqpc4sx] {
    fill: none;
    stroke-width: 3;
}

.revenue-line[b-wmcbqpc4sx],
.revenue-chart circle[b-wmcbqpc4sx] {
    stroke: #7a35f4;
}

.revenue-chart circle[b-wmcbqpc4sx] {
    fill: #fff;
    stroke-width: 4;
}

.target-line[b-wmcbqpc4sx] {
    stroke: #1da9e8;
}

.last-line[b-wmcbqpc4sx] {
    stroke: #f59e0b;
    stroke-dasharray: 6 8;
}

.product-list[b-wmcbqpc4sx],
.activity-card ul[b-wmcbqpc4sx] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.product-list[b-wmcbqpc4sx] {
    display: grid;
    gap: 22px;
}

.product-list li[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: 28px minmax(180px, 1fr) minmax(80px, 135px) 74px;
    align-items: center;
    gap: 14px;
}

.product-list li > span[b-wmcbqpc4sx] {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #f0f3f8;
    color: #61708d;
    font-weight: 800;
    font-size: 13px;
}

.product-list strong[b-wmcbqpc4sx] {
    display: block;
    font-size: 15px;
}

.product-list small[b-wmcbqpc4sx] {
    color: #8a99b6;
}

.product-list i[b-wmcbqpc4sx] {
    height: 5px;
    border-radius: 999px;
    background: #7a35f4;
    justify-self: end;
}

.product-list b[b-wmcbqpc4sx] {
    text-align: right;
}

.activity-card ul[b-wmcbqpc4sx] {
    display: grid;
    gap: 18px;
}

.activity-card li[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr);
    column-gap: 12px;
    color: #1d3154;
    font-size: 14px;
}

.activity-card li > span[b-wmcbqpc4sx] {
    width: 9px;
    height: 9px;
    margin-top: 6px;
    border-radius: 999px;
}

.activity-card strong[b-wmcbqpc4sx] {
    color: #07142c;
}

.activity-card small[b-wmcbqpc4sx] {
    grid-column: 2;
    display: block;
    margin-top: 6px;
    color: #8a99b6;
}

@media (max-width: 1280px) {
    .kpi-grid[b-wmcbqpc4sx],
    .analytics-grid[b-wmcbqpc4sx] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .overview-card[b-wmcbqpc4sx] {
        grid-template-columns: 1fr;
    }

    .lower-grid[b-wmcbqpc4sx] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .dashboard-page[b-wmcbqpc4sx] {
        padding: 18px;
    }

    .dashboard-header[b-wmcbqpc4sx] {
        align-items: flex-start;
        flex-direction: column;
    }

    .kpi-grid[b-wmcbqpc4sx],
    .analytics-grid[b-wmcbqpc4sx] {
        grid-template-columns: 1fr;
    }

    .stack-chart[b-wmcbqpc4sx] {
        gap: 12px;
    }
}
/* /Components/Pages/IndexDark.razor.rz.scp.css */
/* ============================================================
   BS25 Dark Dashboard — "Command Center"
   Rendered only when Dark Sidebar mode is on.
   Scoped to this component; surfaces are dark by design.
   ============================================================ */

.dash-d[b-y0ivsufonm] {
    --d-bg: #0b1220;
    --d-card: #111a2e;
    --d-card-2: #15203a;
    --d-card-edge: rgba(148, 163, 184, 0.12);
    --d-text: #e5e7eb;
    --d-text-strong: #ffffff;
    --d-muted: #94a3b8;
    --d-accent: #60a5fa;
    --d-accent-strong: #3b82f6;
    --d-good: #34d399;
    --d-warn: #fbbf24;
    --d-bad: #f87171;
    --d-orders: #60a5fa;
    --d-invoices: #a78bfa;
    --d-returns: #f472b6;
    --d-leads: #34d399;
    min-height: 100%;
    padding: 24px 32px 40px;
    background:
        radial-gradient(1100px 480px at 12% -10%, rgba(96, 165, 250, 0.18), transparent 55%),
        radial-gradient(900px 460px at 95% 0%, rgba(167, 139, 250, 0.16), transparent 50%),
        var(--d-bg);
    color: var(--d-text);
    font-family: 'Inter', 'Segoe UI', sans-serif;
}

/* ---- Header ---- */
.dash-d-header[b-y0ivsufonm] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 26px;
}

.dash-d-eyebrow[b-y0ivsufonm] {
    display: inline-block;
    margin-bottom: 6px;
    color: var(--d-muted);
    font-family: 'Space Mono', monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.dash-d-header h1[b-y0ivsufonm] {
    margin: 0 0 6px;
    color: var(--d-text-strong);
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.dash-d-header p[b-y0ivsufonm] {
    margin: 0;
    color: var(--d-muted);
    font-size: 14px;
}

.dash-d-meta[b-y0ivsufonm] {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.dash-d-live[b-y0ivsufonm] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border: 1px solid rgba(52, 211, 153, 0.35);
    border-radius: 999px;
    background: rgba(52, 211, 153, 0.12);
    color: var(--d-good);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.dash-d-live .dot[b-y0ivsufonm] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--d-good);
    box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.25);
    animation: dashDPulse-b-y0ivsufonm 1.6s ease-in-out infinite;
}

@keyframes dashDPulse-b-y0ivsufonm {
    0%, 100% { box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.25); }
    50%      { box-shadow: 0 0 0 8px rgba(52, 211, 153, 0); }
}

.dash-d-clock[b-y0ivsufonm] {
    color: var(--d-muted);
    font-family: 'Space Mono', monospace;
    font-size: 12px;
}

.dash-d-cta[b-y0ivsufonm] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--d-accent) 0%, var(--d-accent-strong) 100%);
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    box-shadow: 0 6px 24px rgba(59, 130, 246, 0.35);
    cursor: pointer;
}

.dash-d-cta:hover[b-y0ivsufonm] {
    transform: translateY(-1px);
    box-shadow: 0 10px 32px rgba(59, 130, 246, 0.45);
}

/* ---- KPI tiles ---- */
.dash-d-kpi[b-y0ivsufonm] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}

.dash-d-tile[b-y0ivsufonm] {
    position: relative;
    padding: 20px 22px 18px;
    border: 1px solid var(--d-card-edge);
    border-radius: 16px;
    background:
        radial-gradient(160px 80px at 92% -10%, rgba(96, 165, 250, 0.18), transparent 60%),
        var(--d-card);
    overflow: hidden;
}

.dash-d-tile--orders[b-y0ivsufonm] {
    background:
        radial-gradient(160px 80px at 92% -10%, rgba(167, 139, 250, 0.18), transparent 60%),
        var(--d-card);
}

.dash-d-tile--ar[b-y0ivsufonm] {
    background:
        radial-gradient(160px 80px at 92% -10%, rgba(244, 114, 182, 0.16), transparent 60%),
        var(--d-card);
}

.dash-d-tile--stock[b-y0ivsufonm] {
    background:
        radial-gradient(160px 80px at 92% -10%, rgba(52, 211, 153, 0.18), transparent 60%),
        var(--d-card);
}

.dash-d-tile-head[b-y0ivsufonm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.dash-d-tile-icon[b-y0ivsufonm] {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(96, 165, 250, 0.14);
    color: var(--d-accent);
    font-size: 18px;
    border: 1px solid rgba(96, 165, 250, 0.22);
}

.dash-d-tile--orders .dash-d-tile-icon[b-y0ivsufonm] {
    background: rgba(167, 139, 250, 0.14);
    color: var(--d-invoices);
    border-color: rgba(167, 139, 250, 0.22);
}

.dash-d-tile--ar .dash-d-tile-icon[b-y0ivsufonm] {
    background: rgba(244, 114, 182, 0.14);
    color: var(--d-returns);
    border-color: rgba(244, 114, 182, 0.22);
}

.dash-d-tile--stock .dash-d-tile-icon[b-y0ivsufonm] {
    background: rgba(52, 211, 153, 0.14);
    color: var(--d-good);
    border-color: rgba(52, 211, 153, 0.22);
}

.dash-d-tile strong[b-y0ivsufonm] {
    display: block;
    font-size: 28px;
    font-weight: 800;
    color: var(--d-text-strong);
    line-height: 1;
}

.dash-d-tile p[b-y0ivsufonm] {
    margin: 6px 0 0;
    color: var(--d-muted);
    font-size: 13px;
}

.dash-d-trend[b-y0ivsufonm] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.dash-d-trend.up[b-y0ivsufonm] {
    color: var(--d-good);
    background: rgba(52, 211, 153, 0.14);
}

.dash-d-trend.down[b-y0ivsufonm] {
    color: var(--d-bad);
    background: rgba(248, 113, 113, 0.14);
}

.dash-d-spark[b-y0ivsufonm] {
    position: absolute;
    right: 14px;
    bottom: 12px;
    width: 110px;
    height: 32px;
    opacity: 0.85;
}

.dash-d-spark polyline[b-y0ivsufonm] {
    fill: none;
    stroke: var(--d-accent);
    stroke-width: 2;
}

.dash-d-tile--orders .dash-d-spark polyline[b-y0ivsufonm] { stroke: var(--d-invoices); }
.dash-d-tile--ar      .dash-d-spark polyline[b-y0ivsufonm] { stroke: var(--d-returns); }
.dash-d-tile--stock   .dash-d-spark polyline[b-y0ivsufonm] { stroke: var(--d-good); }

/* ---- Card rows ---- */
.dash-d-row[b-y0ivsufonm] {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
    gap: 18px;
    margin-bottom: 18px;
}

.dash-d-row--split[b-y0ivsufonm] {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
}

.dash-d-card[b-y0ivsufonm] {
    padding: 22px 24px;
    border: 1px solid var(--d-card-edge);
    border-radius: 16px;
    background: var(--d-card);
}

.dash-d-card-head[b-y0ivsufonm] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}

.dash-d-card-head h2[b-y0ivsufonm] {
    margin: 0;
    color: var(--d-text-strong);
    font-size: 18px;
    font-weight: 800;
}

.dash-d-card-head h2 em[b-y0ivsufonm] {
    margin-left: 8px;
    font-style: normal;
    vertical-align: middle;
}

.dash-d-pill[b-y0ivsufonm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 12px;
    border: 1px solid var(--d-card-edge);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    color: var(--d-text);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.dash-d-pill:hover[b-y0ivsufonm] {
    background: rgba(255, 255, 255, 0.08);
    color: var(--d-text-strong);
}

.dash-d-pill.on[b-y0ivsufonm] {
    background: rgba(96, 165, 250, 0.18);
    border-color: rgba(96, 165, 250, 0.45);
    color: var(--d-accent);
}

.dash-d-pills[b-y0ivsufonm] {
    display: inline-flex;
    gap: 6px;
}

/* ---- Pulse (stacked bars) ---- */
.dash-d-legend[b-y0ivsufonm] {
    list-style: none;
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin: 0 0 18px;
    padding: 0;
    color: var(--d-muted);
    font-size: 13px;
}

.dash-d-legend li[b-y0ivsufonm] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.dash-d-legend strong[b-y0ivsufonm] {
    color: var(--d-text-strong);
}

.dash-d-legend .dot[b-y0ivsufonm],
.dash-d-feed-dot[b-y0ivsufonm] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    display: inline-block;
}

.dash-d-legend .dot.orders[b-y0ivsufonm],    .dash-d-feed-dot.orders[b-y0ivsufonm]    { background: var(--d-orders); }
.dash-d-legend .dot.invoices[b-y0ivsufonm],  .dash-d-feed-dot.invoices[b-y0ivsufonm]  { background: var(--d-invoices); }
.dash-d-legend .dot.returns[b-y0ivsufonm],   .dash-d-feed-dot.returns[b-y0ivsufonm]   { background: var(--d-returns); }
.dash-d-legend .dot.leads[b-y0ivsufonm],     .dash-d-feed-dot.leads[b-y0ivsufonm]     { background: var(--d-leads); }

.dash-d-stack[b-y0ivsufonm] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 20px;
    align-items: end;
    height: 220px;
}

.dash-d-stack-day[b-y0ivsufonm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.dash-d-stack-day span[b-y0ivsufonm] {
    color: var(--d-muted);
    font-size: 12px;
    font-family: 'Space Mono', monospace;
}

.dash-d-stack-bars[b-y0ivsufonm] {
    width: 28px;
    height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: 4px;
}

.dash-d-stack-bars i[b-y0ivsufonm] {
    display: block;
    width: 100%;
    border-radius: 5px;
    opacity: 0.95;
}

.dash-d-stack-bars .orders[b-y0ivsufonm]    { background: var(--d-orders); }
.dash-d-stack-bars .invoices[b-y0ivsufonm]  { background: var(--d-invoices); }
.dash-d-stack-bars .returns[b-y0ivsufonm]   { background: var(--d-returns); }
.dash-d-stack-bars .leads[b-y0ivsufonm]     { background: var(--d-leads); }

/* ---- Status card ---- */
.dash-d-status-led[b-y0ivsufonm] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--d-good);
    box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.22);
    animation: dashDPulse-b-y0ivsufonm 2s ease-in-out infinite;
}

.dash-d-status-list[b-y0ivsufonm] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

.dash-d-status-list li[b-y0ivsufonm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--d-card-edge);
}

.dash-d-status-name[b-y0ivsufonm] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--d-text);
    font-size: 13px;
    font-weight: 500;
}

.dash-d-status-name i[b-y0ivsufonm] {
    color: var(--d-muted);
    font-size: 14px;
}

.dash-d-status-val[b-y0ivsufonm] {
    font-size: 12px;
    font-weight: 700;
    color: var(--d-muted);
    font-family: 'Space Mono', monospace;
}

.dash-d-status-val.ok[b-y0ivsufonm]    { color: var(--d-good); }
.dash-d-status-val.warn[b-y0ivsufonm]  { color: var(--d-warn); }
.dash-d-status-val.bad[b-y0ivsufonm]   { color: var(--d-bad); }

/* ---- Revenue chart card ---- */
.dash-d-revenue-chart[b-y0ivsufonm] {
    width: 100%;
    height: 240px;
    display: block;
}

.dash-d-grid line[b-y0ivsufonm] {
    stroke: rgba(148, 163, 184, 0.12);
}

.dash-d-rev-fill[b-y0ivsufonm] {
    fill: url(#dashDRevFill);
}

.dash-d-rev-line[b-y0ivsufonm] {
    fill: none;
    stroke: var(--d-accent);
    stroke-width: 3;
}

.dash-d-rev-target[b-y0ivsufonm] {
    fill: none;
    stroke: var(--d-invoices);
    stroke-width: 2;
    stroke-dasharray: 6 8;
}

.dash-d-revenue-chart circle[b-y0ivsufonm] {
    fill: var(--d-bg);
    stroke: var(--d-accent);
    stroke-width: 4;
}

/* ---- Live feed ---- */
.dash-d-feed-list[b-y0ivsufonm] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
}

.dash-d-feed-list li[b-y0ivsufonm] {
    display: grid;
    grid-template-columns: 14px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding-bottom: 14px;
    border-bottom: 1px dashed var(--d-card-edge);
}

.dash-d-feed-list li:last-child[b-y0ivsufonm] {
    padding-bottom: 0;
    border-bottom: 0;
}

.dash-d-feed-dot[b-y0ivsufonm] {
    margin-top: 6px;
}

.dash-d-feed-list p[b-y0ivsufonm] {
    margin: 0;
    color: var(--d-text);
    font-size: 13px;
    line-height: 1.45;
}

.dash-d-feed-list strong[b-y0ivsufonm] {
    color: var(--d-text-strong);
}

.dash-d-feed-list a[b-y0ivsufonm] {
    color: var(--d-accent);
    text-decoration: none;
}

.dash-d-feed-list small[b-y0ivsufonm] {
    display: block;
    margin-top: 4px;
    color: var(--d-muted);
    font-size: 11px;
}

.dash-d-link[b-y0ivsufonm] {
    color: var(--d-accent);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.dash-d-link:hover[b-y0ivsufonm] {
    color: var(--d-text-strong);
}

/* ---- Responsive ---- */
@media (max-width: 1280px) {
    .dash-d-kpi[b-y0ivsufonm] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dash-d-row[b-y0ivsufonm],
    .dash-d-row--split[b-y0ivsufonm] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .dash-d[b-y0ivsufonm] {
        padding: 18px;
    }

    .dash-d-header[b-y0ivsufonm] {
        flex-direction: column;
        align-items: flex-start;
    }

    .dash-d-kpi[b-y0ivsufonm] {
        grid-template-columns: 1fr;
    }

    .dash-d-stack[b-y0ivsufonm] {
        gap: 10px;
    }
}
/* /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/CST/CstMatrixEntry.razor.rz.scp.css */
.cs-matrix-page[b-u5rixsmmfj] {
    background: linear-gradient(180deg, #f7f9fc 0%, #eef2f7 100%);
    padding: 4px 0;
}

.cs-matrix-card[b-u5rixsmmfj] {
    border: 1px solid #d8dee8;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .04), 0 4px 12px rgba(15, 23, 42, .03);
    overflow: hidden;
    background: #ffffff;
}

.cs-matrix-card .card-header[b-u5rixsmmfj] {
    background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%);
    border-bottom: 1px solid #dde3ec;
    padding: 10px 14px;
}

.cs-matrix-card .card-header h6[b-u5rixsmmfj] {
    font-weight: 700;
    letter-spacing: .01em;
    color: #1e3a5f;
    font-size: 1.02rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cs-matrix-card .card-header h6[b-u5rixsmmfj]::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 14px;
    background: linear-gradient(180deg, #2563eb 0%, #4f46e5 100%);
    border-radius: 2px;
}

.cs-matrix-card .card-body[b-u5rixsmmfj] {
    background: #fbfcfe;
}

.cs-matrix-scroll[b-u5rixsmmfj] {
    overflow: auto;
    max-height: 62vh;
    background: #ffffff;
    border-top: 1px solid #e5e9f0;
    /* custom scrollbars */
    scrollbar-width: thin;
    scrollbar-color: #c4cdda transparent;
}

.cs-matrix-scroll[b-u5rixsmmfj]::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.cs-matrix-scroll[b-u5rixsmmfj]::-webkit-scrollbar-thumb {
    background: #c4cdda;
    border-radius: 6px;
    border: 2px solid #ffffff;
}

.cs-matrix-scroll[b-u5rixsmmfj]::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

[b-u5rixsmmfj] .cs-matrix-table {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: auto;
    width: max-content;
    min-width: 100%;
    font-size: 0.92rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

[b-u5rixsmmfj] .cs-matrix-table thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: linear-gradient(180deg, #2d3e56 0%, #1e2d42 100%);
    color: #ffffff;
    border: 1px solid #1a2538;
    padding: 10px 12px;
    font-weight: 600;
    font-size: 0.86rem;
    letter-spacing: .02em;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .06), 0 1px 2px rgba(0, 0, 0, .12);
}

[b-u5rixsmmfj] .cs-matrix-table thead th.cs-sticky-col {
    z-index: 4;
    background: linear-gradient(180deg, #243349 0%, #16223a 100%);
}

[b-u5rixsmmfj] .cs-matrix-table tbody td {
    border-right: 1px solid #e5eaf2;
    border-bottom: 1px solid #e5eaf2;
    padding: 0;
    background: #ffffff;
    height: 36px;
    vertical-align: middle;
    transition: background-color .12s ease;
}

[b-u5rixsmmfj] .cs-matrix-table tbody td:first-child {
    border-left: 1px solid #e5eaf2;
}

[b-u5rixsmmfj] .cs-matrix-table tbody tr:nth-child(even) td {
    background: #f8fafc;
}

[b-u5rixsmmfj] .cs-matrix-table tbody tr:hover td {
    background: #eaf2fe;
}

[b-u5rixsmmfj] .cs-matrix-table tbody tr:hover td.cs-sticky-col {
    background: #dbe7fb;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-row-label {
    padding: 8px 14px;
    background: linear-gradient(180deg, #f3f6fa 0%, #e9eef5 100%);
    font-weight: 600;
    color: #1e3a5f;
    font-size: 0.92rem;
}

[b-u5rixsmmfj] .cs-matrix-table tbody tr:nth-child(even) td.cs-row-label {
    background: linear-gradient(180deg, #eef2f7 0%, #e2e8f0 100%);
}

[b-u5rixsmmfj] .cs-matrix-table tbody tr:hover td.cs-row-label {
    background: linear-gradient(180deg, #dbe7fb 0%, #c4d7f7 100%);
    color: #1d4ed8;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-sticky-col {
    position: sticky;
    z-index: 2;
    border-right: 1px solid #c5cfde;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-sticky-col-1 {
    left: 0;
    min-width: 80px;
}

[b-u5rixsmmfj] .cs-matrix-prices .cs-sticky-col-1 {
    min-width: 64px;
    text-align: center;
}

[b-u5rixsmmfj] .cs-matrix-prices .cs-sticky-col-2 {
    left: 64px;
    min-width: 240px;
    border-right: 2px solid #94a3b8;
    box-shadow: 4px 0 6px -4px rgba(15, 23, 42, .12);
}

[b-u5rixsmmfj] .cs-matrix-terms .cs-sticky-col-1 {
    min-width: 200px;
    border-right: 2px solid #94a3b8;
    box-shadow: 4px 0 6px -4px rgba(15, 23, 42, .12);
}

[b-u5rixsmmfj] .cs-matrix-table .cs-edit-cell {
    padding: 0;
    position: relative;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-cell-input {
    border: 0;
    background: transparent;
    width: 100%;
    height: 36px;
    padding: 6px 12px;
    font-size: 0.92rem;
    font-weight: 500;
    line-height: 1.2;
    color: #0f172a;
    outline: none;
    box-shadow: none;
    border-radius: 0;
    transition: background-color .15s ease, box-shadow .15s ease;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-cell-input.text-end {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    letter-spacing: .01em;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-cell-input::placeholder {
    color: #94a3b8;
    font-style: italic;
    font-weight: 400;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-cell-input:hover:not(:disabled):not(:focus) {
    background: #f0f6ff;
    cursor: text;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-cell-input:focus {
    background: #ffffff;
    box-shadow: inset 0 0 0 2px #2563eb, 0 0 0 2px rgba(37, 99, 235, .18);
    z-index: 5;
    position: relative;
    font-weight: 600;
    color: #1e3a5f;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-cell-input:disabled {
    background: repeating-linear-gradient(
        135deg,
        #f1f5f9,
        #f1f5f9 6px,
        #e8eef5 6px,
        #e8eef5 12px
    );
    color: #94a3b8;
    cursor: not-allowed;
}

[b-u5rixsmmfj] .cs-matrix-table select.cs-cell-input {
    appearance: none;
    -webkit-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #64748b 50%),
                      linear-gradient(135deg, #64748b 50%, transparent 50%);
    background-position: calc(100% - 14px) calc(50% - 2px),
                         calc(100% - 10px) calc(50% - 2px);
    background-size: 4px 4px, 4px 4px;
    background-repeat: no-repeat;
    padding-right: 26px;
    cursor: pointer;
}

[b-u5rixsmmfj] .cs-matrix-table select.cs-cell-input:hover:not(:disabled) {
    background-image: linear-gradient(45deg, transparent 50%, #2563eb 50%),
                      linear-gradient(135deg, #2563eb 50%, transparent 50%);
    background-color: #f0f6ff;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-vendor-name {
    font-size: 0.92rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.15;
    letter-spacing: .01em;
    text-transform: none;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-vendor-code {
    font-size: 0.78rem;
    color: #cbd5e1;
    line-height: 1.2;
    text-transform: none;
    letter-spacing: .01em;
    font-weight: 500;
    margin-top: 2px;
}

[b-u5rixsmmfj] .cs-matrix-table tbody .cs-vendor-name {
    color: #0f172a;
    font-weight: 700;
    font-size: 0.92rem;
}

[b-u5rixsmmfj] .cs-matrix-table tbody .cs-vendor-code {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 500;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-resize-handle {
    position: absolute;
    top: 0;
    right: -2px;
    width: 8px;
    height: 100%;
    cursor: col-resize;
    z-index: 5;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-resize-handle::after {
    content: '';
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: 3px;
    width: 2px;
    background: rgba(255, 255, 255, .18);
    border-radius: 1px;
    transition: background-color .15s ease;
}

[b-u5rixsmmfj] .cs-matrix-table th:hover .cs-resize-handle::after {
    background: rgba(37, 99, 235, .9);
}

/* ErpMultiCombo combo cell — make it flush with the Excel cell */
[b-u5rixsmmfj] .cs-matrix-table .cs-combo-cell {
    padding: 0;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-combo-cell .erp-multi-combo,
[b-u5rixsmmfj] .cs-matrix-table .cs-combo-cell .erp-multi-combo-wrapper {
    width: 100%;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-combo-cell input,
[b-u5rixsmmfj] .cs-matrix-table .cs-combo-cell .form-control {
    border: 0 !important;
    background: transparent !important;
    width: 100%;
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 0.92rem !important;
    font-weight: 500;
    color: #0f172a;
    box-shadow: none !important;
    border-radius: 0 !important;
}

[b-u5rixsmmfj] .cs-matrix-table .cs-combo-cell input:focus,
[b-u5rixsmmfj] .cs-matrix-table .cs-combo-cell .form-control:focus {
    background: #ffffff !important;
    box-shadow: inset 0 0 0 2px #2563eb !important;
    z-index: 5;
}

[b-u5rixsmmfj] .cs-matrix-table tbody tr:hover td.cs-combo-cell {
    background: #eaf2fe;
}

/* page-level header card — bigger text */
.cs-matrix-page .card-header h6[b-u5rixsmmfj] {
    font-size: 1.05rem;
}

.cs-matrix-page .form-label.small[b-u5rixsmmfj] {
    font-size: 0.82rem !important;
}

.cs-matrix-page .form-control-sm[b-u5rixsmmfj] {
    font-size: 0.92rem;
    min-height: 32px;
    padding: 6px 10px;
}

.cs-matrix-page .alert[b-u5rixsmmfj] {
    font-size: 0.92rem;
}

/* header card polish */
.cs-matrix-page .badge.bg-secondary[b-u5rixsmmfj] {
    background: linear-gradient(180deg, #475569 0%, #334155 100%) !important;
    padding: 4px 10px;
    font-weight: 600;
    letter-spacing: .03em;
    font-size: 0.7rem;
    border-radius: 12px;
}

.cs-matrix-page .btn-primary[b-u5rixsmmfj] {
    background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
    border-color: #1d4ed8;
    box-shadow: 0 1px 2px rgba(37, 99, 235, .2);
    font-weight: 600;
}

.cs-matrix-page .btn-primary:hover:not(:disabled)[b-u5rixsmmfj] {
    background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%);
    box-shadow: 0 2px 6px rgba(37, 99, 235, .35);
}
/* /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.95rem;
    overflow-x: hidden;
    overscroll-behavior-x: none;
    touch-action: pan-y;
    color: #000;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.pr-page-shell .pr-compact-card[b-e4a5ekaopa] {
    margin-bottom: 0.5rem !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: 32px;
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    padding-left: 0.6rem !important;
    padding-right: 0.6rem !important;
}

.pr-page-shell .pr-compact-header h6[b-e4a5ekaopa] {
    font-size: 1rem;
    line-height: 1.15;
}

.pr-page-shell .pr-compact-body[b-e4a5ekaopa] {
    padding: 0.45rem 0.6rem !important;
}

.pr-page-shell .row.g-1[b-e4a5ekaopa] {
    --bs-gutter-x: 0.45rem;
    --bs-gutter-y: 0.3rem;
}

.pr-page-shell .row.g-1.mb-1[b-e4a5ekaopa] {
    margin-bottom: 0.2rem !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: 30px !important;
    min-height: 30px !important;
    padding: 0 7px !important;
    line-height: 28px !important;
    border-radius: 2px !important;
    box-sizing: border-box !important;
    font-size: 0.9rem !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: 30px !important;
    min-height: 30px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
    line-height: 28px !important;
    border-radius: 2px !important;
    box-sizing: border-box !important;
    font-size: 0.9rem !important;
}

.pr-header-control.form-control[disabled][b-e4a5ekaopa],
.pr-header-control.form-control-sm[disabled][b-e4a5ekaopa] {
    height: 30px !important;
    min-height: 30px !important;
}

.pr-header-remarks.form-control[b-e4a5ekaopa],
.pr-header-remarks.form-control-sm[b-e4a5ekaopa] {
    height: 30px !important;
    min-height: 30px !important;
    line-height: 28px !important;
    font-size: 0.9rem !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: 30px !important;
    min-height: 30px !important;
    padding: 0 7px !important;
    line-height: 28px !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.1;
    margin-bottom: 0.1rem !important;
    font-size: 0.9rem !important;
}

.pr-page-shell .form-label[b-e4a5ekaopa],
.pr-page-shell .form-label.text-muted[b-e4a5ekaopa],
.pr-page-shell .card-body .form-label.small[b-e4a5ekaopa] {
    color: #000 !important;
}

.pr-page-shell .text-muted[b-e4a5ekaopa] {
    color: #000 !important;
}

.pr-page-shell .form-control[b-e4a5ekaopa],
.pr-page-shell .form-select[b-e4a5ekaopa],
.pr-page-shell .form-control:disabled[b-e4a5ekaopa],
.pr-page-shell .form-select:disabled[b-e4a5ekaopa],
.pr-page-shell .form-control[readonly][b-e4a5ekaopa],
.pr-page-shell .form-select[readonly][b-e4a5ekaopa],
.pr-page-shell .table[b-e4a5ekaopa],
.pr-page-shell .table th[b-e4a5ekaopa],
.pr-page-shell .table td[b-e4a5ekaopa] {
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    opacity: 1 !important;
}

.pr-page-shell[b-e4a5ekaopa] (.erp-mc-input),
.pr-page-shell[b-e4a5ekaopa] (.erp-mc-input:disabled),
.pr-page-shell[b-e4a5ekaopa] (.erp-mc-label),
.pr-page-shell[b-e4a5ekaopa] (.erp-mc-hcell),
.pr-page-shell[b-e4a5ekaopa] (.erp-mc-cell),
.pr-page-shell[b-e4a5ekaopa] (.erp-mc-empty) {
    color: #000 !important;
    opacity: 1 !important;
}

.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-cell),
.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-cell.ali-readonly),
.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-editable-input),
.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-grid-head th) {
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    opacity: 1 !important;
    font-weight: 500 !important;
}

.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-grid-head th) {
    font-weight: 600 !important;
}

.pr-page-shell .btn.btn-sm[b-e4a5ekaopa] {
    padding: 0.18rem 0.5rem;
    font-size: 0.88rem;
    line-height: 1.15;
}

.pr-page-shell .badge[b-e4a5ekaopa] {
    padding: 0.2rem 0.4rem;
    font-size: 0.78rem;
    line-height: 1.1;
}

.pr-page-shell textarea.form-control.form-control-sm[b-e4a5ekaopa] {
    min-height: 30px !important;
    height: 30px !important;
    padding-top: 0.06rem !important;
    padding-bottom: 0.06rem !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
    line-height: 1.25 !important;
    font-size: 0.9rem !important;
}

.pr-page-shell .pr-approval-comments.form-control.form-control-sm[b-e4a5ekaopa] {
    min-height: 30px !important;
    height: 30px !important;
    line-height: 1.25 !important;
    padding-top: 0.06rem !important;
    padding-bottom: 0.06rem !important;
    resize: vertical;
}

.pr-page-shell .table.table-sm:not(.ali-grid-table) > :not(caption) > * > *[b-e4a5ekaopa] {
    padding-top: 0.18rem !important;
    padding-bottom: 0.18rem !important;
    line-height: 1.15 !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    vertical-align: middle !important;
}

.pr-page-shell .pr-service-spec-card .table[b-e4a5ekaopa],
.pr-page-shell .pr-service-spec-card .table th[b-e4a5ekaopa],
.pr-page-shell .pr-service-spec-card .table td[b-e4a5ekaopa],
.pr-page-shell .pr-service-spec-card .form-control[b-e4a5ekaopa],
.pr-page-shell .pr-service-spec-card .form-control:disabled[b-e4a5ekaopa] {
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    font-weight: 500 !important;
    opacity: 1 !important;
}

.pr-page-shell .pr-service-spec-card .table th[b-e4a5ekaopa],
.pr-page-shell .pr-service-spec-card .small.fw-bold[b-e4a5ekaopa] {
    font-weight: 600 !important;
}

.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-grid-head th) {
    padding: 0 7px !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: 30px !important;
}

.pr-page-shell[b-e4a5ekaopa] (.erp-mc-input) {
    font-size: 0.9rem;
    padding: 0 7px;
}

.pr-page-shell[b-e4a5ekaopa] (.erp-mc-btn) {
    width: 28px;
    min-width: 28px;
    flex-basis: 28px;
}

.pr-page-shell[b-e4a5ekaopa] (.ali-grid-container) {
    border-radius: 2px;
    box-shadow: none;
    --ali-header-text: #000 !important;
    --ali-cell-text: #000 !important;
    --ali-readonly-text: #000 !important;
    font-family: inherit !important;
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
}

.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.32rem 0.5rem !important;
    margin-bottom: 0.4rem !important;
    font-size: 0.9rem;
}

.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-grid-container),
.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-grid-container *),
.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-grid-table),
.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-grid-table th),
.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-grid-table td),
.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-cell),
.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-cell.ali-readonly),
.pr-page-shell .pr-grid-card-body[b-e4a5ekaopa] (.ali-editable-input) {
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    font-family: inherit !important;
    font-weight: 600 !important;
    opacity: 1 !important;
}
/* /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: 32px;
    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: 32px;
    height: 32px;
    padding: 3px 8px;
    line-height: 1.3;
    font-size: 0.84rem;
    border-radius: 3px;
}

.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-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 styling — comfortable density for eye comfort. */

.rfq-page[b-19tl5dee4p]  .table-responsive {
    overflow-x: auto;
}

.rfq-page[b-19tl5dee4p]  .rfq-compact-card {
    border-radius: 6px;
    margin-bottom: 0.85rem !important;
}

.rfq-page[b-19tl5dee4p]  .rfq-compact-header {
    min-height: 42px;
    padding: 0.5rem 0.85rem !important;
}

.rfq-page[b-19tl5dee4p]  .rfq-compact-header h6 {
    font-size: 1.02rem;
}

.rfq-page[b-19tl5dee4p]  .rfq-compact-body {
    padding: 0.85rem !important;
}

.rfq-page[b-19tl5dee4p]  .rfq-section-card {
    overflow: hidden;
}

.rfq-page[b-19tl5dee4p]  .rfq-section-header {
    min-height: 42px;
    padding: 0.5rem 0.85rem !important;
    border-bottom-color: #d8dde3;
}

.rfq-page[b-19tl5dee4p]  .rfq-section-header .small {
    font-size: 0.85rem;
}

.rfq-page[b-19tl5dee4p]  .rfq-section-body {
    background: #fff;
}

.rfq-page[b-19tl5dee4p]  .rfq-entry-strip {
    min-height: 46px;
    padding: 8px 12px;
    gap: 0.5rem;
    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: 62px;
    flex: 0 0 62px;
    font-size: 0.85rem;
    line-height: 1.2;
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-picker {
    width: min(380px, 48vw);
    min-width: 280px;
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-picker .erp-mc-panel {
    max-height: 200px;
    box-shadow: 0 8px 18px rgba(15,23,42,.14);
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-picker .erp-mc-body {
    max-height: 160px;
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-picker .erp-mc-hcell,
.rfq-page[b-19tl5dee4p]  .rfq-vendor-picker .erp-mc-cell {
    padding: 6px 10px;
    font-size: 0.88rem;
    line-height: 1.3;
}

.rfq-page[b-19tl5dee4p]  .form-label.small {
    font-size: 0.82rem;
    line-height: 1.2;
    margin-bottom: 0.25rem !important;
}

.rfq-page[b-19tl5dee4p]  .form-control-sm,
.rfq-page[b-19tl5dee4p]  .form-select-sm {
    min-height: 32px;
    height: 32px;
    padding: 5px 10px;
    line-height: 1.4;
    font-size: 0.9rem;
    border-radius: 4px;
}

.rfq-page[b-19tl5dee4p]  .btn-sm {
    padding: 0.32rem 0.7rem;
    line-height: 1.3;
    font-size: 0.86rem;
    border-radius: 4px;
}

.rfq-page[b-19tl5dee4p]  .badge {
    padding: 0.32rem 0.55rem;
    font-size: 0.8rem;
}

.rfq-page[b-19tl5dee4p]  .table.table-sm {
    margin-bottom: 0;
    font-size: 0.9rem;
    border-collapse: collapse;
}

.rfq-page[b-19tl5dee4p]  .table.table-sm thead th {
    height: 36px;
    padding: 8px 10px;
    line-height: 1.3;
    font-size: 0.86rem;
    vertical-align: middle;
    white-space: nowrap;
    border-bottom: 1px solid #1f2937;
    background: #f3f6f9;
}

.rfq-page[b-19tl5dee4p]  .table.table-sm tbody td {
    padding: 7px 10px;
    line-height: 1.4;
    vertical-align: middle;
    border-bottom: 1px solid #e5e7eb;
}

.rfq-page[b-19tl5dee4p]  .table.table-sm tbody tr {
    height: 36px;
}

.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: 32px;
    min-height: 32px;
    padding: 4px 10px;
    line-height: 1.4;
    font-size: 0.88rem;
    border-radius: 4px;
}

.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: 48px;
}

.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: 36px;
    padding: 8px 10px;
    line-height: 1.3;
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-summary .table.table-sm tbody td {
    padding: 7px 10px;
    line-height: 1.4;
    white-space: nowrap;
}

.rfq-page[b-19tl5dee4p]  .rfq-vendor-summary .table.table-sm tbody tr {
    height: 36px;
}
/* /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: 32px;
}

/* 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: 32px;
    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: 32px; /* 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: 32px; /* 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: 32px;
}

.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: 32px;
    min-width: 32px;
    flex: 0 0 32px;
    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;
}

/* =========================================================
   Inline "Create …" footer + quick-create form (Odoo-style)
   ========================================================= */
.erp-mc-create[b-k9jyx0w6l6] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border-top: 1px solid #c6cdd6;
    background: #fbfdff;
    color: #2563eb;
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.erp-mc-create:hover[b-k9jyx0w6l6] {
    background: #eef4ff;
    text-decoration: underline;
}

.erp-mc-create-plus[b-k9jyx0w6l6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #2563eb;
    color: #fff;
    font-size: .8rem;
    line-height: 1;
}

.erp-mc-create-form[b-k9jyx0w6l6] {
    padding: 10px;
    border-top: 1px solid #c6cdd6;
    background: #fff;
    max-height: 320px;
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 260px;
}

.erp-mc-qc-title[b-k9jyx0w6l6] {
    font-weight: 700;
    font-size: .85rem;
    color: #334155;
}

.erp-mc-qc-field[b-k9jyx0w6l6] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .erp-mc-qc-field label[b-k9jyx0w6l6] {
        font-size: .72rem;
        font-weight: 700;
        color: #475569;
    }

.erp-mc-qc-error[b-k9jyx0w6l6] {
    font-size: .78rem;
    color: #dc2626;
}

.erp-mc-qc-actions[b-k9jyx0w6l6] {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 2px;
}

/* =========================================================
   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: 32px; /* 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: 32px;
        min-width: 32px;
        height: 32px;
        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;
    width: 100%;
    padding: 0;
    margin: 0 0 4px;
}

.multi-level-menu.menu-root[b-id4g0yherc]::before {
    content: attr(data-section-label);
    display: block;
    padding: 12px 26px 8px;
    color: #9aa7bf;
    font-family: 'Space Mono', monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* When no section label is provided, suppress the header block entirely
   (otherwise the ::before still takes vertical space). */
.multi-level-menu.menu-root:not([data-section-label])[b-id4g0yherc]::before,
.multi-level-menu.menu-root[data-section-label=""][b-id4g0yherc]::before {
    display: none;
}

.multi-level-menu.is-collapsed.menu-root[b-id4g0yherc]::before,
.multi-level-menu.is-collapsed .menu-title[b-id4g0yherc],
.multi-level-menu.is-collapsed .menu-chevron[b-id4g0yherc],
.multi-level-menu.is-collapsed .submenu-container[b-id4g0yherc],
.multi-level-menu.is-collapsed .nav-link.nested[b-id4g0yherc] {
    display: none;
}

.nav-link[b-id4g0yherc] {
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 2px 18px;
    padding: 9px 14px;
    border: 0;
    border-radius: 8px;
    color: #263b59;
    cursor: pointer;
    font-family: 'Inter', 'Segoe UI', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.15;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    transition: background 0.15s ease, color 0.15s ease;
}

.nav-link:hover[b-id4g0yherc] {
    color: #0d1a33;
    background: rgba(0, 20, 80, 0.04);
    text-decoration: none;
}

.nav-link.active[b-id4g0yherc] {
    color: var(--accent, #7c3aed);
    background: rgba(var(--accent-rgb, 124, 58, 237), 0.1);
}

.active-parent[b-id4g0yherc] {
    color: #263b59;
    background: transparent;
}

.menu-icon[b-id4g0yherc] {
    flex: 0 0 18px;
    width: 18px;
    min-width: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #9aa7bf;
    text-align: center;
    font-size: 16px;
    line-height: 1;
}

.nav-link.active .menu-icon[b-id4g0yherc] {
    color: var(--accent, #7c3aed);
}

.menu-title[b-id4g0yherc] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.menu-chevron[b-id4g0yherc] {
    flex: 0 0 auto;
    color: #1f2d45; /* deep slate so the +/- is clearly visible */
    font-size: 16px;
    font-weight: 700;
    transition: color 0.15s ease;
}

/* Expanded parents show a minus in the accent color for a clearer "open" cue. */
.active-parent .menu-chevron[b-id4g0yherc] {
    color: var(--accent, #7c3aed);
}

.submenu-container[b-id4g0yherc] {
    overflow: hidden;
    animation: slideDown-b-id4g0yherc 0.16s ease-out;
    /* Each nested level steps right by a fixed amount and shows a vertical
       guide line, so the parent → child relationship is unmistakable.
       Because the menu is recursive, this margin accumulates per depth. */
    margin-left: 24px;
    border-left: 2px solid rgba(var(--accent-rgb, 124, 58, 237), 0.22);
}

/* Highlight the guide line of the branch the user is currently inside. */
.active-parent + .submenu-container[b-id4g0yherc] {
    border-left-color: rgba(var(--accent-rgb, 124, 58, 237), 0.45);
}

.submenu-container .multi-level-menu[b-id4g0yherc] {
    margin-bottom: 2px;
}

.submenu-container .multi-level-menu[b-id4g0yherc]::before {
    display: none;
}

.nav-link.nested[b-id4g0yherc] {
    min-height: 36px;
    margin: 0 18px;
    padding-top: 7px;
    padding-bottom: 7px;
    color: #263b59;
    font-size: 15px;
    font-weight: 500;
}

/* Nested items render their actual icon from MenuItem.IconClass (database) —
   no dot conversion. Keeps slightly smaller icon for visual hierarchy. */
.nav-link.nested .menu-icon[b-id4g0yherc] {
    width: 16px;
    min-width: 16px;
    font-size: 14px;
    color: #9aa7bf;
}

.nav-link.nested.active[b-id4g0yherc] {
    color: var(--accent, #7c3aed);
    background: transparent;
}

.nav-link.nested.active .menu-icon[b-id4g0yherc] {
    color: var(--accent, #7c3aed);
}

.multi-level-menu.is-collapsed .nav-link[b-id4g0yherc] {
    justify-content: center;
    min-height: 42px;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-inline: 10px;
}

.multi-level-menu.is-collapsed > .nav-item > .active-parent[b-id4g0yherc],
.multi-level-menu.is-collapsed > .nav-item > .nav-link.active[b-id4g0yherc] {
    display: flex;
    color: var(--accent, #7c3aed);
    background: rgba(var(--accent-rgb, 124, 58, 237), 0.1);
}

@keyframes slideDown-b-id4g0yherc {
    from {
        opacity: 0;
        transform: translateY(-3px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* /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: 32px;
    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;
}

.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;
}

    .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;
}
