@import '_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.bundle.scp.css';

/* /Components/MenuManagement/ErpDynamicNavMenu.razor.rz.scp.css */
.erp-dynamic-nav[b-b94url8a7h] {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: visible;
    color: var(--erp-nav-text, #183b5b);
    background: var(--erp-nav-background, linear-gradient(180deg, #fbfdff 0%, #f2f7fc 100%));
    font-family: var(--erp-font, "Segoe UI", sans-serif);
}

.erp-dynamic-nav.pinned[b-b94url8a7h] {
    display: flex;
    flex-direction: column;
}

.erp-dynamic-nav.rail[b-b94url8a7h] {
    width: var(--erp-nav-rail-width, 56px);
}

.erp-nav-command[b-b94url8a7h] {
    box-sizing: border-box;
    height: 28px;
    min-height: 28px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    padding: 1px 9px;
    color: var(--erp-nav-text, #183b5b);
    background: var(--erp-nav-surface, #ffffff);
    border-bottom: 1px solid var(--erp-nav-border, #d7e4f0);
}

.erp-nav-command-btn[b-b94url8a7h] {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--erp-nav-icon, #47779c);
    background: transparent;
    border: 0;
    border-radius: var(--erp-radius-sm, 4px);
    cursor: pointer;
}

.erp-nav-command-btn:hover[b-b94url8a7h] {
    color: var(--erp-nav-active, #086ad8);
    background: var(--erp-nav-hover, #edf5fd);
}

.erp-nav-command-btn:focus-visible[b-b94url8a7h],
.erp-nav-flyout-actions button:focus-visible[b-b94url8a7h] {
    outline: 2px solid var(--erp-focus, #086ad8);
    outline-offset: -2px;
}

.erp-cmd-svg[b-b94url8a7h] {
    width: 16px;
    height: 16px;
    display: block;
}

.pin-btn[b-b94url8a7h] {
    color: var(--erp-nav-text-muted, #647d96);
}

.erp-nav-content[b-b94url8a7h] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 6px 12px;
    scroll-padding-top: 32px;
    scrollbar-color: #c8d9e8 transparent;
}

/* Let the heading stick across the entire menu, beyond the Favorites group. */
.erp-nav-content[b-b94url8a7h]  .erp-nav-tree > .erp-menu-node:first-child {
    display: contents;
}

/* The first root node is Favorites; align its heading with the shared toolbar. */
.erp-nav-content[b-b94url8a7h]  .erp-nav-tree > .erp-menu-node:first-child > .erp-menu-row {
    position: sticky;
    top: 0;
    z-index: 2;
    box-sizing: border-box;
    width: calc(100% + 12px);
    min-height: 32px;
    margin-inline: -6px;
    border: 0;
    border-bottom: 1px solid var(--erp-border-soft, #e5eaf3);
    border-radius: 0;
    background: var(--erp-surface, #ffffff);
}

.erp-nav-content[b-b94url8a7h]  .erp-nav-tree > .erp-menu-node:first-child > .erp-menu-row > .erp-menu-button {
    box-sizing: border-box;
    min-height: 31px;
    padding: 3px 9px;
    border-radius: 0;
    background: transparent;
    font-size: 12px;
}

.erp-nav-content[b-b94url8a7h]  .erp-nav-tree > .erp-menu-node:first-child > .erp-menu-row:hover {
    background: var(--erp-nav-hover, #edf5fd);
}

.erp-nav-content[b-b94url8a7h]  .erp-nav-tree > .erp-menu-node:first-child > .erp-menu-row > .erp-menu-button:focus-visible {
    outline: 2px solid var(--erp-focus, #086ad8);
    outline-offset: -2px;
}

.erp-nav-content[b-b94url8a7h]::-webkit-scrollbar {
    width: 7px;
}

.erp-nav-content[b-b94url8a7h]::-webkit-scrollbar-thumb {
    background: #c8d9e8;
    border-radius: 999px;
}

.erp-nav-tree[b-b94url8a7h] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.erp-nav-status[b-b94url8a7h],
.erp-nav-error[b-b94url8a7h] {
    margin: 8px;
    padding: 10px;
    border-radius: var(--erp-radius-md, 6px);
    font-size: 11.5px;
}

.erp-nav-status[b-b94url8a7h] {
    color: var(--erp-nav-text-muted, #647d96);
    background: rgba(255, 255, 255, .75);
    border: 1px dashed var(--erp-nav-border, #d7e4f0);
}

.erp-nav-error[b-b94url8a7h] {
    color: var(--erp-danger, #b42318);
    background: var(--erp-danger-soft, #fef3f2);
    border: 1px solid var(--erp-danger-border, #fecdca);
}

.erp-nav-rail-icons[b-b94url8a7h] {
    padding: 7px 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.erp-rail-icon[b-b94url8a7h] {
    position: relative;
    width: 44px;
    height: 40px;
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--erp-menu-accent, var(--erp-nav-icon, #47779c));
    background: transparent;
    border: 0;
    border-radius: var(--erp-radius-sm, 4px);
    cursor: pointer;
}

.erp-rail-icon:hover[b-b94url8a7h] {
    color: var(--erp-menu-accent, var(--erp-nav-active, #086ad8));
    background: var(--erp-nav-hover, #edf5fd);
}

.erp-rail-icon.active[b-b94url8a7h] {
    color: var(--erp-menu-accent, var(--erp-nav-active, #086ad8));
    background: var(--erp-nav-active-background, #e7f2ff);
    box-shadow: inset 3px 0 0 var(--erp-nav-active, #086ad8);
}

.erp-nav-flyout[b-b94url8a7h] {
    position: absolute;
    left: var(--erp-nav-rail-width, 56px);
    top: 0;
    width: 280px;
    height: calc(100vh - var(--erp-header-height, 42px));
    z-index: 1200;
    display: flex;
    flex-direction: column;
    color: var(--erp-nav-text, #183b5b);
    background: var(--erp-nav-background, linear-gradient(180deg, #fbfdff 0%, #f2f7fc 100%));
    border-right: 1px solid var(--erp-nav-border, #d7e4f0);
    border-left: 1px solid var(--erp-nav-border, #d7e4f0);
    box-shadow: var(--erp-nav-shadow, 5px 0 18px rgba(36, 74, 110, .12));
}

.erp-nav-flyout-header[b-b94url8a7h] {
    box-sizing: border-box;
    min-height: 28px;
    flex-shrink: 0;
    padding: 1px 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    background: var(--erp-nav-surface, #ffffff);
    border-bottom: 1px solid var(--erp-nav-border, #d7e4f0);
}

.erp-nav-flyout-header > div:first-child[b-b94url8a7h] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 2px 6px;
    min-width: 0;
}

.erp-nav-flyout-header strong[b-b94url8a7h],
.erp-nav-flyout-header span[b-b94url8a7h] {
    display: block;
}

.erp-nav-flyout-header strong[b-b94url8a7h] {
    color: var(--erp-nav-text-strong, #0b2f52);
    font-size: 12px;
    line-height: 18px;
}

.erp-nav-flyout-header span[b-b94url8a7h] {
    margin-top: 0;
    color: var(--erp-nav-text-muted, #647d96);
    font-size: 10.5px;
    line-height: 16px;
}

.erp-nav-flyout-actions[b-b94url8a7h] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.erp-nav-flyout-actions button[b-b94url8a7h] {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--erp-nav-icon, #47779c);
    background: transparent;
    border: 0;
    border-radius: var(--erp-radius-sm, 4px);
    cursor: pointer;
}

.erp-nav-flyout-actions button:hover[b-b94url8a7h] {
    color: var(--erp-nav-active, #086ad8);
    background: var(--erp-nav-hover, #edf5fd);
}

.erp-nav-fav-empty[b-b94url8a7h] {
    margin: 0 8px 5px 32px;
    color: var(--erp-nav-text-muted, #647d96);
    font-size: 10.5px;
    font-style: italic;
    line-height: 1.4;
}

.erp-nav-fav-empty:empty[b-b94url8a7h] {
    display: none;
}

.erp-nav-separator[b-b94url8a7h] {
    height: 1px;
    margin: 8px 8px 7px;
    background: var(--erp-nav-border, #d7e4f0);
}

.erp-rail-fav[b-b94url8a7h] {
    color: var(--erp-nav-favorite, #d99a0b);
}

.erp-dynamic-nav button:disabled[b-b94url8a7h],
.erp-dynamic-nav [aria-disabled="true"][b-b94url8a7h] {
    color: var(--erp-nav-disabled, #9aacbd);
    background: transparent;
    cursor: not-allowed;
    opacity: .68;
}

@media (max-width: 900px) {
    .erp-nav-flyout[b-b94url8a7h] {
        width: min(300px, calc(100vw - var(--erp-nav-rail-width, 56px)));
    }
}


/* ---------------------------------------------------------------
   Menu search (above Favorites; stays visible while the menu scrolls)
   --------------------------------------------------------------- */
.erp-nav-search[b-b94url8a7h] {
    position: relative;
    box-sizing: border-box;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    /* One 32px band (31px + 1px line) - lines up with the page toolbar row,
       so Favorites below lines up with the page status row. */
    height: 32px;
    min-height: 32px;
    padding: 0 8px;
    background: var(--erp-nav-surface, #ffffff);
    border-bottom: 1px solid var(--erp-nav-border, #d7e4f0);
}

.erp-nav-search-icon[b-b94url8a7h] {
    position: absolute;
    left: 16px;
    color: var(--erp-nav-icon, #47779c);
    pointer-events: none;
}

.erp-nav-search-input[b-b94url8a7h] {
    box-sizing: border-box;
    width: 100%;
    height: 28px;
    padding: 0 28px 0 28px;
    color: var(--erp-nav-text, #183b5b);
    background: #ffffff;
    border: 1px solid var(--erp-nav-border, #d7e4f0);
    border-radius: var(--erp-radius-sm, 4px);
    font-family: inherit;
    font-size: 12px;
    outline: none;
}

.erp-nav-search-input[b-b94url8a7h]::placeholder {
    color: var(--erp-nav-text-muted, #647d96);
}

.erp-nav-search-input:focus[b-b94url8a7h] {
    border-color: var(--erp-focus, #086ad8);
    box-shadow: 0 0 0 2px rgba(8, 106, 216, .12);
}

.erp-nav-search-clear[b-b94url8a7h] {
    position: absolute;
    right: 12px;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--erp-nav-text-muted, #647d96);
    background: transparent;
    border: 0;
    border-radius: 3px;
    cursor: pointer;
}

.erp-nav-search-clear:hover[b-b94url8a7h] {
    color: var(--erp-nav-active, #086ad8);
    background: var(--erp-nav-hover, #edf5fd);
}

.erp-nav-search-results[b-b94url8a7h] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-top: 6px;
}

.erp-nav-search-result[b-b94url8a7h] {
    box-sizing: border-box;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 8px;
    color: var(--erp-nav-text, #183b5b);
    background: transparent;
    border: 0;
    border-radius: var(--erp-radius-sm, 4px);
    font-family: inherit;
    font-size: 12.5px;
    text-align: left;
    cursor: pointer;
}

.erp-nav-search-result:hover[b-b94url8a7h] {
    background: var(--erp-nav-hover, #edf5fd);
}

.erp-nav-search-result.active[b-b94url8a7h] {
    color: var(--erp-nav-active, #086ad8);
    background: var(--erp-nav-expanded-background, #f0f6fc);
    font-weight: 600;
}

.erp-nav-search-result:focus-visible[b-b94url8a7h] {
    outline: 2px solid var(--erp-focus, #086ad8);
    outline-offset: -2px;
}

.erp-nav-search-result-icon[b-b94url8a7h] {
    width: 16px;
    min-width: 16px;
    height: 16px;
    display: grid;
    place-items: center;
    color: var(--erp-nav-icon, #47779c);
}

.erp-nav-search-result-icon[b-b94url8a7h]  svg {
    width: 16px;
    height: 16px;
}

.erp-nav-search-text[b-b94url8a7h] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.erp-nav-search-title[b-b94url8a7h],
.erp-nav-search-path[b-b94url8a7h] {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.erp-nav-search-path[b-b94url8a7h] {
    color: var(--erp-nav-text-muted, #647d96);
    font-size: 11px;
    font-weight: 400;
}
/* /Components/MenuManagement/ErpMenuTreeNode.razor.rz.scp.css */
.erp-menu-node[b-rgmp352cqo] {
    width: 100%;
    min-width: 0;
}

.erp-menu-row[b-rgmp352cqo] {
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--erp-radius-md, 7px);
    transition: background .14s ease, border-color .14s ease;
}

.erp-menu-row:hover[b-rgmp352cqo] {
    background: var(--erp-nav-hover, #edf5fd);
    border-color: rgba(167, 194, 218, .42);
}

.erp-menu-row .erp-menu-button[b-rgmp352cqo] {
    flex: 1;
    min-width: 0;
}

.erp-menu-button[b-rgmp352cqo] {
    width: 100%;
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 8px;
    color: var(--erp-nav-text, #183b5b);
    background: transparent;
    border: 0;
    border-radius: var(--erp-radius-sm, 4px);
    cursor: pointer;
    text-align: left;
    font-size: 12.5px;
    transition: color .14s ease, background .14s ease, box-shadow .14s ease;
}

.erp-menu-button:hover[b-rgmp352cqo] {
    color: var(--erp-nav-text-strong, #0b2f52);
    background: transparent;
}

.erp-menu-button-group[b-rgmp352cqo] {
    color: var(--erp-nav-text-strong, #0b2f52);
    font-weight: 650;
}

.erp-menu-button-group.expanded[b-rgmp352cqo] {
    color: var(--erp-nav-text-strong, #0b2f52);
    background: var(--erp-nav-expanded-background, #f0f6fc);
}

.erp-menu-button.contains-active[b-rgmp352cqo] {
    color: var(--erp-nav-text-strong, #0b2f52);
    background: var(--erp-nav-expanded-background, #f0f6fc);
}

.erp-menu-button.active[b-rgmp352cqo] {
    color: var(--erp-nav-active, #086ad8);
    background: var(--erp-nav-active-background, #e7f2ff);
    box-shadow: inset 3px 0 0 var(--erp-nav-active, #086ad8);
    font-weight: 700;
}

.erp-menu-icon[b-rgmp352cqo] {
    width: 24px;
    min-width: 24px;
    height: 24px;
    display: inline-grid;
    place-items: center;
    color: var(--erp-menu-accent, var(--erp-nav-icon, #47779c));
    background: rgba(255, 255, 255, .64);
    border: 1px solid rgba(167, 194, 218, .42);
    border-radius: 6px;
}

.erp-menu-button:hover .erp-menu-icon[b-rgmp352cqo],
.erp-menu-button.contains-active .erp-menu-icon[b-rgmp352cqo] {
    color: var(--erp-menu-accent, var(--erp-nav-active, #086ad8));
    background: #ffffff;
}

.erp-menu-button.active .erp-menu-icon[b-rgmp352cqo] {
    color: var(--erp-menu-accent, var(--erp-nav-active, #086ad8));
    background: #ffffff;
    border-color: #bdd8f4;
}

.erp-menu-title[b-rgmp352cqo] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.erp-menu-arrow[b-rgmp352cqo] {
    width: 18px;
    min-width: 18px;
    margin-left: auto;
    display: inline-grid;
    place-items: center;
    color: var(--erp-nav-text-muted, #647d96);
}

.erp-ico-arrow[b-rgmp352cqo] {
    transition: transform .15s ease;
}

.erp-menu-arrow.expanded .erp-ico-arrow[b-rgmp352cqo] {
    transform: rotate(90deg);
}

.erp-menu-children[b-rgmp352cqo] {
    margin-left: 15px;
    padding-left: 7px;
    border-left: 1px solid var(--erp-nav-border, #d7e4f0);
}

.erp-menu-children .erp-menu-button[b-rgmp352cqo] {
    min-height: 32px;
    padding-block: 6px;
    color: var(--erp-nav-text-muted, #647d96);
    font-size: 12px;
}

.erp-menu-children .erp-menu-button:hover[b-rgmp352cqo],
.erp-menu-children .erp-menu-button.contains-active[b-rgmp352cqo] {
    color: var(--erp-nav-text, #183b5b);
}

.erp-menu-children .erp-menu-button.active[b-rgmp352cqo] {
    color: var(--erp-nav-active, #086ad8);
}

.erp-menu-children .erp-menu-icon[b-rgmp352cqo] {
    width: 21px;
    min-width: 21px;
    height: 21px;
    border-color: transparent;
    background: transparent;
}

.erp-menu-fav[b-rgmp352cqo] {
    width: 27px;
    min-width: 27px;
    height: 27px;
    margin-right: 4px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    color: #a8b8c8;
    background: transparent;
    border: 0;
    border-radius: var(--erp-radius-sm, 4px);
    cursor: pointer;
    opacity: 0;
    transition: opacity .12s ease, color .12s ease, background .12s ease;
}

.erp-menu-fav.on[b-rgmp352cqo] {
    opacity: 1;
    color: var(--erp-nav-favorite, #d99a0b);
}

.erp-menu-row:hover .erp-menu-fav[b-rgmp352cqo] {
    opacity: 1;
}

.erp-menu-fav:hover[b-rgmp352cqo] {
    color: var(--erp-nav-favorite, #d99a0b);
    background: #fff7df;
}

.erp-menu-button:disabled[b-rgmp352cqo],
.erp-menu-button[aria-disabled="true"][b-rgmp352cqo] {
    color: var(--erp-nav-disabled, #9aacbd);
    background: transparent;
    cursor: not-allowed;
    opacity: .68;
}

.erp-menu-button:disabled .erp-menu-icon[b-rgmp352cqo],
.erp-menu-button[aria-disabled="true"] .erp-menu-icon[b-rgmp352cqo] {
    color: var(--erp-nav-disabled, #9aacbd);
    background: #f5f7f9;
    border-color: var(--erp-nav-border, #d7e4f0);
}

.erp-menu-empty[b-rgmp352cqo] {
    padding: 6px 8px 6px 30px;
    color: var(--erp-nav-text-muted, #647d96);
    font-size: 11px;
    font-style: italic;
}
/* /Components/MenuManagement/ErpPermissionMatrix.razor.rz.scp.css */
.erp-permission-panel[b-3gjydv917n] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
}

.erp-permission-toolbar[b-3gjydv917n] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.erp-search[b-3gjydv917n] {
    width: 280px;
    height: 34px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 0 10px;
    font-size: 13px;
}

.erp-btn[b-3gjydv917n] {
    height: 34px;
    border: 1px solid #d1d5db;
    background: #ffffff;
    border-radius: 8px;
    padding: 0 12px;
    font-size: 13px;
    cursor: pointer;
}

    .erp-btn:hover[b-3gjydv917n] {
        background: #f3f4f6;
    }

.erp-permission-grid[b-3gjydv917n] {
    flex: 1;
    overflow: auto;
}

    .erp-permission-grid table[b-3gjydv917n] {
        width: 100%;
        border-collapse: collapse;
        font-size: 13px;
    }

    .erp-permission-grid th[b-3gjydv917n] {
        position: sticky;
        top: 0;
        z-index: 1;
        background: #f3f4f6;
        border-bottom: 1px solid #d1d5db;
        padding: 8px;
        text-align: center;
        white-space: nowrap;
    }

    .erp-permission-grid td[b-3gjydv917n] {
        border-bottom: 1px solid #f1f5f9;
        padding: 7px 8px;
        text-align: center;
    }

    .erp-permission-grid .menu-col[b-3gjydv917n] {
        text-align: left;
        min-width: 320px;
    }
/* /Components/Pages/Authentication/Login - Copy.razor.rz.scp.css */
*[b-mx5irfc70l],
*[b-mx5irfc70l]::before,
*[b-mx5irfc70l]::after {
    box-sizing: border-box;
}

html[b-mx5irfc70l],
body[b-mx5irfc70l] {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

.erp-login-shell[b-mx5irfc70l] {
    width: 100vw;
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(520px, 1.35fr) minmax(420px, .65fr);
    background: #f4f7fb;
    overflow: hidden;
}

/* LEFT VISUAL PANEL */
.erp-login-visual[b-mx5irfc70l] {
    position: relative;
    min-height: 100vh;
    padding: 34px 42px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: linear-gradient(120deg, rgba(0, 31, 63, .92), rgba(0, 95, 184, .78)), radial-gradient(circle at 22% 18%, rgba(91, 194, 231, .55), transparent 30%), radial-gradient(circle at 75% 72%, rgba(0, 120, 212, .65), transparent 34%), linear-gradient(135deg, #001f3f 0%, #005a9e 52%, #0078d4 100%);
}

    .erp-login-visual[b-mx5irfc70l]::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
        background-size: 42px 42px;
        opacity: .18;
    }

    .erp-login-visual[b-mx5irfc70l]::after {
        content: "";
        position: absolute;
        width: 480px;
        height: 480px;
        right: -160px;
        bottom: -140px;
        border-radius: 50%;
        border: 70px solid rgba(255,255,255,.08);
    }

.erp-visual-top[b-mx5irfc70l],
.erp-visual-content[b-mx5irfc70l],
.erp-visual-footer[b-mx5irfc70l] {
    position: relative;
    z-index: 1;
}

.erp-visual-top[b-mx5irfc70l] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.erp-app-mark[b-mx5irfc70l],
.erp-card-logo[b-mx5irfc70l] {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-weight: 800;
    flex-shrink: 0;
}

.erp-app-mark[b-mx5irfc70l] {
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.28);
    color: #ffffff;
    font-size: 22px;
}

.erp-visual-top h1[b-mx5irfc70l] {
    margin: 0;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -.02em;
}

.erp-visual-top p[b-mx5irfc70l] {
    margin: 4px 0 0;
    font-size: 13px;
    color: rgba(255,255,255,.78);
}

.erp-visual-content[b-mx5irfc70l] {
    max-width: 720px;
    margin: auto 0;
}

.erp-chip[b-mx5irfc70l] {
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 12px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.22);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
}

.erp-visual-content h2[b-mx5irfc70l] {
    margin: 0;
    max-width: 760px;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1.05;
    letter-spacing: -.045em;
    font-weight: 800;
}

.erp-visual-content p[b-mx5irfc70l] {
    margin: 22px 0 0;
    max-width: 660px;
    font-size: 16px;
    line-height: 1.65;
    color: rgba(255,255,255,.84);
}

.erp-feature-grid[b-mx5irfc70l] {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 14px;
    margin-top: 34px;
}

    .erp-feature-grid div[b-mx5irfc70l] {
        min-height: 96px;
        padding: 16px;
        border-radius: 16px;
        background: rgba(255,255,255,.11);
        border: 1px solid rgba(255,255,255,.18);
        backdrop-filter: blur(8px);
    }

    .erp-feature-grid strong[b-mx5irfc70l] {
        display: block;
        margin-bottom: 8px;
        font-size: 14px;
    }

    .erp-feature-grid span[b-mx5irfc70l] {
        display: block;
        color: rgba(255,255,255,.76);
        font-size: 13px;
        line-height: 1.45;
    }

.erp-visual-footer[b-mx5irfc70l] {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    color: rgba(255,255,255,.76);
    font-size: 12px;
}

/* RIGHT LOGIN PANEL */
.erp-login-panel[b-mx5irfc70l] {
    min-height: 100vh;
    padding: 40px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef5fb 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow-y: auto;
}

.erp-login-card[b-mx5irfc70l] {
    width: 100%;
    max-width: 420px;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #dce6f2;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .10), 0 2px 8px rgba(15, 23, 42, .04);
}

.erp-card-header[b-mx5irfc70l] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 26px;
}

.erp-card-logo[b-mx5irfc70l] {
    background: #0a6ed1;
    color: #ffffff;
    font-size: 20px;
}

.erp-card-header h3[b-mx5irfc70l] {
    margin: 0;
    font-size: 26px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -.03em;
}

.erp-card-header p[b-mx5irfc70l] {
    margin: 5px 0 0;
    color: #64748b;
    font-size: 13px;
}

.erp-form[b-mx5irfc70l] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.erp-field[b-mx5irfc70l] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.erp-input[b-mx5irfc70l] {
    width: 100%;
}

    .erp-input fluent-text-field[b-mx5irfc70l],
    .erp-input fluent-number-field[b-mx5irfc70l] {
        width: 100%;
    }

.validation-message[b-mx5irfc70l] {
    color: #b42318;
    font-size: 12px;
}

.erp-options-row[b-mx5irfc70l] {
    margin-top: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.erp-link[b-mx5irfc70l] {
    color: #0a6ed1;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

    .erp-link:hover[b-mx5irfc70l] {
        text-decoration: underline;
    }

.erp-submit[b-mx5irfc70l] {
    width: 100%;
    margin-top: 4px;
}

.erp-login-meta[b-mx5irfc70l] {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #e5eaf3;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #64748b;
    font-size: 12px;
}

.erp-login-footer[b-mx5irfc70l] {
    margin: 18px 0 0;
    color: #64748b;
    font-size: 12px;
    text-align: center;
}

    .erp-login-footer a[b-mx5irfc70l] {
        color: #0a6ed1;
        text-decoration: none;
        font-weight: 600;
    }

        .erp-login-footer a:hover[b-mx5irfc70l] {
            text-decoration: underline;
        }

/* COMPATIBILITY WITH OLD CLASSES */
.signin-container[b-mx5irfc70l],
.left-panel[b-mx5irfc70l],
.right-panel[b-mx5irfc70l],
.login-stack[b-mx5irfc70l],
.logo[b-mx5irfc70l],
.signin-title[b-mx5irfc70l],
.full-width[b-mx5irfc70l],
.footer-text[b-mx5irfc70l] {
    all: unset;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
    .erp-login-shell[b-mx5irfc70l] {
        grid-template-columns: 1fr;
    }

    .erp-login-visual[b-mx5irfc70l] {
        min-height: 420px;
    }

    .erp-login-panel[b-mx5irfc70l] {
        min-height: auto;
    }
}

@media (max-width: 720px) {
    .erp-login-visual[b-mx5irfc70l] {
        padding: 24px;
        min-height: 360px;
    }

    .erp-visual-content h2[b-mx5irfc70l] {
        font-size: 34px;
    }

    .erp-feature-grid[b-mx5irfc70l] {
        grid-template-columns: 1fr;
    }

    .erp-visual-footer[b-mx5irfc70l] {
        flex-direction: column;
    }

    .erp-login-panel[b-mx5irfc70l] {
        padding: 24px;
    }

    .erp-login-card[b-mx5irfc70l] {
        padding: 24px;
        border-radius: 14px;
    }
}
/* /Components/Pages/Authentication/Login.razor.rz.scp.css */
*[b-bfw5uv9rpf],
*[b-bfw5uv9rpf]::before,
*[b-bfw5uv9rpf]::after {
    box-sizing: border-box;
}

html[b-bfw5uv9rpf],
body[b-bfw5uv9rpf] {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

.erp-login-shell[b-bfw5uv9rpf] {
    width: 100vw;
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(520px, 1.35fr) minmax(420px, .65fr);
    background: #f4f7fb;
    overflow: hidden;
}

/* LEFT VISUAL PANEL */
.erp-login-visual[b-bfw5uv9rpf] {
    position: relative;
    min-height: 100vh;
    padding: 34px 42px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: linear-gradient(120deg, rgba(0, 31, 63, .92), rgba(0, 95, 184, .78)), radial-gradient(circle at 22% 18%, rgba(91, 194, 231, .55), transparent 30%), radial-gradient(circle at 75% 72%, rgba(0, 120, 212, .65), transparent 34%), linear-gradient(135deg, #001f3f 0%, #005a9e 52%, #0078d4 100%);
}

    .erp-login-visual[b-bfw5uv9rpf]::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
        background-size: 42px 42px;
        opacity: .18;
    }

    .erp-login-visual[b-bfw5uv9rpf]::after {
        content: "";
        position: absolute;
        width: 480px;
        height: 480px;
        right: -160px;
        bottom: -140px;
        border-radius: 50%;
        border: 70px solid rgba(255,255,255,.08);
    }

.erp-visual-top[b-bfw5uv9rpf],
.erp-visual-content[b-bfw5uv9rpf],
.erp-visual-footer[b-bfw5uv9rpf] {
    position: relative;
    z-index: 1;
}

.erp-visual-top[b-bfw5uv9rpf] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.erp-app-mark[b-bfw5uv9rpf],
.erp-card-logo[b-bfw5uv9rpf] {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-weight: 800;
    flex-shrink: 0;
}

.erp-app-mark[b-bfw5uv9rpf] {
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.28);
    color: #ffffff;
    font-size: 22px;
}

.erp-visual-top h1[b-bfw5uv9rpf] {
    margin: 0;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -.02em;
}

.erp-visual-top p[b-bfw5uv9rpf] {
    margin: 4px 0 0;
    font-size: 13px;
    color: rgba(255,255,255,.78);
}

.erp-visual-content[b-bfw5uv9rpf] {
    max-width: 720px;
    margin: auto 0;
}

.erp-chip[b-bfw5uv9rpf] {
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 12px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.22);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
}

.erp-visual-content h2[b-bfw5uv9rpf] {
    margin: 0;
    max-width: 760px;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1.05;
    letter-spacing: -.045em;
    font-weight: 800;
}

.erp-visual-content p[b-bfw5uv9rpf] {
    margin: 22px 0 0;
    max-width: 660px;
    font-size: 16px;
    line-height: 1.65;
    color: rgba(255,255,255,.84);
}

.erp-feature-grid[b-bfw5uv9rpf] {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 14px;
    margin-top: 34px;
}

    .erp-feature-grid div[b-bfw5uv9rpf] {
        min-height: 96px;
        padding: 16px;
        border-radius: 16px;
        background: rgba(255,255,255,.11);
        border: 1px solid rgba(255,255,255,.18);
        backdrop-filter: blur(8px);
    }

    .erp-feature-grid strong[b-bfw5uv9rpf] {
        display: block;
        margin-bottom: 8px;
        font-size: 14px;
    }

    .erp-feature-grid span[b-bfw5uv9rpf] {
        display: block;
        color: rgba(255,255,255,.76);
        font-size: 13px;
        line-height: 1.45;
    }

.erp-visual-footer[b-bfw5uv9rpf] {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    color: rgba(255,255,255,.76);
    font-size: 12px;
}

/* RIGHT LOGIN PANEL */
.erp-login-panel[b-bfw5uv9rpf] {
    min-height: 100vh;
    padding: 40px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef5fb 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow-y: auto;
}

.erp-login-card[b-bfw5uv9rpf] {
    width: 100%;
    max-width: 420px;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #dce6f2;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .10), 0 2px 8px rgba(15, 23, 42, .04);
}

.erp-card-header[b-bfw5uv9rpf] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 26px;
}

.erp-card-logo[b-bfw5uv9rpf] {
    background: #0a6ed1;
    color: #ffffff;
    font-size: 20px;
}

.erp-card-header h3[b-bfw5uv9rpf] {
    margin: 0;
    font-size: 26px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -.03em;
}

.erp-card-header p[b-bfw5uv9rpf] {
    margin: 5px 0 0;
    color: #64748b;
    font-size: 13px;
}

.erp-form[b-bfw5uv9rpf] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.erp-field[b-bfw5uv9rpf] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.erp-input[b-bfw5uv9rpf] {
    width: 100%;
}

    .erp-input fluent-text-field[b-bfw5uv9rpf],
    .erp-input fluent-number-field[b-bfw5uv9rpf] {
        width: 100%;
    }

.validation-message[b-bfw5uv9rpf] {
    color: #b42318;
    font-size: 12px;
}

.erp-options-row[b-bfw5uv9rpf] {
    margin-top: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.erp-link[b-bfw5uv9rpf] {
    color: #0a6ed1;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

    .erp-link:hover[b-bfw5uv9rpf] {
        text-decoration: underline;
    }

.erp-submit[b-bfw5uv9rpf] {
    width: 100%;
    margin-top: 4px;
}

.erp-login-meta[b-bfw5uv9rpf] {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #e5eaf3;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #64748b;
    font-size: 12px;
}

.erp-login-footer[b-bfw5uv9rpf] {
    margin: 18px 0 0;
    color: #64748b;
    font-size: 12px;
    text-align: center;
}

    .erp-login-footer a[b-bfw5uv9rpf] {
        color: #0a6ed1;
        text-decoration: none;
        font-weight: 600;
    }

        .erp-login-footer a:hover[b-bfw5uv9rpf] {
            text-decoration: underline;
        }

/* STEP 2: WORKSPACE SELECTION */
.erp-steps[b-bfw5uv9rpf] {
    list-style: none;
    margin: -8px 0 18px;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}

.erp-step[b-bfw5uv9rpf] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .erp-step + .erp-step[b-bfw5uv9rpf]::before {
        content: "";
        width: 28px;
        height: 1px;
        margin-right: 4px;
        background: #cbd5e1;
    }

    .erp-step span[b-bfw5uv9rpf] {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        display: inline-grid;
        place-items: center;
        font-size: 11px;
        border: 1px solid #cbd5e1;
        background: #ffffff;
    }

    .erp-step.done span[b-bfw5uv9rpf] {
        background: #e8f3fc;
        border-color: #0a6ed1;
        color: #0a6ed1;
    }

    .erp-step.active[b-bfw5uv9rpf] {
        color: #0f172a;
    }

        .erp-step.active span[b-bfw5uv9rpf] {
            background: #0a6ed1;
            border-color: #0a6ed1;
            color: #ffffff;
        }

.erp-user-strip[b-bfw5uv9rpf] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #f1f6fc;
    border: 1px solid #dce6f2;
    color: #334155;
    font-size: 13px;
}

    .erp-user-strip strong[b-bfw5uv9rpf] {
        color: #0f172a;
    }

.erp-context-loading[b-bfw5uv9rpf] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #64748b;
    font-size: 12px;
}

.erp-back-row[b-bfw5uv9rpf] {
    justify-content: center;
}

/* COMPATIBILITY WITH OLD CLASSES */
.signin-container[b-bfw5uv9rpf],
.left-panel[b-bfw5uv9rpf],
.right-panel[b-bfw5uv9rpf],
.login-stack[b-bfw5uv9rpf],
.logo[b-bfw5uv9rpf],
.signin-title[b-bfw5uv9rpf],
.full-width[b-bfw5uv9rpf],
.footer-text[b-bfw5uv9rpf] {
    all: unset;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
    .erp-login-shell[b-bfw5uv9rpf] {
        grid-template-columns: 1fr;
    }

    .erp-login-visual[b-bfw5uv9rpf] {
        min-height: 420px;
    }

    .erp-login-panel[b-bfw5uv9rpf] {
        min-height: auto;
    }
}

@media (max-width: 720px) {
    .erp-login-visual[b-bfw5uv9rpf] {
        padding: 24px;
        min-height: 360px;
    }

    .erp-visual-content h2[b-bfw5uv9rpf] {
        font-size: 34px;
    }

    .erp-feature-grid[b-bfw5uv9rpf] {
        grid-template-columns: 1fr;
    }

    .erp-visual-footer[b-bfw5uv9rpf] {
        flex-direction: column;
    }

    .erp-login-panel[b-bfw5uv9rpf] {
        padding: 24px;
    }

    .erp-login-card[b-bfw5uv9rpf] {
        padding: 24px;
        border-radius: 14px;
    }
}

/* WORKSPACE: retry after a failed lookup */
.erp-retry-row[b-bfw5uv9rpf] {
    justify-content: center;
    margin-top: -4px;
}

.erp-field .validation-message[b-bfw5uv9rpf] {
    margin-top: 4px;
    color: #b42318;
    font-size: 12px;
}
/* /Components/Pages/Batch/ListControls/BatchMaster_List.razor.rz.scp.css */
/* ============================================================
   BatchMaster_List — layout-only scoped styles, themed with the
   application's existing erp-theme.css tokens (no custom colour
   palette). The page shell itself (erp-master-page, erp-master-
   panel, erp-master-title-row, erp-form-section, erp-section-
   header, erp-status-badge, erp-row-actions, erp-form-actions)
   comes entirely from the shared, global erp-theme.css already
   used by the real Purchase Bill listing / form.
   ============================================================ */

.bm-table-wrap[b-8vf0thpb4s] {
    overflow-x: auto;
    padding: var(--erp-space-3);
}

.bm-table[b-8vf0thpb4s] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    font-family: var(--erp-font);
    color: var(--erp-text);
}

    .bm-table thead th[b-8vf0thpb4s] {
        text-align: left;
        padding: 8px 10px;
        background: var(--erp-surface-subtle);
        color: var(--erp-text-secondary);
        font-weight: 700;
        border-bottom: 1px solid var(--erp-border-soft);
    }

    .bm-table tbody td[b-8vf0thpb4s] {
        padding: 8px 10px;
        border-bottom: 1px solid var(--erp-border-soft);
    }

    .bm-table tbody tr:hover[b-8vf0thpb4s] {
        background: var(--erp-row-hover);
    }

.bm-action-col[b-8vf0thpb4s] {
    width: 130px;
}

.bm-row-actions[b-8vf0thpb4s] {
    white-space: nowrap;
}

.bm-empty-row[b-8vf0thpb4s] {
    text-align: center;
    color: var(--erp-text-muted);
    font-style: italic;
    padding: 16px;
}

.bm-field-grid[b-8vf0thpb4s] {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: var(--erp-space-3) var(--erp-space-4);
    padding: var(--erp-space-4);
}

.bm-span2[b-8vf0thpb4s] {
    grid-column: span 2;
}

.bm-plain-field[b-8vf0thpb4s] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

    .bm-plain-field > span[b-8vf0thpb4s] {
        font-size: 11px;
        font-weight: 650;
        color: var(--erp-text-secondary);
    }

.bm-lookup-field[b-8vf0thpb4s] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.bm-plain-input[b-8vf0thpb4s] {
    flex: 1 1 auto;
    padding: 6px 8px;
    border: 1px solid var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    font-size: 13px;
    font-family: var(--erp-font);
    background: var(--erp-surface);
    color: var(--erp-text);
    box-sizing: border-box;
}

.bm-search-button[b-8vf0thpb4s] {
    border: 1px solid var(--erp-border-strong);
    background: var(--erp-surface);
    border-radius: var(--erp-radius-sm);
    padding: 5px 9px;
    cursor: pointer;
}

.bm-form-actions[b-8vf0thpb4s] {
    margin-top: var(--erp-space-3);
}
/* /Components/Pages/Components/GenericPopup - Copy.razor.rz.scp.css */
@media (max-width: 768px) {
    .popup-box[b-ozmnqkwh3p] {
        width: 100vw !important;
        left: 0 !important;
        right: 0 !important;
    }
}
/* /Components/Pages/Components/GenericPopup.razor.rz.scp.css */
@media (max-width: 768px) {
    .popup-box[b-okbhnr38l2] {
        width: 100vw !important;
        left: 0 !important;
        right: 0 !important;
    }

    /* 🔹 Match GenericPopup input with FluentTextField */
    .fluent-input-wrapper .fluent-input[b-okbhnr38l2] {
        height: 40px;
        min-height: 40px;
        padding: 6px 10px;
        font-size: 14px;
        box-sizing: border-box;
    }
}
/* /Components/Pages/CurrentStockStatus/Dashboard/CurrentStockDashboard.razor.rz.scp.css */
/* Mirrors PurchaseDashboard.razor.css's own layout language (same
   erp-theme.css tokens, same card/KPI/widget shapes) - duplicated here
   because Blazor CSS isolation scopes a .razor.css file to its own page
   only. sd-* classes are specific to this page. */

.pd-page[b-6tthmhqvt9] {
    width: 100%;
    min-height: 100%;
    padding: 18px 22px 32px;
    background: var(--erp-page, #f6faff);
    color: var(--erp-text, #092f5d);
    box-sizing: border-box;
}

.pd-header[b-6tthmhqvt9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

    .pd-header h1[b-6tthmhqvt9] {
        margin: 0;
        font-size: 22px;
        font-weight: 700;
        color: var(--erp-text, #092f5d);
    }

    .pd-header span[b-6tthmhqvt9] {
        display: block;
        margin-top: 4px;
        font-size: 12.5px;
        color: var(--erp-text-muted, #6b809b);
    }

.pd-header-actions[b-6tthmhqvt9] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.pd-loading[b-6tthmhqvt9] {
    padding: 40px;
    text-align: center;
    color: var(--erp-text-muted, #6b809b);
}

.pd-kpi-grid[b-6tthmhqvt9] {
    display: grid;
    gap: 14px;
    margin-bottom: 18px;
}

.sd-kpi-grid[b-6tthmhqvt9] {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
}

.pd-kpi-card[b-6tthmhqvt9] {
    position: relative;
    background: linear-gradient(165deg, var(--pd-accent-soft, #eaf4ff) 0%, var(--erp-surface, #ffffff) 55%);
    border: 1px solid var(--pd-accent-border, var(--erp-border, #dbe7f4));
    border-radius: 10px;
    padding: 14px 14px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 100px;
    box-shadow: 0 2px 6px rgba(16, 24, 56, .06);
}

    .pd-kpi-card.accent-blue[b-6tthmhqvt9] { --pd-accent: var(--erp-blue-600, #1477df); --pd-accent-soft: var(--erp-blue-75, #eaf4ff); --pd-accent-border: var(--erp-blue-100, #d9ebff); }
    .pd-kpi-card.accent-green[b-6tthmhqvt9] { --pd-accent: var(--erp-success, #027a48); --pd-accent-soft: var(--erp-success-soft, #ecfdf3); --pd-accent-border: var(--erp-success-border, #abefc6); }
    .pd-kpi-card.accent-orange[b-6tthmhqvt9] { --pd-accent: var(--erp-nav-accent-4, #b87518); --pd-accent-soft: #fef3e6; --pd-accent-border: #fbd9a8; }
    .pd-kpi-card.accent-teal[b-6tthmhqvt9] { --pd-accent: var(--erp-nav-accent-2, #0f8b8d); --pd-accent-soft: #e6f6f6; --pd-accent-border: #b9e6e6; }

.pd-kpi-top[b-6tthmhqvt9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pd-kpi-icon[b-6tthmhqvt9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--pd-accent, var(--erp-blue-600, #1477df));
    color: #ffffff;
}

    .pd-kpi-icon svg[b-6tthmhqvt9] { fill: #ffffff; color: #ffffff; }

.pd-kpi-title[b-6tthmhqvt9] { font-size: 12px; color: var(--erp-text-muted, #6b809b); }
.pd-kpi-value[b-6tthmhqvt9] { font-size: 22px; font-weight: 700; line-height: 1.1; color: var(--erp-text, #092f5d); }
.pd-kpi-compare[b-6tthmhqvt9] { font-size: 11.5px; color: var(--erp-text-muted, #6b809b); }

.pd-widgets-grid[b-6tthmhqvt9] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.pd-widget-card[b-6tthmhqvt9] {
    position: relative;
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #dbe7f4);
    border-top: 3px solid var(--pd-accent, var(--erp-blue-600, #1477df));
    border-radius: 10px;
    padding: 14px;
    min-width: 0;
    box-shadow: 0 2px 6px rgba(16, 24, 56, .05);
}

    .pd-widget-card.accent-blue[b-6tthmhqvt9] { --pd-accent: var(--erp-blue-600, #1477df); }
    .pd-widget-card.accent-teal[b-6tthmhqvt9] { --pd-accent: var(--erp-nav-accent-2, #0f8b8d); }
    .pd-widget-card.accent-purple[b-6tthmhqvt9] { --pd-accent: var(--erp-nav-accent-3, #6f62c7); }
    .pd-widget-card.accent-orange[b-6tthmhqvt9] { --pd-accent: var(--erp-nav-accent-4, #b87518); }
    .pd-widget-card.accent-green[b-6tthmhqvt9] { --pd-accent: var(--erp-success, #027a48); }

.pd-wide[b-6tthmhqvt9] { margin-bottom: 16px; }

.pd-widget-header[b-6tthmhqvt9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.pd-widget-title[b-6tthmhqvt9] { display: flex; align-items: center; gap: 8px; }

.pd-widget-icon[b-6tthmhqvt9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: var(--pd-accent, var(--erp-blue-600, #1477df));
    color: #ffffff;
    flex-shrink: 0;
}

    .pd-widget-icon svg[b-6tthmhqvt9] { fill: #ffffff; color: #ffffff; width: 14px; height: 14px; }
    .pd-widget-header strong[b-6tthmhqvt9] { font-size: 13.5px; color: var(--erp-text, #092f5d); }

.pd-widget-note[b-6tthmhqvt9] {
    display: block;
    margin-top: 8px;
    font-size: 11px;
    color: var(--erp-text-muted, #6b809b);
}

.pd-chart-empty[b-6tthmhqvt9] {
    padding: 24px 8px;
    text-align: center;
    font-size: 12.5px;
    color: var(--erp-text-muted, #6b809b);
    background: var(--erp-surface-subtle, #f6faff);
    border: 1px dashed var(--erp-border, #dbe7f4);
    border-radius: 6px;
}

.pd-recent-table[b-6tthmhqvt9] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

    .pd-recent-table th[b-6tthmhqvt9] {
        text-align: left;
        padding: 8px 10px;
        background: var(--erp-surface-muted, #eef5fc);
        color: var(--erp-text-secondary, #28496f);
        font-weight: 650;
        border-bottom: 1px solid var(--erp-border, #dbe7f4);
    }

    .pd-recent-table td[b-6tthmhqvt9] {
        padding: 8px 10px;
        border-bottom: 1px solid var(--erp-border-soft, #e7eef7);
        color: var(--erp-text, #092f5d);
    }

/* ---------------------------------------------------------- Page-specific */

.sd-product-bars[b-6tthmhqvt9] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sd-product-row[b-6tthmhqvt9] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    align-items: center;
    padding: 6px 4px;
    border-radius: 5px;
    cursor: pointer;
}

    .sd-product-row:hover[b-6tthmhqvt9] {
        background: var(--erp-blue-75, #eaf4ff);
    }

.sd-product-name[b-6tthmhqvt9] {
    font-size: 12px;
    color: var(--erp-text-secondary, #28496f);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sd-product-qty[b-6tthmhqvt9] { font-size: 11.5px; color: var(--erp-text-muted, #6b809b); }
.sd-product-value[b-6tthmhqvt9] { font-size: 12px; font-weight: 650; color: var(--erp-text, #092f5d); }

.sd-recon[b-6tthmhqvt9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sd-recon-row[b-6tthmhqvt9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 2px;
    font-size: 12.5px;
    color: var(--erp-text-secondary, #28496f);
}

    .sd-recon-row strong[b-6tthmhqvt9] {
        color: var(--erp-text, #092f5d);
    }

.sd-recon-op[b-6tthmhqvt9] {
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: var(--erp-text-muted, #94a3b8);
}

.sd-recon-total[b-6tthmhqvt9] {
    border-top: 1px solid var(--erp-border-soft, #e7eef7);
    margin-top: 4px;
    padding-top: 8px;
    font-weight: 700;
}

    .sd-recon-total strong[b-6tthmhqvt9] {
        font-size: 15px;
        color: var(--erp-blue-700, #086ad8);
    }

.sd-up[b-6tthmhqvt9] { color: var(--erp-success, #027a48) !important; }
.sd-down[b-6tthmhqvt9] { color: var(--erp-danger, #b42318) !important; }

@media (max-width: 1400px) {
    .sd-kpi-grid[b-6tthmhqvt9] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
    .pd-widgets-grid[b-6tthmhqvt9] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .pd-page[b-6tthmhqvt9] { padding: 14px; }
    .sd-kpi-grid[b-6tthmhqvt9], .pd-widgets-grid[b-6tthmhqvt9] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Indent/IndentEntry.razor.rz.scp.css */
.indent-page[b-rngck9dctr] {
    min-height: calc(100vh - 78px);
    padding: 10px;
    background: #f5f7fb;
    color: #172033;
}

.indent-page-header[b-rngck9dctr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 8px;
    padding: 12px 16px;
    border: 1px solid #dfe7f1;
    background: linear-gradient(135deg, #fff 0%, #eef5ff 100%);
    box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
}

.indent-eyebrow[b-rngck9dctr] {
    margin-bottom: 2px;
    color: #175cd3;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.indent-title-line[b-rngck9dctr] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.indent-title-line h1[b-rngck9dctr] {
    margin: 0;
    color: #0f172a;
    font-size: 22px;
    font-weight: 750;
    letter-spacing: -.02em;
}

.indent-document-status[b-rngck9dctr],
.indent-grid-summary span[b-rngck9dctr] {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border: 1px solid #b8dbff;
    border-radius: 999px;
    background: #eef6ff;
    color: #175cd3;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.indent-page-header p[b-rngck9dctr],
.indent-section-heading p[b-rngck9dctr] {
    margin: 3px 0 0;
    color: #667085;
    font-size: 10.5px;
}

.indent-header-summary[b-rngck9dctr] {
    display: grid;
    grid-template-columns: repeat(3, minmax(96px, 1fr));
    gap: 8px;
}

.indent-header-summary > div[b-rngck9dctr] {
    min-width: 96px;
    padding: 7px 10px;
    border: 1px solid #dfe7f1;
    border-left: 3px solid #175cd3;
    border-radius: 6px;
    background: rgba(255, 255, 255, .9);
}

.indent-header-summary span[b-rngck9dctr],
.indent-header-summary strong[b-rngck9dctr] {
    display: block;
}

.indent-header-summary span[b-rngck9dctr] {
    color: #667085;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.indent-header-summary strong[b-rngck9dctr] {
    margin-top: 2px;
    font-size: 16px;
}

.indent-detail-heading-meta[b-rngck9dctr] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.indent-header-card .indent-title-line h1[b-rngck9dctr] { font-size: 17px; }
.indent-header-card .indent-eyebrow[b-rngck9dctr] { font-size: 8.5px; }

.indent-header-card .indent-header-summary[b-rngck9dctr] {
    grid-template-columns: repeat(3, minmax(72px, 1fr));
    gap: 5px;
}

.indent-header-card .indent-header-summary > div[b-rngck9dctr] {
    min-width: 72px;
    padding: 4px 7px;
}

.indent-header-card .indent-header-summary span[b-rngck9dctr] { font-size: 8px; }
.indent-header-card .indent-header-summary strong[b-rngck9dctr] { margin-top: 0; font-size: 13px; }

.indent-message[b-rngck9dctr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    padding: 8px 12px;
    border: 1px solid;
    font-size: 12px;
    font-weight: 600;
}

.indent-message.success[b-rngck9dctr] { border-color: #abefc6; background: #ecfdf3; color: #027a48; }
.indent-message.error[b-rngck9dctr] { border-color: #fecdca; background: #fef3f2; color: #b42318; }

.indent-message button[b-rngck9dctr] {
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 18px;
    cursor: pointer;
}

.indent-card[b-rngck9dctr] {
    margin-bottom: 8px;
    border: 1px solid #dfe7f1;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .035);
}

.indent-entry-row[b-rngck9dctr] {
    display: grid;
    grid-template-columns: minmax(640px, 1.55fr) minmax(360px, .85fr);
    align-items: stretch;
    gap: 8px;
    margin-bottom: 8px;
}

.indent-entry-row .indent-card[b-rngck9dctr] { margin-bottom: 0; }

.indent-header-card[b-rngck9dctr],
.indent-vendor-card[b-rngck9dctr],
.indent-final-card[b-rngck9dctr] { padding: 12px 14px; }

.indent-section-heading[b-rngck9dctr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #edf1f7;
}

.indent-section-heading.compact[b-rngck9dctr] { align-items: center; }

.indent-section-heading h2[b-rngck9dctr] {
    margin: 0;
    color: #172033;
    font-size: 14px;
    font-weight: 750;
}

.indent-required-note[b-rngck9dctr] { color: #667085; font-size: 10px; }
.indent-required-note b[b-rngck9dctr], .indent-field-label b[b-rngck9dctr] { color: #d92d20; }

.indent-filter-grid[b-rngck9dctr] {
    display: grid;
    grid-template-columns: 150px repeat(4, minmax(170px, 1fr)) auto;
    align-items: end;
    gap: 10px;
    padding-top: 12px;
}

.indent-header-card .indent-filter-grid[b-rngck9dctr] {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 8px;
    padding-top: 9px;
}

.indent-header-card .indent-load-items[b-rngck9dctr] { justify-self: end; }

.indent-field[b-rngck9dctr] { min-width: 0; }

.indent-field-label[b-rngck9dctr] {
    display: block;
    margin-bottom: 4px;
    color: #344054;
    font-size: 12px;
    font-weight: 600;
}

.indent-date-field[b-rngck9dctr]  fluent-date-picker,
.indent-field[b-rngck9dctr]  fluent-text-field { width: 100%; }
.indent-load-items[b-rngck9dctr] { padding-bottom: 1px; }
.indent-load-items[b-rngck9dctr]  fluent-button { min-width: 92px; }

.indent-vendor-selector[b-rngck9dctr] {
    position: relative;
    max-width: 760px;
    margin-top: 10px;
}

.indent-entry-row .indent-vendor-selector[b-rngck9dctr] { max-width: none; }

.indent-vendor-trigger[b-rngck9dctr] {
    width: 100%;
    min-height: 46px;
    padding: 7px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid #cfd9e6;
    border-radius: 6px;
    background: #fff;
    text-align: left;
    cursor: pointer;
}

.indent-vendor-trigger:hover:not(:disabled)[b-rngck9dctr],
.indent-vendor-trigger.open[b-rngck9dctr] {
    border-color: #0078d4;
    box-shadow: 0 0 0 2px rgba(0, 120, 212, .1);
}

.indent-vendor-trigger:disabled[b-rngck9dctr] {
    background: #f8fafc;
    color: #98a2b3;
    cursor: not-allowed;
}

.indent-vendor-trigger-content[b-rngck9dctr] { min-width: 0; }
.indent-vendor-trigger-label[b-rngck9dctr], .indent-vendor-trigger strong[b-rngck9dctr] { display: block; }

.indent-vendor-trigger-label[b-rngck9dctr] {
    margin-bottom: 2px;
    color: #667085;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.indent-vendor-trigger strong[b-rngck9dctr] {
    overflow: hidden;
    color: #172033;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.indent-vendor-chevron[b-rngck9dctr] { color: #475467; font-size: 9px; }

.indent-vendor-panel[b-rngck9dctr] {
    position: absolute;
    z-index: 2000;
    top: calc(100% + 4px);
    right: 0;
    left: 0;
    overflow: hidden;
    border: 1px solid #cfd9e6;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .18);
}

.indent-vendor-panel-toolbar[b-rngck9dctr] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border-bottom: 1px solid #edf1f7;
    background: #f8fafc;
}

.indent-vendor-search-wrap[b-rngck9dctr] {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    padding: 0 9px;
    border: 1px solid #d6e0ed;
    border-radius: 5px;
    background: #fff;
}

.indent-vendor-search-wrap input[b-rngck9dctr] {
    width: 100%;
    border: 0;
    outline: 0;
    color: #172033;
    font: inherit;
    font-size: 12px;
}

.indent-select-all[b-rngck9dctr] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #344054;
    font-size: 11px;
    font-weight: 650;
    cursor: pointer;
}

.indent-select-all input[b-rngck9dctr] { width: 15px; height: 15px; accent-color: #0078d4; }

.indent-vendor-panel-meta[b-rngck9dctr] {
    display: flex;
    justify-content: space-between;
    padding: 6px 10px;
    border-bottom: 1px solid #edf1f7;
    color: #667085;
    font-size: 10px;
}

.indent-vendor-panel-meta strong[b-rngck9dctr] { color: #175cd3; }
.indent-vendor-list[b-rngck9dctr] { max-height: 280px; overflow: auto; padding: 5px; }

.indent-vendor-option[b-rngck9dctr] {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 6px 9px;
    border: 1px solid transparent;
    border-radius: 5px;
    cursor: pointer;
}

.indent-vendor-option:hover[b-rngck9dctr] { background: #f7faff; }
.indent-vendor-option.selected[b-rngck9dctr] { border-color: #b8dbff; background: #eef6ff; }

.indent-vendor-option > input[b-rngck9dctr] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

.indent-vendor-check[b-rngck9dctr] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1px solid #98a2b3;
    border-radius: 3px;
    background: #fff;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.indent-vendor-option.selected .indent-vendor-check[b-rngck9dctr] { border-color: #0078d4; background: #0078d4; }
.indent-vendor-identity[b-rngck9dctr] { min-width: 0; }

.indent-vendor-identity strong[b-rngck9dctr],
.indent-vendor-identity small[b-rngck9dctr] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.indent-vendor-identity strong[b-rngck9dctr] { font-size: 11.5px; }
.indent-vendor-identity small[b-rngck9dctr] { margin-top: 1px; color: #667085; font-size: 9.5px; }

.indent-vendor-state[b-rngck9dctr] {
    min-width: 58px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #f2f4f7;
    color: #667085;
    font-size: 9px;
    font-weight: 700;
    text-align: center;
}

.indent-vendor-option.selected .indent-vendor-state[b-rngck9dctr] { background: #dbeeff; color: #175cd3; }
.indent-vendor-empty[b-rngck9dctr] { padding: 28px 12px; color: #667085; font-size: 11px; text-align: center; }

.indent-vendor-panel-footer[b-rngck9dctr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    border-top: 1px solid #edf1f7;
    background: #f8fafc;
}

.indent-link-button[b-rngck9dctr] {
    border: 0;
    background: transparent;
    color: #175cd3;
    font-size: 10.5px;
    font-weight: 650;
    cursor: pointer;
}

.indent-vendor-chips[b-rngck9dctr] { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }

.indent-vendor-chip[b-rngck9dctr] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 24px;
    padding: 2px 5px 2px 8px;
    border: 1px solid #b8dbff;
    border-radius: 999px;
    background: #eef6ff;
    color: #175cd3;
    font-size: 10px;
    font-weight: 650;
}

.indent-vendor-chip button[b-rngck9dctr] {
    width: 16px;
    height: 16px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #d6e9ff;
    color: #175cd3;
    cursor: pointer;
}

.indent-vendor-help[b-rngck9dctr] { margin-top: 7px; color: #667085; font-size: 10.5px; }
.indent-items-card[b-rngck9dctr] { overflow: hidden; }
.indent-items-card .indent-section-heading[b-rngck9dctr] { padding: 10px 14px; }
.indent-items-heading[b-rngck9dctr] { align-items: flex-end; }

.indent-item-toolbar[b-rngck9dctr] {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.indent-item-search[b-rngck9dctr],
.indent-item-page-size[b-rngck9dctr] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    color: #667085;
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
}

.indent-item-search input[b-rngck9dctr],
.indent-item-page-size select[b-rngck9dctr] {
    height: 30px;
    border: 1px solid #d6e0ed;
    border-radius: 4px;
    background: #fff;
    color: #172033;
    font-size: 11px;
    outline: none;
}

.indent-item-search input[b-rngck9dctr] { width: 230px; padding: 4px 9px; }
.indent-item-page-size select[b-rngck9dctr] { min-width: 68px; padding: 3px 7px; }

.indent-item-search input:focus[b-rngck9dctr],
.indent-item-page-size select:focus[b-rngck9dctr] {
    border-color: #0078d4;
    box-shadow: 0 0 0 2px rgba(0, 120, 212, .1);
}

.indent-item-search input:disabled[b-rngck9dctr] { background: #f8fafc; cursor: not-allowed; }
.indent-grid-summary[b-rngck9dctr] { display: flex; align-items: center; gap: 6px; min-height: 30px; }
.indent-grid-scroll[b-rngck9dctr] { max-height: clamp(420px, 66vh, 760px); overflow: auto; }

.indent-item-grid[b-rngck9dctr] {
    width: 100%;
    min-width: 1450px;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 11px;
}

.indent-item-grid th[b-rngck9dctr],
.indent-item-grid td[b-rngck9dctr] {
    padding: 6px 8px;
    border-right: 1px solid #e5eaf1;
    border-bottom: 1px solid #e5eaf1;
    vertical-align: middle;
}

.indent-item-grid th:last-child[b-rngck9dctr], .indent-item-grid td:last-child[b-rngck9dctr] { border-right: 0; }

.indent-item-grid th[b-rngck9dctr] {
    position: sticky;
    z-index: 2;
    top: 0;
    height: 34px;
    background: #f4f7fb;
    color: #344054;
    font-size: 9.5px;
    font-weight: 800;
    text-align: left;
    text-transform: uppercase;
}

.indent-sort-button[b-rngck9dctr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    text-transform: inherit;
    cursor: pointer;
}

.indent-sort-button[b-rngck9dctr]::after { content: "\2195"; color: #98a2b3; font-size: 11px; }
.indent-sort-button.active[b-rngck9dctr] { color: #175cd3; }
.indent-sort-button.active.ascending[b-rngck9dctr]::after { content: "\2191"; color: #175cd3; }
.indent-sort-button.active.descending[b-rngck9dctr]::after { content: "\2193"; color: #175cd3; }

.indent-item-grid tbody td[b-rngck9dctr] { background: #fff; }
.indent-item-grid tbody tr:nth-child(even) td[b-rngck9dctr] { background: #fbfcfe; }
.indent-item-grid tbody tr:hover td[b-rngck9dctr] { background: #f3f8ff; }
.indent-item-grid tbody tr.has-quantity td[b-rngck9dctr] { background: #f5fbff; }
.indent-col-sr[b-rngck9dctr] { width: 52px; }
.indent-col-item[b-rngck9dctr] { min-width: 220px; }
.indent-col-qty[b-rngck9dctr] { width: 135px; }
.indent-col-remarks[b-rngck9dctr] { min-width: 260px; }
.indent-col-actions[b-rngck9dctr] { width: 78px; }

.indent-item-grid th:nth-child(1)[b-rngck9dctr],
.indent-item-grid td:nth-child(1)[b-rngck9dctr] {
    position: sticky;
    left: 0;
    z-index: 3;
}

.indent-item-grid th:nth-child(2)[b-rngck9dctr],
.indent-item-grid td:nth-child(2)[b-rngck9dctr] {
    position: sticky;
    left: 52px;
    z-index: 3;
    box-shadow: 3px 0 5px rgba(15, 23, 42, .05);
}

.indent-item-grid th:nth-child(9)[b-rngck9dctr],
.indent-item-grid td:nth-child(9)[b-rngck9dctr] {
    position: sticky;
    right: 78px;
    z-index: 3;
    box-shadow: -3px 0 5px rgba(15, 23, 42, .05);
}

.indent-item-grid th:last-child[b-rngck9dctr],
.indent-item-grid td:last-child[b-rngck9dctr] {
    position: sticky;
    right: 0;
    z-index: 3;
}

.indent-item-grid thead th:nth-child(1)[b-rngck9dctr],
.indent-item-grid thead th:nth-child(2)[b-rngck9dctr],
.indent-item-grid thead th:nth-child(9)[b-rngck9dctr],
.indent-item-grid thead th:last-child[b-rngck9dctr] {
    z-index: 5;
    background: #f4f7fb;
}

.indent-item-grid .indent-grid-no-results[b-rngck9dctr] {
    position: static;
    height: 92px;
    color: #667085;
    text-align: center;
}

.indent-item-name strong[b-rngck9dctr], .indent-item-name small[b-rngck9dctr] { display: block; }
.indent-item-name strong[b-rngck9dctr] { font-size: 11.5px; }
.indent-item-name small[b-rngck9dctr] { color: #667085; font-size: 9px; }

.indent-grid-input[b-rngck9dctr] {
    width: 100%;
    min-height: 29px;
    padding: 4px 7px;
    border: 1px solid #d6e0ed;
    border-radius: 4px;
    background: #fff;
    color: #172033;
    font-size: 11px;
    outline: none;
}

.indent-grid-input:focus[b-rngck9dctr] { border-color: #0078d4; box-shadow: 0 0 0 2px rgba(0, 120, 212, .1); }
.indent-grid-input.quantity[b-rngck9dctr] { font-weight: 700; text-align: right; }

.indent-row-action[b-rngck9dctr] {
    min-height: 28px;
    padding: 3px 9px;
    border: 1px solid #cfd9e6;
    border-radius: 4px;
    background: #fff;
    color: #344054;
    font-size: 10px;
    font-weight: 650;
    cursor: pointer;
}

.indent-row-action:hover[b-rngck9dctr] { border-color: #0078d4; color: #175cd3; }

.indent-grid-footer[b-rngck9dctr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 6px 14px;
    border-top: 1px solid #e5eaf1;
    background: #f8fafc;
    color: #667085;
    font-size: 10.5px;
}

.indent-grid-pagination[b-rngck9dctr] { display: flex; align-items: center; gap: 8px; }

.indent-grid-pagination button[b-rngck9dctr] {
    min-height: 28px;
    padding: 3px 10px;
    border: 1px solid #cfd9e6;
    border-radius: 4px;
    background: #fff;
    color: #344054;
    font-size: 10.5px;
    cursor: pointer;
}

.indent-grid-pagination button:hover:not(:disabled)[b-rngck9dctr] { border-color: #0078d4; color: #175cd3; }
.indent-grid-pagination button:disabled[b-rngck9dctr] { background: #f2f4f7; color: #98a2b3; cursor: not-allowed; }

.indent-loading-state[b-rngck9dctr],
.indent-empty-state[b-rngck9dctr] {
    min-height: 165px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #667085;
}

.indent-loading-state[b-rngck9dctr] { gap: 10px; font-size: 11px; }
.indent-empty-state[b-rngck9dctr] { flex-direction: column; gap: 4px; text-align: center; }
.indent-empty-state strong[b-rngck9dctr] { color: #344054; font-size: 12px; }
.indent-empty-state p[b-rngck9dctr] { margin: 0; font-size: 10.5px; }
.indent-empty-icon[b-rngck9dctr] { color: #98a2b3; font-size: 25px; }

.indent-remarks-field > span[b-rngck9dctr] { display: block; margin-bottom: 4px; color: #344054; font-size: 11px; font-weight: 650; }
.indent-remarks-input[b-rngck9dctr] { width: 100%; resize: vertical; }

.indent-active-field[b-rngck9dctr] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    padding: 8px 10px;
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #f8fafc;
}

.indent-active-field small[b-rngck9dctr] { color: #667085; font-size: 9.5px; }

.indent-action-bar[b-rngck9dctr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 12px -14px -12px;
    padding: 9px 14px;
    border-top: 1px solid #edf1f7;
    background: #f8fafc;
}

.indent-action-note strong[b-rngck9dctr], .indent-action-note span[b-rngck9dctr] { display: block; }
.indent-action-note strong[b-rngck9dctr] { color: #344054; font-size: 10.5px; }
.indent-action-note span[b-rngck9dctr] { color: #667085; font-size: 9.5px; }
.indent-actions[b-rngck9dctr] { display: flex; gap: 7px; }
.indent-actions[b-rngck9dctr]  fluent-button { min-width: 92px; }

.indent-save-card[b-rngck9dctr] { padding: 0; }

.indent-save-card .indent-action-bar[b-rngck9dctr] {
    margin: 0;
    padding: 8px 12px;
    border-top: 0;
}

.indent-save-bar[b-rngck9dctr] {
    display: grid;
    grid-template-columns: minmax(300px, 1.3fr) auto minmax(240px, .8fr) auto;
    align-items: end;
    gap: 12px;
}

.indent-save-bar .indent-remarks-input[b-rngck9dctr] {
    height: 31px;
    min-height: 31px;
    resize: none;
}

.indent-save-active[b-rngck9dctr] {
    min-height: 31px;
    flex-direction: row;
    align-items: center;
    padding: 5px 9px;
}

.indent-save-bar .indent-action-note[b-rngck9dctr],
.indent-save-bar .indent-actions[b-rngck9dctr] { align-self: center; }

@media (max-width: 1450px) {
    .indent-filter-grid[b-rngck9dctr] { grid-template-columns: repeat(3, minmax(180px, 1fr)); }
}

@media (max-width: 1250px) {
    .indent-entry-row[b-rngck9dctr] { grid-template-columns: 1fr; }
    .indent-entry-row .indent-card[b-rngck9dctr] { margin-bottom: 0; }
}

@media (max-width: 980px) {
    .indent-page-header[b-rngck9dctr] { align-items: flex-start; flex-direction: column; }
    .indent-header-summary[b-rngck9dctr] { width: 100%; }
    .indent-filter-grid[b-rngck9dctr] { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
    .indent-header-card .indent-filter-grid[b-rngck9dctr] { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
    .indent-items-heading[b-rngck9dctr] { align-items: stretch; flex-direction: column; }
    .indent-item-toolbar[b-rngck9dctr] { justify-content: flex-start; }
    .indent-save-bar[b-rngck9dctr] { grid-template-columns: minmax(0, 1fr) auto; }
}

@media (max-width: 620px) {
    .indent-page[b-rngck9dctr] { padding: 6px; }
    .indent-page-header[b-rngck9dctr], .indent-header-card[b-rngck9dctr], .indent-vendor-card[b-rngck9dctr], .indent-final-card[b-rngck9dctr] { padding: 10px; }
    .indent-title-line[b-rngck9dctr] { align-items: flex-start; flex-direction: column; gap: 5px; }
    .indent-title-line h1[b-rngck9dctr] { font-size: 19px; }
    .indent-header-summary[b-rngck9dctr], .indent-filter-grid[b-rngck9dctr] { grid-template-columns: 1fr; }
    .indent-section-heading[b-rngck9dctr], .indent-section-heading.compact[b-rngck9dctr], .indent-action-bar[b-rngck9dctr] { align-items: stretch; flex-direction: column; }
    .indent-header-card .indent-filter-grid[b-rngck9dctr] { grid-template-columns: 1fr; }
    .indent-header-card .indent-load-items[b-rngck9dctr] { justify-self: stretch; }
    .indent-item-toolbar[b-rngck9dctr] { align-items: stretch; flex-direction: column; }
    .indent-item-search input[b-rngck9dctr] { width: 100%; }
    .indent-grid-summary[b-rngck9dctr] { flex-wrap: wrap; }
    .indent-grid-footer[b-rngck9dctr] { align-items: stretch; flex-direction: column; }
    .indent-grid-pagination[b-rngck9dctr] { justify-content: space-between; }
    .indent-detail-heading-meta[b-rngck9dctr] { align-items: flex-start; width: 100%; }
    .indent-header-card .indent-header-summary[b-rngck9dctr] { width: 100%; }
    .indent-header-card .indent-title-line[b-rngck9dctr] { align-items: center; flex-direction: row; }
    .indent-save-bar[b-rngck9dctr] { grid-template-columns: 1fr; }
    .indent-vendor-panel[b-rngck9dctr] { position: fixed; top: 12%; right: 8px; left: 8px; max-height: 76vh; }
    .indent-vendor-panel-toolbar[b-rngck9dctr] { grid-template-columns: 1fr; }
    .indent-vendor-list[b-rngck9dctr] { max-height: 46vh; }
    .indent-actions[b-rngck9dctr] { justify-content: flex-end; }
}
/* /Components/Pages/Indent/IndentMaster_View.razor.rz.scp.css */
.indent-view-page[b-tthzo908k3] {
    display: flex;
    flex-direction: column;
    height: calc(100dvh - 78px);
    min-height: 0;
    overflow: hidden;
    padding: 8px;
    box-sizing: border-box;
    background: #f5f7fb;
    color: #172033;
    font-size: 12px;
}

.indent-view-header[b-tthzo908k3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex: 0 0 auto;
    margin-bottom: 6px;
    padding: 8px 12px;
    border: 1px solid #dfe7f1;
    background: linear-gradient(135deg, #fff 0%, #eef5ff 100%);
    box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
}

.indent-view-eyebrow[b-tthzo908k3] {
    margin-bottom: 3px;
    color: #175cd3;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.indent-view-title-line[b-tthzo908k3] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.indent-view-title-line h1[b-tthzo908k3] {
    margin: 0;
    color: #0f172a;
    font-size: 18px;
    line-height: 1.2;
}

.indent-view-header p[b-tthzo908k3],
.indent-view-section-heading p[b-tthzo908k3] {
    margin: 2px 0 0;
    color: #667085;
    font-size: 10.5px;
}

.indent-view-status[b-tthzo908k3],
.indent-view-line-status[b-tthzo908k3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.indent-view-status[b-tthzo908k3] { padding: 3px 9px; }
.indent-view-line-status[b-tthzo908k3] { min-width: 54px; padding: 2px 7px; }
.indent-view-status.active[b-tthzo908k3], .indent-view-line-status.active[b-tthzo908k3] { border-color: #abefc6; background: #ecfdf3; color: #027a48; }
.indent-view-status.inactive[b-tthzo908k3], .indent-view-line-status.inactive[b-tthzo908k3] { border-color: #d0d5dd; background: #f2f4f7; color: #475467; }

.indent-view-back[b-tthzo908k3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 30px;
    padding: 5px 12px;
    border: 1px solid #b8c7da;
    border-radius: 4px;
    background: #fff;
    color: #175cd3;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.indent-view-back:hover[b-tthzo908k3] { border-color: #0078d4; background: #f5faff; }

.indent-view-summary[b-tthzo908k3] {
    display: grid;
    grid-template-columns: repeat(5, minmax(140px, 1fr));
    flex: 0 0 auto;
    gap: 6px;
    margin-bottom: 6px;
}

.indent-view-summary article[b-tthzo908k3] {
    min-width: 0;
    padding: 5px 9px;
    border: 1px solid #dfe7f1;
    border-left: 3px solid #175cd3;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(15, 23, 42, .025);
}

.indent-view-summary span[b-tthzo908k3],
.indent-view-summary strong[b-tthzo908k3],
.indent-view-summary small[b-tthzo908k3] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.indent-view-summary span[b-tthzo908k3] {
    color: #667085;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.indent-view-summary strong[b-tthzo908k3] { margin-top: 1px; color: #101828; font-size: 13px; }
.indent-view-summary small[b-tthzo908k3] { margin-top: 1px; color: #667085; font-size: 8.5px; }

.indent-view-card[b-tthzo908k3] {
    overflow: hidden;
    margin-bottom: 6px;
    border: 1px solid #dfe7f1;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .03);
}

.indent-view-section-heading[b-tthzo908k3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 38px;
    padding: 4px 10px;
    border-bottom: 1px solid #e5eaf1;
    background: #fbfcfe;
}

.indent-view-section-heading > div[b-tthzo908k3] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.indent-view-section-heading > div > span[b-tthzo908k3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #eaf3ff;
    color: #175cd3;
    font-size: 10px;
    font-weight: 800;
}

.indent-view-section-heading h2[b-tthzo908k3] { margin: 0; color: #172033; font-size: 13px; }
.indent-view-count[b-tthzo908k3] { color: #175cd3; font-size: 10px; }

.indent-view-section-heading > .indent-view-master-visibility[b-tthzo908k3] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    min-width: 0;
}

.indent-view-section-heading > .indent-view-master-visibility > .indent-view-visibility-badge[b-tthzo908k3] {
    width: auto;
    height: 20px;
    padding: 0 7px;
    border: 1px solid;
    border-radius: 999px;
    font-size: 8.5px;
    font-weight: 800;
    white-space: nowrap;
}

.indent-view-visibility-badge.visible[b-tthzo908k3] { border-color: #abefc6; background: #ecfdf3; color: #027a48; }
.indent-view-visibility-badge.hidden[b-tthzo908k3] { border-color: #fecdca; background: #fef3f2; color: #b42318; }

.indent-view-master-visibility small[b-tthzo908k3] {
    min-width: 62px;
    color: #667085;
    font-size: 8.5px;
    white-space: nowrap;
}

.indent-view-visibility-toggle[b-tthzo908k3] {
    position: relative;
    flex: 0 0 auto;
    width: 34px;
    height: 19px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #98a2b3;
    cursor: pointer;
    transition: background .15s ease;
}

.indent-view-visibility-toggle > span[b-tthzo908k3] {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .28);
    transition: transform .15s ease;
}

.indent-view-visibility-toggle.on[b-tthzo908k3] { background: #12b76a; }
.indent-view-visibility-toggle.on > span[b-tthzo908k3] { transform: translateX(15px); }
.indent-view-visibility-toggle:hover:not(:disabled)[b-tthzo908k3] { box-shadow: 0 0 0 2px rgba(23, 92, 211, .12); }
.indent-view-visibility-toggle:focus-visible[b-tthzo908k3] { outline: 2px solid #175cd3; outline-offset: 2px; }
.indent-view-visibility-toggle:disabled[b-tthzo908k3] { opacity: .48; cursor: not-allowed; }
.indent-view-visibility-toggle.compact[b-tthzo908k3] { width: 30px; height: 17px; }
.indent-view-visibility-toggle.compact > span[b-tthzo908k3] { top: 3px; width: 11px; height: 11px; }
.indent-view-visibility-toggle.compact.on > span[b-tthzo908k3] { transform: translateX(13px); }

.indent-view-details-grid[b-tthzo908k3] {
    display: grid;
    grid-template-columns: repeat(9, minmax(100px, 1fr));
    margin: 0;
    padding: 0 10px;
    overflow-x: auto;
}

.indent-view-details-grid > div[b-tthzo908k3] {
    min-width: 0;
    padding: 5px 7px;
    border-bottom: 1px solid #edf1f7;
}

.indent-view-details-grid dt[b-tthzo908k3] {
    margin-bottom: 1px;
    color: #667085;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.indent-view-details-grid dd[b-tthzo908k3] {
    overflow-wrap: anywhere;
    margin: 0;
    color: #172033;
    font-size: 10.5px;
    font-weight: 650;
}

.indent-view-remarks[b-tthzo908k3] {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin: 4px 10px 5px;
    padding: 4px 7px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    background: #f8fafc;
}

.indent-view-remarks span[b-tthzo908k3] { color: #667085; font-size: 8.5px; font-weight: 800; text-transform: uppercase; }
.indent-view-remarks p[b-tthzo908k3] {
    overflow: hidden;
    margin: 0;
    color: #344054;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.indent-view-information-card[b-tthzo908k3] { flex: 0 0 auto; }

.indent-view-visibility-message[b-tthzo908k3] {
    flex: 0 0 auto;
    overflow: hidden;
    margin-bottom: 6px;
    padding: 4px 9px;
    border: 1px solid;
    font-size: 9.5px;
    font-weight: 650;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.indent-view-visibility-message.success[b-tthzo908k3] { border-color: #abefc6; background: #ecfdf3; color: #027a48; }
.indent-view-visibility-message.warning[b-tthzo908k3] { border-color: #fedf89; background: #fffaeb; color: #b54708; }
.indent-view-visibility-message.error[b-tthzo908k3] { border-color: #fecdca; background: #fef3f2; color: #b42318; }

.indent-view-audit-strip[b-tthzo908k3] {
    display: grid;
    grid-template-columns: repeat(6, minmax(120px, 1fr));
    gap: 0;
    padding: 4px 10px 5px;
    border-top: 1px solid #edf1f7;
    background: #fbfcfe;
    overflow-x: auto;
}

.indent-view-audit-strip > div[b-tthzo908k3] {
    min-width: 0;
    padding: 2px 7px;
    border-right: 1px solid #e5eaf1;
}

.indent-view-audit-strip > div:last-child[b-tthzo908k3] { border-right: 0; }

.indent-view-audit-strip span[b-tthzo908k3],
.indent-view-audit-strip strong[b-tthzo908k3] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.indent-view-audit-strip span[b-tthzo908k3] {
    color: #667085;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.indent-view-audit-strip strong[b-tthzo908k3] {
    margin-top: 1px;
    color: #344054;
    font-size: 9.5px;
}

.indent-view-register-grid[b-tthzo908k3] {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(400px, .9fr);
    flex: 1 1 auto;
    min-height: 120px;
    gap: 6px;
    margin-bottom: 6px;
    overflow: hidden;
}

.indent-view-register-card[b-tthzo908k3] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    margin-bottom: 0;
}

.ledger-register-card[b-tthzo908k3] { position: relative; }

.indent-view-register-toolbar[b-tthzo908k3] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    min-height: 36px;
    padding: 4px 7px;
    border-bottom: 1px solid #e5eaf1;
    background: #fff;
}

.indent-view-search[b-tthzo908k3] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1 1 180px;
    min-width: 0;
    height: 27px;
    padding: 0 8px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #fff;
    color: #667085;
}

.indent-view-search:focus-within[b-tthzo908k3] {
    border-color: #175cd3;
    box-shadow: 0 0 0 2px rgba(23, 92, 211, .1);
}

.indent-view-search input[b-tthzo908k3] {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #172033;
    font: inherit;
}

.indent-view-search input[b-tthzo908k3]::placeholder { color: #98a2b3; }

.vendor-register-toolbar[b-tthzo908k3] { align-items: stretch; }

.indent-view-vendor-actions[b-tthzo908k3] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
}

.indent-view-action[b-tthzo908k3] {
    min-height: 27px;
    padding: 3px 8px;
    border: 1px solid;
    border-radius: 4px;
    font: inherit;
    font-size: 9.5px;
    font-weight: 750;
    white-space: nowrap;
    cursor: pointer;
}

.indent-view-action.secondary[b-tthzo908k3] { border-color: #b8c7da; background: #fff; color: #175cd3; }
.indent-view-action.primary[b-tthzo908k3] { border-color: #175cd3; background: #175cd3; color: #fff; }
.indent-view-action:hover:not(:disabled)[b-tthzo908k3] { filter: brightness(.97); box-shadow: 0 1px 3px rgba(15, 23, 42, .12); }
.indent-view-action:disabled[b-tthzo908k3] { opacity: .48; cursor: not-allowed; }

.indent-view-action-message[b-tthzo908k3] {
    flex: 0 0 auto;
    overflow: hidden;
    padding: 4px 8px;
    border-bottom: 1px solid;
    font-size: 9.5px;
    font-weight: 650;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.indent-view-action-message.success[b-tthzo908k3] { border-color: #abefc6; background: #ecfdf3; color: #027a48; }
.indent-view-action-message.warning[b-tthzo908k3] { border-color: #fedf89; background: #fffaeb; color: #b54708; }
.indent-view-action-message.error[b-tthzo908k3] { border-color: #fecdca; background: #fef3f2; color: #b42318; }

.indent-view-vendor-picker[b-tthzo908k3] {
    position: absolute;
    z-index: 10;
    inset: 80px 6px 6px;
    display: flex;
    flex-direction: column;
    min-height: 180px;
    overflow: hidden;
    border: 1px solid #9cb7db;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .22);
}

.indent-view-picker-heading[b-tthzo908k3],
.indent-view-picker-toolbar[b-tthzo908k3],
.indent-view-picker-footer[b-tthzo908k3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex: 0 0 auto;
    padding: 6px 8px;
}

.indent-view-picker-heading[b-tthzo908k3] { border-bottom: 1px solid #e5eaf1; background: #f4f7fb; }
.indent-view-picker-heading strong[b-tthzo908k3],
.indent-view-picker-heading span[b-tthzo908k3] { display: block; }
.indent-view-picker-heading strong[b-tthzo908k3] { color: #172033; font-size: 11px; }
.indent-view-picker-heading span[b-tthzo908k3] { margin-top: 1px; color: #667085; font-size: 9px; }
.indent-view-picker-heading > button[b-tthzo908k3] {
    width: 25px;
    height: 25px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #475467;
    cursor: pointer;
}
.indent-view-picker-heading > button:hover[b-tthzo908k3] { background: #e4ebf5; }

.indent-view-picker-toolbar[b-tthzo908k3] { border-bottom: 1px solid #e5eaf1; }
.indent-view-select-all[b-tthzo908k3] { display: flex; align-items: center; gap: 5px; color: #344054; font-weight: 650; white-space: nowrap; }

.indent-view-picker-list[b-tthzo908k3] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 3px 6px;
}

.indent-view-picker-option[b-tthzo908k3] {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    padding: 6px;
    border-bottom: 1px solid #edf1f7;
    cursor: pointer;
}

.indent-view-picker-option:hover[b-tthzo908k3] { background: #f3f8ff; }
.indent-view-picker-option span[b-tthzo908k3],
.indent-view-picker-option strong[b-tthzo908k3],
.indent-view-picker-option small[b-tthzo908k3] { display: block; min-width: 0; }
.indent-view-picker-option strong[b-tthzo908k3],
.indent-view-picker-option small[b-tthzo908k3] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.indent-view-picker-option strong[b-tthzo908k3] { color: #172033; font-size: 10px; }
.indent-view-picker-option small[b-tthzo908k3] { margin-top: 1px; color: #667085; font-size: 9px; }
.indent-view-picker-option code[b-tthzo908k3] { color: #475467; font-size: 9px; }
.indent-view-picker-empty[b-tthzo908k3] { padding: 24px 8px; color: #667085; text-align: center; }

.indent-view-picker-footer[b-tthzo908k3] { border-top: 1px solid #e5eaf1; background: #fbfcfe; }
.indent-view-picker-footer > span[b-tthzo908k3] { color: #475467; font-weight: 700; }
.indent-view-picker-footer > div[b-tthzo908k3] { display: flex; gap: 5px; }

.indent-view-delivery-state[b-tthzo908k3] {
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    border: 1px solid;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
    white-space: nowrap;
}

.indent-view-delivery-state.existing[b-tthzo908k3] { border-color: #b2ccff; background: #eff4ff; color: #175cd3; }
.indent-view-delivery-state.pending[b-tthzo908k3] { border-color: #fedf89; background: #fffaeb; color: #b54708; }
.indent-view-delivery-state.sent[b-tthzo908k3] { border-color: #abefc6; background: #ecfdf3; color: #027a48; }
.indent-view-delivery-state.unavailable[b-tthzo908k3] { border-color: #d0d5dd; background: #f2f4f7; color: #667085; }

.indent-view-register-card input[type="checkbox"][b-tthzo908k3] { accent-color: #175cd3; }
.indent-view-table .select-column[b-tthzo908k3] { width: 32px; padding-right: 5px; padding-left: 5px; }

.indent-view-table-scroll[b-tthzo908k3] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.indent-view-table[b-tthzo908k3] {
    width: 100%;
    min-width: 920px;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 10.5px;
}

.indent-view-table th[b-tthzo908k3],
.indent-view-table td[b-tthzo908k3] {
    padding: 7px 9px;
    border-right: 1px solid #e5eaf1;
    border-bottom: 1px solid #e5eaf1;
    vertical-align: middle;
    text-align: left;
}

.indent-view-table th:last-child[b-tthzo908k3],
.indent-view-table td:last-child[b-tthzo908k3] { border-right: 0; }
.indent-view-table tbody tr:last-child td[b-tthzo908k3] { border-bottom: 0; }

.indent-view-table th[b-tthzo908k3] {
    position: sticky;
    z-index: 2;
    top: 0;
    background: #f4f7fb;
    color: #344054;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.indent-view-table tbody tr:nth-child(even) td[b-tthzo908k3] { background: #fbfcfe; }
.indent-view-table tbody tr:hover td[b-tthzo908k3] { background: #f3f8ff; }
.indent-view-table th.center[b-tthzo908k3], .indent-view-table td.center[b-tthzo908k3] { text-align: center; }
.indent-view-table th.number[b-tthzo908k3], .indent-view-table td.number[b-tthzo908k3] { text-align: right; }
.indent-view-table td.quantity[b-tthzo908k3] { color: #175cd3; font-weight: 800; }
.indent-view-table td.code[b-tthzo908k3] { color: #344054; font-family: Consolas, "Courier New", monospace; }
.indent-view-table a[b-tthzo908k3] { color: #175cd3; text-decoration: none; }
.indent-view-table a:hover[b-tthzo908k3] { text-decoration: underline; }
.item-table[b-tthzo908k3] { min-width: 1080px; }
.vendor-table[b-tthzo908k3] { min-width: 690px; }

.indent-view-item-visibility[b-tthzo908k3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 116px;
}

.indent-view-item-visibility.parent-hidden[b-tthzo908k3] { opacity: .78; }

.indent-view-item-visibility-text[b-tthzo908k3] {
    font-size: 8.5px;
    font-weight: 800;
    white-space: nowrap;
}

.indent-view-item-visibility-text.visible[b-tthzo908k3] { color: #027a48; }
.indent-view-item-visibility-text.hidden[b-tthzo908k3] { color: #b42318; }
.indent-view-item-visibility-text.overridden[b-tthzo908k3] { color: #b54708; }

.indent-view-empty[b-tthzo908k3] {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 18px;
    color: #667085;
    text-align: center;
}

.indent-view-empty strong[b-tthzo908k3] { color: #344054; font-size: 12px; }

.indent-view-state[b-tthzo908k3] {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 24px;
    border: 1px solid #dfe7f1;
    background: #fff;
    text-align: left;
}

.indent-view-state strong[b-tthzo908k3],
.indent-view-state span[b-tthzo908k3] { display: block; }
.indent-view-state span[b-tthzo908k3] { margin-top: 3px; color: #667085; }

.indent-view-state.error[b-tthzo908k3] { flex-direction: column; text-align: center; }
.indent-view-state.error strong[b-tthzo908k3] { color: #b42318; }
.indent-view-state.error button[b-tthzo908k3] { margin-top: 8px; padding: 5px 12px; border: 1px solid #f04438; background: #fff; color: #b42318; cursor: pointer; }

.indent-view-state-icon[b-tthzo908k3] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #fef3f2;
    color: #b42318;
    font-size: 18px;
    font-weight: 800;
}

.indent-view-warning[b-tthzo908k3] {
    flex: 0 0 auto;
    margin-bottom: 6px;
    padding: 5px 10px;
    border: 1px solid #fedf89;
    background: #fffaeb;
    color: #b54708;
    font-weight: 650;
}

.indent-view-footer[b-tthzo908k3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex: 0 0 auto;
    min-height: 32px;
    padding: 3px 8px;
    border: 1px solid #dfe7f1;
    background: #fff;
    color: #667085;
    font-size: 10px;
}

@media (max-height: 760px) and (min-width: 851px) {
    .indent-view-header p[b-tthzo908k3],
    .indent-view-summary small[b-tthzo908k3],
    .indent-view-section-heading p[b-tthzo908k3] { display: none; }

    .indent-view-header[b-tthzo908k3] { padding-top: 5px; padding-bottom: 5px; }
    .indent-view-summary article[b-tthzo908k3] { padding-top: 3px; padding-bottom: 3px; }
    .indent-view-details-grid > div[b-tthzo908k3] { padding-top: 3px; padding-bottom: 3px; }
    .indent-view-audit-strip[b-tthzo908k3] { padding-top: 2px; padding-bottom: 2px; }
    .indent-view-master-visibility small[b-tthzo908k3] { display: none; }
}

@media (max-width: 1200px) and (min-width: 851px) {
    .indent-view-register-grid[b-tthzo908k3] {
        grid-template-columns: minmax(0, 1.45fr) minmax(320px, .85fr);
    }

    .indent-view-details-grid[b-tthzo908k3] { grid-template-columns: repeat(6, minmax(105px, 1fr)); }
    .vendor-register-toolbar[b-tthzo908k3] { flex-wrap: wrap; }
    .vendor-register-toolbar .indent-view-search[b-tthzo908k3] { flex-basis: 100%; }
    .indent-view-vendor-actions[b-tthzo908k3] { width: 100%; }
    .indent-view-vendor-actions .indent-view-action[b-tthzo908k3] { flex: 1 1 auto; }
    .indent-view-vendor-picker[b-tthzo908k3] { top: 112px; }
}

@media (max-width: 850px) {
    .indent-view-page[b-tthzo908k3] {
        height: auto;
        min-height: calc(100vh - 78px);
        overflow: visible;
    }

    .indent-view-header[b-tthzo908k3] { align-items: flex-start; flex-direction: column; }
    .indent-view-summary[b-tthzo908k3] { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
    .indent-view-details-grid[b-tthzo908k3] { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
    .indent-view-audit-strip[b-tthzo908k3] { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
    .indent-view-register-grid[b-tthzo908k3] { grid-template-columns: 1fr; overflow: visible; }
    .indent-view-register-card[b-tthzo908k3] { min-height: 340px; }
    .indent-view-table-scroll[b-tthzo908k3] { max-height: 420px; }
    .vendor-register-toolbar[b-tthzo908k3] { flex-wrap: wrap; }
    .vendor-register-toolbar .indent-view-search[b-tthzo908k3] { flex-basis: 100%; }
    .indent-view-vendor-actions[b-tthzo908k3] { width: 100%; }
    .indent-view-vendor-actions .indent-view-action[b-tthzo908k3] { flex: 1 1 auto; }
    .indent-view-vendor-picker[b-tthzo908k3] { position: static; max-height: 380px; margin: 6px; }
}

@media (max-width: 560px) {
    .indent-view-page[b-tthzo908k3] { padding: 6px; }
    .indent-view-header[b-tthzo908k3] { padding: 12px; }
    .indent-view-title-line[b-tthzo908k3] { align-items: flex-start; flex-direction: column; gap: 6px; }
    .indent-view-title-line h1[b-tthzo908k3] { font-size: 18px; }
    .indent-view-back[b-tthzo908k3] { width: 100%; }
    .indent-view-summary[b-tthzo908k3] { grid-template-columns: 1fr; }
    .indent-view-details-grid[b-tthzo908k3], .indent-view-audit-strip[b-tthzo908k3] { grid-template-columns: 1fr; }
    .indent-view-section-heading[b-tthzo908k3] { align-items: flex-start; flex-direction: column; }
    .indent-view-section-heading > .indent-view-master-visibility[b-tthzo908k3] { width: 100%; justify-content: flex-start; }
    .indent-view-vendor-actions[b-tthzo908k3] { flex-wrap: wrap; }
    .indent-view-vendor-actions .indent-view-action[b-tthzo908k3] { flex: 1 1 calc(50% - 4px); }
    .indent-view-picker-toolbar[b-tthzo908k3] { align-items: stretch; flex-direction: column; }
    .indent-view-footer[b-tthzo908k3] { align-items: stretch; flex-direction: column; }
}
/* /Components/Pages/Indent/ListControls/IndentMaster_List.razor.rz.scp.css */
.indent-register-startup[b-0n00n0m3q0] {
    display: flex;
    min-height: calc(100vh - 78px);
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 24px;
    border: 1px solid #dfe7f1;
    background: #f8fafc;
    color: #344054;
    text-align: left;
}

.indent-register-startup strong[b-0n00n0m3q0],
.indent-register-startup span[b-0n00n0m3q0] {
    display: block;
}

.indent-register-startup span[b-0n00n0m3q0] {
    margin-top: 3px;
    color: #667085;
    font-size: 11px;
}

.indent-register-startup-icon[b-0n00n0m3q0] {
    display: flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fef3f2;
    color: #b42318;
    font-size: 18px;
    font-weight: 800;
}
/* /Components/Pages/ItemModule/ItemLedgerMappingList.razor.rz.scp.css */
.ilm-page-shell[b-2b9qkd7gl7] {
    height: calc(100vh - 58px);
    min-height: 620px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    overflow: hidden;
    background: #f5f7fa;
    color: #1f2937;
    font-family: "Segoe UI", Arial, sans-serif;
}

.ilm-page-header[b-2b9qkd7gl7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 0 2px;
}

.ilm-page-header h1[b-2b9qkd7gl7] {
    margin: 2px 0 3px;
    font-size: 23px;
    font-weight: 650;
    letter-spacing: -0.3px;
}

.ilm-page-header p[b-2b9qkd7gl7],
.ilm-filter-title span[b-2b9qkd7gl7],
.ilm-grid-toolbar span[b-2b9qkd7gl7] {
    margin: 0;
    color: #667085;
    font-size: 12px;
}

.ilm-breadcrumb[b-2b9qkd7gl7] {
    color: #667085;
    font-size: 11px;
}

.ilm-header-summary[b-2b9qkd7gl7] {
    display: flex;
    gap: 8px;
}

.ilm-summary-card[b-2b9qkd7gl7] {
    min-width: 105px;
    padding: 8px 12px;
    border: 1px solid #d8dee8;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgb(16 24 40 / 4%);
}

.ilm-summary-card span[b-2b9qkd7gl7] {
    display: block;
    color: #667085;
    font-size: 11px;
}

.ilm-summary-card strong[b-2b9qkd7gl7] {
    display: block;
    margin-top: 2px;
    font-size: 19px;
}

.ilm-command-bar[b-2b9qkd7gl7],
.ilm-filter-panel[b-2b9qkd7gl7],
.ilm-grid-card[b-2b9qkd7gl7] {
    border: 1px solid #d8dee8;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgb(16 24 40 / 4%);
}

.ilm-command-bar[b-2b9qkd7gl7] {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 8px;
}

.ilm-command-group[b-2b9qkd7gl7] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.ilm-command-group.right[b-2b9qkd7gl7] {
    margin-left: auto;
}

.ilm-btn[b-2b9qkd7gl7],
.ilm-page-btn[b-2b9qkd7gl7],
.ilm-icon-btn[b-2b9qkd7gl7],
.ilm-link-btn[b-2b9qkd7gl7] {
    font: inherit;
    cursor: pointer;
}

.ilm-btn[b-2b9qkd7gl7] {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 5px 10px;
    border: 1px solid #c7cfdb;
    border-radius: 4px;
    background: #ffffff;
    color: #344054;
    font-size: 12px;
    font-weight: 600;
}

.ilm-btn:hover:not(:disabled)[b-2b9qkd7gl7] {
    border-color: #8b98aa;
    background: #f8fafc;
}

.ilm-btn.primary[b-2b9qkd7gl7] {
    border-color: #0f6cbd;
    background: #0f6cbd;
    color: #ffffff;
}

.ilm-btn.primary:hover:not(:disabled)[b-2b9qkd7gl7] {
    border-color: #0b5da6;
    background: #0b5da6;
}

.ilm-btn.danger[b-2b9qkd7gl7] {
    color: #b42318;
}

.ilm-btn:disabled[b-2b9qkd7gl7],
.ilm-page-btn:disabled[b-2b9qkd7gl7],
.ilm-icon-btn:disabled[b-2b9qkd7gl7] {
    cursor: not-allowed;
    opacity: 0.48;
}

.ilm-btn-icon[b-2b9qkd7gl7] {
    font-size: 15px;
    line-height: 1;
}

.ilm-message[b-2b9qkd7gl7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 11px;
    border: 1px solid;
    border-radius: 5px;
    font-size: 12px;
}

.ilm-message.success[b-2b9qkd7gl7] {
    border-color: #a6d9bd;
    background: #ecfdf3;
    color: #067647;
}

.ilm-message.error[b-2b9qkd7gl7] {
    border-color: #f3b2ad;
    background: #fef3f2;
    color: #b42318;
}

.ilm-message button[b-2b9qkd7gl7] {
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 18px;
}

.ilm-filter-panel[b-2b9qkd7gl7] {
    padding: 10px;
}

.ilm-filter-title[b-2b9qkd7gl7],
.ilm-grid-toolbar[b-2b9qkd7gl7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ilm-filter-title > div[b-2b9qkd7gl7],
.ilm-grid-toolbar > div:first-child[b-2b9qkd7gl7] {
    display: flex;
    align-items: baseline;
    gap: 9px;
}

.ilm-link-btn[b-2b9qkd7gl7] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #0f6cbd;
    font-size: 12px;
    font-weight: 600;
}

.ilm-filter-grid[b-2b9qkd7gl7] {
    display: grid;
    grid-template-columns: minmax(280px, 1.7fr) minmax(150px, 1fr) minmax(150px, 1fr) 135px 90px auto;
    gap: 9px;
    align-items: end;
    margin-top: 9px;
}

.ilm-field[b-2b9qkd7gl7] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.ilm-field > span[b-2b9qkd7gl7] {
    color: #475467;
    font-size: 11px;
    font-weight: 600;
}

.ilm-field input[b-2b9qkd7gl7],
.ilm-field select[b-2b9qkd7gl7] {
    width: 100%;
    height: 32px;
    box-sizing: border-box;
    border: 1px solid #c7cfdb;
    border-radius: 4px;
    background: #ffffff;
    color: #1f2937;
    outline: none;
    font: inherit;
    font-size: 12px;
}

.ilm-field input:focus[b-2b9qkd7gl7],
.ilm-field select:focus[b-2b9qkd7gl7] {
    border-color: #0f6cbd;
    box-shadow: 0 0 0 2px rgb(15 108 189 / 12%);
}

.ilm-field select[b-2b9qkd7gl7] {
    padding: 0 8px;
}

.ilm-search-box[b-2b9qkd7gl7] {
    position: relative;
}

.ilm-search-box > span[b-2b9qkd7gl7] {
    position: absolute;
    top: 50%;
    left: 9px;
    transform: translateY(-50%);
    color: #667085;
    pointer-events: none;
}

.ilm-search-box input[b-2b9qkd7gl7] {
    padding: 0 9px 0 28px;
}

.ilm-filter-action[b-2b9qkd7gl7] {
    display: flex;
    justify-content: flex-end;
}

.ilm-grid-card[b-2b9qkd7gl7] {
    min-height: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ilm-grid-toolbar[b-2b9qkd7gl7] {
    min-height: 40px;
    padding: 0 10px;
    border-bottom: 1px solid #e3e8ef;
}

.ilm-grid-legend[b-2b9qkd7gl7] {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #667085;
    font-size: 11px;
}

.status-dot[b-2b9qkd7gl7] {
    width: 7px;
    height: 7px;
    display: inline-block;
    margin-right: 4px;
    border-radius: 50%;
}

.status-dot.active[b-2b9qkd7gl7] {
    background: #12b76a;
}

.status-dot.inactive[b-2b9qkd7gl7] {
    background: #98a2b3;
}

.ilm-grid-scroll[b-2b9qkd7gl7] {
    min-height: 0;
    flex: 1;
    overflow: auto;
}

.ilm-grid[b-2b9qkd7gl7] {
    width: 100%;
    min-width: 1220px;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 11.5px;
}

.ilm-grid th[b-2b9qkd7gl7],
.ilm-grid td[b-2b9qkd7gl7] {
    padding: 7px 8px;
    border-bottom: 1px solid #e6eaf0;
    vertical-align: middle;
    text-align: left;
}

.ilm-grid th[b-2b9qkd7gl7] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8fafc;
    color: #475467;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.ilm-grid tbody tr:hover td[b-2b9qkd7gl7] {
    background: #f8fbff;
}

.ilm-grid tbody tr.selected-row td[b-2b9qkd7gl7] {
    background: #eef6ff;
}

.ilm-grid .check-column[b-2b9qkd7gl7],
.ilm-grid .center-column[b-2b9qkd7gl7],
.ilm-grid .action-column[b-2b9qkd7gl7] {
    text-align: center;
}

.ilm-grid .check-column[b-2b9qkd7gl7] {
    width: 34px;
}

.ilm-grid .action-column[b-2b9qkd7gl7] {
    width: 58px;
}

.ilm-name-link[b-2b9qkd7gl7] {
    padding: 0;
    border: 0;
    background: transparent;
    color: #0f5f9f;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    text-align: left;
}

.ilm-name-link:hover[b-2b9qkd7gl7] {
    text-decoration: underline;
}

.ilm-subtext[b-2b9qkd7gl7] {
    max-width: 280px;
    margin-top: 2px;
    overflow: hidden;
    color: #667085;
    font-size: 10.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ilm-ledger-name[b-2b9qkd7gl7] {
    color: #344054;
    font-weight: 600;
}

.ilm-boolean-mark[b-2b9qkd7gl7] {
    display: inline-flex;
    min-width: 34px;
    justify-content: center;
    padding: 2px 5px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
}

.ilm-boolean-mark.yes[b-2b9qkd7gl7] {
    background: #e8f5ff;
    color: #075985;
}

.ilm-boolean-mark.no[b-2b9qkd7gl7] {
    background: #f2f4f7;
    color: #667085;
}

.ilm-status-pill[b-2b9qkd7gl7] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
}

.ilm-status-pill i[b-2b9qkd7gl7] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.ilm-status-pill.active[b-2b9qkd7gl7] {
    background: #ecfdf3;
    color: #067647;
}

.ilm-status-pill.active i[b-2b9qkd7gl7] {
    background: #12b76a;
}

.ilm-status-pill.inactive[b-2b9qkd7gl7] {
    background: #f2f4f7;
    color: #475467;
}

.ilm-status-pill.inactive i[b-2b9qkd7gl7] {
    background: #98a2b3;
}

.ilm-icon-btn[b-2b9qkd7gl7] {
    width: 27px;
    height: 27px;
    border: 1px solid #d0d5dd;
    border-radius: 4px;
    background: #ffffff;
    color: #475467;
}

.ilm-icon-btn:hover[b-2b9qkd7gl7] {
    border-color: #0f6cbd;
    color: #0f6cbd;
}

.ilm-state-panel[b-2b9qkd7gl7] {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #667085;
}

.ilm-state-panel.empty strong[b-2b9qkd7gl7] {
    color: #344054;
    font-size: 15px;
}

.ilm-empty-icon[b-2b9qkd7gl7] {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eef4fb;
    color: #0f6cbd;
    font-size: 24px;
}

.ilm-spinner[b-2b9qkd7gl7] {
    width: 25px;
    height: 25px;
    border: 3px solid #d7e5f4;
    border-top-color: #0f6cbd;
    border-radius: 50%;
    animation: ilm-spin-b-2b9qkd7gl7 0.8s linear infinite;
}

@keyframes ilm-spin-b-2b9qkd7gl7 {
    to {
        transform: rotate(360deg);
    }
}

.ilm-grid-footer[b-2b9qkd7gl7] {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 10px;
    border-top: 1px solid #e3e8ef;
    background: #ffffff;
    color: #667085;
    font-size: 11px;
}

.ilm-pagination[b-2b9qkd7gl7] {
    display: flex;
    align-items: center;
    gap: 5px;
}

.ilm-page-btn[b-2b9qkd7gl7] {
    width: 28px;
    height: 27px;
    border: 1px solid #d0d5dd;
    border-radius: 4px;
    background: #ffffff;
    color: #344054;
}

.ilm-page-btn:hover:not(:disabled)[b-2b9qkd7gl7] {
    border-color: #0f6cbd;
    color: #0f6cbd;
}

@media (max-width: 1180px) {
    .ilm-filter-grid[b-2b9qkd7gl7] {
        grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(140px, 1fr));
    }

    .compact-field[b-2b9qkd7gl7],
    .ilm-filter-action[b-2b9qkd7gl7] {
        grid-column: auto;
    }
}

@media (max-width: 820px) {
    .ilm-page-shell[b-2b9qkd7gl7] {
        height: auto;
        min-height: 100vh;
        overflow: visible;
    }

    .ilm-page-header[b-2b9qkd7gl7],
    .ilm-command-bar[b-2b9qkd7gl7],
    .ilm-grid-footer[b-2b9qkd7gl7] {
        align-items: stretch;
        flex-direction: column;
    }

    .ilm-header-summary[b-2b9qkd7gl7] {
        width: 100%;
    }

    .ilm-summary-card[b-2b9qkd7gl7] {
        flex: 1;
    }

    .ilm-command-group.right[b-2b9qkd7gl7] {
        margin-left: 0;
    }

    .ilm-filter-grid[b-2b9qkd7gl7] {
        grid-template-columns: 1fr;
    }

    .ilm-grid-card[b-2b9qkd7gl7] {
        min-height: 540px;
    }
}
/* /Components/Pages/ItemModule/ItemLedgerMappingManage.razor.rz.scp.css */
.ilm-manage-shell[b-9ni42pdnnd] {
    height: calc(100vh - 58px);
    min-height: 650px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    overflow: hidden;
    background: #f5f7fa;
    color: #1f2937;
    font-family: "Segoe UI", Arial, sans-serif;
}

.ilm-manage-header[b-9ni42pdnnd] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.ilm-manage-header h1[b-9ni42pdnnd] {
    margin: 2px 0 3px;
    font-size: 23px;
    font-weight: 650;
    letter-spacing: -0.3px;
}

.ilm-manage-header p[b-9ni42pdnnd],
.ilm-mode-copy span[b-9ni42pdnnd],
.ilm-panel-heading small[b-9ni42pdnnd],
.ilm-primary-row small[b-9ni42pdnnd],
.ilm-empty-state span[b-9ni42pdnnd] {
    margin: 0;
    color: #667085;
    font-size: 12px;
}

.ilm-manage-breadcrumb[b-9ni42pdnnd] {
    color: #667085;
    font-size: 11px;
}

.ilm-manage-actions[b-9ni42pdnnd] {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.ilm-m-btn[b-9ni42pdnnd] {
    min-height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 11px;
    border: 1px solid #c7cfdb;
    border-radius: 4px;
    background: #ffffff;
    color: #344054;
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.ilm-m-btn:hover:not(:disabled)[b-9ni42pdnnd] {
    border-color: #8b98aa;
    background: #f8fafc;
}

.ilm-m-btn.primary[b-9ni42pdnnd] {
    border-color: #0f6cbd;
    background: #0f6cbd;
    color: #ffffff;
}

.ilm-m-btn.primary:hover:not(:disabled)[b-9ni42pdnnd] {
    border-color: #0b5da6;
    background: #0b5da6;
}

.ilm-m-btn.compact[b-9ni42pdnnd] {
    min-width: 72px;
}

.ilm-m-btn:disabled[b-9ni42pdnnd] {
    cursor: not-allowed;
    opacity: 0.5;
}

.ilm-m-message[b-9ni42pdnnd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 11px;
    border: 1px solid;
    border-radius: 5px;
    font-size: 12px;
}

.ilm-m-message.success[b-9ni42pdnnd] {
    border-color: #a6d9bd;
    background: #ecfdf3;
    color: #067647;
}

.ilm-m-message.error[b-9ni42pdnnd] {
    border-color: #f3b2ad;
    background: #fef3f2;
    color: #b42318;
}

.ilm-m-message button[b-9ni42pdnnd] {
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 18px;
    cursor: pointer;
}

.ilm-mode-card[b-9ni42pdnnd],
.ilm-primary-panel[b-9ni42pdnnd],
.ilm-assignment-panel[b-9ni42pdnnd] {
    border: 1px solid #d8dee8;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgb(16 24 40 / 4%);
}

.ilm-mode-card[b-9ni42pdnnd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 9px 10px;
}

.ilm-mode-copy[b-9ni42pdnnd] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ilm-mode-switch[b-9ni42pdnnd] {
    display: grid;
    grid-template-columns: repeat(2, minmax(210px, 1fr));
    gap: 7px;
}

.ilm-mode-switch button[b-9ni42pdnnd] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 10px;
    border: 1px solid #d0d5dd;
    border-radius: 5px;
    background: #ffffff;
    color: #344054;
    text-align: left;
    font: inherit;
    cursor: pointer;
}

.ilm-mode-switch button:hover[b-9ni42pdnnd] {
    border-color: #8ca8c4;
    background: #f8fbff;
}

.ilm-mode-switch button.active[b-9ni42pdnnd] {
    border-color: #0f6cbd;
    background: #eef6ff;
    color: #0f5f9f;
    box-shadow: inset 0 0 0 1px rgb(15 108 189 / 12%);
}

.ilm-mode-switch button > span:last-child[b-9ni42pdnnd] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.ilm-mode-switch small[b-9ni42pdnnd] {
    color: #667085;
    font-size: 10.5px;
}

.mode-icon[b-9ni42pdnnd] {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border-radius: 4px;
    background: #f2f4f7;
    color: #475467;
    font-size: 16px;
}

.ilm-mode-switch button.active .mode-icon[b-9ni42pdnnd] {
    background: #dceeff;
    color: #0f6cbd;
}

.ilm-manage-workspace[b-9ni42pdnnd] {
    min-height: 0;
    flex: 1;
    display: grid;
    grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
    gap: 12px;
    overflow: hidden;
}

.ilm-primary-panel[b-9ni42pdnnd],
.ilm-assignment-panel[b-9ni42pdnnd] {
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ilm-panel-heading[b-9ni42pdnnd] {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 11px;
    border-bottom: 1px solid #e3e8ef;
    background: #fbfcfe;
}

.ilm-panel-heading > div:first-child[b-9ni42pdnnd] {
    display: flex;
    align-items: center;
    gap: 9px;
}

.ilm-panel-heading > div:first-child > div[b-9ni42pdnnd] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.ilm-step[b-9ni42pdnnd] {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #0f6cbd;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
}

.ilm-selection-counter[b-9ni42pdnnd] {
    min-width: 74px;
    padding-left: 10px;
    border-left: 1px solid #d8dee8;
    text-align: right;
}

.ilm-selection-counter span[b-9ni42pdnnd] {
    display: block;
    color: #667085;
    font-size: 10px;
}

.ilm-selection-counter strong[b-9ni42pdnnd] {
    font-size: 17px;
}

.ilm-primary-search[b-9ni42pdnnd] {
    display: flex;
    gap: 7px;
    padding: 9px;
    border-bottom: 1px solid #e3e8ef;
}

.ilm-m-search-box[b-9ni42pdnnd] {
    position: relative;
    flex: 1;
    min-width: 0;
}

.ilm-m-search-box > span[b-9ni42pdnnd] {
    position: absolute;
    top: 50%;
    left: 9px;
    transform: translateY(-50%);
    color: #667085;
    pointer-events: none;
}

.ilm-m-search-box input[b-9ni42pdnnd],
.ilm-toolbar-field select[b-9ni42pdnnd] {
    width: 100%;
    height: 32px;
    box-sizing: border-box;
    border: 1px solid #c7cfdb;
    border-radius: 4px;
    background: #ffffff;
    color: #1f2937;
    outline: none;
    font: inherit;
    font-size: 12px;
}

.ilm-m-search-box input[b-9ni42pdnnd] {
    padding: 0 9px 0 28px;
}

.ilm-toolbar-field select[b-9ni42pdnnd] {
    padding: 0 8px;
}

.ilm-m-search-box input:focus[b-9ni42pdnnd],
.ilm-toolbar-field select:focus[b-9ni42pdnnd] {
    border-color: #0f6cbd;
    box-shadow: 0 0 0 2px rgb(15 108 189 / 12%);
}

.ilm-primary-list-wrap[b-9ni42pdnnd] {
    min-height: 150px;
    flex: 1;
    overflow: auto;
    border-bottom: 1px solid #e3e8ef;
}

.ilm-primary-list[b-9ni42pdnnd] {
    display: flex;
    flex-direction: column;
}

.ilm-primary-row[b-9ni42pdnnd] {
    width: 100%;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 8px;
    padding: 8px 9px;
    border: 0;
    border-bottom: 1px solid #edf0f4;
    background: #ffffff;
    color: #344054;
    text-align: left;
    font: inherit;
    cursor: pointer;
}

.ilm-primary-row:hover[b-9ni42pdnnd] {
    background: #f8fbff;
}

.ilm-primary-row.selected[b-9ni42pdnnd] {
    background: #eef6ff;
    box-shadow: inset 3px 0 0 #0f6cbd;
}

.ilm-record-icon[b-9ni42pdnnd] {
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    border-radius: 4px;
    background: #eef2f6;
    color: #475467;
    font-size: 11px;
    font-weight: 800;
}

.ilm-primary-row.selected .ilm-record-icon[b-9ni42pdnnd] {
    background: #dceeff;
    color: #0f6cbd;
}

.ilm-record-copy[b-9ni42pdnnd] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ilm-record-copy strong[b-9ni42pdnnd],
.ilm-record-copy small[b-9ni42pdnnd] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ilm-selected-mark[b-9ni42pdnnd] {
    color: #0f6cbd;
    font-weight: 800;
}

.ilm-context-card[b-9ni42pdnnd] {
    padding: 10px;
    background: #fbfcfe;
}

.ilm-context-title[b-9ni42pdnnd] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 8px;
}

.ilm-context-title span[b-9ni42pdnnd] {
    color: #667085;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.ilm-context-title strong[b-9ni42pdnnd] {
    color: #0f5f9f;
    font-size: 13px;
}

.ilm-context-grid[b-9ni42pdnnd] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin: 0;
}

.ilm-context-grid div[b-9ni42pdnnd] {
    min-width: 0;
    padding: 7px;
    border: 1px solid #e1e6ed;
    border-radius: 4px;
    background: #ffffff;
}

.ilm-context-grid dt[b-9ni42pdnnd] {
    color: #667085;
    font-size: 9.5px;
    text-transform: uppercase;
}

.ilm-context-grid dd[b-9ni42pdnnd] {
    margin: 2px 0 0;
    overflow: hidden;
    color: #344054;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ilm-assignment-toolbar[b-9ni42pdnnd] {
    display: grid;
    grid-template-columns: minmax(250px, 1.5fr) minmax(150px, 0.8fr) auto auto;
    align-items: end;
    gap: 9px;
    padding: 9px;
    border-bottom: 1px solid #e3e8ef;
}

.ilm-toolbar-search[b-9ni42pdnnd],
.ilm-toolbar-field[b-9ni42pdnnd] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.ilm-toolbar-search > span[b-9ni42pdnnd],
.ilm-toolbar-field > span[b-9ni42pdnnd] {
    color: #475467;
    font-size: 10.5px;
    font-weight: 600;
}

.ilm-check-option[b-9ni42pdnnd] {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #475467;
    font-size: 11px;
    white-space: nowrap;
}

.ilm-toolbar-actions[b-9ni42pdnnd] {
    display: flex;
    gap: 6px;
}

.ilm-assignment-grid-wrap[b-9ni42pdnnd] {
    min-height: 0;
    flex: 1;
    overflow: auto;
}

.ilm-assignment-grid[b-9ni42pdnnd] {
    width: 100%;
    min-width: 760px;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 11.5px;
}

.ilm-assignment-grid th[b-9ni42pdnnd],
.ilm-assignment-grid td[b-9ni42pdnnd] {
    padding: 7px 8px;
    border-bottom: 1px solid #e6eaf0;
    vertical-align: middle;
    text-align: left;
}

.ilm-assignment-grid th[b-9ni42pdnnd] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8fafc;
    color: #475467;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.ilm-assignment-grid tbody tr:hover td[b-9ni42pdnnd] {
    background: #f8fbff;
}

.ilm-assignment-grid tbody tr.selected-row td[b-9ni42pdnnd] {
    background: #eef6ff;
}

.ilm-assignment-grid .select-col[b-9ni42pdnnd],
.ilm-assignment-grid .flag-col[b-9ni42pdnnd] {
    width: 58px;
    text-align: center;
}

.ilm-candidate-name[b-9ni42pdnnd] {
    max-width: 330px;
    overflow: hidden;
    color: #344054;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ilm-candidate-subtext[b-9ni42pdnnd] {
    margin-top: 2px;
    color: #667085;
    font-size: 10px;
}

.ilm-mini-switch[b-9ni42pdnnd] {
    position: relative;
    width: 30px;
    height: 17px;
    display: inline-block;
}

.ilm-mini-switch input[b-9ni42pdnnd] {
    width: 0;
    height: 0;
    opacity: 0;
}

.ilm-mini-switch span[b-9ni42pdnnd] {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #c7cdd6;
    cursor: pointer;
    transition: 0.15s ease;
}

.ilm-mini-switch span[b-9ni42pdnnd]::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #ffffff;
    transition: 0.15s ease;
    box-shadow: 0 1px 2px rgb(0 0 0 / 20%);
}

.ilm-mini-switch input:checked + span[b-9ni42pdnnd] {
    background: #0f6cbd;
}

.ilm-mini-switch input:checked + span[b-9ni42pdnnd]::before {
    transform: translateX(13px);
}

.ilm-mini-switch input:disabled + span[b-9ni42pdnnd] {
    cursor: not-allowed;
    opacity: 0.45;
}

.ilm-assignment-footer[b-9ni42pdnnd] {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 10px;
    border-top: 1px solid #e3e8ef;
    background: #ffffff;
    color: #667085;
    font-size: 11px;
}

.ilm-unsaved-indicator[b-9ni42pdnnd] {
    display: inline-flex;
    margin-left: 8px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #fff4e5;
    color: #b54708;
    font-size: 10px;
    font-weight: 700;
}

.ilm-empty-state[b-9ni42pdnnd],
.ilm-loading-state[b-9ni42pdnnd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #667085;
    text-align: center;
}

.compact-state[b-9ni42pdnnd] {
    min-height: 160px;
    padding: 20px;
}

.large-state[b-9ni42pdnnd] {
    flex: 1;
    padding: 30px;
}

.grid-state[b-9ni42pdnnd] {
    min-height: 240px;
}

.ilm-empty-state strong[b-9ni42pdnnd],
.ilm-loading-state strong[b-9ni42pdnnd] {
    color: #344054;
    font-size: 14px;
}

.ilm-empty-symbol[b-9ni42pdnnd] {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eef4fb;
    color: #0f6cbd;
    font-size: 20px;
}

.ilm-empty-symbol.large[b-9ni42pdnnd] {
    width: 52px;
    height: 52px;
    font-size: 28px;
}

.ilm-m-spinner[b-9ni42pdnnd] {
    width: 25px;
    height: 25px;
    border: 3px solid #d7e5f4;
    border-top-color: #0f6cbd;
    border-radius: 50%;
    animation: ilm-m-spin-b-9ni42pdnnd 0.8s linear infinite;
}

@keyframes ilm-m-spin-b-9ni42pdnnd {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1180px) {
    .ilm-mode-card[b-9ni42pdnnd] {
        align-items: stretch;
        flex-direction: column;
    }

    .ilm-mode-switch[b-9ni42pdnnd] {
        width: 100%;
    }

    .ilm-assignment-toolbar[b-9ni42pdnnd] {
        grid-template-columns: minmax(250px, 1fr) minmax(150px, 0.7fr);
    }

    .ilm-check-option[b-9ni42pdnnd],
    .ilm-toolbar-actions[b-9ni42pdnnd] {
        justify-self: start;
    }
}

@media (max-width: 880px) {
    .ilm-manage-shell[b-9ni42pdnnd] {
        height: auto;
        min-height: 100vh;
        overflow: visible;
    }

    .ilm-manage-header[b-9ni42pdnnd],
    .ilm-mode-card[b-9ni42pdnnd],
    .ilm-assignment-footer[b-9ni42pdnnd] {
        align-items: stretch;
        flex-direction: column;
    }

    .ilm-mode-switch[b-9ni42pdnnd],
    .ilm-manage-workspace[b-9ni42pdnnd],
    .ilm-assignment-toolbar[b-9ni42pdnnd] {
        grid-template-columns: 1fr;
    }

    .ilm-manage-workspace[b-9ni42pdnnd] {
        overflow: visible;
    }

    .ilm-primary-panel[b-9ni42pdnnd] {
        min-height: 520px;
    }

    .ilm-assignment-panel[b-9ni42pdnnd] {
        min-height: 620px;
    }
}
/* /Components/Pages/Item/FormControls/ItemMaster_Form.razor.rz.scp.css */
.item-form[b-hhdo2rv5iu] { display:grid; gap:14px; max-height:65vh; overflow-y:auto; padding:4px 10px 10px 0; }
.item-subtitle[b-hhdo2rv5iu] { color:var(--erp-text-muted); font-size:12px; margin-top:6px; }
.item-fields[b-hhdo2rv5iu] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:16px; align-items:end; }
.item-wide[b-hhdo2rv5iu] { grid-column:1/-1; }
.item-field[b-hhdo2rv5iu] { display:flex; flex-direction:column; gap:6px; font-size:12px; }
.item-field select[b-hhdo2rv5iu] { min-height:34px; width:100%; border:1px solid var(--erp-border); border-radius:4px; background:var(--erp-surface); color:var(--erp-text); padding:6px; }
.item-notice[b-hhdo2rv5iu] { padding:12px; border:1px solid var(--erp-border); border-radius:6px; background:var(--erp-surface-subtle); font-size:12px; }
.item-error[b-hhdo2rv5iu] { padding:12px; border:1px solid var(--erp-danger); color:var(--erp-danger); border-radius:6px; }
.erp-section-header[b-hhdo2rv5iu] { margin:0; }
@media (max-width:850px) { .item-fields[b-hhdo2rv5iu] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:540px) { .item-fields[b-hhdo2rv5iu] { grid-template-columns:1fr; } }

/* /Components/Pages/Item/ListControls/ItemMaster_List.razor.rz.scp.css */
.item-register[b-5c57qyol18] { display:grid; gap:12px; }
.item-kpis[b-5c57qyol18] { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.item-kpis > div[b-5c57qyol18] { display:flex; flex-direction:column; padding:14px 18px; gap:6px; }
.item-kpis span[b-5c57qyol18] { font-size:12px; color:var(--erp-text-muted); }
.item-kpis strong[b-5c57qyol18] { font-size:25px; color:var(--erp-text); }
.item-filters[b-5c57qyol18] { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:12px; width:100%; }
.item-filters label[b-5c57qyol18] { display:flex; flex-direction:column; gap:6px; font-size:12px; }
.item-filters select[b-5c57qyol18] { min-height:32px; padding:5px; background:var(--erp-surface); color:var(--erp-text); border:1px solid var(--erp-border); border-radius:4px; }
.item-register[b-5c57qyol18]  .item-badges { display:flex; flex-wrap:wrap; gap:4px; }
.item-register[b-5c57qyol18]  .erp-master-grid-scroll { overflow-x:auto; }
.item-error[b-5c57qyol18] { padding:12px; color:var(--erp-danger); border:1px solid var(--erp-danger); border-radius:6px; }
@media (max-width:900px) { .item-filters[b-5c57qyol18],.item-kpis[b-5c57qyol18] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:500px) { .item-filters[b-5c57qyol18] { grid-template-columns:1fr; } }
/* /Components/Pages/Ledger/ListControls/LedgerGroup_Hierarchy.razor.rz.scp.css */
/* =========================================================
   Ledger Group Hierarchy
   Same blue/white ERP shell as the master list pages; the tree
   itself is plain HTML/CSS rendered by a recursive Blazor
   component, so there is no external tree library.
   ========================================================= */

.erp-tree-panel[b-3i3gus6bdz] {
    flex: 0 0 auto;
    margin-bottom: 6px;
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #dce6f2);
    box-shadow: var(--erp-shadow-sm, 0 1px 2px rgba(15, 23, 42, .05));
}

.erp-tree-title-row[b-3i3gus6bdz] {
    min-height: 38px;
    padding: 6px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: linear-gradient(135deg, var(--erp-surface, #ffffff) 0%, var(--erp-blue-50, #f5f9ff) 100%);
    border-bottom: 1px solid var(--erp-border-soft, #e5eaf3);
}

.erp-tree-toolbar[b-3i3gus6bdz] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
    padding: 8px 10px;
}

.erp-tree-toolbar-actions[b-3i3gus6bdz] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: auto;
}

.erp-tree-search-field[b-3i3gus6bdz] {
    min-width: 220px;
    flex: 1 1 240px;
}

.erp-tree-search[b-3i3gus6bdz] {
    width: 100%;
    height: 30px;
    padding: 0 8px;
    font-size: 13px;
    color: var(--erp-text, #092f5d);
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #dce6f2);
    border-radius: 3px;
    outline: none;
}

.erp-tree-search:focus[b-3i3gus6bdz] {
    border-color: var(--erp-blue-500, #2b89e6);
    box-shadow: 0 0 0 2px var(--erp-blue-75, #eaf4ff);
}

.erp-tree-searchinfo[b-3i3gus6bdz] {
    padding: 4px 10px 8px;
    font-size: 12px;
    color: var(--erp-text-secondary, #28496f);
}

.erp-tree-card[b-3i3gus6bdz] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #dce6f2);
    box-shadow: var(--erp-shadow-sm, 0 1px 2px rgba(15, 23, 42, .05));
}

.erp-tree-scroll[b-3i3gus6bdz] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 10px 14px;
}

/* ---------------------------------------------------------
   Tree. The nodes are rendered by LedgerGroup_HierarchyNode,
   so everything below the root <ul> needs ::deep.
   --------------------------------------------------------- */

.erp-tree[b-3i3gus6bdz] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.erp-tree[b-3i3gus6bdz]  .erp-tree-children {
    list-style: none;
    margin: 0 0 0 12px;
    padding: 0 0 0 14px;
    border-left: 1px dashed var(--erp-border, #dce6f2);
}

.erp-tree[b-3i3gus6bdz]  .erp-tree-item {
    position: relative;
}

.erp-tree[b-3i3gus6bdz]  .erp-tree-children > .erp-tree-item::before {
    content: "";
    position: absolute;
    left: -14px;
    top: 15px;
    width: 12px;
    border-top: 1px dashed var(--erp-border, #dce6f2);
}

.erp-tree[b-3i3gus6bdz]  .erp-tree-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 28px;
    padding: 2px 6px;
    border: 1px solid transparent;
    border-radius: 3px;
}

.erp-tree[b-3i3gus6bdz]  .erp-tree-row:hover {
    background: var(--erp-blue-50, #f5f9ff);
    border-color: var(--erp-border-soft, #e5eaf3);
}

.erp-tree[b-3i3gus6bdz]  .erp-tree-row.is-match {
    background: var(--erp-blue-100, #d9ebff);
    border-color: var(--erp-blue-500, #2b89e6);
}

.erp-tree[b-3i3gus6bdz]  .erp-tree-toggle {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    line-height: 16px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: var(--erp-blue-700, #086ad8);
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #dce6f2);
    border-radius: 3px;
    cursor: pointer;
    padding: 0;
}

.erp-tree[b-3i3gus6bdz]  .erp-tree-toggle:hover {
    background: var(--erp-blue-75, #eaf4ff);
}

.erp-tree[b-3i3gus6bdz]  .erp-tree-toggle.is-leaf {
    color: var(--erp-border, #dce6f2);
    background: transparent;
    border-color: transparent;
    cursor: default;
}

.erp-tree[b-3i3gus6bdz]  .erp-tree-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--erp-text, #092f5d);
    white-space: nowrap;
}

.erp-tree[b-3i3gus6bdz]  .erp-tree-short {
    font-size: 12px;
    color: var(--erp-text-secondary, #28496f);
    white-space: nowrap;
}

.erp-tree[b-3i3gus6bdz]  .erp-tree-count {
    font-size: 11px;
    color: var(--erp-text-secondary, #28496f);
    background: var(--erp-surface-muted, #eef5fc);
    border-radius: 10px;
    padding: 0 7px;
    line-height: 17px;
}

@media (max-width: 720px) {
    .erp-tree-toolbar-actions[b-3i3gus6bdz] {
        margin-left: 0;
        width: 100%;
    }

    .erp-tree[b-3i3gus6bdz]  .erp-tree-row {
        flex-wrap: wrap;
    }
}
/* /Components/Pages/MenuManagement/MenuMaster.razor.rz.scp.css */
/* =========================================================
   MENU MASTER — matches the standard ERP master-list theme
   (light title bar, count pill, breadcrumb, KPI accent tiles,
    compact grid, popup modal for create/edit)
========================================================= */

.mm-page[b-3g7a58xce7] {
    width: 100%;
    height: calc(100vh - 78px);
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
    padding: 4px 8px;
    background: #f5f7fb;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* =========================================================
   Title + toolbar panel
========================================================= */
.mm-panel[b-3g7a58xce7] {
    flex: 0 0 auto;
    background: #ffffff;
    border: 1px solid #e5eaf3;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
}

.mm-title-row[b-3g7a58xce7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 8px 14px;
    background: linear-gradient(135deg, #ffffff 0%, #eef5ff 100%);
    border-bottom: 1px solid #edf1f7;
}

.mm-title-line[b-3g7a58xce7] {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .mm-title-line h1[b-3g7a58xce7] {
        margin: 0;
        color: #0f172a;
        font-size: 18px;
        font-weight: 750;
        letter-spacing: -0.02em;
        white-space: nowrap;
    }

.mm-count[b-3g7a58xce7] {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
    border-radius: 999px;
    background: #eef6ff;
    color: #175cd3;
    border: 1px solid #b8dbff;
    font-size: 10.5px;
    font-weight: 700;
    white-space: nowrap;
}

.mm-subtitle[b-3g7a58xce7] {
    margin-top: 3px;
    color: #667085;
    font-size: 11.5px;
}

.mm-title-right[b-3g7a58xce7] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.mm-breadcrumb[b-3g7a58xce7] {
    color: #667085;
    font-size: 10.5px;
    white-space: nowrap;
}

.mm-actions[b-3g7a58xce7] {
    display: flex;
    gap: 8px;
}

/* =========================================================
   Alerts
========================================================= */
.mm-alert[b-3g7a58xce7] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 12.5px;
}

    .mm-alert strong[b-3g7a58xce7] {
        font-weight: 800;
    }

    .mm-alert.compact[b-3g7a58xce7] {
        margin-bottom: 10px;
    }

    .mm-alert-close[b-3g7a58xce7] {
        margin-left: auto;
        border: 0;
        background: transparent;
        color: inherit;
        cursor: pointer;
        font-size: 17px;
        line-height: 1;
        opacity: 0.7;
    }

        .mm-alert-close:hover[b-3g7a58xce7] {
            opacity: 1;
        }

    .mm-alert.success[b-3g7a58xce7] {
        border: 1px solid #abefc6;
        background: #ecfdf3;
        color: #027a48;
    }

    .mm-alert.error[b-3g7a58xce7] {
        border: 1px solid #fecdca;
        background: #fef3f2;
        color: #b42318;
    }

    .mm-alert.info[b-3g7a58xce7] {
        border: 1px solid #b8dbff;
        background: #eef6ff;
        color: #175cd3;
    }

/* =========================================================
   Grid card
========================================================= */
.mm-card[b-3g7a58xce7] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e5eaf3;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
    overflow: hidden;
}

/* Toolbar: KPIs (left) + filters (right) */
.mm-toolbar[b-3g7a58xce7] {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    align-items: end;
    gap: 12px;
    padding: 8px 12px;
    background: #fbfcff;
    border-bottom: 1px solid #edf1f7;
}

.mm-kpis[b-3g7a58xce7] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
}

.mm-kpi[b-3g7a58xce7] {
    position: relative;
    padding: 6px 8px 6px 11px;
    background: #ffffff;
    border: 1px solid #edf1f7;
    border-radius: 8px;
    overflow: hidden;
}

    .mm-kpi[b-3g7a58xce7]::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
    }

    .mm-kpi span[b-3g7a58xce7] {
        display: block;
        color: #667085;
        font-size: 9px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: .3px;
        margin-bottom: 2px;
        white-space: nowrap;
    }

    .mm-kpi strong[b-3g7a58xce7] {
        display: block;
        font-size: 16px;
        font-weight: 800;
        line-height: 1;
    }

.kpi-total[b-3g7a58xce7]::before { background: #175cd3; }
.kpi-total strong[b-3g7a58xce7] { color: #175cd3; }
.kpi-group[b-3g7a58xce7]::before { background: #0e7490; }
.kpi-group strong[b-3g7a58xce7] { color: #0e7490; }
.kpi-page[b-3g7a58xce7]::before { background: #b7791f; }
.kpi-page strong[b-3g7a58xce7] { color: #b7791f; }
.kpi-active[b-3g7a58xce7]::before { background: #027a48; }
.kpi-active strong[b-3g7a58xce7] { color: #027a48; }

/* Filters */
.mm-filters[b-3g7a58xce7] {
    display: grid;
    grid-template-columns: 110px 120px 120px minmax(200px, 1fr) 80px;
    align-items: end;
    gap: 8px;
}

.mm-field[b-3g7a58xce7] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    font-size: 10.5px;
    font-weight: 650;
    color: #344054;
}

    .mm-field .lbl[b-3g7a58xce7] {
        font-size: 12px;
        font-weight: 800;
        color: #334155;
    }

        .mm-field .lbl b[b-3g7a58xce7] {
            color: #dc2626;
        }

    .mm-field input[b-3g7a58xce7],
    .mm-field select[b-3g7a58xce7] {
        width: 100%;
        height: 32px;
        padding: 0 8px;
        border: 1px solid #d6e0ed;
        border-radius: 6px;
        background: #ffffff;
        color: #0f172a;
        font-size: 12px;
        outline: none;
    }

        .mm-field input:focus[b-3g7a58xce7],
        .mm-field select:focus[b-3g7a58xce7] {
            border-color: #0078d4;
            box-shadow: 0 0 0 1px rgba(0, 120, 212, 0.18);
        }

        .mm-field input:disabled[b-3g7a58xce7] {
            background: #f1f5f9;
            color: #94a3b8;
            cursor: not-allowed;
        }

.mm-reset .mm-btn[b-3g7a58xce7] {
    width: 100%;
    height: 32px;
}

/* =========================================================
   Tree action bar
========================================================= */
.mm-treebar[b-3g7a58xce7] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 12px;
    background: #ffffff;
    border-bottom: 1px solid #edf1f7;
}

.mm-view-note[b-3g7a58xce7] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #667085;
    font-size: 11px;
}

.mm-chip[b-3g7a58xce7] {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 800;
}

    .mm-chip.chip-tree[b-3g7a58xce7] {
        background: #eef6ff;
        color: #175cd3;
        border: 1px solid #b8dbff;
    }

    .mm-chip.chip-filter[b-3g7a58xce7] {
        background: #fef3c7;
        color: #92400e;
        border: 1px solid #fde68a;
    }

.mm-tree-actions[b-3g7a58xce7] {
    display: flex;
    gap: 6px;
}

/* =========================================================
   Table
========================================================= */
.mm-table-wrap[b-3g7a58xce7] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    background: #ffffff;
}

.mm-table[b-3g7a58xce7] {
    width: 100%;
    min-width: 1000px;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    font-size: 12.5px;
}

    .mm-table thead th[b-3g7a58xce7] {
        position: sticky;
        top: 0;
        z-index: 5;
        height: 38px;
        padding: 8px 12px;
        border-bottom: 1px solid #dbe5f1;
        background: #ffffff;
        color: #0f172a;
        font-size: 11.5px;
        font-weight: 750;
        text-align: left;
        white-space: nowrap;
        box-shadow: 0 1px 0 #dbe5f1;
    }

    .mm-table tbody tr[b-3g7a58xce7] {
        height: 44px;
    }

        .mm-table tbody tr:nth-child(even)[b-3g7a58xce7] {
            background: #fafbfd;
        }

        .mm-table tbody tr:hover[b-3g7a58xce7] {
            background: #eef6ff;
            cursor: pointer;
        }

    .mm-table tbody td[b-3g7a58xce7] {
        height: 44px;
        padding: 6px 12px;
        border-bottom: 1px solid #edf1f7;
        color: #334155;
        vertical-align: middle;
        overflow: hidden;
    }

.col-id[b-3g7a58xce7] { width: 60px; }
.col-order[b-3g7a58xce7] { width: 68px; }
.col-type[b-3g7a58xce7] { width: 84px; }
.col-status[b-3g7a58xce7] { width: 92px; }
.col-action[b-3g7a58xce7] { width: 92px; }

/* Menu cell w/ tree toggle */
.menu-cell[b-3g7a58xce7] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.tree-toggle[b-3g7a58xce7] {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d6e0ed;
    border-radius: 5px;
    background: #f4f8fe;
    color: #175cd3;
    cursor: pointer;
    font-size: 10px;
    line-height: 1;
    padding: 0;
}

    .tree-toggle:hover[b-3g7a58xce7] {
        background: #e2eefc;
    }

.tree-spacer[b-3g7a58xce7] {
    flex: 0 0 18px;
    width: 18px;
}

.menu-icon[b-3g7a58xce7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 900;
}

    .menu-icon.icon-group[b-3g7a58xce7] {
        background: #e0f2fe;
        color: #075985;
    }

    .menu-icon.icon-page[b-3g7a58xce7] {
        background: #eef2ff;
        color: #4338ca;
    }

.menu-text[b-3g7a58xce7] {
    min-width: 0;
}

    .menu-text strong[b-3g7a58xce7] {
        display: block;
        max-width: 300px;
        overflow: hidden;
        color: #0f172a;
        font-weight: 750;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .menu-text small[b-3g7a58xce7] {
        display: block;
        max-width: 300px;
        margin-top: 1px;
        overflow: hidden;
        color: #667085;
        font-size: 10.5px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.code-badge[b-3g7a58xce7] {
    display: inline-flex;
    align-items: center;
    max-width: 180px;
    height: 22px;
    overflow: hidden;
    border: 1px solid #e4e7ec;
    border-radius: 999px;
    background: #f8fafc;
    color: #475467;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1;
    padding: 0 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.url-text[b-3g7a58xce7] {
    display: inline-block;
    max-width: 320px;
    overflow: hidden;
    color: #475569;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Badges */
.mm-badge[b-3g7a58xce7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    height: 20px;
    border-radius: 999px;
    padding: 0 8px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    border: 1px solid transparent;
    white-space: nowrap;
}

    .mm-badge.badge-group[b-3g7a58xce7] {
        background: #eef6ff;
        color: #175cd3;
        border-color: #b8dbff;
    }

    .mm-badge.badge-page[b-3g7a58xce7] {
        background: #fffaeb;
        color: #b7791f;
        border-color: #fde68a;
    }

    .mm-badge.badge-active[b-3g7a58xce7] {
        background: #ecfdf3;
        color: #027a48;
        border-color: #abefc6;
    }

    .mm-badge.badge-inactive[b-3g7a58xce7] {
        background: #fef3f2;
        color: #b42318;
        border-color: #fecdca;
    }

/* Row action */
.table-action[b-3g7a58xce7] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #f8fbff;
    color: #175cd3;
    cursor: pointer;
    font-size: 11.5px;
    font-weight: 750;
    padding: 4px 9px;
}

    .table-action:hover[b-3g7a58xce7] {
        background: #eef6ff;
        border-color: #b8dbff;
    }

.empty-row[b-3g7a58xce7] {
    height: 120px !important;
    padding: 34px 12px !important;
    color: #667085 !important;
    text-align: center;
    background: #ffffff;
}

/* Card footer */
.mm-card-footer[b-3g7a58xce7] {
    flex: 0 0 auto;
    min-height: 32px;
    display: flex;
    align-items: center;
    padding: 6px 12px;
    border-top: 1px solid #edf1f7;
    background: #fbfcff;
    color: #667085;
    font-size: 11.5px;
}

/* =========================================================
   Buttons
========================================================= */
.mm-btn[b-3g7a58xce7] {
    min-height: 32px;
    border: 1px solid transparent;
    border-radius: 7px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 750;
    padding: 6px 13px;
    white-space: nowrap;
}

    .mm-btn:disabled[b-3g7a58xce7] {
        cursor: not-allowed;
        opacity: 0.55;
    }

.mm-btn-primary[b-3g7a58xce7] {
    border-color: #175cd3;
    background: #175cd3;
    color: #ffffff;
}

    .mm-btn-primary:hover[b-3g7a58xce7] {
        background: #1349a8;
    }

.mm-btn-outline[b-3g7a58xce7] {
    border-color: #cbd5e1;
    background: #ffffff;
    color: #0f172a;
}

    .mm-btn-outline:hover[b-3g7a58xce7] {
        background: #f8fafc;
    }

.mm-btn-soft[b-3g7a58xce7] {
    border-color: #d6e0ed;
    background: #f4f8fe;
    color: #175cd3;
}

    .mm-btn-soft:hover[b-3g7a58xce7] {
        background: #e2eefc;
    }

/* =========================================================
   MODAL
========================================================= */
.mm-modal-overlay[b-3g7a58xce7] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 44px 16px;
    background: rgba(8, 20, 38, 0.5);
    backdrop-filter: blur(2px);
    overflow-y: auto;
}

.mm-modal[b-3g7a58xce7] {
    width: 100%;
    max-width: 720px;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(8, 20, 38, 0.32);
    overflow: hidden;
    animation: mm-modal-in-b-3g7a58xce7 0.15s ease-out;
}

@keyframes mm-modal-in-b-3g7a58xce7 {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.mm-modal-header[b-3g7a58xce7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 18px;
    background: linear-gradient(135deg, #ffffff 0%, #eef5ff 100%);
    border-bottom: 1px solid #e5eaf3;
}

.mm-modal-title[b-3g7a58xce7] {
    display: flex;
    align-items: center;
    gap: 12px;
}

    .mm-modal-ico[b-3g7a58xce7] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 9px;
        background: #175cd3;
        color: #ffffff;
        font-size: 19px;
        font-weight: 800;
    }

    .mm-modal-title h3[b-3g7a58xce7] {
        margin: 0;
        color: #0f172a;
        font-size: 17px;
        font-weight: 800;
    }

    .mm-modal-title p[b-3g7a58xce7] {
        margin: 2px 0 0;
        color: #667085;
        font-size: 11.5px;
    }

.mm-modal-close[b-3g7a58xce7] {
    border: 1px solid #e5eaf3;
    background: #ffffff;
    border-radius: 8px;
    color: #475467;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    height: 32px;
    width: 32px;
}

    .mm-modal-close:hover[b-3g7a58xce7] {
        background: #f2f4f7;
    }

.mm-modal-body[b-3g7a58xce7] {
    max-height: calc(100vh - 250px);
    overflow-y: auto;
    padding: 6px 18px 8px;
}

.mm-modal-footer[b-3g7a58xce7] {
    display: flex;
    gap: 8px;
    padding: 12px 18px;
    border-top: 1px solid #edf1f7;
    background: #fbfcff;
}

/* Form inside modal */
.form-section[b-3g7a58xce7] {
    padding: 14px 0;
    border-bottom: 1px solid #edf1f7;
}

    .form-section.no-border[b-3g7a58xce7] {
        border-bottom: 0;
    }

.section-caption[b-3g7a58xce7] {
    margin-bottom: 12px;
    color: #0f172a;
    font-size: 12.5px;
    font-weight: 800;
}

.form-grid[b-3g7a58xce7] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

    .form-grid .mm-field.full[b-3g7a58xce7] {
        grid-column: 1 / -1;
    }

    .form-grid .mm-field input[b-3g7a58xce7],
    .form-grid .mm-field select[b-3g7a58xce7] {
        height: 34px;
    }

.toggle-grid[b-3g7a58xce7] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.mm-toggle[b-3g7a58xce7] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px;
    border: 1px solid #e5eaf3;
    border-radius: 10px;
    background: #f8fafc;
    cursor: pointer;
}

    .mm-toggle input[b-3g7a58xce7] {
        flex: 0 0 auto;
        margin-top: 3px;
    }

    .mm-toggle strong[b-3g7a58xce7] {
        display: block;
        color: #0f172a;
        font-size: 12.5px;
        font-weight: 750;
    }

    .mm-toggle small[b-3g7a58xce7] {
        display: block;
        margin-top: 2px;
        color: #667085;
        font-size: 10.5px;
    }

/* =========================================================
   Scrollbars
========================================================= */
.mm-table-wrap[b-3g7a58xce7]::-webkit-scrollbar,
.mm-modal-body[b-3g7a58xce7]::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.mm-table-wrap[b-3g7a58xce7]::-webkit-scrollbar-thumb,
.mm-modal-body[b-3g7a58xce7]::-webkit-scrollbar-thumb {
    background: #c8d3e1;
    border-radius: 10px;
}

.mm-table-wrap[b-3g7a58xce7]::-webkit-scrollbar-track {
    background: #f3f6fa;
}

/* =========================================================
   Responsive
========================================================= */
@media (max-width: 1280px) {
    .mm-toolbar[b-3g7a58xce7] {
        grid-template-columns: 1fr;
    }

    .mm-filters[b-3g7a58xce7] {
        grid-template-columns: repeat(3, minmax(150px, 1fr));
    }

    .mm-search[b-3g7a58xce7] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .mm-kpis[b-3g7a58xce7] {
        grid-template-columns: repeat(4, 1fr);
    }

    .mm-filters[b-3g7a58xce7] {
        grid-template-columns: repeat(2, 1fr);
    }

    .toggle-grid[b-3g7a58xce7] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .mm-page[b-3g7a58xce7] {
        height: auto;
        min-height: calc(100vh - 44px);
        overflow: auto;
    }

    .mm-title-row[b-3g7a58xce7] {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .mm-title-right[b-3g7a58xce7] {
        align-items: flex-start;
    }

    .mm-kpis[b-3g7a58xce7] {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-filters[b-3g7a58xce7],
    .form-grid[b-3g7a58xce7] {
        grid-template-columns: 1fr;
    }

    .mm-modal-body[b-3g7a58xce7] {
        max-height: calc(100vh - 200px);
    }
}
/* /Components/Pages/MenuManagement/UserWiseMenuAssignment.razor.rz.scp.css */
.user-menu-assignment-page[b-jrofu4gff9] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: calc(100vh - 72px);
    padding: 16px;
    background: #f5f7fb;
    overflow: hidden;
}

/* Header */
.uma-header[b-jrofu4gff9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    border-radius: 14px;
    background: linear-gradient(135deg, #082443, #1f4668);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10);
}

.uma-breadcrumb[b-jrofu4gff9] {
    margin-bottom: 6px;
    color: #c8d8ea;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.uma-header h1[b-jrofu4gff9] {
    margin: 0;
    font-size: 22px;
    font-weight: 800;
}

.uma-header p[b-jrofu4gff9] {
    margin: 6px 0 0;
    color: #e2edf8;
    font-size: 14px;
}

.uma-header-actions[b-jrofu4gff9] {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Alert */
.uma-alert[b-jrofu4gff9] {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    padding: 11px 14px;
    font-size: 13px;
}

    .uma-alert strong[b-jrofu4gff9] {
        font-weight: 800;
    }

    .uma-alert.success[b-jrofu4gff9] {
        border: 1px solid #b7ebc6;
        background: #f0fdf4;
        color: #166534;
    }

    .uma-alert.error[b-jrofu4gff9] {
        border: 1px solid #fecaca;
        background: #fef2f2;
        color: #991b1b;
    }

    .uma-alert.info[b-jrofu4gff9] {
        border: 1px solid #bfdbfe;
        background: #eff6ff;
        color: #1e3a8a;
    }

/* Filter */
.uma-filter-card[b-jrofu4gff9] {
    display: grid;
    grid-template-columns: 100px 100px 100px 110px minmax(260px, 1fr) auto;
    align-items: end;
    gap: 10px;
    padding: 14px;
    border: 1px solid #dde5ee;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 5px 16px rgba(15, 23, 42, 0.04);
}

.uma-field[b-jrofu4gff9] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .uma-field label[b-jrofu4gff9] {
        color: #334155;
        font-size: 12px;
        font-weight: 800;
    }

        .uma-field label span[b-jrofu4gff9] {
            color: #dc2626;
        }

    .uma-field input[b-jrofu4gff9] {
        width: 100%;
        min-height: 36px;
        border: 1px solid #cfd8e3;
        border-radius: 8px;
        background: #ffffff;
        color: #0f172a;
        font-size: 13px;
        outline: none;
        padding: 7px 10px;
    }

        .uma-field input:focus[b-jrofu4gff9] {
            border-color: #2563eb;
            box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
        }

.uma-filter-actions[b-jrofu4gff9] {
    display: flex;
    gap: 8px;
}

/* Workspace */
.uma-workspace[b-jrofu4gff9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 14px;
    min-height: 0;
    flex: 1;
}

.uma-card[b-jrofu4gff9] {
    border: 1px solid #dde5ee;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 5px 16px rgba(15, 23, 42, 0.04);
}

.uma-tree-panel[b-jrofu4gff9],
.uma-right-panel[b-jrofu4gff9] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 270px);
    min-height: 0;
    overflow: hidden;
}

.uma-panel-header[b-jrofu4gff9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px;
    border-bottom: 1px solid #edf2f7;
    background: #ffffff;
}

    .uma-panel-header h2[b-jrofu4gff9] {
        margin: 0;
        color: #0f172a;
        font-size: 17px;
        font-weight: 800;
    }

    .uma-panel-header p[b-jrofu4gff9] {
        margin: 5px 0 0;
        color: #64748b;
        font-size: 12px;
    }

        .uma-panel-header p strong[b-jrofu4gff9] {
            color: #0f172a;
        }

.uma-check-all[b-jrofu4gff9] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #0f172a;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

/* Toolbar */
.uma-tree-toolbar[b-jrofu4gff9] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 18px;
    border-bottom: 1px solid #edf2f7;
    background: #fbfdff;
}

.uma-mini-btn[b-jrofu4gff9] {
    min-height: 30px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #0f172a;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    padding: 6px 12px;
}

    .uma-mini-btn:hover[b-jrofu4gff9] {
        background: #f8fafc;
    }

/* Tree Panel */
.uma-tree-scroll[b-jrofu4gff9] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 16px 18px;
    background: #fbfcfe;
}

.uma-empty[b-jrofu4gff9] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 180px;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
}

/* Right Panel */
.uma-summary-list[b-jrofu4gff9] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 18px;
}

.uma-summary-item[b-jrofu4gff9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid #edf2f7;
    border-radius: 10px;
    background: #fbfdff;
    padding: 11px 12px;
}

    .uma-summary-item span[b-jrofu4gff9] {
        color: #64748b;
        font-size: 12px;
        font-weight: 700;
    }

    .uma-summary-item strong[b-jrofu4gff9] {
        color: #0f172a;
        font-size: 14px;
        font-weight: 900;
    }

.uma-note[b-jrofu4gff9] {
    margin: 0 18px 18px;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 12px;
    line-height: 1.5;
    padding: 12px;
}

/* Footer */
.uma-footer[b-jrofu4gff9] {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border-top: 1px solid #edf2f7;
    background: #fbfdff;
}

/* Buttons */
.uma-btn[b-jrofu4gff9] {
    min-height: 36px;
    border: 1px solid transparent;
    border-radius: 9px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    padding: 8px 14px;
}

    .uma-btn:disabled[b-jrofu4gff9] {
        cursor: not-allowed;
        opacity: 0.65;
    }

.uma-btn-primary[b-jrofu4gff9] {
    border-color: #071a34;
    background: #071a34;
    color: #ffffff;
}

    .uma-btn-primary:hover[b-jrofu4gff9] {
        background: #0c2748;
    }

.uma-btn-light[b-jrofu4gff9] {
    border-color: #ffffff;
    background: #ffffff;
    color: #071a34;
}

.uma-btn-outline[b-jrofu4gff9] {
    border-color: #cbd5e1;
    background: #ffffff;
    color: #0f172a;
}

    .uma-btn-outline:hover[b-jrofu4gff9] {
        background: #f8fafc;
    }

.uma-btn-danger[b-jrofu4gff9] {
    border-color: #991b1b;
    background: #991b1b;
    color: #ffffff;
}

    .uma-btn-danger:hover[b-jrofu4gff9] {
        background: #7f1d1d;
    }

/* Responsive */
@media (max-width: 1280px) {
    .uma-filter-card[b-jrofu4gff9] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .uma-search-field[b-jrofu4gff9] {
        grid-column: 1 / -1;
    }

    .uma-workspace[b-jrofu4gff9] {
        grid-template-columns: 1fr;
    }

    .uma-tree-panel[b-jrofu4gff9],
    .uma-right-panel[b-jrofu4gff9] {
        height: auto;
        min-height: 420px;
    }
}

@media (max-width: 768px) {
    .user-menu-assignment-page[b-jrofu4gff9] {
        padding: 12px;
        overflow: auto;
    }

    .uma-header[b-jrofu4gff9] {
        align-items: flex-start;
        flex-direction: column;
    }

    .uma-filter-card[b-jrofu4gff9] {
        grid-template-columns: 1fr;
    }

    .uma-filter-actions[b-jrofu4gff9],
    .uma-header-actions[b-jrofu4gff9],
    .uma-footer[b-jrofu4gff9] {
        width: 100%;
    }

    .uma-btn[b-jrofu4gff9] {
        flex: 1;
    }
}
/* /Components/Pages/MenuManagement/UserWiseMenuTreeNode.razor.rz.scp.css */
.erp-tree-node[b-rf6qyrnlpq] {
    position: relative;
}

.erp-tree-children[b-rf6qyrnlpq] {
    margin-left: 22px;
    padding-left: 14px;
    border-left: 1px dashed #d3dce8;
}

.erp-tree-row[b-rf6qyrnlpq] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-height: 42px;
    margin-bottom: 5px;
    padding: 7px 8px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

    .erp-tree-row:hover[b-rf6qyrnlpq] {
        border-color: #dbe7f5;
        background: #ffffff;
        box-shadow: 0 3px 10px rgba(15, 23, 42, 0.04);
    }

    .erp-tree-row.is-selected[b-rf6qyrnlpq] {
        border-color: #c7dcf4;
        background: #edf6ff;
    }

.erp-tree-toggle[b-rf6qyrnlpq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin-top: 4px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #ffffff;
    color: #0f172a;
    cursor: pointer;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
}

    .erp-tree-toggle:hover[b-rf6qyrnlpq] {
        background: #f8fafc;
    }

    .erp-tree-toggle.is-empty[b-rf6qyrnlpq] {
        border-color: transparent;
        background: transparent;
        cursor: default;
    }

.erp-tree-check[b-rf6qyrnlpq] {
    display: grid;
    grid-template-columns: 18px 28px minmax(0, 1fr);
    align-items: flex-start;
    gap: 9px;
    width: 100%;
    min-width: 0;
    cursor: pointer;
}

    .erp-tree-check input[b-rf6qyrnlpq] {
        width: 16px;
        height: 16px;
        margin: 5px 0 0;
    }

.erp-tree-icon[b-rf6qyrnlpq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    font-size: 12px;
    font-weight: 900;
}

    .erp-tree-icon.menu-node-folder[b-rf6qyrnlpq] {
        background: #e0f2fe;
        color: #075985;
    }

    .erp-tree-icon.menu-node-page[b-rf6qyrnlpq] {
        background: #eef2ff;
        color: #312e81;
    }

.erp-tree-content[b-rf6qyrnlpq] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.erp-tree-title-line[b-rf6qyrnlpq] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex-wrap: wrap;
}

.erp-tree-title[b-rf6qyrnlpq] {
    color: #0f172a;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
}

.erp-tree-type[b-rf6qyrnlpq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 20px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    padding: 0 8px;
    white-space: nowrap;
}

    .erp-tree-type.menu-type-group[b-rf6qyrnlpq] {
        background: #e0f2fe;
        color: #075985;
    }

    .erp-tree-type.menu-type-page[b-rf6qyrnlpq] {
        background: #fef3c7;
        color: #92400e;
    }

.erp-tree-meta-line[b-rf6qyrnlpq] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}

.erp-tree-code[b-rf6qyrnlpq] {
    display: inline-flex;
    align-items: center;
    max-width: 230px;
    height: 22px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    padding: 0 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.erp-tree-url[b-rf6qyrnlpq] {
    display: inline-flex;
    align-items: center;
    max-width: 360px;
    height: 22px;
    overflow: hidden;
    color: #64748b;
    font-size: 11px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Pages/OpeningStock/FormControls/OpeningStockAddItem_Dialog.razor.rz.scp.css */
/* =========================================================
   Opening Stock - Add/Edit Item dialog.

   Mirrors the existing NaviERP PurchaseAddItem_Dialog look: same
   overlay card, same compact ERP density, same erp-theme.css tokens.
   No new palette is introduced.
   ========================================================= */

.osi-backdrop[b-sm0uww91sj] {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, .35);
}

.osi-card[b-sm0uww91sj] {
    width: min(1100px, 94vw);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #dce6f2);
    border-radius: var(--erp-radius-md, 6px);
    box-shadow: var(--erp-shadow-md, 0 12px 28px rgba(15, 23, 42, .18));
    overflow: hidden;
}

.osi-header[b-sm0uww91sj] {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(180deg, var(--erp-surface, #ffffff) 0%, var(--erp-blue-50, #f5f9ff) 100%);
    border-bottom: 1px solid var(--erp-border-soft, #e5eaf3);
}

.osi-title[b-sm0uww91sj] {
    font-size: 14px;
    font-weight: 750;
    color: var(--erp-text, #0f172a);
}

.osi-close[b-sm0uww91sj] {
    border: none;
    background: transparent;
    font-size: 20px;
    line-height: 1;
    color: var(--erp-text-muted, #64748b);
    cursor: pointer;
}

.osi-body[b-sm0uww91sj] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 14px;
}

.osi-grid[b-sm0uww91sj] {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: var(--erp-space-3, 12px) var(--erp-space-4, 16px);
}

.osi-span2[b-sm0uww91sj] {
    grid-column: span 2;
}

.osi-span4[b-sm0uww91sj] {
    grid-column: 1 / -1;
}

.osi-field[b-sm0uww91sj] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

    .osi-field > label[b-sm0uww91sj] {
        font-size: 11px;
        font-weight: 650;
        color: var(--erp-text-secondary, #28496f);
    }

.osi-select[b-sm0uww91sj] {
    width: 100%;
    height: 32px;
    padding: 0 8px;
    border: 1px solid var(--erp-border-strong, #c8d8e9);
    border-radius: var(--erp-radius-sm, 4px);
    background: var(--erp-surface, #ffffff);
    color: var(--erp-text, #0f172a);
    font-size: 13px;
    font-family: var(--erp-font);
    box-sizing: border-box;
}

.osi-attachment[b-sm0uww91sj] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.osi-file[b-sm0uww91sj] {
    font-size: 12px;
}

.osi-attachment-name[b-sm0uww91sj] {
    font-size: 11.5px;
    color: var(--erp-text-secondary, #28496f);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.osi-validation[b-sm0uww91sj] {
    margin-top: 12px;
    padding: 6px 10px;
    background: #fff1f1;
    border: 1px solid #f2caca;
    border-radius: var(--erp-radius-sm, 4px);
    color: var(--erp-danger, #a4262c);
    font-size: 12px;
}

.osi-footer[b-sm0uww91sj] {
    flex: 0 0 auto;
    min-height: 46px;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: var(--erp-surface-subtle, #f8fbff);
    border-top: 1px solid var(--erp-border-soft, #e5eaf3);
}

.osi-line-value[b-sm0uww91sj] {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    font-size: 11px;
    color: var(--erp-text-muted, #64748b);
}

    .osi-line-value strong[b-sm0uww91sj] {
        font-size: 14px;
        color: var(--erp-text, #0f172a);
    }

.osi-footer-actions[b-sm0uww91sj] {
    display: flex;
    align-items: center;
    gap: 8px;
}

@media (max-width: 900px) {
    .osi-grid[b-sm0uww91sj] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Wrapper used only to switch the whole item form to read-only
   (Items register "View" action). Resets the browser's default
   fieldset chrome so the existing layout is unchanged. */
.osi-fieldset[b-sm0uww91sj] {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
    display: contents;
}
/* /Components/Pages/OpeningStock/FormControls/OpeningStockItems_Dialog.razor.rz.scp.css */
/* =========================================================
   OPENING STOCK - ITEMS POPUP (scoped)

   Mirrors the item-table look already used by
   OpeningStock_Form.razor.css so the popup matches the module's
   existing style. Scoped to this component only - nothing here can
   affect the listing, the form, or any other module.
   ========================================================= */

.osd-body[b-rgcskoglb0] {
    display: flex;
    flex-direction: column;
    min-height: 120px;
}

.osd-count[b-rgcskoglb0] {
    font-size: 12px;
    font-weight: 600;
    color: var(--erp-text-secondary);
    background: var(--erp-surface-subtle);
    border: 1px solid var(--erp-border-soft);
    border-radius: 999px;
    padding: 2px 10px;
}

.osd-message[b-rgcskoglb0] {
    padding: 24px 8px;
    text-align: center;
    font-size: 13px;
    color: var(--erp-text-secondary);
}

.osd-error[b-rgcskoglb0] {
    padding: 10px 12px;
    font-size: 12.5px;
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 6px;
}

.osd-table-wrap[b-rgcskoglb0] {
    overflow: auto;
    border: 1px solid var(--erp-border-soft);
    border-radius: 6px;
}

.osd-table[b-rgcskoglb0] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    white-space: nowrap;
    font-family: var(--erp-font);
    color: var(--erp-text);
}

    .osd-table thead th[b-rgcskoglb0] {
        text-align: left;
        padding: 7px 8px;
        background: var(--erp-surface-subtle);
        color: var(--erp-text-secondary);
        font-weight: 700;
        border-bottom: 1px solid var(--erp-border-soft);
        position: sticky;
        top: 0;
    }

    .osd-table tbody td[b-rgcskoglb0] {
        padding: 6px 8px;
        border-bottom: 1px solid var(--erp-border-soft);
    }

    .osd-table tbody tr:hover[b-rgcskoglb0] {
        background: var(--erp-row-hover);
    }

.osd-sn[b-rgcskoglb0] {
    width: 36px;
}

.osd-num[b-rgcskoglb0] {
    text-align: right;
}

.osd-actions-col[b-rgcskoglb0] {
    width: 88px;
}

.osd-actions[b-rgcskoglb0] {
    white-space: nowrap;
}
/* /Components/Pages/OpeningStock/FormControls/OpeningStock_Form.razor.rz.scp.css */
/* =========================================================
   Opening Stock form - layout only.

   Mirrors the existing NaviERP PurchaseBill_Form styling: same header
   strip, accordion headers, field grid, items table and footer totals.
   Colours/spacing come from the existing erp-theme.css tokens - no new
   palette is introduced.
   ========================================================= */

.os-header-wrap[b-xgxj7y5xm3] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.os-header-title-row[b-xgxj7y5xm3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.os-dirty-dot[b-xgxj7y5xm3] {
    color: var(--erp-danger);
    margin-left: 6px;
}

.os-breadcrumb[b-xgxj7y5xm3] {
    margin: 0;
}

.os-toolbar-row[b-xgxj7y5xm3] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-2);
}

.os-form-page[b-xgxj7y5xm3] {
    display: flex;
    flex-direction: column;
    gap: var(--erp-space-4);
    color: var(--erp-text);
    font-family: var(--erp-font);
}

/* --- Accordion headers --- */

.os-accordion-header[b-xgxj7y5xm3],
.os-accordion-title[b-xgxj7y5xm3] {
    cursor: pointer;
    user-select: none;
}

.os-accordion-chevron[b-xgxj7y5xm3] {
    font-size: 11px;
    color: var(--erp-text-secondary);
    line-height: 1;
}

.os-accordion-toggle-btn[b-xgxj7y5xm3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 1px solid var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    background: var(--erp-surface);
    color: var(--erp-text-secondary);
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
    flex-shrink: 0;
}

.os-items-header[b-xgxj7y5xm3] {
    flex-wrap: wrap;
    gap: 8px;
}

.os-items-actions[b-xgxj7y5xm3] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-2);
}

/* --- Header field grid --- */

.os-field-grid[b-xgxj7y5xm3] {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: var(--erp-space-3) var(--erp-space-4);
    padding: var(--erp-space-4);
}

.os-plain-field[b-xgxj7y5xm3] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

    .os-plain-field > span[b-xgxj7y5xm3] {
        font-size: 11px;
        font-weight: 650;
        color: var(--erp-text-secondary);
    }

.os-plain-select[b-xgxj7y5xm3] {
    width: 100%;
    padding: 6px 8px;
    border: 1px solid var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    font-size: 13px;
    font-family: var(--erp-font);
    background: var(--erp-surface);
    color: var(--erp-text);
    box-sizing: border-box;
}

/* --- Items table --- */

.os-items-wrapper[b-xgxj7y5xm3] {
    overflow-x: auto;
    padding: 0 var(--erp-space-4) var(--erp-space-4);
}

.os-items-table[b-xgxj7y5xm3] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    white-space: nowrap;
    font-family: var(--erp-font);
    color: var(--erp-text);
}

    .os-items-table thead th[b-xgxj7y5xm3] {
        text-align: left;
        padding: 7px 8px;
        background: var(--erp-surface-subtle);
        color: var(--erp-text-secondary);
        font-weight: 700;
        border-bottom: 1px solid var(--erp-border-soft);
        position: sticky;
        top: 0;
    }

    .os-items-table tbody td[b-xgxj7y5xm3] {
        padding: 6px 8px;
        border-bottom: 1px solid var(--erp-border-soft);
    }

    .os-items-table tbody tr:hover[b-xgxj7y5xm3] {
        background: var(--erp-row-hover);
    }

.sn-col[b-xgxj7y5xm3], .sn-cell[b-xgxj7y5xm3] {
    width: 32px;
}

.action-col[b-xgxj7y5xm3] {
    width: 110px;
}

.os-row-actions[b-xgxj7y5xm3] {
    white-space: nowrap;
}

.os-empty-row[b-xgxj7y5xm3] {
    text-align: center;
    color: var(--erp-text-muted);
    font-style: italic;
    padding: 14px;
}

/* --- Validation --- */

.os-validation[b-xgxj7y5xm3] {
    margin: 0 var(--erp-space-4) var(--erp-space-4);
    padding: 6px 10px;
    background: #fff1f1;
    border: 1px solid #f2caca;
    border-radius: var(--erp-radius-sm);
    color: var(--erp-danger);
    font-size: 12px;
}

/* --- Footer --- */

.os-footer[b-xgxj7y5xm3] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--erp-space-3);
    flex-wrap: wrap;
}

.os-footer-totals[b-xgxj7y5xm3] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-4);
    flex-wrap: wrap;
}

.os-total-item[b-xgxj7y5xm3] {
    display: flex;
    flex-direction: column;
    font-size: 11px;
    color: var(--erp-text-muted);
    line-height: 1.3;
}

    .os-total-item strong[b-xgxj7y5xm3] {
        font-size: 13px;
        color: var(--erp-text);
    }

.os-net-value[b-xgxj7y5xm3] {
    border-left: 1px solid var(--erp-border-soft);
    padding-left: var(--erp-space-4);
}

    .os-net-value strong[b-xgxj7y5xm3] {
        color: var(--erp-success);
        font-size: 15px;
    }

.os-footer-actions[b-xgxj7y5xm3] {
    border-top: none;
    padding-top: 0;
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    .os-field-grid[b-xgxj7y5xm3] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Components/Pages/OpeningStock/ListControls/OpeningStock_List.razor.rz.scp.css */
/* =========================================================
   Opening Stock listing - page-scoped visual polish only.

   Confined to this page by the .os-list wrapper + Blazor CSS
   isolation (::deep), matching the look already applied to the
   Purchase Bill listing. No shared component or global stylesheet is
   affected.
   ========================================================= */

.os-list[b-wrfe1pgshv] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.os-list[b-wrfe1pgshv]  .erp-master-page {
    padding: 4px 6px;
}

.os-list[b-wrfe1pgshv]  .erp-master-panel {
    border-color: var(--erp-blue-100, #d9ebff);
    border-radius: 6px 6px 0 0;
}

.os-list[b-wrfe1pgshv]  .erp-master-header-row {
    min-height: 30px;
    padding: 4px 10px;
    background: linear-gradient(180deg, var(--erp-surface, #ffffff) 0%, var(--erp-blue-50, #f5f9ff) 100%);
    border-bottom-color: var(--erp-blue-100, #d9ebff);
}

.os-list[b-wrfe1pgshv]  .erp-master-toolbar-section {
    background: linear-gradient(180deg, var(--erp-surface, #ffffff) 0%, var(--erp-surface-subtle, #f6faff) 100%);
    border-bottom-color: var(--erp-blue-100, #d9ebff);
}

.os-list[b-wrfe1pgshv]  .erp-master-status-row {
    min-height: 46px;
    padding: 5px 10px;
    background: linear-gradient(180deg, var(--erp-blue-50, #f5f9ff) 0%, var(--erp-blue-75, #eaf4ff) 100%);
    border-bottom-color: var(--erp-blue-100, #d9ebff);
}

.os-list[b-wrfe1pgshv]  .erp-master-grid-card {
    border-color: var(--erp-blue-100, #d9ebff);
    border-radius: 0 0 6px 6px;
}

.os-list[b-wrfe1pgshv]  fluent-data-grid-row[row-type="header"] fluent-data-grid-cell,
.os-list[b-wrfe1pgshv]  fluent-data-grid-cell[cell-type="columnheader"] {
    height: 30px;
    padding: 0 10px;
    background: linear-gradient(180deg, #eff5fd 0%, #e4eefb 100%) !important;
    color: var(--erp-blue-800, #0759ad);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .35px;
    text-transform: uppercase;
    white-space: nowrap;
}

.os-list[b-wrfe1pgshv]  fluent-data-grid-cell {
    padding: 0 10px;
    font-size: 12px;
}

.os-list[b-wrfe1pgshv]  fluent-data-grid-row:not([row-type="header"]):hover {
    background: var(--erp-blue-50, #f2f8ff) !important;
}

/* --- Status pill (rendered by this page's Status column) --- */

.os-status[b-wrfe1pgshv] {
    display: inline-flex;
    align-items: center;
    height: 19px;
    padding: 0 9px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 10.5px;
    font-weight: 700;
    white-space: nowrap;
}

    .os-status.is-posted[b-wrfe1pgshv] {
        background: #e7f7ee;
        border-color: #bfe6d0;
        color: #027a48;
    }

    .os-status.is-reversed[b-wrfe1pgshv] {
        background: #fff6e6;
        border-color: #f2ddb6;
        color: #b7791f;
    }

    .os-status.is-not-confirmed[b-wrfe1pgshv] {
        background: #fdeceb;
        border-color: #f4cbc8;
        color: var(--erp-danger, #b42318);
    }

    .os-status.is-confirmed[b-wrfe1pgshv] {
        background: var(--erp-blue-50, #f5f9ff);
        border-color: #bcd6f5;
        color: var(--erp-blue-700, #086ad8);
    }

/* --- Workflow placeholder buttons --- */

.os-workflow-actions[b-wrfe1pgshv] {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.os-wf-btn[b-wrfe1pgshv] {
    height: 22px;
    padding: 0 8px;
    border-radius: 4px;
    border: 1px solid transparent;
    font-size: 10.5px;
    font-weight: 650;
    cursor: pointer;
    background: var(--erp-surface, #ffffff);
}

.os-wf-confirm[b-wrfe1pgshv] {
    border-color: #bcd6f5;
    color: var(--erp-blue-700, #086ad8);
}

    .os-wf-confirm:hover[b-wrfe1pgshv] {
        background: var(--erp-blue-50, #f5f9ff);
    }

.os-wf-post[b-wrfe1pgshv] {
    border-color: #bfe6d0;
    color: #027a48;
}

    .os-wf-post:hover[b-wrfe1pgshv] {
        background: #f1fbf5;
    }

.os-wf-reverse[b-wrfe1pgshv] {
    border-color: #f2ddb6;
    color: #b7791f;
    margin-right: 0;
}

    .os-wf-reverse:hover[b-wrfe1pgshv] {
        background: #fff6e6;
    }

/* Items column - the existing line count plus the Items button that
   opens the read-only lines popup. Scoped to this listing only. */
.os-items-cell[b-wrfe1pgshv] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.os-items-count[b-wrfe1pgshv] {
    min-width: 20px;
    text-align: right;
    font-weight: 600;
}
/* /Components/Pages/Platform/PlatformSettings.razor.rz.scp.css */
/* =====================================================================
   PLATFORM SETTINGS — Dedalus-style tabbed configuration page
   ===================================================================== */

.platform-settings-page[b-t7755p23nx] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ---------- Header ---------- */

.platform-header[b-t7755p23nx] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.platform-header-actions[b-t7755p23nx] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.platform-dirty-dot[b-t7755p23nx] {
    color: #d13438;
    font-size: 18px;
    line-height: 1;
}

/* ---------- Body: rail + content ---------- */

.platform-body[b-t7755p23nx] {
    display: flex;
    gap: 16px;
    align-items: stretch;
    min-height: 60vh;
}

/* ---------- Icon tab rail ---------- */

.platform-rail[b-t7755p23nx] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 8px;
    width: 92px;
    flex: 0 0 auto;
    background: var(--neutral-layer-1, #ffffff);
    border: 1px solid var(--neutral-stroke-divider-rest, #e3e6ea);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
}

.platform-rail-btn[b-t7755p23nx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 4px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #4b5563;
    cursor: pointer;
    transition: background .12s ease, color .12s ease;
}

.platform-rail-btn:hover[b-t7755p23nx] {
    background: rgba(28, 113, 184, .08);
    color: #1c71b8;
}

.platform-rail-btn.active[b-t7755p23nx] {
    background: rgba(28, 113, 184, .12);
    color: #1c71b8;
    font-weight: 600;
}

.platform-rail-icon[b-t7755p23nx] {
    display: inline-flex;
}

.platform-rail-label[b-t7755p23nx] {
    font-size: 11px;
    line-height: 1.1;
    text-align: center;
}

/* ---------- Content panel ---------- */

.platform-content[b-t7755p23nx] {
    flex: 1 1 auto;
    min-width: 0;
    padding: 20px 24px;
    background: var(--neutral-layer-1, #ffffff);
    border: 1px solid var(--neutral-stroke-divider-rest, #e3e6ea);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
}

.platform-loading[b-t7755p23nx] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 32px;
    color: #6b7280;
}

/* ---------- Shared section styles (used by child sections) ---------- */

[b-t7755p23nx] .platform-section-title {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 600;
}

[b-t7755p23nx] .platform-section-sub {
    margin: 0 0 16px;
    color: #6b7280;
    font-size: 13px;
}

[b-t7755p23nx] .platform-group-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 20px 0 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #6b7280;
}

[b-t7755p23nx] .platform-group-label::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #e5e7eb;
}

[b-t7755p23nx] .platform-color-field {
    display: flex;
    align-items: center;
    gap: 8px;
}

[b-t7755p23nx] .platform-color-field input[type="color"] {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
}

[b-t7755p23nx] .platform-switch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fafbfc;
}

[b-t7755p23nx] .platform-switch-row .label {
    display: flex;
    flex-direction: column;
}

[b-t7755p23nx] .platform-switch-row .label strong {
    font-size: 13px;
    font-weight: 600;
}

[b-t7755p23nx] .platform-switch-row .label small {
    color: #6b7280;
}

/* ---------- Responsive ---------- */

@media (max-width: 720px) {
    .platform-body[b-t7755p23nx] {
        flex-direction: column;
    }

    .platform-rail[b-t7755p23nx] {
        flex-direction: row;
        width: 100%;
        overflow-x: auto;
    }
}
/* /Components/Pages/Platform/Sections/PlatformIpBlockSection.razor.rz.scp.css */
.ipblock-list[b-u8tgbxrkv8] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}

.ipblock-row[b-u8tgbxrkv8] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fafbfc;
}

.ipblock-icon[b-u8tgbxrkv8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #1c71b8;
    color: #fff;
    flex: 0 0 auto;
}

.ipblock-main[b-u8tgbxrkv8] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    cursor: pointer;
}

.ipblock-main strong[b-u8tgbxrkv8] {
    font-size: 14px;
}

.ipblock-main small[b-u8tgbxrkv8] {
    color: #6b7280;
}

.ipblock-status[b-u8tgbxrkv8] {
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
}

.ipblock-status.on[b-u8tgbxrkv8] {
    background: rgba(16, 124, 16, .1);
    color: #107c10;
}

.ipblock-status.off[b-u8tgbxrkv8] {
    background: rgba(209, 52, 56, .1);
    color: #d13438;
}

.ipblock-editor[b-u8tgbxrkv8] {
    margin-top: 20px;
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
}
/* /Components/Pages/Policy/PolicyAssignmentForm.razor.rz.scp.css */
.policy-page[b-qtwjnulpnm] { max-width: 960px; margin: 0 auto; padding: 24px; display: grid; gap: 20px; }
.policy-eyebrow[b-qtwjnulpnm] { color: var(--accent-fill-rest, #0062b8); font-size: 12px; font-weight: 600; }
.policy-header h1[b-qtwjnulpnm] { margin: 8px 0; font-size: 26px; }
.policy-header p[b-qtwjnulpnm], .policy-checklist p[b-qtwjnulpnm] { color: var(--neutral-foreground-hint, #64748b); margin: 8px 0; }
.policy-card[b-qtwjnulpnm] { padding: 24px; border: 1px solid var(--neutral-stroke-rest, #dce6f2); border-radius: 12px; background: var(--neutral-layer-1, white); }
.policy-checklist[b-qtwjnulpnm] { margin: 24px 0; padding: 20px; border: 1px solid var(--neutral-stroke-rest, #dce6f2); border-radius: 8px; max-height: 440px; overflow-y: auto; }
.policy-checklist legend[b-qtwjnulpnm] { padding: 0 8px; font-weight: 600; }
.policy-selection-count[b-qtwjnulpnm] { font-size: 12px; color: var(--neutral-foreground-hint, #64748b); margin-bottom: 12px; }
.policy-option[b-qtwjnulpnm] { display: flex; align-items: center; gap: 12px; padding: 9px 0; }
.policy-locked[b-qtwjnulpnm] { color: var(--neutral-foreground-hint, #64748b); font-size: 12px; }
.policy-actions[b-qtwjnulpnm] { display: flex; justify-content: flex-end; gap: 10px; border-top: 1px solid var(--neutral-stroke-rest, #dce6f2); padding-top: 20px; }
@media (max-width: 600px) { .policy-page[b-qtwjnulpnm] { padding: 12px; } .policy-card[b-qtwjnulpnm] { padding: 16px; } .policy-header h1[b-qtwjnulpnm] { font-size: 22px; } }
/* /Components/Pages/PrintReport/PdfLayoutCell.razor.rz.scp.css */
/*
    Layout canvas cells.

    ::deep is required throughout: this stylesheet is scoped to
    PdfLayoutCell, but the component renders itself recursively, so the
    markup of a nested instance belongs to a *child* component as far as
    scoping is concerned. Without ::deep only the outermost level would
    be styled.
*/

[b-zl9mxdmoi4] .lay-split {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 28px;
    align-items: stretch;
}

[b-zl9mxdmoi4] .lay-v {
    flex-direction: row;
}

[b-zl9mxdmoi4] .lay-h {
    flex-direction: column;
}

[b-zl9mxdmoi4] .lay-child {
    min-width: 0;
    min-height: 0;
    display: flex;
    box-sizing: border-box;
}

    [b-zl9mxdmoi4] .lay-child > * {
        flex: 1 1 auto;
        min-width: 0;
    }

/* Zero-extent flex item with an overlay hit area, so handles never take
   width from the cells and children still sum to exactly 100 %. */
[b-zl9mxdmoi4] .lay-handle {
    position: relative;
    flex: 0 0 0px;
    z-index: 3;
}

[b-zl9mxdmoi4] .lay-v > .lay-handle::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -3px;
    width: 7px;
    cursor: col-resize;
    background: transparent;
}

[b-zl9mxdmoi4] .lay-h > .lay-handle::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -3px;
    height: 7px;
    cursor: row-resize;
    background: transparent;
}

[b-zl9mxdmoi4] .lay-v > .lay-handle:hover::after,
[b-zl9mxdmoi4] .lay-h > .lay-handle:hover::after {
    background: rgba(13, 110, 253, .45);
}

[b-zl9mxdmoi4] .lay-leaf {
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid #d7d7d7;
    border-radius: 3px;
    margin: 1px;
    padding: 2px 3px;
    background: #fff;
    overflow: hidden;
    cursor: pointer;
    font-size: 11px;
    line-height: 1.25;
}

    [b-zl9mxdmoi4] .lay-leaf:hover {
        border-color: #9ec5fe;
    }

[b-zl9mxdmoi4] .lay-selected {
    border-color: #0d6efd;
    box-shadow: inset 0 0 0 1px #0d6efd;
    background: #f2f7ff;
}

[b-zl9mxdmoi4] .lay-empty {
    border-style: dashed;
    background: #fafafa;
}

[b-zl9mxdmoi4] .lay-leaf-head {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #6c757d;
    font-size: 10px;
    white-space: nowrap;
    overflow: hidden;
}

[b-zl9mxdmoi4] .lay-key {
    font-weight: 600;
    color: #0d6efd;
}

[b-zl9mxdmoi4] .lay-cap {
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-zl9mxdmoi4] .lay-size {
    margin-left: auto;
    font-variant-numeric: tabular-nums;
}

[b-zl9mxdmoi4] .lay-leaf-body {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin-top: 2px;
}

[b-zl9mxdmoi4] .lay-chip {
    background: #e7f1ff;
    border: 1px solid #cfe2ff;
    border-radius: 2px;
    padding: 0 3px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[b-zl9mxdmoi4] .lay-block {
    background: #e9f7ef;
    border-color: #cdead8;
}

[b-zl9mxdmoi4] .lay-off {
    opacity: .45;
    text-decoration: line-through;
}

[b-zl9mxdmoi4] .lay-hint {
    color: #adb5bd;
    font-style: italic;
}
/* /Components/Pages/PrintReport/PdfTemplateDesigner.razor.rz.scp.css */
/* The page canvas. Aspect ratio comes from the template's page size and
   orientation, so proportions on screen match the printed sheet. */

.lay-canvas[b-40yl50ejar] {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #f1f3f5;
    border: 1px solid #ced4da;
    border-radius: 4px;
    padding: 4px;
    overflow: hidden;
}

.lay-area[b-40yl50ejar] {
    display: flex;
    flex-direction: column;
    border: 1px dashed #b9c0c7;
    border-radius: 3px;
    margin-bottom: 3px;
    background: #fbfcfd;
    min-height: 34px;
    position: relative;
}

    .lay-area:last-child[b-40yl50ejar] {
        margin-bottom: 0;
    }

/* The body is the only area that flows and paginates, so it takes the
   slack; header and footer size to their content exactly as on paper. */
.lay-area-body[b-40yl50ejar] {
    flex: 1 1 auto;
    min-height: 90px;
}

.lay-area-label[b-40yl50ejar] {
    font-size: 9px;
    letter-spacing: .08em;
    color: #8a9199;
    padding: 1px 4px 0;
    text-transform: uppercase;
    user-select: none;
}

.lay-area-inner[b-40yl50ejar] {
    flex: 1 1 auto;
    display: flex;
    min-height: 0;
    padding: 2px;
}

    .lay-area-inner > *[b-40yl50ejar] {
        flex: 1 1 auto;
        min-width: 0;
    }

.lay-toolbar[b-40yl50ejar] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}

/* Full-screen preview.

   Fixed to the viewport rather than sized inside a card: a PDF shown in a
   quarter-width panel is too small to judge, which is the whole point of
   previewing. */

.pv-overlay[b-40yl50ejar] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    background: rgba(20, 22, 26, .82);
    display: flex;
    flex-direction: column;
    padding: 10px;
}

    .pv-overlay:focus[b-40yl50ejar] {
        outline: none;
    }

.pv-bar[b-40yl50ejar] {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    padding: 2px 4px 8px;
    flex: 0 0 auto;
}

.pv-title[b-40yl50ejar] {
    font-weight: 600;
}

.pv-hint[b-40yl50ejar] {
    font-size: 12px;
    opacity: .7;
}

.pv-frame[b-40yl50ejar] {
    flex: 1 1 auto;
    width: 100%;
    border: 0;
    background: #fff;
    border-radius: 3px;
    min-height: 0;
}

.lay-empty-area[b-40yl50ejar] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #adb5bd;
    font-size: 11px;
    font-style: italic;
    padding: 6px;
}
/* /Components/Pages/PrintReport/TaxInvoiceForm.razor.rz.scp.css */
/* =========================================================
   Invoice Page Layout
   ========================================================= */

.invoice-page[b-vw8llaqx6w] {
    min-height: 100vh;
    padding: 24px;
    background: #f4f6f8;
    color: #111827;
    font-family: Arial, Helvetica, sans-serif;
}

.invoice-editor[b-vw8llaqx6w] {
    max-width: 1180px;
    margin: 0 auto 24px auto;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #d7dce2;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.editor-header[b-vw8llaqx6w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

    .editor-header h2[b-vw8llaqx6w] {
        margin: 0;
        font-size: 24px;
        font-weight: 700;
    }

    .editor-header p[b-vw8llaqx6w] {
        margin: 4px 0 0 0;
        color: #64748b;
        font-size: 14px;
    }


/* =========================================================
   Form Styling
   ========================================================= */

.form-section[b-vw8llaqx6w] {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fbfdff;
}

    .form-section h3[b-vw8llaqx6w] {
        margin: 0 0 14px 0;
        font-size: 17px;
        font-weight: 700;
    }

.section-title-row[b-vw8llaqx6w] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
}

.form-grid[b-vw8llaqx6w] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.form-field[b-vw8llaqx6w] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .form-field.full[b-vw8llaqx6w] {
        grid-column: span 4;
    }

    .form-field label[b-vw8llaqx6w],
    .tax-row label[b-vw8llaqx6w] {
        font-size: 13px;
        font-weight: 700;
        color: #334155;
    }

.form-control[b-vw8llaqx6w] {
    width: 100%;
    min-height: 38px;
    padding: 8px 10px;
    font-size: 14px;
    color: #111827;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    outline: none;
}

    .form-control:focus[b-vw8llaqx6w] {
        border-color: #0f766e;
        box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.12);
    }

.textarea[b-vw8llaqx6w] {
    min-height: 72px;
    resize: vertical;
}

.item-grid[b-vw8llaqx6w] {
    display: grid;
    grid-template-columns: 2.2fr 0.8fr 0.7fr 0.7fr 0.9fr 0.7fr;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
}

.item-grid-header[b-vw8llaqx6w] {
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #475569;
}

.tax-row[b-vw8llaqx6w] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}

.tax-input[b-vw8llaqx6w] {
    max-width: 120px;
}


/* =========================================================
   Buttons
   ========================================================= */

.btn-primary[b-vw8llaqx6w],
.btn-secondary[b-vw8llaqx6w],
.btn-danger[b-vw8llaqx6w] {
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 700;
}

.btn-primary[b-vw8llaqx6w] {
    padding: 10px 16px;
    color: #ffffff;
    background: #0f766e;
}

.btn-secondary[b-vw8llaqx6w] {
    padding: 8px 12px;
    color: #ffffff;
    background: #334155;
}

.btn-danger[b-vw8llaqx6w] {
    min-height: 38px;
    padding: 8px 10px;
    color: #ffffff;
    background: #dc2626;
}


/* =========================================================
   Printable Invoice Paper
   ========================================================= */

.invoice-paper[b-vw8llaqx6w] {
    width: 1040px;
    margin: 0 auto;
    padding: 0;
    background: #ffffff;
    border: 1px solid #111111;
    color: #111111;
    font-size: 14px;
}

.invoice-top[b-vw8llaqx6w] {
    display: grid;
    grid-template-columns: 1fr 250px 180px;
    gap: 12px;
    padding: 18px 18px 8px 18px;
    align-items: start;
}

.company-name[b-vw8llaqx6w] {
    font-size: 36px;
    line-height: 1;
    font-weight: 900;
    color: #23205f;
    letter-spacing: 1px;
}

.company-tagline[b-vw8llaqx6w] {
    display: inline-block;
    margin-top: 8px;
    padding: 8px 18px;
    background: #009688;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
}

.company-address[b-vw8llaqx6w] {
    margin-top: 12px;
    font-size: 18px;
    line-height: 1.25;
}

.company-contact[b-vw8llaqx6w] {
    padding-top: 72px;
    font-size: 18px;
    line-height: 1.4;
}

.logo-box[b-vw8llaqx6w] {
    text-align: center;
}

.logo-icon[b-vw8llaqx6w] {
    height: 82px;
    width: 100px;
    margin: 0 auto 6px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 8px solid #009688;
    color: #23205f;
    font-size: 24px;
    font-weight: 900;
}

.logo-text[b-vw8llaqx6w] {
    color: #23205f;
    font-size: 26px;
    font-weight: 900;
}

.logo-small[b-vw8llaqx6w] {
    color: #a3a3a3;
    letter-spacing: 4px;
    font-size: 12px;
}


/* =========================================================
   Invoice Header and Details
   ========================================================= */

.invoice-title-row[b-vw8llaqx6w] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-top: 1px solid #111111;
    border-bottom: 1px solid #111111;
}

.pan-box[b-vw8llaqx6w],
.title-box[b-vw8llaqx6w],
.copy-box[b-vw8llaqx6w] {
    padding: 5px 8px;
    font-weight: 900;
}

.pan-box[b-vw8llaqx6w] {
    font-size: 22px;
}

.title-box[b-vw8llaqx6w] {
    text-align: center;
    font-size: 27px;
}

.copy-box[b-vw8llaqx6w] {
    text-align: right;
    font-size: 14px;
}

.details-row[b-vw8llaqx6w] {
    display: grid;
    grid-template-columns: 40% 60%;
    min-height: 175px;
    border-bottom: 1px solid #111111;
}

.customer-box[b-vw8llaqx6w] {
    border-right: 1px solid #111111;
}

.box-heading[b-vw8llaqx6w] {
    padding: 6px 8px;
    text-align: center;
    font-weight: 900;
    border-bottom: 1px solid #111111;
}

.detail-line[b-vw8llaqx6w] {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 8px;
    padding: 4px 8px;
    line-height: 1.25;
}

.invoice-info-box[b-vw8llaqx6w] {
    padding: 8px;
}

.info-grid[b-vw8llaqx6w] {
    display: grid;
    grid-template-columns: 140px 1fr 130px 1fr;
    gap: 12px 14px;
    line-height: 1.35;
}


/* =========================================================
   Invoice Tables
   ========================================================= */

.invoice-table[b-vw8llaqx6w] {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

    .invoice-table th[b-vw8llaqx6w],
    .invoice-table td[b-vw8llaqx6w] {
        padding: 6px 6px;
        border: 1px solid #111111;
        vertical-align: top;
    }

    .invoice-table th[b-vw8llaqx6w] {
        font-weight: 900;
        text-align: center;
    }

.product-table[b-vw8llaqx6w] {
    min-height: 390px;
}

    .product-table tbody tr[b-vw8llaqx6w] {
        height: 26px;
    }

.blank-row[b-vw8llaqx6w] {
    height: 260px !important;
}

.sr-col[b-vw8llaqx6w] {
    width: 52px;
}

.hsn-col[b-vw8llaqx6w] {
    width: 130px;
}

.qty-col[b-vw8llaqx6w] {
    width: 130px;
}

.rate-col[b-vw8llaqx6w] {
    width: 140px;
}

.amount-col[b-vw8llaqx6w] {
    width: 140px;
}

.center[b-vw8llaqx6w] {
    text-align: center;
}

.right[b-vw8llaqx6w] {
    text-align: right;
}

.subtotal-line[b-vw8llaqx6w] {
    margin-bottom: 8px;
    padding-top: 4px;
    border-top: 2px solid #111111;
    font-weight: 900;
}


/* =========================================================
   Amount in Words and Tax
   ========================================================= */

.amount-words[b-vw8llaqx6w] {
    position: relative;
    padding: 8px 14px;
    border-bottom: 1px solid #111111;
    font-size: 16px;
    line-height: 1.5;
}

    .amount-words strong[b-vw8llaqx6w] {
        display: block;
        font-size: 17px;
    }

.eoe[b-vw8llaqx6w] {
    position: absolute;
    right: 12px;
    bottom: 8px;
    font-weight: 700;
}

.tax-table th[b-vw8llaqx6w],
.tax-table td[b-vw8llaqx6w] {
    padding: 5px 6px;
}

.tax-words[b-vw8llaqx6w] {
    padding: 8px 14px;
    border-bottom: 1px solid #111111;
    font-size: 16px;
}


/* =========================================================
   Bottom Section
   ========================================================= */

.bottom-row[b-vw8llaqx6w] {
    display: grid;
    grid-template-columns: 60% 40%;
    min-height: 350px;
}

.bank-box[b-vw8llaqx6w] {
    border-right: 1px solid #111111;
}

.bank-content[b-vw8llaqx6w] {
    display: grid;
    grid-template-columns: 1fr 170px;
    gap: 10px;
    padding: 10px;
    min-height: 175px;
}

.bank-grid[b-vw8llaqx6w] {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 12px 16px;
    align-content: start;
}

.qr-wrapper[b-vw8llaqx6w] {
    text-align: center;
}

.qr-box[b-vw8llaqx6w] {
    height: 126px;
    width: 126px;
    margin: 0 auto 8px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 4px solid #111111;
    font-weight: 900;
    font-size: 30px;
    background: linear-gradient(45deg, #000 25%, transparent 25%), linear-gradient(-45deg, #000 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #000 75%), linear-gradient(-45deg, transparent 75%, #000 75%);
    background-size: 18px 18px;
    background-position: 0 0, 0 9px, 9px -9px, -9px 0;
    color: #ffffff;
}

.terms-box[b-vw8llaqx6w] {
    min-height: 120px;
    border-top: 1px solid #111111;
}

    .terms-box div:not(.box-heading)[b-vw8llaqx6w] {
        padding: 2px 8px;
    }

.customer-sign[b-vw8llaqx6w] {
    min-height: 50px;
    padding: 10px;
    border-top: 1px solid #111111;
}

.signature-box[b-vw8llaqx6w] {
    position: relative;
    text-align: center;
}

.certified-text[b-vw8llaqx6w] {
    padding: 10px;
    font-size: 12px;
    font-weight: 700;
}

.signature-box h4[b-vw8llaqx6w] {
    margin: 0;
    padding: 8px;
    border-top: 1px solid #111111;
    font-size: 16px;
}

.computer-note[b-vw8llaqx6w] {
    position: absolute;
    top: 170px;
    left: 110px;
    transform: rotate(-15deg);
    font-size: 16px;
    text-align: left;
}

.authorised-sign[b-vw8llaqx6w] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 8px;
    border-top: 1px solid #111111;
    font-size: 12px;
}

.thanks-text[b-vw8llaqx6w] {
    padding: 14px 0 20px 0;
    font-size: 16px;
    border-top: 1px solid #111111;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1200px) {
    .invoice-paper[b-vw8llaqx6w] {
        width: 100%;
        overflow-x: auto;
    }

    .form-grid[b-vw8llaqx6w] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .form-field.full[b-vw8llaqx6w] {
        grid-column: span 2;
    }

    .item-grid[b-vw8llaqx6w] {
        grid-template-columns: 1fr;
    }

    .item-grid-header[b-vw8llaqx6w] {
        display: none;
    }
}


/* =========================================================
   Print
   ========================================================= */

@media print {
    .invoice-page[b-vw8llaqx6w] {
        padding: 0;
        background: #ffffff;
    }

    .invoice-editor[b-vw8llaqx6w] {
        display: none;
    }

    .invoice-paper[b-vw8llaqx6w] {
        width: 100%;
        margin: 0;
        border: 1px solid #111111;
        box-shadow: none;
        page-break-inside: avoid;
    }
}
/* /Components/Pages/Production/FormControls/LabelClaim_Form.razor.rz.scp.css */
/* Section checkbox group on the Label Claim form.
   Matches the bordered "Section:" box on the reference screen. */

.claim-section-group[b-calrpt42s3] {
    border: 1px solid var(--neutral-stroke-rest, #d1d1d1);
    border-radius: 4px;
    padding: 8px 12px 12px 12px;
    margin: 0;
}

.claim-section-group legend[b-calrpt42s3] {
    padding: 0 4px;
    font-size: var(--type-ramp-base-font-size, 14px);
}

.claim-section-group > div[b-calrpt42s3] {
    padding: 2px 0;
}
/* /Components/Pages/PurchaseOrder/PurchaseOrderDetails.razor.rz.scp.css */
.pod-page[b-lvn5yq5n93] {
    min-width: 1100px;
    color: #333;
    font-size: 12px;
}

.pod-title[b-lvn5yq5n93] {
    background: #0a8000;
    color: #fff;
    font-size: 14px;
    padding: 6px 12px;
    margin-bottom: 8px;
}

.pod-addlink[b-lvn5yq5n93] {
    padding: 4px 12px 8px;
}

.pod-addlink a[b-lvn5yq5n93] {
    color: #0645ad;
    font-size: 14px;
    text-decoration: none;
}

.pod-addlink a:hover[b-lvn5yq5n93] {
    text-decoration: underline;
}

/* ===============================
   FILTER BAR
===============================*/

.pod-filter[b-lvn5yq5n93] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px;
    padding: 8px 12px;
}

.pod-filter label[b-lvn5yq5n93] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-weight: 600;
}

.pod-filter select[b-lvn5yq5n93],
.pod-filter input[b-lvn5yq5n93] {
    border: 1px solid #7f9db9;
    padding: 3px 4px;
    font-size: 12px;
    min-width: 140px;
}

.pod-req[b-lvn5yq5n93] {
    color: #c00;
}

.pod-go[b-lvn5yq5n93] {
    border: 1px solid #057000;
    background: #10a000;
    color: #fff;
    font-weight: 700;
    padding: 5px 22px;
    border-radius: 2px;
    cursor: pointer;
}

.pod-go:disabled[b-lvn5yq5n93] {
    opacity: .6;
    cursor: default;
}

/* ===============================
   TOOLBAR
===============================*/

.pod-toolbar[b-lvn5yq5n93] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 12px;
    background: #ececec;
}

.pod-toolbar select[b-lvn5yq5n93],
.pod-toolbar input[b-lvn5yq5n93] {
    border: 1px solid #7f9db9;
    padding: 3px 4px;
    font-size: 12px;
}

.pod-search input[b-lvn5yq5n93] {
    min-width: 260px;
}

/* ===============================
   GRID
===============================*/

.pod-grid-wrap[b-lvn5yq5n93] {
    overflow-x: auto;
    padding: 0 12px;
}

.pod-grid[b-lvn5yq5n93] {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

.pod-grid th[b-lvn5yq5n93] {
    background: #d9d9d9;
    border: 1px solid #bfbfbf;
    padding: 5px 4px;
    text-align: center;
    vertical-align: middle;
    font-weight: 700;
}

.pod-grid td[b-lvn5yq5n93] {
    border: 1px solid #cfcfcf;
    padding: 4px;
    text-align: center;
    vertical-align: top;
    background: #d5f0d0;
}

.pod-grid tbody tr:nth-child(even) td[b-lvn5yq5n93] {
    background: #eaf7e8;
}

.pod-grid td.pod-left[b-lvn5yq5n93] {
    text-align: left;
}

.pod-grid td.number[b-lvn5yq5n93] {
    text-align: right;
}

.pod-inactive td[b-lvn5yq5n93] {
    background: #f2dede !important;
    color: #8a6d3b;
    text-decoration: line-through;
}

.pod-link[b-lvn5yq5n93] {
    border: 0;
    background: none;
    color: #0645ad;
    padding: 0;
    font-size: 11px;
    cursor: pointer;
    text-decoration: underline;
}

.pod-link:hover[b-lvn5yq5n93] {
    color: #0b0080;
}

/* nested item lines */

.pod-items[b-lvn5yq5n93] {
    padding: 2px !important;
}

.pod-subgrid[b-lvn5yq5n93] {
    width: 100%;
    border-collapse: collapse;
}

.pod-subgrid td[b-lvn5yq5n93] {
    border: 1px solid #cfcfcf;
    padding: 3px 4px;
    background: #fff;
}

.pod-empty[b-lvn5yq5n93] {
    padding: 14px !important;
    color: #777;
    background: #fff !important;
}

.pod-muted[b-lvn5yq5n93] {
    color: #888;
}

/* ===============================
   MESSAGES / FOOTER
===============================*/

.pod-message[b-lvn5yq5n93] {
    margin: 6px 12px;
    padding: 6px 10px;
    border-radius: 2px;
    font-weight: 600;
}

.pod-message.success[b-lvn5yq5n93] {
    background: #dff0d8;
    border: 1px solid #b2d8a8;
    color: #2d642d;
}

.pod-message.error[b-lvn5yq5n93] {
    background: #f2dede;
    border: 1px solid #e0b4b4;
    color: #a94442;
}

.pod-message.info[b-lvn5yq5n93] {
    background: #d9edf7;
    border: 1px solid #b6dbe8;
    color: #31708f;
}

.pod-footer[b-lvn5yq5n93] {
    padding: 8px 12px;
    color: #555;
}
/* /Components/Pages/PurchaseOrder/PurchaseOrderEntry.razor.rz.scp.css */
.poe-page[b-8l3fg88fvd] {
    min-width: 1400px;
    color: #333;
    font-size: 12px;
}

.poe-title[b-8l3fg88fvd] {
    background: #0a8000;
    color: #fff;
    font-size: 14px;
    padding: 6px 12px;
    margin-bottom: 6px;
}

.poe-addlink[b-8l3fg88fvd] {
    padding: 2px 12px 6px;
}

.poe-addlink a[b-8l3fg88fvd] {
    color: #0645ad;
    text-decoration: none;
}

.poe-addlink a:hover[b-8l3fg88fvd] {
    text-decoration: underline;
}

/* ===============================
   FILTER / HEADER BARS
===============================*/

.poe-filter[b-8l3fg88fvd],
.poe-header[b-8l3fg88fvd] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px;
    padding: 8px 12px;
}

.poe-header[b-8l3fg88fvd] {
    background: #f4f4f4;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.poe-filter label[b-8l3fg88fvd],
.poe-header label[b-8l3fg88fvd] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-weight: 600;
}

.poe-filter select[b-8l3fg88fvd],
.poe-filter input[b-8l3fg88fvd],
.poe-header select[b-8l3fg88fvd],
.poe-header input[b-8l3fg88fvd] {
    border: 1px solid #7f9db9;
    padding: 3px 4px;
    font-size: 12px;
    min-width: 170px;
}

.poe-go[b-8l3fg88fvd],
.poe-confirm[b-8l3fg88fvd],
.poe-save[b-8l3fg88fvd] {
    border: 1px solid #057000;
    background: #10a000;
    color: #fff;
    font-weight: 700;
    padding: 5px 18px;
    border-radius: 2px;
    cursor: pointer;
}

.poe-go:disabled[b-8l3fg88fvd],
.poe-confirm:disabled[b-8l3fg88fvd],
.poe-save:disabled[b-8l3fg88fvd] {
    opacity: .55;
    cursor: default;
}

/* ===============================
   TOOLBAR
===============================*/

.poe-toolbar[b-8l3fg88fvd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 12px;
    background: #ececec;
}

.poe-toolbar select[b-8l3fg88fvd],
.poe-toolbar input[b-8l3fg88fvd] {
    border: 1px solid #7f9db9;
    padding: 3px 4px;
    font-size: 12px;
}

.poe-search input[b-8l3fg88fvd] {
    min-width: 320px;
}

/* ===============================
   GRID
===============================*/

.poe-grid-wrap[b-8l3fg88fvd] {
    overflow-x: auto;
    padding: 0 12px;
}

.poe-grid[b-8l3fg88fvd] {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

.poe-grid th[b-8l3fg88fvd] {
    background: #d9d9d9;
    border: 1px solid #bfbfbf;
    padding: 5px 3px;
    text-align: center;
    vertical-align: middle;
    font-weight: 700;
}

.poe-grid td[b-8l3fg88fvd] {
    border: 1px solid #cfcfcf;
    padding: 4px 3px;
    text-align: center;
    vertical-align: top;
    background: #a5e0a0;
}

.poe-grid td.poe-left[b-8l3fg88fvd] {
    text-align: left;
}

.poe-grid td.number[b-8l3fg88fvd] {
    text-align: right;
}

.poe-empty[b-8l3fg88fvd] {
    padding: 16px !important;
    color: #666;
    background: #fff !important;
    text-align: center !important;
}

/* inputs inside the grid */

.poe-num[b-8l3fg88fvd],
.poe-pct[b-8l3fg88fvd],
.poe-text[b-8l3fg88fvd],
.poe-date[b-8l3fg88fvd] {
    border: 1px solid #7f9db9;
    padding: 2px 3px;
    font-size: 11px;
    width: 100%;
    box-sizing: border-box;
    margin-top: 2px;
}

.poe-num[b-8l3fg88fvd],
.poe-pct[b-8l3fg88fvd] {
    text-align: right;
}

.poe-remarks[b-8l3fg88fvd] {
    border: 1px solid #7f9db9;
    font-size: 11px;
    width: 100%;
    min-height: 34px;
    resize: vertical;
    box-sizing: border-box;
}

.poe-unit[b-8l3fg88fvd] {
    display: block;
    color: #444;
}

.poe-caption[b-8l3fg88fvd] {
    color: #333;
    font-size: 10px;
    margin-top: 2px;
}

.poe-link[b-8l3fg88fvd] {
    border: 0;
    background: none;
    color: #0645ad;
    padding: 0;
    font-size: 11px;
    cursor: pointer;
    text-decoration: underline;
}

.poe-link:hover[b-8l3fg88fvd] {
    color: #0b0080;
}

/* ===============================
   MESSAGES / FOOTER
===============================*/

.poe-message[b-8l3fg88fvd] {
    margin: 6px 12px;
    padding: 6px 10px;
    border-radius: 2px;
    font-weight: 600;
}

.poe-message.success[b-8l3fg88fvd] {
    background: #dff0d8;
    border: 1px solid #b2d8a8;
    color: #2d642d;
}

.poe-message.error[b-8l3fg88fvd] {
    background: #f2dede;
    border: 1px solid #e0b4b4;
    color: #a94442;
}

.poe-message.info[b-8l3fg88fvd] {
    background: #d9edf7;
    border: 1px solid #b6dbe8;
    color: #31708f;
}

.poe-footer[b-8l3fg88fvd] {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 10px 12px;
    background: #ececec;
    color: #555;
}

.poe-total[b-8l3fg88fvd] {
    margin-left: auto;
}

/* ===============================
   ADD ITEM PICKER (direct orders)
===============================*/

.poe-additem[b-8l3fg88fvd] {
    position: relative;
    padding: 6px 12px 10px;
}

.poe-additem-btn[b-8l3fg88fvd] {
    background: #0a8000;
    border: 1px solid #086600;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 14px;
    cursor: pointer;
}

.poe-additem-btn:hover[b-8l3fg88fvd] {
    background: #0c9600;
}

.poe-additem-panel[b-8l3fg88fvd] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-top: 8px;
    padding: 10px 12px;
    background: #f7f7f7;
    border: 1px solid #d6d6d6;
}

.poe-additem-hint[b-8l3fg88fvd] {
    max-width: 380px;
    padding-top: 18px;
    color: #666;
    font-size: 11px;
    line-height: 1.4;
}

/* The picker drops its grid over the order grid, so it needs to win the
   stacking contest against the sticky table headers below it. */
.poe-additem[b-8l3fg88fvd]  .gmp-root {
    position: relative;
    width: 340px;
    z-index: 50;
}

.poe-additem[b-8l3fg88fvd]  .gmp-popup {
    z-index: 51;
}
/* /Components/Pages/PurchaseOrder/PurchaseOrderTransaction.razor.rz.scp.css */
.pot-page[b-7x2yhn9ozj] {
    min-width: 900px;
    color: #333;
    font-size: 12px;
}

.pot-title[b-7x2yhn9ozj] {
    background: #0a8000;
    color: #fff;
    font-size: 14px;
    padding: 6px 12px;
    margin-bottom: 14px;
}

.pot-form[b-7x2yhn9ozj] {
    padding: 0 16px;
}

/* ===============================
   PO DATE ROW
===============================*/

.pot-daterow[b-7x2yhn9ozj] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
}

.pot-label[b-7x2yhn9ozj] {
    font-weight: 600;
}

.pot-req[b-7x2yhn9ozj] {
    color: #c00;
}

.pot-date[b-7x2yhn9ozj] {
    border: 1px solid #7f9db9;
    padding: 3px 6px;
    font-size: 13px;
    font-weight: 600;
}

/* ===============================
   THREE-COLUMN LAYOUT
===============================*/

.pot-grid[b-7x2yhn9ozj] {
    display: grid;
    grid-template-columns: repeat(3, minmax(260px, 1fr));
    gap: 10px 28px;
}

.pot-col[b-7x2yhn9ozj] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pot-field[b-7x2yhn9ozj] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pot-field > label[b-7x2yhn9ozj] {
    min-width: 130px;
    font-weight: 600;
}

.pot-field select[b-7x2yhn9ozj],
.pot-field input[b-7x2yhn9ozj] {
    border: 1px solid #7f9db9;
    padding: 3px 4px;
    font-size: 12px;
    min-width: 190px;
}

.pot-transport[b-7x2yhn9ozj] {
    border: 1px solid #3d7fc1 !important;
    min-width: 240px !important;
}

.pot-locationrow[b-7x2yhn9ozj] {
    align-items: center;
}

.pot-ok[b-7x2yhn9ozj] {
    border: 1px solid #057000;
    background: #10a000;
    color: #fff;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 2px;
    cursor: pointer;
}

.pot-ok:disabled[b-7x2yhn9ozj] {
    opacity: .6;
    cursor: default;
}

/* ===============================
   ACTIONS / MESSAGES
===============================*/

.pot-actions[b-7x2yhn9ozj] {
    display: flex;
    justify-content: center;
    margin-top: 26px;
}

.pot-close[b-7x2yhn9ozj] {
    border: 1px solid #057000;
    background: #10a000;
    color: #fff;
    font-weight: 700;
    padding: 6px 30px;
    border-radius: 2px;
    cursor: pointer;
}

.pot-message[b-7x2yhn9ozj] {
    margin: 16px auto 0;
    max-width: 620px;
    padding: 6px 10px;
    border-radius: 2px;
    font-weight: 600;
    text-align: center;
}

.pot-message.error[b-7x2yhn9ozj] {
    background: #f2dede;
    border: 1px solid #e0b4b4;
    color: #a94442;
}

.pot-message.success[b-7x2yhn9ozj] {
    background: #dff0d8;
    border: 1px solid #b2d8a8;
    color: #2d642d;
}

.pot-hint[b-7x2yhn9ozj] {
    margin-top: 14px;
    text-align: center;
    color: #666;
}
/* /Components/Pages/Purchase/Dashboard/Charts/PurchaseBarChart.razor.rz.scp.css */
.pd-chart-empty[b-b3c18gvjmf] {
    padding: 24px 8px;
    text-align: center;
    font-size: 12.5px;
    color: var(--erp-text-muted, #6b809b);
    background: var(--erp-surface-subtle, #f6faff);
    border: 1px dashed var(--erp-border, #dbe7f4);
    border-radius: 6px;
}

.pd-bar-list[b-b3c18gvjmf] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pd-bar-row[b-b3c18gvjmf] {
    display: grid;
    grid-template-columns: 110px 1fr 90px;
    align-items: center;
    gap: 8px;
}

.pd-bar-label[b-b3c18gvjmf] {
    font-size: 12px;
    color: var(--erp-text-secondary, #28496f);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pd-bar-track[b-b3c18gvjmf] {
    height: 10px;
    background: var(--erp-surface-muted, #eef5fc);
    border-radius: 5px;
    overflow: hidden;
}

.pd-bar-fill[b-b3c18gvjmf] {
    height: 100%;
    background: var(--erp-blue-600, #1477df);
    border-radius: 5px;
}

.pd-bar-value[b-b3c18gvjmf] {
    font-size: 12px;
    font-weight: 650;
    text-align: right;
    color: var(--erp-text, #092f5d);
}

@media (max-width: 760px) {
    .pd-bar-row[b-b3c18gvjmf] {
        grid-template-columns: 90px 1fr 70px;
    }
}
/* /Components/Pages/Purchase/Dashboard/Charts/PurchaseDonutChart.razor.rz.scp.css */
.pd-chart-empty[b-rkgr5fbq2d] {
    padding: 24px 8px;
    text-align: center;
    font-size: 12.5px;
    color: var(--erp-text-muted, #6b809b);
    background: var(--erp-surface-subtle, #f6faff);
    border: 1px dashed var(--erp-border, #dbe7f4);
    border-radius: 6px;
}

.pd-donut-wrap[b-rkgr5fbq2d] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.pd-donut-svg-holder[b-rkgr5fbq2d] {
    position: relative;
    width: 140px;
    height: 140px;
    flex-shrink: 0;
}

.pd-donut-svg[b-rkgr5fbq2d] {
    width: 140px;
    height: 140px;
    transform: rotate(-90deg);
}

.pd-donut-track[b-rkgr5fbq2d] {
    stroke: var(--erp-surface-muted, #eef5fc);
    stroke-width: 16;
}

.pd-donut-slice[b-rkgr5fbq2d] {
    stroke-width: 16;
    stroke-linecap: round;
}

.pd-donut-center[b-rkgr5fbq2d] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    pointer-events: none;
}

    .pd-donut-center strong[b-rkgr5fbq2d] {
        font-size: 20px;
        font-weight: 750;
        color: var(--erp-text, #092f5d);
        line-height: 1.1;
    }

    .pd-donut-center span[b-rkgr5fbq2d] {
        margin-top: 2px;
        font-size: 10px;
        color: var(--erp-text-muted, #6b809b);
    }

.pd-donut-legend[b-rkgr5fbq2d] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    min-width: 120px;
}

.pd-donut-legend-row[b-rkgr5fbq2d] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
}

.pd-donut-dot[b-rkgr5fbq2d] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
}

.pd-donut-legend-label[b-rkgr5fbq2d] {
    flex: 1;
    color: var(--erp-text-secondary, #28496f);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pd-donut-legend-value[b-rkgr5fbq2d] {
    font-weight: 650;
    color: var(--erp-text, #092f5d);
}

.pd-donut-legend-pct[b-rkgr5fbq2d] {
    min-width: 38px;
    text-align: right;
    font-size: 11px;
    color: var(--erp-text-muted, #6b809b);
}

.pd-donut-color-0[b-rkgr5fbq2d] { stroke: var(--erp-blue-600, #1477df); }
.pd-donut-color-1[b-rkgr5fbq2d] { stroke: var(--erp-success, #027a48); }
.pd-donut-color-2[b-rkgr5fbq2d] { stroke: var(--erp-warning, #b54708); }
.pd-donut-color-3[b-rkgr5fbq2d] { stroke: var(--erp-danger, #b42318); }
.pd-donut-color-4[b-rkgr5fbq2d] { stroke: var(--erp-nav-accent-3, #6f62c7); }
.pd-donut-color-5[b-rkgr5fbq2d] { stroke: var(--erp-nav-accent-5, #277da1); }

.pd-donut-legend .pd-donut-color-0[b-rkgr5fbq2d] { background: var(--erp-blue-600, #1477df); }
.pd-donut-legend .pd-donut-color-1[b-rkgr5fbq2d] { background: var(--erp-success, #027a48); }
.pd-donut-legend .pd-donut-color-2[b-rkgr5fbq2d] { background: var(--erp-warning, #b54708); }
.pd-donut-legend .pd-donut-color-3[b-rkgr5fbq2d] { background: var(--erp-danger, #b42318); }
.pd-donut-legend .pd-donut-color-4[b-rkgr5fbq2d] { background: var(--erp-nav-accent-3, #6f62c7); }
.pd-donut-legend .pd-donut-color-5[b-rkgr5fbq2d] { background: var(--erp-nav-accent-5, #277da1); }
/* /Components/Pages/Purchase/Dashboard/Charts/PurchaseLineChart.razor.rz.scp.css */
.pd-chart-empty[b-jbj6r1fpvz] {
    padding: 24px 8px;
    text-align: center;
    font-size: 12.5px;
    color: var(--erp-text-muted, #6b809b);
    background: var(--erp-surface-subtle, #f6faff);
    border: 1px dashed var(--erp-border, #dbe7f4);
    border-radius: 6px;
}

.pd-chart-svg[b-jbj6r1fpvz] {
    width: 100%;
    height: 180px;
}

.pd-chart-grid[b-jbj6r1fpvz] {
    stroke: var(--erp-border-soft, #e7eef7);
    stroke-width: 1;
}

.pd-chart-line[b-jbj6r1fpvz] {
    stroke: var(--erp-blue-600, #1477df);
    stroke-width: 2;
}

.pd-chart-dot[b-jbj6r1fpvz] {
    fill: var(--erp-blue-600, #1477df);
}

.pd-chart-axis[b-jbj6r1fpvz] {
    display: flex;
    justify-content: space-between;
    gap: 4px;
    margin-top: 6px;
    flex-wrap: wrap;
}

    .pd-chart-axis span[b-jbj6r1fpvz] {
        font-size: 10.5px;
        color: var(--erp-text-muted, #6b809b);
    }
/* /Components/Pages/Purchase/Dashboard/PurchaseDashboard.razor.rz.scp.css */
.pd-page[b-ixjwtnrgl7] {
    width: 100%;
    min-height: 100%;
    padding: 18px 22px 32px;
    background: var(--erp-page, #f6faff);
    color: var(--erp-text, #092f5d);
    box-sizing: border-box;
}

.pd-header[b-ixjwtnrgl7] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

    .pd-header h1[b-ixjwtnrgl7] {
        margin: 0;
        font-size: 22px;
        font-weight: 700;
        color: var(--erp-text, #092f5d);
    }

    .pd-header span[b-ixjwtnrgl7] {
        display: block;
        margin-top: 4px;
        font-size: 12.5px;
        color: var(--erp-text-muted, #6b809b);
    }

.pd-header-actions[b-ixjwtnrgl7] {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.pd-date-field[b-ixjwtnrgl7] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    color: var(--erp-text-secondary, #28496f);
}

    .pd-date-field input[type="date"][b-ixjwtnrgl7] {
        height: 32px;
        padding: 0 8px;
        border: 1px solid var(--erp-border, #dbe7f4);
        border-radius: 4px;
        background: var(--erp-surface, #ffffff);
        color: var(--erp-text, #092f5d);
        font-size: 12.5px;
    }

.pd-loading[b-ixjwtnrgl7] {
    padding: 40px;
    text-align: center;
    color: var(--erp-text-muted, #6b809b);
}

/* ---------------------------------------------------------- KPI cards */

.pd-kpi-grid[b-ixjwtnrgl7] {
    display: grid;
    grid-template-columns: repeat(6, minmax(160px, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.pd-kpi-card[b-ixjwtnrgl7] {
    position: relative;
    background: linear-gradient(165deg, var(--pd-accent-soft, #eaf4ff) 0%, var(--erp-surface, #ffffff) 55%);
    border: 1px solid var(--pd-accent-border, var(--erp-border, #dbe7f4));
    border-radius: 10px;
    padding: 14px 14px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 118px;
    box-shadow: 0 2px 6px rgba(16, 24, 56, .06);
    transition: box-shadow .15s ease, transform .15s ease;
}

    .pd-kpi-card:hover[b-ixjwtnrgl7] {
        box-shadow: 0 6px 16px rgba(16, 24, 56, .10);
        transform: translateY(-1px);
    }

    /* Accent tokens per KPI - six distinct hues (blue/green/orange/red/
       purple/teal), applied via CSS custom properties so the icon chip,
       value text and border all stay in sync from one source. */
    .pd-kpi-card.accent-blue[b-ixjwtnrgl7] {
        --pd-accent: var(--erp-blue-600, #1477df);
        --pd-accent-soft: var(--erp-blue-75, #eaf4ff);
        --pd-accent-border: var(--erp-blue-100, #d9ebff);
    }

    .pd-kpi-card.accent-green[b-ixjwtnrgl7] {
        --pd-accent: var(--erp-success, #027a48);
        --pd-accent-soft: var(--erp-success-soft, #ecfdf3);
        --pd-accent-border: var(--erp-success-border, #abefc6);
    }

    .pd-kpi-card.accent-orange[b-ixjwtnrgl7] {
        --pd-accent: var(--erp-nav-accent-4, #b87518);
        --pd-accent-soft: #fef3e6;
        --pd-accent-border: #fbd9a8;
    }

    .pd-kpi-card.accent-red[b-ixjwtnrgl7] {
        --pd-accent: var(--erp-danger, #b42318);
        --pd-accent-soft: var(--erp-danger-soft, #fef3f2);
        --pd-accent-border: var(--erp-danger-border, #fecdca);
    }

    .pd-kpi-card.accent-purple[b-ixjwtnrgl7] {
        --pd-accent: var(--erp-nav-accent-3, #6f62c7);
        --pd-accent-soft: #f0eefc;
        --pd-accent-border: #d9d3f5;
    }

    .pd-kpi-card.accent-teal[b-ixjwtnrgl7] {
        --pd-accent: var(--erp-nav-accent-2, #0f8b8d);
        --pd-accent-soft: #e6f6f6;
        --pd-accent-border: #b9e6e6;
    }

    /* New for the Purchase Short KPI card. */
    .pd-kpi-card.accent-amber[b-ixjwtnrgl7] {
        --pd-accent: var(--erp-warning, #b7791f);
        --pd-accent-soft: #fff6e6;
        --pd-accent-border: #f2ddb6;
    }

.pd-kpi-top[b-ixjwtnrgl7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pd-kpi-icon[b-ixjwtnrgl7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--pd-accent, var(--erp-blue-600, #1477df));
    color: #ffffff;
}

    .pd-kpi-icon svg[b-ixjwtnrgl7] {
        fill: #ffffff;
        color: #ffffff;
    }

.pd-kpi-title[b-ixjwtnrgl7] {
    font-size: 12px;
    color: var(--erp-text-muted, #6b809b);
}

.pd-kpi-value[b-ixjwtnrgl7] {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--erp-text, #092f5d);
}

.pd-kpi-footer[b-ixjwtnrgl7] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pd-kpi-change[b-ixjwtnrgl7] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 12px;
    font-weight: 650;
    border-radius: 4px;
    padding: 1px 6px;
}

    .pd-kpi-change.up[b-ixjwtnrgl7] {
        color: var(--erp-success, #027a48);
        background: var(--erp-success-soft, #ecfdf3);
    }

    .pd-kpi-change.down[b-ixjwtnrgl7] {
        color: var(--erp-danger, #b42318);
        background: var(--erp-danger-soft, #fef3f2);
    }

.pd-kpi-compare[b-ixjwtnrgl7] {
    font-size: 11.5px;
    color: var(--erp-text-muted, #6b809b);
}

.pd-kpi-badge[b-ixjwtnrgl7] {
    position: absolute;
    top: 12px;
    right: 42px;
}

/* ---------------------------------------------------------- Pipeline */

.pd-pipeline[b-ixjwtnrgl7] {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.pd-pipeline-stage[b-ixjwtnrgl7] {
    flex: 1 1 160px;
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #dbe7f4);
    border-radius: 8px;
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    box-shadow: 0 2px 6px rgba(16, 24, 56, .05);
}

    .pd-pipeline-stage.is-unavailable[b-ixjwtnrgl7] {
        opacity: .6;
        background: var(--erp-surface-subtle, #f6faff);
    }

.pd-pipeline-name[b-ixjwtnrgl7] {
    font-size: 11px;
    font-weight: 650;
    color: var(--erp-text-muted, #6b809b);
    text-transform: uppercase;
    letter-spacing: .3px;
}

.pd-pipeline-count[b-ixjwtnrgl7] {
    font-size: 20px;
    font-weight: 700;
    color: var(--erp-text, #092f5d);
}

.pd-pipeline-na[b-ixjwtnrgl7] {
    color: var(--erp-text-muted, #94a3b8);
}

.pd-pipeline-value[b-ixjwtnrgl7] {
    font-size: 11.5px;
    color: var(--erp-text-secondary, #28496f);
}

.pd-pipeline-pending[b-ixjwtnrgl7] {
    font-size: 10.5px;
    font-weight: 650;
    color: var(--erp-warning, #b54708);
}

.pd-pipeline-arrow[b-ixjwtnrgl7] {
    display: flex;
    align-items: center;
    font-size: 18px;
    color: var(--erp-text-muted, #94a3b8);
    flex: 0 0 auto;
}

/* ---------------------------------------------------------- Attention / price */

.pd-attention-list[b-ixjwtnrgl7] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pd-attention-item[b-ixjwtnrgl7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 6px;
    font-size: 12px;
    border: 1px solid transparent;
}

    .pd-attention-item.sev-info[b-ixjwtnrgl7] {
        background: var(--erp-blue-75, #eaf4ff);
        color: var(--erp-blue-800, #0759ad);
    }

    .pd-attention-item.sev-warning[b-ixjwtnrgl7] {
        background: #fffaeb;
        color: var(--erp-warning, #b54708);
        border-color: #fedf89;
    }

    .pd-attention-item.sev-danger[b-ixjwtnrgl7] {
        background: var(--erp-danger-soft, #fef3f2);
        color: var(--erp-danger, #b42318);
        border-color: var(--erp-danger-border, #fecdca);
    }

.pd-price-table[b-ixjwtnrgl7] {
    width: 100%;
    border-collapse: collapse;
    font-size: 11.5px;
}

    .pd-price-table th[b-ixjwtnrgl7] {
        text-align: left;
        padding: 6px 8px;
        background: var(--erp-surface-muted, #eef5fc);
        color: var(--erp-text-secondary, #28496f);
        font-weight: 650;
    }

    .pd-price-table td[b-ixjwtnrgl7] {
        padding: 6px 8px;
        border-bottom: 1px solid var(--erp-border-soft, #e7eef7);
    }

/* ---------------------------------------------------------- Widgets */

.pd-widgets-grid[b-ixjwtnrgl7] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.pd-bottom-grid[b-ixjwtnrgl7] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pd-widget-card[b-ixjwtnrgl7] {
    position: relative;
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #dbe7f4);
    border-top: 3px solid var(--pd-accent, var(--erp-blue-600, #1477df));
    border-radius: 10px;
    padding: 14px;
    min-width: 0;
    box-shadow: 0 2px 6px rgba(16, 24, 56, .05);
}

    .pd-widget-card.accent-blue[b-ixjwtnrgl7] { --pd-accent: var(--erp-blue-600, #1477df); }
    .pd-widget-card.accent-teal[b-ixjwtnrgl7] { --pd-accent: var(--erp-nav-accent-2, #0f8b8d); }
    .pd-widget-card.accent-purple[b-ixjwtnrgl7] { --pd-accent: var(--erp-nav-accent-3, #6f62c7); }
    .pd-widget-card.accent-orange[b-ixjwtnrgl7] { --pd-accent: var(--erp-nav-accent-4, #b87518); }
    .pd-widget-card.accent-red[b-ixjwtnrgl7] { --pd-accent: var(--erp-danger, #b42318); }
    .pd-widget-card.accent-green[b-ixjwtnrgl7] { --pd-accent: var(--erp-success, #027a48); }

.pd-wide[b-ixjwtnrgl7] {
    margin-bottom: 16px;
}

.pd-widget-header[b-ixjwtnrgl7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.pd-widget-title[b-ixjwtnrgl7] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pd-widget-icon[b-ixjwtnrgl7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: var(--pd-accent, var(--erp-blue-600, #1477df));
    color: #ffffff;
    flex-shrink: 0;
}

    .pd-widget-icon svg[b-ixjwtnrgl7] {
        fill: #ffffff;
        color: #ffffff;
        width: 14px;
        height: 14px;
    }

    .pd-widget-header strong[b-ixjwtnrgl7] {
        font-size: 13.5px;
        color: var(--erp-text, #092f5d);
    }

.pd-widget-note[b-ixjwtnrgl7] {
    display: block;
    margin-top: 8px;
    font-size: 11px;
    color: var(--erp-text-muted, #6b809b);
}

/* Chart-internal classes (pd-chart-*, pd-bar-*, pd-donut-*) are styled by
   each chart component's OWN scoped stylesheet
   (Charts/PurchaseLineChart.razor.css / PurchaseBarChart.razor.css /
   PurchaseDonutChart.razor.css), not here - Blazor CSS isolation does not
   reach into a child component's own render tree from the parent's
   scoped CSS. This page only needs its own copy of the empty-state class
   for the two widgets it renders directly without a chart child
   (Purchase by Item Category, Recent Purchase Activity). */
.pd-chart-empty[b-ixjwtnrgl7] {
    padding: 24px 8px;
    text-align: center;
    font-size: 12.5px;
    color: var(--erp-text-muted, #6b809b);
    background: var(--erp-surface-subtle, #f6faff);
    border: 1px dashed var(--erp-border, #dbe7f4);
    border-radius: 6px;
}

/* ---------------------------------------------------------- Recent activity table */

.pd-recent-table[b-ixjwtnrgl7] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

    .pd-recent-table th[b-ixjwtnrgl7] {
        text-align: left;
        padding: 8px 10px;
        background: var(--erp-surface-muted, #eef5fc);
        color: var(--erp-text-secondary, #28496f);
        font-weight: 650;
        border-bottom: 1px solid var(--erp-border, #dbe7f4);
    }

    .pd-recent-table td[b-ixjwtnrgl7] {
        padding: 8px 10px;
        border-bottom: 1px solid var(--erp-border-soft, #e7eef7);
        color: var(--erp-text, #092f5d);
    }

/* ---------------------------------------------------------- Quick actions */

.pd-quick-actions[b-ixjwtnrgl7] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.pd-quick-action[b-ixjwtnrgl7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 14px 8px;
    border: 1px solid var(--erp-border, #dbe7f4);
    border-radius: 6px;
    background: var(--erp-surface-subtle, #f6faff);
    text-decoration: none;
    color: var(--erp-text, #092f5d);
    font-size: 12px;
    text-align: center;
}

    .pd-quick-action:hover[b-ixjwtnrgl7] {
        border-color: var(--erp-blue-600, #1477df);
        background: var(--erp-blue-75, #eaf4ff);
    }

    .pd-quick-action.disabled[b-ixjwtnrgl7] {
        cursor: not-allowed;
        opacity: .55;
    }

    .pd-quick-action small[b-ixjwtnrgl7] {
        color: var(--erp-text-muted, #6b809b);
        font-size: 10.5px;
    }

/* ---------------------------------------------------------- Key insights */

.pd-insights[b-ixjwtnrgl7] {
    margin: 0;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 12.5px;
    color: var(--erp-text-secondary, #28496f);
}

/* ---------------------------------------------------------- Responsive */

@media (max-width: 1400px) {
    .pd-kpi-grid[b-ixjwtnrgl7] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .pd-widgets-grid[b-ixjwtnrgl7],
    .pd-bottom-grid[b-ixjwtnrgl7] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .pd-page[b-ixjwtnrgl7] {
        padding: 14px;
    }

    .pd-kpi-grid[b-ixjwtnrgl7] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pd-widgets-grid[b-ixjwtnrgl7],
    .pd-bottom-grid[b-ixjwtnrgl7],
    .pd-quick-actions[b-ixjwtnrgl7] {
        grid-template-columns: 1fr;
    }

    .pd-bar-row[b-ixjwtnrgl7] {
        grid-template-columns: 90px 1fr 70px;
    }
}
/* /Components/Pages/Purchase/FormControls/GrnAddItem_Dialog.razor.rz.scp.css */
/* ============================================================
   GrnAddItem_Dialog — same layout-only scoped styles as
   PurchaseAddItem_Dialog.razor.css, themed with the application's
   existing erp-theme.css tokens.
   ============================================================ */

.gai-backdrop[b-zuw3dvacww] {
    position: fixed;
    inset: 0;
    background: rgba(9, 47, 93, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
}

.gai-card[b-zuw3dvacww] {
    width: min(920px, 94vw);
    max-height: 90vh;
    background: var(--erp-surface);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    box-shadow: var(--erp-shadow-md);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-family: var(--erp-font);
}

.gai-header[b-zuw3dvacww] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-bottom: 1px solid var(--erp-border-soft);
    background: linear-gradient(180deg, var(--erp-surface), var(--erp-surface-subtle));
}

.gai-title[b-zuw3dvacww] {
    font-weight: 700;
    font-size: 15px;
    color: var(--erp-text);
}

.gai-close[b-zuw3dvacww] {
    background: none;
    border: none;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    color: var(--erp-text-muted);
}

.gai-body[b-zuw3dvacww] {
    overflow-y: auto;
    padding: 14px;
}

.gai-grid[b-zuw3dvacww] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px 14px;
}

.gai-span2[b-zuw3dvacww] {
    grid-column: span 2;
}

.gai-span4[b-zuw3dvacww] {
    grid-column: span 4;
}

.gai-field label[b-zuw3dvacww] {
    display: block;
    font-size: 11px;
    font-weight: 650;
    color: var(--erp-text-secondary);
    margin-bottom: 3px;
}

.gai-select[b-zuw3dvacww] {
    width: 100%;
    padding: 5px 8px;
    border: 1px solid var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    font-size: 13px;
    font-family: var(--erp-font);
    background: var(--erp-surface);
    color: var(--erp-text);
}

.gai-readonly-line[b-zuw3dvacww] {
    font-size: 12px;
    color: var(--erp-text-secondary);
    padding: 5px 0;
}

.gai-footer[b-zuw3dvacww] {
    display: flex;
    justify-content: flex-end;
    gap: var(--erp-space-2);
    padding: 10px 14px;
    border-top: 1px solid var(--erp-border-soft);
}
/* /Components/Pages/Purchase/FormControls/PurchaseAddItem_Dialog.razor.rz.scp.css */
/* ============================================================
   PurchaseAddItem_Dialog — layout-only scoped styles, themed
   with the application's existing erp-theme.css tokens (no
   custom colour palette).
   ============================================================ */

.pai-backdrop[b-6q67yxnzyw] {
    position: fixed;
    inset: 0;
    background: rgba(9, 47, 93, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
}

.pai-card[b-6q67yxnzyw] {
    width: min(880px, 94vw);
    max-height: 88vh;
    background: var(--erp-surface);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    box-shadow: var(--erp-shadow-md);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-family: var(--erp-font);
}

.pai-header[b-6q67yxnzyw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-bottom: 1px solid var(--erp-border-soft);
    background: linear-gradient(180deg, var(--erp-surface), var(--erp-surface-subtle));
}

.pai-title[b-6q67yxnzyw] {
    font-weight: 700;
    font-size: 15px;
    color: var(--erp-text);
}

.pai-close[b-6q67yxnzyw] {
    background: none;
    border: none;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    color: var(--erp-text-muted);
}

.pai-body[b-6q67yxnzyw] {
    overflow-y: auto;
    padding: 14px;
}

.pai-grid[b-6q67yxnzyw] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px 14px;
}

.pai-span2[b-6q67yxnzyw] {
    grid-column: span 2;
}

.pai-span4[b-6q67yxnzyw] {
    grid-column: span 4;
}

.pai-field label[b-6q67yxnzyw] {
    display: block;
    font-size: 11px;
    font-weight: 650;
    color: var(--erp-text-secondary);
    margin-bottom: 3px;
}

.pai-lookup-field[b-6q67yxnzyw] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.pai-input[b-6q67yxnzyw], .pai-select[b-6q67yxnzyw] {
    width: 100%;
    padding: 5px 8px;
    border: 1px solid var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    font-size: 13px;
    font-family: var(--erp-font);
    background: var(--erp-surface);
    color: var(--erp-text);
}

.pai-search-btn[b-6q67yxnzyw] {
    border: 1px solid var(--erp-border-strong);
    background: var(--erp-surface);
    border-radius: var(--erp-radius-sm);
    padding: 4px 8px;
    cursor: pointer;
}

.pai-footer[b-6q67yxnzyw] {
    display: flex;
    justify-content: flex-end;
    gap: var(--erp-space-2);
    padding: 10px 14px;
    border-top: 1px solid var(--erp-border-soft);
}

/* Keep entry controls aligned across Fluent and lookup components. */
.pai-backdrop[b-6q67yxnzyw] { padding: 16px; box-sizing: border-box; }
.pai-card[b-6q67yxnzyw] { width: min(960px, 100%); max-height: calc(100dvh - 32px); color: var(--erp-text); }
.pai-header[b-6q67yxnzyw] { padding: 12px 16px; flex-shrink: 0; }
.pai-title[b-6q67yxnzyw] { font-size: 16px; }
.pai-close[b-6q67yxnzyw] { width: 28px; height: 28px; border-radius: var(--erp-radius-sm); }
.pai-close:hover[b-6q67yxnzyw] { background: var(--erp-row-hover); color: var(--erp-text); }
.pai-close:focus-visible[b-6q67yxnzyw], .pai-select:focus-visible[b-6q67yxnzyw] { outline: 2px solid var(--erp-focus); outline-offset: 2px; }
.pai-body[b-6q67yxnzyw] { padding: 16px; min-height: 0; }
.pai-grid[b-6q67yxnzyw] { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 12px 16px; }
.pai-section-title[b-6q67yxnzyw] { grid-column: 1 / -1; margin: 4px 0 0; padding: 7px 10px; border-left: 3px solid var(--erp-blue-700); border-radius: var(--erp-radius-xs); background: var(--erp-surface-subtle); font-size: 12px; font-weight: 650; color: var(--erp-text-secondary); }
.pai-section-title:first-child[b-6q67yxnzyw] { margin-top: 0; }
.pai-field[b-6q67yxnzyw] { min-width: 0; }
.pai-field label[b-6q67yxnzyw], .pai-field[b-6q67yxnzyw]  .fluent-label { font-size: 12px; font-weight: 600; margin-bottom: 4px; color: var(--erp-text-secondary); }
.pai-field[b-6q67yxnzyw]  fluent-number-field, .pai-field[b-6q67yxnzyw]  fluent-number-input, .pai-field[b-6q67yxnzyw]  fluent-text-area { width: 100%; min-width: 0; }
.pai-field[b-6q67yxnzyw]  .fluent-input-wrapper { min-height: 32px; box-sizing: border-box; display: flex; align-items: center; border-color: var(--erp-border-strong); background: var(--erp-surface); }
.pai-field[b-6q67yxnzyw]  .fluent-input { font: 13px var(--erp-font); color: var(--erp-text); background: transparent; }
.pai-field[b-6q67yxnzyw]  .fluent-input-wrapper:focus-within { outline: 2px solid var(--erp-focus); outline-offset: 1px; }
.pai-input[b-6q67yxnzyw], .pai-select[b-6q67yxnzyw] { box-sizing: border-box; min-height: 32px; }
.pai-footer[b-6q67yxnzyw] { padding: 12px 16px; background: var(--erp-surface-subtle); flex-shrink: 0; }
.pai-footer[b-6q67yxnzyw]  fluent-button { min-width: 96px; }
@media (max-width: 680px) {
    .pai-grid[b-6q67yxnzyw] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pai-span4[b-6q67yxnzyw] { grid-column: 1 / -1; }
}
@media (max-width: 420px) {
    .pai-backdrop[b-6q67yxnzyw] { padding: 8px; }
    .pai-card[b-6q67yxnzyw] { max-height: calc(100dvh - 16px); }
    .pai-body[b-6q67yxnzyw] { padding: 12px; }
    .pai-grid[b-6q67yxnzyw] { grid-template-columns: minmax(0, 1fr); }
    .pai-span2[b-6q67yxnzyw], .pai-span4[b-6q67yxnzyw] { grid-column: 1 / -1; }
}

/* Phase 3 (11-Oct-2026): calculated values, the line check message and the
   PO / GRN source note. Same erp-theme.css tokens as the controls above. */
.pai-readonly[b-6q67yxnzyw] {
    width: 100%;
    box-sizing: border-box;
    min-height: 32px;
    padding: 5px 8px;
    border: 1px solid var(--erp-border-soft);
    border-radius: var(--erp-radius-sm);
    font: 13px var(--erp-font);
    font-variant-numeric: tabular-nums;
    text-align: right;
    background: var(--erp-surface-subtle);
    color: var(--erp-text);
}

.pai-validation-error[b-6q67yxnzyw] {
    margin: 0 0 10px;
    padding: 7px 12px;
    border-radius: var(--erp-radius-md, 6px);
    background: #fdeceb;
    border: 1px solid #f4cbc8;
    color: var(--erp-danger, #b42318);
    font-size: 12px;
    font-weight: 600;
}

.pai-source-note[b-6q67yxnzyw] {
    margin: 0 0 10px;
    padding: 7px 12px;
    border-radius: var(--erp-radius-md, 6px);
    background: var(--erp-blue-50, #f5f9ff);
    border: 1px solid var(--erp-border-soft);
    color: var(--erp-text-secondary);
    font-size: 12px;
}

/* Phase 5 (11-Oct-2026) - new batch created inside the dialog */
.pai-newbatch[b-6q67yxnzyw] {
    grid-column: 1 / -1;
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface-subtle);
    padding: 10px 12px;
}

.pai-newbatch-title[b-6q67yxnzyw] {
    font-weight: 650;
    font-size: 12.5px;
    color: var(--erp-text);
    margin-bottom: 8px;
}

.pai-newbatch-grid[b-6q67yxnzyw] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 12px;
}

.pai-newbatch-actions[b-6q67yxnzyw] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 10px;
}

@media (max-width: 720px) {
    .pai-newbatch-grid[b-6q67yxnzyw] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* /Components/Pages/Purchase/FormControls/PurchaseBill_Form.razor.rz.scp.css */
/* ============================================================
   PurchaseBill_Form — layout-only scoped styles.

   Colours, borders, radii and spacing are all taken from the
   application's existing wwwroot/css/erp-theme.css custom
   properties (the same tokens ItemMaster_Form / LedgerMaster_Form
   already use). No new palette is introduced here.
   ============================================================ */

.pb-header-wrap[b-3tvt1u55gt] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pb-header-title-row[b-3tvt1u55gt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.pb-dirty-dot[b-3tvt1u55gt] {
    color: var(--erp-danger);
    margin-left: 6px;
}

.pb-breadcrumb[b-3tvt1u55gt] {
    margin: 0;
}

.pb-toolbar-row[b-3tvt1u55gt] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-2);
}

.pb-save-btn[b-3tvt1u55gt] {
    flex-shrink: 0;
}

.pb-form-page[b-3tvt1u55gt] {
    display: flex;
    flex-direction: column;
    gap: var(--erp-space-4);
    color: var(--erp-text);
    font-family: var(--erp-font);
}

.pb-field-grid[b-3tvt1u55gt] {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: var(--erp-space-3) var(--erp-space-4);
    padding: var(--erp-space-4);
}

.pb-field-grid-2[b-3tvt1u55gt] {
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: var(--erp-space-3) var(--erp-space-4);
    padding: var(--erp-space-4);
    max-width: 640px;
}

.pb-plain-field[b-3tvt1u55gt] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

    .pb-plain-field > span[b-3tvt1u55gt] {
        font-size: 11px;
        font-weight: 650;
        color: var(--erp-text-secondary);
    }

/* Vendor remains the primary party selection; the responsive layout
   below gives it two columns alongside the document reference fields. */
.pb-vendor-field[b-3tvt1u55gt] {
    grid-column: 1 / -1;
    max-width: 420px;
}

    /* GenericPopup renders its own label/input (.fluent-label/.fluent-input,
       styled by its own embedded <style> block) - these overrides win on
       specificity regardless of style-tag order, without editing
       GenericPopup.razor itself. */
    .pb-vendor-field .fluent-label[b-3tvt1u55gt] {
        font-size: 12.5px;
        font-weight: 750;
        color: var(--erp-text);
    }

    .pb-vendor-field .fluent-input[b-3tvt1u55gt] {
        font-size: 14px;
        font-weight: 600;
    }

.pb-plain-input[b-3tvt1u55gt],
.pb-plain-select[b-3tvt1u55gt] {
    width: 100%;
    padding: 6px 8px;
    border: 1px solid var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    font-size: 13px;
    font-family: var(--erp-font);
    background: var(--erp-surface);
    color: var(--erp-text);
    box-sizing: border-box;
}

.pb-lookup-field[b-3tvt1u55gt] {
    display: flex;
    align-items: center;
    gap: 4px;
}

    .pb-lookup-field .pb-plain-input[b-3tvt1u55gt] {
        flex: 1 1 auto;
    }

.pb-search-button[b-3tvt1u55gt] {
    border: 1px solid var(--erp-border-strong);
    background: var(--erp-surface);
    border-radius: var(--erp-radius-sm);
    padding: 5px 9px;
    cursor: pointer;
}

.pb-items-header[b-3tvt1u55gt] {
    flex-wrap: wrap;
    gap: 8px;
}

/* ============================================================
   ACCORDION (General Information / Purchase Items headers)
   Reuses .erp-section-header's existing background/border/height -
   only adds the clickable cursor + chevron.
   ============================================================ */

.pb-accordion-header[b-3tvt1u55gt],
.pb-accordion-title[b-3tvt1u55gt] {
    cursor: pointer;
    user-select: none;
}

.pb-accordion-chevron[b-3tvt1u55gt] {
    font-size: 11px;
    color: var(--erp-text-secondary);
    line-height: 1;
}

.pb-accordion-toggle-btn[b-3tvt1u55gt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 1px solid var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    background: var(--erp-surface);
    color: var(--erp-text-secondary);
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
    flex-shrink: 0;
}

.pb-items-actions[b-3tvt1u55gt] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-2);
}

.pb-tab-bar[b-3tvt1u55gt] {
    margin: var(--erp-space-3) var(--erp-space-4) 0;
    width: fit-content;
}

.pb-tab-panel[b-3tvt1u55gt] {
    min-height: 60px;
    padding: var(--erp-space-3) var(--erp-space-4) var(--erp-space-4);
}

.pb-tab-panel-title[b-3tvt1u55gt] {
    font-weight: 700;
    font-size: 13px;
    margin-bottom: 8px;
    color: var(--erp-text);
}

.pb-items-wrapper[b-3tvt1u55gt] {
    overflow-x: auto;
    padding: 0 var(--erp-space-4) var(--erp-space-4);
}

.pb-items-table[b-3tvt1u55gt] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    white-space: nowrap;
    font-family: var(--erp-font);
    color: var(--erp-text);
}

    .pb-items-table thead th[b-3tvt1u55gt] {
        text-align: left;
        padding: 7px 8px;
        background: var(--erp-surface-subtle);
        color: var(--erp-text-secondary);
        font-weight: 700;
        border-bottom: 1px solid var(--erp-border-soft);
        position: sticky;
        top: 0;
    }

    .pb-items-table tbody td[b-3tvt1u55gt] {
        padding: 6px 8px;
        border-bottom: 1px solid var(--erp-border-soft);
    }

    .pb-items-table tbody tr:hover[b-3tvt1u55gt] {
        background: var(--erp-row-hover);
    }

.sn-col[b-3tvt1u55gt], .sn-cell[b-3tvt1u55gt] {
    width: 32px;
}

.action-col[b-3tvt1u55gt] {
    width: 110px;
}

.pb-row-actions[b-3tvt1u55gt] {
    white-space: nowrap;
}

.pb-empty-row[b-3tvt1u55gt] {
    text-align: center;
    color: var(--erp-text-muted);
    font-style: italic;
    padding: 14px;
}

.pb-item-validation-error[b-3tvt1u55gt] {
    margin: 0 0 8px;
    padding: 7px 12px;
    border-radius: var(--erp-radius-md, 6px);
    background: #fdeceb;
    border: 1px solid #f4cbc8;
    color: var(--erp-danger, #b42318);
    font-size: 12px;
    font-weight: 600;
}

.pb-footer[b-3tvt1u55gt] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--erp-space-3);
    flex-wrap: wrap;
}

.pb-footer-totals[b-3tvt1u55gt] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-4);
    flex-wrap: wrap;
}

.pb-total-item[b-3tvt1u55gt] {
    display: flex;
    flex-direction: column;
    font-size: 11px;
    color: var(--erp-text-muted);
    line-height: 1.3;
}

    .pb-total-item strong[b-3tvt1u55gt] {
        font-size: 13px;
        color: var(--erp-text);
    }

.pb-net-value[b-3tvt1u55gt] {
    border-left: 1px solid var(--erp-border-soft);
    padding-left: var(--erp-space-4);
}

    .pb-net-value strong[b-3tvt1u55gt] {
        color: var(--erp-success);
        font-size: 15px;
    }

.pb-footer-actions[b-3tvt1u55gt] {
    border-top: none;
    padding-top: 0;
    flex-wrap: wrap;
}

/* ---------------------------------------------------------
   Phase 1 - read-only notice (bill is not a Draft) and the
   line-source chip next to the item actions.
   Same palette as .pb-item-validation-error / the list's
   status pills.
--------------------------------------------------------- */
.pb-locked-notice[b-3tvt1u55gt] {
    margin: 0 0 12px;
    padding: 8px 12px;
    border-radius: var(--erp-radius-md, 6px);
    background: #fff6e6;
    border: 1px solid #f2ddb6;
    color: #b7791f;
    font-size: 12.5px;
    font-weight: 600;
}

.pb-items-actions[b-3tvt1u55gt] {
    flex-wrap: wrap;
}

.pb-source-chip[b-3tvt1u55gt] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--erp-blue-50, #f5f9ff);
    border: 1px solid #bcd6f5;
    color: var(--erp-blue-700, #086ad8);
    font-size: 11px;
    font-weight: 650;
    white-space: nowrap;
}

/* Compact document layout, using the shared ERP theme. */
.pb-document[b-3tvt1u55gt] { width: 100%; min-width: 0; }
.pb-document[b-3tvt1u55gt]  fluent-dialog-body { width: 100%; min-width: 0; padding-block: 6px; row-gap: 6px; }
/* Fluent's title has negative block margins paired with its default padding.
   Reset both together so the compact header cannot cover General Information. */
.pb-document[b-3tvt1u55gt]  fluent-dialog-body::part(title) { grid-column: 1 / -1; min-width: 0; margin-block: 0; padding-block: 0; font-size: 13px; line-height: 18px; }
.pb-document[b-3tvt1u55gt]  fluent-dialog-body > div[slot="title"] { width: 100%; min-width: 0; }
.pb-header-wrap[b-3tvt1u55gt] { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: nowrap; min-height: 30px; padding: 1px 0; box-sizing: border-box; border-bottom: 1px solid var(--erp-nav-border); }
.pb-header-title-row[b-3tvt1u55gt] { flex: 1; min-width: 0; justify-content: flex-start; flex-wrap: nowrap; gap: 16px; }
.pb-title-group[b-3tvt1u55gt] { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.pb-title-group[b-3tvt1u55gt]  h4 { margin: 0; font-size: 13px; font-weight: 700; line-height: 18px; }
.pb-title-group[b-3tvt1u55gt]  fluent-button { width: 24px; min-width: 24px; height: 24px; min-height: 24px; padding: 0; }
.pb-title-group .erp-badge[b-3tvt1u55gt] { min-height: 18px; height: 18px; padding: 0 7px; font-size: 10px; line-height: 16px; box-sizing: border-box; }
.pb-breadcrumb[b-3tvt1u55gt] { white-space: nowrap; font-size: 12px; line-height: 18px; }
.pb-toolbar-row[b-3tvt1u55gt] { margin-left: auto; flex-shrink: 0; }
.pb-toolbar-row[b-3tvt1u55gt]  .pb-save-btn { height: 28px; min-height: 28px; min-width: 80px; font-size: 12px; }
.pb-form-page[b-3tvt1u55gt] { gap: 8px; min-width: 0; }
.pb-form-page .erp-section-header[b-3tvt1u55gt] { margin: 0; min-height: 32px; padding: 4px 10px; line-height: 20px; box-sizing: border-box; border-radius: var(--erp-radius-lg) var(--erp-radius-lg) 0 0; }
.pb-field-grid[b-3tvt1u55gt] { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: start; gap: 8px 12px; padding: 8px 12px; }
/* Fluent fields reserve message space below their inputs. Keep empty
   message slots out of the compact grid; populated validation stays visible. */
.pb-field-grid[b-3tvt1u55gt]  fluent-field { margin: 0; min-width: 0; }
.pb-field-grid[b-3tvt1u55gt]  fluent-field::part(root) { row-gap: 4px; }
.pb-field-grid[b-3tvt1u55gt]  fluent-field > [slot="message"]:empty { display: none; }
.pb-field-grid[b-3tvt1u55gt]  fluent-text-input::part(label) { display: none; }
.pb-field-grid[b-3tvt1u55gt]  fluent-text-input::part(root) { display: flex; }
.pb-field-grid[b-3tvt1u55gt]  label { margin-top: 0; margin-bottom: 3px; }
.pb-vendor-field[b-3tvt1u55gt] { grid-column: span 2; max-width: none; min-width: 0; }
.pb-vendor-field[b-3tvt1u55gt]  .fluent-label { font-size: 12px; font-weight: 600; color: var(--erp-text-secondary); margin-bottom: 4px; }
.pb-vendor-field[b-3tvt1u55gt]  .fluent-input-wrapper { min-height: 32px; box-sizing: border-box; display: flex; align-items: center; border-color: var(--erp-border-strong); background: var(--erp-surface); }
.pb-vendor-field[b-3tvt1u55gt]  .fluent-input { font: 13px var(--erp-font); color: var(--erp-text); background: transparent; }
.pb-vendor-field[b-3tvt1u55gt]  .fluent-input-wrapper:focus-within { outline: 2px solid var(--erp-focus); outline-offset: 1px; }
.pb-plain-select[b-3tvt1u55gt] { min-height: 32px; }
.pb-plain-select:focus-visible[b-3tvt1u55gt], .pb-accordion-toggle-btn:focus-visible[b-3tvt1u55gt] { outline: 2px solid var(--erp-focus); outline-offset: 2px; }
.pb-tab-bar[b-3tvt1u55gt] { margin: 8px 12px 0; max-width: calc(100% - 24px); flex-wrap: wrap; box-sizing: border-box; }
.pb-tab-panel[b-3tvt1u55gt] { padding: 8px 12px 12px; }
.pb-items-wrapper[b-3tvt1u55gt] { padding: 0; border: 1px solid var(--erp-border-soft); border-radius: var(--erp-radius-sm); }
.pb-items-table thead th[b-3tvt1u55gt] { height: 34px; box-sizing: border-box; }
.pb-items-table tbody td[b-3tvt1u55gt] { height: 36px; }
.pb-items-table :is(th, td):nth-child(n+7):nth-child(-n+20)[b-3tvt1u55gt] { text-align: right; font-variant-numeric: tabular-nums; }
.pb-items-table tbody tr:nth-child(even)[b-3tvt1u55gt] { background: var(--erp-row-alt); }
.pb-items-table tbody tr:hover[b-3tvt1u55gt] { background: var(--erp-row-hover); }
.pb-items-table .item-name-col[b-3tvt1u55gt] { min-width: 160px; }
.pb-items-table .pb-empty-row[b-3tvt1u55gt] { padding: 28px 16px; font-style: normal; }
.pb-row-actions[b-3tvt1u55gt]  fluent-button { min-width: 52px; }
.pb-footer[b-3tvt1u55gt] { align-items: stretch; flex-direction: column; gap: 10px; }
.pb-footer-totals[b-3tvt1u55gt] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0; border: 1px solid var(--erp-border); border-radius: var(--erp-radius-md); background: var(--erp-surface-subtle); overflow: hidden; }
.pb-total-item[b-3tvt1u55gt] { padding: 10px 14px; gap: 4px; min-width: 0; border-right: 1px solid var(--erp-border-soft); font-size: 12px; }
.pb-total-item strong[b-3tvt1u55gt] { font-size: 15px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.pb-net-value[b-3tvt1u55gt] { border-left: 0; border-right: 0; background: var(--erp-success-soft); }
.pb-net-value strong[b-3tvt1u55gt] { font-size: 17px; }
.pb-footer-actions[b-3tvt1u55gt] { margin: 0; padding: 0; }
.pb-item-validation-error[b-3tvt1u55gt] { background: var(--erp-danger-soft); border-color: var(--erp-danger-border); }
.pb-locked-notice[b-3tvt1u55gt] { background: var(--erp-warning-soft); border-color: var(--erp-warning-border); color: var(--erp-warning); }
.pb-source-chip[b-3tvt1u55gt] { border-color: var(--erp-info-border); }
@media (max-width: 1100px) {
    .pb-field-grid[b-3tvt1u55gt] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pb-items-actions[b-3tvt1u55gt] { flex: 1 1 100%; }
    .pb-footer-totals[b-3tvt1u55gt] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .pb-field-grid[b-3tvt1u55gt], .pb-field-grid-2[b-3tvt1u55gt] { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; }
    .pb-header-wrap[b-3tvt1u55gt] { flex-wrap: wrap; gap: 8px; }
    .pb-header-title-row[b-3tvt1u55gt] { flex-basis: 100%; flex-wrap: wrap; gap: 4px 12px; }
    .pb-breadcrumb[b-3tvt1u55gt] { white-space: normal; }
    .pb-footer-totals[b-3tvt1u55gt] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pb-footer-actions[b-3tvt1u55gt] { justify-content: flex-start; }
}
@media (max-width: 420px) {
    .pb-field-grid[b-3tvt1u55gt], .pb-field-grid-2[b-3tvt1u55gt] { grid-template-columns: minmax(0, 1fr); }
    .pb-vendor-field[b-3tvt1u55gt] { grid-column: auto; }
}

/* ============================================================
   Phase 3 (11-Oct-2026) - Sundries & Taxes tab: tax rows and
   sundry charge rows. Same erp-theme.css tokens as the item grid.
   ============================================================ */
.pb-sundry-block[b-3tvt1u55gt] {
    margin-top: 12px;
}

.pb-sundry-block-title[b-3tvt1u55gt] {
    font-weight: 650;
    font-size: 12px;
    color: var(--erp-text-secondary);
    margin-bottom: 6px;
}

.pb-sundry-table[b-3tvt1u55gt] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    color: var(--erp-text);
}

    .pb-sundry-table th[b-3tvt1u55gt] {
        background: var(--erp-surface-subtle);
        color: var(--erp-text-secondary);
        font-size: 11px;
        font-weight: 650;
        text-align: left;
        padding: 6px 8px;
        border-bottom: 1px solid var(--erp-border-soft);
        white-space: nowrap;
    }

    .pb-sundry-table td[b-3tvt1u55gt] {
        padding: 4px 8px;
        border-bottom: 1px solid var(--erp-border-soft);
        vertical-align: middle;
    }

    .pb-sundry-table .pb-num[b-3tvt1u55gt] {
        text-align: right;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    .pb-sundry-table .pb-plain-input[b-3tvt1u55gt],
    .pb-sundry-table .pb-plain-select[b-3tvt1u55gt] {
        min-height: 30px;
        padding: 4px 6px;
    }

    .pb-sundry-table .pb-num-input[b-3tvt1u55gt] {
        text-align: right;
        max-width: 120px;
    }

.pb-sundry-summary[b-3tvt1u55gt] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin-top: 10px;
    font-size: 12px;
    color: var(--erp-text-secondary);
}

    .pb-sundry-summary strong[b-3tvt1u55gt] {
        color: var(--erp-text);
        font-variant-numeric: tabular-nums;
    }

.pb-tax-hint[b-3tvt1u55gt] {
    grid-column: 1 / -1;
    font-size: 12px;
    color: var(--erp-text-secondary);
}

/* ============================================================
   Phase 4 (11-Oct-2026) - Sundries & Taxes laid out like the
   old ERP (Accounts | Sundry list, charges | summary) and the
   previous purchases of the clicked item.
   ============================================================ */
.pb-sundries-grid[b-3tvt1u55gt] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.pb-sundry-block-note[b-3tvt1u55gt] {
    font-weight: 400;
    color: var(--erp-text-muted);
    margin-left: 6px;
}

.pb-sundry-table tfoot td[b-3tvt1u55gt] {
    font-weight: 650;
    border-top: 1px solid var(--erp-border-strong);
    border-bottom: none;
}

.pb-ledger-unmapped td[b-3tvt1u55gt] {
    color: var(--erp-danger);
    background: var(--erp-danger-soft);
}

.pb-bill-summary[b-3tvt1u55gt] {
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface-subtle);
    padding: 8px 12px;
}

.pb-summary-row[b-3tvt1u55gt] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 4px 0;
    font-size: 12.5px;
    color: var(--erp-text);
}

    .pb-summary-row strong[b-3tvt1u55gt] {
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

.pb-summary-sub[b-3tvt1u55gt] {
    padding-left: 12px;
    color: var(--erp-text-secondary);
}

.pb-summary-check[b-3tvt1u55gt] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.pb-summary-total[b-3tvt1u55gt] {
    border-top: 1px solid var(--erp-border-strong);
    margin-top: 4px;
    padding-top: 8px;
    font-size: 14px;
    font-weight: 650;
}

.pb-item-row[b-3tvt1u55gt] {
    cursor: pointer;
}

.pb-item-row-selected td[b-3tvt1u55gt] {
    background: var(--erp-row-hover);
}

.pb-history[b-3tvt1u55gt] {
    margin-top: 12px;
    border-top: 1px solid var(--erp-border-soft);
    padding-top: 8px;
}

    .pb-history .pb-sundry-block-title[b-3tvt1u55gt] {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

.pb-history-hint[b-3tvt1u55gt] {
    font-size: 12px;
    color: var(--erp-text-muted);
}

.pb-history-close[b-3tvt1u55gt] {
    border: none;
    background: transparent;
    color: var(--erp-text-secondary);
    cursor: pointer;
    font-size: 13px;
}

@media (max-width: 1100px) {
    .pb-sundries-grid[b-3tvt1u55gt] { grid-template-columns: minmax(0, 1fr); }
}

/* ============================================================
   Phase 5 (11-Oct-2026) - OLDERP parity: vendor hint, credit
   days, attachment, remarks
   ============================================================ */
.pb-field-hint[b-3tvt1u55gt] {
    font-size: 11.5px;
    color: var(--erp-text-secondary);
    margin-top: 4px;
}

.pb-hint-error[b-3tvt1u55gt] {
    color: var(--erp-danger);
}

.pb-date-with-hint[b-3tvt1u55gt] {
    min-width: 0;
}

.pb-attach-field[b-3tvt1u55gt],
.pb-remarks-field[b-3tvt1u55gt] {
    grid-column: 1 / -1;
}

.pb-attach[b-3tvt1u55gt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    min-height: 32px;
}

.pb-link-btn[b-3tvt1u55gt] {
    border: none;
    background: transparent;
    padding: 0;
    color: var(--erp-blue-700);
    text-decoration: underline;
    cursor: pointer;
    font: inherit;
    font-size: 12.5px;
}

.pb-link-danger[b-3tvt1u55gt] {
    color: var(--erp-danger);
}

.pb-file-input[b-3tvt1u55gt] {
    font-size: 12px;
    max-width: 100%;
}

.pb-remarks[b-3tvt1u55gt] {
    width: 100%;
    resize: vertical;
    min-height: 48px;
}

/* ---- Header: signed-in workspace + top toolbar (15-Oct-2026) ---- */
.pb-context[b-3tvt1u55gt] { display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; }
.pb-context-item[b-3tvt1u55gt] { display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 8px; border: 1px solid var(--erp-border); border-radius: 10px; background: var(--erp-surface-subtle); color: var(--erp-text); font-size: 11px; font-weight: 600; line-height: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 260px; }
.pb-context-label[b-3tvt1u55gt] { color: var(--erp-text-muted); font-weight: 400; }
.pb-toolbar-row[b-3tvt1u55gt] { gap: 4px; }
.pb-toolbar-row[b-3tvt1u55gt]  .pb-tool-btn { width: 28px; min-width: 28px; height: 28px; min-height: 28px; padding: 0; }
@media (max-width: 900px) {
    .pb-context[b-3tvt1u55gt] { flex-wrap: wrap; overflow: visible; }
    .pb-context-label[b-3tvt1u55gt] { display: none; }
}
/* /Components/Pages/Purchase/FormControls/PurchaseBill_Print.razor.rz.scp.css */
/* ============================================================
   PurchaseBill_Print - printable Purchase Bill sheet, using the
   application's existing erp-theme.css tokens.
   ============================================================ */

.pbp-page[b-40b14wcwny] {
    padding: 16px;
    font-family: var(--erp-font);
    color: var(--erp-text);
    background: var(--erp-surface-subtle);
    min-height: 100%;
    box-sizing: border-box;
}

.pbp-toolbar[b-40b14wcwny] {
    display: flex;
    justify-content: flex-end;
    max-width: 1100px;
    margin: 0 auto 12px;
}

.pbp-btn[b-40b14wcwny] {
    min-width: 96px;
    padding: 6px 14px;
    border: 1px solid var(--erp-blue-700, #0f4c81);
    border-radius: var(--erp-radius-sm);
    background: var(--erp-blue-700, #0f4c81);
    color: #fff;
    font: 600 13px var(--erp-font);
    cursor: pointer;
}

.pbp-btn:disabled[b-40b14wcwny] {
    opacity: 0.5;
    cursor: default;
}

.pbp-message[b-40b14wcwny] {
    max-width: 1100px;
    margin: 24px auto;
    text-align: center;
    color: var(--erp-text-secondary);
}

.pbp-error[b-40b14wcwny] {
    color: var(--erp-danger, #b42318);
}

.pbp-sheet[b-40b14wcwny] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 24px;
    background: var(--erp-surface);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    box-shadow: var(--erp-shadow-md);
    font-size: 12px;
}

.pbp-title-row[b-40b14wcwny] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 2px solid var(--erp-text);
    padding-bottom: 6px;
    margin-bottom: 12px;
}

.pbp-title[b-40b14wcwny] {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
}

.pbp-status[b-40b14wcwny] {
    font-weight: 600;
    color: var(--erp-text-secondary);
}

.pbp-head[b-40b14wcwny],
.pbp-lines[b-40b14wcwny],
.pbp-sundry[b-40b14wcwny],
.pbp-totals[b-40b14wcwny] {
    width: 100%;
    border-collapse: collapse;
}

.pbp-head[b-40b14wcwny] {
    margin-bottom: 14px;
}

.pbp-head th[b-40b14wcwny] {
    width: 16%;
    text-align: left;
    font-weight: 600;
    color: var(--erp-text-secondary);
    padding: 3px 6px;
}

.pbp-head td[b-40b14wcwny] {
    width: 34%;
    padding: 3px 6px;
}

.pbp-lines th[b-40b14wcwny],
.pbp-lines td[b-40b14wcwny],
.pbp-sundry th[b-40b14wcwny],
.pbp-sundry td[b-40b14wcwny] {
    border: 1px solid var(--erp-border);
    padding: 4px 6px;
}

.pbp-lines th[b-40b14wcwny],
.pbp-sundry th[b-40b14wcwny] {
    background: var(--erp-surface-subtle);
    font-weight: 650;
    text-align: left;
}

.num[b-40b14wcwny] {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}

.pbp-bottom[b-40b14wcwny] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 16px;
    margin-top: 14px;
    align-items: start;
}

.pbp-totals th[b-40b14wcwny] {
    text-align: left;
    font-weight: 600;
    padding: 3px 6px;
    color: var(--erp-text-secondary);
}

.pbp-totals td[b-40b14wcwny] {
    text-align: right;
    padding: 3px 6px;
    font-variant-numeric: tabular-nums;
}

.pbp-net th[b-40b14wcwny],
.pbp-net td[b-40b14wcwny] {
    border-top: 2px solid var(--erp-text);
    font-size: 14px;
    font-weight: 700;
    color: var(--erp-text);
}

.pbp-remarks[b-40b14wcwny] {
    margin-top: 12px;
}

/* Phase 4: the bill's Debit / Credit lines */
.pbp-accounts[b-40b14wcwny] {
    width: 60%;
    margin-top: 14px;
}

@media (max-width: 720px) {
    .pbp-accounts[b-40b14wcwny] {
        width: 100%;
    }
}

@media (max-width: 720px) {
    .pbp-bottom[b-40b14wcwny] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Purchase/FormControls/PurchaseGrn_Form.razor.rz.scp.css */
/* ============================================================
   PurchaseGrn_Form — layout-only scoped styles, mirroring
   PurchaseBill_Form.razor.css's own rules (same erp-theme.css tokens,
   same footer/table/validation-banner look). Duplicated here rather than
   shared because Blazor CSS isolation scopes a .razor.css file to its own
   component only - classes from PurchaseBill_Form.razor.css do not reach
   this page.
   ============================================================ */

.gf-header-wrap[b-wg6as6gjgj] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.gf-header-title-row[b-wg6as6gjgj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.gf-dirty-dot[b-wg6as6gjgj] {
    color: var(--erp-danger);
    margin-left: 6px;
}

.gf-breadcrumb[b-wg6as6gjgj] {
    margin: 0;
}

.gf-toolbar-row[b-wg6as6gjgj] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-2);
}

.gf-form-page[b-wg6as6gjgj] {
    display: flex;
    flex-direction: column;
    gap: var(--erp-space-4);
    color: var(--erp-text);
    font-family: var(--erp-font);
}

.gf-field-grid[b-wg6as6gjgj] {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: var(--erp-space-3) var(--erp-space-4);
    padding: var(--erp-space-4);
}

.gf-field[b-wg6as6gjgj] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

    .gf-field label[b-wg6as6gjgj] {
        font-size: 11px;
        font-weight: 650;
        color: var(--erp-text-secondary);
    }

.gf-span-full[b-wg6as6gjgj] {
    grid-column: 1 / -1;
}

.gf-vendor-field[b-wg6as6gjgj] {
    grid-column: 1 / -1;
    max-width: 420px;
}

    .gf-vendor-field .fluent-label[b-wg6as6gjgj] {
        font-size: 12.5px;
        font-weight: 750;
        color: var(--erp-text);
    }

    .gf-vendor-field .fluent-input[b-wg6as6gjgj] {
        font-size: 14px;
        font-weight: 600;
    }

.gf-items-header[b-wg6as6gjgj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.gf-items-actions[b-wg6as6gjgj] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-2);
}

.gf-items-wrapper[b-wg6as6gjgj] {
    overflow-x: auto;
    padding: 0 var(--erp-space-4) var(--erp-space-4);
}

.gf-items-table[b-wg6as6gjgj] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    white-space: nowrap;
    font-family: var(--erp-font);
    color: var(--erp-text);
}

    .gf-items-table thead th[b-wg6as6gjgj] {
        text-align: left;
        padding: 7px 8px;
        background: var(--erp-surface-subtle);
        color: var(--erp-text-secondary);
        font-weight: 700;
        border-bottom: 1px solid var(--erp-border-soft);
        position: sticky;
        top: 0;
    }

    .gf-items-table tbody td[b-wg6as6gjgj] {
        padding: 6px 8px;
        border-bottom: 1px solid var(--erp-border-soft);
    }

    .gf-items-table tbody tr:hover[b-wg6as6gjgj] {
        background: var(--erp-row-hover);
    }

.sn-col[b-wg6as6gjgj], .sn-cell[b-wg6as6gjgj] {
    width: 32px;
}

.action-col[b-wg6as6gjgj] {
    width: 110px;
}

.pb-row-actions[b-wg6as6gjgj] {
    white-space: nowrap;
}

.pb-empty-row[b-wg6as6gjgj] {
    text-align: center;
    color: var(--erp-text-muted);
    font-style: italic;
    padding: 14px;
}

.pb-item-validation-error[b-wg6as6gjgj] {
    margin: 0 0 8px;
    padding: 7px 12px;
    border-radius: var(--erp-radius-md, 6px);
    background: #fdeceb;
    border: 1px solid #f4cbc8;
    color: var(--erp-danger, #b42318);
    font-size: 12px;
    font-weight: 600;
}

.pb-footer[b-wg6as6gjgj] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--erp-space-3);
    flex-wrap: wrap;
}

.pb-footer-totals[b-wg6as6gjgj] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-4);
    flex-wrap: wrap;
}

.pb-total-item[b-wg6as6gjgj] {
    display: flex;
    flex-direction: column;
    font-size: 11px;
    color: var(--erp-text-muted);
    line-height: 1.3;
}

    .pb-total-item strong[b-wg6as6gjgj] {
        font-size: 13px;
        color: var(--erp-text);
    }

.pb-net-value[b-wg6as6gjgj] {
    border-left: 1px solid var(--erp-border-soft);
    padding-left: var(--erp-space-4);
}

    .pb-net-value strong[b-wg6as6gjgj] {
        color: var(--erp-success);
        font-size: 15px;
    }

.pb-footer-actions[b-wg6as6gjgj] {
    border-top: none;
    padding-top: 0;
    flex-wrap: wrap;
}
/* /Components/Pages/Purchase/FormControls/PurchaseLookupModal.razor.rz.scp.css */
/* ============================================================
   PurchaseLookupModal — layout-only scoped styles, themed with
   the application's existing erp-theme.css tokens (no custom
   colour palette).
   ============================================================ */

.plm-backdrop[b-htm2e7plms] {
    position: fixed;
    inset: 0;
    background: rgba(9, 47, 93, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

.plm-card[b-htm2e7plms] {
    width: min(720px, 92vw);
    max-height: 80vh;
    background: var(--erp-surface);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    box-shadow: var(--erp-shadow-md);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-family: var(--erp-font);
}

.plm-header[b-htm2e7plms] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-bottom: 1px solid var(--erp-border-soft);
    background: linear-gradient(180deg, var(--erp-surface), var(--erp-surface-subtle));
}

.plm-title[b-htm2e7plms] {
    font-weight: 700;
    font-size: 15px;
    color: var(--erp-text);
}

.plm-close[b-htm2e7plms] {
    background: none;
    border: none;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    color: var(--erp-text-muted);
}

.plm-toolbar[b-htm2e7plms] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-2);
    padding: 10px 14px;
    border-bottom: 1px solid var(--erp-border-soft);
}

    .plm-toolbar[b-htm2e7plms]  .fluent-search {
        flex: 1 1 auto;
    }

.plm-table-wrap[b-htm2e7plms] {
    overflow-y: auto;
    padding: 0 14px;
}

.plm-table[b-htm2e7plms] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    color: var(--erp-text);
}

    .plm-table thead th[b-htm2e7plms] {
        text-align: left;
        padding: 8px 6px;
        color: var(--erp-text-secondary);
        font-weight: 700;
        border-bottom: 1px solid var(--erp-border-soft);
    }

    .plm-table tbody td[b-htm2e7plms] {
        padding: 8px 6px;
        border-bottom: 1px solid var(--erp-border-soft);
    }

    .plm-table tbody tr:hover[b-htm2e7plms] {
        background: var(--erp-row-hover);
    }

.plm-select-cell[b-htm2e7plms] {
    text-align: right;
    white-space: nowrap;
}

.plm-empty[b-htm2e7plms] {
    text-align: center;
    color: var(--erp-text-muted);
    font-style: italic;
    padding: 16px;
}

.plm-footer[b-htm2e7plms] {
    display: flex;
    justify-content: flex-end;
    padding: 10px 14px;
    border-top: 1px solid var(--erp-border-soft);
}
/* /Components/Pages/Purchase/FormControls/PurchaseReturnAddItem_Dialog.razor.rz.scp.css */
/* ============================================================
   PurchaseReturnAddItem_Dialog — same layout-only scoped styles as
   GrnAddItem_Dialog.razor.css, themed with the application's existing
   erp-theme.css tokens.
   ============================================================ */

.gai-backdrop[b-8bub3aydhq] {
    position: fixed;
    inset: 0;
    background: rgba(9, 47, 93, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
}

.gai-card[b-8bub3aydhq] {
    width: min(920px, 94vw);
    max-height: 90vh;
    background: var(--erp-surface);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    box-shadow: var(--erp-shadow-md);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-family: var(--erp-font);
}

.gai-header[b-8bub3aydhq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-bottom: 1px solid var(--erp-border-soft);
    background: linear-gradient(180deg, var(--erp-surface), var(--erp-surface-subtle));
}

.gai-title[b-8bub3aydhq] {
    font-weight: 700;
    font-size: 15px;
    color: var(--erp-text);
}

.gai-close[b-8bub3aydhq] {
    background: none;
    border: none;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    color: var(--erp-text-muted);
}

.gai-body[b-8bub3aydhq] {
    overflow-y: auto;
    padding: 14px;
}

.gai-grid[b-8bub3aydhq] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px 14px;
}

.gai-span2[b-8bub3aydhq] {
    grid-column: span 2;
}

.gai-span4[b-8bub3aydhq] {
    grid-column: span 4;
}

.gai-field label[b-8bub3aydhq] {
    display: block;
    font-size: 11px;
    font-weight: 650;
    color: var(--erp-text-secondary);
    margin-bottom: 3px;
}

.gai-select[b-8bub3aydhq] {
    width: 100%;
    padding: 5px 8px;
    border: 1px solid var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    font-size: 13px;
    font-family: var(--erp-font);
    background: var(--erp-surface);
    color: var(--erp-text);
}

.gai-readonly-line[b-8bub3aydhq] {
    font-size: 12px;
    color: var(--erp-text-secondary);
    padding: 5px 0;
}

.gai-mode-toggle[b-8bub3aydhq] {
    display: flex;
    gap: 8px;
}

.gai-mode-btn[b-8bub3aydhq] {
    flex: 1;
    padding: 7px 10px;
    border: 1px solid var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    background: var(--erp-surface);
    color: var(--erp-text-secondary);
    font-size: 12.5px;
    font-weight: 650;
    cursor: pointer;
}

    .gai-mode-btn.active[b-8bub3aydhq] {
        background: var(--erp-blue-50, #f5f9ff);
        border-color: var(--erp-blue-700, #086ad8);
        color: var(--erp-blue-700, #086ad8);
    }

    .gai-mode-btn:disabled[b-8bub3aydhq] {
        cursor: not-allowed;
        opacity: 0.65;
    }

.gai-footer[b-8bub3aydhq] {
    display: flex;
    justify-content: flex-end;
    gap: var(--erp-space-2);
    padding: 10px 14px;
    border-top: 1px solid var(--erp-border-soft);
}
/* /Components/Pages/Purchase/FormControls/PurchaseReturn_Form.razor.rz.scp.css */
/* ============================================================
   PurchaseReturn_Form — layout-only scoped styles, mirroring
   PurchaseGrn_Form.razor.css's own rules (same erp-theme.css tokens,
   same footer/table/validation-banner look). Duplicated here rather than
   shared because Blazor CSS isolation scopes a .razor.css file to its own
   component only - classes from PurchaseGrn_Form.razor.css do not reach
   this page.
   ============================================================ */

.gf-header-wrap[b-00f0vwik4d] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.gf-header-title-row[b-00f0vwik4d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.gf-dirty-dot[b-00f0vwik4d] {
    color: var(--erp-danger);
    margin-left: 6px;
}

.gf-breadcrumb[b-00f0vwik4d] {
    margin: 0;
}

.gf-toolbar-row[b-00f0vwik4d] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-2);
}

.gf-form-page[b-00f0vwik4d] {
    display: flex;
    flex-direction: column;
    gap: var(--erp-space-4);
    color: var(--erp-text);
    font-family: var(--erp-font);
}

.gf-field-grid[b-00f0vwik4d] {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: var(--erp-space-3) var(--erp-space-4);
    padding: var(--erp-space-4);
}

.gf-field[b-00f0vwik4d] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

    .gf-field label[b-00f0vwik4d] {
        font-size: 11px;
        font-weight: 650;
        color: var(--erp-text-secondary);
    }

.gf-span-full[b-00f0vwik4d] {
    grid-column: 1 / -1;
}

.gf-vendor-field[b-00f0vwik4d] {
    grid-column: 1 / -1;
    max-width: 420px;
}

    .gf-vendor-field .fluent-label[b-00f0vwik4d] {
        font-size: 12.5px;
        font-weight: 750;
        color: var(--erp-text);
    }

    .gf-vendor-field .fluent-input[b-00f0vwik4d] {
        font-size: 14px;
        font-weight: 600;
    }

.gf-items-header[b-00f0vwik4d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.gf-items-actions[b-00f0vwik4d] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-2);
}

.gf-items-wrapper[b-00f0vwik4d] {
    overflow-x: auto;
    padding: 0 var(--erp-space-4) var(--erp-space-4);
}

.gf-items-table[b-00f0vwik4d] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    white-space: nowrap;
    font-family: var(--erp-font);
    color: var(--erp-text);
}

    .gf-items-table thead th[b-00f0vwik4d] {
        text-align: left;
        padding: 7px 8px;
        background: var(--erp-surface-subtle);
        color: var(--erp-text-secondary);
        font-weight: 700;
        border-bottom: 1px solid var(--erp-border-soft);
        position: sticky;
        top: 0;
    }

    .gf-items-table tbody td[b-00f0vwik4d] {
        padding: 6px 8px;
        border-bottom: 1px solid var(--erp-border-soft);
    }

    .gf-items-table tbody tr:hover[b-00f0vwik4d] {
        background: var(--erp-row-hover);
    }

.sn-col[b-00f0vwik4d], .sn-cell[b-00f0vwik4d] {
    width: 32px;
}

.action-col[b-00f0vwik4d] {
    width: 110px;
}

.pb-row-actions[b-00f0vwik4d] {
    white-space: nowrap;
}

.pb-empty-row[b-00f0vwik4d] {
    text-align: center;
    color: var(--erp-text-muted);
    font-style: italic;
    padding: 14px;
}

.pb-item-validation-error[b-00f0vwik4d] {
    margin: 0 0 8px;
    padding: 7px 12px;
    border-radius: var(--erp-radius-md, 6px);
    background: #fdeceb;
    border: 1px solid #f4cbc8;
    color: var(--erp-danger, #b42318);
    font-size: 12px;
    font-weight: 600;
}

.pb-footer[b-00f0vwik4d] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--erp-space-3);
    flex-wrap: wrap;
}

.pb-footer-totals[b-00f0vwik4d] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-4);
    flex-wrap: wrap;
}

.pb-total-item[b-00f0vwik4d] {
    display: flex;
    flex-direction: column;
    font-size: 11px;
    color: var(--erp-text-muted);
    line-height: 1.3;
}

    .pb-total-item strong[b-00f0vwik4d] {
        font-size: 13px;
        color: var(--erp-text);
    }

.pb-net-value[b-00f0vwik4d] {
    border-left: 1px solid var(--erp-border-soft);
    padding-left: var(--erp-space-4);
}

    .pb-net-value strong[b-00f0vwik4d] {
        color: var(--erp-success);
        font-size: 15px;
    }

.pb-footer-actions[b-00f0vwik4d] {
    border-top: none;
    padding-top: 0;
    flex-wrap: wrap;
}
/* /Components/Pages/Purchase/FormControls/PurchaseShortAddItem_Dialog.razor.rz.scp.css */
/* ============================================================
   PurchaseShortAddItem_Dialog — same layout-only scoped styles as
   PurchaseReturnAddItem_Dialog.razor.css, themed with the application's
   existing erp-theme.css tokens.
   ============================================================ */

.gai-backdrop[b-i62wg8yj7x] {
    position: fixed;
    inset: 0;
    background: rgba(9, 47, 93, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
}

.gai-card[b-i62wg8yj7x] {
    width: min(920px, 94vw);
    max-height: 90vh;
    background: var(--erp-surface);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    box-shadow: var(--erp-shadow-md);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-family: var(--erp-font);
}

.gai-header[b-i62wg8yj7x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-bottom: 1px solid var(--erp-border-soft);
    background: linear-gradient(180deg, var(--erp-surface), var(--erp-surface-subtle));
}

.gai-title[b-i62wg8yj7x] {
    font-weight: 700;
    font-size: 15px;
    color: var(--erp-text);
}

.gai-close[b-i62wg8yj7x] {
    background: none;
    border: none;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    color: var(--erp-text-muted);
}

.gai-body[b-i62wg8yj7x] {
    overflow-y: auto;
    padding: 14px;
}

.gai-grid[b-i62wg8yj7x] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px 14px;
}

.gai-span2[b-i62wg8yj7x] {
    grid-column: span 2;
}

.gai-span4[b-i62wg8yj7x] {
    grid-column: span 4;
}

.gai-field label[b-i62wg8yj7x] {
    display: block;
    font-size: 11px;
    font-weight: 650;
    color: var(--erp-text-secondary);
    margin-bottom: 3px;
}

.gai-select[b-i62wg8yj7x] {
    width: 100%;
    padding: 5px 8px;
    border: 1px solid var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    font-size: 13px;
    font-family: var(--erp-font);
    background: var(--erp-surface);
    color: var(--erp-text);
}

.gai-readonly-line[b-i62wg8yj7x] {
    font-size: 12px;
    color: var(--erp-text-secondary);
    padding: 5px 0;
}

.gai-mode-toggle[b-i62wg8yj7x] {
    display: flex;
    gap: 8px;
}

.gai-mode-btn[b-i62wg8yj7x] {
    flex: 1;
    padding: 7px 10px;
    border: 1px solid var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    background: var(--erp-surface);
    color: var(--erp-text-secondary);
    font-size: 12.5px;
    font-weight: 650;
    cursor: pointer;
}

    .gai-mode-btn.active[b-i62wg8yj7x] {
        background: var(--erp-blue-50, #f5f9ff);
        border-color: var(--erp-blue-700, #086ad8);
        color: var(--erp-blue-700, #086ad8);
    }

    .gai-mode-btn:disabled[b-i62wg8yj7x] {
        cursor: not-allowed;
        opacity: 0.65;
    }

.gai-footer[b-i62wg8yj7x] {
    display: flex;
    justify-content: flex-end;
    gap: var(--erp-space-2);
    padding: 10px 14px;
    border-top: 1px solid var(--erp-border-soft);
}
/* /Components/Pages/Purchase/FormControls/PurchaseShort_Form.razor.rz.scp.css */
/* ============================================================
   PurchaseShort_Form — layout-only scoped styles, mirroring
   PurchaseReturn_Form.razor.css's own rules (same erp-theme.css tokens,
   same footer/table/validation-banner look). Duplicated here rather than
   shared because Blazor CSS isolation scopes a .razor.css file to its own
   component only - classes from PurchaseReturn_Form.razor.css do not
   reach this page.
   ============================================================ */

.gf-header-wrap[b-pvwhmx8lfc] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.gf-header-title-row[b-pvwhmx8lfc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.gf-dirty-dot[b-pvwhmx8lfc] {
    color: var(--erp-danger);
    margin-left: 6px;
}

.gf-breadcrumb[b-pvwhmx8lfc] {
    margin: 0;
}

.gf-toolbar-row[b-pvwhmx8lfc] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-2);
}

.gf-form-page[b-pvwhmx8lfc] {
    display: flex;
    flex-direction: column;
    gap: var(--erp-space-4);
    color: var(--erp-text);
    font-family: var(--erp-font);
}

.gf-field-grid[b-pvwhmx8lfc] {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: var(--erp-space-3) var(--erp-space-4);
    padding: var(--erp-space-4);
}

.gf-field[b-pvwhmx8lfc] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

    .gf-field label[b-pvwhmx8lfc] {
        font-size: 11px;
        font-weight: 650;
        color: var(--erp-text-secondary);
    }

.gf-span-full[b-pvwhmx8lfc] {
    grid-column: 1 / -1;
}

.gf-vendor-field[b-pvwhmx8lfc] {
    grid-column: 1 / -1;
    max-width: 420px;
}

    .gf-vendor-field .fluent-label[b-pvwhmx8lfc] {
        font-size: 12.5px;
        font-weight: 750;
        color: var(--erp-text);
    }

    .gf-vendor-field .fluent-input[b-pvwhmx8lfc] {
        font-size: 14px;
        font-weight: 600;
    }

.gf-items-header[b-pvwhmx8lfc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.gf-items-actions[b-pvwhmx8lfc] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-2);
}

.gf-items-wrapper[b-pvwhmx8lfc] {
    overflow-x: auto;
    padding: 0 var(--erp-space-4) var(--erp-space-4);
}

.gf-items-table[b-pvwhmx8lfc] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    white-space: nowrap;
    font-family: var(--erp-font);
    color: var(--erp-text);
}

    .gf-items-table thead th[b-pvwhmx8lfc] {
        text-align: left;
        padding: 7px 8px;
        background: var(--erp-surface-subtle);
        color: var(--erp-text-secondary);
        font-weight: 700;
        border-bottom: 1px solid var(--erp-border-soft);
        position: sticky;
        top: 0;
    }

    .gf-items-table tbody td[b-pvwhmx8lfc] {
        padding: 6px 8px;
        border-bottom: 1px solid var(--erp-border-soft);
    }

    .gf-items-table tbody tr:hover[b-pvwhmx8lfc] {
        background: var(--erp-row-hover);
    }

.sn-col[b-pvwhmx8lfc], .sn-cell[b-pvwhmx8lfc] {
    width: 32px;
}

.action-col[b-pvwhmx8lfc] {
    width: 110px;
}

.pb-row-actions[b-pvwhmx8lfc] {
    white-space: nowrap;
}

.pb-empty-row[b-pvwhmx8lfc] {
    text-align: center;
    color: var(--erp-text-muted);
    font-style: italic;
    padding: 14px;
}

.pb-item-validation-error[b-pvwhmx8lfc] {
    margin: 0 0 8px;
    padding: 7px 12px;
    border-radius: var(--erp-radius-md, 6px);
    background: #fdeceb;
    border: 1px solid #f4cbc8;
    color: var(--erp-danger, #b42318);
    font-size: 12px;
    font-weight: 600;
}

.pb-footer[b-pvwhmx8lfc] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--erp-space-3);
    flex-wrap: wrap;
}

.pb-footer-totals[b-pvwhmx8lfc] {
    display: flex;
    align-items: center;
    gap: var(--erp-space-4);
    flex-wrap: wrap;
}

.pb-total-item[b-pvwhmx8lfc] {
    display: flex;
    flex-direction: column;
    font-size: 11px;
    color: var(--erp-text-muted);
    line-height: 1.3;
}

    .pb-total-item strong[b-pvwhmx8lfc] {
        font-size: 13px;
        color: var(--erp-text);
    }

.pb-net-value[b-pvwhmx8lfc] {
    border-left: 1px solid var(--erp-border-soft);
    padding-left: var(--erp-space-4);
}

    .pb-net-value strong[b-pvwhmx8lfc] {
        color: var(--erp-success);
        font-size: 15px;
    }

.pb-footer-actions[b-pvwhmx8lfc] {
    border-top: none;
    padding-top: 0;
    flex-wrap: wrap;
}
/* /Components/Pages/Purchase/FormControls/PurchaseSourceLines_Dialog.razor.rz.scp.css */
/* ============================================================
   PurchaseSourceLines_Dialog - same overlay layout and
   erp-theme.css tokens as PurchaseAddItem_Dialog (pai-*), with a
   wider card for the pending-lines table.
   ============================================================ */

.psl-backdrop[b-m1cna336ng] {
    position: fixed;
    inset: 0;
    background: rgba(9, 47, 93, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
}

.psl-card[b-m1cna336ng] {
    width: min(1180px, 96vw);
    max-height: 88vh;
    background: var(--erp-surface);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    box-shadow: var(--erp-shadow-md);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-family: var(--erp-font);
}

.psl-header[b-m1cna336ng] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-bottom: 1px solid var(--erp-border-soft);
    background: linear-gradient(180deg, var(--erp-surface), var(--erp-surface-subtle));
}

.psl-title[b-m1cna336ng] {
    font-weight: 700;
    font-size: 15px;
    color: var(--erp-text);
}

.psl-close[b-m1cna336ng] {
    background: none;
    border: none;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    color: var(--erp-text-muted);
}

.psl-body[b-m1cna336ng] {
    overflow-y: auto;
    padding: 14px;
    min-height: 120px;
}

.psl-empty[b-m1cna336ng] {
    padding: 24px 8px;
    text-align: center;
    color: var(--erp-text-secondary);
    font-size: 13px;
}

.psl-error[b-m1cna336ng] {
    margin: 0 0 8px;
    padding: 7px 12px;
    border-radius: var(--erp-radius-md, 6px);
    background: #fdeceb;
    border: 1px solid #f4cbc8;
    color: var(--erp-danger, #b42318);
    font-size: 12px;
    font-weight: 600;
}

.psl-table-wrap[b-m1cna336ng] {
    overflow-x: auto;
    border: 1px solid var(--erp-border-soft);
    border-radius: var(--erp-radius-sm);
}

.psl-table[b-m1cna336ng] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    color: var(--erp-text);
}

    .psl-table th[b-m1cna336ng] {
        position: sticky;
        top: 0;
        background: var(--erp-surface-subtle);
        color: var(--erp-text-secondary);
        font-size: 11px;
        font-weight: 650;
        text-align: left;
        padding: 6px 8px;
        border-bottom: 1px solid var(--erp-border-soft);
        white-space: nowrap;
    }

    .psl-table td[b-m1cna336ng] {
        padding: 5px 8px;
        border-bottom: 1px solid var(--erp-border-soft);
        white-space: nowrap;
    }

    .psl-table tr.is-selected td[b-m1cna336ng] {
        background: var(--erp-blue-50, #f5f9ff);
    }

.psl-num[b-m1cna336ng] {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}

.psl-check-col[b-m1cna336ng] {
    width: 32px;
    text-align: center !important;
}

.psl-name-col[b-m1cna336ng] {
    white-space: normal !important;
    min-width: 180px;
}

.psl-qty-col[b-m1cna336ng] {
    width: 110px;
}

.psl-input[b-m1cna336ng] {
    width: 96px;
    padding: 3px 6px;
    border: 1px solid var(--erp-border-strong);
    border-radius: var(--erp-radius-sm);
    font-size: 12.5px;
    font-family: var(--erp-font);
    text-align: right;
    background: var(--erp-surface);
    color: var(--erp-text);
}

.psl-footer[b-m1cna336ng] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--erp-space-2);
    padding: 10px 14px;
    border-top: 1px solid var(--erp-border-soft);
}

.psl-count[b-m1cna336ng] {
    margin-right: auto;
    color: var(--erp-text-secondary);
    font-size: 12px;
}
/* /Components/Pages/Purchase/ListControls/PurchaseBill_List.razor.rz.scp.css */
/* =========================================================
   Purchase Bill listing - VISUAL POLISH ONLY.

   Everything here is confined to this page by the .pb-list wrapper plus
   Blazor CSS isolation (::deep), so no shared component, no global
   stylesheet and no other list page is affected. Nothing below changes
   structure, markup or behaviour - only colour, spacing and density.

   Colours come from the existing NaviERP erp-theme.css tokens (with
   literal fallbacks), so this stays inside the current design language.
   ========================================================= */

.pb-list[b-sh8x5bzzbo] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* ---------------------------------------------------------
   01. Page shell / panel - tighter, flatter, more rows visible
   --------------------------------------------------------- */

.pb-list[b-sh8x5bzzbo]  .erp-master-page {
    padding: 4px 6px;
    background: var(--erp-page, #f4f7fb);
}

.pb-list[b-sh8x5bzzbo]  .erp-master-panel {
    border-color: var(--erp-blue-100, #d9ebff);
    border-radius: 6px 6px 0 0;
}

/* ---------------------------------------------------------
   02. Breadcrumb header - compact, tinted
   --------------------------------------------------------- */

.pb-list[b-sh8x5bzzbo]  .erp-master-header-row {
    min-height: 30px;
    padding: 4px 10px;
    background: linear-gradient(180deg, var(--erp-surface, #ffffff) 0%, var(--erp-blue-50, #f5f9ff) 100%);
    border-bottom-color: var(--erp-blue-100, #d9ebff);
}

.pb-list[b-sh8x5bzzbo]  .erp-master-breadcrumb {
    font-size: 11.5px;
}

.pb-list[b-sh8x5bzzbo]  .erp-master-breadcrumb-current {
    color: var(--erp-blue-700, #086ad8);
}

/* ---------------------------------------------------------
   03. Toolbar - polished ERP strip
   --------------------------------------------------------- */

.pb-list[b-sh8x5bzzbo]  .erp-master-toolbar-section {
    background: linear-gradient(180deg, var(--erp-surface, #ffffff) 0%, var(--erp-surface-subtle, #f6faff) 100%);
    border-bottom-color: var(--erp-blue-100, #d9ebff);
}

.pb-list[b-sh8x5bzzbo]  .erp-list-toolbar {
    min-height: 32px;
    padding: 2px 8px;
}

.pb-list[b-sh8x5bzzbo]  .erp-toolbar-left {
    gap: 3px;
}

.pb-list[b-sh8x5bzzbo]  .erp-toolbar-left fluent-button::part(control) {
    min-height: 28px;
    border-radius: 5px;
    font-size: 11.5px;
    font-weight: 600;
}

.pb-list[b-sh8x5bzzbo]  .erp-toolbar-left fluent-button[appearance="stealth"]:hover::part(control) {
    background: var(--erp-blue-75, #eaf4ff);
    color: var(--erp-blue-800, #0759ad);
}

/* ---------------------------------------------------------
   04. Status / filter bar - light, colourful, compact
   --------------------------------------------------------- */

.pb-list[b-sh8x5bzzbo]  .erp-master-status-row {
    min-height: 46px;
    padding: 5px 10px;
    background: linear-gradient(180deg, var(--erp-blue-50, #f5f9ff) 0%, var(--erp-blue-75, #eaf4ff) 100%);
    border-bottom-color: var(--erp-blue-100, #d9ebff);
}

/* KPI tiles: subtle tinted cards, one per accent colour */
.pb-list[b-sh8x5bzzbo]  .erp-master-kpis .erp-kpi {
    min-height: 34px;
    padding: 2px 8px 2px 10px;
    border-radius: 5px;
    box-shadow: 0 1px 1px rgba(15, 23, 42, .04);
}

.pb-list[b-sh8x5bzzbo]  .erp-master-kpis span {
    font-size: 8.5px;
    letter-spacing: .4px;
}

.pb-list[b-sh8x5bzzbo]  .erp-master-kpis strong {
    font-size: 15px;
}

.pb-list[b-sh8x5bzzbo]  .erp-kpi-total {
    background: #f2f7ff;
    border-color: #cfe2fb;
}

.pb-list[b-sh8x5bzzbo]  .erp-kpi-visible {
    background: #f0fafb;
    border-color: #c9e9ee;
}

.pb-list[b-sh8x5bzzbo]  .erp-kpi-selected {
    background: #fffaf0;
    border-color: #f2e0bd;
}

.pb-list[b-sh8x5bzzbo]  .erp-kpi-active {
    background: #f1fbf5;
    border-color: #c8e9d5;
}

/* Filter controls */
.pb-list[b-sh8x5bzzbo]  .erp-filter-select,
.pb-list[b-sh8x5bzzbo]  .erp-rows-select {
    height: 30px;
    border-radius: 5px;
    border-color: var(--erp-border-strong, #c8d8e9);
    background: var(--erp-surface, #ffffff);
    font-size: 11.5px;
}

.pb-list[b-sh8x5bzzbo]  .erp-master-search-field,
.pb-list[b-sh8x5bzzbo]  .erp-master-page-size,
.pb-list[b-sh8x5bzzbo]  .erp-master-inline-actions {
    min-height: 30px;
}

.pb-list[b-sh8x5bzzbo]  .erp-master-search-field fluent-search::part(control) {
    min-height: 30px;
    border-radius: 5px;
}

.pb-list[b-sh8x5bzzbo]  .erp-master-inline-actions fluent-button::part(control) {
    min-height: 30px;
    border-radius: 5px;
    font-size: 11.5px;
    font-weight: 600;
}

/* ---------------------------------------------------------
   05. Grid - clean tinted header, compact striped rows
   --------------------------------------------------------- */

.pb-list[b-sh8x5bzzbo]  .erp-master-grid-card {
    border-color: var(--erp-blue-100, #d9ebff);
    border-radius: 0 0 6px 6px;
}

.pb-list[b-sh8x5bzzbo]  fluent-data-grid-row[row-type="header"] fluent-data-grid-cell,
.pb-list[b-sh8x5bzzbo]  fluent-data-grid-cell[cell-type="columnheader"] {
    height: 30px;
    padding: 0 10px;
    background: linear-gradient(180deg, #eff5fd 0%, #e4eefb 100%) !important;
    color: var(--erp-blue-800, #0759ad);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .35px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--erp-blue-100, #d9ebff);
    white-space: nowrap;
}

.pb-list[b-sh8x5bzzbo]  fluent-data-grid-row {
    min-height: 30px;
}

.pb-list[b-sh8x5bzzbo]  fluent-data-grid-cell {
    padding: 0 10px;
    font-size: 12px;
    color: var(--erp-text, #0f172a);
    border-bottom: 1px solid var(--erp-border-soft, #eef2f7);
}

/* zebra striping for scannability */
.pb-list[b-sh8x5bzzbo]  fluent-data-grid-row:nth-of-type(even):not([row-type="header"]) {
    background: #fafcff;
}

.pb-list[b-sh8x5bzzbo]  fluent-data-grid-row:not([row-type="header"]):hover {
    background: var(--erp-blue-50, #f2f8ff) !important;
}

/* ---------------------------------------------------------
   06. Status pill (rendered by this page's Status column)
   --------------------------------------------------------- */

.pb-status[b-sh8x5bzzbo] {
    display: inline-flex;
    align-items: center;
    height: 19px;
    padding: 0 9px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .2px;
    white-space: nowrap;
}

    .pb-status.is-active[b-sh8x5bzzbo] {
        background: #e7f7ee;
        border-color: #bfe6d0;
        color: #027a48;
    }

    .pb-status.is-inactive[b-sh8x5bzzbo] {
        background: #fdeceb;
        border-color: #f4cbc8;
        color: var(--erp-danger, #b42318);
    }

    /* Stock Status column's own 4-state scheme (Not Confirmed / Confirmed /
       Posted / Reversed) - distinct from is-active/is-inactive above,
       which stay reserved for the separate Active/Inactive Status column. */
    .pb-status.is-not-confirmed[b-sh8x5bzzbo] {
        background: #fdeceb;
        border-color: #f4cbc8;
        color: var(--erp-danger, #b42318);
    }

    .pb-status.is-confirmed[b-sh8x5bzzbo] {
        background: var(--erp-blue-50, #f5f9ff);
        border-color: #bcd6f5;
        color: var(--erp-blue-700, #086ad8);
    }

    .pb-status.is-posted[b-sh8x5bzzbo] {
        background: #e7f7ee;
        border-color: #bfe6d0;
        color: #027a48;
    }

    .pb-status.is-reversed[b-sh8x5bzzbo] {
        background: #fff6e6;
        border-color: #f2ddb6;
        color: #b7791f;
    }

/* ---------------------------------------------------------
   07. Row action icons - compact icon buttons
   --------------------------------------------------------- */

.pb-list[b-sh8x5bzzbo]  .erp-row-actions {
    gap: 3px;
}

.pb-list[b-sh8x5bzzbo]  .erp-row-actions fluent-button::part(control) {
    min-width: 24px;
    width: 24px;
    height: 24px;
    padding: 0;
    border-radius: 5px;
    border: 1px solid var(--erp-blue-100, #d9ebff);
    background: var(--erp-surface, #ffffff);
    color: var(--erp-blue-700, #086ad8);
}

.pb-list[b-sh8x5bzzbo]  .erp-row-actions fluent-button:hover::part(control) {
    background: var(--erp-blue-75, #eaf4ff);
    border-color: var(--erp-blue-500, #2b89e6);
}

/* ---------------------------------------------------------
   08. Footer / pagination - compact
   --------------------------------------------------------- */

.pb-list[b-sh8x5bzzbo]  .erp-master-grid-footer {
    min-height: 30px;
    padding: 4px 10px;
    background: linear-gradient(180deg, var(--erp-surface, #ffffff) 0%, var(--erp-blue-50, #f5f9ff) 100%);
    border-top-color: var(--erp-blue-100, #d9ebff);
    font-size: 11px;
}

.pb-list[b-sh8x5bzzbo]  .erp-master-pager-box fluent-button::part(control) {
    min-width: 26px;
    height: 26px;
    border-radius: 5px;
    font-size: 11.5px;
}

/* ---------------------------------------------------------
   09. Empty state
   --------------------------------------------------------- */

.pb-list[b-sh8x5bzzbo]  .erp-master-empty-state {
    color: var(--erp-text-muted, #94a3b8);
    font-size: 12.5px;
}

/* ---------------------------------------------------------
   10. Stock workflow (Confirm / Post / Reverse) - same visual
   language as Opening Stock's own workflow column.
   --------------------------------------------------------- */

.pb-workflow-actions[b-sh8x5bzzbo] {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.pb-wf-btn[b-sh8x5bzzbo] {
    height: 22px;
    padding: 0 8px;
    border-radius: 4px;
    border: 1px solid transparent;
    font-size: 10.5px;
    font-weight: 650;
    cursor: pointer;
    background: var(--erp-surface, #ffffff);
}

.pb-wf-confirm[b-sh8x5bzzbo] {
    border-color: #bcd6f5;
    color: var(--erp-blue-700, #086ad8);
}

    .pb-wf-confirm:hover[b-sh8x5bzzbo] {
        background: var(--erp-blue-50, #f5f9ff);
    }

.pb-wf-post[b-sh8x5bzzbo] {
    border-color: #bfe6d0;
    color: #027a48;
}

    .pb-wf-post:hover[b-sh8x5bzzbo] {
        background: #f1fbf5;
    }

.pb-wf-reverse[b-sh8x5bzzbo] {
    border-color: #f2ddb6;
    color: #b7791f;
}

    .pb-wf-reverse:hover[b-sh8x5bzzbo] {
        background: #fff6e6;
    }

/* Phase 1 - Unconfirm (Confirmed -> Draft, before posting). Neutral
   grey so it reads as a step back, next to Confirm / Post / Reverse. */
.pb-wf-unconfirm[b-sh8x5bzzbo] {
    border-color: #d0d5dd;
    color: #475467;
}

    .pb-wf-unconfirm:hover[b-sh8x5bzzbo] {
        background: #f2f4f7;
    }
/* /Components/Pages/Purchase/ListControls/PurchaseGrn_List.razor.rz.scp.css */
/* =========================================================
   Purchase GRN listing - mirrors PurchaseBill_List.razor.css's own
   visual polish (scoped to this page only via .pg-list + ::deep).
   ========================================================= */

.pg-list[b-sbn2f6fee4] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.pg-list[b-sbn2f6fee4]  .erp-master-page {
    padding: 4px 6px;
    background: var(--erp-page, #f4f7fb);
}

.pg-list[b-sbn2f6fee4]  .erp-master-panel {
    border-color: var(--erp-blue-100, #d9ebff);
    border-radius: 6px 6px 0 0;
}

.pg-list[b-sbn2f6fee4]  .erp-master-header-row {
    min-height: 30px;
    padding: 4px 10px;
    background: linear-gradient(180deg, var(--erp-surface, #ffffff) 0%, var(--erp-blue-50, #f5f9ff) 100%);
    border-bottom-color: var(--erp-blue-100, #d9ebff);
}

.pg-list[b-sbn2f6fee4]  fluent-data-grid-row[row-type="header"] fluent-data-grid-cell,
.pg-list[b-sbn2f6fee4]  fluent-data-grid-cell[cell-type="columnheader"] {
    height: 30px;
    padding: 0 10px;
    background: linear-gradient(180deg, #eff5fd 0%, #e4eefb 100%) !important;
    color: var(--erp-blue-800, #0759ad);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .35px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--erp-blue-100, #d9ebff);
    white-space: nowrap;
}

.pg-list[b-sbn2f6fee4]  fluent-data-grid-cell {
    padding: 0 10px;
    font-size: 12px;
    color: var(--erp-text, #0f172a);
    border-bottom: 1px solid var(--erp-border-soft, #eef2f7);
}

.pg-list[b-sbn2f6fee4]  fluent-data-grid-row:nth-of-type(even):not([row-type="header"]) {
    background: #fafcff;
}

.pg-list[b-sbn2f6fee4]  fluent-data-grid-row:not([row-type="header"]):hover {
    background: var(--erp-blue-50, #f2f8ff) !important;
}

/* ---------------------------------------------------------
   Status pill
   --------------------------------------------------------- */

.pg-status[b-sbn2f6fee4] {
    display: inline-flex;
    align-items: center;
    height: 19px;
    padding: 0 9px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .2px;
    white-space: nowrap;
}

    .pg-status.is-active[b-sbn2f6fee4] {
        background: #e7f7ee;
        border-color: #bfe6d0;
        color: #027a48;
    }

    .pg-status.is-inactive[b-sbn2f6fee4] {
        background: #fdeceb;
        border-color: #f4cbc8;
        color: var(--erp-danger, #b42318);
    }

    /* Stock Status column's own 4-state scheme (Not Confirmed / Confirmed /
       Posted / Reversed) - distinct from is-active/is-inactive above,
       which stay reserved for the separate Active/Inactive Status column. */
    .pg-status.is-not-confirmed[b-sbn2f6fee4] {
        background: #fdeceb;
        border-color: #f4cbc8;
        color: var(--erp-danger, #b42318);
    }

    .pg-status.is-confirmed[b-sbn2f6fee4] {
        background: var(--erp-blue-50, #f5f9ff);
        border-color: #bcd6f5;
        color: var(--erp-blue-700, #086ad8);
    }

    .pg-status.is-posted[b-sbn2f6fee4] {
        background: #e7f7ee;
        border-color: #bfe6d0;
        color: #027a48;
    }

    .pg-status.is-reversed[b-sbn2f6fee4] {
        background: #fff6e6;
        border-color: #f2ddb6;
        color: #b7791f;
    }

/* ---------------------------------------------------------
   Stock workflow (Confirm / Post / Reverse)
   --------------------------------------------------------- */

.pg-workflow-actions[b-sbn2f6fee4] {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.pg-wf-btn[b-sbn2f6fee4] {
    height: 22px;
    padding: 0 8px;
    border-radius: 4px;
    border: 1px solid transparent;
    font-size: 10.5px;
    font-weight: 650;
    cursor: pointer;
    background: var(--erp-surface, #ffffff);
}

.pg-wf-confirm[b-sbn2f6fee4] {
    border-color: #bcd6f5;
    color: var(--erp-blue-700, #086ad8);
}

    .pg-wf-confirm:hover[b-sbn2f6fee4] {
        background: var(--erp-blue-50, #f5f9ff);
    }

.pg-wf-post[b-sbn2f6fee4] {
    border-color: #bfe6d0;
    color: #027a48;
}

    .pg-wf-post:hover[b-sbn2f6fee4] {
        background: #f1fbf5;
    }

.pg-wf-reverse[b-sbn2f6fee4] {
    border-color: #f2ddb6;
    color: #b7791f;
}

    .pg-wf-reverse:hover[b-sbn2f6fee4] {
        background: #fff6e6;
    }
/* /Components/Pages/Purchase/ListControls/PurchaseGstInvoicesReport_List.razor.rz.scp.css */
/* =========================================================
   Purchase GST Invoices - filter field widths + Status pill.

   Blazor CSS isolation scopes this to PurchaseGstInvoicesReport_List.razor
   only - see the identical comment in PurchaseRegister_List.razor.css,
   PurchaseItemWiseReport_List.razor.css, and
   PurchaseHsnWiseReport_List.razor.css for why this small duplication
   exists instead of a shared stylesheet.

   Widths match PurchaseRegister_List.razor.css's own approved values
   exactly (150px / 110px) from the start, to avoid repeating the
   mismatch found and fixed on the Item Wise / HSN Wise pages.
   ========================================================= */

.tender-list-page[b-eo520pybpf]  .pr-filter-vendor {
    width: 150px;
    max-width: 150px;
    flex-shrink: 0;
}

    .tender-list-page[b-eo520pybpf]  .pr-filter-vendor .erp-filter-select {
        width: 100%;
        text-overflow: ellipsis;
    }

.tender-list-page[b-eo520pybpf]  .pr-filter-compact {
    width: 110px;
    max-width: 110px;
    flex-shrink: 0;
}

.tender-list-page[b-eo520pybpf]  .erp-master-filter-area {
    flex-wrap: wrap;
    row-gap: 8px;
}

    .tender-list-page[b-eo520pybpf]  .erp-master-inline-actions {
        flex-shrink: 0;
    }

/* Status pill - same look as PurchaseBill_List's/PurchaseRegister's own
   .pb-status/.pr-status (scoped to those other components, so duplicated
   here under its own class name rather than reused across components). */
.pg-status[b-eo520pybpf] {
    display: inline-flex;
    align-items: center;
    height: 19px;
    padding: 0 9px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .2px;
    white-space: nowrap;
}

    .pg-status.is-active[b-eo520pybpf] {
        background: #e7f7ee;
        border-color: #bfe6d0;
        color: #027a48;
    }

    .pg-status.is-inactive[b-eo520pybpf] {
        background: #fdeceb;
        border-color: #f4cbc8;
        color: var(--erp-danger, #b42318);
    }
/* /Components/Pages/Purchase/ListControls/PurchaseHsnWiseReport_List.razor.rz.scp.css */
/* =========================================================
   Purchase Details - HSN Wise - filter field widths + search box.

   Blazor CSS isolation scopes this to PurchaseHsnWiseReport_List.razor
   only - see the identical comment in PurchaseRegister_List.razor.css
   and PurchaseItemWiseReport_List.razor.css for why this small
   duplication exists instead of a shared stylesheet.

   Widths match PurchaseRegister_List.razor.css's own values exactly
   (150px / 110px) - an earlier pass used different numbers here
   (170px / 150px), which made this page look visually inconsistent with
   the approved Purchase Register despite using the same class names.

   The general Search box is now hidden here too, per explicit request to
   match Purchase Register's toolbar exactly on this report - unlike
   Purchase Details - Item Wise, which keeps it (not touched by this
   change).
   ========================================================= */

.tender-list-page[b-rwn7t4e1li]  .pr-filter-compact {
    width: 110px;
    max-width: 110px;
    flex-shrink: 0;
}

.tender-list-page[b-rwn7t4e1li]  .pr-filter-vendor {
    width: 150px;
    max-width: 150px;
    flex-shrink: 0;
}

    .tender-list-page[b-rwn7t4e1li]  .pr-filter-vendor .erp-filter-select {
        width: 100%;
        text-overflow: ellipsis;
    }

.tender-list-page[b-rwn7t4e1li]  .erp-master-filter-area {
    flex-wrap: wrap;
    row-gap: 8px;
}

    .tender-list-page[b-rwn7t4e1li]  .erp-master-inline-actions {
        flex-shrink: 0;
    }

/* Remove the general Search box - this report's own HSN/SAC and Vendor
   dropdowns (and their own search/select behaviour) are untouched; this
   only hides the separate free-text FluentSearch box MasterListBase
   always renders next to AdditionalFilterContent, matching Purchase
   Register's approved toolbar. */
.tender-list-page[b-rwn7t4e1li]  .erp-master-search-field {
    display: none;
}
/* /Components/Pages/Purchase/ListControls/PurchaseItemWiseReport_List.razor.rz.scp.css */
/* =========================================================
   Purchase Details - Item Wise - filter field widths only.

   Blazor CSS isolation scopes this to PurchaseItemWiseReport_List.razor
   only. PurchaseRegister_List.razor.css defines identically-named
   .pr-filter-vendor/.pr-filter-compact classes with the same look, but
   that is a different component's scope and would not apply here - this
   is a deliberate, small duplication of the same compact-filter styling,
   not a new design, and does not affect Purchase Register or any other
   page.

   Unlike Purchase Register, the general Search box is kept visible here
   (the task's filter list explicitly includes "Search"), so no
   .erp-master-search-field override is added.

   Widths below match PurchaseRegister_List.razor.css's own values
   exactly (150px / 110px) - an earlier pass used different numbers here
   (170px / 150px), which was the actual cause of this page looking
   visually inconsistent with the approved Purchase Register despite
   using the same class names.
   ========================================================= */

.tender-list-page[b-7o7h37w7gx]  .pr-filter-compact {
    width: 110px;
    max-width: 110px;
    flex-shrink: 0;
}

.tender-list-page[b-7o7h37w7gx]  .pr-filter-vendor {
    width: 150px;
    max-width: 150px;
    flex-shrink: 0;
}

    .tender-list-page[b-7o7h37w7gx]  .pr-filter-vendor .erp-filter-select {
        width: 100%;
        text-overflow: ellipsis;
    }

.tender-list-page[b-7o7h37w7gx]  .erp-master-filter-area {
    flex-wrap: wrap;
    row-gap: 8px;
}

    .tender-list-page[b-7o7h37w7gx]  .erp-master-inline-actions {
        flex-shrink: 0;
    }
/* /Components/Pages/Purchase/ListControls/PurchaseRegister_List.razor.rz.scp.css */
/* =========================================================
   Purchase Register - Status pill only.

   Blazor CSS isolation scopes this to PurchaseRegister_List.razor only -
   PurchaseBill_List.razor.css already defines an identically-styled
   .pb-status class, but that class is scoped to that other component and
   would not apply here, so this is a small, deliberate duplication (same
   look, confirmed existing colour tokens), not a new design.
   ========================================================= */

.pr-status[b-id938eb00v] {
    display: inline-flex;
    align-items: center;
    height: 19px;
    padding: 0 9px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .2px;
    white-space: nowrap;
}

    .pr-status.is-active[b-id938eb00v] {
        background: #e7f7ee;
        border-color: #bfe6d0;
        color: #027a48;
    }

    .pr-status.is-inactive[b-id938eb00v] {
        background: #fdeceb;
        border-color: #f4cbc8;
        color: var(--erp-danger, #b42318);
    }

/* =========================================================
   Filter row layout - PAGE-SCOPED ONLY.

   .tender-list-page is this page's own wrapper div (authored directly in
   PurchaseRegister_List.razor), so Blazor CSS isolation's ::deep lets
   these rules reach into MasterListBase's rendered markup (DynamicMasterList
   -> MasterListBase) without touching MasterListBase.razor/.razor.css -
   every other page using DynamicMasterList/MasterListBase (including the
   Current Stock Status pages, which reuse the same global .tender-list-page
   class) is unaffected, since each has its own isolation scope attribute
   and none of these selectors can match outside this component's tree.

   Nothing here changes filter logic, data loading, or columns - visual
   sizing/visibility only.
   ========================================================= */

/* 1. Vendor filter: the shared .erp-master-filter-field has no width of
   its own (see wwwroot/app.css), so a <select> sizes to fit its longest
   vendor name by default - this is what made it look like a large
   search box. Constrained to a compact, still-readable width; the
   native <select> truncates its own text when it doesn't fit, and the
   "title" attribute added on the label in the .razor file shows the
   full vendor name on hover. */
.tender-list-page[b-id938eb00v]  .pr-filter-vendor {
    width: 150px;
    max-width: 150px;
    flex-shrink: 0;
}

    .tender-list-page[b-id938eb00v]  .pr-filter-vendor .erp-filter-select {
        width: 100%;
        text-overflow: ellipsis;
    }

/* Financial Year / Status: short option lists, so a small fixed width is
   enough and keeps them from stretching unnecessarily. */
.tender-list-page[b-id938eb00v]  .pr-filter-compact {
    width: 110px;
    max-width: 110px;
    flex-shrink: 0;
}

/* 2. Remove the general Search box for this report only - the Vendor
   dropdown (and its own search/select behaviour) is untouched; this only
   hides the separate free-text FluentSearch box MasterListBase always
   renders next to AdditionalFilterContent. */
.tender-list-page[b-id938eb00v]  .erp-master-search-field {
    display: none;
}

/* 3. Apply/Reset overflow fix: letting the filter row wrap instead of
   forcing every control onto one nowrap line (MasterListBase's own
   default) keeps Apply/Reset fully visible inside the page at normal
   desktop widths instead of pushing them past the right edge. */
.tender-list-page[b-id938eb00v]  .erp-master-filter-area {
    flex-wrap: wrap;
    row-gap: 8px;
}

    .tender-list-page[b-id938eb00v]  .erp-master-inline-actions {
        flex-shrink: 0;
    }
/* /Components/Pages/Purchase/ListControls/PurchaseReturn_List.razor.rz.scp.css */
/* =========================================================
   Purchase Return listing - mirrors PurchaseGrn_List.razor.css's own
   visual polish (scoped to this page only via .pg-list + ::deep).
   ========================================================= */

.pg-list[b-pfck1w5edn] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.pg-list[b-pfck1w5edn]  .erp-master-page {
    padding: 4px 6px;
    background: var(--erp-page, #f4f7fb);
}

.pg-list[b-pfck1w5edn]  .erp-master-panel {
    border-color: var(--erp-blue-100, #d9ebff);
    border-radius: 6px 6px 0 0;
}

.pg-list[b-pfck1w5edn]  .erp-master-header-row {
    min-height: 30px;
    padding: 4px 10px;
    background: linear-gradient(180deg, var(--erp-surface, #ffffff) 0%, var(--erp-blue-50, #f5f9ff) 100%);
    border-bottom-color: var(--erp-blue-100, #d9ebff);
}

.pg-list[b-pfck1w5edn]  fluent-data-grid-row[row-type="header"] fluent-data-grid-cell,
.pg-list[b-pfck1w5edn]  fluent-data-grid-cell[cell-type="columnheader"] {
    height: 30px;
    padding: 0 10px;
    background: linear-gradient(180deg, #eff5fd 0%, #e4eefb 100%) !important;
    color: var(--erp-blue-800, #0759ad);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .35px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--erp-blue-100, #d9ebff);
    white-space: nowrap;
}

.pg-list[b-pfck1w5edn]  fluent-data-grid-cell {
    padding: 0 10px;
    font-size: 12px;
    color: var(--erp-text, #0f172a);
    border-bottom: 1px solid var(--erp-border-soft, #eef2f7);
}

.pg-list[b-pfck1w5edn]  fluent-data-grid-row:nth-of-type(even):not([row-type="header"]) {
    background: #fafcff;
}

.pg-list[b-pfck1w5edn]  fluent-data-grid-row:not([row-type="header"]):hover {
    background: var(--erp-blue-50, #f2f8ff) !important;
}

/* ---------------------------------------------------------
   Status pill
   --------------------------------------------------------- */

.pg-status[b-pfck1w5edn] {
    display: inline-flex;
    align-items: center;
    height: 19px;
    padding: 0 9px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .2px;
    white-space: nowrap;
}

    .pg-status.is-active[b-pfck1w5edn] {
        background: #e7f7ee;
        border-color: #bfe6d0;
        color: #027a48;
    }

    .pg-status.is-inactive[b-pfck1w5edn] {
        background: #fdeceb;
        border-color: #f4cbc8;
        color: var(--erp-danger, #b42318);
    }

    /* Stock Status column's own 4-state scheme (Not Confirmed / Confirmed /
       Posted / Reversed) - distinct from is-active/is-inactive above,
       which stay reserved for the separate Active/Inactive Status column. */
    .pg-status.is-not-confirmed[b-pfck1w5edn] {
        background: #fdeceb;
        border-color: #f4cbc8;
        color: var(--erp-danger, #b42318);
    }

    .pg-status.is-confirmed[b-pfck1w5edn] {
        background: var(--erp-blue-50, #f5f9ff);
        border-color: #bcd6f5;
        color: var(--erp-blue-700, #086ad8);
    }

    .pg-status.is-posted[b-pfck1w5edn] {
        background: #e7f7ee;
        border-color: #bfe6d0;
        color: #027a48;
    }

    .pg-status.is-reversed[b-pfck1w5edn] {
        background: #fff6e6;
        border-color: #f2ddb6;
        color: #b7791f;
    }

/* ---------------------------------------------------------
   Stock workflow (Confirm / Post / Reverse)
   --------------------------------------------------------- */

.pg-workflow-actions[b-pfck1w5edn] {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.pg-wf-btn[b-pfck1w5edn] {
    height: 22px;
    padding: 0 8px;
    border-radius: 4px;
    border: 1px solid transparent;
    font-size: 10.5px;
    font-weight: 650;
    cursor: pointer;
    background: var(--erp-surface, #ffffff);
}

.pg-wf-confirm[b-pfck1w5edn] {
    border-color: #bcd6f5;
    color: var(--erp-blue-700, #086ad8);
}

    .pg-wf-confirm:hover[b-pfck1w5edn] {
        background: var(--erp-blue-50, #f5f9ff);
    }

.pg-wf-post[b-pfck1w5edn] {
    border-color: #bfe6d0;
    color: #027a48;
}

    .pg-wf-post:hover[b-pfck1w5edn] {
        background: #f1fbf5;
    }

.pg-wf-reverse[b-pfck1w5edn] {
    border-color: #f2ddb6;
    color: #b7791f;
}

    .pg-wf-reverse:hover[b-pfck1w5edn] {
        background: #fff6e6;
    }
/* /Components/Pages/Purchase/ListControls/PurchaseShort_List.razor.rz.scp.css */
/* =========================================================
   Purchase Short listing - mirrors PurchaseReturn_List.razor.css's own
   visual polish (scoped to this page only via .pg-list + ::deep).
   ========================================================= */

.pg-list[b-1j5aiaha6m] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.pg-list[b-1j5aiaha6m]  .erp-master-page {
    padding: 4px 6px;
    background: var(--erp-page, #f4f7fb);
}

.pg-list[b-1j5aiaha6m]  .erp-master-panel {
    border-color: var(--erp-blue-100, #d9ebff);
    border-radius: 6px 6px 0 0;
}

.pg-list[b-1j5aiaha6m]  .erp-master-header-row {
    min-height: 30px;
    padding: 4px 10px;
    background: linear-gradient(180deg, var(--erp-surface, #ffffff) 0%, var(--erp-blue-50, #f5f9ff) 100%);
    border-bottom-color: var(--erp-blue-100, #d9ebff);
}

.pg-list[b-1j5aiaha6m]  fluent-data-grid-row[row-type="header"] fluent-data-grid-cell,
.pg-list[b-1j5aiaha6m]  fluent-data-grid-cell[cell-type="columnheader"] {
    height: 30px;
    padding: 0 10px;
    background: linear-gradient(180deg, #eff5fd 0%, #e4eefb 100%) !important;
    color: var(--erp-blue-800, #0759ad);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .35px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--erp-blue-100, #d9ebff);
    white-space: nowrap;
}

.pg-list[b-1j5aiaha6m]  fluent-data-grid-cell {
    padding: 0 10px;
    font-size: 12px;
    color: var(--erp-text, #0f172a);
    border-bottom: 1px solid var(--erp-border-soft, #eef2f7);
}

.pg-list[b-1j5aiaha6m]  fluent-data-grid-row:nth-of-type(even):not([row-type="header"]) {
    background: #fafcff;
}

.pg-list[b-1j5aiaha6m]  fluent-data-grid-row:not([row-type="header"]):hover {
    background: var(--erp-blue-50, #f2f8ff) !important;
}

/* ---------------------------------------------------------
   Status pill
   --------------------------------------------------------- */

.pg-status[b-1j5aiaha6m] {
    display: inline-flex;
    align-items: center;
    height: 19px;
    padding: 0 9px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .2px;
    white-space: nowrap;
}

    .pg-status.is-active[b-1j5aiaha6m] {
        background: #e7f7ee;
        border-color: #bfe6d0;
        color: #027a48;
    }

    .pg-status.is-inactive[b-1j5aiaha6m] {
        background: #fdeceb;
        border-color: #f4cbc8;
        color: var(--erp-danger, #b42318);
    }

    /* Stock Status column's own 4-state scheme (Not Confirmed / Confirmed /
       Posted / Reversed) - distinct from is-active/is-inactive above,
       which stay reserved for the separate Active/Inactive Status column. */
    .pg-status.is-not-confirmed[b-1j5aiaha6m] {
        background: #fdeceb;
        border-color: #f4cbc8;
        color: var(--erp-danger, #b42318);
    }

    .pg-status.is-confirmed[b-1j5aiaha6m] {
        background: var(--erp-blue-50, #f5f9ff);
        border-color: #bcd6f5;
        color: var(--erp-blue-700, #086ad8);
    }

    .pg-status.is-posted[b-1j5aiaha6m] {
        background: #e7f7ee;
        border-color: #bfe6d0;
        color: #027a48;
    }

    .pg-status.is-reversed[b-1j5aiaha6m] {
        background: #fff6e6;
        border-color: #f2ddb6;
        color: #b7791f;
    }

/* ---------------------------------------------------------
   Stock workflow (Confirm / Post / Reverse)
   --------------------------------------------------------- */

.pg-workflow-actions[b-1j5aiaha6m] {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.pg-wf-btn[b-1j5aiaha6m] {
    height: 22px;
    padding: 0 8px;
    border-radius: 4px;
    border: 1px solid transparent;
    font-size: 10.5px;
    font-weight: 650;
    cursor: pointer;
    background: var(--erp-surface, #ffffff);
}

.pg-wf-confirm[b-1j5aiaha6m] {
    border-color: #bcd6f5;
    color: var(--erp-blue-700, #086ad8);
}

    .pg-wf-confirm:hover[b-1j5aiaha6m] {
        background: var(--erp-blue-50, #f5f9ff);
    }

.pg-wf-post[b-1j5aiaha6m] {
    border-color: #bfe6d0;
    color: #027a48;
}

    .pg-wf-post:hover[b-1j5aiaha6m] {
        background: #f1fbf5;
    }

.pg-wf-reverse[b-1j5aiaha6m] {
    border-color: #f2ddb6;
    color: #b7791f;
}

    .pg-wf-reverse:hover[b-1j5aiaha6m] {
        background: #fff6e6;
    }
/* /Components/Pages/Quatation/QuatationEntry.razor.rz.scp.css */
.quotation-page[b-4s357sv8n6] {
    min-width: 1100px;
    color: #333;
    font-size: 12px;
}

.quotation-title[b-4s357sv8n6] {
    background: #11a300;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding: 5px 10px;
}

/* ===================== FILTER ===================== */

.quotation-filter[b-4s357sv8n6] {
    display: flex;
    justify-content: center;
    align-items: end;
    gap: 24px;
    padding: 15px 10px 20px;
}

.filter-field[b-4s357sv8n6] {
    display: grid;
    grid-template-columns: auto 200px;
    gap: 6px;
    align-items: center;
}

    .filter-field label span[b-4s357sv8n6] {
        color: #d40000;
    }

    .filter-field select[b-4s357sv8n6] {
        height: 28px;
        border: 1px solid #78aebe;
        border-radius: 3px;
        background: #f7f7f7;
        width: 100%;
        box-sizing: border-box;
    }

/* ===================== BUTTONS ===================== */

.go-button[b-4s357sv8n6],
.save-button[b-4s357sv8n6] {
    border: 1px solid #057000;
    background: #10a000;
    color: #fff;
    font-weight: 600;
    padding: 5px 18px;
    border-radius: 2px;
    cursor: pointer;
}

.quotation-toolbar[b-4s357sv8n6] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
    padding: 0 10px 10px;
}

    .quotation-toolbar input[b-4s357sv8n6] {
        margin-left: 5px;
        border: 1px solid #78aebe;
        border-radius: 3px;
        padding: 2px 4px;
    }

/* ===================== MESSAGE ===================== */

.quotation-message[b-4s357sv8n6] {
    margin: 0 10px 10px;
    padding: 8px 10px;
    border-radius: 3px;
}

    .quotation-message.success[b-4s357sv8n6] {
        background: #dff0d8;
        color: #276221;
    }

    .quotation-message.error[b-4s357sv8n6] {
        background: #f8d7da;
        color: #842029;
    }

/* ===================== GRID ===================== */

.quotation-grid-wrap[b-4s357sv8n6] {
    overflow-x: auto;
    border: 1px solid #aaa;
}

.quotation-grid[b-4s357sv8n6] {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 11px;
}

    .quotation-grid th[b-4s357sv8n6] {
        background: #0876b8;
        color: #fff;
        border: 1px solid #b5b5b5;
        padding: 3px 2px;
        text-align: center;
        vertical-align: middle;
        font-size: 11px;
        line-height: 1.1;
        white-space: normal;
        word-break: break-word;
    }

    .quotation-grid td[b-4s357sv8n6] {
        border: 1px solid #c1c1c1;
        padding: 2px;
        text-align: center;
        vertical-align: middle;
        overflow: hidden;
    }

    /* ===================== INPUTS ===================== */

    .quotation-grid input[b-4s357sv8n6],
    .quotation-grid textarea[b-4s357sv8n6],
    .quotation-grid select[b-4s357sv8n6] {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
        border: 1px solid #78aebe;
        border-radius: 3px;
        background: #f7f7f7;
        font-size: 11px;
        padding: 2px 3px;
    }

    .quotation-grid input[b-4s357sv8n6] {
        height: 22px;
    }

        .quotation-grid input[type="number"][b-4s357sv8n6] {
            width: 100%;
            text-align: right;
        }

        .quotation-grid input[type="date"][b-4s357sv8n6] {
            width: 100%;
            font-size: 10px;
            padding: 1px 2px;
        }

    .quotation-grid textarea[b-4s357sv8n6] {
        width: 100%;
        min-height: 34px;
        height: 34px;
        resize: vertical;
        font-size: 11px;
    }

    .quotation-grid .number[b-4s357sv8n6] {
        text-align: right;
        white-space: nowrap;
    }

    /* ===================== CHECKBOX ===================== */

    .quotation-grid .checkbox-cell[b-4s357sv8n6] {
        text-align: center;
    }

        .quotation-grid .checkbox-cell input[type="checkbox"][b-4s357sv8n6] {
            width: 16px;
            height: 16px;
            margin: auto;
            display: block;
        }
/* /Components/Pages/Quatation/QuotationEdit.razor.rz.scp.css */
.qed-page[b-sdkw0bqhrv] {
    max-width: 1000px;
    color: #333;
    font-size: 12px;
}

.qed-title[b-sdkw0bqhrv] {
    background: #11a300;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding: 5px 10px;
}

/* ===================== MESSAGE ===================== */

.qed-message[b-sdkw0bqhrv] {
    margin: 10px;
    padding: 8px 10px;
    border-radius: 3px;
}

    .qed-message.success[b-sdkw0bqhrv] {
        background: #dff0d8;
        color: #276221;
    }

    .qed-message.error[b-sdkw0bqhrv] {
        background: #f8d7da;
        color: #842029;
    }

.qed-loading[b-sdkw0bqhrv] {
    padding: 20px 10px;
    color: #666;
    font-style: italic;
}

/* ===================== SUMMARY ===================== */

.qed-summary[b-sdkw0bqhrv] {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    padding: 12px 10px;
    border-bottom: 1px solid #ddd;
    background: #f4f8f4;
}

    .qed-summary div[b-sdkw0bqhrv] {
        display: flex;
        flex-direction: column;
    }

    .qed-summary span[b-sdkw0bqhrv] {
        color: #666;
        font-size: 11px;
    }

/* ===================== FORM ===================== */

.qed-form[b-sdkw0bqhrv] {
    display: grid;
    grid-template-columns: repeat(3, minmax(200px, 1fr));
    gap: 12px 18px;
    padding: 15px 10px;
}

.qed-field[b-sdkw0bqhrv] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

    .qed-field.qed-wide[b-sdkw0bqhrv] {
        grid-column: span 3;
    }

    .qed-field.qed-check[b-sdkw0bqhrv] {
        flex-direction: row;
        align-items: center;
        gap: 8px;
    }

    .qed-field label[b-sdkw0bqhrv] {
        font-weight: 600;
    }

        .qed-field label span[b-sdkw0bqhrv] {
            color: #d40000;
        }

    .qed-field input[b-sdkw0bqhrv],
    .qed-field textarea[b-sdkw0bqhrv] {
        border: 1px solid #78aebe;
        border-radius: 3px;
        background: #f7f7f7;
        padding: 3px 5px;
        font-size: 12px;
    }

    .qed-field input[type="number"][b-sdkw0bqhrv] {
        text-align: right;
    }

    .qed-field.qed-check input[b-sdkw0bqhrv] {
        width: 16px;
        height: 16px;
    }

/* ===================== TOTALS ===================== */

.qed-totals[b-sdkw0bqhrv] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    padding: 10px;
    border-top: 1px solid #ddd;
    background: #f4f8f4;
}

    .qed-totals div[b-sdkw0bqhrv] {
        display: flex;
        flex-direction: column;
        text-align: right;
    }

    .qed-totals span[b-sdkw0bqhrv] {
        color: #666;
        font-size: 11px;
    }

    .qed-totals strong[b-sdkw0bqhrv] {
        font-size: 14px;
    }

/* ===================== ACTIONS ===================== */

.qed-actions[b-sdkw0bqhrv] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 12px 10px;
}

.qed-button[b-sdkw0bqhrv] {
    border: 1px solid #057000;
    background: #10a000;
    color: #fff;
    font-weight: 600;
    padding: 5px 22px;
    border-radius: 2px;
    cursor: pointer;
}

    .qed-button.qed-secondary[b-sdkw0bqhrv] {
        border-color: #555;
        background: #6c757d;
    }

    .qed-button:disabled[b-sdkw0bqhrv] {
        opacity: .6;
        cursor: default;
    }
/* /Components/Pages/Quatation/QuotationItemVendorList.razor.rz.scp.css */
.ivl-page[b-sjlc2paacm] {
    min-width: 900px;
    color: #333;
    font-size: 12px;
}

.ivl-bar[b-sjlc2paacm] {
    display: flex;
    justify-content: center;
    padding: 10px;
}

.ivl-close[b-sjlc2paacm] {
    border: 1px solid #057000;
    background: #10a000;
    color: #fff;
    font-weight: 700;
    padding: 6px 26px;
    border-radius: 2px;
    cursor: pointer;
}

.ivl-itemname[b-sjlc2paacm] {
    color: #0645ad;
    font-weight: 700;
    font-size: 14px;
    padding: 4px 12px;
}

.ivl-controls[b-sjlc2paacm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 12px 12px;
    gap: 20px;
}

.ivl-show select[b-sjlc2paacm] {
    margin: 0 4px;
    padding: 2px 4px;
}

.ivl-search input[b-sjlc2paacm] {
    margin-left: 6px;
    padding: 4px 6px;
    min-width: 260px;
    border: 1px solid #999;
}

.ivl-message[b-sjlc2paacm] {
    margin: 0 12px 10px;
    padding: 8px 10px;
    border-radius: 3px;
}

    .ivl-message.success[b-sjlc2paacm] {
        background: #dff0d8;
        color: #276221;
    }

    .ivl-message.error[b-sjlc2paacm] {
        background: #f8d7da;
        color: #842029;
    }

.ivl-grid-wrap[b-sjlc2paacm] {
    overflow-x: auto;
    border: 1px solid #aaa;
    margin: 0 12px;
}

.ivl-grid[b-sjlc2paacm] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

    .ivl-grid th[b-sjlc2paacm] {
        background: #0876b8;
        color: #fff;
        border: 1px solid #b5b5b5;
        padding: 6px 5px;
        text-align: center;
    }

    .ivl-grid td[b-sjlc2paacm] {
        border: 1px solid #cdd7cf;
        padding: 5px 6px;
        text-align: center;
        vertical-align: middle;
        background: #eaf6ea;
    }

    .ivl-grid tr.ivl-even td[b-sjlc2paacm] {
        background: #d9eed9;
    }

    .ivl-grid .ivl-left[b-sjlc2paacm] {
        text-align: left;
    }

    .ivl-grid .number[b-sjlc2paacm] {
        text-align: right;
        white-space: nowrap;
    }

    .ivl-grid .ivl-empty[b-sjlc2paacm] {
        padding: 14px;
        color: #666;
        font-style: italic;
        background: #fff;
    }

.ivl-vendorlink[b-sjlc2paacm] {
    background: none;
    border: none;
    padding: 0;
    color: #0645ad;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
    font-size: 12px;
    text-align: left;
}

    .ivl-vendorlink:hover[b-sjlc2paacm] {
        color: #b00000;
    }

.ivl-footer[b-sjlc2paacm] {
    padding: 10px 12px;
    color: #555;
}
/* /Components/Pages/Quatation/QuotationRateList.razor.rz.scp.css */
.qrl-page[b-neyz7p5n9v] {
    min-width: 1100px;
    color: #333;
    font-size: 12px;
}

.qrl-title[b-neyz7p5n9v] {
    background: #11a300;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding: 5px 10px;
}

/* ===================== FILTER ===================== */

.qrl-filter[b-neyz7p5n9v] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 15px 10px;
}

    .qrl-filter select[b-neyz7p5n9v] {
        height: 28px;
        min-width: 220px;
        border: 1px solid #78aebe;
        border-radius: 3px;
        background: #f7f7f7;
    }

.qrl-button[b-neyz7p5n9v] {
    border: 1px solid #057000;
    background: #10a000;
    color: #fff;
    font-weight: 600;
    padding: 5px 18px;
    border-radius: 2px;
    cursor: pointer;
}

    .qrl-button:disabled[b-neyz7p5n9v] {
        opacity: .6;
        cursor: default;
    }

/* ===================== TOOLBAR ===================== */

.qrl-toolbar[b-neyz7p5n9v] {
    display: flex;
    justify-content: flex-start;
    padding: 0 10px 8px;
}

    .qrl-toolbar input[b-neyz7p5n9v] {
        margin-left: 5px;
        width: 260px;
        height: 24px;
        border: 1px solid #78aebe;
        border-radius: 3px;
        padding: 2px 4px;
    }

/* ===================== MESSAGE ===================== */

.qrl-message[b-neyz7p5n9v] {
    margin: 0 10px 10px;
    padding: 8px 10px;
    border-radius: 3px;
}

    .qrl-message.success[b-neyz7p5n9v] {
        background: #dff0d8;
        color: #276221;
    }

    .qrl-message.error[b-neyz7p5n9v] {
        background: #f8d7da;
        color: #842029;
    }

/* ===================== GRID ===================== */

.qrl-grid-wrap[b-neyz7p5n9v] {
    overflow-x: auto;
    border: 1px solid #aaa;
    margin: 0 10px;
}

.qrl-grid[b-neyz7p5n9v] {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

    .qrl-grid th[b-neyz7p5n9v] {
        background: #0876b8;
        color: #fff;
        border: 1px solid #b5b5b5;
        padding: 4px 3px;
        text-align: center;
        vertical-align: middle;
        line-height: 1.15;
    }

    .qrl-grid td[b-neyz7p5n9v] {
        border: 1px solid #c1c1c1;
        padding: 3px;
        text-align: center;
        vertical-align: middle;
    }

    .qrl-grid tbody tr:nth-child(odd)[b-neyz7p5n9v] {
        background: #ffffff;
    }

    .qrl-grid tbody tr:nth-child(even)[b-neyz7p5n9v] {
        background: #f4f8f4;
    }

    /* Rows still awaiting a quotation are called out, as on the legacy screen. */
    .qrl-grid tbody tr.qrl-pending[b-neyz7p5n9v] {
        background: #d8f0d0;
    }

    .qrl-grid .qrl-left[b-neyz7p5n9v] {
        text-align: left;
    }

    .qrl-grid .number[b-neyz7p5n9v] {
        text-align: right;
        white-space: nowrap;
    }

    .qrl-grid .qrl-empty[b-neyz7p5n9v] {
        padding: 14px;
        color: #666;
        font-style: italic;
    }

/* ===================== LINK BUTTON ===================== */

.qrl-link[b-neyz7p5n9v] {
    background: none;
    border: none;
    padding: 0;
    color: #0645ad;
    text-decoration: underline;
    cursor: pointer;
    font-size: 11px;
}

    .qrl-link.qrl-link-pending[b-neyz7p5n9v] {
        color: #c00000;
    }

    .qrl-link:hover[b-neyz7p5n9v] {
        color: #002d80;
    }

/* ===================== FOOTER ===================== */

.qrl-footer[b-neyz7p5n9v] {
    padding: 8px 10px;
    color: #555;
}
/* /Components/Pages/Quatation/QuotationVendorDetails.razor.rz.scp.css */
.qvd-page[b-lsjodzdrsc] {
    min-width: 1200px;
    color: #333;
    font-size: 12px;
}

.qvd-title[b-lsjodzdrsc] {
    background: #11a300;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding: 5px 10px;
}

/* ===================== TOOLBAR ===================== */

.qvd-toolbar[b-lsjodzdrsc] {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 12px 10px;
}

.qvd-button[b-lsjodzdrsc] {
    border: 1px solid #057000;
    background: #10a000;
    color: #fff;
    font-weight: 600;
    padding: 5px 18px;
    border-radius: 2px;
    cursor: pointer;
}

    .qvd-button.qvd-secondary[b-lsjodzdrsc] {
        border-color: #555;
        background: #6c757d;
    }

    .qvd-button:disabled[b-lsjodzdrsc] {
        opacity: .6;
        cursor: default;
    }

/* ===================== HEADER INFO ===================== */

.qvd-header-info[b-lsjodzdrsc] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 28px;
    padding: 6px 10px 12px;
}

/* ===================== MESSAGE ===================== */

.qvd-message[b-lsjodzdrsc] {
    margin: 0 10px 10px;
    padding: 8px 10px;
    border-radius: 3px;
}

    .qvd-message.success[b-lsjodzdrsc] {
        background: #dff0d8;
        color: #276221;
    }

    .qvd-message.error[b-lsjodzdrsc] {
        background: #f8d7da;
        color: #842029;
    }

/* ===================== GRID ===================== */

.qvd-grid-wrap[b-lsjodzdrsc] {
    overflow-x: auto;
    border: 1px solid #aaa;
    margin: 0 10px;
}

.qvd-grid[b-lsjodzdrsc] {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

    .qvd-grid th[b-lsjodzdrsc] {
        background: #0876b8;
        color: #fff;
        border: 1px solid #b5b5b5;
        padding: 4px 3px;
        text-align: center;
        vertical-align: middle;
        line-height: 1.15;
        white-space: normal;
        word-break: break-word;
    }

    .qvd-grid td[b-lsjodzdrsc] {
        border: 1px solid #c1c1c1;
        padding: 3px;
        text-align: center;
        vertical-align: middle;
    }

    /* L1 — cheapest landed amount for the item. */
    .qvd-grid tbody tr.qvd-lowest[b-lsjodzdrsc] {
        background: #d8f0d0;
    }

    .qvd-grid .qvd-left[b-lsjodzdrsc] {
        text-align: left;
    }

    .qvd-grid .number[b-lsjodzdrsc] {
        text-align: right;
        white-space: nowrap;
    }

    .qvd-grid .qvd-seq[b-lsjodzdrsc] {
        font-weight: 600;
        color: #b00000;
    }

    .qvd-grid .qvd-sub[b-lsjodzdrsc] {
        color: #666;
        font-size: 10px;
    }

    .qvd-grid .qvd-empty[b-lsjodzdrsc] {
        padding: 14px;
        color: #666;
        font-style: italic;
    }

/* ===================== LINK BUTTON ===================== */

.qvd-link[b-lsjodzdrsc] {
    background: none;
    border: none;
    padding: 0;
    color: #0645ad;
    text-decoration: underline;
    cursor: pointer;
    font-size: 11px;
}

    .qvd-link:hover[b-lsjodzdrsc] {
        color: #002d80;
    }

/* Highlighted, clickable Item Name in the header. */
.qvd-itemlink[b-lsjodzdrsc] {
    background: #fff3cd;
    border: 1px solid #ffce54;
    color: #0645ad;
    font-weight: 700;
    padding: 2px 8px;
    margin-left: 4px;
    border-radius: 3px;
    text-decoration: underline;
    cursor: pointer;
    font-size: 12px;
}

    .qvd-itemlink:hover[b-lsjodzdrsc] {
        background: #ffe9a8;
        color: #002d80;
    }

/* Highlighted, clickable Vendor Name in the grid -> Page 2. */
.qvd-vendorlink[b-lsjodzdrsc] {
    background: none;
    border: none;
    padding: 0;
    color: #b00000;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
    font-size: 11px;
    text-align: left;
}

    .qvd-vendorlink:hover[b-lsjodzdrsc] {
        color: #0645ad;
    }

/* ===================== FOOTER ===================== */

.qvd-footer[b-lsjodzdrsc] {
    padding: 8px 10px;
    color: #555;
}
/* /Components/Pages/Quatation/QuotationVendorRateUpdate.razor.rz.scp.css */
.vru-page[b-xt2ci71flf] {
    min-width: 1200px;
    color: #333;
    font-size: 12px;
}

.vru-title[b-xt2ci71flf] {
    background: #11a300;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding: 5px 10px;
}

.vru-toolbar[b-xt2ci71flf] {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 12px 10px;
}

.vru-button[b-xt2ci71flf] {
    border: 1px solid #057000;
    background: #10a000;
    color: #fff;
    font-weight: 600;
    padding: 5px 18px;
    border-radius: 2px;
    cursor: pointer;
}

    .vru-button.vru-secondary[b-xt2ci71flf] {
        border-color: #555;
        background: #6c757d;
    }

    .vru-button.vru-po[b-xt2ci71flf] {
        border-color: #0a5aa8;
        background: #1274d6;
    }

    .vru-button:disabled[b-xt2ci71flf] {
        opacity: .6;
        cursor: default;
    }

.vru-header-info[b-xt2ci71flf] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 28px;
    padding: 6px 10px 12px;
}

.vru-item[b-xt2ci71flf] {
    font-weight: 700;
    color: #b00000;
}

.vru-message[b-xt2ci71flf] {
    margin: 0 10px 10px;
    padding: 8px 10px;
    border-radius: 3px;
}

    .vru-message.success[b-xt2ci71flf] {
        background: #dff0d8;
        color: #276221;
    }

    .vru-message.error[b-xt2ci71flf] {
        background: #f8d7da;
        color: #842029;
    }

.vru-loading[b-xt2ci71flf],
.vru-note[b-xt2ci71flf] {
    margin: 8px 10px;
    color: #555;
}

.vru-history-links[b-xt2ci71flf] {
    display: flex;
    gap: 12px;
    padding: 4px 10px 14px;
}

.vru-hl[b-xt2ci71flf] {
    border: 1px solid #ffce54;
    background: #fff3cd;
    color: #0645ad;
    font-weight: 600;
    padding: 5px 14px;
    border-radius: 3px;
    cursor: pointer;
}

/* ===================== DETAIL GRID ===================== */

.vru-grid-wrap[b-xt2ci71flf] {
    overflow-x: auto;
    border: 1px solid #aaa;
    margin: 0 10px;
}

.vru-grid[b-xt2ci71flf] {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

    .vru-grid th[b-xt2ci71flf] {
        background: #0876b8;
        color: #fff;
        border: 1px solid #b5b5b5;
        padding: 4px 3px;
        text-align: center;
        vertical-align: middle;
        line-height: 1.15;
        white-space: normal;
        word-break: break-word;
    }

    .vru-grid td[b-xt2ci71flf] {
        border: 1px solid #c1c1c1;
        padding: 3px;
        text-align: center;
        vertical-align: middle;
    }

    .vru-grid tbody tr.vru-lowest[b-xt2ci71flf] {
        background: #d8f0d0;
    }

    .vru-grid tbody tr.vru-selected[b-xt2ci71flf] {
        outline: 2px solid #b00000;
        outline-offset: -2px;
    }

    .vru-grid .vru-left[b-xt2ci71flf] {
        text-align: left;
    }

    .vru-vendor[b-xt2ci71flf] {
        color: #b00000;
        font-weight: 700;
        text-decoration: underline;
    }

    .vru-grid .number[b-xt2ci71flf] {
        text-align: right;
        white-space: nowrap;
    }

    .vru-grid .vru-seq[b-xt2ci71flf] {
        font-weight: 600;
        color: #b00000;
    }

    .vru-grid .vru-sub[b-xt2ci71flf] {
        color: #666;
        font-size: 10px;
    }

/* Highlighted Prev PO / Total columns. */
.vru-grid th.vru-hot[b-xt2ci71flf] {
    background: #c47f00;
}

.vru-grid td.vru-hot[b-xt2ci71flf] {
    background: #fff3cd;
}

.vru-clickable[b-xt2ci71flf] {
    cursor: pointer;
}

    .vru-clickable:hover[b-xt2ci71flf] {
        background: #ffe9a8;
    }

.vru-hotlink[b-xt2ci71flf] {
    color: #0645ad;
    font-weight: 700;
    text-decoration: underline;
}

/* Editable rate cell. */
.vru-editcell[b-xt2ci71flf] {
    background: #fffbe6;
}

.vru-rate-input[b-xt2ci71flf] {
    width: 90px;
    text-align: right;
    border: 1px solid #ffce54;
    padding: 3px 4px;
    font-size: 11px;
}

/* ===================== POPUP ===================== */

.vru-overlay[b-xt2ci71flf] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.vru-modal[b-xt2ci71flf] {
    background: #fff;
    width: 720px;
    max-width: 92vw;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    border-radius: 4px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .3);
}

.vru-modal-head[b-xt2ci71flf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #0876b8;
    color: #fff;
    font-weight: 600;
    padding: 8px 12px;
    border-radius: 4px 4px 0 0;
}

.vru-close[b-xt2ci71flf] {
    background: none;
    border: none;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.vru-modal-body[b-xt2ci71flf] {
    overflow-y: auto;
    padding: 10px 12px;
}

.vru-pop-grid[b-xt2ci71flf] {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

    .vru-pop-grid th[b-xt2ci71flf] {
        background: #eef4f8;
        border: 1px solid #cbd6de;
        padding: 5px 6px;
        text-align: center;
        position: sticky;
        top: 0;
    }

    .vru-pop-grid td[b-xt2ci71flf] {
        border: 1px solid #d8dee3;
        padding: 4px 6px;
        text-align: center;
    }

    .vru-pop-grid .vru-left[b-xt2ci71flf] {
        text-align: left;
    }

    .vru-pop-grid .number[b-xt2ci71flf] {
        text-align: right;
        white-space: nowrap;
    }

.vru-empty[b-xt2ci71flf] {
    padding: 14px;
    color: #666;
    font-style: italic;
    text-align: center;
}
/* /Components/Pages/Shared/Export/ColumnSelectionDialog.razor.rz.scp.css */
.csd-body[b-2fxp8q3woj] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 420px;
}

.csd-title[b-2fxp8q3woj] {
    font-weight: 650;
    font-size: 13.5px;
    color: var(--erp-text-secondary, #475569);
}

.csd-toolbar[b-2fxp8q3woj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.csd-toolbar-actions[b-2fxp8q3woj] {
    display: flex;
    gap: 6px;
}

.csd-column-list[b-2fxp8q3woj] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 16px;
    max-height: 260px;
    overflow-y: auto;
    padding: 8px;
    border: 1px solid var(--erp-border, #e2e8f0);
    border-radius: 6px;
    background: var(--erp-surface, #ffffff);
}

.csd-column-row[b-2fxp8q3woj] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    cursor: pointer;
}

.csd-empty[b-2fxp8q3woj] {
    grid-column: 1 / -1;
    color: var(--erp-text-muted, #94a3b8);
    font-size: 12px;
    padding: 8px 0;
    text-align: center;
}

.csd-remember[b-2fxp8q3woj] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
}

.csd-format[b-2fxp8q3woj] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 6px;
    border-top: 1px solid var(--erp-border, #e2e8f0);
}

.csd-format-label[b-2fxp8q3woj] {
    font-size: 12.5px;
    font-weight: 650;
    color: var(--erp-text-secondary, #475569);
}
/* /Components/Pages/Shared/FormControls/DynamicForm.razor.rz.scp.css */
.erp-dynamic-form[b-mra8ki09sb] {
    width: 100%;
    min-width: 0;
}

.erp-dynamic-form-grid[b-mra8ki09sb] {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: var(--erp-space-3, 12px) var(--erp-space-4, 16px);
    padding: var(--erp-space-2, 8px) 0;
}

.erp-dynamic-field[b-mra8ki09sb] {
    min-width: 0;
}

.erp-dynamic-field[b-mra8ki09sb]  fluent-text-field,
.erp-dynamic-field[b-mra8ki09sb]  fluent-number-field,
.erp-dynamic-field[b-mra8ki09sb]  fluent-text-area,
.erp-dynamic-field[b-mra8ki09sb]  fluent-select,
.erp-dynamic-field[b-mra8ki09sb]  fluent-dropdown,
.erp-dynamic-field[b-mra8ki09sb]  fluent-date-picker {
    width: 100%;
}

.erp-dynamic-field-textarea[b-mra8ki09sb],
.erp-dynamic-field-radio[b-mra8ki09sb],
.erp-dynamic-field-checkbox[b-mra8ki09sb],
.erp-dynamic-form-error[b-mra8ki09sb] {
    grid-column: 1 / -1;
}

.erp-dynamic-form-error[b-mra8ki09sb] {
    display: block;
    padding: 8px 10px;
    color: var(--erp-danger, #b42318);
    background: var(--erp-danger-soft, #fef3f2);
    border: 1px solid var(--erp-danger-border, #fecdca);
    border-radius: var(--erp-radius-sm, 4px);
}

@media (max-width: 680px) {
    .erp-dynamic-form-grid[b-mra8ki09sb] {
        grid-template-columns: 1fr;
    }

    .erp-dynamic-field-textarea[b-mra8ki09sb],
    .erp-dynamic-field-radio[b-mra8ki09sb],
    .erp-dynamic-field-checkbox[b-mra8ki09sb],
    .erp-dynamic-form-error[b-mra8ki09sb] {
        grid-column: auto;
    }
}
/* /Components/Pages/Shared/GenericMultiPopup.razor.rz.scp.css */
.gmp-root[b-hm9zgm2mpd] {
    position: relative;
    font-family: Segoe UI, sans-serif;
}

.gmp-label[b-hm9zgm2mpd] {
    display: block;
    font-size: 12px;
    margin-bottom: 4px;
}

.gmp-search[b-hm9zgm2mpd] {
    display: flex;
    border: 1px solid #c8c6c4;
    border-radius: 4px;
    overflow: hidden;
}

.gmp-input[b-hm9zgm2mpd] {
    flex: 1;
    border: none;
    outline: none;
    padding: 6px;
    font-size: 13px;
}

.gmp-btn[b-hm9zgm2mpd] {
    width: 32px;
    border: none;
    background: white;
    cursor: pointer;
}

.gmp-popup[b-hm9zgm2mpd] {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 2px;
    width: 700px;
    background: white;
    border: 1px solid #c8c6c4;
    border-radius: 4px;
    box-shadow: 0 8px 16px rgba(0,0,0,.2);
    z-index: 9999;
}

.gmp-toolbar[b-hm9zgm2mpd] {
    display: flex;
    justify-content: space-between;
    padding: 8px;
    background: #f3f2f1;
    border-bottom: 1px solid #ddd;
}

.gmp-grid[b-hm9zgm2mpd] {
    max-height: 350px;
    overflow: auto;
}

    .gmp-grid table[b-hm9zgm2mpd] {
        width: 100%;
        border-collapse: collapse;
    }

    .gmp-grid th[b-hm9zgm2mpd] {
        position: sticky;
        top: 0;
        background: #f3f2f1;
        border-bottom: 1px solid #ddd;
        padding: 6px;
        text-align: left;
        font-size: 13px;
    }

    .gmp-grid td[b-hm9zgm2mpd] {
        padding: 6px;
        border-bottom: 1px solid #eee;
        font-size: 13px;
    }

    .gmp-grid tr:hover[b-hm9zgm2mpd] {
        background: #eaf4ff;
    }

.gmp-empty[b-hm9zgm2mpd] {
    text-align: center;
    color: gray;
    padding: 20px;
}

.gmp-footer[b-hm9zgm2mpd] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 10px;
    border-top: 1px solid #ddd;
}

.gmp-ok[b-hm9zgm2mpd] {
    background: #0078d4;
    color: white;
    border: none;
    padding: 6px 20px;
    cursor: pointer;
}

.gmp-cancel[b-hm9zgm2mpd] {
    background: white;
    border: 1px solid gray;
    padding: 6px 20px;
    cursor: pointer;
}
/* /Components/Pages/Shared/ListControls/ErpFilterPanel.razor.rz.scp.css */
.erp-filter-panel[b-g6mp7pfbye] {
    width: 100%;
    background: var(--erp-surface-subtle, #f8fbff);
    border-bottom: 1px solid var(--erp-border-soft, #e5eaf3);
}

.erp-filter-header[b-g6mp7pfbye] {
    min-height: 38px;
    padding: 6px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--erp-border-soft, #e5eaf3);
    background: var(--erp-surface, #ffffff);
}

.erp-filter-title-block[b-g6mp7pfbye] {
    min-width: 0;
}

.erp-filter-title-row[b-g6mp7pfbye] {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .erp-filter-title-row h3[b-g6mp7pfbye] {
        margin: 0;
        color: var(--erp-text, #0f172a);
        font-size: 13px;
        font-weight: 750;
    }

.erp-filter-title-block p[b-g6mp7pfbye] {
    margin: 2px 0 0 0;
    color: var(--erp-text-muted, #64748b);
    font-size: 11px;
}

.erp-filter-count[b-g6mp7pfbye] {
    display: inline-flex;
    align-items: center;
    height: 18px;
    padding: 0 7px;
    border-radius: 999px;
    background: var(--erp-info-soft, #eef6ff);
    color: var(--erp-info, #175cd3);
    border: 1px solid var(--erp-info-border, #b8dbff);
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.erp-filter-header-actions[b-g6mp7pfbye] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}

.erp-filter-body[b-g6mp7pfbye] {
    padding: 6px 10px;
    display: grid;
    grid-template-columns: 300px minmax(260px, 1fr);
    align-items: end;
    gap: 10px;
}

.erp-filter-summary[b-g6mp7pfbye] {
    min-width: 0;
}

.erp-filter-content[b-g6mp7pfbye] {
    min-width: 0;
}

@media (max-width: 1280px) {
    .erp-filter-body[b-g6mp7pfbye] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .erp-filter-header[b-g6mp7pfbye] {
        align-items: flex-start;
        flex-direction: column;
    }

    .erp-filter-header-actions[b-g6mp7pfbye] {
        width: 100%;
        justify-content: flex-start;
    }
}
/* /Components/Pages/Shared/ListControls/MasterListBase.razor.rz.scp.css */
/* =========================================================
   01. ERP Master Page Shell
   Purpose:
   - Outer page does not scroll
   - Header and toolbar stay fixed
   - Only grid rows scroll internally
   ========================================================= */

.erp-master-page[b-b6ehtwr1ht] {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    max-width: none;
    box-sizing: border-box;
    padding: 0 0 var(--erp-space-1, 4px);
    background: var(--erp-page, #f4f7fb);
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
}

/* =========================================================
   02. Top Title + Toolbar Panel
   ========================================================= */

.erp-master-panel[b-b6ehtwr1ht] {
    flex: 0 0 auto;
    min-width: 0;
    margin-bottom: 0;
    /* Must stay visible, not hidden: the Columns popover is an absolutely
       positioned child of the status row - the panel's last child - so
       overflow:hidden would clip it to invisible. */
    overflow: visible;
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #dce6f2);
    border-bottom: none;
    border-radius: 0;
}

/* --- Breadcrumb header row + hide/show toggles --- */

.erp-master-header-row[b-b6ehtwr1ht] {
    box-sizing: border-box;
    min-height: 28px;
    padding: 1px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    background: var(--erp-surface, #ffffff);
    border-bottom: 1px solid var(--erp-nav-border, #d7e4f0);
}

.erp-master-breadcrumb[b-b6ehtwr1ht] {
    min-width: 0;
    color: var(--erp-text-muted, #64748b);
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap;
}

.erp-master-breadcrumb-sep[b-b6ehtwr1ht] {
    color: var(--erp-border-strong, #aeb7c4);
    margin: 0 2px;
}

.erp-master-breadcrumb-current[b-b6ehtwr1ht] {
    color: var(--erp-text, #172033);
    font-weight: 700;
}

.erp-master-toggle-group[b-b6ehtwr1ht] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.erp-master-toggle-btn[b-b6ehtwr1ht] {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--erp-radius-sm, 4px);
    background: transparent;
    color: var(--erp-nav-icon, #47779c);
    cursor: pointer;
}

    .erp-master-toggle-btn:hover[b-b6ehtwr1ht] {
        background: var(--erp-nav-hover, #edf5fd);
        color: var(--erp-blue-700, #086ad8);
    }

    .erp-master-toggle-btn:focus-visible[b-b6ehtwr1ht] {
        outline: 2px solid var(--erp-focus, #086ad8);
        outline-offset: -2px;
    }

    .erp-master-toggle-btn[b-b6ehtwr1ht]  .erp-master-toggle-icon {
        width: 16px;
        height: 16px;
        display: block;
    }

/* --- Inline error strip (renders only when there is a real error) --- */

.erp-master-error-strip[b-b6ehtwr1ht] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 10px;
    background: #fff1f1;
    color: var(--erp-danger, #a4262c);
    border-bottom: 1px solid #f2caca;
    font-size: 12px;
}

.erp-master-error-text[b-b6ehtwr1ht] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.erp-master-error-dismiss[b-b6ehtwr1ht] {
    flex-shrink: 0;
    border: none;
    background: transparent;
    color: inherit;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    padding: 0 2px;
}

/* --- Toolbar section --- */

.erp-master-toolbar-section[b-b6ehtwr1ht] {
    flex: 0 0 auto;
    background: var(--erp-surface, #ffffff);
    border-bottom: 1px solid var(--erp-border-soft, #e1e6ed);
}

/* --- Status / KPI / filter bar: ONE compact horizontal row --- */

.erp-master-status-row[b-b6ehtwr1ht] {
    --erp-control-height: 28px;
    --base-height-multiplier: 7;
    box-sizing: border-box;
    flex: 0 0 auto;
    /* The enclosing panel adds the final pixel of the 32px band. */
    min-height: 31px;
    padding: 1px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 10px;
    background: var(--erp-surface, #ffffff);
    border-bottom: 1px solid var(--erp-border-soft, #dfe5ec);
}

.erp-master-filter-area[b-b6ehtwr1ht] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    flex-shrink: 0;
}

.erp-master-search-field[b-b6ehtwr1ht] {
    width: 220px;
    max-width: 30vw;
    min-height: 28px;
}

    .erp-master-search-field[b-b6ehtwr1ht]  fluent-search {
        width: 100%;
        height: 28px;
        min-height: 28px;
    }

    .erp-master-search-field[b-b6ehtwr1ht]  fluent-search::part(root) {
        box-sizing: border-box;
        height: 28px;
        min-height: 28px;
    }

    .erp-master-search-field[b-b6ehtwr1ht]  fluent-search::part(control) {
        min-height: 0;
    }

.erp-master-page-size[b-b6ehtwr1ht] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    font-size: 11px;
    color: var(--erp-text-secondary, #475467);
    white-space: nowrap;
    flex-shrink: 0;
}

.erp-master-date-filter[b-b6ehtwr1ht] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

    .erp-master-date-filter .erp-filter-select[b-b6ehtwr1ht] {
        width: auto;
        min-width: 128px;
    }

    .erp-master-date-filter .erp-date-input[b-b6ehtwr1ht] {
        width: 132px;
        min-width: 132px;
    }

/* --- Columns show/hide popover --- */

.erp-master-columns-filter[b-b6ehtwr1ht] {
    position: relative;
    flex-shrink: 0;
}

.erp-columns-toggle[b-b6ehtwr1ht] {
    width: auto;
    min-width: 90px;
    cursor: pointer;
}

.erp-master-columns-menu[b-b6ehtwr1ht] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 60;
    min-width: 200px;
    max-height: 260px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px;
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border-strong, #c9d7e8);
    border-radius: var(--erp-radius-md, 6px);
    box-shadow: var(--erp-shadow-md, 0 6px 16px rgba(15, 23, 42, .12));
}

.erp-master-columns-menu-item[b-b6ehtwr1ht] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 6px;
    font-size: 12px;
    color: var(--erp-text, #0f172a);
    cursor: pointer;
    border-radius: 4px;
    white-space: nowrap;
}

    .erp-master-columns-menu-item:hover[b-b6ehtwr1ht] {
        background: var(--erp-blue-50, #f5f9ff);
    }

/* =========================================================
   03. Main Grid Card
   Purpose:
   - Filter fixed at top
   - Grid scroll in middle
   - Footer fixed at bottom
   ========================================================= */

.erp-master-grid-card[b-b6ehtwr1ht] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
    background: var(--erp-surface, #ffffff);
    border: 1px solid var(--erp-border, #dce6f2);
    border-top: none;
    border-radius: 0;
}

/* =========================================================
   05. KPI Summary Boxes (compact, inline in the status row)
   ========================================================= */

.erp-master-kpis[b-b6ehtwr1ht] {
    width: max-content;
    min-width: 320px;
    min-height: 28px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    border: 0;
    border-radius: 0;
    background: transparent;
    flex-shrink: 0;
}

    .erp-master-kpis .erp-kpi[b-b6ehtwr1ht] {
        position: relative;
        min-height: 28px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 6px;
        padding: 0 7px 0 10px;
        background: var(--erp-surface, #ffffff);
        border: 1px solid var(--erp-border-soft, #e5eaf3);
        border-radius: var(--erp-radius-sm, 4px);
        overflow: hidden;
        box-sizing: border-box;
    }

        /* colour-coded left accent bar per tile */
        .erp-master-kpis .erp-kpi[b-b6ehtwr1ht]::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 3px;
        }

    .erp-master-kpis span[b-b6ehtwr1ht] {
        display: block;
        color: var(--erp-text-muted, #64748b);
        font-size: 10px;
        line-height: 1.2;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: .3px;
        margin-bottom: 0;
        white-space: nowrap;
    }

    .erp-master-kpis strong[b-b6ehtwr1ht] {
        display: block;
        font-size: 14px;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
        line-height: 1;
    }

    .erp-kpi-total[b-b6ehtwr1ht]::before { background: #175cd3; }
    .erp-kpi-total strong[b-b6ehtwr1ht] { color: #175cd3; }

    .erp-kpi-visible[b-b6ehtwr1ht]::before { background: #0e7490; }
    .erp-kpi-visible strong[b-b6ehtwr1ht] { color: #0e7490; }

    .erp-kpi-selected[b-b6ehtwr1ht]::before { background: #b7791f; }
    .erp-kpi-selected strong[b-b6ehtwr1ht] { color: #b7791f; }

    .erp-kpi-active[b-b6ehtwr1ht]::before { background: #027a48; }
    .erp-kpi-active strong[b-b6ehtwr1ht] { color: #027a48; }

/* =========================================================
   06. Filter Controls
   ========================================================= */

.erp-filter-select[b-b6ehtwr1ht],
.erp-rows-select[b-b6ehtwr1ht] {
    width: 100%;
    height: 28px;
    min-height: 28px;
    padding: 0 8px;
    border: 1px solid var(--erp-border-strong, #c9d7e8);
    border-radius: var(--erp-radius-md, 6px);
    background: var(--erp-surface, #ffffff);
    color: var(--erp-text, #0f172a);
    font-size: 12px;
    outline: none;
    box-sizing: border-box;
}

    .erp-filter-select:focus[b-b6ehtwr1ht],
    .erp-rows-select:focus[b-b6ehtwr1ht] {
        border-color: var(--erp-focus, #0078d4);
        box-shadow: 0 0 0 1px rgba(0, 120, 212, 0.18);
    }

.erp-master-inline-actions[b-b6ehtwr1ht] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-height: 28px;
    flex-shrink: 0;
}

    .erp-master-inline-actions[b-b6ehtwr1ht]  fluent-button {
        min-width: 58px;
    }

    .erp-master-inline-actions[b-b6ehtwr1ht]  fluent-button,
    .erp-master-date-filter[b-b6ehtwr1ht]  fluent-button {
        height: 28px;
        min-height: 28px;
    }

    .erp-master-inline-actions[b-b6ehtwr1ht]  fluent-button::part(control),
    .erp-master-date-filter[b-b6ehtwr1ht]  fluent-button::part(control) {
        box-sizing: border-box;
        height: 28px;
        min-height: 28px;
        border-radius: var(--erp-radius-sm, 4px);
    }

/* =========================================================
   07. Grid Scroll Area
   Purpose:
   - This is the only vertical scroll area
   ========================================================= */

.erp-master-grid-scroll[b-b6ehtwr1ht] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow-y: auto !important;
    overflow-x: auto !important;
    position: relative;
    isolation: isolate;
    background: var(--erp-surface, #ffffff);
}

    /* =========================================================
   08. Fluent DataGrid Width / Visibility Fix
   ========================================================= */

    .erp-master-grid-scroll[b-b6ehtwr1ht]  fluent-data-grid {
        width: 100%;
        min-width: 100%;
        height: auto;
        min-height: 100%;
        overflow: visible !important;
        display: table;
    }

.erp-master-grid[b-b6ehtwr1ht] {
    font-size: 12px;
}

/* =========================================================
   09. Sticky Grid Header
   ========================================================= */

/* Fluent UI 4 renders native table headers in both grid and table modes. */
.erp-master-grid-scroll[b-b6ehtwr1ht]  .erp-master-grid thead .column-header {
    --erp-control-height: 28px;
    --base-height-multiplier: 7;
    box-sizing: border-box;
    height: 32px;
    min-height: 32px;
    padding-block: 1px;
    vertical-align: middle;
    align-content: center;
    background: var(--erp-surface, #ffffff);
    border-bottom-color: var(--erp-border-soft, #e5eaf3);
    color: var(--erp-text, #092f5d);
    font-size: 12px;
}

.erp-master-grid-scroll[b-b6ehtwr1ht]  .erp-master-grid thead .col-title {
    padding-block: 0;
    line-height: 28px;
}

.erp-master-grid-scroll[b-b6ehtwr1ht]  .erp-master-grid thead .col-sort-button,
.erp-master-grid-scroll[b-b6ehtwr1ht]  .erp-master-grid thead .col-options-button {
    height: 28px;
    min-height: 28px;
}

.erp-master-grid-scroll[b-b6ehtwr1ht]  .erp-master-grid thead .col-sort-button::part(control),
.erp-master-grid-scroll[b-b6ehtwr1ht]  .erp-master-grid thead .col-options-button::part(control) {
    box-sizing: border-box;
    height: 28px;
    min-height: 28px;
    border-radius: var(--erp-radius-sm, 4px);
}

.erp-master-grid-scroll[b-b6ehtwr1ht]  .erp-master-grid thead .resize-handle {
    top: 4px;
    bottom: 4px;
    height: auto;
}

.erp-master-grid-scroll[b-b6ehtwr1ht]  fluent-data-grid-row[row-type="header"] {
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
    background: var(--erp-surface-subtle, #f8fbff) !important;
    box-shadow: 0 1px 0 var(--erp-border, #dce6f2);
}

.erp-master-grid-scroll[b-b6ehtwr1ht]  fluent-data-grid-cell[cell-type="columnheader"] {
    position: sticky !important;
    top: 0 !important;
    z-index: 51 !important;
    background: var(--erp-surface-subtle, #f8fbff) !important;
    color: var(--erp-text, #0f172a);
    font-weight: 750;
}

.erp-master-grid-scroll[b-b6ehtwr1ht]  fluent-data-grid-row[row-type="header"] fluent-data-grid-cell {
    background: var(--erp-surface-subtle, #f8fbff) !important;
    color: var(--erp-text, #0f172a);
    font-weight: 750;
}

/* =========================================================
   10. Grid Compact Rows
   ========================================================= */

.erp-master-grid[b-b6ehtwr1ht]  fluent-data-grid-row {
    min-height: 28px;
}

.erp-master-grid[b-b6ehtwr1ht]  fluent-data-grid-cell,
.erp-master-grid[b-b6ehtwr1ht]  fluent-data-grid-column {
    min-height: 28px;
    padding-top: 2px;
    padding-bottom: 2px;
    align-items: center;
}

.erp-master-grid[b-b6ehtwr1ht]  fluent-checkbox {
    width: 15px;
    height: 15px;
}

.erp-master-grid[b-b6ehtwr1ht]  svg {
    width: 14px;
    height: 14px;
}

/* --- zebra striping + row hover for readability --- */
.erp-master-grid[b-b6ehtwr1ht]  fluent-data-grid-row:not([row-type="header"]):nth-of-type(even) {
    background: var(--erp-row-alt, #fafcff);
}

.erp-master-grid[b-b6ehtwr1ht]  fluent-data-grid-row:not([row-type="header"]):hover {
    background: var(--erp-row-hover, #eef6ff);
}

/* =========================================================
   11. Empty Grid Message
   ========================================================= */

.erp-master-empty-state[b-b6ehtwr1ht] {
    height: 100%;
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--erp-text-muted, #64748b);
    font-size: 13px;
    background: var(--erp-surface, #ffffff);
    border-top: 1px solid var(--erp-border-soft, #e5eaf3);
}

/* =========================================================
   12. Grid Footer / Pagination
   ========================================================= */

.erp-master-grid-footer[b-b6ehtwr1ht] {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 6px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--erp-border-soft, #e5eaf3);
    font-size: 11.5px;
    color: var(--erp-text-muted, #64748b);
    background: var(--erp-surface-subtle, #f8fbff);
}

.erp-master-pager-box[b-b6ehtwr1ht] {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* =========================================================
   13. Loading State
   ========================================================= */

.erp-master-loading[b-b6ehtwr1ht] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    color: var(--erp-text-muted, #64748b);
}

/* =========================================================
   14. Row Action Buttons
   ========================================================= */

.erp-row-actions[b-b6ehtwr1ht] {
    display: flex;
    align-items: center;
    gap: 1px;
}

    .erp-row-actions[b-b6ehtwr1ht]  fluent-button {
        width: 23px;
        height: 23px;
    }

/* =========================================================
   15. Badges
   ========================================================= */

.erp-badge[b-b6ehtwr1ht] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    height: 19px;
    border-radius: 999px;
    padding: 0 7px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    border: 1px solid transparent;
}

    .erp-badge.success[b-b6ehtwr1ht] {
        background: var(--erp-success-soft, #ecfdf3);
        color: var(--erp-success, #027a48);
        border-color: var(--erp-success-border, #abefc6);
    }

    .erp-badge.info[b-b6ehtwr1ht] {
        background: var(--erp-info-soft, #eef6ff);
        color: var(--erp-info, #175cd3);
        border-color: var(--erp-info-border, #b8dbff);
    }

    .erp-badge.danger[b-b6ehtwr1ht] {
        background: var(--erp-danger-soft, #fef3f2);
        color: var(--erp-danger, #b42318);
        border-color: var(--erp-danger-border, #fecdca);
    }

    .erp-badge.neutral[b-b6ehtwr1ht] {
        background: var(--erp-surface-muted, #eef5fb);
        color: var(--erp-text-secondary, #344054);
        border-color: var(--erp-border, #dce6f2);
    }

/* =========================================================
   16. Scrollbar
   ========================================================= */

.erp-master-grid-scroll[b-b6ehtwr1ht]::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.erp-master-grid-scroll[b-b6ehtwr1ht]::-webkit-scrollbar-thumb {
    background: var(--erp-border-strong, #c9d7e8);
    border-radius: 10px;
}

.erp-master-grid-scroll[b-b6ehtwr1ht]::-webkit-scrollbar-track {
    background: var(--erp-surface-muted, #eef5fb);
}

/* =========================================================
   17. Responsive
   ========================================================= */

/* Desktop stays on a single row; only narrow widths are allowed to wrap. */
@media (max-width: 1366px) {
    .erp-master-search-field[b-b6ehtwr1ht] {
        width: 180px;
    }
}

@media (max-width: 1280px) {
    .erp-master-status-row[b-b6ehtwr1ht] {
        flex-wrap: wrap;
    }

    .erp-master-filter-area[b-b6ehtwr1ht] {
        flex-wrap: wrap;
    }

    .erp-rows-select[b-b6ehtwr1ht] {
        max-width: 160px;
    }

    .erp-master-inline-actions[b-b6ehtwr1ht] {
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .erp-master-page[b-b6ehtwr1ht] {
        height: auto;
        min-height: calc(100vh - 44px);
        padding: 0 0 7px;
        overflow: auto !important;
    }

    .erp-master-header-row[b-b6ehtwr1ht] {
        flex-wrap: wrap;
    }

    .erp-master-breadcrumb[b-b6ehtwr1ht] {
        white-space: normal;
    }

    .erp-master-kpis[b-b6ehtwr1ht] {
        width: 100%;
        min-width: 0;
        grid-template-columns: repeat(2, 1fr);
    }

    .erp-master-search-field[b-b6ehtwr1ht] {
        width: 100%;
        max-width: none;
    }

    .erp-master-grid-card[b-b6ehtwr1ht] {
        min-height: 420px;
    }

    .erp-master-grid-scroll[b-b6ehtwr1ht] {
        min-height: 280px;
    }

    .erp-master-grid-footer[b-b6ehtwr1ht] {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
    }
}

/* Fluent UI V5: the search box is now fluent-text-input inside a fluent-field (the
   fluent-search rules above no longer match) and fluent-button has a 32px minimum.
   Keep the V4 28px controls so the status row stays one 32px band. */
.erp-master-search-field[b-b6ehtwr1ht]  fluent-field {
    display: grid;
    width: 100%;
    justify-items: stretch;
}

.erp-master-search-field[b-b6ehtwr1ht]  fluent-text-input {
    width: 100%;
    max-width: none;
}

.erp-master-search-field[b-b6ehtwr1ht]  fluent-text-input::part(root) {
    height: 28px;
}

.erp-master-search-field[b-b6ehtwr1ht]  fluent-text-input {
    height: 28px;
}

/* One 32px band (31px + 1px line) on wide screens, so it lines up with the side-menu
   Favorites row; below 1367px the row wraps and grows as needed. */
@media (min-width: 1367px) {
    .erp-master-status-row[b-b6ehtwr1ht] {
        height: 31px;
    }
}

.erp-master-status-row[b-b6ehtwr1ht]  fluent-button {
    height: 28px;
    min-height: 28px;
}
/* /Components/Pages/Sundry/FormControls/SundryMaster_Form.razor.rz.scp.css */
/* ==========================================================================
   Sundry Master form (dialog) - visual layer only.
   Uses the --erp-* tokens from wwwroot/css/erp-theme.css.
   ========================================================================== */

/* ---------- Header ---------- */

.sdy-header[b-up40m90n1j] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
}

.sdy-header-icon[b-up40m90n1j] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: var(--erp-radius-lg);
    background: var(--erp-blue-75);
    border: 1px solid var(--erp-blue-100);
}

    .sdy-header-icon.sdy-mode-view[b-up40m90n1j] {
        background: var(--erp-surface-muted);
        border-color: var(--erp-border);
    }

.sdy-header-text[b-up40m90n1j] {
    flex: 1 1 auto;
    min-width: 0;
}

.sdy-header-title-row[b-up40m90n1j] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.sdy-header-sub[b-up40m90n1j] {
    margin-top: 2px;
    color: var(--erp-text-muted);
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sdy-unsaved[b-up40m90n1j] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: var(--erp-radius-pill);
    background: var(--erp-warning-soft);
    border: 1px solid var(--erp-warning-border);
    color: var(--erp-warning);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.sdy-unsaved-dot[b-up40m90n1j] {
    color: var(--erp-danger);
    font-size: 10px;
    line-height: 1;
}

/* ---------- Loading ---------- */

.sdy-loading[b-up40m90n1j] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 240px;
    color: var(--erp-text-muted);
    font-size: 13px;
}

/* ---------- Body & cards ---------- */

.sdy-body[b-up40m90n1j] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 2px 2px 4px;
}

.sdy-card[b-up40m90n1j] {
    min-width: 0;
    background: var(--erp-surface);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    box-shadow: var(--erp-shadow-sm);
    /* visible (not hidden): Fluent select drop-downs must be able to open
       past the card edge without being clipped */
    overflow: visible;
}

    .sdy-card > .sdy-card-head:first-child[b-up40m90n1j] {
        border-radius: var(--erp-radius-lg) var(--erp-radius-lg) 0 0;
    }

    .sdy-card > .sdy-collapsible:not(.open)[b-up40m90n1j] {
        border-radius: var(--erp-radius-lg);
    }

.sdy-card-head[b-up40m90n1j] {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 46px;
    padding: 8px 14px;
    background: linear-gradient(180deg, var(--erp-blue-50), var(--erp-surface));
    border: 0;
    border-bottom: 1px solid var(--erp-border-soft);
    color: var(--erp-text);
    font-family: inherit;
    text-align: left;
}

.sdy-card-icon[b-up40m90n1j] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface);
    border: 1px solid var(--erp-blue-100);
}

.sdy-card-heading[b-up40m90n1j] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}

.sdy-card-title[b-up40m90n1j] {
    color: var(--erp-navy-900);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.25;
}

.sdy-card-sub[b-up40m90n1j] {
    color: var(--erp-text-muted);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Collapsible header (Printing / Advanced) */

.sdy-collapsible[b-up40m90n1j] {
    cursor: pointer;
    user-select: none;
    transition: background-color .15s ease;
}

    .sdy-collapsible:not(.open)[b-up40m90n1j] {
        border-bottom-color: transparent;
    }

    .sdy-collapsible:hover[b-up40m90n1j] {
        background: var(--erp-row-hover);
    }

    .sdy-collapsible:focus-visible[b-up40m90n1j] {
        outline: 2px solid var(--erp-focus);
        outline-offset: -2px;
    }

.sdy-toggle[b-up40m90n1j] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--erp-blue-700);
    font-size: 12px;
    font-weight: 600;
}

/* ---------- Field grid ---------- */

.sdy-grid[b-up40m90n1j] {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 18px;
    padding: 14px 16px 16px;
}

.sdy-span-2[b-up40m90n1j] {
    grid-column: span 2;
}

.sdy-span-3[b-up40m90n1j] {
    grid-column: 1 / -1;
}

.sdy-field[b-up40m90n1j] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.sdy-label[b-up40m90n1j] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--erp-text-secondary);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
}

.sdy-label-inline[b-up40m90n1j] {
    margin-right: 6px;
}

.sdy-req[b-up40m90n1j] {
    color: var(--erp-danger);
    font-weight: 700;
}

.sdy-optional[b-up40m90n1j] {
    color: var(--erp-text-muted);
    font-weight: 400;
}

.sdy-label-tag[b-up40m90n1j] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-left: 6px;
    padding: 0 6px;
    border-radius: var(--erp-radius-pill);
    background: var(--erp-surface-muted);
    border: 1px solid var(--erp-border);
    color: var(--erp-text-muted);
    font-size: 10px;
    font-weight: 600;
}

.sdy-hint[b-up40m90n1j] {
    color: var(--erp-text-muted);
    font-size: 11px;
    line-height: 1.3;
}

.sdy-field[b-up40m90n1j]  fluent-text-field,
.sdy-field[b-up40m90n1j]  fluent-number-field,
.sdy-field[b-up40m90n1j]  fluent-select {
    width: 100%;
    min-width: 0;
}

/* Grouped checkboxes */

.sdy-options[b-up40m90n1j] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 24px;
    min-height: var(--erp-control-height);
    padding: 6px 12px;
    border: 1px solid var(--erp-border-soft);
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface-subtle);
}

/* Info note inside Tax Mapping */

.sdy-note[b-up40m90n1j] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    align-self: end;
    padding: 8px 12px;
    border: 1px solid var(--erp-info-border);
    border-radius: var(--erp-radius-md);
    background: var(--erp-info-soft);
    color: var(--erp-text-secondary);
    font-size: 11.5px;
    line-height: 1.45;
}

    .sdy-note b[b-up40m90n1j] {
        color: var(--erp-text);
        font-weight: 650;
    }

/* Live calculation summary in the Calculation header */

.sdy-rule[b-up40m90n1j] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px 4px 4px;
    border: 1px solid var(--erp-blue-100);
    border-radius: var(--erp-radius-pill);
    background: var(--erp-surface);
    color: var(--erp-text-secondary);
    font-size: 12px;
    white-space: nowrap;
}

    .sdy-rule b[b-up40m90n1j] {
        color: var(--erp-text);
        font-weight: 700;
    }

.sdy-rule-sign[b-up40m90n1j] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

    .sdy-rule-sign.add[b-up40m90n1j] {
        color: var(--erp-success);
        background: var(--erp-success-soft);
        border: 1px solid var(--erp-success-border);
    }

    .sdy-rule-sign.less[b-up40m90n1j] {
        color: var(--erp-danger);
        background: var(--erp-danger-soft);
        border: 1px solid var(--erp-danger-border);
    }

.sdy-rule-extra[b-up40m90n1j] {
    color: var(--erp-text-muted);
}

/* ---------- Status + audit strip ---------- */

.sdy-statusbar[b-up40m90n1j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 20px;
    padding: 8px 14px;
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    background: var(--erp-surface-subtle);
}

.sdy-status[b-up40m90n1j] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sdy-audit[b-up40m90n1j] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    color: var(--erp-text-secondary);
    font-size: 11.5px;
}

.sdy-audit-key[b-up40m90n1j] {
    color: var(--erp-text-muted);
    margin-right: 2px;
}

.sdy-audit-sep[b-up40m90n1j] {
    width: 1px;
    height: 14px;
    background: var(--erp-border-strong);
}

/* ==========================================================================
   Scroll region
   The dialog sizes to its content (Height = "auto" in the list page) and the
   body scrolls once the form is taller than the window; header and footer
   stay pinned.
   ========================================================================== */

.sdy-scroll[b-up40m90n1j] {
    max-height: calc(100vh - 210px);
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: var(--erp-border-strong) transparent;
    padding-right: 6px;
}

    .sdy-scroll[b-up40m90n1j]::-webkit-scrollbar {
        width: 8px;
    }

    .sdy-scroll[b-up40m90n1j]::-webkit-scrollbar-thumb {
        background: var(--erp-border-strong);
        border-radius: var(--erp-radius-pill);
    }

    .sdy-scroll[b-up40m90n1j]::-webkit-scrollbar-track {
        background: transparent;
    }

    .sdy-scroll > .sdy-card[b-up40m90n1j] {
        scroll-margin-top: 54px;
    }

/* Sticky section shortcuts */

.sdy-sectionnav[b-up40m90n1j] {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: -2px -2px 0;
    padding: 6px 8px;
    background: var(--erp-surface);
    border: 1px solid var(--erp-border-soft);
    border-radius: var(--erp-radius-pill);
    /* first shadow paints a solid band so scrolled content does not peek around the bar */
    box-shadow: 0 -6px 0 6px var(--erp-surface), 0 4px 12px rgba(7, 61, 115, .08);
}

.sdy-navlink[b-up40m90n1j] {
    padding: 4px 12px;
    border: 1px solid transparent;
    border-radius: var(--erp-radius-pill);
    background: transparent;
    color: var(--erp-text-secondary);
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease;
}

    .sdy-navlink:hover[b-up40m90n1j] {
        background: var(--erp-blue-75);
        border-color: var(--erp-blue-100);
        color: var(--erp-blue-700);
    }

    .sdy-navlink:focus-visible[b-up40m90n1j] {
        outline: 2px solid var(--erp-focus);
        outline-offset: 1px;
    }

.sdy-nav-legend[b-up40m90n1j] {
    margin-left: auto;
    padding-right: 6px;
    color: var(--erp-text-muted);
    font-size: 11px;
}

/* ---------- Responsive ---------- */

@media (max-width: 900px) {
    .sdy-grid[b-up40m90n1j] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sdy-span-2[b-up40m90n1j],
    .sdy-span-3[b-up40m90n1j] {
        grid-column: 1 / -1;
    }

    .sdy-rule[b-up40m90n1j] {
        display: none;
    }
}

@media (max-width: 600px) {
    .sdy-grid[b-up40m90n1j] {
        grid-template-columns: 1fr;
    }

    .sdy-unsaved[b-up40m90n1j] {
        display: none;
    }
}
/* /Components/Pages/Sundry/FormControls/TaxClass_Form.razor.rz.scp.css */
/* ==========================================================================
   Tax Class form (dialog) - same visual language as SundryMaster_Form - visual layer only.
   Uses the --erp-* tokens from wwwroot/css/erp-theme.css.
   ========================================================================== */

/* ---------- Header ---------- */

.sdy-header[b-03a5ne72op] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
}

.sdy-header-icon[b-03a5ne72op] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: var(--erp-radius-lg);
    background: var(--erp-blue-75);
    border: 1px solid var(--erp-blue-100);
}

    .sdy-header-icon.sdy-mode-view[b-03a5ne72op] {
        background: var(--erp-surface-muted);
        border-color: var(--erp-border);
    }

.sdy-header-text[b-03a5ne72op] {
    flex: 1 1 auto;
    min-width: 0;
}

.sdy-header-title-row[b-03a5ne72op] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.sdy-header-sub[b-03a5ne72op] {
    margin-top: 2px;
    color: var(--erp-text-muted);
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sdy-unsaved[b-03a5ne72op] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: var(--erp-radius-pill);
    background: var(--erp-warning-soft);
    border: 1px solid var(--erp-warning-border);
    color: var(--erp-warning);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.sdy-unsaved-dot[b-03a5ne72op] {
    color: var(--erp-danger);
    font-size: 10px;
    line-height: 1;
}

/* ---------- Loading ---------- */

.sdy-loading[b-03a5ne72op] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 240px;
    color: var(--erp-text-muted);
    font-size: 13px;
}

/* ---------- Body & cards ---------- */

.sdy-body[b-03a5ne72op] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 2px 2px 4px;
}

.sdy-card[b-03a5ne72op] {
    min-width: 0;
    background: var(--erp-surface);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    box-shadow: var(--erp-shadow-sm);
    /* visible (not hidden): Fluent select drop-downs must be able to open
       past the card edge without being clipped */
    overflow: visible;
}

    .sdy-card > .sdy-card-head:first-child[b-03a5ne72op] {
        border-radius: var(--erp-radius-lg) var(--erp-radius-lg) 0 0;
    }

    .sdy-card > .sdy-collapsible:not(.open)[b-03a5ne72op] {
        border-radius: var(--erp-radius-lg);
    }

.sdy-card-head[b-03a5ne72op] {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 46px;
    padding: 8px 14px;
    background: linear-gradient(180deg, var(--erp-blue-50), var(--erp-surface));
    border: 0;
    border-bottom: 1px solid var(--erp-border-soft);
    color: var(--erp-text);
    font-family: inherit;
    text-align: left;
}

.sdy-card-icon[b-03a5ne72op] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface);
    border: 1px solid var(--erp-blue-100);
}

.sdy-card-heading[b-03a5ne72op] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}

.sdy-card-title[b-03a5ne72op] {
    color: var(--erp-navy-900);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.25;
}

.sdy-card-sub[b-03a5ne72op] {
    color: var(--erp-text-muted);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Collapsible header (Printing / Advanced) */

.sdy-collapsible[b-03a5ne72op] {
    cursor: pointer;
    user-select: none;
    transition: background-color .15s ease;
}

    .sdy-collapsible:not(.open)[b-03a5ne72op] {
        border-bottom-color: transparent;
    }

    .sdy-collapsible:hover[b-03a5ne72op] {
        background: var(--erp-row-hover);
    }

    .sdy-collapsible:focus-visible[b-03a5ne72op] {
        outline: 2px solid var(--erp-focus);
        outline-offset: -2px;
    }

.sdy-toggle[b-03a5ne72op] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--erp-blue-700);
    font-size: 12px;
    font-weight: 600;
}

/* ---------- Field grid ---------- */

.sdy-grid[b-03a5ne72op] {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 18px;
    padding: 14px 16px 16px;
}

.sdy-span-2[b-03a5ne72op] {
    grid-column: span 2;
}

.sdy-span-3[b-03a5ne72op] {
    grid-column: 1 / -1;
}

.sdy-field[b-03a5ne72op] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.sdy-label[b-03a5ne72op] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--erp-text-secondary);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
}

.sdy-label-inline[b-03a5ne72op] {
    margin-right: 6px;
}

.sdy-req[b-03a5ne72op] {
    color: var(--erp-danger);
    font-weight: 700;
}

.sdy-optional[b-03a5ne72op] {
    color: var(--erp-text-muted);
    font-weight: 400;
}

.sdy-label-tag[b-03a5ne72op] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-left: 6px;
    padding: 0 6px;
    border-radius: var(--erp-radius-pill);
    background: var(--erp-surface-muted);
    border: 1px solid var(--erp-border);
    color: var(--erp-text-muted);
    font-size: 10px;
    font-weight: 600;
}

.sdy-hint[b-03a5ne72op] {
    color: var(--erp-text-muted);
    font-size: 11px;
    line-height: 1.3;
}

.sdy-field[b-03a5ne72op]  fluent-text-field,
.sdy-field[b-03a5ne72op]  fluent-number-field,
.sdy-field[b-03a5ne72op]  fluent-select {
    width: 100%;
    min-width: 0;
}

/* Grouped checkboxes */

.sdy-options[b-03a5ne72op] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 24px;
    min-height: var(--erp-control-height);
    padding: 6px 12px;
    border: 1px solid var(--erp-border-soft);
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface-subtle);
}

/* Info note inside Tax Mapping */

.sdy-note[b-03a5ne72op] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    align-self: end;
    padding: 8px 12px;
    border: 1px solid var(--erp-info-border);
    border-radius: var(--erp-radius-md);
    background: var(--erp-info-soft);
    color: var(--erp-text-secondary);
    font-size: 11.5px;
    line-height: 1.45;
}

    .sdy-note b[b-03a5ne72op] {
        color: var(--erp-text);
        font-weight: 650;
    }

/* Live calculation summary in the Calculation header */

.sdy-rule[b-03a5ne72op] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px 4px 4px;
    border: 1px solid var(--erp-blue-100);
    border-radius: var(--erp-radius-pill);
    background: var(--erp-surface);
    color: var(--erp-text-secondary);
    font-size: 12px;
    white-space: nowrap;
}

    .sdy-rule b[b-03a5ne72op] {
        color: var(--erp-text);
        font-weight: 700;
    }

.sdy-rule-sign[b-03a5ne72op] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

    .sdy-rule-sign.add[b-03a5ne72op] {
        color: var(--erp-success);
        background: var(--erp-success-soft);
        border: 1px solid var(--erp-success-border);
    }

    .sdy-rule-sign.less[b-03a5ne72op] {
        color: var(--erp-danger);
        background: var(--erp-danger-soft);
        border: 1px solid var(--erp-danger-border);
    }

.sdy-rule-extra[b-03a5ne72op] {
    color: var(--erp-text-muted);
}

/* ---------- Status + audit strip ---------- */

.sdy-statusbar[b-03a5ne72op] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 20px;
    padding: 8px 14px;
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    background: var(--erp-surface-subtle);
}

.sdy-status[b-03a5ne72op] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sdy-audit[b-03a5ne72op] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    color: var(--erp-text-secondary);
    font-size: 11.5px;
}

.sdy-audit-key[b-03a5ne72op] {
    color: var(--erp-text-muted);
    margin-right: 2px;
}

.sdy-audit-sep[b-03a5ne72op] {
    width: 1px;
    height: 14px;
    background: var(--erp-border-strong);
}

/* ---------- Responsive ---------- */

@media (max-width: 900px) {
    .sdy-grid[b-03a5ne72op] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sdy-span-2[b-03a5ne72op],
    .sdy-span-3[b-03a5ne72op] {
        grid-column: 1 / -1;
    }

    .sdy-rule[b-03a5ne72op] {
        display: none;
    }
}

@media (max-width: 600px) {
    .sdy-grid[b-03a5ne72op] {
        grid-template-columns: 1fr;
    }

    .sdy-unsaved[b-03a5ne72op] {
        display: none;
    }
}

/* ==========================================================================
   Tax Class specific
   ========================================================================== */

/* Tabs */

.sdy-tabs[b-03a5ne72op]  fluent-tabs {
    width: 100%;
}

.sdy-tabs[b-03a5ne72op]  fluent-tab {
    font-weight: 600;
}

.sdy-tabs .sdy-body[b-03a5ne72op] {
    padding-top: 12px;
}

/* Tax Rules summary pill */

.sdy-rule[b-03a5ne72op] {
    padding: 4px 12px 4px 4px;
}

.sdy-rule-rate[b-03a5ne72op] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: var(--erp-radius-pill);
    background: var(--erp-blue-75);
    border: 1px solid var(--erp-blue-100);
    color: var(--erp-blue-800);
    font-weight: 700;
}

.sdy-rule-tag[b-03a5ne72op] {
    padding: 1px 7px;
    border-radius: var(--erp-radius-pill);
    background: var(--erp-warning-soft);
    border: 1px solid var(--erp-warning-border);
    color: var(--erp-warning);
    font-size: 10px;
    font-weight: 700;
}

/* Reverse charge switch row */

.sdy-switch-row[b-03a5ne72op] {
    gap: 8px 18px;
}

    .sdy-switch-row.on[b-03a5ne72op] {
        background: var(--erp-warning-soft);
        border-color: var(--erp-warning-border);
    }

/* Empty state (config tab before first save) */

.sdy-empty[b-03a5ne72op] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 36px 20px;
    border: 1px dashed var(--erp-border-strong);
    border-radius: var(--erp-radius-lg);
    background: var(--erp-surface-subtle);
    text-align: center;
}

.sdy-empty-icon[b-03a5ne72op] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 4px;
    border-radius: 50%;
    background: var(--erp-blue-75);
    border: 1px solid var(--erp-blue-100);
}

.sdy-empty-title[b-03a5ne72op] {
    color: var(--erp-text);
    font-size: 14px;
    font-weight: 700;
}

.sdy-empty-text[b-03a5ne72op] {
    max-width: 460px;
    color: var(--erp-text-muted);
    font-size: 12px;
    line-height: 1.45;
}

/* Config toolbar */

.sdy-config-toolbar[b-03a5ne72op] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sdy-config-toolbar[b-03a5ne72op]  fluent-button {
    flex: 0 0 auto;
    white-space: nowrap;
}

.sdy-config-summary[b-03a5ne72op] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.sdy-config-help[b-03a5ne72op] {
    flex: 1 1 280px;
    margin-left: 4px;
}

.sdy-chip[b-03a5ne72op] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: var(--erp-radius-pill);
    background: var(--erp-surface);
    border: 1px solid var(--erp-border);
    color: var(--erp-text);
    font-size: 12px;
    white-space: nowrap;
}

.sdy-chip-key[b-03a5ne72op] {
    color: var(--erp-text-muted);
}

.sdy-alert[b-03a5ne72op] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: var(--erp-radius-md);
    font-size: 12px;
}

    .sdy-alert.warning[b-03a5ne72op] {
        color: var(--erp-warning);
        background: var(--erp-warning-soft);
        border: 1px solid var(--erp-warning-border);
    }

/* Config groups */

.sdy-group[b-03a5ne72op] {
    overflow: clip;
}

.sdy-group.mismatch[b-03a5ne72op] {
    border-color: var(--erp-danger-border);
}

.sdy-group-head[b-03a5ne72op] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 4px 8px 4px 14px;
    background: linear-gradient(180deg, var(--erp-blue-50), var(--erp-surface));
    border-bottom: 1px solid var(--erp-border-soft);
}

.sdy-spacer[b-03a5ne72op] {
    flex: 1 1 auto;
}

.sdy-total[b-03a5ne72op] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: var(--erp-radius-pill);
    background: var(--erp-success-soft);
    border: 1px solid var(--erp-success-border);
    color: var(--erp-success);
    font-size: 12px;
    white-space: nowrap;
}

    .sdy-total.mismatch[b-03a5ne72op] {
        background: var(--erp-danger-soft);
        border-color: var(--erp-danger-border);
        color: var(--erp-danger);
    }

.sdy-group-warning[b-03a5ne72op] {
    padding: 6px 14px;
    background: var(--erp-danger-soft);
    border-bottom: 1px solid var(--erp-danger-border);
    color: var(--erp-danger);
    font-size: 11.5px;
}

.sdy-group-empty[b-03a5ne72op] {
    margin: 10px 14px;
    padding: 10px;
    border: 1px dashed var(--erp-border-strong);
    border-radius: var(--erp-radius-md);
    color: var(--erp-text-muted);
    font-size: 12px;
    text-align: center;
}

/* Config table */

.sdy-table[b-03a5ne72op] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

    .sdy-table th[b-03a5ne72op] {
        padding: 7px 10px;
        background: var(--erp-surface-subtle);
        border-bottom: 1px solid var(--erp-border);
        color: var(--erp-text-muted);
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .02em;
        text-align: left;
        text-transform: uppercase;
    }

    .sdy-table td[b-03a5ne72op] {
        height: 34px;
        padding: 3px 10px;
        border-bottom: 1px solid var(--erp-border-soft);
        color: var(--erp-text);
    }

    .sdy-table tbody tr:last-child td[b-03a5ne72op] {
        border-bottom: none;
    }

    .sdy-table tbody tr:nth-child(even) td[b-03a5ne72op] {
        background: var(--erp-row-alt);
    }

    .sdy-table tbody tr:hover td[b-03a5ne72op] {
        background: var(--erp-row-hover);
    }

    .sdy-table tr.inactive td[b-03a5ne72op] {
        color: var(--erp-text-muted);
    }

    .sdy-table .num[b-03a5ne72op] {
        text-align: right;
        font-variant-numeric: tabular-nums;
    }

    .sdy-table td.num[b-03a5ne72op] {
        font-weight: 600;
    }

    .sdy-table .muted[b-03a5ne72op] {
        color: var(--erp-text-muted);
    }

    .sdy-table .strong[b-03a5ne72op] {
        font-weight: 600;
    }

    .sdy-table .actions[b-03a5ne72op] {
        text-align: right;
        white-space: nowrap;
    }

.sdy-comp[b-03a5ne72op] {
    display: inline-block;
    padding: 1px 8px;
    border-radius: var(--erp-radius-pill);
    background: var(--erp-blue-75);
    border: 1px solid var(--erp-blue-100);
    color: var(--erp-blue-800);
    font-size: 10.5px;
    font-weight: 700;
}

@media (max-width: 900px) {
    .sdy-config-toolbar[b-03a5ne72op] {
        flex-direction: column;
        align-items: stretch;
    }
}

/* Phase 4 (11-Oct-2026) - Accounts tab: Purchase account per tax mode */
.sdy-plain-select[b-03a5ne72op] {
    width: 100%;
    max-width: 420px;
    min-height: 32px;
    padding: 4px 8px;
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-sm);
    background: var(--erp-surface);
    color: var(--erp-text);
    font: inherit;
    font-size: 13px;
}

    .sdy-plain-select:focus[b-03a5ne72op] {
        outline: 2px solid var(--erp-focus);
        outline-offset: 1px;
    }

    .sdy-plain-select:disabled[b-03a5ne72op] {
        background: var(--erp-surface-subtle);
        color: var(--erp-text-secondary);
    }
/* /Components/Pages/Sundry/FormControls/TaxConfiguration_Form.razor.rz.scp.css */
.sundry-readonly[b-rkh90hqov5] {
    min-height: 32px;
    display: flex;
    align-items: center;
    margin-top: 4px;
    padding: 0 10px;
    color: var(--erp-text);
    font-size: 12px;
    font-weight: 600;
    background: var(--erp-surface-muted);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-sm);
}
/* /Components/Pages/Sundry/FormControls/TaxMaster_Form.razor.rz.scp.css */
/* ==========================================================================
   Tax Master form (dialog) - same visual language as SundryMaster_Form / TaxClass_Form - visual layer only.
   Uses the --erp-* tokens from wwwroot/css/erp-theme.css.
   ========================================================================== */

/* ---------- Header ---------- */

.sdy-header[b-ttj3optqom] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
}

.sdy-header-icon[b-ttj3optqom] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: var(--erp-radius-lg);
    background: var(--erp-blue-75);
    border: 1px solid var(--erp-blue-100);
}

    .sdy-header-icon.sdy-mode-view[b-ttj3optqom] {
        background: var(--erp-surface-muted);
        border-color: var(--erp-border);
    }

.sdy-header-text[b-ttj3optqom] {
    flex: 1 1 auto;
    min-width: 0;
}

.sdy-header-title-row[b-ttj3optqom] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.sdy-header-sub[b-ttj3optqom] {
    margin-top: 2px;
    color: var(--erp-text-muted);
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sdy-unsaved[b-ttj3optqom] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: var(--erp-radius-pill);
    background: var(--erp-warning-soft);
    border: 1px solid var(--erp-warning-border);
    color: var(--erp-warning);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.sdy-unsaved-dot[b-ttj3optqom] {
    color: var(--erp-danger);
    font-size: 10px;
    line-height: 1;
}

/* ---------- Loading ---------- */

.sdy-loading[b-ttj3optqom] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 240px;
    color: var(--erp-text-muted);
    font-size: 13px;
}

/* ---------- Body & cards ---------- */

.sdy-body[b-ttj3optqom] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 2px 2px 4px;
}

.sdy-card[b-ttj3optqom] {
    min-width: 0;
    background: var(--erp-surface);
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    box-shadow: var(--erp-shadow-sm);
    /* visible (not hidden): Fluent select drop-downs must be able to open
       past the card edge without being clipped */
    overflow: visible;
}

    .sdy-card > .sdy-card-head:first-child[b-ttj3optqom] {
        border-radius: var(--erp-radius-lg) var(--erp-radius-lg) 0 0;
    }

    .sdy-card > .sdy-collapsible:not(.open)[b-ttj3optqom] {
        border-radius: var(--erp-radius-lg);
    }

.sdy-card-head[b-ttj3optqom] {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 46px;
    padding: 8px 14px;
    background: linear-gradient(180deg, var(--erp-blue-50), var(--erp-surface));
    border: 0;
    border-bottom: 1px solid var(--erp-border-soft);
    color: var(--erp-text);
    font-family: inherit;
    text-align: left;
}

.sdy-card-icon[b-ttj3optqom] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface);
    border: 1px solid var(--erp-blue-100);
}

.sdy-card-heading[b-ttj3optqom] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}

.sdy-card-title[b-ttj3optqom] {
    color: var(--erp-navy-900);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.25;
}

.sdy-card-sub[b-ttj3optqom] {
    color: var(--erp-text-muted);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Collapsible header (Printing / Advanced) */

.sdy-collapsible[b-ttj3optqom] {
    cursor: pointer;
    user-select: none;
    transition: background-color .15s ease;
}

    .sdy-collapsible:not(.open)[b-ttj3optqom] {
        border-bottom-color: transparent;
    }

    .sdy-collapsible:hover[b-ttj3optqom] {
        background: var(--erp-row-hover);
    }

    .sdy-collapsible:focus-visible[b-ttj3optqom] {
        outline: 2px solid var(--erp-focus);
        outline-offset: -2px;
    }

.sdy-toggle[b-ttj3optqom] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--erp-blue-700);
    font-size: 12px;
    font-weight: 600;
}

/* ---------- Field grid ---------- */

.sdy-grid[b-ttj3optqom] {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 18px;
    padding: 14px 16px 16px;
}

.sdy-span-2[b-ttj3optqom] {
    grid-column: span 2;
}

.sdy-span-3[b-ttj3optqom] {
    grid-column: 1 / -1;
}

.sdy-field[b-ttj3optqom] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.sdy-label[b-ttj3optqom] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--erp-text-secondary);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
}

.sdy-label-inline[b-ttj3optqom] {
    margin-right: 6px;
}

.sdy-req[b-ttj3optqom] {
    color: var(--erp-danger);
    font-weight: 700;
}

.sdy-optional[b-ttj3optqom] {
    color: var(--erp-text-muted);
    font-weight: 400;
}

.sdy-label-tag[b-ttj3optqom] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-left: 6px;
    padding: 0 6px;
    border-radius: var(--erp-radius-pill);
    background: var(--erp-surface-muted);
    border: 1px solid var(--erp-border);
    color: var(--erp-text-muted);
    font-size: 10px;
    font-weight: 600;
}

.sdy-hint[b-ttj3optqom] {
    color: var(--erp-text-muted);
    font-size: 11px;
    line-height: 1.3;
}

.sdy-field[b-ttj3optqom]  fluent-text-field,
.sdy-field[b-ttj3optqom]  fluent-number-field,
.sdy-field[b-ttj3optqom]  fluent-select {
    width: 100%;
    min-width: 0;
}

/* Grouped checkboxes */

.sdy-options[b-ttj3optqom] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 24px;
    min-height: var(--erp-control-height);
    padding: 6px 12px;
    border: 1px solid var(--erp-border-soft);
    border-radius: var(--erp-radius-md);
    background: var(--erp-surface-subtle);
}

/* Info note inside Tax Mapping */

.sdy-note[b-ttj3optqom] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    align-self: end;
    padding: 8px 12px;
    border: 1px solid var(--erp-info-border);
    border-radius: var(--erp-radius-md);
    background: var(--erp-info-soft);
    color: var(--erp-text-secondary);
    font-size: 11.5px;
    line-height: 1.45;
}

    .sdy-note b[b-ttj3optqom] {
        color: var(--erp-text);
        font-weight: 650;
    }

/* Live calculation summary in the Calculation header */

.sdy-rule[b-ttj3optqom] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px 4px 4px;
    border: 1px solid var(--erp-blue-100);
    border-radius: var(--erp-radius-pill);
    background: var(--erp-surface);
    color: var(--erp-text-secondary);
    font-size: 12px;
    white-space: nowrap;
}

    .sdy-rule b[b-ttj3optqom] {
        color: var(--erp-text);
        font-weight: 700;
    }

.sdy-rule-sign[b-ttj3optqom] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

    .sdy-rule-sign.add[b-ttj3optqom] {
        color: var(--erp-success);
        background: var(--erp-success-soft);
        border: 1px solid var(--erp-success-border);
    }

    .sdy-rule-sign.less[b-ttj3optqom] {
        color: var(--erp-danger);
        background: var(--erp-danger-soft);
        border: 1px solid var(--erp-danger-border);
    }

.sdy-rule-extra[b-ttj3optqom] {
    color: var(--erp-text-muted);
}

/* ---------- Status + audit strip ---------- */

.sdy-statusbar[b-ttj3optqom] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 20px;
    padding: 8px 14px;
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius-lg);
    background: var(--erp-surface-subtle);
}

.sdy-status[b-ttj3optqom] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sdy-audit[b-ttj3optqom] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    color: var(--erp-text-secondary);
    font-size: 11.5px;
}

.sdy-audit-key[b-ttj3optqom] {
    color: var(--erp-text-muted);
    margin-right: 2px;
}

.sdy-audit-sep[b-ttj3optqom] {
    width: 1px;
    height: 14px;
    background: var(--erp-border-strong);
}

/* ==========================================================================
   Scroll region
   The dialog sizes to its content (Height = "auto" in the list page) and the
   body scrolls once the form is taller than the window; header and footer
   stay pinned.
   ========================================================================== */

.sdy-scroll[b-ttj3optqom] {
    max-height: calc(100vh - 210px);
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: var(--erp-border-strong) transparent;
    padding-right: 6px;
}

    .sdy-scroll[b-ttj3optqom]::-webkit-scrollbar {
        width: 8px;
    }

    .sdy-scroll[b-ttj3optqom]::-webkit-scrollbar-thumb {
        background: var(--erp-border-strong);
        border-radius: var(--erp-radius-pill);
    }

    .sdy-scroll[b-ttj3optqom]::-webkit-scrollbar-track {
        background: transparent;
    }

    .sdy-scroll > .sdy-card[b-ttj3optqom] {
        scroll-margin-top: 54px;
    }

/* Attached-sundries card: clip only here (no drop-downs inside) so the
   table keeps the rounded corners; header row sticks while scrolling. */

.sdy-card-table[b-ttj3optqom] {
    overflow: clip;
}

.sdy-chips[b-ttj3optqom] {
    display: flex;
    flex: 0 0 auto;
    gap: 6px;
}

.sdy-chip.success[b-ttj3optqom] {
    background: var(--erp-success-soft);
    border-color: var(--erp-success-border);
    color: var(--erp-success);
}

    .sdy-chip.success .sdy-chip-key[b-ttj3optqom] {
        color: var(--erp-success);
    }

.sdy-card-table .sdy-table th[b-ttj3optqom] {
    position: sticky;
    top: 0;
    z-index: 1;
}

/* ---------- Responsive ---------- */

@media (max-width: 900px) {
    .sdy-grid[b-ttj3optqom] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sdy-span-2[b-ttj3optqom],
    .sdy-span-3[b-ttj3optqom] {
        grid-column: 1 / -1;
    }

    .sdy-rule[b-ttj3optqom] {
        display: none;
    }
}

@media (max-width: 600px) {
    .sdy-grid[b-ttj3optqom] {
        grid-template-columns: 1fr;
    }

    .sdy-unsaved[b-ttj3optqom] {
        display: none;
    }
}

/* ==========================================================================
   Tax Master specific - attached sundries table
   ========================================================================== */

.sdy-chip[b-ttj3optqom] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: var(--erp-radius-pill);
    background: var(--erp-surface);
    border: 1px solid var(--erp-border);
    color: var(--erp-text);
    font-size: 12px;
    white-space: nowrap;
}

.sdy-chip-key[b-ttj3optqom] {
    color: var(--erp-text-muted);
}

.sdy-group-empty[b-ttj3optqom] {
    margin: 10px 14px;
    padding: 10px;
    border: 1px dashed var(--erp-border-strong);
    border-radius: var(--erp-radius-md);
    color: var(--erp-text-muted);
    font-size: 12px;
    text-align: center;
}

.sdy-table[b-ttj3optqom] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

    .sdy-table th[b-ttj3optqom] {
        padding: 7px 10px;
        background: var(--erp-surface-subtle);
        border-bottom: 1px solid var(--erp-border);
        color: var(--erp-text-muted);
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .02em;
        text-align: left;
        text-transform: uppercase;
    }

    .sdy-table td[b-ttj3optqom] {
        height: 34px;
        padding: 3px 10px;
        border-bottom: 1px solid var(--erp-border-soft);
        color: var(--erp-text);
    }

    .sdy-table tbody tr:last-child td[b-ttj3optqom] {
        border-bottom: none;
    }

    .sdy-table tbody tr:nth-child(even) td[b-ttj3optqom] {
        background: var(--erp-row-alt);
    }

    .sdy-table tbody tr:hover td[b-ttj3optqom] {
        background: var(--erp-row-hover);
    }

    .sdy-table tr.inactive td[b-ttj3optqom] {
        color: var(--erp-text-muted);
    }

    .sdy-table .num[b-ttj3optqom] {
        text-align: right;
        font-variant-numeric: tabular-nums;
    }

    .sdy-table td.num[b-ttj3optqom] {
        font-weight: 600;
    }

    .sdy-table .muted[b-ttj3optqom] {
        color: var(--erp-text-muted);
    }

    .sdy-table .strong[b-ttj3optqom] {
        font-weight: 600;
    }

    .sdy-table .actions[b-ttj3optqom] {
        text-align: right;
        white-space: nowrap;
    }

    .sdy-table .center[b-ttj3optqom] {
        text-align: center;
    }

.sdy-card-head .sdy-chip[b-ttj3optqom] {
    flex: 0 0 auto;
}

.sdy-sign[b-ttj3optqom] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

    .sdy-sign.add[b-ttj3optqom] {
        color: var(--erp-success);
        background: var(--erp-success-soft);
        border: 1px solid var(--erp-success-border);
    }

    .sdy-sign.less[b-ttj3optqom] {
        color: var(--erp-danger);
        background: var(--erp-danger-soft);
        border: 1px solid var(--erp-danger-border);
    }
/* /Components/Pages/Systems/MasterCacheSettings.razor.rz.scp.css */
.mc-header[b-6bp94ewxuj] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}

.mc-header-actions[b-6bp94ewxuj] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.mc-message[b-6bp94ewxuj] {
    margin: 12px 0;
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 13px;
    border: 1px solid transparent;
}

.mc-message.ok[b-6bp94ewxuj] {
    background: var(--colorPaletteGreenBackground1, #f1faf1);
    border-color: var(--colorPaletteGreenBorder1, #9fd89f);
    color: var(--colorPaletteGreenForeground1, #0e700e);
}

.mc-message.error[b-6bp94ewxuj] {
    background: var(--colorPaletteRedBackground1, #fdf3f4);
    border-color: var(--colorPaletteRedBorder1, #eeacb2);
    color: var(--colorPaletteRedForeground1, #b10e1c);
}

.mc-empty[b-6bp94ewxuj] {
    padding: 32px 16px;
    color: var(--colorNeutralForeground3, #616161);
    font-size: 14px;
}

.mc-summary[b-6bp94ewxuj] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.mc-summary > div[b-6bp94ewxuj] {
    border: 1px solid var(--colorNeutralStroke2, #e0e0e0);
    border-radius: 8px;
    padding: 10px 14px;
    background: var(--colorNeutralBackground1, #fff);
}

.mc-summary span[b-6bp94ewxuj] {
    display: block;
    font-size: 12px;
    color: var(--colorNeutralForeground3, #616161);
}

.mc-summary strong[b-6bp94ewxuj] {
    font-size: 20px;
    font-variant-numeric: tabular-nums;
}

.mc-summary .warn strong[b-6bp94ewxuj] {
    color: var(--colorPaletteDarkOrangeForeground1, #c43501);
}

.mc-filters[b-6bp94ewxuj] {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.mc-search[b-6bp94ewxuj],
.mc-module[b-6bp94ewxuj],
.mc-table select[b-6bp94ewxuj],
.mc-table input[type=number][b-6bp94ewxuj] {
    height: 32px;
    padding: 0 8px;
    border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
    border-radius: 4px;
    background: var(--colorNeutralBackground1, #fff);
    color: inherit;
    font: inherit;
    font-size: 13px;
}

.mc-search[b-6bp94ewxuj] {
    width: 260px;
    max-width: 100%;
}

.mc-dirty-note[b-6bp94ewxuj] {
    font-size: 12px;
    color: var(--colorPaletteDarkOrangeForeground1, #c43501);
}

.mc-table-wrap[b-6bp94ewxuj] {
    overflow-x: auto;
    border: 1px solid var(--colorNeutralStroke2, #e0e0e0);
    border-radius: 8px;
}

.mc-table[b-6bp94ewxuj] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.mc-table th[b-6bp94ewxuj],
.mc-table td[b-6bp94ewxuj] {
    padding: 6px 10px;
    border-bottom: 1px solid var(--colorNeutralStroke3, #f0f0f0);
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

.mc-table th[b-6bp94ewxuj] {
    position: sticky;
    top: 0;
    background: var(--colorNeutralBackground2, #fafafa);
    font-weight: 600;
    font-size: 12px;
    color: var(--colorNeutralForeground2, #424242);
}

.mc-table .num[b-6bp94ewxuj] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.mc-table td small[b-6bp94ewxuj] {
    display: block;
    font-size: 11px;
    color: var(--colorNeutralForeground3, #616161);
}

.mc-table input[type=number][b-6bp94ewxuj] {
    width: 84px;
    text-align: right;
}

.mc-table tr.dirty td[b-6bp94ewxuj] {
    background: var(--colorPaletteYellowBackground1, #fffef5);
}

.mc-row-actions[b-6bp94ewxuj] {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
}

.mc-badge[b-6bp94ewxuj] {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
}

.mc-badge.ok[b-6bp94ewxuj] {
    background: var(--colorPaletteGreenBackground1, #f1faf1);
    color: var(--colorPaletteGreenForeground1, #0e700e);
}

.mc-badge.warn[b-6bp94ewxuj] {
    background: var(--colorPaletteDarkOrangeBackground1, #fdf6f3);
    color: var(--colorPaletteDarkOrangeForeground1, #c43501);
}

.mc-footnote[b-6bp94ewxuj] {
    margin-top: 10px;
    font-size: 12px;
    color: var(--colorNeutralForeground3, #616161);
}
