﻿body, html {
    font-family: Nunito,sans-serif !important;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    background-color: #F6F7FB !important;
    background-image: none !important;
}

:root {
    --rz-outline-focus: var(--rz-outline-width) solid var(--rz-base-900) !important;
    --rz-outline-color: var(--rz-base-900) !important;
    --rz-root-font-size: 14px !important;
}

    :root:has(.rz-layout) body {
        font-family: Nunito,sans-serif !important;
        font-optical-sizing: auto;
        font-weight: 600;
        font-style: normal;
    }

.rz-selectbar .rz-button.rz-state-active {
    background-color: rgb(0 0 0/16%) !important;
    color: #000 !important;
}

.rz-data-grid .rz-data-row:hover {
    background: var(--rz-grid-stripe-background-color);
}

.rz-card {
    padding: .75rem !important;
}

.rz-datatable-loading {
    background-color: rgb(0 0 0/16%) !important;
}

.rz-progressbar-indeterminate.rz-progressbar-primary .rz-progressbar-circular-value {
    stroke: #212529 !important;
}

.bah-btn-busy {
    position: relative;
    pointer-events: none;
}

    .bah-btn-busy .rz-button-box,
    .bah-btn-busy .rz-button-text,
    .bah-btn-busy .rzi {
        visibility: hidden;
    }

    .bah-btn-busy::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 1.05em;
        height: 1.05em;
        margin: -0.525em 0 0 -0.525em;
        border: 2px solid currentColor;
        border-top-color: transparent;
        border-radius: 50%;
        opacity: .85;
        animation: bah-btn-spin .6s linear infinite;
    }

@keyframes bah-btn-spin {
    to {
        transform: rotate(360deg);
    }
}

.rz-datatable-loading-content {
    color: #000 !important;
}

.rz-tabview-panel {
    padding: .75rem !important;
}

.rz-col-md-6 .rz-fieldset-content {
    padding: .75rem !important;
}

.rz-shadow-0-parent .rz-card.rz-variant-filled {
    box-shadow: none;
    border: var(--rz-tabs-border);
}

.rz-shadow-0-parent .rz-card:last-of-type {
    border-start-end-radius: 0 !important;
    border-end-end-radius: 0 !important;
}

.clicked-card-style {
    background-color: #f4f5f9 !important;
    border: none !important;
    transition: .25s ease-in-out;
}

.payment-settelements-card-parent .title-text {
    font-size: 18px;
    font-weight: 500;
    color: #333;
    margin-bottom: 15px;
}

.payment-settelements-card-parent .amount-text {
    font-size: 30px;
    font-weight: 800;
    color: #000;
}

.rz-shadow-0-parent .rz-card:first-of-type {
    border-start-start-radius: 0 !important;
    border-end-start-radius: 0 !important;
}

.custom-steps .rz-message-popup {
    z-index: 9999 !important;
    left: 50%;
    top: 72%;
}

.fw-300 {
    font-weight: 300 !important;
}

.purchase-table .rz-data-grid-data {
    overflow: initial !important;
}

.purchase-table tbody, .purchase-table td, .purchase-table tfoot, .purchase-table th, .purchase-table thead, .purchase-table tr {
    position: relative !important;
    overflow: visible !important;
}

.purchase-table .rz-message-popup {
    left: 0 !important;
    top: 70% !important;
}

.rz-datatable {
    overflow: visible !important;
}

.fieldset-content-pb-5 .rz-fieldset-content {
    padding-bottom: 2.5rem !important;
}

.custom-steps-grn .rz-message-popup, .rz-message-popup {
    z-index: 9999 !important;
}

.summary-input-full input {
    text-align: left !important;
}

.rz-p-5-cus {
    padding: 0.75rem;
}

.rz-text-subtitle2 {
    font-family: Nunito,sans-serif !important;
    font-optical-sizing: auto;
    font-style: normal;
}

.rz-text-body1, .rz-text-h6, .rz-text-h5, .rz-text-h4, .rz-text-h3, .rz-text-h2, .rz-text-h1 {
    font-family: Nunito,sans-serif !important;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
}

.hover-card .rz-card {
    transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

    .hover-card .rz-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    }

.rz-form-field.rz-state-focused .rz-form-field-content {
    box-shadow: 0 0 0 1px var(--rz-white),0 0 0 3px rgb(0 0 0/5%) !important;
    border: 1px solid var(--rz-base-500) !important;
}

.rz-autocomplete:focus-within ~ .rz-form-field-label, .rz-form-field.rz-state-focused .rz-form-field-label, .rz-state-focused .rz-form-field-label {
    color: var(--rz-base-900) !important;
}

.rz-form-field:hover .rz-form-field-content {
    border-color: var(--rz-base-500) !important;
}

.rz-grid-table .rz-data-row td .rz-cell-data, .rz-grid-table thead th .rz-column-title-content {
    font-size: 10px !important;
    color: #222 !important;
}

    .rz-grid-table .rz-data-row td .rz-cell-data .rz-badge-pill, .rz-grid-table thead th .rz-column-title-content .rz-badge-pill {
        font-size: 10px !important;
    }

.for-margin-remove .rz-form-field-content {
    margin-top: 0;
    min-height: 28px;
    max-height: 29px;
}

.filter-css-parent-use-only .rz-group-header {
    justify-content: space-between;
    flex-direction: row-reverse;
}

.filter-css-parent-use-only .rz-form-field-end {
    padding: 0 !important;
    padding-inline: 0 !important;
}

.rz-autocomplete-items li.rz-state-highlight, .rz-dropdown-item.rz-state-highlight, .rz-dropdown-items li.rz-state-highlight, .rz-multiselect-items li.rz-state-highlight, .rz-state-highlight.rz-autocomplete-list-item, .rz-state-highlight.rz-menuitem, .rz-state-highlight.rz-multiselect-item {
    background-color: var(--rz-base-200) !important;
    color: var(--rz-base-900) !important;
}

.rz-autocomplete-items li:hover, .rz-autocomplete-list-item:hover, .rz-dropdown-item:hover, .rz-dropdown-items li:hover, .rz-menuitem:hover, .rz-multiselect-item:hover, .rz-multiselect-items li:hover {
    background-color: var(--rz-base-200) !important;
    color: var(--rz-base-900) !important;
}

.rz-tabview-top > .rz-tabview-nav li:hover:not(.rz-tabview-selected):not(.rz-state-disabled) {
    border-top-color: var(--rz-base-900) !important;
    color: var(--rz-base-900) !important;
}

.rz-tabview-top > .rz-tabview-nav .rz-tabview-selected {
    border-top-color: var(--rz-base-900) !important;
}

.rz-tabview-nav li:hover:not(.rz-tabview-selected):not(.rz-state-disabled) {
    color: var(--rz-base-900) !important;
}

.rz-link {
    color: var(--rz-base-900) !important;
}

.rz-panel-menu .rz-navigation-item-active:before, .rz-panel-menu .rz-navigation-item-wrapper-active:before {
    background-color: var(--rz-base-50) !important;
    content: none !important;
    display: none !important;
}

.rz-panel-menu li.bah-nav-active > .rz-navigation-item-wrapper,
.rz-panel-menu li.bah-nav-parent-active > .rz-navigation-item-wrapper {
    background-color: var(--rz-panel-menu-item-active-background-color, rgba(255, 255, 255, 0.14));
}

.rz-panel-menu .rz-navigation-menu li.bah-nav-active > .rz-navigation-item-wrapper {
    background-color: var(--rz-panel-menu-item-2nd-level-active-background-color, rgba(255, 255, 255, 0.1));
}

.rz-panel-menu li.bah-nav-active > .rz-navigation-item-wrapper .rz-navigation-item-link,
.rz-panel-menu li.bah-nav-active > .rz-navigation-item-wrapper .rz-navigation-item-text,
.rz-panel-menu li.bah-nav-active > .rz-navigation-item-wrapper .rz-navigation-item-icon,
.rz-panel-menu li.bah-nav-parent-active > .rz-navigation-item-wrapper .rz-navigation-item-text,
.rz-panel-menu li.bah-nav-parent-active > .rz-navigation-item-wrapper .rz-navigation-item-icon {
    color: #fff;
}

.menu-parent-class-only ul.rz-profile-menu .rz-navigation-menu .rz-navigation-item-wrapper:hover {
    background-color: var(--rz-base-300) !important;
    color: var(--rz-base-900) !important;
}

    .menu-parent-class-only ul.rz-profile-menu .rz-navigation-menu .rz-navigation-item-wrapper:hover .rz-navigation-item-link, .menu-parent-class-only ul.rz-profile-menu .rz-navigation-menu .rz-navigation-item-wrapper:hover .rz-navigation-item-text {
        color: var(--rz-base-900) !important;
    }

.ba-header-identity .ba-header-business {
    font-weight: 500;
    line-height: 1.2;
}

.ba-header-identity .ba-header-role {
    color: inherit;
    opacity: 0.7;
    line-height: 1.2;
    font-family: Nunito,sans-serif !important;
}

.ba-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--rz-base-900);
    color: var(--rz-text-contrast-color);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    cursor: pointer;
    user-select: none;
}

.ba-avatar-logo {
    object-fit: cover;
    background: #fff;
    border: 1px solid var(--rz-base-300);
}

.menu-parent-class-only ul.rz-profile-menu .rz-navigation-menu li.ba-profile-card {
    display: block;
    padding: 0.50rem 0.75rem;
    min-width: 17rem;
    cursor: default;
    list-style: none;
    border-bottom: 1px solid var(--rz-base-300);
}

.ba-profile-card .ba-profile-card-muted {
    color: var(--rz-text-secondary-color);
    font-family: Nunito,sans-serif !important;
}

.ba-profile-card .ba-profile-card-gstin {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--rz-base-200);
    font-size: 0.75rem;
}

.ba-profile-card .ba-profile-card-value {
    letter-spacing: 0.03em;
    color: var(--rz-text-color);
    margin-left: auto;
    user-select: all;
}

.rz-switch.rz-switch-checked .rz-switch-circle {
    background: var(--rz-base-900) !important;
}

#passwordcode {
    height: 50px;
}

.custom-button-form-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 93vh !important;
    position: relative !important;
}

.rz-dialog-side-position-right.rz-open::-webkit-scrollbar {
    display: none !important;
}

.rz-dialog-side-position-right.rz-open {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    /* Stacking order (keep in this order; each layer must sit above the one before):
       page pop-ups 99999 < side panel 100100 < its dropdowns/date pickers 100200
       < dialogs opened from a side panel 100300 (mask 100290) < toasts 100400 < error banner 100500.
       The side panel must cover the Counter Sale GST/address pop-ups (99999); anything it opens must cover it. */
    z-index: 100100;
}

.custom-button-form-wrapper .rz-form-field-content {
    margin-top: 10px;
}

.for-role-m-0 .rz-form-field-content {
    margin-top: 0px;
}

.bah-dialog-form {
    display: flex;
    flex-direction: column;
}

    .bah-dialog-form .rz-form-field-content {
        margin-top: 10px;
    }

    .bah-dialog-form .form-content {
        max-height: 70vh;
        overflow-y: auto;
    }

    .bah-dialog-form .form-footer {
        position: sticky;
        bottom: 0;
        background: #fff;
        border-top: 1px solid #e5e5e5;
    }

.custom-button-form-wrapper .form-content {
    flex: 1;
    overflow-y: auto !important;
}

.custom-button-form-wrapper .form-footer {
    position: sticky !important;
    bottom: 0 !important;
    background: #fff !important;
    padding: 15px !important;
    border-top: 1px solid #e5e5e5 !important;
}

    .custom-button-form-wrapper .form-footer > * {
        width: 100% !important;
    }

.chart-box .rz-chart {
    min-width: 390px !important;
}

.edit-user-page-cus-form-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 93vh;
    position: relative;
}

    .edit-user-page-cus-form-wrapper .rz-form-field-content {
        margin-top: 18px;
    }

    .edit-user-page-cus-form-wrapper .form-content {
        flex: 1;
        overflow-y: auto;
        padding-bottom: 120px;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

        .edit-user-page-cus-form-wrapper .form-content::-webkit-scrollbar {
            display: none;
        }

    .edit-user-page-cus-form-wrapper .form-footer {
        position: sticky !important;
        bottom: 0 !important;
        background: #fff !important;
        padding: 15px !important;
        border-top: 1px solid #e5e5e5 !important;
    }

        .edit-user-page-cus-form-wrapper .form-footer > * {
            width: 100% !important;
        }

.rz-dialog-confirm .rz-button.rz-primary.rz-shade-default {
    background: #000 !important;
    color: #fff !important;
}

.app-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.rz-body {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}

.body-content {
    flex: 1 0 auto;
}

.sticky-footer {
    margin-top: auto;
    text-align: center;
    padding: 0.30rem !important;
    font-size: 14px;
}

h1:focus {
    outline: 0;
}

.btn-link, a {
    color: #0071c1;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn-link.nav-link:focus, .btn:active:focus, .btn:focus, .form-check-input:focus, .form-control:focus {
    box-shadow: 0 0 0 .1rem #fff,0 0 0 .25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #ccc !important;
}

.outline-0 .valid.modified:not([type=checkbox]) {
    outline: 0 !important;
}

.invalid {
    outline: 1px solid red;
}

#blazor-error-ui {
    background: #ffffdc;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0,0,0,.2);
    display: none;
    left: 0;
    padding: .6rem 1.25rem .7rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: .75rem;
        top: .5rem;
    }

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: #fff;
}

    .blazor-error-boundary::after {
        content: "An error has occurred.";
    }

code {
    color: #c02d76;
}

.loading-progress {
    position: relative;
    display: block;
    width: 8rem;
    height: 8rem;
    margin: 20vh auto 1rem;
}

    .loading-progress circle {
        fill: none;
        stroke: #e0e0e0;
        stroke-width: .6rem;
        transform-origin: 50% 50%;
        transform: rotate(-90deg);
    }

        .loading-progress circle:last-child {
            stroke: #1b6ec2;
            stroke-dasharray: calc(3.141 * var(--blazor-load-percentage,0%) * .8),500%;
            transition: stroke-dasharray .05s ease-in-out;
        }

.loading-progress-text {
    position: absolute;
    text-align: center;
    font-weight: 700;
    inset: calc(20vh + 3.25rem) 0 auto .2rem;
}

    .loading-progress-text:after {
        content: var(--blazor-load-percentage-text,"Loading");
    }

.header-logo {
    width: 5%;
    padding: 5px;
}

.login-box {
    width: 100%;
    max-width: 420px;
    box-shadow: var(--rz-card-shadow);
    border-radius: var(--rz-border-radius);
}

.wasm-loader {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #000;
}

.wasm-loader-logo {
    width: 80%;
    height: auto;
    margin-bottom: 20px;
    animation: pulse 2s infinite ease-in-out;
}

.wasm-spinner {
    border: 4px solid rgba(255,255,255,.3);
    border-top: 4px solid #000;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
    margin-bottom: 16px;
}

.wasm-loader-text {
    font-size: 1.1rem;
    opacity: .9;
}

.page-loader-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255,255,255,.7);
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rz-dialog-wrapper {
    box-sizing: border-box;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: var(--rz-dialog-zindex);
    align-items: center;
    justify-content: center;
}

@keyframes spin {
    100% {
        transform: rotate(360deg);
    }
}

@keyframes pulse {
    50% {
        opacity: .6;
    }
}

.list-toolbar .rz-button {
    min-height: 28px;
}

.ba-searchbox .rz-form-field {
    width: 16rem;
    height: 2rem;
}

.ba-searchbox .rz-textbox {
    height: 2rem;
}

.ba-searchbox .rz-form-field-end {
    align-self: stretch;
    align-items: stretch;
    height: auto;
    margin-block: -1px;
    margin-inline-end: -1px;
}

    .ba-searchbox .rz-form-field-end .rz-button {
        height: 100%;
        border-start-start-radius: 0;
        border-end-start-radius: 0;
    }

.ba-daterange {
    position: relative;
    display: inline-flex;
}

.ba-daterange__pill {
    height: 28px;
    gap: 4px;
}

    .ba-daterange__pill.is-active {
        border-color: #000000 !important;
        background: #00000012 !important;
        color: #000000 !important;
    }

.ba-daterange__text {
    white-space: nowrap;
}

.ba-daterange__backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: transparent;
}

.ba-daterange__panel {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 1001;
    min-width: 320px;
    max-width: calc(100vw - 2rem);
    padding: .75rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    box-shadow: 0 6px 28px rgba(0,0,0,.13);
    animation: fadeDown .15s ease;
}

.ba-daterange__title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: #64748b;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e2e8f0;
}

.ba-daterange__field {
    margin-bottom: 12px;
}

.ba-daterange__label {
    font-size: .75rem;
    font-weight: 600;
    color: #000;
    text-transform: uppercase;
    letter-spacing: .6px;
    margin-bottom: 6px;
}

.ba-daterange__error {
    font-size: .75rem;
    color: #b91c1c;
    margin-bottom: 10px;
}

.ba-daterange__footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e2e8f0;
}

.rz-datatable td, .rz-datatable th {
    border-bottom: 1px solid #EEF0F2;
}

.rz-data-grid, .rz-datatable {
    --rz-grid-cell-border: 1px solid #EEF0F2;
    --rz-grid-bottom-cell-border: 1px solid #EEF0F2;
    --rz-grid-right-cell-border: 1px solid #EEF0F2;
    --rz-grid-header-cell-border: 1px solid #EEF0F2;
    --rz-grid-header-cell-border-bottom: 1px solid #EEF0F2;
    --rz-grid-frozen-cell-border: 1px solid #EEF0F2;
}

.rz-steps .rz-state-highlight .rz-steps-number {
    background-color: #000 !important;
    border-color: #000 !important;
}

.rz-steps .rz-state-highlight .rz-steps-title, .rz-steps-title {
    color: #000 !important;
}

.rz-steps .rz-step.rz-step-completed .rz-step-marker {
    background-color: #4caf50;
    border-color: #4caf50;
}

.rz-steps .rz-step .rz-step-title {
    color: #fff;
    font-weight: 600;
}

.rz-steps .rz-step:hover .rz-step-title {
    color: #ff9800;
}

.rz-steps .rz-step .rz-step-line {
    background-color: #757575;
}

.rz-steps-buttons {
    justify-content: center;
    margin-top: 1rem;
}

    .rz-steps-buttons .rz-steps-next, .rz-steps-buttons .rz-steps-prev {
        border-radius: 6px;
        padding: 6px 16px;
        background-color: #000 !important;
        color: #fff !important;
    }

        .rz-steps-buttons .rz-steps-next:hover {
            color: #fff !important;
        }

.rz-steps {
    display: flex;
    justify-content: center;
}

    .rz-steps ul {
        display: flex;
        padding: 0;
        margin: 0 auto;
        list-style: none;
    }

        .rz-steps ul .rz-steps-item {
            justify-content: center;
            display: flex !important;
        }

.rz-dialog-titlebar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100%;
}

.smart-counter-sell-pages .rz-tabview-panel {
    padding: 0 !important;
}

.responsive-width {
    width: 50% !important;
}

.for-padding-remove .rz-form-field-end {
    padding: 0 !important;
}

.rz-row {
    row-gap: 10px !important;
}

.required .rz-form-field-label:after {
    content: "*";
    color: red;
    margin-left: 2px;
}

.rz-dialog {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

    .rz-dialog .rz-dialog-content {
        width: 100% !important;
        height: auto !important;
        max-width: 100vw;
        max-height: 100vh;
        border-radius: 10px;
        padding: 0.75rem;
        text-transform: capitalize;
    }

.bah-plain-dialog-shell .rz-dialog-content {
    text-transform: none;
}

/* The HTML editor's link dialog: a URL and its words must not be capitalised by the dialog rule above. */
.rz-dialog-content .rz-html-editor-dialog-item {
    text-transform: none;
}

.bah-plain-dialog-shell .rz-dialog-alert-message {
    margin-block-end: 0.5rem;
}

.bah-plain-dialog-shell .rz-dialog-titlebar {
    padding-block: 10px;
    padding-inline: 10px;
}

.mapping-preview .rz-dialog-content {
    border-radius: 6px !important;
    padding: 0px 1.25rem 1.25rem;
}

.css-custom-dialog {
    position: relative !important;
    top: 0;
    bottom: 0;
    margin: 10px;
    padding: 5px !important;
}

.rz-dialog-confirm-buttons {
    flex-direction: row;
}

.no-close-dialog .rz-dialog-titlebar {
    display: none !important;
}

.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.custom-steps ul[role=tablist] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    padding: 14px 0;
    margin: 0 0 12px;
    position: relative;
    background: #f3f4f8;
    width: 100%;
    border-radius: 6px;
}

    .custom-steps ul[role=tablist] li.rz-steps-item {
        flex: 1;
        text-align: center;
        position: relative;
    }

    .custom-steps ul[role=tablist] .rz-steps-number {
        width: 30px;
        height: 30px;
        line-height: 20px;
        border-radius: 50%;
        background-color: #e0e0e0;
        color: #333;
        font-weight: 600;
        font-size: 13px;
        display: inline-block;
        transition: all .3s ease;
        z-index: 2;
    }

    .custom-steps ul[role=tablist] .rz-steps-title {
        display: block;
        color: #555;
        font-size: 12px;
        font-weight: 500;
        transition: color .3s ease;
    }

    .custom-steps ul[role=tablist] li.rz-state-highlight .rz-steps-number {
        background-color: #000;
        border-color: #000;
        color: #fff;
    }

    .custom-steps ul[role=tablist] li.rz-state-highlight .rz-steps-title {
        color: #000;
        font-weight: 600;
    }

    .custom-steps ul[role=tablist] li.rz-steps-item::after {
        content: "";
        position: absolute;
        top: 19px;
        right: -20%;
        width: 45%;
        height: 2px;
        background-color: #ccc;
        z-index: 1;
        transition: background-color .3s ease;
    }

    .custom-steps ul[role=tablist] li.rz-steps-item:last-child::after {
        display: none;
    }

    .custom-steps ul[role=tablist] li.rz-state-highlight::after {
        background-color: #000;
    }

.custom-steps-grn ul[role=tablist] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    padding: 0;
    position: relative;
    width: 100%;
    background: #f4f5f9 !important;
    margin-bottom: 20px;
}

.custom-steps-grn ul .rz-steps-item {
    margin: 20px 0;
}

.custom-steps-grn ul[role=tablist] li.rz-steps-item {
    flex: 1;
    text-align: center;
    position: relative;
}

.custom-steps-grn ul[role=tablist] .rz-steps-number {
    width: 38px;
    height: 38px;
    line-height: 27px;
    border-radius: 50%;
    background-color: #e0e0e0;
    color: #333;
    font-weight: 600;
    font-size: 15px;
    display: inline-block;
    transition: all .3s ease;
    z-index: 2;
}

.custom-steps-grn ul[role=tablist] .rz-steps-title {
    display: block;
    color: #555;
    font-size: 14px;
    font-weight: 500;
    transition: color .3s ease;
}

.custom-steps-grn ul[role=tablist] li.rz-state-highlight .rz-steps-number {
    background-color: #000;
    border-color: #000;
    color: #fff;
}

.custom-steps-grn ul[role=tablist] li.rz-state-highlight .rz-steps-title {
    color: #000;
    font-weight: 600;
}

.custom-steps-grn ul[role=tablist] li.rz-steps-item::after {
    content: "";
    position: absolute;
    top: 19px;
    right: -9%;
    width: 36%;
    height: 2px;
    background-color: #ccc;
    z-index: 1;
    transition: background-color .3s ease;
}

.custom-steps-grn ul[role=tablist] li.rz-steps-item:last-child::after {
    display: none;
}

.custom-steps-grn ul[role=tablist] li.rz-state-highlight::after {
    background-color: #000;
}

.custom-w-25 {
    width: 25%;
}

.steps-edit-grn ul[role=tablist] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
    width: 100%;
}

.steps-edit-grn ul .rz-steps-item {
    margin: 0 0 30px;
}

.steps-edit-grn ul[role=tablist] li.rz-steps-item {
    flex: 1;
    text-align: center;
    position: relative;
}

.steps-edit-grn ul[role=tablist] .rz-steps-number {
    width: 38px;
    height: 38px;
    line-height: 27px;
    border-radius: 50%;
    background-color: #e0e0e0;
    color: #333;
    font-weight: 600;
    font-size: 15px;
    display: inline-block;
    transition: all .3s ease;
    z-index: 2;
}

.steps-edit-grn ul[role=tablist] .rz-steps-title {
    display: block;
    color: #555;
    font-size: 14px;
    font-weight: 500;
    transition: color .3s ease;
}

.steps-edit-grn ul[role=tablist] li.rz-state-highlight .rz-steps-number {
    background-color: #000;
    border-color: #000;
    color: #fff;
}

.steps-edit-grn ul[role=tablist] li.rz-state-highlight .rz-steps-title {
    color: #000;
    font-weight: 600;
}

.steps-edit-grn ul[role=tablist] li.rz-steps-item::after {
    content: "";
    position: absolute;
    top: 19px;
    right: -17%;
    width: 36%;
    height: 2px;
    background-color: #ccc;
    z-index: 1;
    transition: background-color .3s ease;
}

.steps-edit-grn ul[role=tablist] li.rz-steps-item:last-child::after {
    display: none;
}

.steps-edit-grn ul[role=tablist] li.rz-state-highlight::after {
    background-color: #000;
}

.rz-pager-page.rz-state-active {
    background-color: rgb(0 0 0/31%) !important;
    color: var(--rz-base-900) !important;
}

.rz-tabview-left > .rz-tabview-nav .rz-tabview-selected, .rz-tabview-left > .rz-tabview-nav li:hover:not(.rz-tabview-selected):not(.rz-state-disabled) {
    border-left-color: #000 !important;
}

.rz-column-series path {
    cursor: pointer !important;
}

.rz-dialog:has(.bank-verification-popup) .rz-dialog-titlebar {
    display: none !important;
}

.rz-tabview-bottom > .rz-tabview-nav .rz-tabview-selected {
    border-bottom-color: #000 !important;
}

.rz-tabview-bottom > .rz-tabview-nav li:hover:not(.rz-tabview-selected):not(.rz-state-disabled) {
    border-bottom-color: #000 !important;
}

.ribbon {
    position: absolute;
    top: 85px;
    left: 15px;
    padding: 4px 15px;
}

.ribbon-content {
    width: auto;
    background: #f1f1f1;
    border: 1px solid #ddd;
}

.ribbon:after, .ribbon:before {
    content: '';
    position: absolute;
    right: -9px;
    border-right: 10px solid transparent;
}

.ribbon:before {
    top: 0;
}

.ribbon:after {
    bottom: 0;
}

.ribbon span {
    display: block;
    font-size: 16px;
    font-weight: 600;
}

.ribbon.reject {
    background: red;
    color: #fff;
    border-left: 5px solid #ff8686;
}

    .ribbon.reject:before {
        border-top: 27px solid red;
    }

    .ribbon.reject:after {
        border-bottom: 27px solid red;
    }

.ribbon.approve {
    background: #198754;
    color: #fff;
    border-left: 5px solid #0a603c;
}

    .ribbon.approve:before {
        border-top: 27px solid #198754;
    }

    .ribbon.approve:after {
        border-bottom: 27px solid #198754;
    }

.ribbon.pending {
    background: #6c757d;
    color: #fff;
    border-left: 5px solid #889097;
}

    .ribbon.pending:before {
        border-top: 27px solid #6c757d;
    }

    .ribbon.pending:after {
        border-bottom: 27px solid #6c757d;
    }

.tree-node {
    display: flex;
    align-items: center;
    gap: 4px;
    padding-right: 8px;
}

.node-text {
    min-width: 120px;
    font-weight: 500;
}

.node-actions {
    display: none;
    gap: 10px;
    font-size: .85rem;
}

.tree-node:hover:not(.editing) .node-actions {
    display: inline-flex;
}

.tree-node.editing .node-actions {
    display: none !important;
}

.rz-tree a.action-link {
    color: #fff !important;
    text-decoration: none;
    font-weight: 500;
}

    .rz-tree a.action-link:hover {
        color: #fff !important;
        text-decoration: underline;
    }

.rz-tree .rz-state-focused a.action-link, .rz-tree .rz-state-highlight a.action-link {
    color: #fff !important;
}

.inline-add {
    margin-left: 28px;
    margin-top: 6px;
    display: flex;
    align-items: center;
    gap: 10px;
}

    .inline-add input {
        width: 220px;
    }

.rz-tree .rz-treenode-content.rz-state-highlight, .rz-tree .rz-treenode-content:hover, .rz-tree .rz-treenode-label:hover {
    background-color: transparent !important;
    color: inherit !important;
}

.rz-tree .rz-state-highlight .node-text, .rz-tree .rz-state-highlight .rz-icon-bolt, .rz-tree .rz-state-highlight i {
    color: inherit !important;
}

.rz-tree .rz-treenode-content:hover {
    background-color: #fff !important;
}

.rz-treenode-content:focus {
    outline: 0 !important;
    box-shadow: none !important;
}

.text-wrap-header-column {
    white-space: normal !important;
    line-height: 1.2 !important;
}

.newsupplier-page .rz-tabview-top > .rz-tabview-nav li {
    border-right: 1px solid #d5d5d5 !important;
}

.avatar-edit-btn {
    position: absolute;
    bottom: -6px;
    right: -6px;
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0,0,0,.15);
}

.remove-padding .rz-fieldset-content {
    padding: 0 !important;
}

.rz-fieldset-padding-remove .rz-fieldset-content {
    padding: .5rem .75rem .75rem .75rem !important;
}

.profile-photo .rz-fileupload-content .rz-fileupload-row, .rz-fileupload-files {
    display: none !important;
}

.grn-card {
    border: 1px solid #dcdcdc;
    border-radius: 8px;
}

.part-detail .part-number {
    font-weight: 600;
    font-size: 10px;
}

.selected-part-container .part-description {
    font-weight: 800;
    white-space: break-spaces;
}

.edit_bill .part-description {
    display: flex;
    font-weight: 800;
    gap: 10px;
    align-items: center;
}

.edit_s_debit_note {
    display: flex;
    gap: 5px;
}

.grid-column-padding {
    padding-left: 5px !important;
    padding-right: 5px !important;
}

.rz-tabview-nav li a:not([href]):not([class]), .taxsectionpage .rz-tabview-nav li a {
    border-bottom: 1px solid #ccc !important;
}

.position-relative {
    position: relative;
}

.custom-badge {
    height: 0 !important;
    margin-bottom: 10px;
}

    .custom-badge .rz-badge-success {
        padding: 6px 8px;
        position: absolute;
        font-size: 13px;
        font-weight: 600;
        color: #fff;
        background: linear-gradient(90deg,#15762b 0,#30b74f 100%);
        border-radius: 5px 0 5px 5px;
        right: 0;
        top: -24px;
        z-index: 10;
    }

        .custom-badge .rz-badge-success::before {
            content: '';
            position: absolute;
            right: -17px;
            bottom: 18.5px;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 13px 12px 0 11px;
            border-color: #54545400 #216e33 #0000 #2b3e5e00;
            z-index: -99999;
            transform: rotate(-270deg);
        }

    .custom-badge .rz-badge-light {
        padding: 6px 8px;
        position: absolute;
        font-size: 13px;
        font-weight: 600;
        color: #4f4f50;
        background: linear-gradient(90deg,#d0d1d3 0,#d9d9d9 50%);
        border-radius: 5px 0 5px 5px;
        right: 0;
        top: -24px;
        z-index: 10;
    }

        .custom-badge .rz-badge-light::before {
            content: '';
            position: absolute;
            right: -17px;
            bottom: 18.5px;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 13px 12px 0 11px;
            border-color: #54545400 #4f4f50 #0000 #2b3e5e00;
            z-index: -99999;
            transform: rotate(-270deg);
        }

    .custom-badge .rz-badge-danger {
        padding: 6px 8px;
        position: absolute;
        font-size: 13px;
        font-weight: 600;
        color: #fff;
        background: linear-gradient(90deg,#dc3545 0,#ed5563 50%);
        border-radius: 5px 0 5px 5px;
        right: 0;
        top: -24px;
        z-index: 10;
    }

        .custom-badge .rz-badge-danger::before {
            content: '';
            position: absolute;
            right: -17px;
            bottom: 18.5px;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 13px 12px 0 11px;
            border-color: #54545400 #bf2b39 #0000 #2b3e5e00;
            z-index: -99999;
            transform: rotate(-270deg);
        }

    .custom-badge .rz-badge-secondary {
        padding: 6px 8px;
        position: absolute;
        font-size: 13px;
        font-weight: 600;
        color: #4f4f50 !important;
        background: linear-gradient(90deg,#d0d1d3 0,#d9d9d9 50%);
        border-radius: 5px 0 5px 5px;
        right: 0;
        top: -24px;
        z-index: 10;
    }

        .custom-badge .rz-badge-secondary::before {
            content: '';
            position: absolute;
            right: -17px;
            bottom: 18.5px;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 13px 12px 0 11px;
            border-color: #54545400 #4f4f50 #0000 #2b3e5e00;
            z-index: -99999;
            transform: rotate(-270deg);
        }

    .custom-badge .rz-badge-warning {
        padding: 6px 8px;
        position: absolute;
        font-size: 13px;
        font-weight: 600;
        color: #fff !important;
        background: linear-gradient(90deg,#f5a70f 0,#ffae11 50%);
        border-radius: 5px 0 5px 5px;
        right: 0;
        top: -24px;
        z-index: 10;
    }

        .custom-badge .rz-badge-warning::before {
            content: '';
            position: absolute;
            right: -17px;
            bottom: 18.5px;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 13px 12px 0 11px;
            border-color: #54545400 #cf881b #0000 #2b3e5e00;
            z-index: -99999;
            transform: rotate(-270deg);
        }

.uniq-code {
    height: 0 !important;
}

    .uniq-code .rz-badge-warning {
        padding: 6px 8px;
        position: absolute;
        font-size: 11px;
        font-weight: 600;
        color: #fff !important;
        background: #000 !important;
        border-radius: 5px 0 5px 5px;
        right: 0;
        top: -24px;
        z-index: 10;
    }

        .uniq-code .rz-badge-warning::before {
            content: '';
            position: absolute;
            right: -16px;
            bottom: 17.5px;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 10px 14px 0 8px;
            border-color: #54545400 #000 #0000 #2b3e5e00;
            z-index: -99999;
            transform: rotate(-270deg);
        }

.blue-link {
    color: #0000ef !important;
}

    .blue-link:hover {
        color: #0000c7 !important;
        text-decoration: underline !important;
    }

.icon-hand {
    cursor: pointer;
    color: var(--rz-primary);
}

.coa-parent-class .rz-treenode-content-selected .rz-treenode-label {
    background-color: #222 !important;
    color: #fff !important;
}

.coa-parent-class .rz-treenode-content:not(.rz-treenode-content-selected):hover .rz-treenode-label {
    background-color: rgb(0 0 0/16%);
    color: #000 !important;
    border-radius: var(--rz-tree-node-selected-border-radius);
}

.coa-parent-class .tree-node i {
    margin: 0 8px !important;
}

.small-text-notes {
    font-size: 10px;
    color: #696969;
    word-break: break-word;
}

.NCSO-css .rz-alert-item {
    display: flex !important;
    align-items: center !important;
}

.bank-veri-mr-custom-class .rz-form-field-content {
    margin-top: 5px !important;
    margin-bottom: 5px;
}

.bank-veri-mr-custom-class .w-50-custom {
    width: 50% !important;
}

.action-footer {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    background: #fff;
    padding: 8px;
    margin-top: 0.75rem;
    border-top: 1px solid #ddd;
    border-radius: 5px;
}

.action-footer-inner {
    margin: 0 auto;
    width: 100%;
    display: flex !important;
    flex-direction: row !important;
}

.page-bottom-spacer {
    height: 80px;
}

.invoice-wrapper {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.invoice-popup {
    animation: fadeSlideDown .25s ease forwards;
}

@keyframes fadeSlideDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.more-badge {
    display: inline-block;
    background-color: #000;
    color: #fff;
    border-radius: 5px;
    padding: 2px 4px;
    font-size: 11px;
    cursor: pointer;
    user-select: none;
    border: none;
    outline: 0;
}

    .more-badge:hover {
        background-color: #222;
    }

.invoice-popup-item {
    padding: 2px 0;
    font-size: 10px;
    border-bottom: 1px solid #f5f5f5;
    white-space: nowrap;
}

    .invoice-popup-item:last-child {
        border-bottom: none;
    }

.mt-0-class .rz-form-field-content {
    margin-top: 0 !important;
}

.summary-card {
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: .7rem !important;
}

.summary-card-po-page {
    border: none;
    padding: 0 !important;
}

.summary-row {
    padding: .45rem;
    border-radius: 4px;
    margin-bottom: .25rem;
}

.summary-row-grey {
    background: #f8f9fa;
}

.summary-row-white {
    background: #fff;
}

.summary-row-grey-po-page {
    background: none;
}

.summary-row-white-po-page {
    background: none;
}

.summary-label {
    font-size: .85rem;
    font-weight: 500;
}

.summary-value {
    font-size: .875rem;
    font-weight: 600;
}

.summary-subtotal-label {
    font-weight: 600;
    font-size: 1rem;
}

.summary-subtotal-qty {
    font-size: .78rem;
}

.summary-subtotal-value {
    font-weight: 700;
    font-size: 1rem;
}

.summary-total-label, .summary-total-value {
    font-weight: 700;
    font-size: 1.15rem;
    color: #212529;
}

.summary-input-full {
    width: 100%;
}

.summary-withholdtax .rz-radio-button-list-item .rz-radio-button {
    border-radius: 2px !important;
    border-color: #000 !important;
    background: #fff;
    width: 14px;
    height: 14px;
}

    .summary-withholdtax .rz-radio-button-list-item .rz-radio-button.rz-state-active, .summary-withholdtax .rz-radio-button-list-item .rz-radio-button:checked {
        background: #000 !important;
        border-color: #000 !important;
        border-radius: 2px !important;
    }

.summary-withholdtax .rz-radio-button-list-item label {
    font-size: .85rem;
    font-weight: 500;
    color: #212529;
}

.summary-withholdtax-item-gap {
    margin-right: .75rem;
}

.summary-tax-muted {
    font-size: .85rem;
    font-weight: 500;
    color: #6c757d;
}

.summary-help-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    width: 1rem;
    height: 1rem;
}

.discount-group {
    display: inline-flex;
    align-items: center;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.discount-group-icon {
    padding: .35rem .5rem;
    background: #f8f9fa;
    border-right: 1px solid #dee2e6;
    display: flex;
    align-items: center;
    color: #495057;
}

.discount-group .summary-input-full {
    border: none !important;
    border-right: 1px solid #dee2e6 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-width: 90px;
}

.discount-group .rz-selectbar {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: 0 0;
}

    .discount-group .rz-selectbar .rz-selectbar-item {
        border-radius: 0 !important;
        border: none !important;
        border-left: 1px solid #dee2e6 !important;
        padding: .3rem .6rem;
        font-size: .82rem;
        font-weight: 500;
        color: #495057;
        background: #fff;
    }

        .discount-group .rz-selectbar .rz-selectbar-item.rz-state-active {
            background: #212529 !important;
            color: #fff !important;
        }

.rz-radiobutton-box .rzi-circle-on {
    background-color: #000 !important;
}

    .rz-radiobutton-box .rzi-circle-on:hover:not(.rz-state-disabled) {
        background-color: #000 !important;
    }

.rz-radiobutton-box:hover:not(.rz-state-disabled) {
    border: 3px solid #000 !important;
}

.withholdtax .rz-radiobutton-label {
    margin-left: 4px;
}

.rz-sidebar-expanded {
    width: var(--rz-sidebar-width);
    opacity: 1;
    transition: width .5s cubic-bezier(.4,0,.2,1),opacity .5s ease,transform .5s ease !important;
}

.rz-sidebar-collapsed {
    transition: width .5s cubic-bezier(.4,0,.2,1),opacity .5s ease,transform .5s ease !important;
}

.purchase-table .rz-group-header .rz-custom-header {
    width: 100% !important;
    padding: .2rem !important;
}

.good-receipt-table .rz-group-header .rz-custom-header {
    width: 100% !important;
    padding: .75rem !important;
}

.empty-grid {
    color: #d3d3d3;
    font-size: 24px;
    text-align: center;
    margin: 2rem;
}

.custom-w-45 {
    width: 100%;
}

.report-page .filter-top-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0.75rem;
    background: #fff;
    flex-wrap: wrap;
    position: relative;
    justify-content: center;
}

    .report-page .filter-top-bar .filters-label {
        font-size: .82rem;
        color: #64748b;
        display: flex;
        align-items: center;
        gap: 6px;
    }

.report-page .filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    padding: 4px 10px;
    font-size: .8rem;
    background: #fff;
    cursor: pointer;
    color: #0f172a;
    position: relative;
}

    .report-page .filter-pill:hover {
        background: #f8fafc;
    }

.report-page .more-filters-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    padding: 4px 7px 4px 4px;
    font-size: .8rem;
    background: #fff;
    cursor: pointer;
    color: #0f172a;
    font-weight: 600;
    position: relative;
}

    .report-page .more-filters-btn:hover {
        background: #f8fafc;
    }

.report-page .icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    background: #fff;
    cursor: pointer;
    color: #64748b;
    font-size: 18px;
    transition: background .15s;
}

    .report-page .icon-btn:hover {
        background: #f8fafc;
    }

    .report-page .icon-btn.close-btn {
        color: #e53935;
        border-color: #fdd;
    }

.report-page .floating-popup {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 9999;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    box-shadow: 0 6px 28px rgba(0,0,0,.13);
    min-width: 320px;
    padding: 0.75rem;
    animation: fadeDown .15s ease;
}

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.report-page .popup-title {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: #64748b;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.report-page .popup-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e2e8f0;
}

.report-page .popup-field {
    margin-bottom: 10px;
}

    .report-page .popup-field:last-of-type {
        margin-bottom: 0;
    }

.report-page .filter-pill,
.report-page .more-filters-btn {
    border-color: #e2e8f0;
    font-weight: 500;
    padding: 5px 10px;
    color: #1e293b;
}

    .report-page .filter-pill:hover,
    .report-page .more-filters-btn:hover {
        background: #f8fafc;
        border-color: #cbd5e1;
    }

.report-page .icon-btn,
.report-page .report-nav-toggle {
    border-color: #e2e8f0;
}

.report-page .report-sheet {
    border-color: #e2e8f0;
    box-shadow: none;
    border-top: 0;
}

.report-page .floating-popup {
    box-shadow: 0 4px 18px rgba(0,0,0,.10);
}

.report-page .filter-top-bar .rz-textbox,
.report-page .filter-top-bar .rz-form-field,
.report-page .filter-top-bar .rz-form-field-wrapper {
    border-radius: 3px !important;
}

.report-page .report-sheet .rz-data-row td {
    border-bottom: 1px solid #f1f5f9;
}

.report-page .report-sheet .rz-data-grid,
.report-page .report-sheet .rz-datatable {
    border: 0;
}

.report-page .report-inner-header h2,
.report-page .report-inner-header h3 {
    font-size: 17px;
    letter-spacing: .2px;
}

.report-page .summary-row {
    border-radius: 0;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
    margin-bottom: 0;
}

.report-nav-toggle,
.report-page .report-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24.5px;
    height: 24.5px;
    border: 1px solid #e2e8f0;
    border-radius: 0px;
    background: #fff;
    color: #1e293b;
    cursor: pointer;
}

    .report-page .report-nav-toggle:hover {
        border-color: #cbd5e1;
    }

.rz-layout .rz-body:has(.report-nav-panel) {
    overflow: hidden;
}

.report-nav-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.28);
    z-index: 10000;
}

.report-nav-panel {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 300px;
    max-width: 86vw;
    background: #fff;
    border-right: 1px solid #e2e8f0;
    box-shadow: 0 0 30px rgba(0,0,0,.16);
    z-index: 10001;
    display: flex;
    flex-direction: column;
    animation: reportNavIn .16s ease;
}

@keyframes reportNavIn {
    from {
        transform: translateX(-14px);
        opacity: .4;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.report-nav-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.report-nav-title {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
}

.report-nav-close {
    border: 0;
    background: none;
    color: #64748b;
    cursor: pointer;
    line-height: 1;
}

.report-nav-search {
    padding: 12px 16px;
}

.report-nav-section {
    padding: 4px 16px 8px;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: #94a3b8;
}

.report-nav-list {
    overflow-y: auto;
    padding-bottom: 16px;
}

.report-nav-group-head {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    padding: 8px 16px;
    border: 0;
    background: none;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    color: #000;
    text-align: left;
}

.report-nav-item {
    display: block;
    width: 100%;
    padding: 7px 16px 7px 40px;
    border: 0;
    background: none;
    text-align: left;
    font-size: 12.5px;
    font-weight: 600;
    color: #1e293b;
    cursor: pointer;
}

    .report-nav-item:hover {
        background: #f8fafc;
    }

    .report-nav-item.is-current {
        background: #efefef;
        font-weight: 700;
        color: #0f172a;
        box-shadow: inset 3px 0 0 #000000;
    }

.report-nav-empty {
    padding: 16px;
    color: #64748b;
    font-size: 12.5px;
}

.report-page .report-hub-layout {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 10px;
}

.report-page .report-hub-rail {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    padding: 0.75rem 0.60rem;
    align-self: start;
}

.report-page .report-hub-rail-title {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: #94a3b8;
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid #e2e8f0;
}

.report-page .report-hub-rail-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0.40rem;
    font-size: 12.5px;
    color: #1e293b;
    cursor: pointer;
    border-radius: 3px;
    border-left: 2px solid transparent;
    text-decoration: none;
}

    .report-page .report-hub-rail-item:hover {
        background: #f8fafc;
    }

    .report-page .report-hub-rail-item.is-active {
        background: #e5e5e5;
        border-left-color: #000000;
        color: #0f172a;
        font-weight: 700;
    }

.report-page .report-hub-rail-count {
    margin-left: auto;
    color: #94a3b8;
    font-size: 11.5px;
}

.report-page .report-hub-rail-item.is-active .report-hub-rail-count {
    color: #000;
}

.report-page .report-hub-rail-sep {
    height: 1px;
    background: #e2e8f0;
    margin: 8px 0;
}

.report-page .report-hub-main {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    padding: 0.75rem;
}

.report-page .report-hub-heading {
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 10px;
}

.report-page .report-hub-total {
    color: #64748b;
    font-weight: 600;
}

.report-page .report-hub-table td {
    vertical-align: top;
}

.report-page .report-hub-table td,
.report-page .report-hub-table .rz-cell-data {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.report-page .report-hub-row-desc {
    overflow-wrap: break-word;
}

.report-page .report-hub-row-desc {
    font-size: 10px;
    color: #64748b;
    margin-top: 2px;
    line-height: 1.35;
}

.report-page .report-sheet {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0;
    overflow: hidden;
}

.report-page .filter-top-bar .report-actions {
    margin-left: auto;
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}

.report-page .report-applied-filters {
    margin-top: 6px;
    font-size: .75rem;
    color: #64748b;
    font-style: italic;
}

.report-page .report-sheet .rz-datatable-thead th,
.report-page .report-sheet thead th {
    background: #f8fafc;
    border-bottom: 2px solid #cbd5e1;
    font-size: .74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #1e293b;
}

.report-page .report-sheet .rz-datatable-tfoot td,
.report-page .report-sheet tfoot td {
    background: #f8fafc;
    border-top: 1px solid #d6d6d6;
    border-bottom: 1px solid #d6d6d6;
    font-weight: 700;
    font-size: .82rem;
}

.report-page .report-sheet td[style*="text-align: right"],
.report-page .report-sheet .rz-text-align-right {
    font-variant-numeric: tabular-nums;
}

.report-page .report-sheet.report-compact .rz-datatable-data td,
.report-page .report-sheet.report-compact tbody td {
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: .8rem;
    line-height: 1.25;
}

.report-page .report-customise-list {
    max-height: 260px;
    overflow-y: auto;
}

.report-page .report-customise-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    font-size: .85rem;
    cursor: pointer;
}

.report-page .floating-popup-right {
    left: auto;
    right: 0;
}

.report-page .report-chips {
    display: flex;
    align-items: center;
    gap: 0px;
    flex-wrap: wrap;
    padding: 10px 11px;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
}

.report-page .report-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    background: #fff;
    color: #64748b;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    width: 100%;
}

    .report-page .report-chip:hover {
        border-color: #cbd5e1;
        color: #1e293b;
    }

    .report-page .report-chip.is-on {
        background: #f6f6f6;
        border-color: #595959;
        color: #0f172a;
    }

.report-page .report-chip-clear {
    border: 0;
    background: none;
    color: #222222;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    padding: 10px 0 0px;
}

.report-page .report-filter-row {
    margin-bottom: 14px;
}

.report-page .report-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 14px;
    height: 15px;
    padding: 0 5px;
    margin-left: 4px;
    border-radius: 50%;
    background: #fff;
    color: #000;
    font-size: 10px;
    font-weight: 700;
    line-height: 15px;
}

.report-page .floating-popup .report-chips {
    padding: 0;
    border: 0;
    background: none;
}

.report-page .report-filter-controls {
    display: flex;
    align-items: center;
    gap: 6px;
}

.report-page .report-filter-and {
    color: #94a3b8;
    font-size: 12px;
}

.report-page .report-filter-hint {
    margin-top: 4px;
    font-size: 11.5px;
    color: #94a3b8;
}

.report-page .report-subtitle {
    font-size: 12.5px;
    color: #64748b;
    margin-top: 2px;
}

    .report-page .report-subtitle:first-of-type {
        font-size: 13px;
        font-weight: 700;
        color: #0f172a;
    }

.report-page .report-balance-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    padding: 8px 12px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    font-size: 12.5px;
    color: #64748b;
}

.report-page .report-balance strong {
    color: #0f172a;
    font-variant-numeric: tabular-nums;
    margin-left: 4px;
}

.report-page .report-balance-closing {
    margin-left: auto;
}

.report-page .report-sheet tr[data-report-row="report-row-boundary"] td {
    background: #f8fafc;
    font-weight: 700;
    color: #0f172a;
}

.report-page .report-sheet tr[data-report-row="report-row-boundary"]:first-child td {
    border-bottom: 1px solid #cbd5e1;
}

.report-page .report-sheet tr[data-report-row="report-row-boundary"]:last-of-type td {
    border-top: 1px solid #cbd5e1;
}

.report-page .report-balance-advance strong {
    color: #6366f1;
}

.report-page .report-sheet .pl-section {
    font-weight: 700;
    color: #0f172a;
}

.report-page .report-sheet .pl-group {
    font-weight: 600;
}

.report-page .report-sheet .pl-carry {
    font-style: italic;
    color: #334155;
}

.report-page .report-sheet .pl-total {
    font-weight: 700;
}

.report-page .report-sheet .pl-indent {
    padding-left: 14px;
}

.report-page .report-sheet tr[data-report-row="pl-total-row"] td {
    background: #f8fafc;
    border-top: 1px solid #cbd5e1;
    border-bottom: 1px solid #cbd5e1;
}

.report-page .report-sheet .pl-layout-toggle {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.report-page .report-sheet .pl-layout-label {
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: .02em;
    color: #64748b;
}

.report-page a.report-link,
.report-page .report-sheet td a {
    color: #0000ef !important;
    text-decoration: none;
}

.report-page .report-hub-main a.report-link {
    font-size: 12px !important;
}

.report-page a.report-link:hover,
.report-page .report-sheet td a:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.report-page a.report-link:focus-visible,
.report-page .report-sheet td a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.report-page .report-sheet table,
.report-page .report-sheet .rz-grid-table {
    table-layout: auto;
}

.report-page .report-sheet .rz-column-title,
.report-page .report-sheet .rz-column-title-content,
.report-page .report-sheet .rz-text-truncate {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    line-height: 1.25;
}

.report-page .report-sheet th {
    vertical-align: bottom;
}

.report-page .report-sheet td,
.report-page .report-sheet .rz-cell-data {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
}

    .report-page .report-sheet td.rz-text-align-right,
    .report-page .report-sheet th.rz-text-align-right,
    .report-page .report-sheet tfoot td,
    .report-page .report-sheet tfoot td strong {
        white-space: nowrap;
        overflow: visible;
        text-overflow: clip;
        text-align: right;
        font-variant-numeric: tabular-nums;
    }

@page {
    size: A4 portrait;
    margin: 10mm;
}

.report-page .report-search {
    display: flex;
    align-items: center;
}

.report-page .report-search-field {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 240px;
    padding: 0 4px 0 8px;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    background: #fff;
}

    .report-page .report-search-field:focus-within {
        border-color: #6366f1;
    }

.report-page .report-search-icon {
    color: #94a3b8;
    font-size: 18px;
}

.report-page .report-search-input,
.report-page .report-search-input input {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 5px 0 !important;
    width: 100%;
    font-size: 12.5px;
    color: #1e293b;
}

    .report-page .report-search-input input::placeholder {
        color: #94a3b8;
    }

.report-page .report-search-clear {
    border: 0;
    background: none;
    color: #94a3b8;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    padding: 0;
}

    .report-page .report-search-clear:hover {
        color: #64748b;
    }

.report-page .report-search-go {
    border-radius: 3px !important;
    min-width: 30px;
}

.report-page .report-inner-header {
    text-align: center;
    padding: 0.75rem;
    border-bottom: 1px solid #e4e8f0;
    background: #fff;
}

    .report-page .report-inner-header .company {
        font-size: .85rem;
        color: #555;
        margin-bottom: 2px;
    }

    .report-page .report-inner-header h2,
    .report-page .report-inner-header h3 {
        font-size: 18px;
        font-weight: 700;
        color: #000;
        margin: 5px 0;
    }

    .report-page .report-inner-header .date-sub {
        font-size: .8rem;
        color: #777;
    }

.report-page .filter-label {
    font-size: .75rem;
    font-weight: 600;
    color: #000;
    text-transform: uppercase;
    letter-spacing: .6px;
    margin-bottom: 6px;
}

.report-page .summary-row {
    display: flex;
    overflow: hidden;
}

.report-page .summary-cell {
    flex: 1;
    padding: 0.75rem;
    background: #f8f9fc;
    border: 1px solid #e4e8f0;
}

    .report-page .summary-cell:nth-child(1) {
        background: #f3115529 !important;
        color: red !important;
        border-color: #e2e8f0;
    }

    .report-page .summary-cell:nth-child(2) {
        background: #009b5129 !important;
        color: #009b51 !important;
        border-color: #e2e8f0;
    }

    .report-page .summary-cell:nth-child(3) {
        background: #eaf1ff;
        border-color: #e2e8f0;
        color: #000000 !important;
    }

    .report-page .summary-cell:nth-child(4) {
        background: #fde8e8;
        border-color: #e2e8f0;
        color: #000000 !important;
    }

    .report-page .summary-cell:nth-child(5) {
        background: #fff1e6;
        border-color: #e2e8f0;
        color: #000000 !important;
    }

    .report-page .summary-cell:nth-child(6) {
        background: #f0edf7;
        border-color: #e2e8f0;
        color: #000000 !important;
    }

    .report-page .summary-cell:nth-child(7) {
        background: #fff8dc;
        border-color: #e2e8f0;
        color: #000000 !important;
    }

.report-page .summary-label {
    font-size: .7rem;
    font-weight: 700;
    color: #000;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 4px;
}

.report-page .summary-value {
    font-size: 1rem;
    font-weight: 700;
}

.report-page .report-note {
    font-size: .75rem;
    color: #000;
    margin: 0 7px 7px;
    font-style: italic;
    opacity: .6;
}

.rz-accordion .rz-accordion-header > a:hover {
    color: #000 !important;
}

.po-mobile-accordion {
    display: flex;
    flex-direction: column;
    gap: 0;
}

    .po-mobile-accordion .rz-accordion-content {
        padding: 0 !important;
    }

.rz-accordion > .po-accordion-item:first-child {
    margin: 0 !important;
}

.po-mobile-accordion .rz-accordion-header {
    transition: box-shadow .2s ease;
    border: 1px solid #dee2e6 !important;
    padding: 0.30rem 0.75rem !important;
    background: #f4f5f9 !important;
    font-size: .95rem;
    font-weight: 700;
    color: #212529;
    border-radius: 5px 5px 0 0 !important;
    margin: 5px 0 0 !important;
}

.po-accordion-body {
    padding: 0.75rem;
    overflow: hidden;
    border-left: 1px solid #dee2e6 !important;
    border-right: 1px solid #dee2e6 !important;
    border-bottom: 1px solid #dee2e6 !important;
    margin-bottom: 0;
}

.po-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 0;
    border-bottom: 1px solid #f1f3f5;
    font-size: .875rem;
}

    .po-detail-row:last-of-type {
        border-bottom: none;
    }

.po-detail-label {
    color: #6c757d;
    font-weight: 500;
    flex: 0 0 30%;
    text-transform: uppercase;
}

.po-detail-value {
    text-align: right;
    flex: 0 0 70%;
    color: #212529;
    word-break: break-all;
}

.po-detail-action {
    padding-top: 4px;
}

.expense-summary-card {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 1.5rem;
}

.expense-summary-total-row {
    border-top: 1px solid #dee2e6;
}

.bah-login-bg {
    background-color: #f9f9f9;
    min-height: 100vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow-x: hidden;
}

.bah-navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    background: 0 0;
    position: relative;
    z-index: 10;
    flex-wrap: wrap;
    gap: .5rem;
}

.bah-brand {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-weight: 700;
    font-size: 1.1rem;
    color: #1a1a2e;
    text-decoration: none;
}

.bah-nav-links {
    display: flex;
    gap: 1.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

    .bah-nav-links a {
        color: #444;
        text-decoration: none;
        font-size: .9rem;
    }

        .bah-nav-links a:hover {
            color: #5b5ea6;
        }

.bah-shapes-wrap {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.bah-shape {
    position: absolute;
    border-radius: 24px;
    animation-fill-mode: both;
}

.bah-shape-pink {
    width: 120px;
    height: 120px;
    background: rgb(255 182 193/10%);
    border: 2px dashed rgb(240 100 130/63%);
    bottom: 22%;
    left: 7%;
    opacity: .5;
    animation: shapeRiseA 1.1s .1s cubic-bezier(.22,1,.36,1) both,floatA 7s 1.2s ease-in-out infinite;
}

.bah-shape-pink-inner {
    width: 82px;
    height: 82px;
    background: #ff96aa4d;
    bottom: 28%;
    left: 11%;
    animation: shapeRiseA 1.1s .3s cubic-bezier(.22,1,.36,1) both,floatB 9s 1.4s ease-in-out infinite;
}

.bah-shape-purple {
    width: 110px;
    height: 110px;
    background: rgb(180 180 230/5%);
    border: 2px dashed rgba(130,130,210,.4);
    top: 14%;
    right: 9%;
    animation: shapeRiseB 1.2s .2s cubic-bezier(.22,1,.36,1) both,floatC 8s 1.3s ease-in-out infinite;
}

.bah-shape-purple-inner {
    width: 78px;
    height: 78px;
    background: rgba(160,160,220,.25);
    top: 20%;
    right: 13%;
    animation: shapeRiseB 1.2s .45s cubic-bezier(.22,1,.36,1) both,floatD 11s 1.5s ease-in-out infinite;
}

.bah-shape-blue {
    width: 170px;
    height: 170px;
    background: radial-gradient(circle,rgba(147,210,255,.4),rgba(100,180,255,.1));
    border-radius: 50%;
    bottom: 8%;
    right: 4%;
    animation: shapeRiseA 1.3s .05s cubic-bezier(.22,1,.36,1) both,floatE 10s 1.4s ease-in-out infinite;
}

@keyframes shapeRiseA {
    from {
        opacity: 0;
        transform: translateY(80px) rotate(-15deg);
    }

    to {
        opacity: 1;
        transform: translateY(0) rotate(-15deg);
    }
}

@keyframes shapeRiseB {
    from {
        opacity: 0;
        transform: translateY(-70px) rotate(12deg);
    }

    to {
        opacity: 1;
        transform: translateY(0) rotate(12deg);
    }
}

@keyframes floatA {
    0% {
        transform: translate(0,0) rotate(-15deg);
    }

    25% {
        transform: translate(8px,-18px) rotate(-12deg);
    }

    50% {
        transform: translate(4px,-30px) rotate(-15deg);
    }

    75% {
        transform: translate(-6px,-15px) rotate(-18deg);
    }

    100% {
        transform: translate(0,0) rotate(-15deg);
    }
}

@keyframes floatB {
    0% {
        transform: translate(0,0) rotate(-10deg);
    }

    33% {
        transform: translate(-10px,-20px) rotate(-6deg);
    }

    66% {
        transform: translate(6px,-12px) rotate(-13deg);
    }

    100% {
        transform: translate(0,0) rotate(-10deg);
    }
}

@keyframes floatC {
    0% {
        transform: translate(0,0) rotate(12deg);
    }

    30% {
        transform: translate(-8px,20px) rotate(15deg);
    }

    60% {
        transform: translate(5px,35px) rotate(10deg);
    }

    100% {
        transform: translate(0,0) rotate(12deg);
    }
}

@keyframes floatD {
    0% {
        transform: translate(0,0) rotate(8deg);
    }

    40% {
        transform: translate(-12px,22px) rotate(12deg);
    }

    70% {
        transform: translate(4px,14px) rotate(5deg);
    }

    100% {
        transform: translate(0,0) rotate(8deg);
    }
}

@keyframes floatE {
    0% {
        transform: translate(0,0);
    }

    25% {
        transform: translate(-14px,-22px);
    }

    50% {
        transform: translate(-6px,-38px);
    }

    75% {
        transform: translate(10px,-20px);
    }

    100% {
        transform: translate(0,0);
    }
}

.bah-login-wrapper {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem 1rem;
    position: relative;
    z-index: 5;
}

.bah-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,.09);
    padding: 2.25rem 2rem 1.75rem;
    width: 100%;
    max-width: 440px;
}

.bah-card-title {
    font-size: 2rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: .5rem;
    text-align: center;
}

.bah-card-subtitle {
    color: #888;
    font-size: .88rem;
    text-align: center;
    margin-bottom: 0.75rem;
}

.bah-field-label {
    font-size: .875rem;
    font-weight: 600;
    color: #333;
    margin-bottom: .3rem;
    display: block;
}

    .bah-field-label .bah-required {
        color: #e53e3e;
    }

.bah-input-wrap {
    margin-bottom: 1rem;
}

.bah-forgot-link {
    display: block;
    text-align: right;
    font-size: .82rem;
    font-weight: 600;
    color: #000;
    text-decoration: none;
    margin-top: -.5rem;
    margin-bottom: .5rem;
    cursor: pointer;
}

    .bah-forgot-link:hover {
        text-decoration: underline;
    }

.bah-back-link {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .82rem;
    font-weight: 600;
    color: #555;
    cursor: pointer;
    margin-bottom: 0;
    text-decoration: none;
}

    .bah-back-link:hover {
        color: #000;
    }

.bah-step-badge {
    display: inline-block;
    background: #00000005;
    color: #000;
    font-size: .75rem;
    font-weight: 700;
    border-radius: 20px;
    padding: .2rem .75rem;
    margin-bottom: 1rem;
    text-align: center;
    width: 100%;
}

.bah-sign-in-btn {
    width: 100%;
    background: #000 !important;
    color: #fff !important;
    border: 1px solid #000 !important;
    border-radius: 5px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    padding: .6rem 1rem !important;
    margin-top: .4rem;
    letter-spacing: .02em;
    transition: background .3s,color .3s !important;
}

    .bah-sign-in-btn:hover {
        background: #000 !important;
        color: #fff !important;
    }

.bah-footer-text {
    text-align: center;
    color: #888;
    font-size: .84rem;
    margin-top: 1.1rem;
}

.bah-footer-link {
    color: #000 !important;
    font-weight: 600;
    text-decoration: none;
}

    .bah-footer-link:hover {
        text-decoration: underline;
    }

.bah-page-footer {
    text-align: center;
    color: #aaa;
    font-size: .78rem;
    padding: 1rem;
    position: relative;
    z-index: 5;
}

.bah-alert-wrap {
    margin-top: .75rem;
}

.bah-step-panel {
    animation: stepFadeIn .35s ease;
}

@keyframes stepFadeIn {
    from {
        opacity: 0;
        transform: translateX(18px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.rz-grid-table thead th .rz-column-title-content {
    text-transform: uppercase !important;
    font-weight: 800 !important;
}

.upload-filesec-parent p {
    word-break: break-all !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100px;
}

.no-records-to-display {
    color: #d3d3d3;
    font-size: 18px;
    text-align: center;
    margin: 0.75rem;
    text-transform: uppercase;
    font-weight: 600;
}

.creat-payment-box .shape-1 {
    width: 350px;
}

.p-0-for-inside-icon .rz-button-box {
    padding: 0px;
    margin: 0 0 0 5px;
}

.creat-payment-box .RadzenIcon {
    font-size: 16px;
}

.bah-login-bg .rz-button .rzi {
    font-size: 0 !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid rgba(255,255,255,.4) !important;
    border-top-color: #fff !important;
    border-radius: 50% !important;
    display: inline-block !important;
    animation: rotation .7s linear infinite !important;
}

@keyframes rotation {
    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }
}

.rz-vh-custom .rz-button-sm {
    padding: 0 !important;
    line-height: 1.5 !important;
    min-height: 1rem !important;
    min-width: 1rem !important;
    font-size: 14px !important;
}

.loader-overlap-custom {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.rz-fileupload-choose:not(.rz-state-disabled) {
    background-color: rgb(0 0 0/16%) !important;
    color: #000 !important;
}

.catalog-status-badge {
    font-size: 11px !important;
    padding: 2px 8px !important;
    line-height: 1.2 !important;
    min-width: 72px;
    display: inline-flex !important;
    justify-content: center;
}

.rz-fileupload-choose:not(.rz-state-disabled):hover:not(:active) {
    background-color: #000 !important;
    color: #fff !important;
    transition: .3s ease-in-out;
}

.radio-btn-parent-journal .rz-radiobutton-label {
    margin-right: 6px !important;
    margin-left: 6px !important;
}

.rz-button-xs .rzi {
    font-weight: 400 !important;
}

.link-cus-vehicle-page .rz-datalist-data {
    padding: 0 !important;
}

    .link-cus-vehicle-page .rz-datalist-data li {
        margin: 10px 0 !important;
    }

.header-layout {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 8px;
}

.header-actions {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

.upload-logo-size {
    max-width: 110px;
    min-width: 110px;
    padding: 5px;
}

.rz-dropdown-item.rz-state-disabled, .rz-dropdown-items li.rz-state-disabled {
    opacity: .5 !important;
}

.rz-picklist-buttons .rz-button {
    background-color: var(--rz-base-900) !important;
    border-color: var(--rz-base-900) !important;
    color: var(--rz-white) !important;
}

    .rz-picklist-buttons .rz-button:hover {
        background-color: var(--rz-black) !important;
        border-color: var(--rz-black) !important;
    }

.rz-chkbox-box .rzi {
    color: var(--rz-black) !important;
}

.rz-listbox:focus, .rz-listbox:focus-within {
    border: var(--rz-border-base-900) !important;
}

.access-restricted {
    background: rgb(0 0 0/10%);
    color: #000;
    font-size: 11px;
    letter-spacing: .05em;
}

.access-restricted-main .rounded-circle {
    width: 72px;
    height: 72px;
    background: rgb(0 0 0/10%);
}

.access-restricted-main p {
    font-size: .95rem;
    line-height: 1.7;
}

.access-restricted-main a {
    background: rgb(0 0 0/10%);
    color: #222;
    border: 1px solid rgb(0 0 0/36%);
}

.rz-popup {
    border: .1px solid #cfcfcf !important;
    z-index: 9999 !important;
}

.rz-switch {
    zoom: .6 !important;
}

tr.rz-data-row.rz-datatable-edit {
    background: #f7f7f7;
}

.rz-lookup-search .rz-primary {
    background-color: #000 !important;
}

.cus-found-icon {
    width: 40px;
    height: 40px;
    background: #e2e8f0;
    min-width: 40px;
}

.rz-button.rz-grid-filter-active.rz-button {
    color: #000 !important;
    background-color: rgba(0,0,0,.24) !important;
}

.mask:not(:disabled):not(.rz-state-disabled):focus, .rz-autocomplete:focus-within:not(.rz-state-disabled), .rz-colorpicker:not(:disabled):not(.rz-state-disabled):focus, .rz-datepicker > .rz-inputtext:not(:disabled):not(.rz-state-disabled):focus, .rz-dropdown:not(:disabled):not(.rz-state-disabled):focus, .rz-form-field.rz-state-focused .rz-form-field-content, .rz-lookup-search input:not(:disabled):not(.rz-state-disabled):focus, .rz-multiselect:not(:disabled):not(.rz-state-disabled):focus, .rz-numeric:focus-within:not(.rz-state-disabled), .rz-numeric:not(:disabled):not(.rz-state-disabled):focus, .rz-textarea:not(:disabled):not(.rz-state-disabled):focus, .rz-textbox:not(:disabled):not(.rz-state-disabled):focus, .rz-timespanpicker > .rz-inputtext:not(:disabled):not(.rz-state-disabled):focus {
    --rz-input-focus-shadow: 0 0 0 3px rgba(0,0,0,.15) !important;
    --rz-input-focus-border: 1px solid #0202027a !important;
    --rz-input-focus-border-block-end: 1px solid #0202027a !important;
}

.import-container {
    max-width: 760px;
    margin: 0 auto;
}

.upload-box {
    position: relative;
    border: 2px dashed #d6d9e0;
    border-radius: 8px;
    padding: 32px;
    text-align: center;
    overflow: hidden;
}

.file-drop-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.upload-content {
    position: relative;
    z-index: 1;
    pointer-events: none;
}

.upload-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0,0,0,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7a8198;
    margin: 0 auto 12px;
}

.upload-title {
    font-size: 16px;
    font-weight: 500;
}

.sample-text {
    font-size: 14px;
    color: #43506a;
    line-height: 1.6;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.duplicate-section {
    margin-top: 20px;
}

.duplicate-title {
    color: #f44336;
    font-size: 14px;
    margin-right: 20px;
}

    .duplicate-title span {
        color: #f44336;
    }

.duplicate-options {
    margin-top: 8px;
}

.duplicate-desc {
    margin-left: 28px;
    color: #6f7892;
    font-size: 13px;
    max-width: 480px;
}

.uploaded-file-area {
    height: 170px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-bottom: 1px solid #e6e8ef;
    width: 100%;
}

.file-icon {
    font-size: 52px;
    color: #2196f3;
}

.uploaded-file-name {
    font-size: 15px;
    font-weight: 500;
}

.remove-file {
    border: 0;
    background: 0 0;
    color: #f44336;
    cursor: pointer;
    font-size: 13px;
}

.replace-area {
    margin-top: 20px;
}

.eyebrow {
    font-size: 12px;
    font-weight: 600;
    color: #7b8497;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 4px;
}

.migration-title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #1f2937;
}

.migration-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    color: #6b7280;
    font-size: 13px;
    margin-top: 6px;
}

.job-status-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.mapping-context {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0.75rem;
    border: 1px solid #e6e8ef;
    border-left: 4px solid #111;
    border-radius: 6px;
    background: #fbfbfb;
}

.mapping-context-main {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 240px;
}

.mapping-context-icon {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background: #111;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .mapping-context-icon .rz-icon, .mapping-context-icon i {
        font-size: 24px;
    }

.mapping-context-title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.2;
}

.mapping-context-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin-top: 4px;
    font-size: 12.5px;
    color: #6b7280;
}

.mapping-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 9px;
    border-radius: 999px;
    background: #eef0f4;
    color: #374151;
    font-size: 12px;
    font-weight: 500;
    max-width: 280px;
}

    .mapping-chip .rz-icon, .mapping-chip i {
        font-size: 14px;
    }

    .mapping-chip.is-reupload {
        background: #fff4e5;
        color: #9a5b00;
    }

    .mapping-chip.is-edit {
        background: #e7f0ff;
        color: #1d4ed8;
    }

.mapping-chip-file {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mapping-progress {
    min-width: 210px;
    text-align: right;
}

.mapping-progress-head {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 6px;
}

.mapping-progress-count {
    font-size: 18px;
    font-weight: 700;
    color: #111;
}

.mapping-progress-total {
    font-size: 13px;
    color: #6b7280;
}

.mapping-progress-label {
    font-size: 12px;
    color: #6b7280;
}

.mapping-progress-bar {
    margin-top: 6px;
    height: 6px;
    border-radius: 999px;
    background: #e3e6ec;
    overflow: hidden;
}

.mapping-progress-fill {
    height: 100%;
    border-radius: 999px;
    background: #111;
    transition: width .25s ease;
}

    .mapping-progress-fill.is-complete {
        background: #1f9d57;
    }

.mapping-section-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 14px;
}

.mapping-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 12px;
    color: #6b7280;
}

    .mapping-legend span {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        background: #ffd17e54;
        padding: 1px 5px;
        border-radius: 10px;
        color: #000;
        border: 1px solid #ffd17e;
    }

.mapping-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    display: inline-block;
}

    .mapping-dot.req {
        background: #e11d48;
    }

    .mapping-dot.opt {
        background: #9aa3b2;
    }

.map-tag {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
    padding: 1px 6px;
    margin-top: 3px;
}

    .map-tag.req {
        background: #fde7ec;
        color: #b3123a;
    }

    .map-tag.opt {
        background: #eef0f4;
        color: #6b7280;
    }

.mapping-grid .rz-data-row.map-row-required td:first-child {
    box-shadow: inset 3px 0 0 #e11d48;
}

.mapping-subhead {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding: 8px 10px;
    border-radius: 8px;
    background: #f4f5f8;
    border: 1px solid #e6e8ef;
}

    .mapping-subhead.is-toggle {
        cursor: pointer;
        user-select: none;
    }

        .mapping-subhead.is-toggle:hover {
            background: #eceef3;
        }

.mapping-subhead-title {
    font-size: 13.5px;
    font-weight: 700;
    color: #1f2937;
}

.mapping-count-pill {
    font-size: 11.5px;
    font-weight: 600;
    padding: 1px 9px;
    border-radius: 999px;
    background: #e3e6ec;
    color: #4b5563;
}

    .mapping-count-pill.ok {
        background: #e3f6ec;
        color: #1f8a4c;
    }

    .mapping-count-pill.warn {
        background: #fdeede;
        color: #9a5b00;
    }

.emv-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.emv-row-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.emv-chip {
    border: 1px solid #d9dce3;
    background: #fff;
    color: #4b5563;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 12px;
    border-radius: 999px;
    cursor: pointer;
    transition: all .15s ease;
}

    .emv-chip:hover {
        background: #f1f3f7;
    }

    .emv-chip.active {
        background: #111;
        border-color: #111;
        color: #fff;
    }

.emv-target-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #1d4ed8;
    text-decoration: none;
    font-weight: 600;
}

    .emv-target-link:hover {
        text-decoration: underline;
    }

.imp-rec {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.imp-rec-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0.75rem;
    border-radius: 6px;
    border: 1px solid #e6e8ef;
}

    .imp-rec-banner.ok {
        background: #f0faf4;
        border-color: #cdeed9;
    }

    .imp-rec-banner.muted {
        background: #f4f5f8;
    }

    .imp-rec-banner .rz-icon {
        font-size: 26px;
        color: #1f8a4c;
    }

    .imp-rec-banner.muted .rz-icon {
        color: #6b7280;
    }

.imp-rec-banner-title {
    font-size: 14px;
    font-weight: 700;
    color: #1f2937;
}

.imp-rec-banner-sub {
    font-size: 12px;
    color: #6b7280;
}

.imp-rec-status {
    margin-left: auto;
    font-size: 11.5px;
    font-weight: 700;
    padding: 2px 10px;
    border-radius: 999px;
    background: #e3e6ec;
    color: #4b5563;
}

    .imp-rec-status.ok {
        background: #e3f6ec;
        color: #1f8a4c;
    }

    .imp-rec-status.err {
        background: #fde7ec;
        color: #b3123a;
    }

    .imp-rec-status.warn {
        background: #fdeede;
        color: #9a5b00;
    }

.imp-rec-grid {
    display: grid;
    grid-template-columns: minmax(140px,38%) 1fr;
    gap: 1px;
    background: #e6e8ef;
    border: 1px solid #e6e8ef;
    border-radius: 8px;
    overflow: hidden;
    max-height: 52vh;
    overflow-y: auto;
}

.imp-rec-key {
    background: #f7f8fa;
    padding: 7px 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: #374151;
}

.imp-rec-val {
    background: #fff;
    padding: 7px 10px;
    font-size: 12.5px;
    color: #1f2937;
    word-break: break-word;
}

.imp-rec-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.migpreview {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.migpreview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: .82rem;
}

.migpreview-grid {
    max-height: 62vh;
    overflow: auto;
    border: 1px solid #e6e8ef;
    border-radius: 8px;
}

.data-import-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #eef4ff;
    border: 1px solid #cfe0ff;
    color: #1d4ed8;
    font-size: 11.5px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

    .data-import-badge:hover {
        background: #e0ebff;
        text-decoration: none;
    }

    .data-import-badge .rz-icon {
        font-size: 15px;
    }

.status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

    .status-pill.success {
        background: #e8f7ef;
        color: #16784f;
    }

    .status-pill.warning {
        background: #fff4df;
        color: #9a5b00;
    }

    .status-pill.danger {
        background: #fdeaea;
        color: #b42318;
    }

    .status-pill.info {
        background: #e9f2ff;
        color: #175cd3;
    }

    .status-pill.secondary {
        background: #eef0f4;
        color: #4b5563;
    }

.validation-message {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 0;
    padding: 5px 0;
    border-radius: 10px;
    font-size: 12px;
}

    .validation-message.success {
        background: #ecfdf3;
        color: #16784f;
    }

.summary-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(120px,1fr));
    gap: 12px;
}

.summary-card {
    background: #fff;
    border-radius: 14px;
    padding: 14px;
    text-align: left;
    cursor: pointer;
    transition: .15s ease;
    min-height: 90px;
}

    .summary-card:hover {
        transform: translateY(-1px);
        border-color: #22222257;
    }

    .summary-card.active {
        border-color: #22222257;
    }

    .summary-card strong {
        display: block;
        font-size: 26px;
        color: #111827;
        margin-top: 8px;
    }

    .summary-card.total {
        background: var(--rz-base-200) !important;
    }

    .summary-card.imported, .summary-card.valid {
        background: var(--rz-success-lighter) !important;
    }

    .summary-card.failed, .summary-card.invalidd {
        background: var(--rz-danger-lighter) !important;
    }

    .summary-card.skipped {
        background: var(--rz-warning-lighter) !important;
    }

.rz-card .duration-pill {
    padding: 2.1px 11px !important;
    box-shadow: none !important;
}

.grid-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.grid-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.source-cell {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

    .source-cell small {
        color: #8a94a6;
        font-size: 11px;
    }

.issue-stack {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.issue-item {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: 13px;
    line-height: 1.35;
}

    .issue-item.error {
        color: #b42318;
    }

    .issue-item.warning {
        color: #9a5b00;
    }

    .issue-item .rz-icon {
        font-size: 16px;
        margin-top: 1px;
    }

.more-issues {
    color: #6b7280;
    margin-left: 22px;
}

.no-issues {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #16784f;
    font-size: 13px;
}

.target-id {
    font-family: monospace;
    font-size: 12px;
    color: #374151;
    background: #f3f4f6;
    padding: 4px 6px;
    border-radius: 6px;
}

.empty-grid .rz-icon, .empty-icon {
    font-size: 44px;
    color: #9ca3af;
    margin-bottom: 8px;
}

.compact-card {
    padding: 12px !important;
}

.compact-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 8px;
}

.compact-title {
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.2;
}

.compact-meta {
    font-size: 12px;
    color: #6b7280;
    margin-top: 3px;
}

.compact-status {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    padding: 8px 10px;
    border-radius: 8px;
    margin: 8px 0;
}

    .compact-status.info {
        background: #e9f2ff;
        color: #175cd3;
    }

    .compact-status.success {
        background: #ecfdf3;
        color: #16784f;
    }

    .compact-status.warning {
        background: #fff8e8;
        color: #8a5200;
    }

    .compact-status.danger {
        background: #fdeaea;
        color: #b42318;
    }

.compact-progress-row {
    display: flex;
    justify-content: space-between;
    color: #6b7280;
    margin-bottom: 4px;
}

.compact-progress {
    height: 8px;
    margin-bottom: 10px;
}

.compact-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
}

.summary-operator {
    font-size: 24px;
    font-weight: 700;
    color: #666;
    text-align: center;
}

.compact-summary button {
    flex: 1 0 150px;
    min-width: 150px;
    border: 1px solid #e8ebf3;
    background: #fff;
    border-radius: 10px;
    padding: 8px;
    text-align: left;
    cursor: pointer;
}

.compact-summary b {
    font-size: 18px;
    color: #111827;
}

.success-text {
    color: #16784f !important;
}

.danger-text {
    color: #b42318 !important;
}

.warning-text {
    color: #9a5b00 !important;
}

.compact-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.compact-grid-header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.compact-filter-buttons {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.compact-source {
    gap: 1px;
}

    .compact-source small {
        font-size: 10px;
    }

.compact-error {
    color: #b42318;
    font-size: 12px;
}

.compact-ok {
    color: #16784f;
    font-size: 12px;
}

.compact-empty {
    padding: 16px;
    display: flex;
    gap: 8px;
    align-items: center;
}

.new-migration-page .rz-steps .rz-widget-content {
    overflow-y: hidden !important;
}

.duration-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg,#eef6ff,#f8fbff);
    color: #155e9f;
    border: 1px solid #cfe6ff;
    box-shadow: 0 4px 12px rgba(21,94,159,.12);
    font-size: 13px;
    white-space: nowrap;
}

    .duration-pill strong {
        font-weight: 700;
        color: #0f4c81;
    }

.duration-icon {
    font-size: 18px;
    color: #1976d2;
}

.duration-label {
    color: #5f7f9d;
    font-weight: 500;
}

.import-sync-spin {
    animation: import-sync-spin 1s linear infinite;
}

@keyframes import-sync-spin {
    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }
}

.emv-page {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.emv-topbar {
    background: var(--rz-base-background-color);
    border-bottom: 1px solid var(--rz-border-color);
    padding: 0rem 0 0;
}

.emv-topbar-row {
    display: flex;
    align-items: flex-start;
    justify-content: end;
    gap: 12px;
    margin-bottom: 0;
    flex-wrap: wrap;
}

.emv-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--rz-text-color);
    margin: 0;
}

.emv-subtitle {
    font-size: .78rem;
    color: var(--rz-text-secondary-color);
    margin-top: 2px;
}

.emv-topbar-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.emv-body {
    display: flex;
    flex: 1;
    gap: 16px;
    overflow: auto;
    padding: 1rem 0;
    align-items: flex-start;
}

.emv-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    margin: 1px;
}

.emv-notice-banner {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: #fef3c7;
    border: 1px solid #f59e0b;
    border-radius: 6px;
    padding: 12px 14px;
    color: #7c4a03;
    font-size: .85rem;
    line-height: 1.45;
}

    .emv-notice-banner .rzi {
        color: #b45309;
    }

    .emv-notice-banner > div > div + div {
        margin-top: 4px;
    }

.emv-side-panel {
    width: 15%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 1px;
}

.emv-surface {
    background: #f4f5f959;
    border: 1px solid var(--rz-border-color);
    border-radius: 6px;
    padding: 10px;
    box-shadow: rgba(0,0,0,.05) 0 6px 24px 0,rgba(0,0,0,.08) 0 0 0 1px;
}

.emv-file-header {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.emv-file-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #0596691a;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #059669;
}

.emv-file-info {
    flex: 1;
    min-width: 0
}

.emv-file-cur {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--rz-text-secondary-color)
}

.emv-file-name {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--rz-text-color);
    margin: 4px 0
}

.emv-file-meta {
    font-size: 12px;
    color: var(--rz-text-secondary-color);
    margin-top: 2px;
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap
}

.emv-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    white-space: nowrap
}

    .emv-pill.danger {
        background: #fee2e2;
        color: #991b1b
    }

    .emv-pill.success {
        background: #d1fae5;
        color: #065f46
    }

    .emv-pill.warning {
        background: #fef3c7;
        color: #92400e
    }

    .emv-pill.info {
        background: #dbeafe;
        color: #1e40af
    }

.emv-stat-grid {
    display: flex;
    grid-template-columns: repeat(auto-fit,minmax(130px,1fr));
    gap: 10px;
    margin-top: 16px;
}

.emv-stat {
    background: #fff;
    border-radius: 6px;
    padding: 0.75rem;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    box-shadow: rgba(0,0,0,.05) 0 6px 24px 0,rgba(0,0,0,.08) 0 0 0 1px;
    width: 100%;
}

.emv-stat-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

    .emv-stat-icon.blue {
        background: #2563eb1f;
        color: #2563eb
    }

    .emv-stat-icon.green {
        background: #0596691a;
        color: #059669
    }

    .emv-stat-icon.red {
        background: #dc262629;
        color: #dc2626
    }

    .emv-stat-icon.amber {
        background: #d9770630;
        color: #d97706
    }

.emv-stat-label {
    font-size: 12px;
    color: var(--rz-text-secondary-color);
    font-weight: 500
}

.emv-stat-val {
    font-size: 14px;
    font-weight: 800;
    color: var(--rz-text-color);
    line-height: 1.1;
    margin-top: 2px
}

    .emv-stat-val.danger {
        color: #dc2626
    }

.emv-stat-delta {
    font-size: 12px;
    margin-top: 3px;
    display: flex;
    align-items: center;
    gap: 3px
}

.emv-delta-up {
    color: #059669
}

.emv-delta-down {
    color: #dc2626
}

.emv-delta-neutral {
    color: var(--rz-text-secondary-color)
}

.emv-alert-danger {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 10px;
    padding: 0.75rem;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap
}

.emv-alert-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fee2e2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #dc2626
}

.emv-alert-body {
    flex: 1;
    min-width: 200px
}

.emv-alert-title {
    font-size: .82rem;
    font-weight: 700;
    color: #991b1b
}

.emv-alert-desc {
    font-size: 1rem;
    color: #b91c1c;
    margin-top: 2px;
    line-height: 1.5
}

.emv-prog-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px
}

.emv-prog-title {
    font-size: .82rem;
    font-weight: 700;
    color: var(--rz-text-color)
}

.emv-prog-pct {
    font-size: .95rem;
    font-weight: 800;
    color: #059669
}

.emv-prog-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(100px,1fr));
    gap: 8px;
    margin-top: 10px
}

.emv-prog-stat {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.emv-prog-stat-label {
    font-size: 13px;
    color: var(--rz-text-secondary-color);
    display: flex;
    align-items: center;
    gap: 4px
}

.emv-prog-stat-val {
    font-size: 14px;
    font-weight: 700;
    color: var(--rz-text-color)
}

    .emv-prog-stat-val.danger {
        color: #dc2626
    }

    .emv-prog-stat-val.muted {
        color: var(--rz-text-secondary-color)
    }

    .emv-prog-stat-val.accent {
        color: #2563eb
    }

.emv-table-card {
    background: var(--rz-base-background-color);
    border: 1px solid var(--rz-border-color);
    overflow: hidden
}

.emv-table-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--rz-border-color);
    background: var(--rz-base-100);
    flex-wrap: wrap
}

.emv-table-title {
    font-size: .82rem;
    font-weight: 700;
    color: var(--rz-text-color)
}

.emv-count-badge {
    background: #dbeafe;
    color: #1e40af;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 700
}

.emv-issue-item {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    font-size: 10.9px;
    color: #dc2626;
    margin-bottom: 2px
}

.emv-issue-field {
    font-weight: 700
}

.emv-more-err {
    font-size: .68rem;
    color: var(--rz-text-secondary-color);
    margin-top: 2px
}

.emv-grid .rz-cell-data {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    word-break: break-word;
}

.emv-issue-item span {
    white-space: normal;
    word-break: break-word;
}

.emv-src-id {
    font-weight: 700;
    font-size: .78rem;
    color: var(--rz-text-color)
}

.emv-src-key {
    font-size: .68rem;
    color: var(--rz-text-secondary-color);
    font-family: monospace
}

.emv-activity-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--rz-text-color);
    margin-bottom: 14px
}

.emv-timeline {
    display: flex;
    flex-direction: column
}

.emv-tl-item {
    display: flex;
    gap: 10px
}

.emv-tl-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 28px;
    flex-shrink: 0
}

.emv-tl-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

    .emv-tl-dot.blue {
        background: #eff6ff;
        color: #2563eb
    }

    .emv-tl-dot.green {
        background: #ecfdf5;
        color: #059669
    }

    .emv-tl-dot.red {
        background: #fef2f2;
        color: #dc2626
    }

    .emv-tl-dot.spin {
        animation: emv-spin 1.2s linear infinite
    }

@keyframes emv-spin {
    from {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.emv-tl-line {
    width: 1.5px;
    background: #dbdbdb;
    flex: 1;
    margin: 3px 0
}

.emv-tl-body {
    padding-bottom: 14px;
    flex: 1
}

.emv-tl-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--rz-text-color)
}

.emv-tl-sub {
    font-size: 12px;
    color: var(--rz-text-secondary-color);
    margin-top: 1px;
    word-break: break-all;
}

.emv-tl-time {
    font-size: .68rem;
    color: var(--rz-text-secondary-color);
    margin-top: 1px
}

.emv-view-hist {
    width: 100%;
    padding: 7px;
    border-radius: 8px;
    border: 1px solid var(--rz-border-color);
    background: var(--rz-base-background-color);
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    color: var(--rz-text-color);
    margin-top: 6px
}

.emv-footer {
    padding: 0rem 0 0;
    background: var(--rz-base-background-color);
    border-top: 1px solid var(--rz-border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px
}

.emv-icon-spin {
    animation: emv-spin 1.2s linear infinite;
    display: inline-block
}

.professional-ledger-grid {
    border: 1px solid #d9dee7;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    font-size: 13px;
    color: #1f2937
}

    .professional-ledger-grid .rz-datatable-thead th {
        background: #f3f5f8;
        color: #111827;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .025em;
        border-bottom: 1px solid #cfd6e0;
        padding-top: 9px;
        padding-bottom: 9px
    }

    .professional-ledger-grid .rz-datatable-data td {
        padding: 7px 10px;
        vertical-align: middle;
        border-bottom: 1px solid #e7ebf0
    }

    .professional-ledger-grid .rz-datatable-data tr:hover td {
        background: #f8fafc
    }

.ledger-particulars {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap
}

.ledger-voucher-type {
    color: #111827;
    font-weight: 500
}

.ledger-separator {
    color: #9ca3af
}

.ledger-voucher-link {
    color: #1d4ed8;
    font-weight: 600;
    text-decoration: none
}

    .ledger-voucher-link:hover {
        text-decoration: underline
    }

.ledger-voucher-no {
    color: #374151;
    font-weight: 500
}

.ledger-amount {
    color: #111827;
    font-weight: 600;
    font-variant-numeric: tabular-nums
}

.ledger-balance-label {
    color: #111827 !important;
    font-weight: 700
}

.ledger-balance-amount {
    font-weight: 700
}

.ledger-summary-row td {
    background: #f4f5f9 !important;
    font-weight: 700
}

.ledger-closing-row td {
    background: #eff2f9 !important;
    border-top: 1px solid #9ca3af !important;
    border-bottom: 1px solid #cfd6e0 !important
}

.ledger-closing-row .ledger-balance-amount, .ledger-closing-row .ledger-balance-label {
    font-size: 12px
}

.rounding-off-box {
    width: auto !important;
    text-align: right !important
}

.inventory-batch-dialog-shell {
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15,23,42,.26)
}

    .inventory-batch-dialog-shell .rz-dialog-titlebar {
        display: none !important
    }

    .inventory-batch-dialog-shell .rz-dialog-content {
        display: flex;
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        padding: 0 !important;
        overflow: hidden !important;
        position: relative;
        border-radius: 10px !important;
        text-transform: none
    }

.price-revision-preview-dialog-shell {
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15,23,42,.26)
}

    .price-revision-preview-dialog-shell .rz-dialog-titlebar {
        display: none !important
    }

    .price-revision-preview-dialog-shell .rz-dialog-content {
        display: flex;
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        padding: 0 !important;
        overflow: hidden !important;
        position: relative;
        border-radius: 10px !important;
        text-transform: none
    }

.batch-picker {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    min-height: 0;
    height: 100%;
    background: #fff
}

.batch-picker-footer, .batch-picker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    padding: 0.75rem;
    background: #fff;
    border-bottom: 1px solid #dde3ea;
}

.batch-picker-footer {
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid #dde3ea;
    border-bottom: 0;
    box-shadow: 0 -8px 20px rgba(15,23,42,.06);
    z-index: 1
}

.batch-picker-header h3, .selected-header h3 {
    margin: 0;
    font-size: 21px;
    font-weight: 700;
    color: #0f172a
}

.batch-picker-content {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 0.75rem;
    background: #f8fafc
}

.batch-loading-slot {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: flex-end
}

.batch-grid-panel {
    border: 1px solid #d7dee8;
    border-radius: 8px;
    padding: 0.75rem;
    position: relative;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15,23,42,.04)
}

.batch-section-title {
    min-height: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px
}

.batch-empty-state {
    padding: 10px 12px;
    border: 1px dashed #b8c4d4;
    border-radius: 6px;
    color: #64748b;
    background: #f8fafc
}

.batch-selection-checkbox-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    min-height: 24px
}

.batch-selection-checkbox .rz-chkbox-box {
    border: 3px solid #d7dee8 !important;
    background: #fff !important;
    box-shadow: none !important
}

.invoices-grid .inv-select-col {
    vertical-align: middle;
    text-align: center;
}

.inv-select-chk {
    width: 16px;
    height: 16px;
    margin: 0;
    vertical-align: middle;
    cursor: pointer;
    accent-color: #111827;
}

.inv-select-mobile {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    font-size: 13px;
    color: #475569;
}

.batch-selection-checkbox .rz-chkbox-box.rz-state-active, .batch-selection-checkbox .rz-chkbox-box:hover:not(.rz-state-disabled) {
    border-color: #d7dee8 !important;
    background: #fff !important
}

    .batch-selection-checkbox .rz-chkbox-box.rz-state-active .rzi {
        color: #111827 !important
    }

.inventory-batch-group-grid {
    min-height: 220px
}

.inventory-batch-detail-grid {
    min-width: 760px
}

.batch-detail-card {
    overflow-x: auto
}

.selected-batches-editor {
    border: 1px solid #e8ebf0;
    border-radius: 4px;
    min-height: 132px
}

.selected-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #e8ebf0;
    color: #374151
}

.selected-list-scroll {
    max-height: 180px;
    overflow: auto;
    padding: 8px 16px
}

.selected-empty-text {
    margin: 0;
    padding: 24px 16px;
    text-align: left
}

.selected-batch-row {
    display: grid;
    grid-template-columns: minmax(180px,1fr) minmax(220px,auto) minmax(220px,280px);
    align-items: center;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #eef2f7
}

.selected-batch-copy {
    display: flex;
    flex-direction: column;
    gap: 3px
}

    .selected-batch-copy small {
        color: #64748b;
        font-size: 13px
    }

.selected-batch-metrics {
    display: grid;
    grid-template-columns: auto 120px;
    align-items: center;
    gap: 10px;
    color: #475569;
    white-space: nowrap
}

    .selected-batch-metrics.value-mode {
        grid-template-columns: auto 150px
    }

.selected-batch-input {
    width: 100%
}

.inventory-adjustment-net-impact {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    padding: 0.50rem;
    border: 1px solid #e8ebf0;
    border-radius: 4px;
    background: #f8f9fa
}

.text-green {
    color: green !important;
    font-weight: 600
}

.text-red {
    color: red !important;
    font-weight: 600
}

.radzenProgress-bar-circular {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10
}

.h-260 {
    min-height: 260px !important
}

.radzen-skeleton {
    width: 24px;
    height: 24px
}

.radzen-progressbar-custom-css {
    width: 16px;
    height: 16px
}

.generated-password-page {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 4px;
    text-align: center;
    margin-top: -10px
}

.radzenIcon-error {
    font-size: 13px;
    flex-shrink: 0;
    margin-top: 1px;
    color: #dc2626
}

.fs-8 {
    font-size: 8px !important
}

.fs-10 {
    font-size: 10px !important
}

.fs-12 {
    font-size: 12px !important
}

.fs-18 {
    font-size: 18px !important
}

.min-h-300 {
    min-height: 300px !important
}

.empty-layout {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background-color: #f9f9f9
}

.address-inline-popup, .shipping-address-inline-popup {
    display: none;
    position: absolute;
    overflow: visible;
    width: 420px;
    max-width: calc(100vw - 24px);
    padding: 12px;
    border: var(--rz-panel-border);
    background-color: var(--rz-panel-background-color);
    box-shadow: var(--rz-panel-shadow);
    border-radius: var(--rz-border-radius);
    z-index: 99999;
}

.gst-inline-popup {
    display: none;
    position: absolute;
    overflow: visible;
    width: 340px;
    padding: 12px;
    border: var(--rz-panel-border);
    background-color: var(--rz-panel-background-color);
    box-shadow: var(--rz-panel-shadow);
    border-radius: var(--rz-border-radius);
    z-index: 99999
}

.review-row-page-1 {
    background: #d1fae5;
    border: 1px solid #6ee7b7;
    border-radius: 6px;
    padding: 0.75rem;
    display: flex;
    align-items: center;
    gap: 12px
}

.review-row-page-2 {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #a7f3d0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #059669;
    flex-shrink: 0
}

.review-row-page-3 {
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--rz-text-secondary-color)
}

.review-row-page-4 {
    margin-top: 4px;
    font-size: .82rem;
    color: var(--rz-text-secondary-color)
}

.review-row-page-5 {
    font-size: .85rem;
    font-weight: 600;
    color: #065f46
}

.rz-notification {
    inset-block-start: 5px !important
}

.rz-panel-menu .rz-navigation-item-icon {
    font-weight: 200 !important
}

.RadzenBadge-custom {
    background-color: red !important;
    color: #fff !important;
    margin-left: 8px !important
}

.input-loader {
    position: absolute !important;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    pointer-events: none
}

.input-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    opacity: .6
}

.new-SO-customerdetail, .new-SO-customerdetail input {
    font-weight: 500 !important;
    font-size: 15px !important;
    margin-top: 3px !important;
    color: #222 !important
}

.new-SO-customeraddressdetail {
    font-weight: 500 !important;
    font-size: 13px !important;
    margin-top: 3px !important;
    color: #222 !important
}

.white-icon-button {
    background-color: white !important;
    color: #333 !important
}

    .white-icon-button:hover {
        background-color: #f8f9fa !important
    }

.field-invalid,
.field-invalid > .rz-spinner,
.field-invalid > .rz-dropdown,
.field-invalid input {
    border-color: #dc2626 !important;
}

.po-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px 12px;
    background: #fff;
    border-bottom: 1px solid #e9ecef;
    flex-wrap: wrap;
    gap: 12px
}

.po-page-header-left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap
}

.po-page-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    color: #1a1a2e
}

.po-page-header-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.po-draft-badge {
    background: #f0f0f5;
    color: #555;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    border: 1px solid #ddd;
    letter-spacing: 0.5px
}

.po-section-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 20px 24px;
    margin-bottom: 16px
}

.po-section-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px
}

.po-section-number {
    width: 28px;
    height: 28px;
    background: #1e3a5f;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 700;
    flex-shrink: 0
}

.po-section-title {
    font-size: 1rem;
    font-weight: 600;
    color: #1a1a2e;
    margin: 0
}

.po-supplier-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 12px
}

.po-supplier-dropdown-wrap {
    flex: 1 1 260px;
    min-width: 200px
}

.po-gst-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #e6f9f0;
    color: #1a9e5c;
    border: 1px solid #a3e4c1;
    border-radius: 20px;
    padding: 6px 14px;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
    margin-top: 6px
}

    .po-gst-badge.unregistered {
        background: #fff8e1;
        color: #b8860b;
        border-color: #f0d080
    }

.po-gst-badge-icon {
    width: 16px;
    height: 16px;
    background: #1a9e5c;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.65rem
}

.po-address-cards-row {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 12px
}

.po-address-card {
    flex: 1 1 220px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px 16px;
    background: #fafafa
}

.po-address-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #444;
    margin-bottom: 6px
}

    .po-address-label .rzi {
        color: #1e3a5f;
        font-size: 1rem
    }

.po-gstin-text {
    font-size: 0.82rem;
    color: #555;
    margin-top: 4px
}

.po-supply-row {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 14px
}

.po-supply-col {
    flex: 1 1 200px
}

.po-items-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    justify-content: flex-end
}

    .po-items-controls .rz-button.rz-button-icon-only {
        width: 36px;
        height: 36px
    }

.po-summary-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 20px 24px;
    position: sticky;
    top: 80px
}

.po-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: 0.88rem;
    color: #444;
    border-bottom: 1px solid #f0f0f0
}

    .po-summary-row:last-of-type {
        border-bottom: none
    }

.po-grand-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0 4px;
    margin-top: 4px;
    border-top: 2px solid #e0e0e0
}

.po-grand-total-label {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e
}

.po-grand-total-value {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1e3a5f
}

.po-summary-info-box {
    background: #eef4ff;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 0.78rem;
    color: #3366cc;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 12px
}

.po-upload-zone {
    border: 2px dashed #c5cfe0;
    border-radius: 8px;
    padding: 28px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #fafcff;
    text-align: center
}

.po-upload-icon {
    width: 48px;
    height: 48px;
    color: #1e3a5f
}

.po-upload-hint {
    font-size: 0.8rem;
    color: #888;
    margin-top: 6px
}

.po-action-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #e0e0e0;
    padding: 10px 24px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    z-index: 1000;
    flex-wrap: wrap
}

.po-page-loader {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
    border-radius: 10px
}

.po-breadcrumb-bar {
    padding: 6px 24px 0;
    font-size: 0.82rem;
    color: #888
}

    .po-breadcrumb-bar a {
        color: #1e3a5f;
        text-decoration: none
    }

.po-file-chip {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f4f6fa;
    border: 1px solid #dde2ee;
    border-radius: 6px;
    padding: 6px 10px;
    margin-bottom: 6px
}

.po-file-chip-name {
    flex: 1;
    font-size: 0.82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.po-main-content {
    padding: 20px 24px 80px
}

.po-layout-row {
    display: flex;
    gap: 20px;
    align-items: flex-start
}

.po-left-col {
    flex: 1 1 0;
    min-width: 0
}

.po-right-col {
    width: 320px;
    flex-shrink: 0
}

.po-required-star::after {
    content: " *";
    color: #e53935
}

.add-item-custom-btn {
    border: 1px dashed #000000 !important;
    background: #0000000f !important;
    color: #000000 !important;
    margin-top: 10px !important
}

.upload-btn-custom {
    border: 1px dashed #c0c0c0 !important;
    background: #0000000f !important;
    color: #000000 !important;
    width: 100%;
}

.sic-card-inner {
    display: flex;
    gap: 0;
    min-height: 100px
}

.sic-left {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.sic-divider {
    width: 1px;
    background-color: #e9ecef;
    flex-shrink: 0;
    align-self: stretch;
    margin: 0 4px
}

.sic-right {
    flex: 1;
    padding-left: 20px;
    display: flex;
    gap: 12px;
    align-items: stretch
}

.sic-address-box {
    flex: 1;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    padding: 10px 36px 10px 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 100%;
    background: #ffffff;
    position: relative;
}

    .sic-address-box .rz-button {
        position: absolute;
        top: 6px;
        right: 6px;
        width: 26px;
        height: 26px;
        min-width: 26px;
        padding: 0 !important;
        border-radius: 50% !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #6b7280 !important;
        border: 1px solid transparent !important;
        transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;
    }

        .sic-address-box .rz-button:hover:not(:disabled) {
            background: #f3f4f6 !important;
            color: #111827 !important;
            border-color: #e5e7eb !important;
        }

        .sic-address-box .rz-button .rzi {
            font-size: 0.95rem !important;
            margin: 0 !important;
        }

.sic-address-label-row {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #374151
}

.sic-address-icon {
    color: #000;
    font-size: 1rem !important;
    line-height: 1
}

.sic-address-content {
    font-size: 0.82rem;
    color: #6b7280;
    line-height: 1.5
}

.sic-gst-note {
    font-size: 0.82rem;
    color: #6b7280;
    margin-top: 2px
}

.sic-supplier-row {
    display: flex;
    align-items: flex-start;
    gap: 0px;
}

.for-border {
    border: 1px solid #e9ecef;
    padding: 0.5rem;
    border-radius: 6px;
}

.sic-supplier-dropdown-wrap {
    flex: 1;
    min-width: 0
}

.sic-gst-badge-wrap {
    padding-top: 15px;
    flex-shrink: 0;
    margin-left: 12px;
}

.gst-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    line-height: 1.4;
    border: 1px solid transparent;
    white-space: nowrap;
}

    .gst-pill .rzi {
        font-size: 0.9rem !important;
        line-height: 1;
    }

.gst-pill-registered {
    background: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

.gst-pill-unregistered {
    background: #fffbeb;
    color: #b45309;
    border-color: #fde68a;
}

.sic-supply-row {
    display: flex;
    gap: 12px
}

    .sic-supply-row > * {
        flex: 1;
        min-width: 0
    }

.summary-last-box {
    width: 320px;
    flex-shrink: 0;
    align-self: stretch;
}

.po-card {
    border: 1px solid #eef0f3 !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
}

.po-section-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.po-section-num.rz-badge {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50% !important;
    padding: 0 !important;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1;
}

.po-section-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.2;
}

.po-section-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    color: #111827;
    display: flex;
    align-items: center;
    gap: 8px;
}

.po-section-subtitle {
    font-size: 0.78rem;
    color: #6b7280;
    font-weight: 400;
}

.po-section-optional {
    font-size: 0.7rem;
    font-weight: 500;
    color: #6b7280;
    background: #f3f4f6;
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.supplier-code-chip {
    flex-shrink: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.72rem;
    font-weight: 600;
    color: #374151;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    padding: 2px 8px;
    border-radius: 6px;
    letter-spacing: 0.02em;
    white-space: nowrap;
    line-height: 1.2;
}

.supplier-selected {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    width: 100%;
}

.supplier-selected-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex: 1 1 auto;
}

.so-payment-dropdown {
    min-width: 13.5rem;
    max-width: 22rem;
}

    .so-payment-dropdown.rz-dropdown,
    .so-payment-dropdown .rz-dropdown {
        border-radius: 50rem;
        background: #fff;
        min-height: 1.7rem;
    }

.so-toolbar {
    gap: 6px;
}

.list-toolbar-group {
    display: flex;
    align-items: center;
    gap: 6px;
}

.list-toolbar-divider {
    width: 1px;
    align-self: stretch;
    min-height: 1.4rem;
    background: #E3E6E8;
    margin: 0 2px;
}

.order-status-filter {
    height: 28px;
}

    .order-status-filter .rz-dropdown-label {
        display: flex;
        align-items: center;
    }

    .order-status-filter.is-active,
    .so-icon-btn.is-active {
        border-color: #2563C9;
        background: #EAF1FB;
        color: #174EA6;
    }

.so-icon-quiet.rz-button:hover:not(.rz-state-disabled) {
    background: #F2F4F5;
}

.so-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
    flex: none;
}

.so-dot--all {
    background: #B6BCC2;
}

.so-dot--pending {
    background: #E0A32E;
}

.so-dot--completed {
    background: #3F9142;
}

.so-dot--cancelled {
    background: #D14343;
}

.so-filterbar-count {
    font-size: 0.75rem;
    color: #7A8085;
}

.so-filters {
    position: relative;
}

.so-filters__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    margin-left: 6px;
    border-radius: 9px;
    background: #1f2937;
    color: #fff;
    font-size: 0.6875rem;
    line-height: 1;
}

.so-filters__pill.is-active {
    border-color: #1f2937;
}

.so-filterpanel__backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: #00000014;
}

.so-filterpanel {
    position: absolute;
    top: calc(100% + 6px);
    right: 65%;
    z-index: 1001;
    min-width: 320px;
    max-width: calc(100vw - 2rem);
    padding: .75rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .12);
}

.so-filterpanel__field + .so-filterpanel__field {
    margin-top: .75rem;
}

.so-filterpanel__label {
    font-size: .75rem;
    color: #64748b;
    margin-bottom: .25rem;
}

.ba-daterange__inline .ba-daterange__field:first-child {
    margin-top: 0;
}

.so-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 26px;
    padding: 0 8px;
    border-radius: 13px;
    background: #e9eaed;
    color: #334155;
    font-size: .75rem;
    white-space: nowrap;
}

.so-chip__x {
    border: 0;
    background: transparent;
    padding: 0 0 0 2px;
    line-height: 1;
    font-size: 1rem;
    cursor: pointer;
    color: #64748b;
}

    .so-chip__x:hover {
        color: #0f172a;
    }

.so-chip-clear {
    font-size: .75rem;
    color: #64748b;
    text-decoration: underline;
}

.po-status-pill {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    line-height: 1.4;
    border: 1px solid transparent;
}

.po-status-draft {
    background: #f3f4f6;
    color: #374151;
    border-color: #e5e7eb;
}

.po-status-sent {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

.po-status-closed {
    background: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

.po-status-posted {
    background: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

.po-status-cancelled {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

.po-status-completed {
    background: #f0fdf4;
    color: #15803d;
    border-color: #bbf7d0;
}

.po-status-paid {
    background: #f0fdf4;
    color: #15803d;
    border-color: #bbf7d0;
}

.po-status-unpaid {
    background: #fffbeb;
    color: #b45309;
    border-color: #fde68a;
}

.po-status-pending {
    background: var(--rz-base-200);
    color: var(--rz-text-color);
    border-color: var(--rz-text-color);
}

.po-status-partially_received {
    background: #fffbeb;
    color: #b45309;
    border-color: #fde68a;
}

.po-header {
    border-radius: 4px;
    background: red;
}

.po-header-subtitle {
    font-size: 0.8rem;
    line-height: 1.3;
}

.po-breadcrumb {
    margin: 2px 0 0;
    padding: 0;
    background: transparent;
    font-size: 0.78rem;
    flex-shrink: 0;
    align-self: flex-start;
    text-align: left;
}

    .po-breadcrumb .rz-breadcrumb {
        padding: 0;
        background: transparent;
        align-items: center;
        flex-wrap: wrap;
        row-gap: 2px;
    }

    .po-breadcrumb .rz-breadcrumb-item,
    .po-breadcrumb a.rz-breadcrumb-item-link {
        color: #6b7280;
        font-weight: 500;
        text-decoration: none;
        line-height: 1.25;
    }

        .po-breadcrumb .rz-breadcrumb-item + .rz-breadcrumb-item::before {
            font-size: 0.78rem;
            line-height: 1.25;
            font-weight: 400;
            color: #9ca3af;
            padding-inline: 0.35rem;
        }

        .po-breadcrumb a.rz-breadcrumb-item-link:hover {
            color: #111827;
            text-decoration: underline;
        }

        .po-breadcrumb .rz-breadcrumb-item:last-child {
            color: #111827;
            font-weight: 600;
        }

    .po-breadcrumb .rzi {
        vertical-align: -2px;
        margin-right: 2px;
    }

.po-btn-ghost.rz-button {
    background: transparent !important;
    color: #4b5563 !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
}

    .po-btn-ghost.rz-button:hover {
        background: #f3f4f6 !important;
        color: #111827 !important;
    }

.po-summary-sticky {
    position: sticky;
    top: 16px;
    max-height: 100vh;
    overflow-y: auto;
}

.cdn-editor-main {
    min-width: 0;
}

.cdn-note-details-grid {
    row-gap: 16px;
}

    .cdn-note-details-grid > [class*="rz-col"] {
        margin-bottom: 4px;
    }

.cdn-item-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px;
    margin-bottom: 8px;
    background: #f8f9fb;
    border: 1px solid #eef0f3;
    border-radius: 6px;
}

.cdn-checkbox-field {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .9rem;
    font-weight: 500;
    color: #374151;
}

.cdn-dialog {
    color: #1f2937;
}

.cdn-dialog-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e7eb;
}

    .cdn-dialog-header h3 {
        margin: 0;
        font-size: 18px;
        font-weight: 700;
        color: #111827;
    }

    .cdn-dialog-header span {
        display: inline-block;
        margin-top: 3px;
        color: #6b7280;
        font-size: 13px;
    }

.cdn-dialog-credit {
    min-width: 180px;
    text-align: right;
}

    .cdn-dialog-credit strong {
        display: block;
        margin-top: 4px;
        font-size: 18px;
        color: #111827;
    }

.cdn-dialog-grid .rz-cell-data {
    width: 100%;
}

.cdn-dialog-summary {
    align-self: flex-end;
    min-width: min(360px, 100%);
    padding: 14px 18px;
    border-radius: 8px;
    background: #f9fafb;
}

    .cdn-dialog-summary > div {
        display: flex;
        justify-content: space-between;
        gap: 24px;
        padding: 5px 0;
    }

    .cdn-dialog-summary span,
    .cdn-dialog-label,
    .cdn-balance-text {
        color: #374151;
        font-size: 14px;
    }

    .cdn-dialog-summary strong {
        color: #111827;
        font-weight: 700;
    }

.cdn-refund-form {
    row-gap: 16px;
    align-items: center;
}

.cdn-dialog-label {
    margin-bottom: 0;
    font-weight: 500;
}

.cdn-amount-row {
    display: grid;
    grid-template-columns: auto minmax(160px, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.cdn-currency-prefix {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #f3f4f6;
    color: #111827;
}

.cdn-balance-text {
    white-space: nowrap;
    font-weight: 600;
}

.cdn-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid #e5e7eb;
}

.po-action-bar {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 20;
    background: #ffffff;
    border-top: 1px solid #e5e7eb;
    border-radius: 5px;
}

.po-action-bar-inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    padding: 10px;
    flex-wrap: wrap;
}

.add-part-tagsinput .bah-tags-input {
    height: 31px;
    padding: 0.45rem 0.3rem;
}

.available-advance {
    font-size: 12px;
    color: #374151;
}

.action-footer .rz-button-sm, .po-action-bar .rz-button-sm {
    padding: 0.35rem 1.5rem !important;
}

    .po-action-bar .rz-button-sm.rz-button-icon-only {
        padding: 0.35rem !important;
        min-width: 34px;
        color: #6b7280;
    }

.po-action-bar .action-divider {
    width: 1px;
    height: 24px;
    margin: 0 6px;
    background: #e5e7eb;
    flex: 0 0 auto;
}

.cdn-header-btn.rz-button {
    background: #ffffff !important;
    border: 1px solid #cbd1d8 !important;
    color: #374151 !important;
}

    .cdn-header-btn.rz-button:hover {
        background: #f3f4f6 !important;
        border-color: #9aa2ac !important;
        color: #111827 !important;
    }

.cdn-header-btn .rz-button-text,
.cdn-header-btn .rzi {
    color: #374151 !important;
}

.cdn-header-btn:hover .rz-button-text,
.cdn-header-btn:hover .rzi {
    color: #111827 !important;
}

.cdn-more-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    color: #6b7280;
    cursor: pointer;
    background: #f3f4f6;
    transition: background 0.15s ease, color 0.15s ease;
    padding: 0.30rem;
}

    .cdn-more-trigger:hover {
        background: #e5e7eb;
        color: #374151;
    }

.cdn-more-menu .rzi-chevron-down,
.cdn-more-menu .rz-navigation-item-icon-children {
    display: none !important;
}

.cdn-apply-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 24px 16px;
    text-align: center;
    white-space: normal;
    max-width: 480px;
    margin: 0 auto;
}

    .cdn-apply-empty .rzi {
        font-size: 32px;
        color: #9ca3af;
    }

.cdn-apply-empty-title {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.cdn-apply-empty-hint {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.5;
}

.po-dropzone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 20px;
    border: 1.5px dashed #d1d5db;
    border-radius: 10px;
    background: #fafbfc;
    transition: border-color 150ms ease, background-color 150ms ease;
}

    .po-dropzone:hover {
        border-color: #9ca3af;
        background: #f5f6f8;
    }

.po-dropzone-icon.rzi {
    font-size: 2.25rem !important;
    color: #9ca3af;
    line-height: 1;
}

.po-dropzone-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: #374151;
}

.po-dropzone-hint {
    color: #6b7280;
    font-size: 0.75rem;
    margin-top: 4px;
}

.po-dropzone .upload-btn-custom {
    width: auto;
    align-self: center;
    display: inline-block;
}

.upload-btn-custom .rz-fileupload-buttonbar {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: none;
    background: transparent;
    padding: 0;
    gap: 0;
}

    .upload-btn-custom .rz-fileupload-buttonbar::before {
        content: none;
    }

.upload-btn-custom .rz-fileupload-content {
    border: none;
    padding: 0;
    background: transparent;
}

.upload-btn-custom .rz-button {
    background: #111827 !important;
    border-color: #111827 !important;
    color: #ffffff !important;
    padding: 6px 16px !important;
    border-radius: 6px !important;
    font-weight: 500;
    box-shadow: none !important;
}

    .upload-btn-custom .rz-button:hover:not(:disabled) {
        background: #1f2937 !important;
        border-color: #1f2937 !important;
    }

    .upload-btn-custom .rz-button:disabled {
        background: #9ca3af !important;
        border-color: #9ca3af !important;
        opacity: 0.7;
    }

.part-search {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.part-search-icon.rzi {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem !important;
    color: #9ca3af;
    pointer-events: none;
    z-index: 1;
    line-height: 1;
}

.part-search-input {
    width: 100%;
}

    .part-search-input .rz-autocomplete-input,
    .part-search-input input.rz-inputtext {
        background: #f9fafb !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 6px !important;
        height: 34px !important;
        font-size: 0.85rem !important;
        color: #111827 !important;
        transition: border-color 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
    }

        .part-search-input .rz-autocomplete-input::placeholder,
        .part-search-input input.rz-inputtext::placeholder {
            color: #9ca3af;
            font-style: normal;
        }

        .part-search-input .rz-autocomplete-input:hover,
        .part-search-input input.rz-inputtext:hover {
            background: #ffffff !important;
            border-color: #d1d5db !important;
        }

        .part-search-input .rz-autocomplete-input:focus,
        .part-search-input input.rz-inputtext:focus {
            background: #ffffff !important;
            border-color: #111827 !important;
            box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08) !important;
            outline: none !important;
        }

.part-search:focus-within .part-search-icon.rzi {
    color: #111827;
}

.part-search-spinner {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}

.create-payment-page .supplier-banner {
    background: linear-gradient(135deg, #1e1e1e 0%, #4c4c4e 100%);
    border-radius: 8px;
    color: #fff;
    padding: 24px 32px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 24px;
}

.create-payment-page .supplier-banner-icon {
    width: 56px;
    height: 56px;
    background: rgba(255,255,255,0.18);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .create-payment-page .supplier-banner-icon .rzi {
        font-size: 28px;
        color: #fff;
    }

.create-payment-page .supplier-banner-divider {
    width: 1px;
    height: 48px;
    background: rgba(255,255,255,0.3);
    margin: 0 8px;
}

.create-payment-page .supplier-banner-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 24px;
}

.create-payment-page .supplier-banner-stat-label {
    font-size: 12px;
    opacity: 0.8;
    font-weight: 500;
    letter-spacing: 0.3px;
}

.create-payment-page .supplier-banner-stat-value {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.5px;
}

.create-payment-page .supplier-banner-name {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 2px;
}

.create-payment-page .supplier-banner-label {
    font-size: 12px;
    opacity: 0.75;
    font-weight: 500;
}

.create-payment-page .badge-active {
    background: rgba(255,255,255,0.22);
    color: #fff;
    border-radius: 20px;
    padding: 2px 12px;
    font-size: 12px;
    font-weight: 600;
    display: inline-block;
    margin-top: 4px;
}

.create-payment-page .payment-summary-card {
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    background: #fff;
    overflow: hidden;
}

.create-payment-page .payment-summary-header {
    background: #f8f9fb;
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: 15px;
    color: #1a1a2e;
}

    .create-payment-page .payment-summary-header .rzi {
        color: #4f5bd5;
        font-size: 20px;
    }

.create-payment-page .summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    border-bottom: 1px solid #f3f4f6;
}

    .create-payment-page .summary-row:last-child {
        border-bottom: none;
    }

.create-payment-page .summary-row-label {
    font-weight: 500;
    align-items: center;
    display: flex;
}

.create-payment-page .summary-val-green {
    color: #16a34a;
    font-weight: 700;
    font-size: 15px;
}

.create-payment-page .summary-val-red {
    color: #dc2626;
    font-weight: 700;
    font-size: 15px;
}

.create-payment-page .section-card {
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    background: #fff;
    margin-bottom: 10px;
    overflow: hidden;
}

.create-payment-page .section-card-header {
    padding: 14px 20px;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: 15px;
    color: #1a1a2e;
}

    .create-payment-page .section-card-header .rzi {
        color: #4f5bd5;
        font-size: 20px;
    }

.create-payment-page .upload-drop-zone {
    border: 2px dashed #d1d5db;
    border-radius: 10px;
    padding: 28px 20px;
    text-align: center;
    background: #fafafa;
    color: #9ca3af;
    font-size: 14px;
}

    .create-payment-page .upload-drop-zone .rzi {
        font-size: 32px;
        margin-bottom: 8px;
        color: #9ca3af;
    }

.create-payment-page .invoice-table-header {
    background: #f8f9fb;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
}

.create-payment-page .bottom-action-bar {
    position: sticky;
    bottom: 0;
    background: #fff;
    border-top: 1px solid #e5e7eb;
    padding: 8px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    z-index: 100;
    margin-top: 8px;
}

.create-payment-page .supplier-banner {
    background: linear-gradient(135deg, #242323 0%, #474852 100%);
    border-radius: 8px;
    color: #fff;
    padding: 24px 32px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 24px;
}

.create-payment-page .supplier-banner-icon {
    width: 56px;
    height: 56px;
    background: rgba(255,255,255,0.18);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .create-payment-page .supplier-banner-icon .rzi {
        font-size: 28px;
        color: #fff;
    }

.create-payment-page .supplier-banner-divider {
    width: 1px;
    height: 48px;
    background: rgba(255,255,255,0.3);
    margin: 0 8px;
}

.create-payment-page .supplier-banner-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 24px;
}

.create-payment-page .supplier-banner-stat-value {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.5px;
}

.create-payment-page .supplier-banner-name {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 2px;
}

.create-payment-page .supplier-banner-label {
    font-size: 12px;
    opacity: 0.75;
    font-weight: 500;
}

.create-payment-page .badge-active {
    background: rgba(255,255,255,0.22);
    color: #fff;
    border-radius: 20px;
    padding: 2px 12px;
    font-size: 12px;
    font-weight: 600;
    display: inline-block;
    margin-top: 4px;
}

.create-payment-page .payment-summary-card {
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    background: #fff;
    overflow: hidden;
}

.create-payment-page .payment-summary-header {
    background: #f8f9fb;
    padding: 12px;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: 15px;
    color: #1a1a2e;
}

    .create-payment-page .payment-summary-header .rzi {
        color: #000;
        font-size: 20px;
    }

.create-payment-page .summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 13px;
    border-bottom: 1px solid #f3f4f6;
    font-size: 14px;
}

    .create-payment-page .summary-row:last-child {
        border-bottom: none;
    }

.create-payment-page .summary-row-label {
    color: #6b7280;
    font-weight: 500;
}

.create-payment-page .section-card {
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    background: #fff;
    margin-bottom: 10px;
    overflow: hidden;
}

.create-payment-page .section-card-header {
    padding: 12px;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: 15px;
    color: #1a1a2e;
}

    .create-payment-page .section-card-header .rzi {
        color: #000;
        font-size: 20px;
    }

.create-payment-page .section-card-body {
    padding: .75rem !important;
}

.create-payment-page .upload-drop-zone {
    border: 2px dashed #d1d5db;
    border-radius: 8px;
    padding: 28px 20px;
    text-align: center;
    background: #fafafa;
    color: #9ca3af;
    font-size: 14px;
}

    .create-payment-page .upload-drop-zone .rzi {
        font-size: 32px;
        margin-bottom: 8px;
        color: #9ca3af;
    }

.create-payment-page .invoice-table-header {
    background: #f8f9fb;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
}

.create-payment-page .bottom-action-bar {
    position: sticky;
    bottom: 0;
    background: #fff;
    border-top: 1px solid #e5e7eb;
    padding: 12px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    z-index: 100;
    margin-top: 8px;
}

.cd-root {
    display: flex;
    position: relative;
    overflow-x: hidden;
}

.cd-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    z-index: 199;
    height: 100vh;
    backdrop-filter: blur(2px);
    animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.rz-splitter-pane {
    transition: flex-basis 0.3s ease-in-out, width 0.3s ease-in-out;
}

.cd-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 24%;
    background: #fff;
    border-right: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    z-index: 200;
    transform: translateX(-100%);
    transition: transform 0.28s cubic-bezier(.4,0,.2,1);
    box-shadow: 4px 0 24px rgba(15,23,42,.12);
}

    .cd-sidebar.open {
        transform: translateX(0);
    }

.cd-sidebar-header {
    padding: 0.75rem;
    border-bottom: 1px solid #f1f5f9;
    background: #222;
}

.cd-sidebar-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 12px;
}

.cd-sidebar-title {
    font-size: 19px;
    font-weight: 700;
    color: #f8fafc;
    margin: 0;
    letter-spacing: -0.3px;
}

.cd-sidebar-subtitle {
    font-size: 11px;
    color: #fff;
    margin: 2px 0 0;
}

.cd-sidebar-close {
    background: rgba(255,255,255,.08);
    border: none;
    border-radius: 6px;
    color: #fff;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .15s;
}

    .cd-sidebar-close:hover {
        background: rgba(255,255,255,.18);
        color: #f8fafc;
    }

.cd-search-row {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
}

.cd-search-icon {
    color: #fff;
    font-size: 18px !important;
    flex-shrink: 0;
}

.cd-search-input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    font-size: 12.5px;
    color: #fff;
    padding: 8px 0;
}

    .cd-search-input::placeholder {
        color: #64748b;
    }

.cd-cust-list {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
}

    .cd-cust-list::-webkit-scrollbar {
        width: 4px;
    }

    .cd-cust-list::-webkit-scrollbar-thumb {
        background: #e2e8f0;
        border-radius: 4px;
    }

.cd-cust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 8px;
    cursor: pointer;
    margin-bottom: 2px;
    border: 1px solid transparent;
    transition: background .15s;
}

    .cd-cust-item:hover {
        background: #f8fafc;
    }

    .cd-cust-item.Active {
        background: #f0f0f0;
        border-color: #d1d5db;
    }

.cd-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #e9e9e9, #d5d1d1);
    color: #212529;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: 0.5px;
}

    .cd-avatar.sm {
        width: 32px;
        height: 32px;
        font-size: 11px;
    }

.cd-cust-item.active .cd-avatar {
    background: linear-gradient(135deg, #0f172a, #1e293b);
    color: #fff;
}

.cd-cust-meta {
    flex: 1;
    min-width: 0;
}

.cd-cust-name {
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cd-cust-code {
    font-size: 10px;
    color: #94a3b8;
    margin-top: 1px;
}

.cd-pagination {
    padding: 10px 0px;
    border-top: 1px solid #f1f5f9;
    display: flex;
    justify-content: center;
}

.cd-pill {
    font-size: 10.5px;
    font-weight: 600;
    border-radius: 20px;
    padding: 2px 9px;
    white-space: nowrap;
    flex-shrink: 0;
}

.active-pill {
    background: #dcfce7;
    color: #15803d;
}

.pending-pill {
    background: #fef9c3;
    color: #a16207;
}

.cd-status-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    border-radius: 20px;
    padding: 3px 10px;
}

.status-paid {
    background: #dcfce7;
    color: #15803d;
}

.status-draft {
    background: #f1f5f9;
    color: #475569;
}

.status-overdue {
    background: #fee2e2;
    color: #dc2626;
}

.status-partial {
    background: #fff7ed;
    color: #c2410c;
}

.status-approved {
    background: #dbeafe;
    color: #1d4ed8;
}

.status-void {
    background: #f1f5f9;
    color: #64748b;
}

.cd-main {
    flex: 1;
    overflow-y: auto;
    min-width: 0;
}

.cd-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
    position: sticky;
    top: 0;
    z-index: 100;
    gap: 12px;
    border-radius: 8px;
}

.cd-topbar-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cd-topbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cd-burger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: 1px solid #e2e8f0;
    border-radius: 3px;
    cursor: pointer;
    padding: 8px 9px !important;
    transition: background .15s, border-color .15s;
}

    .cd-burger:hover {
        background: #f8fafc;
        border-color: #cbd5e1;
    }

    .cd-burger span {
        display: block;
        width: 18px;
        height: 2px;
        background: #374151;
        border-radius: 2px;
        transition: all .2s;
    }

.sidebar-open .cd-burger span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.sidebar-open .cd-burger span:nth-child(2) {
    opacity: 0;
}

.sidebar-open .cd-burger span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.cd-breadcrumb {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #94a3b8;
}

    .cd-breadcrumb a {
        color: #94a3b8;
        text-decoration: none;
        transition: color .15s;
    }

        .cd-breadcrumb a:hover {
            color: #0f172a;
        }

    .cd-breadcrumb span {
        color: #374151;
        font-weight: 600;
    }

    .cd-breadcrumb .rz-icon {
        font-size: 16px !important;
    }

.cd-btn-pay {
    background: linear-gradient(135deg, #059669, #10b981) !important;
    border: none !important;
}

.cd-hero {
    background: linear-gradient(135deg, #222222 0%, #090a0c 60%, #484848 100%);
    border-radius: 8px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.cd-hero-left {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.cd-hero-avatar {
    width: 68px;
    height: 68px;
    border-radius: 8px;
    background: linear-gradient(135deg, #ffffff, #b9b9b9);
    color: #000;
    font-size: 27px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cd-hero-name-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.cd-hero-name {
    font-size: 22px;
    font-weight: 700;
    color: #f8fafc;
    margin: 0;
    letter-spacing: -0.5px;
}

.cd-hero-meta-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
    color: #fff;
}

.cd-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 20px;
    padding: 4px 10px;
    font-size: 11.5px;
    color: #fff;
}

    .cd-meta-chip .rz-icon {
        font-size: 13px !important;
        color: #94a3b8;
    }

.cd-health-card {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    padding: 14px 16px 8px;
    min-width: 260px;
    max-width: 320px;
    flex-shrink: 0;
}

.cd-health-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 600;
    color: #cbd5e1;
    margin-bottom: 4px;
}

.cd-health-score {
    font-size: 13px;
    font-weight: 700;
    border-radius: 12px;
    padding: 2px 9px;
}

    .cd-health-score.good {
        background: rgba(16,185,129,.2);
        color: #34d399;
    }

    .cd-health-score.average {
        background: rgba(245,158,11,.2);
        color: #fbbf24;
    }

    .cd-health-score.poor {
        background: rgba(239,68,68,.2);
        color: #f87171;
    }

.cd-kpi-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    padding: 0.75rem;
    border-radius: 6px;
    background: #fff;
}

.cd-kpi-card {
    background: #f4f5f9;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    padding: 0.75rem;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: box-shadow .2s, transform .2s;
}

    .cd-kpi-card:hover {
        box-shadow: 0 4px 16px rgba(15,23,42,.08);
        transform: translateY(-1px);
    }

.cd-kpi-icon {
    width: 38px;
    height: 38px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .cd-kpi-icon .rz-icon {
        font-size: 18px !important;
    }

.icon-blue {
    background: #eff6ff;
    color: #2563eb;
}

.icon-green {
    background: #f0fdf4;
    color: #16a34a;
}

.icon-red {
    background: #fef2f2;
    color: #dc2626;
}

.icon-purple {
    background: #faf5ff;
    color: #7c3aed;
}

.icon-orange {
    background: #fff7ed;
    color: #ea580c;
}

.cd-kpi-label {
    font-size: 12px;
    color: #222;
    font-weight: 500;
    margin-bottom: 3px;
}

.cd-kpi-value {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 3px;
}

.cd-red {
    color: #dc2626 !important;
}

.cd-green {
    color: #15803d !important;
}

.cd-kpi-sub {
    font-size: 11px;
    font-weight: 500;
    color: #64748b;
}

.cd-tabs-wrapper {
    overflow: hidden;
}

.cd-merge-banner {
    background: #ffffff;
    border: 1px solid #dbdbdb;
    border-radius: 8px;
    padding: 0.75rem;
    margin-bottom: 16px;
}

.cd-merge-head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #006a32;
    margin-bottom: 8px;
}

.cd-merge-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cd-merge-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 9px 0 0px 0;
    border-top: 1px solid #dbdbdb;
    flex-wrap: wrap;
}

.cd-merge-name {
    font-weight: 600;
    color: #1f2937;
    font-size: 13px;
}

.cd-merge-meta {
    color: #6b7280;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.cd-two-col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.cd-two-col-supplier {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.mt-12 {
    margin-top: 16px;
}

.cd-card {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
}

.cd-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0.75rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
}

    .cd-card-header .rz-icon {
        font-size: 16px !important;
        color: #6366f1;
    }

.cd-card-body {
    padding: 0;
}

.cd-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 16px;
    border-bottom: 1px solid #f8fafc;
    font-size: 12.5px;
    gap: 8px;
}

    .cd-info-row:last-child {
        border-bottom: none;
    }

.cd-info-label {
    color: #94a3b8;
    min-width: 120px;
    flex-shrink: 0;
}

.cd-info-value {
    font-weight: 600;
    color: #1e293b;
    text-align: right;
}

.cd-addr-block {
    padding: 12px 16px;
    border-bottom: 1px solid #f8fafc;
}

    .cd-addr-block:last-child {
        border-bottom: none;
    }

.cd-addr-type {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 700;
    color: #475569;
    margin-bottom: 6px;
}

    .cd-addr-type .rz-icon {
        font-size: 14px !important;
        color: #6366f1;
    }

.cd-addr-text {
    font-size: 12.5px;
    color: #374151;
    line-height: 1.7;
}

.cd-empty {
    font-size: 12px;
    color: #cbd5e1;
}

.cd-contact-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid #f8fafc;
}

    .cd-contact-row:last-child {
        border-bottom: none;
    }

.cd-contact-name {
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
}

.cd-contact-sub {
    font-size: 11px;
    color: #94a3b8;
}

.cd-gst-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid #f8fafc;
}

    .cd-gst-row:last-child {
        border-bottom: none;
    }

.cd-gst-num {
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
    font-family: monospace;
}

.cd-gst-sub {
    font-size: 11px;
    color: #94a3b8;
    margin-top: 2px;
}

.cd-grid {
    border-radius: 8px;
    overflow: hidden;
}

.cd-order-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 11px 16px;
    border-bottom: 1px solid #f8fafc;
    font-size: 13px;
    flex-wrap: wrap;
}

    .cd-order-row:last-child {
        border-bottom: none;
    }

.cd-order-num {
    color: #0000FF;
    font-weight: 600;
    text-decoration: none;
}

    .cd-order-num:hover {
        text-decoration: underline;
    }

.cd-order-date {
    color: #94a3b8;
    min-width: 90px;
}

.cd-order-amt {
    font-weight: 700;
    color: #0f172a;
    margin-left: auto;
}

.cd-note-item {
    padding: 10px 16px;
    border-bottom: 1px solid #f8fafc;
}

    .cd-note-item:last-child {
        border-bottom: none;
    }

.cd-note-meta {
    font-size: 10.5px;
    color: #94a3b8;
    margin-bottom: 3px;
}

.cd-note-text {
    font-size: 13px;
    color: #374151;
}

.cd-doc-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    border-bottom: 1px solid #f8fafc;
    cursor: pointer;
    transition: background .15s;
}

    .cd-doc-item:last-child {
        border-bottom: none;
    }

    .cd-doc-item:hover {
        background: #f8fafc;
    }

.cd-doc-icon {
    color: #0000FF !important;
    font-size: 22px !important;
}

.cd-doc-name {
    font-size: 13px;
    font-weight: 600;
    color: #000;
}

.cd-doc-label {
    font-size: 11px;
    color: #94a3b8;
}

.cd-timeline {
    padding: 4px 16px;
}

.cd-timeline-item {
    display: flex;
    gap: 14px;
    padding: 5px 0;
    border-bottom: 1px solid #f8fafc;
    position: relative;
}

    .cd-timeline-item:last-child {
        border-bottom: none;
    }

.cd-tl-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #000;
    flex-shrink: 0;
    margin-top: 4px;
    box-shadow: 0 0 0 3px rgb(0 0 0 / 15%);
}

.cd-tl-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cd-tl-meta {
    font-size: 10.5px;
    color: #94a3b8;
}

.cd-tl-text {
    font-size: 13px;
    font-weight: 500;
    color: #1e293b;
}

.cd-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 80px;
    color: #94a3b8;
    font-size: 14px;
}

.cd-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 80px;
    color: #cbd5e1;
    font-size: 14px;
}

    .cd-empty-state .rz-icon {
        font-size: 48px !important;
    }

.cd-health-card {
    width: 300px;
    min-width: 300px;
    background: #fff;
    border-radius: 8px;
    padding: 8px;
    border: 1px solid #eef2f7;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.cd-health-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 7px;
}

    .cd-health-title span:first-child {
        font-size: 14px;
        font-weight: 600;
        color: #111827;
    }

.cd-health-score {
    font-size: 12px;
    font-weight: 700;
}

    .cd-health-score.good {
        color: #16a34a;
    }

.cd-health-svg {
    width: 100%;
    height: 110px;
    display: block;
}

.cd-health-months {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    font-size: 10px;
    color: #9ca3af;
}

.ppy-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}

.ppy-page-title {
    font-size: 22px;
    font-weight: 700;
    color: #111827;
    margin: 0;
}

.ppy-card {
    background: #fff;
    overflow: hidden;
    border: 1px solid #eef0f3 !important;
    border-radius: 8px !important;
}

.ppy-card-header {
    padding: 0.75rem 0.75rem 0 0.75rem;
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
    display: flex;
    align-items: center;
    gap: 8px;
}

    .ppy-card-header .rzi {
        font-size: 18px;
        color: #374151;
    }

.ppy-card-body {
    padding: 0.75rem;
}

.ppy-supplier-banner {
    background: #e9eaed;
    border-radius: 10px;
    color: #000;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.ledger-advance-labels,
.ledger-advance-values {
    font-size: 0.9rem;
}

    .ledger-advance-labels > div,
    .ledger-advance-values > div {
        line-height: 1.6rem;
        white-space: nowrap;
    }

.ledger-advance-labels {
    text-align: right;
}

.ledger-advance-values {
    text-align: right;
}

.ledger-advance-net {
    font-weight: 700;
}

.ledger-advance-footer {
    margin-top: 0.75rem;
    margin-left: auto;
    max-width: 26rem;
    font-size: 0.9rem;
}

.ledger-advance-row {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 0.3rem 0.75rem;
}

.ppy-advance-only-note {
    background: #eef4ff;
    border: 1px solid #c7d9f7;
    border-radius: 6px;
    color: #1a3a6b;
    padding: 0.45rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    height: 100%;
}

.ppy-advance-only-title {
    font-weight: 800;
    line-height: 1.35;
}

.ppy-advance-only-detail {
    margin-top: 0.2rem;
    font-size: 0.85rem;
    opacity: 0.9;
}

.ppy-supplier-icon {
    width: 48px;
    height: 48px;
    background: rgb(0 0 0 / 22%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .ppy-supplier-icon .rzi {
        font-size: 24px;
        color: #000;
    }

.ppy-supplier-info {
    flex: 1;
    min-width: 140px;
}

.ppy-supplier-label {
    font-size: 11px;
    opacity: 0.7;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ppy-supplier-name {
    font-size: 17px;
    font-weight: 700;
    margin-top: 2px;
}

.ppy-party-value {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

    .ppy-party-value .ppy-party-name {
        font-weight: 600;
        color: #1f2937;
        font-size: 14px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        min-width: 0;
    }

    .ppy-party-value .ppy-party-code {
        flex-shrink: 0;
        font-size: 11px;
        font-weight: 600;
        line-height: 1.4;
        color: #4b5563;
        background: #f1f3f5;
        border: 1px solid #e5e7eb;
        border-radius: 999px;
        padding: 1px 8px;
        letter-spacing: 0.3px;
    }

    .ppy-party-value .ppy-party-person {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        font-size: 12.5px;
        color: #6b7280;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

        .ppy-party-value .ppy-party-person::before {
            content: "";
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: #cbd5e1;
            margin-right: 8px;
        }

.ppy-party-dd .rz-dropdown-label,
.ppy-party-dd .rz-inputtext,
.ppy-party-dd .rz-placeholder {
    text-align: left !important;
    justify-content: flex-start !important;
}

.ppy-supplier-divider {
    width: 1px;
    height: 40px;
    background: rgb(0 0 0 / 20%);
    flex-shrink: 0;
}

.ppy-supplier-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 16px;
}

.ppy-supplier-stat-label {
    font-size: 11px;
    opacity: 0.7;
    font-weight: 500;
}

.ppy-supplier-stat-value {
    font-size: 16px;
    font-weight: 700;
}

.ppy-supplier-stats-row {
    display: flex;
    align-items: center;
}

.ppy-summary-card {
    background: #fff;
    overflow: hidden;
    position: sticky;
    top: 16px;
    border: 1px solid #eef0f3 !important;
    border-radius: 8px !important;
}

    .ppy-summary-card:first-child {
        top: 20px;
    }

    .ppy-summary-card:last-child {
        top: 20px;
    }

.ppy-summary-header {
    padding: 0.75rem 0.75rem 0 0.75rem;
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    color: #111827;
    display: flex;
    align-items: center;
    gap: 8px;
}

    .ppy-summary-header .rzi {
        font-size: 16px;
        color: #374151;
    }

.ppy-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 13px;
}

    .ppy-summary-row:last-child {
        border-bottom: none;
    }

.ppy-summary-label {
    color: #6b7280;
    font-weight: 500;
}

.ppy-section-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #9ca3af;
    margin-bottom: 10px;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}

    .ppy-section-label::after {
        content: '';
        flex: 1;
        height: 1px;
        background: #f3f4f6;
    }

.ppy-upload-zone {
    border: 2px dashed #e5e7eb;
    border-radius: 10px;
    padding: 0.75rem;
    text-align: center;
    background: #fafafa;
}

.ppy-upload-zone-title {
    font-size: 13px;
    color: #6b7280;
    margin-top: 8px;
}

.ppy-upload-zone .rzi {
    font-size: 28px;
    color: #9ca3af;
}

.pp-card {
    border: 1px solid #e4e7ec;
    border-radius: 8px;
    background: #fff;
    padding: 0.75rem;
}

.pp-section-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: #1a1a2e;
    padding-bottom: 0.75rem;
}

.pp-section-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #0000001c;
    color: #000;
    font-size: 0.9rem;
}

.pp-upload-zone {
    border: 2px dashed #c9d0db;
    border-radius: 10px;
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    background: #fafbfc;
    flex-direction: column;
    text-align: center;
}

.pp-upload-icon.rzi {
    color: #000;
    font-size: 1.5rem;
    padding: 18px;
}

.pp-upload-text {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0;
}

.pp-upload-hint {
    font-size: 0.78rem;
    color: #9ca3af;
    margin-bottom: 0;
}

.ppy-file-chip {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 12px;
    background: #f8f9fb;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
}

    .ppy-file-chip .rzi {
        font-size: 16px;
        color: #6b7280;
    }

    .ppy-file-chip .delete-button .rzi {
        color: #fff;
    }

.ppy-file-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    font-size: 12px;
    color: #374151;
}

.ppy-advance-info {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 5px;
    font-size: 13px;
    margin-top: 8px;
}

    .ppy-advance-info .rzi {
        color: #16a34a;
        font-size: 16px;
        flex-shrink: 0;
    }

.ppy-advance-info-text {
    font-weight: 600;
    color: #15803d;
}

.ppy-advance-applied {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    font-size: 12px;
    margin-top: 6px;
    font-weight: 600;
    color: #1d4ed8;
}

.ppy-footer {
    position: sticky;
    bottom: 0;
    background: #fff;
    border-top: 1px solid #e5e7eb;
    padding: 0.75rem;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    z-index: 100;
    border-radius: 8px;
}

.expense-page-wrapper .page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.25rem;
}

    .expense-page-wrapper .page-header h2 {
        font-size: 1.5rem;
        font-weight: 700;
        margin-bottom: 0;
        color: #1a1a2e;
    }

    .expense-page-wrapper .page-header p {
        font-size: 0.8rem;
        color: #6c757d;
        margin: 0;
    }

.expense-page-wrapper .section-card {
    border: 1px solid #e4e7ec;
    border-radius: 8px;
    background: #fff;
    padding: 0.75rem;
}

.expense-page-wrapper .section-card-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 0.7rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #f0f0f0;
}

    .expense-page-wrapper .section-card-header .header-icon {
        width: 28px;
        height: 28px;
        background: #0000001c;
        border-radius: 6px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #000;
        font-size: 0.9rem;
    }

.expense-page-wrapper .expense-items-actions {
    margin-top: 0.75rem;
}

.expense-page-wrapper .summary-card {
    border: 1px solid #e4e7ec;
    border-radius: 8px;
    background: #fff;
    position: sticky;
    top: 16px;
    max-height: calc(100vh - 140px);
    overflow-y: auto;
}

.expense-page-wrapper .summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 0;
    font-size: 0.875rem;
    color: #4b5563;
}

    .expense-page-wrapper .summary-row.sub-item {
        color: #6b7280;
        font-size: 0.8rem;
    }

    .expense-page-wrapper .summary-row.total-row {
        font-size: 1rem;
        font-weight: 700;
        color: #1a1a2e;
        border-top: 1px solid #e4e7ec;
        margin-top: 0.5rem;
        padding-top: 0.75rem;
        margin-bottom: 0;
        padding-bottom: 0;
    }

.expense-page-wrapper .summary-divider {
    border: none;
    border-top: 1px solid #f0f0f0;
    margin: 0.25rem 0;
}

.expense-page-wrapper .adjustment-input-wrap {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

    .expense-page-wrapper .adjustment-input-wrap input {
        width: 100px;
        text-align: right;
        border: 1px solid #d1d5db;
        border-radius: 3px;
        padding: 3px 8px;
        font-size: 0.85rem;
    }

.expense-page-wrapper .upload-zone {
    border: 2px dashed #c9d0db;
    border-radius: 10px;
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    background: #fafbfc;
    flex-direction: column;
}

    .expense-page-wrapper .upload-zone .upload-icon {
        color: #000;
        font-size: 1.5rem;
        padding: 18px;
    }

    .expense-page-wrapper .upload-zone .upload-text {
        font-size: 0.875rem;
        color: #6b7280;
        margin: 0;
    }

.expense-page-wrapper .action-footer {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #e4e7ec;
    padding: 0.75rem;
    z-index: 100;
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
}

.expense-page-wrapper .status-badge-wrap {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0.75rem;
}

.expense-page-wrapper .upload-file-card {
    border: 1px solid #e4e7ec;
    border-radius: 5px;
    padding: 0.50rem;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.expense-page-wrapper .upload-hint {
    font-size: 0.78rem;
    color: #9ca3af;
    margin-top: 0.5rem;
    margin-bottom: 0;
}

.expense-page-wrapper .tax-toggle-row {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.expense-page-wrapper .tax-toggle-label {
    font-weight: 600;
    font-size: 0.875rem;
    color: #374151;
    white-space: nowrap;
}

.expense-page-wrapper .tax-toggle-dropdown {
    min-width: 190px;
}

.expense-page-wrapper .expense-items-tax-toggle {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
}

.expense-page-wrapper .expense-gstin-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}

.expense-page-wrapper .expense-gstin-caption {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6b7280;
    line-height: 1;
}

.expense-page-wrapper .expense-gstin-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    min-height: 42px;
    padding: 8px 12px;
    background: #f9fafb;
    border: 1px solid var(--rz-base-300, #e4e6eb);
    border-radius: 6px;
}

.expense-page-wrapper .expense-gstin-value {
    font-weight: 700;
    letter-spacing: 0.03em;
    color: #1e293b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.expense-page-wrapper .expense-gstin-tag {
    font-size: 0.75rem;
    color: #64748b;
    flex-shrink: 0;
}

.grn-ref-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.grn-ref-pill {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 14px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    min-width: 140px;
    flex: 0 1 auto;
}

.grn-ref-pill-label {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.grn-ref-pill-value {
    font-size: 0.95rem;
    font-weight: 600;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}

.grn-ref-pill.grn-number {
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border-color: #a7f3d0;
}

    .grn-ref-pill.grn-number .grn-ref-pill-label {
        color: #047857;
    }

.grn-section-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 4px 0 12px 0;
}

    .grn-section-divider::before,
    .grn-section-divider::after {
        content: '';
        flex: 1;
        height: 1px;
        background: #e2e8f0;
    }

.grn-section-divider-text {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #94a3b8;
}

.service-type-pill {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 99px;
    line-height: 1.4;
}

    .service-type-pill.purchase {
        background: #eef2ff;
        color: #4338ca;
    }

    .service-type-pill.sales {
        background: #ecfdf5;
        color: #047857;
    }

    .service-type-pill.both {
        background: #fef3c7;
        color: #92400e;
    }

.audit-history {
    font-size: 0.85rem;
}

.audit-history-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.audit-history-title {
    font-weight: 600;
    color: #111827;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .audit-history-title .rz-icon {
        font-size: 18px;
        color: #6b7280;
    }

.audit-state {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #6b7280;
    padding: 8px 0;
}

.audit-empty {
    color: #94a3b8;
    padding: 10px 0;
}

.audit-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
}

.audit-item {
    position: relative;
    padding: 0 0 14px 20px;
}

    .audit-item:last-child {
        border-left-color: transparent;
        padding-bottom: 0;
    }

.audit-dot {
    position: absolute;
    left: -7px;
    top: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #9ca3af;
    box-shadow: 0 0 0 2px #fff;
}

.audit-dot--created {
    background: #6366f1;
}

.audit-dot--edited {
    background: #f59e0b;
}

.audit-dot--reversed {
    background: #0ea5e9;
}

.audit-dot--cancelled {
    background: #ef4444;
}

.audit-dot--approved {
    background: #10b981;
}

.audit-row1 {
    display: flex;
    align-items: center;
    gap: 8px;
}

.audit-chip {
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 2px 8px;
    border-radius: 99px;
    background: #f3f4f6;
    color: #374151;
}

.audit-chip--created {
    background: #eef2ff;
    color: #4338ca;
}

.audit-chip--edited {
    background: #fffbeb;
    color: #b45309;
}

.audit-chip--reversed {
    background: #ecfeff;
    color: #0e7490;
}

.audit-chip--cancelled {
    background: #fef2f2;
    color: #b91c1c;
}

.audit-chip--approved {
    background: #ecfdf5;
    color: #047857;
}

.audit-time {
    color: #6b7280;
    font-size: 0.78rem;
}

.audit-row2 {
    margin-top: 2px;
    color: #374151;
    font-size: 0.8rem;
}

.audit-muted {
    color: #9ca3af;
}

.audit-reason {
    margin-top: 4px;
    color: #4b5563;
    font-style: italic;
}

.audit-changes {
    width: 100%;
    margin-top: 6px;
    border-collapse: collapse;
    font-size: 0.78rem;
}

    .audit-changes th {
        text-align: left;
        font-weight: 600;
        color: #9ca3af;
        text-transform: uppercase;
        font-size: 0.66rem;
        padding: 2px 8px 2px 0;
    }

    .audit-changes td {
        padding: 2px 8px 2px 0;
        vertical-align: top;
    }

.audit-field {
    color: #374151;
    font-weight: 600;
}

.audit-old {
    color: #b91c1c;
    text-decoration: line-through;
}

.audit-new {
    color: #047857;
}

.audit-version {
    font-size: 0.7rem;
    font-weight: 700;
    color: #1f2937;
    background: #e5e7eb;
    border-radius: 6px;
    padding: 1px 7px;
}

.audit-count {
    font-size: 0.7rem;
    color: #6b7280;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 99px;
    padding: 1px 8px;
}

.audit-user {
    font-weight: 600;
}

.audit-line--added td {
    background: #f0fdf4;
}

.audit-line--removed td {
    background: #fef2f2;
}

.audit-tag {
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}

.audit-tag--added {
    color: #047857;
}

.audit-tag--removed {
    color: #b91c1c;
    text-decoration: none;
}

.audit-field--item {
    font-weight: 500;
    color: #6b7280;
}

.audit-toggle {
    margin-top: 4px;
    border: none;
    background: none;
    padding: 0;
    color: #2563eb;
    font-size: 0.76rem;
    font-weight: 600;
    cursor: pointer;
}

    .audit-toggle:hover {
        text-decoration: underline;
    }

.brw-page {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.brw-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.brw-crumb {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #2563eb;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}

    .brw-crumb .rz-icon {
        font-size: 15px;
    }

.brw-title {
    margin: 2px 0 0;
    font-weight: 700;
    color: #111827;
}

.brw-sub {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.brw-chip {
    font-size: 0.72rem;
    font-weight: 600;
    background: #f3f4f6;
    color: #4b5563;
    border-radius: 99px;
    padding: 2px 10px;
}

.brw-chip--live {
    background: #eff6ff;
    color: #1d4ed8;
}

.brw-muted {
    color: #9ca3af;
    font-size: 0.78rem;
}

.brw-start-note {
    color: #6b7280;
    font-size: 0.78rem;
    line-height: 1.35;
}

.brw-start-note--warn {
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    padding: 6px 8px;
}

.brw-state {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    color: #6b7280;
    height: 60vh;
    padding: 10px 0;
}

.brw-empty {
    color: #94a3b8;
    padding: 14px;
    text-align: center;
    font-size: 0.82rem;
}

.brw-startcard h5 {
    margin: 0 0 6px;
    font-weight: 700;
}

.brw-startinputs {
    margin: 0 0 10px 0;
}

.brw-startactions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.brw-summary {
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.brw-tabbar {
    display: flex;
    gap: 2px;
    border-bottom: 1px solid #e4e7ec;
}

.brw-tabbtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 0;
    background: transparent;
    padding: 10px 16px;
    font-size: 0.86rem;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    white-space: nowrap;
    transition: color .12s, border-color .12s, background .12s;
}

    .brw-tabbtn:hover {
        color: #1e293b;
        background: #f8fafc;
    }

    .brw-tabbtn.brw-tab--active {
        color: #000;
        border-bottom-color: #000;
    }

    .brw-tabbtn .rz-icon,
    .brw-tabbtn i {
        font-size: 1.05rem;
    }

.brw-tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: #222;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
}

.brw-tab-badge--muted {
    background: #e2e8f0;
    color: #475569;
}

.brw-tab-badge--ok {
    background: #dcfce7;
    color: #15803d;
}

.brw-tab {
    display: none;
    flex-direction: column;
    gap: 10px;
}

    .brw-tab.brw-tab--active {
        display: flex;
    }

.brw-queue {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 5px;
}

.brw-qcard {
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    padding: 0.75rem;
    cursor: pointer;
    transition: border-color .12s, box-shadow .12s, transform .06s;
}

    .brw-qcard:hover {
        border-color: #22222266;
        box-shadow: 0 2px 10px rgb(0 0 0 / 8%);
    }

    .brw-qcard:active {
        transform: translateY(1px);
    }

.brw-qcard-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    flex-shrink: 0;
}

    .brw-qcard-ic .rz-icon,
    .brw-qcard-ic i {
        font-size: 1.35rem;
    }

.brw-qcard-ic--work {
    background: #eef2ff;
    color: #4338ca;
}

.brw-qcard-ic--sugg {
    background: #fef3c7;
    color: #b45309;
}

.brw-qcard-ic--done {
    background: #dcfce7;
    color: #15803d;
}

.brw-qcard-num {
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.1;
    color: #0f172a;
}

.brw-qcard-lbl {
    font-size: 0.78rem;
    color: #64748b;
}

.brw-cc-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 12px;
}

.brw-cc-panel {
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.brw-cc-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 0.86rem;
    font-weight: 700;
    color: #334155;
}

    .brw-cc-head > span {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

    .brw-cc-head .rz-icon,
    .brw-cc-head i {
        font-size: 1.05rem;
        color: #64748b;
    }

.brw-cc-items {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.brw-cc-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    background: #f8fafc;
    font-size: 0.82rem;
    color: #334155;
}

.brw-cc-item--warn {
    background: #fff7ed;
}

.brw-cc-item--ok {
    background: #f0fdf4;
}

.brw-cc-item-ic {
    font-size: 1.1rem;
    color: #94a3b8;
    flex-shrink: 0;
}

.brw-cc-item-ic--sugg {
    color: #b45309;
}

.brw-cc-item-ic--in {
    color: #15803d;
}

.brw-cc-item-ic--out {
    color: #b91c1c;
}

.brw-cc-item-ic--ok {
    color: #16a34a;
}

.brw-cc-item--warn .brw-cc-item-ic {
    color: #ea580c;
}

.brw-cc-item-txt {
    flex: 1 1 auto;
    min-width: 0;
}

.brw-cc-empty {
    padding: 14px 10px;
    text-align: center;
    color: #94a3b8;
    font-size: 0.82rem;
}

.brw-cc-typerow {
    display: inline-flex;
    gap: 4px;
    flex-wrap: wrap;
}

.brw-cc-feed {
    display: flex;
    flex-direction: column;
}

.brw-cc-feedrow {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 4px;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.82rem;
}

    .brw-cc-feedrow:last-child {
        border-bottom: 0;
    }

.brw-cc-feedamt {
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
}

.brw-cc-feeddesc {
    flex: 1 1 auto;
    min-width: 0;
    color: #4338ca;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}

.brw-cc-feeddate {
    color: #94a3b8;
    white-space: nowrap;
    font-size: 0.76rem;
}

.brw-cc-more {
    align-self: flex-start;
    border: 0;
    background: transparent;
    color: #4338ca;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    padding: 4px 2px;
}

    .brw-cc-more:hover {
        text-decoration: underline;
    }

.brw-emptytab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    color: #64748b;
    background: #f8fafc;
    border: 1px dashed #e2e8f0;
    border-radius: 12px;
    padding: 32px 24px;
}

    .brw-emptytab .rz-icon,
    .brw-emptytab i {
        font-size: 1.8rem;
        color: #94a3b8;
    }

    .brw-emptytab p {
        margin: 0;
        max-width: 520px;
        font-size: 0.86rem;
    }

.brw-rulescard {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    border: 1px solid #e4e7ec;
    border-radius: 12px;
    background: #fff;
    padding: 20px 22px;
    max-width: 560px;
}

    .brw-rulescard > .rz-icon,
    .brw-rulescard > i {
        font-size: 1.6rem;
        color: #4338ca;
    }

    .brw-rulescard h6 {
        margin: 0;
        font-weight: 700;
    }

    .brw-rulescard p {
        margin: 0 0 6px;
        font-size: 0.86rem;
        color: #64748b;
    }

.brw-exc-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    padding: 0.75rem;
    border-radius: 6px;
}

    .brw-exc-head h6 {
        margin: 0;
        font-weight: 700;
        display: flex;
        align-items: center;
        gap: 6px;
    }

.brw-exc-meta {
    font-size: 0.78rem;
    color: #64748b;
    margin-top: 2px;
    max-width: 720px;
}

.brw-progressrow {
    display: flex;
    gap: 16px;
    align-items: center;
}

.brw-prog {
    flex: 1;
    min-width: 0;
}

.brw-prog-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 0.78rem;
    color: #64748b;
    margin-bottom: 6px;
}

    .brw-prog-head b {
        color: #0f172a;
        font-size: 0.82rem;
    }

.brw-prog-bar {
    height: 10px;
    border-radius: 99px;
    background: #eef2f6;
    overflow: hidden;
}

.brw-prog-fill {
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, #16a34a, #4ade80);
    transition: width .4s ease;
}

.brw-balances {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 18px;
    margin-top: 15px;
    font-size: 0.74rem;
    color: #222;
    justify-content: center;
}

    .brw-balances span {
        display: flex;
        background: #f1f5f9;
        padding: 0.30rem 1.5rem;
        border-radius: 100px;
    }

    .brw-balances .brw-balance-child {
        font-size: 11px;
        font-weight: 700;
        margin: 0 0px 0 8px;
    }

    .brw-balances span {
        align-items: center;
    }

    .brw-balances .brw-balance-actions {
        display: inline-flex;
        align-items: center;
        gap: 2px;
        margin-left: 8px;
        padding: 0;
        background: none;
        border-radius: 0;
        line-height: 1;
    }

    .brw-balances .brw-tile-btn.rz-button {
        min-width: 0;
        width: 22px;
        height: 22px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        overflow: visible;
        color: #64748b;
        background: transparent;
        box-shadow: none;
        border: 0;
        border-radius: 4px;
    }

        .brw-balances .brw-tile-btn.rz-button:hover {
            color: #0f172a;
            background: #e2e8f0;
        }

    .brw-balances .brw-tile-btn .rz-button-icon-left,
    .brw-balances .brw-tile-btn .rzi {
        font-size: 15px;
        line-height: 1;
        width: auto;
        height: auto;
        margin: 0;
    }

    .brw-balances b {
        color: #0f172a;
        margin-left: 4px;
    }

.brw-diffcard {
    min-width: 230px;
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.brw-diffcard-head {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    font-weight: 700;
    color: #334155;
}

.brw-diffcard-amount {
    font-size: 1.25rem;
    font-weight: 800;
    color: #0f172a;
}

.brw-diffcard-sub {
    font-size: 0.7rem;
    color: #64748b;
    word-break: break-all;
}

.brw-diffcard--diff {
    border-color: #fecaca;
    background: #fef2f2;
    max-width: 25%;
}

    .brw-diffcard--diff .brw-diffcard-amount {
        color: #b91c1c;
    }

.brw-diffcard--ok {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

    .brw-diffcard--ok .brw-diffcard-amount {
        color: #15803d;
    }

.brw-diffcard--warn {
    border-color: #fde68a;
    background: #fffbeb;
    max-width: 330px;
}

    .brw-diffcard--warn .brw-diffcard-head {
        color: #92400e;
    }

.brw-fixtarget {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 6px;
}

.brw-breakdown {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    border-top: 1px dashed #e4e7ec;
    padding-top: 10px;
}

.brw-bd-title {
    font-size: 0.76rem;
    font-weight: 700;
    color: #475569;
}

.brw-bd-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 99px;
    font-size: 0.74rem;
    padding: 4px 12px;
    line-height: 1.3;
}

    .brw-bd-chip .rz-icon {
        font-size: 15px;
    }

    .brw-bd-chip b {
        color: #0f172a;
        font-weight: 700;
    }

.brw-bd-chip--static {
    background: #f1f5f9;
    border: 1px solid transparent;
    color: #94a3b8;
    cursor: default;
}

    .brw-bd-chip--static b {
        color: #64748b;
        font-weight: 600;
    }

.brw-bd-chip--action {
    background: #fff;
    border: 1px solid #cbd5e1;
    color: #334155;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
    transition: border-color .12s ease, background .12s ease, box-shadow .12s ease;
}

    .brw-bd-chip--action .rz-icon {
        color: #6366f1;
    }

button.brw-bd-chip--action:hover {
    border-color: #979797;
    background: #ffffff;
    color: #000;
    box-shadow: 0 2px 6px rgb(0 0 0 / 15%);
}

.brw-bd-chip--on {
    border-color: #afafaf;
    background: #eef2ff;
    color: #222;
    box-shadow: none;
}

    .brw-bd-chip--on b {
        color: #000;
        font-size: 11px;
    }

    .brw-bd-chip--on .rz-icon {
        color: #4338ca;
    }

button.brw-bd-chip[disabled] {
    opacity: 0.55;
    cursor: progress;
    box-shadow: none;
}

.brw-bd-chip--gap {
    border-color: #fca5a5;
    background: #fef2f2;
    color: #b91c1c;
}

    .brw-bd-chip--gap b {
        color: #b91c1c;
    }

    .brw-bd-chip--gap .rz-icon {
        color: #dc2626;
    }

button.brw-bd-chip--gap:hover {
    border-color: #dc2626;
    background: #fee2e2;
    box-shadow: 0 2px 6px rgba(220, 38, 38, .15);
}

.brw-pane-progress {
    height: 3px;
    margin: 0;
}

.brw-pane-body--busy {
    opacity: 0.55;
    pointer-events: none;
    transition: opacity .12s ease;
}

.brw-autostatus {
    font-size: 0.75rem;
    font-weight: 600;
    color: #4338ca;
    display: inline-flex;
    align-items: center;
}

.brw-actions-sep {
    width: 1px;
    align-self: stretch;
    margin: 2px 4px;
    background: #e2e8f0;
}

.brw-btn-quiet.rz-button {
    background: #fff !important;
    border: 1px solid #cbd5e1 !important;
    color: #1e293b !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .06);
}

    .brw-btn-quiet.rz-button .rz-button-text,
    .brw-btn-quiet.rz-button .rzi,
    .brw-btn-quiet.rz-button i {
        color: #1e293b !important;
    }

    .brw-btn-quiet.rz-button:hover:not(:disabled) {
        background: #f5f7ff !important;
        border-color: #6366f1 !important;
        color: #4338ca !important;
    }

        .brw-btn-quiet.rz-button:hover:not(:disabled) .rz-button-text,
        .brw-btn-quiet.rz-button:hover:not(:disabled) .rzi,
        .brw-btn-quiet.rz-button:hover:not(:disabled) i {
            color: #4338ca !important;
        }

.brw-filterclear {
    margin-left: 8px;
    border: none;
    border-radius: 99px;
    background: #eef2ff;
    color: #4338ca;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 1px 9px;
    cursor: pointer;
}

.brw-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 10px;
}

.brw-tile {
    border: 1px solid #e4e7ec;
    border-radius: 10px;
    background: #fff;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.brw-tile-ic {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    color: #2563eb;
    flex-shrink: 0;
}

    .brw-tile-ic .rz-icon {
        font-size: 19px;
    }

.brw-tile-ic--amber {
    background: #fffbeb;
    color: #b45309;
}

.brw-tile-ic--indigo {
    background: #eef2ff;
    color: #4f46e5;
}

.brw-tile-ic--green {
    background: #ecfdf5;
    color: #047857;
}

.brw-tile-ic--red {
    background: #fef2f2;
    color: #b91c1c;
}

.brw-tile-ic--slate {
    background: #f1f5f9;
    color: #475569;
}

.brw-tile-txt {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

    .brw-tile-txt b {
        color: #111827;
        font-size: 1rem;
        font-variant-numeric: tabular-nums;
    }

    .brw-tile-txt span {
        color: #9ca3af;
        font-size: 0.66rem;
        text-transform: uppercase;
        letter-spacing: .04em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.brw-tile--ok {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

    .brw-tile--ok b {
        color: #047857;
    }

.brw-tile--diff {
    border-color: #fecaca;
    background: #fef2f2;
}

    .brw-tile--diff b {
        color: #b91c1c;
    }

.brw-selectionbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: none;
    border-radius: 6px;
    background: none;
    padding: 0px 0px;
    gap: 10px;
    flex-wrap: wrap;
}

.brw-seltotals {
    display: flex;
    gap: 5px;
    font-size: 0.82rem;
    color: #4b5563;
    flex-wrap: wrap;
}

    .brw-seltotals span {
        background: #fff;
        border: 1px solid #cbd5e1;
        color: #334155;
        box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
        transition: border-color .12s ease, background .12s ease, box-shadow .12s ease;
        padding: 4px 12px;
        font-size: 0.74rem;
        border-radius: 99px;
    }

.brw-selactions {
    display: flex;
    gap: 8px;
}

.brw-panes {
    --brw-gutter: 36px;
    align-items: stretch;
}

    .brw-panes > .rz-splitter-pane {
        display: flex;
    }

        .brw-panes > .rz-splitter-pane > .brw-pane {
            flex: 1 1 auto;
            min-width: 0;
        }

    .brw-panes > .rz-splitter-bar {
        width: var(--brw-gutter);
        opacity: 1;
        background: transparent;
        gap: 6px;
    }

        .brw-panes > .rz-splitter-bar::before {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            left: 50%;
            width: 1px;
            margin-left: -0.5px;
            background: #e4e7ec;
        }

        .brw-panes > .rz-splitter-bar:hover::before {
            background: none;
        }

.rz-splitter > .rz-splitter-bar > .rz-collapse, .rz-splitter > .rz-splitter-bar > .rz-expand {
    display: grid !important;
}

.brw-panes > .rz-splitter-bar {
    width: 40px !important;
}

    .brw-panes > .rz-splitter-bar > .rz-resize {
        position: relative;
        width: 5px;
        height: 34px;
        margin: 0;
        border: 0;
        border-radius: 3px;
        background: #cbd2da;
    }

    .brw-panes > .rz-splitter-bar:hover > .rz-resize {
        background: #98a2b3;
    }

    .brw-panes > .rz-splitter-bar > .rz-collapse,
    .brw-panes > .rz-splitter-bar > .rz-expand {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border: 1px solid #d0d5dd;
        border-radius: 50%;
        background: #fff;
        color: #667085;
        cursor: pointer;
        box-shadow: 0 1px 2px rgba(16, 24, 40, .06);
    }

        .brw-panes > .rz-splitter-bar > .rz-collapse::before,
        .brw-panes > .rz-splitter-bar > .rz-expand::before {
            display: block;
            font-size: 16px;
            line-height: 1;
        }

        .brw-panes > .rz-splitter-bar > .rz-collapse:hover,
        .brw-panes > .rz-splitter-bar > .rz-expand:hover {
            color: #1151f3;
            border-color: #1151f3;
        }

.brw-pane {
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    display: flex;
    flex-direction: column;
    min-height: 220px;
}

.brw-pane-head {
    padding: 10px 14px;
    border-bottom: 1px solid #f1f5f9;
    display: flex;
    gap: 6px;
    justify-content: space-between;
    align-items: center;
}

.brw-pane-headrow {
    gap: 8px;
}

    .brw-pane-headrow .brw-export-btn {
        flex-shrink: 0;
    }

.brw-pane-head h6 {
    margin: 0;
    font-weight: 700;
    font-size: 0.85rem;
    color: #111827;
}

.brw-search {
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 5px 9px;
    background: #fff;
}

    .brw-search .rz-icon {
        font-size: 15px;
        color: #9ca3af;
    }

    .brw-search input {
        border: none;
        outline: none;
        width: 100%;
        font-size: 0.78rem;
        background: transparent;
    }

.brw-trunc {
    font-size: 0.72rem;
    color: #b45309;
    background: #fffbeb;
    border-radius: 6px;
    padding: 3px 8px;
}

.brw-pane-body {
    overflow-y: auto;
    max-height: 460px;
    padding: 6px 8px;
}

.brw-colhead {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 8px;
    position: sticky;
    top: 0;
    background: #f8fafc;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #94a3b8;
    border-bottom: 1px solid #eef2f7;
    z-index: 1;
}

    .brw-colhead .brw-ch-chk {
        width: 14px;
        flex-shrink: 0;
    }

    .brw-colhead .brw-ch-date {
        width: 52px;
        flex-shrink: 0;
    }

    .brw-colhead .brw-ch-narr {
        flex: 1;
    }

    .brw-colhead .brw-ch-amt {
        width: 92px;
        text-align: right;
        flex-shrink: 0;
    }

    .brw-colhead .brw-ch-act {
        width: 46px;
        flex-shrink: 0;
    }

.brw-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 8px;
    cursor: pointer;
    font-size: 0.8rem;
    color: #374151;
    border-bottom: 1px solid #f4f6f8;
}

    .brw-row:hover {
        background: #f8fafc;
    }

.brw-row--sel {
    background: #eff6ff;
}

    .brw-row--sel:hover {
        background: #e0edff;
    }

.brw-row input[type="checkbox"] {
    accent-color: #2563eb;
    flex-shrink: 0;
}

.brw-date {
    width: 52px;
    flex-shrink: 0;
    color: #6b7280;
    white-space: nowrap;
    font-size: 10px;
}

.brw-narr {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brw-amt {
    width: 92px;
    text-align: right;
    flex-shrink: 0;
    font-weight: 700;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-size: 10px;
}

.brw-in {
    color: #047857;
}

.brw-out {
    color: #b91c1c;
}

.brw-ignore {
    border: none;
    background: none;
    color: #cbd5e1;
    cursor: pointer;
    font-size: 0.8rem;
    padding: 0 2px;
    flex-shrink: 0;
}

    .brw-ignore:hover {
        color: #b91c1c;
    }

.brw-rowbtn {
    border: none;
    background: none;
    color: #cbd5e1;
    cursor: pointer;
    padding: 0 2px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
}

    .brw-rowbtn .rz-icon {
        font-size: 16px;
    }

    .brw-rowbtn:hover {
        color: #2563eb;
    }

    .brw-rowbtn:disabled {
        cursor: default;
        opacity: 0.5;
    }

.brw-rowbtn--busy {
    cursor: default;
    width: 20px;
    justify-content: center;
}

    .brw-rowbtn--busy .rz-progressbar-circular {
        width: 16px;
        height: 16px;
    }

.brw-rowbtn--find {
    color: #4338ca;
}

    .brw-rowbtn--find:hover {
        color: #3730a3;
    }

.brw-pane-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 0.72rem;
    color: #64748b;
}

.brw-pane-foot {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.brw-pane-foot-label {
    flex: 1;
    font-size: 0.78rem;
    font-weight: 600;
    color: #64748b;
}

.brw-pane-foot-amt {
    font-size: 0.9rem;
    font-weight: 700;
    min-width: 100px;
    text-align: right;
}

.brw-pane-count {
    font-weight: 700;
    color: #334155;
    font-size: 10px;
}

.brw-pane-note {
    font-size: 10px;
    margin-left: 4px;
}

.brw-pane-sel {
    color: #2563eb;
    font-weight: 600;
}

.brw-pane-search {
    color: #92400e;
    font-weight: 600;
    font-size: 10px;
}

    .brw-pane-search a {
        margin-left: 4px;
        color: #2563eb;
        text-decoration: underline;
    }

.brw-pane-partial {
    color: #b45309;
    font-weight: 600;
}

.brw-selnote {
    color: #b45309;
    font-weight: 600;
}

.brw-pane-trunc {
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    padding: 1px 7px;
    font-weight: 600;
}

.brw-pane-hint {
    color: #94a3b8;
    font-style: italic;
}

.brs-dirtoggle {
    display: inline-flex;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.brs-dirbtn {
    border: none;
    background: transparent;
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 600;
    padding: 4px 12px;
    cursor: pointer;
    border-right: 1px solid #eef2f7;
}

    .brs-dirbtn:last-child {
        border-right: none;
    }

    .brs-dirbtn:hover:not(.brs-dirbtn--on) {
        background: #f8fafc;
        color: #334155;
    }

.brs-dirbtn--on {
    background: #eef2ff;
    color: #4338ca;
}

.brs-dirbtn--in.brs-dirbtn--on {
    background: #ecfdf5;
    color: #047857;
}

.brs-dirbtn--out.brs-dirbtn--on {
    background: #fef2f2;
    color: #b91c1c;
}

.brw-dr-filter {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 2px;
}

    .brw-dr-filter .brw-dr-btn {
        font-size: 0.72rem;
        white-space: nowrap;
    }

.brw-dr-clear {
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #334155;
    border-radius: 6px;
    font-size: 0.72rem;
    padding: 3px 8px;
    cursor: pointer;
}

    .brw-dr-clear:hover {
        border-color: #6366f1;
        color: #4338ca;
        background: #f5f7ff;
    }

.brw-pane-grid {
    border: none !important;
    border-top: 1px solid #f1f5f9 !important;
    border-radius: 0 0 10px 10px;
}

    .brw-pane-grid .rz-grid-table th {
        background: #f8fafc;
        font-size: 0.64rem;
        text-transform: uppercase;
        letter-spacing: .03em;
        color: #64748b;
        font-weight: 700;
    }

    .brw-pane-grid .rz-data-row td {
        font-size: 0.8rem;
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .brw-pane-grid .brw-narr {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: normal;
        word-break: break-word;
        overflow: hidden;
        max-width: 100%;
        line-height: 1.25;
        font-size: 10px;
    }

    .brw-pane-grid .brw-amt {
        width: auto;
    }

.brw-gl-party {
    color: #4338ca;
    font-weight: 600;
}

.brs-narr-wrap {
    white-space: normal;
    word-break: break-word;
    display: block;
    line-height: 1.3;
}

.brs-voucher {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.brs-voucher-party {
    font-size: 0.72rem;
    color: #4338ca;
    font-weight: 600;
    word-break: break-word;
}

.brw-ref {
    font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
    font-size: 0.74rem;
    color: #475569;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.brw-gridchk {
    accent-color: #2563eb;
    cursor: pointer;
    vertical-align: middle;
}

.brw-pane-grid .rz-data-row.brw-gridrow--sel > td {
    background: #eff6ff !important;
}

.brw-amtcell {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
    line-height: 1.15;
}

.brw-partbadge {
    display: inline-block;
    font-size: 0.66rem;
    font-weight: 700;
    white-space: nowrap;
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 999px;
    padding: 0 6px;
    font-variant-numeric: tabular-nums;
}

.brw-pane-grid .rz-data-row.brw-gridrow--partial > td:first-child {
    box-shadow: inset 3px 0 0 0 #f59e0b;
}

.brw-rowactions {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    justify-content: center;
}

.adj-dialog {
    text-transform: none;
    display: flex;
    flex-direction: column;
    gap: .85rem;
    padding-top: .3rem;
}

.adj-line {
    border: 1px solid #e4e7ec;
    border-radius: 8px;
    background: #fafbfc;
    padding: .6rem .8rem;
}

.adj-line-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.adj-date {
    color: #6b7280;
    font-size: .8rem;
}

.adj-amt {
    font-weight: 700;
}

.adj-in {
    color: #16a34a;
}

.adj-out {
    color: #dc2626;
}

.adj-narr {
    color: #374151;
    font-size: .82rem;
    margin-top: .2rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.adj-field {
    display: flex;
    flex-direction: column;
    gap: .3rem;
}

    .adj-field label {
        font-size: .78rem;
        color: #374151;
        font-weight: 500;
    }

.adj-preview {
    background: #eff6ff;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    padding: .5rem .7rem;
    font-size: .82rem;
    color: #1e3a8a;
    font-weight: 600;
}

.adj-actions {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    margin-top: .2rem;
}

.brw-matches {
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    padding: 0.75rem;
}

    .brw-matches h6 {
        margin: 0 0 8px;
        font-weight: 700;
        font-size: 0.85rem;
    }

.brw-matches-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

    .brw-matches-head h6 {
        margin: 0;
    }

.brw-matches-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.brw-match {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px solid #f8fafc;
    font-size: 0.8rem;
}

.brw-match--sel {
    background: #eff6ff;
    border-radius: 6px;
}

.brw-match-chk {
    accent-color: #2563eb;
    flex-shrink: 0;
}

.brw-match:last-child {
    border-bottom: none;
}

.brw-match-amt {
    font-weight: 700;
    color: #111827;
    min-width: 110px;
}

.brw-match-desc {
    flex: 1;
    color: #6b7280;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brw-unmatch {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid #fecaca;
    background: #fff;
    border-radius: 7px;
    padding: 3px 10px;
    font-size: 0.72rem;
    font-weight: 600;
    color: #b91c1c;
    cursor: pointer;
}

    .brw-unmatch .rz-icon {
        font-size: 14px;
    }

    .brw-unmatch:hover {
        background: #fef2f2;
        border-color: #fca5a5;
    }

.brw-mtable {
    display: flex;
    flex-direction: column;
    margin-top: 8px;
}

.brw-mrow {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 6px;
    border-bottom: 1px solid #f4f6f8;
    font-size: 0.8rem;
}

    .brw-mrow:last-child {
        border-bottom: none;
    }

.brw-mrow--head {
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #94a3b8;
    background: #f8fafc;
    border-radius: 6px;
}

.brw-mrow--sel {
    background: #eff6ff;
    border-radius: 6px;
}

.brw-mc-chk {
    width: 16px;
    flex-shrink: 0;
}

    .brw-mc-chk input {
        accent-color: #2563eb;
    }

.brw-mc-amt {
    width: 96px;
    flex-shrink: 0;
    font-weight: 700;
    color: #111827;
    font-variant-numeric: tabular-nums;
}

.brw-mc-with {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.brw-mc-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.brw-balances span {
    flex-wrap: wrap;
    line-height: 1.5;
}

.brw-balance-note {
    flex-basis: 100%;
    margin-top: 3px;
    font-size: 0.72rem;
    color: #b45309;
    font-weight: 500;
}

.brw-cc-panel--prior {
    border-left: 3px solid #b45309;
}

.brw-mc-vouchers {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brw-mc-sub {
    font-size: 0.68rem;
    color: #9ca3af;
}

.brw-mc-type {
    width: 100px;
    flex-shrink: 0;
}

.brw-mc-status {
    width: 90px;
    flex-shrink: 0;
}

.brw-mc-act {
    width: 108px;
    flex-shrink: 0;
    text-align: right;
}

.brw-typechip {
    display: inline-block;
    font-size: 0.64rem;
    font-weight: 700;
    border-radius: 99px;
    padding: 2px 9px;
    background: #eef2ff;
    color: #4338ca;
}

.brw-typechip--auto {
    background: #ecfeff;
    color: #0e7490;
}

.brw-typechip--adjustment {
    background: #fef3c7;
    color: #b45309;
}

.brw-typechip--manual {
    background: #f1f5f9;
    color: #475569;
}

.brw-page .rz-badge-warning.rz-shade-lighter {
    color: var(--rz-on-base-lighter) !important;
}

.brs-ref {
    font-variant-numeric: tabular-nums;
    font-size: 0.78rem;
    color: #475569;
}

.brw-diff {
    margin-top: 2px;
    font-size: 0.62rem;
    font-weight: 700;
    color: #b45309;
    white-space: nowrap;
}

.brw-diff--booked {
    color: #3730a3;
}

.brw-mc-ico {
    width: 20px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    color: #16a34a;
}

    .brw-mc-ico .rz-icon {
        font-size: 18px;
    }

.brw-mc-date {
    width: 58px;
    flex-shrink: 0;
    color: #6b7280;
    white-space: nowrap;
}

.brw-mfoot {
    text-align: center;
    padding: 9px 0 2px;
    font-size: 0.72rem;
    color: #9ca3af;
}

.brw-head-ic {
    color: #222;
    font-size: 18px;
    vertical-align: -3px;
    margin-right: 3px;
}

.brw-showing {
    padding: 5px 14px;
    background: #fffdf3;
    border-top: 1px solid #f4f6f8;
    border-bottom: 1px solid #f4f6f8;
    font-size: 0.72rem;
    color: #a16207;
}

.brs-panel {
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #ffffff;
    padding: 0.75rem;
}

.brs-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

    .brs-head h6 {
        margin: 0;
        font-weight: 600;
        font-size: 0.88rem;
        color: #000;
        display: inline-flex;
        align-items: center;
        gap: 5px;
    }

        .brs-head h6 .rz-icon {
            font-size: 17px;
        }

.brs-meta {
    color: #64748b;
    font-size: 0.74rem;
    margin-top: 2px;
}

.brs-trunc {
    color: #b45309;
    font-weight: 600;
    margin-left: 6px;
}

.brs-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.brs-selall {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.72rem;
    color: #475569;
    cursor: pointer;
    user-select: none;
    margin-right: 2px;
}

    .brs-selall input[type="checkbox"] {
        accent-color: #2563eb;
        cursor: pointer;
    }

.brw-vlink {
    border: 0;
    background: none;
    padding: 0;
    font: inherit;
    color: #2563eb;
    font-weight: 600;
    cursor: pointer;
    font-size: 10px;
    text-decoration: none;
}

    .brw-vlink:hover {
        text-decoration: underline;
    }

.brs-sep {
    color: #9ca3af;
    margin: 0 3px;
    font-weight: 600;
}

.brw-cm-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    font-size: 0.85rem;
}

.brw-cm-list {
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
}

.brw-cm-row {
    display: grid;
    grid-template-columns: 20px 90px 130px 1fr 110px auto;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    margin: 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.8rem;
    cursor: pointer;
}

    .brw-cm-row:last-child {
        border-bottom: 0;
    }

    .brw-cm-row:hover {
        background: #f8fafc;
    }

.brw-cm-row--on {
    background: #eff6ff;
}

.brw-cm-voucher {
    font-weight: 600;
}

.brw-cm-late {
    font-size: 14px;
    vertical-align: -3px;
    color: #b45309;
}

.brw-cm-party {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brw-cm-amt {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.brw-cm-total {
    margin-top: 8px;
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
}

.brw-cm-total--ok {
    background: #ecfdf5;
    color: #047857;
}

.brw-cm-total--off {
    background: #fef2f2;
    color: #b91c1c;
}

.brs-date {
    font-size: 0.68rem;
    color: #64748b;
    background: #f1f5f9;
    border-radius: 5px;
    padding: 1px 6px;
    margin: 0 4px;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.brs-listhead {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 2px 10px 6px;
    font-size: 0.64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #94a3b8;
}

    .brs-listhead .brs-h-chk {
        width: 13px;
        flex-shrink: 0;
    }

    .brs-listhead .brs-h-conf {
        width: 66px;
        flex-shrink: 0;
    }

    .brs-listhead .brs-h-amt {
        min-width: 100px;
        text-align: right;
        flex-shrink: 0;
    }

    .brs-listhead .brs-h-desc {
        flex: 1;
    }

    .brs-listhead .brs-h-reasons {
        flex-shrink: 0;
    }

.brs-list {
    max-height: 340px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.brs-row {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid #eef2f7;
    border-radius: 4px;
    padding: 7px 10px;
    cursor: pointer;
    font-size: 0.8rem;
}

.brs-row--sel {
    border-color: #ccc;
    background: #ffffff;
}

.brs-row input[type="checkbox"] {
    accent-color: #2563eb;
    flex-shrink: 0;
}

.brs-conf {
    font-size: 0.64rem;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 99px;
    padding: 1px 8px;
    flex-shrink: 0;
}

.brs-conf--high {
    background: #ecfdf5;
    color: #047857;
}

.brs-conf--medium {
    background: #eff6ff;
    color: #1d4ed8;
}

.brs-conf--low {
    background: #f1f5f9;
    color: #64748b;
}

.brs-conf--possible {
    background: #fffbeb;
    color: #b45309;
}

.brs-conf--rejected {
    background: #fef2f2;
    color: #b91c1c;
}

.brs-rowacts {
    display: inline-flex;
    gap: 2px;
    justify-content: center;
}

.brs-iconbtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    transition: background .12s, color .12s, border-color .12s;
}

    .brs-iconbtn:hover {
        background: #f1f5f9;
        color: #334155;
        border-color: #e2e8f0;
    }

    .brs-iconbtn:disabled {
        opacity: .45;
        cursor: default;
    }

    .brs-iconbtn .rz-icon,
    .brs-iconbtn i {
        font-size: 1rem;
    }

.brs-iconbtn--danger:hover {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

.brs-dismissed {
    margin-top: 10px;
    border-top: 1px dashed #e2e8f0;
    padding-top: 8px;
}

.brs-dismissed-head {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 0;
    background: transparent;
    padding: 4px 2px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
}

    .brs-dismissed-head:hover {
        color: #1e293b;
    }

.brs-dismissed-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 4px;
}

.brs-dismissed-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 0.78rem;
}

.brs-dismissed-toolbar {
    border-bottom: 1px solid #e4e7ec;
    border-radius: 0;
    padding-bottom: 6px;
    margin-bottom: 2px;
}

    .brs-dismissed-toolbar:hover {
        background: transparent;
    }

    .brs-dismissed-toolbar .brs-dismissed-desc {
        color: #64748b;
    }

.brs-dismissed-row:hover {
    background: #f8fafc;
}

.brs-dismissed-desc {
    flex: 1 1 auto;
    min-width: 0;
    color: #475569;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.brs-amt {
    font-weight: 700;
    min-width: 100px;
    text-align: right;
    flex-shrink: 0;
}

.brs-foot {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0 0 0px;
    margin-top: 6px;
    border-top: 1px solid #e2e8f0;
}

.brs-foot-label {
    flex: 1;
    font-size: 0.78rem;
    font-weight: 600;
    color: #64748b;
}

.brs-foot-sel {
    color: #000;
    font-weight: 700;
    font-size: 13px;
}

.brs-foot-amt {
    font-size: 0.9rem;
    color: #0f172a;
}

.brs-foot-tail {
    display: none;
}

.brs-desc {
    flex: 1;
    color: #374151;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brs-arrow {
    color: #94a3b8;
    margin: 0 4px;
}

.brs-reasons {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

.brs-gap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    font-size: .72rem;
}

.brs-cause-chip {
    display: inline-block;
    background: #eef2ff;
    color: #3730a3;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: .68rem;
    font-weight: 600;
    cursor: pointer;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brs-reason {
    font-size: 0.66rem;
    background: #f1f5f9;
    color: #475569;
    border-radius: 6px;
    padding: 1px 7px;
    white-space: nowrap;
}

.brw-mgrid .brw-wrapcell .rz-cell-data {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.7;
}

.brw-mgrid .brw-wrapcell .brs-reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    white-space: normal;
}

.brw-mgrid .brw-wrapcell .brs-reason {
    white-space: normal;
    margin: 0;
}

.brw-mgrid--wrap .rz-data-row,
.brw-mgrid--wrap .rz-data-row td {
    height: auto;
}

    .brw-mgrid--wrap .rz-data-row td {
        vertical-align: top;
    }

.item-type-chip {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 99px;
    margin-right: 8px;
    line-height: 1.4;
    vertical-align: middle;
}

    .item-type-chip.goods {
        background: #eef2ff;
        color: #4338ca;
    }

    .item-type-chip.service {
        background: #ecfdf5;
        color: #047857;
    }

.cs-search-field .rz-form-field-label {
    display: none !important;
}

.cs-search-field .rz-form-field-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
    align-items: center;
}

.cs-customer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 18px;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    align-items: start;
}

    .cs-customer-grid .cs-kv {
        border: 1px solid #d6d7d9;
        display: flex;
        flex-direction: column;
        min-width: 0;
        padding: 0.75rem;
        border-radius: 6px;
    }

    .cs-customer-grid .cs-kv-label {
        font-size: 0.78rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #94a3b8;
        line-height: 1.5;
    }

    .cs-customer-grid .cs-kv-value {
        display: flex;
        align-items: flex-start;
        gap: 4px;
        min-height: 1.6em;
        font-size: 13px;
        color: #1e293b;
        line-height: 1.4;
    }

        .cs-customer-grid .cs-kv-value .new-SO-customerdetail,
        .cs-customer-grid .cs-kv-value .new-SO-customerdetail input,
        .cs-customer-grid .cs-kv-value .rz-dropdown .rz-inputtext,
        .cs-customer-grid .cs-kv-value .rz-textbox {
            font-size: 13px !important;
        }

.cs-orderdetail :is(input, .rz-inputtext, .rz-dropdown-label, .rz-placeholder, textarea) {
    font-size: 13px !important;
}

.cs-locked-section {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 28px 20px;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    color: #64748b;
}

.cs-locked-icon {
    font-size: 28px;
    color: #94a3b8;
}

.cs-locked-title {
    font-weight: 600;
    color: #475569;
    font-size: 0.95rem;
}

.cs-locked-text {
    font-size: 0.8rem;
    margin-top: 2px;
}

.price-revision-preview-dialog {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
    background: #fff;
}

.price-revision-preview-header,
.price-revision-preview-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    gap: 12px;
    padding: 18px 28px;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
}

.price-revision-preview-header {
    z-index: 1;
}

    .price-revision-preview-header h3 {
        margin: 0;
        font-size: 21px;
        line-height: 1.3;
        font-weight: 700;
        color: #0f172a;
    }

.price-revision-preview-subtitle {
    margin-top: 2px;
    color: #6b7280;
    font-size: 0.85rem;
}

.price-revision-preview-content {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 22px 28px;
    background: #f8fafc;
}

.price-revision-preview-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.price-revision-preview-dialog-grid {
    min-width: 780px;
}

.price-revision-preview-footer {
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid #e5e7eb;
    border-bottom: 0;
    box-shadow: 0 -8px 20px rgba(15, 23, 42, 0.06);
    z-index: 1;
}

.price-revision-preview-dialog-shell {
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.26);
}

    .price-revision-preview-dialog-shell .rz-dialog-titlebar {
        display: none !important;
    }

    .price-revision-preview-dialog-shell .rz-dialog-content {
        display: flex;
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        padding: 0 !important;
        overflow: hidden !important;
        position: relative;
        border-radius: 10px !important;
        text-transform: none;
    }

.price-revision-page {
    position: relative;
}

.price-revision-loading-slot {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.price-revision-grid-header {
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.price-revision-batch-grid {
    min-width: 780px;
}

.price-revision-empty-state {
    width: 100%;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid #e8ebf0;
    border-radius: 4px;
}

    .price-revision-empty-state .no-records-to-display {
        max-width: 100%;
        margin: 0;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: normal;
    }

.price-revision-checkbox .rz-chkbox-box {
    border: 3px solid #d7dee8 !important;
    background: #fff !important;
    box-shadow: none !important;
}

    .price-revision-checkbox .rz-chkbox-box.rz-state-active .rzi {
        color: #111827 !important;
    }

.field-invalid,
.field-invalid > .rz-spinner,
.field-invalid > .rz-dropdown,
.field-invalid input {
    border-color: #dc2626 !important;
}

.item-type-chip {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 99px;
    margin-right: 8px;
    line-height: 1.4;
    vertical-align: middle;
}

    .item-type-chip.goods {
        background: #eef2ff;
        color: #4338ca;
    }

    .item-type-chip.service {
        background: #ecfdf5;
        color: #047857;
    }

.service-expense-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
}

.service-expense-label {
    font-size: 0.75rem;
    color: #6b7280;
    white-space: nowrap;
    flex-shrink: 0;
}

.service-expense-input {
    flex: 1 1 auto;
    min-width: 0;
}

.field-invalid,
.field-invalid > .rz-spinner,
.field-invalid > .rz-dropdown,
.field-invalid input {
    border-color: #dc2626 !important;
}

.item-type-chip {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 99px;
    margin-right: 8px;
    line-height: 1.4;
    vertical-align: middle;
}

    .item-type-chip.goods {
        background: #eef2ff;
        color: #4338ca;
    }

    .item-type-chip.service {
        background: #ecfdf5;
        color: #047857;
    }

.item-type-chip-row {
    margin-top: 8px;
    line-height: 1.4;
}

    .item-type-chip-row .item-type-chip {
        margin-right: 0;
    }

.current-stock-chip {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 99px;
    line-height: 1.4;
    vertical-align: middle;
    white-space: nowrap;
}

.item-stock-chip-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
}

    .item-stock-chip-row .item-type-chip {
        margin-right: 0;
    }

.current-stock-chip.available {
    background: #ecfdf5;
    color: #047857;
}

.current-stock-chip.low {
    background: #fef2f2;
    color: #b91c1c;
}

.service-expense-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
}

.service-expense-label {
    font-size: 0.75rem;
    color: #6b7280;
    white-space: nowrap;
    flex-shrink: 0;
}

.service-expense-input {
    flex: 1 1 auto;
    min-width: 0;
}

.service-qty-na {
    color: #9ca3af;
    font-size: 0.95rem;
}

.settings-tabs {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 200px;
    flex-shrink: 0;
    border-right: 1px solid #eef0f4;
    padding-right: 12px;
}

.settings-tab {
    display: flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #4a5260;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
    width: 100%;
}

    .settings-tab.active {
        background: #0f172a;
        color: #ffffff;
        border-color: #0f172a;
    }

    .settings-tab:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

    .settings-tab .soon {
        margin-left: auto;
        font-size: 0.65rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: #9ca3af;
    }

    .settings-tab .dirty-dot {
        margin-left: auto;
        width: 8px;
        height: 8px;
        border-radius: 99px;
        background: #f59e0b;
    }

.settings-pane {
    flex: 1 1 auto;
    min-width: 0;
    padding-left: 0px;
}

.sr-radio-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
    cursor: pointer;
    font-size: 0.9rem;
}

    .sr-radio-row.disabled {
        cursor: not-allowed;
        opacity: 0.6;
    }

    .sr-radio-row input[type=radio] {
        margin-top: 4px;
        flex-shrink: 0;
    }

    .sr-radio-row .sr-title {
        font-weight: 600;
        color: #0f172a;
    }

    .sr-radio-row .sr-sub {
        font-size: 0.78rem;
        color: #6b7280;
        margin-top: 2px;
    }

.sr-config-summary {
    margin: 6px 0 0 0px;
    padding: 8px 12px;
    background: #f4f5f9;
    border-radius: 6px;
    font-size: 0.8125rem;
    color: #4a5260;
}

    .sr-config-summary b {
        color: #0f172a;
    }

.sr-config-link {
    margin-left: 12px;
    color: #2563eb;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

    .sr-config-link:hover {
        text-decoration: underline;
    }

.settings-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 6px 0;
}

    .settings-field .rz-label {
        font-weight: 600;
        color: #0f172a;
        font-size: 0.85rem;
    }

.settings-help {
    font-size: 0.75rem;
    color: #6b7280;
    margin-top: 2px;
}

body:has(.rz-dialog-side.rz-open) > .rz-popup,
body:has(.rz-dialog-side.rz-open) > .rz-dropdown-panel {
    z-index: 100300 !important;
}

.settings-help--success {
    color: #15803d;
}

.settings-help--warn {
    color: #b45309;
}

.configure-rounding-dialog-wrapper,
.configure-rounding-dialog {
    z-index: 100300 !important;
}

    .configure-rounding-dialog-wrapper ~ .rz-dialog-mask,
    .configure-rounding-dialog-wrapper + .rz-dialog-mask {
        z-index: 100290 !important;
    }

.settings-tab-sep {
    height: 1px;
    background: #eef0f4;
    margin: 8px 4px;
}

.settings-tab-action {
    color: #4a5260;
}

    .settings-tab-action:hover {
        background: #f4f5f9;
        color: #0f172a;
    }

.settings-history-dialog-wrapper,
.settings-history-dialog {
    z-index: 100301 !important;
}

    .settings-history-dialog-wrapper ~ .rz-dialog-mask,
    .settings-history-dialog-wrapper + .rz-dialog-mask {
        z-index: 100290 !important;
    }

    .settings-history-dialog .rz-dialog-content {
        text-transform: none;
    }

.settings-history .sh-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px 0;
}

.settings-history .sh-muted {
    color: #6b7280;
}

.settings-history .sh-verify {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0.75rem;
    border-radius: 6px;
    margin-bottom: 10px;
    font-size: 0.85rem;
}

    .settings-history .sh-verify.ok {
        background: #ecfdf5;
        border: 1px solid #a7f3d0;
        color: #065f46;
    }

    .settings-history .sh-verify.bad {
        background: #fef2f2;
        border: 1px solid #fecaca;
        color: #991b1b;
    }

    .settings-history .sh-verify .rzi {
        font-size: 1.5rem;
    }

.settings-history .sh-verify-text {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.settings-history .sh-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 36px 0;
    color: #6b7280;
}

    .settings-history .sh-empty .rzi {
        font-size: 2rem;
        opacity: 0.5;
    }

.settings-history .sh-setting {
    font-weight: 600;
    color: #1f2937;
}

.settings-history .sh-old {
    color: #9ca3af;
    text-decoration: line-through;
}

.settings-history .sh-new {
    color: #0f172a;
    font-weight: 600;
}

.settings-history .sh-arrow {
    font-size: 1rem !important;
    color: #9ca3af;
    vertical-align: middle;
    margin: 0 4px;
}

.settings-history .sh-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}

.rounding-examples {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

    .rounding-examples th {
        text-align: left;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        color: #6b7280;
        text-transform: uppercase;
        padding: 8px 10px;
        background: #fafbfd;
        border-bottom: 1px solid #eef0f4;
    }

    .rounding-examples td {
        padding: 8px 10px;
        border-bottom: 1px solid #f4f5f9;
        font-variant-numeric: tabular-nums;
    }

    .rounding-examples tbody tr:last-child td {
        border-bottom: none;
    }

.prof-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 10px;
}

.prof-page-title {
    font-size: 22px;
    font-weight: 700;
    color: #111827;
    margin: 0;
}

.prof-avatar-card {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    overflow: hidden;
    height: 100%;
}

.prof-avatar-banner {
    background: #222;
    height: 72px;
}

.prof-avatar-body {
    padding: 0 20px 20px;
    text-align: center;
    position: relative;
}

.prof-avatar-wrap {
    position: relative;
    display: inline-block;
    margin-top: 33px;
    margin-bottom: 20px;
}

.prof-avatar-img {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 2px 12px rgba(0,0,0,0.12);
}

.prof-avatar-title {
    font-size: 22px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 7px;
}

.prof-avatar-sub {
    font-size: 11px;
    color: #9ca3af;
    margin-bottom: 14px;
}

.prof-avatar-divider {
    height: 1px;
    background: #f3f4f6;
    margin: 14px 0;
}

.prof-card {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    overflow: hidden;
    height: 100%;
}

.prof-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem;
    border-bottom: 1px solid #f3f4f6;
}

.prof-card-title {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

    .prof-card-title .rzi {
        font-size: 17px;
        color: #374151;
    }

.prof-card-actions {
    display: flex;
    gap: 6px;
}

.prof-card-body {
    padding: 0.75rem;
}

.prof-field {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 0.75rem;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid #f3f4f6;
    margin-bottom: 12px;
}

    .prof-field:last-child {
        margin-bottom: 0;
    }

.prof-field-label {
    font-size: 10px;
    font-weight: 600;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.prof-field-value {
    font-size: 13px;
    font-weight: 600;
    color: #111827;
}

.prof-map-card {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    overflow: hidden;
    height: 100%;
}

.prof-map-header {
    padding: 0.75rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    display: flex;
    align-items: center;
    gap: 8px;
}

    .prof-map-header .rzi {
        font-size: 17px;
        color: #374151;
    }

.prof-map-body {
    padding: 0.75rem;
}

.prof-root .rz-form-field {
    margin-bottom: 0;
}

.fieldset-cus-padding .rz-fieldset-content {
    padding: 0.75rem !important;
}

.coa-page {
    text-transform: none;
}

.coa-gate {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    min-height: calc(100vh - 220px);
    color: #9ca3af;
}

.coa-gate-text {
    font-size: .9rem;
}

.coa-detail-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    min-height: 300px;
    color: #9ca3af;
}

.coa-split {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
}

.coa-list {
    width: 360px;
    flex-shrink: 0;
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 10px);
    position: sticky;
    top: 10px;
    align-self: flex-start;
}

.coa-list-scroll {
    overflow-y: auto;
    flex: 1;
}

.coa-sect {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #9ca3af;
    padding: .55rem .9rem .2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.coa-sect-add {
    border: none;
    background: transparent;
    color: #9ca3af;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    padding: 0 2px;
    border-radius: 6px;
}

    .coa-sect-add:hover {
        color: #2563eb;
        background: #eff6ff;
    }

    .coa-sect-add .rzi {
        font-size: 16px;
    }

.add-acc-derived {
    font-size: .78rem;
    color: #334155;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: .4rem .6rem;
    display: flex;
    align-items: center;
    gap: 6px;
}

    .add-acc-derived .rz-icon, .add-acc-derived .rzi {
        font-size: 16px;
        color: #6366f1;
    }

.coa-item {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .45rem .9rem;
    cursor: pointer;
    border-left: 3px solid transparent;
}

    .coa-item:hover {
        background: #f6f8fa;
    }

    .coa-item.active {
        background: #eff6ff;
        border-left-color: #222;
    }

.coa-item-icon {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    color: #475569;
}

    .coa-item-icon .rzi {
        font-size: 15px;
    }

.coa-item-main {
    flex: 1;
    min-width: 0;
}

.coa-item-name {
    font-size: .86rem;
    font-weight: 500;
    color: #1f2937;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.coa-item-sub {
    font-size: .7rem;
    color: #9ca3af;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.coa-lock {
    color: #9ca3af;
    display: inline-flex;
}

    .coa-lock .rzi {
        font-size: 14px;
    }

.coa-empty {
    padding: 1.5rem .9rem;
    text-align: center;
    color: #9ca3af;
    font-size: .85rem;
}

.coa-detail {
    flex: 1;
    min-width: 0;
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
}

.coa-detail-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    color: #9ca3af;
    min-height: 340px;
    text-align: center;
}

.coa-detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid #eef1f5;
    flex-wrap: wrap;
}

.coa-detail-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #111827;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.coa-chip {
    font-size: .7rem;
    font-weight: 600;
    border-radius: 999px;
    padding: .12rem .55rem;
    background: #f1f5f9;
    color: #475569;
}

    .coa-chip.sys {
        background: #fef9c3;
        color: #854d0e;
        display: inline-flex;
        align-items: center;
        gap: .25rem;
    }

        .coa-chip.sys .rzi {
            font-size: 12px;
        }

.coa-ob {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.75rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.coa-ob-box {
    border: 1px solid #eef1f5;
    border-radius: 6px;
    padding: .7rem .9rem;
    background: #fafbfc;
}

.coa-ob-label {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #9ca3af;
    font-weight: 700;
}

.coa-ob-value {
    font-size: 1.15rem;
    font-weight: 800;
    color: #111827;
    font-variant-numeric: tabular-nums;
}

.coa-side {
    font-size: .66rem;
    font-weight: 700;
    border-radius: 4px;
    padding: 0 .3rem;
    margin-left: .35rem;
    vertical-align: 2px;
}

    .coa-side.dr {
        background: #eff6ff;
        color: #2563eb;
    }

    .coa-side.cr {
        background: #fff7ed;
        color: #ea580c;
    }

.coa-toolbar {
    display: flex;
    align-items: flex-end;
    gap: .75rem;
    flex-wrap: wrap;
    padding: .75rem;
    border-bottom: 1px solid #eef1f5;
    background: #fafbfc;
}

.coa-tool-field {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    width: 46%;
}

    .coa-tool-field label {
        font-size: .66rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .04em;
        color: #9ca3af;
    }

.coa-txn-wrap {
    padding: 0 0.75rem 0.75rem;
}

.coa-txn {
    width: 100%;
    border-collapse: collapse;
    font-size: .84rem;
}

    .coa-txn thead th {
        text-align: left;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .04em;
        color: #9ca3af;
        padding: .45rem .55rem;
        border-bottom: 1px solid #eef1f5;
        text-transform: uppercase;
    }

        .coa-txn thead th.num {
            text-align: right;
        }

    .coa-txn tbody td {
        padding: .4rem .55rem;
        border-bottom: 1px solid #f5f6f8;
        vertical-align: top;
    }

    .coa-txn tbody tr:hover {
        background: #fafbfc;
    }

    .coa-txn .num {
        text-align: right;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

.coa-txn-type {
    font-size: .72rem;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    border-radius: 5px;
    padding: .05rem .4rem;
}

.coa-txn-empty {
    text-align: center;
    color: #9ca3af;
    padding: 2rem 0;
    font-size: .85rem;
}

.coa-list-mobile-trigger {
    display: none;
}

.pm-dialog {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-transform: none;
}

.pm-intro {
    font-size: .85rem;
    color: #475569;
    line-height: 1.5;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: .65rem .8rem;
}

.pm-loading {
    display: flex;
    align-items: center;
    gap: .6rem;
    color: #64748b;
    font-size: .85rem;
    padding: .4rem 0;
}

.pm-compare {
    display: flex;
    align-items: stretch;
    gap: .6rem;
}

.pm-record {
    flex: 1;
    border-radius: 8px;
    padding: .6rem .75rem;
    min-width: 0;
}

.pm-record-source {
    background: #fef2f2;
    border: 1px solid #fecaca;
}

.pm-record-target {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.pm-record-tag {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: .2rem;
}

.pm-record-source .pm-record-tag {
    color: #b91c1c;
}

.pm-record-target .pm-record-tag {
    color: #15803d;
}

.pm-record-name {
    font-size: .85rem;
    font-weight: 700;
    color: #1e293b;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pm-record-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .25rem;
}

    .pm-record-meta span {
        font-size: .7rem;
        color: #64748b;
        background: rgba(255,255,255,.7);
        border-radius: 5px;
        padding: .05rem .4rem;
    }

.pm-arrow {
    align-self: center;
    font-size: 1.1rem;
    color: #94a3b8;
    flex-shrink: 0;
}

.pm-warning {
    font-size: .8rem;
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: .5rem .7rem;
}

.pm-counts {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}

.pm-counts-title {
    font-size: .78rem;
    font-weight: 700;
    color: #334155;
    background: #f8fafc;
    padding: .45rem .7rem;
    border-bottom: 1px solid #e2e8f0;
}

.pm-count-row {
    display: flex;
    justify-content: space-between;
    font-size: .8rem;
    color: #475569;
    padding: .35rem .7rem;
    border-bottom: 1px solid #f5f6f8;
}

    .pm-count-row:last-child {
        border-bottom: none;
    }

.pm-count-num {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #1e293b;
}

.pm-actions {
    display: flex;
    justify-content: flex-end;
    gap: .6rem;
    margin-top: .2rem;
}

.po-accordion-title-ellipsis {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex: 1 1 auto;
    max-width: 160px;
}

.brs-report {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 13px;
    color: #1f2937;
}

.brs-state {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 24px;
    color: #6b7280;
}

.brs-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 8px;
}

    .brs-head h5 {
        margin: 0;
        font-size: 16px;
        font-weight: 700;
    }

.brs-sub {
    color: #374151;
    font-weight: 600;
    margin-top: 2px;
}

.brs-head-meta {
    text-align: right;
    color: #6b7280;
    font-size: 12px;
}

.brs-recon {
    font-size: 11px;
    margin-top: 2px;
}

.brs-notes {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 8px 0 4px;
    padding: 6px 10px;
    background: #f5f7fb;
    border-radius: 6px;
    color: #4b5563;
    font-size: 12px;
}

.brs-note {
    display: flex;
    align-items: flex-start;
    gap: 6px;
}

    .brs-note .rzi {
        font-size: 15px;
        color: #3730a3;
        flex: none;
        margin-top: 1px;
    }

.brs-stmt {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.brs-srow {
    display: grid;
    grid-template-columns: 1fr 0 150px;
    gap: 8px;
    padding: 8px 14px;
    border-bottom: 1px solid #f1f3f5;
    align-items: center;
}

    .brs-srow:last-child {
        border-bottom: 0;
    }

.brs-slabel {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.brs-samt {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.brs-srow--anchor {
    background: #f8f9fa;
    font-weight: 700;
}

.brs-srow--adj {
    cursor: pointer;
}

    .brs-srow--adj:hover {
        background: #f9fafb;
    }

.brs-srow--computed {
    background: #f8f9fa;
    font-weight: 700;
    border-top: 1px solid #e5e7eb;
}

.brs-srow--target {
    background: #eef6ff;
    font-weight: 700;
}

.brs-caret {
    font-size: 16px;
    color: #9ca3af;
}

.brs-n {
    color: #6b7280;
    font-weight: 600;
    font-size: 12px;
}

.brs-hint {
    color: #9ca3af;
    font-size: 11px;
    flex-basis: 100%;
    padding-left: 20px;
}

.brs-detail {
    background: #fcfcfd;
    border-bottom: 1px solid #f1f3f5;
    padding: 2px 14px 6px 34px;
}

.brs-detail--scroll {
    max-height: 300px;
    overflow-y: auto;
}

.brs-drow {
    display: grid;
    grid-template-columns: 70px 130px 1fr 120px;
    gap: 8px;
    padding: 3px 0;
    font-size: 12px;
    color: #4b5563;
    align-items: center;
}

.brs-ddate {
    color: #6b7280;
}

.brs-dref {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #6b7280;
}

.brs-dnarr {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brs-damt {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.brs-morebar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 5px;
}

.brs-showtoggle {
    border: 1px solid #d1d5db;
    background: #fff;
    color: #374151;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 10px;
    cursor: pointer;
}

    .brs-showtoggle:hover {
        background: #f3f4f6;
    }

.brs-more {
    color: #9ca3af;
    font-style: italic;
    font-size: 11px;
}

.brs-in {
    color: #047857;
}

.brs-out {
    color: #b91c1c;
}

.brs-diff {
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
}

.brs-diff--ok {
    background: #ecfdf5;
    color: #047857;
}

.brs-diff--gap {
    background: #fef2f2;
    color: #b91c1c;
}

.brs-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.cus-code-pill {
    background: #222;
    color: #fff;
    border-color: #222;
}

.ob-page {
    text-transform: none;
}

.ob-card {
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    padding: 1rem 1.15rem;
    margin-bottom: 0;
    box-shadow: 0 1px 3px rgba(17, 24, 39, .04);
    transition: box-shadow .18s ease, border-color .18s ease;
}

    .ob-card:hover {
        box-shadow: 0 4px 14px rgba(17, 24, 39, .07);
    }

.ob-card-head {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: .97rem;
    font-weight: 700;
    color: #111827;
}

.ob-card-head-icon {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1f2937, #111827);
    color: #fff;
    box-shadow: 0 2px 6px rgba(17, 24, 39, .25);
}

    .ob-card-head-icon .rzi {
        font-size: 17px;
    }

.ob-card-sub {
    font-size: .78rem;
    color: #6b7280;
    font-weight: 400;
    margin-top: 2px;
}

.ob-prep {
    border: 1px solid #e4e7ec;
    border-radius: 8px;
    background: #fff;
    padding: .5rem .95rem .7rem;
    box-shadow: 0 1px 3px rgba(17, 24, 39, .04);
}

.ob-prep-summary {
    display: flex;
    align-items: center;
    gap: .55rem;
    cursor: pointer;
    list-style: none;
    font-weight: 700;
    font-size: .92rem;
    color: #111827;
    padding: .3rem 0;
    user-select: none;
}

    .ob-prep-summary::-webkit-details-marker {
        display: none;
    }

    .ob-prep-summary .ob-prep-lead {
        color: #2563eb;
        font-size: 20px;
        flex: 0 0 auto;
    }

    .ob-prep-summary .ob-prep-heading {
        flex: 1 1 auto;
    }

    .ob-prep-summary .ob-prep-chevron {
        margin-left: auto;
        color: #9ca3af;
        font-size: 22px;
        flex: 0 0 auto;
        transition: transform .18s ease;
    }

.ob-prep[open] .ob-prep-chevron {
    transform: rotate(180deg);
}

.ob-prep-list {
    margin: .45rem 0 0;
    padding: .6rem 0 0;
    list-style: none;
    counter-reset: obprep;
    border-top: 1px solid #f0f1f4;
}

    .ob-prep-list li {
        display: flex;
        align-items: flex-start;
        gap: .6rem;
        font-size: .84rem;
        color: #374151;
        line-height: 1.5;
        padding: .4rem 0;
    }

        .ob-prep-list li + li {
            border-top: 1px dashed #f1f2f5;
        }

    .ob-prep-list .ob-prep-tick {
        color: #16a34a;
        font-size: 18px;
        flex: 0 0 auto;
        margin-top: 1px;
    }

    .ob-prep-list strong {
        color: #111827;
    }

    .ob-prep-list a {
        color: #2563eb;
        text-decoration: none;
    }

        .ob-prep-list a:hover {
            text-decoration: underline;
        }

.ob-card.ob-card-accent {
    border: 1px solid #e6e9ef;
    background: linear-gradient(180deg, #ffffff 0%, #fafbfd 100%);
    position: relative;
    overflow: hidden;
    padding-left: 0.75rem;
}

    .ob-card.ob-card-accent::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 4px;
        background: #222;
    }

    .ob-card.ob-card-accent .ob-card-head-icon {
        background: #2563eb;
    }

    .ob-card.ob-card-accent.ob-card-accent-details::before {
        background: #222;
    }

    .ob-card.ob-card-accent.ob-card-accent-details .ob-card-head-icon {
        background: #222;
    }

    .ob-card.ob-card-accent .ob-card-head {
        font-size: 1rem;
    }

.ob-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .8rem;
    font-weight: 600;
    border-radius: 6px;
    padding: 0.45rem;
    border: 1px solid transparent;
    transition: transform .12s ease;
}

    .ob-chip:hover {
        transform: translateY(-1px);
    }

    .ob-chip .rzi {
        font-size: 15px;
    }

    .ob-chip.ok {
        background: #f0fdf4;
        border-color: #bbf7d0;
        color: #166534;
    }

    .ob-chip.warn {
        background: #fffbeb;
        border-color: #fde68a;
        color: #92400e;
    }

    .ob-chip.miss {
        background: #fef2f2;
        border-color: #fecaca;
        color: #991b1b;
    }

    .ob-chip .ob-chip-detail {
        color: inherit;
        opacity: .72;
        font-weight: 400;
    }

.ob-party-tile {
    flex: 1;
    min-width: fit-content;
    display: flex;
    align-items: center;
    gap: .8rem;
    border-radius: 8px;
    padding: 0.75rem;
    background: #000;
    transition: box-shadow .18s ease, transform .18s ease;
}

    .ob-party-tile:hover {
        box-shadow: 0 4px 12px rgba(17, 24, 39, .06);
        transform: translateY(-1px);
    }

.ob-party-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .ob-party-icon .rzi {
        font-size: 20px;
    }

    .ob-party-icon.ar {
        background: #eff6ff;
        color: #2563eb;
    }

    .ob-party-icon.ap {
        background: #fef3c7;
        color: #b45309;
    }

.ob-party-label {
    font-size: .72rem;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 700;
}

.ob-party-value {
    font-weight: 700;
    font-size: 1rem;
    color: #fff;
    margin-top: 1px;
}

.ob-party-meta {
    font-size: .75rem;
    color: #fff;
    margin-top: 1px;
}

.ob-group {
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(17, 24, 39, .04);
    transition: box-shadow .18s ease;
}

    .ob-group:hover {
        box-shadow: 0 4px 14px rgba(17, 24, 39, .07);
    }

.ob-group-head {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: 0.75rem;
    cursor: pointer;
    background: #fafbfc;
    border-bottom: 1px solid #eef1f5;
    user-select: none;
    transition: background .15s ease;
    flex-wrap: wrap;
}

    .ob-group-head:hover {
        background: #f4f6f8;
    }

.ob-group-icon {
    width: 25px;
    height: 25px;
    border-radius: 4px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .ob-group-icon .rzi {
        font-size: 14px;
        font-weight: 300;
    }

.ob-group-title {
    font-weight: 700;
    font-size: .94rem;
    color: #111827;
}

.ob-group-count {
    font-size: .72rem;
    font-weight: 700;
    color: #fff;
    background: #222;
    border-radius: 999px;
    padding: .12rem .6rem;
}

.ob-group-entered {
    margin-left: auto;
    font-size: .8rem;
    color: #374151;
}

    .ob-group-entered strong {
        font-variant-numeric: tabular-nums;
    }

.ob-group-chevron {
    color: #9ca3af;
    display: flex;
    transition: transform .15s ease;
}

.obg-assets {
    background: #ddeafb;
    color: #2563eb;
}

.obg-liabilities {
    background: #fbe4e4;
    color: #dc2626;
}

.obg-equity {
    background: #e7e3fd;
    color: #7c3aed;
}

.obg-income {
    background: #e4fdec;
    color: #16a34a;
}

.obg-expenses {
    background: #fdeedb;
    color: #ea580c;
}

.obg-default {
    background: #eef1f5;
    color: #374151;
}

.ob-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.ob-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .82rem;
    min-width: 380px;
}

    .ob-table thead th {
        padding: .55rem .6rem;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .04em;
        color: #9ca3af;
        text-align: left;
        border-bottom: 1px solid #eef1f5;
        background: #fff;
        position: sticky;
        top: 0;
    }

        .ob-table thead th.num {
            text-align: right;
        }

    .ob-table tbody td {
        padding: .3rem .6rem;
        border-bottom: 1px solid #f5f6f8;
        overflow: hidden;
    }

    .ob-table tbody tr:last-child td {
        border-bottom: none;
    }

    .ob-table tbody tr {
        transition: background .12s ease;
    }

        .ob-table tbody tr:hover {
            background: #fafbfc;
        }

.ob-acc-name {
    font-weight: 600;
    color: #1f2937;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    max-width: 100%;
    vertical-align: middle;
}

.ob-acc-voucher {
    font-size: .68rem;
    color: #9ca3af;
    margin-left: .3rem;
}

.ob-avail {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: #374151;
}

.ob-avail-empty {
    color: #d1d5db;
    text-align: right;
}

.ob-side {
    display: inline-block;
    font-size: .66rem;
    font-weight: 700;
    border-radius: 4px;
    padding: 0 .32rem;
    margin-left: .32rem;
    vertical-align: 1px;
}

    .ob-side.dr {
        background: #eff6ff;
        color: #2563eb;
    }

    .ob-side.cr {
        background: #fff7ed;
        color: #ea580c;
    }

.ob-num-cell {
    text-align: right;
}

    .ob-num-cell .rz-numeric {
        width: 100%;
    }

    .ob-num-cell .rz-spinner {
        width: 100%;
        max-width: 82px;
    }

    .ob-num-cell input {
        text-align: right !important;
        font-variant-numeric: tabular-nums;
    }

.ob-filled input {
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
    font-weight: 700;
}

.ob-footer {
    position: sticky;
    bottom: 0;
    z-index: 1030;
    background: #fff;
    border-top: 1px solid #e4e7ec;
    padding: .75rem;
    margin-top: .75rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: .85rem;
    border-radius: 6px 6px 0 0;
}

.ob-totals {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.ob-total-box {
    border: 1px solid #eef1f5;
    border-radius: 6px;
    padding: .4rem .9rem;
    background: #fafbfc;
    min-width: 140px;
}

.ob-total-label {
    font-size: .68rem;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 700;
}

.ob-total-value {
    font-weight: 700;
    font-size: .95rem;
    font-variant-numeric: tabular-nums;
    color: #111827;
}

.ob-total-box.adj-ok {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

    .ob-total-box.adj-ok .ob-total-value {
        color: #16a34a;
    }

.ob-total-box.adj-bad {
    background: #fef2f2;
    border-color: #fecaca;
}

    .ob-total-box.adj-bad .ob-total-value {
        color: #dc2626;
    }

.ob-footer-actions {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.ob-posted-badge {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    background: #dcfce7;
    color: #166534;
    font-size: .75rem;
    font-weight: 700;
    border-radius: 999px;
    padding: .25rem .75rem;
}

.ob-hint {
    font-size: .78rem;
    color: #9ca3af;
}

.mobile-dropdown-header {
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    padding: 10px 12px;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.mobile-dropdown-body {
    margin-top: 5px;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    background: #fff;
    max-height: 350px;
    overflow-y: auto;
}

.br-page {
    text-transform: none;
}

.br-card {
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    margin-bottom: .75rem;
    overflow: hidden;
}

.br-card-head {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .75rem;
    border-bottom: 1px solid #eef1f5;
    background: #fafbfc;
}

.br-card-head-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #111827;
    color: #fff;
}

    .br-card-head-icon .rzi {
        font-size: 17px;
    }

.br-card-head-title {
    font-weight: 700;
    font-size: .92rem;
    color: #111827;
}

.br-card-head-sub {
    font-size: .74rem;
    color: #6b7280;
    font-weight: 400;
}

.br-card-body {
    padding: 0.75rem;
}

.br-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 10px;
    margin-bottom: .75rem;
}

.br-tile {
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    padding: 0.75rem;
    cursor: pointer;
    transition: border-color .12s, box-shadow .12s;
}

    .br-tile:hover {
        border-color: #cbd5e1;
        box-shadow: 0 2px 10px rgba(17,24,39,.05);
    }

    .br-tile.active {
        border-color: #111827;
        box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px
    }

.br-tile-top {
    display: flex;
    align-items: center;
    gap: .6rem;
}

.br-tile-icon {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    color: #2563eb;
}

    .br-tile-icon .rzi {
        font-size: 22px;
    }

.br-tile-name {
    font-weight: 700;
    font-size: .95rem;
    color: #111827;
}

.br-tile-type {
    font-size: .72rem;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: .03em;
    font-weight: 600;
}

.br-tile-badge {
    margin-left: auto;
    font-size: .72rem;
    font-weight: 600;
    border-radius: 999px;
    padding: .18rem .6rem;
    background: #fffbeb;
    border: 1px solid #92400e;
    color: #92400e;
    white-space: nowrap;
}

.br-tile-balance {
    font-weight: 700;
    font-size: 1.45rem;
    color: #111827;
    font-variant-numeric: tabular-nums;
    margin: .6rem 0 .1rem;
}

.br-tile-meta {
    font-size: .76rem;
    color: #9ca3af;
    margin-bottom: .75rem;
}

.br-tile-actions {
    display: flex;
    gap: .5rem;
}

.br-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .84rem;
}

    .br-table thead th {
        padding: .5rem 0rem;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .05em;
        color: #9ca3af;
        text-align: left;
        border-bottom: 1px solid #eef1f5;
        text-transform: uppercase;
    }

        .br-table thead th.num {
            text-align: right;
        }

    .br-table tbody td {
        padding: .45rem 0rem;
        border-bottom: 1px solid #f5f6f8;
        vertical-align: middle;
    }

    .br-table tbody tr:last-child td {
        border-bottom: none;
    }

    .br-table tbody tr:hover {
        background: #fafbfc;
    }

.br-num {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.br-in {
    color: #16a34a;
    font-weight: 600;
}

.br-out {
    color: #dc2626;
    font-weight: 600;
}

.br-narration {
    max-width: 340px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.br-file {
    color: #6b7280;
}

.br-pill {
    font-size: .68rem;
    font-weight: 700;
    border-radius: 999px;
    padding: .1rem .55rem;
    text-transform: capitalize;
}

    .br-pill.imported {
        background: #eef1f5;
        color: #374151;
    }

    .br-pill.partiallyreconciled {
        background: #eff6ff;
        color: #2563eb;
    }

    .br-pill.reconciled {
        background: #f0fdf4;
        color: #166534;
    }

.br-status {
    font-size: .66rem;
    font-weight: 700;
    border-radius: 999px;
    padding: .08rem .5rem;
}

    .br-status.unmatched {
        background: #eef1f5;
        color: #6b7280;
    }

    .br-status.matched {
        background: #f0fdf4;
        color: #166534;
    }

    .br-status.ignored {
        background: #f5f6f8;
        color: #9ca3af;
    }

.br-state {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: #6b7280;
    padding: .5rem 0;
}

.br-empty {
    color: #9ca3af;
    padding: 1rem;
    text-align: center;
    font-size: .85rem;
}

.br-lines-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.br-filter {
    border: 1px solid #e4e7ec;
    border-radius: 8px;
    padding: .25rem .5rem;
    font-size: .78rem;
    background: #fff;
    color: #374151;
}

.br-pager {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding-top: .6rem;
    color: #6b7280;
    font-size: .78rem;
}

.expr-item {
    cursor: pointer;
    padding: 1px 4px;
    border-radius: 3px;
    font-size: 0.85rem;
}

    .expr-item:hover {
        background: rgba(0,0,0,0.06);
    }

.mig-op {
    text-transform: none;
}

.mig-op-cat {
    margin-bottom: 0;
}

.mig-op-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1rem;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #eef2ff 0%, #f8fafc 100%);
}

.mig-op-hero-left {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.mig-op-hero-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #2563eb;
    color: #fff;
}

.mig-op-hero-label {
    font-weight: 700;
    font-size: .98rem;
    color: #111827;
}

.mig-op-hero-sub {
    font-size: .78rem;
    color: #6b7280;
    margin-top: 1px;
}

.mig-op-hero-right {
    text-align: right;
}

.mig-op-hero-tlabel {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6b7280;
}

.mig-op-hero-total {
    font-size: 1.35rem;
    font-weight: 800;
    color: #1e3a8a;
    line-height: 1.1;
}

.mig-op-grid {
    margin-top: .6rem;
    overflow: hidden;
}

    .mig-op-grid .rz-grid-table td {
        font-size: .84rem;
    }

.mig-op-empty {
    font-size: .82rem;
    color: #6b7280;
    padding: .5rem 0;
}

.mig-op-note {
    margin-top: .3rem;
    display: flex;
    align-items: flex-start;
    gap: .4rem;
    font-size: .78rem;
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: .5rem .6rem;
}

.mig-op-foot {
    margin-top: .7rem;
    font-size: .72rem;
    color: #9ca3af;
}

.mig-op-ref {
    font-weight: 600;
    color: #1f2937;
}

.mig-op-amt {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.bst-import {
    max-width: 760px;
    margin: 0 auto;
}

.rz-dialog-content .rz-alert {
    text-transform: none;
}

    .rz-dialog-content .rz-alert.rz-shade-lighter .rz-alert-message {
        color: var(--rz-text-color, #212529);
    }

.bst-step {
    padding: 1rem 0 0;
}

.bst-hint {
    font-size: 0.85rem;
    color: var(--rz-text-secondary-color, #6c757d);
    margin: 0.75rem 0;
}

.bstx-drop {
    position: relative;
    border: 1px dashed var(--rz-border-color, #dee2e6);
    border-radius: 0.5rem;
    padding: 2rem 1rem;
    text-align: center;
    background: var(--rz-base-100, #fafafa);
    transition: border-color 0.15s ease, background-color 0.15s ease;
    margin-bottom: 1rem;
}

    .bstx-drop:hover {
        border-color: #000000;
        background: rgb(0 0 0 / 16%);
    }

    .bstx-drop.has-file {
        border-style: solid;
        border-color: var(--rz-success, #28a745);
        background: var(--rz-success-lighter, #eaf7ee);
    }

.bstx-drop-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.bstx-drop-icon {
    font-size: 2.25rem !important;
    width: 2.25rem;
    height: 2.25rem;
    color: #000;
    margin-bottom: 0.5rem;
}

.bstx-drop.has-file .bstx-drop-icon {
    color: var(--rz-success, #28a745);
}

.bstx-drop-title {
    font-weight: 600;
}

.bstx-drop-file {
    font-weight: 600;
    word-break: break-all;
}

.bstx-drop-sub {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color, #6c757d);
    margin-top: 0.25rem;
}

.bstx-balances {
    border: 1px solid var(--rz-border-color, #eee);
    border-radius: 0.5rem;
    padding: 0.75rem 0.75rem 0 0.75rem;
}

.bstx-balances-label {
    font-weight: 600;
    font-size: 0.85rem;
    margin-bottom: 0;
}

.bst-card {
    border: 1px solid var(--rz-border-color, #eee);
    border-radius: 0.5rem;
    padding: 0.75rem;
}

.bst-card-title {
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 0.75rem;
}

.bst-mapgrid {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.bst-maprow {
    padding: 0.4rem 0.5rem;
    border-radius: 0.375rem;
}

    .bst-maprow:nth-child(odd) {
        background: var(--rz-base-100, #f7f7f8);
    }

.bst-maphead {
    font-size: 0.85rem;
    font-weight: 500;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bst-summary {
    margin-bottom: 0.5rem;
}

.bst-stat {
    height: 100%;
    border: 1px solid var(--rz-border-color, #eee);
    border-radius: 0.5rem;
    padding: 0.65rem 0.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    background: #fff;
}

    .bst-stat span {
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        color: var(--rz-text-secondary-color, #6c757d);
    }

    .bst-stat b {
        font-size: 1.05rem;
        font-weight: 700;
    }

.bst-stat--in b {
    color: var(--rz-success, #28a745);
}

.bst-stat--out b {
    color: var(--rz-danger, #dc3545);
}

.bst-stat--wide {
    grid-column: span 2;
}

.bst-errors {
    border: 1px solid var(--rz-warning-lighter, #ffe8b3);
    background: var(--rz-warning-lighter, #fff8e6);
    border-radius: 0.5rem;
    padding: 0.85rem 1rem;
}

.bst-errors-title {
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.4rem;
    color: var(--rz-warning-dark, #8a6100);
}

.bst-errors ul {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.85rem;
}

.bst-errors li {
    margin-bottom: 0.15rem;
}

.bst-errors-row {
    font-weight: 600;
}

.bst-err-cell {
    border-color: #fde68a !important;
    background: #fffbeb;
}

    .bst-err-cell .fw-bold {
        color: #92400e;
    }

.bst-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1.25rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--rz-border-color, #eee);
}

.mcd {
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-size: 13px;
    min-width: 560px;
}

.mcd-line {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 8px 12px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.mcd-line-main {
    display: flex;
    align-items: baseline;
    gap: 12px;
}

.mcd-line-date {
    font-weight: 600;
}

.mcd-line-ref {
    font-size: 11px;
    color: #6b7280;
    font-family: ui-monospace, monospace;
}

.mcd-line-amt {
    margin-left: auto;
    font-weight: 700;
}

.mcd-line-narr {
    color: #475569;
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mcd-in {
    color: #15803d;
}

.mcd-out {
    color: #b91c1c;
}

.mcd-state {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 24px;
    color: #6b7280;
    justify-content: center;
}

.mcd-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    color: #64748b;
    padding: 24px;
}

    .mcd-empty .rz-icon {
        font-size: 1.7rem;
        color: #94a3b8;
    }

    .mcd-empty p {
        margin: 0;
        max-width: 420px;
        font-size: 12.5px;
    }

.mcd-list {
    display: flex;
    flex-direction: column;
    gap: 3px;
    max-height: 360px;
    overflow-y: auto;
}

.mcd-row {
    display: grid;
    grid-template-columns: 22px 76px 96px 130px 1fr;
    grid-template-rows: auto auto;
    gap: 3px 10px;
    align-items: center;
    padding: 7px 10px;
    border: 1px solid #eef2f6;
    border-radius: 8px;
    cursor: pointer;
}

    .mcd-row:hover {
        background: #f8fafc;
    }

.mcd-row--sel {
    background: #eef2ff;
    border-color: #c7d2fe;
}

.mcd-conf {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 99px;
    text-align: center;
}

.mcd-conf--high {
    background: #ecfdf5;
    color: #047857;
}

.mcd-conf--possible {
    background: #fffbeb;
    color: #b45309;
}

.mcd-amt {
    font-weight: 700;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.mcd-voucher {
    color: #4338ca;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mcd-narr {
    color: #475569;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mcd-reasons {
    grid-column: 2 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
}

.mcd-reason {
    font-size: 10.5px;
    background: #f1f5f9;
    color: #475569;
    border-radius: 5px;
    padding: 1px 6px;
}

.mcd-diff {
    font-size: 10.5px;
    background: #fef3c7;
    color: #92400e;
    border-radius: 5px;
    padding: 1px 6px;
    font-weight: 600;
}

.mcd-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    border-top: 1px solid #eef2f6;
    padding-top: 10px;
}

.mcd-sum {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 12.5px;
    color: #475569;
}

.mcd-ok {
    color: #15803d;
    font-weight: 600;
}

.mcd-gap {
    color: #b45309;
    font-weight: 600;
}

.mcd-hint {
    color: #94a3b8;
}

.mcd-actions {
    display: flex;
    gap: 8px;
}

.mcd-warn {
    font-size: 11.5px;
    color: #92400e;
    background: #fffbeb;
    border-radius: 6px;
    padding: 6px 10px;
}

.mdf {
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-size: 13px;
    min-width: 460px;
}

.mdf-summary {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.mdf-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

    .mdf-row span {
        color: #64748b;
    }

.mdf-row--diff {
    border-top: 1px dashed #e2e8f0;
    padding-top: 6px;
    margin-top: 2px;
    font-weight: 600;
}

.mdf-in {
    color: #15803d;
}

.mdf-out {
    color: #b91c1c;
}

.mdf-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

    .mdf-field label {
        font-size: 12px;
        color: #475569;
        font-weight: 600;
    }

.mdf-preview {
    background: #eef2ff;
    color: #3730a3;
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 12.5px;
    font-variant-numeric: tabular-nums;
}

.mdf-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.mdf--plain, .mdf--plain * {
    text-transform: none;
}

.mdf-causes .rz-radio-button-list-vertical .rz-radio-btn {
    margin-bottom: 4px;
}

.mdf-fact {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 6px 10px;
}

.mdf-warn {
    color: #92400e;
    background: #fffbeb;
    border-radius: 6px;
    padding: 6px 10px;
}

.mdf-links a {
    color: #1d4ed8;
    text-decoration: underline;
    cursor: pointer;
    font-size: 12.5px;
}

.mdf-link-btn {
    align-self: flex-start;
    margin-top: 4px;
}

.vch-dialog {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 13px;
}

.vch-state {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 24px;
    color: #6b7280;
}

.vch-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.vch-head-main {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.vch-type {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6b7280;
}

.vch-no {
    font-weight: 700;
    font-size: 15px;
}

.vch-head-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 11px;
    color: #6b7280;
    font-size: 12px;
}

.vch-fy {
    font-size: 11px;
}

.vch-narr {
    color: #374151;
    background: #f8f8f8;
    border-radius: 6px;
    padding: 6px 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vch-table {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.vch-trow {
    display: grid;
    grid-template-columns: 1fr 110px 110px;
    gap: 8px;
    padding: 7px 12px;
    border-bottom: 1px solid #f1f3f5;
    align-items: center;
}

    .vch-trow:last-child {
        border-bottom: 0;
    }

.vch-trow--head {
    background: #f8f9fa;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #6b7280;
    font-weight: 600;
}

.vch-trow--bank {
    background: #eef6ff;
}

.vch-trow--total {
    background: #f8f9fa;
    font-weight: 700;
    border-top: 1px solid #e5e7eb;
}

.vch-acct {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.vch-dr, .vch-cr {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.vch-badge {
    font-size: 10px;
    background: #2563eb;
    color: #fff;
    border-radius: 4px;
    padding: 1px 6px;
    font-weight: 600;
}

.vch-rmk {
    flex-basis: 100%;
    font-size: 11px;
    color: #9ca3af;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vch-actions {
    display: flex;
    justify-content: flex-end;
}

.vch-pay {
    border: 1px solid #dbeafe;
    background: #f5f9ff;
    border-radius: 8px;
    padding: 10px 12px;
}

.vch-pay-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.vch-pay-title {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
    font-size: 12px;
    color: #1e40af;
}

.vch-pay-dir {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 99px;
    padding: 2px 9px;
}

.vch-pay-dir--received {
    background: #ecfdf5;
    color: #047857;
}

.vch-pay-dir--paid {
    background: #fef2f2;
    color: #b91c1c;
}

.vch-pay-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 16px;
}

    .vch-pay-grid > div {
        display: flex;
        flex-direction: column;
        gap: 1px;
        min-width: 0;
    }

    .vch-pay-grid .vch-pay-full {
        grid-column: 1 / -1;
    }

    .vch-pay-grid label {
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: .03em;
        color: #93a3b8;
    }

    .vch-pay-grid span {
        font-size: 12.5px;
        color: #1f2937;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.vch-pay-amt {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.brl-page {
    text-transform: none;
}

.brl-card {
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
}

.brl-cond {
    color: #374151;
}

    .brl-cond code {
        background: #f1f5f9;
        border-radius: 4px;
        padding: 0 .35rem;
        font-size: .78rem;
    }

.rule-editor {
    text-transform: none;
    display: flex;
    flex-direction: column;
    gap: .8rem;
    padding-top: .3rem;
}

.rule-row {
    display: flex;
    gap: .75rem;
    align-items: flex-end;
    flex-wrap: wrap;
}

.rule-field {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

    .rule-field.grow {
        flex: 1;
        min-width: 180px;
    }

    .rule-field label {
        font-size: .76rem;
        color: #374151;
        font-weight: 500;
    }

.rule-section {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6b7280;
    margin-top: .35rem;
    border-top: 1px solid #f1f5f9;
    padding-top: .6rem;
}

.rule-hint {
    font-weight: 400;
    text-transform: none;
    color: #9ca3af;
}

.rule-check-label {
    font-size: .82rem;
    color: #374151;
}

.rule-actions {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    margin-top: .3rem;
}

.app-loader-overlay {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.75);
}

.sidebar_padding_ctrl .rz-dialog-side-titlebar {
    padding: 0px 0px 16px 0 !important;
}

.sidebar_padding_ctrl .rz-dialog-side-content {
    padding: 0px 0px 16px 0 !important;
}

.dh {
    --dh-panel: #ffffff;
    --dh-sub: #f5f6f8;
    --dh-row-hover: #f2f4f7;
    --dh-line: #dfe3e9;
    --dh-line-2: #c9ced6;
    --dh-ink: #17181c;
    --dh-ink-2: #55585f;
    --dh-ink-3: #8a8d94;
    --dh-shadow: 0 1px 2px rgba(16,17,20,.05), 0 2px 8px rgba(16,17,20,.06);
    --dh-accent: #2563eb;
    --dh-created: #15803d;
    --dh-edited: #2563eb;
    --dh-good: #16a34a;
    --dh-crit: #dc2626;
    --dh-mod-bg: #fff6dd61;
    --dh-mod-line: #e7cd7a;
    --dh-mod-ink: #6b5200;
    --dh-add-bg: #e6f6ed;
    --dh-add-line: #b5e0c8;
    --dh-add-ink: #166534;
    --dh-rem-bg: #fdeaec;
    --dh-rem-line: #f3c2c9;
    --dh-rem-ink: #881c24;
}

.dh-hd {
    gap: 16px;
}

.dh-hd-main {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.dh .dh-back.rz-button {
    border-radius: 50%;
    width: 38px;
    height: 38px;
    min-width: 38px;
    padding: 0;
}

.dh-rail-toggle.rz-button {
    border-radius: 50%;
    width: 38px;
    height: 38px;
    min-width: 38px;
    padding: 0;
    margin-left: auto;
    flex-shrink: 0;
}

.dh-title {
    font-size: 1.35rem;
    letter-spacing: -.01em;
}

.dh-hd-right {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
    flex-shrink: 0;
}

.dh .dh-verify-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.dh-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--dh-ink-2);
    font-size: 13.5px;
    text-align: center;
    padding: 80px 40px;
}

.dh-panel {
    display: grid;
    grid-template-columns: 380px minmax(0,1fr);
    gap: 10px;
    align-items: start;
    position: relative;
    transition: grid-template-columns .25s ease;
}

    .dh-panel.dh-panel--collapsed {
        grid-template-columns: 0px minmax(0,1fr);
        gap: 0;
    }

        .dh-panel.dh-panel--collapsed .dh-rail {
            width: 0;
            min-width: 0;
            padding: 0;
            margin: 0;
            border: 0;
            opacity: 0;
            pointer-events: none;
            overflow: hidden;
        }

.dh-rail {
    background: var(--dh-panel);
    border: 1px solid var(--dh-line);
    border-radius: 6px;
    overflow: hidden;
    position: sticky;
    top: 12px;
    max-height: calc(100vh - 84px);
    display: flex;
    flex-direction: column;
    width: 380px;
    transition: width .25s ease, opacity .2s ease, transform .25s ease;
}

.dh-rail-hd {
    padding: 0.75rem 0.75rem 0px;
}

    .dh-rail-hd .dh-rail-title {
        font-weight: 750;
    }

.dh-sum {
    font-size: 11.5px;
    color: var(--dh-ink-3);
    margin-top: 3px;
    font-weight: normal;
}

    .dh-sum b {
        color: var(--dh-ink);
    }

.dh-rail-tools {
    display: flex;
    gap: 8px;
    padding: 0.75rem;
    border-bottom: 1px solid var(--dh-line);
}

.dh-search-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid var(--dh-line-2);
    border-radius: 6px;
    padding: 0 10px;
    background: var(--dh-panel);
}

    .dh-search-wrap .rz-icon {
        font-size: 17px;
        color: var(--dh-ink-3);
    }

.dh-search {
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    font: inherit;
    font-size: 12.5px;
    padding: 7px 0;
    color: var(--dh-ink);
    min-width: 0;
}

    .dh-search::placeholder {
        color: var(--dh-ink-3);
    }

.dh .dh-actsel {
    width: 118px;
    flex-shrink: 0;
}

.dh-rail-list {
    overflow-y: auto;
    flex: 1;
    padding: 0px 0 0px;
}

.dh-rail-empty {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--dh-ink-3);
    font-size: 12.5px;
    padding: 14px 18px;
}

.dh-vlist {
    display: flex;
    flex-direction: column;
}

.dh-vrow {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 11px;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    border-left: 3px solid transparent;
    cursor: pointer;
    padding: 0.75rem;
    font-family: inherit;
    color: inherit;
    font-size: inherit;
    transition: background .12s ease, border-color .12s ease;
}

    .dh-vrow::before {
        content: "";
        position: absolute;
        left: 15px;
        top: 0;
        bottom: 0;
        width: 2px;
        background: var(--dh-line);
    }

    .dh-vrow:first-child::before {
        top: 20px;
    }

    .dh-vrow:last-child::before {
        bottom: calc(100% - 20px);
    }

    .dh-vrow + .dh-vrow {
        box-shadow: inset 0 1px 0 var(--dh-line);
    }

    .dh-vrow:hover {
        background: #d5d5d526;
    }

    .dh-vrow.on {
        background: #d5d5d526;
        border-left-color: #000000;
    }

.dh-dot {
    display: block;
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-top: 3px;
    background: #8a8d94;
    box-shadow: 0 0 0 3px #ffffff;
}

.dh-dot--created {
    background: #16a34a;
}

.dh-dot--edited {
    background: #5D89F7;
}

.dh-dot--reversed, .dh-dot--cancelled {
    background: #dc2626;
}

.dh-vbody {
    flex: 1;
    min-width: 0;
    display: block;
}

.dh-tl-top {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dh-tl-vnum {
    font-size: 11px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--dh-ink);
}

.dh-verb {
    font-size: 12px;
    font-weight: 700;
    margin: 0;
}

.dh-verb--created {
    color: var(--dh-created);
}

.dh-verb--edited {
    color: var(--dh-edited);
}

.dh-verb--reversed, .dh-verb--cancelled {
    color: var(--dh-crit);
}

.dh-tl-top .dh-statchip {
    margin-left: auto;
}

.dh .dh-statchip {
    flex-shrink: 0;
}

.dh-vitem-sum {
    display: block;
    font-size: 11.5px;
    color: var(--dh-ink-2);
    line-height: 1.5;
    margin-top: 5px;
}

    .dh-vitem-sum .u {
        color: var(--dh-ink);
        font-weight: 650;
    }

.dh-vitem-meta {
    display: block;
    font-size: 10.5px;
    color: var(--dh-ink-3);
    margin-top: 5px;
}

.dh-view {
    min-width: 0;
}

.dh-vhead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.dh-version-card.rz-card {
    overflow: visible;
}

.dh-version-card .dh-vhead {
    margin-bottom: 0;
    padding: 0.75rem;
}

.dh-vh-title-row {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

.dh-version-status {
    text-transform: uppercase;
    letter-spacing: .03em;
}

.dh-vh-title {
    font-weight: 600 !important;
    font-size: 17.5px !important;
    color: #000 !important;
}

.dh-vh-by {
    font-size: 12.5px;
    color: var(--dh-ink-2);
    margin-top: 3px;
}

    .dh-vh-by b {
        color: var(--dh-ink);
    }

.dh-vh-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.dh-cmpsel {
    display: flex;
    align-items: center;
    gap: 7px;
}

.dh-cmp-lab {
    font-size: 12px;
    color: var(--dh-ink-2);
    white-space: nowrap;
}

.dh .dh-cmp-dd {
    min-width: 196px;
}

.dh .dh-export.rz-button {
    background: var(--dh-panel);
}

.dh-reason {
    display: inline-flex;
    align-items: center;
    background: #f6f7fb;
    border: 1px solid var(--dh-line);
    border-radius: 8px;
    padding: 7px 13px;
    font-size: 12.5px;
    color: var(--dh-ink-2);
    margin-bottom: 12px;
}

.dh-version-card .dh-reason {
    display: flex;
    border: 0;
    border-top: 1px solid var(--dh-line);
    border-radius: 0;
    margin: 0;
    padding: 0.45rem 0.75rem;
}

.dh-reason b {
    color: var(--dh-ink);
    font-weight: 650;
}

.dh .dh-card.rz-card {
    background: var(--dh-panel);
    border: 1px solid var(--dh-line);
    border-radius: 6px;
    box-shadow: none;
    padding: 0 !important;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

.dh .dh-viewseg .rz-button.rz-state-active {
    background-color: #17181c !important;
    color: #ffffff !important;
}

.dh-card-hd {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0.75rem;
    border-bottom: 1px solid var(--dh-line);
    flex-wrap: wrap;
}

.dh-chip-count {
    font-size: 11px;
    font-weight: 700;
    color: var(--dh-ink-2);
    background: var(--dh-sub);
    border: 1px solid var(--dh-line);
    border-radius: 999px;
    padding: 2px 10px;
}

.dh-doc-tag {
    margin-left: auto;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--dh-ink-3);
    background: var(--dh-sub);
    border: 1px solid var(--dh-line-2);
    border-radius: 999px;
    padding: 2px 9px;
}

.dh-muted-note {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: var(--dh-ink-2);
    padding: 0.75rem;
}

    .dh-muted-note .rz-icon {
        font-size: 18px;
        color: var(--dh-ink-3);
    }

.dh-nb {
    color: var(--dh-ink);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

table.dh-chg-tbl {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

    table.dh-chg-tbl th {
        text-align: left;
        font-size: 11px;
        font-weight: 750;
        letter-spacing: .02em;
        color: var(--dh-ink-3);
        padding: 0.60rem;
        border-bottom: 1px solid var(--dh-line);
        background: var(--dh-panel);
    }

    table.dh-chg-tbl td {
        padding: 0.60rem;
        border-bottom: 1px solid var(--dh-line);
        vertical-align: middle;
    }

    table.dh-chg-tbl tr:last-child td {
        border-bottom: 0;
    }

    table.dh-chg-tbl td.f {
        color: var(--dh-ink);
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 9px;
    }

        table.dh-chg-tbl td.f .rz-icon {
            font-size: 17px;
            color: var(--dh-ink-3);
        }

    table.dh-chg-tbl th.p, table.dh-chg-tbl td.p {
        width: 26%;
    }

    table.dh-chg-tbl td.p {
        color: var(--dh-crit);
        font-variant-numeric: tabular-nums;
    }

        table.dh-chg-tbl td.p s {
            text-decoration-color: var(--dh-crit);
        }

    table.dh-chg-tbl th.a, table.dh-chg-tbl td.a {
        width: 34px;
        text-align: center;
        color: var(--dh-ink-3);
    }

    table.dh-chg-tbl th.c, table.dh-chg-tbl td.c {
        width: 26%;
    }

    table.dh-chg-tbl td.c {
        color: var(--dh-created);
        font-weight: 700;
        font-variant-numeric: tabular-nums;
        background: #eefaf2;
    }

    table.dh-chg-tbl td.none {
        color: var(--dh-ink-3);
        font-weight: 400;
        background: transparent;
    }

.dh-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1px;
    border-bottom: 1px solid var(--dh-line);
}

    .dh-grid .fld {
        background: var(--dh-panel);
        padding: 0.4rem 0.75rem;
        position: relative;
        min-width: 0;
        border-right: 1px solid var(--dh-line);
        border-bottom: 1px solid var(--dh-line);
    }

        .dh-grid .fld.wide {
            grid-column: 1/-1;
        }

        .dh-grid .fld.changed {
            background: #fffdf5;
        }

            .dh-grid .fld.changed::before {
                content: "";
                position: absolute;
                left: 0;
                top: 0;
                bottom: 0;
                width: 3px;
                background: var(--dh-mod-line);
            }

    .dh-grid label {
        display: block;
        font-size: 11px;
        font-weight: 600;
        color: var(--dh-ink-3);
        margin-bottom: 3px;
    }

    .dh-grid .val {
        font-size: 13.5px;
        color: var(--dh-ink);
        font-weight: 600;
        overflow-wrap: anywhere;
    }

        .dh-grid .val .rz-badge {
            vertical-align: middle;
        }

.dh-was {
    font-size: 11px;
    color: var(--dh-ink-3);
    margin-left: 7px;
}

    .dh-was s {
        text-decoration-color: var(--dh-line-2);
    }

.dh-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(150px,1fr));
    gap: 5px;
    padding: 0.75rem;
}

.dh-tile {
    border: 1px solid var(--dh-line);
    border-radius: 6px;
    padding: 0.50rem;
    background: var(--dh-panel);
}

    .dh-tile.chg {
        background: var(--dh-mod-bg);
        border-color: var(--dh-mod-line);
    }

    .dh-tile label {
        display: block;
        font-size: 11px;
        font-weight: 600;
        color: var(--dh-ink-2);
        margin-bottom: 5px;
    }

    .dh-tile .v {
        font-size: 17px;
        font-weight: 750;
        color: var(--dh-ink);
        font-variant-numeric: tabular-nums;
        letter-spacing: -.01em;
    }

    .dh-tile .old {
        font-size: 11.5px;
        color: var(--dh-crit);
        margin-top: 3px;
        font-variant-numeric: tabular-nums;
    }

        .dh-tile .old s {
            text-decoration-color: var(--dh-crit);
        }

.dh-sec-hd {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0.60rem;
}

.dh-sec-title {
    font-size: 13px;
    font-weight: 750;
    color: var(--dh-ink);
}

.dh-sec-count {
    font-size: 11px;
    color: var(--dh-ink-3);
    font-variant-numeric: tabular-nums;
}

table.dh-jt {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

    table.dh-jt th {
        text-align: left;
        background: #f6f7fb;
        color: var(--dh-ink-3);
        font-size: 10px;
        font-weight: 750;
        text-transform: uppercase;
        padding: 0.75rem;
        border-top: 1px solid var(--dh-line);
        border-bottom: 1px solid var(--dh-line);
    }

        table.dh-jt th.n, table.dh-jt td.n {
            text-align: right;
            font-variant-numeric: tabular-nums;
        }

    table.dh-jt td {
        padding: 0.60rem;
        border-bottom: 1px solid var(--dh-line);
        color: var(--dh-ink-2);
        vertical-align: top;
    }

        table.dh-jt td.acc {
            color: var(--dh-ink);
            font-weight: 600;
        }

    table.dh-jt tr.rowmod td {
        background: #fffdf5;
    }

    table.dh-jt tr.added td {
        background: var(--dh-add-bg);
    }

    table.dh-jt tr.removed td {
        background: var(--dh-rem-bg);
        color: var(--dh-rem-ink);
    }

    table.dh-jt tr.removed .acc {
        color: var(--dh-rem-ink);
        text-decoration: line-through;
        text-decoration-color: var(--dh-rem-line);
    }

    table.dh-jt tr.totals td {
        border-top: 1px solid var(--dh-line-2);
        border-bottom: 0;
        font-weight: 700;
        color: var(--dh-ink);
        background: #f6f7fb;
    }

.dh mark.mod {
    background: var(--dh-mod-bg);
    color: var(--dh-mod-ink);
    border-radius: 5px;
    padding: 1px 6px;
    font-weight: 650;
    box-shadow: inset 0 0 0 1px var(--dh-mod-line);
}

    .dh mark.mod s {
        color: var(--dh-crit);
        opacity: .75;
        font-weight: 400;
        margin-left: 6px;
        text-decoration-color: var(--dh-rem-line);
    }

.dh .rowtag {
    display: inline-block;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 1px 5px;
    border-radius: 4px;
    margin-left: 7px;
    vertical-align: middle;
}

    .dh .rowtag.a {
        background: var(--dh-add-line);
        color: var(--dh-add-ink);
    }

    .dh .rowtag.r {
        background: var(--dh-rem-line);
        color: var(--dh-rem-ink);
    }

.dh-legend {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 11.5px;
    color: var(--dh-ink-2);
    flex-wrap: wrap;
}

    .dh-legend .lg {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

    .dh-legend .dot {
        width: 11px;
        height: 11px;
        border-radius: 50%;
        display: inline-block;
    }

        .dh-legend .dot.prev {
            background: var(--dh-crit);
        }

        .dh-legend .dot.cur {
            background: var(--dh-good);
        }

    .dh-legend .sq.chg {
        width: 11px;
        height: 11px;
        border-radius: 50%;
        display: inline-block;
        background: var(--dh-mod-bg);
        border: 1px solid var(--dh-mod-line);
    }

.dh-cmp {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding: 0.75rem;
}

.dh-cmp-col {
    border: 1px solid var(--dh-line);
    border-radius: 6px;
    overflow: hidden;
    background: var(--dh-panel);
}

    .dh-cmp-col.prevcol {
        border-top: 3px solid var(--dh-crit);
    }

    .dh-cmp-col.curcol {
        border-top: 3px solid var(--dh-good);
    }

.dh-cmp-cap {
    padding: 0.75rem;
    border-bottom: 1px solid var(--dh-line);
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}

    .dh-cmp-cap .cap-t {
        font-weight: 750;
        font-size: 13.5px;
    }

    .dh-cmp-cap .cap-v {
        font-weight: 700;
        font-size: 12.5px;
        color: var(--dh-ink-2);
        font-variant-numeric: tabular-nums;
    }

    .dh-cmp-cap .cap-when {
        flex-basis: 100%;
        font-size: 11px;
        color: var(--dh-ink-3);
    }

.dh-cmp-sec {
    padding: 0.45rem 0.75rem;
    font-size: 12px;
    font-weight: 750;
    color: var(--dh-ink);
    border-bottom: 1px solid var(--dh-line);
    background: var(--dh-sub);
}

.dh-cmp-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--dh-line);
    font-size: 12.5px;
}

    .dh-cmp-row:last-child {
        border-bottom: 0;
    }

    .dh-cmp-row .l {
        color: var(--dh-ink-2);
        flex: 0 0 42%;
        min-width: 0;
    }

    .dh-cmp-row .v {
        color: var(--dh-ink);
        font-weight: 600;
        font-variant-numeric: tabular-nums;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .dh-cmp-row.chg {
        background: var(--dh-mod-bg);
    }

        .dh-cmp-row.chg .l {
            color: var(--dh-mod-ink);
        }

    .dh-cmp-row .v.old {
        color: var(--dh-crit);
        font-weight: 700;
    }

    .dh-cmp-row .v.new {
        color: var(--dh-created);
        font-weight: 750;
    }

    .dh-cmp-row .v.was {
        margin-left: 6px;
        color: var(--dh-ink-3);
        font-weight: 400;
        font-size: 11.5px;
    }

        .dh-cmp-row .v.was s {
            text-decoration-color: var(--dh-crit);
        }

    .dh-cmp-row .arr {
        margin-left: auto;
        color: var(--dh-ink-3);
    }

.dh-cmp-collapsed {
    padding: 0.45rem 0.75rem;
    font-size: 11.5px;
    color: var(--dh-ink-3);
    font-style: italic;
    border-bottom: 1px solid var(--dh-line);
}

.dh-cmp-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 0.75rem;
    border-top: 1px solid var(--dh-line);
    background: var(--dh-sub);
}

    .dh-cmp-foot .foot-sum {
        font-size: 12.5px;
        color: var(--dh-ink-2);
    }

        .dh-cmp-foot .foot-sum b {
            color: var(--dh-ink);
        }

.dh-panel {
    display: grid;
    grid-template-columns: 380px minmax(0,1fr);
    gap: 10px;
    align-items: start;
    transition: grid-template-columns .2s ease;
}

    .dh-panel.dh-panel--collapsed {
        grid-template-columns: minmax(0,1fr);
    }

.dh-rail {
    background: var(--dh-panel);
    border: 1px solid var(--dh-line);
    border-radius: 6px;
    overflow: hidden;
    position: sticky;
    top: 12px;
    max-height: calc(100vh - 84px);
    display: flex;
    flex-direction: column;
}

.dh-hd-main {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex-wrap: nowrap;
}

.dh-hd-text {
    min-width: 0;
    flex: 1 1 auto;
}

.dh-title {
    font-size: 1.35rem;
    letter-spacing: -.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.dh .dh-verify-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
    flex-shrink: 0;
}

.dh-rail {
    width: 400px;
    transition: width .3s ease, opacity .25s ease, margin .3s ease;
    opacity: 1;
}

.dh-rail--closed {
    width: 0;
    min-width: 0;
    opacity: 0;
    padding: 0;
    border-width: 0;
    margin: 0;
    pointer-events: none;
    overflow: hidden;
}

.dh-panel {
    grid-template-columns: 400px minmax(0,1fr);
    transition: grid-template-columns .3s ease;
}

    .dh-panel.dh-panel--collapsed {
        grid-template-columns: 0px minmax(0,1fr);
    }

.rz-dropdown-panel .rz-dropdown-item:hover {
    background-color: #f1f5f9 !important;
}

.rz-notification-item-wrapper {
    animation: slideDown 0.35s ease-out !important;
    transition: all 0.3s ease-in-out !important;
    width: auto !important;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px !important;
    border-radius: 7px !important;
}

.rz-notification {
    position: fixed !important;
    top: 0px !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    z-index: 100400 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: fit-content;
}

.rz-notification-item {
    border-radius: 4px !important;
    padding: 14px 18px !important;
    font-family: 'Segoe UI', sans-serif;
    min-width: 300px;
}

.rz-notification.rz-error {
    background-color: #fdecea !important;
    border-left: 5px solid #dc3545 !important;
    color: #721c24 !important;
}

.rz-notification.rz-success {
    background-color: #e6f9ec !important;
    border-left: 5px solid #28a745 !important;
    color: #155724 !important;
}

.notification-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 100390;
}

.rz-notification-messages {
    z-index: 100400 !important;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-11px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.rz-notification-item-wrapper:not(.rz-open) {
    animation: slideUp 0.3s ease-in forwards;
}

@keyframes slideUp {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(-10px);
    }
}

.rz-notification-warn .rz-notification-item {
    background-color: #ffffff !important;
    color: #000000 !important;
}

.rz-notification-warn .rz-notification-icon {
    color: #000000 !important;
}

.rz-notification-warn .rz-notification-title {
    color: #000000 !important;
}

.rz-notification-warn .rz-notification-content {
    color: #000000 !important;
}

.rz-notification-warn .rz-notification-close {
    color: #000000 !important;
}

.rz-notification-warn .rz-progressbar-warning {
    background-color: #fff3cd !important;
}

    .rz-notification-warn .rz-progressbar-warning .rz-progressbar-value {
        background-color: #ffc107 !important;
    }

.rz-notification-success .rz-notification-item {
    background-color: #ffffff !important;
    color: #000000 !important;
}

.rz-notification-success .rz-notification-icon {
    color: #000000 !important;
}

.rz-notification-success .rz-notification-title {
    color: #000000 !important;
}

.rz-notification-success .rz-notification-content {
    color: #000000 !important;
}

.rz-notification-success .rz-notification-close {
    color: #000000 !important;
}

.rz-notification-success .rz-progressbar-success {
    background-color: #d4edda !important;
}

    .rz-notification-success .rz-progressbar-success .rz-progressbar-value {
        background-color: #28a745 !important;
    }

.rz-notification-error .rz-notification-item {
    background-color: #ffffff !important;
    color: #000000 !important;
}

.rz-notification-error .rz-notification-icon {
    color: #000000 !important;
}

.rz-notification-error .rz-notification-title {
    color: #000000 !important;
}

.rz-notification-error .rz-notification-content {
    color: #000000 !important;
}

.rz-notification-error .rz-notification-close {
    color: #000000 !important;
}

.rz-notification-error .rz-progressbar-danger,
.rz-notification-error .rz-progressbar-error {
    background-color: #f8d7da !important;
}

    .rz-notification-error .rz-progressbar-danger .rz-progressbar-value,
    .rz-notification-error .rz-progressbar-error .rz-progressbar-value {
        background-color: #dc3545 !important;
    }

.rz-notification-info .rz-notification-item {
    background-color: #ffffff !important;
    color: #000000 !important;
}

.rz-notification-info .rz-notification-icon {
    color: #000000 !important;
}

.rz-notification-info .rz-notification-title {
    color: #000000 !important;
}

.rz-notification-info .rz-notification-content {
    color: #000000 !important;
}

.rz-notification-info .rz-notification-close {
    color: #000000 !important;
}

.rz-notification-info .rz-progressbar-info {
    background-color: #d1ecf1 !important;
}

    .rz-notification-info .rz-progressbar-info .rz-progressbar-value {
        background-color: #17a2b8 !important;
    }

.rz-notification-message-wrapper {
    align-items: center !important;
    gap: 0.75rem !important;
}

.app-error-main {
    min-height: 50vh;
}

.app-error-icon {
    width: 56px;
    height: 56px;
    background: rgb(0 0 0 / 6%);
    border: 1px solid rgb(0 0 0 / 8%);
}

.app-error-badge {
    background: #fdecea;
    color: #b3261e;
    letter-spacing: .06em;
    font-size: .7rem;
    font-weight: 700;
    border-radius: 999px;
}

.app-error-ref {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .78rem;
    color: #555;
    background: rgb(0 0 0 / 4%);
    padding: .15rem .55rem;
    border-radius: 6px;
}

.app-error-details {
    max-width: 640px;
    width: 100%;
}

    .app-error-details > summary {
        cursor: pointer;
        font-size: .8rem;
        color: #666;
    }

.app-error-pre {
    white-space: pre-wrap;
    word-break: break-word;
    font-size: .72rem;
    color: #444;
    background: #f6f6f6;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: .75rem;
    max-height: 260px;
    overflow: auto;
    margin-top: .5rem;
}

#blazor-error-ui {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 100500;
    padding: 1.5rem;
    background: rgba(17, 17, 17, 0.55);
    align-items: center;
    justify-content: center;
    font-family: 'Nunito', system-ui, -apple-system, sans-serif;
}

    #blazor-error-ui[style*="display: block"] {
        display: flex !important;
    }

    #blazor-error-ui .bee-card {
        background: #fafafa;
        max-width: 440px;
        width: 100%;
        border-radius: 16px;
        padding: 2rem 1.75rem;
        text-align: center;
        box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
    }

    #blazor-error-ui .bee-logo {
        height: 34px;
        margin-bottom: 1rem;
    }

    #blazor-error-ui .bee-title {
        font-size: 1.15rem;
        font-weight: 700;
        color: #1a1a1a;
        margin: 0 0 .5rem;
    }

    #blazor-error-ui .bee-text {
        font-size: .9rem;
        color: #666;
        margin: 0 0 1.25rem;
        line-height: 1.5;
    }

    #blazor-error-ui .bee-actions {
        display: flex;
        gap: .5rem;
        justify-content: center;
    }

    #blazor-error-ui .bee-btn {
        background: #1a1a1a;
        color: #fff;
        border: none;
        border-radius: 999px;
        padding: .5rem 1.5rem;
        font-size: .85rem;
        font-weight: 600;
        cursor: pointer;
        text-decoration: none;
    }

    #blazor-error-ui .bee-dismiss {
        background: transparent;
        color: #666;
        border: 1px solid #ccc;
        border-radius: 999px;
        padding: .5rem 1.25rem;
        font-size: .85rem;
        cursor: pointer;
        text-decoration: none;
    }

.gst-page {
    --ink: #16213a;
    --ink-soft: #5a6579;
    --paper: #f6f6f2;
    --surface: #ffffff;
    --border: #e2e4e1;
    --teal: #1f6f5c;
    --teal-soft: #e4f1ec;
    --teal-deep: #123f34;
    --amber: #a8631f;
    --amber-soft: #faf0e2;
    --navy-stamp: #101c33;
    color: var(--ink);
}

.gst-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--border);
    background: #fff;
    padding: .75rem;
    border-radius: 6px;
}

.gst-title {
    font-weight: 600;
    font-size: 1.7rem;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 0 0 6px;
}

.gst-sub {
    font-size: 0.86rem;
    color: var(--ink-soft);
    line-height: 1.5;
    max-width: 560px;
}

    .gst-sub b {
        color: var(--teal-deep);
        font-weight: 600;
    }

.gst-head-controls {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.gst-loading {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 80px 0;
}

.gst-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--ink-soft);
    font-size: 0.9rem;
}

.gst-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.gst-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 4px;
    box-shadow: 0 1px 2px rgba(16, 28, 51, 0.04);
}

    .gst-card .k {
        font-size: 0.7rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--ink-soft);
    }

    .gst-card .v {
        font-size: 16px;
        font-weight: 600;
        color: var(--ink);
        line-height: 1.2;
    }

        .gst-card .v small {
            font-size: 0.95rem;
            font-weight: 500;
            color: var(--ink-soft);
            margin-left: 2px;
        }

    .gst-card .gst-sub {
        font-size: 0.72rem;
        color: var(--ink-soft);
        max-width: none;
    }

    .gst-card.locked {
        background: #e3e3e3;
        border-color: #ccc;
        position: relative;
        overflow: hidden;
    }

        .gst-card.locked::after {
            content: "";
            position: absolute;
            inset: 5px;
            border: 1px dashed rgba(255, 255, 255, 0.22);
            border-radius: 6px;
            pointer-events: none;
        }

        .gst-card.locked .k {
            color: #000;
        }

        .gst-card.locked .v {
            color: #000;
        }

        .gst-card.locked .gst-sub {
            color: #000;
        }

    .gst-card.accent {
        border-left: 3px solid var(--teal);
    }

.gst-progress {
    margin-top: 6px;
    height: 5px;
    border-radius: 3px;
    background: var(--paper);
    border: 1px solid var(--border);
    overflow: hidden;
}

    .gst-progress span {
        display: block;
        height: 100%;
        background: var(--teal);
        border-radius: 3px;
        transition: width 0.4s ease;
    }

.gst-card.locked .gst-progress {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.18);
}

.gst-section {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 6px;
    margin-bottom: 10px;
    overflow: hidden;
}

.gst-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem;
    border-bottom: 1px solid var(--border);
    background: #f4f5f9;
}

    .gst-section-head .name {
        font-weight: 600;
        font-size: 1.02rem;
        color: var(--ink);
    }

    .gst-section-head .count {
        font-size: 0.72rem;
        font-weight: 600;
        color: var(--ink-soft);
        background: var(--paper);
        border: 1px solid var(--border);
        padding: 2px 10px;
        border-radius: 999px;
    }

.gst-matrix {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
}

    .gst-matrix thead th {
        text-align: left;
        font-weight: 600;
        font-size: 0.74rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: var(--ink-soft);
        background: #f4f5f9;
        padding: 0.75rem;
        border-bottom: 1px solid var(--border);
        white-space: nowrap;
    }

    .gst-matrix tbody tr:not(:last-child) td {
        border-bottom: 1px solid var(--border);
    }

    .gst-matrix tbody tr:hover {
        background: #fbfbf9;
    }

    .gst-matrix td {
        padding: 0.45rem 0.75rem;
        vertical-align: middle;
    }

.gst-period {
    font-weight: 500;
    color: var(--ink);
    white-space: nowrap;
}

.gst-tag {
    display: inline-block;
    margin-left: 8px;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 2px 7px;
    border-radius: 999px;
    vertical-align: middle;
}

    .gst-tag.lock {
        background: var(--teal-soft);
        color: var(--teal-deep);
    }

    .gst-tag.track {
        background: #eef0ed;
        color: var(--ink-soft);
    }

.gst-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 3px 6px;
    border-radius: 2px;
    transition: all 0.15s ease;
    line-height: 1.3;
}

    .gst-chip .sub {
        font-weight: 500;
        font-size: 0.72rem;
        opacity: 0.75;
        margin-left: 2px;
    }

    .gst-chip.filed {
        background: var(--teal-soft);
        border: 1px solid rgba(31, 111, 92, 0.25);
        color: var(--teal-deep);
    }

        .gst-chip.filed:hover {
            background: #d8ece4;
        }

        .gst-chip.filed .rz-icon,
        .gst-chip.filed i {
            color: var(--teal);
        }

    .gst-chip.notfiled {
        background: transparent;
        border: 1px dashed #c9ccc5;
        color: var(--ink-soft);
    }

        .gst-chip.notfiled:hover {
            border-color: var(--amber);
            color: var(--amber);
            background: var(--amber-soft);
        }

.ms-1 {
    margin-left: 6px;
}

@keyframes ba-fade-center {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.gst-chip:focus-visible,
.gst-page button:focus-visible {
    outline: 2px solid var(--teal);
    outline-offset: 2px;
}

.ageing-lede {
    font-size: 0.95rem;
    color: var(--rz-text-color, #212529);
}

.ageing-meta {
    font-size: 0.78rem;
    letter-spacing: 0.02em;
    opacity: 0.7;
    margin-top: 0.15rem;
}

.ageing-meta-sep {
    margin: 0 0.4rem;
    opacity: 0.55;
}

.warranty-claim-page .section-card,
.claim-tile {
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    padding: 0.50rem 0.75rem;
}

.claim-tile-draft {
    background-color: #f5f5f5;
}

.claim-tile-oem {
    background-color: #e7f1ff;
}

.claim-tile-approved {
    background-color: #e6f7ec;
}

.claim-tile-writtenoff {
    background-color: #fdecec;
}

:is(.claim-tile-draft, .claim-tile-claimed, .claim-tile-received, .claim-tile-oem, .claim-tile-approved, .claim-tile-writtenoff, .claim-tile-outstanding) :is(.rz-text-caption, .rz-text-overline) {
    color: #000 !important;
    font-size: 11px;
    font-family: Nunito,sans-serif !important;
    text-transform: capitalize;
    letter-spacing: 0;
}

.claim-tile-claimed {
    background-color: #f5f5f5;
}

.claim-tile-received {
    background-color: #e7f1ff;
}

.claim-tile-outstanding {
    background-color: #fff8e6;
}

.dh-tile:nth-child(5n+1) {
    background-color: #f5f5f5;
}

.dh-tile:nth-child(5n+2) {
    background-color: #e7f1ff;
}

.dh-tile:nth-child(5n+3) {
    background-color: #e6f7ec;
}

.dh-tile:nth-child(5n+4) {
    background-color: #fdecec;
}

.dh-tile:nth-child(5n+5) {
    background-color: #fff8e6;
}

.dh-tile.chg {
    background-color: #fffdf5;
}

.warranty-claim-page .section-card-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 0.7rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #f0f0f0;
}

    .warranty-claim-page .section-card-header .header-icon {
        width: 28px;
        height: 28px;
        background: #0000001c;
        border-radius: 6px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #000;
        font-size: 0.9rem;
    }

.claim-tile {
    height: 100%;
}

.claim-tile-warn {
    border-left: 3px solid #8e5405;
}

.claim-short {
    color: #8e5405;
    font-weight: 500;
}

.claim-next-step {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 0.45rem 0.75rem;
    font-size: .8125rem;
    color: #444;
}

    .claim-next-step .rz-icon {
        color: #1b6e45;
    }

    .claim-next-step.pending .rz-icon {
        color: #8e5405;
    }

.claim-invoice-links {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 6px;
}

.claim-invoice-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: 1px solid #ececec;
    border-radius: 6px;
    font-size: .8125rem;
    color: #444;
    text-decoration: none;
}

    .claim-invoice-link:hover {
        border-color: #d7d7d7;
        background: #fafafa;
        color: #444;
    }

    .claim-invoice-link .rz-icon {
        font-size: 1rem;
        color: #8a8a8a;
    }

.claim-invoice-ref {
    font-weight: 500;
}

.claim-picker.rz-dropdown {
    height: auto;
    min-height: 46px;
}

.claim-picker .rz-dropdown-label {
    height: auto;
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
    line-height: 1.25;
    padding-top: 5px;
    padding-bottom: 5px;
}

.claim-line-asked {
    font-size: .8125rem;
    color: #6b6b6b;
}

.claim-over {
    color: #1b6e45;
    font-weight: 500;
}

.claim-line-detail {
    font-size: .75rem;
    color: #8a8a8a;
    margin-top: 5px;
}

.claim-attempt {
    display: flex;
    gap: 12px;
    background: #f6f7fb;
    padding: 10px;
    border-radius: 6px;
}

.claim-attempt-rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 0 auto;
}

.claim-attempt-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-top: 6px;
    background: #6b6b6b;
}

    .claim-attempt-dot.approved {
        background: #1b6e45;
    }

    .claim-attempt-dot.part {
        background: #8e5405;
    }

    .claim-attempt-dot.rejected {
        background: #a32d2d;
    }

.claim-attempt-line {
    width: 1px;
    flex: 1;
    background: #e6e6e6;
    margin: 4px 0;
}

.claim-attempt-body {
    min-width: 0;
    padding-bottom: 0px;
}

.claim-attempt-reason {
    font-size: .75rem;
    color: #5f5f5f;
    margin-top: 5px;
    border-left: 2px solid #d8d8d8;
    border-radius: 0;
    padding-left: 8px;
}

.claim-attempt-ref {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .75rem;
    color: #8a8a8a;
}

.claim-summary-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

    .claim-summary-strip > div {
        flex: 1 1 160px;
    }

.yec-page {
    text-transform: none;
}

.yec-grid {
    text-transform: none;
}

.cancel-settlement .rz-form-field-content {
    margin-top: 0px !important;
}

.bah-role-editor .section-card {
    border: 1px solid #e4e7ec;
    border-radius: 8px;
    background: #fff;
    padding: 0.75rem;
}

    .bah-role-editor .section-card + .section-card {
        margin-top: 1rem;
    }

.bah-role-editor .section-card-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 0.7rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #f0f0f0;
}

    .bah-role-editor .section-card-header .header-icon {
        width: 28px;
        height: 28px;
        background: #0000001c;
        border-radius: 6px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #000;
        font-size: 0.9rem;
    }

    .bah-role-editor .section-card-header .bah-selected-count {
        margin-left: auto;
        font-size: 0.72rem;
        font-weight: 400;
        color: gray;
    }

.bah-permission-matrix .bah-not-applicable {
    color: #d6dce2;
}

.bah-permission-matrix .bah-area {
    font-weight: 600;
    font-size: 0.85rem;
    color: #2c3542;
    letter-spacing: 0.01em;
}

.bah-permission-matrix .rz-chkbox-box:not(.rz-state-active) {
    border: 1.5px solid #9aa7b5 !important;
    background: #fff !important;
    box-shadow: none !important;
}

    .bah-permission-matrix .rz-chkbox-box:not(.rz-state-active):hover:not(.rz-state-disabled) {
        border-color: #5f6f7f !important;
    }

.bah-permission-matrix .rz-chkbox-box.rz-state-disabled {
    border-color: #e0e5eb !important;
    background: #f5f7f9 !important;
}

.bah-permission-matrix .bah-always-included {
    font-size: 0.72rem;
    color: gray;
    padding: 0.6rem 0.25rem 0;
}

.bah-permission-matrix .bah-more-actions {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.15rem 0;
}

.bah-permission-matrix .bah-more-action {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.25;
    color: #2c3542;
    cursor: pointer;
}

.bah-permission-matrix td.bah-more-actions-cell {
    text-align: left;
    vertical-align: top;
}

.migration-shell {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

    .migration-shell .migration-hero {
        background: linear-gradient(135deg, #10231f, #295044);
        color: white;
        border-radius: 18px;
        padding: 24px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
    }

        .migration-shell .migration-hero .text-muted {
            color: rgba(255,255,255,.72) !important;
        }

    .migration-shell .eyebrow {
        text-transform: uppercase;
        letter-spacing: .12em;
        font-size: .75rem;
        opacity: .75;
        margin-bottom: 6px;
    }

    .migration-shell .migration-steps {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    .migration-shell .step-card {
        border: 1px solid #e6ece8;
        border-radius: 14px;
        padding: 14px;
        background: #fff;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

        .migration-shell .step-card span {
            width: 28px;
            height: 28px;
            border-radius: 99px;
            display: grid;
            place-items: center;
            background: #eef4f1;
            color: #244c3f;
            font-weight: 700;
        }

        .migration-shell .step-card.active {
            border-color: #9ac7b8;
            box-shadow: 0 8px 22px rgba(25, 80, 62, .08);
        }

    .migration-shell .migration-card {
        border-radius: 16px;
        box-shadow: 0 12px 30px rgba(30, 46, 40, .06);
    }

    .migration-shell .file-drop {
        border: 1px dashed #88aa9f;
        border-radius: 14px;
        padding: 20px;
        min-height: 132px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 5px;
        cursor: pointer;
        background: #f7fbf9;
    }

        .migration-shell .file-drop input {
            display: none;
        }

    .migration-shell .summary-grid button {
        border: 1px solid #e6ece8;
        background: #fbfdfc;
        border-radius: 14px;
        padding: 14px;
        text-align: left;
    }

    .migration-shell .summary-grid strong {
        display: block;
        font-size: 1.6rem;
        color: #15382e;
    }

    .migration-shell .summary-grid span {
        color: #66756f;
    }

    .migration-shell .empty-panel {
        border: 1px dashed #d9e1dd;
        border-radius: 14px;
        padding: 36px;
        text-align: center;
        color: #74817c;
        background: #fbfdfc;
    }

    .migration-shell .issue-list {
        color: #a33030;
        font-size: .85rem;
    }

        .migration-shell .issue-list.warning {
            color: #9a6500;
        }

    .migration-shell .job-list {
        display: flex;
        flex-direction: column;
        gap: 8px;
        max-height: 430px;
        overflow: auto;
    }

    .migration-shell .job-item {
        border: 1px solid #e6ece8;
        border-radius: 12px;
        background: #fff;
        padding: 10px;
        display: flex;
        justify-content: space-between;
        gap: 8px;
        text-align: left;
        width: 100%;
    }

        .migration-shell .job-item.selected {
            border-color: #244c3f;
            background: #f5faf8;
        }

        .migration-shell .job-item small {
            display: block;
            color: #74817c;
        }

fieldset.document-form {
    border: 0;
    padding: 0;
    margin: 0;
    min-width: 0;
}

.rr-dialog {
    font-size: 0.86rem;
}

.rr-state {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    color: #64748b;
}

.rr-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.rr-diff {
    font-size: 1.35rem;
    font-weight: 700;
    color: #b91c1c;
}

.rr-head-note {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #475569;
    max-width: 60ch;
}

.rr-advisory {
    margin: 6px 0;
}

.rr-table {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    margin-top: 6px;
}

.rr-row {
    display: grid;
    grid-template-columns: 1.7fr 0.7fr 1.2fr 1.6fr;
    gap: 10px;
    align-items: center;
    padding: 7px 10px;
    border-bottom: 1px solid #f1f5f9;
}

    .rr-row:last-child {
        border-bottom: 0;
    }

.rr-row--head {
    font-size: 0.68rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    font-weight: 700;
    background: #f8fafc;
}

.rr-row--done {
    background: #f4fbf7;
}

.rr-part {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.rr-label {
    font-weight: 600;
    color: #1e293b;
}

.rr-narr {
    color: #64748b;
    font-size: 0.78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rr-badge {
    align-self: flex-start;
}

.rr-amt {
    font-variant-numeric: tabular-nums;
    text-align: right;
    font-weight: 600;
}

.rr-in {
    color: #15803d;
}

.rr-out {
    color: #b91c1c;
}

.rr-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.rr-rounding {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: .8rem;
}

.rr-sources {
    margin: 0;
    padding-left: 1.1rem;
    max-height: 120px;
    overflow-y: auto;
}

    .rr-sources li {
        line-height: 1.35;
    }

.rr-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.rr-sum {
    color: #475569;
}

.rr-missing {
    color: #b45309;
    font-weight: 600;
}

.brs-expl {
    margin: 12px 0 4px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 10px;
}

.brs-expl-head {
    font-weight: 700;
    font-size: 0.82rem;
    margin-bottom: 4px;
    color: #1e293b;
}

.br-tile-badge--suspense {
    background: #fef3c7;
    color: #92400e;
}

.br-tile-badge--overdue {
    border: 1px solid #df3a37;
    background: #df3a3714;
    color: #df3a37;
}

.brw-sessions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.brw-sessions-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
    font-weight: 600;
}

    .brw-sessions-head .brw-muted {
        font-weight: 400;
        font-size: 0.82rem;
        max-width: 70ch;
    }

.brw-sessions-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
}

    .brw-sessions-table th {
        text-align: left;
        font-size: 0.7rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #64748b;
        padding: 6px 8px;
        border-bottom: 1px solid #e2e8f0;
    }

    .brw-sessions-table td {
        padding: 7px 8px;
        border-bottom: 1px solid #f1f5f9;
        vertical-align: top;
        font-size: 10px;
    }

        .brw-sessions-table th.num, .brw-sessions-table td.num {
            text-align: right;
            font-variant-numeric: tabular-nums;
            white-space: nowrap;
        }

.brw-sessions-row--open {
    cursor: pointer;
}

    .brw-sessions-row--open:hover {
        background: #f8fafc;
    }

.brw-sessions-row--selected {
    background: #f0fdf4;
}

.brw-sessions-row--dim {
    color: #94a3b8;
}

    .brw-sessions-row--dim b {
        font-weight: 500;
    }

.brw-sessions-act {
    text-align: right;
    white-space: nowrap;
}

.brw-sessions-susp {
    color: #92400e;
}

.brw-pill {
    display: inline-block;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 0 8px;
    font-size: 0.72rem;
    line-height: 1.5;
    margin-left: 4px;
    white-space: nowrap;
}

.brw-pill--live {
    border-color: #16a34a;
    color: #166534;
}

.brw-pill--progress {
    border-color: #2563eb;
    color: #1e40af;
}

.brw-pill--lock {
    border-color: #94a3b8;
    color: #64748b;
}

.brw-pill--cancel {
    border-color: #d97706;
    color: #92400e;
}

.brw-gl-sub {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 2px;
}

    .brw-gl-sub .brw-pill {
        margin-left: 0;
    }

.brw-netoff {
    font-size: 0.78rem;
    white-space: nowrap;
}

.br-line--excluded td {
    color: #6b7280;
    text-decoration: line-through;
}

    .br-line--excluded td:last-child {
        text-decoration: none;
    }

.br-status.excluded {
    background: #fef3c7;
    color: #92400e;
}

.br-pill.excluded {
    background: #fef3c7;
    color: #92400e;
    margin-left: 4px;
}

.br-pill.superseded {
    background: #e0e7ff;
    color: #3730a3;
    margin-left: 4px;
}

.brw-rowbtn--exclude {
    color: #d40000;
}

.brw-walk {
    padding-left: 1.3rem;
    margin: 0 0 8px;
}

    .brw-walk li {
        margin: 4px 0;
    }

.brw-walk--next {
    background: #fffbeb;
    border-radius: 4px;
    padding: 2px 6px;
    margin-left: -6px;
}

.brw-sessions-latest {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 6px 0 10px;
    padding: 6px 10px;
    background: #f8fafc;
    border-radius: 6px;
    font-size: 0.88rem;
}

    .brw-sessions-latest .brw-muted {
        font-size: 0.82rem;
    }

.expense-page-wrapper .section-card-header .exp-payment-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
    font-weight: 600;
}

.expense-page-wrapper .section-card-header .exp-payment-toggle-label {
    font-size: 12px;
    font-weight: 600;
    color: #8d8e90;
}

.expense-page-wrapper .section-card-header .exp-payment-toggle .rz-selectbar {
    display: inline-flex;
    gap: 0;
    padding: 0 !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden;
}

    .expense-page-wrapper .section-card-header .exp-payment-toggle .rz-selectbar .rz-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 28px;
        min-height: 0;
        min-width: 88px;
        margin: 0;
        padding: 0 14px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        color: #4f4f50 !important;
        font-size: 12px;
        font-weight: 600;
        line-height: 1;
        box-shadow: none !important;
    }

        .expense-page-wrapper .section-card-header .exp-payment-toggle .rz-selectbar .rz-button + .rz-button {
            border-left: 1px solid #dee2e6 !important;
        }

        .expense-page-wrapper .section-card-header .exp-payment-toggle .rz-selectbar .rz-button.rz-state-active {
            background: #212529 !important;
            color: #fff !important;
        }

        .expense-page-wrapper .section-card-header .exp-payment-toggle .rz-selectbar .rz-button:not(.rz-state-active):hover {
            background: #f8f9fa !important;
        }

        .expense-page-wrapper .section-card-header .exp-payment-toggle .rz-selectbar.rz-state-disabled .rz-button,
        .expense-page-wrapper .section-card-header .exp-payment-toggle .rz-selectbar .rz-button.rz-state-disabled {
            opacity: .6;
        }

.supplier-detail-page .dh-rail-hd {
    padding: 0.75rem 0.75rem 0rem;
    background: #222;
}

.supplier-detail-page .dh-rail-hd {
    font-size: 19px;
    font-weight: 700;
    color: #f8fafc;
    margin: 0;
    letter-spacing: -0.3px;
}

    .supplier-detail-page .dh-rail-hd .dh-rail-title {
        font-size: 19px;
        font-weight: 700;
        color: #f8fafc;
        margin: 0;
        letter-spacing: -0.3px;
    }

.supplier-detail-page .dh-vrow.on {
    background: #f0f0f0;
    border-color: #000000;
}

.supplier-detail-page .dh-vrow .dh-vbody {
    align-items: center;
    border-radius: 8px;
    cursor: pointer;
    margin-bottom: 2px;
    border: 1px solid transparent;
    transition: background .15s;
}

.supplier-detail-page .dh-tl-vnum {
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.supplier-detail-page .dh-search-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 0 10px;
    background: #fff;
}

.supplier-detail-page .dh-rail-tools {
    display: flex;
    gap: 8px;
    padding: 0.75rem;
    border-bottom: 1px solid #222;
    background: #222;
}

.supplier-detail-page .dh-vrow {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    width: 100%;
    text-align: left;
    background: #00000000;
    border: 0;
    border-left: 3px solid transparent;
    padding: 0.50rem 0.75rem;
    font-family: inherit;
    color: inherit;
    font-size: inherit;
    transition: background .12s ease, border-color .12s ease;
}

.supplier-detail-page .dh-rail-list {
    padding: 8px;
}

.supplier-detail-page .dh-rail {
    height: 100vh;
}

.warranty-dashboard-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .warranty-dashboard-card:hover {
        transform: translateY(-4px);
    }

.rep-dialog {
    text-transform: none;
}

.rep-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.rep-muted {
    color: var(--rz-text-secondary-color);
    font-size: 0.8rem;
}

.filter-css-parent-use-only .rz-chkbox-box {
    border-color: #00000057 !important;
}

/* .rz-dialog-content sets text-transform: capitalize globally, which mangles a name and
       would mangle anything data-shaped shown here. */
.bah-issued-pin, .bah-issued-pin * {
    text-transform: none;
}

/* Same reason: a sentence naming a claim or document must not be Title Cased. */
.bah-dialog-plain .rz-dialog-content, .bah-dialog-plain .rz-dialog-content * {
    text-transform: none;
}

.bah-pin-field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.625rem 0.75rem 0.625rem 1rem;
    background: var(--rz-base-200);
    border: 1px solid var(--rz-base-300);
    border-radius: 6px;
}

.bah-pin-value {
    font-family: ui-monospace, "Cascadia Mono", "Consolas", monospace;
    font-size: 1.75rem;
    font-weight: 600;
    /* Enough to separate the digits, not enough to break the code apart. */
    letter-spacing: 0.12em;
    font-variant-numeric: tabular-nums;
    color: var(--rz-text-title-color);
}

.bah-pin-note {
    color: var(--rz-text-secondary-color);
}

.gst-status-dialog .gst-mono {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}

.gst-status-dialog .gst-current {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    background: var(--rz-base-100);
    border: 1px solid var(--rz-base-300);
    border-radius: var(--rz-border-radius);
}

.gst-status-dialog .gst-current-label,
.gst-status-dialog .gst-section-label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
}

.gst-status-dialog .gst-required {
    color: var(--rz-danger);
}

.gst-status-dialog .gst-kind-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 8px;
}

.gst-status-dialog .gst-kind-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 10px 12px;
    text-align: left;
    background: var(--rz-base-background-color);
    color: var(--rz-text-color);
    border: 1px solid var(--rz-base-300);
    border-radius: var(--rz-border-radius);
    cursor: pointer;
}

    .gst-status-dialog .gst-kind-card:hover:not(:disabled) {
        border-color: var(--rz-base-500);
    }

    .gst-status-dialog .gst-kind-card:focus-visible {
        outline: 2px solid var(--rz-primary);
        outline-offset: 1px;
    }

    .gst-status-dialog .gst-kind-card.selected {
        border: 2px solid var(--rz-base-900);
        padding: 9px 11px;
    }

    .gst-status-dialog .gst-kind-card:disabled {
        cursor: not-allowed;
        opacity: 0.55;
        background: var(--rz-base-100);
    }

.gst-status-dialog .gst-kind-card-title {
    font-weight: 600;
}

.gst-status-dialog .gst-kind-card-note {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
}

.gst-status-dialog .gst-check {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    margin-top: -6px;
    border-radius: var(--rz-border-radius);
    border: 1px solid;
}

.gst-status-dialog .gst-check--ok {
    background: var(--rz-success-lighter);
    border-color: var(--rz-success-light);
}

.gst-status-dialog .gst-check--warn {
    background: var(--rz-warning-lighter);
    border-color: var(--rz-warning-light);
}

.gst-status-dialog .gst-check--bad {
    background: var(--rz-danger-lighter);
    border-color: var(--rz-danger-light);
}

.gst-status-dialog .gst-check-hint {
    margin-top: 6px;
    padding: 6px 8px;
    border-radius: var(--rz-border-radius);
    background: var(--rz-warning-lighter);
}

@media (max-width: 1280px) {
    .cd-kpi-strip {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }

    .ivr-kip-strip {
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
    }
}

@media (max-width: 1100px) {
    .brw-panes {
        flex-direction: column;
    }

        .brw-panes > .rz-splitter-pane {
            flex-basis: auto !important;
            width: 100% !important;
            margin-bottom: 12px;
        }

        .brw-panes > .rz-splitter-bar {
            display: none;
        }

    .dh-panel {
        grid-template-columns: 1fr;
    }

    .dh-rail {
        position: static;
        max-height: none;
        width: auto;
    }
}

@media (max-width: 992px) {
    .bah-shapes-wrap {
        display: none
    }

    .summary-grid {
        grid-template-columns: repeat(3,1fr)
    }

    .ob-party-tile {
        min-width: 100%;
    }

    .dh-panel,
    .dh-panel.dh-panel--collapsed {
        grid-template-columns: 1fr;
        gap: 0px;
    }

    .dh-rail {
        position: static;
        width: 100%;
        max-height: 60vh;
    }

    .dh-cmp {
        grid-template-columns: 1fr;
    }

    .dh-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .po-layout-row {
        flex-direction: column
    }

    .po-right-col {
        width: 100%
    }

    .po-summary-card {
        position: static
    }
}

@media (max-width: 900px) {
    .cd-kpi-strip {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }

    .ivr-kip-strip {
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
    }

    .cd-two-col {
        grid-template-columns: 1fr;
    }

    .cd-two-col-supplier {
        grid-template-columns: 1fr;
    }

    .cd-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .cd-health-card {
        min-width: unset;
        width: 100%;
        max-width: 100%;
    }

    .brw-cc-row {
        grid-template-columns: 1fr;
    }

    .coa-split {
        flex-direction: column;
    }

    .coa-list {
        width: 100% !important;
    }

    .dh-cmp {
        grid-template-columns: 1fr;
    }

    .dh-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width: 768px) {
    .discount-group {
        display: list-item;
    }

        .discount-group .summary-input-full {
            border: 1px solid #dee2e6 !important;
        }

    ::-webkit-scrollbar {
        display: none
    }

    .responsive-width {
        width: 100% !important
    }

    .custom-button-form-wrapper .form-footer {
        flex-direction: column !important
    }

        .custom-button-form-wrapper .form-footer > * {
            width: 100% !important
        }

    .edit-user-page-cus-form-wrapper .form-footer {
        flex-direction: column
    }

    .no-records-to-display {
        color: #d3d3d3 !important;
        font-size: 15px !important;
        text-align: center !important;
        margin: 1rem 0 !important;
        word-break: break-all !important;
        overflow-wrap: break-word !important;
        white-space: normal !important
    }

    .radzen-mobile-full {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important
    }

    .tabview-panel-padding-remove-mobile .rz-tabview-panel {
        padding: 10px
    }

    .p0-mobile {
        padding: 0 !important
    }

    .for-width-100-only-mobile {
        width: 100% !important
    }

    .force-center {
        display: flex !important;
        justify-content: center !important
    }

    .mobile-width-full-btn {
        width: 100%;
        display: block
    }

    .rz-p-4.mobile-p-0 {
        padding: 0 !important
    }

    .address-pages .rz-fieldset-content {
        padding: 10px !important
    }

    .taxsectionpage .rz-tabview.rz-tabview-left {
        flex-direction: column
    }

    .taxsectionpage .rz-tabview-left > .rz-tabview-nav {
        flex-direction: row
    }

    .taxsectionpage .rz-tabview-panel {
        padding: 10px !important
    }

    .rz-tabview-nav li a:not([href]):not([class]), .smart-counter-sell-pages .rz-tabview-nav li a {
        padding: 5px !important;
        font-size: 10px !important
    }

    .rz-p-5-cus {
        padding: .35rem
    }

    .filter-css-parent-use-only .rz-column-picker {
        display: none
    }

    .filter-css-parent-use-only .rz-stack {
        flex-wrap: wrap !important
    }

    .custom-button-for-mobile .rz-button {
        font-size: 12px !important;
        padding: 6px 8px !important;
        min-height: 30px !important
    }

    .custom-mobile-css {
        margin-bottom: 0
    }

        .custom-mobile-css h2 {
            font-size: 18px;
            margin: 10px 0 0
        }

        .custom-mobile-css .rz-breadcrumb-item {
            font-size: 11px;
            display: none
        }

    .custom-paddin-remove .rz-fieldset-content, .use-parent-only .rz-fieldset-content {
        padding: .5rem !important
    }

    .custom-w-25 {
        width: 50%
    }

    .bank-veri-mr-custom-class .w-50-custom {
        width: 100% !important
    }

    .good-receipt-table .rz-group-header .rz-custom-header {
        width: 100% !important;
        padding: .75rem!important
    }

    .bank-veri-mr-custom-class {
        margin: 10px
    }

    .report-page .summary-row {
        flex-direction: column
    }

    .custom-steps ul[role=tablist] li.rz-steps-item::after, .custom-steps-grn ul[role=tablist] li.rz-steps-item::after, .steps-edit-grn ul[role=tablist] li.rz-steps-item::after {
        display: none !important
    }

    .custom-steps ul[role=tablist] .rz-steps-title, .custom-steps-grn ul[role=tablist] .rz-steps-title {
        margin: 0 6px !important;
        font-size: 10px
    }

    .steps-edit-grn ul[role=tablist] .rz-steps-title {
        margin: 0 6px !important;
        font-size: 9px
    }

    .custom-steps ul[role=tablist] .rz-steps-number, .custom-steps-grn ul[role=tablist] .rz-steps-number, .steps-edit-grn ul[role=tablist] .rz-steps-number {
        width: 22px;
        height: 22px;
        line-height: 12px;
        font-size: 11px
    }

    .rz-steps ul .rz-steps-item {
        margin: 0 0 10px !important
    }

    .custom-badge .rz-badge-danger, .custom-badge .rz-badge-light, .custom-badge .rz-badge-secondary, .custom-badge .rz-badge-success {
        padding: 4px 15px;
        font-size: 11px;
        right: 8px;
        top: -18px
    }

        .custom-badge .rz-badge-danger::before, .custom-badge .rz-badge-light::before, .custom-badge .rz-badge-secondary::before, .custom-badge .rz-badge-success::before {
            right: -11px;
            bottom: 16px;
            border-width: 9px 8px 0 5px
        }

    .batch-picker-content, .batch-picker-footer, .batch-picker-header {
        padding-left: 10px;
        padding-right: 10px
    }

    .selected-header {
        align-items: flex-start;
        flex-direction: column
    }

    .selected-batch-row {
        grid-template-columns: 1fr;
        gap: 8px
    }

    .selected-batch-metrics, .selected-batch-metrics.value-mode {
        grid-template-columns: 1fr
    }

    .inventory-adjustment-net-impact {
        align-items: flex-start;
        flex-direction: row;
        gap: 4px;
        justify-content: space-between;
    }

    .add-item-inp-wid-100-mob .rz-data-row > td .rz-column-title {
        text-transform: uppercase !important;
        font-weight: 700 !important;
        margin-bottom: 2px !important
    }

    .cdn-item-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

        .cdn-item-toolbar .discount-group {
            width: 100%;
        }

    .cdn-dialog-header,
    .cdn-dialog-actions {
        flex-direction: column;
    }

    .cdn-dialog-credit {
        min-width: 0;
        width: 100%;
        text-align: left;
    }

    .cdn-amount-row {
        grid-template-columns: auto 1fr;
    }

    .cdn-balance-text {
        grid-column: 1 / -1;
    }

    .po-summary-sticky {
        position: static;
        max-height: none;
        overflow-y: visible;
    }

    .po-action-bar-inner {
        padding: 8px 12px;
    }

    .po-action-bar-actions {
        flex: 1;
        justify-content: flex-end;
    }

    .sic-card-inner {
        flex-direction: column
    }

    .sic-left {
        flex: unset;
        max-width: 100%;
        padding-right: 0
    }

    .sic-divider {
        width: 100%;
        height: 1px;
        margin: 12px 0
    }

    .sic-right {
        padding-left: 0;
        flex-direction: column
    }

    .sic-supply-row {
        flex-direction: column
    }

    .summary-last-box {
        width: 100%
    }

    .cs-customer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .price-revision-preview-header,
    .price-revision-preview-content,
    .price-revision-preview-footer {
        padding-left: 16px;
        padding-right: 16px;
    }

    .price-revision-preview-dialog-grid {
        min-width: 720px;
    }

    .price-revision-grid-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .prof-card-body {
        padding: 0.75rem;
    }

    .discount-group-icon {
        padding: 3px;
    }

    .grn-ref-pill {
        min-width: 48%;
    }

    .mobile-width-only {
        max-width: 190px;
    }

    .coa-split {
        flex-direction: column;
    }

    .coa-list {
        width: 100%;
        position: relative;
    }

    .coa-list-mobile-trigger {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 14px;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        font-size: 13px;
        font-weight: 600;
        color: #0f172a;
        cursor: pointer;
    }

    .coa-list-body {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 50;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-top: none;
        border-radius: 0 0 8px 8px;
        box-shadow: 0 8px 24px rgba(15,23,42,.12);
        max-height: 60vh;
    }

    .coa-list.mobile-open .coa-list-body {
        display: flex;
        flex-direction: column;
    }

    .filter-css-parent-use-only .rz-group-header {
        flex-direction: column;
    }

    .ob-card, .ob-group {
        border-radius: 10px;
    }

    .ob-card {
        padding: .85rem .9rem;
    }

    .ob-group-head {
        padding: .7rem .85rem;
        gap: .5rem;
    }

    .ob-footer {
        flex-direction: column;
        align-items: stretch;
        border-radius: 0;
        padding: .65rem .75rem;
    }

    .ob-totals {
        width: 100%;
        justify-content: space-between;
    }

    .ob-total-box {
        flex: 1;
        min-width: 0;
        text-align: center;
    }

    .ob-footer-actions {
        width: 100%;
    }

        .ob-footer-actions > * {
            flex: 1;
        }

    .ob-num-cell .rz-spinner, .ob-num-cell .rz-numeric {
        max-width: 120px;
    }

    .report-page .floating-popup {
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        bottom: auto !important;
        transform: translate(-50%, -50%) !important;
        width: 90vw;
        max-width: 350px;
        min-width: 250px !important;
        overflow-y: auto;
        z-index: 9999;
    }

    .ba-daterange__panel {
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        bottom: auto !important;
        transform: translate(-50%, -50%) !important;
        width: calc(100vw - 2rem);
        min-width: 0;
        max-width: 350px;
        max-height: 80vh;
        overflow-y: auto;
        z-index: 9999;
        animation: none;
    }

    .ba-daterange__panel {
        animation: ba-fade-center .15s ease;
    }

    .address-inline-popup, .shipping-address-inline-popup {
        width: calc(100vw - 24px);
        left: 12px !important;
        right: 12px !important;
    }

    .migration-shell .migration-hero,
    .migration-shell .migration-steps {
        grid-template-columns: 1fr;
    }

    .migration-shell .migration-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .migration-shell .summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .ba-searchbox .rz-form-field {
        width: 100%;
    }

    .report-page .report-hub-layout {
        grid-template-columns: 1fr;
    }

    .po-header-title {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 0px;
    }

    .ppy-summary-card {
        margin: 0.75rem 0;
    }

    .ppy-advance-info-text, .available-advance {
        font-size: 10px;
    }

    .po-breadcrumb {
        align-self: center;
    }

    .rz-breadcrumb {
        justify-content: center;
    }

    .po-header-actions {
        width: 100%;
        display: flex;
        flex-direction: row;
    }

        .po-header-actions .rz-button,
        .po-header-actions .busy-button,
        .po-header-actions button {
            width: 100%;
        }

    body,
    #app,
    .app-wrapper,
    .rz-body,
    .rz-sidebar-expanded,
    .rz-sidebar-collapsed {
        transform: none !important;
    }

    .cd-sidebar,
    .cd-overlay {
        transform: translateX(-100%);
    }

        .cd-sidebar.open,
        .cd-overlay {
            transform: translateX(0);
        }

    .cd-cust-list {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        padding: 8px;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .cd-sidebar {
        height: 100vh;
        height: 100dvh;
    }

    .list-toolbar-divider {
        display: none;
    }
}

@media (max-width: 767px) {
    .so-toolbar.filter-css-parent-use-only {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }

    .so-toolbar .list-toolbar-group.filter-group {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin: 0;
        padding: 0;
        justify-content: center;
    }

        .so-toolbar .list-toolbar-group.filter-group > .rz-search-box,
        .so-toolbar .list-toolbar-group.filter-group > .rz-search-box .rz-textbox-group {
            flex: 1 1 100%;
            width: 100%;
        }

        .so-toolbar .list-toolbar-group.filter-group > .rz-dropdown,
        .so-toolbar .list-toolbar-group.filter-group > .date-range-filter {
            flex: 0 0 auto;
            width: auto;
        }

    .so-toolbar .list-toolbar-divider {
        display: none;
    }

    .so-toolbar .list-toolbar-group.action-group {
        width: 100%;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 0.5rem;
    }

        .so-toolbar .list-toolbar-group.action-group > * {
            flex: 0 0 auto;
            width: auto;
        }

    .so-filterpanel {
        right: 0;
    }

    .sticky-footer {
        font-size: 12px;
    }
}

@media (max-width: 720px) {
    .gst-head {
        flex-direction: column;
    }

    .gst-summary {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }

    .gst-matrix {
        font-size: 0.8rem;
    }

    .sic-supplier-row {
        display: grid;
        gap: 0px;
    }

    .sic-gst-badge-wrap {
        padding-top: 8px;
        flex-shrink: 0;
        margin-left: 0px;
    }

    .brw-progressrow {
        display: block;
    }

    .brw-tabbtn {
        padding: 5px 3px;
        gap: 2px;
        font-size: 9px;
        background: #e9eaed;
        border-radius: 3px 3px 0 0;
    }

    .brw-balances {
        display: flex;
        flex-direction: column;
    }

    .brw-breakdown {
        flex-direction: column;
    }

    .brw-bd-chip {
        width: 100%;
    }

    .brw-tabbtn .rz-icon, .brw-tabbtn i {
        display: none !important;
    }

    .brw-selactions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
    }

    .brw-seltotals {
        flex-direction: column-reverse;
        align-items: stretch;
        width: 100%;
    }

    .brw-diffcard {
        margin-top: 10px;
    }

    .report-page .filter-top-bar .report-actions {
        margin-left: inherit;
    }

    .report-page .floating-popup {
        left: auto;
        right: 0;
        min-width: 260px !important;
    }

    .report-page .floating-popup-right {
        left: 0;
    }

    .report-page .filter-top-bar {
        gap: 5px;
        padding: 0.75rem 0px;
    }

    .rr-row {
        grid-template-columns: 1fr 1fr;
    }

    .rr-row--head {
        display: none;
    }
}

@media (max-width: 600px) {
    .cd-topbar {
        padding: 10px 14px;
    }

    .cd-hero {
        margin-top: 0px;
        padding: 0.75rem;
    }

    .service-type-input-width .rz-form-field {
        width: 100% !important;
    }

    .cd-kpi-strip {
        grid-template-columns: 1fr 1fr;
    }

    .supplier-detail-page .cd-kpi-strip {
        grid-template-columns: 1fr;
    }

    .cd-hero-name {
        font-size: 18px;
    }
}

@media (max-width: 576px) {
    .header-layout {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px
    }

    .header-spacer {
        display: none
    }

    .header-actions {
        justify-content: center
    }

    .summary-value {
        word-wrap: break-word
    }

    .summary-grid {
        grid-template-columns: repeat(2,1fr)
    }

    .migration-title {
        font-size: 17px
    }

    .ppy-supplier-banner {
        padding: 14px 16px;
        gap: 12px;
    }

    .ppy-supplier-divider {
        display: none;
    }

    .ppy-supplier-stats-row {
        width: 100%;
        gap: 8px;
    }

    .ppy-supplier-stat {
        flex: 1;
        padding: 8px 10px;
        background: rgba(255,255,255,0.1);
        border-radius: 8px;
    }

    .ppy-supplier-stat-value {
        font-size: 14px;
    }

    .ppy-card-body {
        padding: 0.75rem;
    }
}

@media (max-width: 575.98px) {
    .dh-grid {
        grid-template-columns: 1fr;
    }

    .dh-tiles {
        grid-template-columns: repeat(2,1fr);
    }

    table.dh-chg-tbl th.p, table.dh-chg-tbl td.p,
    table.dh-chg-tbl th.c, table.dh-chg-tbl td.c {
        width: auto;
    }

    .dh-vhead {
        gap: 10px;
    }

    .dh-vh-right {
        width: 100%;
        justify-content: space-between;
    }

    .expense-page-wrapper .section-card-header .exp-payment-toggle {
        width: 100%;
        margin-left: 0;
        justify-content: space-between;
    }

    .ba-daterange__panel {
        min-width: 230px;
    }

    .so-filterpanel {
        min-width: 270px;
    }
}

@media (max-width: 575px) {
    .create-payment-page .supplier-banner {
        padding: 12px;
        gap: 8px;
    }

    .create-payment-page .supplier-banner-divider {
        display: none;
    }

    .create-payment-page .supplier-banner-stat {
        padding: 0;
        min-width: unset;
        flex: 1;
        background: rgba(255,255,255,0.12);
        border-radius: 8px;
        padding: 6px;
    }

    .create-payment-page .supplier-banner-stats-row {
        width: 100%;
        display: flex;
        gap: 10px;
    }

    .create-payment-page .supplier-banner-stat-value {
        font-size: 16px;
    }

    .create-payment-page .supplier-banner-name {
        font-size: 14px;
    }

    .create-payment-page .supplier-banner-icon {
        width: 44px;
        height: 44px;
        display: none;
    }

        .create-payment-page .supplier-banner-icon .rzi {
            font-size: 22px;
        }

    .create-payment-page .section-card-body {
        padding: 10px;
    }

    .mobile-res-use-only {
        max-width: 150px;
        min-width: 150px;
    }

    .pm-compare {
        flex-direction: column;
    }

    .pm-arrow {
        transform: rotate(90deg);
        align-self: center;
    }

    .po-breadcrumb {
        text-align: center;
    }

    .coa-detail {
        width: 100%;
    }

    .coa-ob-box {
        min-width: 100%;
    }

    .coa-tool-field {
        margin-bottom: 10px;
        width: 100%;
    }

        .coa-tool-field .rz-datepicker {
            width: 100%;
        }

    .coa-toolbar {
        display: block;
    }
}

@media (max-width: 480px) {
    .bah-card {
        padding: 1.75rem 1.25rem 1.5rem
    }

    .bah-card-title {
        font-size: 1.3rem
    }

    .bah-navbar {
        padding: .75rem 1rem
    }

    .bah-nav-links {
        gap: .75rem
    }

    .btn-mobile-css {
        display: flex;
        justify-content: space-between;
        width: 100%
    }

    .add-item-inp-wid-100-mob .rz-cell-data .rz-dropdown, .add-item-inp-wid-100-mob .rz-cell-data span {
        width: 100% !important
    }

    .nporder-Supplier-Mob-width .rz-dropdown .rz-dropdown-label div div div {
        word-break: break-all !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 180px
    }

    .cs-customer-grid {
        grid-template-columns: 1fr;
    }

    .add-item-inp-wid-100-mob .rz-cell-data .item-stock-chip-row span {
        width: auto !important;
    }

    .ob-chip {
        font-size: .74rem;
        padding: .28rem .65rem;
    }

    .ob-table {
        font-size: .78rem;
    }

    .ob-num-cell .rz-spinner, .ob-num-cell .rz-numeric {
        max-width: 92px;
    }

    .ob-total-box {
        min-width: 45%;
    }

    .cd-sidebar {
        width: 100%;
    }

    .cd-health-card {
        width: 100%;
    }

    .bst-actions {
        flex-direction: column-reverse;
    }

        .bst-actions ::deep .rz-button {
            width: 100%;
        }
}

@media (prefers-reduced-motion: reduce) {
    .bah-btn-busy::after {
        animation-duration: 1.8s;
    }

    .gst-progress span,
    .gst-chip {
        transition: none;
    }
}

@media print {
    .report-nav-panel,
    .report-nav-backdrop,
    .report-nav-toggle {
        display: none !important;
    }

    .report-page .report-chips {
        display: none !important;
    }

    .report-page .report-sheet .pl-layout-toggle {
        display: none !important;
    }

    body * {
        visibility: hidden;
    }

    .report-page .report-sheet,
    .report-page .report-sheet * {
        visibility: visible;
    }

    .report-page .report-sheet {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        border: 0;
        border-radius: 0;
    }

        .report-page .report-sheet .rz-paginator,
        .report-page .report-sheet .rz-pager {
            display: none !important;
        }

        .report-page .report-sheet table,
        .report-page .report-sheet .rz-grid-table {
            table-layout: auto !important;
            width: 100% !important;
        }

        .report-page .report-sheet th,
        .report-page .report-sheet td,
        .report-page .report-sheet col {
            width: auto !important;
        }

        .report-page .report-sheet th,
        .report-page .report-sheet td,
        .report-page .report-sheet .rz-cell-data,
        .report-page .report-sheet .rz-column-title {
            overflow: visible !important;
            text-overflow: clip !important;
            white-space: normal !important;
            word-break: normal;
            overflow-wrap: anywhere;
        }

            .report-page .report-sheet td.rz-text-align-right,
            .report-page .report-sheet th.rz-text-align-right,
            .report-page .report-sheet tfoot td {
                white-space: nowrap !important;
                text-align: right !important;
                font-variant-numeric: tabular-nums;
            }

            .report-page .report-sheet th.rz-text-align-center,
            .report-page .report-sheet td.rz-text-align-center {
                text-align: center !important;
            }

    .report-page .report-sheet {
        font-size: 9pt;
        line-height: 1.25;
    }

        .report-page .report-sheet th,
        .report-page .report-sheet td {
            padding: 3px 6px !important;
        }

        .report-page .report-sheet tr {
            page-break-inside: avoid;
        }

        .report-page .report-sheet thead {
            display: table-header-group;
        }

        .report-page .report-sheet tfoot {
            display: table-footer-group;
        }

    .report-page .report-inner-header {
        page-break-after: avoid;
    }

    body * {
        visibility: hidden;
    }

    .brs-report, .brs-report * {
        visibility: visible;
    }

    .brs-report {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        padding: 12px;
    }

    .brs-actions {
        display: none;
    }

    .brs-srow--adj {
        cursor: default;
    }

    .dh, .dh * {
        visibility: visible;
    }

    .dh {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        padding: 8px 12px;
    }

        .dh .dh-rail,
        .dh .dh-rail-toggle,
        .dh .dh-back,
        .dh .dh-hd-right,
        .dh .dh-vh-right,
        .dh .no-print {
            display: none !important;
            visibility: hidden !important;
        }

        .dh .dh-panel,
        .dh .dh-panel--collapsed {
            display: block !important;
            grid-template-columns: 1fr !important;
        }

        .dh .dh-view {
            width: 100% !important;
            max-width: none !important;
        }
}


