/* /Components/Account/Shared/BotGuardFields.razor.rz.scp.css */
/* Honeypot: off-screen (not display:none — some bots skip hidden fields), never focusable or announced. */
.bg-trap[b-7e26nhv92f] {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
/* /Components/Account/Shared/ManageLayout.razor.rz.scp.css */
/* Account settings layout: section nav + one card. Styles for the section pages use ::deep (they are rendered by the pages). */
.manage-grid[b-lv3jh3j7um] {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}
.manage-body[b-lv3jh3j7um] { padding: 1.5rem; }

.manage-body[b-lv3jh3j7um]  h2 { font-size: var(--fs-xl); margin-bottom: .25rem; }
.manage-body[b-lv3jh3j7um]  h3 { font-size: var(--fs-lg); margin-bottom: .35rem; }
.manage-body[b-lv3jh3j7um]  .manage-intro { color: var(--text-muted); font-size: var(--fs-sm); margin-bottom: 1.1rem; max-width: 60ch; }
.manage-body[b-lv3jh3j7um]  .manage-form { display: flex; flex-direction: column; gap: .9rem; max-width: 420px; }
.manage-body[b-lv3jh3j7um]  .manage-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin-top: .25rem; }
.manage-body[b-lv3jh3j7um]  .manage-actions form { margin: 0; }
.manage-body[b-lv3jh3j7um]  .manage-row-actions { display: inline-flex; gap: .4rem; justify-content: flex-end; }
.manage-body[b-lv3jh3j7um]  .manage-section { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--border); }
.manage-body[b-lv3jh3j7um]  .alert { max-width: 640px; line-height: 1.5; }
.manage-body[b-lv3jh3j7um]  .table-wrap { border: 1px solid var(--border); margin-bottom: 1rem; max-width: 640px; }
.manage-body[b-lv3jh3j7um]  .manage-steps { padding-left: 1.2rem; display: flex; flex-direction: column; gap: 1.1rem; max-width: 640px; line-height: 1.5; }
.manage-body[b-lv3jh3j7um]  .manage-steps .manage-form { margin-top: .6rem; }
.manage-body[b-lv3jh3j7um]  .shared-key code {
    display: inline-block;
    margin-top: .4rem;
    padding: .4rem .7rem;
    border-radius: var(--radius-sm);
    background: var(--surface-sunken);
    font-family: var(--font-mono);
    font-size: var(--fs-lg);
    letter-spacing: .06em;
}
.manage-body[b-lv3jh3j7um]  .recovery-codes {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: .5rem;
    max-width: 520px;
}
.manage-body[b-lv3jh3j7um]  .recovery-codes code {
    display: block;
    padding: .45rem .6rem;
    text-align: center;
    border: 1px dashed var(--border-strong);
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
}

@media (max-width: 760px) {
    .manage-grid[b-lv3jh3j7um] { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
    .manage-body[b-lv3jh3j7um] { padding: 1.1rem; }
}
/* /Components/Account/Shared/ManageNavMenu.razor.rz.scp.css */
/* Section nav of account settings (links are rendered by NavLink, hence ::deep). */
.manage-nav[b-no7hdc190s] { display: flex; flex-direction: column; gap: 2px; position: sticky; top: 0; }
.manage-nav[b-no7hdc190s]  a {
    display: block;
    padding: .5rem .75rem;
    border-radius: var(--radius-sm);
    color: var(--text-muted);
    font-weight: 500;
    text-decoration: none;
}
.manage-nav[b-no7hdc190s]  a:hover { background: var(--surface-sunken); color: var(--text); }
.manage-nav[b-no7hdc190s]  a:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.manage-nav[b-no7hdc190s]  a.active { background: var(--primary-soft); color: var(--primary); font-weight: 650; }
.manage-nav-sep[b-no7hdc190s] { height: 1px; background: var(--border); margin: .4rem .5rem; }

@media (max-width: 760px) {
    .manage-nav[b-no7hdc190s] {
        position: static;
        flex-direction: row;
        overflow-x: auto;
        gap: 4px;
        padding-bottom: 2px;
        scrollbar-width: none;
    }
    .manage-nav[b-no7hdc190s]  a { white-space: nowrap; padding: .45rem .7rem; }
    .manage-nav-sep[b-no7hdc190s] { display: none; }
}
/* /Components/Layout/ConfirmHost.razor.rz.scp.css */
/* Confirmation dialog: an icon that says "question" or "careful", the question in plain words, two answers. */
.confirm-body[b-b4ume9khjf] { display: flex; gap: .9rem; align-items: flex-start; }
.confirm-body h2[b-b4ume9khjf] { margin: 0 0 .3rem; }
.confirm-body p[b-b4ume9khjf] { color: var(--text-muted); line-height: 1.5; }
.confirm-icon[b-b4ume9khjf] {
    flex: none;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-weight: 800;
    background: var(--primary-soft);
    color: var(--primary);
}
.confirm-modal.danger .confirm-icon[b-b4ume9khjf] { background: var(--danger-soft); color: var(--danger); }
.btn-danger-solid[b-b4ume9khjf] { background: var(--danger); border-color: var(--danger); color: #fff; }
.btn-danger-solid:hover[b-b4ume9khjf] { background: color-mix(in srgb, var(--danger) 88%, #000); color: #fff; }
.btn-danger-solid kbd[b-b4ume9khjf] { color: inherit; }
/* Save warnings listed in one question (DialogService.ConfirmWarningsAsync). */
.confirm-list[b-b4ume9khjf] { margin: .2rem 0 .55rem; padding-left: 1.1rem; display: grid; gap: .25rem; line-height: 1.45; }
.confirm-body .confirm-list + p[b-b4ume9khjf] { color: var(--text); font-weight: 600; }
/* /Components/Layout/EmailPdfHost.razor.rz.scp.css */
/* "E-mail as PDF" dialog (EmailPdfHost.razor): label column + fields, attachment line, busy indicator. */

.email-modal[b-36rm0f930e] {
    width: min(620px, 100%);
}

.email-title[b-36rm0f930e] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin: 0 0 1rem;
    font-size: 1.1rem;
}

.email-title svg[b-36rm0f930e] {
    width: 20px;
    height: 20px;
    color: var(--primary);
}

/* What is being sent, as a quiet chip after the heading. */
.email-what[b-36rm0f930e] {
    padding: .1rem .55rem;
    border-radius: 999px;
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: var(--fs-sm);
    font-weight: 500;
}

.email-grid[b-36rm0f930e] {
    display: grid;
    grid-template-columns: 5rem 1fr;
    gap: .6rem .75rem;
    align-items: start;
}

.email-grid > label[b-36rm0f930e] {
    padding-top: .45rem;
    color: var(--text-muted);
    font-size: var(--fs-sm);
    font-weight: 600;
}

.email-grid .input[b-36rm0f930e],
.email-grid .textarea[b-36rm0f930e] {
    width: 100%;
}

.email-grid .help[b-36rm0f930e] {
    margin-top: .2rem;
    font-size: var(--fs-xs);
    color: var(--text-faint);
}

.email-attach[b-36rm0f930e] {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    margin: 1rem 0 0;
    padding: .65rem .8rem;
    border: 1px dashed var(--border-strong);
    border-radius: var(--radius);
    background: var(--surface-2);
    font-size: var(--fs-sm);
}

.email-file[b-36rm0f930e] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-weight: 600;
    word-break: break-all;
}

.email-file svg[b-36rm0f930e] {
    flex: none;
    width: 16px;
    height: 16px;
    color: var(--danger);
}

.email-busy[b-36rm0f930e] {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-right: auto;
    color: var(--text-muted);
    font-size: var(--fs-sm);
}

.spinner[b-36rm0f930e] {
    width: 14px;
    height: 14px;
    border: 2px solid var(--border-strong);
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: email-spin-b-36rm0f930e .8s linear infinite;
}

@keyframes email-spin-b-36rm0f930e {
    to { transform: rotate(360deg); }
}

/* Phones: labels above the fields. */
@media (max-width: 560px) {
    .email-grid[b-36rm0f930e] { grid-template-columns: 1fr; gap: .25rem; }
    .email-grid > label[b-36rm0f930e] { padding-top: .4rem; }
    .modal-footer[b-36rm0f930e] { flex-wrap: wrap; }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/*
   Blazor error bar: opaque, readable in light and dark, sits ABOVE the status bar (never on top of its
   text), with one clear action. Blazor switches it on with style="display:block"; the flex layout below
   applies once it is visible.
*/
#blazor-error-ui[b-0pf6a874gh] {
    position: fixed;
    left: 50%;
    right: auto;
    bottom: calc(var(--statusbar-h) + 12px);
    transform: translateX(-50%);
    width: min(640px, calc(100vw - 24px));
    padding: .75rem .9rem .75rem 1rem;
    background: var(--surface);
    color: var(--text);
    border: 1px solid color-mix(in srgb, var(--danger) 45%, var(--border));
    border-left: 4px solid var(--danger);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    z-index: 1100;
    align-items: center;
    gap: .75rem;
}
#blazor-error-ui[style*="block"][b-0pf6a874gh] { display: flex !important; }
.beu-icon[b-0pf6a874gh] {
    flex: none;
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--danger-soft);
    color: var(--danger);
    font-weight: 800;
}
.beu-text[b-0pf6a874gh] { flex: 1; display: flex; flex-direction: column; gap: 2px; font-size: var(--fs-sm); line-height: 1.35; }
.beu-text span[b-0pf6a874gh] { color: var(--text-muted); }
#blazor-error-ui .reload[b-0pf6a874gh] { flex: none; text-decoration: none; }
#blazor-error-ui .dismiss[b-0pf6a874gh] {
    position: static;
    flex: none;
    border: 0;
    background: transparent;
    color: var(--text-faint);
    cursor: pointer;
    font-size: 1rem;
    padding: .25rem .4rem;
    border-radius: var(--radius-sm);
}
#blazor-error-ui .dismiss:hover[b-0pf6a874gh] { background: var(--surface-sunken); color: var(--text); }
/* /Components/Layout/MenuBar.razor.rz.scp.css */
/* Menu bar extras (scoped to MenuBar.razor). Base menu styles (.menubar, .menu-trigger, .menu-dropdown, .menu-item,
   .company-chip, .icon-btn) live in wwwroot/app.css; this file adds the right-hand tools, long-menu scrolling and the
   tablet / phone layout. */

/* ----- long menus never run off the screen (QA: Masters ran past 850px and could not scroll) ----- */
.menu-dropdown[b-nsscz0pm85] {
    max-height: calc(100dvh - var(--menubar-h) - 12px);
    overflow-y: auto;
    overscroll-behavior: contain;
    min-width: 270px;
    width: max-content;
    max-width: min(440px, calc(100vw - 16px));
}

/* One line per item: the drop-down grows to the longest label instead of wrapping. */
.menu-item .menu-label[b-nsscz0pm85] { white-space: nowrap; }

/* Access letter inside menu items, like Windows menus. */
.menu-item u[b-nsscz0pm85] { text-decoration-thickness: 1px; text-underline-offset: 2px; }
.menu-item kbd[b-nsscz0pm85] { flex: none; }

/* "N more in All features" footer shown in Simple mode. */
.menu-more[b-nsscz0pm85] { color: var(--text-muted); font-size: var(--fs-sm); }
.menu-more .menu-hint[b-nsscz0pm85] {
    font-size: var(--fs-xs);
    color: var(--text-faint);
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 0 .45rem;
}

/* ----- right-hand tools ---------------------------------------------------------------------------------- */
.menubar-right[b-nsscz0pm85] { min-width: 0; }

.menubar-search[b-nsscz0pm85] {
    all: unset;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    height: 30px;
    padding: 0 .6rem 0 .55rem;
    border-radius: var(--radius-sm);
    background: rgb(255 255 255 / .08);
    color: var(--menubar-text);
    font-size: var(--fs-sm);
    cursor: pointer;
    white-space: nowrap;
}
.menubar-search:hover[b-nsscz0pm85], .menubar-search:focus-visible[b-nsscz0pm85] { background: rgb(255 255 255 / .16); color: #fff; }
.menubar-search svg[b-nsscz0pm85] { width: 16px; height: 16px; opacity: .85; }
.menubar-search .search-text[b-nsscz0pm85] { min-width: 64px; opacity: .85; }
.menubar-search kbd[b-nsscz0pm85] {
    background: transparent;
    border-color: rgb(255 255 255 / .25);
    color: var(--menubar-text);
    opacity: .75;
}

/* "+ New": the one coloured button on the bar, so creating is always one obvious click away. */
.new-trigger[b-nsscz0pm85] {
    gap: .3rem;
    height: 30px;
    margin: 0;
    padding: 0 .75rem 0 .6rem;
    /* The bar is dark in both themes, so the button keeps the strong indigo (white text stays readable in dark mode,
       where --primary turns light). */
    background: #4f46e5;
    color: #fff;
    font-weight: 600;
}
.new-trigger:hover[b-nsscz0pm85], .menu.open > .new-trigger[b-nsscz0pm85], .new-trigger:focus-visible[b-nsscz0pm85] { background: #4338ca; color: #fff; }
.new-trigger svg[b-nsscz0pm85] { width: 15px; height: 15px; }
.menu-new[b-nsscz0pm85], .menu-user[b-nsscz0pm85] { align-items: center; }

/* Right-hand menus open towards the left so they stay on screen. */
.menu-right > .menu-dropdown[b-nsscz0pm85] { left: auto; right: 0; top: calc(100% + 6px); }
.menu-new > .menu-dropdown[b-nsscz0pm85] { min-width: 250px; }

/* Round initial = the user menu. */
.avatar[b-nsscz0pm85] {
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
    background: rgb(255 255 255 / .14);
    color: #fff;
    font-weight: 700;
    font-size: var(--fs-sm);
}
.avatar:hover[b-nsscz0pm85], .menu.open > .avatar[b-nsscz0pm85] { background: rgb(255 255 255 / .24); }
.menu-user > .menu-dropdown[b-nsscz0pm85] { min-width: 280px; }

.user-card[b-nsscz0pm85] { display: flex; flex-direction: column; padding: 6px 10px 4px; line-height: 1.3; }
.user-card strong[b-nsscz0pm85] { font-size: var(--fs); }
.user-card span[b-nsscz0pm85] { font-size: var(--fs-xs); color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 260px; }

.menu-note[b-nsscz0pm85] { padding: 4px 10px 6px; font-size: var(--fs-xs); color: var(--text-muted); }
.menu-user form[b-nsscz0pm85] { margin: 0; }

/* Radio dot for the menu-style choice. */
.radio[b-nsscz0pm85] {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: .55rem;
    vertical-align: -2px;
    border: 2px solid var(--border-strong);
    border-radius: 50%;
}
.radio.on[b-nsscz0pm85] { border-color: var(--primary); box-shadow: inset 0 0 0 3px var(--surface), inset 0 0 0 7px var(--primary); }

.company-chip[b-nsscz0pm85] { min-width: 0; }
.company-chip span[b-nsscz0pm85] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.settings-btn[b-nsscz0pm85], .theme-btn[b-nsscz0pm85] { color: var(--menubar-text); }
.theme-btn:hover[b-nsscz0pm85] { color: #fff; }
.settings-btn:hover[b-nsscz0pm85] { text-decoration: none; color: #fff; }

/* ----- narrower desktops: compact tools first ------------------------------------------------------------ */
@media (max-width: 1360px) {
    .menubar-search kbd[b-nsscz0pm85] { display: none; }
}
@media (max-width: 1240px) {
    .menubar-search .search-text[b-nsscz0pm85] { display: none; }
    .menubar-search[b-nsscz0pm85] { padding: 0 .45rem; }
    .company-chip[b-nsscz0pm85] { max-width: 190px; }
}

/* ----- tablets and phones: the menus fold into the ☰ sheet (app.css does this below 760px; the seven
         plain-language menus plus the tools need ~1080px, so fold earlier) ----------------------------------- */
@media (max-width: 1080px) {
    .menubar-toggle[b-nsscz0pm85] { display: grid; }
    .menubar-menus[b-nsscz0pm85] {
        display: none;
        position: absolute;
        top: var(--menubar-h);
        left: 0;
        right: 0;
        flex-direction: column;
        padding: .5rem;
        background: var(--menubar-bg);
        max-height: calc(100dvh - var(--menubar-h));
        overflow: auto;
        box-shadow: var(--shadow-lg);
    }
    .menubar.mobile-open .menubar-menus[b-nsscz0pm85] { display: flex; }
    .menubar-menus .menu[b-nsscz0pm85] { flex-direction: column; }
    .menubar-menus .menu-trigger[b-nsscz0pm85] { margin: 0; padding: .6rem .75rem; }
    .menubar-menus .menu-dropdown[b-nsscz0pm85] { position: static; box-shadow: none; min-width: 0; width: auto; max-width: none; margin: 0 0 .5rem; max-height: none; }
    .menubar-menus .menu-item .menu-label[b-nsscz0pm85] { white-space: normal; }
}

@media (max-width: 760px) {
    /* app.css makes every drop-down static on phones; the right-hand menus must stay floating panels. */
    .menu-right > .menu-dropdown[b-nsscz0pm85] {
        position: fixed;
        top: calc(var(--menubar-h) + 4px);
        right: 8px;
        left: auto;
        min-width: 0;
        width: min(300px, calc(100vw - 16px));
        margin: 0;
        box-shadow: var(--shadow-lg);
    }
    .menu-right[b-nsscz0pm85] { flex-direction: row; }
    .menubar-brand[b-nsscz0pm85] { padding-right: .5rem; margin-right: 0; }
    .menubar-right[b-nsscz0pm85] { gap: .35rem; }
    .company-chip[b-nsscz0pm85] { max-width: 120px; min-width: 0; padding: 2px 8px; }
    .menubar-search[b-nsscz0pm85] { height: 32px; }
}

@media (max-width: 520px) {
    .menubar-brand span[b-nsscz0pm85] { display: none; }
    .menubar-brand[b-nsscz0pm85] { border-right: 0; }
    .new-trigger span[b-nsscz0pm85] { display: none; }
    .new-trigger[b-nsscz0pm85] { padding: 0 .5rem; }
    .settings-btn[b-nsscz0pm85] { display: none; } /* Settings is in the avatar menu on phones */
    .company-chip[b-nsscz0pm85] { max-width: 96px; }
}

@media (hover: none), (max-width: 760px) {
    /* Keyboard hints mean nothing on a touch screen. */
    .menu-item kbd[b-nsscz0pm85], .menubar-search kbd[b-nsscz0pm85] { display: none; }
    .menu-item[b-nsscz0pm85] { min-height: 40px; }
}
/* /Components/Layout/PrintLayout.razor.rz.scp.css */
/* Print layout: grey "desk" with paper sheets on screen; plain white when printing. */
.print-shell[b-7xb0xlac2g] {
    min-height: 100dvh;
    background: var(--surface-sunken);
}

.print-loading[b-7xb0xlac2g] {
    padding: 4rem 1rem;
    text-align: center;
    color: var(--text-muted);
}

@media print {
    .print-shell[b-7xb0xlac2g] { background: #fff; min-height: 0; }
}
/* /Components/Layout/QuickSearch.razor.rz.scp.css */
/* Command palette: wide, near the top, the list part of the dialog (not floating over the page). */
.quick-search-backdrop[b-lb5brlngc3] { align-items: start; place-items: start center; }
.quick-search[b-lb5brlngc3] { width: min(680px, 100%); align-self: start; margin-top: 12vh; }
.quick-search .help[b-lb5brlngc3] { color: var(--text-faint); font-size: var(--fs-xs); margin-bottom: 0; }
.quick-search[b-lb5brlngc3]  .lookup-list {
    position: static;
    margin-top: .5rem;
    width: 100%;
    max-width: none;
    min-width: 0;
    max-height: min(420px, 55vh);
    box-shadow: none;
}
.quick-search[b-lb5brlngc3]  .input { height: 42px; font-size: var(--fs-lg); }

@media (max-width: 760px) {
    .quick-search[b-lb5brlngc3] { margin-top: 2vh; }
}
/* Key hints mean nothing on a touch screen. */
@media (hover: none) and (pointer: coarse) {
    .quick-search .help[b-lb5brlngc3] { display: none; }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
/*
   Reconnect UI. Blazor toggles these classes on the dialog:
     components-reconnect-show / -retrying / -failed / -paused / -resume-failed
   States: "show"/"retrying" → small pill at the bottom; failed / paused / resume-failed → centred card.
   rc-quiet (added by ReconnectModal.razor.js for the first 1.5 s) hides everything: short drops are silent.
*/
.components-reconnect-first-attempt-visible[b-8lovd7rvx0],
.components-reconnect-repeated-attempt-visible[b-8lovd7rvx0],
.components-reconnect-failed-visible[b-8lovd7rvx0],
.components-pause-visible[b-8lovd7rvx0],
.components-resume-failed-visible[b-8lovd7rvx0] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-8lovd7rvx0],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-8lovd7rvx0],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-8lovd7rvx0],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-8lovd7rvx0],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-8lovd7rvx0] {
    display: block;
}

/* The dialog itself is an invisible full-screen layer; the pill / card inside it are what people see. */
#components-reconnect-modal[b-8lovd7rvx0] {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text);
    font: inherit;
    overflow: hidden;
    outline: none; /* the dialog takes focus when it opens; the ring around the whole screen is noise */
}
#components-reconnect-modal[b-8lovd7rvx0]::backdrop { background: rgb(15 17 32 / .12); transition: background .3s; }
#components-reconnect-modal.rc-quiet[b-8lovd7rvx0]::backdrop { background: transparent; }
#components-reconnect-modal.rc-quiet > *[b-8lovd7rvx0] { opacity: 0; }

/* Pill: reconnecting (first attempt / retrying). */
.rc-pill[b-8lovd7rvx0] {
    position: absolute;
    left: 50%;
    bottom: calc(var(--statusbar-h, 28px) + 16px);
    transform: translateX(-50%);
    display: none;
    align-items: center;
    gap: .6rem;
    padding: .55rem 1rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    box-shadow: var(--shadow-lg);
    font-size: var(--fs-sm);
    white-space: nowrap;
    transition: opacity .25s;
    animation: rc-rise-b-8lovd7rvx0 .25s ease-out;
}
#components-reconnect-modal.components-reconnect-show .rc-pill[b-8lovd7rvx0],
#components-reconnect-modal.components-reconnect-retrying .rc-pill[b-8lovd7rvx0] { display: inline-flex; }
.rc-pill p[b-8lovd7rvx0] { margin: 0; }
.rc-muted[b-8lovd7rvx0] { color: var(--text-muted); }
.rc-spinner[b-8lovd7rvx0] {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid var(--primary-soft);
    border-top-color: var(--primary);
    animation: rc-spin-b-8lovd7rvx0 .8s linear infinite;
}

/* Card: failed / paused / resume failed. */
.rc-card[b-8lovd7rvx0] {
    position: absolute;
    left: 50%;
    top: 22vh;
    transform: translateX(-50%);
    width: min(420px, calc(100vw - 32px));
    display: none;
    padding: 1.4rem 1.5rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg, 14px);
    box-shadow: var(--shadow-lg);
    transition: opacity .25s;
    animation: rc-rise-b-8lovd7rvx0 .25s ease-out;
}
#components-reconnect-modal.components-reconnect-failed .rc-card[b-8lovd7rvx0],
#components-reconnect-modal.components-reconnect-paused .rc-card[b-8lovd7rvx0],
#components-reconnect-modal.components-reconnect-resume-failed .rc-card[b-8lovd7rvx0] { display: block; }
#components-reconnect-modal.components-reconnect-failed[b-8lovd7rvx0]::backdrop,
#components-reconnect-modal.components-reconnect-paused[b-8lovd7rvx0]::backdrop,
#components-reconnect-modal.components-reconnect-resume-failed[b-8lovd7rvx0]::backdrop { background: rgb(15 17 32 / .4); }
.rc-card h2[b-8lovd7rvx0] { margin: 0 0 .4rem; font-size: var(--fs-lg, 1rem); }
.rc-card p[b-8lovd7rvx0] { margin: 0; color: var(--text-muted); line-height: 1.5; font-size: var(--fs-sm); }
.rc-actions[b-8lovd7rvx0] { display: flex; gap: .5rem; justify-content: flex-end; margin-top: 1.1rem; }
.rc-btn[b-8lovd7rvx0] {
    height: var(--control-h, 34px);
    padding: 0 1rem;
    border-radius: var(--radius-sm, 6px);
    border: 1px solid var(--border-strong);
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.rc-btn:hover[b-8lovd7rvx0] { background: var(--surface-2); }
.rc-btn:focus-visible[b-8lovd7rvx0] { outline: none; box-shadow: var(--focus-ring); }
.rc-primary[b-8lovd7rvx0] { background: var(--primary); border-color: var(--primary); color: var(--primary-contrast); }
.rc-primary:hover[b-8lovd7rvx0] { background: var(--primary-hover); }

@keyframes rc-spin-b-8lovd7rvx0 { to { transform: rotate(360deg); } }
@keyframes rc-rise-b-8lovd7rvx0 { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
/* /Components/Layout/ToastHost.razor.rz.scp.css */
/*
   Toast notifications: bottom-right above the status bar (where they have always been), a solid status icon + bold
   title + message, close button and
   a countdown bar. Professional and calm (white card, one accent colour per kind), but impossible to miss.
*/
.toast-host[b-kgowg0pb4i] {
    position: fixed;
    right: 1rem;
    bottom: calc(var(--statusbar-h) + 1rem);
    z-index: 1100;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .5rem;
    width: min(460px, calc(100vw - 2rem));
    pointer-events: none;
}

.toast[b-kgowg0pb4i] {
    --accent: var(--info);
    --accent-soft: var(--info-soft);
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    width: 100%;
    padding: .85rem .75rem .95rem .95rem;
    overflow: hidden;
    background: var(--surface);
    border: 1px solid var(--border);
    border-top: 3px solid var(--accent);
    border-radius: var(--radius);
    box-shadow: 0 18px 40px rgb(16 24 40 / .18), 0 4px 10px rgb(16 24 40 / .08);
    pointer-events: auto;
}

.toast.success[b-kgowg0pb4i] { --accent: var(--success); --accent-soft: var(--success-soft); }
.toast.error[b-kgowg0pb4i] { --accent: var(--danger); --accent-soft: var(--danger-soft); }

.toast-icon[b-kgowg0pb4i] {
    flex: none;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
}

.toast-icon svg[b-kgowg0pb4i] {
    width: 16px;
    height: 16px;
}

.toast-body[b-kgowg0pb4i] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .15rem;
    padding-top: .1rem;
}

.toast-title[b-kgowg0pb4i] {
    font-size: .875rem;
    font-weight: 700;
    color: var(--accent);
    line-height: 1.3;
}

.toast-text[b-kgowg0pb4i] {
    font-size: .875rem;
    color: var(--text);
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.toast-close[b-kgowg0pb4i] {
    flex: none;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin: -.2rem -.1rem 0 0;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
}

.toast-close:hover[b-kgowg0pb4i] {
    background: var(--surface-sunken);
    color: var(--text);
}

.toast-close svg[b-kgowg0pb4i] {
    width: 16px;
    height: 16px;
}

/* Countdown: shrinks from full width to nothing over the toast's lifetime. */
.toast-timer[b-kgowg0pb4i] {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: 100%;
    background: var(--accent-soft);
    transform-origin: left;
    animation-name: toast-timer-b-kgowg0pb4i;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
}

.toast-timer[b-kgowg0pb4i]::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--accent);
    opacity: .45;
}

@keyframes toast-timer-b-kgowg0pb4i {
    from { transform: scaleX(1); }
    to { transform: scaleX(0); }
}

/* Phones / tablets (bottom tab bar, app.css): just above it, full width on phones. */
@media (max-width: 880px), (hover: none) and (max-width: 1100px) {
    .toast-host[b-kgowg0pb4i] {
        right: .5rem;
        bottom: calc(var(--tabbar-h) + .75rem);
    }
}
@media (max-width: 760px) {
    .toast-host[b-kgowg0pb4i] { width: calc(100vw - 1rem); }
}

@media (prefers-reduced-motion: reduce) {
    .toast-timer[b-kgowg0pb4i] { display: none; }
}
/* /Components/Pages/Banking/BankReconciliationReport.razor.rz.scp.css */
/* Bank reconciliation: formula strip (books + not presented − not cleared = bank), toolbar, editable grid, statement. */

.brs-figures[b-cb6005hd1y] {
    display: flex;
    align-items: stretch;
    gap: .5rem;
    padding: 1rem;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--border);
}
.fig[b-cb6005hd1y] {
    flex: 1 1 150px;
    padding: .65rem .85rem;
    background: var(--surface-sunken);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    min-width: 150px;
}
.fig.clickable[b-cb6005hd1y] { cursor: pointer; }
.fig.clickable:hover[b-cb6005hd1y] { border-color: var(--primary); }
.fig.total[b-cb6005hd1y] { background: var(--primary-soft); border-color: var(--primary); }
.fig .label[b-cb6005hd1y] { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); }
.fig .value[b-cb6005hd1y] { font-size: 1.2rem; font-weight: 700; font-variant-numeric: tabular-nums; margin-top: .15rem; }
.fig .sub[b-cb6005hd1y] { font-size: var(--fs-xs); color: var(--text-muted); margin-top: .2rem; }
.op[b-cb6005hd1y] { align-self: center; font-size: 1.3rem; font-weight: 700; color: var(--text-faint); }
.link[b-cb6005hd1y] { border: 0; background: none; color: var(--primary); cursor: pointer; padding: 0; font: inherit; text-decoration: underline; }

/* Formula in the summary line under the grid: books + not presented − not cleared = bank. */
.brs-op[b-cb6005hd1y] { font-weight: 700; color: var(--text-faint); }
.brs-fig[b-cb6005hd1y] { border: 0; background: none; padding: 0; font: inherit; color: inherit; cursor: pointer; }
.brs-fig:hover b[b-cb6005hd1y] { color: var(--primary); text-decoration: underline; }

/* Segmented tabs (toolbar). */
.seg[b-cb6005hd1y] { display: inline-flex; gap: 2px; padding: 2px; background: var(--surface-sunken); border-radius: var(--radius); }
.seg-btn[b-cb6005hd1y] {
    border: 0; background: transparent; color: var(--text-muted); font: inherit; font-size: var(--fs-sm);
    padding: .2rem .6rem; border-radius: calc(var(--radius) - 2px); cursor: pointer; white-space: nowrap;
}
.seg-btn.active[b-cb6005hd1y] { background: var(--surface); color: var(--text); box-shadow: var(--shadow-sm); }

.import-host[b-cb6005hd1y] { padding: 1rem; background: var(--surface-sunken); border-bottom: 1px solid var(--border); }

.bulk[b-cb6005hd1y] {
    display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
    padding: .5rem .75rem; background: var(--primary-soft); border-bottom: 1px solid var(--border);
}
.bulk-date[b-cb6005hd1y] { display: inline-flex; gap: .35rem; align-items: center; }
.bulk-date[b-cb6005hd1y]  .input { width: 130px; height: 30px; }

.brs-grid[b-cb6005hd1y] { border-radius: 0; }
.brs-grid td[b-cb6005hd1y] { vertical-align: top; }
.w-check[b-cb6005hd1y] { width: 34px; }
.w-bank[b-cb6005hd1y] { width: 132px; }
.nowrap[b-cb6005hd1y] { white-space: nowrap; }
.small[b-cb6005hd1y] { font-size: var(--fs-xs); }
.mono[b-cb6005hd1y] { font-family: var(--font-mono); }
.particulars[b-cb6005hd1y] { min-width: 180px; max-width: 360px; white-space: normal; }
.bankdate[b-cb6005hd1y] { height: 30px; width: 120px; font-variant-numeric: tabular-nums; }
.bankdate.early[b-cb6005hd1y] { border-color: var(--warning); }
tr.is-cleared td[b-cb6005hd1y] { color: var(--text-muted); }
tr.is-cleared .bankdate[b-cb6005hd1y] { background: var(--success-soft); border-color: var(--success); color: var(--text); }
tr.opening td[b-cb6005hd1y] { font-weight: 600; background: var(--surface-sunken); }
.cheque-link[b-cb6005hd1y] { margin-left: .3rem; text-decoration: none; opacity: .6; }
.cheque-link:hover[b-cb6005hd1y] { opacity: 1; }

.setup[b-cb6005hd1y] { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; padding: .75rem 1rem; border-top: 1px solid var(--border); }
.setup[b-cb6005hd1y]  .input { width: 130px; height: 30px; }

/* Classic printable statement. */
.brs-statement[b-cb6005hd1y] { padding: 1.25rem 1.5rem; max-width: 900px; }
.brs-statement h2[b-cb6005hd1y] { margin: 0; font-size: 1.1rem; }
.stmt-table td[b-cb6005hd1y] { padding: .3rem .5rem; }
.stmt-table .head td[b-cb6005hd1y] { font-weight: 700; border-top: 1px solid var(--border-strong); }
.stmt-table .section td[b-cb6005hd1y] { font-weight: 600; color: var(--text-muted); padding-top: .7rem; }
.stmt-table .subtotal td[b-cb6005hd1y] { border-top: 1px dashed var(--border); font-weight: 600; }
.stmt-table .total td[b-cb6005hd1y] { border-top: 2px solid var(--text); border-bottom: 2px solid var(--text); }
.stmt-table .ok td[b-cb6005hd1y] { color: var(--success); font-weight: 700; }
.stmt-table .bad td[b-cb6005hd1y] { color: var(--danger); font-weight: 700; }

@media print {
    .brs-grid[b-cb6005hd1y] { max-height: none; overflow: visible; }
    .bankdate[b-cb6005hd1y] { border: 0; background: none !important; padding: 0; height: auto; }
    .fig[b-cb6005hd1y] { background: none; }
}

@media (max-width: 760px) {
    .op[b-cb6005hd1y] { display: none; }
    .fig[b-cb6005hd1y] { flex-basis: 45%; }
}
/* /Components/Pages/Banking/BankStatementImportPage.razor.rz.scp.css */
/* Link to the reconciliation after a statement was applied. */
.done-card[b-4g3m6csm0x] { margin-top: 1rem; }
.done-card .card-body[b-4g3m6csm0x] { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; }
/* /Components/Pages/Banking/ChequeFace.razor.rz.scp.css */
/* A cheque leaf at real size. Everything is positioned in millimetres from the leaf's top-left corner. */
.leaf[b-caw7s15g32] {
    position: relative;
    overflow: hidden;
    color: #000;
    font-family: "Arial", "Helvetica", sans-serif;
    line-height: 1;
    background: transparent;
}

/* Guides: how a CTS-2010 leaf looks (screen preview / plain-paper test print). */
.leaf.guides[b-caw7s15g32] {
    background: repeating-linear-gradient(135deg, #f4f8ff 0 6px, #eef4fd 6px 12px);
    border: 1px dashed #7c8db5;
    border-radius: 2mm;
}
.g[b-caw7s15g32] { position: absolute; color: #8a97b8; font-size: 8pt; pointer-events: none; }
.g-line[b-caw7s15g32] { height: 0; border-bottom: 1px solid #a8b4d1; }
.g-box[b-caw7s15g32] { border: 1px solid #a8b4d1; padding-left: 1mm; display: flex; align-items: center; }
.g-datebox[b-caw7s15g32] { height: 5.5mm; border: 1px solid #c4cde3; font-size: 6pt; text-align: center; padding-top: .3mm; }
.g-micr[b-caw7s15g32] { left: 30mm; letter-spacing: 1.2mm; font-family: var(--font-mono); }

/* Printed fields. */
.f[b-caw7s15g32] { position: absolute; white-space: nowrap; cursor: default; font-weight: 600; text-transform: uppercase; }
.f.clip[b-caw7s15g32] { overflow: hidden; text-overflow: clip; }
.f.strong[b-caw7s15g32] { font-weight: 700; }
.f .digit[b-caw7s15g32] { position: absolute; top: 0; }
.f.cross[b-caw7s15g32] {
    border-top: 1.2px solid #000;
    border-bottom: 1.2px solid #000;
    padding: .8mm 2mm;
    font-size: .8em;
    transform: rotate(-28deg);
    transform-origin: left top;
}
.f.sign[b-caw7s15g32] { display: flex; flex-direction: column; align-items: flex-start; font-size: .8em; }
.f.sign .sign-gap[b-caw7s15g32] { height: 9mm; }

/* Calibration: the clicked field. */
.f.selected[b-caw7s15g32] { outline: 1.5px solid var(--primary, #4f46e5); outline-offset: 1px; background: rgb(79 70 229 / .08); }

@media print {
    .leaf.guides[b-caw7s15g32] { background: none; border: 1px dashed #999; }
    .f.selected[b-caw7s15g32] { outline: 0; background: none; }
}
/* /Components/Pages/Banking/ChequeLayoutPage.razor.rz.scp.css */
/* Calibration screen: millimetre form on the left, real-size live preview on the right (stacked on narrow screens). */
.layout-grid[b-m9wf7nj0pr] { display: grid; grid-template-columns: minmax(340px, 1fr) minmax(0, 230mm); gap: 1rem; align-items: start; }
@media (max-width: 1200px) { .layout-grid[b-m9wf7nj0pr] { grid-template-columns: 1fr; } }

.preview-col[b-m9wf7nj0pr] { display: flex; flex-direction: column; gap: .75rem; min-width: 0; }
.preview-help .card-body[b-m9wf7nj0pr] { padding: .6rem .9rem; }
.preview-scroll[b-m9wf7nj0pr] { overflow-x: auto; border-radius: var(--radius); outline: none; padding: .25rem; }
.preview-scroll:focus-visible[b-m9wf7nj0pr] { box-shadow: var(--focus-ring); }

.cheque-sheet[b-m9wf7nj0pr] {
    position: relative;
    width: 210mm;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
}
.leaf-pos[b-m9wf7nj0pr] { position: absolute; }
/* /Components/Pages/Banking/ChequePrintPage.razor.rz.scp.css */
/* Cheque print page: editable cards on screen, then each cheque on an A4-wide "sheet" positioned in millimetres. */
.cheque-page[b-zld3i12qnu] { max-width: 230mm; margin: 0 auto; padding: 1rem; }

.cheque-toolbar[b-zld3i12qnu] { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; margin-bottom: 1rem; }
.toolbar-title[b-zld3i12qnu] { margin-right: auto; color: var(--text-muted); }
.leaf-picks[b-zld3i12qnu] { display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
.leaf-meta[b-zld3i12qnu] { min-height: var(--control-h); display: flex; align-items: center; }
.words-preview[b-zld3i12qnu] { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; font-style: italic; }
.leaf-edit[b-zld3i12qnu] { margin-bottom: .6rem; }

/* The A4 band the leaf is fed into: 210 mm wide, the leaf sits at the feed position + calibration offset. */
.cheque-sheet[b-zld3i12qnu] {
    position: relative;
    width: 210mm;
    margin: 0 0 1.25rem;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.leaf-pos[b-zld3i12qnu] { position: absolute; }

@media print {
    .cheque-page[b-zld3i12qnu] { max-width: none; margin: 0; padding: 0; }
    .cheque-sheet[b-zld3i12qnu] { border: 0; border-radius: 0; box-shadow: none; margin: 0; page-break-after: always; break-after: page; }
    .cheque-sheet:last-child[b-zld3i12qnu] { page-break-after: auto; break-after: auto; }
    /* Real leaf: print only the fields. Plain-paper test: keep the outline and guides to compare with a cheque. */
    .cheque-sheet:not(.test)[b-zld3i12qnu]  .g { display: none; }
    .cheque-sheet:not(.test)[b-zld3i12qnu]  .leaf.guides { border: 0; background: none; }
}
/* /Components/Pages/Banking/StatementImportPanel.razor.rz.scp.css */
/* Bank statement import: upload → columns → review → apply, stacked cards. */
.stmt[b-b2an3ajbsx] { display: flex; flex-direction: column; gap: 1rem; }

.file-info[b-b2an3ajbsx] { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: .25rem; min-width: 0; }
.file-info .badge[b-b2an3ajbsx] { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.small[b-b2an3ajbsx] { font-size: var(--fs-xs); }
.nowrap[b-b2an3ajbsx] { white-space: nowrap; }
.mono[b-b2an3ajbsx] { font-family: var(--font-mono); }

.parse-summary[b-b2an3ajbsx] { display: flex; flex-direction: column; gap: .6rem; border-top: 1px solid var(--border); }
.parse-summary .stat[b-b2an3ajbsx] { padding: .5rem .75rem; background: var(--surface-sunken); border-radius: var(--radius); }
.parse-summary .stat .value[b-b2an3ajbsx] { font-size: 1.15rem; }

/* Segmented filter in the review header. */
.seg[b-b2an3ajbsx] { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 2px; background: var(--surface-sunken); border-radius: var(--radius); }
.seg-btn[b-b2an3ajbsx] {
    border: 0; background: transparent; color: var(--text-muted); font: inherit; font-size: var(--fs-sm);
    padding: .3rem .65rem; border-radius: calc(var(--radius) - 2px); cursor: pointer; white-space: nowrap;
}
.seg-btn.active[b-b2an3ajbsx] { background: var(--surface); color: var(--text); box-shadow: var(--shadow-sm); }
.seg-count[b-b2an3ajbsx] { display: inline-block; min-width: 1.4em; padding: 0 .35em; margin-left: .2rem; border-radius: 999px; background: var(--border); font-size: var(--fs-xs); text-align: center; }

.table-wrap.review[b-b2an3ajbsx] { max-height: 62vh; }
.review td[b-b2an3ajbsx] { vertical-align: top; }
.w-check[b-b2an3ajbsx] { width: 34px; }
.w-action[b-b2an3ajbsx] { min-width: 360px; }
.narr[b-b2an3ajbsx] { max-width: 340px; white-space: normal; word-break: break-word; }

.action-line[b-b2an3ajbsx] { display: flex; gap: .5rem; align-items: center; }
.action-line .pick[b-b2an3ajbsx] { flex: 1; min-width: 0; height: 30px; }
.new-entry[b-b2an3ajbsx] { display: flex; gap: .4rem; align-items: flex-start; }
.new-entry .type[b-b2an3ajbsx] { width: 120px; flex: none; height: 30px; }
.new-entry .acct[b-b2an3ajbsx] { flex: 1; min-width: 0; }

/* Row states: matched (green edge), new with account (blue edge), needs an account (amber), already cleared (muted). */
.row-match td:first-child[b-b2an3ajbsx] { box-shadow: inset 3px 0 0 var(--success); }
.row-new td:first-child[b-b2an3ajbsx] { box-shadow: inset 3px 0 0 var(--info); }
.row-todo td:first-child[b-b2an3ajbsx] { box-shadow: inset 3px 0 0 var(--warning); }
.row-todo[b-b2an3ajbsx] { background: var(--warning-soft); }
.row-done[b-b2an3ajbsx] { color: var(--text-faint); }

.apply-bar[b-b2an3ajbsx] { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.errors[b-b2an3ajbsx] { margin: .5rem 0 0; padding-left: 1.2rem; }
.errors li[b-b2an3ajbsx] { margin: .2rem 0; }

@media (max-width: 760px) {
    .w-action[b-b2an3ajbsx] { min-width: 260px; }
    .narr[b-b2an3ajbsx] { max-width: 200px; }
}

/* ----- steps: Upload → Check totals → Match & review → Confirm & save --------------------------------------------- */
.stmt-steps[b-b2an3ajbsx] { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; margin: 0; padding: 0; list-style: none; font-size: var(--fs-sm); color: var(--text-muted); }
.stmt-steps li[b-b2an3ajbsx] { display: flex; align-items: center; gap: .4rem; }
.stmt-steps .num[b-b2an3ajbsx] {
    display: inline-grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%;
    border: 1px solid var(--border); background: var(--surface); font-size: var(--fs-xs); font-weight: 600;
}
.stmt-steps li.active[b-b2an3ajbsx] { color: var(--text); font-weight: 600; }
.stmt-steps li.active .num[b-b2an3ajbsx] { background: var(--primary); border-color: var(--primary); color: #fff; }
.stmt-steps li.done .num[b-b2an3ajbsx] { background: var(--success-soft); border-color: var(--success); color: var(--success); }

/* ----- progress bar (determinate, or sliding when the length is unknown) -------------------------------------------- */
.stmt-progress[b-b2an3ajbsx] { display: flex; flex-direction: column; gap: .3rem; }
.stmt-progress .bar[b-b2an3ajbsx] { position: relative; height: 6px; border-radius: 999px; background: var(--surface-sunken); overflow: hidden; }
.stmt-progress .bar span[b-b2an3ajbsx] { position: absolute; inset: 0 auto 0 0; background: var(--primary); border-radius: inherit; transition: width .2s ease; }
.stmt-progress .bar.indeterminate span[b-b2an3ajbsx] { animation: stmt-slide-b-b2an3ajbsx 1.1s ease-in-out infinite; }
@keyframes stmt-slide-b-b2an3ajbsx { from { left: -30%; } to { left: 100%; } }
@media (prefers-reduced-motion: reduce) { .stmt-progress .bar.indeterminate span[b-b2an3ajbsx] { animation: none; width: 100% !important; opacity: .5; } }

/* ----- check: opening + deposits − withdrawals = closing ------------------------------------------------------------ */
.equation[b-b2an3ajbsx] { display: flex; flex-wrap: wrap; align-items: stretch; gap: .5rem; }
.equation .eq[b-b2an3ajbsx] { flex: 1 1 150px; padding: .5rem .75rem; background: var(--surface-sunken); border-radius: var(--radius); min-width: 0; }
.equation .eq .label[b-b2an3ajbsx] { font-size: var(--fs-sm); color: var(--text-muted); font-weight: 550; }
.equation .eq .value[b-b2an3ajbsx] { font-size: 1.15rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.equation .op[b-b2an3ajbsx] { align-self: center; font-size: 1.25rem; color: var(--text-muted); }
.check-line[b-b2an3ajbsx] { margin-bottom: 0; }

.preview-tools[b-b2an3ajbsx] { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; border-top: 1px solid var(--border); padding-top: .75rem; padding-bottom: .75rem; }
.preview-tools .search[b-b2an3ajbsx] { width: min(320px, 100%); }
.table-wrap.preview[b-b2an3ajbsx] { max-height: 420px; }
.preview tfoot td[b-b2an3ajbsx] { position: sticky; bottom: 0; background: var(--surface); font-weight: 600; border-top: 1px solid var(--border); }
.one-line[b-b2an3ajbsx] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 420px; }
.row-broken td[b-b2an3ajbsx] { background: var(--danger-soft); }
.row-broken td:first-child[b-b2an3ajbsx] { box-shadow: inset 3px 0 0 var(--danger); }

/* ----- confirmation dialog ---------------------------------------------------------------------------------------- */
.stmt-confirm[b-b2an3ajbsx] { width: min(620px, 100%); max-height: calc(100vh - 2rem); overflow: auto; }
.stmt-confirm h2[b-b2an3ajbsx] { margin: 0 0 .5rem; }
.stmt-confirm h3[b-b2an3ajbsx] { margin: 1rem 0 .35rem; font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: .03em; color: var(--text-muted); }
.stmt-confirm .table.compact td[b-b2an3ajbsx], .stmt-confirm .table.compact th[b-b2an3ajbsx] { padding: .3rem .5rem; }
.stmt-confirm tr.strong td[b-b2an3ajbsx] { font-weight: 600; border-top: 1px solid var(--border); }
.stmt-confirm tr.muted td[b-b2an3ajbsx] { color: var(--text-muted); }
.stmt-confirm .check-line[b-b2an3ajbsx] { margin-top: .5rem; }
.stmt-confirm .stmt-progress[b-b2an3ajbsx] { margin-top: 1rem; }
/* /Components/Pages/Commission/CropPage.razor.rz.scp.css */
.crop-grid[b-sc5ziui2ik] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 1rem; align-items: start; }
.crop-grid > .card[b-sc5ziui2ik] { margin: 0; }
@media (max-width: 1000px) { .crop-grid[b-sc5ziui2ik] { grid-template-columns: 1fr; } }
/* /Components/Pages/Commission/DbtPage.razor.rz.scp.css */
/* Govt payment (DBT): tabs, editable amount / UTR cells, row states of the agency file. */
.dbt-actions[b-035zpkwtg7] { display: flex; align-items: flex-end; }
.dbt-tabs[b-035zpkwtg7] { display: flex; gap: .25rem; padding: 0 1rem; border-top: 1px solid var(--border); }
.dbt-tab[b-035zpkwtg7] {
    border: 0; background: transparent; padding: .5rem .75rem; cursor: pointer; color: var(--text-muted);
    border-bottom: 2px solid transparent; font: inherit;
}
.dbt-tab.active[b-035zpkwtg7] { color: var(--primary); border-bottom-color: var(--primary); font-weight: 600; }
.dbt-amt[b-035zpkwtg7] { width: 9rem; }
.dbt-utr[b-035zpkwtg7] { width: 10rem; }
.dbt-ticked[b-035zpkwtg7] { background: var(--primary-soft); }
.dbt-failed[b-035zpkwtg7] { background: var(--danger-soft); }
.dbt-skip[b-035zpkwtg7] { background: var(--warning-soft); }
.dbt-summary[b-035zpkwtg7] { padding: .5rem 1rem; margin: 0; }
/* /Components/Pages/Commission/FarmerAdvicePage.razor.rz.scp.css */
/* Farmer payment advice: the printable advice (Gurmukhi / Devanagari need a little more line height). */
.fa-actions[b-vg3msv70hg] { display: flex; align-items: flex-end; }
.fa-advice[b-vg3msv70hg] { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius, 8px); padding: 1rem 1.25rem; margin-top: 1rem; }
.fa-advice header h1[b-vg3msv70hg] { font-size: 1.25rem; margin: 0; }
.fa-advice header h2[b-vg3msv70hg] { font-size: 1rem; margin: .5rem 0 .25rem; }
.fa-advice header p[b-vg3msv70hg] { margin: .15rem 0; }
.fa-advice h3[b-vg3msv70hg] { font-size: .95rem; margin: 1rem 0 .25rem; }
.fa-advice:lang(pa)[b-vg3msv70hg], .fa-advice:lang(hi)[b-vg3msv70hg] { line-height: 1.6; }
.fa-recover[b-vg3msv70hg] { display: flex; gap: 1rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }

@media print {
    .fa-advice[b-vg3msv70hg] { border: 0; padding: 0; margin: 0; }
}
/* /Components/Pages/Commission/IJFormPage.razor.rz.scp.css */
/* I-J form: dense entry screen, full width, totals strip pinned to the bottom of the viewport. */
.ij-page[b-uxzv99artg] { max-width: 1480px; margin: 0 auto; padding-bottom: 4.5rem; }
.ij-page > * + *[b-uxzv99artg] { margin-top: .75rem; }
.ij-header[b-uxzv99artg] { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; }
.ij-header h1[b-uxzv99artg] { margin: 0; }
.ij-main[b-uxzv99artg] { border: 0; padding: 0; margin: 0; min-width: 0; }
.ij-main > * + *[b-uxzv99artg] { margin-top: .75rem; }
.ij-head[b-uxzv99artg] { row-gap: .5rem; }
.col-1[b-uxzv99artg] { grid-column: span 1; }

.ij-grid-wrap[b-uxzv99artg] { overflow-x: auto; }
.ij-grid[b-uxzv99artg] { min-width: 1360px; table-layout: fixed; }
.ij-sr[b-uxzv99artg] { width: 2rem; text-align: right; }
.ij-book[b-uxzv99artg] { width: 3.6rem; }
.ij-no[b-uxzv99artg] { width: 4.2rem; }
.ij-farmer[b-uxzv99artg] { width: 13rem; }
.ij-bags[b-uxzv99artg], .ij-extra[b-uxzv99artg], .ij-fbags[b-uxzv99artg] { width: 4.6rem; }
.ij-qtl[b-uxzv99artg] { width: 6rem; }
.ij-rate[b-uxzv99artg] { width: 6.8rem; }
.ij-amt[b-uxzv99artg] { width: 7.4rem; }
.ij-ded[b-uxzv99artg] { width: 5.4rem; }
.ij-mode[b-uxzv99artg] { width: 6.6rem; }
.ij-x[b-uxzv99artg] { width: 2rem; }
[b-uxzv99artg] input.ij-typed { background: var(--warning-soft); }

.ij-undo[b-uxzv99artg] { display: flex; align-items: center; gap: .75rem; padding: .5rem .75rem; border-top: 1px solid var(--border); color: var(--text-muted); }

.ij-bottom[b-uxzv99artg] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .75rem; align-items: start; }
.ij-bottom > .card[b-uxzv99artg] { margin: 0; }
.ij-charges h2[b-uxzv99artg], .ij-options h2[b-uxzv99artg] { font-size: var(--fs-sm, .9rem); margin: 0; }
.ij-rate-cell[b-uxzv99artg] { display: flex; align-items: center; gap: .4rem; }
.ij-rate-cell[b-uxzv99artg]  input { width: 7rem; }
.ij-memo td[b-uxzv99artg] { color: var(--text-muted); }

.ij-totals[b-uxzv99artg] {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 20;
    display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1.25rem;
    padding: .5rem 1.25rem; background: var(--surface-2); border-top: 1px solid var(--border);
    font-variant-numeric: tabular-nums;
}
.ij-totals > div[b-uxzv99artg] { display: flex; flex-direction: column; line-height: 1.15; }
.ij-totals span[b-uxzv99artg] { font-size: var(--fs-xs, .75rem); color: var(--text-muted); }
.ij-totals strong[b-uxzv99artg] { font-size: 1rem; }
.ij-totals .ij-total strong[b-uxzv99artg] { font-size: 1.15rem; color: var(--primary); }
.ij-totals[b-uxzv99artg]  .btn-primary { margin-left: auto; }

[b-uxzv99artg] .ij-list-modal { width: min(960px, 96vw); }
[b-uxzv99artg] .ij-list-wrap { max-height: 60vh; overflow: auto; }

@media (max-width: 1000px) {
    .ij-bottom[b-uxzv99artg] { grid-template-columns: 1fr; }
    .col-1[b-uxzv99artg] { grid-column: span 3; }
}
@media (max-width: 760px) {
    .ij-totals[b-uxzv99artg] { position: static; }
    .ij-page[b-uxzv99artg] { padding-bottom: 0; }
}

/* Quality cut: value + unit (kg / ₹ per quintal) in one narrow cell. */
.ij-cut[b-uxzv99artg] { width: 7.5rem; min-width: 7.5rem; }
.ij-cut-cell[b-uxzv99artg] { display: flex; gap: 2px; align-items: center; }
.ij-cut-cell[b-uxzv99artg]  input { min-width: 0; flex: 1 1 auto; }
.ij-cut-unit[b-uxzv99artg] { width: 3.2rem; padding-inline: 2px; font-size: var(--fs-sm, 0.8rem); }
/* /Components/Pages/Commission/IJFormPrintPage.razor.rz.scp.css */
.ijp-page[b-fjvns99e7d] { max-width: 860px; margin: 0 auto; }
.ijp-toolbar[b-fjvns99e7d] { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; margin-bottom: 1rem; }
.ijp-toolbar label[b-fjvns99e7d] { display: flex; gap: .4rem; align-items: center; }
.ijp-form[b-fjvns99e7d] { background: var(--surface); color: var(--text); border: 1px solid var(--border); padding: 1.25rem 1.5rem; margin-bottom: 1rem; position: relative; break-inside: avoid; page-break-after: always; }
.ijp-form.cancelled[b-fjvns99e7d]::after { content: "CANCELLED"; position: absolute; top: 40%; left: 20%; font-size: 4rem; color: var(--danger); opacity: .2; transform: rotate(-20deg); }
.ijp-head[b-fjvns99e7d] { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 2px solid var(--text); padding-bottom: .5rem; margin-bottom: .75rem; }
.ijp-head h1[b-fjvns99e7d] { margin: 0; font-size: 1.3rem; }
.ijp-head p[b-fjvns99e7d] { margin: .1rem 0; font-size: .85rem; }
.ijp-doc[b-fjvns99e7d] { display: flex; flex-direction: column; align-items: flex-end; gap: .1rem; font-size: .85rem; }
.ijp-doc strong[b-fjvns99e7d] { font-size: 1.1rem; letter-spacing: .05em; }
.ijp-copy[b-fjvns99e7d] { font-size: .7rem; border: 1px solid var(--text); padding: 0 .3rem; }
.ijp-kv[b-fjvns99e7d] { width: 100%; font-size: .9rem; margin-bottom: .75rem; border-collapse: collapse; }
.ijp-kv th[b-fjvns99e7d] { text-align: left; color: var(--text-muted); font-weight: 500; width: 7rem; padding: .15rem .3rem; }
.ijp-kv td[b-fjvns99e7d] { padding: .15rem .3rem; }
.ijp-lines[b-fjvns99e7d] { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: .9rem; }
.ijp-lines th[b-fjvns99e7d], .ijp-lines td[b-fjvns99e7d] { border: 1px solid var(--border); padding: .25rem .4rem; }
.ijp-lines th[b-fjvns99e7d] { background: var(--surface-2); text-align: left; }
.ijp-lines .num[b-fjvns99e7d] { text-align: right; }
.ijp-lines tfoot td[b-fjvns99e7d] { font-weight: 600; }
.ijp-total td[b-fjvns99e7d] { font-size: 1.05rem; }
.ijp-words[b-fjvns99e7d] { font-style: italic; font-size: .85rem; }
.ijp-memo[b-fjvns99e7d] { font-size: .8rem; color: var(--text-muted); }
.ijp-sign[b-fjvns99e7d] { display: flex; justify-content: space-between; margin-top: 2.5rem; font-size: .85rem; }
.ijp-sign span[b-fjvns99e7d] { border-top: 1px solid var(--text); padding-top: .2rem; min-width: 12rem; text-align: center; }
@media print {
    .ijp-form[b-fjvns99e7d] { border: 0; padding: 0; margin: 0; }
}
/* /Components/Pages/Commission/NeftPage.razor.rz.scp.css */
/* Bank bulk NEFT: editable amount cells, ticked rows, layout editor. */
.neft-check[b-fiuixfuphc] { display: flex; align-items: flex-end; }
.neft-amt[b-fiuixfuphc] { width: 9rem; }
.neft-ticked[b-fiuixfuphc] { background: var(--primary-soft); }
.neft-move[b-fiuixfuphc] { white-space: nowrap; }
/* /Components/Pages/Commission/RateOverridesGrid.razor.rz.scp.css */
/* Charge-rate overrides grid (crop / mandi masters). */
.ro-grid[b-diy11ld3f3] { width: 100%; }
.ro-on td:first-child[b-diy11ld3f3] { font-weight: 600; }
/* /Components/Pages/Commission/Reports/MalkhataReport.razor.rz.scp.css */
/* Malkhata day sheet: one two-sided block per I-form, then the day summary. */
.mk-form + .mk-form[b-zlub2yj6zy] { margin-top: 1.25rem; }
.mk-form[b-zlub2yj6zy] { break-inside: avoid; }
.mk-head[b-zlub2yj6zy] { display: flex; flex-wrap: wrap; gap: .35rem; align-items: baseline; margin-bottom: .35rem; }
/* Each side gets half the width; a rule separates credit from debit. */
.mk-table[b-zlub2yj6zy] { table-layout: fixed; }
.mk-table .mk-side[b-zlub2yj6zy] { width: 34%; }
.mk-split[b-zlub2yj6zy] { border-left: 1px solid var(--border); }
/* /Components/Pages/Commission/Reports/MfRdfReport.razor.rz.scp.css */
/* Market fee & RDF challan dialog: a wide modal with a scrolling list of pending I-forms. */
.mf-challan[b-yj40k4yzx7] { width: min(860px, calc(100vw - 32px)); }
.mf-pending[b-yj40k4yzx7] { max-height: 45vh; overflow: auto; margin-top: .75rem; }
.mf-pending[b-yj40k4yzx7]  input.input { min-width: 7rem; }
/* /Components/Pages/Company/DesktopImportPage.razor.rz.scp.css */
/* Import from desktop (DesktopImportPage.razor): step cards, file drop zone, progress, facts list. */

.h-sub[b-a9wgh03re9] {
    font-size: 1rem;
    font-weight: 650;
    margin: 0 0 .75rem;
}

.howto[b-a9wgh03re9] {
    margin: 0 0 1rem;
    padding-left: 1.25rem;
    color: var(--text-muted);
    line-height: 1.6;
}

/* The whole zone is the label of the (visually hidden) file input: click, keyboard or drop. */
.file-drop[b-a9wgh03re9] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 140px;
    padding: 1.25rem;
    border: 2px dashed var(--border-strong);
    border-radius: var(--radius);
    background: var(--surface-2);
    text-align: center;
    cursor: pointer;
}

.file-drop:hover[b-a9wgh03re9],
.file-drop:focus-within[b-a9wgh03re9] {
    border-color: var(--primary);
}

.file-drop.is-busy[b-a9wgh03re9] {
    cursor: progress;
}

/* Native input stretched over the zone so dropping a file on it works; invisible but focusable. */
.file-drop[b-a9wgh03re9]  input[type=file] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.file-drop progress[b-a9wgh03re9],
.import-progress[b-a9wgh03re9] {
    width: min(420px, 100%);
    height: .6rem;
}

.facts[b-a9wgh03re9] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: .35rem 1rem;
    margin: 1rem 0;
}

.facts dt[b-a9wgh03re9] {
    color: var(--text-muted);
    font-size: var(--fs-sm);
}

.facts dd[b-a9wgh03re9] {
    margin: 0;
}

.actions[b-a9wgh03re9] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: 1rem;
}

.small[b-a9wgh03re9] {
    font-size: var(--fs-sm);
}

.review[b-a9wgh03re9] {
    margin: 0;
    padding-left: 1.25rem;
    line-height: 1.6;
}

.review li + li[b-a9wgh03re9] {
    margin-top: .4rem;
}

/* ----- step bar ------------------------------------------------------------------------------------------------ */
.steps[b-a9wgh03re9] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
}

.steps li[b-a9wgh03re9] {
    padding: .3rem .75rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--text-muted);
    font-size: var(--fs-sm);
}

.steps li.current[b-a9wgh03re9] {
    border-color: var(--primary);
    color: var(--primary);
    font-weight: 650;
}

.steps li.done[b-a9wgh03re9] {
    color: var(--text-muted);
    text-decoration: line-through;
}

/* ----- review sections ----------------------------------------------------------------------------------------- */
.section > summary[b-a9wgh03re9] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .85rem 1rem;
    font-weight: 650;
    cursor: pointer;
}

.set-all[b-a9wgh03re9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    padding: 0 1rem .75rem;
}

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

.review-table td[b-a9wgh03re9] {
    vertical-align: top;
}

.review-table .ref[b-a9wgh03re9] {
    min-width: 180px;
    font-weight: 550;
}

.review-table .msg[b-a9wgh03re9] {
    min-width: 260px;
    color: var(--text-muted);
}

.review-table .fix-col[b-a9wgh03re9] {
    min-width: 220px;
}

/* Rows the user changed from the proposal. */
.review-table tr.is-changed td[b-a9wgh03re9] {
    background: var(--primary-soft);
}

.fix-date[b-a9wgh03re9],
.fix-line[b-a9wgh03re9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
}

.fix-line label[b-a9wgh03re9] {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-size: var(--fs-sm);
}

.fix-line .input[b-a9wgh03re9] {
    width: 7rem;
}

.check[b-a9wgh03re9] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: var(--fs-sm);
}
/* /Components/Pages/Company/YearEndPage.razor.rz.scp.css */
/* Year end & locks page. */
.ye-preview[b-zrk43uiohk] {
    border-top: 1px solid var(--border);
    padding: .75rem 1.25rem 0;
}

.ye-preview .alert[b-zrk43uiohk] {
    margin-bottom: .5rem;
}

.ye-stats[b-zrk43uiohk] {
    margin: .75rem 0;
}

.ye-small[b-zrk43uiohk] {
    font-size: var(--fs-lg);
}

.ye-h[b-zrk43uiohk] {
    margin: 1rem 0 .4rem;
    font-size: var(--fs-lg);
}

.ye-h small[b-zrk43uiohk] {
    font-weight: 400;
    color: var(--text-muted);
    font-size: var(--fs-sm);
    margin-left: .4rem;
}

.ye-scroll[b-zrk43uiohk] {
    max-height: 420px;
    overflow: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
}

.ye-changed td[b-zrk43uiohk] {
    background: var(--warning-soft);
}

.ye-foot[b-zrk43uiohk] {
    margin-right: auto;
    font-size: var(--fs-sm);
}

.ye-lockdate[b-zrk43uiohk] {
    display: flex;
    gap: .35rem;
    align-items: center;
    min-width: 260px;
}

.ye-lockdate[b-zrk43uiohk]  input {
    max-width: 130px;
}

.ye-actions[b-zrk43uiohk] {
    justify-content: flex-end;
}
/* /Components/Pages/Gst/Cmp08Page.razor.rz.scp.css */
/* CMP-08 statement. */
.cmp08[b-wur1ybjazh] {
    padding: 1rem 1.25rem 1.25rem;
}

.cmp08 .alert ul[b-wur1ybjazh] {
    margin: 0;
    padding-left: 1.2rem;
}

.cmp-int[b-wur1ybjazh] {
    max-width: 120px;
    margin-left: auto;
    padding: .25rem .45rem;
}

.cmp-save[b-wur1ybjazh] {
    margin: .5rem 0 1rem;
    font-size: var(--fs-sm);
    flex-wrap: wrap;
}

.cmp-split[b-wur1ybjazh] {
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
}

.cmp-h[b-wur1ybjazh] {
    margin: .75rem .75rem .25rem;
    font-size: var(--fs-sm);
    color: var(--primary);
}

/* Regular taxpayer: CMP-08 does not apply. */
.cmp-off[b-wur1ybjazh] { max-width: 46rem; }
.cmp-off-links[b-wur1ybjazh] { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .6rem; }
/* /Components/Pages/Gst/EDocPage.razor.rz.scp.css */
/* E-invoice / e-way bill JSON: filters, tiles, validation panel, bill grid. */
/* Validation panel of the selected bill: on top of the grid frame, only while a bill is open. */
.detail[b-ir1tajmevl] { padding: .5rem .75rem; border-bottom: 2px solid var(--primary); background: var(--surface-2); }
.detail-head[b-ir1tajmevl] { display: flex; align-items: center; gap: .5rem; margin-bottom: .35rem; }
.detail-actions[b-ir1tajmevl] { display: flex; gap: .35rem; margin-left: auto; }
.issues[b-ir1tajmevl] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.issues li[b-ir1tajmevl] { padding: .35rem .5rem; border-radius: var(--radius-sm); }
.issues li.err[b-ir1tajmevl] { background: var(--danger-soft); }
.issues li.warn[b-ir1tajmevl] { background: var(--warning-soft); }

.ewb[b-ir1tajmevl] { width: 9.5rem; }
.ewb-date[b-ir1tajmevl]  input { width: 7.5rem; }
td .badge + .badge[b-ir1tajmevl] { margin-left: .25rem; }
.sub[b-ir1tajmevl] { font-size: var(--fs-xs); }
/* /Components/Pages/Gst/GstFilingPanel.razor.rz.scp.css */
/* Filing status card under a return. */
.gst-filing[b-t8xhy5b0gg] {
    margin-top: 1rem;
}

.gst-filing-hint[b-t8xhy5b0gg] {
    font-size: var(--fs-xs);
    margin-top: .5rem;
}
/* /Components/Pages/Gst/GstPartyWiseReport.razor.rz.scp.css */
/* Party-wise sale / purchase with inline document drill-down. */

.pw-count[b-5cg63d00xy] {
    font-size: var(--fs-sm);
}

.pw-caret[b-5cg63d00xy] {
    display: inline-block;
    width: 1em;
    color: var(--text-faint);
}

.pw-open td[b-5cg63d00xy] {
    background: var(--primary-soft);
}

.pw-doc td[b-5cg63d00xy] {
    font-size: var(--fs-sm);
    background: var(--surface-2);
}

.pw-minus td[b-5cg63d00xy] {
    color: var(--danger);
}

.pw-foot[b-5cg63d00xy] {
    font-size: var(--fs-xs);
    padding: .5rem 1rem;
    margin: 0;
}

@media print {
}
/* /Components/Pages/Gst/GstPeriodPicker.razor.rz.scp.css */
/* Return-period picker: ‹ [select] › on one line. */
.gst-period-row[b-sbn0ejeqwv] {
    display: flex;
    align-items: center;
    gap: .25rem;
}

.gst-period-row select[b-sbn0ejeqwv] {
    flex: 1;
    min-width: 0;
}

.gst-period-row .btn[b-sbn0ejeqwv] {
    padding-inline: .55rem;
    font-size: 1.1rem;
    line-height: 1;
}
/* /Components/Pages/Gst/Gstr1DocTable.razor.rz.scp.css */
/* Credit notes (they reduce the totals) are tinted so they stand out in mixed lists (desktop used salmon rows). */
tr.g1-credit td[b-sp9vd6nf1u] { color: var(--danger); }
/* /Components/Pages/Gst/Gstr1Page.razor.rz.scp.css */
/* GSTR-1 screen — headline tiles, section tabs, drill-down panel. Colours come from the app.css tokens. */

.g1-sub[b-w043zr8hpo] {
    font-size: var(--fs);
    font-weight: 500;
    color: var(--text-muted);
    margin-left: .35rem;
}

/* Period picker with previous / next arrows. */
.g1-period[b-w043zr8hpo] {
    display: flex;
    gap: .25rem;
    align-items: center;
}
.g1-period .select[b-w043zr8hpo] { flex: 1; min-width: 0; }

/* Headline tiles. */
.g1-stats[b-w043zr8hpo] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .75rem;
    margin-bottom: .75rem;
}
.g1-stats .stat[b-w043zr8hpo] { padding: .75rem 1rem; text-align: left; }
.g1-stats .stat .value[b-w043zr8hpo] { font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.g1-stat[b-w043zr8hpo] { cursor: pointer; font: inherit; color: inherit; border: 1px solid var(--border); }
.g1-stat:hover[b-w043zr8hpo], .g1-stat:focus-visible[b-w043zr8hpo] { border-color: var(--primary); outline: none; box-shadow: var(--focus-ring); }
.g1-bad[b-w043zr8hpo] { border-color: var(--danger); background: var(--danger-soft); }
.g1-warn[b-w043zr8hpo] { border-color: var(--warning); background: var(--warning-soft); }
.g1-ok[b-w043zr8hpo] { border-color: var(--success); background: var(--success-soft); }

.g1-books[b-w043zr8hpo] { margin-bottom: .75rem; display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }

/* Section tabs (scroll sideways on phones). */
.g1-tabs[b-w043zr8hpo] {
    display: flex;
    gap: .25rem;
    overflow-x: auto;
    scrollbar-width: thin;
}
.g1-tab[b-w043zr8hpo] {
    border: 0;
    background: none;
    color: var(--text-muted);
    font: inherit;
    font-weight: 600;
    font-size: var(--fs-sm);
    padding: .2rem .6rem;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    display: inline-flex;
    gap: .35rem;
    align-items: center;
}
.g1-tab:hover[b-w043zr8hpo] { color: var(--text); }
.g1-tab.active[b-w043zr8hpo] { color: var(--primary); border-bottom-color: var(--primary); }

.g1-sev[b-w043zr8hpo] { width: auto; }

.g1-hsn-switch[b-w043zr8hpo] {
    display: flex;
    gap: .5rem;
    align-items: center;
    flex-wrap: wrap;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--border);
}

.g1-drill[b-w043zr8hpo] { border-top: 2px solid var(--primary); }
.g1-drill-head[b-w043zr8hpo] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .6rem 1rem;
    background: var(--surface-2);
}

.g1-note[b-w043zr8hpo] { padding: .5rem 1rem 1rem; margin: 0; font-size: var(--fs-sm); }

.g1-msg[b-w043zr8hpo] { white-space: normal; min-width: 280px; }
.nowrap[b-w043zr8hpo] { white-space: nowrap; }

[b-w043zr8hpo] tr.g1-neg td { color: var(--danger); }

@media print {
    .g1-stats[b-w043zr8hpo] { grid-template-columns: repeat(6, 1fr); }
}

/* Full-screen layout: summary figures are one line under the grid; notes are slim lines at the top of the grid. */
.g1-fig[b-w043zr8hpo] { border: 0; background: none; padding: 0; font: inherit; color: inherit; cursor: pointer; }
.g1-fig:hover b[b-w043zr8hpo] { color: var(--primary); text-decoration: underline; }
.g1-note[b-w043zr8hpo] { margin: .35rem .5rem; padding: .3rem .6rem; font-size: var(--fs-sm); }
.g1-sev[b-w043zr8hpo] { width: auto; }
/* /Components/Pages/Gst/Gstr2ImportPage.razor.rz.scp.css */
/* GSTR-2 purchase import: options, summary tiles, preview grid. */
.card[b-sqf1ghafju] { margin-bottom: 1rem; }
.run[b-sqf1ghafju] { justify-content: flex-end; }
.checks[b-sqf1ghafju] { display: flex; flex-direction: column; justify-content: flex-end; gap: .35rem; }

.kpis[b-sqf1ghafju] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}
.kpi[b-sqf1ghafju] {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    padding: .7rem .9rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
}
.kpi .label[b-sqf1ghafju] { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); }
.kpi .value[b-sqf1ghafju] { font-size: var(--fs-xl); font-weight: 700; font-variant-numeric: tabular-nums; }
.kpi .hint[b-sqf1ghafju] { font-size: var(--fs-xs); color: var(--text-muted); }
.kpi.ok .value[b-sqf1ghafju] { color: var(--success); }
.kpi.bad .value[b-sqf1ghafju] { color: var(--danger); }

tr.skip-row td[b-sqf1ghafju] { color: var(--text-muted); }
tr.error-row td[b-sqf1ghafju] { background: var(--danger-soft); }
td .badge + .badge[b-sqf1ghafju] { margin-left: .25rem; }
.sub[b-sqf1ghafju] { font-size: var(--fs-xs); }
tfoot th[b-sqf1ghafju] { background: var(--surface-2); }
/* /Components/Pages/Gst/Gstr2Page.razor.rz.scp.css */
/* GSTR-2: clickable stat cards, compact grid, blocked-ledger card. */
/* ITC figures as small toggle chips in the summary line (click = filter the grid). */
.itc-chip[b-ywssy5gt1z] {
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    border-radius: 999px;
    padding: 0 .55rem;
    font: inherit;
    font-size: var(--fs-xs);
    white-space: nowrap;
    cursor: pointer;
}
.itc-chip b[b-ywssy5gt1z] { color: var(--text); }
.itc-chip:hover[b-ywssy5gt1z], .itc-chip.active[b-ywssy5gt1z] { border-color: var(--primary); background: var(--primary-soft); }

.gst2-filter[b-ywssy5gt1z] {
    width: auto;
}


.gst2-wrap td[b-ywssy5gt1z] {
    font-size: var(--fs-sm);
}

.gst2-wrap .nowrap[b-ywssy5gt1z] {
    white-space: nowrap;
}

.gst2-minus td[b-ywssy5gt1z] {
    color: var(--danger);
}

.gst2-rate td[b-ywssy5gt1z] {
    background: var(--surface-2);
    font-size: var(--fs-xs);
}

.gst2-blocked[b-ywssy5gt1z] {
    margin-top: 1rem;
}

.gst2-blocked-list[b-ywssy5gt1z] {
    list-style: none;
    margin: .75rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.gst2-blocked-list li[b-ywssy5gt1z] {
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .25rem .25rem .25rem .75rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-2);
}

@media print {
}
/* /Components/Pages/Gst/Gstr2ReconcilePage.razor.rz.scp.css */
/* GSTR-2A / 2B reconciliation: filters, ITC tiles, tabs, detail panel, result tables. */
.col-1[b-3jxj7xrzud] { grid-column: span 1; }
.run[b-3jxj7xrzud] { justify-content: flex-end; }
@media (max-width: 760px) { .col-1[b-3jxj7xrzud] { grid-column: span 6; } }

/* ITC tiles */
.kpis[b-3jxj7xrzud] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}
.kpi[b-3jxj7xrzud] {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    padding: .7rem .9rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
}
.kpi .label[b-3jxj7xrzud] { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); }
.kpi .value[b-3jxj7xrzud] { font-size: var(--fs-xl); font-weight: 700; font-variant-numeric: tabular-nums; }
.kpi .hint[b-3jxj7xrzud] { font-size: var(--fs-xs); color: var(--text-muted); }
.kpi.ok .value[b-3jxj7xrzud] { color: var(--success); }
.kpi.bad .value[b-3jxj7xrzud] { color: var(--danger); }

/* Tabs as count cards (Alt+1…6). */
.tabs[b-3jxj7xrzud] { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.tab[b-3jxj7xrzud] {
    display: flex;
    align-items: baseline;
    gap: .4rem;
    padding: .45rem .8rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    font: inherit;
    font-size: var(--fs-sm);
}
.tab .n[b-3jxj7xrzud] { font-size: var(--fs-lg); font-weight: 700; font-variant-numeric: tabular-nums; }
.tab.ok .n[b-3jxj7xrzud] { color: var(--success); }
.tab.warn .n[b-3jxj7xrzud] { color: var(--warning); }
.tab.bad .n[b-3jxj7xrzud] { color: var(--danger); }
.tab kbd[b-3jxj7xrzud] { font-size: var(--fs-xs); color: var(--text-faint); }
.tab:hover[b-3jxj7xrzud] { border-color: var(--border-strong); }
.tab.active[b-3jxj7xrzud] { border-color: var(--primary); box-shadow: 0 0 0 2px var(--primary-soft); }

/* Detail panel: comparison table + decision / actions side by side. */
.detail[b-3jxj7xrzud] { border-color: var(--primary); }
.detail-body[b-3jxj7xrzud] { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1.25rem; }
@media (max-width: 900px) { .detail-body[b-3jxj7xrzud] { grid-template-columns: 1fr; } }
.compare th[b-3jxj7xrzud] { width: 9rem; color: var(--text-muted); font-weight: 600; }
.compare tr.diff td[b-3jxj7xrzud], .compare tr.diff th[b-3jxj7xrzud] { background: var(--warning-soft); }
.facts[b-3jxj7xrzud] { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .25rem .75rem; margin-bottom: .75rem; font-size: var(--fs-sm); }
.link-box[b-3jxj7xrzud] { margin-top: 1rem; padding-top: .75rem; border-top: 1px dashed var(--border); display: flex; flex-direction: column; gap: .35rem; }
.grow[b-3jxj7xrzud] { flex: 1; }
.wrap[b-3jxj7xrzud] { flex-wrap: wrap; }

.bulk[b-3jxj7xrzud] { display: inline-flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.bulk .select[b-3jxj7xrzud] { width: auto; }
.chip-x[b-3jxj7xrzud] { border: 0; background: none; cursor: pointer; color: inherit; padding: 0 0 0 .25rem; }
.sub[b-3jxj7xrzud] { font-size: var(--fs-xs); }
td .badge + .badge[b-3jxj7xrzud] { margin-left: .25rem; }
tfoot th[b-3jxj7xrzud] { background: var(--surface-2); }

/* Full-screen report layout: KPI figures are one line in the summary bar; tabs are a slim strip above the grid. */
.kpis[b-3jxj7xrzud] { display: flex; flex-wrap: nowrap; align-items: baseline; gap: 2px 16px; margin: 0; white-space: nowrap; }
.kpi[b-3jxj7xrzud] { display: inline-flex; flex-direction: row; align-items: baseline; gap: 5px; padding: 0; border: 0; background: none; }
.kpi .label[b-3jxj7xrzud] { text-transform: none; letter-spacing: 0; color: var(--text-muted); }
.kpi .value[b-3jxj7xrzud] { font-size: var(--fs-xs); font-weight: 650; }
.kpi .hint[b-3jxj7xrzud] { display: none; }
.tabs[b-3jxj7xrzud] { flex-wrap: nowrap; gap: .3rem; margin-bottom: 0; }
.tab[b-3jxj7xrzud] { padding-top: .15rem !important; padding-bottom: .15rem !important; }
.tab .n[b-3jxj7xrzud] { font-size: var(--fs-sm); }
.statements-host[b-3jxj7xrzud] { flex: 1 1 100%; max-height: 40vh; overflow: auto; }
.detail[b-3jxj7xrzud] { margin: 0; border-width: 0 0 2px; border-radius: 0; }
/* /Components/Pages/Gst/Gstr2StatementsPanel.razor.rz.scp.css */
/* Upload area + month grid of uploaded GSTR-2A / 2B statements. */
.card-header .sub[b-ybky723c6n] { font-size: var(--fs-xs); }

.upload-row[b-ybky723c6n] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: stretch;
    margin-bottom: .75rem;
}
.upload-row .field[b-ybky723c6n] { min-width: 180px; }

/* The native file input covers the whole drop zone (click or drop anywhere). */
.drop[b-ybky723c6n] {
    position: relative;
    flex: 1 1 320px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .15rem;
    padding: .9rem 1rem;
    border: 2px dashed var(--border-strong);
    border-radius: var(--radius-lg);
    background: var(--surface-2);
    cursor: pointer;
    text-align: center;
}
.drop:hover[b-ybky723c6n], .drop:focus-within[b-ybky723c6n] { border-color: var(--primary); background: var(--primary-soft); }
.drop.busy[b-ybky723c6n] { opacity: .7; cursor: progress; }
.drop[b-ybky723c6n]  input[type=file] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.months[b-ybky723c6n] { font-size: var(--fs-sm); }
.months th[b-ybky723c6n], .months td[b-ybky723c6n] { padding: .3rem .4rem; }
.month-chip[b-ybky723c6n] {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    padding: .05rem .45rem;
    border-radius: 999px;
    background: var(--success-soft);
    color: var(--success);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.chip-x[b-ybky723c6n] {
    border: 0;
    background: none;
    color: var(--text-faint);
    cursor: pointer;
    padding: 0 .1rem;
    font-size: var(--fs-sm);
    line-height: 1;
}
.chip-x:hover[b-ybky723c6n] { color: var(--danger); }
.sub[b-ybky723c6n] { font-size: var(--fs-xs); }

@media print { .statements[b-ybky723c6n] { display: none; } }
/* /Components/Pages/Gst/Gstr3bPage.razor.rz.scp.css */
/* GSTR-3B: stacked form tables inside the report card. */
.gst-3b[b-hy36ci6eud] {
    padding: .25rem .75rem .75rem;
}

.gst-stats[b-hy36ci6eud] {
    margin-bottom: 1rem;
}

.gst-section[b-hy36ci6eud] {
    margin: .75rem 0 .35rem;
    font-size: var(--fs);
    font-weight: 650;
    color: var(--primary);
}

.gst-warnings ul[b-hy36ci6eud] {
    margin: .35rem 0 0;
    padding-left: 1.2rem;
}

.gst-input-row input.input[b-hy36ci6eud] {
    max-width: 130px;
    margin-left: auto;
    padding: .25rem .45rem;
}

.gst-input-row input:disabled[b-hy36ci6eud] {
    opacity: .35;
}

.gst-save-row[b-hy36ci6eud] {
    margin-top: .5rem;
    font-size: var(--fs-sm);
    flex-wrap: wrap;
}

.gst-note[b-hy36ci6eud] {
    font-size: var(--fs-xs);
    margin-top: .5rem;
}

@media print {
    .gst-input-row input.input[b-hy36ci6eud] {
        border: 0;
        background: transparent;
    }
}
/* /Components/Pages/Gst/GstSummaryPage.razor.rz.scp.css */
/* GST sale / purchase summary. */
.gsum[b-ead2zt2yb9] {
    padding: .5rem 1.25rem 1.25rem;
}

.gsum-h[b-ead2zt2yb9] {
    margin: 1.1rem 0 .5rem;
    font-size: var(--fs);
    font-weight: 650;
    color: var(--primary);
}

.gsum-split[b-ead2zt2yb9] {
    margin-top: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
}

.gsum-split .gsum-h[b-ead2zt2yb9] {
    margin-inline: .75rem;
}

.gsum-minus td[b-ead2zt2yb9] {
    color: var(--danger);
}

.gsum-faint td[b-ead2zt2yb9] {
    color: var(--text-muted);
    font-style: italic;
}
/* /Components/Pages/Gst/GstTaxSummaryPage.razor.rz.scp.css */
/* Tax summary (head-wise + ledger-wise). */
.tsum[b-rg2l74zvon] {
    padding: .5rem 1.25rem 1.25rem;
}

.tsum-h[b-rg2l74zvon] {
    margin: 1.1rem 0 .5rem;
    font-size: var(--fs);
    font-weight: 650;
    color: var(--primary);
}

.tsum-note[b-rg2l74zvon] {
    font-size: var(--fs-xs);
    margin: .5rem 0 0;
}
/* /Components/Pages/Gst/HsnLinesTable.razor.rz.scp.css */
/* Returns / credit-note lines (negative) are tinted. */
tr.g1-credit td[b-w5wgj8xwdg] { color: var(--danger); }
/* /Components/Pages/Gst/HsnSummaryReport.razor.rz.scp.css */
/* Standalone HSN summary: section headings, drill-down panel and findings list. */

.hsn-section[b-otsfqjdrb8] {
    margin: 0;
    padding: .7rem 1rem;
    font-size: var(--fs);
    background: var(--surface-2);
    border-bottom: 1px solid var(--border);
}

.hsn-drill[b-otsfqjdrb8] { border-top: 2px solid var(--primary); }
.hsn-drill-head[b-otsfqjdrb8] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .6rem 1rem;
    background: var(--surface-2);
}

.hsn-issues[b-otsfqjdrb8] {
    padding: .75rem 1rem 1rem;
    border-top: 1px solid var(--border);
    font-size: var(--fs-sm);
}
.hsn-issues ul[b-otsfqjdrb8] { margin: .4rem 0 0; padding-left: 1.1rem; }
.hsn-issues li[b-otsfqjdrb8] { margin: .2rem 0; }
/* /Components/Pages/Help/GlossaryPage.razor.rz.scp.css */
.topic[b-s2m1khsq3e] {
    margin: 1.1rem 0 .3rem;
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-faint);
}
.topic:first-child[b-s2m1khsq3e] { margin-top: 0; }

.gloss[b-s2m1khsq3e] { margin: 0; }
.gloss-row[b-s2m1khsq3e] {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 1rem;
    padding: .6rem 0;
    border-bottom: 1px solid var(--border);
}
.gloss-row:last-child[b-s2m1khsq3e] { border-bottom: 0; }
.gloss-row dt[b-s2m1khsq3e] { font-weight: 650; display: flex; flex-direction: column; }
.gloss-row dt small[b-s2m1khsq3e] { font-weight: 400; color: var(--text-muted); font-size: var(--fs-xs); }
.gloss-row dd[b-s2m1khsq3e] { margin: 0; color: var(--text); line-height: 1.5; }

@media (max-width: 640px) {
    .gloss-row[b-s2m1khsq3e] { grid-template-columns: 1fr; gap: .2rem; }
}
/* /Components/Pages/Help/HelpPage.razor.rz.scp.css */
.help-tiles[b-4uvgd1j4uf] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}
.help-tile[b-4uvgd1j4uf] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: .9rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
    color: var(--text);
    text-decoration: none;
}
.help-tile:hover[b-4uvgd1j4uf], .help-tile:focus-visible[b-4uvgd1j4uf] {
    border-color: var(--primary);
    background: var(--primary-soft);
    outline: none;
    text-decoration: none;
}
.help-tile strong[b-4uvgd1j4uf] { font-size: var(--fs-lg); }
.help-tile span[b-4uvgd1j4uf] { color: var(--text-muted); font-size: var(--fs-sm); line-height: 1.4; }
.help-tile kbd[b-4uvgd1j4uf] { align-self: flex-start; margin-top: .35rem; }

.tasks td[b-4uvgd1j4uf] { vertical-align: middle; }
.tasks tbody tr[b-4uvgd1j4uf] { cursor: default; }

@media (max-width: 900px) { .help-tiles[b-4uvgd1j4uf] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .help-tiles[b-4uvgd1j4uf] { grid-template-columns: 1fr; } }
/* /Components/Pages/Help/PortalsPage.razor.rz.scp.css */
.portal-grid[b-0kjbnt7xg0] { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .6rem; }
.portal[b-0kjbnt7xg0] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: .7rem .85rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    text-decoration: none;
}
.portal:hover[b-0kjbnt7xg0], .portal:focus-visible[b-0kjbnt7xg0] { border-color: var(--primary); background: var(--primary-soft); text-decoration: none; outline: none; }
.portal strong span[b-0kjbnt7xg0] { color: var(--text-faint); }
.portal > span[b-0kjbnt7xg0] { color: var(--text-muted); font-size: var(--fs-sm); }
.portal small[b-0kjbnt7xg0] { color: var(--text-faint); font-size: var(--fs-xs); font-family: var(--font-mono); }
/* /Components/Pages/Help/SampleCompanyPage.razor.rz.scp.css */
.sample-body[b-4jj8bq3ypp] { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 1.5rem; align-items: center; }
.sample-text h2[b-4jj8bq3ypp] { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.sample-text ul[b-4jj8bq3ypp] { margin: .25rem 0 1rem; padding-left: 1.1rem; display: flex; flex-direction: column; gap: .3rem; }
.demo[b-4jj8bq3ypp] {
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--warning-soft);
    color: var(--warning);
    font-size: var(--fs-xs);
    letter-spacing: .05em;
}
.sample-cta[b-4jj8bq3ypp] { display: flex; flex-direction: column; gap: .5rem; align-items: stretch; text-align: center; font-size: var(--fs-sm); }

.try[b-4jj8bq3ypp] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1.5rem; }
.try div[b-4jj8bq3ypp] { display: flex; flex-direction: column; gap: 2px; }
.try span[b-4jj8bq3ypp] { color: var(--text-muted); font-size: var(--fs-sm); }

@media (max-width: 720px) {
    .sample-body[b-4jj8bq3ypp] { grid-template-columns: 1fr; }
    .try[b-4jj8bq3ypp] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Help/ShortcutsPage.razor.rz.scp.css */
.card-header .hint[b-zc526u17ha] { margin: 2px 0 0; color: var(--text-muted); font-size: var(--fs-sm); font-weight: 400; }
.shortcut-list kbd + kbd[b-zc526u17ha], .key + .key[b-zc526u17ha] { margin-left: 4px; }
/* Keys keep their natural width instead of stretching to the column. */
.shortcut-list > kbd[b-zc526u17ha], .shortcut-list > span[b-zc526u17ha] { justify-self: start; }
.menu-name[b-zc526u17ha] {
    margin: 1rem 0 .4rem;
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-faint);
}
.menu-name:first-child[b-zc526u17ha] { margin-top: 0; }
.tag[b-zc526u17ha] {
    margin-left: .4rem;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--surface-sunken);
    color: var(--text-muted);
    font-size: var(--fs-xs);
}
/* /Components/Pages/Help/UiKitPage.razor.rz.scp.css */
/* UI kit page: label / sample pairs. */
.ui-kit-list[b-gii3iux7x7] { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem 1.5rem; align-items: baseline; }
.ui-kit-list > span:nth-child(odd)[b-gii3iux7x7] { color: var(--text-muted); font-size: var(--fs-sm); }
.ui-kit-list[b-gii3iux7x7]  .money, .ui-kit-list[b-gii3iux7x7]  .qty { justify-self: end; }
/* /Components/Pages/Home.razor.rz.scp.css */
.dash-split[b-co6atu29h2] { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1rem; }
/* Phones: grid items may shrink below their content (chart, long party names) instead of bleeding past the gutter. */
.dash-split > .card[b-co6atu29h2] { min-width: 0; }
.dash-split .table[b-co6atu29h2] { table-layout: fixed; width: 100%; }
.dash-split .table td:first-child[b-co6atu29h2] { overflow-wrap: anywhere; }
.dash-split .table td.num[b-co6atu29h2] { width: 7.5rem; }
.stat[b-co6atu29h2] { display: flex; flex-direction: column; color: var(--text); text-decoration: none; }
.stat:hover[b-co6atu29h2] { border-color: var(--primary); text-decoration: none; }
.bars[b-co6atu29h2] { display: flex; align-items: flex-end; gap: 8px; height: 180px; min-width: 0; }
.bar[b-co6atu29h2] { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 4px; }
.bar span[b-co6atu29h2] { width: 100%; max-width: 36px; min-height: 2px; background: var(--primary); border-radius: 6px 6px 2px 2px; opacity: .85; }
.bar:hover span[b-co6atu29h2] { opacity: 1; }
.bar small[b-co6atu29h2] { color: var(--text-faint); font-size: var(--fs-xs); max-width: 100%; overflow: hidden; }
@media (max-width: 900px) { .dash-split[b-co6atu29h2] { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .bars[b-co6atu29h2] { gap: 3px; } }
/* /Components/Pages/Masters/AccountEdit.razor.rz.scp.css */
/* Opening balance: the side select carries plain words ("Dr · to receive"), so it must never clip to "Dı". */
.drcr-select[b-dzsl3njy1b] {
    flex: 0 0 auto;
    min-width: 9.5rem;
}
/* /Components/Pages/Masters/AccountList.razor.rz.scp.css */
/* Segmented tabs: Customers · Suppliers · Bank & cash · My accounts · All. */
.seg[b-uu2blegad1] { display: inline-flex; gap: 2px; padding: 2px; background: var(--surface-sunken); border-radius: var(--radius); flex-wrap: wrap; }
.seg-btn[b-uu2blegad1] {
    border: 0; background: transparent; color: var(--text-muted); font: inherit; font-size: var(--fs-sm);
    padding: .3rem .7rem; border-radius: calc(var(--radius) - 2px); cursor: pointer; white-space: nowrap;
}
.seg-btn.active[b-uu2blegad1] { background: var(--surface); color: var(--text); box-shadow: var(--shadow-sm); }

.group-filter[b-uu2blegad1] { min-width: 200px; }
.reg-filter[b-uu2blegad1] { width: auto; min-width: 11rem; }

@media (max-width: 760px) {
    .group-filter[b-uu2blegad1], .reg-filter[b-uu2blegad1] { flex: 1 1 45%; min-width: 0; }
}
/* /Components/Pages/Masters/AccountsByGroupPage.razor.rz.scp.css */
/* Group tree: indentation per depth, twisty toggles, primary groups emphasised. */
.tree td:first-child[b-zhn2v17bbu] { white-space: nowrap; }
.indent[b-zhn2v17bbu] { display: inline-block; }
.twisty[b-zhn2v17bbu], .twisty-space[b-zhn2v17bbu] {
    display: inline-flex;
    width: 1.25rem;
    justify-content: center;
}
.twisty[b-zhn2v17bbu] {
    border: 0;
    background: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 0;
    font-size: .85em;
}
.twisty:hover[b-zhn2v17bbu] { color: var(--primary); }
.tree tr.root td[b-zhn2v17bbu] { background: var(--surface-2); }
.strong[b-zhn2v17bbu] { font-weight: 600; }
.nature[b-zhn2v17bbu] { margin-left: .5rem; font-size: var(--fs-xs); }
.tree tfoot td[b-zhn2v17bbu] { position: sticky; bottom: 0; background: var(--surface-2); border-top: 2px solid var(--border-strong); }
/* /Components/Pages/Masters/BillBookPage.razor.rz.scp.css */
/* Form left, paper-like preview of the printed bill head + terms right; stacked on phones. */
.book-layout[b-95bvhtvv3h] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
}
.bill-head-preview[b-95bvhtvv3h] {
    border-left: 1px solid var(--border);
    background: var(--surface-2);
    padding: 1.25rem;
}
.preview-title[b-95bvhtvv3h] {
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-muted);
    margin-bottom: .6rem;
}
.paper[b-95bvhtvv3h] {
    background: #fff;
    color: #111;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    padding: .8rem;
    font-size: 11px;
    line-height: 1.4;
    box-shadow: var(--shadow-sm);
}
.paper-header[b-95bvhtvv3h] { text-align: center; font-weight: 700; letter-spacing: .08em; border-bottom: 1px solid #ccc; padding-bottom: .25rem; }
.paper-company[b-95bvhtvv3h] { text-align: center; font-size: 14px; font-weight: 700; margin-top: .35rem; }
.paper-deals[b-95bvhtvv3h] { text-align: center; font-style: italic; color: #444; }
.paper-row[b-95bvhtvv3h] { display: flex; justify-content: space-between; margin-top: .5rem; border-top: 1px solid #ccc; padding-top: .3rem; }
.paper-main[b-95bvhtvv3h] { text-align: center; font-size: 10px; color: #444; margin-bottom: .15rem; }
.paper-table[b-95bvhtvv3h] { width: 100%; border-collapse: collapse; margin: .45rem 0 .25rem; font-size: 10px; }
.paper-table th[b-95bvhtvv3h], .paper-table td[b-95bvhtvv3h] { border: 1px solid #ccc; padding: .1rem .25rem; text-align: right; }
.paper-table th:first-child[b-95bvhtvv3h], .paper-table td:first-child[b-95bvhtvv3h] { text-align: left; }
.paper-table th[b-95bvhtvv3h] { background: #f3f3f3; font-weight: 600; }
.paper-note[b-95bvhtvv3h] { font-size: 10px; color: #555; margin-bottom: .35rem; }
.paper-terms ol[b-95bvhtvv3h] { margin: .2rem 0 0; padding-left: 1.1rem; }

.sample-no[b-95bvhtvv3h] {
    height: var(--control-h);
    display: flex;
    align-items: center;
    padding: 0 .6rem;
    border-radius: var(--radius);
    background: var(--primary-soft);
    color: var(--primary);
    font-weight: 600;
}
.token-help[b-95bvhtvv3h] { display: flex; gap: .3rem; flex-wrap: wrap; }
.token[b-95bvhtvv3h] {
    border: 1px solid var(--border);
    background: var(--surface-2);
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: var(--fs-xs);
    padding: 0 .35rem;
    cursor: pointer;
    color: var(--text);
}
.token:hover[b-95bvhtvv3h] { border-color: var(--primary); color: var(--primary); }
.terms-title[b-95bvhtvv3h] { display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap; }
.terms-actions[b-95bvhtvv3h] { display: flex; gap: .5rem; align-items: center; }

@media (max-width: 760px) {
    .book-layout[b-95bvhtvv3h] { grid-template-columns: 1fr; }
    .bill-head-preview[b-95bvhtvv3h] { border-left: 0; border-top: 1px solid var(--border); }
}
/* /Components/Pages/Masters/ChequeBookPage.razor.rz.scp.css */
/* Cheque book usage bar: issued (primary) + cancelled (danger) on a sunken track = unused. */
.usage[b-b66onpr2ih] {
    display: flex;
    width: 120px;
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: var(--surface-sunken);
    border: 1px solid var(--border);
}
.usage .used[b-b66onpr2ih] { background: var(--primary); }
.usage .cancelled[b-b66onpr2ih] { background: var(--danger); }
/* /Components/Pages/Masters/CompanyBankPage.razor.rz.scp.css */
/* Form on the left, live bill preview + QR on the right; stacked on phones. */
.bank-layout[b-z6kjw8efk9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
}
.bill-preview[b-z6kjw8efk9] {
    border-left: 1px solid var(--border);
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    background: var(--surface-2);
}
.preview-title[b-z6kjw8efk9] {
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-muted);
}
.preview-block[b-z6kjw8efk9] {
    font-size: var(--fs-sm);
    line-height: 1.5;
    padding: .6rem .75rem;
    border: 1px dashed var(--border-strong);
    border-radius: var(--radius);
    background: var(--surface);
}
.small[b-z6kjw8efk9] { font-size: var(--fs-xs); margin: 0; }

.netbanking[b-z6kjw8efk9] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: .5rem .9rem;
}
.netbanking summary[b-z6kjw8efk9] {
    cursor: pointer;
    font-weight: 600;
    padding: .25rem 0;
}
.netbanking[open] summary[b-z6kjw8efk9] { margin-bottom: .75rem; }
.secret-row[b-z6kjw8efk9] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}
.secret-row code[b-z6kjw8efk9] {
    font-family: var(--font-mono);
    background: var(--warning-soft);
    padding: 0 .35rem;
    border-radius: var(--radius-sm);
}

@media (max-width: 760px) {
    .bank-layout[b-z6kjw8efk9] { grid-template-columns: 1fr; }
    .bill-preview[b-z6kjw8efk9] { border-left: 0; border-top: 1px solid var(--border); }
}
/* /Components/Pages/Masters/GstSlabPage.razor.rz.scp.css */
/* Live "what will a bill charge" strip under the GST slab form. */
.slab-preview[b-reuavhy4rh] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1.25rem;
    align-items: center;
    padding: .6rem .8rem;
    border-radius: var(--radius);
    background: var(--surface-sunken);
    font-size: var(--fs-sm);
}
/* /Components/Pages/Masters/Inventory/BatchList.razor.rz.scp.css */
/* Filters wrap on small screens. */
.batch-filters[b-ah559x1cpt] {
    flex-wrap: wrap;
    gap: .5rem;
}

.filter[b-ah559x1cpt] {
    min-width: 220px;
}

.status[b-ah559x1cpt] {
    width: auto;
}

.batch-checks[b-ah559x1cpt] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1rem;
    align-self: end;
    padding-bottom: .35rem;
}

/* The grid fills the screen below the form and scrolls inside. */
.batch-table[b-ah559x1cpt] {
    max-height: calc(100dvh - 470px);
    min-height: 220px;
}

.sr[b-ah559x1cpt] {
    width: 3.5rem;
    color: var(--text-faint);
}

/* Blocked batches are greyed out. */
tr.blocked td[b-ah559x1cpt] {
    color: var(--text-faint);
}
/* /Components/Pages/Masters/Inventory/BulkPriceDialog.razor.rz.scp.css */
/* Wider than the default 460px modal: the preview table needs room. */
.bulk-modal[b-qy0rj9c23d] {
    width: min(640px, 100%);
}

.bp-title[b-qy0rj9c23d] {
    margin: 0 0 .25rem;
    font-size: 1.05rem;
    font-weight: 600;
}

.bp-scope[b-qy0rj9c23d] {
    margin: 0 0 1rem;
}

.bp-preview[b-qy0rj9c23d] {
    margin-top: 1rem;
}

.bp-count[b-qy0rj9c23d] {
    font-size: var(--fs-sm);
    color: var(--text-muted);
    margin-bottom: .5rem;
}

/* Preview scrolls inside the dialog. */
.bp-table[b-qy0rj9c23d] {
    max-height: 40dvh;
    border: 1px solid var(--border);
}
/* /Components/Pages/Masters/Inventory/ItemEdit.razor.rz.scp.css */
/* Two columns: the form and a narrow insight panel; one column on small screens. */
.item-layout[b-5bu7gz8n38] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 1rem;
    align-items: start;
}

/* New items have no stock panel yet: the form uses the full width. */
.item-layout.no-side[b-5bu7gz8n38] {
    grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 1100px) {
    .item-layout[b-5bu7gz8n38] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.item-side[b-5bu7gz8n38] {
    position: sticky;
    top: 0;
    display: grid;
    gap: 1rem;
}

/* Fields whose content sits on the input baseline (buttons, check boxes, hints). */
.align-end[b-5bu7gz8n38] {
    align-self: end;
    padding-bottom: .35rem;
}

.checks[b-5bu7gz8n38] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .5rem 1.25rem;
    align-items: center;
    align-self: end;
    padding-bottom: .35rem;
}

.small[b-5bu7gz8n38] {
    font-size: var(--fs-xs);
}

/* Small live facts: "1 BAG = 50 KGS", "Margin 12%", "Incl. GST 118.00". */
.hint-pill[b-5bu7gz8n38] {
    display: inline-block;
    padding: .2rem .55rem;
    margin: 0 .35rem .25rem 0;
    border-radius: 999px;
    background: var(--primary-soft);
    color: var(--primary);
    font-size: var(--fs-xs);
    font-weight: 600;
}

.hint-pill.warn[b-5bu7gz8n38] {
    background: var(--warning-soft);
    color: var(--warning);
}

.price-facts[b-5bu7gz8n38] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

/* Inline grids (opening stock, batches). */
.sub-grid[b-5bu7gz8n38] {
    margin-top: .25rem;
}

.sub-title[b-5bu7gz8n38] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: var(--fs-sm);
    font-weight: 600;
    margin-bottom: .35rem;
}

.sub-title .btn[b-5bu7gz8n38] {
    margin-left: auto;
}

.grid-input td[b-5bu7gz8n38] {
    padding: .25rem .35rem;
    vertical-align: top;
}

.grid-input .input[b-5bu7gz8n38],
.grid-input .select[b-5bu7gz8n38] {
    min-width: 0;
    width: 100%;
}

.grid-input small[b-5bu7gz8n38] {
    display: block;
    font-size: var(--fs-xs);
    text-align: right;
}

.batch-grid[b-5bu7gz8n38] {
    min-width: 1050px;
}

.batch-grid tr.expired td[b-5bu7gz8n38] {
    background: var(--danger-soft);
}

.batch-note[b-5bu7gz8n38] {
    margin: .5rem 0 0;
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}

/* Insight panel. */
.side-body[b-5bu7gz8n38] {
    display: grid;
    gap: .5rem;
}

.side-big[b-5bu7gz8n38] {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--text);
    text-decoration: none;
}

.side-big small[b-5bu7gz8n38] {
    font-size: var(--fs-sm);
    color: var(--text-muted);
    font-weight: 500;
}

.side-sub[b-5bu7gz8n38] {
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--text-faint);
    margin-top: .25rem;
}

.facts[b-5bu7gz8n38] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .2rem .75rem;
    margin: 0;
    font-size: var(--fs-sm);
}

.facts dt[b-5bu7gz8n38] {
    color: var(--text-muted);
}

.facts dd[b-5bu7gz8n38] {
    margin: 0;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.side-body p[b-5bu7gz8n38] {
    margin: 0;
}
/* /Components/Pages/Masters/Inventory/ItemList.razor.rz.scp.css */
/* Item list toolbar: search grows, filters keep a comfortable width and wrap on small screens. */
.item-filters[b-jb9zxcbyyi] {
    flex-wrap: wrap;
    gap: .5rem;
}

.search-by[b-jb9zxcbyyi] {
    width: auto;
    min-width: 9rem;
}

.filter[b-jb9zxcbyyi] {
    min-width: 170px;
}

.filter-sm[b-jb9zxcbyyi] {
    min-width: 110px;
}

.status[b-jb9zxcbyyi] {
    width: auto;
}

/* The grid fills the page below the toolbar and scrolls inside. */
.item-grid[b-jb9zxcbyyi] {
    max-height: calc(100dvh - 250px);
}

.sr[b-jb9zxcbyyi] {
    width: 3.5rem;
    color: var(--text-faint);
}

.nowrap[b-jb9zxcbyyi] {
    white-space: nowrap;
}

/* Technical (generic) name under the item name; code next to it. */
.tech[b-jb9zxcbyyi] {
    display: block;
    font-size: var(--fs-xs);
}

.code[b-jb9zxcbyyi] {
    margin-left: .35rem;
    font-size: var(--fs-xs);
}

.text-warning[b-jb9zxcbyyi] {
    color: var(--warning);
}

/* Remove button inside the drill-down filter chip. */
.chip-x[b-jb9zxcbyyi] {
    border: 0;
    background: none;
    color: inherit;
    cursor: pointer;
    padding: 0 0 0 .25rem;
    font-size: 1rem;
    line-height: 1;
}

tfoot td[b-jb9zxcbyyi] {
    position: sticky;
    bottom: 0;
    background: var(--surface-2);
    border-top: 1px solid var(--border-strong);
}
/* /Components/Pages/Masters/Inventory/ItemMasterPage.razor.rz.scp.css */
/* Grid of a small inventory master: fills the screen below the form and scrolls inside. */
.master-grid[b-glzn8h8ra0] {
    max-height: calc(100dvh - 380px);
    min-height: 200px;
}

/* Narrow serial-number column. */
.sr[b-glzn8h8ra0] {
    width: 3.5rem;
    color: var(--text-faint);
}

/* Long HSN descriptions wrap instead of widening the table. */
.desc[b-glzn8h8ra0] {
    white-space: normal;
    max-width: 48ch;
    color: var(--text-muted);
}

.merge-title[b-glzn8h8ra0] {
    margin: 0 0 .5rem;
    font-size: 1.05rem;
    font-weight: 600;
}

/* HSN master: "Add from the government list" — wide list, code on the left, long description gets the rest. */
.hsn-dir[b-glzn8h8ra0]  .lookup-list {
    width: min(820px, calc(100vw - 32px));
    min-width: 0;
    max-width: none;
}
.hsn-dir[b-glzn8h8ra0]  .lookup-list li:not(.lk-create):not(.empty) { grid-template-columns: 6.5rem minmax(0, 1fr); }
.hsn-dir[b-glzn8h8ra0]  .lookup-list .lk-name { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.hsn-dir[b-glzn8h8ra0]  .lookup-list .lk-hint { max-width: none; text-align: left; font-size: var(--fs-sm); }
/* /Components/Pages/Masters/OpeningBalancePage.razor.rz.scp.css */
/* Summary strip: totals, difference (green when tallied, red otherwise), stock hint, balance action. */
.ob-summary[b-i1gf8dbley] {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: 1rem;
}
.ob-summary .stat[b-i1gf8dbley] {
    flex: 1 1 160px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: .7rem .9rem;
}
.ob-summary .stat .label[b-i1gf8dbley] { font-size: var(--fs-xs); color: var(--text-muted); text-transform: uppercase; letter-spacing: .05em; }
.ob-summary .stat .value[b-i1gf8dbley] { font-size: var(--fs-lg); font-weight: 600; font-variant-numeric: tabular-nums; }
.ob-summary .stat .hint[b-i1gf8dbley] { font-size: var(--fs-xs); color: var(--text-muted); }
.ob-summary .stat.ok[b-i1gf8dbley] { border-color: var(--success); background: var(--success-soft); }
.ob-summary .stat.bad[b-i1gf8dbley] { border-color: var(--danger); background: var(--danger-soft); }
.ob-summary .balance-into[b-i1gf8dbley] { flex: 2 1 320px; }

.ob-wrap[b-i1gf8dbley] { max-height: calc(100dvh - 330px); }
/* Rows are rendered by OpeningBalanceGridRow, hence ::deep. */
.ob-grid[b-i1gf8dbley]  td { padding-top: 2px; padding-bottom: 2px; }
.ob-grid[b-i1gf8dbley]  input.input {
    height: 30px;
    width: 140px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
/* The column an account normally uses (assets/expenses Dr, others Cr) is tinted as a hint. */
.ob-grid[b-i1gf8dbley]  input.normal { box-shadow: inset 3px 0 0 var(--border-strong); } /* a hint, not a grey "disabled" look */
.ob-grid[b-i1gf8dbley]  tr.changed td { background: var(--warning-soft); }
.ob-grid[b-i1gf8dbley]  tr.inactive td a { color: var(--text-faint); }
.ob-grid tfoot td[b-i1gf8dbley] { position: sticky; bottom: 0; background: var(--surface-2); border-top: 2px solid var(--border-strong); }
/* /Components/Pages/Masters/PortalCredentialPage.razor.rz.scp.css */
/* Revealed password: highlighted so it is obvious it is visible (and will hide again). */
.secret[b-63li0ghg6l] {
    font-family: var(--font-mono);
    background: var(--warning-soft);
    padding: 0 .35rem;
    border-radius: var(--radius-sm);
    margin-right: .25rem;
}
.footer-note[b-63li0ghg6l] { margin-right: auto; font-size: var(--fs-xs); }
/* /Components/Pages/Masters/TransporterPage.razor.rz.scp.css */
/* Address shown as a dim second line under the transporter name. */
.small-line[b-3vkq22naub] {
    font-size: var(--fs-xs);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 38ch;
}
/* /Components/Pages/Masters/VerifyGstinPage.razor.rz.scp.css */
/* Clickable summary cards: one per issue type (only types that occur), acting as quick filters. */
.issue-cards[b-9h85xgw3nm] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1rem;
}
.issue-card[b-9h85xgw3nm] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 120px;
    padding: .5rem .8rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    font: inherit;
    font-size: var(--fs-sm);
    text-align: left;
}
.issue-card .n[b-9h85xgw3nm] { font-size: var(--fs-lg); font-weight: 700; font-variant-numeric: tabular-nums; }
.issue-card.ok .n[b-9h85xgw3nm] { color: var(--success); }
.issue-card.bad .n[b-9h85xgw3nm] { color: var(--danger); }
.issue-card:hover[b-9h85xgw3nm] { border-color: var(--border-strong); }
.issue-card.active[b-9h85xgw3nm] { border-color: var(--primary); box-shadow: 0 0 0 2px var(--primary-soft); }

.verify-panel[b-9h85xgw3nm] { border-color: var(--primary); }
.sub[b-9h85xgw3nm] { font-size: var(--fs-xs); }
td .badge + .badge[b-9h85xgw3nm] { margin-left: .25rem; }
/* /Components/Pages/Outstanding/AgeingBar.razor.rz.scp.css */
/* Ageing bar: green (not due) → amber → red (oldest). Theme tokens keep dark mode readable. */
.ageing[b-4oh4ny9562] { display: flex; flex-direction: column; gap: .5rem; }
.ageing-bar[b-4oh4ny9562] { display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: var(--surface-sunken); }
.seg[b-4oh4ny9562] { display: block; height: 100%; min-width: 2px; }
.ageing-legend[b-4oh4ny9562] { display: flex; flex-wrap: wrap; gap: .35rem 1.1rem; font-size: var(--fs-sm); }
.legend-item[b-4oh4ny9562] { display: inline-flex; align-items: center; gap: .35rem; }
.legend-item .lbl[b-4oh4ny9562] { color: var(--text-muted); }
.legend-item small[b-4oh4ny9562] { color: var(--text-faint); }
.dot[b-4oh4ny9562] { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.nd[b-4oh4ny9562] { background: var(--success); }
.b0[b-4oh4ny9562] { background: #f5c451; }
.b1[b-4oh4ny9562] { background: var(--warning); }
.b2[b-4oh4ny9562] { background: #ea580c; }
.b3[b-4oh4ny9562] { background: var(--danger); }
/* Inline: small bar + one-line legend in the report summary bar. */
.ageing.inline[b-4oh4ny9562] { flex-direction: row; align-items: center; gap: .6rem; }
.ageing.inline .ageing-bar[b-4oh4ny9562] { flex: none; width: 120px; height: 6px; }
.ageing.inline .ageing-legend[b-4oh4ny9562] { flex-wrap: nowrap; gap: .25rem .8rem; font-size: var(--fs-xs); }
.ageing.inline .dot[b-4oh4ny9562] { width: 8px; height: 8px; }
@media print { .ageing-bar[b-4oh4ny9562], .dot[b-4oh4ny9562] { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }
/* /Components/Pages/Outstanding/AutoEntriesPage.razor.rz.scp.css */
/* Auto payment / receipt: account chips, editable preview grid. */
.chips-field .chips[b-g0bsp8gkoi] { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; min-height: var(--control-h); }
.chip[b-g0bsp8gkoi] { border: 1px solid var(--border-strong); background: var(--primary-soft); color: var(--primary); border-radius: 999px; padding: .15rem .65rem; font-size: var(--fs-sm); cursor: pointer; }
.chip:hover[b-g0bsp8gkoi] { border-color: var(--danger); color: var(--danger); }

.preview-head[b-g0bsp8gkoi] { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.per-account[b-g0bsp8gkoi] { display: flex; flex-wrap: wrap; gap: .35rem; }
.warn[b-g0bsp8gkoi] { margin: .5rem 1rem 0; }

.table.preview td[b-g0bsp8gkoi] { padding: .25rem .5rem; vertical-align: middle; }
.date-cell[b-g0bsp8gkoi] { width: 140px; }
.amount-cell[b-g0bsp8gkoi] { width: 150px; }
.warning[b-g0bsp8gkoi] { color: var(--warning); font-size: var(--fs-xs); max-width: 260px; white-space: normal; }
tr.warn-row td:first-child[b-g0bsp8gkoi] { box-shadow: inset 3px 0 0 var(--warning); }
/* /Components/Pages/Outstanding/InterestCalculationReport.razor.rz.scp.css */
/* Interest calculation: summary tiles, tickable lines, posting panel. */
.summary[b-7ijrrplxaq] { padding: 1rem 1.25rem; border-bottom: 1px solid var(--border); }
.summary .stat[b-7ijrrplxaq] { padding: 0; }
.sel[b-7ijrrplxaq] { width: 32px; text-align: center; }
tr.excluded td[b-7ijrrplxaq] { opacity: .45; text-decoration: line-through; }
tr.excluded td.sel[b-7ijrrplxaq] { opacity: 1; text-decoration: none; }
tr.detail-row td[b-7ijrrplxaq] { background: var(--surface-2); padding: .5rem .75rem 1rem 2.5rem; }
.post-panel[b-7ijrrplxaq] { padding: 1rem 1.25rem; border-top: 1px solid var(--border); background: var(--surface-2); }
.post-panel h3[b-7ijrrplxaq] { margin: 0 0 .25rem; font-size: var(--fs-lg); }
.post-panel p[b-7ijrrplxaq] { margin: 0 0 .75rem; font-size: var(--fs-sm); }
/* /Components/Pages/Outstanding/OutstandingByAreaReport.razor.rz.scp.css */
/* City / area outstanding: chips for picked cities and areas, collapsible group rows. */
.chips[b-fynur5naxs] { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.chip[b-fynur5naxs] { border: 1px solid var(--border-strong); background: var(--primary-soft); color: var(--primary); border-radius: 999px; padding: .15rem .65rem; font-size: var(--fs-sm); cursor: pointer; }
.chip.area[b-fynur5naxs] { background: var(--info-soft); color: var(--info); }
.chip:hover[b-fynur5naxs] { border-color: var(--danger); color: var(--danger); }
.summary[b-fynur5naxs] { padding: 1rem 1.25rem; border-bottom: 1px solid var(--border); }
.summary .stat[b-fynur5naxs] { padding: 0; }
tr.group-row[b-fynur5naxs] { cursor: pointer; }
.caret[b-fynur5naxs] { display: inline-block; width: 1rem; color: var(--text-muted); }
/* /Components/Pages/Outstanding/PartyStatementReport.razor.rz.scp.css */
/* Statement of account: a letter-head document on screen and on paper (one party per printed page). */
.statement[b-rt0hs8ycd4] { padding: 1.25rem 1.5rem 1.5rem; border-bottom: 1px solid var(--border); display: flex; flex-direction: column; gap: 1rem; }
.statement:last-child[b-rt0hs8ycd4] { border-bottom: 0; }

.share[b-rt0hs8ycd4] { display: flex; flex-wrap: wrap; gap: .5rem; }

.letterhead[b-rt0hs8ycd4] { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .75rem; border-bottom: 2px solid var(--text); flex-wrap: wrap; }
.letterhead h2[b-rt0hs8ycd4] { margin: 0 0 .25rem; font-size: var(--fs-xl); }
.letterhead div[b-rt0hs8ycd4] { font-size: var(--fs-sm); color: var(--text-muted); }
.doc-title[b-rt0hs8ycd4] { text-align: right; }
.doc-title h3[b-rt0hs8ycd4] { margin: 0 0 .25rem; font-size: var(--fs-lg); text-transform: uppercase; letter-spacing: .06em; color: var(--text); }

.party-block[b-rt0hs8ycd4] { display: flex; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; font-size: var(--fs-sm); }
.party-block strong[b-rt0hs8ycd4] { font-size: var(--fs-lg); }
.small[b-rt0hs8ycd4] { font-size: var(--fs-xs); }
.figures[b-rt0hs8ycd4] { display: grid; grid-template-columns: auto auto; gap: .2rem 1.25rem; margin: 0; min-width: 240px; padding: .6rem .9rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); }
.figures dt[b-rt0hs8ycd4] { color: var(--text-muted); }
.figures dd[b-rt0hs8ycd4] { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.figures .closing[b-rt0hs8ycd4] { font-weight: 700; color: var(--text); border-top: 1px solid var(--border); padding-top: .2rem; }

.lines .narration[b-rt0hs8ycd4] { color: var(--text-muted); font-size: var(--fs-xs); max-width: 260px; white-space: normal; }
.ageing-block[b-rt0hs8ycd4] { display: flex; flex-direction: column; gap: .6rem; }
.ageing-block h4[b-rt0hs8ycd4] { margin: .25rem 0 0; font-size: var(--fs); }
.ageing-table[b-rt0hs8ycd4] { max-width: 720px; }

.statement-foot[b-rt0hs8ycd4] { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; font-size: var(--fs-sm); color: var(--text-muted); flex-wrap: wrap; }
.statement-foot p[b-rt0hs8ycd4] { margin: 0; max-width: 60ch; }
.sign[b-rt0hs8ycd4] { text-align: right; color: var(--text); }

@media print {
    .statement[b-rt0hs8ycd4] { padding: 0; border: 0; break-after: page; }
    .statement:last-child[b-rt0hs8ycd4] { break-after: auto; }
    .letterhead div[b-rt0hs8ycd4], .statement-foot[b-rt0hs8ycd4] { color: #000; }
}
/* /Components/Pages/Outstanding/ReceivablesReport.razor.rz.scp.css */
/* Receivables / payables report. Shared layout comes from app.css (.table.report, .stat, .toolbar). */
.col-1[b-jsq2f3yh5j] { grid-column: span 1; }
.more-toggle .btn[b-jsq2f3yh5j] { width: 100%; }

.summary[b-jsq2f3yh5j] { display: flex; flex-direction: column; gap: .9rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--border); }
.summary .stat[b-jsq2f3yh5j] { padding: 0; }
.summary .hint[b-jsq2f3yh5j] { font-size: var(--fs-xs); color: var(--text-faint); }

.sort[b-jsq2f3yh5j] { width: auto; }
.sel[b-jsq2f3yh5j] { width: 32px; text-align: center; }
.sub[b-jsq2f3yh5j] { font-size: var(--fs-xs); color: var(--text-muted); font-weight: 400; }
.wa[b-jsq2f3yh5j] { margin-left: .4rem; font-size: var(--fs-xs); color: var(--success); font-weight: 600; text-decoration: none; }
.wa:hover[b-jsq2f3yh5j] { text-decoration: underline; }

tr.expanded td[b-jsq2f3yh5j] { background: var(--primary-soft); }
tr.detail-row td[b-jsq2f3yh5j] { background: var(--surface-2); padding: .5rem .75rem 1rem 2.5rem; }
.detail[b-jsq2f3yh5j] { display: flex; flex-direction: column; gap: .6rem; }
.detail-actions[b-jsq2f3yh5j] { display: flex; gap: .5rem; flex-wrap: wrap; }
.table.bills[b-jsq2f3yh5j] { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.table.bills th[b-jsq2f3yh5j], .table.bills td[b-jsq2f3yh5j] { padding: .3rem .6rem; font-size: var(--fs-sm); }

.reminders[b-jsq2f3yh5j] { padding: .75rem 1.25rem; border-bottom: 1px solid var(--border); background: var(--surface-2); }
.reminders ul[b-jsq2f3yh5j] { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.reminders li[b-jsq2f3yh5j] { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }

tfoot td[b-jsq2f3yh5j] { position: sticky; bottom: 0; }

@media (max-width: 760px) {
    .col-1[b-jsq2f3yh5j] { grid-column: span 6; }
}
/* /Components/Pages/Print/BillPreviewDialog.razor.rz.scp.css */
/* Bill print preview pop-up: toolbar on top, the real A4 / A5 / roll sheet below on a grey "desk". */
.bp-dialog[b-kxolfyk2wk] {
    display: flex;
    flex-direction: column;
    width: min(1000px, 100%);
    max-height: calc(100dvh - 2rem);
    padding: 0;
}

.bp-head[b-kxolfyk2wk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem .75rem;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--border);
}

.bp-title[b-kxolfyk2wk] { display: flex; flex-direction: column; min-width: 0; }
.bp-title .muted[b-kxolfyk2wk] { font-size: var(--fs-sm); }
.bp-actions[b-kxolfyk2wk] { display: flex; gap: .5rem; margin-left: auto; }

.bp-body[b-kxolfyk2wk] {
    overflow: auto;
    flex: 1;
    padding: 1rem;
    background: var(--surface-2, #e9ecef);
}

/* The sheets keep their real size in mm (same as the print page); narrow screens see them scaled down. */
.bp-paper[b-kxolfyk2wk] { width: max-content; margin: 0 auto; }

@media (max-width: 860px) {
    .bp-paper[b-kxolfyk2wk] { zoom: .62; }
}

@media (max-width: 560px) {
    .bp-paper[b-kxolfyk2wk] { zoom: .42; }
    .bp-body[b-kxolfyk2wk] { padding: .5rem; }
}
/* /Components/Pages/Print/BulkPrintPage.razor.rz.scp.css */
/* Bulk print screen: action bar above the list; ticked rows are tinted. */
.bp-actions[b-q3nnz9jz7g] { gap: 1rem; }
.bp-actions .spacer[b-q3nnz9jz7g] { flex: 1; }
.muted[b-q3nnz9jz7g] { color: var(--text-muted); font-size: var(--fs-sm); }
tr.picked td[b-q3nnz9jz7g] { background: var(--primary-soft); }
/* /Components/Pages/Print/InvoiceDocument.razor.rz.scp.css */
/* ==========================================================================
   Printed documents (invoice / voucher / thermal receipt)
   --------------------------------------------------------------------------
   Real paper sizes in mm so the screen preview == the printout. Black-on-white
   with thin rules (cheap on toner, readable on dot-matrix and laser alike).
   Every sheet is a flex column: header, party blocks, the line table (which
   stretches so the footer sits at the bottom of the page), then the footer.
   ========================================================================== */

.sheet[b-zf6ny1i3gu] {
    position: relative;
    display: flex;
    flex-direction: column;
    margin: 0 auto 18px;
    background: #fff;
    color: #111;
    box-shadow: 0 2px 10px rgb(0 0 0 / .14);
    font-family: var(--font);
    line-height: 1.32;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.paper-a4[b-zf6ny1i3gu] { width: 210mm; min-height: 297mm; padding: 8mm 9mm 6mm; font-size: 8.4pt; }
.paper-half[b-zf6ny1i3gu] { width: 210mm; min-height: 148mm; padding: 5mm 8mm 4mm; font-size: 7.6pt; }
.paper-thermal[b-zf6ny1i3gu] { width: 80mm; padding: 3mm 3.5mm 5mm; font-size: 8.4pt; }

.mono[b-zf6ny1i3gu] { font-family: var(--font-mono); letter-spacing: .01em; }
.lbl[b-zf6ny1i3gu] { color: #555; font-size: .86em; text-transform: uppercase; letter-spacing: .03em; margin-right: .2em; }
.muted[b-zf6ny1i3gu] { color: #555; }
.num[b-zf6ny1i3gu] { text-align: right; white-space: nowrap; }
.box-title[b-zf6ny1i3gu] { font-size: .82em; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #444; margin-bottom: 1mm; }

/* ----- Header ----------------------------------------------------------------------------------- */
.doc-head[b-zf6ny1i3gu] { text-align: center; border-bottom: 1.4px solid #111; padding-bottom: 2mm; margin-bottom: 2mm; }
.head-top[b-zf6ny1i3gu] { display: flex; justify-content: flex-end; gap: 2mm; min-height: 1em; }
.copy-label[b-zf6ny1i3gu] { font-size: .82em; font-style: italic; color: #333; border: 1px solid #999; border-radius: 2px; padding: 0 1.5mm; }
.cancel-badge[b-zf6ny1i3gu] { font-size: .82em; font-weight: 700; color: #b91c1c; border: 1px solid #b91c1c; padding: 0 1.5mm; }
.main-header[b-zf6ny1i3gu] { font-size: .9em; font-weight: 600; }
.doc-title[b-zf6ny1i3gu] { font-size: 1.15em; font-weight: 800; letter-spacing: .14em; margin: .5mm 0 1mm; }
.doc-title small[b-zf6ny1i3gu] { font-size: .7em; font-weight: 500; letter-spacing: .02em; }
.co-name[b-zf6ny1i3gu] { font-size: 1.85em; font-weight: 800; letter-spacing: .02em; line-height: 1.1; }
.paper-half .co-name[b-zf6ny1i3gu] { font-size: 1.55em; }
.co-deals[b-zf6ny1i3gu] { font-style: italic; }
.co-addr[b-zf6ny1i3gu] { margin-top: .5mm; }
.co-ids[b-zf6ny1i3gu] { display: flex; justify-content: center; flex-wrap: wrap; gap: 0 4mm; }

/* ----- Party + document meta -------------------------------------------------------------------- */
.meta[b-zf6ny1i3gu] { display: grid; grid-template-columns: 1.25fr 1fr; border: 1px solid #333; margin-bottom: 2mm; }
.meta.with-ship[b-zf6ny1i3gu] { grid-template-columns: 1.1fr 1fr 1fr; }
.box[b-zf6ny1i3gu] { padding: 1.5mm 2mm; }
.box + .box[b-zf6ny1i3gu] { border-left: 1px solid #333; }
.party-name[b-zf6ny1i3gu] { font-size: 1.12em; font-weight: 700; }
.info dl[b-zf6ny1i3gu] { display: grid; grid-template-columns: auto 1fr; gap: .2mm 3mm; margin: 0; }
.info dt[b-zf6ny1i3gu] { color: #555; font-size: .9em; }
.info dd[b-zf6ny1i3gu] { margin: 0; }
.info dd b[b-zf6ny1i3gu] { white-space: nowrap; }

.transport[b-zf6ny1i3gu] { display: flex; flex-wrap: wrap; gap: .5mm 5mm; border: 1px solid #333; border-top: 0; margin: -2mm 0 2mm; padding: 1mm 2mm; }

/* ----- Line table (stretches to the bottom of the page) ------------------------------------------- */
.lines[b-zf6ny1i3gu] { width: 100%; border-collapse: collapse; flex: 1 1 auto; height: 100%; }
.lines th[b-zf6ny1i3gu] { background: #eef0f4; font-size: .86em; text-transform: uppercase; letter-spacing: .03em; font-weight: 700;
            padding: 1.2mm 1.4mm; border: 1px solid #333; text-align: left; vertical-align: bottom; }
.lines th.num[b-zf6ny1i3gu] { text-align: right; }
.lines td[b-zf6ny1i3gu] { padding: .9mm 1.4mm; border-left: 1px solid #333; border-right: 1px solid #333; vertical-align: top; }
.lines tbody tr:not(.filler) td[b-zf6ny1i3gu] { border-bottom: 1px dotted #c8c8c8; height: 1px; }
.lines tr.filler td[b-zf6ny1i3gu] { height: 100%; }
.lines tbody tr:last-child td[b-zf6ny1i3gu] { border-bottom: 1px solid #333; }
.lines tfoot td[b-zf6ny1i3gu] { font-weight: 700; border: 1px solid #333; padding: 1.2mm 1.4mm; background: #f6f7f9; }
.c-sr[b-zf6ny1i3gu] { width: 1%; text-align: center; }
.lines.dense[b-zf6ny1i3gu] { font-size: .9em; }
.lines.dense th[b-zf6ny1i3gu], .lines.dense td[b-zf6ny1i3gu] { padding-left: 1mm; padding-right: 1mm; }
.c-item[b-zf6ny1i3gu] { width: auto; }
.item-name[b-zf6ny1i3gu] { font-weight: 600; }
.item-desc[b-zf6ny1i3gu] { font-size: .88em; color: #444; }
.c-hsn[b-zf6ny1i3gu], .c-batch[b-zf6ny1i3gu], .c-mfg[b-zf6ny1i3gu], .c-exp[b-zf6ny1i3gu], .c-pack[b-zf6ny1i3gu], .c-unit[b-zf6ny1i3gu] { white-space: nowrap; }

.continued[b-zf6ny1i3gu] { text-align: right; font-style: italic; color: #444; margin-top: 1.5mm; }

/* ----- Footer ----------------------------------------------------------------------------------- */
.bottom[b-zf6ny1i3gu] { display: grid; grid-template-columns: 1fr 64mm; gap: 3mm; margin-top: 2mm; }
.paper-half .bottom[b-zf6ny1i3gu] { grid-template-columns: 1fr 58mm; }
.bottom-left[b-zf6ny1i3gu] { display: flex; flex-direction: column; gap: 1.6mm; min-width: 0; }
.bottom-right[b-zf6ny1i3gu] { min-width: 0; }
.words[b-zf6ny1i3gu] { border: 1px solid #333; padding: 1.2mm 2mm; }

.summary[b-zf6ny1i3gu] { width: 100%; border-collapse: collapse; font-size: .92em; }
.summary th[b-zf6ny1i3gu], .summary td[b-zf6ny1i3gu] { border: 1px solid #555; padding: .5mm 1.2mm; }
.summary th[b-zf6ny1i3gu] { background: #eef0f4; font-weight: 700; text-align: left; }
.summary th.num[b-zf6ny1i3gu] { text-align: right; }
.summary tfoot td[b-zf6ny1i3gu] { font-weight: 700; }

.banks[b-zf6ny1i3gu] { border: 1px solid #333; padding: 1mm 2mm; }
.bank + .bank[b-zf6ny1i3gu] { margin-top: .4mm; }
.qr[b-zf6ny1i3gu] { width: 22mm; height: 22mm; flex: none; }
.qr[b-zf6ny1i3gu]  svg { width: 100%; height: 100%; display: block; }
.upi-text[b-zf6ny1i3gu] { display: flex; flex-direction: column; }
.upi-box[b-zf6ny1i3gu] { display: flex; gap: 2.5mm; align-items: center; margin-top: 2mm; border: 1px solid #333; padding: 1.5mm 2mm; }

/* Half page payment box (beside the summary). */
.pay[b-zf6ny1i3gu] { display: flex; gap: 2mm; align-items: flex-start; border: 1px solid #333; padding: .8mm 1.6mm; min-width: 0; }
.pay-text[b-zf6ny1i3gu] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .6mm; overflow-wrap: anywhere; }
.paper-half .qr[b-zf6ny1i3gu] { width: 16mm; height: 16mm; }

.note[b-zf6ny1i3gu] { padding: 0 .5mm; }
.terms ol[b-zf6ny1i3gu] { margin: 0; padding-left: 4.5mm; font-size: .9em; }

.totals[b-zf6ny1i3gu], .balance[b-zf6ny1i3gu] { width: 100%; border-collapse: collapse; }
.totals td[b-zf6ny1i3gu], .balance td[b-zf6ny1i3gu] { padding: .7mm 1.5mm; border-bottom: 1px dotted #bbb; }
.totals[b-zf6ny1i3gu] { border: 1px solid #333; }
.totals tr.grand td[b-zf6ny1i3gu], .balance tr.grand td[b-zf6ny1i3gu] { font-size: 1.22em; font-weight: 800; border-top: 1.4px solid #111; border-bottom: 0; background: #f1f2f6; }
.balance[b-zf6ny1i3gu] { margin-top: 2mm; border: 1px solid #777; font-size: .92em; }
.balance tr.grand td[b-zf6ny1i3gu] { font-size: 1.05em; }
.balance-line[b-zf6ny1i3gu] { display: flex; justify-content: space-between; gap: 2mm; margin-top: 1mm; padding: .4mm 1.2mm; border: 1px solid #777; font-size: .92em; }
.paper-half .savings[b-zf6ny1i3gu] { margin-top: 1mm; padding: .3mm; font-size: .92em; }
.savings[b-zf6ny1i3gu] { margin-top: 1.5mm; text-align: center; font-weight: 700; border: 1px dashed #333; padding: 1mm; }

.declaration[b-zf6ny1i3gu] { margin-top: 2mm; font-size: .9em; font-style: italic; }
.signs[b-zf6ny1i3gu] { display: grid; grid-template-columns: 1fr 1fr; gap: 10mm; margin-top: 2mm; }
.sign-box[b-zf6ny1i3gu] { min-height: 15mm; display: flex; flex-direction: column; justify-content: flex-end; text-align: center;
            border-top: 0; padding-top: 1mm; }
.sign-box[b-zf6ny1i3gu]::before { content: ""; flex: 1; }
.sign-box:last-child[b-zf6ny1i3gu] { text-align: right; }
.sign-box .for[b-zf6ny1i3gu] { font-weight: 700; margin-bottom: 8mm; }
.paper-half .sign-box[b-zf6ny1i3gu] { min-height: 9mm; }
.paper-half .sign-box .for[b-zf6ny1i3gu] { margin-bottom: 4mm; }

.page-foot[b-zf6ny1i3gu] { display: flex; justify-content: space-between; gap: 3mm; margin-top: 1.5mm; padding-top: 1mm;
             border-top: 1px solid #ccc; font-size: .78em; color: #555; }

.pair[b-zf6ny1i3gu] { display: flex; flex-wrap: wrap; gap: 0 4mm; }
.lines td.num[b-zf6ny1i3gu], .lines th.num[b-zf6ny1i3gu], .c-hsn[b-zf6ny1i3gu], .c-unit[b-zf6ny1i3gu], .c-gstrate[b-zf6ny1i3gu] { width: 1%; }

/* ----- Half page (A5): compact header, meta and footer so a full bill fits in 148 mm --------------- */
.paper-half .doc-head[b-zf6ny1i3gu] {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "main main" "co title" "co copy";
    column-gap: 4mm;
    text-align: left;
    padding-bottom: 1.2mm;
    margin-bottom: 1.5mm;
}
.paper-half .main-header[b-zf6ny1i3gu] { grid-area: main; text-align: center; }
.paper-half .company[b-zf6ny1i3gu] { grid-area: co; }
.paper-half .doc-title[b-zf6ny1i3gu] { grid-area: title; text-align: right; align-self: end; margin: 0; }
.paper-half .head-top[b-zf6ny1i3gu] { grid-area: copy; align-self: start; }
.paper-half .co-ids[b-zf6ny1i3gu] { justify-content: flex-start; }
.paper-half .co-name[b-zf6ny1i3gu] { font-size: 1.45em; }
.paper-half .box[b-zf6ny1i3gu] { padding: 1mm 1.6mm; }
.paper-half .meta[b-zf6ny1i3gu] { margin-bottom: 1.5mm; }
.paper-half .info dl[b-zf6ny1i3gu] { grid-template-columns: auto 1fr auto 1fr; }
.paper-half .transport[b-zf6ny1i3gu] { margin: -1.5mm 0 1.5mm; padding: .6mm 1.6mm; }
.paper-half .lines th[b-zf6ny1i3gu] { padding: .8mm 1.2mm; }
.paper-half .lines td[b-zf6ny1i3gu] { padding: .5mm 1.2mm; }
.paper-half .bottom[b-zf6ny1i3gu] { grid-template-columns: 1fr 54mm; gap: 2mm; margin-top: 1.2mm; }
/* Half page: words on top, tax summary and payment box side by side, remarks / terms below. */
.paper-half .bottom-left[b-zf6ny1i3gu] {
    display: grid;
    grid-template-columns: 1fr 66mm;
    grid-template-areas: "words words" "summary pay" "note note" "terms terms";
    align-items: start;
    gap: 1mm 2mm;
}
.paper-half .words[b-zf6ny1i3gu] { grid-area: words; }
.paper-half .summary[b-zf6ny1i3gu] { grid-area: summary; }
.paper-half .pay[b-zf6ny1i3gu] { grid-area: pay; }
.paper-half .note[b-zf6ny1i3gu] { grid-area: note; }
.paper-half .terms[b-zf6ny1i3gu] { grid-area: terms; }
.paper-half .bottom-left.no-summary .pay[b-zf6ny1i3gu] { grid-column: 1 / -1; }
.paper-half .summary[b-zf6ny1i3gu] { font-size: .86em; }
.paper-half .summary th[b-zf6ny1i3gu], .paper-half .summary td[b-zf6ny1i3gu] { padding: .2mm 1mm; }
.paper-half .summary tfoot[b-zf6ny1i3gu] { display: none; }
.paper-half .bank[b-zf6ny1i3gu] { font-size: .9em; }
.paper-half .words[b-zf6ny1i3gu] { padding: .6mm 1.6mm; }
.paper-half .totals td[b-zf6ny1i3gu] { padding: .3mm 1.2mm; }
.paper-half .terms ol[b-zf6ny1i3gu] { display: flex; flex-wrap: wrap; gap: 0 3mm; list-style: none; padding: 0; font-size: .86em; }
.paper-half .terms .box-title[b-zf6ny1i3gu] { display: none; }
.paper-half .balance[b-zf6ny1i3gu] { margin-top: 1mm; }
.paper-half .declaration[b-zf6ny1i3gu] { display: none; }
.paper-half .signs[b-zf6ny1i3gu] { margin-top: 1mm; }
.paper-half .page-foot[b-zf6ny1i3gu] { margin-top: .6mm; padding-top: .4mm; }

/* ----- Accounting voucher ----------------------------------------------------------------------- */
.voucher-sheet .v-meta[b-zf6ny1i3gu] { display: flex; justify-content: space-between; margin-bottom: 1.5mm; font-size: 1.05em; }
.voucher-sheet .v-party[b-zf6ny1i3gu] { margin-bottom: 2mm; font-size: 1.05em; }
.voucher-sheet .v-words[b-zf6ny1i3gu], .voucher-sheet .v-mode[b-zf6ny1i3gu] { margin-top: 1.5mm; }
.voucher-sheet .v-words[b-zf6ny1i3gu] { border: 1px solid #333; padding: 1.2mm 2mm; font-weight: 600; }

/* ----- Cancelled watermark ---------------------------------------------------------------------- */
.cancelled[b-zf6ny1i3gu]::after {
    content: "CANCELLED";
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 64pt; font-weight: 900; letter-spacing: .1em;
    color: rgb(185 28 28 / .14);
    transform: rotate(-24deg);
    pointer-events: none;
}

/* ----- Thermal roll ----------------------------------------------------------------------------- */
.paper-thermal[b-zf6ny1i3gu] { font-family: var(--font-mono); line-height: 1.28; }
.th-center[b-zf6ny1i3gu] { text-align: center; }
.th-company[b-zf6ny1i3gu] { font-size: 1.3em; font-weight: 800; }
.th-title[b-zf6ny1i3gu] { margin: 1.5mm 0; font-weight: 800; letter-spacing: .12em; border-top: 1px dashed #000; border-bottom: 1px dashed #000; }
.th-small[b-zf6ny1i3gu] { font-size: .9em; }
.th-row[b-zf6ny1i3gu] { display: flex; justify-content: space-between; gap: 2mm; }
.th-item[b-zf6ny1i3gu] { font-weight: 700; margin-top: .8mm; }
.th-rule[b-zf6ny1i3gu] { border-top: 1px dashed #000; margin: 1.5mm 0; }
.th-total[b-zf6ny1i3gu] { font-size: 1.25em; font-weight: 800; border-top: 1px dashed #000; border-bottom: 1px dashed #000; margin: 1mm 0; padding: .5mm 0; }
.th-save[b-zf6ny1i3gu] { font-weight: 700; margin: 1mm 0; }
.th-qr[b-zf6ny1i3gu] { width: 34mm; margin: 2mm auto 0; }
.th-qr[b-zf6ny1i3gu]  svg { width: 100%; height: auto; display: block; }
.th-thanks[b-zf6ny1i3gu] { margin-top: 2mm; }

/* ----- Print ------------------------------------------------------------------------------------ */
@media print {
    .sheet[b-zf6ny1i3gu] { margin: 0; box-shadow: none; break-after: page; break-inside: avoid; }
    .paper-a4[b-zf6ny1i3gu] { min-height: 296.5mm; }
    .paper-half[b-zf6ny1i3gu] { min-height: 147.5mm; }
    /* Two half-page bills on one A4 sheet with a dashed cut line between them. */
    .paper-half.two-up[b-zf6ny1i3gu] { break-after: auto; min-height: 148.4mm; }
    .paper-half.two-up:nth-of-type(2n)[b-zf6ny1i3gu] { break-after: page; border-top: 1px dashed #888; }
    .paper-thermal[b-zf6ny1i3gu] { break-after: auto; }
    .lines th[b-zf6ny1i3gu], .summary th[b-zf6ny1i3gu], .lines tfoot td[b-zf6ny1i3gu] { background: #eef0f4 !important; }
}
/* /Components/Pages/Print/InvoicePrintPage.razor.rz.scp.css */
/* Print preview page: sticky toolbar (screen only) over the paper sheets. */

.print-toolbar[b-evv48ctvwz] {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1rem;
    padding: .55rem 1rem;
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow-sm);
}

.tb-group[b-evv48ctvwz] { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.tb-title[b-evv48ctvwz] { flex: 1; min-width: 180px; display: flex; flex-direction: column; line-height: 1.25; }
.tb-title strong[b-evv48ctvwz] { font-size: var(--fs); }
.tb-title span[b-evv48ctvwz] { font-size: var(--fs-xs); color: var(--text-muted); }

.select-sm[b-evv48ctvwz], .input-sm[b-evv48ctvwz] { height: 28px; font-size: var(--fs-sm); }
.select-sm[b-evv48ctvwz] { width: auto; max-width: 230px; }
.input-sm[b-evv48ctvwz] { width: 72px; }
.btn.active[b-evv48ctvwz] { background: var(--primary-soft); border-color: var(--primary); color: var(--primary); }

/* Drop-down panels (options / share) span the toolbar width. */
.tb-panel[b-evv48ctvwz] {
    flex-basis: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    padding: .75rem .25rem .25rem;
    border-top: 1px dashed var(--border);
}
.panel-section[b-evv48ctvwz] { display: flex; flex-direction: column; gap: .35rem; min-width: 190px; }
.panel-title[b-evv48ctvwz] { font-size: var(--fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--text-muted); }
.panel-actions[b-evv48ctvwz] { display: flex; gap: .5rem; flex-wrap: wrap; align-items: flex-end; flex-basis: 100%; }
.field-inline[b-evv48ctvwz] { display: flex; align-items: center; gap: .5rem; font-size: var(--fs-sm); }
.hint[b-evv48ctvwz] { font-size: var(--fs-xs); color: var(--text-faint); margin: 0; }

.share-panel[b-evv48ctvwz] { flex-direction: column; gap: .6rem; max-width: 760px; }
.share-fields[b-evv48ctvwz] { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }

.print-area[b-evv48ctvwz] { padding: 18px 12px 40px; overflow-x: auto; }
.print-msg[b-evv48ctvwz] { max-width: 420px; margin: 4rem auto; text-align: center; color: var(--text-muted); }

@media (max-width: 720px) {
    .print-toolbar[b-evv48ctvwz] { padding: .5rem; }
    .share-fields[b-evv48ctvwz] { grid-template-columns: 1fr; }
    .print-area[b-evv48ctvwz] { padding: 8px 0 24px; }
}

/* Phones: shrink the A4 preview to fit the screen (printing is unaffected). */
@media screen and (max-width: 860px) { .print-area[b-evv48ctvwz] { zoom: .55; } }
@media screen and (max-width: 480px) { .print-area[b-evv48ctvwz] { zoom: .45; } }

@media print {
    .print-area[b-evv48ctvwz] { padding: 0; overflow: visible; }
}
/* /Components/Pages/Print/VoucherSlipPage.razor.rz.scp.css */
/* Printable voucher slip: an A5-width document centred on screen, printed without the app chrome. */
.slip-page[b-rhfrs70wew] { max-width: 820px; margin: 0 auto; }

.slip-toolbar[b-rhfrs70wew] { display: flex; gap: .5rem; align-items: center; justify-content: flex-end; margin-bottom: 1rem; flex-wrap: wrap; }
.slip-copies[b-rhfrs70wew] { display: inline-flex; align-items: center; gap: .4rem; font-size: var(--fs-sm); color: var(--text-muted); margin-right: auto; }
.slip-copies .select[b-rhfrs70wew] { width: auto; }

.slip[b-rhfrs70wew] {
    position: relative;
    background: #fff;
    color: #111;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 1.4rem 1.6rem 1.2rem;
    margin-bottom: 1rem;
    box-shadow: var(--shadow-sm, none);
    font-size: 13px;
    overflow: hidden;
}

.slip-company[b-rhfrs70wew] { text-align: center; border-bottom: 2px solid #111; padding-bottom: .5rem; }
.slip-company h1[b-rhfrs70wew] { font-size: 1.35rem; margin: 0; letter-spacing: .02em; text-transform: uppercase; }
.slip-company p[b-rhfrs70wew] { margin: .15rem 0 0; display: flex; gap: .9rem; justify-content: center; flex-wrap: wrap; font-size: 12px; }

.slip-title[b-rhfrs70wew] { display: flex; justify-content: center; align-items: center; gap: .75rem; margin: .7rem 0 .4rem; }
.slip-title h2[b-rhfrs70wew] { margin: 0; font-size: 1rem; text-transform: uppercase; letter-spacing: .12em; border: 1px solid #111; padding: .15rem .8rem; }
.slip-copy[b-rhfrs70wew] { font-size: 11px; color: #555; }

.slip-meta[b-rhfrs70wew] { display: flex; justify-content: space-between; margin-bottom: .7rem; }
.slip-line[b-rhfrs70wew] { margin: .35rem 0; line-height: 1.6; }
.slip-amount[b-rhfrs70wew] { display: inline-block; margin-top: .6rem; border: 2px solid #111; padding: .3rem .9rem; font-size: 1.15rem; font-weight: 700; }

.slip-table[b-rhfrs70wew] { width: 100%; border-collapse: collapse; margin: .6rem 0; }
.slip-table th[b-rhfrs70wew], .slip-table td[b-rhfrs70wew] { border: 1px solid #999; padding: .3rem .45rem; text-align: left; vertical-align: top; }
.slip-table th[b-rhfrs70wew] { background: #f3f4f6; font-size: 11px; text-transform: uppercase; }
.slip-table .num[b-rhfrs70wew] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.slip-table tfoot td[b-rhfrs70wew] { font-weight: 700; }

.slip-sign[b-rhfrs70wew] { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 2.6rem; font-size: 12px; }
.slip-sign span:last-child[b-rhfrs70wew] { text-align: right; }

.slip-stamp[b-rhfrs70wew] {
    position: absolute; top: 45%; left: 50%; translate: -50% -50%; rotate: -18deg;
    font-size: 3.2rem; font-weight: 800; letter-spacing: .2em; color: rgb(220 38 38 / .28);
    border: 6px solid rgb(220 38 38 / .28); padding: .2rem 1.2rem; pointer-events: none;
}

@media print {
    .slip-page[b-rhfrs70wew] { max-width: none; }
    .slip[b-rhfrs70wew] { border: 0; border-radius: 0; box-shadow: none; padding: 0 0 1rem; margin: 0 0 1.2rem; page-break-inside: avoid; }
    .slip + .slip[b-rhfrs70wew] { border-top: 1px dashed #999; padding-top: 1rem; }
}
/* /Components/Pages/Reports/Books/AccountHeader.razor.rz.scp.css */
/* Printed account title block of a ledger (screen: hidden, the account is in the toolbar). */
.account-header[b-v68gckgdrc] { padding: 0 0 .4rem; }
.account-header h2[b-v68gckgdrc] { margin: 0; font-size: 14px; }
.account-header p[b-v68gckgdrc] { margin: 2px 0 0; font-size: 11px; }

/* Inline variant in the summary bar under the grid. */
.account-inline[b-v68gckgdrc] { display: inline-block; vertical-align: bottom; max-width: 48ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-muted); }

/* Printed: the title block above the grid already carries these details. */
@media print { .account-inline[b-v68gckgdrc] { display: none; } }
/* /Components/Pages/Reports/Books/AllLedgersPage.razor.rz.scp.css */
/* All ledgers: index on top, one section per account. */
.ledger-index[b-w3z9hm06tr] { padding: .35rem .75rem; border-bottom: 1px solid var(--border); }
.ledger-index summary[b-w3z9hm06tr] { cursor: pointer; font-weight: 600; font-size: var(--fs-sm); color: var(--text-muted); }
.index-grid[b-w3z9hm06tr] { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .15rem 1.25rem; margin-top: .5rem; }
.index-item[b-w3z9hm06tr] {
    display: flex; justify-content: space-between; gap: .75rem;
    border: 0; background: none; text-align: left; padding: .2rem .35rem; border-radius: var(--radius-sm);
    font-size: var(--fs-sm); color: var(--text); cursor: pointer;
}
.index-item:hover[b-w3z9hm06tr] { background: var(--primary-soft); color: var(--primary); }
.index-item .num[b-w3z9hm06tr] { font-variant-numeric: tabular-nums; white-space: nowrap; }

.ledger-section[b-w3z9hm06tr] { border-bottom: 6px solid var(--surface-sunken); }
/* Slim account heading of each section (the printed one is AccountHeader). */
.section-head[b-w3z9hm06tr] { display: flex; align-items: baseline; gap: .6rem; padding: .35rem .75rem; font-size: var(--fs-sm); background: var(--surface-2); border-bottom: 1px solid var(--border); }
.section-head .btn-link[b-w3z9hm06tr] { margin-left: auto; font-size: var(--fs-xs); }

@media print {
    .ledger-index[b-w3z9hm06tr] { display: none; }
    .ledger-section[b-w3z9hm06tr] { border-bottom: 0; margin-bottom: 1rem; }
    /* One account per page (desktop printed each ledger on its own page). */
    .ledger-section.break + .ledger-section.break[b-w3z9hm06tr] { break-before: page; }
}
/* /Components/Pages/Reports/Books/BalanceStrip.razor.rz.scp.css */
/* Figures of a books report (Opening · Debit · Credit · Closing): ONE slim inline line in the report's Summary bar
   under the grid, small text, values in tabular figures. Extra content (badges, type chips) follows inline. */
.balance-strip[b-afua7h5j4r] {
    display: flex;
    align-items: center;
    gap: 2px 16px;
    white-space: nowrap;
}

.figure[b-afua7h5j4r] { display: inline-flex; align-items: baseline; gap: 5px; }
.figure .label[b-afua7h5j4r] { font-size: var(--fs-xs); color: var(--text-muted); }
.figure .value[b-afua7h5j4r] { font-size: var(--fs-xs); font-weight: 650; color: var(--text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.figure.danger .value[b-afua7h5j4r] { color: var(--danger); }
.figure.success .value[b-afua7h5j4r] { color: var(--success); }
.figure.warning .value[b-afua7h5j4r] { color: var(--warning); }

@media print {
    .balance-strip[b-afua7h5j4r] { flex-wrap: wrap; }
}
/* /Components/Pages/Reports/Books/CashBookPage.razor.rz.scp.css */
/* Cash / bank book. */
.cash-table .nowrap[b-lbgx5qbpib] { white-space: nowrap; }
.cash-table td.num[b-lbgx5qbpib] { white-space: nowrap; }
.cash-table .caret[b-lbgx5qbpib] { display: inline-block; width: 1em; color: var(--text-faint); }
.cash-table .ellipsis[b-lbgx5qbpib] { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cash-table tr.entry-row td[b-lbgx5qbpib] { font-size: var(--fs-sm); background: var(--surface-2); }
.cash-table tr.day-total td[b-lbgx5qbpib] { font-weight: 600; border-bottom: 2px solid var(--border-strong); }
.cash-table tr.negative td[b-lbgx5qbpib] { background: var(--danger-soft); }
.cash-table tfoot td[b-lbgx5qbpib] { position: sticky; bottom: 0; }

@media print {
    .cash-table tfoot td[b-lbgx5qbpib] { position: static; }
}
/* /Components/Pages/Reports/Books/DayBookPage.razor.rz.scp.css */
/* Day book. */
.daybook-table .nowrap[b-bwg2pu1d98] { white-space: nowrap; }
.daybook-table td.num[b-bwg2pu1d98] { white-space: nowrap; }
.daybook-table .narration[b-bwg2pu1d98] { max-width: 300px; }
.daybook-table tr.cancelled td[b-bwg2pu1d98] { color: var(--text-faint); text-decoration: line-through; }
.daybook-table tr.cancelled td .badge[b-bwg2pu1d98] { text-decoration: none; }
.daybook-table tfoot td[b-bwg2pu1d98] { position: sticky; bottom: 0; }

/* Dr / Cr postings under a voucher. */
.daybook-table tr.postings-row > td[b-bwg2pu1d98] { padding: 0 .65rem .45rem 2.5rem; background: var(--surface-2); }
.postings[b-bwg2pu1d98] { border-collapse: collapse; font-size: var(--fs-xs); min-width: 60%; }
.postings td[b-bwg2pu1d98] { padding: .15rem .5rem; border-bottom: 1px dashed var(--border); }
.postings .side[b-bwg2pu1d98] { color: var(--text-faint); width: 2rem; }
.postings .cr-account[b-bwg2pu1d98] { padding-left: 1.5rem; }
.postings .num[b-bwg2pu1d98] { text-align: right; white-space: nowrap; width: 110px; }

/* Per-type summary chips. */
/* Per-type count chips in the summary line under the grid (click = filter to that type). */
.type-chips[b-bwg2pu1d98] { display: flex; gap: .3rem; margin-left: .5rem; }
.type-chip[b-bwg2pu1d98] {
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    border-radius: 999px;
    padding: 0 .55rem;
    font-size: .6875rem;
    white-space: nowrap;
    cursor: pointer;
}
.type-chip b[b-bwg2pu1d98] { color: var(--text); margin: 0 .2rem; }
.type-chip:hover[b-bwg2pu1d98], .type-chip.active[b-bwg2pu1d98] { border-color: var(--primary); color: var(--primary); background: var(--primary-soft); }

.truncated[b-bwg2pu1d98] { margin: .35rem .5rem; padding: .3rem .6rem; font-size: var(--fs-sm); }

@media print {
    .daybook-table tfoot td[b-bwg2pu1d98] { position: static; }
    .daybook-table tr.postings-row > td[b-bwg2pu1d98] { background: none; }
}
/* /Components/Pages/Reports/Books/GroupLedgerPage.razor.rz.scp.css */
/* Group ledger. */
.group-table td.num[b-ixju2k5oyt] { white-space: nowrap; }
.group-table tfoot td[b-ixju2k5oyt] { position: sticky; bottom: 0; }

@media print {
    .group-table tfoot td[b-ixju2k5oyt] { position: static; }
}
/* /Components/Pages/Reports/Books/LedgerTable.razor.rz.scp.css */
/* Ledger grid (shared by Ledger, Ledger with items, All ledgers). */

.ledger-table .col-date[b-6dvcp5q7vt] { white-space: nowrap; width: 1%; }
.ledger-table .col-type[b-6dvcp5q7vt] { white-space: nowrap; }
.ledger-table td.col-type[b-6dvcp5q7vt] { color: var(--text-muted); }
.ledger-table .col-no[b-6dvcp5q7vt] { white-space: nowrap; }
.ledger-table .narration[b-6dvcp5q7vt] { color: var(--text-muted); max-width: 360px; }
.ledger-table td.num[b-6dvcp5q7vt] { white-space: nowrap; }

/* Totals stay visible while scrolling a long ledger. */
.ledger-table tfoot td[b-6dvcp5q7vt] { position: sticky; bottom: 0; z-index: 1; }

/* Balance confirmed with the party up to a date (desktop "Lock data" green rows). */
.ledger-table tr.confirmed td[b-6dvcp5q7vt] { background: var(--success-soft); }
/* Cash can never be negative: flag the lines where it went below zero. */
.ledger-table tr.negative td[b-6dvcp5q7vt] { background: var(--danger-soft); }

/* Item lines of a bill, indented under its posting. */
.ledger-table tr.items-row > td[b-6dvcp5q7vt] { padding: 0 .65rem .5rem 2.25rem; background: var(--surface-2); }
.items-table[b-6dvcp5q7vt] { width: 100%; border-collapse: collapse; font-size: var(--fs-xs); }
.items-table th[b-6dvcp5q7vt], .items-table td[b-6dvcp5q7vt] { padding: .2rem .45rem; border-bottom: 1px dashed var(--border); text-align: left; }
.items-table th[b-6dvcp5q7vt] { color: var(--text-faint); font-weight: 600; }
.items-table .num[b-6dvcp5q7vt] { text-align: right; white-space: nowrap; }

@media print {
    .ledger-table tfoot td[b-6dvcp5q7vt] { position: static; }
    .ledger-table tr.items-row > td[b-6dvcp5q7vt] { background: none; }
}
/* /Components/Pages/Reports/Books/MonthlyLedgerPage.razor.rz.scp.css */
/* Months without entries are dimmed; a mini Dr/Cr bar shows the trend. */
tr.quiet td[b-vt5vomcq8b] { color: var(--text-faint); }

.trend-head[b-vt5vomcq8b] { width: 160px; }
.trend[b-vt5vomcq8b] { display: flex; flex-direction: column; gap: 2px; width: 140px; }
.trend span[b-vt5vomcq8b] { display: block; height: 5px; border-radius: 3px; min-width: 0; }
.trend .dr[b-vt5vomcq8b] { background: var(--primary); }
.trend .cr[b-vt5vomcq8b] { background: var(--warning); }
/* /Components/Pages/Reports/Books/TLedgerPage.razor.rz.scp.css */
/* T-account: two equal columns, Dr on the left and Cr on the right. */
.t-table .t-side[b-3f3h6xggup] { color: var(--text); margin-right: .35rem; }
.t-table .nowrap[b-3f3h6xggup] { white-space: nowrap; width: 1%; }
.t-table tr.pad-row td[b-3f3h6xggup] { border-bottom-color: transparent; }
.t-table tfoot td[b-3f3h6xggup] { position: sticky; bottom: 0; }

@media print {
    /* Keep both sides on one page width even when printing in portrait. */
    .t-split[b-3f3h6xggup] { grid-template-columns: 1fr 1fr !important; }
    .t-table tfoot td[b-3f3h6xggup] { position: static; }
}
/* /Components/Pages/Reports/EditLogReport.razor.rz.scp.css */
/* Changed fields stacked one per line; long postings summaries wrap. */
.el-changes[b-w0njaxbk1c] { white-space: normal; max-width: 560px; font-size: var(--fs-xs); }
.nowrap[b-w0njaxbk1c] { white-space: nowrap; }
/* /Components/Pages/Reports/Final/BalanceSheetPage.razor.rz.scp.css */
/* Balance sheet page: headings of the "full set" print and the opening-difference alert. */
.bs-alert[b-zldtpmy13w] {
    margin: .35rem .5rem;
    padding: .3rem .6rem;
    font-size: var(--fs-sm);
}

.bs-title[b-zldtpmy13w] {
    margin: 0;
    padding: .4rem .75rem;
    font-size: var(--fs);
    border-top: 2px solid var(--border-strong);
}

.bs-title small[b-zldtpmy13w] {
    font-weight: 400;
    color: var(--text-muted);
    font-size: var(--fs-sm);
    margin-left: .4rem;
}

@media print {
    /* Each statement of the full set starts on a new page. */
    .bs-break[b-zldtpmy13w] {
        break-before: page;
    }
}
/* /Components/Pages/Reports/Final/CapitalAccountPage.razor.rz.scp.css */
/* Capital account: warnings, per-partner T accounts. */
.ca-alert[b-kb6yxcp7j5] {
    margin: .75rem .75rem 0;
}

.ca-note[b-kb6yxcp7j5] {
    padding: .75rem 1rem;
    margin: 0;
    font-size: var(--fs-sm);
}

.ca-cards[b-kb6yxcp7j5] {
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.ca-card[b-kb6yxcp7j5] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    break-inside: avoid;
}

.ca-card h3[b-kb6yxcp7j5] {
    margin: 0;
    padding: .6rem .8rem;
    font-size: var(--fs-lg);
    background: var(--surface-sunken);
    border-bottom: 1px solid var(--border);
}

.ca-card h3 small[b-kb6yxcp7j5] {
    color: var(--text-muted);
    font-weight: 400;
    font-size: var(--fs-sm);
    margin-left: .4rem;
}

.ca-t[b-kb6yxcp7j5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.ca-t > table:first-child[b-kb6yxcp7j5] {
    border-right: 1px solid var(--border);
}

@media (max-width: 760px) {
    .ca-t[b-kb6yxcp7j5] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Reports/Final/FinalKpis.razor.rz.scp.css */
/* Key figures of a final statement: ONE slim inline line in the report's Summary bar under the grid
   ("Net sales 12,40,000.00 · Gross profit 1,85,000.00 · GP 14.9%"). Linked figures open the report behind them. */
.kpis[b-93s5l2f3jy] {
    display: flex;
    align-items: center;
    gap: 2px 16px;
    white-space: nowrap;
}

.kpi[b-93s5l2f3jy] {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    color: inherit;
    text-decoration: none;
}

a.kpi:hover .kpi-value[b-93s5l2f3jy] {
    color: var(--primary);
    text-decoration: underline;
}

.kpi-label[b-93s5l2f3jy] {
    font-size: var(--fs-xs);
    color: var(--text-muted);
}

.kpi-value[b-93s5l2f3jy] {
    font-size: var(--fs-xs);
    font-weight: 650;
    color: var(--text);
    font-variant-numeric: tabular-nums;
}

@media print {
    .kpis[b-93s5l2f3jy] { flex-wrap: wrap; }
}
/* /Components/Pages/Reports/Final/FinalSection.razor.rz.scp.css */
/* Block below a statement: separated by a rule, padded like card bodies. */
.fsec[b-krk1pzynb7] {
    padding: .9rem 1rem;
    border-top: 1px solid var(--border);
}

.fsec-head[b-krk1pzynb7] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: .5rem;
}

.fsec-head h2[b-krk1pzynb7] {
    margin: 0;
    font-size: var(--fs-lg);
}

.fsec-head small[b-krk1pzynb7] {
    font-weight: 400;
    color: var(--text-muted);
    font-size: var(--fs-sm);
    margin-left: .35rem;
}

/* Rows of negative stock in valuation sheets. */
[b-krk1pzynb7] tr.neg td {
    color: var(--danger);
}
/* /Components/Pages/Reports/Final/FinalStatementView.razor.rz.scp.css */
/* Two-sided final statement (T form / vertical). Colours come from the app design tokens. */

.fs-split[b-b5vcyi8771] {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.fs-split > .fs-side:first-child[b-b5vcyi8771] {
    border-right: 1px solid var(--border);
}

/* Both T sides stretch so their totals line up at the bottom. */
.fs-side[b-b5vcyi8771] {
    display: flex;
    flex-direction: column;
}

.fs-side .table-wrap[b-b5vcyi8771] {
    flex: 1;
    display: flex;
}

.fs-side .fs-table[b-b5vcyi8771] {
    height: 100%;
}

.fs-side .fs-table tbody tr.fs-fill[b-b5vcyi8771] {
    height: 100%;
}

.fs-side .fs-table tbody tr.fs-fill td[b-b5vcyi8771] {
    padding: 0;
    border-bottom: 0;
}

/* Fill: the T form takes the whole report frame; each side scrolls inside, header on top, total pinned below. */
.fs-fill-h[b-b5vcyi8771] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.fs-fill-h .fs-split[b-b5vcyi8771] {
    flex: 1 1 auto;
    min-height: 0;
}

.fs-fill-h .fs-side[b-b5vcyi8771] {
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
}

.fs-v .table-wrap + .table-wrap[b-b5vcyi8771] {
    border-top: 2px solid var(--border-strong);
}

.fs-table th:first-child[b-b5vcyi8771] {
    width: 100%;
}

.fs-table td.num[b-b5vcyi8771] {
    white-space: nowrap;
}

.fs-caret[b-b5vcyi8771] {
    display: inline-block;
    width: 1em;
    color: var(--text-muted);
}

.fs-section .fs-label[b-b5vcyi8771] {
    text-transform: uppercase;
    letter-spacing: .02em;
}

.fs-group td[b-b5vcyi8771] {
    font-weight: 600;
}

.fs-computed td[b-b5vcyi8771] {
    font-weight: 650;
    color: var(--primary);
}

.fs-note[b-b5vcyi8771] {
    margin-left: .5rem;
    color: var(--text-faint);
    font-size: var(--fs-xs);
}

.fs-prev[b-b5vcyi8771] {
    color: var(--text-muted);
}

.fs-open[b-b5vcyi8771] {
    margin-left: .4rem;
    font-size: var(--fs-xs);
    color: var(--text-faint);
    text-decoration: none;
    opacity: 0;
}

tr:hover .fs-open[b-b5vcyi8771],
tr.selected .fs-open[b-b5vcyi8771] {
    opacity: 1;
}

.fs-diff[b-b5vcyi8771] {
    flex: none;
    margin: .35rem .5rem;
    padding: .3rem .6rem;
    font-size: var(--fs-sm);
}

@media (max-width: 900px) {
    .fs-split[b-b5vcyi8771] {
        grid-template-columns: 1fr;
    }

    .fs-split > .fs-side:first-child[b-b5vcyi8771] {
        border-right: 0;
        border-bottom: 2px solid var(--border-strong);
    }
}

@media print {
    .fs-fill-h .fs-side[b-b5vcyi8771] {
        overflow: visible;
    }

    .fs-split[b-b5vcyi8771] {
        grid-template-columns: 1fr 1fr;
    }

    .fs-computed td[b-b5vcyi8771] {
        color: inherit;
    }
}
/* /Components/Pages/Reports/Final/TrialBalancePage.razor.rz.scp.css */
/* Trial balance tree. */
.tb th:first-child[b-2lcg4kowl0] {
    width: 100%;
}

.tb td.num[b-2lcg4kowl0] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.tb-group td[b-2lcg4kowl0] {
    font-weight: 600;
}

.tb-caret[b-2lcg4kowl0] {
    display: inline-block;
    width: 1em;
    color: var(--text-muted);
}

.tb-count[b-2lcg4kowl0] {
    margin-left: .4rem;
    color: var(--text-faint);
    font-size: var(--fs-xs);
    font-weight: 400;
}

.tb-open[b-2lcg4kowl0] {
    margin-left: .35rem;
    font-size: var(--fs-xs);
    color: var(--text-faint);
    text-decoration: none;
    opacity: 0;
}

tr:hover .tb-open[b-2lcg4kowl0],
tr.selected .tb-open[b-2lcg4kowl0] {
    opacity: 1;
}

/* "Difference in opening balances" line above the totals: visible and red, never hidden. */
.tb-opening-diff td[b-2lcg4kowl0] { color: var(--danger); background: var(--danger-soft); font-weight: 600; }
.tb-opening-diff a[b-2lcg4kowl0] { color: inherit; }
/* /Components/Pages/Reports/Registers/DetailedRegisterPage.razor.rz.scp.css */
/* Detailed register (scoped). */

.dr-bar[b-0fcmj8xvnm] { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: .6rem 1.25rem; }

/* Segmented view switcher. */
.dr-views[b-0fcmj8xvnm] { display: inline-flex; border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
.seg[b-0fcmj8xvnm] {
    border: 0;
    border-right: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    padding: 4px 10px;
    font-size: var(--fs-sm);
    font-weight: 600;
    cursor: pointer;
}
.seg:last-child[b-0fcmj8xvnm] { border-right: 0; }
.seg:hover[b-0fcmj8xvnm] { color: var(--text); background: var(--surface-2); }
.seg.active[b-0fcmj8xvnm] { background: var(--primary-soft); color: var(--primary); }
.seg kbd[b-0fcmj8xvnm] { font-size: 10px; opacity: .7; }

.dr-stats[b-0fcmj8xvnm] { display: flex; flex-wrap: wrap; gap: .5rem 2rem; padding: .85rem 1rem; border-bottom: 1px solid var(--border); }
.dr-stats > div[b-0fcmj8xvnm] { display: flex; flex-direction: column; min-width: 110px; }
.dr-stats span[b-0fcmj8xvnm] { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); }
.dr-stats strong[b-0fcmj8xvnm] { font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.dr-stats small[b-0fcmj8xvnm] { font-size: var(--fs-xs); color: var(--text-muted); }
.dr-alert[b-0fcmj8xvnm] { margin: .75rem 1rem 0; }

.dr-wrap[b-0fcmj8xvnm] { max-height: 68dvh; border-radius: 0; }

.nowrap[b-0fcmj8xvnm] { white-space: nowrap; }
.strong[b-0fcmj8xvnm] { font-weight: 650; }
.muted[b-0fcmj8xvnm] { color: var(--text-muted); }

/* Continuation lines of the same voucher: lighter top border so vouchers read as blocks. */
tr.cont td[b-0fcmj8xvnm] { border-top-color: transparent; }
tr.first td[b-0fcmj8xvnm] { border-top: 1px solid var(--border-strong); }
tr.cancelled td[b-0fcmj8xvnm] { color: var(--text-faint); text-decoration: line-through; }

/* Share meter (single series → one colour, thin bar with rounded end). */
.dr-bar-col[b-0fcmj8xvnm] { width: 120px; }
.dr-meter[b-0fcmj8xvnm] { display: block; height: 6px; border-radius: 0 3px 3px 0; background: var(--primary); min-width: 1px; }

tfoot td[b-0fcmj8xvnm] { position: sticky; bottom: 0; }

@media print {
    tfoot td[b-0fcmj8xvnm] { position: static; }
}

/* Full-screen report layout: the figures are ONE slim line in the summary bar under the grid. */
.dr-stats[b-0fcmj8xvnm] { display: flex; flex-wrap: nowrap; align-items: baseline; gap: 2px 16px; padding: 0; border: 0; white-space: nowrap; }
.dr-stats > div[b-0fcmj8xvnm] { display: inline-flex; flex-direction: row; align-items: baseline; gap: 5px; min-width: 0; }
.dr-stats span[b-0fcmj8xvnm] { font-size: var(--fs-xs); text-transform: none; letter-spacing: 0; color: var(--text-muted); }
.dr-stats strong[b-0fcmj8xvnm] { font-size: var(--fs-xs); font-weight: 650; }
.dr-stats small[b-0fcmj8xvnm] { font-size: var(--fs-xs); }

/* View switch in the report toolbar: compact segmented control (30px). */
.seg[b-0fcmj8xvnm] { padding: 0 8px; height: 28px; font-size: var(--fs-xs); }
.seg kbd[b-0fcmj8xvnm] { display: none; }
/* /Components/Pages/Reports/Registers/MissingNumbersReport.razor.rz.scp.css */
/* Missing & duplicate numbers (scoped). */

.mn-bar[b-aiirgnhuso] { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: .6rem 1.25rem; }

.mn-kpis[b-aiirgnhuso] { display: flex; flex-wrap: wrap; gap: .75rem 2.25rem; padding: .9rem 1rem; border-bottom: 1px solid var(--border); }
.mn-kpis > div[b-aiirgnhuso] { display: flex; flex-direction: column; min-width: 120px; }
.mn-kpis span[b-aiirgnhuso] { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); }
.mn-kpis strong[b-aiirgnhuso] { font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.mn-kpis .good strong[b-aiirgnhuso] { color: var(--success); }
.mn-kpis .bad strong[b-aiirgnhuso] { color: var(--danger); }
.mn-kpis .warn strong[b-aiirgnhuso] { color: var(--warning); }

.mn-missing[b-aiirgnhuso] { max-width: 520px; }
.mn-chip[b-aiirgnhuso] {
    display: inline-block;
    margin: 1px 3px 1px 0;
    padding: 0 6px;
    border-radius: var(--radius-sm);
    background: var(--danger-soft);
    color: var(--danger);
    font-family: var(--font-mono);
    font-size: var(--fs-xs);
}

.mn-h[b-aiirgnhuso] { font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); margin: 1rem 1rem .4rem; }
.mn-wrap[b-aiirgnhuso] { max-height: 50dvh; border-radius: 0; }

.muted[b-aiirgnhuso] { color: var(--text-muted); }
.nowrap[b-aiirgnhuso] { white-space: nowrap; }
tr.cancelled td[b-aiirgnhuso] { color: var(--text-faint); }

@media print { .mn-wrap[b-aiirgnhuso] { max-height: none; } }

/* Full-screen report layout: the figures are ONE slim line in the summary bar under the grid. */
.mn-kpis[b-aiirgnhuso] { display: flex; flex-wrap: nowrap; align-items: baseline; gap: 2px 16px; padding: 0; border: 0; white-space: nowrap; }
.mn-kpis > div[b-aiirgnhuso] { display: inline-flex; flex-direction: row; align-items: baseline; gap: 5px; min-width: 0; }
.mn-kpis span[b-aiirgnhuso] { font-size: var(--fs-xs); text-transform: none; letter-spacing: 0; color: var(--text-muted); }
.mn-kpis strong[b-aiirgnhuso] { font-size: var(--fs-xs); font-weight: 650; }
.mn-kpis small[b-aiirgnhuso] { font-size: var(--fs-xs); }
/* /Components/Pages/Reports/Registers/OtherChargesPage.razor.rz.scp.css */
/* Other charges (scoped). */

.oc-bar[b-mut3s891jq] { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: .6rem 1.25rem; }

.oc-seg[b-mut3s891jq] { display: inline-flex; border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
.seg[b-mut3s891jq] {
    border: 0;
    border-right: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    padding: 4px 10px;
    font-size: var(--fs-sm);
    font-weight: 600;
    cursor: pointer;
}
.seg:last-child[b-mut3s891jq] { border-right: 0; }
.seg:hover[b-mut3s891jq] { color: var(--text); background: var(--surface-2); }
.seg.active[b-mut3s891jq] { background: var(--primary-soft); color: var(--primary); }
.seg kbd[b-mut3s891jq] { font-size: 10px; opacity: .7; }

.oc-kpis[b-mut3s891jq] { display: flex; flex-wrap: wrap; gap: .75rem 2.25rem; padding: .9rem 1rem; border-bottom: 1px solid var(--border); }
.oc-kpis > div[b-mut3s891jq] { display: flex; flex-direction: column; min-width: 120px; }
.oc-kpis span[b-mut3s891jq] { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); }
.oc-kpis strong[b-mut3s891jq] { font-size: 1.25rem; font-variant-numeric: tabular-nums; }

.oc-wrap[b-mut3s891jq] { max-height: 66dvh; border-radius: 0; }
.nowrap[b-mut3s891jq] { white-space: nowrap; }
.strong[b-mut3s891jq] { font-weight: 650; }
.neg[b-mut3s891jq] { color: var(--danger); }
tfoot td[b-mut3s891jq] { position: sticky; bottom: 0; }

@media print {
    tfoot td[b-mut3s891jq] { position: static; }
}

/* Full-screen report layout: the figures are ONE slim line in the summary bar under the grid. */
.oc-kpis[b-mut3s891jq] { display: flex; flex-wrap: nowrap; align-items: baseline; gap: 2px 16px; padding: 0; border: 0; white-space: nowrap; }
.oc-kpis > div[b-mut3s891jq] { display: inline-flex; flex-direction: row; align-items: baseline; gap: 5px; min-width: 0; }
.oc-kpis span[b-mut3s891jq] { font-size: var(--fs-xs); text-transform: none; letter-spacing: 0; color: var(--text-muted); }
.oc-kpis strong[b-mut3s891jq] { font-size: var(--fs-xs); font-weight: 650; }
.oc-kpis small[b-mut3s891jq] { font-size: var(--fs-xs); }

/* View switch in the report toolbar: compact segmented control (30px). */
.seg[b-mut3s891jq] { padding: 0 8px; height: 28px; font-size: var(--fs-xs); }
.seg kbd[b-mut3s891jq] { display: none; }
/* /Components/Pages/Reports/Registers/TradeSummaryReport.razor.rz.scp.css */
/* Sale / purchase analysis (scoped). */

.ts-bar[b-a6ge3b6fwe] { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: .6rem 1.25rem; }

/* Segmented group-by switcher. */
.ts-seg[b-a6ge3b6fwe] { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
.seg[b-a6ge3b6fwe] {
    border: 0;
    border-right: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    padding: 4px 10px;
    font-size: var(--fs-sm);
    font-weight: 600;
    cursor: pointer;
}
.seg:last-child[b-a6ge3b6fwe] { border-right: 0; }
.seg:hover[b-a6ge3b6fwe] { color: var(--text); background: var(--surface-2); }
.seg.active[b-a6ge3b6fwe] { background: var(--primary-soft); color: var(--primary); }
.seg kbd[b-a6ge3b6fwe] { font-size: 10px; opacity: .7; }

/* KPI row. */
.ts-kpis[b-a6ge3b6fwe] { display: flex; flex-wrap: wrap; gap: .75rem 2.25rem; align-items: flex-end; padding: .9rem 1rem; border-bottom: 1px solid var(--border); }
.ts-kpi[b-a6ge3b6fwe] { display: flex; flex-direction: column; min-width: 130px; }
.ts-kpi span[b-a6ge3b6fwe] { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); }
.ts-kpi strong[b-a6ge3b6fwe] { font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.ts-kpi small[b-a6ge3b6fwe] { font-size: var(--fs-xs); }
.ts-copy[b-a6ge3b6fwe] { margin-left: auto; }

.up[b-a6ge3b6fwe] { color: var(--success); }
.down[b-a6ge3b6fwe] { color: var(--danger); }
.muted[b-a6ge3b6fwe] { color: var(--text-muted); }
.strong[b-a6ge3b6fwe] { font-weight: 650; }

/* Column chart: current period = brand colour, comparison = recessive neutral; thin bars, rounded tops. */
.ts-chart[b-a6ge3b6fwe] { margin: 0; padding: .75rem 1rem .25rem; border-bottom: 1px solid var(--border); }
.ts-chart svg[b-a6ge3b6fwe] { width: 100%; height: auto; max-height: 240px; display: block; overflow: visible; }
.ts-chart .axis[b-a6ge3b6fwe] { stroke: var(--border-strong); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ts-chart .cur[b-a6ge3b6fwe] { fill: var(--primary); }
.ts-chart .prev[b-a6ge3b6fwe] { fill: var(--border-strong); }
.ts-chart .hit[b-a6ge3b6fwe] { fill: transparent; cursor: pointer; }
.ts-chart .col:hover .hit[b-a6ge3b6fwe] { fill: var(--surface-sunken); }
.ts-chart text[b-a6ge3b6fwe] { fill: var(--text-muted); font-size: 11px; }
.ts-chart figcaption[b-a6ge3b6fwe] { display: flex; align-items: center; gap: .4rem; font-size: var(--fs-xs); color: var(--text-muted); padding-top: .25rem; }
.ts-chart .key[b-a6ge3b6fwe] { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-left: .75rem; }
.ts-chart .key.cur[b-a6ge3b6fwe] { background: var(--primary); margin-left: 0; }
.ts-chart .key.prev[b-a6ge3b6fwe] { background: var(--border-strong); }

.ts-wrap[b-a6ge3b6fwe] { max-height: 62dvh; border-radius: 0; }

/* Inline share meter. */
.ts-share[b-a6ge3b6fwe] { width: 150px; white-space: nowrap; }
.ts-share .meter[b-a6ge3b6fwe] { display: inline-block; vertical-align: middle; height: 6px; max-width: 90px; border-radius: 0 3px 3px 0; background: var(--primary); margin-right: .4rem; }
.ts-share small[b-a6ge3b6fwe] { color: var(--text-muted); font-variant-numeric: tabular-nums; }

tr.empty td[b-a6ge3b6fwe] { color: var(--text-faint); }
tfoot td[b-a6ge3b6fwe] { position: sticky; bottom: 0; }

@media print {
    tfoot td[b-a6ge3b6fwe] { position: static; }
}

/* Full-screen report layout: the figures are ONE slim line in the summary bar under the grid. */
.ts-kpis[b-a6ge3b6fwe] { display: flex; flex-wrap: nowrap; align-items: baseline; gap: 2px 16px; padding: 0; border: 0; white-space: nowrap; }
.ts-kpis > div[b-a6ge3b6fwe] { display: inline-flex; flex-direction: row; align-items: baseline; gap: 5px; min-width: 0; }
.ts-kpis span[b-a6ge3b6fwe] { font-size: var(--fs-xs); text-transform: none; letter-spacing: 0; color: var(--text-muted); }
.ts-kpis strong[b-a6ge3b6fwe] { font-size: var(--fs-xs); font-weight: 650; }
.ts-kpis small[b-a6ge3b6fwe] { font-size: var(--fs-xs); }

/* View switch in the report toolbar: compact segmented control (30px). */
.seg[b-a6ge3b6fwe] { padding: 0 8px; height: 28px; font-size: var(--fs-xs); }
.seg kbd[b-a6ge3b6fwe] { display: none; }
.ts-kpi[b-a6ge3b6fwe] { display: inline-flex; flex-direction: row; align-items: baseline; gap: 5px; min-width: 0; }
.ts-kpi span[b-a6ge3b6fwe] { font-size: var(--fs-xs); text-transform: none; letter-spacing: 0; color: var(--text-muted); }
.ts-kpi strong[b-a6ge3b6fwe] { font-size: var(--fs-xs); font-weight: 650; }
.ts-seg[b-a6ge3b6fwe] { flex-wrap: nowrap; }
/* /Components/Pages/Reports/Registers/VoucherRegisterReport.razor.rz.scp.css */
/* Voucher register (scoped). */

/* Headline numbers: one slim line in the summary bar under the grid. */
.rg-stats[b-1sp1eymqbv] { display: flex; align-items: baseline; gap: 2px 16px; white-space: nowrap; }
.rg-stat[b-1sp1eymqbv] { display: inline-flex; align-items: baseline; gap: 5px; }
.rg-stat span[b-1sp1eymqbv] { font-size: var(--fs-xs); color: var(--text-muted); }
.rg-stat strong[b-1sp1eymqbv] { font-size: var(--fs-xs); font-weight: 650; color: var(--text); font-variant-numeric: tabular-nums; }
.rg-stat small[b-1sp1eymqbv] { font-size: var(--fs-xs); color: var(--text-muted); }

.nowrap[b-1sp1eymqbv] { white-space: nowrap; }
.strong[b-1sp1eymqbv] { font-weight: 650; }
.narr[b-1sp1eymqbv] { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-muted); }
.muted[b-1sp1eymqbv] { color: var(--text-muted); }

/* Cancelled vouchers: still listed (numbering is visible) but clearly not counted. */
tr.cancelled td[b-1sp1eymqbv] { color: var(--text-faint); text-decoration: line-through; }
tr.cancelled td .badge[b-1sp1eymqbv] { text-decoration: none; }

tfoot td[b-1sp1eymqbv] { position: sticky; bottom: 0; }

.rg-breakups[b-1sp1eymqbv] { border-top: 1px solid var(--border); }
.rg-h[b-1sp1eymqbv] { font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); margin: .85rem 1rem .4rem; }

@media print {
    tfoot td[b-1sp1eymqbv] { position: static; }
}
/* /Components/Pages/Reports/Stock/ItemMovementLedgerReport.razor.rz.scp.css */
/* Item movement ledger: the summary figures are one line under the grid (ReportShell Summary); nothing extra here. */
/* /Components/Pages/Reports/Stock/StockGrid.razor.rz.scp.css */
/* Stock report grid: numbers line up, totals stay visible, problem rows stand out. */
.stock-grid[b-c0zcmepg47]  td.num,
.stock-grid[b-c0zcmepg47]  th.num {
    white-space: nowrap;
}

/* Sticky totals row at the bottom of the scroll area. */
.stock-grid[b-c0zcmepg47]  tfoot td {
    position: sticky;
    bottom: 0;
    z-index: 1;
    background: var(--surface-2);
    border-top: 2px solid var(--border-strong);
    font-weight: 700;
    white-space: nowrap;
}

/* Group heading and subtotal rows (group by item group / brand / party). */
.stock-grid[b-c0zcmepg47]  tr.group-row td {
    background: var(--surface-sunken);
    font-weight: 650;
}

.stock-grid[b-c0zcmepg47]  tr.subtotal-row td {
    font-weight: 650;
    color: var(--text-muted);
    border-bottom: 1px solid var(--border-strong);
}

.stock-grid[b-c0zcmepg47]  tr.neg td {
    color: var(--danger);
}

.stock-grid[b-c0zcmepg47]  td.neg {
    color: var(--danger);
    font-weight: 600;
}

.stock-grid[b-c0zcmepg47]  td.pos {
    color: var(--success);
}

.stock-grid[b-c0zcmepg47]  .sub {
    display: block;
    font-size: var(--fs-xs);
    color: var(--text-faint);
}

.stock-grid[b-c0zcmepg47]  .unit {
    color: var(--text-faint);
    font-size: var(--fs-xs);
    margin-left: .2rem;
}

/* Detail line under a group heading (batch under item, party under item …). */
.stock-grid[b-c0zcmepg47]  td.indent {
    padding-left: 1.75rem;
}

.stock-grid[b-c0zcmepg47]  .sub-inline {
    font-size: var(--fs-xs);
    color: var(--text-faint);
    margin-left: .35rem;
}

/* Highlighted godown column (godown matrix filtered to one godown). */
.stock-grid[b-c0zcmepg47]  .focus-col {
    background: var(--primary-soft);
}

/* Two-line column heading: "Purchase" / "qty". */
.stock-grid[b-c0zcmepg47]  th small {
    display: block;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}

@media print {
    .stock-grid[b-c0zcmepg47] {
        max-height: none !important;
        overflow: visible;
    }

    .stock-grid[b-c0zcmepg47]  tfoot td {
        position: static;
    }
}
/* /Components/Pages/Reports/Stock/StockTiles.razor.rz.scp.css */
/* Summary figures of a stock report: ONE slim inline line in the report's Summary bar under the grid
   ("Closing value 12,34,500.00 · Items 240 · 3 negative"). Clickable figures are small toggle pills (quick filters). */
.stock-tiles[b-li6sjylhpy] {
    display: flex;
    align-items: center;
    gap: 2px 14px;
    white-space: nowrap;
}

.tile-stat[b-li6sjylhpy] {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    padding: 0;
    background: none;
    border: 0;
    font: inherit;
    font-size: var(--fs-xs);
    color: var(--text-muted);
    text-align: left;
}

.tile-stat.clickable[b-li6sjylhpy] {
    cursor: pointer;
    padding: 1px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
}

.tile-stat.clickable:hover[b-li6sjylhpy],
.tile-stat.clickable:focus-visible[b-li6sjylhpy] {
    border-color: var(--primary);
    outline: none;
}

.tile-stat.active[b-li6sjylhpy] {
    border-color: var(--primary);
    background: var(--primary-soft);
}

.label[b-li6sjylhpy] {
    font-size: var(--fs-xs);
    color: var(--text-muted);
}

.value[b-li6sjylhpy] {
    font-size: var(--fs-xs);
    font-weight: 650;
    color: var(--text);
    font-variant-numeric: tabular-nums;
}

/* The hint is the tooltip; no extra text line. */
.hint[b-li6sjylhpy] { display: none; }

.tone-danger .value[b-li6sjylhpy] { color: var(--danger); }
.tone-warning .value[b-li6sjylhpy] { color: var(--warning); }
.tone-success .value[b-li6sjylhpy] { color: var(--success); }

@media print {
    .stock-tiles[b-li6sjylhpy] { flex-wrap: wrap; }
    .tile-stat.clickable[b-li6sjylhpy] { border: 0; padding: 0; }
}
/* /Components/Pages/School/ClassesPage.razor.rz.scp.css */
/* Classes: seats and class teacher per section. */
.cl-seats[b-urfjxfe120]  input { max-width: 16rem; }
.cl-seats td.num[b-urfjxfe120]  input { width: 6rem; text-align: right; }
.cl-full[b-urfjxfe120] { color: var(--danger); font-weight: 650; }
/* /Components/Pages/School/ClassStrengthReport.razor.rz.scp.css */
/* Class strength: subtotal per class and a full class-section's seats flagged. */
.subtotal-row td[b-e51egqxhqj] { font-weight: 600; background: var(--surface-2); }
.text-bad[b-e51egqxhqj] { color: var(--danger); font-weight: 650; }
/* /Components/Pages/School/ConcessionRows.razor.rz.scp.css */
/* Concession rows: table cells shrink to their content, so the controls carry the widths. */
.cn-head select[b-kthkcux4pi] { min-width: 14rem; }
.cn-pct[b-kthkcux4pi]  input { min-width: 5.5rem; }
.cn-amt[b-kthkcux4pi]  input { min-width: 8rem; }
.cn-by input[b-kthkcux4pi] { min-width: 9rem; }
/* /Components/Pages/School/DayClosePage.razor.rz.scp.css */
/* Cashier day close: the books' figures and the denomination count. */
.dc-figures[b-01ehkri4kf] { display: grid; grid-template-columns: 1fr auto; gap: .3rem 1.5rem; margin: 0; max-width: 28rem; }
.dc-figures dd[b-01ehkri4kf] { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.dc-figures .dc-strong[b-01ehkri4kf] { font-weight: 650; border-top: 1px solid var(--border); padding-top: .3rem; }
.dc-count[b-01ehkri4kf]  input { width: 7rem; text-align: right; }
.dc-reason[b-01ehkri4kf] { max-width: 20rem; }
/* /Components/Pages/School/FeeAccountingPage.razor.rz.scp.css */
/* Fee accounting: session picker in the card header. */
.fa-session[b-hbmej252si] { max-width: 14rem; margin-left: auto; }
/* /Components/Pages/School/FeePlansPage.razor.rz.scp.css */
/* Fee plan grid: amount cells wide enough for 1,00,000.00 (cells shrink to content, so the input carries the width). */
.plan-cell[b-7wy3euj2ew]  input { min-width: 7.5rem; }
/* /Components/Pages/School/FeeReceiptPage.razor.rz.scp.css */
/* Fee receipt counter screen: student strip, dues grid (left) and payment panel (right, sticky preview). */
.fee-student-row[b-3c1mmqvixw] { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.fee-photo[b-3c1mmqvixw] { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: none; border: 1px solid var(--border); }
.fee-initial[b-3c1mmqvixw] { display: inline-flex; align-items: center; justify-content: center; background: var(--surface-2); font-weight: 650; font-size: 1.25rem; color: var(--text-muted); }
.fee-who[b-3c1mmqvixw] { flex: 1 1 18rem; min-width: 0; }
.fee-figures[b-3c1mmqvixw] { display: flex; gap: 1.25rem; flex-wrap: wrap; align-items: baseline; }
.fee-siblings[b-3c1mmqvixw] { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; padding: 0 1rem .75rem; }

.fee-split[b-3c1mmqvixw] { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: 1rem; align-items: start; }
.fee-split > .card[b-3c1mmqvixw] { margin: 0; }
.fee-pay[b-3c1mmqvixw] { position: sticky; top: .5rem; }
[b-3c1mmqvixw] .fee-amount { font-size: 1.25rem; font-weight: 650; }
.fee-fine[b-3c1mmqvixw] { width: 6rem; }
.fee-fine[b-3c1mmqvixw]  input { width: 5.5rem; }
.fee-head-row td[b-3c1mmqvixw] { font-size: .92em; color: var(--text-muted); }
.fee-reason[b-3c1mmqvixw] { max-width: 18rem; }

.fee-preview[b-3c1mmqvixw] { padding: 0 1rem .75rem; }
.fee-preview dl[b-3c1mmqvixw] { display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem; margin: 0 0 .5rem; }
.fee-preview dt[b-3c1mmqvixw] { color: var(--text-muted); }
.fee-preview dd[b-3c1mmqvixw] { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.fee-preview .fee-net[b-3c1mmqvixw] { border-top: 1px solid var(--border); padding-top: .35rem; color: var(--text); font-weight: 650; }
.fee-preview summary[b-3c1mmqvixw] { cursor: pointer; color: var(--text-muted); font-size: .9em; }

@media (max-width: 1000px) {
    .fee-split[b-3c1mmqvixw] { grid-template-columns: minmax(0, 1fr); }
    .fee-pay[b-3c1mmqvixw] { position: static; }
}

/* Pay-now link panel, siblings paid together, split payment parts. */
.fee-paylink[b-3c1mmqvixw] { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; padding: 0 1rem .75rem; }
.fee-sibling[b-3c1mmqvixw] { display: inline-flex; align-items: center; gap: .35rem; }
.fee-parts[b-3c1mmqvixw] { display: grid; gap: .4rem; }
.fee-part[b-3c1mmqvixw] { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .35rem; }
.fee-part[b-3c1mmqvixw]  input { min-width: 0; }
.fee-part-total[b-3c1mmqvixw] { display: flex; justify-content: space-between; align-items: center; gap: .5rem; font-size: .9em; }
/* /Components/Pages/School/FeeReceiptPrintPage.razor.rz.scp.css */
/* Fee receipt print: A5 (one copy per sheet) or an 80 mm thermal roll. Paper colours on purpose (prints the same in dark mode). */
.frp-page[b-f8108yy94f] { margin: 0 auto; padding: 1rem; }
.frp-page.a5[b-f8108yy94f] { max-width: 148mm; }
.frp-page.thermal[b-f8108yy94f] { max-width: 80mm; }
.frp-toolbar[b-f8108yy94f] { position: fixed; top: 1rem; right: 1rem; display: flex; gap: .5rem; z-index: 2; }
.frp-page[b-f8108yy94f] { padding-top: 4rem; }

.frp[b-f8108yy94f] { position: relative; background: #fff; color: #111; border: 1px solid #ccc; padding: 6mm 7mm; margin-bottom: 1rem; font-size: 12px; overflow: hidden; }
.thermal .frp[b-f8108yy94f] { border: none; padding: 0; font-size: 11px; }
.frp-school[b-f8108yy94f] { text-align: center; border-bottom: 2px solid #111; padding-bottom: .35rem; }
.frp-school h1[b-f8108yy94f] { font-size: 1.2rem; margin: 0; text-transform: uppercase; letter-spacing: .02em; }
.thermal .frp-school h1[b-f8108yy94f] { font-size: 1rem; }
.frp-school p[b-f8108yy94f] { margin: .1rem 0 0; display: flex; gap: .7rem; justify-content: center; flex-wrap: wrap; font-size: 11px; }
.frp-title[b-f8108yy94f] { display: flex; justify-content: center; gap: .6rem; align-items: center; margin: .5rem 0 .35rem; }
.frp-title h2[b-f8108yy94f] { margin: 0; font-size: .95rem; text-transform: uppercase; letter-spacing: .1em; border: 1px solid #111; padding: .1rem .7rem; }
.frp-copy[b-f8108yy94f] { font-size: 10px; color: #555; }
.frp-meta[b-f8108yy94f] { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .4rem; margin-bottom: .4rem; }
.frp-student[b-f8108yy94f] { display: grid; grid-template-columns: 1fr 1fr; gap: .15rem .8rem; margin-bottom: .4rem; }
.thermal .frp-student[b-f8108yy94f] { grid-template-columns: 1fr; }
.frp-student span[b-f8108yy94f] { color: #555; display: inline-block; min-width: 4.2rem; }
.frp-student .wide[b-f8108yy94f] { grid-column: 1 / -1; }
.frp-table[b-f8108yy94f] { width: 100%; border-collapse: collapse; margin: .3rem 0; }
.frp-table th[b-f8108yy94f], .frp-table td[b-f8108yy94f] { border: 1px solid #999; padding: .2rem .35rem; text-align: left; }
.thermal .frp-table th[b-f8108yy94f], .thermal .frp-table td[b-f8108yy94f] { border: none; border-bottom: 1px dashed #999; padding: .15rem 0; }
.frp-table th[b-f8108yy94f] { background: #f3f4f6; font-size: 10px; text-transform: uppercase; }
.frp-table .num[b-f8108yy94f] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.frp-table tfoot td[b-f8108yy94f] { font-weight: 700; }
.frp-words[b-f8108yy94f] { margin: .3rem 0; font-style: italic; }
.frp-line[b-f8108yy94f] { margin: .2rem 0; }
.frp-foot[b-f8108yy94f] { display: flex; justify-content: space-between; align-items: flex-end; gap: .8rem; margin-top: .5rem; }
.thermal .frp-foot[b-f8108yy94f] { flex-direction: column; align-items: center; text-align: center; }
.frp-sign[b-f8108yy94f] { margin-top: 1rem; }
.frp-stamp[b-f8108yy94f] { position: absolute; top: 40%; left: 50%; transform: translate(-50%, -50%) rotate(-18deg); font-size: 2.4rem; font-weight: 800; color: rgba(185, 28, 28, .28); border: 4px solid rgba(185, 28, 28, .28); padding: .2rem 1rem; pointer-events: none; }

@media print {
    .frp-page[b-f8108yy94f] { padding: 0; max-width: none; }
    .frp[b-f8108yy94f] { border: none; margin: 0; padding: 0; break-after: page; }
    .frp:last-of-type[b-f8108yy94f] { break-after: auto; }
}

/* Combined sibling receipt: one section per student; split payment parts on one line. */
.frp-part[b-f8108yy94f] { border-top: 1px dashed #999; padding-top: .35rem; margin-top: .35rem; }
.frp-part:first-of-type[b-f8108yy94f] { border-top: none; margin-top: 0; padding-top: 0; }
.frp-part-due[b-f8108yy94f] { font-size: 11px; margin-bottom: .2rem; }
.frp-pay + .frp-pay[b-f8108yy94f]::before { content: " + "; }
/* /Components/Pages/School/IdCardsPrintPage.razor.rz.scp.css */
/* ID cards: A4 sheet, 2 × 5 cards of 85 × 52 mm with cut lines. Paper colours on purpose. */
.idc-page[b-xu69dnowb7] { padding: 4rem 1rem 1rem; }
.idc-toolbar[b-xu69dnowb7] { position: fixed; top: 1rem; right: 1rem; display: flex; gap: .5rem; align-items: center; z-index: 2; }
.idc-sheet[b-xu69dnowb7] { display: grid; grid-template-columns: repeat(2, 85mm); grid-auto-rows: 52mm; gap: 3mm; justify-content: center; margin: 0 auto 1rem; break-after: page; }
.idc-sheet:last-of-type[b-xu69dnowb7] { break-after: auto; }
.idc[b-xu69dnowb7] { background: #fff; color: #111; border: 1px dashed #888; border-radius: 3mm; padding: 2.5mm 3mm; display: flex; flex-direction: column; overflow: hidden; font-size: 8pt; }
.idc header[b-xu69dnowb7] { text-align: center; border-bottom: 1.5px solid #1d4ed8; padding-bottom: 1mm; margin-bottom: 1.5mm; }
.idc header strong[b-xu69dnowb7] { display: block; font-size: 9.5pt; text-transform: uppercase; color: #1d4ed8; letter-spacing: .02em; }
.idc header span[b-xu69dnowb7] { display: block; font-size: 6.5pt; color: #444; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.idc-body[b-xu69dnowb7] { display: flex; gap: 2.5mm; flex: 1; min-height: 0; }
.idc-photo[b-xu69dnowb7] { width: 20mm; height: 25mm; object-fit: cover; border: 1px solid #999; flex: none; }
.idc-initial[b-xu69dnowb7] { display: flex; align-items: center; justify-content: center; font-size: 18pt; color: #777; background: #f3f4f6; }
.idc dl[b-xu69dnowb7] { display: grid; grid-template-columns: auto 1fr; gap: .2mm 1.5mm; margin: 0; min-width: 0; }
.idc dt[b-xu69dnowb7] { color: #555; }
.idc dd[b-xu69dnowb7] { margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.idc .idc-name[b-xu69dnowb7] { font-weight: 700; font-size: 9pt; }
.idc .idc-address[b-xu69dnowb7] { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; }
.idc footer[b-xu69dnowb7] { display: flex; justify-content: space-between; font-size: 6.5pt; color: #444; border-top: 1px solid #ddd; padding-top: .8mm; }
.idc-sign[b-xu69dnowb7] { font-style: italic; }

@media print {
    .idc-page[b-xu69dnowb7] { padding: 0; }
    .idc-sheet[b-xu69dnowb7] { margin: 0 auto; }
}
/* /Components/Pages/School/OnlineFeesPage.razor.rz.scp.css */
/* Online fees: tab buttons, pasted statement, the student picker inside the review grid. */
.segmented[b-u32800nfv7] { display: inline-flex; gap: .35rem; }
.of-paste[b-u32800nfv7] { width: 100%; font-family: var(--font-mono, monospace); margin: .5rem 0; }
.of-student[b-u32800nfv7] { min-width: 16rem; }
/* /Components/Pages/School/SessionsPage.razor.rz.scp.css */
/* Installment grid: table cells shrink to their content, so the inputs carry the widths (dd/mm/yyyy readable). */
.sch-label input[b-w7ts15mi8b] { min-width: 10rem; }
.sch-date[b-w7ts15mi8b]  input { min-width: 8.75rem; }
/* /Components/Pages/School/StudentEditPage.razor.rz.scp.css */
/* Admission form: round photo thumbnail next to the file picker. */
.photo[b-yrxos29x1g] { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: none; border: 1px solid var(--border); }
/* /Components/Pages/School/StudentList.razor.rz.scp.css */
/* Students list: search grows, the filter drop-downs stay their natural width on one row. */
.toolbar .select[b-9uaugai2tz] { width: auto; flex: none; min-width: 9rem; }
/* /Components/Pages/School/TcPrintPage.razor.rz.scp.css */
/* Transfer certificate (A4). Paper colours on purpose (prints the same in dark mode). */
.tcp-page[b-ostm0fztm0] { max-width: 190mm; margin: 0 auto; padding: 4rem 1rem 1rem; }
.tcp-toolbar[b-ostm0fztm0] { position: fixed; top: 1rem; right: 1rem; display: flex; gap: .5rem; z-index: 2; }
.tcp[b-ostm0fztm0] { background: #fff; color: #111; border: 2px solid #111; padding: 10mm 12mm; font-size: 13px; }
.tcp-school[b-ostm0fztm0] { text-align: center; border-bottom: 2px solid #111; padding-bottom: .5rem; }
.tcp-school h1[b-ostm0fztm0] { margin: 0; font-size: 1.5rem; text-transform: uppercase; letter-spacing: .03em; }
.tcp-school p[b-ostm0fztm0] { margin: .15rem 0 0; display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.tcp-title[b-ostm0fztm0] { text-align: center; text-transform: uppercase; letter-spacing: .15em; font-size: 1.1rem; margin: 1rem auto .75rem; border: 1px solid #111; padding: .2rem 1rem; width: max-content; }
.tcp-meta[b-ostm0fztm0] { display: flex; justify-content: space-between; margin-bottom: .75rem; }
.tcp-fields[b-ostm0fztm0] { margin: 0; padding-left: 1.4rem; display: grid; gap: .55rem; }
.tcp-fields li span[b-ostm0fztm0] { display: inline-block; min-width: 18rem; color: #333; }
.tcp-fields li strong[b-ostm0fztm0] { border-bottom: 1px dotted #555; padding: 0 .3rem; }
.tcp-sign[b-ostm0fztm0] { display: flex; justify-content: space-between; margin-top: 3.5rem; }
.tcp-sign div[b-ostm0fztm0] { border-top: 1px solid #111; padding-top: .25rem; min-width: 10rem; text-align: center; }

@media print {
    .tcp-page[b-ostm0fztm0] { padding: 0; max-width: none; }
}
/* /Components/Pages/School/TransferCertificatePage.razor.rz.scp.css */
/* TC form: the balance next to "dues cleared". */
.tc-balance[b-6dm4ye4c3m] { align-self: end; padding-bottom: .5rem; }
/* /Components/Pages/Settings/PermissionGrid.razor.rz.scp.css */
/* Permission grid: compact, scannable rows; checkboxes centred under their column. */
.perm-grid-wrap[b-39dmre903q] {
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.perm-grid[b-39dmre903q] {
    margin: 0;
    min-width: 520px;
}

.perm-grid .perm-area[b-39dmre903q] {
    font-weight: 500;
    white-space: nowrap;
}

.perm-grid .c[b-39dmre903q] {
    text-align: center;
    width: 4.5rem;
}

.perm-grid tr.off .perm-area[b-39dmre903q] {
    color: var(--text-faint);
}

.perm-box[b-39dmre903q] {
    width: 1.05rem;
    height: 1.05rem;
    cursor: pointer;
    accent-color: var(--primary);
}

.perm-box.all[b-39dmre903q] {
    accent-color: var(--text-muted);
}

.perm-flags[b-39dmre903q] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .4rem 1.25rem;
    margin-top: 1rem;
}

.perm-flags-title[b-39dmre903q] {
    grid-column: 1 / -1;
    font-weight: 600;
    font-size: var(--fs-sm);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: .03em;
}

@media (max-width: 760px) {
    .perm-flags[b-39dmre903q] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Settings/SettingsInterfaceSection.razor.rz.scp.css */
.choices[b-8jzv2qn4qa] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }

.choice[b-8jzv2qn4qa] {
    all: unset;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: .6rem;
    padding: 1rem 1.1rem;
    border: 2px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    cursor: pointer;
    transition: border-color .12s, background .12s;
}
.choice:hover:not(:disabled)[b-8jzv2qn4qa] { border-color: color-mix(in srgb, var(--primary) 50%, var(--border)); }
.choice:focus-visible[b-8jzv2qn4qa] { box-shadow: var(--focus-ring); }
.choice.on[b-8jzv2qn4qa] { border-color: var(--primary); background: var(--primary-soft); }
.choice:disabled[b-8jzv2qn4qa] { cursor: default; opacity: .85; }

.choice-head[b-8jzv2qn4qa] { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; }
.choice-head strong[b-8jzv2qn4qa] { font-size: var(--fs-lg); }
.dot[b-8jzv2qn4qa] {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid var(--border-strong);
    flex: none;
}
.choice.on .dot[b-8jzv2qn4qa] { border-color: var(--primary); box-shadow: inset 0 0 0 3px var(--surface), inset 0 0 0 8px var(--primary); }

.choice-list[b-8jzv2qn4qa] { display: flex; flex-direction: column; gap: .25rem; color: var(--text-muted); font-size: var(--fs-sm); }

.choice-note[b-8jzv2qn4qa] { margin-top: .9rem; }
.flush[b-8jzv2qn4qa] { padding: 0; }
.flush[b-8jzv2qn4qa]  .gs { border: 0; box-shadow: none; border-radius: 0; }

@media (max-width: 760px) {
    .choices[b-8jzv2qn4qa] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Settings/SettingsPage.razor.rz.scp.css */
/* Settings hub: section navigation on the left, the section on the right; chips on top for phones. */
.settings-layout[b-nsjnp2b79m] {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.settings-nav[b-nsjnp2b79m] {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.settings-nav-item[b-nsjnp2b79m] {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .55rem .65rem;
    border-radius: var(--radius);
    color: var(--text);
    text-decoration: none;
}
.settings-nav-item:hover[b-nsjnp2b79m], .settings-nav-item:focus-visible[b-nsjnp2b79m] {
    background: var(--surface-2);
    text-decoration: none;
    outline: none;
}
.settings-nav-item.active[b-nsjnp2b79m] { background: var(--primary-soft); color: var(--primary); }
.settings-nav-item svg[b-nsjnp2b79m] { flex: none; width: 20px; height: 20px; opacity: .85; }
.nav-text[b-nsjnp2b79m] { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.nav-title[b-nsjnp2b79m] { font-weight: 600; font-size: var(--fs); }
.nav-desc[b-nsjnp2b79m] { font-size: var(--fs-xs); color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.settings-nav-item.active .nav-desc[b-nsjnp2b79m] { color: color-mix(in srgb, var(--primary) 70%, var(--text-muted)); }
.settings-nav-item kbd[b-nsjnp2b79m] { flex: none; opacity: .8; }

.settings-body[b-nsjnp2b79m] { min-width: 0; }

@media (max-width: 900px) {
    .settings-layout[b-nsjnp2b79m] { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
    .settings-nav[b-nsjnp2b79m] {
        position: static;
        flex-direction: row;
        overflow-x: auto;
        scrollbar-width: none;
        padding: 4px;
    }
    .settings-nav[b-nsjnp2b79m]::-webkit-scrollbar { display: none; }
    .settings-nav-item[b-nsjnp2b79m] { flex: none; padding: .45rem .7rem; }
    .nav-desc[b-nsjnp2b79m], .settings-nav-item kbd[b-nsjnp2b79m] { display: none; }
    .settings-nav-item svg[b-nsjnp2b79m] { width: 18px; height: 18px; }
}

/* ===== Shared building blocks of the section components (rendered inside .settings-body) ===================== */

.settings-body[b-nsjnp2b79m]  .set-stack { display: flex; flex-direction: column; gap: 1rem; }
.settings-body[b-nsjnp2b79m]  .set-stack > .card + .card { margin-top: 0; }
.settings-body[b-nsjnp2b79m]  .card-header .hint { margin: 2px 0 0; color: var(--text-muted); font-size: var(--fs-sm); font-weight: 400; }
.settings-body[b-nsjnp2b79m]  .card-header { flex-wrap: wrap; gap: .5rem; }

/* Link tiles to the screens that do the work. */
.settings-body[b-nsjnp2b79m]  .set-links {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: .6rem;
}
.settings-body[b-nsjnp2b79m]  .set-link {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: .7rem .85rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    background: var(--surface);
    text-decoration: none;
    position: relative;
}
.settings-body[b-nsjnp2b79m]  .set-link:hover, .settings-body[b-nsjnp2b79m]  .set-link:focus-visible {
    border-color: var(--primary);
    background: var(--primary-soft);
    outline: none;
    text-decoration: none;
}
.settings-body[b-nsjnp2b79m]  .set-link strong { font-weight: 600; padding-right: 1rem; }
.settings-body[b-nsjnp2b79m]  .set-link span { color: var(--text-muted); font-size: var(--fs-xs); line-height: 1.4; }
.settings-body[b-nsjnp2b79m]  .set-link::after {
    content: "›";
    position: absolute;
    top: .55rem;
    right: .75rem;
    color: var(--text-faint);
    font-size: 1.1rem;
}

/* Yes / no options as a list of rows with a switch on the right. */
.settings-body[b-nsjnp2b79m]  .opt-list { display: flex; flex-direction: column; }
.settings-body[b-nsjnp2b79m]  .opt-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .65rem 0;
    border-bottom: 1px solid var(--border);
    cursor: pointer;
}
.settings-body[b-nsjnp2b79m]  .opt-row:last-child { border-bottom: 0; }
.settings-body[b-nsjnp2b79m]  .opt-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.settings-body[b-nsjnp2b79m]  .opt-text strong { font-weight: 550; }
.settings-body[b-nsjnp2b79m]  .opt-text small { color: var(--text-muted); font-size: var(--fs-xs); }
.settings-body[b-nsjnp2b79m]  .opt-row input.num-input { width: 130px; flex: none; text-align: right; font-variant-numeric: tabular-nums; }
.settings-body[b-nsjnp2b79m]  .opt-row select, .settings-body[b-nsjnp2b79m]  .opt-row input.text-input { width: 220px; flex: none; }

/* iOS-style switch for checkboxes. */
.settings-body[b-nsjnp2b79m]  input[type=checkbox].switch {
    appearance: none;
    flex: none;
    width: 38px;
    height: 22px;
    margin: 0;
    border-radius: 999px;
    background: var(--border-strong);
    position: relative;
    cursor: pointer;
    transition: background .15s;
}
.settings-body[b-nsjnp2b79m]  input[type=checkbox].switch::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgb(0 0 0 / .25);
    transition: translate .15s;
}
.settings-body[b-nsjnp2b79m]  input[type=checkbox].switch:checked { background: var(--primary); }
.settings-body[b-nsjnp2b79m]  input[type=checkbox].switch:checked::after { translate: 16px 0; }
.settings-body[b-nsjnp2b79m]  input[type=checkbox].switch:focus-visible { outline: none; box-shadow: var(--focus-ring); }

/* Label / value pairs (company summary). */
.settings-body[b-nsjnp2b79m]  .kv {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: .45rem 1rem;
    margin: 0;
}
.settings-body[b-nsjnp2b79m]  .kv dt { color: var(--text-muted); font-size: var(--fs-sm); }
.settings-body[b-nsjnp2b79m]  .kv dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }

.settings-body[b-nsjnp2b79m]  .set-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin-top: 1rem; }
.settings-body[b-nsjnp2b79m]  .set-note { color: var(--text-muted); font-size: var(--fs-sm); margin: 0; }
.settings-body[b-nsjnp2b79m]  .pill {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: var(--fs-xs);
    font-weight: 600;
    background: var(--surface-sunken);
    color: var(--text-muted);
    white-space: nowrap;
}
.settings-body[b-nsjnp2b79m]  .pill.ok { background: var(--success-soft); color: var(--success); }
.settings-body[b-nsjnp2b79m]  .pill.primary { background: var(--primary-soft); color: var(--primary); }

@media (max-width: 640px) {
    .settings-body[b-nsjnp2b79m]  .kv { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .settings-body[b-nsjnp2b79m]  .kv dd { margin-bottom: .5rem; }
    .settings-body[b-nsjnp2b79m]  .opt-row { flex-wrap: wrap; }
    .settings-body[b-nsjnp2b79m]  .opt-row select, .settings-body[b-nsjnp2b79m]  .opt-row input.num-input,
    .settings-body[b-nsjnp2b79m]  .opt-row input.text-input { width: 100%; }
}
/* /Components/Pages/Settings/SettingsSecuritySection.razor.rz.scp.css */
.pw-grid[b-kfbdg8kiif] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.pw-grid > .card + .card[b-kfbdg8kiif] { margin-top: 0; }
.pw-form[b-kfbdg8kiif] { display: flex; flex-direction: column; gap: .7rem; }
.pw-form .set-actions[b-kfbdg8kiif] { margin-top: .25rem; }

.per-type[b-kfbdg8kiif] { margin-top: .75rem; }
.per-type summary[b-kfbdg8kiif] { cursor: pointer; color: var(--primary); font-weight: 550; padding: .35rem 0; }
.type-table[b-kfbdg8kiif] { margin-top: .5rem; }
.type-table td[b-kfbdg8kiif], .type-table th[b-kfbdg8kiif] { padding: .35rem .6rem; }
.type-table tbody tr[b-kfbdg8kiif] { cursor: default; }
.type-table .c[b-kfbdg8kiif] { text-align: center; width: 90px; }
.type-table input[b-kfbdg8kiif] { width: 16px; height: 16px; accent-color: var(--primary); }

@media (max-width: 900px) {
    .pw-grid[b-kfbdg8kiif] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Settings/SettingsUsersSection.razor.rz.scp.css */
.add-row[b-puhpo7bi1s] { display: flex; gap: .75rem; align-items: flex-end; flex-wrap: wrap; }
.add-row .grow[b-puhpo7bi1s] { flex: 1 1 260px; }
.add-row select[b-puhpo7bi1s] { min-width: 240px; }

.who[b-puhpo7bi1s] { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.who-avatar[b-puhpo7bi1s] {
    flex: none;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--primary-soft);
    color: var(--primary);
    font-weight: 700;
}
.who-text[b-puhpo7bi1s] { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.who-text small[b-puhpo7bi1s] { color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; }
.role-select[b-puhpo7bi1s] { width: 140px; height: 30px; }

.roles[b-puhpo7bi1s] { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.roles p[b-puhpo7bi1s] { margin: .4rem 0 0; color: var(--text-muted); font-size: var(--fs-sm); }

@media (max-width: 760px) {
    .add-row select[b-puhpo7bi1s] { min-width: 0; width: 100%; }
    .add-row .field[b-puhpo7bi1s] { flex: 1 1 100%; }
}

/* Invitation note when nobody uses the typed e-mail yet. */
.invite[b-puhpo7bi1s] {
    margin-top: .75rem;
    padding: .75rem 1rem;
    border-radius: var(--radius);
    background: var(--info-soft);
    border: 1px solid var(--border);
}
.invite p[b-puhpo7bi1s] { margin: .3rem 0 .5rem; color: var(--text-muted); font-size: var(--fs-sm); }
.invite-link[b-puhpo7bi1s] { width: 100%; font-family: var(--font-mono); font-size: var(--fs-sm); }

/* People table: the row being edited is highlighted; action buttons stay on one line. */
tr.selected td[b-puhpo7bi1s] { background: var(--primary-soft); }
td.actions[b-puhpo7bi1s] { white-space: nowrap; }
td.actions .btn + .btn[b-puhpo7bi1s] { margin-left: .35rem; }

/* Access editor and role templates. */
.access-top[b-puhpo7bi1s] { display: flex; gap: 1rem; align-items: flex-end; flex-wrap: wrap; margin-bottom: 1rem; }
.access-top .field[b-puhpo7bi1s] { min-width: 200px; margin: 0; }
.access-top .grow[b-puhpo7bi1s] { flex: 1 1 240px; margin: 0 0 .5rem; }
.presets[b-puhpo7bi1s] { display: flex; gap: .35rem; align-items: center; flex-wrap: wrap; }
.presets-label[b-puhpo7bi1s] { font-size: var(--fs-sm); color: var(--text-muted); margin-right: .25rem; }
.access-actions[b-puhpo7bi1s] { display: flex; gap: .5rem; margin-top: 1.25rem; flex-wrap: wrap; }
/* /Components/Pages/Settings/SettingsVoucherSection.razor.rz.scp.css */
.type-pick[b-3jrdw7p980] { display: flex; gap: .5rem; align-items: center; }
.type-pick select[b-3jrdw7p980] { width: 280px; }

.opt-group[b-3jrdw7p980] {
    margin: 1.1rem 0 .1rem;
    font-size: var(--fs-xs);
    font-weight: 650;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-faint);
}
.opt-group:first-child[b-3jrdw7p980] { margin-top: 0; }

.field-grid[b-3jrdw7p980] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem 1rem;
    margin-top: .6rem;
}

@media (max-width: 640px) {
    .type-pick[b-3jrdw7p980] { width: 100%; }
    .type-pick select[b-3jrdw7p980] { flex: 1; width: auto; min-width: 0; }
    .field-grid[b-3jrdw7p980] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* /Components/Pages/Tools/AdditionalFieldsPage.razor.rz.scp.css */
/* Print / required check boxes sit on the caption's baseline. */
.af-flags[b-hoidq3os6y] {
    display: flex;
    flex-direction: row;
    gap: 1.25rem;
    align-items: center;
    align-self: end;
    padding-bottom: .35rem;
}
/* /Components/Pages/Tools/DataImportPage.razor.rz.scp.css */
/* Import from Excel / Tally — page-specific styles (design tokens from app.css). */

.di[b-g5kl51yhps] { display: flex; flex-direction: column; gap: 1rem; }
.small[b-g5kl51yhps] { font-size: var(--fs-xs); }

/* ----- step indicator ------------------------------------------------------------------------------------------- */
.di-steps[b-g5kl51yhps] {
    display: flex;
    gap: .5rem;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}
.di-steps li[b-g5kl51yhps] {
    padding: .25rem .75rem;
    border-radius: 999px;
    border: 1px solid var(--border);
    color: var(--text-faint);
    font-size: var(--fs-sm);
    background: var(--surface);
}
.di-steps li.active[b-g5kl51yhps] { border-color: var(--primary); color: var(--primary); background: var(--primary-soft); font-weight: 600; }
.di-steps li.done[b-g5kl51yhps] { color: var(--success); border-color: var(--success); }

/* ----- step 1: kind cards --------------------------------------------------------------------------------------- */
.di-kind[b-g5kl51yhps] { padding: 0; gap: 0; }
.di-kind-pick[b-g5kl51yhps] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: 1rem 1.25rem .5rem;
    background: none;
    border: 0;
    text-align: left;
    color: inherit;
    font: inherit;
    cursor: pointer;
    flex: 1;
}
.di-kind-pick:focus-visible[b-g5kl51yhps] { outline: none; }
.di-kind:focus-within[b-g5kl51yhps] { border-color: var(--primary); box-shadow: var(--focus-ring); }
.di-template[b-g5kl51yhps] { align-self: flex-start; margin: 0 .75rem .75rem; }

/* ----- step 3: mapping ------------------------------------------------------------------------------------------ */
.di-map > summary[b-g5kl51yhps] {
    cursor: pointer;
    padding: .6rem 1.25rem;
    font-weight: 600;
    border-top: 1px solid var(--border);
}
.di-note[b-g5kl51yhps] { padding-top: 0; padding-bottom: 0; }
.di-options[b-g5kl51yhps] { border-top: 1px solid var(--border); }

.di-stats[b-g5kl51yhps] { grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); }
.di-stat[b-g5kl51yhps] { text-align: left; font: inherit; color: inherit; cursor: pointer; }
.di-stat.active[b-g5kl51yhps] { border-color: var(--primary); box-shadow: var(--focus-ring); }

.di-missing[b-g5kl51yhps] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }

.di-seg[b-g5kl51yhps] { display: flex; gap: .35rem; flex-wrap: wrap; }

/* ----- step 3: grid --------------------------------------------------------------------------------------------- */
.di-grid[b-g5kl51yhps] { max-height: 65vh; overflow: auto; }
.di-grid thead th[b-g5kl51yhps] { position: sticky; top: 0; z-index: 1; background: var(--surface-2); white-space: nowrap; }
.di-grid td[b-g5kl51yhps] { vertical-align: top; }
.di-td[b-g5kl51yhps] { padding: 1px 2px !important; }

.di-cell[b-g5kl51yhps] {
    width: 100%;
    min-width: 7rem;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: inherit;
    font: inherit;
    padding: .2rem .35rem;
}
.di-cell.num[b-g5kl51yhps] { text-align: right; min-width: 5.5rem; font-variant-numeric: tabular-nums; }
.di-cell:hover[b-g5kl51yhps] { border-color: var(--border); }
.di-cell:focus[b-g5kl51yhps] { border-color: var(--primary); background: var(--surface); outline: none; box-shadow: var(--focus-ring); }
.di-cell:disabled[b-g5kl51yhps] { color: var(--text-faint); text-decoration: line-through; }

.di-err .di-cell[b-g5kl51yhps] { border-color: var(--danger); background: var(--danger-soft); color: var(--danger); }
.di-warn .di-cell[b-g5kl51yhps] { border-color: var(--warning-fill); background: var(--warning-soft); }

.di-dot[b-g5kl51yhps] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-left: .25rem;
    background: var(--success);
}
.di-row-review .di-dot[b-g5kl51yhps] { background: var(--warning-fill); }
.di-row-error .di-dot[b-g5kl51yhps] { background: var(--danger); }
.di-row-skipped .di-dot[b-g5kl51yhps] { background: var(--border-strong); }
.di-row-skipped[b-g5kl51yhps] { opacity: .6; }

.di-skip[b-g5kl51yhps] { text-align: center; }
.di-problems-head[b-g5kl51yhps] { min-width: 22rem; }
.di-problems[b-g5kl51yhps] { min-width: 22rem; max-width: 34rem; font-size: var(--fs-xs); }
.di-issue[b-g5kl51yhps] { padding: .1rem 0; }
.di-issue + .di-issue[b-g5kl51yhps] { border-top: 1px dashed var(--border); }
.di-error[b-g5kl51yhps] { color: var(--danger); }
.di-warning[b-g5kl51yhps] { color: var(--warning); }
.di-info[b-g5kl51yhps] { color: var(--text-faint); }

.di-fix[b-g5kl51yhps] { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; margin: .2rem 0 .3rem; }
.di-pick[b-g5kl51yhps] { min-width: 12rem; flex: 1; }
.di-pick-select[b-g5kl51yhps] { width: auto; min-width: 9rem; }
.di-action[b-g5kl51yhps] { min-width: 15rem; }

.di-pager[b-g5kl51yhps], .di-footer[b-g5kl51yhps] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
/* /Components/Pages/Tools/SerialNumbersPage.razor.rz.scp.css */
/* Preset buttons sit on the select's baseline. */
.sn-presets[b-xs7mr9von5] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    align-self: end;
    padding-bottom: .2rem;
}

.sn-options[b-xs7mr9von5] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .5rem 1.5rem;
}

.small[b-xs7mr9von5] {
    font-size: var(--fs-xs);
}
/* /Components/Pages/Vouchers/Bank/BankEntryPage.razor.rz.scp.css */
/* Bank entry screen: one transaction form (desktop frmBankEntry order) and the day's entries below.
   Fields sit in a 12-column grid on wide screens, 6 columns from 1000px down and one column on phones;
   every row is filled left to right in DOM order, so Enter / Tab follow the reading order. */

.bank-entry[b-gvh7j6tfiu] { max-width: 1180px; margin: 0 auto; display: flex; flex-direction: column; gap: .75rem; }
.bank-entry > .card + .card[b-gvh7j6tfiu] { margin-top: 0; }

/* ----- title row --------------------------------------------------------------------------------------- */
.be-header[b-gvh7j6tfiu] { display: flex; justify-content: space-between; align-items: flex-end; gap: .5rem 1rem; flex-wrap: wrap; }
.be-title h1[b-gvh7j6tfiu] { margin: 0; }
.be-title .subtitle[b-gvh7j6tfiu] { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; color: var(--text-muted); font-size: var(--fs-sm); margin: 2px 0 0; }
.be-banner[b-gvh7j6tfiu] { margin: 0; }

/* ----- form card --------------------------------------------------------------------------------------- */
.be-fieldset[b-gvh7j6tfiu] { border: 0; margin: 0; padding: 0; min-width: 0; }
.be-cancelled .be-card[b-gvh7j6tfiu] { opacity: .75; }
.be-card[b-gvh7j6tfiu] { padding: 1rem 1.1rem 1.1rem; }

.be-balance[b-gvh7j6tfiu] {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1.25rem;
    margin: -.2rem 0 .85rem; padding-bottom: .6rem; border-bottom: 1px solid var(--border);
    font-size: var(--fs-sm); color: var(--text-muted);
}
.be-balance-name[b-gvh7j6tfiu] { font-weight: 650; color: var(--text); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.be-grid[b-gvh7j6tfiu] { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: .8rem 1rem; align-items: end; }
.be-grid > *[b-gvh7j6tfiu] { min-width: 0; }

.be-bank[b-gvh7j6tfiu] { grid-column: span 4; }
.be-kind[b-gvh7j6tfiu] { grid-column: span 4; }
.be-date[b-gvh7j6tfiu], .be-no[b-gvh7j6tfiu], .be-chqdate[b-gvh7j6tfiu] { grid-column: span 2; }
.be-party[b-gvh7j6tfiu] { grid-column: 1 / span 6; }
.be-book[b-gvh7j6tfiu], .be-chq[b-gvh7j6tfiu] { grid-column: span 3; }
.be-amount[b-gvh7j6tfiu] { grid-column: 1 / span 3; }
.be-charges[b-gvh7j6tfiu], .be-total[b-gvh7j6tfiu] { grid-column: span 3; }
.be-narr[b-gvh7j6tfiu] { grid-column: 1 / span 9; }
.be-save[b-gvh7j6tfiu] { grid-column: span 3; display: flex; justify-content: flex-end; }
.be-save .btn[b-gvh7j6tfiu] { min-width: 9rem; }

.be-words[b-gvh7j6tfiu] { margin: .6rem 0 0; font-size: var(--fs-sm); color: var(--text-muted); font-style: italic; }
.be-hint[b-gvh7j6tfiu] { margin: .35rem 0 0; font-size: var(--fs-xs); color: var(--text-muted); }
.be-error[b-gvh7j6tfiu] { margin: .75rem 0 0; }

/* Narrow desktops / tablets (the 800px window of the QA report): two fields per row. */
@media (max-width: 1000px) {
    .be-grid[b-gvh7j6tfiu] { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .be-bank[b-gvh7j6tfiu], .be-kind[b-gvh7j6tfiu] { grid-column: span 3; }
    .be-date[b-gvh7j6tfiu], .be-no[b-gvh7j6tfiu], .be-chqdate[b-gvh7j6tfiu] { grid-column: span 3; }
    .be-party[b-gvh7j6tfiu] { grid-column: 1 / -1; }
    .be-book[b-gvh7j6tfiu], .be-chq[b-gvh7j6tfiu] { grid-column: span 3; }
    .be-amount[b-gvh7j6tfiu] { grid-column: 1 / span 2; }
    .be-charges[b-gvh7j6tfiu], .be-total[b-gvh7j6tfiu] { grid-column: span 2; }
    .be-narr[b-gvh7j6tfiu] { grid-column: 1 / -1; }
    .be-save[b-gvh7j6tfiu] { grid-column: 1 / -1; }
}

/* Phones: one field per row. */
@media (max-width: 560px) {
    .be-grid[b-gvh7j6tfiu] { grid-template-columns: minmax(0, 1fr); }
    .be-grid > *[b-gvh7j6tfiu] { grid-column: 1 / -1 !important; }
    .be-save .btn[b-gvh7j6tfiu] { width: 100%; }
}

/* ----- the day's entries -------------------------------------------------------------------------------- */
.be-day-card[b-gvh7j6tfiu] { padding: .75rem .9rem .5rem; }
.be-day-head[b-gvh7j6tfiu] { display: flex; align-items: baseline; gap: .6rem; margin-bottom: .4rem; }
.be-day-head .btn[b-gvh7j6tfiu] { margin-left: auto; }
.be-day-table[b-gvh7j6tfiu] { width: 100%; }
.be-day-table tbody tr.current td[b-gvh7j6tfiu] { background: var(--primary-soft); font-weight: 600; }
.be-day-table tbody tr.is-cancelled td[b-gvh7j6tfiu] { color: var(--text-muted); text-decoration: line-through; }
.be-day-table .be-kind-cell[b-gvh7j6tfiu] { white-space: nowrap; }
.be-day-table .cell-ellipsis[b-gvh7j6tfiu] { max-width: 18rem; }

/* Narrow windows: the bank column goes (the balance strip above names the bank) so the amounts fit without scrolling. */
@media (max-width: 1000px) {
    .be-day-table .be-col-bank[b-gvh7j6tfiu] { display: none; }
}

/* Old multi-line entry: message and the "Edit as journal / multi-line" action side by side (wrap on narrow screens). */
.be-multi[b-gvh7j6tfiu] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; }
.be-multi .btn[b-gvh7j6tfiu] { flex: none; }
/* /Components/Pages/Vouchers/BillExtrasPanel.razor.rz.scp.css */
/* Extras under a bill's totals: round off typed by hand, TDS / TCS, advance adjustment. */
.bx[b-uaty9fkn2f] {
    display: grid;
    gap: .4rem;
    margin-top: .6rem;
    padding-top: .6rem;
    border-top: 1px dashed var(--border);
}

.bx-row[b-uaty9fkn2f] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.bx-row > label[b-uaty9fkn2f] {
    min-width: 7.5rem;
    font-size: .875rem;
    color: var(--text-muted);
}

.bx-row > label small[b-uaty9fkn2f] {
    display: block;
    font-size: .75rem;
}

.bx-row[b-uaty9fkn2f]  .bx-num { width: 7rem; }
.bx-row[b-uaty9fkn2f]  .bx-rate { width: 4.5rem; }

.bx-sec[b-uaty9fkn2f] {
    flex: 1 1 12rem;
    min-width: 0;
}

.bx-amt[b-uaty9fkn2f] {
    min-width: 5.5rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.bx-note[b-uaty9fkn2f] {
    font-size: .8rem;
    color: var(--text-muted);
}
/* /Components/Pages/Vouchers/Entry/AdvanceReceiptBox.razor.rz.scp.css */
/* Receipt: advance with GST (GSTR-1 table 11). */
.adv-box[b-0sqpzfomm7] {
    display: grid;
    gap: .4rem;
}

.adv-row[b-0sqpzfomm7] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .6rem;
}

.adv-row .field[b-0sqpzfomm7] {
    min-width: 8rem;
}

.adv-tax[b-0sqpzfomm7] {
    display: grid;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    padding-bottom: .4rem;
}

.adv-tax small[b-0sqpzfomm7] {
    font-weight: 400;
}
/* /Components/Pages/Vouchers/Entry/EntryListDialog.razor.rz.scp.css */
/* Ctrl+M voucher list dialog. */
.list-modal[b-d01gf84tvs] { width: min(900px, 100%); }
.list-head[b-d01gf84tvs] { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .5rem; }
.list-head h2[b-d01gf84tvs] { margin: 0; }
.list-presets[b-d01gf84tvs] { display: flex; gap: .35rem; margin-bottom: .6rem; }
.list-filters[b-d01gf84tvs] { display: grid; grid-template-columns: 9.5rem 9.5rem minmax(0, 1fr); gap: .75rem; margin-bottom: .75rem; }
.list-wrap[b-d01gf84tvs] { max-height: min(55dvh, 520px); border: 1px solid var(--border); }
.list-wrap tr.current td[b-d01gf84tvs] { font-weight: 650; }
.footer-hint[b-d01gf84tvs] { margin-right: auto; align-self: center; font-size: var(--fs-sm); }

@media (max-width: 640px) {
    .list-filters[b-d01gf84tvs] { grid-template-columns: 1fr 1fr; }
    .list-filters .grow[b-d01gf84tvs] { grid-column: 1 / -1; }
    .hide-sm[b-d01gf84tvs] { display: none; }
}
/* /Components/Pages/Vouchers/Entry/EntryOptionsDialog.razor.rz.scp.css */
/* Control options dialog: a compact two-column grid like the desktop frmPaymentReceiptOptions. */
.options-modal[b-hnjlnnd0q9] { width: min(620px, 100%); }
.options-modal h2[b-hnjlnnd0q9] { margin: 0 0 .75rem; }
.options-table[b-hnjlnnd0q9] { width: 100%; border-collapse: collapse; }
.options-table th[b-hnjlnnd0q9] { text-align: left; font-size: var(--fs-xs); text-transform: uppercase; color: var(--text-muted); padding: .35rem .4rem; border-bottom: 1px solid var(--border); }
.options-table td[b-hnjlnnd0q9] { padding: .4rem; border-bottom: 1px solid var(--border); vertical-align: middle; }
.options-table .sr[b-hnjlnnd0q9] { width: 2rem; color: var(--text-faint); }
.options-table .val[b-hnjlnnd0q9] { width: 9rem; }
.options-table .help[b-hnjlnnd0q9] { font-size: var(--fs-xs); color: var(--text-faint); margin-top: 2px; }
.options-table label[b-hnjlnnd0q9] { font-weight: 500; }
/* /Components/Pages/Vouchers/Entry/ItcReversalDialog.razor.rz.scp.css */
/* ITC reversal preview: item table on top, the journal (ledger picker + Dr / Cr summary) below. */
.itc-modal[b-kee1s1z06c] { width: min(860px, 100%); }
.itc-modal h2[b-kee1s1z06c] { margin: 0 0 .5rem; }
.itc-table td[b-kee1s1z06c], .itc-table th[b-kee1s1z06c] { white-space: nowrap; }
.itc-table td:last-child[b-kee1s1z06c] { white-space: normal; }
.itc-journal[b-kee1s1z06c] { margin-top: .75rem; align-items: start; }
.itc-summary[b-kee1s1z06c] { display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem; margin: 0; }
.itc-summary dt[b-kee1s1z06c] { color: var(--text-muted); }
.itc-summary dd[b-kee1s1z06c] { margin: 0; font-variant-numeric: tabular-nums; }
.itc-note[b-kee1s1z06c] { color: var(--text-muted); margin: .35rem 0 0; }
/* /Components/Pages/Vouchers/Entry/VoucherEntryPage.razor.rz.scp.css */
/* Voucher-entry screen (payment, receipt, bank, journal, credit sale, stock vouchers).
   Grid and totals use the shared .voucher-grid / .voucher-totals classes from app.css; this file only adds
   the page layout (main + side panel), compact grid cells and the side-panel cards. */

.voucher-entry[b-njesg1g6gz] { max-width: 1440px; margin: 0 auto; }

/* ----- title row ----------------------------------------------------------------------------------- */
.ve-header[b-njesg1g6gz] { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: .75rem; flex-wrap: wrap; }
.ve-title h1[b-njesg1g6gz] { margin: 0; }
.ve-title .subtitle[b-njesg1g6gz] { display: flex; gap: .4rem; align-items: center; color: var(--text-muted); font-size: var(--fs-sm); margin: 2px 0 0; }

/* ----- main + side panel --------------------------------------------------------------------------- */
.ve-layout[b-njesg1g6gz] { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1rem; align-items: start; }
/* 1366px laptops: a narrower side panel gives the stock grids (item, +/−, godown) room (QA round 1). */
@media (max-width: 1440px) { .ve-layout[b-njesg1g6gz] { grid-template-columns: minmax(0, 1fr) 260px; } }
.ve-main[b-njesg1g6gz] { min-width: 0; display: flex; flex-direction: column; gap: .75rem; }
.ve-main > .card + .card[b-njesg1g6gz] { margin-top: 0; }

.ve-head-grid[b-njesg1g6gz] { padding: .9rem 1.1rem; row-gap: .6rem; }
.ve-date-flags[b-njesg1g6gz] { display: flex; gap: .25rem; flex-wrap: wrap; min-height: 0; }
.ve-date-flags:empty[b-njesg1g6gz] { display: none; }
.ve-party-strip[b-njesg1g6gz] { flex-direction: row; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; font-size: var(--fs-sm); color: var(--text-muted); }
.ve-error[b-njesg1g6gz] { margin: 0; }

/* ----- grid ------------------------------------------------------------------------------------------ */
.ve-grid-card[b-njesg1g6gz] { overflow: visible; }
.ve-grid-wrap[b-njesg1g6gz] { padding: .35rem .6rem 0; }
.voucher-grid tbody tr.active td[b-njesg1g6gz] { background: var(--primary-soft); }
.voucher-grid tbody tr[data-blank] td[b-njesg1g6gz] { background: transparent; }
.voucher-grid td[b-njesg1g6gz] { vertical-align: middle; }
.ve-sr[b-njesg1g6gz] { width: 2rem; text-align: right; font-size: var(--fs-xs); }
.ve-amt[b-njesg1g6gz] { width: 8.5rem; }
.ve-qty[b-njesg1g6gz] { width: 6.5rem; }
.ve-gst[b-njesg1g6gz] { width: 4.5rem; }
.ve-side[b-njesg1g6gz] { width: 7.5rem; }
.ve-chq[b-njesg1g6gz] { width: 8rem; }
.ve-godown[b-njesg1g6gz] { width: 9rem; }
.ve-x[b-njesg1g6gz] { width: 1.75rem; text-align: center; }
.ve-calc[b-njesg1g6gz] { color: var(--text-muted); white-space: nowrap; }
/* Unit next to a quantity: a read-only box (ReadOnlyField) under the number, small and muted. */
.voucher-grid[b-njesg1g6gz]  .ve-unit { margin-top: 2px; min-height: 0; height: auto; padding: 0 .4rem; font-size: var(--fs-xs); color: var(--text-muted); justify-content: flex-end; }

/* Journal: one amount box that sits under Debit or Credit depending on the side. */
.ve-journal-amt.is-dr[b-njesg1g6gz] { padding-right: calc(8.5rem + .7rem); }
.ve-journal-amt.is-cr[b-njesg1g6gz] { padding-left: calc(8.5rem + .7rem); }

.ve-remove[b-njesg1g6gz] {
    width: 24px; height: 24px; border: 0; border-radius: 6px; background: transparent;
    color: var(--text-faint); font-size: 1.1rem; line-height: 1; cursor: pointer;
}
.ve-remove:hover[b-njesg1g6gz] { background: var(--danger-soft); color: var(--danger); }

/* ----- footer ---------------------------------------------------------------------------------------- */
.ve-footer[b-njesg1g6gz] { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem 2rem; padding: .9rem 1.1rem 1rem; border-top: 1px solid var(--border); }
.ve-footer-left[b-njesg1g6gz] { min-width: 0; }
.ve-words[b-njesg1g6gz] { margin: .5rem 0 0; font-size: var(--fs-sm); color: var(--text-muted); font-style: italic; }
.ve-footer-right[b-njesg1g6gz] { display: flex; flex-direction: column; align-items: flex-end; gap: .75rem; }
.ve-save-row[b-njesg1g6gz] { display: flex; align-items: center; gap: .75rem; }
.ve-hint[b-njesg1g6gz] { font-size: var(--fs-xs); }

/* ----- side panel ------------------------------------------------------------------------------------ */
.ve-side-panel[b-njesg1g6gz] { display: flex; flex-direction: column; gap: .75rem; position: sticky; top: .5rem; }
.ve-side-panel > .card + .card[b-njesg1g6gz] { margin-top: 0; }
.ve-card[b-njesg1g6gz] { padding: .8rem .9rem; font-size: var(--fs-sm); }
.ve-card-head[b-njesg1g6gz] { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; }
.ve-card-head strong[b-njesg1g6gz] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ve-card-sub[b-njesg1g6gz] { margin-top: 2px; font-size: var(--fs-xs); }
.ve-link[b-njesg1g6gz] { font-size: var(--fs-xs); white-space: nowrap; }
.ve-kv[b-njesg1g6gz] { display: grid; grid-template-columns: 1fr auto; gap: .25rem .75rem; margin: .6rem 0 0; }
.ve-kv dt[b-njesg1g6gz] { color: var(--text-muted); }
.ve-kv dd[b-njesg1g6gz] { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
/* Pending bills of the party (receipt / payment) and what this entry clears (FIFO preview). */
.ve-bills[b-njesg1g6gz] { list-style: none; margin: .3rem 0 0; padding: 0; font-size: var(--fs-sm); }
.ve-bills li[b-njesg1g6gz] { display: grid; grid-template-columns: 1fr auto auto; gap: .6rem; padding: .2rem 0; border-top: 1px solid var(--border); }
.ve-bills li.is-cleared span:first-child[b-njesg1g6gz] { text-decoration: line-through; color: var(--text-muted); }
.ve-bills li.is-part span:first-child[b-njesg1g6gz] { font-weight: 600; }
.ve-bill-age[b-njesg1g6gz] { font-size: var(--fs-xs); }
.ve-settle[b-njesg1g6gz] { margin: .4rem 0 0; font-size: var(--fs-sm); color: var(--text); }
.ve-recent-title[b-njesg1g6gz] { margin-top: .7rem; font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); }
.ve-recent[b-njesg1g6gz], .ve-day[b-njesg1g6gz] { list-style: none; margin: .3rem 0 0; padding: 0; }
.ve-recent li[b-njesg1g6gz] { padding: .3rem 0; border-top: 1px solid var(--border); }
.ve-recent li a[b-njesg1g6gz], .ve-day li a[b-njesg1g6gz] { display: flex; justify-content: space-between; gap: .5rem; color: inherit; }
.ve-recent li a:hover[b-njesg1g6gz], .ve-day li a:hover[b-njesg1g6gz] { color: var(--primary); text-decoration: none; }
.ve-recent small[b-njesg1g6gz] { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ve-day[b-njesg1g6gz] { max-height: 240px; overflow: auto; }
.ve-day li[b-njesg1g6gz] { padding: .25rem 0; border-top: 1px solid var(--border); }
.ve-day li.current a[b-njesg1g6gz] { font-weight: 650; color: var(--primary); }
.ve-day-name[b-njesg1g6gz] { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ve-day-total[b-njesg1g6gz] { display: flex; justify-content: space-between; font-weight: 650; padding-top: .35rem; border-top: 1px solid var(--border-strong); }
.ve-more[b-njesg1g6gz] { margin-top: .5rem; width: 100%; justify-content: center; }
.ve-empty[b-njesg1g6gz] { margin: .5rem 0 0; }
.ve-warn[b-njesg1g6gz] { margin: .5rem 0 0; color: var(--danger); font-weight: 600; }

/* ----- read-only entry (cancelled, or no right to change it) --------------------------------------------- */
.ve-banner[b-njesg1g6gz] { margin: 0 0 .75rem; }
.ve-fieldset[b-njesg1g6gz] { border: 0; margin: 0; padding: 0; min-width: 0; }
.ve-fieldset.ve-cancelled[b-njesg1g6gz] { position: relative; }
.ve-fieldset.ve-cancelled[b-njesg1g6gz]::after {
    content: "CANCELLED";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: clamp(3rem, 9vw, 7rem);
    font-weight: 800;
    letter-spacing: .15em;
    color: var(--danger);
    opacity: .09;
    transform: rotate(-12deg);
    pointer-events: none;
}

/* ----- responsive ------------------------------------------------------------------------------------- */
@media (max-width: 1100px) {
    .ve-layout[b-njesg1g6gz] { grid-template-columns: 1fr; }
    .ve-side-panel[b-njesg1g6gz] { position: static; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}

@media (max-width: 760px) {
    .ve-grid-wrap[b-njesg1g6gz] { overflow-x: auto; }
    .voucher-grid[b-njesg1g6gz] { min-width: 640px; }
    .ve-footer[b-njesg1g6gz] { grid-template-columns: 1fr; }
    .ve-footer-right[b-njesg1g6gz] { align-items: stretch; }
    .ve-save-row[b-njesg1g6gz] { justify-content: space-between; }
    .ve-journal-amt.is-dr[b-njesg1g6gz], .ve-journal-amt.is-cr[b-njesg1g6gz] { padding-left: .35rem; padding-right: .35rem; }
}

@media print {
    .ve-side-panel[b-njesg1g6gz], .ve-save-row[b-njesg1g6gz], .ve-x[b-njesg1g6gz] { display: none !important; }
    .ve-layout[b-njesg1g6gz] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Vouchers/ItemBill/ItemBillChargesDialog.razor.rz.scp.css */
/* Charges grid inside the F2 dialog. */
.ibc-grid td[b-yvuj4fu8js] { vertical-align: middle; }
.ibc-grid select.ibc-sign[b-yvuj4fu8js] { width: 6.5rem; }
.ibc-value[b-yvuj4fu8js] {
    display: block;
    text-align: right;
    font-variant-numeric: tabular-nums;
    padding: 0 .35rem;
}

.ibc-summary[b-yvuj4fu8js] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 1.25rem;
    margin-top: .9rem;
    font-variant-numeric: tabular-nums;
}

.ibc-help[b-yvuj4fu8js] {
    margin: .5rem 0 0;
    font-size: var(--fs-sm);
}
/* /Components/Pages/Vouchers/ItemBill/ItemBillDialog.razor.rz.scp.css */
/* Item bill pop-ups: wider than the confirmation modal, scrollable body, title row with a close button. */
.ib-dialog[b-rfbhlxj932] {
    display: flex;
    flex-direction: column;
    max-height: calc(100dvh - 2rem);
}

.ib-dialog-sm[b-rfbhlxj932] { width: min(440px, 100%); }
.ib-dialog-md[b-rfbhlxj932] { width: min(680px, 100%); }
.ib-dialog-lg[b-rfbhlxj932] { width: min(940px, 100%); }
.ib-dialog-xl[b-rfbhlxj932] { width: min(1140px, 100%); }

.ib-dialog-head[b-rfbhlxj932] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .85rem 1.25rem;
    border-bottom: 1px solid var(--border);
}

.ib-dialog-head h2[b-rfbhlxj932] { margin: 0; font-size: var(--fs-lg); }
.ib-dialog-head .muted[b-rfbhlxj932] { font-size: var(--fs-sm); }
.ib-dialog-head .btn[b-rfbhlxj932] { margin-left: auto; }

.ib-dialog-body[b-rfbhlxj932] {
    overflow: auto;
    flex: 1;
}
/* /Components/Pages/Vouchers/ItemBill/ItemBillListDialog.razor.rz.scp.css */
.ibl-toolbar[b-mkeq9vrztu] { padding: 0 0 .75rem; border: 0; }
.ibl-type[b-mkeq9vrztu] { width: auto; min-width: 12rem; }
.ibl-wrap[b-mkeq9vrztu] { max-height: min(60dvh, 560px); }
/* /Components/Pages/Vouchers/ItemBill/ItemBillOptionsDialog.razor.rz.scp.css */
/* Two columns of option groups; one column on phones. */
.ibo-grid[b-98rahb10hg] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.5rem;
}

.ibo-grid fieldset[b-98rahb10hg] {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: .6rem .9rem .8rem;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.ibo-grid legend[b-98rahb10hg] {
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--text-muted);
    padding: 0 .3rem;
}

.ibo-qty[b-98rahb10hg] { max-width: 12rem; }

@media (max-width: 640px) {
    .ibo-grid[b-98rahb10hg] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Vouchers/ItemBill/ItemBillOriginalDialog.razor.rz.scp.css */
.ibo-toolbar[b-fjtditxn1s] { padding: 0 0 .75rem; border: 0; }
.ibo-wrap[b-fjtditxn1s] { max-height: min(60dvh, 520px); }
.ibo-lines td[b-fjtditxn1s] { vertical-align: middle; }
.ibo-lines input.num[b-fjtditxn1s] { width: 7rem; margin-left: auto; display: block; }
.ibo-done td[b-fjtditxn1s] { color: var(--text-faint); text-decoration: line-through; }
.ibo-help[b-fjtditxn1s] { margin: .75rem 0 0; font-size: var(--fs-sm); }
/* /Components/Pages/Vouchers/ItemBill/ItemBillPage.razor.rz.scp.css */
/* =====================================================================================
   Item bill screen. Dense on purpose (data entry), but with clear groups:
   header + party card · item grid · notes / panels + totals · action bar.
   Elements rendered by child components (pickers, date inputs, buttons) are styled via ::deep.
   ===================================================================================== */

.ib-page[b-e7ythgi3py] { display: flex; flex-direction: column; gap: .75rem; }
.ib-page > .card + .card[b-e7ythgi3py], .ib-page .card + .card[b-e7ythgi3py] { margin-top: 0; }

.ib-banner[b-e7ythgi3py] {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
    margin: 0;
}
.ib-banner span[b-e7ythgi3py] { margin-right: auto; }

/* ----- header ------------------------------------------------------------------------ */
.ib-top[b-e7ythgi3py] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: .75rem;
    align-items: start;
}

.ib-head .card-body[b-e7ythgi3py] { padding: .9rem 1rem; gap: .65rem .8rem; }
.ib-flags[b-e7ythgi3py] { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }

.ib-party .card-body[b-e7ythgi3py] { padding: .9rem 1rem; display: flex; flex-direction: column; gap: .2rem; font-size: var(--fs-sm); }
.ib-party-name[b-e7ythgi3py] { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: var(--fs); }
.ib-party-stats[b-e7ythgi3py] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .15rem .75rem;
    margin: .5rem 0 .25rem;
}
.ib-party-stats dt[b-e7ythgi3py] { color: var(--text-muted); }
.ib-party-stats dd[b-e7ythgi3py] { margin: 0; text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.ib-party-price[b-e7ythgi3py] { margin-top: .2rem; }
.ib-party-links[b-e7ythgi3py] { display: flex; justify-content: space-between; align-items: center; margin-top: .4rem; }

.ib-meter[b-e7ythgi3py] { height: 6px; border-radius: 99px; background: var(--surface-sunken); overflow: hidden; }
.ib-meter span[b-e7ythgi3py] { display: block; height: 100%; background: var(--success); }
.ib-meter.near span[b-e7ythgi3py] { background: var(--warning); }
.ib-meter.over span[b-e7ythgi3py] { background: var(--danger); }
.ib-warn[b-e7ythgi3py] { font-weight: 600; }

/* ----- items grid ---------------------------------------------------------------------- */
.ib-items[b-e7ythgi3py] { overflow: visible; }

.ib-items-bar[b-e7ythgi3py] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .6rem .8rem;
    border-bottom: 1px solid var(--border);
}
.ib-scan[b-e7ythgi3py] { width: min(320px, 100%); }
.ib-hint[b-e7ythgi3py] { font-size: var(--fs-xs); }

/* No overflow clipping on wide screens so the item picker list can drop over the rows below. */
.ib-grid-wrap[b-e7ythgi3py] { padding: .25rem .5rem .5rem; }

.ib-grid[b-e7ythgi3py] { table-layout: fixed; min-width: 1000px; }
.ib-grid td[b-e7ythgi3py] { vertical-align: top; }
.ib-grid input.invalid[b-e7ythgi3py] { border-color: var(--danger); }
.ib-c-no[b-e7ythgi3py] { width: 2rem; text-align: right; padding-top: .55rem !important; }
.ib-c-item[b-e7ythgi3py] { width: auto; min-width: 16rem; }
.ib-c-batch[b-e7ythgi3py] { width: 7.5rem; }
.ib-c-exp[b-e7ythgi3py] { width: 4.6rem; }
.ib-c-qty[b-e7ythgi3py] { width: 5.4rem; }
.ib-c-unit[b-e7ythgi3py] { width: 5.2rem; }
.ib-c-hsn[b-e7ythgi3py] { width: 5.6rem; }
.ib-c-stk[b-e7ythgi3py] { width: 5.4rem; }
/* Read-only cells (Unit / HSN / Stock) look like disabled boxes and never wrap. */
.ib-grid[b-e7ythgi3py]  .readonly-field { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ib-c-rate[b-e7ythgi3py] { width: 6.6rem; }
.ib-c-disc[b-e7ythgi3py] { width: 5rem; }
.ib-c-gst[b-e7ythgi3py] { width: 4.2rem; }
.ib-c-godown[b-e7ythgi3py] { width: 8rem; }
.ib-c-amt[b-e7ythgi3py] { width: 7.4rem; }
.ib-c-act[b-e7ythgi3py] { width: 4.4rem; white-space: nowrap; }
.ib-c-unit .faint[b-e7ythgi3py] { display: inline-block; padding-top: .45rem; }
.ib-total[b-e7ythgi3py]  .readonly-field { font-weight: 600; }

.ib-grid tbody tr.ib-current td[b-e7ythgi3py] { background: color-mix(in srgb, var(--primary-soft) 55%, transparent); }
.ib-grid tbody tr.ib-flagged td:first-child[b-e7ythgi3py] { box-shadow: inset 3px 0 0 var(--warning); }

.ib-line-hint[b-e7ythgi3py] {
    display: flex;
    flex-wrap: wrap;
    gap: .2rem .7rem;
    margin-top: .2rem;
    font-size: var(--fs-xs);
    color: var(--text-muted);
}
.ib-line-hint .badge[b-e7ythgi3py] { font-size: 10px; padding: 0 .4rem; }

.ib-details[b-e7ythgi3py] { display: flex; flex-direction: column; gap: .35rem; margin-top: .35rem; }
.ib-details-row[b-e7ythgi3py] { display: flex; flex-wrap: wrap; gap: .5rem; }
.ib-details-row label[b-e7ythgi3py] { display: flex; align-items: center; gap: .3rem; font-size: var(--fs-xs); color: var(--text-muted); }
.ib-details-row .input[b-e7ythgi3py], .ib-details-row .select[b-e7ythgi3py] { width: 6.5rem; height: 28px; }

/* Item insight bar (focused line) */
.ib-insight[b-e7ythgi3py] {
    border-top: 1px solid var(--border);
    padding: .55rem .9rem .7rem;
    background: var(--surface-2);
    border-radius: 0 0 var(--radius) var(--radius);
}
.ib-insight-facts[b-e7ythgi3py] { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .9rem; font-size: var(--fs-sm); }
.ib-insight-facts .btn[b-e7ythgi3py] { margin-left: auto; }
.ib-chip[b-e7ythgi3py] {
    border: 1px solid var(--border-strong);
    background: var(--surface);
    color: var(--text);
    border-radius: 99px;
    padding: .1rem .6rem;
    font-size: var(--fs-xs);
    cursor: pointer;
}
.ib-chip:hover[b-e7ythgi3py] { border-color: var(--primary); color: var(--primary); }
.ib-chip-strong[b-e7ythgi3py] { border-color: var(--primary); color: var(--primary); font-weight: 600; }
/* The suggestion the Rate box currently holds (F4 moves it). */
.ib-chip-on[b-e7ythgi3py] { background: var(--primary-soft, var(--surface-2)); box-shadow: inset 0 0 0 1px var(--primary); }
.ib-rate-chips[b-e7ythgi3py] { display: inline-flex; flex-wrap: wrap; gap: .35rem; }

.ib-history[b-e7ythgi3py] { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: .5rem 1.5rem; margin-top: .5rem; }
.ib-history-title[b-e7ythgi3py] { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); margin-bottom: .15rem; }
.ib-history-table[b-e7ythgi3py] { width: 100%; border-collapse: collapse; font-size: var(--fs-xs); }
.ib-history-table td[b-e7ythgi3py] { padding: .1rem .4rem .1rem 0; white-space: nowrap; }
.ib-history-table td.num[b-e7ythgi3py] { text-align: right; font-variant-numeric: tabular-nums; }

/* ----- bottom: notes / panels + totals -------------------------------------------------- */
.ib-bottom[b-e7ythgi3py] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: .75rem;
    align-items: start;
}
.ib-notes .card-body[b-e7ythgi3py] { padding: .9rem 1rem; gap: .65rem .8rem; }

.ib-panel[b-e7ythgi3py] { border-top: 1px dashed var(--border); padding-top: .5rem; }
.ib-panel-head[b-e7ythgi3py] { display: flex; align-items: center; gap: .6rem; font-weight: 600; font-size: var(--fs-sm); }
.ib-panel-head .btn[b-e7ythgi3py] { margin-left: auto; }
.ib-panel-text[b-e7ythgi3py] { color: var(--text-muted); font-size: var(--fs-sm); font-weight: 400; margin-top: .2rem; }
.ib-panel-list[b-e7ythgi3py] { list-style: none; margin: .3rem 0 0; padding: 0; font-size: var(--fs-sm); }
.ib-panel-list li[b-e7ythgi3py] { display: flex; justify-content: space-between; gap: 1rem; padding: .1rem 0; }
.ib-shipto[b-e7ythgi3py] { margin-top: .6rem; }

.ib-totals .card-body[b-e7ythgi3py] { padding: .9rem 1.1rem; }
.ib-sum[b-e7ythgi3py] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .25rem 1rem;
    margin: 0;
    font-variant-numeric: tabular-nums;
}
.ib-sum dt[b-e7ythgi3py] { color: var(--text-muted); }
.ib-sum dd[b-e7ythgi3py] { margin: 0; text-align: right; }
.ib-sum .ib-net[b-e7ythgi3py] {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--text);
    border-top: 1px solid var(--border);
    padding-top: .4rem;
    margin-top: .2rem;
}
[b-e7ythgi3py] .ib-round { font-size: var(--fs-sm); }
.ib-words[b-e7ythgi3py] { font-size: var(--fs-xs); margin-top: .35rem; }
.ib-note[b-e7ythgi3py] { font-size: var(--fs-sm); margin-top: .5rem; }

.ib-taxes[b-e7ythgi3py] { width: 100%; border-collapse: collapse; margin-top: .7rem; font-size: var(--fs-xs); font-variant-numeric: tabular-nums; }
.ib-taxes th[b-e7ythgi3py] { text-align: left; color: var(--text-faint); font-weight: 600; border-bottom: 1px solid var(--border); padding: .2rem .3rem; }
.ib-taxes td[b-e7ythgi3py] { padding: .15rem .3rem; }
.ib-taxes .num[b-e7ythgi3py] { text-align: right; }

.ib-error[b-e7ythgi3py] { margin: 0; }

/* ----- action bar ---------------------------------------------------------------------- */
.ib-actions[b-e7ythgi3py] {
    position: sticky;
    bottom: 0;
    z-index: 5;
}
.ib-actions .card-footer[b-e7ythgi3py] { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.ib-actions-net[b-e7ythgi3py] { margin-left: auto; font-size: 1.15rem; font-weight: 700; font-variant-numeric: tabular-nums; }

/* ----- responsive ----------------------------------------------------------------------- */
@media (max-width: 1100px) {
    .ib-top[b-e7ythgi3py], .ib-bottom[b-e7ythgi3py] { grid-template-columns: 1fr; }
    /* Narrower than the grid: scroll it sideways (the picker list may then be clipped by the scroller). */
    .ib-grid-wrap[b-e7ythgi3py] { overflow-x: auto; }
}

@media (max-width: 760px) {
    .ib-hint[b-e7ythgi3py] { display: none; }
    .ib-items-bar[b-e7ythgi3py] { flex-wrap: wrap; }
}

@media print {
    .ib-insight[b-e7ythgi3py], .ib-items-bar[b-e7ythgi3py], .ib-actions[b-e7ythgi3py], .ib-banner[b-e7ythgi3py] { display: none !important; }
}

/* ----- read-only bill (cancelled, or no right to change it) -------------------------------------------------- */
/* The fieldset wraps header, grid and bottom so a read-only bill can disable every box at once; it lays them out
   exactly like .ib-page does. */
.ib-fieldset[b-e7ythgi3py] { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: .75rem; position: relative; }
/* Big faint CANCELLED watermark across a cancelled bill (screen only; the print view has its own). */
.ib-fieldset.ib-cancelled[b-e7ythgi3py]::after {
    content: "CANCELLED";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: clamp(3rem, 10vw, 8rem);
    font-weight: 800;
    letter-spacing: .15em;
    color: var(--danger);
    opacity: .09;
    transform: rotate(-12deg);
    pointer-events: none;
}
.ib-after[b-e7ythgi3py] { font-weight: 600; }

/* Bill book box: "+ New" (F3) beside the label; a single book is shown read-only, looking like a disabled box. */
.ib-book-new[b-e7ythgi3py] {
    border: 0;
    background: none;
    padding: 0 0 0 .35rem;
    font-size: var(--fs-xs);
    color: var(--primary);
    cursor: pointer;
}
.ib-book-new:hover[b-e7ythgi3py] { text-decoration: underline; }
.ib-book-single[b-e7ythgi3py] { background: var(--surface-2); color: var(--text-muted); cursor: default; }
/* /Components/Pages/Vouchers/ItemBill/ItemBillPicker.razor.rz.scp.css */
/* The result list may be wider than a grid cell: item names + stock / rate hints need room. */
.ib-picker-list[b-q5qbhxg4qn] {
    min-width: min(460px, 92vw);
    z-index: 950;
}

.ib-picker-list li small[b-q5qbhxg4qn] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
/* /Components/Pages/Vouchers/ItemBill/ItemBillTransportDialog.razor.rz.scp.css */
.ibt-help[b-sms5w1pjez] {
    margin: .75rem 0 0;
    font-size: var(--fs-sm);
}
/* /Components/Pages/Vouchers/LedgerBills/LedgerBillPage.razor.rz.scp.css */
/* =====================================================================================================
   Ledger bill entry (general sale / purchase / returns / notes, income / expense vouchers).
   Uses the design tokens of wwwroot/app.css; everything here is page specific. Child components
   (Lookup, KeyButton, DateInput) are styled through ::deep.
   ===================================================================================================== */

.ledger-bill[b-tgwrkraduc] { display: flex; flex-direction: column; gap: .75rem; }

/* ----- screen switcher chips ------------------------------------------------------------------------ */
.screen-switch[b-tgwrkraduc] { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: -.25rem; }

.chip[b-tgwrkraduc] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    height: 26px;
    padding: 0 .65rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text-muted);
    font-size: var(--fs-xs);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}
.chip:hover[b-tgwrkraduc] { border-color: var(--border-strong); color: var(--text); }
.chip.active[b-tgwrkraduc] { background: var(--primary-soft); border-color: var(--primary); color: var(--primary); }
.chip.active.warn[b-tgwrkraduc] { background: var(--warning-soft); border-color: var(--warning); color: var(--warning); }
.chip kbd[b-tgwrkraduc] { font-size: 10px; opacity: .7; }

/* ----- form chrome ---------------------------------------------------------------------------------- */
.bill-fieldset[b-tgwrkraduc] { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: .75rem; }
.bill-fieldset:disabled[b-tgwrkraduc] { opacity: .85; }

/* Cancelled bill: big faint CANCELLED watermark across the read-only form. */
.bill-fieldset.bill-cancelled[b-tgwrkraduc] { position: relative; }
.bill-fieldset.bill-cancelled[b-tgwrkraduc]::after {
    content: "CANCELLED";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: clamp(3rem, 10vw, 8rem);
    font-weight: 800;
    letter-spacing: .15em;
    color: var(--danger);
    opacity: .09;
    transform: rotate(-12deg);
    pointer-events: none;
}

/* Worked-out cells (taxable, tax, total) are read-only boxes; the line total is bold. */
.lines[b-tgwrkraduc]  .readonly-field.strong { font-weight: 650; }
.charges[b-tgwrkraduc]  .readonly-field { min-width: 5rem; }

.hint[b-tgwrkraduc] { font-weight: 400; font-size: var(--fs-xs); color: var(--text-faint); margin-left: .25rem; }
.help.warn[b-tgwrkraduc] { color: var(--warning); font-weight: 600; }

.static-value[b-tgwrkraduc] {
    height: var(--control-h);
    display: flex;
    align-items: center;
    padding: 0 .6rem;
    border-radius: var(--radius-sm);
    background: var(--surface-sunken);
    color: var(--text-muted);
}

.link-btn[b-tgwrkraduc] {
    border: 0;
    background: none;
    padding: 0;
    color: var(--primary);
    font: inherit;
    font-size: var(--fs-xs);
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ----- party strip ---------------------------------------------------------------------------------- */
.party-strip[b-tgwrkraduc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .75rem;
    padding: .55rem 1.25rem;
    border-top: 1px solid var(--border);
    background: var(--surface-2, var(--surface-sunken));
    font-size: var(--fs-sm);
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}
.party-strip .spacer[b-tgwrkraduc] { flex: 1; }
.party-strip .ellipsis[b-tgwrkraduc] { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pos-edit[b-tgwrkraduc] { width: 240px; }
.strip-note[b-tgwrkraduc] {
    padding: .45rem 1.25rem;
    background: var(--warning-soft);
    color: var(--warning);
    font-size: var(--fs-sm);
    font-weight: 600;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

/* ----- line grid ------------------------------------------------------------------------------------- */
.lines-toolbar[b-tgwrkraduc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem .75rem;
    padding: .65rem 1rem;
    border-bottom: 1px solid var(--border);
    font-size: var(--fs-sm);
}
.lines-toolbar .spacer[b-tgwrkraduc] { flex: 1; }

/* No overflow clipping on wide screens: look-up lists must be able to drop below the grid. */
.lines-wrap[b-tgwrkraduc] { padding: .25rem .5rem .5rem; }
.lines[b-tgwrkraduc] { table-layout: fixed; }
.lines .c-no[b-tgwrkraduc] { width: 2.2rem; text-align: center; }
.lines .c-ledger[b-tgwrkraduc] { width: 26%; }
.lines .c-hsn[b-tgwrkraduc] { width: 6.5rem; }
.lines .c-desc[b-tgwrkraduc] { width: auto; }
.lines .c-amt[b-tgwrkraduc] { width: 8.5rem; }
.lines .c-disc[b-tgwrkraduc] { width: 6rem; }
.lines .c-gst[b-tgwrkraduc] { width: 6.5rem; }
.lines .c-cess[b-tgwrkraduc] { width: 4.5rem; }
.lines .c-val[b-tgwrkraduc] { width: 7.25rem; font-variant-numeric: tabular-nums; }
.lines .c-act[b-tgwrkraduc] { width: 4.6rem; text-align: right; white-space: nowrap; }
.lines .c-act .icon-btn[b-tgwrkraduc], .charges .c-act .icon-btn[b-tgwrkraduc] { display: inline-grid; place-items: center; width: 26px; height: 26px; padding: 0; }
.lines tbody tr.blank td[b-tgwrkraduc] { background: var(--surface-sunken); }
.lines tbody tr.blank .c-no[b-tgwrkraduc] { color: var(--primary); font-weight: 700; }
.lines .row-error td[b-tgwrkraduc] { color: var(--danger); font-size: var(--fs-xs); padding-top: 0; border-bottom: 0; }
.lines tfoot td[b-tgwrkraduc] { font-variant-numeric: tabular-nums; }
.lines input[b-tgwrkraduc], .lines select[b-tgwrkraduc] { width: 100%; }
.lines-foot[b-tgwrkraduc] { padding: 0 1rem .5rem; }

.icon-btn[b-tgwrkraduc] { font-size: 1rem; line-height: 1; }

/* ----- footer: sections left, totals right ------------------------------------------------------------ */
.bill-footer[b-tgwrkraduc] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: .75rem;
    align-items: start;
}
.footer-left[b-tgwrkraduc] { display: flex; flex-direction: column; gap: .75rem; min-width: 0; }
.section-toggles[b-tgwrkraduc] { display: flex; flex-wrap: wrap; gap: .4rem; }

.section-card[b-tgwrkraduc] { padding-bottom: .75rem; }
.section-title[b-tgwrkraduc] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem 1rem;
    border-bottom: 1px solid var(--border);
    font-size: var(--fs-sm);
    font-weight: 650;
}
.section-body[b-tgwrkraduc] { padding: .75rem 1rem 0; }
.section-actions[b-tgwrkraduc] { display: flex; align-items: center; gap: .75rem; padding: .5rem 1rem 0; }
.charges[b-tgwrkraduc] { margin: .25rem .5rem 0; width: calc(100% - 1rem); }
.charges[b-tgwrkraduc] { table-layout: fixed; }
.charges .c-ledger[b-tgwrkraduc] { width: 45%; }
.charges .c-sign[b-tgwrkraduc] { width: 8rem; }
.charges .c-act[b-tgwrkraduc] { width: 2.5rem; text-align: right; }

.totals-card[b-tgwrkraduc] { position: sticky; top: .5rem; }
.voucher-totals > span:nth-child(even)[b-tgwrkraduc] { text-align: right; }
.words[b-tgwrkraduc] { margin-top: .5rem; font-size: var(--fs-xs); color: var(--text-muted); font-style: italic; text-align: right; }
.rcm-note[b-tgwrkraduc] {
    margin-top: .75rem;
    padding: .5rem .65rem;
    border-radius: var(--radius-sm);
    background: var(--warning-soft);
    font-size: var(--fs-xs);
}
.rate-wise[b-tgwrkraduc] { width: 100%; margin-top: .75rem; border-collapse: collapse; font-size: var(--fs-xs); font-variant-numeric: tabular-nums; }
.rate-wise th[b-tgwrkraduc] { text-align: left; color: var(--text-faint); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; padding: .2rem 0; border-bottom: 1px solid var(--border); }
.rate-wise td[b-tgwrkraduc] { padding: .2rem 0; border-bottom: 1px dashed var(--border); }
.rate-wise .num[b-tgwrkraduc] { text-align: right; }
.save-bar[b-tgwrkraduc] { display: flex; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; }

/* ----- responsive: phones get stacked line cards ------------------------------------------------------- */
@media (max-width: 1100px) {
    .bill-footer[b-tgwrkraduc] { grid-template-columns: 1fr; }
    .totals-card[b-tgwrkraduc] { position: static; }
}

@media (max-width: 760px) {
    .party-strip[b-tgwrkraduc] { padding: .55rem .75rem; }
    .party-strip .spacer[b-tgwrkraduc] { display: none; }
    .lines[b-tgwrkraduc], .lines thead[b-tgwrkraduc], .lines tbody[b-tgwrkraduc], .lines tfoot[b-tgwrkraduc], .lines tr[b-tgwrkraduc], .lines td[b-tgwrkraduc] { display: block; width: 100% !important; }
    .lines thead[b-tgwrkraduc] { display: none; }
    .lines tbody tr[b-tgwrkraduc] {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .35rem .5rem;
        padding: .6rem .25rem;
        border-bottom: 1px solid var(--border);
    }
    .lines tbody td[b-tgwrkraduc] { border: 0; padding: 0; }
    .lines tbody tr.blank[b-tgwrkraduc] { background: var(--surface-sunken); border-radius: var(--radius-sm); }
    .lines tbody tr.blank td[b-tgwrkraduc], .lines tbody tr:focus-within td[b-tgwrkraduc] { background: transparent; }
    .lines tbody td.c-no[b-tgwrkraduc] { display: none; }
    .lines tbody td.c-ledger[b-tgwrkraduc], .lines tbody td.c-desc[b-tgwrkraduc] { grid-column: 1 / -1; }
    .lines tbody td[data-label][b-tgwrkraduc]::before {
        content: attr(data-label);
        display: block;
        font-size: var(--fs-xs);
        color: var(--text-faint);
        margin-bottom: 2px;
    }
    .lines tbody td.c-val[b-tgwrkraduc] { text-align: left; padding-top: 0; }
    .lines tfoot tr[b-tgwrkraduc] { display: flex; flex-wrap: wrap; gap: .75rem; }
    .lines tfoot td:empty[b-tgwrkraduc] { display: none; }
    .lines tfoot td[b-tgwrkraduc] { width: auto !important; }
    .lines .row-error td[b-tgwrkraduc] { grid-column: 1 / -1; }
    .pos-edit[b-tgwrkraduc] { width: 100%; }
}
/* /Components/Pages/Vouchers/LedgerBills/LedgerBillRecent.razor.rz.scp.css */
/* Saved bills list under the ledger-bill form. */
.recent-title[b-yz84rhv692] { font-size: var(--fs-sm); margin-right: .25rem; }
.period[b-yz84rhv692] { width: auto; min-width: 9rem; }
.recent-wrap[b-yz84rhv692] { max-height: 360px; }
.narration[b-yz84rhv692] { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
tr.current td[b-yz84rhv692] { background: var(--primary-soft); }
tr.cancelled td[b-yz84rhv692] { color: var(--text-faint); text-decoration: line-through; }
tr.cancelled td .badge[b-yz84rhv692] { text-decoration: none; }

@media (max-width: 760px) {
    .hide-sm[b-yz84rhv692] { display: none; }
}
/* /Components/Shared/CarryForwardBanner.razor.rz.scp.css */
/* Year-end staleness banner: message on the left, the re-run button on the right (wraps on a phone). */
.cf-banner[b-macp81ehzl] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-bottom: 0.75rem;
}

.cf-banner > span:first-child[b-macp81ehzl] {
    flex: 1 1 24rem;
}
/* /Components/Shared/HsnPicker.razor.rz.scp.css */
/*
   HSN picker: directory descriptions are long, so the drop-down is wider than a normal lookup and the
   description (hint) gets most of the row. The code stays bold and monospaced on the left.
   (ItemMasterPage.razor.css repeats these rules for the HSN master's "Add from the government list".)
*/
.hsn-picker[b-z9h61j5yto]  .lookup-list {
    /* fixed width (not max-content) so long descriptions end in an ellipsis instead of overflowing */
    width: min(720px, calc(100vw - 32px));
    min-width: 0;
    max-width: none;
}
.hsn-picker[b-z9h61j5yto]  .lookup-list li:not(.lk-create):not(.empty) {
    grid-template-columns: 6.5rem minmax(0, 1fr);
}
.hsn-picker[b-z9h61j5yto]  .lookup-list .lk-name {
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
}
.hsn-picker[b-z9h61j5yto]  .lookup-list .lk-hint {
    max-width: none;
    text-align: left;
    font-size: var(--fs-sm);
}
/* /Components/Shared/KeyButton.razor.rz.scp.css */
/* Key hints mean nothing on a touch screen: keep the buttons clean there. */
@media (hover: none) and (pointer: coarse) {
    kbd[b-1xufbnldnj] { display: none; }
}
/* /Components/Shared/Lookup.razor.rz.scp.css */
/*
   Lookup list layout (component-scoped; the base .lookup-list box lives in app.css).
   Each row: name (bold, one line, ellipsis) · group/city (muted) · balance (right, tabular, never wraps).
   The list may be wider than its input (grid cells are narrow) but never wider than the screen.
*/
.lookup-list[b-zp99qw2fzg] {
    min-width: min(440px, calc(100vw - 32px));
    right: auto;
    width: max-content;
    max-width: min(640px, calc(100vw - 32px));
}
.lookup-list.lookup-list-end[b-zp99qw2fzg] { left: auto; right: 0; }

.lookup-list li[b-zp99qw2fzg] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: baseline;
    column-gap: .9rem;
    line-height: 1.35;
}
.lookup-list li.empty[b-zp99qw2fzg] { display: block; }
.lookup-list .lk-name[b-zp99qw2fzg] {
    font-weight: 550;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.lookup-list .lk-hint[b-zp99qw2fzg] {
    color: var(--text-faint);
    font-size: var(--fs-xs);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 220px;
}
.lookup-list .lk-amount[b-zp99qw2fzg] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    text-align: right;
    color: var(--text-muted);
    font-size: var(--fs-sm);
    min-width: 7.5rem;
    grid-column: 3;
}
.lookup-list li.active .lk-hint[b-zp99qw2fzg], .lookup-list li:hover .lk-hint[b-zp99qw2fzg] { color: inherit; opacity: .75; }
.lookup-list li.active .lk-amount[b-zp99qw2fzg], .lookup-list li:hover .lk-amount[b-zp99qw2fzg] { color: inherit; }

.lookup-list .lk-create[b-zp99qw2fzg] {
    grid-template-columns: 1fr auto;
    margin-top: 2px;
    border-top: 1px dashed var(--border);
    color: var(--primary);
    font-weight: 600;
}

/* Enter on text that matches nothing: a short shake and a red edge instead of silently moving on. */
.lookup.lookup-nomatch input[b-zp99qw2fzg] {
    border-color: var(--danger) !important;
    animation: lk-shake-b-zp99qw2fzg .32s ease-in-out;
}
.lookup.lookup-nomatch .lookup-list .empty[b-zp99qw2fzg] { color: var(--danger); font-weight: 600; }
@keyframes lk-shake-b-zp99qw2fzg {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

@media (max-width: 760px) {
    .lookup-list[b-zp99qw2fzg] { min-width: min(100%, calc(100vw - 32px)); max-width: calc(100vw - 32px); }
    .lookup-list .lk-hint[b-zp99qw2fzg] { display: none; }
}

/* The "F3 New" hint (app.css .lookup-f3-hint) sits at the right edge of an empty, focused box: keep the
   placeholder out from under it (it ends in "…" instead of running into the hint). */
@media (hover: hover) {
    .lookup:focus-within input[data-f3]:placeholder-shown[b-zp99qw2fzg] { padding-right: 4.75rem; text-overflow: ellipsis; }
}
/* /Components/Shared/Onboarding/GetStartedChecklist.razor.rz.scp.css */
/* "Get started" card: header with progress, then the six steps as tiles (3 × 2 on desktop, a list on phones). */
.gs[b-gh7myoudt7] { overflow: hidden; }

.gs-head[b-gh7myoudt7] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem .75rem;
}
.gs-title[b-gh7myoudt7] { flex: 1; min-width: 0; }
.gs-title h2[b-gh7myoudt7] { margin: 0; font-size: var(--fs-lg); }
.gs-sub[b-gh7myoudt7] { margin: 2px 0 0; color: var(--text-muted); font-size: var(--fs-sm); }
.gs-sub strong[b-gh7myoudt7] { color: var(--text); font-variant-numeric: tabular-nums; }

.gs-meter[b-gh7myoudt7] {
    flex: 0 0 160px;
    height: 8px;
    border-radius: 999px;
    background: var(--surface-sunken);
    overflow: hidden;
}
.gs-meter span[b-gh7myoudt7] {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--primary), var(--success));
    transition: width .3s ease-out;
}
.gs-hide[b-gh7myoudt7] { flex: none; }

.gs-steps[b-gh7myoudt7] {
    list-style: none;
    margin: 0;
    padding: 0 1.25rem 1rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem;
}

.gs-link[b-gh7myoudt7] {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    height: 100%;
    padding: .75rem .8rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    color: var(--text);
    text-decoration: none;
    transition: border-color .12s, background .12s;
}
.gs-link:hover[b-gh7myoudt7], .gs-link:focus-visible[b-gh7myoudt7] {
    border-color: var(--primary);
    background: var(--primary-soft);
    text-decoration: none;
    outline: none;
}

.gs-tick[b-gh7myoudt7] {
    flex: none;
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid var(--border-strong);
    color: var(--text-muted);
    font-size: var(--fs-sm);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.gs-tick svg[b-gh7myoudt7] { width: 15px; height: 15px; }

.gs-text[b-gh7myoudt7] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.gs-step-title[b-gh7myoudt7] { font-weight: 600; line-height: 1.3; }
.gs-hint[b-gh7myoudt7] {
    color: var(--text-muted);
    font-size: var(--fs-xs);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.gs-link kbd[b-gh7myoudt7] { flex: none; margin-top: 2px; }
.gs-go[b-gh7myoudt7] { flex: none; color: var(--text-faint); font-size: 1.1rem; line-height: 1.2; }

/* The next step stands out; done steps step back. */
.gs-step.next .gs-link[b-gh7myoudt7] { border-color: var(--primary); box-shadow: 0 0 0 3px rgb(79 70 229 / .10); }
.gs-step.next .gs-tick[b-gh7myoudt7] { border-color: var(--primary); background: var(--primary); color: var(--primary-contrast); }
.gs-step.done .gs-link[b-gh7myoudt7] { background: var(--surface-2); }
.gs-step.done .gs-tick[b-gh7myoudt7] { border-color: var(--success); background: var(--success); color: #fff; }
.gs-step.done .gs-step-title[b-gh7myoudt7] { color: var(--text-muted); font-weight: 500; }
.gs-step.done .gs-hint[b-gh7myoudt7] { display: none; }

.gs-foot[b-gh7myoudt7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    padding: .7rem 1.25rem;
    border-top: 1px solid var(--border);
    background: var(--surface-2);
    color: var(--text-muted);
    font-size: var(--fs-sm);
}
.gs-dot[b-gh7myoudt7] { color: var(--text-faint); }

@media (max-width: 1100px) {
    .gs-steps[b-gh7myoudt7] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .gs-head[b-gh7myoudt7] { flex-wrap: wrap; padding: .9rem 1rem .6rem; }
    .gs-meter[b-gh7myoudt7] { order: 3; flex: 1 0 100%; }
    .gs-steps[b-gh7myoudt7] { grid-template-columns: 1fr; padding: 0 1rem .9rem; }
    .gs-link kbd[b-gh7myoudt7] { display: none; }
    .gs-link[b-gh7myoudt7] { min-height: 48px; align-items: center; }
    .gs-foot[b-gh7myoudt7] { padding: .7rem 1rem; }
}
/* /Components/Shared/Onboarding/SampleCompanyButton.razor.rz.scp.css */
.btn[b-zjfwcsfvhq] { gap: .45rem; }
.spinner[b-zjfwcsfvhq] {
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: sample-spin-b-zjfwcsfvhq .7s linear infinite;
}
@keyframes sample-spin-b-zjfwcsfvhq { to { transform: rotate(360deg); } }
/* /Components/Shared/Onboarding/Term.razor.rz.scp.css */
/* Glossary tooltip: dotted underline + a small card on hover / keyboard focus. Pure CSS, no round-trip. */
.term[b-w0d7gbpah9] {
    position: relative;
    border-bottom: 1px dotted currentColor;
    cursor: help;
    outline: none;
}
.term:focus-visible[b-w0d7gbpah9] { box-shadow: var(--focus-ring); border-radius: 3px; }

.term-tip[b-w0d7gbpah9] {
    position: absolute;
    z-index: 60;
    top: calc(100% + 6px);
    left: 50%;
    translate: -50% 0;
    width: max-content;
    max-width: min(300px, 80vw);
    padding: .55rem .7rem;
    border-radius: var(--radius-sm);
    background: var(--text);
    color: var(--surface);
    font-size: var(--fs-sm);
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none;
    line-height: 1.4;
    white-space: normal;
    text-align: left;
    box-shadow: var(--shadow-lg);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .12s ease-out;
}
.term-tip strong[b-w0d7gbpah9] { font-weight: 650; }
.term-tip em[b-w0d7gbpah9] { font-style: normal; opacity: .75; }
.term-text[b-w0d7gbpah9] { display: block; margin-top: 2px; }

.term:hover .term-tip[b-w0d7gbpah9],
.term:focus .term-tip[b-w0d7gbpah9] { opacity: 1; visibility: visible; }

@media print {
    .term[b-w0d7gbpah9] { border-bottom: 0; }
    .term-tip[b-w0d7gbpah9] { display: none; }
}
/* /Components/Shared/Onboarding/UserControlPrompt.razor.rz.scp.css */
.uc-modal[b-pzquay9hbd] { width: min(400px, calc(100vw - 32px)); }
.uc-modal h2[b-pzquay9hbd] { margin-bottom: .25rem; }
.uc-actions[b-pzquay9hbd] { display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1.1rem; }
/* /Components/Shared/PageHeader.razor.rz.scp.css */
/* Title block: keeps long company / report names on one line on desktop, wraps cleanly on phones. */
.ph-title[b-t4cl97tjcf] { min-width: 0; }
.ph-title-row[b-t4cl97tjcf] { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.ph-status[b-t4cl97tjcf] { display: inline-flex; align-items: center; }

/* "More ⋯" overflow menu (pure <details>, no JS needed; keyboard.js closes it after a choice). */
.ph-more[b-t4cl97tjcf] { position: relative; }
.ph-more > summary[b-t4cl97tjcf] { list-style: none; cursor: pointer; user-select: none; }
.ph-more > summary[b-t4cl97tjcf]::-webkit-details-marker { display: none; }
.ph-more[open] > summary[b-t4cl97tjcf] { background: var(--surface-2); box-shadow: var(--focus-ring); }
.ph-more-menu[b-t4cl97tjcf] {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 70;
    min-width: 220px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 4px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
}
.ph-more-menu[b-t4cl97tjcf]  .btn,
.ph-more-menu[b-t4cl97tjcf]  a {
    justify-content: space-between;
    width: 100%;
    border-color: transparent;
    background: transparent;
    text-align: left;
}
.ph-more-menu[b-t4cl97tjcf]  .btn:hover,
.ph-more-menu[b-t4cl97tjcf]  .btn:focus-visible { background: var(--surface-sunken); }
/* /Components/Shared/RequirePermission.razor.rz.scp.css */
/* "No access" card of the permission guard: calm, readable, one clear way out. */
.no-access[b-u6hrrj4y7s] {
    margin-top: 2rem;
}

.no-access-head[b-u6hrrj4y7s] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 0.75rem;
}

.no-access-head h1[b-u6hrrj4y7s] {
    margin: 0 0 0.25rem;
    font-size: var(--fs-xl);
}

.no-access-icon[b-u6hrrj4y7s] {
    flex: none;
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: var(--warning-soft);
    color: var(--warning);
}

.no-access-icon svg[b-u6hrrj4y7s] {
    width: 1.4rem;
    height: 1.4rem;
}

.no-access-actions[b-u6hrrj4y7s] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}
/* /Components/Shared/UpiQr.razor.rz.scp.css */
/* UPI QR: white quiet zone even in dark theme (scanners need light background). */
.upi-qr[b-vhlvvjtvar] {
    margin: 0;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: .35rem;
}
.upi-qr[b-vhlvvjtvar]  svg {
    width: 100%;
    height: auto;
    background: #fff;
    padding: 6px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
}
.upi-qr figcaption[b-vhlvvjtvar] {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: var(--fs-xs);
    line-height: 1.3;
    text-align: center;
}
/* /Components/Shared/YesNoAnySelect.razor.rz.scp.css */
/*
 * Any / Yes / No filter drop-down (YesNoAnySelect). Same rules as YesNoSelect.razor.css (scoped CSS cannot be
 * shared), a little wider for "Any".
 */
select.yesno[b-420z8fkcey] {
    width: 84px !important;
    min-width: 0;
    flex: 0 0 auto;
    padding-right: 1.5rem;
    cursor: pointer;
}
select.yesno:disabled[b-420z8fkcey] { cursor: not-allowed; opacity: .65; }

.yn[b-420z8fkcey] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: var(--fs-sm);
    font-weight: 550;
    color: var(--text-muted);
    white-space: nowrap;
    user-select: none;
}
.yn-text[b-420z8fkcey] { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

:is(.report-toolbar, .rt-more, .rt-options) .yn[b-420z8fkcey] { font-size: var(--fs-xs); gap: 4px; }
:is(.report-toolbar, .rt-more, .rt-options) select.yesno[b-420z8fkcey] {
    width: 66px !important;
    height: 30px;
    padding: 0 1.25rem 0 .4rem;
    font-size: var(--fs-sm);
}
/* /Components/Shared/YesNoSelect.razor.rz.scp.css */
/*
 * Yes / No drop-down (YesNoSelect). Looks like every other .select (border, focus ring and dark-mode tokens come
 * from app.css) but compact: ~80px wide, never stretched by ".field select { width: 100% }" or by the report
 * toolbar's filter widths. YesNoAnySelect.razor.css repeats these rules (scoped CSS cannot be shared).
 */
select.yesno[b-x35nlqbpxp] {
    width: 80px !important;
    min-width: 0;
    flex: 0 0 auto;
    padding-right: 1.5rem;
    cursor: pointer;
}
select.yesno:disabled[b-x35nlqbpxp] { cursor: not-allowed; opacity: .65; }

/* Inline "label + select" (option rows, toolbars). */
.yn[b-x35nlqbpxp] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: var(--fs-sm);
    font-weight: 550;
    color: var(--text-muted);
    white-space: nowrap;
    user-select: none;
}
.yn-text[b-x35nlqbpxp] { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

/* Report toolbars / "More" rows / option strips: small label, 30px select (docs/UI-GUIDE.md §Report layout). */
:is(.report-toolbar, .rt-more, .rt-options) .yn[b-x35nlqbpxp] { font-size: var(--fs-xs); gap: 4px; }
:is(.report-toolbar, .rt-more, .rt-options) select.yesno[b-x35nlqbpxp] {
    width: 62px !important;
    height: 30px;
    padding: 0 1.25rem 0 .4rem;
    font-size: var(--fs-sm);
}
