@import '_content/BAComponents/BAComponents.n3sqma514z.bundle.scp.css';

/* /Pages/index.razor.rz.scp.css */
.welcome-section[b-qfurkgx2p1] {
    text-align: center;
    padding: 28px 20px;
}

.top-panel[b-qfurkgx2p1] {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    padding: 10px;
    background-color: #f8f9fa;
}

.login-button-container[b-qfurkgx2p1] {
    align-self: center;
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.welcome-section h1[b-qfurkgx2p1] {
    font-size: 32px;
    margin-bottom: 10px;
}

.welcome-section p[b-qfurkgx2p1] {
    font-size: 18px;
    margin-bottom: 20px;
}

.login-button-index[b-qfurkgx2p1] {
    /* QSalesView keeps the same home-button pattern as QClock while using a sales-report accent. */
    background-color: #0f5d7e;
    border: none;
    color: white;
    padding: 15px 30px;
    text-align: center;
    text-decoration: none;
    font-size: 18px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    border-radius: 5px;
    font-family: Arial, sans-serif;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
}

.login-button-index:hover[b-qfurkgx2p1] {
    background-color: #0b4862;
}

.settings-link-container[b-qfurkgx2p1] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

.settings-link-container TelerikButton[b-qfurkgx2p1] {
    display: inline-block;
}

.settings-link-container a[b-qfurkgx2p1] {
    color: #0f5d7e;
    font-weight: 700;
    text-decoration: none;
}

/* Authenticated Home uses a compact dashboard shell so charts feel like one product surface. */
.qsv-home-shell[b-qfurkgx2p1] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: #172033;
}

/* The Home header gives managers a professional dashboard entry without delaying access to the KPIs. */
.qsv-home-header[b-qfurkgx2p1] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid #d9e2ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

/* The eyebrow keeps the product name visible without using a large marketing-style hero. */
.qsv-home-eyebrow[b-qfurkgx2p1] {
    display: block;
    margin-bottom: 3px;
    color: #2563eb;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

/* Home title sizing stays operational so charts remain visible in the first viewport. */
.qsv-home-header h1[b-qfurkgx2p1] {
    margin: 0;
    color: #0f172a;
    font-size: 1.7rem;
    line-height: 1.15;
}

/* The date range acts as context, not a second heading. */
.qsv-home-header p[b-qfurkgx2p1] {
    margin: 4px 0 0;
    color: #64748b;
}

/* The status pill makes the current sales and growth readable during support calls. */
.qsv-home-status[b-qfurkgx2p1] {
    display: grid;
    gap: 2px;
    min-width: 260px;
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

/* Status labels stay quiet so the dashboard metric remains dominant. */
.qsv-home-status span[b-qfurkgx2p1] {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
}

/* The compact metric line can wrap if currency formatting is long. */
.qsv-home-status strong[b-qfurkgx2p1] {
    overflow-wrap: anywhere;
    color: #111827;
    font-size: 0.95rem;
}

/* The KPI strip keeps the inherited GenericCard layout while tightening vertical rhythm. */
.qsv-kpi-strip[b-qfurkgx2p1] {
    padding: 0;
}

/* The chart grid adds more visual analysis while preserving a clean scan path. */
.qsv-chart-grid[b-qfurkgx2p1] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 10px;
}

/* A wide panel is used only for the primary trend because it benefits from horizontal space. */
.qsv-chart-panel-wide[b-qfurkgx2p1] {
    grid-column: 1 / -1;
}

/* Chart panels use one clean frame each; they are not nested inside other cards. */
.qsv-chart-panel[b-qfurkgx2p1] {
    min-height: 390px;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}

/* Chart headers separate the analytical label from the chart title. */
.qsv-chart-panel header[b-qfurkgx2p1] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 10px;
}

/* Small section labels make each chart easier to classify at a glance. */
.qsv-chart-panel header span[b-qfurkgx2p1] {
    display: block;
    color: #2563eb;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

/* Chart titles are sized for dense dashboard panels. */
.qsv-chart-panel h2[b-qfurkgx2p1] {
    margin: 2px 0 0;
    color: #111827;
    font-size: 1.05rem;
    line-height: 1.3;
}

/* Header notes stay muted so they do not compete with the chart title. */
.qsv-chart-panel small[b-qfurkgx2p1] {
    color: #64748b;
    font-size: 0.8rem;
    white-space: nowrap;
}

/* Chart containers get predictable height so Telerik plots do not collapse during refresh. */
.qsv-chart-panel .chart-and-counts[b-qfurkgx2p1] {
    margin: 8px 0 0;
    min-height: 320px;
}

/* Product and comparison charts need less vertical room than the primary trend on narrow dashboards. */
.qsv-chart-panel-comparison[b-qfurkgx2p1],
.qsv-chart-panel-products[b-qfurkgx2p1] {
    min-height: 360px;
}

/* Tablet screens keep professional spacing while reducing each chart to one column. */
@media (max-width: 1100px) {
    .qsv-chart-grid[b-qfurkgx2p1] {
        grid-template-columns: 1fr;
    }
}

/* Phone screens stack the status panel below the title and let all notes wrap. */
@media (max-width: 640px) {
    .qsv-home-header[b-qfurkgx2p1] {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .qsv-home-status[b-qfurkgx2p1] {
        min-width: 0;
    }

    .qsv-chart-panel header[b-qfurkgx2p1] {
        flex-direction: column;
    }

    .qsv-chart-panel small[b-qfurkgx2p1] {
        white-space: normal;
    }

    .qsv-chart-panel[b-qfurkgx2p1] {
        min-height: 0;
        padding: 12px;
    }

    /* Phone charts use component-side density reduction, so the panel should not add extra plot height. */
    .qsv-chart-panel .chart-and-counts[b-qfurkgx2p1] {
        min-height: 250px;
    }

    .qsv-chart-panel-comparison .chart-and-counts[b-qfurkgx2p1] {
        min-height: 210px;
    }
}
/* /Pages/Items.razor.rz.scp.css */

/* The stock lookup renders as its own panel so it does not read as another row inside the item list. */
.items-stock-panel[b-mybjrfvjfe] {
    border: 1px solid #d6dbe3;
    border-radius: 8px;
    margin-top: 1rem;
    outline: none;
    overflow: hidden;
    background: #ffffff;
}

/* Keyboard focus should be visible without adding a heavy box around the stock result area. */
.items-stock-panel:focus-visible[b-mybjrfvjfe] {
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
}

/* The panel header gives the selected item context while keeping the table/list below visually separate. */
.items-stock-panel-header[b-mybjrfvjfe] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #e4e7ec;
    background: #f8fafc;
}

.items-stock-panel-header h2[b-mybjrfvjfe] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
}

.items-stock-panel-header p[b-mybjrfvjfe] {
    margin: 0.3rem 0 0;
    color: #46505f;
}

/* Body padding keeps desktop grids and phone stock cards from touching the panel border. */
.items-stock-panel-body[b-mybjrfvjfe] {
    padding: 0.75rem 1rem 0.9rem;
}

/* Column controls belong to the stock panel, not to the main item list controls. */
.items-stock-panel-options[b-mybjrfvjfe] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0 1rem 0.9rem;
}

@media (max-width: 768px) {
    .items-stock-panel[b-mybjrfvjfe] {
        border-radius: 6px;
    }

    .items-stock-panel-header[b-mybjrfvjfe],
    .items-stock-panel-body[b-mybjrfvjfe],
    .items-stock-panel-options[b-mybjrfvjfe] {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}
/* /Pages/ManagerDashboard.razor.rz.scp.css */
/* Manager dashboard polish keeps the new reports visually separate from older report pages. */
.manager-shell[b-u2yligtahe] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: #172033;
}

/* The hero creates a first-viewport signal that this is a manager-facing surface. */
.manager-hero[b-u2yligtahe] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: stretch;
    padding: 20px;
    border: 1px solid #d9e2ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

/* Hero copy is intentionally compact so the data remains above the fold. */
.manager-hero-copy h1[b-u2yligtahe] {
    margin: 4px 0;
    font-size: 2rem;
    line-height: 1.15;
}

/* The eyebrow gives the page product context without adding marketing clutter. */
.manager-eyebrow[b-u2yligtahe] {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #2563eb;
}

/* The status panel is built for support calls and quick manager confidence. */
.manager-status-panel[b-u2yligtahe] {
    display: grid;
    gap: 12px;
    min-width: 240px;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

/* Status labels stay small so the values are easier to scan. */
.manager-status-label[b-u2yligtahe] {
    display: block;
    font-size: 0.78rem;
    color: #64748b;
}

/* Positive connection status uses a restrained green. */
.manager-status-ok[b-u2yligtahe] {
    color: #15803d;
}

/* Waiting status uses amber so it does not look like a fatal error before loading. */
.manager-status-waiting[b-u2yligtahe] {
    color: #b45309;
}

/* The toolbar uses stable grid columns so filters do not jump around. */
.manager-toolbar[b-u2yligtahe] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: end;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}

/* Date labels stay close to their input controls for repeated filtering. */
.manager-date-field[b-u2yligtahe] {
    display: grid;
    gap: 4px;
}

/* Date labels use a quiet style that matches operational screens. */
.manager-date-field label[b-u2yligtahe] {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 700;
    color: #475569;
}

/* Tabs use buttons so the dashboard does not depend on a separate component pattern. */
.manager-tabs[b-u2yligtahe] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 6px;
    border: 1px solid #dbe4ef;
    border-radius: 8px;
    background: #f8fafc;
}

/* Inactive tabs stay quiet and compact. */
.manager-tab[b-u2yligtahe] {
    border: 0;
    border-radius: 6px;
    padding: 9px 14px;
    background: transparent;
    color: #475569;
    font-weight: 700;
    cursor: pointer;
}

/* Active tabs are high contrast without introducing a new palette. */
.manager-tab.active[b-u2yligtahe] {
    background: #0f172a;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.16);
}

/* Report panels are un-nested page surfaces rather than decorative cards inside cards. */
.manager-report-panel[b-u2yligtahe] {
    display: grid;
    gap: 16px;
}

/* KPI cards use a dense responsive grid for the owner dashboard. */
.manager-kpi-grid[b-u2yligtahe] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

/* KPI cards have fixed structure so values do not shift the layout. */
.manager-kpi-card[b-u2yligtahe] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 6px 10px;
    align-items: center;
    min-height: 118px;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}

/* KPI icons give each measure a quick visual anchor. */
.manager-kpi-icon[b-u2yligtahe] {
    grid-row: span 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eff6ff;
    color: #2563eb;
}

/* KPI labels are compact so the value is the dominant text. */
.manager-kpi-title[b-u2yligtahe] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #64748b;
}

/* KPI values use dashboard-scale type but stay within the card. */
.manager-kpi-card strong[b-u2yligtahe] {
    overflow-wrap: anywhere;
    font-size: 1.45rem;
    line-height: 1.15;
}

/* KPI details show context without competing with the value. */
.manager-kpi-card small[b-u2yligtahe] {
    color: #64748b;
}

/* Tone classes add meaning while keeping the dashboard multi-color and restrained. */
.tone-blue .manager-kpi-icon[b-u2yligtahe],
.manager-attention-card.tone-blue[b-u2yligtahe] {
    background: #eff6ff;
    color: #1d4ed8;
}

/* Green marks positive sales signals. */
.tone-green .manager-kpi-icon[b-u2yligtahe],
.manager-attention-card.tone-green[b-u2yligtahe] {
    background: #ecfdf5;
    color: #15803d;
}

/* Red marks negative movement or missing data. */
.tone-red .manager-kpi-icon[b-u2yligtahe],
.manager-attention-card.tone-red[b-u2yligtahe] {
    background: #fef2f2;
    color: #b91c1c;
}

/* Amber marks review-needed signals. */
.tone-amber .manager-kpi-icon[b-u2yligtahe],
.manager-attention-card.tone-amber[b-u2yligtahe] {
    background: #fffbeb;
    color: #b45309;
}

/* Teal and slate provide neutral contrast across the KPI set. */
.tone-teal .manager-kpi-icon[b-u2yligtahe] {
    background: #f0fdfa;
    color: #0f766e;
}

.tone-slate .manager-kpi-icon[b-u2yligtahe] {
    background: #f1f5f9;
    color: #334155;
}

/* Two-column report sections collapse cleanly on narrower screens. */
.manager-two-column[b-u2yligtahe] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

/* Visual panels frame charts without nesting them inside decorative page cards. */
.manager-visual-panel[b-u2yligtahe],
.manager-table-panel[b-u2yligtahe] {
    min-width: 0;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}

/* Restricted panels explain missing finance charts without exposing profit or cost data. */
.manager-permission-panel[b-u2yligtahe] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 16px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #334155;
}

/* Permission headings are compact because this panel appears inside a report tab. */
.manager-permission-panel strong[b-u2yligtahe] {
    display: block;
    margin-bottom: 4px;
    font-size: 1rem;
}

/* Permission copy wraps safely on small dashboard screens. */
.manager-permission-panel p[b-u2yligtahe] {
    margin: 0;
    overflow-wrap: anywhere;
}

/* Page-level permission panels span the full report width when manager access is denied. */
.manager-permission-panel-page[b-u2yligtahe] {
    min-height: 120px;
}

/* Panel headings keep chart context tight and readable. */
.manager-panel-heading[b-u2yligtahe] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

/* Panel subtitles are small operational labels. */
.manager-panel-heading span[b-u2yligtahe] {
    display: block;
    font-size: 0.78rem;
    color: #64748b;
}

/* Table panel headings follow the same compact report style. */
.manager-table-panel h2[b-u2yligtahe] {
    margin: 0 0 10px;
    font-size: 1rem;
}

/* Attention cards are simple action prompts based on report data. */
.manager-attention-grid[b-u2yligtahe] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

/* Each attention card keeps label, title, and detail in predictable positions. */
.manager-attention-card[b-u2yligtahe] {
    min-height: 132px;
    padding: 14px;
    border: 1px solid currentColor;
    border-radius: 8px;
}

/* Attention labels are intentionally compact. */
.manager-attention-card span[b-u2yligtahe] {
    display: block;
    margin-bottom: 8px;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

/* Attention titles carry the primary action signal. */
.manager-attention-card strong[b-u2yligtahe] {
    display: block;
    margin-bottom: 6px;
    font-size: 1.05rem;
}

/* Attention details avoid long line lengths on wide screens. */
.manager-attention-card p[b-u2yligtahe] {
    margin: 0;
    color: #334155;
}

/* The manager grid keeps Telerik tables aligned with the newer dashboard shell. */
.manager-grid[b-u2yligtahe] {
    border-radius: 8px;
    overflow: hidden;
}

/* Medium screens switch the dense dashboard to two columns. */
@media (max-width: 1200px) {
    .manager-kpi-grid[b-u2yligtahe],
    .manager-attention-grid[b-u2yligtahe] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Tablets use one column for charts and preserve readable card sizes. */
@media (max-width: 900px) {
    .manager-hero[b-u2yligtahe],
    .manager-two-column[b-u2yligtahe] {
        grid-template-columns: 1fr;
    }

    .manager-status-panel[b-u2yligtahe] {
        min-width: 0;
    }
}

/* Phones use a single data column and full-width actions. */
@media (max-width: 640px) {
    /* Phone spacing is tighter so the first report content appears without a large blank area. */
    .manager-shell[b-u2yligtahe] {
        gap: 12px;
    }

    /* The hero stacks cleanly and avoids desktop-size padding on physical phones. */
    .manager-hero[b-u2yligtahe] {
        padding: 14px;
    }

    /* Date inputs need the full phone width because Telerik date pickers have fixed inner controls. */
    .manager-date-field[b-u2yligtahe],
    .manager-date-field .k-datepicker[b-u2yligtahe] {
        width: 100%;
    }

    .manager-kpi-grid[b-u2yligtahe],
    .manager-attention-grid[b-u2yligtahe] {
        grid-template-columns: 1fr;
    }

    .manager-toolbar .k-button[b-u2yligtahe] {
        width: 100%;
    }

    /* Report tabs scroll horizontally instead of wrapping into a tall block above the charts. */
    .manager-tabs[b-u2yligtahe] {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Individual tabs stay readable while the tab row scrolls on small screens. */
    .manager-tab[b-u2yligtahe] {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    /* Chart panels stay within the phone viewport because the component now reduces chart density. */
    .manager-visual-panel[b-u2yligtahe] {
        overflow: hidden;
        padding: 10px;
    }

    /* Compact charts use the available width instead of forcing unreadable sideways scrolling. */
    .manager-visual-panel .k-chart[b-u2yligtahe] {
        width: 100%;
        min-width: 0;
        min-height: 300px;
    }

    /* Data tables use compact columns on phones, so the panel no longer needs a forced scroll width. */
    .manager-table-panel[b-u2yligtahe] {
        overflow: hidden;
        padding: 10px;
    }

    /* Manager grids are allowed to shrink after the component removes desktop-only columns. */
    .manager-table-panel .k-grid[b-u2yligtahe] {
        width: 100%;
        min-width: 0;
    }

    /* Mobile grid cells use tighter spacing so names and key metrics remain visible together. */
    .manager-grid .k-table-th[b-u2yligtahe],
    .manager-grid .k-table-td[b-u2yligtahe],
    .manager-grid th[b-u2yligtahe],
    .manager-grid td[b-u2yligtahe] {
        padding-inline: 6px;
        font-size: 0.86rem;
        line-height: 1.25;
    }

    /* Long names can wrap instead of pushing metric columns outside the screen. */
    .manager-grid .k-table-td[b-u2yligtahe],
    .manager-grid td[b-u2yligtahe] {
        overflow-wrap: anywhere;
    }
}
/* /Shared/MainLayout.razor.rz.scp.css */
.page[b-bi0oelw8vn] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-bi0oelw8vn] {
    flex: 1;
}

.sidebar[b-bi0oelw8vn] {
    /*background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);*/
    background-color: white;
    transition: 0s; /* 0  second transition effect to slide in the sidebar */
}

.top-row[b-bi0oelw8vn] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-bi0oelw8vn]  a, .top-row[b-bi0oelw8vn]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

        .top-row[b-bi0oelw8vn]  a:hover, .top-row[b-bi0oelw8vn]  .btn-link:hover {
            text-decoration: underline;
        }

        .top-row[b-bi0oelw8vn]  a:first-child {
            overflow: hidden;
            text-overflow: ellipsis;
        }

@media (max-width: 640.98px) {
    .page[b-bi0oelw8vn] {
        display: block;
        min-height: 100vh;
    }

    .sidebar[b-bi0oelw8vn] {
        /* On phones the sidebar owns only the top hamburger bar; the menu itself overlays the page. */
        position: sticky;
        top: 0;
        z-index: 1000;
        width: 100%;
        height: 3.5rem;
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.16);
    }

    main[b-bi0oelw8vn] {
        min-width: 0;
        width: 100%;
    }

    article.content[b-bi0oelw8vn] {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .top-row:not(.auth)[b-bi0oelw8vn] {
        display: none;
    }

    .top-row.auth[b-bi0oelw8vn] {
        justify-content: space-between;
    }

    .top-row[b-bi0oelw8vn]  a, .top-row[b-bi0oelw8vn]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-bi0oelw8vn] {
        flex-direction: row;
    }

    .sidebar[b-bi0oelw8vn] {
        width: 200px;
        height: 100vh;
        position: sticky;
        top: 0;
        box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); /* Adds a subtle shadow */
    }

    .top-row[b-bi0oelw8vn] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

        .top-row.auth[b-bi0oelw8vn]  a:first-child {
            flex: 1;
            text-align: right;
            width: 0;
        }

    .top-row[b-bi0oelw8vn], article[b-bi0oelw8vn] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}


.sidebar-flash-toggle[b-bi0oelw8vn] {
    position: absolute;
    top: 0; /* adjust to move the button to the bottom */
    right: 0;
    background: none;
    border: none;
    color: #000; /* adjust the color as needed */
    font-size: 1.5rem;
    padding: 1rem;
    cursor: pointer;
}

/* The collapse button moves to the visual leading edge in right-to-left languages. */
html[dir="rtl"] .sidebar-flash-toggle[b-bi0oelw8vn] {
    right: auto;
    left: 0;
}

@media (max-width: 640px) {
    .sidebar-flash-toggle[b-bi0oelw8vn] {
        display: none;
    }
}

.sidebar.collapsed[b-bi0oelw8vn] {
    width: 53px; /* or whatever width you want when collapsed */
}

@media (max-width: 640.98px) {
    .sidebar.collapsed[b-bi0oelw8vn] {
        /* The phone shell uses a top bar and drawer, so desktop icon-only width must not shrink it. */
        width: 100%;
    }
}
/* /Shared/ManagerSectionTitle.razor.rz.scp.css */
/* Manager section titles keep report pages compact and consistent. */
.manager-section-title[b-xhluc54ue0] {
    display: grid;
    gap: 3px;
}

/* Section titles are smaller than hero text because these are operational reports. */
.manager-section-title h2[b-xhluc54ue0] {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.2;
}

/* Section subtitles explain intent without adding in-app instructions. */
.manager-section-title p[b-xhluc54ue0] {
    margin: 0;
    color: #64748b;
}
/* /Shared/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-qfrcs5cyhr] {
    /* background-color: rgba(255, 255, 255, 0.1);*/
    background-color: black;
    display: block; /* visible by default */
}

.top-row[b-qfrcs5cyhr] {
    height: 3.5rem;
    background-color: white;
}


.navbar-brand[b-qfrcs5cyhr] {
    font-size: 1.1rem;
    color: darkblue;
}
    /* Disable hover effect */
    .navbar-brand:hover[b-qfrcs5cyhr] {
        color: darkblue !important;
    }


.oi[b-qfrcs5cyhr] {
    width: 2rem;
    font-size: 1.1rem;
    vertical-align: text-top;
    top: -2px;
}

.nav-item[b-qfrcs5cyhr] {
    font-size: 0.9rem;
    padding-bottom: 0.2rem;
}

    .nav-item:first-of-type[b-qfrcs5cyhr] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-qfrcs5cyhr] {
        padding-bottom: 1rem;
    }

    .nav-item[b-qfrcs5cyhr]  a {
        color: darkblue;
        border-radius: 4px;
        display: flex;
        gap: 0.45rem;
        align-items: center;
        min-height: 2.65rem;
        height: auto;
        line-height: 1.2;
        padding: 0.45rem 0.5rem;
    }

        .nav-item[b-qfrcs5cyhr]  a.active {
            /* background-color: rgba(255,255,255,0.25);*/
            background-color: white;
            color: darkgoldenrod;
        }

        .nav-item[b-qfrcs5cyhr]  a:hover {
            background-color: white;
            color: darkorange;
        }

button.line-on-top[b-qfrcs5cyhr] {
    border-top: 1px solid #fff;
}


.nav-scrollable[b-qfrcs5cyhr] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden; /* Hide horizontal scrollbar */
}

.container-nav[b-qfrcs5cyhr] {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

.sub_div[b-qfrcs5cyhr] {
    display: flex;
    flex-direction: column;
    flex: 1;
    margin-top: auto;
}

.nav-links[b-qfrcs5cyhr] {
    flex-grow: 1;
}

/* The language selector is inside the user menu so users can switch Arabic/Farsi without logging out. */
.nav-language-row[b-qfrcs5cyhr] {
    padding: 0.35rem 1rem 0.75rem;
}

/* Match QClock's signed-in menu by showing Language as a small label above the selector. */
.nav-language-label[b-qfrcs5cyhr] {
    display: block;
    margin-bottom: 0.35rem;
    color: #1f2937;
    font-size: 0.82rem;
    font-weight: 600;
}

/* The nav selector uses the full menu width without forcing a wider sidebar. */
.nav-language-selector[b-qfrcs5cyhr] {
    flex: 1;
    min-width: 0;
    max-width: none;
}

/* Collapsible sections keep QCRM behavior while staying visually close to the original QSalesView labels. */
.nav-section[b-qfrcs5cyhr] {
    margin: 0.2rem 0 0.35rem;
}

/* The toggle remains plain text so section headers do not look like boxed menu items. */
.nav-section-toggle[b-qfrcs5cyhr] {
    width: calc(100% - 2rem);
    min-height: 1.35rem;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 0.35rem;
    margin: 0.85rem 1rem 0.25rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: color 0.15s ease;
}

/* Hover and focus change only text color so the header stays visually normal. */
.nav-section-toggle:hover[b-qfrcs5cyhr],
.nav-section-toggle:focus-visible[b-qfrcs5cyhr],
.nav-section.is-active .nav-section-toggle[b-qfrcs5cyhr] {
    background: transparent;
    color: darkblue;
    outline: none;
}

.nav-section-toggle:focus-visible .nav-section-label[b-qfrcs5cyhr] {
    /* Underline provides keyboard focus feedback without drawing a surrounding box. */
    text-decoration: underline;
}

/* The user section header adds an icon column while keeping the same plain, unboxed style. */
.nav-section-toggle-user[b-qfrcs5cyhr] {
    grid-template-columns: auto 1fr auto;
}

/* The user icon uses the same color as the section text so it reads as a group header, not another link. */
.nav-section-user-icon[b-qfrcs5cyhr] {
    width: 1.35rem;
    color: inherit;
    font-size: 1rem;
    text-align: center;
}

/* The visible label remains compact because it is a group heading, not a normal navigation row. */
.nav-section-label[b-qfrcs5cyhr] {
    color: inherit;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

/* The chevron rotation communicates expanded state without adding extra text to the left panel. */
.nav-section-chevron[b-qfrcs5cyhr] {
    width: 1rem;
    color: inherit;
    font-size: 0.72rem;
    text-align: center;
    transition: transform 0.15s ease;
}

.nav-section.is-expanded .nav-section-chevron[b-qfrcs5cyhr] {
    transform: rotate(90deg);
}

/* Hidden section content is removed from layout so collapsed groups compact exactly like QCRM. */
.nav-section-content[hidden][b-qfrcs5cyhr] {
    display: none;
}

/* Icon-only sidebar mode keeps all link icons reachable and suppresses the section chrome. */
.nav-section.is-icon-only[b-qfrcs5cyhr] {
    margin: 0;
}

.logout-link[b-qfrcs5cyhr] {
    border-top: 1px solid white;
    border-top-color: red;
}

    .logout-link[b-qfrcs5cyhr]  a:hover {
        background-color: white;
        color: red;
    }

.logout-item[b-qfrcs5cyhr] {
    border-top: 1px solid white;
    border-top-color: red;
    margin-top: auto; /* Add this */
}

.divider[b-qfrcs5cyhr] {
    border-top: 1px solid rgba(0,0,0,.1);
    margin: 1rem 0;
}

.nav-link-logout[b-qfrcs5cyhr] {
    position: absolute;
    bottom: 0;
    background-color: white;
    color: darkred;
    margin-top: auto;
}

.nav-divider[b-qfrcs5cyhr] {
    border-top: 1px solid #ffffff;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

.logout-button[b-qfrcs5cyhr] {
    color: darkred;
    background-color: white;
    padding: 0;
    margin: 0;
    font-size: 1rem;
    text-align: left;
    width: 100%;
    border: none;
    cursor: pointer;
}

    .logout-button:focus[b-qfrcs5cyhr], .logout-button:hover[b-qfrcs5cyhr] {
        background-color: white;
    }

nav[b-qfrcs5cyhr] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.mobile-nav-backdrop[b-qfrcs5cyhr] {
    /* The component renders this only while the phone drawer is open, so it must always catch outside taps. */
    position: fixed;
    top: 3.5rem;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1099;
    border: 0;
    padding: 0;
    background: rgba(15, 23, 42, 0.18);
    cursor: pointer;
}

.nav-link[b-qfrcs5cyhr] {
    color: black;
}

.nav-link-red[b-qfrcs5cyhr] {
    color: darkred;
}

.logout-item .nav-link[b-qfrcs5cyhr] {
    background-color: white;
    border-top: 1px solid darkred;
}

@media (min-width: 641px) {



    .nav-scrollable[b-qfrcs5cyhr] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

@media (max-width: 640px) and (min-width: 0px) {

    .top-row-nav[b-qfrcs5cyhr] {
        /* The mobile header remains in normal height while the opened menu overlays the page body. */
        min-height: 3.5rem;
        position: relative;
        z-index: 1101;
        background: white;
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
    }

    .container-fluid-nav[b-qfrcs5cyhr] {
        min-width: 0;
    }

    .navbar-brand[b-qfrcs5cyhr] {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-collapse[b-qfrcs5cyhr] {
        /* The expanded mobile menu is a drawer, so it cannot push report content below the left panel. */
        position: fixed;
        top: 3.5rem;
        bottom: 0;
        left: 0;
        z-index: 1100;
        width: min(20rem, 86vw);
        background: white;
        box-shadow: 8px 0 24px rgba(15, 23, 42, 0.22);
        overflow: hidden;
    }

    html[dir="rtl"] .mobile-collapse[b-qfrcs5cyhr] {
        left: auto;
        right: 0;
        box-shadow: -8px 0 24px rgba(15, 23, 42, 0.22);
    }

    .nav-scrollable[b-qfrcs5cyhr] {
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: calc(100dvh - 3.5rem);
        padding-bottom: 1rem;
    }
}


@media (min-width: 641px) { /* adjust value as needed */
    .navbar-toggler[b-qfrcs5cyhr] {
        display: none; /* hide when not in mobile mode */
    }
}

.nav-icon[b-qfrcs5cyhr] {
    /* Icons keep a fixed column so wrapped labels start in a predictable position. */
    flex: 0 0 1.35rem;
    font-size: 1.2rem;
    margin-right: 0;
    text-align: center;
    vertical-align: middle;
}

.nav-text[b-qfrcs5cyhr] {
    /* Labels can wrap naturally without colliding with the next menu row. */
    display: inline-block;
    line-height: 1.2;
    min-width: 0;
    overflow-wrap: anywhere;
    vertical-align: middle;
}

.collapse[b-qfrcs5cyhr] {
    display: none;
}


.sub_div[b-qfrcs5cyhr] {
    display: flex;
    flex-direction: column;
    flex: 1;
    margin-top: auto;
}

.top-row-nav[b-qfrcs5cyhr] {
    display: flex;
    justify-content: space-between;
}

.container-fluid-nav[b-qfrcs5cyhr] {
    color: black !important;
    flex-grow: 1;
    display: flex;
    justify-content: left;
}
/*Overwrite the default, because i wanted 3 lines of the burger to be black*/
.navbar-dark .navbar-toggler[b-qfrcs5cyhr] {
    background-color: white;
    border-radius: 50%;
    padding: 10px;
}

.navbar-dark .navbar-toggler-icon[b-qfrcs5cyhr] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-dark .navbar-toggler:hover[b-qfrcs5cyhr] {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

