/*多行输入框样式调整*/
.ext-italic {
    font-style: italic;
}
/*对话框页面内容超出隐藏*/
.ext-overflow-hidden {
    overflow: hidden !important;
}
/*固定位置*/
.ext-selected {
    background-color: #E5F3FF !important;
}

.ext-sticky-info {
    position: sticky;
    top: 128px;
}

.ext-text-center {
    text-align: center !important;
}

.ext-text-right {
    text-align: right !important;
}

.ext-text-left {
    text-align: left !important;
}

.ext-bold {
    font-weight: 600 !important;
}

    .ext-bold
    .mud-typography-body1 {
        font-weight: 600 !important;
    }

    .ext-bold
    .mud-typography-body2 {
        font-weight: 600 !important;
    }

/*超长省略（1行）*/
.ext-text-cut {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
}

.ext-text-cut2 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.ext-text-cut3 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.ext-text-cut4 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.ext-full-width {
    width: 100%;
}

.ext-half-width {
    width: 50%;
}

.ext-underline {
    text-decoration: underline;
    text-underline-offset: 3px; /* 可以使用像素、百分比等单位 */
}

.ext-user-msg {
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.ext-hide {
    display: none !important;
}

.ext-show {
    display: block !important;
}

.ext-tab {
    .mud-tab-slider.mud-tab-slider-horizontal {
        bottom: unset !important;
        top: 0;
    }
}

.ext-tab-close {
}

    .ext-tab-close svg {
        width: 12px !important;
        height: 12px !important;
    }
/*网格扩展、分页、从服务器取数据*/
.ext-grid-container {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

    .ext-grid-container .sortable-column-header {
        pointer-events: none;
    }

    .ext-grid-container .mud-table-cell.header-filter-active {
        box-shadow: inset 0 -3px 0 var(--mud-palette-primary) !important;
    }
    /* MudDataGrid flex 布局：容器可滚动，分页在底部不动 */
    .ext-grid-container .mud-table {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        overflow: hidden !important;
    }

    .ext-grid-container .mud-table-container {
        flex: 1;
        min-height: 0;
        overflow: auto !important;
        width: 100% !important;
    }
    /* 表格按内容宽度撑开，触发容器的横向滚动条 */
    .ext-grid-container .mud-table-root {
        width: max-content !important;
    }

    .ext-grid-container .mud-table-pagination {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 4px 12px !important;
        gap: 4px;
        flex-wrap: wrap;
    }

        .ext-grid-container .mud-table-pagination .mud-select {
            flex: 0 0 auto !important;
        }

/*普通数据网格，从列表取数据*/
.ext-data-container {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

    /* 禁用标题文字的点击排序 */
    .ext-data-container .sortable-column-header {
        pointer-events: none;
    }

    /* 表头过滤标记：底部蓝色高亮线 */
    .ext-data-container .mud-table-cell.header-filter-active {
        box-shadow: inset 0 -3px 0 var(--mud-palette-primary) !important;
    }

.ext-data-grid {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

    .ext-data-grid .mud-table-container {
        overflow: visible !important; /*用于显示双滚动条*/
        flex: 1;
        min-height: 0;
    }
