/* ========== Rendering module (Hub): form and fields fill full width when .modules-content--rendering is set ========== */
.modules-content.modules-content--rendering .dynamic-grid-container .vb-form-container {
    width: 100% !important;
    max-width: none !important;
}
.modules-content.modules-content--rendering .dynamic-grid-container .vb-two-column {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
    min-width: 0 !important;
}
.modules-content.modules-content--rendering .dynamic-grid-container .vb-two-column > .vb-field-row.vb-full-width {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}
.modules-content.modules-content--rendering .dynamic-grid-container .vb-two-column > .vb-column {
    min-width: 0 !important;
    max-width: none !important;
}
.modules-content.modules-content--rendering .dynamic-grid-container .vb-field-input .dxbl-text-edit,
.modules-content.modules-content--rendering .dynamic-grid-container .vb-field-input .dxbl-combobox,
.modules-content.modules-content--rendering .dynamic-grid-container .vb-field-input .dxbl-date-edit,
.modules-content.modules-content--rendering .dynamic-grid-container .vb-field-input .dxbl-spin-edit,
.modules-content.modules-content--rendering .dynamic-grid-container .vb-field-input .dxbl-editor,
.modules-content.modules-content--rendering .dynamic-grid-container .vb-field-input .dxbl-edit {
    width: 100% !important;
    max-width: none !important;
}
.modules-content.modules-content--rendering .dynamic-grid-container .edit-form-tabs ~ .tab-content.p-3 {
    max-height: 55vh !important;
    overflow-y: auto !important;
}
.modules-content.modules-content--rendering .dynamic-grid-container .tab-content.p-3 ~ .d-flex.mt-3 {
    flex-shrink: 0 !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.25rem !important;
}

/* Ensure rendering module content can use full width (same as standalone Rendering app) */
.modules-content {
    min-width: 0;
    width: 100%;
    max-width: none;
    flex: 1 1 auto; /* take remaining space when inside drawer target */
}

/* Let drawer main content area use full width so rendering form isn't constrained */
.page .dxbl-drawer-target,
.page .dxbl-drawer-content {
    width: 100% !important;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.page .dxbl-drawer-target .modules-content,
.page .dxbl-drawer-content .modules-content {
    flex: 1 1 auto;
    min-width: 0;
}

/* Content area: moderate padding so form uses width (match Rendering feel) */
.p-4.modules-content {
    padding: 0.75rem 1rem;
}

/* Rendering iframe page: strip padding so iframe sits flush (scoped CSS can't target
   .modules-content--rendering because it's rendered by ModulesLayout, not RenderingObject) */
.p-4.modules-content.modules-content--rendering {
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.modules-content .dynamic-grid-container {
    background: var(--bs-body-bg);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    width: 100%;
    max-width: none;
    min-height: calc(100vh - 180px);
}

/* Grid area: no min-height so content fits form (match Rendering – no empty space below) */
.modules-content .dynamic-grid-container .dynamic-grid {
    min-height: 0 !important;
}


/* Tab content: no forced min-height so no big white space at bottom (match Rendering) */
.modules-content .dynamic-grid-container .tab-content.p-3 {
    min-height: 0 !important;
    padding: 8px 12px !important;
}

/* Inline EditForm: limit form body height so Save/Cancel footer stays visible (with or without .dxbl-grid wrapper) */
.modules-content .dynamic-grid-container .dxbl-grid .edit-form-tabs ~ .tab-content.p-3,
.modules-content .dynamic-grid-container .edit-form-tabs ~ .tab-content.p-3 {
    max-height: 55vh !important;
    overflow-y: auto !important;
}

/* Inline EditForm footer (Save / Save & New / Cancel) - keep visible below form body */
.modules-content .dynamic-grid-container .dxbl-grid .tab-content.p-3 ~ .d-flex.mt-3,
.modules-content .dynamic-grid-container .edit-form-tabs ~ .tab-content.p-3 ~ .d-flex.mt-3 {
    flex-shrink: 0 !important;
    padding-top: 0.75rem;
    padding-bottom: 0.25rem;
}

/* Form container: full width so fields fill the form in Hub */
.modules-content .dynamic-grid-container .vb-form-container {
    width: 100%;
    max-width: none;
    padding: 12px 16px;
}

/* Two-column grid (match Rendering): grid allows full-width rows for LineNo==1 */
.modules-content .dynamic-grid-container .vb-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
    align-content: start;
    width: 100%;
    min-width: 0;
}

.modules-content .dynamic-grid-container .vb-two-column > .vb-column {
    min-width: 0;
    max-width: none;
}

/* LineNo==1 fields span full width (e.g. Arabic/English description) */
.modules-content .dynamic-grid-container .vb-two-column > .vb-field-row.vb-full-width {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.modules-content .dynamic-grid-container .vb-two-column > .vb-field-row.vb-full-width .vb-field-input,
.modules-content .dynamic-grid-container .vb-two-column > .vb-field-row.vb-full-width .vb-field-input-wrapper {
    max-width: 100%;
}

.modules-content .dynamic-grid-container .vb-two-column > .vb-field-row.vb-full-width input.vb-input,
.modules-content .dynamic-grid-container .vb-two-column > .vb-field-row.vb-full-width .vb-input {
    width: 100%;
    max-width: 100%;
}

/* LineNo >= 2: memo/textarea field — cream background, light grey border */
.modules-content .dynamic-grid-container .vb-field-row.vb-memo-row .vb-field-input,
.modules-content .dynamic-grid-container .vb-field-row.vb-memo-row .vb-field-input-wrapper,
.modules-content .dynamic-grid-container .vb-field-row.vb-lineno-3 .vb-field-input,
.modules-content .dynamic-grid-container .vb-field-row.vb-lineno-3 .vb-field-input-wrapper {
    width: 100%;
    max-width: 100%;
}
.modules-content .dynamic-grid-container .vb-field-row.vb-memo-row textarea.vb-input,
.modules-content .dynamic-grid-container .vb-field-row.vb-memo-row .vb-input.vb-textarea,
.modules-content .dynamic-grid-container .vb-field-row.vb-memo-row .vb-field-row textarea,
.modules-content .dynamic-grid-container .vb-field-row.vb-memo-row .dxbl-memo,
.modules-content .dynamic-grid-container .vb-field-row.vb-memo-row input.vb-input,
.modules-content .dynamic-grid-container .vb-field-row.vb-lineno-3 textarea.vb-input,
.modules-content .dynamic-grid-container .vb-field-row.vb-lineno-3 .vb-input.vb-textarea,
.modules-content .dynamic-grid-container .vb-field-row.vb-lineno-3 .vb-field-row textarea,
.modules-content .dynamic-grid-container .vb-field-row.vb-lineno-3 .dxbl-memo,
.modules-content .dynamic-grid-container .vb-field-row.vb-lineno-3 input.vb-input {
    width: 100% !important;
    min-height: 100px;
    max-height: 280px;
    resize: vertical;
    background-color: #FFFFCC;
    border: 1px solid #d1d5db;
    padding: 8px 10px;
    box-sizing: border-box;
}
.modules-content .dynamic-grid-container .vb-field-row.vb-memo-row input.vb-input,
.modules-content .dynamic-grid-container .vb-field-row.vb-lineno-3 input.vb-input {
    min-height: 36px;
    max-height: none;
    resize: none;
    background-color: #FFFFCC;
    border: 1px solid #d1d5db;
}

/* Field row: same as Rendering */
.modules-content .dynamic-grid-container .vb-field-row {
    display: table;
    width: 100%;
    margin-bottom: 6px;
    table-layout: fixed;
}

/* Label: same as Rendering; left-aligned, allow wrap so long captions don't overflow */
.modules-content .dynamic-grid-container .vb-field-label {
    display: table-cell;
    width: 130px;
    min-width: 130px;
    max-width: 200px;
    font-size: 11px;
    color: #333;
    padding: 4px 8px 4px 0;
    text-align: left;
    vertical-align: middle;
    font-family: Segoe UI, Tahoma, sans-serif;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: visible;
}
.modules-content .dynamic-grid-container [dir="rtl"] .vb-field-label {
    text-align: right;
}
/* Tab captions: no overflow so long names (e.g. Dimensions Validation) show fully */
.modules-content .dynamic-grid-container .edit-form-tabs .nav-link {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    min-width: 0;
}
.modules-content .dynamic-grid-container .edit-form-tabs .nav-item {
    flex: 0 1 auto;
}

.modules-content .dynamic-grid-container .vb-field-input {
    display: table-cell;
    vertical-align: middle;
}

.modules-content .dynamic-grid-container .vb-field-input-wrapper {
    display: flex;
    align-items: center;
    gap: 4px;
}


.modules-content .dynamic-grid-container .vb-field-input-sm {
    width: 160px;
}

.modules-content .dynamic-grid-container .vb-input {
    width: 100%;
    font-size: 11px;
    padding: 3px 8px;
    border: 1px solid #a8a8a8;
    border-radius: 0;
    font-family: Segoe UI, Tahoma, sans-serif;
    background: #fff;
    height: 24px;
    box-sizing: border-box;
}

/* DevExpress editors: fill cell so fields fill the form */
.modules-content .dynamic-grid-container .vb-field-input .dxbl-text-edit,
.modules-content .dynamic-grid-container .vb-field-input .dxbl-combobox,
.modules-content .dynamic-grid-container .vb-field-input .dxbl-date-edit,
.modules-content .dynamic-grid-container .vb-field-input .dxbl-spin-edit,
.modules-content .dynamic-grid-container .vb-field-input .dxbl-editor,
.modules-content .dynamic-grid-container .vb-field-input .dxbl-edit {
    width: 100%;
    max-width: none;
}

/* RTL: combo input text right-to-left and right-aligned for Arabic */
.modules-content .dynamic-grid-container [dir="rtl"] .vb-lookup-inline .dxbl-combobox input.dxbl-edit-input,
.modules-content .dynamic-grid-container html[dir="rtl"] .vb-combo-input {
    direction: rtl;
    text-align: right;
}
.modules-content .dynamic-grid-container html[dir="rtl"] .vb-combo-input.vb-combo-input-ltr {
    direction: ltr;
    text-align: left;
}

/* Edit form layout: same as Rendering; allow caption wrap so long labels don't overflow */
.modules-content .dynamic-grid-container .edit-form-layout .dxbl-fl-cpt {
    min-width: 140px !important;
    max-width: 220px !important;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    overflow: visible;
}

.modules-content .dynamic-grid-container .edit-form-layout .dxbl-fl-ctrl {
    min-width: 150px !important;
    flex: 1 1 auto !important;
}

.modules-content .dynamic-grid-container .edit-form-layout .dxbl-text-edit,
.modules-content .dynamic-grid-container .edit-form-layout .dxbl-combobox,
.modules-content .dynamic-grid-container .edit-form-layout .dxbl-date-edit,
.modules-content .dynamic-grid-container .edit-form-layout .dxbl-spin-edit {
    width: 100% !important;
    min-width: 120px !important;
}

.modules-content .dynamic-grid-container .edit-form-layout input.dxbl-edit-input {
    min-width: 100px !important;
}

/* Memo/textarea: compact height like Rendering (avoid oversized multi-line fields) */
.modules-content .dynamic-grid-container .vb-field-input .dxbl-memo,
.modules-content .dynamic-grid-container .vb-field-input textarea.vb-input,
.modules-content .dynamic-grid-container .vb-field-input .vb-textarea {
    min-height: 2.5rem;
    max-height: 5.5rem;
    resize: vertical;
}

.modules-content .dynamic-grid-container .dxbl-memo textarea,
.modules-content .dynamic-grid-container .vb-field-input .dxbl-memo .dxbl-edit {
    min-height: 2.5rem !important;
    max-height: 5.5rem !important;
}

/* Validation: mandatory invalid = red ! icon next to label, no border (pale green background only) */
.modules-content .dynamic-grid-container .vb-field-invalid-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1em;
    height: 1.1em;
    min-width: 1.1em;
    background: #dc3545;
    color: white;
    border-radius: 50%;
    font-size: 0.75em;
    font-weight: bold;
    margin-inline: 4px;
    vertical-align: middle;
}
.modules-content .dynamic-grid-container .vb-field-invalid-caption::after {
    content: "!";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1em;
    height: 1.1em;
    min-width: 1.1em;
    background: #dc3545;
    color: white;
    border-radius: 50%;
    font-size: 0.7em;
    font-weight: bold;
    margin-inline-start: 6px;
    vertical-align: middle;
}

/* Read-only (Enabled = 0): light grey background, grey border */
.modules-content .dynamic-grid-container .vb-field-readonly input,
.modules-content .dynamic-grid-container .vb-field-readonly .vb-input,
.modules-content .dynamic-grid-container .vb-field-readonly .dxbl-edit-input,
.modules-content .dynamic-grid-container .vb-field-readonly .dxbl-text-edit-input,
.modules-content .dynamic-grid-container .vb-field-readonly .dxbl-memo,
.modules-content .dynamic-grid-container .vb-field-readonly textarea,
.modules-content .dynamic-grid-container .vb-field-readonly .dxbl-combobox .dxbl-edit-input,
.modules-content .dynamic-grid-container .vb-field-readonly .dxbl-combobox-input,
.modules-content .dynamic-grid-container .vb-field-readonly .vb-combo-input,
.modules-content .dynamic-grid-container .vb-field-readonly .dxbl-combobox input {
    background-color: #e9ecef !important;
    color: #495057;
    border: 1px solid #ced4da !important;
    cursor: default;
}

/* Lookup/combobox: mandatory green, optional cream (fix white background) - inline form */
.modules-content .dynamic-grid-container .vb-field-input-wrapper.vb-lookup-inline.vb-field-required .dxbl-combobox .dxbl-edit,
.modules-content .dynamic-grid-container .vb-field-input-wrapper.vb-lookup-inline.vb-field-required .dxbl-combobox .dxbl-edit-input,
.modules-content .dynamic-grid-container .vb-field-input-wrapper.vb-lookup-inline.vb-field-required .dxbl-combobox input,
.modules-content .dynamic-grid-container .vb-field-input-wrapper.vb-lookup-inline.vb-field-required .dxbl-combobox-input,
.modules-content .dynamic-grid-container .vb-field-input-wrapper.vb-lookup-inline.vb-field-required .vb-combo-input,
.modules-content .dynamic-grid-container .vb-edit-form-tab-content .vb-field-required .dxbl-combobox .dxbl-edit,
.modules-content .dynamic-grid-container .vb-edit-form-tab-content .vb-field-required .dxbl-combobox .dxbl-edit-input,
.modules-content .dynamic-grid-container .vb-edit-form-tab-content .vb-field-required .dxbl-combobox input,
.modules-content .dynamic-grid-container .vb-edit-form-tab-content .vb-field-required .dxbl-combobox-input,
.modules-content .dynamic-grid-container .vb-edit-form-tab-content .vb-field-required .vb-combo-input {
    background-color: #E1FBE1 !important;
}
.modules-content .dynamic-grid-container .vb-field-input-wrapper.vb-lookup-inline.vb-field-optional .dxbl-combobox .dxbl-edit,
.modules-content .dynamic-grid-container .vb-field-input-wrapper.vb-lookup-inline.vb-field-optional .dxbl-combobox .dxbl-edit-input,
.modules-content .dynamic-grid-container .vb-field-input-wrapper.vb-lookup-inline.vb-field-optional .dxbl-combobox input,
.modules-content .dynamic-grid-container .vb-field-input-wrapper.vb-lookup-inline.vb-field-optional .dxbl-combobox-input,
.modules-content .dynamic-grid-container .vb-field-input-wrapper.vb-lookup-inline.vb-field-optional .vb-combo-input,
.modules-content .dynamic-grid-container .vb-edit-form-tab-content .vb-field-optional .dxbl-combobox .dxbl-edit,
.modules-content .dynamic-grid-container .vb-edit-form-tab-content .vb-field-optional .dxbl-combobox .dxbl-edit-input,
.modules-content .dynamic-grid-container .vb-edit-form-tab-content .vb-field-optional .dxbl-combobox input,
.modules-content .dynamic-grid-container .vb-edit-form-tab-content .vb-field-optional .dxbl-combobox-input,
.modules-content .dynamic-grid-container .vb-edit-form-tab-content .vb-field-optional .vb-combo-input {
    background-color: #FFFFE6 !important;
}

/* Lookup in popup edit form (form is outside .dynamic-grid-container) */
.modules-content .dxbl-popup .vb-field-required .dxbl-combobox .dxbl-edit-input,
.modules-content .dxbl-popup .vb-field-required .dxbl-combobox input,
.modules-content .dxbl-popup .vb-field-required .vb-combo-input,
.modules-content .dxbl-window .vb-field-required .dxbl-combobox .dxbl-edit-input,
.modules-content .dxbl-window .vb-field-required .dxbl-combobox input,
.modules-content .dxbl-window .vb-field-required .vb-combo-input {
    background-color: #E1FBE1 !important;
}
.modules-content .dxbl-popup .vb-field-optional .dxbl-combobox .dxbl-edit-input,
.modules-content .dxbl-popup .vb-field-optional .dxbl-combobox input,
.modules-content .dxbl-popup .vb-field-optional .vb-combo-input,
.modules-content .dxbl-window .vb-field-optional .dxbl-combobox .dxbl-edit-input,
.modules-content .dxbl-window .vb-field-optional .dxbl-combobox input,
.modules-content .dxbl-window .vb-field-optional .vb-combo-input {
    background-color: #FFFFE6 !important;
}
.modules-content .dxbl-popup .vb-field-readonly .dxbl-combobox .dxbl-edit-input,
.modules-content .dxbl-popup .vb-field-readonly .dxbl-combobox input,
.modules-content .dxbl-popup .vb-field-readonly .vb-combo-input,
.modules-content .dxbl-window .vb-field-readonly .dxbl-combobox .dxbl-edit-input,
.modules-content .dxbl-window .vb-field-readonly .dxbl-combobox input,
.modules-content .dxbl-window .vb-field-readonly .vb-combo-input {
    background-color: #e9ecef !important;
    color: #495057;
    border: 1px solid #ced4da !important;
    cursor: default;
}

/* Lookup in popup/window when appended to body (no .modules-content parent) */
.dxbl-popup .vb-field-required .dxbl-combobox input,
.dxbl-popup .vb-field-required .vb-combo-input,
.dxbl-window .vb-field-required .dxbl-combobox input,
.dxbl-window .vb-field-required .vb-combo-input {
    background-color: #E1FBE1 !important;
}
.dxbl-popup .vb-field-optional .dxbl-combobox input,
.dxbl-popup .vb-field-optional .vb-combo-input,
.dxbl-window .vb-field-optional .dxbl-combobox input,
.dxbl-window .vb-field-optional .vb-combo-input {
    background-color: #FFFFE6 !important;
}
.dxbl-popup .vb-field-readonly .dxbl-combobox input,
.dxbl-popup .vb-field-readonly .vb-combo-input,
.dxbl-window .vb-field-readonly .dxbl-combobox input,
.dxbl-window .vb-field-readonly .vb-combo-input {
    background-color: #e9ecef !important;
    color: #495057;
    border: 1px solid #ced4da !important;
    cursor: default;
}

/* Keep edit popup footer (Save/Cancel) visible: flex layout so body scrolls, footer stays at bottom */
.modules-content .dxbl-window,
.modules-content .dxbl-popup {
    display: flex !important;
    flex-direction: column !important;
    max-height: 90vh !important;
}
.modules-content .dxbl-window .dxbl-window-content,
.modules-content .dxbl-popup .dxbl-window-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
}
.modules-content .dxbl-window .dxbl-window-body,
.modules-content .dxbl-popup .dxbl-window-body,
.modules-content .dxbl-window [class*="body"],
.modules-content .dxbl-popup [class*="body"] {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
}
.modules-content .dxbl-window .dxbl-window-footer,
.modules-content .dxbl-popup .dxbl-window-footer,
.modules-content .dxbl-window [class*="footer"],
.modules-content .dxbl-popup [class*="footer"] {
    flex-shrink: 0 !important;
}

.dynamic-grid-container.addnew-popup {
    padding: 0.75rem;
}

.dynamic-grid-container.addnew-popup .grid-toolbar {
    padding: 0.5rem;
}

.dynamic-grid-container.addnew-popup .grid-toolbar .toolbar-left,
.dynamic-grid-container.addnew-popup .grid-toolbar .toolbar-right {
    flex-wrap: wrap;
    gap: 0.4rem;
}

.dynamic-grid-container.addnew-popup .dxbl-grid {
    min-width: 0;
}

.dynamic-grid-container.addnew-popup .grid-toolbar .input-group {
    max-width: 100%;
}

.dynamic-grid-container.addnew-popup .dynamic-grid {
    overflow-x: auto;
}

@media (max-width: 600px) {
    .dynamic-grid-container.addnew-popup {
        padding: 0.5rem;
    }
    .dynamic-grid-container.addnew-popup .grid-toolbar {
        padding: 0.4rem;
    }
    .dynamic-grid-container.addnew-popup .grid-toolbar .input-group {
        width: 100%;
    }
}

/* ========== Rendering iframe page — container + iframe fill (global because ::deep scoped CSS
   in RenderingObject.razor.css is dead: Blazor scope attribute lands on .rendering-iframe-page
   itself, so descendant selectors targeting its children never match) ========== */
.modules-content .dynamic-grid-container.rendering-iframe-page {
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.rendering-iframe-page .hosted-module-frame-wrapper {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    position: relative;
    display: block;
}

.rendering-iframe-page .hosted-module-frame-wrapper iframe {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    display: block;
    background-color: var(--bs-body-bg, #fff);
}
.rendering-iframe-page .hosted-module-frame-wrapper > div[dir="ltr"] {
    position: absolute;
    inset: 0;
}

.rendering-iframe-page .hosted-module-frame-wrapper > .hosted-module-frame-overlay,
.rendering-iframe-page .hosted-module-frame-wrapper > .hosted-module-frame-error {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    z-index: 2;
    background: var(--bs-body-bg, #fff);
    pointer-events: none;
}

.rendering-iframe-page .hosted-module-frame-wrapper > .hosted-module-frame-error {
    pointer-events: auto;
}

.dxbl-grid {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.dxbl-grid-header-row {
    background: #f2f2f2 !important;
    color: #1a1a1a !important;
    border-top: 4px solid #153d66 !important;
    border-bottom: 1px solid #c5c9ce !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.dxbl-grid-header-row th {
    font-weight: 700;
    padding: 0.55rem 0.65rem !important;
    line-height: 1.2 !important;
    min-height: 40px !important;
    height: auto !important;
    font-size: 0.8125rem !important;
    color: #1a1a1a !important;
    background: #f2f2f2 !important;
    border-color: #d8d8d8 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

.dxbl-grid-data-row td {
    padding: 0.1rem 0.25rem !important;
    vertical-align: middle;
    line-height: 1.05 !important;
    height: 20px !important;
    font-size: 0.75rem !important;
}
