/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-avoyp2i4in] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-avoyp2i4in] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Pages/CapacityPlanning.razor.rz.scp.css */
/* The Capacity Planning grid is drawn to look like the SPASIE tab of
   "Hexkoel Master Sheet V3" open in Excel: Arial 10, Excel's column/row
   headers and gridlines, the workbook's fills, frozen panes at C5, a formula
   bar and sheet tabs. Row heights and column widths follow the workbook. */

.xl-frame[b-fhnaumlk79] {
    --xl-green: #217346;              /* Excel's selection colour */
    --xl-grid: #d4d4d4;               /* gridlines */
    --xl-head-bg: #f3f3f3;            /* column letters / row numbers */
    --xl-head-sel: #d2d2d2;
    --xl-row: 18px;
    --xl-row4: 30px;
    --xl-colhdr: 20px;
    border: 1px solid #c6c6c6;
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13.33px;               /* 10 pt */
    color: #000;
}

/* ---- Formula bar ---- */
.xl-formula[b-fhnaumlk79] {
    display: flex;
    align-items: stretch;
    height: 26px;
    border-bottom: 1px solid #c6c6c6;
    background: #fff;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 13px;
}

.xl-namebox[b-fhnaumlk79] {
    width: 96px;
    padding: 4px 6px;
    border-right: 1px solid #c6c6c6;
}

.xl-fx[b-fhnaumlk79] {
    width: 34px;
    padding: 3px 0;
    text-align: center;
    font-style: italic;
    font-family: "Times New Roman", serif;
    color: #555;
    border-right: 1px solid #c6c6c6;
}

.xl-formula-text[b-fhnaumlk79] {
    flex: 1;
    padding: 4px 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---- Grid ---- */
.xl-scroll[b-fhnaumlk79] {
    overflow: auto;
    max-height: calc(100vh - 290px);
    min-height: 320px;
    outline: none;
    position: relative;
}

/* The width is set inline to the sum of the column widths: with
   table-layout:fixed that holds every column to its Excel width, and long
   names are clipped at the cell edge as Excel does. */
.xl-grid[b-fhnaumlk79] {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.xl-grid th[b-fhnaumlk79],
.xl-grid td[b-fhnaumlk79] {
    height: var(--xl-row);
    padding: 0 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
    border-right: 1px solid var(--xl-grid);
    border-bottom: 1px solid var(--xl-grid);
    background: #fff;
    font-weight: normal;
    line-height: 17px;
    box-sizing: border-box;
    /* keep the selected cell clear of the frozen panes when scrolled to */
    scroll-margin-top: calc(var(--xl-colhdr) + 3 * var(--xl-row) + var(--xl-row4));
    scroll-margin-left: 392px;
}

/* Column letters and row numbers */
.xl-colhdr[b-fhnaumlk79],
.xl-corner[b-fhnaumlk79] {
    position: sticky;
    top: 0;
    z-index: 9;
    height: var(--xl-colhdr) !important;
    text-align: center;
    color: #444;
    background: var(--xl-head-bg) !important;
    border-right: 1px solid #c6c6c6 !important;
    border-bottom: 1px solid #c6c6c6 !important;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 12px;
}

.xl-corner[b-fhnaumlk79] {
    left: 0;
    z-index: 11;
}

.xl-colhdr.xl-fa[b-fhnaumlk79], .xl-colhdr.xl-fb[b-fhnaumlk79] { z-index: 10; }

.xl-rownum[b-fhnaumlk79] {
    position: sticky;
    left: 0;
    z-index: 3;
    text-align: center;
    color: #444;
    background: var(--xl-head-bg) !important;
    border-right: 1px solid #c6c6c6 !important;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 12px;
}

.xl-colhdr.sel[b-fhnaumlk79],
.xl-rownum.sel[b-fhnaumlk79] {
    background: var(--xl-head-sel) !important;
    color: var(--xl-green);
    font-weight: 600;
}

.xl-colhdr.sel[b-fhnaumlk79] {
    box-shadow: inset 0 -2px 0 var(--xl-green);
}

.xl-rownum.sel[b-fhnaumlk79] {
    box-shadow: inset -2px 0 0 var(--xl-green);
}

/* Frozen panes at C5: rows 1-4 and columns A-B stay put.
   Stacking, bottom to top: body cells; frozen columns A-B (2); a label in A
   spilling over B (3); row numbers (3); frozen rows (4); a label spilling in
   a frozen row (5); frozen rows' A-B (6); A1 spilling over B1 (7); frozen
   rows' numbers (8); column letters (9, A-B 10); the corner (11). */
.xl-r1 > *[b-fhnaumlk79], .xl-r2 > *[b-fhnaumlk79], .xl-r3 > *[b-fhnaumlk79], .xl-r4 > *[b-fhnaumlk79] {
    position: sticky;
    z-index: 4;
}

.xl-r1 > *[b-fhnaumlk79] { top: var(--xl-colhdr); }
.xl-r2 > *[b-fhnaumlk79] { top: calc(var(--xl-colhdr) + var(--xl-row)); }
.xl-r3 > *[b-fhnaumlk79] { top: calc(var(--xl-colhdr) + 2 * var(--xl-row)); }
.xl-r4 > *[b-fhnaumlk79] {
    top: calc(var(--xl-colhdr) + 3 * var(--xl-row));
    height: var(--xl-row4) !important;
    border-bottom: 1px solid #000 !important;
}

.xl-r1 > .xl-rownum[b-fhnaumlk79], .xl-r2 > .xl-rownum[b-fhnaumlk79], .xl-r3 > .xl-rownum[b-fhnaumlk79], .xl-r4 > .xl-rownum[b-fhnaumlk79] {
    z-index: 8;
}

.xl-fa[b-fhnaumlk79], .xl-fb[b-fhnaumlk79] {
    position: sticky;
    z-index: 2;
}

.xl-fa[b-fhnaumlk79] { left: 40px; }
.xl-fb[b-fhnaumlk79] {
    left: 336px;
    box-shadow: inset -1px 0 0 #9b9b9b;   /* Excel's freeze line */
}

.xl-r1 > .xl-fa[b-fhnaumlk79], .xl-r1 > .xl-fb[b-fhnaumlk79],
.xl-r2 > .xl-fa[b-fhnaumlk79], .xl-r2 > .xl-fb[b-fhnaumlk79],
.xl-r3 > .xl-fa[b-fhnaumlk79], .xl-r3 > .xl-fb[b-fhnaumlk79],
.xl-r4 > .xl-fa[b-fhnaumlk79], .xl-r4 > .xl-fb[b-fhnaumlk79] {
    z-index: 6;
}

/* ---- Cell formats, as in the workbook ---- */
.xl-cell.b[b-fhnaumlk79] { font-weight: bold; }
.xl-cell.num[b-fhnaumlk79] { text-align: right; padding-right: 6px; }
.xl-cell.center[b-fhnaumlk79] { text-align: center; }
.xl-cell.top[b-fhnaumlk79] { vertical-align: top; }
.xl-cell.wrap[b-fhnaumlk79] { white-space: normal; line-height: 13px; padding-top: 1px; }
/* Long labels run on over the empty cells to their right, as in Excel: the
   cell sits above its neighbours but below the frozen rows it scrolls under. */
.xl-cell.overflow[b-fhnaumlk79] { overflow: visible; z-index: 3; }
.xl-r1 > .xl-cell.overflow[b-fhnaumlk79], .xl-r2 > .xl-cell.overflow[b-fhnaumlk79], .xl-r3 > .xl-cell.overflow[b-fhnaumlk79] { z-index: 5; }
.xl-r1 > .xl-cell.overflow.xl-fa[b-fhnaumlk79] { z-index: 7; }

/* ...but no further than the next filled cell would let it (C1 holds a
   number), which also keeps column A's label inside the frozen pane. */
.xl-spill[b-fhnaumlk79] {
    display: inline-block;
    max-width: 346px;
    overflow: hidden;
    vertical-align: top;
}

.xl-cell.bordered[b-fhnaumlk79] {
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
}

.xl-cell.bordered.xl-fa[b-fhnaumlk79] { border-left: 1px solid #000; }

.xl-cell.boxed[b-fhnaumlk79] {
    border: 1px solid #000;
}

.xl-cell.boxed-sides[b-fhnaumlk79] {
    border-left: 1px solid #000;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
}

.xl-cell.hdr[b-fhnaumlk79] { background: #d9d9d9; }
.xl-cell.red[b-fhnaumlk79] { background: #ff0000; }
.xl-cell.yellow[b-fhnaumlk79] { background: #ffff00; }
.xl-cell.green[b-fhnaumlk79] { background: #00b050; }
.xl-cell.blue[b-fhnaumlk79] { background: #d9e1f2; }
.xl-cell.greenband[b-fhnaumlk79] { background: #e2efda; }
.xl-cell.email-hdr[b-fhnaumlk79] { font-family: Tahoma, Arial, sans-serif; font-size: 14.67px; }

.xl-cell.email[b-fhnaumlk79] {
    color: #0563c1;
    text-decoration: underline;
}

.xl-cell.editable[b-fhnaumlk79] { cursor: cell; }

/* ---- Selection and in-cell editing ---- */
.xl-cell.selected[b-fhnaumlk79] {
    box-shadow: inset 0 0 0 2px var(--xl-green);
}

.xl-cell.editing[b-fhnaumlk79] {
    padding: 0;
    overflow: visible;
}

.xl-editor[b-fhnaumlk79] {
    width: 100%;
    height: 100%;
    border: none;
    outline: 2px solid var(--xl-green);
    outline-offset: -2px;
    padding: 0 4px;
    font: inherit;
    text-align: right;
    background: #fff;
}

/* ---- Stock File tab: Excel table style "Medium 7" ---- */
.xl-stock .tbl-hdr[b-fhnaumlk79] {
    background: #70ad47;
    color: #fff;
    font-weight: bold;
    border-right: 1px solid #70ad47;
}

.xl-stock .tbl-cell[b-fhnaumlk79] { border-right: 1px solid var(--xl-grid); }
.xl-stock .tbl-cell.num[b-fhnaumlk79] { text-align: right; }
.xl-stock .tbl-band > td[b-fhnaumlk79] { background: #e2efda; }

/* ---- Sheet tabs and status bar ---- */
.xl-tabs[b-fhnaumlk79] {
    display: flex;
    align-items: stretch;
    gap: 2px;
    height: 28px;
    padding-left: 40px;
    border-top: 1px solid #c6c6c6;
    background: #f3f3f3;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 13px;
}

.xl-tab[b-fhnaumlk79] {
    border: none;
    background: transparent;
    padding: 0 14px;
    color: #444;
    cursor: pointer;
    font: inherit;
}

.xl-tab:hover[b-fhnaumlk79] { background: #e6e6e6; }

.xl-tab.active[b-fhnaumlk79] {
    background: #fff;
    color: var(--xl-green);
    font-weight: 600;
    box-shadow: inset 0 -3px 0 var(--xl-green);
}

.xl-status[b-fhnaumlk79] {
    margin-left: auto;
    padding: 5px 12px;
    color: #555;
}
