/*.page-header {
    overflow: hidden;
    white-space: nowrap;
}*/

/*.page-content {*/
/*height: 100% !important;*/
/*}*/

/* bootstrap override */
.frame-control {
    /*border-radius: 4px;*/
    border: solid 1px #fafafa;
}

.form-control {
    height: 22px;
    padding-top: 1px !important;
    padding-bottom: 1px !important;
    color: #0D47A1 !important;
    font-weight: 500;
    /*min-width: 100px !important;*/
    --bb-form-control-padding: 0.265rem 0.325rem;
}

:disabled, .form-control:disabled {
    opacity: 0.9;
    cursor: text !important;
    background-color: #F5F5F5;
}

.form-check .form-check-input:disabled ~ .form-check-label, .form-check .form-check-input[disabled] ~ .form-check-label {
    opacity: 0.99;
}

.form-check-label {
    color: #000 !important;
    font-weight: 500;
    margin-left: 2px !important;
    font-weight: 500;
}

.fixed-1 {
    /*width: calc(3.85rem) !important;*/
    word-break: keep-all;
}

.input-group {
    height: 26px;
}

.input-group-prepend {
    height: 26px;
}

.tabs-item-text {
    font-size: 1.15em;
}

.tabs .tabs-body {
    padding: 0px;
}

.input-group-text {
    line-height: 0.88;
}

.table-sm {
    --bb-table-td-padding-x: 0.5rem;
    --bb-table-td-padding-y: 2px;
}

.table-cell .form-check {
    margin-left: 6px;
}

.table-cell.is-ellips.is-resizable {
    left: 6px !important;
    right: 6px !important;
}

/*.table .selected td {
    border-bottom: 1px #3366b9 solid;
    font-weight: 500;
    color: #3366b9;
}*/

.table .selected td {
    background-color: cornsilk;
}

.table .active td {
    background-color: cornsilk;
}

.table-cell:has(.states) {
    margin-left: -3px;
}

.table-cell .purple:before {
    content: '';
    padding: 3px;
    background-color: #CE93D8;
    line-height: 20px;
    margin-right: 2px;
}

/*tr:has(.purple) td {
    border-bottom: 1px #CE93D8 solid;
}*/

.table-cell .blue:before {
    content: '';
    padding: 3px;
    background-color: #90CAF9;
    line-height: 20px;
    margin-right: 2px;
}

.table-cell .cyan:before {
    content: '';
    padding: 3px;
    background-color: #0dcaf0;
    line-height: 20px;
    margin-right: 2px;
}

/*tr:has(.blue) td {
    border-bottom: 1px #90CAF9 solid;
}*/

.table-cell .green:before {
    content: '';
    padding: 3px;
    background-color: #1dc9b7;
    line-height: 20px;
    margin-right: 2px;
}

/*tr:has(.green) td {
    border-bottom: 1px #1dc9b7 solid;
}*/

.table-cell .yellow:before {
    content: '';
    padding: 3px;
    background-color: #FDD835;
    line-height: 20px;
    margin-right: 2px;
}

/*tr:has(.yellow) td {
    border-bottom: 1px #FDD835 solid;
}*/

.table-cell .red:before {
    content: '';
    padding: 3px;
    background-color: #FF8A65;
    line-height: 20px;
    margin-right: 2px;
}

.table-cell .danger:before {
    content: '';
    padding: 3px;
    background-color: #d32f2f;
    line-height: 20px;
    margin-right: 2px;
}
.table-cell .frozen:before {
    content: '';
    padding: 3px;
    background-color: #0077FF;
    line-height: 20px;
    margin-right: 2px;
}

/*tr:has(.red) td {
    border-bottom: 1px #FF8A65 solid;
}*/

/*.table:not(.is-shut) tr:nth-child(2n) td {
    background-color: #FAFAFA;
}*/

/*.table tbody tr.is-shut:nth-child(2n) td:not(.fixed) {
    background-color: #F2D3D9;
}*/
/*.table .is-shut tr:nth-child(odd) td {
    background-color: #e96478;
}*/

/*.table {
    --bs-table-striped-bg: #f5f4f1;
    --bs-table-hover-bg: #f5f8fa;
}*/

.table {
    --bs-table-striped-bg: #f1f4f8;
}

.table .is-shut td {
    background-color: #FFC3C3;
}

.table tr.is-shut {
    --bs-table-striped-bg: auto;
}

.table .is-shut:hover {
    --bs-table-hover-bg: #faa7a7;
}

.table .is-offshore td {
    background-color: #6ae527;
}

.table tr.is-offshore {
    --bs-table-striped-bg: auto;
}


.table .is-newly-added td {
    font-style: italic;
    color: #B71C1C;
    font-weight: 500;
}

.table td {
    border-bottom: 1px solid white;
}

.table:not(.is-shut) tbody tr:hover td {
    border-bottom: 1px dashed red;
    color: #0277BD;
}

.table:not(.is-offshore) tbody tr:hover td {
    border-bottom: 1px dashed red;
    color: #0277BD;
}

.table-wrapper {
    border: none !important;
}

/**********************/

.text-line-through {
    text-decoration: line-through;
}

.static-table {
    border-radius: 6px;
    border-bottom: solid 1px white;
}

.static-table td {
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
    border-bottom: none;
}

.static-table .td-bottom {
    padding-bottom: 0px;
    padding-top: 5px;
}

.static-table .td-top {
    padding-bottom: 5px;
    padding-top: 0px;
}

.static-table .title {
    padding-top: 15px;
}

.static-table .sub-title {
    padding-top: 15px;
    text-align: center;
}

.static-table .field {
    padding-left: 10px;
    text-align: right;
    width: 1%;
    white-space: nowrap;
    border-bottom: 1px solid white;
    font-weight: 100;
    color: #757575;
}

.static-table .field-1 {
    padding-left: 5px;
    text-align: right;
    white-space: nowrap;
    border-bottom: 1px solid white;
    /*font-weight: 100;*/
    /*font-size: smaller;*/
    color: #000000;
    width: 60px !important;
}

.static-table .field-2 {
    padding-left: 5px;
    text-align: right;
    white-space: nowrap;
    border-bottom: 1px solid white;
    font-weight: 100;
    /*font-size: smaller;*/
    color: #757575;
    width: 60px !important;
}

.static-table .control {
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
}

.static-table .control-1 {
    width: 30px;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
}

.static-table .value {
    background-color: #fafafa;
    color: #0D47A1;
    font-weight: 400;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 5px;
    padding-bottom: 5px;
    border-radius: 5px 5px 5px 5px;
}

.static-table .value.last {
    padding-bottom: 8px;
}

.border-frame {
    border: 1px dashed #39a1f4;
    border-radius: 4px;
}

.fix-field-1 {
    width: 80px !important;
}

.fix-field-2 {
    width: 100px !important;
}

.fix-field-4 {
    width: 120px !important;
}

.fix-field-5 {
    width: 140px !important;
}

.bc-primary {
    background-color: #faf8fb;
}

.view-medium {
    max-width: 1336px !important;
}

.view-small {
    max-width: 992px !important;
}

.nav-tabs .nav-link {
    cursor: pointer;
}

.tab-patch {
    margin-bottom: -11px;
}

.hidden {
    display: none !important;
}

/* 16.875rem -> 15.875rem */

.col-form-label {
    color: #000;
    /*font-weight: 200;*/
    padding-top: 5px;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
}

.primary-tag {
    border-left: 3px solid #4679cc;
    background: #e7f4fe;
    font-weight: 500;
}

.no-scroll .dropdown-menu {
    max-height: none !important;
    overflow: visible !important;
    max-width: none !important;
}

.no-scroll {
    max-height: none !important;
    overflow: visible !important;
    max-width: none !important;
}

.no-scroll-1 {
    max-height: none !important;
    overflow: visible !important;
    max-width: none !important;
}

.scroll {
    height: 100%;
    scrollbar-color: rgba(0, 0, 0, .3) rgba(0, 0, 0, 0);
    /*scrollbar-width: thin;*/
    overflow: auto;
    --bb-scroll-width: 16px;
    --bb-scorll-height: 16px;
    --bb-scorll-thumb-radius: 3px;
    --bb-scorll-thumb-bg: rgba(0, 0, 0, .2);
    --bb-scorll-thumb-hover-bg: rgba(0, 0, 0, .3)
}

.page-content {
    margin-top: 30px !important;
    padding: 1px !important;
}

.page-header {
    height: auto !important;
    padding-top: 8px;
    padding-bottom: 0px;
    padding-left: 9px !important;
    padding-right: 9px;
}

.page-content-wrapper {
    overflow: hidden;
}

.tabs-item-text {
    font-size: var(--bb-font-size);
}

.tabs {
    --bb-tabs-item-height: 30px;
}

.table-pager-patch {
    height: calc(100% - 50px) !important;
}

.table-pager-patch-105px {
    height: calc(100% - 105px) !important;
}

.table-pager-patch-1 {
    height: calc(100% - 10px) !important;
}

.table-pager-patch-alter-exp {
    height: calc(100% - 40px) !important;
}

.table-pager-patch-alter-exp1 {
    height: calc(100% - 5px) !important;
}

:root {
    --bb-font-size: .8rem !important;
    --bb-height: 25px !important;
    --bs-font-sans-serif: Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;
}

.modal-backdrop {
    --bs-backdrop-zindex: 0;
    --bs-backdrop-bg: 0;
    /* --bs-backdrop-opacity:.5; */
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--bs-backdrop-zindex);
    width: 100vw;
    height: 100vh;
    background-color: var(--bs-backdrop-bg)
}

.auto-complete .dropdown-menu {
    top: auto !important;
    overflow-x: visible !important;
    width: max-content !important;
}

.ui-draggable-handle {
    cursor: move;
}

.disabled:not(.btn), .disabled:not(.btn) > * {
    filter: grayscale(0%) !important
}

table tr.subtotal td {
    color: red;
}

table tr.total td {
    color: red;
    font-weight: bold;
}

div.table-foot-total table tfoot.table-footer td{
    color: red;
    font-weight: bold;
}


label{
    font-size: 11px !important;
}

/*让radio按钮组在大字体下能够并排显示*/
.compact-radio{
    padding: 0px;
}
.compact-radio .custom-radio.custom-control-inline{
    margin-right: 10px;
}

#js-nav-menu.close-menu li:hover > ul{
    display: none !important;
}

#js-nav-menu.close-menu li:hover > a > .nav-link-text {
    display: none !important;
} 
/*
使用Blazor Bootstrap中的对话框功能
.modal-body {
    padding: 0;
}

div.modal-header .modal-title{
    font-size: 14px;
}

.modal-header{
    background-image: linear-gradient(250deg, rgba(16, 112, 102, 0.7), transparent);
    background-color: #3060af;
    color: white;
    border-bottom-width: 0;
}
.is-draggable .modal-header {
    cursor: move !important;
}

.modal-header-buttons .btn-close {
    color: #212529;
    background-color: #fff;
    border-color: #fff;

    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.modal-header-buttons .btn-close:hover {
    opacity: var(--bs-btn-close-hover-opacity);
    color: #212529;
    background-color: #ececec;
    border-color: #e6e6e6;
}

.h650 .modal-content{
    height: 650px;
}
*/

.form-control.readonly{
    opacity: 0.9;
    background-color: #F5F5F5;
}

@media (min-width: 992px) {
    .nav-function-minify:not(.nav-function-top) .page-sidebar {
        width: 3rem;
    }
    .header-function-fixed:not(.nav-function-top).nav-function-minify .page-sidebar .page-logo {
        width: 3rem;
    }
    .nav-function-minify:not(.nav-function-top).header-function-fixed.nav-function-fixed:not(.nav-function-hidden) .page-content-wrapper {
        padding-left: 3rem;
    }
    .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu > li > a + ul {
        left: 3rem;
    }
    .nav-function-minify:not(.nav-function-top) .page-sidebar .primary-nav .nav-menu > li > a > .nav-link-text {
        left: 3rem;
    }
    
}

/*split 左右分割嵌套在上下分割中，需要用样式来重写*/
.split.is-horizontal .split-bar{
    width: var(--bb-split-bar-width);
    cursor: col-resize;
}
.split.is-horizontal .split-pane {
    height: 100%;
}
.split.is-horizontal .split-bar .split-bar-handler {
    height: 24px;
    width: 6px;
    padding: 2px 0;
    flex-direction: row;
    cursor: col-resize;
}

.split.is-horizontal .split-bar:after {
    content: "";
    cursor: col-resize;
    display: block;
    height: 100%;
    position: absolute;
    width: 16px;
    z-index: 10;
}

.split.is-horizontal .split-bar .split-bar-handler>div {
    border-radius: 3px;
    background: var(--bb-split-bar-handle-color);
    width: 2px;
    height: 100%;
}
.split.is-horizontal .split-bar .split-bar-handler>div:not(:first-child) {
    margin-left: 4px;
    margin-top: 0;
}

.table .scbxj td {
    background-color: #55ccc9;
}
.table .scbxj:hover {
    --bs-table-hover-bg: #55ccc9;
}
.table tr.scbxj {
    --bs-table-striped-bg: auto;
}
.table .scbhj td {
    background-color: #e9e412;
}
/*下拉框高度设置为跟其它输入控件一样的高度*/
.multi-select {
    --bb-multi-select-min-height: 25px;
}
/*下拉选中后不要进行垂直滚动，而用水平滚动*/
.multi-select .multi-select-items {
    flex-wrap: nowrap;
    overflow: hidden;
    line-height: 10px;
}

.tabContainTableHeight {
    height: calc(100% - 76px);
}

.connection-mask {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #000;
    opacity: 0.5;
}

.connection-body {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--bs-body-bg);
    padding: 1rem;
    color: var(--bs-body-color);
}

[data-bs-theme='dark'] .connection-body {
    background-color: #222939;
}

.connection-body-tail {
    border-right: 1px solid var(--bs-border-color);
    width: 1px;
    margin-inline-start: 1rem;
}

.connection-link {
    color: #1371C3;
    text-decoration: underline;
    font-weight: bolder;
    margin-inline-start: 0.5rem;
}

.connection-box {
    border-radius: var(--bs-border-radius);
    border: var(--bs-border-width) solid var(--bs-border-color);
    margin-bottom: 1rem;
    position: relative;
    overflow: hidden;
    min-height: 300px;
}

    .connection-box .connection-mask,
    .connection-box .connection-body {
        position: absolute;
    }

.connection-body img {
    height: 110px;
    margin-inline-start: 1rem;
}

.disappear {
    animation: fadeOutLeft 0.5s forwards;
}

@keyframes fadeOutLeft {
     from {
         opacity: 1;
         transform: translateX(0);
     }
     to {
         opacity: 0;
         transform: translateX(-50px);
     }
 }

.table-floating-div {
    position: absolute;
    display: none;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    z-index: 100;
    width: 250px;
    font-size: 14px;
    line-height: 1.5;
    color: #444;
    opacity: 0;
    transition: opacity 0.3s ease, top 0.3s ease, left 0.3s ease;
}

    .table-floating-div strong {
        color: #007bff;
        font-weight: bold;
    }

    .table-floating-div p {
        margin: 10px 0;
        color: #555;
    }

    .table-floating-div .label {
        color: #777;
        font-weight: 600;
    }

.chart-embed-container {
    font-family: Arial, sans-serif;
    background-color: #f5f5f5;
    padding: 2px;
}

.chart-container-wrapper {
    margin: 0 auto;
    background-color: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    /* 添加Flex布局 */
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.chart-title {
    text-align: center;
    color: #333;
}

.chart-container {
    position: relative;
    height: 70vh;
    flex: 1;
    min-width: 0;
    margin-bottom: 0; /* 移除底部边距，因为现在是水平布局 */
}

.chart-controls {
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #fafafa;
    /* 固定宽度，不伸缩 */
    flex: 0 0 150px;
}

.chart-controls h3 {
    margin-top: 0;
}

.chart-checkbox-item {
    display: block; /* 从inline-block改为block */
    margin-bottom: 10px; /* 只保留底部间距，移除右侧间距 */
}

.chart-checkbox-item input {
    margin-right: 5px;
}

.chart-checkbox-item label {
    cursor: pointer;
}

/* 响应式调整 - 在小屏幕上恢复垂直布局 */
@media (max-width: 768px) {
    .chart-container-wrapper {
        flex-direction: column;
    }

    .chart-controls {
        flex: none;
        width: 100%;
        margin-top: 20px;
    }
}
