@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 */
/* =========================================================
   QoR-ERP — Ultra-Modern Enterprise Login Theme
   Glassmorphism card, ambient glowing mesh background,
   curated typography, dynamic field states & micro-interactions.
   ========================================================= */

.auth-stage[b-b285km3hlr] {
    --bg-1:        #e9ecef;
    --bg-2:        #f1f3f5;
    --bg-3:        #dee2e6;
    --ink:         #000000;
    --ink-soft:    #1e293b;
    --ink-mute:    #64748b;
    --line:        #cbd5e1;
    --line-strong: #94a3b8;
    --card-bg:     rgba(255, 255, 255, 0.94);
    --primary:     #334155;       /* Slate Ash */
    --primary-hover: #1e293b;
    --primary-2:   #475569;
    --primary-3:   #0f172a;       /* Dark Slate */
    --accent:      #64748b;       /* Cool Ash */
    --primary-glow: rgba(71, 85, 105, 0.2);
    --danger:      #e11d48;

    position: relative;
    min-height: 100vh;
    width: 100%;
    margin: -1.5rem 0;
    padding: clamp(1.5rem, 5vw, 3rem) clamp(1rem, 4vw, 2rem);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: var(--ink);
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background:
        radial-gradient(1000px 700px at 80% 10%, rgba(148, 163, 184, 0.18), transparent 70%),
        radial-gradient(900px 700px at 15% 90%,  rgba(203, 213, 225, 0.20),  transparent 70%),
        linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 50%, var(--bg-3) 100%);
}

/* ---------- Theme Specific Stage Variations ---------- */

/* QoR Official Brand Theme (qor) */
.auth-stage[data-theme="qor"][b-b285km3hlr],
.auth-stage[data-theme="qor-brand"][b-b285km3hlr] {
    --bg-1:        #f2f6f4;
    --bg-2:        #e6efe9;
    --bg-3:        #e0f0e8;
    --ink:         #000000;
    --ink-soft:    #11241a;
    --ink-mute:    #3c5649;
    --line:        #b8d5c7;
    --line-strong: #96c4b0;
    --card-bg:     rgba(255, 255, 255, 0.95);
    --primary:     #006837;       /* QoR Green */
    --primary-hover: #04522c;
    --primary-2:   #066e3b;
    --primary-3:   #d3122a;       /* QoR Red */
    --accent:      #d3122a;       /* QoR Crimson */
    --primary-glow: rgba(0, 104, 55, 0.25);
}

.auth-stage[data-theme="qor"] .orb.o1[b-b285km3hlr],
.auth-stage[data-theme="qor-brand"] .orb.o1[b-b285km3hlr] { background: radial-gradient(circle, #a7f3d0 0%, rgba(167, 243, 208, 0) 70%); }
.auth-stage[data-theme="qor"] .orb.o2[b-b285km3hlr],
.auth-stage[data-theme="qor-brand"] .orb.o2[b-b285km3hlr] { background: radial-gradient(circle, #fecdd3 0%, rgba(254, 205, 211, 0) 70%); }
.auth-stage[data-theme="qor"] .orb.o3[b-b285km3hlr],
.auth-stage[data-theme="qor-brand"] .orb.o3[b-b285km3hlr] { background: radial-gradient(circle, #bbf7d0 0%, rgba(187, 247, 208, 0) 70%); }

/* Light Ash Theme (ash) */
.auth-stage[data-theme="ash"][b-b285km3hlr],
.auth-stage[data-theme="light-ash"][b-b285km3hlr] {
    --bg-1:        #e9ecef;
    --bg-2:        #f1f3f5;
    --bg-3:        #dee2e6;
    --ink:         #000000;
    --ink-soft:    #1e293b;
    --ink-mute:    #64748b;
    --line:        #cbd5e1;
    --line-strong: #94a3b8;
    --card-bg:     rgba(255, 255, 255, 0.94);
    --primary:     #334155;
    --primary-hover: #1e293b;
    --primary-2:   #475569;
    --primary-3:   #0f172a;
    --accent:      #64748b;
    --primary-glow: rgba(71, 85, 105, 0.2);
}

.auth-stage[data-theme="ash"] .orb.o1[b-b285km3hlr],
.auth-stage[data-theme="light-ash"] .orb.o1[b-b285km3hlr] { background: radial-gradient(circle, #cbd5e1 0%, rgba(203, 213, 225, 0) 70%); }
.auth-stage[data-theme="ash"] .orb.o2[b-b285km3hlr],
.auth-stage[data-theme="light-ash"] .orb.o2[b-b285km3hlr] { background: radial-gradient(circle, #e2e8f0 0%, rgba(226, 232, 240, 0) 70%); }
.auth-stage[data-theme="ash"] .orb.o3[b-b285km3hlr],
.auth-stage[data-theme="light-ash"] .orb.o3[b-b285km3hlr] { background: radial-gradient(circle, #94a3b8 0%, rgba(148, 163, 184, 0) 70%); }

/* Dark / Midnight Theme (dark) */
.auth-stage[data-theme="dark"][b-b285km3hlr] {
    --bg-1:        #0b1120;
    --bg-2:        #121b30;
    --bg-3:        #1e293b;
    --ink:         #f8fafc;
    --ink-soft:    #cbd5e1;
    --ink-mute:    #64748b;
    --line:        #334155;
    --line-strong: #475569;
    --card-bg:     rgba(18, 27, 48, 0.85);
    --primary:     #3b82f6;
    --primary-hover: #2563eb;
    --primary-2:   #60a5fa;
    --primary-3:   #818cf8;
    --accent:      #38bdf8;
    --primary-glow: rgba(59, 130, 246, 0.3);
}

/* Rose Theme (rose) */
.auth-stage[data-theme="rose"][b-b285km3hlr] {
    --bg-1:        #faf4f5;
    --bg-2:        #f9f0f2;
    --bg-3:        #fce7f1;
    --ink:         #000000;
    --ink-soft:    #18181b;
    --ink-mute:    #64748b;
    --line:        #f1e1e5;
    --line-strong: #e6cdd5;
    --card-bg:     rgba(255, 255, 255, 0.94);
    --primary:     #db2777;
    --primary-hover: #be185d;
    --primary-2:   #f43f5e;
    --primary-3:   #e11d48;
    --accent:      #f43f5e;
    --primary-glow: rgba(219, 39, 119, 0.25);
}

/* Emerald Theme (emerald) */
.auth-stage[data-theme="emerald"][b-b285km3hlr] {
    --bg-1:        #f1f6f4;
    --bg-2:        #eef3f1;
    --bg-3:        #e2f3f0;
    --ink:         #000000;
    --ink-soft:    #18181b;
    --ink-mute:    #64748b;
    --line:        #dde7e2;
    --line-strong: #c2d4cd;
    --card-bg:     rgba(255, 255, 255, 0.94);
    --primary:     #0d9488;
    --primary-hover: #0f766e;
    --primary-2:   #14b8a6;
    --primary-3:   #059669;
    --accent:      #10b981;
    --primary-glow: rgba(13, 148, 136, 0.25);
}

/* Carbon Theme (carbon) */
.auth-stage[data-theme="carbon"][b-b285km3hlr] {
    --bg-1:        #1a1714;
    --bg-2:        #24201b;
    --bg-3:        #2f2a22;
    --ink:         #ffffff;
    --ink-soft:    #e4e4e7;
    --ink-mute:    #a1a1aa;
    --line:        #3a342b;
    --line-strong: #524739;
    --card-bg:     rgba(36, 32, 27, 0.88);
    --primary:     #f59e0b;
    --primary-hover: #d97706;
    --primary-2:   #fbbf24;
    --primary-3:   #b45309;
    --accent:      #f59e0b;
    --primary-glow: rgba(245, 158, 11, 0.3);
}

/* Brand Text Classes */
.green-text[b-b285km3hlr] { color: #006837 !important; font-weight: 800; }
.red-text[b-b285km3hlr] { color: #d3122a !important; font-weight: 800; }

.qor-tagline-sub[b-b285km3hlr] {
    font-size: 0.78rem;
    font-weight: 700;
    margin-top: 2px;
    letter-spacing: 0.2px;
}

/* Theme Quick Switcher Bar */
.auth-theme-bar[b-b285km3hlr] {
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(203, 213, 225, 0.8);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.theme-bar-label[b-b285km3hlr] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
    margin-right: 0.25rem;
}

.theme-pill-btn[b-b285km3hlr] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid transparent;
    background: transparent;
    color: #475569;
    cursor: pointer;
    transition: all 0.15s ease;
}

.theme-pill-btn:hover[b-b285km3hlr] {
    background: rgba(241, 245, 249, 0.9);
    color: #0f172a;
}

.theme-pill-btn.active[b-b285km3hlr] {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #0f172a;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1);
}

.color-dot[b-b285km3hlr] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.color-dot.qor[b-b285km3hlr] { background: linear-gradient(135deg, #006837 0%, #d3122a 100%); }
.color-dot.ash[b-b285km3hlr] { background: #64748b; }
.color-dot.light[b-b285km3hlr] { background: #2563eb; }
.color-dot.navy[b-b285km3hlr] { background: #0f1729; }
.color-dot.dark[b-b285km3hlr] { background: #3b82f6; }
.color-dot.rose[b-b285km3hlr] { background: #db2777; }
.color-dot.emerald[b-b285km3hlr] { background: #0d9488; }
.color-dot.carbon[b-b285km3hlr] { background: #f59e0b; }

/* =========================================================
   Background Ambient Mesh & Glowing Orbs
   ========================================================= */
.mesh[b-b285km3hlr] {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.orb[b-b285km3hlr] {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    opacity: 0.6;
    animation: floatDrift-b-b285km3hlr 22s ease-in-out infinite alternate;
}

.orb.o1[b-b285km3hlr] {
    width: 420px; height: 420px; top: -120px; left: -100px;
    background: radial-gradient(circle, #c7d2fe 0%, rgba(199, 210, 254, 0) 70%);
}

.orb.o2[b-b285km3hlr] {
    width: 480px; height: 480px; top: 15%; right: -140px;
    background: radial-gradient(circle, #a5f3fc 0%, rgba(165, 243, 252, 0) 70%);
    animation-delay: -7s; animation-duration: 26s;
}

.orb.o3[b-b285km3hlr] {
    width: 380px; height: 380px; bottom: -120px; left: 25%;
    background: radial-gradient(circle, #ddd6fe 0%, rgba(221, 214, 254, 0) 70%);
    animation-delay: -14s; animation-duration: 30s;
}

.orb.o4[b-b285km3hlr] {
    width: 320px; height: 320px; top: 40%; left: 5%;
    background: radial-gradient(circle, #fbcfe8 0%, rgba(251, 207, 232, 0) 70%);
    animation-delay: -18s; animation-duration: 24s;
}

@keyframes floatDrift-b-b285km3hlr {
    0%   { transform: translate(0, 0) scale(1); }
    50%  { transform: translate(45px, -35px) scale(1.06); }
    100% { transform: translate(-35px, 45px) scale(0.96); }
}

/* =========================================================
   Ultra-Premium Glass Card
   ========================================================= */
.auth-card[b-b285km3hlr] {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 440px;
    padding: 2.25rem 2rem 1.75rem;
    border-radius: 24px;
    background: var(--card-bg);
    backdrop-filter: blur(24px) saturate(180%);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow:
        0 0 0 1px rgba(226, 232, 240, 0.7),
        0 4px 6px -1px rgba(15, 23, 42, 0.03),
        0 25px 50px -12px rgba(15, 23, 42, 0.12),
        0 0 40px rgba(99, 102, 241, 0.04);
    animation: cardEntrance-b-b285km3hlr 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.auth-card:hover[b-b285km3hlr] {
    box-shadow:
        0 0 0 1px rgba(99, 102, 241, 0.25),
        0 4px 6px -1px rgba(15, 23, 42, 0.04),
        0 30px 60px -12px rgba(15, 23, 42, 0.15),
        0 0 50px rgba(99, 102, 241, 0.08);
}

@keyframes cardEntrance-b-b285km3hlr {
    from { opacity: 0; transform: translateY(16px) scale(0.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ---------- Official QoR Brand Header Banner ---------- */
.qor-brand-official-header[b-b285km3hlr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-bottom: 1rem;
    padding: 0.25rem;
}

.qor-exact-logo-wrap[b-b285km3hlr] {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 0.5rem;
}

.qor-exact-logo-img[b-b285km3hlr] {
    width: 100%;
    max-width: 350px;
    height: auto;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}

.qor-brand-logo-svg[b-b285km3hlr] {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 6px;
}

.qor-divider-row[b-b285km3hlr] {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 365px;
    margin: 4px 0 6px;
}

.qor-line-left[b-b285km3hlr] {
    flex: 1;
    height: 1.5px;
    background: #006837;
    border-radius: 1px;
}

.qor-divider-text-group[b-b285km3hlr] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0 6px;
    white-space: nowrap;
}

.qor-line-right[b-b285km3hlr] {
    flex: 1;
    height: 1.5px;
    background: #d3122a;
    border-radius: 1px;
}

.qor-tagline-text[b-b285km3hlr] {
    font-size: 0.98rem;
    font-weight: 800;
    text-align: center;
    margin-top: 2px;
    letter-spacing: -0.01em;
    display: flex;
    gap: 6px;
    justify-content: center;
}

.qor-txt-green[b-b285km3hlr] {
    color: #006837 !important;
}

.qor-txt-black[b-b285km3hlr] {
    color: #000000 !important;
}

.qor-txt-red[b-b285km3hlr] {
    color: #d3122a !important;
}

/* ---------- Title & Greeting ---------- */
.card-title[b-b285km3hlr] {
    text-align: center;
    margin-bottom: 1.5rem;
}

.card-title h1[b-b285km3hlr] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    color: var(--ink);
}

.card-title p[b-b285km3hlr] {
    margin: 0.35rem 0 0;
    color: var(--ink-soft);
    font-size: 0.88rem;
    font-weight: 450;
}

/* =========================================================
   Form Elements & Inputs
   ========================================================= */
.auth-form[b-b285km3hlr] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.vsummary[b-b285km3hlr] {
    color: var(--danger);
    font-size: 0.84rem;
    margin: 0;
    padding: 0;
    list-style: none;
    font-weight: 500;
}

.field[b-b285km3hlr] {
    display: flex;
    flex-direction: column;
}

.field label[b-b285km3hlr] {
    display: block;
    font-size: 0.81rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 0.38rem;
    letter-spacing: 0.01em;
}

.input-wrap[b-b285km3hlr] {
    position: relative;
    display: block;
    width: 100%;
}

.input-wrap .input-icon[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.2s ease, transform 0.2s ease;
    line-height: 1;
    z-index: 2;
}

.input-wrap[b-b285km3hlr]  .input {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 2.875rem;
    line-height: normal;
    padding: 0 0.95rem 0 2.6rem;
    margin: 0;
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 14px;
    color: var(--ink);
    font-size: 0.92rem;
    font-weight: 500;
    font-family: inherit;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.02) inset;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.password-wrap[b-b285km3hlr]  .input {
    padding-right: 2.85rem;
}

.password-toggle[b-b285km3hlr] {
    position: absolute;
    right: 0.7rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2.1rem;
    height: 2.1rem;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--ink-mute);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
    transition: color 0.18s ease, background-color 0.18s ease;
}

.password-toggle:hover[b-b285km3hlr] {
    color: var(--primary);
    background-color: rgba(99, 102, 241, 0.1);
}

.password-toggle:focus-visible[b-b285km3hlr] {
    outline: 2px solid var(--primary-2);
    outline-offset: 1px;
}

.input-wrap[b-b285km3hlr]  .input::placeholder {
    color: var(--ink-mute);
    opacity: 0.8;
    font-weight: 400;
}

.input-wrap[b-b285km3hlr]  .input:hover {
    border-color: var(--line-strong);
    background: #ffffff;
}

.input-wrap[b-b285km3hlr]  .input:focus,
.input-wrap[b-b285km3hlr]  .input:focus-visible {
    background: #ffffff;
    border-color: var(--primary-2);
    box-shadow:
        0 0 0 4px rgba(99, 102, 241, 0.15),
        0 2px 4px rgba(15, 23, 42, 0.04);
}

.input-wrap:focus-within .input-icon[b-b285km3hlr] {
    color: var(--primary);
    transform: translateY(-50%) scale(1.08);
}

/* Autofill styling override */
.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.78rem;
    font-weight: 500;
    margin-top: 0.35rem;
    padding-left: 0.2rem;
}

/* =========================================================
   Remember Me & Forgot Password
   ========================================================= */
.line-row[b-b285km3hlr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.1rem 0;
}

.check-line[b-b285km3hlr] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--ink-soft);
    font-size: 0.85rem;
    font-weight: 500;
    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: 1.5px solid var(--line-strong);
    background: #ffffff;
    cursor: pointer;
    position: relative;
    margin: 0;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
    flex-shrink: 0;
}

.check-line:hover[b-b285km3hlr]  input[type="checkbox"] {
    border-color: var(--primary-2);
}

.check-line[b-b285km3hlr]  input[type="checkbox"]:checked {
    background: linear-gradient(135deg, var(--primary), var(--primary-3));
    border-color: transparent;
    transform: scale(1.05);
}

.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.84rem;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.18s ease;
}

.muted-link:hover[b-b285km3hlr] {
    color: var(--primary-3);
    text-decoration: underline;
}

/* =========================================================
   Primary CTA Button
   ========================================================= */
.cta[b-b285km3hlr] {
    width: 100%;
    height: 2.95rem;
    margin-top: 0.4rem;
    border: 0;
    border-radius: 14px;
    cursor: pointer;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.015em;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-3) 55%, var(--primary-2) 100%);
    background-size: 200% auto;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.3) inset,
        0 10px 24px var(--primary-glow);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    position: relative;
    transition: background-position 0.4s ease, transform 0.15s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.cta:hover[b-b285km3hlr] {
    background-position: right center;
    transform: translateY(-1.5px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.4) inset,
        0 14px 30px rgba(79, 70, 229, 0.38);
    filter: brightness(1.04);
}

.cta:active[b-b285km3hlr] {
    transform: translateY(0);
    box-shadow: 0 6px 16px var(--primary-glow);
}

.cta i[b-b285km3hlr] {
    font-size: 1.15rem;
    transition: transform 0.2s ease;
}

.cta:hover i[b-b285km3hlr] {
    transform: translateX(4px);
}

/* =========================================================
   Seam (Divider) & Secondary Links
   ========================================================= */
.seam[b-b285km3hlr] {
    text-align: center;
    margin: 0.4rem 0 0.1rem;
    position: relative;
}

.seam[b-b285km3hlr]::before,
.seam[b-b285km3hlr]::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 40%;
    height: 1px;
    background: var(--line);
}

.seam[b-b285km3hlr]::before { left: 0; }
.seam[b-b285km3hlr]::after  { right: 0; }

.seam span[b-b285km3hlr] {
    background: #ffffff;
    padding: 0 0.75rem;
    color: var(--ink-mute);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    position: relative;
}

.alt-row[b-b285km3hlr] {
    text-align: center;
    font-size: 0.86rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
}

.alt-link[b-b285km3hlr] {
    color: var(--ink-soft);
    text-decoration: none;
    font-weight: 550;
    padding: 0.2rem 0.4rem;
    border-radius: 8px;
    transition: color 0.18s ease, background-color 0.18s ease;
}

.alt-link:hover[b-b285km3hlr] {
    color: var(--primary);
    background-color: rgba(99, 102, 241, 0.08);
}

.alt-row .dot[b-b285km3hlr] {
    color: var(--ink-mute);
    margin: 0 0.1rem;
}

/* ---------- Card Footer ---------- */
.card-foot[b-b285km3hlr] {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--line);
    text-align: center;
    color: var(--ink-mute);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* =========================================================
   Responsive Adaptations
   ========================================================= */
@media (max-width: 540px) {
    .auth-stage[b-b285km3hlr] {
        margin: 0;
        min-height: 100svh;
        padding: 1rem;
    }
    .auth-card[b-b285km3hlr] {
        max-width: 100%;
        border-radius: 20px;
        padding: 1.75rem 1.25rem 1.4rem;
    }
    .orb.o3[b-b285km3hlr], .orb.o4[b-b285km3hlr] { display: none; }
    .card-title h1[b-b285km3hlr] { font-size: 1.35rem; }
}

@media (prefers-reduced-motion: reduce) {
    .orb[b-b285km3hlr]        { animation: none; }
    .auth-card[b-b285km3hlr]  { animation: none; }
    .cta[b-b285km3hlr]        { transition: none; }
}

/* ---------- Floating Theme Tweak Button & Popup Drawer ---------- */
.login-tweak-trigger[b-b285km3hlr] {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    color: #006837;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    cursor: pointer;
    z-index: 1050;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.login-tweak-trigger:hover[b-b285km3hlr] {
    transform: scale(1.08);
    background: #006837;
    color: #ffffff;
    box-shadow: 0 8px 24px rgba(0, 104, 55, 0.3);
}

.login-tweak-drawer[b-b285km3hlr] {
    position: fixed;
    bottom: 78px;
    right: 24px;
    width: 250px;
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    box-shadow: 0 12px 36px rgba(15, 23, 42, 0.2);
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px) scale(0.96);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    overflow: hidden;
}

.login-tweak-drawer.open[b-b285km3hlr] {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.tweak-drawer-head[b-b285km3hlr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    font-weight: 700;
    font-size: 0.82rem;
    color: #0f172a;
}

.tweak-drawer-close[b-b285km3hlr] {
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    font-size: 0.85rem;
    padding: 2px 5px;
    border-radius: 4px;
}

.tweak-drawer-close:hover[b-b285km3hlr] {
    color: #0f172a;
    background: #e2e8f0;
}

.tweak-drawer-body[b-b285km3hlr] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 10px;
    max-height: 320px;
    overflow-y: auto;
}

.tweak-drawer-body .theme-pill-btn[b-b285km3hlr] {
    width: 100%;
    justify-content: flex-start;
    padding: 7px 10px;
    border-radius: 8px;
    font-size: 0.8rem;
}

/* /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 */
/* =========================================================
   QoR-ERP Shell
   The six themes (light, navy, dark, emerald, rose, carbon)
   live in wwwroot/css/qor-themes.css and are applied via the
   data-theme attribute on .bs25-shell. The :root values below
   are only fallbacks (light theme) for when no theme is set.
   ========================================================= */

:root[b-xfsdc6yj21] {
    --bg-page: #f4f6fa;
    --bg-card: #ffffff;
    --sidebar-bg: #ffffff;
    --sidebar-header-bg: #ffffff;
    --sidebar-border: #e7ebf0;
    --text-primary: #0f172a;
    --text-secondary: #5b6776;
    --text-muted: #97a3b4;
    --accent: #2563eb;
    --accent-rgb: 37, 99, 235;
    --accent-light: #eef4ff;
    --success: #16a34a;
    --warn: #c2710c;
    --danger: #dc2626;
    --border: #e7ebf0;
    --shadow-card: 0 2px 20px rgba(15, 23, 42, 0.06);
    --bb-sidebar-width: 256px;
    --bb-sidebar-collapsed-width: 64px;
    --topbar-h: 58px;
}

/* =========================================================
   Page Shell
   ========================================================= */
.bb-page[b-xfsdc6yj21] {
    background: var(--erp-canvas, var(--bg-page));
    display: flex;
    height: 100vh;
    overflow: hidden;
    font-family: 'IBM Plex Sans', system-ui, 'Segoe UI', sans-serif;
    color: var(--erp-text, var(--text-primary));
    margin: 0;
    position: relative;
}

/* =========================================================
   Sidebar
   ========================================================= */
.sidebar-custom[b-xfsdc6yj21] {
    width: var(--bb-sidebar-width);
    background: var(--erp-sidebar-bg, #ffffff);
    border-right: 1px solid var(--erp-sidebar-border, #e7ebf0);
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    position: relative;
    transition: width 0.24s cubic-bezier(.4,0,.2,1), transform 0.24s ease;
    z-index: 1000;
    overflow: hidden;
}

.sidebar-custom.collapsed[b-xfsdc6yj21] {
    width: var(--bb-sidebar-collapsed-width);
}

/* =========================================================
   Drag-to-resize handle
   ========================================================= */
.sidebar-resizer[b-xfsdc6yj21] {
    position: absolute;
    top: 0;
    right: -4px;
    width: 8px;
    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.6);
}

.sidebar-custom.collapsed .sidebar-resizer[b-xfsdc6yj21] { display: none; }
.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;
}

@media (max-width: 767.98px) { .sidebar-resizer[b-xfsdc6yj21] { display: none; } }

/* =========================================================
   Sidebar Header (Logo + Brand)
   ========================================================= */
.sidebar-header[b-xfsdc6yj21] {
    min-height: 62px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    white-space: nowrap;
    overflow: hidden;
    background: var(--erp-sidebar-bg, #ffffff);
    border-bottom: 1px solid var(--erp-sidebar-border, #e7ebf0);
    position: relative;
}

.sidebar-custom.collapsed .sidebar-header[b-xfsdc6yj21] {
    justify-content: center;
    padding-inline: 0;
}

.brand-logo-wrap[b-xfsdc6yj21] {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--erp-accent, #2563eb), #1d4ed8);
    box-shadow: 0 4px 14px rgba(var(--accent-rgb, 37, 99, 235), 0.35);
    transition: transform 0.2s ease;
}

.brand-logo-wrap:hover[b-xfsdc6yj21] {
    transform: scale(1.05);
}

.brand-text-wrap[b-xfsdc6yj21] {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    overflow: hidden;
}

.brand-name[b-xfsdc6yj21] {
    color: var(--erp-sidebar-title, #0f172a);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -0.4px;
}

.brand-name span[b-xfsdc6yj21] { color: var(--erp-sidebar-title, #0f172a); }
.brand-name strong[b-xfsdc6yj21] { color: var(--erp-sidebar-title, #0f172a); font-weight: 800; }

.brand-version[b-xfsdc6yj21] {
    margin-top: 2px;
    color: var(--erp-sidebar-text-muted, #94a3b8);
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: none;
}

/* Collapse button */
.sidebar-collapse-button[b-xfsdc6yj21] {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    margin-left: auto;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--erp-sidebar-text-muted, #94a3b8);
    transition: all 0.18s ease;
    cursor: pointer;
}

.sidebar-collapse-button:hover[b-xfsdc6yj21] {
    background: var(--erp-sidebar-hover, rgba(15, 23, 42, 0.06));
    color: var(--erp-sidebar-active-text, #2563eb);
    transform: scale(1.06);
}

/* =========================================================
   Sidebar Search
   ========================================================= */
.sidebar-search[b-xfsdc6yj21] {
    height: 38px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 12px 14px 8px;
    padding: 0 10px 0 12px;
    border: 1px solid var(--erp-sidebar-border, #e7ebf0);
    border-radius: 10px;
    background: var(--erp-sidebar-hover, rgba(15, 23, 42, 0.03));
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar-search:focus-within[b-xfsdc6yj21] {
    border-color: var(--erp-accent, #2563eb);
    background: var(--erp-sidebar-bg, #ffffff);
    box-shadow: 0 0 0 3px rgba(var(--accent-rgb, 37, 99, 235), 0.12);
}

.sidebar-search .bi[b-xfsdc6yj21] { color: var(--erp-sidebar-text-muted, #94a3b8); font-size: 14px; }

.sidebar-search input[b-xfsdc6yj21] {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--erp-sidebar-text, #475569);
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 13px;
    font-weight: 500;
}

.sidebar-search input[b-xfsdc6yj21]::placeholder { color: var(--erp-sidebar-text-muted, #94a3b8); }

.sidebar-search kbd[b-xfsdc6yj21] {
    min-width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border: 1px solid var(--erp-sidebar-border, #e7ebf0);
    border-radius: 6px;
    background: var(--erp-sidebar-bg, #fff);
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    color: var(--erp-sidebar-text-muted, #94a3b8);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11px;
    font-weight: 600;
}

.search-clear-btn[b-xfsdc6yj21] {
    background: transparent;
    border: 0;
    padding: 0 4px;
    color: var(--erp-sidebar-text-muted, #94a3b8);
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 12px;
    transition: color 0.15s;
}

.search-clear-btn:hover[b-xfsdc6yj21] { color: var(--erp-sidebar-active-text, #2563eb); }

/* =========================================================
   Sidebar Menu Area
   ========================================================= */
.sidebar-menu-area[b-xfsdc6yj21] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px 0 12px;
    scrollbar-width: thin;
    scrollbar-color: var(--erp-sidebar-dot, #cbd5e1) transparent;
}

.sidebar-custom.collapsed .sidebar-menu-area[b-xfsdc6yj21] { overflow-y: auto; padding-top: 12px; }
.sidebar-custom.collapsed .sidebar-menu-area[b-xfsdc6yj21]::-webkit-scrollbar { width: 0; }
.sidebar-menu-area[b-xfsdc6yj21]::-webkit-scrollbar { width: 4px; }
.sidebar-menu-area[b-xfsdc6yj21]::-webkit-scrollbar-track { background: transparent; }
.sidebar-menu-area[b-xfsdc6yj21]::-webkit-scrollbar-thumb {
    background: var(--erp-sidebar-dot, #cbd5e1);
    border-radius: 999px;
}

/* Auth links (mobile only) */
.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(--erp-sidebar-text, #475569);
    text-decoration: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    transition: background 0.15s, color 0.15s;
}

.sidebar-auth-link:hover[b-xfsdc6yj21] {
    color: var(--erp-sidebar-title, #0f172a);
    background: var(--erp-sidebar-hover, #f1f5f9);
}

.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(--erp-sidebar-border, #e7ebf0);
}

/* =========================================================
   Sidebar User Area (bottom)
   ========================================================= */
.sidebar-user-area[b-xfsdc6yj21] {
    flex: 0 0 auto;
    border-top: 1px solid var(--erp-sidebar-border, #e7ebf0);
    background: var(--erp-sidebar-bg, #ffffff);
    padding: 6px;
}

.sidebar-user-link[b-xfsdc6yj21] {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    border-radius: 12px;
    color: var(--erp-sidebar-text, #475569);
    text-decoration: none;
    transition: all 0.18s ease;
}

.sidebar-user-link:hover[b-xfsdc6yj21] {
    background: var(--erp-sidebar-hover, rgba(15, 23, 42, 0.04));
    color: var(--erp-sidebar-title, #0f172a);
    text-decoration: none;
}

.sidebar-user-avatar[b-xfsdc6yj21] {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--erp-accent, #2563eb), #1d4ed8);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    position: relative;
    box-shadow: 0 3px 8px rgba(var(--accent-rgb, 37, 99, 235), 0.25);
}

.sidebar-user-avatar.qor-user-avatar[b-xfsdc6yj21] {
    background: linear-gradient(135deg, #006837, #056538);
    box-shadow: 0 3px 10px rgba(0, 104, 55, 0.3);
    color: #ffffff;
    font-size: 16px;
}

.sidebar-online-dot[b-xfsdc6yj21] {
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #10b981;
    border: 2px solid var(--erp-sidebar-bg, #ffffff);
}

.sidebar-user-copy[b-xfsdc6yj21] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.sidebar-user-copy strong[b-xfsdc6yj21] {
    color: var(--erp-sidebar-title, #0f172a);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-user-copy small[b-xfsdc6yj21] {
    margin-top: 2px;
    color: var(--erp-sidebar-text-muted, #94a3b8);
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-user-chevron[b-xfsdc6yj21] {
    margin-left: auto;
    color: var(--erp-sidebar-text-muted, #94a3b8);
    font-size: 13px;
    transition: transform 0.15s ease;
}

.sidebar-user-link:hover .sidebar-user-chevron[b-xfsdc6yj21] {
    color: var(--erp-sidebar-title, #0f172a);
    transform: translateX(2px);
}

.sidebar-custom.collapsed .sidebar-user-link[b-xfsdc6yj21] {
    justify-content: center;
    padding-inline: 0;
}

.sidebar-custom.collapsed .sidebar-user-copy[b-xfsdc6yj21],
.sidebar-custom.collapsed .sidebar-user-chevron[b-xfsdc6yj21] { display: none; }

/* =========================================================
   Main Content Area
   ========================================================= */
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;
}

/* =========================================================
   Topbar
   ========================================================= */
.bb-top-row[b-xfsdc6yj21] {
    height: var(--topbar-h);
    min-height: var(--topbar-h);
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: var(--erp-topbar-bg, #ffffff);
    border-bottom: 1px solid var(--erp-border, #e7ebf0);
    position: relative;
    z-index: 100;
}

.page-header-title[b-xfsdc6yj21] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.breadcrumb-root[b-xfsdc6yj21] {
    font-family: 'Space Mono', monospace;
    color: var(--text-muted);
    font-size: 11px;
    text-decoration: none;
    transition: color 0.15s;
}
.breadcrumb-root:hover[b-xfsdc6yj21] { color: var(--accent); }

.breadcrumb-separator[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: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0.01em;
}

.topbar-date[b-xfsdc6yj21] {
    font-family: 'Space Mono', monospace;
    color: var(--text-muted);
    font-size: 11px;
}

/* Topbar actions */
.topbar-actions[b-xfsdc6yj21] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.topbar-icon-button[b-xfsdc6yj21],
.topbar-text-link[b-xfsdc6yj21],
.topbar-avatar-link[b-xfsdc6yj21] {
    min-width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid var(--erp-border, #e7ebf0);
    border-radius: 9px;
    background: var(--erp-surface-2, #f8fafc);
    color: var(--text-secondary, #5b6776);
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    position: relative;
    transition: background 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s;
    cursor: pointer;
}

.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.12);
    color: var(--accent);
    border-color: rgba(var(--accent-rgb), 0.3);
    box-shadow: 0 2px 10px rgba(var(--accent-rgb), 0.15);
    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(--erp-neg, #dc2626);
    border: 2px solid var(--erp-topbar-bg, #fff);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
}

.topbar-avatar[b-xfsdc6yj21] {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--accent), var(--cyan));
    color: #fff;
    font-weight: 800;
    font-size: 14px;
    box-shadow: 0 3px 12px rgba(var(--accent-rgb), 0.4);
}

.topbar-avatar-link[b-xfsdc6yj21] {
    background: transparent;
    border: 0;
    min-width: 38px;
    height: 38px;
}

/* =========================================================
   Tweaks Panel
   ========================================================= */
.tweaks-trigger[b-xfsdc6yj21] {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1001;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--erp-border, #e7ebf0);
    border-radius: 14px;
    background: var(--erp-surface, #fff);
    color: var(--erp-accent, #2563eb);
    box-shadow: 0 8px 40px rgba(0, 0, 30, 0.14);
    cursor: pointer;
    font-size: 17px;
    transition: box-shadow 0.15s, transform 0.15s;
}

.tweaks-trigger:hover[b-xfsdc6yj21] {
    box-shadow: 0 8px 40px rgba(var(--accent-rgb), 0.28);
    transform: scale(1.06);
}

/* ── Tweaks / Appearance panel ── */
.tweaks-panel[b-xfsdc6yj21] {
    position: fixed;
    right: 20px;
    bottom: 76px;
    z-index: 1001;
    width: 320px;
    display: none;
    padding: 0;
    border: 1px solid var(--erp-border, #e7ebf0);
    border-radius: 20px;
    background: var(--erp-surface, #fff);
    box-shadow: 0 16px 60px rgba(0, 0, 30, 0.16);
    overflow: hidden;
}

.tweaks-panel.open[b-xfsdc6yj21] {
    display: block;
    animation: fadeUp-b-xfsdc6yj21 0.22s ease;
}

.tw-header[b-xfsdc6yj21] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px 12px;
    border-bottom: 1px solid var(--erp-border, #e7ebf0);
}

.tw-header h4[b-xfsdc6yj21] {
    margin: 0;
    color: var(--erp-text, #0f172a);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.tw-close[b-xfsdc6yj21] {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--erp-text-faint, #9aa7bf);
    font-size: 12px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.tw-close:hover[b-xfsdc6yj21] {
    background: var(--erp-surface-2, #f1f5f9);
    color: var(--erp-text, #384659);
}

.tw-section-label[b-xfsdc6yj21] {
    padding: 10px 18px 6px;
    font-family: 'IBM Plex Sans', system-ui, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--erp-text-faint, #9aa7bf);
}

/* ── Theme card grid ── */
.tw-themes-grid[b-xfsdc6yj21] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 4px 16px 12px;
}

.tw-theme-card[b-xfsdc6yj21] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 8px 6px 8px;
    border: 2px solid transparent;
    border-radius: 12px;
    background: transparent;
    cursor: pointer;
    position: relative;
    transition: border-color 0.18s, background 0.18s;
}

.tw-theme-card:hover[b-xfsdc6yj21] {
    background: var(--erp-surface-2, #f1f5f9);
    border-color: var(--erp-border, #e7ebf0);
}

.tw-theme-card.active[b-xfsdc6yj21] {
    border-color: var(--erp-accent, #2563eb);
    background: var(--erp-accent-soft, #eef4ff);
}

.tw-theme-card span[b-xfsdc6yj21] {
    font-size: 11px;
    font-weight: 600;
    color: var(--erp-text-muted, #384659);
    white-space: nowrap;
}

.tw-theme-card.active span[b-xfsdc6yj21] {
    color: var(--erp-accent, #2563eb);
}

.tw-check[b-xfsdc6yj21] {
    position: absolute;
    top: 4px;
    right: 4px;
    font-size: 13px;
    color: var(--erp-accent, #2563eb);
}

/* ── Theme mini preview ── */
.tw-preview[b-xfsdc6yj21] {
    width: 72px;
    height: 46px;
    border-radius: 7px;
    overflow: hidden;
    display: flex;
    border: 1px solid var(--erp-border, #e7ebf0);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.tw-prev-sidebar[b-xfsdc6yj21] {
    width: 22px;
    height: 100%;
    flex-shrink: 0;
}

.tw-prev-body[b-xfsdc6yj21] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 4px;
}

.tw-prev-bar[b-xfsdc6yj21] {
    height: 4px;
    border-radius: 3px;
    opacity: 0.85;
}

.tw-prev-card[b-xfsdc6yj21] {
    flex: 1;
    border-radius: 3px;
    background: rgba(125, 125, 125, 0.18);
}

/* ── Layout toggles ── */
.tw-row[b-xfsdc6yj21] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 18px;
    color: var(--erp-text-muted, #384659);
    font-size: 13px;
    font-weight: 500;
}

.tw-row:last-child[b-xfsdc6yj21] {
    padding-bottom: 14px;
}

.tw-toggle[b-xfsdc6yj21] {
    width: 40px;
    height: 22px;
    border: 0;
    border-radius: 11px;
    background: rgba(125, 125, 125, 0.3);
    position: relative;
    cursor: pointer;
    transition: background 0.2s;
    flex-shrink: 0;
}

.tw-toggle.on[b-xfsdc6yj21] { background: var(--erp-accent, #2563eb); }

.tw-toggle[b-xfsdc6yj21]::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s cubic-bezier(.4,0,.2,1);
}

.tw-toggle.on[b-xfsdc6yj21]::after { transform: translateX(18px); }



/* =========================================================
   Animations
   ========================================================= */
@keyframes fadeUp-b-xfsdc6yj21 {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: none; }
}

/* =========================================================
   Mobile
   ========================================================= */
@media (max-width: 768px) {
    .bb-top-row[b-xfsdc6yj21] { padding-inline: 12px; gap: 10px; }

    .sidebar-custom[b-xfsdc6yj21] {
        position: fixed;
        inset: 0 auto 0 0;
        height: 100vh;
        box-shadow: 4px 0 40px rgba(0,0,0,0.35);
    }

    .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.55);
        z-index: 999;
        backdrop-filter: blur(3px);
    }
}

/* =========================================================
   Utility helpers used by Index / Dashboard
   ========================================================= */
.trend.up[b-xfsdc6yj21]   { color: var(--success); }
.trend.down[b-xfsdc6yj21] { color: var(--danger); }
/* /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/Dashboard/Dashboard.razor.rz.scp.css */
/* ============================================================
   QoR-ERP Executive Dashboard Stylesheet
   Modern, sleek, high-contrast & responsive UI system
   ============================================================ */

.qor-dash[b-cvmx2oxh33] {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--erp-text, #0f172a);
    background: var(--erp-canvas, #f4f6fa);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-height: 100%;
    box-sizing: border-box;
}

.qor-dash *[b-cvmx2oxh33] {
    box-sizing: border-box;
}

.qor-mono[b-cvmx2oxh33] {
    font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/* ── 1. Header Banner ── */
.qor-head[b-cvmx2oxh33] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    background: var(--erp-surface, #ffffff);
    padding: 20px 24px;
    border-radius: 16px;
    border: 1px solid var(--erp-border, #e7ebf0);
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.04), 0 2px 6px -1px rgba(15, 23, 42, 0.02);
}

.qor-crumb-row[b-cvmx2oxh33] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 6px;
}

.qor-crumb[b-cvmx2oxh33] {
    color: var(--erp-text-faint, #94a3b8);
}

.qor-crumb.active[b-cvmx2oxh33] {
    color: var(--erp-accent, #2563eb);
}

.qor-crumb-sep[b-cvmx2oxh33] {
    font-size: 10px;
    color: var(--erp-text-faint, #cbd5e1);
}

.qor-live-badge[b-cvmx2oxh33] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #10b981;
    background: rgba(16, 185, 129, 0.1);
    padding: 2px 8px;
    border-radius: 12px;
    margin-left: 8px;
}

.qor-live-dot[b-cvmx2oxh33] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.3);
    animation: livePulse-b-cvmx2oxh33 1.8s infinite ease-in-out;
}

@keyframes livePulse-b-cvmx2oxh33 {
    0% { transform: scale(0.95); opacity: 1; }
    50% { transform: scale(1.3); opacity: 0.6; }
    100% { transform: scale(0.95); opacity: 1; }
}

.qor-title[b-cvmx2oxh33] {
    font-size: 24px;
    font-weight: 800;
    margin: 0;
    color: var(--erp-text, #0f172a);
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.qor-subtitle[b-cvmx2oxh33] {
    font-size: 13px;
    color: var(--erp-text-muted, #5b6776);
    margin: 4px 0 0 0;
}

.qor-head-actions[b-cvmx2oxh33] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.qor-range-selector[b-cvmx2oxh33] {
    display: flex;
    background: var(--erp-canvas, #f1f5f9);
    border: 1px solid var(--erp-border, #e2e8f0);
    border-radius: 10px;
    padding: 3px;
}

.qor-range-btn[b-cvmx2oxh33] {
    font-size: 12px;
    font-weight: 700;
    color: var(--erp-text-muted, #64748b);
    padding: 6px 14px;
    border-radius: 8px;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: all 0.18s ease;
}

.qor-range-btn:hover[b-cvmx2oxh33] {
    color: var(--erp-text, #0f172a);
}

.qor-range-btn.active[b-cvmx2oxh33] {
    color: var(--erp-accent, #2563eb);
    background: var(--erp-surface, #ffffff);
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
}

.qor-btn-primary[b-cvmx2oxh33], .qor-btn-secondary[b-cvmx2oxh33] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.qor-btn-secondary[b-cvmx2oxh33] {
    background: var(--erp-surface, #ffffff);
    color: var(--erp-text, #0f172a);
    border: 1px solid var(--erp-border, #e2e8f0);
}

.qor-btn-secondary:hover[b-cvmx2oxh33] {
    border-color: var(--erp-accent, #2563eb);
    color: var(--erp-accent, #2563eb);
    background: var(--erp-accent-soft, #f0f7ff);
}

.qor-btn-primary[b-cvmx2oxh33] {
    background: var(--erp-accent, #2563eb);
    color: #ffffff;
    border: 1px solid transparent;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
}

.qor-btn-primary:hover[b-cvmx2oxh33] {
    background: #1d4ed8;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35);
    transform: translateY(-1px);
}

.spin[b-cvmx2oxh33] {
    animation: spin-b-cvmx2oxh33 0.75s linear infinite;
}

@keyframes spin-b-cvmx2oxh33 {
    100% { transform: rotate(360deg); }
}

/* ── 2. KPI Cards ── */
.qor-kpis[b-cvmx2oxh33] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.qor-kpi-card[b-cvmx2oxh33] {
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #e7ebf0);
    border-radius: 16px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.03);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
    position: relative;
    overflow: hidden;
}

.qor-kpi-card:hover[b-cvmx2oxh33] {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px -4px rgba(15, 23, 42, 0.08);
    border-color: var(--kpi-border-color, var(--erp-accent, #2563eb));
}

.qor-kpi-card.kpi-emerald[b-cvmx2oxh33] { --kpi-border-color: #10b981; }
.qor-kpi-card.kpi-blue[b-cvmx2oxh33] { --kpi-border-color: #3b82f6; }
.qor-kpi-card.kpi-amber[b-cvmx2oxh33] { --kpi-border-color: #ef4444; }
.qor-kpi-card.kpi-purple[b-cvmx2oxh33] { --kpi-border-color: #8b5cf6; }

.qor-kpi-header[b-cvmx2oxh33] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.qor-kpi-label[b-cvmx2oxh33] {
    font-size: 12px;
    font-weight: 700;
    color: var(--erp-text-muted, #64748b);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.qor-kpi-subtext[b-cvmx2oxh33] {
    display: block;
    font-size: 11px;
    color: var(--erp-text-faint, #94a3b8);
    margin-top: 2px;
}

.qor-kpi-icon-wrapper[b-cvmx2oxh33] {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--erp-surface-2, #f8fafc);
    color: var(--erp-text, #0f172a);
    box-shadow: inset 0 0 0 1px var(--erp-border, #e2e8f0);
}

.kpi-emerald .qor-kpi-icon-wrapper[b-cvmx2oxh33] { color: #10b981; background: rgba(16, 185, 129, 0.1); }
.kpi-blue .qor-kpi-icon-wrapper[b-cvmx2oxh33] { color: #3b82f6; background: rgba(59, 130, 246, 0.1); }
.kpi-amber .qor-kpi-icon-wrapper[b-cvmx2oxh33] { color: #ef4444; background: rgba(239, 68, 68, 0.1); }
.kpi-purple .qor-kpi-icon-wrapper[b-cvmx2oxh33] { color: #8b5cf6; background: rgba(139, 92, 246, 0.1); }

.qor-kpi-main[b-cvmx2oxh33] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}

.qor-kpi-val[b-cvmx2oxh33] {
    font-size: 26px;
    font-weight: 700;
    color: var(--erp-text, #0f172a);
    letter-spacing: -0.8px;
    line-height: 1;
}

.qor-kpi-badge[b-cvmx2oxh33] {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
    margin-top: 8px;
}

.qor-kpi-badge.pos[b-cvmx2oxh33] { background: rgba(16, 185, 129, 0.12); color: #059669; }
.qor-kpi-badge.neg[b-cvmx2oxh33] { background: rgba(239, 68, 68, 0.12); color: #dc2626; }
.qor-kpi-badge.warn[b-cvmx2oxh33] { background: rgba(245, 158, 11, 0.12); color: #d97706; }

.qor-kpi-sparkline[b-cvmx2oxh33] {
    width: 80px;
    height: 32px;
    flex-shrink: 0;
}

.qor-kpi-sparkline svg[b-cvmx2oxh33] {
    width: 100%;
    height: 100%;
    display: block;
}

.qor-kpi-footer[b-cvmx2oxh33] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 10px;
    border-top: 1px dashed var(--erp-border, #e2e8f0);
}

.qor-kpi-target[b-cvmx2oxh33] {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: var(--erp-text-faint, #94a3b8);
    font-weight: 600;
}

.qor-kpi-progress-bar[b-cvmx2oxh33] {
    height: 5px;
    border-radius: 4px;
    background: var(--erp-surface-2, #f1f5f9);
    overflow: hidden;
}

.qor-kpi-progress-fill[b-cvmx2oxh33] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.4s ease;
}

/* ── 3. Charts Section ── */
.qor-charts-grid[b-cvmx2oxh33] {
    display: grid;
    grid-template-columns: 1.7fr 1fr;
    gap: 16px;
}

.qor-card[b-cvmx2oxh33] {
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #e7ebf0);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.03);
}

.qor-card-header[b-cvmx2oxh33] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.qor-card-title[b-cvmx2oxh33] {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    color: var(--erp-text, #0f172a);
    display: flex;
    align-items: center;
}

.qor-card-sub[b-cvmx2oxh33] {
    font-size: 12px;
    color: var(--erp-text-faint, #94a3b8);
    margin: 3px 0 0 0;
}

.qor-chart-legend[b-cvmx2oxh33] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.qor-legend-item[b-cvmx2oxh33] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--erp-text-muted, #64748b);
}

.qor-legend-dot.revenue[b-cvmx2oxh33] {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    background: var(--erp-accent, #2563eb);
}

.qor-legend-line.target[b-cvmx2oxh33] {
    width: 14px;
    height: 2px;
    border-top: 2px dashed var(--erp-text-faint, #94a3b8);
}

.qor-chart-container[b-cvmx2oxh33] {
    position: relative;
    width: 100%;
}

.qor-grid-line[b-cvmx2oxh33] {
    stroke: var(--erp-border, #e2e8f0);
    stroke-width: 1;
    stroke-dasharray: 4 4;
}

.qor-axis-text[b-cvmx2oxh33] {
    font-size: 10px;
    fill: var(--erp-text-faint, #94a3b8);
    font-family: monospace;
}

.qor-chart-point[b-cvmx2oxh33] {
    fill: var(--erp-surface, #ffffff);
    stroke: var(--erp-accent, #2563eb);
    stroke-width: 3;
    cursor: pointer;
    transition: transform 0.15s ease, r 0.15s ease;
}

.qor-chart-point.active[b-cvmx2oxh33], .qor-chart-point:hover[b-cvmx2oxh33] {
    r: 7;
    fill: var(--erp-accent, #2563eb);
}

.qor-chart-point-halo[b-cvmx2oxh33] {
    fill: var(--erp-accent, #2563eb);
    opacity: 0.25;
    animation: pulseHalo-b-cvmx2oxh33 1.2s infinite ease-out;
}

@keyframes pulseHalo-b-cvmx2oxh33 {
    0% { transform: scale(1); opacity: 0.4; }
    100% { transform: scale(1.6); opacity: 0; }
}

.qor-chart-tooltip[b-cvmx2oxh33] {
    position: absolute;
    transform: translateX(-50%);
    background: #0f172a;
    color: #ffffff;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 600;
    pointer-events: none;
    box-shadow: 0 6px 16px rgba(0,0,0,0.2);
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 10;
}

.qor-tooltip-month[b-cvmx2oxh33] {
    color: #94a3b8;
    font-size: 10px;
}

.qor-months-row[b-cvmx2oxh33] {
    display: flex;
    justify-content: space-between;
    padding: 8px 10px 0 35px;
}

.qor-month-label[b-cvmx2oxh33] {
    font-size: 11px;
    font-weight: 600;
    color: var(--erp-text-faint, #94a3b8);
}

.qor-chart-summary[b-cvmx2oxh33] {
    display: flex;
    align-items: center;
    justify-content: space-around;
    background: var(--erp-surface-2, #f8fafc);
    border-radius: 12px;
    padding: 12px 16px;
    margin-top: 16px;
    border: 1px solid var(--erp-border, #e2e8f0);
}

.qor-summary-stat[b-cvmx2oxh33] {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.qor-stat-lbl[b-cvmx2oxh33] {
    font-size: 11px;
    color: var(--erp-text-faint, #94a3b8);
    font-weight: 600;
    text-transform: uppercase;
}

.qor-stat-val[b-cvmx2oxh33] {
    font-size: 15px;
    font-weight: 700;
    color: var(--erp-text, #0f172a);
    margin-top: 2px;
}

.qor-summary-divider[b-cvmx2oxh33] {
    width: 1px;
    height: 24px;
    background: var(--erp-border, #e2e8f0);
}

/* Sales by Category Card */
.qor-badge-pill[b-cvmx2oxh33] {
    font-size: 11px;
    font-weight: 700;
    color: var(--erp-accent, #2563eb);
    background: var(--erp-accent-soft, #eff6ff);
    padding: 3px 10px;
    border-radius: 12px;
}

.qor-category-list[b-cvmx2oxh33] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 10px;
    flex: 1;
    justify-content: center;
}

.qor-category-item[b-cvmx2oxh33] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.qor-cat-info[b-cvmx2oxh33] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.qor-cat-color-dot[b-cvmx2oxh33] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.qor-cat-title[b-cvmx2oxh33] {
    font-weight: 600;
    color: var(--erp-text, #0f172a);
    flex: 1;
}

.qor-cat-amount[b-cvmx2oxh33] {
    font-size: 12px;
    color: var(--erp-text-muted, #64748b);
}

.qor-cat-pct[b-cvmx2oxh33] {
    font-size: 12px;
    font-weight: 700;
    color: var(--erp-text, #0f172a);
    width: 38px;
    text-align: right;
}

.qor-cat-bar-container[b-cvmx2oxh33] {
    height: 8px;
    border-radius: 4px;
    background: var(--erp-surface-2, #f1f5f9);
    overflow: hidden;
}

.qor-cat-bar-fill[b-cvmx2oxh33] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.5s ease;
}

.qor-cat-footer[b-cvmx2oxh33] {
    padding-top: 16px;
    margin-top: 12px;
    border-top: 1px dashed var(--erp-border, #e2e8f0);
}

.qor-cat-total[b-cvmx2oxh33] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: var(--erp-text-muted, #64748b);
}

.qor-cat-total strong[b-cvmx2oxh33] {
    font-size: 15px;
    color: var(--erp-text, #0f172a);
}

/* ── 4. Bottom Grid (Activity & Quick Actions) ── */
.qor-bottom-grid[b-cvmx2oxh33] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

/* Activity Feed */
.qor-act-filter-tabs[b-cvmx2oxh33] {
    display: flex;
    gap: 4px;
    background: var(--erp-surface-2, #f1f5f9);
    padding: 3px;
    border-radius: 8px;
}

.qor-act-tab[b-cvmx2oxh33] {
    border: none;
    background: transparent;
    font-size: 11px;
    font-weight: 600;
    color: var(--erp-text-muted, #64748b);
    padding: 4px 10px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.qor-act-tab:hover[b-cvmx2oxh33] {
    color: var(--erp-text, #0f172a);
}

.qor-act-tab.active[b-cvmx2oxh33] {
    background: var(--erp-surface, #ffffff);
    color: var(--erp-accent, #2563eb);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
}

.qor-activity-list[b-cvmx2oxh33] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 6px;
}

.qor-act-item[b-cvmx2oxh33] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: var(--erp-surface-2, #f8fafc);
    border: 1px solid var(--erp-border, #f1f5f9);
    transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.qor-act-item:hover[b-cvmx2oxh33] {
    transform: translateX(3px);
    background: var(--erp-surface, #ffffff);
    border-color: var(--erp-accent-soft, #e2e8f0);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.qor-act-icon[b-cvmx2oxh33] {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.qor-act-icon.pos[b-cvmx2oxh33] { background: rgba(16, 185, 129, 0.12); color: #10b981; }
.qor-act-icon.neg[b-cvmx2oxh33] { background: rgba(239, 68, 68, 0.12); color: #ef4444; }
.qor-act-icon.warn[b-cvmx2oxh33] { background: rgba(245, 158, 11, 0.12); color: #f59e0b; }
.qor-act-icon.accent[b-cvmx2oxh33] { background: rgba(59, 130, 246, 0.12); color: #3b82f6; }

.qor-act-content[b-cvmx2oxh33] {
    flex: 1;
    min-width: 0;
}

.qor-act-title-row[b-cvmx2oxh33] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.qor-act-title[b-cvmx2oxh33] {
    font-size: 13px;
    font-weight: 600;
    color: var(--erp-text, #0f172a);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qor-act-time[b-cvmx2oxh33] {
    font-size: 11px;
    color: var(--erp-text-faint, #94a3b8);
    white-space: nowrap;
}

.qor-act-sub-row[b-cvmx2oxh33] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 2px;
    font-size: 11px;
}

.qor-act-tag[b-cvmx2oxh33] {
    font-weight: 700;
    color: var(--erp-accent, #2563eb);
}

.qor-act-user[b-cvmx2oxh33] {
    color: var(--erp-text-muted, #64748b);
}

/* Quick Actions Grid */
.qor-actions-grid[b-cvmx2oxh33] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 6px;
}

.qor-action-btn[b-cvmx2oxh33] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #e2e8f0);
    cursor: pointer;
    text-align: left;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.qor-action-btn:hover[b-cvmx2oxh33] {
    transform: translateY(-2px);
    border-color: var(--erp-accent, #2563eb);
    box-shadow: 0 8px 18px -4px rgba(37, 99, 235, 0.12);
    background: var(--erp-accent-soft, #eff6ff);
}

.qor-action-btn:hover .qor-action-arrow[b-cvmx2oxh33] {
    opacity: 1;
    transform: translateX(0);
}

.qor-action-icon-box[b-cvmx2oxh33] {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.qor-action-text[b-cvmx2oxh33] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.qor-action-name[b-cvmx2oxh33] {
    font-size: 13px;
    font-weight: 700;
    color: var(--erp-text, #0f172a);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qor-action-desc[b-cvmx2oxh33] {
    font-size: 11px;
    color: var(--erp-text-faint, #94a3b8);
    margin-top: 1px;
}

.qor-action-arrow[b-cvmx2oxh33] {
    font-size: 14px;
    color: var(--erp-accent, #2563eb);
    opacity: 0;
    transform: translateX(-6px);
    transition: all 0.2s ease;
}

/* ── Responsive Breakpoints ── */
@media (max-width: 1200px) {
    .qor-kpis[b-cvmx2oxh33] { grid-template-columns: repeat(2, 1fr); }
    .qor-charts-grid[b-cvmx2oxh33] { grid-template-columns: 1fr; }
    .qor-bottom-grid[b-cvmx2oxh33] { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .qor-kpis[b-cvmx2oxh33] { grid-template-columns: 1fr; }
    .qor-actions-grid[b-cvmx2oxh33] { grid-template-columns: 1fr; }
    .qor-head[b-cvmx2oxh33] { flex-direction: column; align-items: flex-start; }
    .qor-head-actions[b-cvmx2oxh33] { width: 100%; flex-wrap: wrap; }
}
/* /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 */
/* =========================================================
   QoR-ERP — Premium Dashboard (Index.razor.css)
   ========================================================= */

.dash-page[b-wmcbqpc4sx] {
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    min-height: calc(100vh - 60px);
    background: var(--bg-page, #f0f2f8);
}

/* ── Shared card base ── */
.dash-card[b-wmcbqpc4sx] {
    background: #ffffff;
    border-radius: 18px;
    padding: 22px 24px;
    box-shadow: 0 2px 20px rgba(0, 20, 80, 0.06);
    border: 1px solid rgba(0, 20, 80, 0.05);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.card-head[b-wmcbqpc4sx] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.card-title[b-wmcbqpc4sx] {
    font-size: 14px;
    font-weight: 700;
    color: #0a0e1f;
    letter-spacing: 0.01em;
}

.card-sub[b-wmcbqpc4sx] {
    font-size: 12px;
    color: #8fa0bb;
    margin-top: 2px;
}

.view-all-link[b-wmcbqpc4sx] {
    font-size: 12px;
    font-weight: 600;
    color: var(--accent, #5b4df3);
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.15s;
}

.view-all-link:hover[b-wmcbqpc4sx] { opacity: 0.75; }

/* =========================================================
   KPI Row
   ========================================================= */
.kpi-row[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.kpi-card[b-wmcbqpc4sx] {
    border-radius: 18px;
    padding: 20px 22px 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    position: relative;
    overflow: hidden;
    min-height: 148px;
    box-shadow: 0 4px 24px rgba(0, 20, 80, 0.1);
}

/* Gradient themes */
.kpi-violet[b-wmcbqpc4sx] { background: linear-gradient(135deg, #5b4df3, #7c6ef7); }
.kpi-cyan[b-wmcbqpc4sx]   { background: linear-gradient(135deg, #0284c7, #00b4d8); }
.kpi-emerald[b-wmcbqpc4sx]{ background: linear-gradient(135deg, #059669, #16c784); }
.kpi-amber[b-wmcbqpc4sx]  { background: linear-gradient(135deg, #d97706, #f59e0b); }

.kpi-top[b-wmcbqpc4sx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.kpi-icon[b-wmcbqpc4sx] {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.18);
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 18px;
}

.kpi-badge[b-wmcbqpc4sx] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

.kpi-value[b-wmcbqpc4sx] {
    font-size: 26px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.5px;
    line-height: 1.1;
    margin-top: 4px;
}

.kpi-label[b-wmcbqpc4sx] {
    font-size: 12px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.72);
    letter-spacing: 0.02em;
}

.kpi-spark[b-wmcbqpc4sx] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 46px;
    opacity: 0.35;
}

.kpi-spark polyline[b-wmcbqpc4sx] {
    fill: none;
    stroke: #fff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================================
   Middle Row
   ========================================================= */
.mid-row[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 18px;
}

/* Revenue chart */
.revenue-card[b-wmcbqpc4sx] { gap: 10px; }

.chart-legend[b-wmcbqpc4sx] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.chart-legend span[b-wmcbqpc4sx] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #6e7e95;
    font-weight: 500;
}

.dot[b-wmcbqpc4sx] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.dot.violet[b-wmcbqpc4sx] { background: var(--accent, #5b4df3); }
.dot.cyan[b-wmcbqpc4sx]   { background: #00b4d8; }
.dot.amber[b-wmcbqpc4sx]  { background: #f59e0b; }
.dot.emerald[b-wmcbqpc4sx]{ background: #16c784; }

.revenue-chart-wrap[b-wmcbqpc4sx] { flex: 1; overflow: hidden; }

.revenue-svg[b-wmcbqpc4sx] {
    width: 100%;
    height: 180px;
    display: block;
}

.grid-lines line[b-wmcbqpc4sx] {
    stroke: rgba(0, 20, 80, 0.06);
    stroke-width: 1;
}

.rev-fill[b-wmcbqpc4sx] {
    fill: url(#revFill);
}

.rev-line[b-wmcbqpc4sx] {
    fill: none;
    stroke: var(--accent, #5b4df3);
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tgt-line[b-wmcbqpc4sx] {
    fill: none;
    stroke: #00b4d8;
    stroke-width: 1.5;
    stroke-dasharray: 5 4;
    stroke-linecap: round;
}

.prev-line[b-wmcbqpc4sx] {
    fill: none;
    stroke: #f59e0b;
    stroke-width: 1.5;
    stroke-dasharray: 3 3;
}

.rev-dot[b-wmcbqpc4sx] {
    fill: var(--accent, #5b4df3);
    stroke: #fff;
    stroke-width: 2;
}

/* Activity feed */
.activity-list[b-wmcbqpc4sx] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.activity-list li[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: 8px 1fr auto;
    align-items: start;
    gap: 10px;
    font-size: 13px;
    color: #384659;
}

.act-dot[b-wmcbqpc4sx] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-top: 4px;
    flex-shrink: 0;
}

.act-dot.violet[b-wmcbqpc4sx]  { background: var(--accent, #5b4df3); }
.act-dot.cyan[b-wmcbqpc4sx]    { background: #00b4d8; }
.act-dot.emerald[b-wmcbqpc4sx] { background: #16c784; }
.act-dot.amber[b-wmcbqpc4sx]   { background: #f59e0b; }

.activity-list strong[b-wmcbqpc4sx] { font-weight: 700; color: #0a0e1f; }
.activity-list a[b-wmcbqpc4sx] { color: var(--accent, #5b4df3); text-decoration: none; font-weight: 600; }
.activity-list a:hover[b-wmcbqpc4sx] { text-decoration: underline; }
.activity-list small[b-wmcbqpc4sx] { color: #9aa7bf; font-size: 11px; white-space: nowrap; margin-top: 1px; }

/* =========================================================
   Module Shortcuts
   ========================================================= */
.shortcuts-row[b-wmcbqpc4sx] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.shortcuts-label[b-wmcbqpc4sx] {
    font-size: 11px;
    font-weight: 700;
    color: #9aa7bf;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-family: 'Space Mono', monospace;
}

.shortcuts-grid[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 12px;
}

.shortcut-tile[b-wmcbqpc4sx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 10px;
    border-radius: 14px;
    text-decoration: none;
    font-size: 11.5px;
    font-weight: 600;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    cursor: pointer;
}

.shortcut-tile:hover[b-wmcbqpc4sx] {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 40, 0.14);
    text-decoration: none;
}

.shortcut-tile i[b-wmcbqpc4sx] {
    font-size: 22px;
    line-height: 1;
}

/* Colour themes */
.sc-violet[b-wmcbqpc4sx]  { background: linear-gradient(135deg, #ede9fe, #ddd6fe); color: #5b4df3; }
.sc-violet i[b-wmcbqpc4sx]{ color: #5b4df3; }

.sc-blue[b-wmcbqpc4sx]    { background: linear-gradient(135deg, #dbeafe, #bfdbfe); color: #1d4ed8; }
.sc-blue i[b-wmcbqpc4sx]  { color: #1d4ed8; }

.sc-cyan[b-wmcbqpc4sx]    { background: linear-gradient(135deg, #cffafe, #a5f3fc); color: #0e7490; }
.sc-cyan i[b-wmcbqpc4sx]  { color: #0e7490; }

.sc-emerald[b-wmcbqpc4sx] { background: linear-gradient(135deg, #d1fae5, #a7f3d0); color: #059669; }
.sc-emerald i[b-wmcbqpc4sx]{ color: #059669; }

.sc-amber[b-wmcbqpc4sx]   { background: linear-gradient(135deg, #fef3c7, #fde68a); color: #d97706; }
.sc-amber i[b-wmcbqpc4sx] { color: #d97706; }

.sc-rose[b-wmcbqpc4sx]    { background: linear-gradient(135deg, #ffe4e6, #fecdd3); color: #e11d48; }
.sc-rose i[b-wmcbqpc4sx]  { color: #e11d48; }

.sc-indigo[b-wmcbqpc4sx]  { background: linear-gradient(135deg, #e0e7ff, #c7d2fe); color: #4338ca; }
.sc-indigo i[b-wmcbqpc4sx]{ color: #4338ca; }

.sc-teal[b-wmcbqpc4sx]    { background: linear-gradient(135deg, #ccfbf1, #99f6e4); color: #0d9488; }
.sc-teal i[b-wmcbqpc4sx]  { color: #0d9488; }

/* =========================================================
   Bottom Row
   ========================================================= */
.btm-row[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding-bottom: 24px;
}

/* Product list */
.product-list[b-wmcbqpc4sx] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.product-list li[b-wmcbqpc4sx] {
    display: grid;
    grid-template-columns: 26px 1fr 100px auto;
    align-items: center;
    gap: 12px;
    font-size: 13px;
}

.prod-rank[b-wmcbqpc4sx] {
    width: 24px;
    height: 24px;
    border-radius: 7px;
    background: rgba(0, 20, 80, 0.05);
    display: grid;
    place-items: center;
    font-size: 11px;
    font-weight: 700;
    color: #6e7e95;
}

.prod-info[b-wmcbqpc4sx] { display: flex; flex-direction: column; }
.prod-info strong[b-wmcbqpc4sx] { font-size: 13px; font-weight: 600; color: #0a0e1f; }
.prod-info small[b-wmcbqpc4sx]  { font-size: 11px; color: #9aa7bf; margin-top: 1px; }

.prod-bar-wrap[b-wmcbqpc4sx] {
    height: 6px;
    background: rgba(0, 20, 80, 0.06);
    border-radius: 999px;
    overflow: hidden;
}

.prod-bar[b-wmcbqpc4sx] {
    height: 100%;
    background: linear-gradient(90deg, var(--accent, #5b4df3), #00b4d8);
    border-radius: 999px;
    transition: width 0.6s ease;
}

.product-list b[b-wmcbqpc4sx] {
    font-size: 13px;
    font-weight: 700;
    color: #0a0e1f;
    text-align: right;
    white-space: nowrap;
}

/* Weekly stack chart */
.stack-chart[b-wmcbqpc4sx] {
    display: flex;
    align-items: flex-end;
    justify-content: space-around;
    gap: 8px;
    height: 150px;
}

.stack-day[b-wmcbqpc4sx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    flex: 1;
}

.stack-bars[b-wmcbqpc4sx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
    height: 120px;
}

.stack-bars i[b-wmcbqpc4sx] {
    display: block;
    width: 18px;
    border-radius: 4px;
    transition: height 0.4s ease;
    font-style: normal;
}

.bar-violet[b-wmcbqpc4sx] { background: var(--accent, #5b4df3); opacity: 0.85; }
.bar-amber[b-wmcbqpc4sx]  { background: #f59e0b; opacity: 0.75; }
.bar-cyan[b-wmcbqpc4sx]   { background: #00b4d8; opacity: 0.75; }

.stack-day span[b-wmcbqpc4sx] {
    font-size: 11px;
    color: #9aa7bf;
    font-weight: 500;
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1200px) {
    .shortcuts-grid[b-wmcbqpc4sx] { grid-template-columns: repeat(4, 1fr); }
    .kpi-row[b-wmcbqpc4sx]         { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .mid-row[b-wmcbqpc4sx] { grid-template-columns: 1fr; }
    .btm-row[b-wmcbqpc4sx] { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .dash-page[b-wmcbqpc4sx]       { padding: 14px; gap: 14px; }
    .kpi-row[b-wmcbqpc4sx]         { grid-template-columns: 1fr 1fr; gap: 12px; }
    .shortcuts-grid[b-wmcbqpc4sx]  { grid-template-columns: repeat(4, 1fr); }
}
/* /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/AlHistoryInput.razor.rz.scp.css */
.alh-wrapper[b-wiybqhagqy] {
    position: relative;
}

.alh-menu[b-wiybqhagqy] {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    z-index: 1200;
    margin: 0;
    padding: 4px 0;
    list-style: none;
    max-height: 260px;
    overflow-y: auto;
    background: var(--erp-surface, #fff);
    border: 1px solid var(--erp-border, #d0d5dd);
    border-radius: 6px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
}

.alh-item[b-wiybqhagqy] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    font-size: .85rem;
    color: var(--erp-text, #1d2939);
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.alh-item:hover[b-wiybqhagqy],
.alh-item.active[b-wiybqhagqy] {
    background: var(--erp-primary-soft, #eef2ff);
}

.alh-ico[b-wiybqhagqy] {
    font-size: .8rem;
    color: var(--erp-muted, #98a2b3);
    flex: 0 0 auto;
}
/* /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 blends dynamically with active theme surface-2 */
    .erp-mc-input:disabled[b-k9jyx0w6l6] {
        background-color: var(--erp-surface-2, #f5f7fa) !important;
        border-color: var(--erp-border, #cbd5e1) !important;
        color: var(--erp-text, #000000) !important;
    }

/* =========================================================
   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 */
/* =========================================================
   QoR-ERP — MultiLevelMenu (Redesigned)
   Sleek executive navigation tree with vertical guide lines,
   active indicator pills, smooth micro-animations, and theme support.
   ========================================================= */

.multi-level-menu[b-id4g0yherc] {
    list-style: none;
    width: 100%;
    padding: 0;
    margin: 0;
}

/* ── Section Header Labels ── */
.multi-level-menu.menu-root[b-id4g0yherc]::before {
    content: attr(data-section-label);
    display: block;
    padding: 18px 20px 6px;
    color: var(--erp-sidebar-text-muted, #94a3b8);
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    pointer-events: none;
}

.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;
}

/* Collapsed mode hides labels, titles, chevrons, dots, nested items */
.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 .menu-dot[b-id4g0yherc],
.multi-level-menu.is-collapsed .submenu-container[b-id4g0yherc],
.multi-level-menu.is-collapsed .nav-link.nested[b-id4g0yherc] {
    display: none;
}

/* ── Root Nav Links (Depth 0) ── */
.nav-link[b-id4g0yherc] {
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 2px 10px;
    padding: 0 12px;
    border: 0;
    border-radius: 10px;
    color: var(--erp-sidebar-text, #475569);
    cursor: pointer;
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.nav-link:hover[b-id4g0yherc] {
    color: var(--erp-sidebar-title, #0f172a);
    background: var(--erp-sidebar-hover, rgba(15, 23, 42, 0.04));
    text-decoration: none;
    transform: translateX(2px);
}

/* Active Item Styling */
.nav-link.active[b-id4g0yherc] {
    color: var(--erp-sidebar-active-text, #2563eb);
    background: var(--erp-sidebar-active-bg, rgba(37, 99, 235, 0.1));
    font-weight: 700;
}

/* Left Accent Indicator Bar for Active Link */
.nav-link.active[b-id4g0yherc]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 15%;
    height: 70%;
    width: 3.5px;
    border-radius: 0 4px 4px 0;
    background: var(--erp-sidebar-active-text, #2563eb);
}

/* Active Parent Header */
.active-parent[b-id4g0yherc] {
    min-height: 40px;
    color: var(--erp-sidebar-title, #0f172a);
    background: var(--erp-sidebar-hover, rgba(15, 23, 42, 0.03));
    border-radius: 10px;
    margin: 2px 10px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    transition: all 0.18s ease;
    position: relative;
}

.active-parent:hover[b-id4g0yherc] {
    color: var(--erp-sidebar-title, #0f172a);
    background: var(--erp-sidebar-hover, rgba(15, 23, 42, 0.06));
}

/* ── Menu Icons (Depth 0) ── */
.menu-icon[b-id4g0yherc] {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    font-size: 16px;
    line-height: 1;
    transition: transform 0.18s ease;
}

.nav-link:hover .menu-icon[b-id4g0yherc] {
    transform: scale(1.1);
}

/* ── Nested Dot (Depth ≥ 1) ── */
.menu-dot[b-id4g0yherc] {
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--erp-sidebar-dot, #cbd5e1);
    transition: all 0.18s ease;
}

.nav-link.nested:hover .menu-dot[b-id4g0yherc] {
    background: var(--erp-sidebar-title, #0f172a);
    transform: scale(1.3);
}

.nav-link.nested.active .menu-dot[b-id4g0yherc] {
    background: var(--erp-sidebar-active-text, #2563eb);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
}

/* ── Menu Title ── */
.menu-title[b-id4g0yherc] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -0.1px;
}

/* ── Chevron Indicator ── */
.menu-chevron[b-id4g0yherc] {
    flex: 0 0 auto;
    color: inherit;
    opacity: 0.6;
    font-size: 11px;
    transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.active-parent .menu-chevron[b-id4g0yherc] {
    transform: rotate(90deg);
    opacity: 0.9;
}

/* ── Submenu Tree Container with Vertical Guide Line ── */
.submenu-container[b-id4g0yherc] {
    overflow: hidden;
    position: relative;
    margin-left: 10px;
    padding-left: 2px;
    animation: slideSubmenu-b-id4g0yherc 0.16s ease-out;
}

.submenu-container[b-id4g0yherc]::before {
    content: '';
    position: absolute;
    top: 2px;
    bottom: 4px;
    left: 2px;
    width: 1px;
    background: var(--erp-sidebar-border, rgba(226, 232, 240, 0.25));
}

.submenu-container .multi-level-menu[b-id4g0yherc] { margin-bottom: 0; }
.submenu-container .multi-level-menu[b-id4g0yherc]::before { display: none; }

/* ── Nested Child Rows ── */
.nav-link.nested[b-id4g0yherc] {
    min-height: 30px;
    margin: 1px 2px;
    padding: 0 8px;
    color: var(--erp-sidebar-text, #64748b);
    font-size: 12.5px;
    font-weight: 500;
    border-radius: 6px;
}

.nav-link.nested:hover[b-id4g0yherc] {
    color: var(--erp-sidebar-title, #0f172a);
    background: var(--erp-sidebar-hover, rgba(15, 23, 42, 0.04));
}

.nav-link.nested.active[b-id4g0yherc] {
    color: var(--erp-sidebar-active-text, #2563eb);
    background: var(--erp-sidebar-active-bg, rgba(37, 99, 235, 0.1));
    font-weight: 700;
}

/* ── Collapsed (Icon-Only) Mode ── */
.multi-level-menu.is-collapsed .nav-link[b-id4g0yherc],
.multi-level-menu.is-collapsed > .nav-item > .active-parent[b-id4g0yherc] {
    justify-content: center;
    min-height: 44px;
    padding: 0 !important;
    margin-inline: 8px;
    border-radius: 12px;
    overflow: visible;
}

.multi-level-menu.is-collapsed .nav-link .menu-icon[b-id4g0yherc] {
    font-size: 18px;
}

.menu-section-divider[b-id4g0yherc] {
    height: 1px;
    margin: 12px 18px;
    background: var(--erp-sidebar-border, rgba(226, 232, 240, 0.6));
}

@keyframes slideSubmenu-b-id4g0yherc {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}
/* /Components/Shared/PageToolbar.razor.rz.scp.css */
.erp-toolbar-title[b-lzvrhf8cgm] {
    font-size: 1rem;
    line-height: 1.2;
}

/* Keep action buttons compact and aligned. */
.erp-toolbar-actions .btn[b-lzvrhf8cgm] {
    white-space: nowrap;
}

/* On narrow screens let the action group wrap below the title. */
@media (max-width: 575.98px) {
    .erp-toolbar-actions[b-lzvrhf8cgm] {
        margin-left: 0 !important;
        width: 100%;
    }
}
/* /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;
    scrollbar-gutter: stable;
    /* ✅ 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;
    color: #111827;
    border-bottom: 0 !important;
    position: sticky;
    top: 0;
    z-index: 20;
    width: max-content;
    min-width: 100%;
}

.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) --- */
/* ================================================================= */

.selector-col[b-bzn1cuwr8l],
.fixed-col[b-bzn1cuwr8l] {
    position: sticky;
    left: 0;
    z-index: 12;
    background-color: #ffffff;
}

.grid-header .selector-col[b-bzn1cuwr8l],
.grid-header .fixed-col[b-bzn1cuwr8l] {
    z-index: 25;
    background-color: #f8f9fa;
}

.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;
}
