/*
 * devexpress-blazing-berry.css
 * 
 * 文件概要:
 * 此CSS文件用于自定义DevExpress Blazor组件和Syncfusion组件的样式，以实现与Blazing Berry主题的兼容性和个性化定制。
 * 
 * 主要功能:
 * 1. DevExpress FluentUI Theme (v25.2) 兼容性调整
 *    - 窗口组件 (dxbl-window) 的内边距优化
 *    - 按钮 (dxbl-btn) 字体样式调整
 *    - 折叠面板 (dxbl-accordion) 边框和圆角样式
 *    - 表单布局 (dxbl-fl) 分组和间距设置
 *    - 菜单项 (dxbl-menu) 激活状态背景色
 *    - 标签页 (dxbl-tabs) 内边距调整
 *    - 网格 (dxbl-grid) 表头、表尾和单元格样式
 *    - 模态框 (dxbl-modal) z-index层级设置
 * 
 * 2. Syncfusion组件个性化定制
 *    - 对话框 (e-dialog) 内容区域内边距
 *    - 树状网格 (e-treecolumn) 展开/折叠图标的自定义SVG图标
 *    - 工具栏 (e-toolbar) 背景色和字体样式
 * 
 * 3. Bootstrap组件样式覆盖
 *    - h5标题字体粗细
 *    - .fs-5字体大小
 *    - .btn按钮字体大小
 *    - .rz-button-sm小按钮字体大小
 * 
 * 注意事项:
 * - 部分样式使用了CSS自定义属性(CSS变量)
 * - 包含部分注释掉的备用样式方案
 * - 使用了!important规则以确保样式优先级
 */

/*此css用于新版Devexpress FluentUI theme(25.2) 兼容 Blazing Berry theme*/

:root {
    /*--dxds-sizing-160:0.75rem;*/
}

.dxbl-window {
    --dxbl-window-body-padding-top: 8px;
/*    --dxbl-window-header-padding-top: 24px;*/
    
}
/*.dxbl-modal {
    --dxbl-popup-body-padding-top:8px;
    --dxbl-popup-header-padding-top: 20px;
}*/

h5 {
    font-weight: 500;
}

.fs-5 {
    font-size: 1.1rem !important;
}

.btn {
    --bs-btn-font-size: 0.875rem;
}


.dxbl-btn {
    font-weight: 500;
}

/* QQ浏览器出现丑陋的边框需要关闭 */
.col > .dxbl-btn,
.dxbl-group-header > .dxbl-btn,
dxbl-group-control > .dxbl-btn,
dxbl-toolbar-menu-item > .dxbl-btn,
dxbl-toolbar-item > .dxbl-btn,
dxbl-menu-item > .dxbl-btn {
    border: 0 !important;
}

dxbl-menu-item > .dxbl-btn {
    border: 0 !important;
}


.dxbl-accordion .dxbl-accordion-group {
    border: darkgray 1px solid;
}

    .dxbl-accordion .dxbl-accordion-group .dxbl-accordion-group-header {
        border-bottom: darkgray 1px solid;
        border-radius: 5px 5px 0 0;
        padding:2px
    }

.dxbl-fl .dxbl-fl-group > .dxbl-group {
    border: darkgray 1px solid;
}

.dxbl-group > .dxbl-group-body {
    padding: 12px;
    background-color:white;
}

.dxbl-fl .dxbl-fl-group > .dxbl-group > .dxbl-group-body > .dxbl-group-body-content{
    padding-bottom:0px;
    padding-top:0px;
}

.dxbl-fl .dxbl-fl-group > .dxbl-group > .dxbl-group-header.dxbl-fl-group-header-tmpl {
    background-color: var(--rz-base-100);
    padding: 2px 12px;
    border-bottom: darkgray 1px solid;
    border-radius: 5px 5px 0 0;
    font-weight: 500;
}

.dxbl-fl .dxbl-fl-gd {
    margin-top: 4px;
    margin-bottom: 4px;
}

.dxbl-fl .dxbl-fl-item{
    margin-top:0.5rem;
}

.dxbl-menu .dxbl-menu-item-list > .dxbl-menu-list-item > .dxbl-menu-item > .dxbl-btn:not(.dxbl-disabled):not(:disabled).dxbl-active, .dxbl-menu .dxbl-menu-item-list > .dxbl-menu-list-item > .dxbl-menu-item > .dxbl-btn:not(.dxbl-disabled):not(:disabled).dxbl-selected:not(.dxbl-menu-item-mute-selection), .dxbl-menu-dropdown .dxbl-menu-item-list > .dxbl-menu-list-item > .dxbl-menu-item > .dxbl-btn:not(.dxbl-disabled):not(:disabled).dxbl-active, .dxbl-menu-dropdown .dxbl-menu-item-list > .dxbl-menu-list-item > .dxbl-menu-item > .dxbl-btn:not(.dxbl-disabled):not(:disabled).dxbl-selected:not(.dxbl-menu-item-mute-selection){
    background-color:rgb(255, 106, 0,0.5);
}

.dxbl-tabs > .dxbl-tabs-tablist > .dxbl-scroll-viewer > .dxbl-scroll-viewer-content > ul, .dxbl-tabs > .dxbl-tabs-tablist > ul {
    padding: 0 0;
}

.dxbl-grid-group-footer-row {
    height:28px;
    font-weight: normal !important;
}
.dxbl-grid-footer-row {
    background-color: #f5f5f5
}

.dxbl-grid .dxbl-grid-table > tbody > tr > td {
    border-left-width: 0px;
    border-right-width: 0px;
}

/*.dxbl-grid .dxbl-grid-table > thead > tr > th {
    padding-bottom: 2px !important;
    padding-top: 2px !important;
}*/

.dxbl-grid-header-content {
    font-weight: normal;
}

.dxbl-grid-selection-cell .dxbl-grid-header-content > .dxbl-grid-select-all-split-btn-container .dxbl-btn-split > .dxbl-btn:not(.dxbl-btn-split-dropdown) {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.dxbl-grid-selection-cell .dxbl-grid-header-content > .dxbl-grid-select-all-split-btn-container .dxbl-btn-split > .dxbl-btn.dxbl-btn-split-dropdown {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.dxbl-modal > .dxbl-modal-root {
    z-index: 1100010 !important;
}

.dxbl-fl-caption-tmpl {
    height: 100%
}

.dxbl-fl .dxbl-row {
    /*    margin-top: calc(-1 * var(--dxbl-row-item-spacing-y));
    margin-bottom: calc(-1 * var(--dxbl-row-item-spacing-y));*/
    margin-top: 0px;
    margin-bottom: 0px;
}

.dxbl-tabs-item {
    padding-bottom: 10px !important;
    padding-top: 10px !important;
}

/*.dxbl-modal .dxbl-modal-root .dxbl-popup.dxbl-popup-adaptivity .dxbl-modal-content .dxbl-modal-body {
    padding: 0px !important;
}*/

/*此css用于个性化 syncfusion 组件 */

.rz-button-sm{
    font-size:13px;
}

.e-dialog .e-dlg-content
{
    /*padding-top:16px !important;*/
    padding-bottom:16px !important;
}

.e-treecolumn-container > .e-icons.e-treegridcollapse {
    /* background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><!-- Icon from Bootstrap Icons by The Bootstrap Authors - https://github.com/twbs/icons/blob/main/LICENSE.md --><path fill="currentColor" d="M6 12.796V3.204L11.481 8zm.659.753l5.48-4.796a1 1 0 0 0 0-1.506L6.66 2.451C6.011 1.885 5 2.345 5 3.204v9.592a1 1 0 0 0 1.659.753"/></svg>'); */
    /* background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 20 20"><!-- Icon from uiw icons by liwen0526 - https://github.com/uiwjs/icons/blob/master/LICENSE --><path fill="currentColor" fill-rule="evenodd" d="m7.053 2.158l7.243 7.256a.66.66 0 0 1 .204.483a.7.7 0 0 1-.204.497q-3.93 3.834-7.575 7.401c-.125.117-.625.408-1.011-.024c-.386-.433-.152-.81 0-.966l7.068-6.908l-6.747-6.759q-.369-.509.06-.939q.43-.43.962-.04"/></svg>');   */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><!-- Icon from Bootstrap Icons by The Bootstrap Authors - https://github.com/twbs/icons/blob/main/LICENSE.md --><path fill="currentColor" d="m12.14 8.753l-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    content: '';
    -webkit-mask-image: none;
    width: 16px;
    height: 16px;
}

    .e-treecolumn-container > .e-icons.e-treegridcollapse::before {
        content: '';
    }

.e-treecolumn-container > .e-icons.e-treegridexpand {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><!-- Icon from Bootstrap Icons by The Bootstrap Authors - https://github.com/twbs/icons/blob/main/LICENSE.md --><path fill="currentColor" d="m12.14 8.753l-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    content: '';
    -webkit-mask-image: none;
    width: 16px;
    height: 16px;
}

    .e-treecolumn-container > .e-icons.e-treegridexpand::before {
        content: '';
    }

.e-toolbar-item-template {
    font-size: 14px ;
    font-weight: 500;
    cursor: pointer;
}

.e-toolbar.e-control[class*=e-toolbar]{
    height:40px !important;
}

/*.e-toolbar.e-control[class*=e-toolbar] {
    background: #f9fafb !important;
}*/

/*.e-toolbar .e-toolbar-items,
.e-toolbar .e-hor-nav,
.e-toolbar .e-toolbar-item.e-overlay,
.e-toolbar .e-toolbar-item .e-tbar-btn {
    background: transparent;
}*/

/*.e-toolbar .e-toolbar-item .e-tbar-btn {
    background-color: unset !important;
}*/

.e-grid td.e-updatedtd {
    background-color: var(--rz-warning-light) !important;
}

/*Syncfusion Blazor DataGrid Build-in 菜单图标：取消按钮
    https://blazor.syncfusion.com/documentation/appearance/icons#bootstrap-5
*/
.e-grid .e-cancel::before, .e-grid-menu .e-cancel::before {
    content: "\e713"
}

.dxbl-modal-content .dxbl-modal-body {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}


.e-breadcrumb-item:first-child > .e-breadcrumb-text {
    text-decoration: underline !important;
    text-underline-offset: 0.25rem !important;
}

.e-breadcrumb-item.e-disabled > .e-breadcrumb-text {
    background-color: transparent !important;
}

.full-flex-popup .dxbl-popup-content,
.full-flex-popup .dxbl-modal-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

/*此css用于 MegaTabStrip 组件（替代 SfTab 的房源/合同/认购书选择条） */

.mega-tab-strip {
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}

.mega-tab-strip .mts-items {
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    /*滚动条隐藏，改由左右箭头驱动*/
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.mega-tab-strip .mts-items::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

/*左右滚动箭头*/
.mega-tab-strip .mts-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    align-self: stretch;
    padding: 0;
    border: none;
    background-color: transparent;
    color: var(--bs-secondary-color, #6c757d);
    cursor: pointer;
    line-height: 1;
}

.mega-tab-strip .mts-nav:hover {
    background-color: var(--bs-tertiary-bg, #f1f3f5);
    color: var(--bs-body-color, #212529);
}

.mega-tab-strip .mts-nav-disabled {
    opacity: .35;
    pointer-events: none;
}

/*不溢出时隐藏箭头，避免占位*/
.mega-tab-strip.mts-no-overflow .mts-nav {
    display: none;
}

.mega-tab-strip .mts-item {
    flex-shrink: 0;
    padding: 8px 12px;
    cursor: pointer;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    color: var(--bs-body-color, #212529);
}

.mega-tab-strip .mts-item:hover {
    background-color: var(--bs-tertiary-bg, #f8f9fa);
}

.mega-tab-strip .mts-item-active {
    border-bottom-color: #0f6cbd;
    color: #0f6cbd;
    font-weight: 600;
}

/*"全部"按钮：透明背景，融入 Tab 条*/
.mega-tab-strip .mts-more .e-btn.mts-mega-btn,
.mega-tab-strip .mts-more .e-dropdown-btn.mts-mega-btn {
    background-color: transparent;
    background-image: none;
    border-color: transparent;
    box-shadow: none;
    color: var(--bs-body-color, #212529);
}

.mega-tab-strip .mts-more .e-btn.mts-mega-btn:hover,
.mega-tab-strip .mts-more .e-dropdown-btn.mts-mega-btn:hover,
.mega-tab-strip .mts-more .e-btn.mts-mega-btn:focus,
.mega-tab-strip .mts-more .e-dropdown-btn.mts-mega-btn:focus,
.mega-tab-strip .mts-more .e-btn.mts-mega-btn:active,
.mega-tab-strip .mts-more .e-dropdown-btn.mts-mega-btn:active,
.mega-tab-strip .mts-more .e-dropdown-btn.mts-mega-btn.e-active {
    background-color: transparent;
    background-image: none;
    border-color: transparent;
    box-shadow: none;
    color: var(--bs-primary, #0d6efd);
}

/*Mega Menu 面板：限制在视口内，滚动交给内部容器。边框风格参考 MainLayout 的业务模块 Mega Menu*/
.e-dropdown-popup.mts-mega-btn-popup,
.e-dropdown-popup:has(.mts-mega-panel) {
    max-width: min(92vw, 1100px);
    max-height: min(70vh, 620px);
    overflow: visible;
    padding: 16px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0, 0, 0, 0.10) !important;
    background-color: #fff !important;
    box-sizing: border-box;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
}

/*下拉面板内部不需要 Syncfusion 的 ul 列表样式*/
.e-dropdown-popup:has(.mts-mega-panel) > ul {
    padding: 0;
    margin: 0;
}

.e-dropdown-popup:has(.mts-mega-panel) > ul > li.e-item {
    height: auto;
    line-height: normal;
    padding: 0;
    background: none;
    cursor: default;
}

/*内容容器：与 MainLayout 的 .biz-mega-tab-container 同风格，自带边框并负责滚动*/
.mts-mega-panel {
    border: 1px solid var(--bs-border-color);
    border-radius: 8px;
    background-color: #fff;
    overflow: auto;
    overscroll-behavior: contain;
    max-height: min(56vh, 520px);
    padding: 8px;
}

/*搜索框吸顶*/
.mts-mega-panel .mts-search {
    position: sticky;
    top: -8px;
    z-index: 1;
    margin: -8px -8px 0;
    padding: 8px 8px 8px;
    background-color: #fff;
    border-bottom: 1px solid var(--bs-border-color);
}

/*多列平铺*/
.mts-mega-panel .mts-mega-grid {
    display: grid;
    grid-template-columns: repeat(var(--mts-cols, 4), minmax(0, 1fr));
    gap: 2px 8px;
}

.mts-mega-panel .mts-mega-item {
    padding: 4px 8px;
    cursor: pointer;
    white-space: nowrap;
    border-radius: 4px;
}

.mts-mega-panel .mts-mega-item:hover {
    background-color: var(--bs-tertiary-bg, #f1f3f5);
}

.mts-mega-panel .mts-mega-item-active {
    color: #0f6cbd;
    font-weight: 600;
}

.mts-mega-panel .mts-empty {
    padding: 12px 8px;
}

.mts-mega-panel.mts-cols-2 .mts-mega-grid { --mts-cols: 2; }
.mts-mega-panel.mts-cols-3 .mts-mega-grid { --mts-cols: 3; }
.mts-mega-panel.mts-cols-4 .mts-mega-grid { --mts-cols: 4; }
.mts-mega-panel.mts-cols-5 .mts-mega-grid { --mts-cols: 5; }
.mts-mega-panel.mts-cols-6 .mts-mega-grid { --mts-cols: 6; }

