/* Optional Gladinet-owned compatibility rules. Existing Ext theme CSS remains the primary stage-one stylesheet. */
.glad-ext-hidden { display: none !important; }
.glad-ext-backdrop { background: rgba(0, 0, 0, 0.35); inset: 0; position: fixed; }
.glad-ext-bootstrap-modal { overflow: hidden; }
.x-window.glad-ext-window, .x-window.x-window-default { box-sizing: border-box; min-width: 160px; }
.x-window .glad-ext-modal-content { box-sizing: border-box; display: flex; flex-direction: column; overflow: hidden; }
.glad-ext-modal-content > .modal-header, .glad-ext-modal-content > .modal-footer { background-color: transparent; background-image: none; color: var(--mdb-body-color, #4f4f4f); }
.glad-ext-modal-content > .modal-header { align-items: center; display: flex; }
.glad-ext-window-tools { align-items: center; display: flex; flex: 0 0 auto; gap: 2px; margin-left: auto; }
.glad-ext-window-tool { align-items: center; background: transparent; border: 0; color: currentColor; display: inline-flex; height: 24px; justify-content: center; margin: 0; opacity: .8; padding: 0; position: relative; width: 24px; }
.glad-ext-window-tool:hover, .glad-ext-window-tool:focus { opacity: 1; }
.glad-ext-window-tool.x-tool-close::before { content: "\00d7"; font: 700 25px/20px Arial, sans-serif; }
.glad-ext-window-tool.x-tool-maximize::before { border: 2px solid currentColor; box-sizing: border-box; content: ""; height: 11px; width: 11px; }
.glad-ext-window-tool.x-tool-restore::before, .glad-ext-window-tool.x-tool-restore::after { border: 1px solid currentColor; box-sizing: border-box; content: ""; height: 10px; position: absolute; width: 10px; }
.glad-ext-window-tool.x-tool-restore::before { left: 6px; top: 8px; }
.glad-ext-window-tool.x-tool-restore::after { left: 9px; top: 5px; }
.glad-ext-window-maximized .modal-dialog { height: 100vh; margin: 0; max-width: none !important; width: 100vw !important; }
.glad-ext-window-maximized .glad-ext-modal-content { height: 100vh !important; }
.x-window .x-window-body { box-sizing: border-box; flex: 1 1 auto; min-height: 48px; overflow: auto; }
.x-window .glad-ext-window-fit { display: flex; flex-direction: column; min-height: 0; }
.x-window .glad-ext-window-fit > .x-layout-fit-item { box-sizing: border-box; flex: 1 1 auto; height: 100% !important; min-height: 0; min-width: 0; position: static !important; width: 100% !important; }
.x-window .glad-ext-window-fit > iframe.x-layout-fit-item { border: 0; display: block; }
.x-window .x-toolbar-footer { bottom: auto !important; left: auto !important; position: static !important; right: auto !important; top: auto !important; }
.x-menu.x-layer { box-sizing: border-box; min-width: 0; padding: 3px; z-index: 20000; }
.x-menu-item { align-items: center; cursor: pointer; display: flex; min-height: 24px; padding: 5px 10px; }
.x-menu-item .x-menu-item-text.glad-ext-menu-html-icon { padding-left: 25px; }
.x-menu-item .x-btn-icon-el { background-position: center; background-repeat: no-repeat; display: inline-block; height: 16px; margin-right: 8px; position: static; vertical-align: middle; width: 16px; }
.x-menu-item .glad-ext-menu-icon-placeholder { background-image: none; flex: 0 0 16px; }
.x-menu-item.x-item-disabled { cursor: default; opacity: 0.5; }
.x-menu-item-checked::before { content: "\2713"; display: inline-block; margin-right: 6px; }
.x-menu-item-separator { border-top: 1px solid #d5d5d5; margin: 3px 0; }
.x-menu-item-arrow { background-image: none !important; border-bottom: 5px solid transparent; border-left: 5px solid #777; border-top: 5px solid transparent; flex: 0 0 auto; height: 0; margin-left: auto; padding: 0; position: static; width: 0; }
.x-message-box .x-form-field { box-sizing: border-box; display: block; margin-top: 10px; width: 100%; }
.x-message-box .glad-message-content { align-items: center; display: flex; gap: 12px; height: 100%; }
.x-message-box .x-message-box-icon { background-position: center; background-repeat: no-repeat; flex: 0 0 32px; height: 32px; width: 32px; }
.x-message-box .glad-message-content .x-message-box-text { flex: 1 1 auto; min-width: 0; }
.x-message-box .glad-message-prompt { display: flex; flex-direction: column; height: 100%; justify-content: space-evenly; }
.x-message-box .glad-message-prompt .x-form-field { margin-top: 0; }
.x-btn.x-btn-default-small { box-sizing: border-box; height: 32px; }
.x-btn { align-items: center; display: inline-flex; justify-content: center; overflow: hidden; text-transform: none; }
.x-btn .x-btn-wrap, .x-btn .x-btn-button { align-items: center; display: inline-flex; min-width: 0; }
.x-btn .x-btn-button { flex: 1 1 auto; }
.x-btn.x-btn-icon-text-left .x-btn-button { gap: 6px; }
.x-btn.x-btn-icon-text-left .x-btn-icon-el { order: -1; }
.x-btn.btn-light { color: #4f4f4f; }
.x-btn.btn-light > .x-btn-inner { color: inherit !important; }
.x-message-box button.x-btn.btn-light.glad-ext-neutral-action { background-color: #f1f3f5 !important; border: 1px solid #adb5bd !important; color: #3f3f3f !important; opacity: 1; }
.x-message-box button.x-btn.glad-ext-neutral-action .x-btn-inner { color: inherit !important; font-weight: 600; }
.x-message-box button.x-btn.glad-ext-theme-action { color: #fff !important; }
.x-message-box button.x-btn.glad-ext-theme-action .x-btn-inner { color: #fff !important; font-weight: 600; }
.x-btn .x-btn-icon-el { background-position: center; background-repeat: no-repeat; display: inline-block; flex: 0 0 16px; height: 16px; position: static; width: 16px; }
.x-btn.x-btn-icon-text-left { gap: 6px; }
.x-btn.x-btn-default-large .x-btn-icon-el, .x-btn.x-btn-default-toolbar-large .x-btn-icon-el { flex-basis: 32px; height: 32px; width: 32px; }
.x-btn .x-btn-inner:empty { display: none; }
.x-btn-arrow-el { border-left: 0; margin-left: 8px; position: relative; }
.x-btn-arrow-el::after { border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid #aeb4ba; content: ''; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -35%); }
.x-toolbar:not(.modal-footer) { box-sizing: border-box; overflow: hidden; }
.x-toolbar:not(.modal-footer) > .x-box-inner { align-items: center; display: flex; gap: 2px; min-width: 0; }
.x-toolbar:not(.modal-footer) > .x-box-inner > .x-btn { flex: 0 0 auto; }
.x-toolbar:not(.modal-footer) .x-btn { font-weight: 400; min-width: 0; padding: 5px 4px; }
.x-toolbar-fill { flex: 1 1 auto; }
.x-toolbar-separator { border-left: 1px solid #b8b8b8; height: 20px; margin: 0 3px; }
.x-toolbar-spacer { flex: 0 0 8px; }
.x-status-text { margin-right: 8px; }
.x-form-item { box-sizing: border-box; }
.x-form-item .x-form-field { box-sizing: border-box; height: 100%; width: 100%; }
.x-form-item-label.x-component { display: inline-block; line-height: 18px; }
.x-form-type-date { align-items: center; display: flex; min-height: 32px; }
.x-form-type-date > .x-form-item-label { flex: 0 0 auto; margin: 0; padding-right: 8px; }
.x-form-type-date > .x-form-trigger-wrap { display: flex; flex: 1 1 auto; height: 32px; min-width: 0; }
.x-form-type-date .x-form-text { border: 0; flex: 1 1 auto; height: 30px; min-width: 0; padding: 4px 7px; }
.x-form-date-trigger { background-position: center; background-repeat: no-repeat; border: 0; border-left: 1px solid #cecece; flex: 0 0 30px; height: 30px; padding: 0; width: 30px; }
.glad-datefield-picker { position: fixed !important; z-index: 21000; }
.x-datepicker { background: #fff; display: flex; flex-direction: column; overflow: hidden; position: relative; }
.x-datepicker.x-layer { position: relative !important; }
.x-datepicker-header { align-items: center; background: #f5f5f5; display: flex; flex: 0 0 45px; font-weight: 600; justify-content: space-between; padding: 0; text-align: center; }
.x-datepicker-header .x-datepicker-arrow { position: static !important; }
.x-datepicker-arrow { align-self: stretch; background: transparent; border: 0; color: #aaa; flex: 0 0 44px; font-size: 38px; font-weight: 200; line-height: 40px; padding: 0; }
.x-datepicker-month { background: transparent; border: 0; color: #78899b; font-size: 16px; font-weight: 700; }
.x-datepicker-month-arrow { border: 1px solid #1685cf; border-radius: 50%; color: #1685cf; display: inline-block; font-size: 16px; height: 24px; line-height: 17px; margin-left: 7px; vertical-align: middle; width: 24px; }
.x-datepicker-weekdays { display: grid; flex: 0 0 31px; grid-template-columns: repeat(7, 1fr); }
.x-datepicker-column-header { align-items: center; display: flex; font-size: 16px; font-weight: 700; justify-content: center; }
.x-datepicker-inner { display: grid; flex: 1 1 auto; grid-template-columns: repeat(7, minmax(28px, 1fr)); grid-template-rows: repeat(6, 1fr); padding: 0; }
.x-datepicker-cell { background: transparent; border: 1px solid transparent; color: #000; min-width: 28px; padding: 0; text-decoration: none; }
.x-datepicker-other-month { color: #c6cbd0; }
.x-datepicker-selected { background: #e7e9eb; border-color: #c00; color: #000; }
.x-datepicker-footer { align-items: center; background: #f5f5f5; display: flex; flex: 0 0 44px; justify-content: center; }
.x-datepicker-today { background: #78899b; border: 1px solid #60778d; color: #fff; font-size: 16px; font-weight: 700; padding: 4px 10px; }
.x-monthpicker { background: #fff; bottom: 0; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); height: auto !important; left: 0; position: absolute; right: 0; top: 45px; width: 100% !important; z-index: 2; }
.x-monthpicker[hidden] { display: none; }
.x-monthpicker-months, .x-monthpicker-year-grid { display: grid; gap: 2px; grid-template-columns: 1fr 1fr; padding: 10px; }
.x-monthpicker-months, .x-monthpicker-years { box-sizing: border-box; float: none !important; height: auto !important; margin: 0; min-width: 0; width: auto !important; }
.x-monthpicker-years { border-left: 1px solid #ddd; display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; }
.x-monthpicker-year-grid { padding-left: 0; padding-right: 0; }
.x-monthpicker-item, .x-monthpicker-yearnav { background: transparent; border: 1px solid transparent; color: #1685cf; float: none !important; margin: 0 !important; min-height: 30px; padding: 2px 4px; width: auto !important; }
.x-monthpicker-item:hover, .x-monthpicker-item:focus { background: #eef5fb; }
.x-monthpicker-item.x-monthpicker-selected { background: #dfe8f6; border-color: #8aa6bf; color: #334b60; }
.x-monthpicker-yearnav { color: #aaa; font-size: 30px; padding: 0; }
.x-monthpicker-buttons { align-items: center; background: #f5f5f5; bottom: auto !important; display: flex; gap: 8px; grid-column: 1 / -1; justify-content: center; padding: 7px; position: static !important; width: auto !important; }
.x-monthpicker-buttons .x-btn { background: #78899b; border: 1px solid #60778d; color: #fff; font-weight: 700; padding: 4px 10px; }
.x-boundlist { background: #fff; overflow-y: auto; }
.x-boundlist-item { border-width: 0 0 1px; min-height: 32px; padding: 6px 10px; text-align: left; }
.x-boundlist-selected { background: #e3ebf7; }
.x-progress { box-sizing: border-box; overflow: hidden; position: relative; }
.x-progress-bar { height: 100%; left: 0; position: absolute; top: 0; }
.x-progress-text { line-height: 18px; overflow: hidden; position: absolute; text-align: center; width: 100%; }
.glad-load-mask { align-items: center; display: flex; inset: 0; justify-content: center; position: absolute; z-index: 19000; }
.glad-load-mask { background: rgba(255,255,255,.72); }
.glad-load-mask .x-mask-msg { background: #fff; border: 1px solid #c7cdd4; box-shadow: 0 2px 8px rgba(0,0,0,.16); padding: 10px 14px; }
.x-spotlight { background: rgba(0,0,0,.58); display: none; position: fixed; z-index: 18990; }
.x-container, .x-panel { box-sizing: border-box; }
.x-panel { border: 1px solid #c7cdd4; display: flex; flex-direction: column; overflow: hidden; }
.x-panel-borderless { border: 0; }
.x-panel-header { align-items: center; box-sizing: border-box; display: flex; justify-content: space-between; }
.x-panel-body { box-sizing: border-box; flex: 1 1 auto; min-height: 0; overflow: auto; }
.x-panel-auto-height > .x-panel-body { flex: 0 0 auto; min-height: auto; }
.x-tool-collapse { background: transparent; border: 0; cursor: pointer; }
.x-layout-fit > .x-panel-body, .x-container.x-layout-fit { display: flex; }
.x-layout-fit-item { flex: 1 1 auto; height: 100%; width: 100%; }
.x-layout-border > .x-panel-body, .x-container.x-layout-border { display: grid; grid-template-columns: auto minmax(0,1fr) auto; grid-template-rows: auto minmax(0,1fr) auto; }
.x-layout-border .x-region-north { grid-column: 1 / 4; grid-row: 1; }
.x-layout-border .x-region-west { grid-column: 1; grid-row: 2; }
.x-layout-border .x-region-center { grid-column: 2; grid-row: 2; }
.x-layout-border .x-region-east { grid-column: 3; grid-row: 2; }
.x-layout-border .x-region-south { grid-column: 1 / 4; grid-row: 3; }
.x-layout-accordion > .x-panel-body { display: flex; flex-direction: column; }
.x-panel.x-layout-accordion { border-width: 0; }
.x-panel.x-layout-accordion > .x-panel-header { border-width: 0; box-sizing: border-box; flex: 0 0 45px; height: 45px; }
.x-panel.x-layout-accordion > .x-panel-body { border-width: 0; flex: 1 1 auto; min-height: 0; overflow: hidden; padding: 6px 6px 1px; }
.x-panel.x-layout-accordion > .x-toolbar-footer { box-sizing: border-box; flex: 0 0 46px; height: 46px; padding: 0; }
.x-panel.x-layout-accordion > .x-toolbar-footer > .x-panel,
.x-panel.x-layout-accordion > .x-toolbar-footer > .x-panel > .x-panel-body { border-width: 0; }
.x-layout-accordion > .x-panel-body > .x-panel { border-width: 0; margin-bottom: 5px; min-height: 0; }
.x-layout-accordion > .x-panel-body > .x-panel.x-panel-collapsed { flex: 0 0 45px; }
.x-layout-accordion > .x-panel-body > .x-panel > .x-panel-header { border-width: 0; box-sizing: border-box; flex: 0 0 45px; height: 45px; padding: 6px 15px; }
.x-layout-accordion > .x-panel-body > .x-panel > .x-accordion-hd { background: #e7e9eb !important; color: #666 !important; }
.x-layout-accordion .x-tool-after-title { background: transparent; border: 0; height: 15px; padding: 0; width: 15px; }
.x-layout-accordion .x-tool-img { display: block; height: 15px; width: 15px; }
.x-layout-accordion > .x-panel-body > .x-panel > .x-panel-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.x-layout-accordion > .x-panel-body > .x-panel:not(.x-panel-collapsed) { flex: 1 1 0; overflow: hidden; }
.x-tabpanel > .x-tab-bar { align-items: flex-end; display: flex; flex: 0 0 auto; gap: 0; margin-left: -1px; margin-top: -1px; overflow: hidden; padding-bottom: 5px; position: relative; }
.x-tabpanel > .x-tab-bar .x-tab { cursor: pointer; height: 31px; min-height: 31px; padding: 8px 12px 7px; position: static !important; }
.x-tabpanel > .x-tab-bar .x-tab-active { font-weight: 600; }
.x-tabpanel > .x-panel-body > .x-tab-card { border: 0; height: 100%; width: 100%; }
.x-tabpanel > .x-panel-body > .x-tab-card > .x-panel-body { flex: 1 1 auto; height: 100%; min-height: 0; }
.x-tabpanel-plain > .x-panel-body { border-width: 0; }
.x-tabpanel-plain > .x-panel-body > .x-tab-card > .x-panel-body { border-width: 0; }
.x-toolbar-footer { padding: 6px 8px; }
.x-grid-panel { overflow: auto; }
.glad-grid-table { border-collapse: collapse; table-layout: fixed; width: 100%; }
.x-grid-panel { contain: inline-size; min-width: 0; width: 100%; }
.glad-grid-table .glad-grid-header.x-column-header { display: table-cell; position: relative !important; }
.glad-grid-docked { flex: 0 0 auto; position: static !important; }
.glad-grid-table .glad-grid-header, .glad-grid-table .glad-grid-cell { border: 1px solid #d6d6d6; box-sizing: border-box; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.glad-grid-table .glad-grid-header { background: #fff; font-weight: 700; height: 30px; padding: 5px 8px; }
.glad-grid-column-resizer { bottom: 0; cursor: col-resize; display: block; position: absolute; right: -4px; top: 0; width: 8px; z-index: 3; }
.glad-grid-column-resizing, .glad-grid-column-resizing * { cursor: col-resize !important; user-select: none !important; }
.glad-grid-table .glad-grid-column-sortable { cursor: pointer; padding-right: 28px; }
.glad-grid-column-sort-trigger { bottom: 0; cursor: pointer; opacity: 0; position: absolute; right: 4px; top: 0; width: 20px; }
.glad-grid-column-sort-trigger::after { content: '\25BE'; display: block; font-size: 11px; line-height: 28px; text-align: center; }
.x-column-header-over > .glad-grid-column-sort-trigger, .glad-grid-column-sort-trigger:focus { opacity: 1; }
.glad-grid-table .x-column-header-sort-ASC > .x-column-header-text::after { content: ' \25B2'; font-size: 9px; }
.glad-grid-table .x-column-header-sort-DESC > .x-column-header-text::after { content: ' \25BC'; font-size: 9px; }
.glad-grid-table .x-column-header-sort-ASC, .glad-grid-table .x-column-header-sort-DESC { background: #f4f5f6; }
.glad-grid-table .glad-grid-cell { color: #000; font-size: 15px; height: 33px; padding: 8px 15px 7px; }
.glad-grid-table .x-grid-row-alt { background: #fafafa; }
.glad-grid-table .glad-grid-row:hover, .glad-grid-table .x-grid-row-over { background: #e8f1f8; }
.glad-grid-table .x-grid-row-selected { background: #dbeafe; }
.glad-grid-table .glad-grid-empty.x-grid-empty { color: #666; padding: 18px 10px; text-align: left !important; }
.x-column-header-checkbox, .x-grid-cell-row-checker { text-align: center !important; width: 32px; }
.glad-grid-table .x-column-header-checkbox, .glad-grid-table .x-grid-cell-row-checker { padding: 4px; }
.glad-grid-table .x-grid-row-checker, .glad-grid-table .x-column-header-checkbox .x-column-header-text { cursor: pointer; display: inline-block; vertical-align: middle; }
.glad-grid-table .x-action-col-cell { padding-left: 0; padding-right: 0; text-align: center; }
.x-action-col-icon { cursor: pointer; height: 16px; margin: 0 5px; object-fit: contain; width: 16px; }
.x-action-col-icon.x-item-disabled { cursor: default; opacity: .45; }
.x-grid-editor { box-sizing: border-box; min-width: 60px; width: 100%; }
.x-tree-view, .x-tree-view ul { list-style: none; margin: 0; padding: 0; }
.x-tree-view ul { border-left: 1px dotted #aaa; margin-left: 18px; }
.x-tree-view > li > ul { margin-left: 10px; }
.x-grid-tree-node { position: relative; }
.x-grid-tree-node > .x-tree-node-text::before { border-top: 1px dotted #aaa; content: ''; display: block; flex: 0 0 8px; margin-left: -8px; width: 8px; }
.x-tree-arrows .x-tree-view ul, .x-tree-arrows .x-tree-view > li > ul { border-left: 0; margin-left: 0; }
.x-tree-arrows .x-grid-tree-node > .x-tree-node-text::before { border-top: 0; content: none; flex-basis: 0; margin-left: 0; width: 0; }
.x-tree-node-text { align-items: center; box-sizing: border-box; display: flex; min-height: 36px; padding: 0; }
.x-tree-node-text > .x-grid-td { align-items: flex-start; align-self: stretch; display: flex; flex: 1 1 auto; min-width: 0; padding: 0 8px; }
.x-tree-expander { background: transparent; border: 0; cursor: pointer; flex: 0 0 24px; height: 36px; margin-right: 2px; padding: 0; width: 24px; }
.x-tree-arrows .x-tree-expander { background-position: 0 center !important; }
.x-tree-arrows .x-tree-expander-expanded { background-position: -20px center !important; }
.x-tree-expander:disabled { background-image: none !important; cursor: default; }
.x-tree-icon { background-position: center; background-repeat: no-repeat; background-size: contain; display: inline-block; flex: 0 0 18px; height: 18px; margin: 7px 5px 0 0; width: 18px; }
.x-dataview { overflow: auto; }
.x-dataview .x-item-selected { outline: 2px solid #1266f1; outline-offset: -2px; }
.x-editor { background: #fff; box-sizing: border-box; position: relative; z-index: 12000; }
.x-editor .x-field { margin: 0; width: 100%; }
.x-tree-node-label { line-height: 18px; margin-top: 7px; min-width: 0; overflow: hidden; padding-left: 4px; text-overflow: ellipsis; white-space: nowrap; }
.x-tree-node-label.glad-ext-tree-html-label { overflow: visible; text-overflow: clip; }
.x-dataview { box-sizing: border-box; overflow: auto; }
.x-chart { background: #fff; box-sizing: border-box; overflow: hidden; }
.x-chart svg { display: block; height: 100%; width: 100%; }
.glad-chart-grid { stroke: #d7dce1; stroke-width: 1; }
.glad-chart-axis { stroke: #555; stroke-width: 1; }
.glad-chart-label { fill: #444; font: 11px Arial, sans-serif; }
.glad-chart-title { fill: #333; font: bold 12px Arial, sans-serif; }
.glad-chart-line { fill: none; stroke: rgb(47, 162, 223); stroke-width: 3; }
.glad-chart-point { fill: rgb(47, 162, 223); stroke: #fff; stroke-width: 1; transition: r .1s ease; }
.glad-chart-point:hover, .glad-chart-point:focus { r: 7px; }
.glad-chart-slice { stroke: #fff; stroke-width: 1; transform-box: fill-box; transform-origin: center; transition: transform .12s ease; }
.glad-chart-slice:hover, .glad-chart-slice:focus { outline: none; transform: scale(1.05); }
.glad-chart-pie-label { fill: #222; font: 10px Arial, sans-serif; }
