/* _content/WhitengPharma_Blazor/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-wafd9owtd9] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-wafd9owtd9] {
    flex: 1;
}

.sidebar[b-wafd9owtd9] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-wafd9owtd9] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-wafd9owtd9]  a, .top-row[b-wafd9owtd9]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-wafd9owtd9]  a:hover, .top-row[b-wafd9owtd9]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-wafd9owtd9]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-wafd9owtd9] {
        justify-content: space-between;
    }

    .top-row[b-wafd9owtd9]  a, .top-row[b-wafd9owtd9]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-wafd9owtd9] {
        flex-direction: row;
    }

    .sidebar[b-wafd9owtd9] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-wafd9owtd9] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-wafd9owtd9]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-wafd9owtd9], article[b-wafd9owtd9] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-wafd9owtd9] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-wafd9owtd9] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* Count of orders still waiting to be billed. Sits on the nav link so it is visible from any
   screen, not only once you are already looking at the orders list. */
.pending-badge[b-wafd9owtd9] {
    display: inline-block; min-width: 1.15rem; margin-left: .4rem; padding: 0 .35rem;
    font-size: .7rem; font-weight: 700; line-height: 1.15rem; text-align: center;
    background: #dc2626; color: #fff; border-radius: .6rem;
}

/* Part-billed orders sit beside the waiting count, deliberately quieter: real unfinished work,
   but not the thing to do first. Red for both would put a hundred-odd standing rows at the same
   loudness as the one order that has to go out today. */
.part-badge[b-wafd9owtd9] {
    display: inline-block; min-width: 1.15rem; margin-left: .25rem; padding: 0 .35rem;
    font-size: .7rem; font-weight: 700; line-height: 1.15rem; text-align: center;
    background: #fef3c7; color: #92400e; border: 1px solid #fcd34d; border-radius: .6rem;
}
/* _content/WhitengPharma_Blazor/Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-ca4itenaip] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-ca4itenaip] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-ca4itenaip] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-ca4itenaip] {
    font-size: 1.1rem;
}

.bi[b-ca4itenaip] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-ca4itenaip] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-ca4itenaip] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-ca4itenaip] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-ca4itenaip] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-ca4itenaip] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-ca4itenaip] {
        padding-bottom: 1rem;
    }

    .nav-item[b-ca4itenaip]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-ca4itenaip]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-ca4itenaip]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-ca4itenaip] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-ca4itenaip] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-ca4itenaip] {
        display: none;
    }

    .nav-scrollable[b-ca4itenaip] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* _content/WhitengPharma_Blazor/Components/Pages/ActivityLogPage.razor.rz.scp.css */
.al-fence[b-xj6s74m9f1] { display: inline-block; vertical-align: middle; font-size: .68rem; font-weight: 700; padding: .12rem .5rem; border-radius: 1rem; background: #fde8e8; color: #b91c1c; margin-left: .4rem; }

.al-tiles[b-xj6s74m9f1] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .6rem; }
.al-tile[b-xj6s74m9f1] { text-align: left; background: #fff; border: 1px solid #e2e8f0; border-radius: .6rem; padding: .55rem .75rem; display: flex; flex-direction: column; }
.al-tile:hover[b-xj6s74m9f1] { border-color: #94a3b8; }
.al-tile.sel[b-xj6s74m9f1] { border-color: #594ae2; box-shadow: 0 0 0 2px rgba(89, 74, 226, .15); }
.al-n[b-xj6s74m9f1] { font-size: 1.35rem; font-weight: 700; line-height: 1.2; }
.al-l[b-xj6s74m9f1] { font-size: .74rem; color: #64748b; }
.al-tile.warn .al-n[b-xj6s74m9f1] { color: #c2410c; }
.al-tile.red .al-n[b-xj6s74m9f1] { color: #b91c1c; }

.al-grid[b-xj6s74m9f1] { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: .8rem; align-items: start; }
.al-side[b-xj6s74m9f1] { position: sticky; top: .5rem; max-height: calc(100vh - 1rem); overflow-y: auto; }

.al-table[b-xj6s74m9f1] { min-width: 760px; }
.al-table td[b-xj6s74m9f1] { vertical-align: top; }
.al-day td[b-xj6s74m9f1] { background: #f8fafc !important; font-size: .75rem; font-weight: 700; color: #64748b; }
.al-sel td[b-xj6s74m9f1] { background: #f3f2fe !important; }
.al-time[b-xj6s74m9f1] { font-variant-numeric: tabular-nums; }

.al-pill[b-xj6s74m9f1] { display: inline-block; font-size: .7rem; font-weight: 700; padding: .1rem .5rem; border-radius: 1rem; white-space: nowrap; }
.app-web[b-xj6s74m9f1] { background: #e0e7ff; color: #4338ca; }
.app-shop[b-xj6s74m9f1] { background: #def7ec; color: #0e7a53; }
.app-owner[b-xj6s74m9f1] { background: #fef3c7; color: #92640e; }
.app-old[b-xj6s74m9f1] { background: #fde8e8; color: #9b1c1c; }
.app-db[b-xj6s74m9f1] { background: #1e293b; color: #fff; }
.app-none[b-xj6s74m9f1] { background: #eef2f7; color: #64748b; }
.act-add[b-xj6s74m9f1] { background: #def7ec; color: #0e7a53; }
.act-edit[b-xj6s74m9f1] { background: #e6eeff; color: #1f4ed8; }
.act-del[b-xj6s74m9f1] { background: #fde8e8; color: #c81e1e; }
.act-sign[b-xj6s74m9f1] { background: #eef2f7; color: #475569; }
.act-other[b-xj6s74m9f1] { background: #fff7ed; color: #c2410c; }

.al-chg[b-xj6s74m9f1] { font-size: .78rem; color: #64748b; margin-top: .1rem; }
.al-chg s[b-xj6s74m9f1], .al-from[b-xj6s74m9f1] { color: #b91c1c; }
.al-chg ins[b-xj6s74m9f1], .al-to[b-xj6s74m9f1] { color: #0e7a53; font-weight: 600; text-decoration: none; }
.al-warn[b-xj6s74m9f1] { font-size: .75rem; font-weight: 700; color: #c2410c; }
.al-bf[b-xj6s74m9f1] { display: inline-block; font-size: .68rem; padding: 0 .4rem; border-radius: .3rem; background: #f1f5f9; color: #64748b; margin-top: .15rem; }

.al-kv[b-xj6s74m9f1] { display: grid; grid-template-columns: 92px 1fr; gap: .3rem .5rem; font-size: .82rem; margin-bottom: .6rem; }
.al-kv dt[b-xj6s74m9f1] { color: #64748b; font-weight: 400; }
.al-kv dd[b-xj6s74m9f1] { margin: 0; word-break: break-word; }
.al-diff[b-xj6s74m9f1] { font-size: .78rem; }
.al-line[b-xj6s74m9f1] { border-top: 1px solid #f1f5f9; padding: .3rem 0; font-size: .8rem; }
.al-note[b-xj6s74m9f1] { background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: .5rem; padding: .5rem; font-size: .74rem; color: #475569; margin-top: .6rem; }

@media (max-width: 1200px) {
    .al-grid[b-xj6s74m9f1] { grid-template-columns: 1fr; }
    .al-side[b-xj6s74m9f1] { position: static; max-height: none; }
    .al-tiles[b-xj6s74m9f1] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .al-tiles[b-xj6s74m9f1] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* _content/WhitengPharma_Blazor/Components/Pages/BankAccountsPage.razor.rz.scp.css */
.content-wrapper[b-5ovfm69qi7] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-5ovfm69qi7] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-5ovfm69qi7] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-5ovfm69qi7] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-5ovfm69qi7] { margin-bottom: 0; }
.card[b-5ovfm69qi7] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.card-header[b-5ovfm69qi7] { background: #fff; border-bottom: 1px solid #eef2f7; border-radius: .75rem .75rem 0 0; }
.text-muted-xs[b-5ovfm69qi7] { font-size: .75rem; color: #6b7280; display: block; }
.mono[b-5ovfm69qi7] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .82rem; }

.stat[b-5ovfm69qi7] { background: #fff; border-radius: .7rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .9rem; text-align: center; height: 100%; display: flex; flex-direction: column; justify-content: center; }
.stat.hl-green[b-5ovfm69qi7] { background: #ecfdf5; }
.stat.hl-gold[b-5ovfm69qi7] { background: #fffbeb; }
.stat-l[b-5ovfm69qi7] { font-size: .68rem; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }
.stat-n[b-5ovfm69qi7] { font-size: 1.35rem; font-weight: 700; }

/* the default account, drawn like the card it stands for */
.bank-card[b-5ovfm69qi7] { background: linear-gradient(135deg, #4338ca, #6366f1); color: #fff; border-radius: .9rem; padding: 1rem 1.1rem; box-shadow: 0 4px 14px rgba(67,56,202,.28); height: 100%; }
.bank-card-l[b-5ovfm69qi7] { font-size: .65rem; text-transform: uppercase; letter-spacing: .05em; opacity: .75; }
.bank-card-v[b-5ovfm69qi7] { font-size: .85rem; font-weight: 600; }
.bank-card-no[b-5ovfm69qi7] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1.15rem; letter-spacing: .12em; margin: .8rem 0 .9rem; }
.bank-chip[b-5ovfm69qi7] { width: 34px; height: 24px; border-radius: .3rem; background: linear-gradient(135deg, #fcd34d, #f59e0b); opacity: .9; }

thead th[b-5ovfm69qi7] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; background: #f8f9fa; white-space: nowrap; }
td[b-5ovfm69qi7], th[b-5ovfm69qi7] { padding: .45rem .7rem; vertical-align: middle; white-space: nowrap; }
tr.row-default td[b-5ovfm69qi7] { background: #f0fdf4; }

.badge-soft-success[b-5ovfm69qi7] { background: #def7ec; color: #0e7a53; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-secondary[b-5ovfm69qi7] { background: #e5e7eb; color: #64748b; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }

.empty-state[b-5ovfm69qi7] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-5ovfm69qi7] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; display: block; }
/* _content/WhitengPharma_Blazor/Components/Pages/BankingPage.razor.rz.scp.css */
.content-wrapper[b-2z0lnpg14l] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-2z0lnpg14l] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-2z0lnpg14l] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-2z0lnpg14l] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-2z0lnpg14l] { margin-bottom: 0; }
.card[b-2z0lnpg14l] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.card.rounded-top-0[b-2z0lnpg14l] { border-top-left-radius: 0; border-top-right-radius: 0; }
.card-header[b-2z0lnpg14l] { background: #fff; border-bottom: 1px solid #eef2f7; }
.text-muted-xs[b-2z0lnpg14l] { font-size: .75rem; color: #6b7280; }
.mono[b-2z0lnpg14l] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .82rem; }

.stat[b-2z0lnpg14l] { background: #fff; border-radius: .7rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .8rem; text-align: center; }
.stat.hl-green[b-2z0lnpg14l] { background: #ecfdf5; }
.stat.hl-blue[b-2z0lnpg14l] { background: #eef2ff; }
.stat-l[b-2z0lnpg14l] { font-size: .68rem; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }
.stat-n[b-2z0lnpg14l] { font-size: 1.3rem; font-weight: 700; }

.nav-tabs .nav-link[b-2z0lnpg14l] { border: none; color: #6b7280; font-size: .85rem; font-weight: 600; background: transparent; }
.nav-tabs .nav-link.active[b-2z0lnpg14l] { color: #4338ca; background: #fff; border-radius: .75rem .75rem 0 0; box-shadow: 0 -2px 6px rgba(15,23,42,.06); }

.rpt[b-2z0lnpg14l] { min-width: 860px; margin-bottom: 0; }
.rpt thead th[b-2z0lnpg14l], thead th[b-2z0lnpg14l] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.rpt td[b-2z0lnpg14l], .rpt th[b-2z0lnpg14l], td[b-2z0lnpg14l], th[b-2z0lnpg14l] { padding: .45rem .7rem; vertical-align: middle; white-space: nowrap; }
tr.row-open td[b-2z0lnpg14l] { background: #f8fafc; }

.tbadge[b-2z0lnpg14l] { font-size: .7rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; }
.badge-out[b-2z0lnpg14l] { background: #fee2e2; color: #b42318; }
.badge-in[b-2z0lnpg14l] { background: #def7ec; color: #0e7a53; }
.badge-tr[b-2z0lnpg14l] { background: #e0e7ff; color: #3730a3; }
.badge-soft-success[b-2z0lnpg14l] { background: #def7ec; color: #0e7a53; font-size: .7rem; font-weight: 600; padding: .1rem .45rem; border-radius: 1rem; }

.empty-state[b-2z0lnpg14l] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-2z0lnpg14l] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; display: block; }
/* _content/WhitengPharma_Blazor/Components/Pages/BillBatchCorrectionPage.razor.rz.scp.css */
.content-wrapper[b-092e08fht7] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-092e08fht7] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-092e08fht7] { margin-bottom: 1.2rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; }
.page-title[b-092e08fht7] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.fence[b-092e08fht7] { font-size: .68rem; font-weight: 700; background: #fef3c7; color: #92400e; border-radius: 1rem; padding: .1rem .55rem; vertical-align: middle; margin-left: .4rem; }
.card[b-092e08fht7] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.card-head[b-092e08fht7] { padding: .65rem .9rem; font-weight: 600; font-size: .9rem; border-bottom: 1px solid #eef0f4; }
.form-label[b-092e08fht7] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.pos-rel[b-092e08fht7] { position: relative; }
.picked[b-092e08fht7] { display: inline-flex; align-items: center; background: #eef2ff; color: #4338ca; border-radius: .5rem; padding: .3rem .6rem; font-size: .82rem; font-weight: 600; }
.dropdown-menu.show[b-092e08fht7] { max-height: 260px; overflow: auto; z-index: 1200; }
.dropdown-item[b-092e08fht7] { font-size: .82rem; padding: .35rem .7rem; cursor: pointer; }
.bc-table[b-092e08fht7] { min-width: 760px; }
.bc-table thead th[b-092e08fht7] { font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; background: #f8f9fa; position: sticky; top: 0; z-index: 5; white-space: nowrap; }
.bc-table td[b-092e08fht7] { vertical-align: middle; padding: .4rem .55rem; font-size: .84rem; }
.mono[b-092e08fht7] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; }
.neg[b-092e08fht7] { color: #c81e1e; font-weight: 600; }
.ok[b-092e08fht7] { color: #0e7a53; font-weight: 600; }
.gone[b-092e08fht7] { font-size: .68rem; font-weight: 600; background: #fde8e8; color: #c81e1e; border-radius: 1rem; padding: .05rem .45rem; white-space: nowrap; }
.prep[b-092e08fht7] { border-left: 4px solid #5b4ff0; }
.suspects[b-092e08fht7] { background: #fff8eb; border-radius: .5rem; padding: .5rem .7rem; }
tr.undone td[b-092e08fht7] { color: #9ca3af; text-decoration: line-through; }
tr.undone td:last-child[b-092e08fht7] { text-decoration: none; }
tr.grp td[b-092e08fht7] { border-top: 2px solid #e5e7eb; }
/* _content/WhitengPharma_Blazor/Components/Pages/ClosingStockPage.razor.rz.scp.css */
.content-wrapper[b-br3jtm89an] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-br3jtm89an] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-br3jtm89an] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-br3jtm89an] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-br3jtm89an] { margin-bottom: 0; }
.card[b-br3jtm89an] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-br3jtm89an] { font-size: .75rem; color: #6b7280; }
.stat[b-br3jtm89an] { background: #fff; border-radius: .7rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .7rem .9rem; text-align: center; }
.stat.hl-green[b-br3jtm89an] { background: #ecfdf5; }
.stat-l[b-br3jtm89an] { font-size: .68rem; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }
.stat-n[b-br3jtm89an] { font-size: 1.25rem; font-weight: 700; }
.rpt[b-br3jtm89an] { min-width: 820px; margin-bottom: 0; }
.rpt thead th[b-br3jtm89an] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.rpt td[b-br3jtm89an], .rpt th[b-br3jtm89an] { padding: .45rem .7rem; vertical-align: middle; white-space: nowrap; }
.empty-state[b-br3jtm89an] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-br3jtm89an] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }
/* _content/WhitengPharma_Blazor/Components/Pages/CompanyMasterPage.razor.rz.scp.css */
/* Faithful copy of the old Company Master styling (scoped to this screen). */

.content-wrapper[b-8wjmx0y2gw] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-8wjmx0y2gw] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-8wjmx0y2gw] {
    display: flex; flex-wrap: wrap; align-items: center;
    justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem;
}
.page-title[b-8wjmx0y2gw] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-8wjmx0y2gw] { margin-bottom: 0; }

.card[b-8wjmx0y2gw], .table-card[b-8wjmx0y2gw] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }

.table thead th[b-8wjmx0y2gw] { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #6b7280; }
.table td[b-8wjmx0y2gw], .table th[b-8wjmx0y2gw] { vertical-align: middle; }

.form-label[b-8wjmx0y2gw] { font-size: .85rem; color: #6b7280; }
.text-muted-xs[b-8wjmx0y2gw] { font-size: .75rem; color: #6b7280; }

.badge[b-8wjmx0y2gw] { font-weight: 500; font-size: .75rem; }
.badge-soft-success[b-8wjmx0y2gw] { background-color: rgba(16,185,129,.12); color: #059669; }
.badge-soft-secondary[b-8wjmx0y2gw] { background-color: rgba(148,163,184,.12); color: #4b5563; }

.empty-state[b-8wjmx0y2gw] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-8wjmx0y2gw] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

.table-responsive[b-8wjmx0y2gw] { min-height: 200px; }
/* _content/WhitengPharma_Blazor/Components/Pages/ContentMasterPage.razor.rz.scp.css */
/* Faithful copy of the old Content Master styling (scoped to this screen). */

.content-wrapper[b-28xe92a3d6] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-28xe92a3d6] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-28xe92a3d6] {
    display: flex; flex-wrap: wrap; align-items: center;
    justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem;
}
.page-title[b-28xe92a3d6] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-28xe92a3d6] { margin-bottom: 0; }

.card[b-28xe92a3d6] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }

.table[b-28xe92a3d6] { min-width: 500px; margin-bottom: 0; }
.table thead th[b-28xe92a3d6] {
    font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #6b7280;
    position: sticky; top: 0; background-color: #f8f9fa; z-index: 10;
    box-shadow: 0 2px 2px -1px rgba(0,0,0,.1);
}
.table td[b-28xe92a3d6], .table th[b-28xe92a3d6] { vertical-align: middle; }
.table-sm td[b-28xe92a3d6], .table-sm th[b-28xe92a3d6] { padding: .5rem .75rem; white-space: nowrap; }

.form-label[b-28xe92a3d6] { font-size: .85rem; color: #6b7280; }
.text-muted-xs[b-28xe92a3d6] { font-size: .75rem; color: #6b7280; }

.empty-state[b-28xe92a3d6] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-28xe92a3d6] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

/* Medicine count badge button */
.btn-med-count[b-28xe92a3d6] {
    background: none; border: none; padding: 0; font-size: .82rem; font-weight: 600;
    color: #0d6efd; cursor: pointer; text-decoration: underline dotted;
}
.btn-med-count:hover[b-28xe92a3d6] { color: #0a58ca; }
.badge-zero[b-28xe92a3d6] { color: #9ca3af; font-weight: 400; text-decoration: none; cursor: default; }

.btn.disabled[b-28xe92a3d6], .btn:disabled[b-28xe92a3d6] { opacity: .65; cursor: not-allowed; }
/* _content/WhitengPharma_Blazor/Components/Pages/ContentMismatchAuditPage.razor.rz.scp.css */
/* Content Mismatch Audit — light-portal styling with the old screen's colour coding
   (gold = suspected/mismatch, green = OK/correct, red = wrong FK). */

.cma-wrapper[b-78zub05iao] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .cma-wrapper[b-78zub05iao] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-78zub05iao] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-78zub05iao] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-78zub05iao] { margin-bottom: 0; }

.card[b-78zub05iao] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-78zub05iao] { font-size: .75rem; color: #6b7280; }

/* Stat cards */
.stat-card[b-78zub05iao] { background: #fff; border-radius: .75rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .85rem 1rem; display: flex; align-items: center; gap: .8rem; }
.stat-chip[b-78zub05iao] { width: 42px; height: 42px; border-radius: .6rem; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; color: #fff; flex: none; }
.chip-blue[b-78zub05iao] { background: #4f8ef7; }
.chip-gold[b-78zub05iao] { background: #f5c842; }
.chip-green[b-78zub05iao] { background: #31c48d; }
.chip-teal[b-78zub05iao] { background: #14b8a6; }
.stat-num[b-78zub05iao] { font-size: 1.4rem; font-weight: 700; line-height: 1; }
.stat-lbl[b-78zub05iao] { font-size: .72rem; color: #6b7280; text-transform: uppercase; letter-spacing: .05em; margin-top: .2rem; }

/* Bulk action bar */
.action-bar[b-78zub05iao] { background: #fff8e1; border: 1px solid #f5d98a; border-radius: .6rem; padding: .6rem .9rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; color: #8a6d00; font-size: .88rem; }

/* Table */
.audit-table[b-78zub05iao] { min-width: 1150px; margin-bottom: 0; }
.audit-table thead th[b-78zub05iao] { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; position: sticky; top: 0; background-color: #f8f9fa; z-index: 10; box-shadow: 0 2px 2px -1px rgba(0,0,0,.1); white-space: nowrap; }
.audit-table td[b-78zub05iao], .audit-table th[b-78zub05iao] { vertical-align: middle; }
.audit-table td[b-78zub05iao] { padding: .5rem .7rem; white-space: nowrap; }
.mono[b-78zub05iao] { font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .82rem; }

.row-suspected td[b-78zub05iao] { border-left: 0; }
.row-suspected[b-78zub05iao] { box-shadow: inset 3px 0 0 #f5c842; }
.row-ok[b-78zub05iao] { box-shadow: inset 3px 0 0 #31c48d; }
.mismatch-cell[b-78zub05iao] { background: #fff8e1; }
.match-cell[b-78zub05iao] { background: #ecfdf5; }

.code-pill[b-78zub05iao] { display: inline-block; font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; padding: .12rem .5rem; border-radius: .4rem; background: #eef2f7; color: #475569; }
.code-pill.wrong[b-78zub05iao] { background: #fde8e8; color: #c81e1e; }
.code-pill.correct[b-78zub05iao] { background: #def7ec; color: #0e9f6e; }

.sb[b-78zub05iao] { display: inline-flex; align-items: center; gap: .35rem; font-size: .74rem; font-weight: 600; padding: .15rem .55rem; border-radius: 1rem; }
.sb .dot[b-78zub05iao] { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.sb-suspected[b-78zub05iao] { background: #fef3c7; color: #92640e; }
.sb-suspected .dot[b-78zub05iao] { background: #f5c842; }
.sb-ok[b-78zub05iao] { background: #def7ec; color: #0e7a53; }
.sb-ok .dot[b-78zub05iao] { background: #31c48d; }

.empty-state[b-78zub05iao] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-78zub05iao] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; color: #31c48d; }

/* Modal panels */
.info-panel[b-78zub05iao], .picker-panel[b-78zub05iao] { background: #f8fafc; border: 1px solid #e5e7eb; border-radius: .6rem; padding: .75rem .9rem; }
.ip-title[b-78zub05iao] { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #475569; margin-bottom: .6rem; }
.ip-row[b-78zub05iao] { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .28rem 0; border-bottom: 1px dashed #eef2f7; font-size: .85rem; }
.ip-row:last-child[b-78zub05iao] { border-bottom: none; }
.ip-row span:first-child[b-78zub05iao] { color: #6b7280; }

.content-list[b-78zub05iao] { max-height: 320px; overflow-y: auto; border: 1px solid #e5e7eb; border-radius: .5rem; background: #fff; }
.content-item[b-78zub05iao] { padding: .5rem .7rem; border-bottom: 1px solid #f1f5f9; cursor: pointer; }
.content-item:hover[b-78zub05iao] { background: #f0f4ff; }
.content-item.active[b-78zub05iao] { background: #e6eeff; box-shadow: inset 3px 0 0 #4f8ef7; }
.ci-name[b-78zub05iao] { font-size: .86rem; font-weight: 500; }
.ci-code[b-78zub05iao] { font-size: .74rem; color: #6b7280; }

.selected-preview[b-78zub05iao] { background: #def7ec; border: 1px solid #a7f0cf; border-radius: .5rem; padding: .5rem .7rem; font-size: .85rem; color: #0e7a53; }

.btn.disabled[b-78zub05iao], .btn:disabled[b-78zub05iao] { opacity: .65; cursor: not-allowed; }
/* _content/WhitengPharma_Blazor/Components/Pages/CreateUserProfilePage.razor.rz.scp.css */
/* Create User Profile — faithful to the old directory grid + role badges. */

.cup-wrapper[b-xv1ysvvvks] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .cup-wrapper[b-xv1ysvvvks] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-xv1ysvvvks] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-xv1ysvvvks] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-xv1ysvvvks] { margin-bottom: 0; }

.card[b-xv1ysvvvks] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-xv1ysvvvks] { font-size: .8rem; color: #6b7280; margin-bottom: .2rem; }
.text-muted-xs[b-xv1ysvvvks] { font-size: .75rem; color: #6b7280; }

.user-table[b-xv1ysvvvks] { min-width: 1050px; margin-bottom: 0; }
.user-table thead th[b-xv1ysvvvks] { font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; position: sticky; top: 0; background-color: #f8f9fa; z-index: 10; box-shadow: 0 2px 2px -1px rgba(0,0,0,.1); white-space: nowrap; }
.user-table td[b-xv1ysvvvks], .user-table th[b-xv1ysvvvks] { vertical-align: middle; }
.user-table td[b-xv1ysvvvks] { padding: .5rem .7rem; white-space: nowrap; }

.pwd-cell[b-xv1ysvvvks] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .8rem; color: #64748b; }

.role-badge[b-xv1ysvvvks] { display: inline-block; font-size: .72rem; font-weight: 600; padding: .12rem .55rem; border-radius: 1rem; background: #e5e7eb; color: #475569; text-transform: uppercase; letter-spacing: .03em; }
.role-badge.role-superadmin[b-xv1ysvvvks] { background: #fef3c7; color: #92640e; }
.role-badge.role-admin[b-xv1ysvvvks] { background: #dbeafe; color: #1e40af; }
.role-badge.role-user[b-xv1ysvvvks] { background: #dcfce7; color: #166534; }

.empty-state[b-xv1ysvvvks] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-xv1ysvvvks] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

.info-panel[b-xv1ysvvvks] { background: #f8fafc; border: 1px solid #e5e7eb; border-radius: .6rem; padding: .75rem .9rem; height: 100%; }
.ip-title[b-xv1ysvvvks] { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #475569; margin-bottom: .6rem; }
.ip-row[b-xv1ysvvvks] { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .3rem 0; border-bottom: 1px dashed #eef2f7; font-size: .85rem; }
.ip-row:last-child[b-xv1ysvvvks] { border-bottom: none; }
.ip-row span:first-child[b-xv1ysvvvks] { color: #6b7280; }

.btn.disabled[b-xv1ysvvvks], .btn:disabled[b-xv1ysvvvks] { opacity: .65; cursor: not-allowed; }
/* _content/WhitengPharma_Blazor/Components/Pages/CsvImportFormatPage.razor.rz.scp.css */
/* CSV Import Format — faithful to the old screen's blue/teal master-vs-product theme. */

.csv-wrapper[b-p97fm95ijg] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .csv-wrapper[b-p97fm95ijg] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-p97fm95ijg] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-p97fm95ijg] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-p97fm95ijg] { margin-bottom: 0; }

.card[b-p97fm95ijg] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-p97fm95ijg] { font-size: .8rem; color: #6b7280; margin-bottom: .2rem; }

.empty-state[b-p97fm95ijg] { text-align: center; padding: 1.5rem; color: #6b7280; }
.empty-state i[b-p97fm95ijg] { font-size: 2rem; margin-bottom: .75rem; opacity: .5; }

/* Saved-format list cards */
.fmt-item[b-p97fm95ijg] { display: flex; align-items: center; gap: .4rem; padding: .5rem .6rem; border-radius: .5rem; cursor: pointer; margin-bottom: .3rem; border: 1px solid transparent; }
.fmt-item:hover[b-p97fm95ijg] { background: #f0f4ff; }
.fmt-item.active[b-p97fm95ijg] { background: #e6eeff; border-color: #b6ccff; }
.fmt-name[b-p97fm95ijg] { font-size: .85rem; font-weight: 600; }
.fmt-code[b-p97fm95ijg] { font-size: .72rem; color: #9ca3af; }

/* Section headers */
.section-hdr[b-p97fm95ijg] { font-weight: 700; font-size: .9rem; padding: .45rem .7rem; border-left: 4px solid #4f8ef7; background: linear-gradient(90deg, rgba(79,142,247,.10), transparent); border-radius: .3rem; margin-bottom: .6rem; }
.section-hdr.green[b-p97fm95ijg] { border-left-color: #20c997; background: linear-gradient(90deg, rgba(32,201,151,.12), transparent); }
.badge-m[b-p97fm95ijg] { background: #4f8ef7; color: #fff; font-size: .68rem; padding: .1rem .45rem; border-radius: 1rem; margin-right: .35rem; vertical-align: middle; }
.badge-p[b-p97fm95ijg] { background: #20c997; color: #fff; font-size: .68rem; padding: .1rem .45rem; border-radius: 1rem; margin-right: .35rem; vertical-align: middle; }

/* Mapping tables */
.map-table[b-p97fm95ijg] { margin-bottom: 0; }
.map-table thead th[b-p97fm95ijg] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; }
.map-table td[b-p97fm95ijg] { vertical-align: middle; font-size: .85rem; }
.map-table td.ex[b-p97fm95ijg] { color: #9ca3af; font-size: .78rem; }
.field-row td:first-child[b-p97fm95ijg] { font-weight: 500; }
.field-row.mf td:first-child[b-p97fm95ijg] { box-shadow: inset 3px 0 0 #4f8ef7; padding-left: .7rem; }
.field-row.pf td:first-child[b-p97fm95ijg] { box-shadow: inset 3px 0 0 #20c997; padding-left: .7rem; }
.col-in[b-p97fm95ijg] { max-width: 120px; }

/* Guide box */
.guide-box[b-p97fm95ijg] { background: #f0f7ff; border: 1px solid #d5e5ff; border-radius: .6rem; padding: .6rem .8rem; height: 100%; }
.guide-title[b-p97fm95ijg] { font-weight: 600; font-size: .82rem; color: #2563eb; margin-bottom: .4rem; }
.guide-box ul[b-p97fm95ijg] { padding-left: 1.1rem; font-size: .8rem; color: #475569; }

/* Action bar */
.action-row[b-p97fm95ijg] { display: flex; justify-content: flex-end; gap: .5rem; border-top: 1px solid #eef2f7; padding-top: .9rem; margin-top: 1rem; flex-wrap: wrap; }

.btn.disabled[b-p97fm95ijg], .btn:disabled[b-p97fm95ijg] { opacity: .65; cursor: not-allowed; }

/* Mapping against a real file — the reading column is the point of the screen, so it is
   readable at a glance: green when the value converts, red when the column is empty or wrong. */
.note-sm[b-p97fm95ijg] { font-size: .72rem; color: #6b7280; margin-top: .15rem; }
.reading[b-p97fm95ijg] { font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .76rem; display: inline-block; padding: .12rem .45rem; border-radius: .35rem; }
.reading-ok[b-p97fm95ijg] { background: #e8f8f0; color: #0f7a4d; }
.reading-bad[b-p97fm95ijg] { background: #fde8e8; color: #c81e1e; font-weight: 600; }
/* _content/WhitengPharma_Blazor/Components/Pages/CustomerRequirementsPage.razor.rz.scp.css */
.content-wrapper[b-6ty7n7nin6] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-6ty7n7nin6] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-6ty7n7nin6] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-6ty7n7nin6] { margin: 0; font-size: 1.2rem; font-weight: 600; }
.breadcrumb[b-6ty7n7nin6] { margin-bottom: 0; }
.card[b-6ty7n7nin6] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-6ty7n7nin6] { font-size: .72rem; color: #6b7280; }
.form-label[b-6ty7n7nin6] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.rq-table[b-6ty7n7nin6] { min-width: 900px; margin-bottom: 0; }
.rq-table thead th[b-6ty7n7nin6] { font-size: .72rem; text-transform: uppercase; color: #6b7280; background: #f8f9fa; white-space: nowrap; }
.rq-table td[b-6ty7n7nin6] { vertical-align: middle; padding: .5rem .55rem; }
.tbadge[b-6ty7n7nin6] { font-size: .68rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; }
.badge-red[b-6ty7n7nin6] { background: #fde8e8; color: #c81e1e; } .badge-gold[b-6ty7n7nin6] { background: #fef3c7; color: #92640e; } .badge-grey[b-6ty7n7nin6] { background: #e5e7eb; color: #64748b; }
.status-sel[b-6ty7n7nin6] { width: 140px; font-size: .74rem; font-weight: 600; border-radius: 1rem; }
.st-new[b-6ty7n7nin6] { background: #e0f2fe; color: #075985; } .st-prog[b-6ty7n7nin6] { background: #fef3c7; color: #92640e; } .st-done[b-6ty7n7nin6] { background: #def7ec; color: #0e7a53; } .st-closed[b-6ty7n7nin6] { background: #e5e7eb; color: #64748b; }
.empty-state[b-6ty7n7nin6] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-6ty7n7nin6] { font-size: 2.2rem; margin-bottom: .8rem; opacity: .5; display: block; }
/* _content/WhitengPharma_Blazor/Components/Pages/DailyReportPage.razor.rz.scp.css */
.content-wrapper[b-6pyqube5hd] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-6pyqube5hd] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-6pyqube5hd] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-6pyqube5hd] { margin: 0; font-size: 1.2rem; font-weight: 600; }
.breadcrumb[b-6pyqube5hd] { margin-bottom: 0; }
.card[b-6pyqube5hd] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-6pyqube5hd] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.kpis[b-6pyqube5hd] { display: grid; grid-template-columns: repeat(7, 1fr); gap: .6rem; }
@media (max-width: 1200px) { .kpis[b-6pyqube5hd] { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 640px) { .kpis[b-6pyqube5hd] { grid-template-columns: repeat(2, 1fr); } }
.k[b-6pyqube5hd] { background: #fff; border-radius: .7rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .6rem .75rem; }
.k span[b-6pyqube5hd] { font-size: 1.1rem; font-weight: 700; display: block; }
.k small[b-6pyqube5hd] { font-size: .66rem; color: #6b7280; text-transform: uppercase; letter-spacing: .02em; }
.k-b span[b-6pyqube5hd] { color: #075985; } .k-v span[b-6pyqube5hd] { color: #6d28d9; } .k-g span[b-6pyqube5hd] { color: #0e7a53; } .k-a span[b-6pyqube5hd] { color: #b45309; } .k-r span[b-6pyqube5hd] { color: #c81e1e; }
.dr-table[b-6pyqube5hd] { min-width: 1100px; margin-bottom: 0; }
.dr-table thead th[b-6pyqube5hd] { font-size: .7rem; text-transform: uppercase; letter-spacing: .03em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.dr-table td[b-6pyqube5hd] { vertical-align: middle; padding: .45rem .5rem; white-space: nowrap; }
.dr-table tfoot td[b-6pyqube5hd] { background: #f8fafc; position: sticky; bottom: 0; }
.mono[b-6pyqube5hd] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .76rem; }
.tbadge[b-6pyqube5hd] { font-size: .68rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; }
.badge-blue[b-6pyqube5hd] { background: #e0f2fe; color: #075985; } .badge-violet[b-6pyqube5hd] { background: #ede9fe; color: #5b21b6; } .badge-green[b-6pyqube5hd] { background: #def7ec; color: #0e7a53; } .badge-gold[b-6pyqube5hd] { background: #fef3c7; color: #92640e; } .badge-red[b-6pyqube5hd] { background: #fde8e8; color: #c81e1e; } .badge-grey[b-6pyqube5hd] { background: #e5e7eb; color: #64748b; }
.empty-state[b-6pyqube5hd] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-6pyqube5hd] { font-size: 2.2rem; margin-bottom: .8rem; opacity: .5; display: block; }
/* _content/WhitengPharma_Blazor/Components/Pages/DeliveryPage.razor.rz.scp.css */
.content-wrapper[b-gqvms21ibz] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-gqvms21ibz] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-gqvms21ibz] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-gqvms21ibz] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-gqvms21ibz] { margin-bottom: 0; }
.card[b-gqvms21ibz] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-gqvms21ibz] { font-size: .72rem; color: #6b7280; }

.kpi-row[b-gqvms21ibz] { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }
@media (max-width: 1024px) { .kpi-row[b-gqvms21ibz] { grid-template-columns: repeat(2, 1fr); } }
.kpi[b-gqvms21ibz] { background: #fff; border-radius: .75rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .8rem 1rem; display: flex; align-items: center; gap: .8rem; }
.kpi-ic[b-gqvms21ibz] { width: 42px; height: 42px; border-radius: .6rem; display: flex; align-items: center; justify-content: center; font-size: 1.05rem; color: #fff; flex: none; }
.kpi-n[b-gqvms21ibz] { font-size: 1.3rem; font-weight: 700; line-height: 1.1; }
.kpi-l[b-gqvms21ibz] { font-size: .7rem; color: #6b7280; margin-top: .2rem; }
.kpi-blue .kpi-ic[b-gqvms21ibz] { background: #2563eb; } .kpi-amber .kpi-ic[b-gqvms21ibz] { background: #f59e0b; }
.kpi-green .kpi-ic[b-gqvms21ibz] { background: #10b981; } .kpi-purple .kpi-ic[b-gqvms21ibz] { background: #7c3aed; }

.nav-pills .nav-link[b-gqvms21ibz] { font-size: .82rem; font-weight: 600; color: #475569; padding: .3rem .9rem; cursor: pointer; border: 1px solid #e5e7eb; background: #fff; }
.nav-pills .nav-link.active[b-gqvms21ibz] { background: #4f46e5; color: #fff; border-color: #4f46e5; }
.nav-pills .pill[b-gqvms21ibz] { font-size: .68rem; background: rgba(0,0,0,.08); border-radius: 1rem; padding: 0 .4rem; margin-left: .3rem; }
.nav-pills .nav-link.active .pill[b-gqvms21ibz] { background: rgba(255,255,255,.25); }

.batch-grid[b-gqvms21ibz] { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .8rem; }
.batch-card[b-gqvms21ibz], .route-card[b-gqvms21ibz] { border: 1px solid #eef0f3; border-radius: .7rem; padding: .7rem .85rem; background: #fff; }
.route-card[b-gqvms21ibz] { border-left: 3px solid #4f46e5; }
.bc-head[b-gqvms21ibz] { display: flex; justify-content: space-between; align-items: center; margin-bottom: .5rem; }
.bc-body > div[b-gqvms21ibz] { font-size: .8rem; color: #475569; margin-bottom: .2rem; }
.bc-stats[b-gqvms21ibz], .rc-stats[b-gqvms21ibz] { display: flex; justify-content: space-between; font-size: .75rem; color: #64748b; margin-top: .4rem; border-top: 1px dashed #eef0f3; padding-top: .4rem; }
.bc-foot[b-gqvms21ibz] { display: flex; gap: .4rem; margin-top: .6rem; }
.bc-foot .btn:first-child[b-gqvms21ibz] { flex: 1; }
.rc-head[b-gqvms21ibz] { font-size: .9rem; margin-bottom: .4rem; }

.mono[b-gqvms21ibz] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .76rem; }
.tbadge[b-gqvms21ibz] { font-size: .7rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; display: inline-block; }
.badge-blue[b-gqvms21ibz] { background: #e0f2fe; color: #075985; } .badge-green[b-gqvms21ibz] { background: #def7ec; color: #0e7a53; }
.badge-amber[b-gqvms21ibz] { background: #fef3c7; color: #92640e; } .badge-red[b-gqvms21ibz] { background: #fde8e8; color: #c81e1e; }
.dv-table[b-gqvms21ibz] { min-width: 1000px; margin-bottom: 0; }
.dv-table thead th[b-gqvms21ibz] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.dv-table td[b-gqvms21ibz] { vertical-align: middle; padding: .5rem .6rem; }
.empty-state[b-gqvms21ibz] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-gqvms21ibz] { font-size: 2.4rem; margin-bottom: 1rem; opacity: .5; display: block; }
.form-label[b-gqvms21ibz] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/DeliveryPersonsPage.razor.rz.scp.css */
.content-wrapper[b-jfhyh9e1ck] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-jfhyh9e1ck] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-jfhyh9e1ck] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-jfhyh9e1ck] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-jfhyh9e1ck] { margin-bottom: 0; }
.card[b-jfhyh9e1ck] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-jfhyh9e1ck] { font-size: .75rem; color: #6b7280; }

.stat[b-jfhyh9e1ck] { background: #fff; border-radius: .75rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .6rem .9rem; }
.stat-n[b-jfhyh9e1ck] { font-size: 1.25rem; font-weight: 700; }
.stat-l[b-jfhyh9e1ck] { font-size: .72rem; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }
.hl-green .stat-n[b-jfhyh9e1ck] { color: #047857; }

.rpt thead th[b-jfhyh9e1ck] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280;
  position: sticky; top: 0; background: #f8f9fa; z-index: 2; white-space: nowrap; }
.rpt td[b-jfhyh9e1ck], .rpt th[b-jfhyh9e1ck] { padding: .45rem .7rem; vertical-align: middle; }
.mono[b-jfhyh9e1ck] { font-family: ui-monospace, Consolas, monospace; font-size: .76rem; }
.routes[b-jfhyh9e1ck] { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mob-link[b-jfhyh9e1ck] { color: #0f766e; text-decoration: none; white-space: nowrap; }
.mob-link:hover[b-jfhyh9e1ck] { text-decoration: underline; }

/* the dispatcher's one-click on/off-duty switch */
.duty[b-jfhyh9e1ck] { border: none; border-radius: 1rem; font-size: .7rem; font-weight: 600; padding: .12rem .6rem; cursor: pointer; white-space: nowrap; }
.duty-on[b-jfhyh9e1ck] { background: #dcfce7; color: #166534; }
.duty-off[b-jfhyh9e1ck] { background: #f1f5f9; color: #64748b; }
.duty:hover[b-jfhyh9e1ck] { filter: brightness(.95); }
tr.row-off td[b-jfhyh9e1ck] { opacity: .62; }

.field-err[b-jfhyh9e1ck] { color: #b91c1c; font-size: .74rem; margin-top: .15rem; }
.empty-state[b-jfhyh9e1ck] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-jfhyh9e1ck] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; display: block; }
/* _content/WhitengPharma_Blazor/Components/Pages/EmailSettingsPage.razor.rz.scp.css */
.content-wrapper[b-a7lu2puo3i] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-a7lu2puo3i] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-a7lu2puo3i] { margin-bottom: 1.2rem; }
.page-title[b-a7lu2puo3i] { margin: 0; font-size: 1.2rem; font-weight: 600; }
.breadcrumb[b-a7lu2puo3i] { margin-bottom: 0; }
.card[b-a7lu2puo3i] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.card-header h6[b-a7lu2puo3i] { font-size: .85rem; font-weight: 600; }
.form-label[b-a7lu2puo3i] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/ExpensesPage.razor.rz.scp.css */
.ex-total[b-mjd2m13tr2] {
  font-size: 1.7rem;
  font-weight: 700;
  color: #b45309;              /* money going out — warm, not the green of a sale */
  line-height: 1.1;
}
.ex-total-l[b-mjd2m13tr2] { font-size: .74rem; color: #9ca3af; margin-top: .15rem; }

.ex-cat[b-mjd2m13tr2] {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .3rem 0;
  font-size: .84rem;
  border-bottom: 1px dashed #f1f5f9;
}
.ex-cat:last-child[b-mjd2m13tr2] { border-bottom: none; }
.ex-cat > span:last-child[b-mjd2m13tr2] { font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 600; }

.ex-tag[b-mjd2m13tr2] {
  display: inline-block;
  padding: .05rem .4rem;
  font-size: .72rem;
  color: #92400e;
  background: #fef3c7;
  border-radius: .4rem;
  white-space: nowrap;
}

.ex-hint[b-mjd2m13tr2] {
  margin-top: .9rem;
  padding: .5rem .65rem;
  font-size: .74rem;
  line-height: 1.45;
  color: #0f766e;
  background: #f0fdfa;
  border: 1px solid #99f6e4;
  border-radius: .45rem;
}
.ex-hint a[b-mjd2m13tr2] { color: #0f766e; font-weight: 600; }

/* One line of the trail. Money leaving the business needs a readable "who and when". */
.ex-hist[b-mjd2m13tr2] {
  padding: .5rem .65rem;
  margin-bottom: .5rem;
  font-size: .84rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-left: 3px solid #1a56db;
  border-radius: .4rem;
}
.ex-hist-chg[b-mjd2m13tr2] {
  font-size: .78rem;
  color: #334155;
  margin: .2rem 0;
}

/* The length of a head against the biggest one. Warm, like the total above it — money going out. */
.ex-bar[b-mjd2m13tr2] {
  height: 4px;
  background: #f1f5f9;
  border-radius: 2px;
  margin: -.15rem 0 .35rem 0;
  overflow: hidden;
}
.ex-bar-fill[b-mjd2m13tr2] {
  height: 100%;
  background: #f59e0b;
  border-radius: 2px;
}
/* _content/WhitengPharma_Blazor/Components/Pages/ExpiryDashboardPage.razor.rz.scp.css */
.content-wrapper[b-8id1golb6u] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-8id1golb6u] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-8id1golb6u] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-8id1golb6u] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-8id1golb6u] { margin-bottom: 0; }
.card[b-8id1golb6u] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-8id1golb6u] { font-size: .75rem; color: #6b7280; }
.stat[b-8id1golb6u] { background: #fff; border-radius: .75rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .7rem .9rem; display: flex; align-items: center; gap: .7rem; }
.stat-chip[b-8id1golb6u] { width: 40px; height: 40px; border-radius: .6rem; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1rem; flex: none; }
.chip-red[b-8id1golb6u] { background: #dc2626; } .chip-red2[b-8id1golb6u] { background: #f05252; } .chip-gold[b-8id1golb6u] { background: #f5c842; } .chip-amber[b-8id1golb6u] { background: #f59e0b; } .chip-blue[b-8id1golb6u] { background: #4f8ef7; }
.stat-n[b-8id1golb6u] { font-size: 1.3rem; font-weight: 700; line-height: 1; }
.stat-l[b-8id1golb6u] { font-size: .68rem; color: #6b7280; text-transform: uppercase; letter-spacing: .04em; margin-top: .2rem; }
.rpt[b-8id1golb6u] { min-width: 900px; margin-bottom: 0; }
.rpt thead th[b-8id1golb6u] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.rpt td[b-8id1golb6u], .rpt th[b-8id1golb6u] { padding: .45rem .7rem; vertical-align: middle; white-space: nowrap; }
.dbadge[b-8id1golb6u] { font-size: .7rem; font-weight: 600; padding: .1rem .45rem; border-radius: 1rem; }
.badge-red[b-8id1golb6u] { background: #fde8e8; color: #c81e1e; } .badge-gold[b-8id1golb6u] { background: #fef3c7; color: #92640e; } .badge-amber[b-8id1golb6u] { background: #fff7ed; color: #9a3412; }
.empty-state[b-8id1golb6u] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-8id1golb6u] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; color: #31c48d; }

/* Multi-select brand filter, kept short so it does not dominate the filter bar. */
.brand-multi[b-8id1golb6u] { width: 180px; min-height: 4.4rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/FormPermissionsPage.razor.rz.scp.css */
/* Form Permissions — SuperAdmin role×screen matrix (Global tab + per-role tabs). */

.fp-wrapper[b-cn184pu8w1] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .fp-wrapper[b-cn184pu8w1] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-cn184pu8w1] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-cn184pu8w1] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-cn184pu8w1] { margin-bottom: 0; }

.card[b-cn184pu8w1] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }

.fp-tabs[b-cn184pu8w1] { border-bottom: none; padding: .4rem .5rem 0; flex-wrap: wrap; }
.fp-tabs .nav-link[b-cn184pu8w1] { border: none; color: #6b7280; font-size: .88rem; font-weight: 500; padding: .5rem .9rem; background: none; }
.fp-tabs .nav-link.active[b-cn184pu8w1] { color: #0d6efd; border-bottom: 2px solid #0d6efd; background: none; }

.cat-card[b-cn184pu8w1] { border: 1px solid #e5e7eb; border-radius: .6rem; overflow: hidden; height: 100%; }
.cat-title[b-cn184pu8w1] { background: linear-gradient(90deg, rgba(13,110,253,.10), transparent); border-left: 4px solid #0d6efd; font-weight: 700; font-size: .82rem; padding: .5rem .7rem; }
.perm-row[b-cn184pu8w1] { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .5rem .8rem; border-top: 1px solid #f1f5f9; }
.perm-name[b-cn184pu8w1] { font-size: .86rem; }
.form-check-input[b-cn184pu8w1] { cursor: pointer; }
.form-check-input:disabled[b-cn184pu8w1] { opacity: .6; cursor: not-allowed; }

.empty-state[b-cn184pu8w1] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-cn184pu8w1] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

.btn.disabled[b-cn184pu8w1], .btn:disabled[b-cn184pu8w1] { opacity: .65; cursor: not-allowed; }

/* Explains a switch that is locked on because the screen is globally visible, so it does not
   read as a broken control. */
.perm-note[b-cn184pu8w1] { font-size: .68rem; color: #92400e; background: #fffbeb; border-radius: .3rem; padding: .1rem .35rem; margin-top: .15rem; display: inline-block; }
/* _content/WhitengPharma_Blazor/Components/Pages/GstReportPage.razor.rz.scp.css */
.content-wrapper[b-3izl0vru4x] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-3izl0vru4x] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-3izl0vru4x] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-3izl0vru4x] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-3izl0vru4x] { margin-bottom: 0; }
.card[b-3izl0vru4x] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-3izl0vru4x] { font-size: .78rem; color: #6b7280; margin-bottom: .15rem; }
.text-muted-xs[b-3izl0vru4x] { font-size: .75rem; color: #6b7280; }
.text-teal[b-3izl0vru4x] { color: #0d9488; }
.stat[b-3izl0vru4x] { background: #fff; border-radius: .75rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .9rem 1.1rem; }
.stat-l[b-3izl0vru4x] { font-size: .72rem; color: #6b7280; text-transform: uppercase; letter-spacing: .04em; }
.stat-n[b-3izl0vru4x] { font-size: 1.6rem; font-weight: 700; line-height: 1.2; }
.stat.hl-pay[b-3izl0vru4x] { background: #fff8e1; } .stat.hl-credit[b-3izl0vru4x] { background: #ecfdf5; }
.rpt thead th[b-3izl0vru4x] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; background: #f8f9fa; white-space: nowrap; }
.rpt td[b-3izl0vru4x], .rpt th[b-3izl0vru4x] { padding: .45rem .7rem; vertical-align: middle; }
.rpt tfoot td[b-3izl0vru4x] { border-top: 2px solid #e5e7eb; background: #f8fafc; }

/* Return lines sit inside the sales/purchase tables as a visible deduction, so the person
   filing the return can see WHY the total differs from the raw sales figure. */
.rpt tr.ret-row td[b-3izl0vru4x] { color: #b45309; background: #fffbeb; }
.ret-tag[b-3izl0vru4x] { font-size: .65rem; text-transform: uppercase; letter-spacing: .04em; background: #fef3c7; color: #92400e; padding: .05rem .35rem; border-radius: .35rem; margin-left: .35rem; }

/* GSTIN / HSN codes read better in a monospace face at a small size */
.mono-xs[b-3izl0vru4x] { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-size: .72rem; white-space: nowrap; }
.nav-tabs .nav-link[b-3izl0vru4x] { cursor: pointer; }

/* Filing-pack tab ─────────────────────────────────────────────────────────
   The gaps block sits ABOVE the file list on purpose. Every gap it names produces a file that
   looks perfectly correct — a blank GSTIN cell, an inter-state tax in the local column — so the
   only moment it can be read usefully is before the download, not after. */
.gaps[b-3izl0vru4x] { background: #fffbeb; border: 1px solid #fde68a; border-radius: .5rem; padding: .6rem .8rem; }
.gaps-h[b-3izl0vru4x] { font-size: .78rem; font-weight: 700; color: #92400e; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .3rem; }
.gaps ul[b-3izl0vru4x] { padding-left: 1.1rem; margin-bottom: 0; }
.gaps li[b-3izl0vru4x] { font-size: .82rem; color: #7c2d12; margin-bottom: .2rem; }

/* Folder headings inside the file list — the accountant's three folders, kept visibly apart. */
.rpt tr.grp td[b-3izl0vru4x] { background: #f1f5f9; font-size: .72rem; font-weight: 700; text-transform: uppercase;
                 letter-spacing: .05em; color: #475569; }

/* A caveat belongs ON the file it applies to, not in a footnote nobody reads. */
.hint[b-3izl0vru4x] { display: block; font-size: .72rem; color: #92400e; margin-top: .15rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/Home.razor.rz.scp.css */
/* Home dashboard — faithful to the old Homepage dashboard styling. */

.dashboard-scroll[b-4b8iqrne4r] { padding: 20px 24px 32px; }

.dash-head[b-4b8iqrne4r] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 20px; flex-wrap: wrap; gap: 10px;
}
.dash-title[b-4b8iqrne4r] { font-size: 1.3rem; font-weight: 700; letter-spacing: -.02em; margin: 0; color: #111827; }
.dash-date[b-4b8iqrne4r] { font-size: 12px; color: #6b7280; margin-top: 2px; }

.btn-xs[b-4b8iqrne4r] {
    font-size: 12px; padding: 5px 12px; border-radius: 8px; border: 1px solid #e5e7eb;
    background: #fff; color: #374151; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center;
}
.btn-xs:hover[b-4b8iqrne4r] { background: #f3f4f6; }

/* KPI row */
.kpi-grid[b-4b8iqrne4r] { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 16px; }
.kpi-card[b-4b8iqrne4r] {
    background: #fff; border: 1px solid #e9ecf2; border-radius: 12px;
    padding: 18px 20px; position: relative; overflow: hidden;
}
.kpi-card-accent[b-4b8iqrne4r] { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; }
.kpi-label[b-4b8iqrne4r] { font-size: 11px; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
.kpi-value[b-4b8iqrne4r] { font-size: 22px; font-weight: 700; color: #111827; line-height: 1; letter-spacing: -.02em; }
.kpi-sub[b-4b8iqrne4r] { font-size: 12px; color: #6b7280; margin-top: 5px; }
.kpi-icon[b-4b8iqrne4r] {
    position: absolute; right: 16px; top: 50%; transform: translateY(-50%);
    width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 15px;
}

/* Mini row */
.mini-grid[b-4b8iqrne4r] { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 16px; }
.mini-card[b-4b8iqrne4r] { background: #fff; border: 1px solid #e9ecf2; border-radius: 12px; padding: 14px 16px; }
.mini-label[b-4b8iqrne4r] { font-size: 11px; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
.mini-value[b-4b8iqrne4r] { font-size: 20px; font-weight: 700; color: #111827; letter-spacing: -.02em; margin-bottom: 6px; }
.sparkline[b-4b8iqrne4r] { display: flex; align-items: flex-end; gap: 3px; height: 30px; }
.spark-bar[b-4b8iqrne4r] { width: 9px; border-radius: 2px 2px 0 0; background: #B5D4F4; flex-shrink: 0; }
.spark-bar.hi[b-4b8iqrne4r] { background: #378ADD; }

/* Shared card */
.db-card[b-4b8iqrne4r] { background: #fff; border: 1px solid #e9ecf2; border-radius: 12px; overflow: hidden; }
.db-card-hd[b-4b8iqrne4r] { padding: 13px 16px; border-bottom: .5px solid #e5e7eb; display: flex; align-items: center; justify-content: space-between; }
.db-card-title[b-4b8iqrne4r] { font-size: 13px; font-weight: 700; color: #111827; }
.db-card-sub[b-4b8iqrne4r] { font-size: 11px; color: #6b7280; }
.db-card-body[b-4b8iqrne4r] { padding: 14px 16px; }

/* Quick-access links */
.quick-grid[b-4b8iqrne4r] { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.quick-link[b-4b8iqrne4r] {
    display: flex; align-items: center; gap: 10px; padding: 12px 14px;
    border: 1px solid #e9ecf2; border-radius: 10px; text-decoration: none; color: #1f2937;
    font-size: 13.5px; font-weight: 500; background: #fbfcfe; transition: all .12s;
}
.quick-link:hover[b-4b8iqrne4r] { border-color: #378ADD; background: #f0f6ff; color: #185FA5; }
.quick-link i[b-4b8iqrne4r] { width: 20px; text-align: center; color: #378ADD; font-size: 15px; }

.kpi-card.lnk[b-4b8iqrne4r] { text-decoration: none; cursor: pointer; transition: box-shadow .12s, transform .12s; }
.kpi-card.lnk:hover[b-4b8iqrne4r] { box-shadow: 0 4px 14px rgba(15,23,42,.1); transform: translateY(-1px); }
.mini-sub[b-4b8iqrne4r] { font-size: 10.5px; color: #9ca3af; }

/* Two-column mid rows */
.mid-grid[b-4b8iqrne4r] { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; margin-bottom: 16px; }

/* small tables */
.mini-table[b-4b8iqrne4r] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.mini-table th[b-4b8iqrne4r] { font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; color: #9ca3af; text-align: left; padding: 4px 6px; }
.mini-table td[b-4b8iqrne4r] { padding: 5px 6px; border-top: .5px solid #f1f5f9; color: #374151; }
.ta-r[b-4b8iqrne4r] { text-align: right; }
.net-badge[b-4b8iqrne4r] { font-size: 11px; font-weight: 600; padding: 1px 7px; border-radius: 10px; }
.net-badge.pos[b-4b8iqrne4r] { background: #def7ec; color: #0e7a53; }
.net-badge.neg[b-4b8iqrne4r] { background: #fde8e8; color: #c81e1e; }
.inv-badge[b-4b8iqrne4r] { font-size: 10.5px; font-weight: 600; padding: 1px 7px; border-radius: 10px; background: #e0f2fe; color: #075985; }

/* near-expiry rows */
.ne-row[b-4b8iqrne4r] { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 2px; border-top: .5px solid #f1f5f9; }
.ne-row:first-child[b-4b8iqrne4r] { border-top: none; }
.ne-med[b-4b8iqrne4r] { font-size: 12.5px; color: #374151; font-weight: 500; }
.ne-batch[b-4b8iqrne4r] { color: #9ca3af; font-weight: 400; }
.ne-days[b-4b8iqrne4r] { font-size: 11px; font-weight: 600; padding: 1px 7px; border-radius: 10px; white-space: nowrap; }
.d-red[b-4b8iqrne4r] { background: #fde8e8; color: #c81e1e; } .d-gold[b-4b8iqrne4r] { background: #fef3c7; color: #92640e; } .d-amber[b-4b8iqrne4r] { background: #fff7ed; color: #9a3412; }

/* top products bars */
.tp-row[b-4b8iqrne4r] { display: grid; grid-template-columns: 1.3fr 2fr auto; align-items: center; gap: 10px; padding: 6px 2px; }
.tp-name[b-4b8iqrne4r] { font-size: 12.5px; color: #374151; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tp-bar-wrap[b-4b8iqrne4r] { background: #eef2f7; border-radius: 6px; height: 8px; overflow: hidden; }
.tp-bar[b-4b8iqrne4r] { height: 100%; background: linear-gradient(90deg,#4f8ef7,#378ADD); border-radius: 6px; }
.tp-units[b-4b8iqrne4r] { font-size: 12px; font-weight: 600; color: #111827; }

.empty-mini[b-4b8iqrne4r] { text-align: center; color: #9ca3af; font-size: 12.5px; padding: 16px 0; }

@media (max-width: 900px) {
    .kpi-grid[b-4b8iqrne4r], .mini-grid[b-4b8iqrne4r], .mid-grid[b-4b8iqrne4r] { grid-template-columns: repeat(1, minmax(0,1fr)); }
}


/* dashboard charts (parity phase 6) */
.db-row-3[b-4b8iqrne4r] { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 992px) { .db-row-3[b-4b8iqrne4r] { grid-template-columns: repeat(3, 1fr); } }
.chart-body[b-4b8iqrne4r] { display: flex; align-items: center; justify-content: center; min-height: 240px; }

/* HOM-01 (Prem #601, 28 Oct 2026): the link at the end of a Home alert reads as a button, not as part of the sentence. */
.alert-go[b-4b8iqrne4r] {
    display: inline-block;
    margin: 2px 0 2px 4px;
    padding: 3px 10px;
    min-height: 28px;
    border: 1px solid #0d6efd;
    border-radius: 6px;
    background: #fff;
    color: #0d6efd;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.alert-go:hover[b-4b8iqrne4r], .alert-go:focus[b-4b8iqrne4r] { background: #0d6efd; color: #fff; text-decoration: underline; }
/* _content/WhitengPharma_Blazor/Components/Pages/HsnMasterPage.razor.rz.scp.css */
/* HSN Master — same Bootstrap master styling as the other screens. */

.content-wrapper[b-0d1lev4l8k] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-0d1lev4l8k] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-0d1lev4l8k] {
    display: flex; flex-wrap: wrap; align-items: center;
    justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem;
}
.page-title[b-0d1lev4l8k] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-0d1lev4l8k] { margin-bottom: 0; }

.card[b-0d1lev4l8k] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }

.table[b-0d1lev4l8k] { min-width: 600px; margin-bottom: 0; }
.table thead th[b-0d1lev4l8k] {
    font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #6b7280;
    position: sticky; top: 0; background-color: #f8f9fa; z-index: 10;
    box-shadow: 0 2px 2px -1px rgba(0,0,0,.1);
}
.table td[b-0d1lev4l8k], .table th[b-0d1lev4l8k] { vertical-align: middle; }
.table-sm td[b-0d1lev4l8k], .table-sm th[b-0d1lev4l8k] { padding: .5rem .75rem; white-space: nowrap; }

.form-label[b-0d1lev4l8k] { font-size: .85rem; color: #6b7280; }
.text-muted-xs[b-0d1lev4l8k] { font-size: .75rem; color: #6b7280; }

.empty-state[b-0d1lev4l8k] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-0d1lev4l8k] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

.btn.disabled[b-0d1lev4l8k], .btn:disabled[b-0d1lev4l8k] { opacity: .65; cursor: not-allowed; }
/* _content/WhitengPharma_Blazor/Components/Pages/IdeasPage.razor.rz.scp.css */
/* Idea Box — a quiet card list rather than a wall of grey panels. Colour carries the status, so the
   eye finds "what is still New" without reading a word. */

.ib-head[b-cdf8ujuf76] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: 1.1rem;
}

.ib-title[b-cdf8ujuf76] {
    font-size: 1.6rem;
    font-weight: 650;
    letter-spacing: -.02em;
    margin: 0;
}

.ib-sub[b-cdf8ujuf76] {
    margin: .15rem 0 0;
    font-size: .85rem;
    color: var(--mud-palette-text-secondary);
}

/* Counters double as filters — the number is the point, the label explains it. */
.ib-stats[b-cdf8ujuf76] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.ib-stat[b-cdf8ujuf76] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 84px;
    padding: .45rem .7rem;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: var(--mud-palette-surface);
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s, transform .15s;
}

.ib-stat:hover[b-cdf8ujuf76] { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.06); }

.ib-stat.on[b-cdf8ujuf76] {
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 2px rgba(var(--mud-palette-primary-rgb), .16);
}

.ib-stat-n[b-cdf8ujuf76] { font-size: 1.15rem; font-weight: 650; line-height: 1.1; }
.ib-stat-l[b-cdf8ujuf76] { font-size: .7rem; color: var(--mud-palette-text-secondary); }

.ib-search[b-cdf8ujuf76] { flex: 1 1 220px; max-width: 320px; margin-left: auto; }

/* ── the cards ─────────────────────────────────────────────────────────────── */
.ib-card[b-cdf8ujuf76] {
    display: flex;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 14px;
    background: var(--mud-palette-surface);
    overflow: hidden;
    margin-bottom: .6rem;
    transition: box-shadow .18s, border-color .18s;
}

.ib-card:hover[b-cdf8ujuf76] { box-shadow: 0 6px 18px rgba(0,0,0,.07); }
.ib-card.open[b-cdf8ujuf76] { box-shadow: 0 8px 24px rgba(0,0,0,.09); }

/* The status stripe down the left edge. */
.ib-bar[b-cdf8ujuf76] { width: 4px; flex: 0 0 4px; }
.ib-bar.st-new[b-cdf8ujuf76] { background: #3b82f6; }
.ib-bar.st-prog[b-cdf8ujuf76] { background: #f59e0b; }
.ib-bar.st-done[b-cdf8ujuf76] { background: #10b981; }
.ib-bar.st-closed[b-cdf8ujuf76] { background: #9ca3af; }

.ib-body[b-cdf8ujuf76] { flex: 1 1 auto; min-width: 0; }

.ib-row[b-cdf8ujuf76] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .8rem 1rem;
    cursor: pointer;
}

.ib-avatar[b-cdf8ujuf76] {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: .75rem;
    font-weight: 650;
    color: #fff;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
}

.ib-avatar.sm[b-cdf8ujuf76] { flex-basis: 28px; width: 28px; height: 28px; font-size: .62rem; }

.ib-main[b-cdf8ujuf76] { flex: 1 1 auto; min-width: 0; }
.ib-t[b-cdf8ujuf76] { font-weight: 600; font-size: .95rem; line-height: 1.3; }

.ib-meta[b-cdf8ujuf76] {
    display: flex;
    align-items: center;
    gap: .4rem;
    flex-wrap: wrap;
    margin-top: .25rem;
    font-size: .72rem;
    color: var(--mud-palette-text-secondary);
}

.ib-count[b-cdf8ujuf76] { display: inline-flex; align-items: center; gap: .15rem; }
.ib-chev[b-cdf8ujuf76] { color: var(--mud-palette-text-secondary); }

.ib-pill[b-cdf8ujuf76] {
    padding: .1rem .5rem;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 600;
    line-height: 1.5;
}

.ib-pill.st-new[b-cdf8ujuf76] { background: #dbeafe; color: #1d4ed8; }
.ib-pill.st-prog[b-cdf8ujuf76] { background: #fef3c7; color: #b45309; }
.ib-pill.st-done[b-cdf8ujuf76] { background: #d1fae5; color: #047857; }
.ib-pill.st-closed[b-cdf8ujuf76] { background: #f3f4f6; color: #4b5563; }
.ib-pill.pri-high[b-cdf8ujuf76] { background: #fee2e2; color: #b91c1c; }
.ib-pill.pri-medium[b-cdf8ujuf76] { background: #fef3c7; color: #b45309; }
.ib-pill.pri-low[b-cdf8ujuf76] { background: #e0e7ff; color: #4338ca; }

/* ── the opened half ───────────────────────────────────────────────────────── */
.ib-detail[b-cdf8ujuf76] { padding: 0 1rem 1rem 1rem; border-top: 1px dashed var(--mud-palette-lines-default); }
.ib-desc[b-cdf8ujuf76] { margin: .8rem 0; font-size: .875rem; line-height: 1.55; white-space: pre-wrap; }

.ib-label[b-cdf8ujuf76] {
    font-size: .7rem;
    font-weight: 650;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--mud-palette-text-secondary);
}

.ib-status-row[b-cdf8ujuf76] { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; margin-top: .6rem; }

.ib-sbtn[b-cdf8ujuf76] {
    padding: .2rem .6rem;
    border-radius: 999px;
    border: 1px solid var(--mud-palette-lines-default);
    background: transparent;
    font-size: .72rem;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
}

.ib-sbtn:hover[b-cdf8ujuf76] { border-color: var(--mud-palette-text-secondary); }
.ib-sbtn.on.st-new[b-cdf8ujuf76] { background: #3b82f6; border-color: #3b82f6; color: #fff; }
.ib-sbtn.on.st-prog[b-cdf8ujuf76] { background: #f59e0b; border-color: #f59e0b; color: #fff; }
.ib-sbtn.on.st-done[b-cdf8ujuf76] { background: #10b981; border-color: #10b981; color: #fff; }
.ib-sbtn.on.st-closed[b-cdf8ujuf76] { background: #9ca3af; border-color: #9ca3af; color: #fff; }

/* ── conversation ──────────────────────────────────────────────────────────── */
.ib-thread[b-cdf8ujuf76] { display: flex; flex-direction: column; gap: .5rem; margin-top: .4rem; }
.ib-msg[b-cdf8ujuf76] { display: flex; gap: .5rem; align-items: flex-start; }
.ib-msg.mine[b-cdf8ujuf76] { flex-direction: row-reverse; }

.ib-bubble[b-cdf8ujuf76] {
    max-width: min(560px, 78%);
    padding: .45rem .7rem;
    border-radius: 12px 12px 12px 4px;
    background: var(--mud-palette-background-grey);
}

.ib-msg.mine .ib-bubble[b-cdf8ujuf76] {
    border-radius: 12px 12px 4px 12px;
    background: #eef2ff;
}

.ib-bmeta[b-cdf8ujuf76] { font-size: .66rem; color: var(--mud-palette-text-secondary); margin-bottom: .1rem; }
.ib-btext[b-cdf8ujuf76] { font-size: .84rem; line-height: 1.5; white-space: pre-wrap; }
.ib-none[b-cdf8ujuf76] { font-size: .78rem; color: var(--mud-palette-text-secondary); padding: .3rem 0; }

.ib-reply[b-cdf8ujuf76] { display: flex; align-items: center; gap: .4rem; margin-top: .7rem; }

/* ── pictures ──────────────────────────────────────────────────────────────── */
.ib-thumbs[b-cdf8ujuf76] { display: flex; flex-wrap: wrap; gap: .4rem; margin: .5rem 0; }

.ib-thumb[b-cdf8ujuf76] {
    position: relative;
    display: block;
    width: 108px;
    height: 82px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background-grey);
}

.ib-thumbs.sm .ib-thumb[b-cdf8ujuf76] { width: 76px; height: 58px; }
.ib-thumb img[b-cdf8ujuf76] { width: 100%; height: 100%; object-fit: cover; display: block; }
.ib-thumb:hover img[b-cdf8ujuf76] { transform: scale(1.04); transition: transform .2s; }

.ib-x[b-cdf8ujuf76] {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 50%;
    background: rgba(0,0,0,.6);
    color: #fff;
    font-size: .8rem;
    line-height: 1;
    cursor: pointer;
}

.ib-hint[b-cdf8ujuf76] { font-size: .72rem; color: var(--mud-palette-text-secondary); margin-top: .3rem; }

/* ── empty state ───────────────────────────────────────────────────────────── */
.ib-empty[b-cdf8ujuf76] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .3rem;
    padding: 3rem 1rem;
    color: var(--mud-palette-text-secondary);
}

.ib-empty-t[b-cdf8ujuf76] { font-size: 1rem; font-weight: 600; color: var(--mud-palette-text-primary); }
.ib-empty-s[b-cdf8ujuf76] { font-size: .82rem; }

@media (max-width: 600px) {
    .ib-search[b-cdf8ujuf76] { margin-left: 0; max-width: none; }
    .ib-bubble[b-cdf8ujuf76] { max-width: 100%; }
}

/* A file input styled as a button — the plain control, so no component library quirk can render a
   second "Browse files" next to it. */
.ib-clip[b-cdf8ujuf76] {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    cursor: pointer;
    color: var(--mud-palette-text-secondary);
    transition: background .15s, color .15s;
}

.ib-clip:hover[b-cdf8ujuf76] { background: var(--mud-palette-action-default-hover); color: var(--mud-palette-primary); }
.ib-clip input[type=file][b-cdf8ujuf76] { display: none; }

.ib-drop[b-cdf8ujuf76] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    width: 100%;
    padding: .7rem;
    border: 1px dashed var(--mud-palette-lines-default);
    border-radius: 12px;
    cursor: pointer;
    font-size: .85rem;
    color: var(--mud-palette-text-secondary);
    transition: border-color .15s, background .15s, color .15s;
}

.ib-drop:hover[b-cdf8ujuf76] {
    border-color: var(--mud-palette-primary);
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-primary);
}

.ib-drop input[type=file][b-cdf8ujuf76] { display: none; }
/* _content/WhitengPharma_Blazor/Components/Pages/InvoicePrintPage.razor.rz.scp.css */
/* The GST tax invoice the business printed from the old software, rebuilt. Every block has a fixed
   place on the sheet: the copy strip, the three-part header, the item rows (padded out with blanks
   so the page is always the same shape), the totals band, and the declaration / QR / signature
   footer. What is NOT fixed is how many item rows there are — that follows the paper, so an A4 sheet
   carries roughly twice what an A5 one does. Sizes are in mm and pt so the paper, not the screen,
   decides the layout, which is why this file barely uses rem. */

.toolbar[b-kin48elzat] { display: flex; gap: .5rem; padding: .75rem 1rem; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; }
.tb-group[b-kin48elzat] { display: flex; align-items: center; gap: .25rem; }
.tb-lbl[b-kin48elzat] { font-size: .72rem; color: #64748b; margin-right: .15rem; }
.tb-note[b-kin48elzat] { font-size: .72rem; color: #475569; align-self: center; }
.tb-num[b-kin48elzat] { width: 64px; }
.notfound[b-kin48elzat] { padding: 3rem; text-align: center; color: #6b7280; }

/* ── paper vs bill ─────────────────────────────────────────────────────────
   .sheet is the piece of paper (its size comes from the paper buttons) and .inv-page is the bill,
   drawn at the size of the space it actually has rather than at one fixed size that then gets
   photographed larger or smaller. That is what lets a bigger sheet carry MORE medicines instead of
   the same thirteen printed bigger — a 14-item bill was spilling one lonely item onto a second A4.
   Only the turn is a transform, which does not affect layout, so the bill stays centred either way. */
.sheet[b-kin48elzat] {
  margin: 6mm auto; background: #fff; box-sizing: border-box;
  border: 1px solid #cbd5e1; box-shadow: 0 1px 4px rgba(0,0,0,.08);
  display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden;
}
/* One bill's share of the sheet. Two of these stacked is the "two bills to a page" setting; the
   dashed line between them is where to cut, and it is not printed. */
.slot[b-kin48elzat] { display: flex; align-items: center; justify-content: center; overflow: hidden; }
.slot + .slot[b-kin48elzat] { border-top: 1px dashed #cbd5e1; }
/* width/height come from the page's own <style> block — they are the slot's size in mm. */
.inv-page[b-kin48elzat] {
  padding: 2.5mm 3mm;
  background: #fff; color: #000; box-sizing: border-box; flex: 0 0 auto;
  font-family: Arial, "Segoe UI", sans-serif; font-size: 6pt;
  display: flex; flex-direction: column;
}
.page-brk[b-kin48elzat] { break-after: page; page-break-after: always; }

/* ── copy strip ────────────────────────────────────────────────────────── */
.copy-strip[b-kin48elzat] { display: flex; justify-content: space-between; align-items: center;
  border: 0.4mm solid #000; padding: 0.3mm 1.2mm; margin-bottom: 0.8mm; }
.copy-label-el[b-kin48elzat] { font-weight: 900; font-size: 7pt; letter-spacing: .5pt; }
.copy-center-el[b-kin48elzat] { font-weight: 800; font-size: 7pt; }
.copy-counter-el[b-kin48elzat] { font-size: 5.5pt; color: #444; min-width: 18mm; text-align: right; }

/* ── header: us | this bill | the buyer ────────────────────────────────── */
.hdr-outer[b-kin48elzat] { display: flex; border: 0.3mm solid #000; }
.hdr-sender[b-kin48elzat] { width: 38%; padding: 1mm 1.5mm; border-right: 0.3mm solid #000; }
.hdr-meta[b-kin48elzat] { width: 24%; padding: 1mm 1.5mm; border-right: 0.3mm solid #000; }
.hdr-receiver[b-kin48elzat] { width: 38%; padding: 1mm 1.5mm; }
.co-name[b-kin48elzat] { font-size: 10pt; font-weight: 900; line-height: 1.05; margin-bottom: 0.5mm; }
.co-addr[b-kin48elzat] { font-size: 6pt; line-height: 1.35; }
.inv-title-box[b-kin48elzat] { font-size: 8pt; font-weight: 900; text-align: center; border-bottom: 0.3mm solid #000; padding-bottom: 0.3mm; }
.inv-paytype-box[b-kin48elzat] { font-size: 6.5pt; font-weight: 800; text-align: center; background: #eee; padding: 0.2mm 0; margin-bottom: 0.5mm; }
.inv-grid[b-kin48elzat] { width: 100%; border-collapse: collapse; font-size: 6pt; }
.inv-grid td[b-kin48elzat] { padding: 0.15mm 0; vertical-align: top; }
.inv-grid .lbl[b-kin48elzat] { font-weight: 800; width: 13mm; white-space: nowrap; }
.to-lbl[b-kin48elzat] { font-size: 6pt; font-weight: 800; }
.retailer-name[b-kin48elzat] { font-size: 9pt; font-weight: 900; line-height: 1.05; }
.recv-addr[b-kin48elzat] { font-size: 6pt; line-height: 1.3; margin-bottom: 0.3mm; }
.recv-row[b-kin48elzat] { font-size: 6pt; line-height: 1.3; display: flex; }
.recv-lbl[b-kin48elzat] { font-weight: 800; width: 14mm; flex: 0 0 14mm; }
.recv-val[b-kin48elzat] { flex: 1; }

/* ── the goods ─────────────────────────────────────────────────────────── */
.items-wrap[b-kin48elzat] { flex: 1 0 auto; }
/* A continued page: the goods area takes only the height its goods need, so the "Total Item" bar
   and the continued line sit directly under the last medicine instead of being pushed to the foot
   with a band of white paper in between. */
.wrap-tight[b-kin48elzat] { flex: 0 0 auto; }
.items-tbl[b-kin48elzat] { width: 100%; border-collapse: collapse; table-layout: fixed; margin-top: 0.6mm; }
.items-tbl th[b-kin48elzat] { border: 0.3mm solid #000; background: #eee; font-size: 5.5pt; font-weight: 800;
  padding: 0.35mm 0.5mm; text-align: left; }
.items-tbl td[b-kin48elzat] { border: 0.2mm solid #bbb; font-size: 6pt; padding: 0.2mm 0.5mm;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.items-tbl .tr[b-kin48elzat] { text-align: right; }
/* The medicine name is the one thing a shopkeeper reads across the counter, so it is set larger
   than the rest of the line. Nothing else moves: no column width, no border, no other figure —
   the bill keeps the format it has always had. A narrow face carries the extra height without
   taking extra width, so a long name still fits the same column instead of being cut short; where
   the printer has no narrow face it falls back to Arial. A ruled blank row carries this same cell,
   so filled and blank rows stay exactly the same height and the table still lines up. */
.items-tbl td.c-prod[b-kin48elzat] { font-family: "Arial Narrow", "Liberation Sans Narrow", Arial, sans-serif;
  font-size: 7.5pt; font-weight: 700; }
/* A blank row is the same height as a filled one, so a page of two items and a page of thirteen
   both end at the same place on the sheet — and the thirteen-row page still clears 148mm. */
.emp-row td[b-kin48elzat] { height: 3.1mm; }

/* Shares of the table's width rather than fixed millimetres, so the same fourteen columns fit an
   A5 slot and stretch across an A4 sheet without ever running off the edge. The proportions are the
   ones the A5 bill used (10/42/22/… of 198mm). */
.c-hs[b-kin48elzat] { width: 5.05%; }
.c-prod[b-kin48elzat] { width: 21.2%; }
.c-mfg[b-kin48elzat] { width: 11.1%; }
.c-unit[b-kin48elzat] { width: 5.05%; }
.c-qty[b-kin48elzat] { width: 4.05%; }
.c-sch[b-kin48elzat] { width: 3.55%; }
.c-bat[b-kin48elzat] { width: 8.1%; }
.c-exp[b-kin48elzat] { width: 5.05%; }
.c-mrp[b-kin48elzat] { width: 6.55%; }
.c-rate[b-kin48elzat] { width: 6.55%; }
.c-disc[b-kin48elzat] { width: 5.05%; }
.c-gp[b-kin48elzat] { width: 4.55%; }
.c-ga[b-kin48elzat] { width: 6.55%; }
.c-amt[b-kin48elzat] { width: 7.6%; }

.s-totalbar[b-kin48elzat] { border: 0.3mm solid #000; border-top: none; font-size: 6pt; font-weight: 800;
  padding: 0.35mm 1.2mm; background: #f6f6f6; }

/* ── amount in words + what is still owed ──────────────────────────────── */
.s-words[b-kin48elzat] { border: 0.3mm solid #000; border-top: none; padding: 0.4mm 1.2mm; font-size: 6pt; }
.words-row[b-kin48elzat] { display: flex; justify-content: space-between; gap: 3mm; }
.rs-lbl[b-kin48elzat] { font-weight: 800; }

/* ── tax summary + bank | totals ───────────────────────────────────────── */
.s-summary[b-kin48elzat] { display: flex; border: 0.3mm solid #000; border-top: none; }
.sum-left[b-kin48elzat] { width: 63%; border-right: 0.3mm solid #000; }
.sum-right[b-kin48elzat] { width: 37%; }
.gst-tbl[b-kin48elzat] { width: 100%; border-collapse: collapse; }
.gst-tbl th[b-kin48elzat] { border: 0.2mm solid #999; background: #f0f0f0; font-size: 5pt; font-weight: 800;
  padding: 0.15mm 0.5mm; text-align: center; white-space: nowrap; }
.gst-tbl td[b-kin48elzat] { border: 0.2mm solid #ccc; font-size: 5pt; padding: 0.15mm 0.4mm; text-align: center; }
.gst-tbl .tr[b-kin48elzat] { text-align: right; }
.gst-tbl .b[b-kin48elzat] { font-weight: 700; }
.gst-tbl tr.tot td[b-kin48elzat] { background: #e8e8e8; font-weight: 800; border-color: #999; }
.bank-tbl[b-kin48elzat] { width: 100%; border-collapse: collapse; border-top: 0.2mm solid #bbb; }
.bank-tbl th[b-kin48elzat] { font-size: 6.5pt; font-weight: 900; background: #f5f5f5; text-align: left;
  padding: 0.15mm 1mm; border-bottom: 0.2mm solid #bbb; letter-spacing: .2pt; }
.bank-tbl td[b-kin48elzat] { font-size: 6pt; padding: 0.15mm 1mm; }
.bank-tbl .bk-l[b-kin48elzat] { font-weight: 800; white-space: nowrap; width: 13mm; }
.bank-tbl .mono[b-kin48elzat] { font-family: "Courier New", monospace; }
.tot-tbl[b-kin48elzat] { width: 100%; border-collapse: collapse; }
.tot-tbl td[b-kin48elzat] { border: 0.2mm solid #ddd; font-size: 6pt; font-weight: 600; padding: 0.2mm 1.5mm; white-space: nowrap; }
.tot-tbl .tr[b-kin48elzat] { text-align: right; }
.tot-tbl tr.r-net td[b-kin48elzat] { background: #f0f4f8; border-color: #aac; font-weight: 800; }
.tot-tbl tr.r-grand td[b-kin48elzat] { border: 0.3mm solid #000; font-size: 8pt; font-weight: 900; padding: 0.4mm 1.5mm; }
.tot-tbl tr.r-bal td[b-kin48elzat] { background: #fff3e0; border-color: #ffcc80; color: #bf360c; font-weight: 900; }

/* ── declaration | QR | signature ──────────────────────────────────────── */
/* 23mm of footer so the QR prints 20mm square. The old bill printed 11mm, which is well under what
   a phone reads off paper: this code is 49 squares across, so 11mm gives 0.22mm a square and 20mm
   gives 0.41mm — about the working floor. Shrinking this box is what breaks scanning, not the phone. */
.s-footer[b-kin48elzat] { display: flex; border: 0.3mm solid #000; border-top: none; min-height: 22mm; }
.f-decl-cell[b-kin48elzat] { width: 52%; padding: 0.6mm 1.2mm; font-size: 5.5pt; line-height: 1.3; border-right: 0.3mm solid #000; }
.f-qr-cell[b-kin48elzat] { width: 20%; text-align: center; padding: 0.4mm; border-right: 0.3mm solid #000; }
.f-qr-cell img[b-kin48elzat] { height: 20mm; width: 20mm; object-fit: contain; display: block; margin: 0 auto; background: #fff; }
.f-qr-upi[b-kin48elzat] { font-size: 4pt; font-weight: 700; margin-top: 0.2mm; line-height: 1; }
.f-sign-cell[b-kin48elzat] { width: 28%; padding: 0.6mm 1.2mm; font-size: 6pt; text-align: right; }
.f-signline[b-kin48elzat] { margin-top: 7mm; font-size: 5.5pt; font-weight: 700; border-top: 0.2mm solid #000; display: inline-block; padding-top: 0.3mm; }
/* What an unfinished page ends with: one line, the width of the sheet, instead of the signature
   block's three boxes standing empty. */
.s-continued[b-kin48elzat] { border: 0.3mm solid #000; border-top: none; padding: 0.6mm 1.2mm;
  font-size: 6pt; font-weight: 800; font-style: italic; text-align: right; }
.page-num[b-kin48elzat] { text-align: right; font-size: 5pt; color: #444; padding-top: 0.3mm; }

/* ── printing ──────────────────────────────────────────────────────────── */
@media print {
  .no-print[b-kin48elzat] { display: none !important; }
  /* On paper the sheet IS the page: no margin, no border, and it keeps the exact size the paper
     buttons set, so the turned-and-scaled bill lands where the preview showed it. */
  .sheet[b-kin48elzat] { margin: 0; border: none; box-shadow: none; }
  /* The cut line is a screen guide only — scissors do not need it printed. */
  .slot + .slot[b-kin48elzat] { border-top: none; }
  .items-tbl th[b-kin48elzat] { background: #eee !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .gst-tbl tr.tot td[b-kin48elzat], .tot-tbl tr.r-net td[b-kin48elzat], .tot-tbl tr.r-bal td[b-kin48elzat], .s-totalbar[b-kin48elzat], .bank-tbl th[b-kin48elzat], .inv-paytype-box[b-kin48elzat] {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
}
/* _content/WhitengPharma_Blazor/Components/Pages/LedgerPage.razor.rz.scp.css */
.content-wrapper[b-zed40sikua] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-zed40sikua] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-zed40sikua] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-zed40sikua] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-zed40sikua] { margin-bottom: 0; }
.card[b-zed40sikua] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-zed40sikua] { font-size: .78rem; color: #6b7280; margin-bottom: .15rem; }
.text-teal[b-zed40sikua] { color: #0d9488; }
.stat[b-zed40sikua] { background: #fff; border-radius: .6rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .7rem .9rem; text-align: center; }
.stat.hl-green[b-zed40sikua] { background: #ecfdf5; } .stat.hl-gold[b-zed40sikua] { background: #fff8e1; }
.stat-l[b-zed40sikua] { font-size: .7rem; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }
.stat-n[b-zed40sikua] { font-size: 1.3rem; font-weight: 700; }
.rpt[b-zed40sikua] { min-width: 720px; margin-bottom: 0; }
.rpt thead th[b-zed40sikua] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.rpt td[b-zed40sikua], .rpt th[b-zed40sikua] { padding: .45rem .7rem; vertical-align: middle; white-space: nowrap; }
.mono[b-zed40sikua] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; }
.tbadge[b-zed40sikua] { font-size: .7rem; font-weight: 600; padding: .1rem .45rem; border-radius: 1rem; }
.badge-deb[b-zed40sikua] { background: #fde8e8; color: #c81e1e; } .badge-cred[b-zed40sikua] { background: #def7ec; color: #0e7a53; }
.badge-open[b-zed40sikua] { background: #e5e7eb; color: #374151; }
.empty-state[b-zed40sikua] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-zed40sikua] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }
.btn.disabled[b-zed40sikua], .btn:disabled[b-zed40sikua] { opacity: .65; cursor: not-allowed; }
/* _content/WhitengPharma_Blazor/Components/Pages/MappingReviewPage.razor.rz.scp.css */
/* Mapping Review — one card per medicine code, every name that code carries listed inside.
   Colour coding: blue = the master's own name, red = a real word differs (needs judgement),
   gold = only punctuation differs, green = already decided. */

.mr-wrapper[b-539oiur3j1] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .mr-wrapper[b-539oiur3j1] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-539oiur3j1] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-539oiur3j1] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-539oiur3j1] { margin-bottom: 0; }

.card[b-539oiur3j1] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-539oiur3j1] { font-size: .75rem; color: #6b7280; }

/* Tabs — review vs recent activity */
.mr-tabs[b-539oiur3j1] { border-bottom: 1px solid #e5e7eb; gap: .25rem; }
.mr-tabs .nav-link[b-539oiur3j1] { border: none; background: none; color: #6b7280; font-size: .88rem; font-weight: 500; padding: .5rem .9rem; border-bottom: 2px solid transparent; border-radius: 0; }
.mr-tabs .nav-link:hover[b-539oiur3j1] { color: #334155; background: #f8fafc; }
.mr-tabs .nav-link.active[b-539oiur3j1] { color: #1f4ed8; border-bottom-color: #4f8ef7; background: none; }

/* Stat cards */
.stat-card[b-539oiur3j1] { background: #fff; border-radius: .75rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .85rem 1rem; display: flex; align-items: center; gap: .8rem; }
.stat-chip[b-539oiur3j1] { width: 42px; height: 42px; border-radius: .6rem; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; color: #fff; flex: none; }
.chip-blue[b-539oiur3j1] { background: #4f8ef7; }
.chip-gold[b-539oiur3j1] { background: #f5c842; }
.chip-green[b-539oiur3j1] { background: #31c48d; }
.chip-red[b-539oiur3j1] { background: #e02424; }
.stat-num[b-539oiur3j1] { font-size: 1.4rem; font-weight: 700; line-height: 1; }
.stat-lbl[b-539oiur3j1] { font-size: .72rem; color: #6b7280; text-transform: uppercase; letter-spacing: .05em; margin-top: .2rem; }

/* Bulk sweep bar */
.action-bar[b-539oiur3j1] { background: #fff8e1; border: 1px solid #f5d98a; border-radius: .6rem; padding: .6rem .9rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; color: #8a6d00; font-size: .85rem; }

/* One card per medicine code */
.code-card[b-539oiur3j1] { background: #fff; border-radius: .75rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); margin-bottom: 1rem; overflow: hidden; }
.code-card.done[b-539oiur3j1] { opacity: .72; }
.cc-head[b-539oiur3j1] { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: .8rem 1rem; background: #f8fafc; border-bottom: 1px solid #eef2f7; }
.cc-head-left[b-539oiur3j1] { display: flex; align-items: flex-start; gap: .75rem; min-width: 0; }
.cc-head-right[b-539oiur3j1] { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.cc-master[b-539oiur3j1] { min-width: 0; }
.cc-master-name[b-539oiur3j1] { font-weight: 600; font-size: .95rem; }
.cc-salt[b-539oiur3j1] { font-size: .76rem; color: #6b7280; margin-top: .1rem; }

.code-pill[b-539oiur3j1] { display: inline-block; font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; padding: .18rem .5rem; border-radius: .4rem; background: #eef2f7; color: #334155; white-space: nowrap; }

.pill[b-539oiur3j1] { display: inline-flex; align-items: center; font-size: .72rem; font-weight: 600; padding: .18rem .55rem; border-radius: 1rem; white-space: nowrap; }
.pill-grey[b-539oiur3j1] { background: #eef2f7; color: #475569; }
.pill-gold[b-539oiur3j1] { background: #fef3c7; color: #92640e; }
.pill-green[b-539oiur3j1] { background: #def7ec; color: #0e7a53; }
.pill-red[b-539oiur3j1] { background: #fde8e8; color: #c81e1e; }
.pill-blue[b-539oiur3j1] { background: #e6eeff; color: #1f4ed8; }

/* Name rows inside a card */
.mr-table[b-539oiur3j1] { min-width: 1000px; margin-bottom: 0; }
.mr-table thead th[b-539oiur3j1] { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; background-color: #fff; border-bottom: 1px solid #eef2f7; white-space: nowrap; }
.mr-table td[b-539oiur3j1], .mr-table th[b-539oiur3j1] { vertical-align: middle; }
.mr-table td[b-539oiur3j1] { padding: .5rem .7rem; }
.mono[b-539oiur3j1] { font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .82rem; }

.row-master[b-539oiur3j1] { background: #f5f8ff; box-shadow: inset 3px 0 0 #4f8ef7; }
.row-far[b-539oiur3j1] { background: #fffafa; box-shadow: inset 3px 0 0 #e02424; }
.row-near[b-539oiur3j1] { box-shadow: inset 3px 0 0 #f5c842; }
.row-punct[b-539oiur3j1] { box-shadow: inset 3px 0 0 #cbd5e1; }
.row-decided[b-539oiur3j1] { box-shadow: inset 3px 0 0 #31c48d; }
.row-wrong[b-539oiur3j1] { background: #fff5f5; box-shadow: inset 3px 0 0 #e02424; }

/* The stored name, verbatim — pre-wrap so double spaces stay visible instead of collapsing,
   which is the whole reason two near-identical names can be two separate rows. */
.the-name[b-539oiur3j1] { font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .84rem; white-space: pre-wrap; }
.note-line[b-539oiur3j1] { font-size: .72rem; color: #6b7280; margin-top: .2rem; }

.sb[b-539oiur3j1] { display: inline-flex; align-items: center; gap: .35rem; font-size: .72rem; font-weight: 600; padding: .15rem .55rem; border-radius: 1rem; white-space: nowrap; }
.sb .dot[b-539oiur3j1] { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.sb-far[b-539oiur3j1] { background: #fde8e8; color: #c81e1e; }
.sb-far .dot[b-539oiur3j1] { background: #e02424; }
.sb-near[b-539oiur3j1] { background: #fef3c7; color: #92640e; }
.sb-near .dot[b-539oiur3j1] { background: #f5c842; }
.sb-punct[b-539oiur3j1] { background: #eef2f7; color: #475569; }
.sb-punct .dot[b-539oiur3j1] { background: #94a3b8; }

.verdict[b-539oiur3j1] { display: inline-flex; align-items: center; font-size: .74rem; font-weight: 700; padding: .18rem .6rem; border-radius: 1rem; }
.v-alias[b-539oiur3j1] { background: #def7ec; color: #0e7a53; }
.v-wrong[b-539oiur3j1] { background: #fde8e8; color: #c81e1e; }
.v-correct[b-539oiur3j1] { background: #e6eeff; color: #1f4ed8; }

/* A count is a button only when it has rows behind it. */
.count-link[b-539oiur3j1] { border: none; background: #eef2f7; color: #1f4ed8; font-weight: 600; font-size: .82rem; padding: .1rem .55rem; border-radius: .4rem; cursor: pointer; }
.count-link:hover[b-539oiur3j1] { background: #dbe6ff; text-decoration: underline; }

.btn-xs[b-539oiur3j1] { padding: .1rem .35rem; font-size: .72rem; line-height: 1.2; }

/* Step 1 — the alias entries behind a name, and the medicine picker for moving one */
.bind-card[b-539oiur3j1] { border: 1px solid #e5e7eb; border-radius: .6rem; padding: .7rem .85rem; background: #fff; }
.repoint-box[b-539oiur3j1] { border-top: 1px dashed #e5e7eb; padding-top: .7rem; }
.pick-list[b-539oiur3j1] { max-height: 240px; overflow-y: auto; border: 1px solid #e5e7eb; border-radius: .5rem; background: #fff; }
.pick-item[b-539oiur3j1] { padding: .45rem .7rem; border-bottom: 1px solid #f1f5f9; cursor: pointer; }
.pick-item:last-child[b-539oiur3j1] { border-bottom: none; }
.pick-item:hover[b-539oiur3j1] { background: #f0f4ff; }
.pick-item.active[b-539oiur3j1] { background: #e6eeff; box-shadow: inset 3px 0 0 #4f8ef7; }
.pick-name[b-539oiur3j1] { font-size: .86rem; font-weight: 500; }

.empty-state[b-539oiur3j1] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-539oiur3j1] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; color: #31c48d; }

.detail-head[b-539oiur3j1] { font-size: .9rem; }
.info-panel[b-539oiur3j1] { background: #f8fafc; border: 1px solid #e5e7eb; border-radius: .6rem; padding: .75rem .9rem; }
.ip-row[b-539oiur3j1] { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .28rem 0; border-bottom: 1px dashed #eef2f7; font-size: .85rem; }
.ip-row:last-child[b-539oiur3j1] { border-bottom: none; }
.ip-row span:first-child[b-539oiur3j1] { color: #6b7280; flex: none; }
.ip-row b[b-539oiur3j1] { text-align: right; word-break: break-word; }

.btn.disabled[b-539oiur3j1], .btn:disabled[b-539oiur3j1] { opacity: .65; cursor: not-allowed; }
/* _content/WhitengPharma_Blazor/Components/Pages/MedicineMasterPage.razor.rz.scp.css */
/* Faithful copy of the old Medicine Master styling (scoped to this screen). */

.content-wrapper[b-nncrceffgg] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-nncrceffgg] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-nncrceffgg] {
    display: flex; flex-wrap: wrap; align-items: center;
    justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem;
}
.page-title[b-nncrceffgg] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-nncrceffgg] { margin-bottom: 0; }

.card[b-nncrceffgg], .table-card[b-nncrceffgg] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }

.table[b-nncrceffgg] { min-width: 1000px; margin-bottom: 0; }
.table thead th[b-nncrceffgg] {
    font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280;
    position: sticky; top: 0; background-color: #f8f9fa; z-index: 10; box-shadow: 0 2px 2px -1px rgba(0,0,0,.1);
}
.table td[b-nncrceffgg], .table th[b-nncrceffgg] { vertical-align: middle; }
.table-sm td[b-nncrceffgg], .table-sm th[b-nncrceffgg] { padding: .5rem .7rem; white-space: nowrap; }

.form-label[b-nncrceffgg] { font-size: .85rem; color: #6b7280; }
.text-muted-xs[b-nncrceffgg] { font-size: .75rem; color: #6b7280; }

.sec-title[b-nncrceffgg] {
    font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
    color: #1160d3; margin: 18px 0 4px; padding-bottom: 4px; border-bottom: 1px solid #e5e7eb;
}
.sec-title:first-child[b-nncrceffgg] { margin-top: 0; }

.empty-state[b-nncrceffgg] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-nncrceffgg] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

/* Recall / safety hold — must read as a stop sign, not a mild status */
.badge-blocked[b-nncrceffgg] { background: #fee2e2; color: #b42318; font-size: .7rem; font-weight: 700; padding: .12rem .5rem; border-radius: 1rem; }

/* bulk-margin confirm step (parity phase 5) */
.bulk-confirm[b-nncrceffgg] { border: 1px solid #fecaca; background: #fef2f2; border-radius: .5rem; padding: .6rem .75rem; }
.bc-head[b-nncrceffgg] { font-weight: 700; color: #b91c1c; font-size: .85rem; margin-bottom: .3rem; }
.bc-count[b-nncrceffgg] { font-size: .85rem; margin-bottom: .3rem; }
.bc-list[b-nncrceffgg] { margin: 0 0 .35rem; padding-left: 1.1rem; font-size: .82rem; }
.bc-warn[b-nncrceffgg] { font-size: .74rem; color: #7f1d1d; }

/* live price preview (parity phase 5) */
.price-preview[b-nncrceffgg] { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem;
  background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: .5rem; padding: .4rem .6rem; }
.pp-title[b-nncrceffgg] { font-size: .78rem; color: #166534; font-weight: 600; }
.pp-chip[b-nncrceffgg] { font-size: .78rem; background: #fff; border: 1px solid #d1fae5; border-radius: .35rem; padding: .1rem .45rem; }
.pp-chip b[b-nncrceffgg] { color: #065f46; }

/* Sticky Actions column (parity phase 5): the grid is 15 columns wide, so Edit/Delete used to
   scroll off to the right and the row had to be dragged back to act on it. */
.med-grid th:last-child[b-nncrceffgg], .med-grid td:last-child[b-nncrceffgg] {
  position: sticky; right: 0; z-index: 3;
  background: #fff; box-shadow: -6px 0 6px -6px rgba(15,23,42,.25);
}
.med-grid thead th:last-child[b-nncrceffgg] { z-index: 5; background: #f8f9fa; }
.med-grid tbody tr:hover td:last-child[b-nncrceffgg] { background: #f8f9fa; }

/* Photo column — small enough that the grid still reads as a grid. */
/* The photo column's size is set by ImageLightbox's own Size parameter. A rule here could not
   reach it — this page's CSS is scoped to this page's own elements, and the img belongs to that
   component. That is exactly why it rendered full size for a week. */
/* _content/WhitengPharma_Blazor/Components/Pages/MobileAppPage.razor.rz.scp.css */
.mobile-app-qr[b-rwhp016hv5] {
    width: 220px;
    height: 220px;
    image-rendering: pixelated;
}

.mobile-app-qr-empty[b-rwhp016hv5] {
    width: 220px;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    border: 1px dashed #d1d5db;
    border-radius: .5rem;
    color: #6b7280;
}

@media print {
    .mobile-app-card[b-rwhp016hv5] {
        break-inside: avoid;
        border: 1px solid #999;
    }
}
/* _content/WhitengPharma_Blazor/Components/Pages/MobileAppPrintPage.razor.rz.scp.css */
.toolbar[b-4uu2i963y9] { display: flex; gap: .5rem; padding: .75rem 1rem; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; align-items: center; flex-wrap: wrap; }
.tb-group[b-4uu2i963y9] { display: flex; gap: .25rem; align-items: center; }
.tb-lbl[b-4uu2i963y9] { font-size: .75rem; color: #6b7280; margin-right: .25rem; }
.qr-note[b-4uu2i963y9] { padding: 3rem 1rem; text-align: center; color: #6b7280; }

.qr-sheet[b-4uu2i963y9] { max-width: 720px; margin: 1rem auto; padding: 2rem 1.5rem; background: #fff; color: #111; text-align: center; border: 1px solid #e5e7eb; }
.qr-sheet.paper-a5[b-4uu2i963y9] { max-width: 520px; padding: 1.2rem 1rem; }
.qr-firm[b-4uu2i963y9] { font-size: 1.4rem; font-weight: 700; letter-spacing: .02em; }
.qr-title[b-4uu2i963y9] { font-size: 1.15rem; font-weight: 600; margin-top: .6rem; }
.qr-title-mr[b-4uu2i963y9] { font-size: 1rem; color: #333; }
.qr-img[b-4uu2i963y9] { width: 300px; height: 300px; image-rendering: pixelated; margin: 1rem auto .4rem; display: block; }
.paper-a5 .qr-img[b-4uu2i963y9] { width: 240px; height: 240px; }
.qr-ver[b-4uu2i963y9] { font-size: .85rem; color: #555; }
.qr-steps[b-4uu2i963y9] { text-align: left; max-width: 460px; margin: 1.2rem auto .8rem; padding-left: 1.3rem; font-size: .95rem; }
.qr-steps li[b-4uu2i963y9] { margin-bottom: .55rem; }
.qr-steps li span[b-4uu2i963y9] { display: block; color: #333; font-size: .9rem; }
.qr-link[b-4uu2i963y9] { font-size: .8rem; color: #444; word-break: break-all; }

@media print {
  .no-print[b-4uu2i963y9] { display: none !important; }
  .qr-sheet[b-4uu2i963y9] { border: none; margin: 0 auto; }
}
/* _content/WhitengPharma_Blazor/Components/Pages/ModelAuditPage.razor.rz.scp.css */
/* One light row per audit case; the body is drawn only when the row is open (AUD-02). */
.ma-case[b-rwae2d9prl] { border: 1px solid #e5e7eb; border-radius: 6px; margin: .35rem 0; background: #fff; }
.ma-case-open[b-rwae2d9prl] { border-color: #c7d2fe; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.ma-head[b-rwae2d9prl] { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; width: 100%; text-align: left;
  border: none; background: none; font: inherit; padding: .5rem .75rem; cursor: pointer; min-height: 44px; }
.ma-head:hover[b-rwae2d9prl] { background: #f5f7ff; }
.ma-caret[b-rwae2d9prl] { width: 1rem; color: #4f46e5; flex-shrink: 0; }
.ma-title[b-rwae2d9prl] { font-weight: 600; font-size: .9rem; color: #111827; flex: 1 1 14rem; }
.ma-tag[b-rwae2d9prl] { font-size: .72rem; padding: .1rem .5rem; border-radius: 999px; background: #f3f4f6; color: #374151; white-space: nowrap; }
.ma-retest[b-rwae2d9prl] { background: #ede9fe; color: #5b21b6; }
.ma-discuss[b-rwae2d9prl] { background: #fef3c7; color: #92400e; }
.ma-pass[b-rwae2d9prl] { background: #dcfce7; color: #166534; }
.ma-fail[b-rwae2d9prl] { background: #fee2e2; color: #991b1b; }
.ma-blocked[b-rwae2d9prl] { background: #ffedd5; color: #9a3412; }
.ma-body[b-rwae2d9prl] { padding: .25rem .9rem .8rem 2.15rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/MrpCheckPage.razor.rz.scp.css */
/* Same visual language as Rate Manager: a dense table where the money reads first and the
   supporting detail stays quiet underneath it. */
.mrp-table[b-4nrip8s6h7] { font-size: .82rem; }
.mrp-table th[b-4nrip8s6h7] { font-weight: 600; font-size: .74rem; text-transform: uppercase; letter-spacing: .02em; }
.mrp-table td[b-4nrip8s6h7] { vertical-align: middle; }

.mrp-name[b-4nrip8s6h7] { font-weight: 600; }
.mrp-sub[b-4nrip8s6h7] { font-size: .72rem; color: #6c757d; }
.mrp-money[b-4nrip8s6h7] { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* The figure that cannot be true — the only red on the row, so it is never competing for attention. */
.mrp-bad[b-4nrip8s6h7] {
    color: #a12020;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
/* _content/WhitengPharma_Blazor/Components/Pages/OutstandingReportPage.razor.rz.scp.css */
.content-wrapper[b-2bdpizqa69] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-2bdpizqa69] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-2bdpizqa69] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-2bdpizqa69] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-2bdpizqa69] { margin-bottom: 0; }
.card[b-2bdpizqa69] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-2bdpizqa69] { font-size: .78rem; color: #6b7280; margin-bottom: .15rem; }
.text-muted-xs[b-2bdpizqa69] { font-size: .75rem; color: #6b7280; }
.stat[b-2bdpizqa69] { background: #fff; border-radius: .6rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .7rem .9rem; text-align: center; }
.stat.hl-green[b-2bdpizqa69] { background: #ecfdf5; } .stat.hl-gold[b-2bdpizqa69] { background: #fff8e1; }
.stat-l[b-2bdpizqa69] { font-size: .7rem; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }
.stat-n[b-2bdpizqa69] { font-size: 1.25rem; font-weight: 700; }
.rpt[b-2bdpizqa69] { min-width: 820px; margin-bottom: 0; }
.rpt thead th[b-2bdpizqa69] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.rpt td[b-2bdpizqa69], .rpt th[b-2bdpizqa69] { padding: .45rem .7rem; vertical-align: middle; white-space: nowrap; }
.mono[b-2bdpizqa69] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; }
.empty-state[b-2bdpizqa69] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-2bdpizqa69] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

/* Settlement state, so a fully-paid or over-settled bill reads as a real outcome rather than
   just vanishing from the list — that disappearance is what looked like missing data. */
.pill[b-2bdpizqa69] { font-size: .68rem; text-transform: uppercase; letter-spacing: .03em; padding: .1rem .45rem; border-radius: .4rem; white-space: nowrap; }
.pill-open[b-2bdpizqa69] { background: #fee2e2; color: #991b1b; }
.pill-settled[b-2bdpizqa69] { background: #dcfce7; color: #166534; }
.pill-over[b-2bdpizqa69] { background: #dbeafe; color: #1e40af; }
.badge-sd[b-2bdpizqa69] { font-size: .62rem; text-transform: uppercase; background: #ede9fe; color: #5b21b6; padding: .05rem .3rem; border-radius: .3rem; margin-left: .3rem; }

/* ── Phase 4: collect/pay from the dues list ── */
.bulk-bar[b-2bdpizqa69] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  background: #0f172a; color: #fff; padding: .55rem .9rem; border-radius: .6rem; margin-bottom: .75rem; }
.bulk-bar b[b-2bdpizqa69] { color: #fff; }
tr.row-sel > td[b-2bdpizqa69] { background: #eff6ff !important; }
.mob-link[b-2bdpizqa69] { color: #0f766e; text-decoration: none; white-space: nowrap; }
.mob-link:hover[b-2bdpizqa69] { text-decoration: underline; }
.due[b-2bdpizqa69] { font-size: .78rem; padding: .05rem .35rem; border-radius: .35rem; white-space: nowrap; }
.due-ok[b-2bdpizqa69] { color: #475569; }
.due-soon[b-2bdpizqa69] { background: #fef9c3; color: #854d0e; }
.due-over[b-2bdpizqa69] { background: #fee2e2; color: #991b1b; font-weight: 600; }
/* _content/WhitengPharma_Blazor/Components/Pages/PayableReportPage.razor.rz.scp.css */
.content-wrapper[b-f5qgfxlfb7] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-f5qgfxlfb7] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-f5qgfxlfb7] { margin-bottom: 1.2rem; }
.page-title[b-f5qgfxlfb7] { margin: 0; font-size: 1.2rem; font-weight: 600; }
.breadcrumb[b-f5qgfxlfb7] { margin-bottom: 0; }
.card[b-f5qgfxlfb7] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-f5qgfxlfb7] { font-size: .72rem; color: #6b7280; }
.form-label[b-f5qgfxlfb7] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.kpis[b-f5qgfxlfb7] { display: grid; grid-template-columns: repeat(6, 1fr); gap: .6rem; }
@media (max-width: 1100px) { .kpis[b-f5qgfxlfb7] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .kpis[b-f5qgfxlfb7] { grid-template-columns: repeat(2, 1fr); } }
.k[b-f5qgfxlfb7] { background: #fff; border-radius: .7rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .6rem .75rem; }
.k span[b-f5qgfxlfb7] { font-size: 1.05rem; font-weight: 700; display: block; }
.k small[b-f5qgfxlfb7] { font-size: .66rem; color: #6b7280; text-transform: uppercase; }
.k-r span[b-f5qgfxlfb7] { color: #c81e1e; } .k-g span[b-f5qgfxlfb7] { color: #0e7a53; } .k-a span[b-f5qgfxlfb7] { color: #b45309; } .k-o span[b-f5qgfxlfb7] { color: #c2410c; } .k-dr span[b-f5qgfxlfb7] { color: #991b1b; } .k-b span[b-f5qgfxlfb7] { color: #075985; }
.pa-table[b-f5qgfxlfb7] { min-width: 900px; margin-bottom: 0; }
.pa-table thead th[b-f5qgfxlfb7] { font-size: .7rem; text-transform: uppercase; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.pa-table td[b-f5qgfxlfb7] { vertical-align: middle; padding: .5rem .55rem; white-space: nowrap; }
.mono[b-f5qgfxlfb7] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .76rem; }
.tbadge[b-f5qgfxlfb7] { font-size: .68rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; }
.badge-green[b-f5qgfxlfb7] { background: #def7ec; color: #0e7a53; } .badge-gold[b-f5qgfxlfb7] { background: #fef3c7; color: #92640e; } .badge-orange[b-f5qgfxlfb7] { background: #ffedd5; color: #c2410c; } .badge-red[b-f5qgfxlfb7] { background: #fde8e8; color: #c81e1e; }
.detail-row td[b-f5qgfxlfb7] { background: #f8fafc; padding: 0 !important; }
.detail-box[b-f5qgfxlfb7] { padding: 8px 14px 12px; }
.detail-box .table[b-f5qgfxlfb7] { background: #fff; border-radius: .5rem; overflow: hidden; }
.detail-box thead th[b-f5qgfxlfb7] { font-size: .66rem; color: #9ca3af; text-transform: uppercase; }
.empty-state[b-f5qgfxlfb7] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-f5qgfxlfb7] { font-size: 2.2rem; margin-bottom: .8rem; opacity: .5; display: block; }
/* _content/WhitengPharma_Blazor/Components/Pages/PlaceOrderPage.razor.rz.scp.css */
.content-wrapper[b-nc7v9o4f2r] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-nc7v9o4f2r] { padding: 1.25rem 1.5rem 2.5rem; } }
.topbar[b-nc7v9o4f2r] { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; flex-wrap: wrap; }
.brand-ic[b-nc7v9o4f2r] { width: 40px; height: 40px; border-radius: .6rem; background: linear-gradient(135deg,#6366f1,#4f46e5); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.tb-title[b-nc7v9o4f2r] { font-size: 1.15rem; font-weight: 600; }
.tb-sub[b-nc7v9o4f2r] { font-size: .75rem; color: #6b7280; }
.card[b-nc7v9o4f2r] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-nc7v9o4f2r] { font-size: .75rem; color: #6b7280; }

.po-grid[b-nc7v9o4f2r] { display: grid; grid-template-columns: 1.45fr 390px; gap: 1rem; align-items: start; }
@media (max-width: 1100px) { .po-grid[b-nc7v9o4f2r] { grid-template-columns: 1fr; } }

.search-wrap[b-nc7v9o4f2r] { position: relative; flex: 1; }
.search-wrap i.fa-magnifying-glass[b-nc7v9o4f2r] { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #9ca3af; font-size: .8rem; }
.search-wrap input[b-nc7v9o4f2r] { padding-left: 30px; }
.search-wrap .clr[b-nc7v9o4f2r] { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: none; background: transparent; color: #9ca3af; cursor: pointer; }
.results[b-nc7v9o4f2r] { max-height: 65vh; overflow: auto; display: flex; flex-direction: column; gap: .5rem; }
.res[b-nc7v9o4f2r] { display: flex; align-items: center; gap: .6rem; border: 1px solid #eef0f3; border-radius: .6rem; padding: .55rem .7rem; }
.res:hover[b-nc7v9o4f2r] { border-color: #c7d2fe; background: #fbfbff; }
.res-main[b-nc7v9o4f2r] { flex: 1; min-width: 0; }
.res-name[b-nc7v9o4f2r] { font-weight: 600; font-size: .88rem; }
.res-meta[b-nc7v9o4f2r] { font-size: .72rem; color: #6b7280; }
.res-content[b-nc7v9o4f2r] { font-size: .72rem; color: #94a3b8; font-style: italic; }
.res-pills[b-nc7v9o4f2r] { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .35rem; }
.pill[b-nc7v9o4f2r] { font-size: .68rem; font-weight: 600; padding: .08rem .45rem; border-radius: 1rem; }
.pill-green[b-nc7v9o4f2r] { background: #def7ec; color: #0e7a53; } .pill-red[b-nc7v9o4f2r] { background: #fde8e8; color: #c81e1e; }
.pill-grey[b-nc7v9o4f2r] { background: #eef2f7; color: #64748b; } .pill-accent[b-nc7v9o4f2r] { background: #e0e7ff; color: #4338ca; }
.pill-off[b-nc7v9o4f2r] { background: #fff7ed; color: #c2410c; }
.btn-add[b-nc7v9o4f2r] { background: #4f46e5; color: #fff; border: none; white-space: nowrap; }
.btn-add:hover:not(:disabled)[b-nc7v9o4f2r] { background: #4338ca; color: #fff; }
.btn-add:disabled[b-nc7v9o4f2r] { opacity: .5; }

.cart-card[b-nc7v9o4f2r] { position: sticky; top: 1rem; }
.cart-list[b-nc7v9o4f2r] { max-height: 42vh; overflow: auto; display: flex; flex-direction: column; gap: .4rem; margin-bottom: .5rem; }
.cart-row[b-nc7v9o4f2r] { display: flex; align-items: center; gap: .5rem; border: 1px solid #eef0f3; border-radius: .55rem; padding: .4rem .5rem; }
.cr-info[b-nc7v9o4f2r] { flex: 1; min-width: 0; }
.cr-name[b-nc7v9o4f2r] { font-weight: 600; font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cr-meta[b-nc7v9o4f2r] { font-size: .68rem; color: #6b7280; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cr-qty[b-nc7v9o4f2r] { display: flex; align-items: center; gap: .15rem; }
.cr-qty .stp[b-nc7v9o4f2r] { width: 22px; height: 24px; border: 1px solid #e5e7eb; background: #f8fafc; border-radius: .3rem; font-weight: 700; line-height: 1; cursor: pointer; color: #475569; }
.cr-qty .qin[b-nc7v9o4f2r] { width: 46px; text-align: center; padding: .1rem .2rem; }
.cr-amt[b-nc7v9o4f2r] { font-size: .8rem; font-weight: 600; min-width: 62px; text-align: right; }
.rm[b-nc7v9o4f2r] { border: none; background: transparent; color: #ef4444; cursor: pointer; }

.summary[b-nc7v9o4f2r] { border-top: 1px dashed #e5e7eb; padding-top: .5rem; }
.s-row[b-nc7v9o4f2r] { display: flex; justify-content: space-between; font-size: .82rem; padding: .12rem 0; }
.s-row.grand[b-nc7v9o4f2r] { font-size: .95rem; border-top: 1px solid #eef0f3; margin-top: .25rem; padding-top: .4rem; }
.s-row.grand b[b-nc7v9o4f2r] { color: #4f46e5; }

.empty-state[b-nc7v9o4f2r] { text-align: center; padding: 2rem 1rem; color: #6b7280; }
.empty-state.sm[b-nc7v9o4f2r] { padding: 1.2rem 1rem; }
.empty-state i[b-nc7v9o4f2r] { font-size: 2rem; margin-bottom: .6rem; opacity: .45; display: block; }
.form-label[b-nc7v9o4f2r] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/PriceListPage.razor.rz.scp.css */
.content-wrapper[b-mbpydfbrnq] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-mbpydfbrnq] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-mbpydfbrnq] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-mbpydfbrnq] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-mbpydfbrnq] { margin-bottom: 0; }
.card[b-mbpydfbrnq] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-mbpydfbrnq] { font-size: .75rem; color: #6b7280; }
.rpt[b-mbpydfbrnq] { min-width: 1000px; margin-bottom: 0; }
.rpt thead th[b-mbpydfbrnq] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.rpt td[b-mbpydfbrnq], .rpt th[b-mbpydfbrnq] { padding: .45rem .7rem; vertical-align: middle; white-space: nowrap; }
.empty-state[b-mbpydfbrnq] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-mbpydfbrnq] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }
/* _content/WhitengPharma_Blazor/Components/Pages/ProductCategoryPage.razor.rz.scp.css */
/* Faithful copy of the old Product Category Master styling (scoped to this screen). */

.content-wrapper[b-c3nrxlhs3n] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) {
    .content-wrapper[b-c3nrxlhs3n] { padding: 1.5rem 1.75rem 2.5rem; }
}

.page-header[b-c3nrxlhs3n] {
    display: flex; flex-wrap: wrap; align-items: center;
    justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem;
}
.page-title[b-c3nrxlhs3n] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-c3nrxlhs3n] { margin-bottom: 0; }

.card[b-c3nrxlhs3n], .table-card[b-c3nrxlhs3n] {
    border-radius: .75rem; border: none;
    box-shadow: 0 2px 6px rgba(15, 23, 42, .08);
}

.table thead th[b-c3nrxlhs3n] {
    font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #6b7280;
}
.table td[b-c3nrxlhs3n], .table th[b-c3nrxlhs3n] { vertical-align: middle; }

.form-label[b-c3nrxlhs3n] { font-size: .85rem; color: #6b7280; }
.text-muted-xs[b-c3nrxlhs3n] { font-size: .75rem; color: #6b7280; }

.empty-state[b-c3nrxlhs3n] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-c3nrxlhs3n] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

.table-responsive[b-c3nrxlhs3n] { min-height: 200px; }
/* _content/WhitengPharma_Blazor/Components/Pages/ProductLedgerPage.razor.rz.scp.css */
.content-wrapper[b-2p7p8ozjb1] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-2p7p8ozjb1] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-2p7p8ozjb1] { margin-bottom: 1.2rem; }
.page-title[b-2p7p8ozjb1] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-2p7p8ozjb1] { margin-bottom: 0; }
.card[b-2p7p8ozjb1] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-2p7p8ozjb1] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.pos-rel[b-2p7p8ozjb1] { position: relative; }
.picked[b-2p7p8ozjb1] { display: inline-flex; align-items: center; background: #eef2ff; color: #4338ca; border-radius: .5rem; padding: .3rem .6rem; font-size: .82rem; font-weight: 600; }
.dropdown-menu.show[b-2p7p8ozjb1] { max-height: 260px; overflow: auto; z-index: 1200; }
.dropdown-item[b-2p7p8ozjb1] { font-size: .82rem; padding: .35rem .7rem; cursor: pointer; }
.tiles[b-2p7p8ozjb1] { display: grid; grid-template-columns: repeat(5, 1fr); gap: .7rem; }
@media (max-width: 1100px) { .tiles[b-2p7p8ozjb1] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .tiles[b-2p7p8ozjb1] { grid-template-columns: repeat(2, 1fr); } }
.tile[b-2p7p8ozjb1] { background: #fff; border-radius: .7rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .6rem .8rem; }
.t-l[b-2p7p8ozjb1] { font-size: .68rem; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }
.t-v[b-2p7p8ozjb1] { font-size: 1.1rem; font-weight: 700; margin-top: .15rem; }
.lg-table[b-2p7p8ozjb1] { min-width: 950px; margin-bottom: 0; }
.lg-table thead th[b-2p7p8ozjb1] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.lg-table td[b-2p7p8ozjb1] { vertical-align: middle; padding: .45rem .55rem; white-space: nowrap; }
.lg-table tfoot td[b-2p7p8ozjb1] { background: #f8fafc; position: sticky; bottom: 0; }
.mono[b-2p7p8ozjb1] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .77rem; }
.tbadge[b-2p7p8ozjb1] { font-size: .7rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; }
.badge-blue[b-2p7p8ozjb1] { background: #e0f2fe; color: #075985; } .badge-green[b-2p7p8ozjb1] { background: #def7ec; color: #0e7a53; } .badge-amber[b-2p7p8ozjb1] { background: #fef3c7; color: #92640e; }
.badge-red[b-2p7p8ozjb1] { background: #fde8e8; color: #c81e1e; }
.empty-state[b-2p7p8ozjb1] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-2p7p8ozjb1] { font-size: 2.2rem; margin-bottom: .8rem; opacity: .5; display: block; }


/* quick date presets + print-friendly ledger (parity phase 6) */
.presets .btn-link[b-2p7p8ozjb1] { text-decoration: none; font-size: .78rem; margin-right: .5rem; }
.presets .btn-link:hover[b-2p7p8ozjb1] { text-decoration: underline; }
@media print {
  .mud-appbar[b-2p7p8ozjb1], .mud-drawer[b-2p7p8ozjb1], .page-header[b-2p7p8ozjb1], .card.mb-3[b-2p7p8ozjb1], .presets[b-2p7p8ozjb1], .btn[b-2p7p8ozjb1] { display: none !important; }
  .mud-main-content[b-2p7p8ozjb1], .content-wrapper[b-2p7p8ozjb1] { padding: 0 !important; }
  .table-responsive[b-2p7p8ozjb1] { max-height: none !important; overflow: visible !important; }
  thead th[b-2p7p8ozjb1] { position: static !important; }
}

/* A hairline where the batch changes — the eye catches the switch before reading the numbers
   (the DAXYBRAV confusion was exactly a batch change read as one continuous batch). */
.lg-table tr.batch-break td[b-2p7p8ozjb1] { border-top: 2px solid #c7d2fe; }

/* Whiteng-only shortcut from a sale row to Old Bill Batch Correction */
.fix-link[b-2p7p8ozjb1] { margin-left: .35rem; font-size: .7rem; color: #6b7280; opacity: .6; }
.fix-link:hover[b-2p7p8ozjb1] { color: #4338ca; opacity: 1; }
@media print { .fix-link[b-2p7p8ozjb1] { display: none !important; } }
/* _content/WhitengPharma_Blazor/Components/Pages/ProfitLossPage.razor.rz.scp.css */
/* The statement reads top to bottom like a P&L on paper, so the eye follows the subtraction
   rather than hunting across a row of tiles. */
.pl-card[b-ex739g2pjx] { border-top: 3px solid #1a56db; }

.pl-title[b-ex739g2pjx] {
  font-size: .78rem;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: .75rem;
}

.pl-line[b-ex739g2pjx] {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: .35rem 0;
  font-size: .9rem;
}
.pl-line > span:last-child[b-ex739g2pjx] { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* A subtotal — the line the eye should stop on. */
.pl-sub[b-ex739g2pjx] {
  border-top: 1px solid #e5e7eb;
  margin-top: .2rem;
  padding-top: .5rem;
  font-weight: 700;
  font-size: 1rem;
}

.pl-note[b-ex739g2pjx] {
  font-size: .72rem;
  color: #9ca3af;
  margin: -.15rem 0 .5rem 0;
}

/* The gap, drawn as a gap. Grey and italic so it never reads as a figure. */
.pl-missing[b-ex739g2pjx] {
  color: #92400e;
  font-style: italic;
}

.pl-net[b-ex739g2pjx] {
  border-top: 2px solid #1a56db;
  margin-top: .3rem;
  padding-top: .55rem;
  font-weight: 700;
  color: #6b7280;
}

.pl-warn[b-ex739g2pjx] {
  margin-top: .9rem;
  padding: .55rem .7rem;
  font-size: .76rem;
  line-height: 1.45;
  color: #92400e;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: .45rem;
}
/* _content/WhitengPharma_Blazor/Components/Pages/ProfitReportPage.razor.rz.scp.css */
.content-wrapper[b-208a54c9v7] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-208a54c9v7] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-208a54c9v7] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-208a54c9v7] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-208a54c9v7] { margin-bottom: 0; }
.card[b-208a54c9v7] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-208a54c9v7] { font-size: .78rem; color: #6b7280; margin-bottom: .15rem; }
.text-muted-xs[b-208a54c9v7] { font-size: .75rem; color: #6b7280; }
.stat[b-208a54c9v7] { background: #fff; border-radius: .6rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .55rem .8rem; text-align: center; }
.stat.hl-green[b-208a54c9v7] { background: #ecfdf5; }
.stat-l[b-208a54c9v7] { font-size: .66rem; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }
.stat-n[b-208a54c9v7] { font-size: 1.05rem; font-weight: 700; }
.rpt[b-208a54c9v7] { min-width: 900px; margin-bottom: 0; }
.rpt thead th[b-208a54c9v7] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.rpt td[b-208a54c9v7], .rpt th[b-208a54c9v7] { padding: .45rem .7rem; vertical-align: middle; white-space: nowrap; }
.empty-state[b-208a54c9v7] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-208a54c9v7] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }
/* _content/WhitengPharma_Blazor/Components/Pages/PurchaseEntryPage.razor.rz.scp.css */
/* Purchase Entry — header + line-items grid + summary. */

.content-wrapper[b-m9wxiitgfl] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-m9wxiitgfl] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-m9wxiitgfl] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-m9wxiitgfl] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-m9wxiitgfl] { margin-bottom: 0; }

.card[b-m9wxiitgfl] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-m9wxiitgfl] { font-size: .8rem; color: #6b7280; margin-bottom: .2rem; }

.sec-title[b-m9wxiitgfl] { font-weight: 700; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; color: #0d6efd; border-bottom: 2px solid #e5e7eb; padding-bottom: .3rem; margin: 0 0 .8rem; }

.items-table[b-m9wxiitgfl] { min-width: 1050px; margin-bottom: 0; }
.items-table thead th[b-m9wxiitgfl] { font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; color: #6b7280; background: #f8f9fa; white-space: nowrap; }
.items-table td[b-m9wxiitgfl] { vertical-align: middle; padding: .35rem .4rem; }
.items-table .num[b-m9wxiitgfl] { width: 78px; text-align: right; }

.sum-row[b-m9wxiitgfl] { display: flex; justify-content: space-between; align-items: center; padding: .35rem 0; border-bottom: 1px dashed #eef2f7; font-size: .9rem; }
.sum-row span:first-child[b-m9wxiitgfl] { color: #6b7280; }
.sum-row.grand[b-m9wxiitgfl] { border-top: 2px solid #e5e7eb; border-bottom: none; margin-top: .3rem; padding-top: .5rem; font-size: 1.05rem; }
.sum-row.grand b[b-m9wxiitgfl] { color: #0e7a53; }
.sum-in[b-m9wxiitgfl] { width: 110px; text-align: right; }

.btn.disabled[b-m9wxiitgfl], .btn:disabled[b-m9wxiitgfl] { opacity: .65; cursor: not-allowed; }

.kbd-hint[b-m9wxiitgfl] { background: rgba(255,255,255,.25); border-radius: .3rem; font-size: .68rem; padding: .05rem .35rem; margin-left: .3rem; }
.gst-break th[b-m9wxiitgfl] { font-size: .66rem; text-transform: uppercase; color: #6b7280; }
.gst-break td[b-m9wxiitgfl], .gst-break th[b-m9wxiitgfl] { padding: .2rem .4rem; }

/* invoice reconciliation (parity phase 1b) */
.recon[b-m9wxiitgfl] { margin-top: .6rem; border-radius: .5rem; padding: .5rem .6rem; font-size: .8rem; border: 1px solid; }
.recon-ok[b-m9wxiitgfl] { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }
.recon-small[b-m9wxiitgfl] { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.recon-bad[b-m9wxiitgfl] { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.recon-head[b-m9wxiitgfl] { font-weight: 700; margin-bottom: .2rem; }
.recon-line[b-m9wxiitgfl] { color: #475569; font-size: .76rem; }
.recon-fix[b-m9wxiitgfl] { margin-top: .35rem; border: none; background: none; padding: 0; font-size: .78rem; font-weight: 600;
  color: inherit; text-decoration: underline; cursor: pointer; }
.recon-warn[b-m9wxiitgfl] { margin-top: .25rem; font-size: .72rem; opacity: .85; }

/* product-info tiles (parity phase 1b) */
.info-tile[b-m9wxiitgfl] { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: .5rem; padding: .45rem .6rem; height: 100%; }
.info-tile span[b-m9wxiitgfl] { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .03em; color: #64748b; }
.info-tile b[b-m9wxiitgfl] { display: block; font-size: 1.05rem; }
.info-tile small[b-m9wxiitgfl] { color: #94a3b8; font-size: .68rem; }

/* Per-unit landed cost under the line amount — quiet by default, green when a scheme cuts it. */
.unit-cost[b-m9wxiitgfl] { font-size: .7rem; color: #64748b; font-weight: 400; line-height: 1.1; }
.unit-cost.scheme[b-m9wxiitgfl] { color: #2e7d32; font-weight: 600; }

/* Purchase rate above MRP — amber edge, not an error: the master's MRP can be out of date. */
.rate-warn[b-m9wxiitgfl] { border-color: #e65100 !important; background: rgba(230, 81, 0, .06); }

/* A doubtful medicine match, spelled out on the row itself. Amber, not red: the line is usable,
   it just must not be saved on autopilot. Cleared the moment the operator picks a medicine. */
.match-warn[b-m9wxiitgfl] { font-size: .74rem; color: #92400e; background: #fffbeb; border: 1px solid #fcd34d; border-radius: .35rem; padding: .25rem .45rem; margin-top: .3rem; max-width: 460px; }
/* A remembered mapping raising a sibling medicine — the one difference that must not look like the grey ones. */
.variant-warn[b-m9wxiitgfl] { font-size: .78rem; color: #991b1b; background: #fef2f2; border: 1px solid #fca5a5; border-radius: .35rem; padding: .35rem .5rem; margin-top: .3rem; max-width: 520px; }
.variant-warn label[b-m9wxiitgfl] { color: #1f2937; font-weight: 500; }
.auto-tag[b-m9wxiitgfl] { font-size: .62rem; text-transform: uppercase; letter-spacing: .04em; background: #dcfce7; color: #166534; padding: .05rem .3rem; border-radius: .3rem; margin-left: .3rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/PurchasePrintPage.razor.rz.scp.css */
.toolbar[b-s5x4jdii7n] { display: flex; gap: .5rem; padding: .75rem 1rem; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; }
.notfound[b-s5x4jdii7n] { padding: 3rem; text-align: center; color: #6b7280; }
.invoice[b-s5x4jdii7n] { max-width: 820px; margin: 1rem auto; padding: 1.2rem 1.5rem; background: #fff; color: #111; font-size: .8rem; border: 1px solid #e5e7eb; }
.inv-head[b-s5x4jdii7n] { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid #111; padding-bottom: .6rem; }
.co-name[b-s5x4jdii7n] { font-size: 1.3rem; font-weight: 700; }
.co-line[b-s5x4jdii7n] { font-size: .78rem; color: #333; }
.inv-title[b-s5x4jdii7n] { font-size: 1rem; font-weight: 700; letter-spacing: .05em; color: #555; }
.meta[b-s5x4jdii7n] { display: flex; justify-content: space-between; gap: 1rem; margin: .8rem 0; }
.bill-to[b-s5x4jdii7n] { flex: 1; }
.bill-to .lbl[b-s5x4jdii7n] { font-size: .68rem; text-transform: uppercase; color: #666; font-weight: 700; }
.party-name[b-s5x4jdii7n] { font-size: .95rem; font-weight: 700; }
.inv-meta[b-s5x4jdii7n] { min-width: 230px; }
.inv-meta > div[b-s5x4jdii7n] { display: flex; justify-content: space-between; border-bottom: 1px dotted #ddd; padding: .12rem 0; }
.inv-meta span[b-s5x4jdii7n] { color: #666; }
table.lines[b-s5x4jdii7n] { width: 100%; border-collapse: collapse; margin-top: .3rem; }
table.lines th[b-s5x4jdii7n] { background: #111; color: #fff; font-size: .66rem; text-transform: uppercase; padding: .3rem .35rem; text-align: left; }
table.lines td[b-s5x4jdii7n] { padding: .28rem .35rem; border-bottom: 1px solid #eee; font-size: .74rem; white-space: nowrap; }
/* Same fix as the sale invoice print: the product-name column may wrap so a long name can
   never push the table off the sheet edge. */
table.lines td.pname[b-s5x4jdii7n] { white-space: normal; }
.wrapcell[b-s5x4jdii7n] { display: block; overflow-wrap: break-word; max-width: 160px; }
/* break-word (not anywhere): wraps at SPACES, splitting a word only when it alone is
   too wide — 'anywhere' let the squeezed columns collapse to one letter per line. */
table.lines .r[b-s5x4jdii7n] { text-align: right; }
.pname[b-s5x4jdii7n] { white-space: normal; font-weight: 600; }
.foot[b-s5x4jdii7n] { display: flex; justify-content: space-between; gap: 1rem; margin-top: .8rem; }
.foot-left[b-s5x4jdii7n] { flex: 1; }
table.gst[b-s5x4jdii7n] { border-collapse: collapse; margin-bottom: .5rem; }
table.gst th[b-s5x4jdii7n], table.gst td[b-s5x4jdii7n] { border: 1px solid #ddd; padding: .2rem .45rem; font-size: .72rem; }
table.gst .r[b-s5x4jdii7n] { text-align: right; }
.words[b-s5x4jdii7n] { font-size: .78rem; margin: .4rem 0; }
.bank[b-s5x4jdii7n] { font-size: .72rem; color: #333; background: #f8fafc; padding: .35rem .5rem; border-radius: .3rem; }
.totals[b-s5x4jdii7n] { min-width: 250px; }
.totals > div[b-s5x4jdii7n] { display: flex; justify-content: space-between; padding: .15rem 0; border-bottom: 1px dotted #ddd; }
.totals span[b-s5x4jdii7n] { color: #555; }
.totals .net b[b-s5x4jdii7n], .totals .grand b[b-s5x4jdii7n] { font-size: .95rem; }
.totals .grand[b-s5x4jdii7n] { border-top: 2px solid #111; border-bottom: 2px solid #111; padding: .35rem 0; }
.totals .grand b[b-s5x4jdii7n] { color: #4f46e5; }
.totals .bal b[b-s5x4jdii7n] { color: #c81e1e; }
.declare[b-s5x4jdii7n] { display: flex; justify-content: space-between; margin-top: 1.2rem; font-size: .7rem; color: #444; }
.sign[b-s5x4jdii7n] { text-align: right; font-weight: 600; }
@media print {
  .no-print[b-s5x4jdii7n] { display: none !important; }
  .invoice[b-s5x4jdii7n] { border: none; margin: 0; max-width: 100%; }
}

/* one block per physical page when printing several copies / invoices */
.page-brk[b-s5x4jdii7n] { break-after: page; page-break-after: always; }

/* copy label banner — ORIGINAL / DUPLICATE ... printed on every extra copy */
.copy-banner[b-s5x4jdii7n] { display: flex; justify-content: space-between; align-items: center;
  border: 1px dashed #999; border-radius: .3rem; padding: .15rem .6rem; margin-bottom: .5rem; }
.copy-label[b-s5x4jdii7n] { font-weight: 800; letter-spacing: .12em; font-size: .78rem; }
.copy-count[b-s5x4jdii7n] { font-size: .68rem; color: #666; }

/* A5 is a smaller sheet — tighten the type so the 12-column line table still fits */
.invoice.paper-a5[b-s5x4jdii7n] { max-width: 560px; font-size: .72rem; padding: .8rem 1rem; }
.invoice.paper-a5 .co-name[b-s5x4jdii7n] { font-size: 1.05rem; }
.invoice.paper-a5 table.lines td[b-s5x4jdii7n] { font-size: .64rem; padding: .2rem .25rem; }
.invoice.paper-a5 table.lines th[b-s5x4jdii7n] { font-size: .58rem; padding: .22rem .25rem; }
/* A5 only: a long batch number or name may wrap instead of pushing the table past the sheet edge
   (Prem, 24 Oct 2026, cases 540/541 — the A5 preview ran off the page). Numbers stay on one line. */
.invoice.paper-a5 table.lines td[b-s5x4jdii7n] { white-space: normal; overflow-wrap: break-word; }
.invoice.paper-a5 table.lines td.r[b-s5x4jdii7n] { white-space: nowrap; }
.invoice.paper-a5 table.lines[b-s5x4jdii7n] { table-layout: auto; max-width: 100%; }
.invoice.paper-a5 table.lines td[b-s5x4jdii7n], .invoice.paper-a5 table.lines th[b-s5x4jdii7n] { padding-left: .12rem; padding-right: .12rem; }

.tb-group[b-s5x4jdii7n] { display: flex; align-items: center; gap: .25rem; }
.tb-lbl[b-s5x4jdii7n] { font-size: .72rem; color: #64748b; margin-right: .15rem; }
.tb-num[b-s5x4jdii7n] { width: 64px; }
/* _content/WhitengPharma_Blazor/Components/Pages/PurchaseReturnPage.razor.rz.scp.css */
.content-wrapper[b-3tyons48je] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-3tyons48je] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-3tyons48je] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-3tyons48je] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-3tyons48je] { margin-bottom: 0; }
.card[b-3tyons48je] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.sec-title[b-3tyons48je] { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #64748b; margin-bottom: .8rem; }
.form-label[b-3tyons48je] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.items-table[b-3tyons48je] { min-width: 900px; margin-bottom: 0; }
.items-table thead th[b-3tyons48je] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; background: #f8f9fa; white-space: nowrap; }
.items-table td[b-3tyons48je] { vertical-align: middle; padding: .45rem .55rem; white-space: nowrap; }
.items-table .num[b-3tyons48je] { text-align: right; }
.row-over[b-3tyons48je] { background: #fff4f4 !important; }
.sum-row[b-3tyons48je] { display: flex; justify-content: space-between; align-items: center; font-size: .85rem; padding: .2rem 0; }
.sum-row.grand[b-3tyons48je] { font-size: 1rem; border-top: 1px solid #eef0f3; margin-top: .35rem; padding-top: .5rem; }
.sum-row.grand b[b-3tyons48je] { color: #4f46e5; }
.mono[b-3tyons48je] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; }
.tbadge[b-3tyons48je] { font-size: .7rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; }
.badge-green[b-3tyons48je] { background: #def7ec; color: #0e7a53; }
.empty-state[b-3tyons48je] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-3tyons48je] { font-size: 2.2rem; margin-bottom: .8rem; opacity: .5; display: block; }
.badge-amber[b-3tyons48je] { background: #fef3c7; color: #92640e; }
/* Revising a saved note: a changed quantity stands out, with what it was underneath. */
.items-table .num.qty-changed[b-3tyons48je] { border-color: #6246ea; background: #efeafe; font-weight: 700; }
.was-qty[b-3tyons48je] { font-size: .68rem; color: #6b7280; text-align: right; }
/* _content/WhitengPharma_Blazor/Components/Pages/PurchaseReturnPrintPage.razor.rz.scp.css */
.toolbar[b-0i0x4v4jrg] { display: flex; gap: .5rem; padding: .75rem 1rem; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; }
.notfound[b-0i0x4v4jrg] { padding: 3rem; text-align: center; color: #6b7280; }
.invoice[b-0i0x4v4jrg] { max-width: 820px; margin: 1rem auto; padding: 1.2rem 1.5rem; background: #fff; color: #111; font-size: .8rem; border: 1px solid #e5e7eb; }
.inv-head[b-0i0x4v4jrg] { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid #111; padding-bottom: .6rem; }
.co-name[b-0i0x4v4jrg] { font-size: 1.3rem; font-weight: 700; }
.co-line[b-0i0x4v4jrg] { font-size: .78rem; color: #333; }
.inv-title[b-0i0x4v4jrg] { font-size: 1rem; font-weight: 700; letter-spacing: .05em; color: #555; }
.meta[b-0i0x4v4jrg] { display: flex; justify-content: space-between; gap: 1rem; margin: .8rem 0; }
.bill-to[b-0i0x4v4jrg] { flex: 1; }
.bill-to .lbl[b-0i0x4v4jrg] { font-size: .68rem; text-transform: uppercase; color: #666; font-weight: 700; }
.party-name[b-0i0x4v4jrg] { font-size: .95rem; font-weight: 700; }
.inv-meta[b-0i0x4v4jrg] { min-width: 230px; }
.inv-meta > div[b-0i0x4v4jrg] { display: flex; justify-content: space-between; border-bottom: 1px dotted #ddd; padding: .12rem 0; }
.inv-meta span[b-0i0x4v4jrg] { color: #666; }
table.lines[b-0i0x4v4jrg] { width: 100%; border-collapse: collapse; margin-top: .3rem; }
table.lines th[b-0i0x4v4jrg] { background: #111; color: #fff; font-size: .66rem; text-transform: uppercase; padding: .3rem .35rem; text-align: left; }
table.lines td[b-0i0x4v4jrg] { padding: .28rem .35rem; border-bottom: 1px solid #eee; font-size: .74rem; white-space: nowrap; }
/* Same fix as the sale invoice print: the product-name column may wrap so a long name can
   never push the table off the sheet edge. */
table.lines td.pname[b-0i0x4v4jrg] { white-space: normal; }
.wrapcell[b-0i0x4v4jrg] { display: block; overflow-wrap: break-word; max-width: 160px; }
/* break-word (not anywhere): wraps at SPACES, splitting a word only when it alone is
   too wide — 'anywhere' let the squeezed columns collapse to one letter per line. */
table.lines .r[b-0i0x4v4jrg] { text-align: right; }
.pname[b-0i0x4v4jrg] { white-space: normal; font-weight: 600; }
.foot[b-0i0x4v4jrg] { display: flex; justify-content: space-between; gap: 1rem; margin-top: .8rem; }
.foot-left[b-0i0x4v4jrg] { flex: 1; }
table.gst[b-0i0x4v4jrg] { border-collapse: collapse; margin-bottom: .5rem; }
table.gst th[b-0i0x4v4jrg], table.gst td[b-0i0x4v4jrg] { border: 1px solid #ddd; padding: .2rem .45rem; font-size: .72rem; }
table.gst .r[b-0i0x4v4jrg] { text-align: right; }
.words[b-0i0x4v4jrg] { font-size: .78rem; margin: .4rem 0; }
.bank[b-0i0x4v4jrg] { font-size: .72rem; color: #333; background: #f8fafc; padding: .35rem .5rem; border-radius: .3rem; }
.totals[b-0i0x4v4jrg] { min-width: 250px; }
.totals > div[b-0i0x4v4jrg] { display: flex; justify-content: space-between; padding: .15rem 0; border-bottom: 1px dotted #ddd; }
.totals span[b-0i0x4v4jrg] { color: #555; }
.totals .net b[b-0i0x4v4jrg], .totals .grand b[b-0i0x4v4jrg] { font-size: .95rem; }
.totals .grand[b-0i0x4v4jrg] { border-top: 2px solid #111; border-bottom: 2px solid #111; padding: .35rem 0; }
.totals .grand b[b-0i0x4v4jrg] { color: #4f46e5; }
.totals .bal b[b-0i0x4v4jrg] { color: #c81e1e; }
.declare[b-0i0x4v4jrg] { display: flex; justify-content: space-between; margin-top: 1.2rem; font-size: .7rem; color: #444; }
.sign[b-0i0x4v4jrg] { text-align: right; font-weight: 600; }
@media print {
  .no-print[b-0i0x4v4jrg] { display: none !important; }
  .invoice[b-0i0x4v4jrg] { border: none; margin: 0; max-width: 100%; }
}

/* one block per physical page when printing several copies / invoices */
.page-brk[b-0i0x4v4jrg] { break-after: page; page-break-after: always; }

/* copy label banner — ORIGINAL / DUPLICATE ... printed on every extra copy */
.copy-banner[b-0i0x4v4jrg] { display: flex; justify-content: space-between; align-items: center;
  border: 1px dashed #999; border-radius: .3rem; padding: .15rem .6rem; margin-bottom: .5rem; }
.copy-label[b-0i0x4v4jrg] { font-weight: 800; letter-spacing: .12em; font-size: .78rem; }
.copy-count[b-0i0x4v4jrg] { font-size: .68rem; color: #666; }

/* A5 is a smaller sheet — tighten the type so the 12-column line table still fits */
.invoice.paper-a5[b-0i0x4v4jrg] { max-width: 560px; font-size: .72rem; padding: .8rem 1rem; }
.invoice.paper-a5 .co-name[b-0i0x4v4jrg] { font-size: 1.05rem; }
.invoice.paper-a5 table.lines td[b-0i0x4v4jrg] { font-size: .64rem; padding: .2rem .25rem; }
.invoice.paper-a5 table.lines th[b-0i0x4v4jrg] { font-size: .58rem; padding: .22rem .25rem; }
/* A5 only: a long batch number or name may wrap instead of pushing the table past the sheet edge
   (Prem, 24 Oct 2026, cases 540/541 — the A5 preview ran off the page). Numbers stay on one line. */
.invoice.paper-a5 table.lines td[b-0i0x4v4jrg] { white-space: normal; overflow-wrap: break-word; }
.invoice.paper-a5 table.lines td.r[b-0i0x4v4jrg] { white-space: nowrap; }
.invoice.paper-a5 table.lines[b-0i0x4v4jrg] { table-layout: auto; max-width: 100%; }
.invoice.paper-a5 table.lines td[b-0i0x4v4jrg], .invoice.paper-a5 table.lines th[b-0i0x4v4jrg] { padding-left: .12rem; padding-right: .12rem; }

.tb-group[b-0i0x4v4jrg] { display: flex; align-items: center; gap: .25rem; }
.tb-lbl[b-0i0x4v4jrg] { font-size: .72rem; color: #64748b; margin-right: .15rem; }
.tb-num[b-0i0x4v4jrg] { width: 64px; }

/* Debit note only */
.rev[b-0i0x4v4jrg] { font-size: .72rem; font-weight: 700; color: #4f46e5; text-align: right; }
.inv-title-box[b-0i0x4v4jrg] { text-align: right; }
.gap-note[b-0i0x4v4jrg] { max-width: 820px; margin: .75rem auto 0; font-size: .8rem; background: #fff7e6; border: 1px solid #f3cf87; color: #6b4300; border-radius: .35rem; padding: .5rem .75rem; }
.reason[b-0i0x4v4jrg] { font-size: .74rem; margin: .5rem 0 0; }
/* _content/WhitengPharma_Blazor/Components/Pages/RateManagerPage.razor.rz.scp.css */
/* Rate Manager — a dense table people read across, so the money is what carries weight and
   everything supporting it (dates, margins, batch counts) steps back rather than competing. */

.rm-table[b-6e41wm03a6] {
    font-size: .82rem;
}

/* The heading row stays put while the list scrolls — on 1,300 rows you otherwise lose track of
   which column you are reading. */
.rm-table thead th[b-6e41wm03a6] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8f9fb;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #6b7280;
    white-space: nowrap;
    border-bottom: 2px solid #e5e7eb;
    padding: .5rem .5rem;
}

.rm-table tbody td[b-6e41wm03a6] {
    padding: .45rem .5rem;
    vertical-align: middle;
    border-bottom: 1px solid #f1f2f4;
}

.rm-table tbody tr:hover[b-6e41wm03a6] {
    background: #f8fbff;
}

/* Money reads as one size everywhere; the supporting line under it is deliberately quiet. */
.rm-money[b-6e41wm03a6] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #111827;
}

.rm-sub[b-6e41wm03a6] {
    font-size: .65rem;
    line-height: 1.25;
    color: #9ca3af;
    font-weight: 400;
    font-variant-numeric: tabular-nums;
}

.rm-name[b-6e41wm03a6] {
    font-weight: 600;
    color: #111827;
    line-height: 1.2;
}

.rm-meta[b-6e41wm03a6] {
    font-size: .66rem;
    color: #9ca3af;
    line-height: 1.3;
}

/* The column the whole screen is about — what the sale rate is worked out from. */
.rm-basis[b-6e41wm03a6] {
    background: #eef6ff !important;
    border-left: 2px solid #cfe3fb;
    border-right: 2px solid #cfe3fb;
}

.rm-basis .rm-money[b-6e41wm03a6] {
    color: #0b5ed7;
    font-size: .92rem;
}

/* Small flat pills instead of Bootstrap's heavy badges. */
.rm-pill[b-6e41wm03a6] {
    display: inline-block;
    font-size: .62rem;
    font-weight: 600;
    line-height: 1;
    padding: .2rem .38rem;
    border-radius: .35rem;
    vertical-align: middle;
}

.rm-pill-fixed[b-6e41wm03a6] { background: #e7f7ed; color: #0f7a3d; }
.rm-pill-free[b-6e41wm03a6]  { background: #f3f0ff; color: #5b45c9; }
.rm-pill-watch[b-6e41wm03a6] { background: #fff5e6; color: #b45309; }
/* "avg" sits against a cost figure rather than a medicine name, so it stays cooler and quieter
   than the name pills — it is a footnote on a number, not a flag on the row. */
.rm-pill-avg[b-6e41wm03a6]   { background: #e8f1fb; color: #1257a0; }
/* set by a scheme purchase, not by a person — amber, because it is waiting to be looked at */
.rm-pill-auto[b-6e41wm03a6]  { background: #fff3cd; color: #8a6100; }
/* ── Filter cards ──────────────────────────────────────────────────────────────
   The count leads and the words sit under it, because the count is what an operator
   scans the row for. Each card is its own box rather than a segment of a button bar:
   a bar forces one line, and eight labels on one line wrapped into vertical slivers
   a letter wide. These wrap onto a second row instead. */
.rm-chips[b-6e41wm03a6] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.rm-chip[b-6e41wm03a6] {
    flex: 1 1 128px;
    max-width: 190px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    padding: .5rem .7rem;
    border: 1px solid #e4e7ee;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    text-align: left;
    transition: border-color .12s ease, background .12s ease, transform .12s ease;
}

.rm-chip:hover[b-6e41wm03a6]  { border-color: #c2cad8; background: #f7f9fc; transform: translateY(-1px); }
.rm-chip:active[b-6e41wm03a6] { transform: translateY(0); }

.rm-chip .n[b-6e41wm03a6] {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.05;
    font-variant-numeric: tabular-nums;
    color: #212529;
}

.rm-chip .l[b-6e41wm03a6] {
    font-size: .7rem;
    line-height: 1.2;
    color: #6c757d;
    white-space: nowrap;
}

/* Selected: a ring rather than a heavy fill, so the numbers stay readable. */
.rm-chip.on[b-6e41wm03a6] {
    border-color: #0d6efd;
    background: #eef4ff;
    box-shadow: inset 0 0 0 1px #0d6efd;
}
.rm-chip.on .n[b-6e41wm03a6] { color: #0a4bbf; }
.rm-chip.on .l[b-6e41wm03a6] { color: #0a4bbf; }

/* Nothing in it — still shown, but it steps back so the eye goes to what needs doing. */
.rm-chip.empty .n[b-6e41wm03a6] { color: #adb5bd; }
.rm-chip.empty .l[b-6e41wm03a6] { color: #adb5bd; }

/* Tones carry the same meaning as the pills on the rows: amber asks, red warns,
   green is settled. Only the number is tinted — a wall of coloured boxes reads as noise. */
.rm-chip.warn   .n[b-6e41wm03a6] { color: #b45309; }
.rm-chip.warn.on[b-6e41wm03a6]    { border-color: #f59e0b; background: #fff8ec; box-shadow: inset 0 0 0 1px #f59e0b; }
.rm-chip.warn.on .n[b-6e41wm03a6],
.rm-chip.warn.on .l[b-6e41wm03a6] { color: #8a6100; }

.rm-chip.danger .n[b-6e41wm03a6] { color: #a12020; }
.rm-chip.danger.on[b-6e41wm03a6]  { border-color: #dc3545; background: #fdeded; box-shadow: inset 0 0 0 1px #dc3545; }
.rm-chip.danger.on .n[b-6e41wm03a6],
.rm-chip.danger.on .l[b-6e41wm03a6] { color: #8b1c1c; }

.rm-chip.good   .n[b-6e41wm03a6] { color: #0f7a3d; }
.rm-chip.good.on[b-6e41wm03a6]    { border-color: #198754; background: #edfaf2; box-shadow: inset 0 0 0 1px #198754; }
.rm-chip.good.on .n[b-6e41wm03a6],
.rm-chip.good.on .l[b-6e41wm03a6] { color: #0b5b2c; }

/* On a phone two per row beats eight squeezed ones. */
@media (max-width: 575.98px) {
    .rm-chip[b-6e41wm03a6] { flex: 1 1 calc(50% - .5rem); max-width: none; }
}

/* the Updated heading doubles as the sort control, so it has to look pressable */
.rm-sortable[b-6e41wm03a6] { cursor: pointer; user-select: none; }
.rm-sortable:hover[b-6e41wm03a6] { text-decoration: underline; }

/* the only red on the row: some shop is being quoted above the MRP on the pack */
.rm-pill-mrp[b-6e41wm03a6]   { background: #fde8e8; color: #a12020; }
.rm-mrp-over[b-6e41wm03a6]   { color: #a12020; font-weight: 600; font-size: .78rem; }

.rm-move[b-6e41wm03a6] {
    font-size: .74rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.rm-up[b-6e41wm03a6]   { color: #0f7a3d; }
.rm-down[b-6e41wm03a6] { color: #c62828; }

/* Previous buy: the latest bill costs more (dearer) or less (cheaper) than the one before it. */
.rm-dearer[b-6e41wm03a6]  { color: #c62828; font-size: .68rem; }
.rm-cheaper[b-6e41wm03a6] { color: #0f7a3d; font-size: .68rem; }

/* Actions stay quiet until the row is being worked on. */
.rm-actions .btn[b-6e41wm03a6] {
    --bs-btn-padding-y: .15rem;
    --bs-btn-padding-x: .4rem;
    --bs-btn-font-size: .68rem;
}

.rm-summary[b-6e41wm03a6] {
    font-size: .78rem;
}
/* _content/WhitengPharma_Blazor/Components/Pages/RetailerDevicesPage.razor.rz.scp.css */
.stat-icon[b-cweqlludct] {
    width: 44px; height: 44px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0;
}
.stat-icon.bg-blue[b-cweqlludct] { background: #e6f1fb; color: #185fa5; }
.stat-icon.bg-green[b-cweqlludct] { background: #eaf3de; color: #3b6d11; }
.stat-icon.bg-red[b-cweqlludct] { background: #fcebeb; color: #a32d2d; }
.stat-num[b-cweqlludct] { font-size: 1.55rem; font-weight: 700; line-height: 1.1; }

.text-muted-xs[b-cweqlludct] { font-size: .72rem; color: #6b7a8d; }

.device-id[b-cweqlludct] {
    font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .72rem;
    background: #f0f4f8; padding: 2px 7px; border-radius: 5px; color: #1a3c5e;
}

.badge-active[b-cweqlludct] { background: #d4edda; color: #155724; font-size: .7rem; padding: 3px 9px; border-radius: 20px; font-weight: 600; white-space: nowrap; }
.badge-inactive[b-cweqlludct] { background: #f8d7da; color: #721c24; font-size: .7rem; padding: 3px 9px; border-radius: 20px; font-weight: 600; white-space: nowrap; }

/* A phone that has never reported its build. Deliberately quiet rather than alarming: being on an
   older app is normal for a day or two after a release, and only turns into a question weeks on. */
.ver-old[b-cweqlludct] {
  display: inline-block;
  padding: .05rem .4rem;
  font-size: .7rem;
  color: #92400e;
  background: #fef3c7;
  border: 1px solid #fcd34d;
  border-radius: .5rem;
}
/* _content/WhitengPharma_Blazor/Components/Pages/RetailerMasterPage.razor.rz.scp.css */
/* Retailer Master — shared master styling + section headers for the big modal. */

.content-wrapper[b-u4lakozkyo] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-u4lakozkyo] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-u4lakozkyo] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-u4lakozkyo] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-u4lakozkyo] { margin-bottom: 0; }

.card[b-u4lakozkyo] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-u4lakozkyo] { font-size: .75rem; color: #6b7280; }
.form-label[b-u4lakozkyo] { font-size: .8rem; color: #6b7280; margin-bottom: .2rem; }

.ret-table[b-u4lakozkyo] { min-width: 1700px; margin-bottom: 0; }
.ret-table thead th[b-u4lakozkyo] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background-color: #f8f9fa; z-index: 10; box-shadow: 0 2px 2px -1px rgba(0,0,0,.1); white-space: nowrap; }
.ret-table td[b-u4lakozkyo], .ret-table th[b-u4lakozkyo] { vertical-align: middle; }
.ret-table td[b-u4lakozkyo] { padding: .5rem .7rem; white-space: nowrap; }
.mono[b-u4lakozkyo] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; }
.pwd-cell[b-u4lakozkyo] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; color: #64748b; }

.badge-soft-success[b-u4lakozkyo] { background: #def7ec; color: #0e7a53; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-secondary[b-u4lakozkyo] { background: #e5e7eb; color: #64748b; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-primary[b-u4lakozkyo] { background: #e0e7ff; color: #3730a3; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-warning[b-u4lakozkyo] { background: #fef3c7; color: #92640e; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }

.sec-title[b-u4lakozkyo] { font-weight: 700; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; color: #0d6efd; border-bottom: 2px solid #e5e7eb; padding-bottom: .3rem; margin: 1.1rem 0 .3rem; }
.sec-title:first-child[b-u4lakozkyo] { margin-top: 0; }

.empty-state[b-u4lakozkyo] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-u4lakozkyo] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

.btn.disabled[b-u4lakozkyo], .btn:disabled[b-u4lakozkyo] { opacity: .65; cursor: not-allowed; }

/* map co-ordinate helper note (parity phase 5) */
.geo-note[b-u4lakozkyo] { font-size: .75rem; color: #475569; background: #f1f5f9; padding: .15rem .5rem; border-radius: .35rem; }

/* inline field validation (parity phase 5) */
.field-err[b-u4lakozkyo] { color: #b91c1c; font-size: .74rem; margin-top: .15rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/RetailerOrdersPage.razor.rz.scp.css */
.content-wrapper[b-ybh7mqs6mm] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-ybh7mqs6mm] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-ybh7mqs6mm] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-ybh7mqs6mm] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-ybh7mqs6mm] { margin-bottom: 0; }
.card[b-ybh7mqs6mm] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-ybh7mqs6mm] { font-size: .75rem; color: #6b7280; }
.ord-table[b-ybh7mqs6mm] { min-width: 1000px; margin-bottom: 0; }
.ord-table thead th[b-ybh7mqs6mm] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.ord-table td[b-ybh7mqs6mm] { vertical-align: middle; padding: .5rem .6rem; white-space: nowrap; }
.mono[b-ybh7mqs6mm] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; }
.tbadge[b-ybh7mqs6mm] { font-size: .7rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; }
.badge-blue[b-ybh7mqs6mm] { background: #e0f2fe; color: #075985; } .badge-violet[b-ybh7mqs6mm] { background: #ede9fe; color: #5b21b6; }
.badge-green[b-ybh7mqs6mm] { background: #def7ec; color: #0e7a53; } .badge-gold[b-ybh7mqs6mm] { background: #fef3c7; color: #92640e; } .badge-grey[b-ybh7mqs6mm] { background: #e5e7eb; color: #64748b; } .badge-red[b-ybh7mqs6mm] { background: #fde8e8; color: #c81e1e; }
.detail-row td[b-ybh7mqs6mm] { background: #f8fafc; padding: 0 !important; }
.detail-box[b-ybh7mqs6mm] { padding: 8px 14px 12px; }
.detail-box .table[b-ybh7mqs6mm] { background: #fff; border-radius: .5rem; overflow: hidden; }
.detail-box thead th[b-ybh7mqs6mm] { font-size: .68rem; color: #9ca3af; text-transform: uppercase; }
.empty-state[b-ybh7mqs6mm] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-ybh7mqs6mm] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }
.btn.disabled[b-ybh7mqs6mm], .btn:disabled[b-ybh7mqs6mm] { opacity: .65; cursor: not-allowed; }

/* Status strip above the register. The screen opens on "Waiting to bill", so that tab has to read
   as the selected one at a glance; the rest carry their counts so nothing looks hidden. */
.ord-tabs[b-ybh7mqs6mm] { display: flex; flex-wrap: wrap; gap: .4rem; }
.ord-tab[b-ybh7mqs6mm] { border: 1px solid #e5e7eb; background: #fff; color: #475569; border-radius: 2rem;
           padding: .3rem .85rem; font-size: .8rem; font-weight: 500; line-height: 1.4; }
.ord-tab:hover[b-ybh7mqs6mm] { border-color: #c7d2fe; color: #4338ca; }
.ord-tab.active[b-ybh7mqs6mm] { background: #4f46e5; border-color: #4f46e5; color: #fff; }
.ord-tab-n[b-ybh7mqs6mm] { display: inline-block; margin-left: .35rem; min-width: 1.4rem; padding: 0 .35rem;
             border-radius: 1rem; background: #f1f5f9; color: #475569; font-size: .72rem; font-weight: 600; }
.ord-tab.active .ord-tab-n[b-ybh7mqs6mm] { background: rgba(255,255,255,.25); color: #fff; }

/* Mergeable-orders panel sits above the register so duplicate orders are dealt with before
   anyone starts picking against them. */
.merge-card[b-ybh7mqs6mm] { border-left: 3px solid #6366f1; }

/* Mergeable orders — one block per shop, its orders ticked individually. */
.merge-group[b-ybh7mqs6mm] { border-bottom: 1px solid #eef2f7; padding: .6rem .9rem .5rem; }
.merge-group:last-child[b-ybh7mqs6mm] { border-bottom: none; }
.mg-head[b-ybh7mqs6mm] { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; margin-bottom: .35rem; }
.mg-foot[b-ybh7mqs6mm] { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; padding-top: .5rem; }
.btn-xs[b-ybh7mqs6mm] { padding: .1rem .4rem; font-size: .72rem; line-height: 1.25; }

.age-badge[b-ybh7mqs6mm] { font-size: .72rem; font-weight: 600; padding: .1rem .45rem; border-radius: 1rem; background: #eef2f7; color: #475569; white-space: nowrap; }
.age-badge.today[b-ybh7mqs6mm] { background: #def7ec; color: #0e7a53; }
/* Months-old orders read as ordinary rows once they sit beside today's — the colour is the warning. */
.age-badge.old[b-ybh7mqs6mm] { background: #fde8e8; color: #c81e1e; }
.stale-order[b-ybh7mqs6mm] { background: #fffafa; }
/* _content/WhitengPharma_Blazor/Components/Pages/SaleReturnPage.razor.rz.scp.css */
.content-wrapper[b-p2xawitkr4] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-p2xawitkr4] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-p2xawitkr4] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-p2xawitkr4] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-p2xawitkr4] { margin-bottom: 0; }
.card[b-p2xawitkr4] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-p2xawitkr4] { font-size: .8rem; color: #6b7280; margin-bottom: .2rem; }
.text-muted-xs[b-p2xawitkr4] { font-size: .75rem; color: #6b7280; }
.sec-title[b-p2xawitkr4] { font-weight: 700; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; color: #0d6efd; border-bottom: 2px solid #e5e7eb; padding-bottom: .3rem; margin: 0 0 .8rem; }
.wallet-chip[b-p2xawitkr4] { background: #ecfdf5; border: 1px solid #a7f0cf; border-radius: .6rem; padding: .4rem .7rem; font-size: .72rem; color: #0e7a53; text-align: center; }
.wallet-chip b[b-p2xawitkr4] { font-size: 1rem; }
.items-table[b-p2xawitkr4] { min-width: 820px; margin-bottom: 0; }
.items-table thead th[b-p2xawitkr4] { font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; color: #6b7280; background: #f8f9fa; white-space: nowrap; position: sticky; top: 0; z-index: 10; }
.items-table td[b-p2xawitkr4] { vertical-align: middle; padding: .4rem .5rem; white-space: nowrap; }
.items-table .num[b-p2xawitkr4] { width: 90px; text-align: right; }
.row-sel td[b-p2xawitkr4] { background: #ecfdf5; }
.mono[b-p2xawitkr4] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; }
.badge-soft-success[b-p2xawitkr4] { background: #def7ec; color: #0e7a53; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.empty-state[b-p2xawitkr4] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-p2xawitkr4] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }
.btn.disabled[b-p2xawitkr4], .btn:disabled[b-p2xawitkr4] { opacity: .65; cursor: not-allowed; }

/* multi-invoice credit note (parity phase 6) */
.src-inv[b-p2xawitkr4] { font-family: ui-monospace, Consolas, monospace; font-size: .72rem; color: #475569; white-space: nowrap; }
.btn-x[b-p2xawitkr4] { border: none; background: none; color: #b91c1c; font-size: 1.1rem; line-height: 1; cursor: pointer; padding: 0 .3rem; }
.btn-x:hover[b-p2xawitkr4] { color: #7f1d1d; }

/* medicine-first path: pick the medicine, then the bill it comes off */
.mode-switch .btn[b-p2xawitkr4] { font-size: .72rem; text-transform: none; letter-spacing: 0; font-weight: 600; padding: .18rem .6rem; }
.row-added td[b-p2xawitkr4] { background: #f1f5f9; color: #64748b; }

/* goods off a pre-batch bill: credited, but never restocked */
.no-batch[b-p2xawitkr4] { display: inline-block; background: #fef3c7; color: #92400e; border: 1px solid #fcd34d; border-radius: 1rem; font-size: .64rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; padding: .04rem .4rem; margin-left: .3rem; cursor: help; }
.no-batch-strip[b-p2xawitkr4] { background: #fffbeb; border-top: 1px solid #fcd34d; color: #92400e; font-size: .78rem; padding: .5rem .9rem; }
/* Credit-note settlement (client, 20 Oct 2026) — worked out from the wallet, see CreditNoteSettlement. */
.badge-soft-warning[b-p2xawitkr4] { background: #fef3c7; color: #92400e; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; white-space: nowrap; }
.badge-soft-danger[b-p2xawitkr4] { background: #fee2e2; color: #991b1b; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; white-space: nowrap; }
.badge-soft-secondary[b-p2xawitkr4] { background: #f3f4f6; color: #374151; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/SaleReturnPrintPage.razor.rz.scp.css */
.toolbar[b-j8si3huywr] { display: flex; gap: .5rem; padding: .75rem 1rem; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; }
.notfound[b-j8si3huywr] { padding: 3rem; text-align: center; color: #6b7280; }
.invoice[b-j8si3huywr] { max-width: 820px; margin: 1rem auto; padding: 1.2rem 1.5rem; background: #fff; color: #111; font-size: .8rem; border: 1px solid #e5e7eb; }
.inv-head[b-j8si3huywr] { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid #111; padding-bottom: .6rem; }
.co-name[b-j8si3huywr] { font-size: 1.3rem; font-weight: 700; }
.co-line[b-j8si3huywr] { font-size: .78rem; color: #333; }
.inv-title[b-j8si3huywr] { font-size: 1rem; font-weight: 700; letter-spacing: .05em; color: #555; }
.meta[b-j8si3huywr] { display: flex; justify-content: space-between; gap: 1rem; margin: .8rem 0; }
.bill-to[b-j8si3huywr] { flex: 1; }
.bill-to .lbl[b-j8si3huywr] { font-size: .68rem; text-transform: uppercase; color: #666; font-weight: 700; }
.party-name[b-j8si3huywr] { font-size: .95rem; font-weight: 700; }
.inv-meta[b-j8si3huywr] { min-width: 230px; }
.inv-meta > div[b-j8si3huywr] { display: flex; justify-content: space-between; border-bottom: 1px dotted #ddd; padding: .12rem 0; }
.inv-meta span[b-j8si3huywr] { color: #666; }
table.lines[b-j8si3huywr] { width: 100%; border-collapse: collapse; margin-top: .3rem; }
table.lines th[b-j8si3huywr] { background: #111; color: #fff; font-size: .66rem; text-transform: uppercase; padding: .3rem .35rem; text-align: left; }
table.lines td[b-j8si3huywr] { padding: .28rem .35rem; border-bottom: 1px solid #eee; font-size: .74rem; white-space: nowrap; }
/* Same fix as the sale invoice print: the product-name column may wrap so a long name can
   never push the table off the sheet edge. */
table.lines td.pname[b-j8si3huywr] { white-space: normal; }
.wrapcell[b-j8si3huywr] { display: block; overflow-wrap: break-word; max-width: 160px; }
/* break-word (not anywhere): wraps at SPACES, splitting a word only when it alone is
   too wide — 'anywhere' let the squeezed columns collapse to one letter per line. */
table.lines .r[b-j8si3huywr] { text-align: right; }
.pname[b-j8si3huywr] { white-space: normal; font-weight: 600; }
.foot[b-j8si3huywr] { display: flex; justify-content: space-between; gap: 1rem; margin-top: .8rem; }
.foot-left[b-j8si3huywr] { flex: 1; }
table.gst[b-j8si3huywr] { border-collapse: collapse; margin-bottom: .5rem; }
table.gst th[b-j8si3huywr], table.gst td[b-j8si3huywr] { border: 1px solid #ddd; padding: .2rem .45rem; font-size: .72rem; }
table.gst .r[b-j8si3huywr] { text-align: right; }
.words[b-j8si3huywr] { font-size: .78rem; margin: .4rem 0; }
.bank[b-j8si3huywr] { font-size: .72rem; color: #333; background: #f8fafc; padding: .35rem .5rem; border-radius: .3rem; }
.totals[b-j8si3huywr] { min-width: 250px; }
.totals > div[b-j8si3huywr] { display: flex; justify-content: space-between; padding: .15rem 0; border-bottom: 1px dotted #ddd; }
.totals span[b-j8si3huywr] { color: #555; }
.totals .net b[b-j8si3huywr], .totals .grand b[b-j8si3huywr] { font-size: .95rem; }
.totals .grand[b-j8si3huywr] { border-top: 2px solid #111; border-bottom: 2px solid #111; padding: .35rem 0; }
.totals .grand b[b-j8si3huywr] { color: #4f46e5; }
.totals .bal b[b-j8si3huywr] { color: #c81e1e; }
.declare[b-j8si3huywr] { display: flex; justify-content: space-between; margin-top: 1.2rem; font-size: .7rem; color: #444; }
.sign[b-j8si3huywr] { text-align: right; font-weight: 600; }
@media print {
  .no-print[b-j8si3huywr] { display: none !important; }
  .invoice[b-j8si3huywr] { border: none; margin: 0; max-width: 100%; }
}

/* one block per physical page when printing several copies / invoices */
.page-brk[b-j8si3huywr] { break-after: page; page-break-after: always; }

/* copy label banner — ORIGINAL / DUPLICATE ... printed on every extra copy */
.copy-banner[b-j8si3huywr] { display: flex; justify-content: space-between; align-items: center;
  border: 1px dashed #999; border-radius: .3rem; padding: .15rem .6rem; margin-bottom: .5rem; }
.copy-label[b-j8si3huywr] { font-weight: 800; letter-spacing: .12em; font-size: .78rem; }
.copy-count[b-j8si3huywr] { font-size: .68rem; color: #666; }

/* A5 is a smaller sheet — tighten the type so the 12-column line table still fits */
.invoice.paper-a5[b-j8si3huywr] { max-width: 560px; font-size: .72rem; padding: .8rem 1rem; }
.invoice.paper-a5 .co-name[b-j8si3huywr] { font-size: 1.05rem; }
.invoice.paper-a5 table.lines td[b-j8si3huywr] { font-size: .64rem; padding: .2rem .25rem; }
.invoice.paper-a5 table.lines th[b-j8si3huywr] { font-size: .58rem; padding: .22rem .25rem; }
/* A5 only: a long batch number or name may wrap instead of pushing the table past the sheet edge
   (Prem, 24 Oct 2026, cases 540/541 — the A5 preview ran off the page). Numbers stay on one line. */
.invoice.paper-a5 table.lines td[b-j8si3huywr] { white-space: normal; overflow-wrap: break-word; }
.invoice.paper-a5 table.lines td.r[b-j8si3huywr] { white-space: nowrap; }
.invoice.paper-a5 table.lines[b-j8si3huywr] { table-layout: auto; max-width: 100%; }
.invoice.paper-a5 table.lines td[b-j8si3huywr], .invoice.paper-a5 table.lines th[b-j8si3huywr] { padding-left: .12rem; padding-right: .12rem; }

.tb-group[b-j8si3huywr] { display: flex; align-items: center; gap: .25rem; }
.tb-lbl[b-j8si3huywr] { font-size: .72rem; color: #64748b; margin-right: .15rem; }
.tb-num[b-j8si3huywr] { width: 64px; }

/* Debit note only */
.rev[b-j8si3huywr] { font-size: .72rem; font-weight: 700; color: #4f46e5; text-align: right; }
.inv-title-box[b-j8si3huywr] { text-align: right; }
.gap-note[b-j8si3huywr] { max-width: 820px; margin: .75rem auto 0; font-size: .8rem; background: #fff7e6; border: 1px solid #f3cf87; color: #6b4300; border-radius: .35rem; padding: .5rem .75rem; }
.reason[b-j8si3huywr] { font-size: .74rem; margin: .5rem 0 0; }
/* _content/WhitengPharma_Blazor/Components/Pages/SalesEntryPage.razor.rz.scp.css */
/* Sales Entry — mirror of purchase entry (customer + stock-batch line items). */

.content-wrapper[b-c78wxmqqwm] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-c78wxmqqwm] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-c78wxmqqwm] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-c78wxmqqwm] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-c78wxmqqwm] { margin-bottom: 0; }

.card[b-c78wxmqqwm] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-c78wxmqqwm] { font-size: .8rem; color: #6b7280; margin-bottom: .2rem; }

.sec-title[b-c78wxmqqwm] { font-weight: 700; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; color: #0d6efd; border-bottom: 2px solid #e5e7eb; padding-bottom: .3rem; margin: 0 0 .8rem; }

.items-table[b-c78wxmqqwm] { min-width: 1050px; margin-bottom: 0; }
.items-table thead th[b-c78wxmqqwm] { font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; color: #6b7280; background: #f8f9fa; white-space: nowrap; }
.items-table td[b-c78wxmqqwm] { vertical-align: middle; padding: .35rem .4rem; }
.items-table .num[b-c78wxmqqwm] { width: 82px; text-align: right; }
.row-over td[b-c78wxmqqwm] { background: #fff5f5; }

.sum-row[b-c78wxmqqwm] { display: flex; justify-content: space-between; align-items: center; padding: .35rem 0; border-bottom: 1px dashed #eef2f7; font-size: .9rem; }
.sum-row span:first-child[b-c78wxmqqwm] { color: #6b7280; }
.sum-row.grand[b-c78wxmqqwm] { border-top: 2px solid #e5e7eb; border-bottom: none; margin-top: .3rem; padding-top: .5rem; font-size: 1.05rem; }
.sum-row.grand b[b-c78wxmqqwm] { color: #0e7a53; }
.sum-in[b-c78wxmqqwm] { width: 110px; text-align: right; }

.btn.disabled[b-c78wxmqqwm], .btn:disabled[b-c78wxmqqwm] { opacity: .65; cursor: not-allowed; }

/* Marks the round-off as automatic, so an operator can tell at a glance whether the figure is
   being worked out for them or is one they typed. */
.auto-tag[b-c78wxmqqwm] { font-size: .62rem; text-transform: uppercase; letter-spacing: .04em; background: #dcfce7; color: #166534; padding: .05rem .3rem; border-radius: .3rem; margin-left: .3rem; }

/* Same-content swap button, kept narrow so it does not squeeze the medicine box. */
.swap-btn[b-c78wxmqqwm] { flex: 0 0 auto; padding: .15rem .4rem; }

/* Bill-level margin override sits above the totals, visually separated so it reads as an input
   rather than another computed figure. */
.sum-row.margin-row[b-c78wxmqqwm] { align-items: flex-start; background: #f8fafc; border-radius: .4rem; padding: .4rem .5rem; margin-bottom: .35rem; }

/* Rate guide: this customer's own last price is the line an operator is usually hunting for,
   so it is called out above the table and highlighted in the history. */
.guide-hit[b-c78wxmqqwm] { background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: .5rem; padding: .5rem .7rem; margin-bottom: .75rem; font-size: .85rem; }
.guide-table td[b-c78wxmqqwm] { padding: .35rem .5rem; }
tr.guide-mine td[b-c78wxmqqwm] { background: #f0fdf4; font-weight: 500; }

/* keyboard hint on the save button */
.kbd-hint[b-c78wxmqqwm] { background: rgba(255,255,255,.25); border-radius: .3rem; font-size: .68rem; padding: .05rem .35rem; margin-left: .3rem; }

/* batch-picker cards — stock level and expiry readable before committing */
.bp-grid[b-c78wxmqqwm] { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .6rem; }
.bp-card[b-c78wxmqqwm] { border: 1px solid #e5e7eb; border-radius: .6rem; padding: .55rem .7rem; cursor: pointer; transition: box-shadow .12s, border-color .12s; }
.bp-card:hover[b-c78wxmqqwm] { border-color: #4338ca; box-shadow: 0 4px 14px rgba(67,56,202,.18); }
.bp-batch[b-c78wxmqqwm] { font-weight: 700; font-size: .85rem; font-family: ui-monospace, Menlo, monospace; }
.bp-pill[b-c78wxmqqwm] { font-size: .66rem; font-weight: 700; border-radius: 1rem; padding: .08rem .5rem; }
.bp-good[b-c78wxmqqwm] { background: #def7ec; color: #0e7a53; }
.bp-low[b-c78wxmqqwm] { background: #fef3c7; color: #92640e; }
.bp-crit[b-c78wxmqqwm] { background: #fee2e2; color: #b42318; }
.bp-exp[b-c78wxmqqwm] { font-size: .72rem; color: #6b7280; margin: .15rem 0 .3rem; }
.bp-exp.warn[b-c78wxmqqwm] { color: #d97706; font-weight: 600; }
.bp-near[b-c78wxmqqwm] { background: #fef3c7; color: #92640e; font-size: .62rem; font-weight: 700; border-radius: 1rem; padding: .04rem .4rem; margin-left: .3rem; }
.bp-line[b-c78wxmqqwm] { display: flex; justify-content: space-between; font-size: .74rem; }
.bp-line span[b-c78wxmqqwm] { color: #6b7280; }
.bp-loc[b-c78wxmqqwm] { font-size: .66rem; color: #9ca3af; margin-top: .2rem; }

/* GST slab breakup under the summary */
.gst-break th[b-c78wxmqqwm] { font-size: .66rem; text-transform: uppercase; color: #6b7280; }
.gst-break td[b-c78wxmqqwm], .gst-break th[b-c78wxmqqwm] { padding: .2rem .4rem; }

/* per-line remark (parity phase 1b) */
.rem-in[b-c78wxmqqwm] { font-size: .78rem; }

/* Rate that has reached MRP — amber edge, not an error state: selling at MRP is allowed. */
.rate-warn[b-c78wxmqqwm] { border-color: #e65100 !important; background: rgba(230, 81, 0, .06); }
/* Near-expiry on the bill line itself (client, 20 Oct 2026): red within 30 days, amber within 90 — see ExpiryAlert. */
.bp-near-red[b-c78wxmqqwm] { background: #fee2e2; color: #991b1b; }
.exp-chip[b-c78wxmqqwm] { display: inline-block; font-size: .72rem; font-weight: 700; border-radius: 1rem; padding: .05rem .45rem; white-space: nowrap; }
.exp-amber[b-c78wxmqqwm] { background: #fef3c7; color: #92400e; border: 1px solid #fde68a; }
.exp-red[b-c78wxmqqwm] { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
/* _content/WhitengPharma_Blazor/Components/Pages/SdAnalysisPage.razor.rz.scp.css */
.content-wrapper[b-66cucnqj1v] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-66cucnqj1v] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-66cucnqj1v] { margin-bottom: 1.2rem; }
.page-title[b-66cucnqj1v] { margin: 0; font-size: 1.2rem; font-weight: 600; }
.breadcrumb[b-66cucnqj1v] { margin-bottom: 0; }
.card[b-66cucnqj1v] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-66cucnqj1v] { font-size: .68rem; color: #6b7280; }
.form-label[b-66cucnqj1v] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.kpis[b-66cucnqj1v] { display: grid; grid-template-columns: repeat(6, 1fr); gap: .6rem; }
@media (max-width: 1200px) { .kpis[b-66cucnqj1v] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .kpis[b-66cucnqj1v] { grid-template-columns: repeat(2, 1fr); } }
.k[b-66cucnqj1v] { background: #fff; border-radius: .7rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .65rem .8rem; }
.k span[b-66cucnqj1v] { font-size: 1.15rem; font-weight: 700; display: block; color: #4f46e5; }
.k small[b-66cucnqj1v] { font-size: .66rem; color: #6b7280; }
.card-header h6[b-66cucnqj1v] { font-size: .85rem; font-weight: 600; }
.mrow[b-66cucnqj1v] { display: flex; align-items: center; gap: .6rem; margin-bottom: .4rem; }
.ml[b-66cucnqj1v] { width: 34px; font-size: .75rem; color: #475569; font-weight: 600; }
.mbar[b-66cucnqj1v] { flex: 1; height: 12px; background: #eef2f7; border-radius: 6px; overflow: hidden; }
.mfill[b-66cucnqj1v] { height: 100%; background: linear-gradient(90deg,#6366f1,#4f46e5); }
.mv[b-66cucnqj1v] { width: 150px; text-align: right; font-size: .78rem; }
.mono[b-66cucnqj1v] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .75rem; }
.tbadge[b-66cucnqj1v] { font-size: .68rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; }
.badge-blue[b-66cucnqj1v] { background: #e0f2fe; color: #075985; }
.prof[b-66cucnqj1v] { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .8rem; }
.prof > div[b-66cucnqj1v] { display: flex; flex-direction: column; }
.prof small[b-66cucnqj1v] { font-size: .66rem; color: #6b7280; text-transform: uppercase; letter-spacing: .02em; }
.prof b[b-66cucnqj1v] { font-size: .85rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/StockAuditPage.razor.rz.scp.css */
.content-wrapper[b-ls1mli8nh8] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-ls1mli8nh8] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-ls1mli8nh8] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-ls1mli8nh8] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-ls1mli8nh8] { margin-bottom: 0; }
.card[b-ls1mli8nh8] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-ls1mli8nh8] { font-size: .72rem; color: #6b7280; }

.kpi-row[b-ls1mli8nh8] { display: grid; grid-template-columns: repeat(6, 1fr); gap: .7rem; }
@media (max-width: 1200px) { .kpi-row[b-ls1mli8nh8] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .kpi-row[b-ls1mli8nh8] { grid-template-columns: repeat(2, 1fr); } }
.kpi[b-ls1mli8nh8] { background: #fff; border-radius: .7rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .7rem .8rem; display: flex; align-items: center; gap: .7rem; cursor: pointer; border: 2px solid transparent; }
.kpi:hover[b-ls1mli8nh8] { box-shadow: 0 3px 10px rgba(15,23,42,.14); }
.kpi.active[b-ls1mli8nh8] { border-color: #4f46e5; }
.kpi-ic[b-ls1mli8nh8] { width: 38px; height: 38px; border-radius: .55rem; display: flex; align-items: center; justify-content: center; color: #fff; flex: none; }
.ic-slate[b-ls1mli8nh8] { background: #64748b; } .ic-red[b-ls1mli8nh8] { background: #dc2626; } .ic-orange[b-ls1mli8nh8] { background: #ea580c; } .ic-amber[b-ls1mli8nh8] { background: #f59e0b; } .ic-green[b-ls1mli8nh8] { background: #10b981; } .ic-indigo[b-ls1mli8nh8] { background: #4f46e5; }
.kpi-n[b-ls1mli8nh8] { font-size: 1.15rem; font-weight: 700; line-height: 1.1; }
.kpi-l[b-ls1mli8nh8] { font-size: .68rem; color: #6b7280; margin-top: .15rem; }

.sa-table[b-ls1mli8nh8] { min-width: 950px; margin-bottom: 0; }
.sa-table thead th[b-ls1mli8nh8] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.sa-table td[b-ls1mli8nh8] { vertical-align: middle; padding: .5rem .55rem; white-space: nowrap; }
.tbadge[b-ls1mli8nh8] { font-size: .68rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; }
.badge-red[b-ls1mli8nh8] { background: #fde8e8; color: #c81e1e; } .badge-orange[b-ls1mli8nh8] { background: #ffedd5; color: #c2410c; } .badge-amber[b-ls1mli8nh8] { background: #fef3c7; color: #92640e; } .badge-green[b-ls1mli8nh8] { background: #def7ec; color: #0e7a53; }
.empty-state[b-ls1mli8nh8] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-ls1mli8nh8] { font-size: 2.2rem; margin-bottom: .8rem; opacity: .5; display: block; }

/* Multi-select brand filter — kept short so it does not dominate the filter bar. */
.brand-multi[b-ls1mli8nh8] { width: 190px; min-height: 4.6rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/StockBatchesPage.razor.rz.scp.css */
/* Stock Batches — summary cards + expiry-coded batch list. */

.content-wrapper[b-6zbf0waf5f] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-6zbf0waf5f] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-6zbf0waf5f] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-6zbf0waf5f] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-6zbf0waf5f] { margin-bottom: 0; }

.card[b-6zbf0waf5f] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-6zbf0waf5f] { font-size: .75rem; color: #6b7280; }
.form-label[b-6zbf0waf5f] { font-size: .8rem; color: #6b7280; margin-bottom: .2rem; }

.stat[b-6zbf0waf5f] { background: #fff; border-radius: .75rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .7rem .9rem; display: flex; align-items: center; gap: .7rem; }
.stat-chip[b-6zbf0waf5f] { width: 40px; height: 40px; border-radius: .6rem; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1rem; flex: none; }
.chip-blue[b-6zbf0waf5f] { background: #4f8ef7; } .chip-teal[b-6zbf0waf5f] { background: #14b8a6; } .chip-gold[b-6zbf0waf5f] { background: #f5c842; } .chip-red[b-6zbf0waf5f] { background: #f05252; } .chip-orange[b-6zbf0waf5f] { background: #f97316; }
.stat-n[b-6zbf0waf5f] { font-size: 1.3rem; font-weight: 700; line-height: 1; }
.stat-l[b-6zbf0waf5f] { font-size: .68rem; color: #6b7280; text-transform: uppercase; letter-spacing: .04em; margin-top: .2rem; }

.stk-table[b-6zbf0waf5f] { min-width: 1050px; margin-bottom: 0; }
.stk-table thead th[b-6zbf0waf5f] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; box-shadow: 0 2px 2px -1px rgba(0,0,0,.1); white-space: nowrap; }
.stk-table td[b-6zbf0waf5f] { vertical-align: middle; padding: .5rem .6rem; white-space: nowrap; }

.exp-badge[b-6zbf0waf5f] { font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-green[b-6zbf0waf5f] { background: #def7ec; color: #0e7a53; }
.badge-gold[b-6zbf0waf5f] { background: #fef3c7; color: #92640e; }
.badge-red[b-6zbf0waf5f] { background: #fde8e8; color: #c81e1e; }

.empty-state[b-6zbf0waf5f] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-6zbf0waf5f] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

.btn.disabled[b-6zbf0waf5f], .btn:disabled[b-6zbf0waf5f] { opacity: .65; cursor: not-allowed; }

/* Multi-select brand filter, kept short so it does not dominate the filter bar. */
.brand-multi[b-6zbf0waf5f] { width: 180px; min-height: 4.4rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/StockReconciliationPage.razor.rz.scp.css */
.content-wrapper[b-97m3sanyh5] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-97m3sanyh5] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-97m3sanyh5] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-97m3sanyh5] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-97m3sanyh5] { margin-bottom: 0; }
.card[b-97m3sanyh5] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-97m3sanyh5] { font-size: .72rem; color: #6b7280; }
.form-label[b-97m3sanyh5] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }

.tiles[b-97m3sanyh5] { display: grid; grid-template-columns: repeat(7, 1fr); gap: .6rem; }
@media (max-width: 1200px) { .tiles[b-97m3sanyh5] { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 640px) { .tiles[b-97m3sanyh5] { grid-template-columns: repeat(2, 1fr); } }
.tile[b-97m3sanyh5] { background: #fff; border-radius: .7rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .6rem .75rem; cursor: pointer; border: 2px solid transparent; }
.tile:hover[b-97m3sanyh5] { box-shadow: 0 3px 10px rgba(15,23,42,.14); }
.tile.active[b-97m3sanyh5] { border-color: #4f46e5; }
.t-l[b-97m3sanyh5] { font-size: .66rem; color: #6b7280; text-transform: uppercase; letter-spacing: .02em; }
.t-v[b-97m3sanyh5] { font-size: 1.3rem; font-weight: 700; margin-top: .1rem; }
.tile-green .t-v[b-97m3sanyh5] { color: #0e7a53; } .tile-orange .t-v[b-97m3sanyh5] { color: #c2410c; } .tile-red .t-v[b-97m3sanyh5] { color: #c81e1e; }
.tile-purple .t-v[b-97m3sanyh5] { color: #6d28d9; } .tile-blue .t-v[b-97m3sanyh5] { color: #075985; } .tile-dred .t-v[b-97m3sanyh5] { color: #991b1b; }

.rc-table[b-97m3sanyh5] { min-width: 1050px; margin-bottom: 0; }
.rc-table thead th[b-97m3sanyh5] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.rc-table td[b-97m3sanyh5] { vertical-align: middle; padding: .5rem .55rem; white-space: nowrap; }
.mono[b-97m3sanyh5] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .76rem; }
.tbadge[b-97m3sanyh5] { font-size: .68rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; white-space: nowrap; }
.badge-green[b-97m3sanyh5] { background: #def7ec; color: #0e7a53; } .badge-orange[b-97m3sanyh5] { background: #ffedd5; color: #c2410c; } .badge-red[b-97m3sanyh5] { background: #fde8e8; color: #c81e1e; }
.badge-purple[b-97m3sanyh5] { background: #ede9fe; color: #6d28d9; } .badge-blue[b-97m3sanyh5] { background: #e0f2fe; color: #075985; } .badge-dred[b-97m3sanyh5] { background: #fecaca; color: #991b1b; } .badge-grey[b-97m3sanyh5] { background: #e5e7eb; color: #64748b; }
/* Only the outer cell is flush; the batch table inside keeps normal padding, or "₹12.80Store" runs together (Prem, case 4). */
.detail-row > td[b-97m3sanyh5] { background: #f8fafc; padding: 0 !important; }
.detail-box td[b-97m3sanyh5], .detail-box th[b-97m3sanyh5] { padding: .35rem .6rem; }
.detail-box[b-97m3sanyh5] { padding: 8px 14px 12px; }
.detail-box .table[b-97m3sanyh5] { background: #fff; border-radius: .5rem; overflow: hidden; }
.detail-box thead th[b-97m3sanyh5] { font-size: .66rem; color: #9ca3af; text-transform: uppercase; }
.empty-state[b-97m3sanyh5] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-97m3sanyh5] { font-size: 2.2rem; margin-bottom: .8rem; opacity: .5; display: block; }
/* _content/WhitengPharma_Blazor/Components/Pages/SubDistributorMasterPage.razor.rz.scp.css */
/* Sub-Distributor Master — shared master styling + section headers + status badges. */

.content-wrapper[b-oyraiu7zxe] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-oyraiu7zxe] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-oyraiu7zxe] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-oyraiu7zxe] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-oyraiu7zxe] { margin-bottom: 0; }

.card[b-oyraiu7zxe] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-oyraiu7zxe] { font-size: .75rem; color: #6b7280; }
.form-label[b-oyraiu7zxe] { font-size: .8rem; color: #6b7280; margin-bottom: .2rem; }

.sd-table[b-oyraiu7zxe] { min-width: 1350px; margin-bottom: 0; }
.sd-table thead th[b-oyraiu7zxe] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background-color: #f8f9fa; z-index: 10; box-shadow: 0 2px 2px -1px rgba(0,0,0,.1); white-space: nowrap; }
.sd-table td[b-oyraiu7zxe], .sd-table th[b-oyraiu7zxe] { vertical-align: middle; }
.sd-table td[b-oyraiu7zxe] { padding: .5rem .7rem; white-space: nowrap; }
.mono[b-oyraiu7zxe] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; }

.badge-soft-success[b-oyraiu7zxe] { background: #def7ec; color: #0e7a53; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-warning[b-oyraiu7zxe] { background: #fef3c7; color: #92640e; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-danger[b-oyraiu7zxe] { background: #fde8e8; color: #c81e1e; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-info[b-oyraiu7zxe] { background: #e0f2fe; color: #075985; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }

.sec-title[b-oyraiu7zxe] { font-weight: 700; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; color: #0d6efd; border-bottom: 2px solid #e5e7eb; padding-bottom: .3rem; margin: 1.1rem 0 .3rem; }
.sec-title:first-child[b-oyraiu7zxe] { margin-top: 0; }

.empty-state[b-oyraiu7zxe] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-oyraiu7zxe] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

.btn.disabled[b-oyraiu7zxe], .btn:disabled[b-oyraiu7zxe] { opacity: .65; cursor: not-allowed; }

/* map co-ordinate helper note (parity phase 5) */
.geo-note[b-oyraiu7zxe] { font-size: .75rem; color: #475569; background: #f1f5f9; padding: .15rem .5rem; border-radius: .35rem; }

/* inline field validation (parity phase 5) */
.field-err[b-oyraiu7zxe] { color: #b91c1c; font-size: .74rem; margin-top: .15rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/SubDistributorOrdersPage.razor.rz.scp.css */
.content-wrapper[b-z07bzbh0wc] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-z07bzbh0wc] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-z07bzbh0wc] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-z07bzbh0wc] { margin: 0; font-size: 1.25rem; font-weight: 600; display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.firm-badge[b-z07bzbh0wc] { font-size: .7rem; font-weight: 600; color: #5b21b6; background: #ede9fe; border-radius: 1rem; padding: .15rem .7rem; display: inline-flex; align-items: center; gap: .35rem; }
.firm-badge .dot[b-z07bzbh0wc] { width: 7px; height: 7px; border-radius: 50%; background: #7c3aed; animation: pulse-b-z07bzbh0wc 1.6s infinite; }
@keyframes pulse-b-z07bzbh0wc { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
.breadcrumb[b-z07bzbh0wc] { margin-bottom: 0; }
.card[b-z07bzbh0wc] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.text-muted-xs[b-z07bzbh0wc] { font-size: .75rem; color: #6b7280; }

.kpi-row[b-z07bzbh0wc] { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }
@media (max-width: 1024px) { .kpi-row[b-z07bzbh0wc] { grid-template-columns: repeat(2, 1fr); } }
.kpi[b-z07bzbh0wc] { background: #fff; border-radius: .75rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .8rem 1rem; display: flex; align-items: center; gap: .8rem; }
.kpi-ic[b-z07bzbh0wc] { width: 42px; height: 42px; border-radius: .6rem; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; color: #fff; }
.kpi-n[b-z07bzbh0wc] { font-size: 1.4rem; font-weight: 700; line-height: 1; }
.kpi-l[b-z07bzbh0wc] { font-size: .72rem; color: #6b7280; margin-top: .2rem; }
.kpi-amber .kpi-ic[b-z07bzbh0wc] { background: #f59e0b; } .kpi-green .kpi-ic[b-z07bzbh0wc] { background: #10b981; }
.kpi-orange .kpi-ic[b-z07bzbh0wc] { background: #f97316; } .kpi-purple .kpi-ic[b-z07bzbh0wc] { background: #7c3aed; }

.tab-group[b-z07bzbh0wc] { display: inline-flex; gap: .3rem; flex-wrap: wrap; }
.tab-btn[b-z07bzbh0wc] { border: 1px solid #e5e7eb; background: #fff; border-radius: 1.2rem; padding: .25rem .8rem; font-size: .78rem; font-weight: 600; color: #475569; cursor: pointer; display: inline-flex; align-items: center; gap: .4rem; }
.tab-btn:hover[b-z07bzbh0wc] { background: #f8fafc; }
.tab-btn.active[b-z07bzbh0wc] { background: #4f46e5; color: #fff; border-color: #4f46e5; }
.tab-pill[b-z07bzbh0wc] { font-size: .68rem; background: rgba(0,0,0,.08); border-radius: 1rem; padding: 0 .4rem; }
.tab-btn.active .tab-pill[b-z07bzbh0wc] { background: rgba(255,255,255,.25); }

.ord-table[b-z07bzbh0wc] { min-width: 940px; margin-bottom: 0; }
.ord-table thead th[b-z07bzbh0wc] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.ord-table td[b-z07bzbh0wc] { vertical-align: middle; padding: .5rem .6rem; white-space: nowrap; }
.mono[b-z07bzbh0wc] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; }
.tbadge[b-z07bzbh0wc] { font-size: .7rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; display: inline-flex; align-items: center; }
.badge-blue[b-z07bzbh0wc] { background: #e0f2fe; color: #075985; } .badge-violet[b-z07bzbh0wc] { background: #ede9fe; color: #5b21b6; }
.badge-green[b-z07bzbh0wc] { background: #def7ec; color: #0e7a53; } .badge-gold[b-z07bzbh0wc] { background: #fef3c7; color: #92640e; }
.badge-amber[b-z07bzbh0wc] { background: #fef3c7; color: #92640e; } .badge-grey[b-z07bzbh0wc] { background: #e5e7eb; color: #64748b; } .badge-red[b-z07bzbh0wc] { background: #fde8e8; color: #c81e1e; }
.btn-import[b-z07bzbh0wc] { background: linear-gradient(135deg,#6366f1,#4f46e5); color: #fff; border: none; }
.btn-import:hover[b-z07bzbh0wc] { background: linear-gradient(135deg,#4f46e5,#4338ca); color: #fff; }
.detail-row td[b-z07bzbh0wc] { background: #f8fafc; padding: 0 !important; }
.detail-box[b-z07bzbh0wc] { padding: 8px 14px 12px; }
.detail-box .table[b-z07bzbh0wc] { background: #fff; border-radius: .5rem; overflow: hidden; }
.detail-box thead th[b-z07bzbh0wc] { font-size: .68rem; color: #9ca3af; text-transform: uppercase; }
.empty-state[b-z07bzbh0wc] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-z07bzbh0wc] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }
/* _content/WhitengPharma_Blazor/Components/Pages/SupplierMasterPage.razor.rz.scp.css */
/* Faithful copy of the old Supplier Master styling (scoped to this screen). */

.content-wrapper[b-0owoii3req] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-0owoii3req] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-0owoii3req] {
    display: flex; flex-wrap: wrap; align-items: center;
    justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem;
}
.page-title[b-0owoii3req] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-0owoii3req] { margin-bottom: 0; }

.card[b-0owoii3req], .table-card[b-0owoii3req] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }

.table thead th[b-0owoii3req] { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #6b7280; }
.table td[b-0owoii3req], .table th[b-0owoii3req] { vertical-align: middle; }

.form-label[b-0owoii3req] { font-size: .85rem; color: #6b7280; }
.text-muted-xs[b-0owoii3req] { font-size: .75rem; color: #6b7280; }

.badge[b-0owoii3req] { font-weight: 500; font-size: .75rem; }
.badge-soft-success[b-0owoii3req] { background-color: rgba(16,185,129,.12); color: #059669; }
.badge-soft-secondary[b-0owoii3req] { background-color: rgba(148,163,184,.12); color: #4b5563; }

.empty-state[b-0owoii3req] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-0owoii3req] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

.table-responsive[b-0owoii3req] { min-height: 200px; }

.checkbox-label[b-0owoii3req] { font-size: .85rem; color: #6b7280; display: inline-flex; align-items: center; gap: .5rem; }

/* inline field validation (parity phase 5) */
.field-err[b-0owoii3req] { color: #b91c1c; font-size: .74rem; margin-top: .15rem; }
/* _content/WhitengPharma_Blazor/Components/Pages/SupplierRefundsPage.razor.rz.scp.css */
.content-wrapper[b-0biprgl6dl] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-0biprgl6dl] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-0biprgl6dl] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-0biprgl6dl] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-0biprgl6dl] { margin-bottom: 0; }
.card[b-0biprgl6dl] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.card-header[b-0biprgl6dl] { background: #fff; border-bottom: 1px solid #eef2f7; }
.text-muted-xs[b-0biprgl6dl] { font-size: .75rem; color: #6b7280; display: block; }
.mono[b-0biprgl6dl] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .82rem; }

.stat[b-0biprgl6dl] { background: #fff; border-radius: .7rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .8rem; text-align: center; }
.stat.hl-gold[b-0biprgl6dl] { background: #fffbeb; }
.stat-l[b-0biprgl6dl] { font-size: .68rem; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }
.stat-n[b-0biprgl6dl] { font-size: 1.3rem; font-weight: 700; }

.rpt[b-0biprgl6dl] { min-width: 900px; margin-bottom: 0; }
.rpt thead th[b-0biprgl6dl] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; white-space: nowrap; }
.rpt td[b-0biprgl6dl], .rpt th[b-0biprgl6dl] { padding: .45rem .7rem; vertical-align: middle; white-space: nowrap; }

/* ageing — the longer the money has been out there, the louder it reads */
.tbadge[b-0biprgl6dl] { font-size: .7rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; }
.age-new[b-0biprgl6dl] { background: #e0e7ff; color: #3730a3; }
.age-mid[b-0biprgl6dl] { background: #fef3c7; color: #92640e; }
.age-old[b-0biprgl6dl] { background: #fee2e2; color: #b42318; }

.empty-state[b-0biprgl6dl] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-0biprgl6dl] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; display: block; color: #16a34a; }
/* _content/WhitengPharma_Blazor/Components/Pages/ViewPurchasesPage.razor.rz.scp.css */
/* View Purchases — register list + summary strip + detail modal. */

.content-wrapper[b-z6bwfcu0qz] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-z6bwfcu0qz] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-z6bwfcu0qz] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-z6bwfcu0qz] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-z6bwfcu0qz] { margin-bottom: 0; }

.card[b-z6bwfcu0qz] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-z6bwfcu0qz] { font-size: .78rem; color: #6b7280; margin-bottom: .15rem; }
.text-muted-xs[b-z6bwfcu0qz] { font-size: .75rem; color: #6b7280; }

.stat[b-z6bwfcu0qz] { background: #fff; border-radius: .6rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .6rem .9rem; text-align: center; }
.stat-n[b-z6bwfcu0qz] { font-size: 1.25rem; font-weight: 700; }
.stat-l[b-z6bwfcu0qz] { font-size: .7rem; color: #6b7280; text-transform: uppercase; letter-spacing: .04em; }

.pur-table[b-z6bwfcu0qz] { min-width: 1150px; margin-bottom: 0; }
.pur-table thead th[b-z6bwfcu0qz] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; box-shadow: 0 2px 2px -1px rgba(0,0,0,.1); white-space: nowrap; }
.pur-table td[b-z6bwfcu0qz] { vertical-align: middle; padding: .5rem .6rem; white-space: nowrap; }
.mono[b-z6bwfcu0qz] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; }

.badge-soft-success[b-z6bwfcu0qz] { background: #def7ec; color: #0e7a53; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-secondary[b-z6bwfcu0qz] { background: #e5e7eb; color: #64748b; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-danger[b-z6bwfcu0qz] { background: #fde8e8; color: #c81e1e; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-info[b-z6bwfcu0qz] { background: #e0f2fe; color: #075985; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }

.meta-l[b-z6bwfcu0qz] { font-size: .72rem; color: #6b7280; text-transform: uppercase; letter-spacing: .04em; }
.totals-box[b-z6bwfcu0qz] { min-width: 260px; }
.sum-row[b-z6bwfcu0qz] { display: flex; justify-content: space-between; padding: .3rem 0; border-bottom: 1px dashed #eef2f7; font-size: .9rem; }
.sum-row span[b-z6bwfcu0qz] { color: #6b7280; }

.empty-state[b-z6bwfcu0qz] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-z6bwfcu0qz] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

.btn.disabled[b-z6bwfcu0qz], .btn:disabled[b-z6bwfcu0qz] { opacity: .65; cursor: not-allowed; }
/* _content/WhitengPharma_Blazor/Components/Pages/ViewSalesPage.razor.rz.scp.css */
/* View Sales — register list + summary strip + detail modal. */

.content-wrapper[b-3lzae6yy8x] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-3lzae6yy8x] { padding: 1.5rem 1.75rem 2.5rem; } }

.page-header[b-3lzae6yy8x] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.2rem; }
.page-title[b-3lzae6yy8x] { margin: 0; font-size: 1.25rem; font-weight: 600; }
.breadcrumb[b-3lzae6yy8x] { margin-bottom: 0; }

.card[b-3lzae6yy8x] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.form-label[b-3lzae6yy8x] { font-size: .78rem; color: #6b7280; margin-bottom: .15rem; }
.text-muted-xs[b-3lzae6yy8x] { font-size: .75rem; color: #6b7280; }

.stat[b-3lzae6yy8x] { background: #fff; border-radius: .6rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); padding: .6rem .9rem; text-align: center; }
.stat-n[b-3lzae6yy8x] { font-size: 1.2rem; font-weight: 700; }
.stat-l[b-3lzae6yy8x] { font-size: .7rem; color: #6b7280; text-transform: uppercase; letter-spacing: .04em; }

.sale-table[b-3lzae6yy8x] { min-width: 1200px; margin-bottom: 0; }
.sale-table thead th[b-3lzae6yy8x] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; position: sticky; top: 0; background: #f8f9fa; z-index: 10; box-shadow: 0 2px 2px -1px rgba(0,0,0,.1); white-space: nowrap; }
.sale-table td[b-3lzae6yy8x] { vertical-align: middle; padding: .5rem .6rem; white-space: nowrap; }
.mono[b-3lzae6yy8x] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; }

.badge-soft-success[b-3lzae6yy8x] { background: #def7ec; color: #0e7a53; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-secondary[b-3lzae6yy8x] { background: #e5e7eb; color: #64748b; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-warning[b-3lzae6yy8x] { background: #fef3c7; color: #92640e; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }
.badge-soft-info[b-3lzae6yy8x] { background: #e0f2fe; color: #075985; font-size: .72rem; font-weight: 600; padding: .12rem .5rem; border-radius: 1rem; }

.meta-l[b-3lzae6yy8x] { font-size: .72rem; color: #6b7280; text-transform: uppercase; letter-spacing: .04em; }
.totals-box[b-3lzae6yy8x] { min-width: 280px; }
.sum-row[b-3lzae6yy8x] { display: flex; justify-content: space-between; padding: .3rem 0; border-bottom: 1px dashed #eef2f7; font-size: .9rem; }
.sum-row span[b-3lzae6yy8x] { color: #6b7280; }

.empty-state[b-3lzae6yy8x] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-3lzae6yy8x] { font-size: 2.5rem; margin-bottom: 1rem; opacity: .5; }

.btn.disabled[b-3lzae6yy8x], .btn:disabled[b-3lzae6yy8x] { opacity: .65; cursor: not-allowed; }


/* sortable headers (parity phase 6) */
.th-sort[b-3lzae6yy8x] { cursor: pointer; user-select: none; white-space: nowrap; }
.th-sort:hover[b-3lzae6yy8x] { background: #eef2ff; }
.srt-off[b-3lzae6yy8x] { opacity: .25; margin-left: .2rem; font-size: .7rem; }
.srt-on[b-3lzae6yy8x] { color: #4338ca; margin-left: .2rem; font-size: .7rem; }

/* goods that came back off a bill */
.badge-returned[b-3lzae6yy8x] { display: inline-block; margin-left: .35rem; background: #eef2ff; color: #3730a3; border: 1px solid #c7d2fe; border-radius: 1rem; font-size: .62rem; font-weight: 700; padding: .04rem .4rem; cursor: help; white-space: nowrap; }
/* _content/WhitengPharma_Blazor/Components/Pages/WhitengAdminPage.razor.rz.scp.css */
.content-wrapper[b-ppibo438kp] { padding: 1rem 1rem 2rem; }
@media (min-width: 768px) { .content-wrapper[b-ppibo438kp] { padding: 1.5rem 1.75rem 2.5rem; } }
.page-header[b-ppibo438kp] { margin-bottom: 1.2rem; }
.page-title[b-ppibo438kp] { margin: 0; font-size: 1.2rem; font-weight: 600; }
.breadcrumb[b-ppibo438kp] { margin-bottom: 0; }
.card[b-ppibo438kp] { border-radius: .75rem; border: none; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.card-header h6[b-ppibo438kp] { font-size: .85rem; font-weight: 600; }
.form-label[b-ppibo438kp] { font-size: .72rem; font-weight: 600; color: #475569; margin-bottom: .15rem; }
.sec-note[b-ppibo438kp] { font-size: .78rem; color: #6b7280; margin-bottom: .8rem; }
.nav-pills .nav-link[b-ppibo438kp] { font-size: .82rem; font-weight: 600; color: #475569; padding: .3rem .9rem; cursor: pointer; border: 1px solid #e5e7eb; background: #fff; }
.nav-pills .nav-link.active[b-ppibo438kp] { background: #4f46e5; color: #fff; border-color: #4f46e5; }
.mono[b-ppibo438kp] { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: .78rem; }
.tbadge[b-ppibo438kp] { font-size: .68rem; font-weight: 600; padding: .1rem .5rem; border-radius: 1rem; }
.badge-green[b-ppibo438kp] { background: #def7ec; color: #0e7a53; } .badge-grey[b-ppibo438kp] { background: #e5e7eb; color: #64748b; } .badge-blue[b-ppibo438kp] { background: #e0f2fe; color: #075985; }
.up-card[b-ppibo438kp] { border: 1px solid #eef0f3; border-radius: .6rem; padding: .6rem .8rem; margin-bottom: .6rem; }
.up-h[b-ppibo438kp] { font-size: .9rem; margin-bottom: .25rem; display: flex; align-items: center; gap: .5rem; }
.up-req[b-ppibo438kp] { font-size: .8rem; color: #475569; }
.up-steps[b-ppibo438kp] { font-size: .74rem; color: #6b7280; white-space: pre-wrap; margin-top: .3rem; }
.empty-state[b-ppibo438kp] { text-align: center; padding: 2rem; color: #6b7280; }
.empty-state i[b-ppibo438kp] { font-size: 2.2rem; margin-bottom: .8rem; opacity: .5; display: block; }

/* The digest as the buyer will see it — a WhatsApp bubble, so the shape of the message is obvious
   before it is sent rather than after. */
.wa-bubble[b-ppibo438kp] { background: #e7ffdb; border: 1px solid #cfeec0; border-radius: .6rem; padding: .6rem .8rem; line-height: 1.45; }
.wa-bubble .wa-body[b-ppibo438kp] { color: #111; }
/* _content/WhitengPharma_Blazor/Components/Shared/BrandMultiSelect.razor.rz.scp.css */
.bms-root[b-lgpp5aklly] { position: relative; display: inline-block; min-width: 170px; }

/* trigger reuses .form-select so it matches the sibling dropdowns (incl. the caret) */
.bms-trigger[b-lgpp5aklly] { display: flex; align-items: center; gap: .4rem; text-align: left; cursor: pointer; width: auto; min-width: 170px; padding-right: 1.9rem; }
.bms-label[b-lgpp5aklly] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 160px; }
.bms-badge[b-lgpp5aklly] { background: #4338ca; color: #fff; font-size: .65rem; font-weight: 700; border-radius: 1rem; padding: .05rem .42rem; }

/* invisible full-screen layer: any outside click closes the panel */
.bms-catcher[b-lgpp5aklly] { position: fixed; inset: 0; z-index: 2995; background: transparent; }

.bms-panel[b-lgpp5aklly] { position: absolute; top: calc(100% + 4px); left: 0; z-index: 3000; width: 280px;
  background: #fff; border: 1px solid #e5e7eb; border-radius: .6rem; box-shadow: 0 8px 24px rgba(15,23,42,.16); }
.bms-search[b-lgpp5aklly] { padding: .5rem .5rem .25rem; }
.bms-actions[b-lgpp5aklly] { display: flex; align-items: center; gap: .5rem; padding: .25rem .75rem .35rem; border-bottom: 1px solid #eef2f7; }
.bms-actions button[b-lgpp5aklly] { border: none; background: none; font-size: .74rem; font-weight: 600; color: #4338ca; cursor: pointer; padding: 0; }
.bms-actions button:hover[b-lgpp5aklly] { text-decoration: underline; }
.bms-sep[b-lgpp5aklly] { color: #d1d5db; font-size: .74rem; }
.bms-list[b-lgpp5aklly] { max-height: 240px; overflow-y: auto; padding: .25rem 0; }
.bms-item[b-lgpp5aklly] { display: flex; align-items: center; gap: .5rem; padding: .28rem .75rem; font-size: .8rem; cursor: pointer; margin: 0; }
.bms-item:hover[b-lgpp5aklly] { background: #f3f4f6; }
.bms-item input[b-lgpp5aklly] { cursor: pointer; }
.bms-empty[b-lgpp5aklly] { padding: .6rem .75rem; font-size: .76rem; color: #9ca3af; }
/* _content/WhitengPharma_Blazor/Components/Shared/ColumnChart.razor.rz.scp.css */
.cc-wrap[b-w7g2jyxu3r] { width: 100%; }

.cc-title[b-w7g2jyxu3r] {
  font-size: .76rem;
  font-weight: 600;
  color: #6b7280;
  margin-bottom: .35rem;
}

.cc-svg[b-w7g2jyxu3r] {
  width: 100%;
  height: 120px;
  display: block;
  overflow: visible;
}

.cc-bar[b-w7g2jyxu3r] { fill: #1a56db; }
.cc-bar:hover[b-w7g2jyxu3r] { fill: #1e40af; }

/* A loss hangs below the line, and is red. It must never be mistaken for a small profit. */
.cc-bar-neg[b-w7g2jyxu3r] { fill: #dc2626; }
.cc-bar-neg:hover[b-w7g2jyxu3r] { fill: #b91c1c; }

.cc-axis[b-w7g2jyxu3r] { stroke: #cbd5e1; stroke-width: 1; }

.cc-labels[b-w7g2jyxu3r] {
  display: flex;
  margin-top: .25rem;
}

.cc-label[b-w7g2jyxu3r] {
  font-size: .62rem;
  color: #9ca3af;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
}

.cc-empty[b-w7g2jyxu3r] {
  font-size: .78rem;
  color: #9ca3af;
  padding: 1.2rem 0;
  text-align: center;
}
/* _content/WhitengPharma_Blazor/Components/Shared/CommandPalette.razor.rz.scp.css */
/* Command palette (Ctrl+K). Deliberately plain CSS, not a MudDialog: the palette must be able
   to open over ANY screen — including ones already showing a modal — without fighting for focus. */

.cp-backdrop[b-r6udp07pgl] { position: fixed; inset: 0; background: rgba(15, 23, 42, .45); z-index: 4000; }

.cp-shell[b-r6udp07pgl] {
  position: fixed; z-index: 4001; top: 12vh; left: 50%; transform: translateX(-50%);
  width: min(620px, 94vw); background: #fff; border-radius: .7rem;
  border: 1.5px solid #a5b4fc; box-shadow: 0 22px 60px rgba(49, 46, 129, .38);
  overflow: hidden; animation: cp-pop-b-r6udp07pgl .12s ease-out;
}
@keyframes cp-pop-b-r6udp07pgl { from { opacity: 0; transform: translateX(-50%) translateY(-6px); } to { opacity: 1; transform: translateX(-50%); } }

.cp-search[b-r6udp07pgl] { display: flex; align-items: center; gap: .5rem; padding: .7rem .9rem; border-bottom: 1px solid #eef2f7; }
.cp-mag[b-r6udp07pgl] { color: #6366f1; }
.cp-input[b-r6udp07pgl] { flex: 1; border: none; outline: none; font-size: .95rem; color: #111827; background: transparent; }
.cp-hint[b-r6udp07pgl] { font-size: .65rem; color: #6b7280; border: 1px solid #e5e7eb; border-radius: .3rem; padding: .1rem .35rem; }

.cp-list[b-r6udp07pgl] { max-height: 52vh; overflow-y: auto; padding: .25rem 0; }
.cp-item[b-r6udp07pgl] { display: flex; align-items: center; gap: .6rem; width: 100%; text-align: left;
  border: none; background: none; font: inherit; padding: .45rem .9rem; cursor: pointer; }
.cp-item:hover[b-r6udp07pgl], .cp-hl[b-r6udp07pgl] { background: #eef2ff; }
.cp-ico[b-r6udp07pgl] { width: 1.1rem; color: #4f46e5; flex-shrink: 0; }
.cp-title[b-r6udp07pgl] { font-size: .86rem; color: #111827; }
.cp-group[b-r6udp07pgl] { margin-left: auto; font-size: .68rem; color: #6b7280; }
.cp-none[b-r6udp07pgl] { padding: 1rem .9rem; font-size: .82rem; color: #9ca3af; }

.cp-foot[b-r6udp07pgl] { display: flex; gap: 1rem; padding: .4rem .9rem; border-top: 1px solid #eef2f7;
  background: #f9fafb; font-size: .66rem; color: #6b7280; }

/* the app-bar button that teaches the shortcut exists */
.cp-open-btn[b-r6udp07pgl] { display: inline-flex; align-items: center; gap: .4rem; background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.35); color: #fff; border-radius: .4rem;
  padding: .2rem .55rem; font-size: .74rem; cursor: pointer; }
.cp-open-btn:hover[b-r6udp07pgl] { background: rgba(255,255,255,.28); }
.cp-open-btn kbd[b-r6udp07pgl] { font-size: .64rem; background: rgba(255,255,255,.25); border-radius: .25rem; padding: 0 .25rem; }

/* title + one-line hint stacked, group pinned right */
.cp-text[b-r6udp07pgl] { display: flex; flex-direction: column; line-height: 1.15; }
.cp-hint-text[b-r6udp07pgl] { font-size: .68rem; color: #6b7280; }
/* _content/WhitengPharma_Blazor/Components/Shared/CsvMappingEditor.razor.rz.scp.css */
/* The mapping editor carries its own look, because it is shown in two very different places —
   the Masters screen and the import window inside New Purchase — and must read the same in both. */

.section-hdr[b-dwfcjiras3] { font-weight: 700; font-size: .9rem; padding: .45rem .7rem; border-left: 4px solid #4f8ef7;
  background: linear-gradient(90deg, rgba(79,142,247,.10), transparent); border-radius: .3rem; margin-bottom: .6rem; }
.section-hdr.green[b-dwfcjiras3] { border-left-color: #20c997; background: linear-gradient(90deg, rgba(32,201,151,.12), transparent); }
.badge-m[b-dwfcjiras3] { background: #4f8ef7; color: #fff; font-size: .68rem; padding: .1rem .45rem; border-radius: 1rem; margin-right: .35rem; vertical-align: middle; }
.badge-p[b-dwfcjiras3] { background: #20c997; color: #fff; font-size: .68rem; padding: .1rem .45rem; border-radius: 1rem; margin-right: .35rem; vertical-align: middle; }

.map-table[b-dwfcjiras3] { margin-bottom: 0; }
.map-table thead th[b-dwfcjiras3] { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; }
.map-table td[b-dwfcjiras3] { vertical-align: middle; font-size: .85rem; }
.map-table td.ex[b-dwfcjiras3] { color: #9ca3af; font-size: .78rem; }
.field-row td:first-child[b-dwfcjiras3] { font-weight: 500; }
.field-row.mf td:first-child[b-dwfcjiras3] { box-shadow: inset 3px 0 0 #4f8ef7; padding-left: .7rem; }
.field-row.pf td:first-child[b-dwfcjiras3] { box-shadow: inset 3px 0 0 #20c997; padding-left: .7rem; }
.col-in[b-dwfcjiras3] { max-width: 120px; }

.note-sm[b-dwfcjiras3] { font-size: .72rem; color: #6b7280; margin-top: .15rem; }

/* The reading is the point of the screen, so it is legible at a glance: green when the value
   converts, red when the column is empty or holds something this field cannot read. */
.reading[b-dwfcjiras3] { font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .76rem;
  display: inline-block; padding: .12rem .45rem; border-radius: .35rem; }
.reading-ok[b-dwfcjiras3] { background: #e8f8f0; color: #0f7a4d; }
.reading-bad[b-dwfcjiras3] { background: #fde8e8; color: #c81e1e; font-weight: 600; }
/* _content/WhitengPharma_Blazor/Components/Shared/FileUploadField.razor.rz.scp.css */
.fu-root[b-xy6g86vee0] { display: block; }
.fu-row[b-xy6g86vee0] { display: flex; align-items: center; gap: .5rem; }
.fu-busy[b-xy6g86vee0] { font-size: .76rem; color: #4338ca; white-space: nowrap; }
.fu-has[b-xy6g86vee0] { display: flex; align-items: center; gap: .6rem; margin-top: .25rem; font-size: .78rem; }
.fu-has a[b-xy6g86vee0] { color: #0f766e; text-decoration: none; }
.fu-has a:hover[b-xy6g86vee0] { text-decoration: underline; }
.fu-remove[b-xy6g86vee0] { border: none; background: none; color: #b91c1c; font-size: .76rem; padding: 0; cursor: pointer; }
.fu-remove:hover[b-xy6g86vee0] { text-decoration: underline; }
.fu-none[b-xy6g86vee0] { margin-top: .2rem; font-size: .74rem; color: #9ca3af; }
.fu-off[b-xy6g86vee0] { font-size: .76rem; color: #9ca3af; background: #f8fafc; border: 1px dashed #e2e8f0; border-radius: .4rem; padding: .3rem .5rem; }
.fu-err[b-xy6g86vee0] { margin-top: .2rem; font-size: .74rem; color: #b91c1c; }
.fu-view[b-xy6g86vee0] { border: none; background: none; color: #0f766e; font-size: .78rem; padding: 0; cursor: pointer; }
.fu-view:hover[b-xy6g86vee0] { text-decoration: underline; }

/* Photo preview — only rendered when ShowPreview is on (medicine images). */
.fu-thumb-wrap[b-xy6g86vee0] {
  margin-top: .4rem;
}
/* A FIXED box, not a maximum. With only a max-height a wide photo came out short and wide and a
   tall one narrow and tall, so the same screen looked different for every medicine. The box is
   always the same; object-fit keeps the picture's own shape inside it. */
/* Same as the medicine grid: the preview's size comes from ImageLightbox's Size parameter,
   because a scoped rule here never reached the img. */
.fu-thumb:hover[b-xy6g86vee0] { border-color: #0d6efd; }
/* _content/WhitengPharma_Blazor/Components/Shared/FilterDate.razor.rz.scp.css */
/* The calendar button: the browser's own date box sits invisibly on top of the icon, so a click opens the same
   calendar the filters had before — no script needed. */
.filter-date-cal[b-kghkvzce9g] {
    position: relative;
    cursor: pointer;
    padding: 0 .5rem;
}

.filter-date-cal input[type=date][b-kghkvzce9g] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    border: 0;
    padding: 0;
}

.filter-date-cal input[type=date][b-kghkvzce9g]::-webkit-calendar-picker-indicator {
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    cursor: pointer;
}

.filter-date-problem[b-kghkvzce9g] {
    white-space: nowrap;
}
/* _content/WhitengPharma_Blazor/Components/Shared/ImageLightbox.razor.rz.scp.css */
/* The thumbnail. Its SIZE is set inline by the component (see the Size parameter) — a caller's
   scoped stylesheet cannot reach this element, which is how it went unbounded for a week. What is
   left here is only the look. */
.ilb-thumb[b-qyx1vqv02q] {
  object-fit: contain;
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: 4px;
  background: #fff;
  display: inline-block;
  flex: 0 0 auto;          /* inside a flex row, never stretched by a neighbour */
}

/* The full-size view. Fixed to the window, so it does not matter how far down a long medicine
   list the row sits — the picture lands in the middle of the screen either way. */
.ilb-back[b-qyx1vqv02q] {
  position: fixed;
  inset: 0;
  z-index: 2000;                 /* over the edit dialog, which is where most photos are opened */
  background: rgba(15, 23, 42, .78);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  cursor: zoom-out;
}

/* A stage of a fixed size rather than a maximum. Sized only by max-, a small photo opened at its
   own tiny size while a large one filled the screen — the same click gave a different result for
   every medicine, which is what the office noticed. Now the stage is always the same and the
   picture is fitted into it, keeping its own shape. */
.ilb-img[b-qyx1vqv02q] {
  width: min(90vw, 760px);
  height: min(82vh, 760px);
  object-fit: contain;
  background: #fff;
  border-radius: .5rem;
  padding: .35rem;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .45);
  cursor: default;
}

.ilb-close[b-qyx1vqv02q] {
  position: absolute;
  top: 1rem;
  right: 1.35rem;
  border: none;
  background: none;
  color: #fff;
  font-size: 2.4rem;
  line-height: 1;
  cursor: pointer;
  opacity: .85;
}
.ilb-close:hover[b-qyx1vqv02q] { opacity: 1; }
/* _content/WhitengPharma_Blazor/Components/Shared/MedicinePicker.razor.rz.scp.css */
.mp-root[b-788fku85a4] { position: relative; min-width: 220px; }
.mp-input.mp-ok[b-788fku85a4] { border-color: #16a34a; box-shadow: inset 3px 0 0 #16a34a; }
.mp-input.mp-bad[b-788fku85a4] { border-color: #dc2626; box-shadow: inset 3px 0 0 #dc2626; background: #fef2f2; }
/* Matched, but the match is doubtful — two medicines look alike, or this spelling was reported
   as wrongly mapped. Amber, not red: the line is usable, it just needs a second look. */
.mp-input.mp-warn[b-788fku85a4] { border-color: #d97706; box-shadow: inset 3px 0 0 #d97706; background: #fffbeb; }

/* The panel used to blend into the page (audit #7 — easy to miss that results had appeared):
   an indigo border + top accent + deeper shadow + a short pop-in make it read as a layer ON TOP
   of the form, unmistakably tied to the box being typed in. */
/* position:fixed (not absolute): fixed positions against the VIEWPORT, so the table's scroll box
   cannot clip the panel; pdPlacePanel (app.js) then pins it under the input each render. */
.mp-panel[b-788fku85a4] { position: fixed; z-index: 3000; width: 380px; max-width: 90vw;
  background: #fff; border: 1.5px solid #a5b4fc; border-top: 3px solid #4f46e5; border-radius: .55rem;
  box-shadow: 0 14px 36px rgba(49,46,129,.35), 0 2px 8px rgba(49,46,129,.18);
  max-height: 340px; overflow-y: auto; animation: mp-pop-b-788fku85a4 .12s ease-out; }
@keyframes mp-pop-b-788fku85a4 { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

.mp-item[b-788fku85a4] { display: flex; justify-content: space-between; gap: .75rem; padding: .4rem .65rem; cursor: pointer;
  border-bottom: 1px solid #f3f4f6; }
.mp-item:last-child[b-788fku85a4] { border-bottom: none; }
.mp-item.hl[b-788fku85a4] { background: #eef2ff; }

.mp-title[b-788fku85a4] { font-size: .82rem; font-weight: 500; color: #111827; }
.mp-title b[b-788fku85a4] { color: #4338ca; }
.mp-sub[b-788fku85a4] { font-size: .7rem; color: #2563eb; }     /* the salt — the old picker showed it in blue */
.mp-meta[b-788fku85a4] { font-size: .68rem; color: #6b7280; }
.mp-r[b-788fku85a4] { text-align: right; flex-shrink: 0; }
.mp-r1[b-788fku85a4] { font-size: .76rem; font-weight: 600; color: #111827; }
.mp-r2[b-788fku85a4] { font-size: .68rem; color: #16a34a; font-weight: 600; }
.mp-r2.warn[b-788fku85a4] { color: #d97706; }

.mp-more[b-788fku85a4] { padding: .3rem .65rem; font-size: .68rem; color: #9ca3af; background: #f9fafb; }
.mp-none[b-788fku85a4] { padding: .5rem .65rem; font-size: .74rem; color: #b42318; }
/* _content/WhitengPharma_Blazor/Components/Shared/PrintLetterhead.razor.rz.scp.css */
.lh[b-j6awbiw1h8] { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; border-bottom: 2px solid #111; padding-bottom: .6rem; margin-bottom: .8rem; color: #111; }
.lh-name[b-j6awbiw1h8] { font-size: 1.3rem; font-weight: 700; }
.lh-line[b-j6awbiw1h8] { font-size: .78rem; color: #333; }
.lh-right[b-j6awbiw1h8] { text-align: right; }
.lh-title[b-j6awbiw1h8] { font-size: 1rem; font-weight: 700; letter-spacing: .05em; color: #555; }
/* _content/WhitengPharma_Blazor/Components/Shared/SearchableSelect.razor.rz.scp.css */
.ss-root[b-bndthus3at] { position: relative; display: inline-block; min-width: 170px; }
.ss-full[b-bndthus3at] { display: block; width: 100%; }

/* trigger borrows .form-select so it sits flush with the sibling inputs (caret included) */
/* justify-content is spelt out because a global button rule centres buttons in this app — without
   it the picked name sits in the middle of the box while every neighbouring input reads from the
   left, which looks broken next to them */
.ss-trigger[b-bndthus3at] { display: flex; align-items: center; justify-content: flex-start; text-align: left;
  cursor: pointer; width: 100%; padding-right: 1.9rem; }
.ss-trigger:disabled[b-bndthus3at] { background: #f3f4f6; cursor: not-allowed; }
.ss-label[b-bndthus3at] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-empty-label[b-bndthus3at], .ss-empty .ss-label[b-bndthus3at] { color: #9ca3af; }

/* invisible full-screen layer: any outside click closes the panel */
.ss-catcher[b-bndthus3at] { position: fixed; inset: 0; z-index: 2995; background: transparent; }

/* Same unmistakable-layer treatment as the medicine picker's panel (audit #7) — the two search
   surfaces should read as one family. */
.ss-panel[b-bndthus3at] { position: absolute; top: calc(100% + 4px); left: 0; z-index: 3000; width: max-content; max-width: min(560px, 92vw); min-width: 100%;
  background: #fff; border: 1.5px solid #a5b4fc; border-top: 3px solid #4f46e5; border-radius: .6rem;
  box-shadow: 0 14px 36px rgba(49,46,129,.35), 0 2px 8px rgba(49,46,129,.18); animation: ss-pop-b-bndthus3at .12s ease-out; }
@keyframes ss-pop-b-bndthus3at { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.ss-search[b-bndthus3at] { padding: .5rem .5rem .35rem; border-bottom: 1px solid #eef2f7; }
.ss-list[b-bndthus3at] { max-height: 260px; overflow-y: auto; padding: .25rem 0; }
/* Long entries WRAP instead of being cut with "…": a truncated salt name made two similar
   contents impossible to tell apart (audit #14). The panel is free to be wider than the field. */
.ss-item[b-bndthus3at] { display: block; width: 100%; text-align: left; border: none; background: none; font: inherit;
  padding: .3rem .75rem; font-size: .8rem; cursor: pointer; white-space: normal; overflow-wrap: break-word; line-height: 1.35; }
.ss-item:focus-visible[b-bndthus3at] { outline: 2px solid #4338ca; outline-offset: -2px; background: #f3f4f6; }
.ss-item:hover[b-bndthus3at] { background: #f3f4f6; }
.ss-sel[b-bndthus3at] { background: #eef2ff; font-weight: 600; }
.ss-clear[b-bndthus3at] { color: #b45309; border-bottom: 1px solid #f3f4f6; }
.ss-add[b-bndthus3at] { color: #166534; border-top: 1px solid #f3f4f6; }
.ss-add b[b-bndthus3at] { font-weight: 700; }
.ss-empty[b-bndthus3at] { padding: .6rem .75rem; font-size: .76rem; color: #9ca3af; }
.ss-hint[b-bndthus3at] { padding: .4rem .75rem; font-size: .7rem; color: #166534; background: #f0fdf4; border-top: 1px solid #dcfce7; }
.ss-item:disabled[b-bndthus3at] { color: #9ca3af; cursor: not-allowed; background: none; }

/* heading above a run of choices (Retailers, then Sub-Distributors) — the same grouping a
   native <optgroup> gave, kept so the two party kinds never blur into one list */
.ss-group[b-bndthus3at] { padding: .35rem .75rem .2rem; font-size: .68rem; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; color: #6b7280; background: #f9fafb; border-top: 1px solid #f3f4f6; }
.ss-list > .ss-group:first-child[b-bndthus3at] { border-top: none; }
