body{
  font-family: "Noto Sans CJK SC",'WenQuanYi',  'Source Sans 3',  Arial, sans-serif , 'Helvetica Neue' ;
}
.app-content{
  padding-top: 1rem;
  padding-bottom: .5rem;
  padding-right: 1rem;
  padding-left: 1rem;
}
.app-header,.app-sidebar{
  z-index: 1!important;
}
.control-label-1{
    font-weight: normal !important;
}
.form-inline{
  padding-bottom: .5rem;
}
.margin{margin: 0.2rem;}
.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .badge {
    transition: none;
  }
}

a.badge:hover, a.badge:focus {
  text-decoration: none;
}

.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}

.badge-primary {
  color: #fff;
  background-color: #007bff;
}

a.badge-primary:hover, a.badge-primary:focus {
  color: #fff;
  background-color: #0062cc;
}

a.badge-primary:focus, a.badge-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.badge-secondary {
  color: #fff;
  background-color: #6c757d;
}

a.badge-secondary:hover, a.badge-secondary:focus {
  color: #fff;
  background-color: #545b62;
}

a.badge-secondary:focus, a.badge-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.badge-success {
  color: #fff;
  background-color: #28a745;
}

a.badge-success:hover, a.badge-success:focus {
  color: #fff;
  background-color: #1e7e34;
}

a.badge-success:focus, a.badge-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.badge-info {
  color: #fff;
  background-color: #17a2b8;
}

a.badge-info:hover, a.badge-info:focus {
  color: #fff;
  background-color: #117a8b;
}

a.badge-info:focus, a.badge-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.badge-warning {
  color: #1f2d3d;
  background-color: #ffc107;
}

a.badge-warning:hover, a.badge-warning:focus {
  color: #1f2d3d;
  background-color: #d39e00;
}

a.badge-warning:focus, a.badge-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.badge-danger {
  color: #fff;
  background-color: #dc3545;
}

a.badge-danger:hover, a.badge-danger:focus {
  color: #fff;
  background-color: #bd2130;
}

a.badge-danger:focus, a.badge-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.badge-light {
  color: #1f2d3d;
  background-color: #f8f9fa;
}

a.badge-light:hover, a.badge-light:focus {
  color: #1f2d3d;
  background-color: #dae0e5;
}

a.badge-light:focus, a.badge-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.badge-dark {
  color: #fff;
  background-color: #343a40;
}

a.badge-dark:hover, a.badge-dark:focus {
  color: #fff;
  background-color: #1d2124;
}

a.badge-dark:focus, a.badge-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}



.btn-outline-primary {
  color: #007bff;
  border-color: #007bff;
}

.btn-outline-primary:hover {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0 rgba(0, 123, 255, 0.5);
}

.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #007bff;
  background-color: transparent;
}

.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(0, 123, 255, 0.5);
}

.btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:hover {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 0 0 0 rgba(108, 117, 125, 0.5);
}

.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: #6c757d;
  background-color: transparent;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(108, 117, 125, 0.5);
}

.btn-outline-success {
  color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:hover {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.5);
}

.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #28a745;
  background-color: transparent;
}

.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
.show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.5);
}

.btn-outline-info {
  color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:hover {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:focus, .btn-outline-info.focus {
  box-shadow: 0 0 0 0 rgba(23, 162, 184, 0.5);
}

.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: #17a2b8;
  background-color: transparent;
}

.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
.show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(23, 162, 184, 0.5);
}

.btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:hover {
  color: #1f2d3d;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:focus, .btn-outline-warning.focus {
  box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.5);
}

.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: #ffc107;
  background-color: transparent;
}

.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
.show > .btn-outline-warning.dropdown-toggle {
  color: #1f2d3d;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.5);
}

.btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:hover {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:focus, .btn-outline-danger.focus {
  box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.5);
}

.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: #dc3545;
  background-color: transparent;
}

.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
.show > .btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.5);
}

.btn-outline-light {
  color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:hover {
  color: #1f2d3d;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:focus, .btn-outline-light.focus {
  box-shadow: 0 0 0 0 rgba(248, 249, 250, 0.5);
}

.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: #f8f9fa;
  background-color: transparent;
}

.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
.show > .btn-outline-light.dropdown-toggle {
  color: #1f2d3d;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(248, 249, 250, 0.5);
}

.btn-outline-dark {
  color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:hover {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:focus, .btn-outline-dark.focus {
  box-shadow: 0 0 0 0 rgba(52, 58, 64, 0.5);
}

.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: #343a40;
  background-color: transparent;
}

.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
.show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0 rgba(52, 58, 64, 0.5);
}

/* ========== Bootstrap 3 → 4.5 兼容层 ========== */

/* AdminLTE 2 → 3: .box → .card 样式回退 */
.box {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 0 solid rgba(0,0,0,.125);
  border-radius: .25rem;
  box-shadow: 0 0 1px rgba(0,0,0,.125), 0 1px 3px rgba(0,0,0,.2);
  margin-bottom: 1rem;
}
.box-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding: .75rem 1.25rem;
  margin-bottom: 0;
  color: inherit;
  background-color: transparent;
  border-bottom: 1px solid rgba(0,0,0,.125);
}
.box-header:first-child {
  border-radius: calc(.25rem - 0) calc(.25rem - 0) 0 0;
}
.box-title {
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  float: left;
}
.box-body {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: 1px;
  padding: 1.25rem;
}
.box-footer {
  padding: .75rem 1.25rem;
  background-color: rgba(0,0,0,.03);
  border-top: 1px solid rgba(0,0,0,.125);
}

/* Bootstrap 3: .label → Bootstrap 4 .badge 样式回退 */
.label {
  display: inline-block;
  padding: .25em .4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25rem;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.label-default {
  color: #fff;
  background-color: #6c757d;
}
.label-primary {
  color: #fff;
  background-color: #007bff;
}
.label-success {
  color: #fff;
  background-color: #28a745;
}
.label-info {
  color: #fff;
  background-color: #17a2b8;
}
.label-warning {
  color: #1f2d3d;
  background-color: #ffc107;
}
.label-danger {
  color: #fff;
  background-color: #dc3545;
}

/* Bootstrap 3: .pull-right / .pull-left 回退 */
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}

/* Bootstrap 3: .hidden-xs 回退 */
.hidden-xs {
  display: none !important;
}

/* Bootstrap 3: .dl-horizontal 回退 */
.dl-horizontal dt {
  float: left;
  width: 160px;
  clear: left;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dl-horizontal dd {
  margin-left: 180px;
}

/* Bootstrap 3: .input-group-btn 回退 */
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}

/* Bootstrap 4 兼容: col-xs-* 等同于 col-* */
.col-xs-12 {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}
.col-xs-6 {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}
.col-xs-4 {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}
.col-xs-3 {
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}
.col-xs-2 {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

/* AdminLTE 2: .sidebar-menu 回退 (部分页面可能动态添加) */
.sidebar-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* AdminLTE 2: login-box/register-box 保持兼容 */
.login-box {
  width: 360px;
  margin: 7% auto;
}
@media (max-width: 576px) {
  .login-box {
    width: 90%;
    margin-top: 20px;
  }
}
.login-box-body {
  background: #fff;
  padding: 20px;
  border-top: 0;
  color: #666;
  border-radius: .25rem;
  box-shadow: 0 0 1px rgba(0,0,0,.125), 0 1px 3px rgba(0,0,0,.2);
}
.login-box-msg {
  margin: 0;
  text-align: center;
  padding: 0 20px 20px;
}

/* Bootstrap 5 兼容：bootstrap-datetimepicker 注入 glyphicon 图标，而 BS5 已移除 glyphicons 字体，
   这里用全局已加载的 Font Awesome 6 替代，确保日历/时钟/翻页/清除等图标正常显示 */
.bootstrap-datetimepicker-widget .glyphicon {
  display: inline-block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}
.bootstrap-datetimepicker-widget .glyphicon-calendar:before { content: "\f073"; }
.bootstrap-datetimepicker-widget .glyphicon-time:before { content: "\f017"; }
.bootstrap-datetimepicker-widget .glyphicon-chevron-up:before { content: "\f077"; }
.bootstrap-datetimepicker-widget .glyphicon-chevron-down:before { content: "\f078"; }
.bootstrap-datetimepicker-widget .glyphicon-chevron-left:before { content: "\f053"; }
.bootstrap-datetimepicker-widget .glyphicon-chevron-right:before { content: "\f054"; }
.bootstrap-datetimepicker-widget .glyphicon-remove:before { content: "\f00d"; }
.bootstrap-datetimepicker-widget .glyphicon-trash:before { content: "\f1f8"; }
.bootstrap-datetimepicker-widget .glyphicon-screenshot:before { content: "\f05b"; }

/* ========== Bootstrap 5.3 按钮修复 ========== */

/* 禁止按钮文字换行 */
.btn {
  white-space: nowrap !important;
  font-size: 0.875rem;
}
.btn-group .btn {
  white-space: nowrap !important;
}

/* btn-info 还原为 Bootstrap 4 的青色 */
.btn-info {
  color: #fff !important;
  background-color: #17a2b8 !important;
  border-color: #17a2b8 !important;
}
.btn-info:hover {
  color: #fff !important;
  background-color: #138496 !important;
  border-color: #117a8b !important;
}

/* btn-success 还原为 Bootstrap 4 的绿色 */
.btn-success {
  color: #fff !important;
  background-color: #28a745 !important;
  border-color: #28a745 !important;
}
.btn-success:hover {
  color: #fff !important;
  background-color: #218838 !important;
  border-color: #1e7e34 !important;
}
.btn-primary,.btn-primary:hover{
  color: #fff !important;
  background-color: #367fa9 !important;
  border-color: #367fa9 !important;
}
.btn-warning ,.btn-warning:hover {
  color: #fff !important;
  background-color: #e0a800 !important;
  border-color: #d39e00 !important;
}

.text-light-blue{
  color: #3c8dbc !important;
}



.text-red{ color: var(--bs-red)!important;}
.text-blue{ color: var(--bs-info)!important;}
.text-green{ color: var(--bs-success)!important;}
.text-yellow{ color: var(--bs-warning)!important;}
.bg-aqua   { background-color: var(--bs-info) !important; color: #fff !important; }
.bg-green  { background-color: var(--bs-success) !important; color: #fff !important; }
.bg-yellow { background-color: var(--bs-warning) !important; color: #fff !important; }
.bg-red    { background-color: var(--bs-danger) !important; color: #fff !important; }
.bg-orange     { background-color: var(--bs-orange) !important; color: #fff !important; }
.bg-aqua .inner, .bg-aqua h3, .bg-aqua p,
.bg-green .inner, .bg-green h3, .bg-green p,
.bg-yellow .inner, .bg-yellow h3, .bg-yellow p,
.bg-red .inner, .bg-red h3, .bg-red p { color: #fff !important; }


.btn-default{
    --bs-btn-color: #888;
    --bs-btn-border-color: #666;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #666;
    --bs-btn-hover-border-color: #666;
    --bs-btn-focus-shadow-rgb: 33, 37, 41;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #666;
    --bs-btn-active-border-color: #666;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #666;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #666;
    --bs-gradient: none;
}



.small-box {
    border: none;
}
.small-box > .icon {
    position: absolute;
    top: 0px;
    right: 15px;
    z-index: 0;
    font-size: 5.6rem;
    color: rgba(255, 255, 255, 0.25);
    transition: transform 0.3s linear;
}
.small-box:hover > .icon { transform: scale(1.1); }


.nav-tabs{
    display: block;
}
.nav-tabs .nav-item{
    display: inline-block;
}
.nav-tabs .nav-item.header{
    position: relative;
    z-index: 0;
    width: auto;
    display: inline-block;
    color: var(--bs-primary-text-emphasis);
    background: none;
    padding-left: 0px;
    margin-right: 1rem;
    font-size: 1.1rem;
    line-height: 2.6rem;
}
.nav-tabs .nav-item.pull-right{
    float:right;
    color: var(--bs-primary-bg);
}
.nav-tabs .nav-item.active a{
    background-color: var(--bs-primary-bg-subtle);
    border-color: var(--bs-body-bg) var(--bs-body-bg) var(--bs-body-bg);
    color: var(--text-color);
    border-bottom: 0.2em solid var(--text-color);
}
.nav-tabs .nav-tools .btn-group{
    margin-left: -1rem;
}
.nav-tabs .nav-item .nav-link{
    color: var(--bs-dark-text-emphasis);
}
.nav-tabs .nav-item .nav-link:hover,.nav-tabs .nav-item.active .nav-link{
    color: var(--bs-nav-link-color);
}