.body-content {
    height: 400px;
    flex-grow:1!important;
    overflow-y: scroll;
}

.mw100 {
    min-width: 100px;
}

#listSearchForm {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    margin: 0;
    padding: 8px;
    line-height: 220%;
}

#listSearchForm label {
    font-weight: bolder;
    padding-left: 5px;
    padding-right: 5px;
    margin-bottom: 0;
}

#editForm label {
    width: 150px;
    font-weight: bolder;
}

.label-small {
    width: 100px;
}

.label-big {
    width: 200px;
}

.label-required {
    position: relative;
}

.label-required::after {
    content: "\2731";
    color: red;
    position: absolute;
    right: 5px;   /* 调整与右边的距离 */
    top: 50%;
    transform: translateY(-50%);
}

.no-focus:focus {
    box-shadow: none !important;
    border-color: #ced4da !important;
}

@media (max-width: 767.98px) {
    .hide-mobile { display: none; }
}

.table-fixed-width {
    table-layout: fixed; /* 按固定列宽布局 */
    min-width: 100%;
}

.table-fixed-width td, .table-fixed-width th {
    white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 超出隐藏 */
    text-overflow: ellipsis; /* 超出显示省略号 */
}

.table-fixed-width th {
    text-align: center;
}

.pre {
    white-space: pre-wrap; /* 保留空格换行且可自动换行 */
    font-family: monospace; /* 等宽字体 */
    overflow: visible !important;      /* 不隐藏 */
    text-overflow: clip !important;    /* 不显示省略号 */
}

.td-editable {
    position: relative;
    white-space: normal !important;    /* 自动换行 */
    overflow: visible !important;      /* 不隐藏 */
    text-overflow: clip !important;    /* 不显示省略号 */
}

.td-editable::after {
    content: "✎";                 /* bi-pencil 的字形码，版本变动可能不同 */
    font-size: 14px;
    position: absolute;
    top: 10px;
    right: 6px;
    color: #6c757d;
    opacity: .65;
    pointer-events: none;
}

.td-editable:hover::after {
    color: #0d6efd;
    opacity: 1;
}

.summernote {
}