/*蓝色*/


/*:root {*/


/*    --primary-border: #025F98;!*3*!*/


/*    --menu-color: #30a5ff;!*3*!*/


/*    --primary-bg-color: #0277bd;!*2*!*/


/*    --menu3-color: #025F98;!*1*!*/


/*    --shadow-color: #4C98EC4a;!*1*!*/


/*}*/


/*橙色*/


/*:root {*/


/*    --primary-border: #ff8c2f;!*3*!*/


/*    --menu-color: #f75600;!*3*!*/


/*    --primary-bg-color: #ff8c2f;!*2*!*/


/*    --menu3-color: #aa4107;!*1*!*/


/*    --shadow-color: #ff8c2f4a;!*1*!*/


/*}*/


/*绿色*/


/*:root {*/


/*    --primary-border: #18cd93;!*3*!*/


/*    --menu-color: #00a76d;!*3*!*/


/*    --primary-bg-color: #18cd93;!*2*!*/


/*    --menu3-color: #104d38;!*1*!*/


/*    --shadow-color: #18cd934a;!*1*!*/


/*}*/


/*紫色*/

:root {
    --main-color: #18191d;
    --font-color: #CCCCCC;
    --white-bg-color: #F0F0F0;
    --primary-border: #8670ff;
    /*3*/
    --menu-color: #025f98;
    --menu-boder: #3288BD;
    --menu-hover: #2484BE;
    --menu-unactive: #0277BD;
    /*3*/
    --primary-bg-color: #8670ff;
    /*2*/
    --menu3-color: #43319f;
    /*1*/
    --shadow-color: rgba(134, 112, 255, 0.29);
    /*1*/
}

body {
    color: var(--font-color);
}

body {
    background-color: var(--main-color);
}

a {
    color: var(--primary-bg-color);
}

.background-primary {
    background-color: var(--primary-bg-color);
}

.border-primary {
    border: 1px solid var(--primary-border);
}

.border-r-primary {
    border-right: 1px solid var(--primary-border);
}

.btn-primary {
    background-color: var(--primary-bg-color);
    border-color: var(--primary-bg-color);
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus,
.btn-primary:active:focus {
    background-color: var(--menu-color);
    border-color: var(--menu-color);
    color: #F0F0F0;
}

/* Bootstrap 的 .btn-default[disabled]:hover 会把背景刷成 #fff（bootstrap.css 约 3197 行），
   特异性比主题的 .btn-default:hover 高，主题加载在后也压不住，
   结果禁用态的次要按钮一 hover 就变白。
   .btn-primary 早就补过同样的洞（见上方），.btn-default 一直漏着。 */
.btn-default.disabled:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:hover,
.btn-default[disabled]:focus {
    background-color: var(--primary-bg-color);
    border-color: var(--primary-bg-color);
    color: #F0F0F0;
}

.btn-primary.disabled:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:hover {
    background-color: var(--menu-color);
    border-color: var(--menu-color);
}

.text-primary, .alert span a, .alert a {
    color: var(--primary-bg-color);
}

.alert a {
    text-decoration: none;
}

.color-white {
    color: #F0F0F0;
}


/*登录之后头部样式开始*/

.navbar-default .navbar-nav>li>a {
    color: #F0F0F0;
    background-color: #282c35;
    /*change*/
}

.user-panel {
    background: url("../images/bg.png");
}

.navbar-default .navbar-nav li a:hover {
    color: #F0F0F0;
}

.topnav .navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:focus,
.navbar-default .navbar-nav>.open>a {
    color: #555;
    background-color: var(--primary-bg-color);
}

.top_nva_cn {
    color: #F0F0F0;
    background-color: #282c35;
    /*change*/
}

.main-header .navbar-nav>.open>a:active {
    color: #F0F0F0;
    background-color: #282c35;
    /*change*/
}

.main-header {
    background-color: #282c35;
    /*change*/
}

.main-header a {
    color: #F0F0F0;
}


/*.main-header .sidebar-toggle:hover {*/


/*color: var(--primary-bg-color);*/


/*}*/

.main-sidebar {
    background-color: #1d2027;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    /*change*/
}

.sidebar-menu li a {
    border-bottom: 1px solid #101115;
    /*change*/
}

.sidebar-menu li a:hover {
    color: #F0F0F0;
    background-color: var(--menu-hover);
    /*change*/
}

.sidebar-left li a {
    color: #F0F0F0;
    background-color: var(--menu-unactive);
    /*change*/
}

.sidebar-left li.active>a {
    color: #F0F0F0;
    background-color: var(--menu-hover);
    /*change*/
}

.sidebar-left li.treeview.active>a {
    color: var(--font-color);
    background-color: var(--menu2-color);
}

.custom-i li a {
    /*margin-top: 1px;*/
    border-bottom: 1px solid var(--menu-boder);
    /*border-bottom: none;*/
    background: var(--menu2-color);
    /*change*/
}

.footer {
    position: absolute;
    margin-bottom: 0px;
    background-color: #1d2027;
    /*change*/
    color: #F0F0F0;
    /*height: 70px;*/
    width: 100%;
    padding-bottom: 15px;
    word-break: break-all;
}

.table-content .table-list table {
    margin: 0px 0px;
    border-radius: 2px;
    background-color: #101115;
    /*change*/
}

.table-content .table-list table tbody {
    background-color: #101115;
    /*change*/
}

.table-content .table-list table tfoot {
    background-color: #101115;
    /*change*/
}

.btn-refine:focus,
.btn-refine {
    color: #f0f0f0;
    /*change*/
    background-color: #3b3c45;
    /*change*/
    /* border-color: var(--primary-border); */
    /*change*/
    outline: none !important;
}

.btn-refine:hover {
    color: #F0F0F0;
    background-color: var(--primary-border);
    /*change*/
    border-color: var(--primary-border);
    /*change*/
}

.navbar-nav-border {
    border-right: 1px solid #101115;
    /*change*/
    padding: 0px 10px;
}

.navbar-customs-menu .nav>li>a:hover,
.navbar-customs-menu .nav>li>a:active,
.nav>li>a:focus {
    color: #444;
    background: #22262E;
}

.table-bordered>thead>tr>th,
.table-bordered>tbody>tr>th,
.table-bordered>tfoot>tr>th,
.table-bordered>thead>tr>td,
.table-bordered>tbody>tr>td,
.table-bordered>tfoot>tr>td {
    border: 1px solid #4d4e52;
    /*change*/
}

.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: #18191d;
    /*change*/
}

.container-fluid {
    padding-left: 0;
    padding-right: 0;
    margin-right: auto;
    margin-left: auto;
    background-color: #101115 !important;
    /*change*/
}

.nav-data>li>a {
    border-right: 2px solid #000000;
    border-left: 2px solid #000000;
}

.safety-content .table>thead>tr>th,
.table>tbody>tr>th,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>tbody>tr>td,
.table>tfoot>tr>td {
    border-top: 1px solid #4d4e52;
    /*change*/
}

.devices_header {
    background-color: #101115;
    /*change*/
    padding: 20px 61px;
}

.main-devices .devices_header {
    border-bottom: 2px solid #4d4e52;
    /*change*/
}

.devices_sort {
    background-color: #101115;
    /*change*/
    padding: 20px 61px;
    color: #F0F0F0;
}

.devices_sort span a {
    color: #cccccc;
    /*change*/
}

.devices_sort span a:hover {
    color: #F0F0F0;
    /*change*/
}

.products-div {
    padding: 15px 10px;
    color: #cccccc;
    /*change*/
    margin: 10px;
    vertical-align: middle;
    text-align: center;
    background-color: #18191d;
    /*change*/
    border-radius: 5px;
    float: left;
    border-color: #4d4e52;
    /*change*/
}

.products-div:hover {
    box-shadow: 0 1px 6px rgba(255, 255, 255, .2);
    /*change*/
    border-color: #4d4e52;
    /*change*/
    transition: all .2s ease-in-out;
    color: #F0F0F0;
    /*change*/
}

.main-devices .device_mg_div button:hover {
    background-color: #101115;
    /*change*/
    color: #F0F0F0;
    /*change*/
    border-color: #4d4e52;
    /*change*/
    -webkit-transition: -webkit-transform 0.6s, opacity 0.6s, background-color 0.6s;
    transition: transform 0.6s, opacity 0.6s, background-color 0.6s;
}

.horizontal-divider {
    border-bottom: 1px solid #4d4e52;
    /*change*/
    margin: 15px 0px;
}

.per_page {
    padding: 6px 12px;
    float: left;
    border: 1px solid #4d4e52;
    /*change*/
}

.per_page_span {
    padding: 6px 12px;
    float: left;
    border: 0px solid #4d4e52 !important;
    /*change*/
    background: #101115 !important;
    color: #F0F0F0 !important;
}

.per_page_span :hover {
    z-index: 2;
    color: #23527c;
    background-color: #eeeeee;
    border-color: #ddd;
}

.personal-profile {
    border-bottom: 1px solid #4d4e52;
    /*change*/
    padding-bottom: 15px;
}

.switch {
    /* 原本还有 background-color、padding: 16px 0 0 0 和 margin-left: 0 !important，
       都是 tab 内容区统一内框(.channel-tab-content)之前这一页自己撑出来的。
       外框现在由 tab 容器统一给，留着只会多一层底色和多余的间距。
       宽度原来是 95%，比别的 tab 窄一截，右边空一条。 */
    width: 100%;
}

.switch .box_div .box_inner {
    height: 100%;
    width: 100%;
    background-color: #18191d;
    /* 和仪表盘的卡片同一套圆角。深色底上光晕看不出来，
       保留一条 1px 描边当分界，比原来的 2px 轻。 */
    border-radius: var(--r-lg, 10px);
    border: 1px solid rgba(77, 78, 82, 0.5);
    padding: 20px;
    color: #CCCCCC;
}

.btn-renew {
    color: #fff !important;
    background-color: var(--primary-border);
    /*change*/
    border-color: var(--primary-border);
    /*change*/
}

.tab-style-setting {
    background-color: #18191d;
    /*change*/
    color: var(--primary-border);
}

.tab-style-setting-checked {
    border: none;
    border-bottom: 3px solid var(--primary-bg-color);
    transition: left 0.3s ease-out;
    color: var(--primary-border) !important;
    /*change*/
}

.table .thead-light th {
    color: #cccccc;
    /*change*/
    background-color: #282c35;
    /*change*/
    border-color: #282c35;
    /*change*/
}

.table-bg-gray {
    background-color: #282c35;
    /*change*/
}

.ubibot-console-table-based tr>td {
    border-top: 1px solid #4d4e52 !important;
    /*change*/
    text-align: left;
    border-right: none;
}

.sti-tbl-container tr>th {
    vertical-align: middle !important;
    text-align: left;
    border: none !important;
    border-bottom: 1px solid #4d4e52 !important;
    /*change*/
}

.sti-tbl-container tr>td {
    border: none !important;
    border-bottom: 1px solid #4d4e52 !important;
    /*change*/
    text-align: left;
    /*padding-left: 15px !important;*/
    color: #F0F0F0;
    /*change*/
}

.sti-tbl-header>table {
    background-color: #18191d;
    /*change*/
    font-weight: 500;
    color: #F0F0F0;
    /*change*/
}

.sti-tbl-container2 .table-in-order tr>td {
    border: none !important;
    border-top: 1px solid #4d4e52 !important;
}

table.ubibot-console-table {
    border: 1px solid #4d4e52;
    /*change*/
    margin: 0;
    color: #F0F0F0;
    /*change*/
}

.ubibot-console-table thead {
    background-color: #18191d;
    /*change*/
}

.ubibot-console-table tr>th {
    border-right: 1px solid #4d4e52;
    /*change*/
    border-bottom: 1px solid #4d4e52 !important;
    /*必须,否则会被AdminLTE覆盖*/
    /*change*/
}

.ubibot-console-table tr>td {
    border-top: 1px solid #4d4e52;
    /*change*/
    border-right: 1px solid #4d4e52;
    /*change*/
}

.ubibot-inner-box {
    padding: 15px;
    /*margin: 10px;*/
    /*border: 1px solid #ddd;*/
    /*border-radius: 4px;*/
    -webkit-box-shadow: var(--sh-1, 0 1px 3px rgba(16, 24, 40, 0.08));
    box-shadow: var(--sh-1, 0 1px 3px rgba(16, 24, 40, 0.08));
    background-color: #101115;
    /*change*/
    color: #F0F0F0;
    /*change*/
}

.my-profile .profile-table tbody:not(:first-child),
.account-safety .safety-table tbody:not(:first-child) {
    border-top: 1px solid #4d4e52;
    /*change*/
    box-sizing: border-box;
}

.channel-detail-banner,
.channel-detail-header {
    cursor: default;
    border-bottom: 1px solid #4d4e52;
    /*change*/
    color: #CCCCCC;
    /*change*/
}

.channel-detail-banner {
    padding: 8px 0px;
    display: flex;
    flex-flow: row;
    align-items: center;
    min-height: 60px;
    background-color: #101115;
    /*change*/
    color: #cccccc;
    /*change*/
}

@media (max-width: 992px) {
    .channel-detail-header {
        max-height: 180px;
        overflow-y: auto;
    }
    .channel-detail-header .end-holder {
        display: flex;
    }
    .channel-detail-header>div:nth-child(2n+1) {
        background: #18191d;
        /*change*/
    }
    .channel-detail-header>div:nth-child(2n) {
        background-color: #101115;
        /*change*/
    }
    .hide-if-sm {
        display: none !important;
    }
}

@media (min-width: 992px) {
    .channel-detail-header>div:nth-child(4n+1),
    .channel-detail-header>div:nth-child(4n+2) {
        background: #18191d;
        /*change*/
    }
    .channel-detail-header>div:nth-child(4n+3),
    .channel-detail-header>div:nth-child(4n) {
        background-color: #101115;
        /*change*/
    }
    .channel-detail-header>div:nth-child(2n+1) {
        border-right: 1px solid #4d4e52;
        /*change*/
    }
}

@media (min-width: 1200px) {
    .channel-detail-header>div:nth-child(6n+1),
    .channel-detail-header>div:nth-child(6n+2),
    .channel-detail-header>div:nth-child(6n+3) {
        background: #18191d;
        /*change*/
    }
    .channel-detail-header>div:nth-child(6n+4),
    .channel-detail-header>div:nth-child(6n+5),
    .channel-detail-header>div:nth-child(6n) {
        background: #101115;
        /*change*/
    }
    .channel-detail-header>div:nth-child(3n+1),
    .channel-detail-header>div:nth-child(3n+2) {
        border-right: 1px solid #4d4e52;
        /*change*/
    }
}

.channel-detail-header>div {
    /* border-bottom: 1px solid #4d4e52; */
    /*change*/
}

.modal-body {
    padding: 22px 20px;
    background-color: #4b4b4b;
    /*change*/
}

.modal-body .container-fluid {
    background-color: #4b4b4b !important;
    /*change*/
}

.modal-footer {
    padding: 10px 20px;
    background-color: #4b4b4b;
    /*change*/
}

.modal-footer {
    border-top-color: #4d4e52;
    /*change*/
}

.modal-header {
    border-bottom-color: #4d4e52;
    /*change*/
}

.text-icon-theme {
    color: var(--primary-border);
    /*change*/
}

.invoice-cn {
    border: 1px solid #4d4e52;
    border-radius: 5px;
    background: #18191d;
    /*change*/
}

.text-info {
    color: #F0F0F0 !important;
    /*change*/
}

.text-warning {
    color: #F0F0F0 !important;
    /*change*/
}

.input-group .input-group-addon {
    background-color: transparent !important;
    /*change*/
}


input[type="checkbox" i] {
    background-color: transparent !important;
    /*change*/
}

.form-control {
    border-top-color: #cccccc;
    border-right-color: #cccccc;
    border-bottom-color: #cccccc;
    border-left-color: #cccccc;
}

.input-group .input-group-addon {
    border-color: #4d4e52 !important;
    /*change*/
}

.channel-functions {
    padding: 0;
    margin: 15px 0px 0px 0px;
    background: #101115;
    /*change*/
}

.content-wrapper,
.right-side {
    background-color: #18191d;
    /*change*/
}

.ubibot-tabs-wrap label {
    color: rgba(204, 204, 204, 0.7);
}

.ubibot-message-box {
    border-top: 2px solid #4d4e52;
    /*change*/
}

.profile-table table tbody {
    border-bottom: 1px solid #4d4e52;
    /*change*/
}

.panel {
    background-color: #18191d !important;
    /*change*/
}

.panel-default>.panel-heading {
    color: #cccccc;
    background-color: #18191d;
    /*change*/
    border-color: #4d4e52;
    /*change*/
}

.panel-default {
    border-color: #4d4e52;
    /*change*/
}

.pagination>li>a {
    background: #101115;
    /*change*/
    color: #F0F0F0;
}

.pagination>li>a:hover,
.pagination>li>span:hover,
.pagination>li>a:focus,
.pagination>li>span:focus {
    z-index: 2;
    color: #F0F0F0;
    background-color: #18191d;
    /*change*/
    border-color: #4d4e52;
    /*change*/
}

.pagination select {
    background-color: #18191d;
    /*change*/
}

.pagination>li>a,
.pagination>li>span {
    border: 1px solid #4d4e52;
    /*change*/
}

.ubibot-tabs-wrap input[type="radio"].tab-radio:checked+.tab-label-content label {
    color: var(--primary-border) !important;
    /*change*/
}

.bg-info {
    background-color: #282c35;
    /*change*/
}

.tab-content>.tab-pane {
    background-color: #101115;
    /*change*/
}


/*移除form-control的动画效果避免跳动*/

input,
select,
textarea:focus {
    outline: none;
    background-color: #18191d;
    /*change*/
    color: #CCCCCC;
}

select option {
    background-color: #18191d;
    /*change*/
}

.public-view-style {
    background-color: #18191d;
    /*change*/
    border: 1px solid #4d4e52;
    /*change*/
    padding: 15px;
}

.btn-white {
    color: var(--primary-border);
    /*change*/
    background-color: #18191d;
    /*change*/
    border-color: #282c35;
    /*change*/
    outline: none !important;
}

.btn-white:hover {
    color: var(--primary-border);
    /*change*/
    background-color: #282c35;
    /*change*/
    border-color: #18191d;
    /*change*/
}

.btn-white.active {
    color: #F0F0F0;
    /*change*/
    background-color: #282c35;
    /*change*/
    border-color: #18191d;
    /*change*/
}

.nav-tabs {
    border-bottom: 1px solid #4d4e52;
    /*change*/
}

.nav-tabs>li.active>a,
.nav-tabs>li.active>a:hover,
.nav-tabs>li.active>a:focus {
    border: 1px solid #4d4e52;
    /*change*/
}

.form-row-divider {
    margin-top: 10px;
    height: 2px;
    width: 100%;
    background: #4d4e52;
    /*change*/
}

.fn_dp-divider {
    height: 50px;
    width: calc(100% + 40px);
    margin-left: -20px;
    background: #18191d;
    /*change*/
    margin-top: -11px;
    margin-bottom: 10px;
    box-sizing: border-box;
}

.ubibot-inner-body {
    padding-left: 10px;
    background-color: #18191d;
    /*change*/
}

.btn-cancel {
    color: #cccccc;
    /*change*/
    background-color: #1d2027;
    /*change*/
    border-color: var(--primary-border);
    /*change*/
}

.btn-cancel:hover,
.btn-cancel:active,
.btn-cancel.hover {
    background-color: #101115;
    /*change*/
    color: #F0F0F0;
    /*change*/
}

.form-control {
    color: #cccccc;
    /*change*/
}

.form-control:focus {
    border-color: var(--primary-border);
}

.inside-position {
    border: 1px solid var(--primary-border);
    background-color: #18191d;
    /*change*/
    color: #cccccc;
    /*change*/
    box-shadow: 2px 2px 2px 2px var(--shadow-color);
}

.inside-ul li.current {
    color: var(--primary-bg-color);
}

.inside-ul li a.current {
    color: var(--primary-bg-color);
}

.inside-ul li a {
    color: #cccccc;
    /*change*/
}

.inside-ul li a:hover {
    color: var(--primary-bg-color)!important;
}

.inside-ul li:hover {
    color: var(--primary-bg-color)!important;
}

.progress {
    background-color: #3b3b3b;
    /*change*/
}

.input-style {
    background-color: #18191d;
    /*change*/
    padding-left: 20px;
    border-radius: 2px;
    color: #cccccc;
    /*change*/
    border: solid 1px #4d4e52;
    /*change*/
    width: 36%;
    height: 44px;
}

.rule-process-status-new ul li .boxStep .icon {
    width: 21px;
    height: 21px;
    padding: 1px;
    /* background-color: #101115; */
    /*change*/
    margin: 0 auto;
}

.rule-process-status-new ul li .boxStep .icon span {
    background-color: #4b4b4b;
}

.batch-table thead tr:nth-child(1) th {
    position: sticky;
    top: -1px; /* 往上多移1px，覆盖住缝隙 */
    z-index: 10;
    background-color: #18191d;
    box-shadow: 0 1px 0 #18191d; /* 加阴影/边框增强覆盖效果 */
    /*change*/
}


.table .table {
    background-color: #101115;
    /*change*/
}

table.no-outer-border.force tr:not(:last-child)>td {
    border-bottom: 1px solid #4d4e52;
    /*change*/
}

.package-v2 {
    background-color: #282c35;
    /*change*/
    padding: 20px;
    margin: 20px;
}

.modal-footer-no-align {
    padding: 15px;
    border-top: 1px solid #4d4e52;
    /*change*/
    overflow: hidden;
    background-color: #18191d;
    /*change*/
}

.month-selected {
    background-color: var(--primary-border);
    /*change*/
    border: 1px solid #4d4e52 !important;
    /*change*/
}

.select-style-invoice {
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    color: #cccccc;
    /*change*/
    background-color: #18191d;
    /*change*/
    background-image: none;
    border: 1px solid #4d4e52;
    vertical-align: middle;
}

.clickable,
.clickable:focus {
    color: var(--menu-color);
    cursor: pointer;
    outline: none;
    white-space: nowrap;
}

.clickable:hover:not([disabled]) {
    color: var(--menu-color);
}

.ubibot-inner-divider {
    height: 2px;
    width: 1px;
    margin: 10px 0px;
    /*box-shadow: 1px 2px 2px rgba(127,127,127,0.3);*/
    transition: width 5s;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#2677bf+0,89c8ff+100 */
    background: var(--primary-bg-color);
    /* Old browsers */
    background: -moz-linear-gradient(left, var(--menu3-color) 0%, var(--primary-bg-color) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, var(--menu3-color) 0%, var(--primary-bg-color) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, var(--menu3-color) 0%, var(--primary-bg-color) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='var(--menu3-color)', endColorstr='var(--primary-bg-color)', GradientType=1);
    /* IE6-9 */
}

.ubibot-tabs-wrap .slide {
    background: var(--primary-border);
    width: calc(100% / 6);
    height: 4px;
    position: absolute;
    left: 0;
    top: calc(100% - 4px);
    transition: left 0.3s ease-out;
}

.text-primary, .alert span a, .alert a {
    color: var(--primary-bg-color);
}

.alert a {
    text-decoration: none;
}

.btn-search {
    /*height: 44px;*/
    color: #F0F0F0;
    background-color: var(--primary-border);
    line-height: 28px;
    vertical-align: top;
}

.devices_header .device_develop {
    margin-right: 30px;
    color: var(--primary-border);
}

.pagination>.active>a,
.pagination>.active>span,
.pagination>.active>a:hover,
.pagination>.active>span:hover,
.pagination>.active>a:focus,
.pagination>.active>span:focus {
    color: #F0F0F0;
    background-color: var(--primary-border);
    font-weight: bold;
    border-color: var(--primary-border);
}

.text-muted {
    color: #F0F0F0!important;
}


/*
start:channel list :triggering channel
 */


/* .channel-list-border-trigger {
    border-bottom: 1px solid #F0F0F0;
} */


/* .channel-list-border {
    border-bottom: 1px solid var(--primary-bg-color);
} */

/* .channel-list-name-trigger {
    color: #F0F0F0!important;
}

.channel-list-name {
    color: var(--menu-color)!important;
}

.channel-list-sn-trigger {
    color: #F0F0F0!important;
}

.channel-list-trigger {
    color: #cccccc!important;
}

.channel-list-bg-trigger {
    background-color: #f39c12;
}

.channel-list-trigger {
    background-color: transparent;
} */

.channel-list-bg-trigger {
     box-shadow: inset 0 0 15px 1px #ff7b49; /* 水平偏移为0，垂直偏移为0，模糊半径为10px，颜色为红色 */
    /* background-color: #f39c12; */
}


/*
end:channel list :triggering channel
 */

.nav-data a {
    background-color: var(--menu3-color);
    color: #F0F0F0
}

.nav>li>a:hover,
.nav>li>a:active,
.nav>li>a:focus {
    color: #F0F0F0;
    background: var(--menu-color);
    border:unset;
}

.nav-tabs>li.active>a,
.nav-tabs>li.active>a:hover,
.nav-tabs>li.active>a:focus {
    color: #F0F0F0;
    cursor: default;
    background-color: var(--menu-color);
    /*border: 2px solid var(--primary-bg-color);*/
    border-bottom-color: transparent;
}

.switch .box_div .box_inner .top .count_btn {
    line-height: 15px;
    font-size: 10px;
    vertical-align: top;
    background-color: var(--primary-bg-color);
    border-color: var(--primary-bg-color);
    padding: 2px 7px;
    margin-left: 8px;
}

.download-type {
    border-color: var(--primary-bg-color);
    border-radius: 3px;
}

.dropdown-clickable.blue,
.clickable.blue {
    color: var(--menu3-color);
}


/*为了覆盖container-fluid padding*/

.padding {
    padding: 10px;
}

.modal-header {
    background-color: var(--primary-bg-color);
    color: #F0F0F0;
}

.btn-sim-change {
    color: #fff !important;
    background-color: #337ab7;
    border: none;
    border-radius: 3px;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
}

.process-status-new {
    width: 90%;
    background-color: #101115;
    height: 46px;
    padding-top: 15px;
    margin: 0 auto;
}

.process-status-new ul li .boxStep .icon {
    width: 21px;
    height: 21px;
    padding: 1px;
    background-color: #101115;
    margin: 0 auto;
}

.process-status-new ul {
    margin: 0 36px;
    border-top: 1px solid #e5e5e5;
    height: 45px;
    position: relative;
}

.process-status-new ul li {
    position: absolute;
    float: left;
    width: 100%;
    top: -12px;
    list-style: none;
}

.process-status-new ul .p-gjj {
    left: 0;
}

.process-status-new ul .p-basic {
    left: 50%;
}

.process-status-new ul .p-edu {
    left: 100%;
}

.process-status-new .p-n-2 .p-gjj span.l,
.process-status-new .p-n-3 .p-gjj span.l,
.process-status-new .p-n-4 .p-gjj span.l {
    display: block;
}

.process-status-new ul li span.l {
    position: absolute;
    left: 0;
    top: 11px;
    width: 0%;
    z-index: 1;
    display: none;
    height: 1px;
    background-color: var(--primary-bg-color);
}

.process-status-new ul li .boxStep {
    width: 110px;
    position: relative;
    margin-left: -60px;
    z-index: 2;
}

.process-status-new ul li .boxStep .icon span {
    width: 17px;
    height: 17px;
    border: 2px solid #e5e5e5;
    display: block;
    border-radius: 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.process-status-new p {
    margin-top: 3px;
    margin-bottom: 6px;
}

.process-status-new .p-n-2 .p-gjj .icon span,
.process-status-new .p-n-3 .p-gjj .icon span,
.process-status-new .p-n-4 .p-gjj .icon span {
    background-image: url('../images/icoimage/icon-right-white.png');
    background-size: 12px 12px;
    background-color: var(--primary-bg-color);
    border: 2px solid var(--primary-bg-color);
}

.process-status-new .p-n-2 .p-gjj p,
.process-status-new .p-n-3 .p-gjj p,
.process-status-new .p-n-4 .p-gjj p {
    color: var(--primary-bg-color);
}

.process-status-new ul li .boxStep p {
    /*color: #b9b9b9;*/
    font-size: 12px;
    line-height: 18px;
    text-align: center;
}

.process-status-new ul li span.l-step2 {
    width: 50%;
}

.process-status-new ul li span.l-step3 {
    width: 100%;
}

.process-status-new .p-n-2 .p-basic2 .icon span,
.process-status-new .p-n-2 .p-basic3 .icon span,
.process-status-new .p-n-4 .p-basic2 .p-basic3 .icon span {
    background-image: url('../images/icoimage/icon-right-white.png');
    background-size: 12px 12px;
    background-color: var(--primary-bg-color);
    border: 2px solid var(--primary-bg-color);
}

.process-status-new .p-n-2 .p-edu3 .icon span,
.process-status-new .p-n-3 .p-edu3 .icon span,
.process-status-new .p-n-4 .p-edu3 .icon span {
    background-image: url('../images/icoimage/icon-right-white.png');
    background-size: 12px 12px;
    background-color: var(--primary-bg-color);
    border: 2px solid var(--primary-bg-color);
}

.process-status-new .p-n-2 .finish .icon span {
    background-image: url('../images/icoimage/icon-right-white.png');
    background-size: 12px 12px;
    background-color: var(--primary-bg-color);
    border: 2px solid var(--primary-bg-color);
}

.obviously-font {
    font-weight: 700;
    color: var(--primary-bg-color);
    font-size: 18px;
}

.sim-traffic-info .bg {
    background-color: #18191d;
    border-radius: 10px;
    padding: 20px 20px;
    z-index: 1;
    position: relative;
    transition: box-shadow 0.3s ease-in-out;
    border-color: #4d4e52;
}

.sim-traffic-info .bg:hover {
    box-shadow: 0 5px 15px rgba(255, 255, 255, 0.3);
}

.renew-select {
    display: inline-block;
    width: 20%;
    border: 1px solid #4d4e52;
    position: relative;
    padding-top: 5px;
    padding-bottom: 5px;
}

.renew-slider ul li {
    padding-top: 5px;
    padding-bottom: 5px;
    border: 1px solid #4d4e52;
    letter-spacing: normal;
    list-style-type: none;
    width: 16%;
    display: inline-block;
    text-align: center;
    cursor: pointer;
}

.renew-select select {
    border: none;
    outline: none;
    width: 100%;
    text-align: center;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    background-color: #101115;
}

.plan-border-selected {
    border: 1px solid var(--primary-bg-color) !important;
}

.popover-content {
    background-color: #282c35;
}

.account-dropdown {
    background: var(--primary-bg-color);
    border: none;
    border-radius: 0;
    padding: 0;
    border-top: 1px solid var(--menu-color);
}

.account-dropdown>li:not(:first-child) {
    border-top: 1px solid var(--menu-color) !important;
}

.account-dropdown>li:hover>a {
    background: var(--menu-color) !important;
}


/*
start: channel-detail->orders->table
 */

.sti-tbl-container2 ::-webkit-scrollbar {
    width: 4px;
    background-color: #282c35;
}

.sti-tbl-container2 ::-webkit-scrollbar-thumb {
    background-color: #4d4e52;
}


/*
end: channel-detail->orders->table
 */

.chart-grid {
    /*border:1px outset #eee;*/
    border: 2px solid #4d4e52;
    border-collapse: collapse;
    /*box-shadow: 2px 2px 2px #eee;*/
}

.chart-grid:hover {
    border-color: #282c35;
}

.process-batch-metadata ul li .boxStep .icon {
    width: 21px;
    height: 21px;
    padding: 1px;
    /* background-color: #F0F0F0; */
    margin: 0 auto;
}

.process-batch-metadata ul li .boxStep .icon span {
    background-color: #4b4b4b;
}

.process-batch-metadata .p-n-2 .finish p {
    color: var(--primary-bg-color);
}

.process-batch-metadata .p-n-2 .finish .icon span {
    background-image: url('../images/icoimage/icon-right-white.png');
    background-size: 12px 12px;
    background-color: var(--primary-bg-color);
    border: 2px solid var(--primary-bg-color);
}


/*批量预警流程条*/

.rule-process-status-new .p-n-2 .finish .icon span {
    background-image: url('../images/icoimage/icon-right-white.png');
    background-size: 12px 12px;
    background-color: var(--primary-bg-color);
    border: 2px solid var(--primary-bg-color);
}

.rule-process-status-new .p-n-2 .finish p {
    color: var(--primary-bg-color);
}


/*批量预警流程条*/


/*批量控制*/

.process-status-4 .p-n-2 .finish .icon span,
.process-status-5 .p-n-2 .finish .icon span {
    background-image: url('../images/icoimage/icon-right-white.png');
    background-size: 12px 12px;
    background-color: var(--primary-bg-color);
    border: 2px solid var(--primary-bg-color);
}

.process-status-5 .p-n-2 .finish p {
    color: var(--primary-bg-color);
}

.process-status-5 ul li .boxStep .icon {
    width: 21px;
    height: 21px;
    padding: 1px;
    background-color: #F0F0F0;
    margin: 0 auto;
}


/*批量控制*/

.btn-white:focus,
.btn-white:active:focus,
.btn-white.active:focus,
.btn-white.focus,
.btn-white:active.focus,
.btn-white.active.focus {
    color: var(--primary-border);
}

.device_form {
    width: 100%;
    background: #18191d;
    padding: 5px;
    margin: 20px 0 40px 0;
    display: inline-block;
}

.bg-default {
    background-color: #282c35 !important;
}

.white-box {
    background-color: #F0F0F0;
    border: 1px solid #4d4e52;
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
    box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
}

.ubibot-inner-divider-gray {
    height: 2px;
    width: 100%;
    margin: 10px 0px;
    transition: width 5s;
    background: #4d4e52;
    /* Old browsers */
    background: -moz-linear-gradient(left, #4d4e52 0%, #4d4e52 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #4d4e52 0%, #4d4e52 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #4d4e52 0%, #4d4e52 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#4d4e52', endColorstr='#4d4e52', GradientType=1);
    /* IE6-9 */
}

.white-box.box-item-invoice {
    margin: 10px 0px 10px 0px;
    border: 1px solid #4d4e52;
}

.white-box.box-item-padding {
    padding: 10px 20px;
    border: 1px solid #4d4e52;
}

.bill-info .form-inline {
    border-bottom: 1px solid #4d4e52;
    box-sizing: border-box;
    padding: 30px 15px;
}

table.myTable td a:hover,
table.myTable th a {
    color: var(--primary-bg-color);
}

.check_css3 .input_check:checked+label {
    background-color: var(--menu-color);
    border: 1px solid var(--menu-color);
}

.bg-info {
    background-color: var(--shadow-color);
}

.nav-tabs>li>a:hover {
    border-color: var(--menu-color), var(--menu-color), var(--menu-color);
}

.all-sensor-light {
    color: #F0F0F0;
    background-color: var(--primary-bg-color);
}

.fields-thumbnail .text-1x {
    font-weight: 700;
    color: #eeeeee;
}

.text-success {
    color: #70BA31;
}

.text-warning {
    color: #f19601 !important;
}

.text-danger {
    color: #FE0000;
}

#tabnav button {
    border: none;
    padding: 5px;
    font-size: 18px;
    margin-right: 15px;
    color: #F0F0F0;
    background-color: #18191d;
}

#tabnav .btn_active {
    border-bottom: 2px var(--primary-border) solid !important;
    color: var(--primary-bg-color) !important;
}

.step2-color {
    color: #999;
}

.step2-color:hover {
    color: var(--primary-bg-color) !important;
}

.new-rule-div1 {
    border: 3px solid var(--menu3-color);
    box-shadow: 0px 0px 4px 2px var(--menu3-color);
    width: 100%;
    box-sizing: border-box;
}

.new-rule-title {
    background-color: var(--menu3-color);
    line-height: 40px;
    padding-left: 23px;
}

.ubibot-inner-body .btn.switch_btn.action_active {
    min-width: 120px;
    min-height: 32px;
    background-color: var(--primary-bg-color);
    border-color: var(--primary-bg-color);
    color: #F0F0F0;
    margin-right: 20px;
}

.data_button {
    background-color: #ececec;
    border: 1px solid #d2d6de;
    border-radius: 0px;
    padding: 5px 25px;
    color: #000;
}

.selected_btn {
    border: 1px solid var(--primary-bg-color);
    background-color: var(--primary-bg-color);
    outline: none;
    padding: 5px 25px;
}

#table-rule .auto_tr {
    background-color: #18191d;
}

#table-rule tr {
    background-color: #18191d;
}

#table-rule td {
    color: var(--primary-bg-color);
}

.nextbtn {
    background-color: var(--primary-bg-color);
}

.modal-content {
    background-color: #4b4b4b;
    border: 1px solid #4f5663;
}

.ubibot-console-table tbody {
    background-color: #18191d;
}

.loading-process {
    background-color: #4b4b4b;
}

.loading-process-bar {
    background-color: #4b4b4b;
}

.progress-striped {
    background-color: #34353e
}

.select-color {
    background-color: #5d6474;
}

.seltct-font-color {
    color: var(--menu-color);
}

.inside-tab-rule {
    color: var(--menu-color);
}

.font-rule {
    color: #F0F0F0;
}

.wrapper-batch-step1:hover,
.wrapper-batch-step1:active {
    border-color: var(--primary-bg-color);
}

.radio_style input:checked+label {
    color: var(--primary-bg-color);
}

.radio_style label {
    border: 1px solid var(--primary-bg-color);
}

.default_text {
    color: var(--font-color);
}

.modal-dialog .modal-content {
    border: transparent;
}


/**控制弹出层颜色和大小*/

.tooltip-inner {
    background: var(--primary-bg-color) !important;
    text-align: left !important;
    color: #FFF !important;
    border: 1px solid var(--primary-bg-color);
    max-width: 400px !important;
    padding: 4px;
}


/**控制小三角透明度*/

.tooltip-arrow {
    border-bottom-color: var(--primary-bg-color) !important;
    color: var(--primary-bg-color) !important;
    opacity: 1;
}

.modal-dialog .ubibot-inner-body {
    background-color: #4b4b4b;
}

.layui-laydate .layui-this {
    background-color: var(--primary-bg-color) !important;
    color: #fff!important;
}

.channel_page_num {
    color: var(--primary-bg-color);
}

.channel-chart-no-data-mask {
    background-color: #18191d;
}

.finace .info-boxs {
    display: block;
    background: #282c35;
    width: 100%;
    box-shadow: 0 0 3px rgb(0 0 0 / 30%);
    border: 1px solid #4d4e52;
    border-radius: 5px;
    margin-bottom: 15px;
    padding: 20px;
}

.version {
    text-align: center;
    color: #1d2027;
    /* position: absolute;
    bottom: 52px; */
    width: 100%;
}

.box-shadow-primary {
    box-shadow: 0 0 5px 0 var(--primary-bg-color);
}


/* 创建自动化页面 */

.rule-edit-auto-device {
    background-color: var(--menu3-color);
}


/* 空气检测页面 */

.card1 {
    background-color: var(--menu3-color);
}

.card-body1 .content1 .sub-title {
    color: #F0F0F0;
}

.switch_pro_box {
    background-color: #282c35;
    color: #F0F0F0;
}

.new-rule-first-unselect {
    color: #F0F0F0;
    background: url(../images/rule-first-unselect-bgr-black.png) no-repeat center center;
    border-radius: 5px;
}

.new-rule-first-selected {
    vertical-align: middle;
    color: #F0F0F0;
    background: url(../images/rule-first-select-bgr-black.png) no-repeat center center;
    border-radius: 5px;
}

.rule-fa-icon {
    color: #777;
}

.rule-iconfont {
    color: #777;
}

.rule-fa-icon-select {
    color: #F0F0F0;
}

.rule-iconfont-select {
    font-size: 3.5rem;
    color: #F0F0F0;
}

.new-rule-first-unselect .rule-title-text {
    color: #777;
    text-align: center;
}

.new-rule-first-selected .rule-title-text {
    color: #F0F0F0;
    text-align: center;
}

ul.countdown {
    background-color: #4a4c53;
}

.delayed-task-box {
    background-color: #282c35;
}

.triggerInfo {
    background-color: #45484d;
    color: #F0F0F0;
}

.list-swiper-circle-white {
    background-color: var(--primary-bg-color);
}

.triggerInfoClose {
    opacity: 1;
    color: #F0F0F0;
}

.close:hover {
    opacity: 1;
    color: #F0F0F0;
}

a:hover,
a:active,
a:focus {
    color: var(--primary-bg-color);
}

.ng-dropdown-container {
    display: inline-block;
    width: 100%;
    height: 32px;
    line-height: 32px;
    position: relative;
    color: #c0ccc1;
    background-color: #101115;
    background-image: linear-gradient(-180deg, #101115, #101115 90%);
    border: 1px solid #f5f5f5;
    border-radius: .25em;
    box-sizing: border-box;
}

.ng-dropdown-text::after {
    border-top-color: #f5f5f5;
}

.ng-dropdown-container:hover {
    background-color: #101115;
    background-image: linear-gradient(-180deg, #101115, #101115 90%);
}

.ng-dropdown-options {
    background-color: var(--menu-hover);
}

.ng-dropdown-item:hover {
    background: var(--menu-color);
    color: #F0F0F0;
}

.selected {
    color: var(--menu-color);
}

.nr1_lock_tipicon {
    background-image: url(../images/nr1_lock_black.svg);
    display: block;
    margin: 0 auto;
    right: 6px;
    bottom: -10px;
    position: absolute;
    width: 35px;
    height: 35px;
    text-align: center;
    color: #F0F0F0;
    padding-top: 9px;
}

.scheduled-bordered>thead>tr {
    background-color: #2b2a2a;
}

.scheduled-bordered>tbody>tr:nth-child(odd) {
    background-color: #5c5c5c;
}

.scheduled-bordered>tbody>tr:nth-child(even) {
    background-color: #2b2a2a;
}

.request-method {
    margin-left: 5px;
    padding: 0px 2px;
    color: #dddddd;
    background-color: var(--primary-bg-color);
}

.queue-header i{
    color:var(--primary-bg-color);
}



.ubibot-inner-body .btn.switch_btn.action_active {
    min-width: 120px;
    min-height: 32px;
    background-color: var(--primary-bg-color);
    border-color: var(--primary-bg-color);
    color: #fff;
    margin-right: 20px;
}

.selected_btn {
    border: 1px solid var(--menu3-color);
    background-color: var(--shadow-color);
    outline: none;
    padding: 5px 25px;
}

.data_button:focus {
    border: 1px solid var(--menu3-color);
    background-color: var(--shadow-color);
    outline: none;
}


/* 紫特标识  ----start---------- */

.zite_top_nva_cn {
    color:#F0F0F0;
    background-color:  #333;
}
.zite-main-header a {
    color: #F0F0F0;
}

/* 紫特 logo 切换：侧边栏展开时显示宽 logo，收起时显示方形 logo */

.zite-navbar-custom-menu > .navbar-nav > li {
    color:  #F0F0F0;
    background-color: #333;
}

.zite-navbar-custom-menu > .navbar-nav > li:hover {
    background-color: var(--primary-bg-color);
    color:  #F0F0F0;
}

.navbar-nav-border {
    border-right:unset;
}

.inside-position {
     color:  #F0F0F0;
    background-color: #333;
}

.channel-name {
    color: var(--primary-bg-color);
}

.channel-serial {
    color: #6d6971;
}

.input-group {
    background-color: #6d6971;
}
.input-group-addon {
    border: none;
    background-color: transparent;
}
.input-group input {
    border: none;
    box-shadow: none;
}

.form-group input {
    background-color: #6d6971;
    border: none;
    box-shadow: none;
}

.input-group-addon{
    color: #F0F0F0;
}


.form-control {
    background-color: #6d6971;

}


.btn-default:hover,
.btn-default:active,
.btn-default.hover {
    background-color: var(--menu-color);
    color: #F0F0F0;
}

.btn-default {
    border: none;
    background-color: var(--primary-bg-color);
    color: #F0F0F0;
}

.setting-input-noborder{
    background-color:transparent !important;
}
/* 紫特标识  ----end---------- */

/* 电量统计页右侧的「合计电费 / 合计度数 / 合计能耗」三张卡。
   common.css 给的是写死的 #f2f2f2，深色主题下没有任何覆盖，
   于是整块浅灰浮在深底上。 */
.switch_statistics-electricity-model {
    background-color: #1d2027;
    color: #CCCCCC;
}


/* ==========================================================================
   深色补漏：common.css 里写死浅底、深色主题从未覆盖的选择器
   --------------------------------------------------------------------------
   全量扫描 common.css 后发现这类选择器共 102 条（把 login/signup 这些
   不走皮肤文件的页面、以及 .card-status 这类语义状态色排除在外）。
   这里先补高频页面的 30 条：我的设备、消息中心、账户安全、费用中心、
   套餐、数据流、GPS、对比日志。剩下的多在社区页和低频弹窗里。
   映射规则：纯白 → 面板底 #18191d；浅灰 → 抬起面 #1d2027。
   ========================================================================== */

.channel-create,
.list-header,
.private-rule,
.account-main,
.safety-setting .level,
.safety-setting .safety-content,
.safety-setting .login-time,
.accountinquiry,
.renew,
.renewPayment,
.package,
.payment,
.messages-center,
.main-devices,
.private-dataio,
.modal-attach .tab-bg,
.card,
.position-sticky {
    background-color: #18191d;
}

.nav .open > a,
.nav .open > a:focus,
.nav .open > a:hover,
.bg-lightgray,
.accountinquiry_body thead,
.packageTable table thead th,
.messages-center .message-header,
.devices_div,
.diff-summary-header,
.compare-log-col-body,
.gps-header {
    background-color: #1d2027;
    color: #CCCCCC;
}

/* 原规则带 !important，覆盖也得带 */
.device_form .input-group-addon {
    background: #1d2027 !important;
    color: #CCCCCC;
}

.btn-custom {
    background-color: #1d2027;
    border-color: #36383E;
    color: #CCCCCC;
}

.updown_btn {
    background-color: #1d2027;
    color: var(--menu-color);
}


/* ==========================================================================
   设备列表·瀑布流卡片（.channel-card）的深色适配
   --------------------------------------------------------------------------
   这套 masonry 卡片是后加的，common.css 里从 11155 行起写死了一整套浅色值
   （卡片底 #fff、名称 #23272e、ID #98a2b3 !important、分隔线 #f2f4f7 等），
   两个深色主题里一条覆盖都没有 —— 所以深色下卡片仍是白的，
   而传感器读数吃到主题的浅色字，成了白底浅灰字，基本读不出来。

   这里按 common.css 的原结构逐条对位覆盖，不新增选择器。
   ========================================================================== */

.channel-card {
    background: #1d2027;
    border-color: #2c2f38;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 1px 3px rgba(0, 0, 0, 0.25);
}

.channel-card:hover {
    border-color: #3b3f4a;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.5), 0 2px 4px rgba(0, 0, 0, 0.3);
}

.channel-card::before {
    background: #2c2f38;
}

/* 离线卡片：浅色下是比白稍灰(#fcfcfc)，深色下要比面板稍暗才是"退后" */
.channel-card-offline {
    background: #18191d;
}

.channel-card-alert {
    border-color: rgba(229, 1, 18, 0.45);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 0 0 3px rgba(229, 1, 18, 0.12);
}

.channel-card-alert:hover {
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.5), 0 0 0 3px rgba(229, 1, 18, 0.18);
}

/* 原本是 #fff5f5 → #fff 的浅红渐变，深色下换成低亮度红晕 */
.channel-card-alert .card-header {
    background: linear-gradient(180deg, rgba(229, 1, 18, 0.14) 0%, #1d2027 100%);
}

.channel-card .channel-name {
    color: #E4E7EB;
}

.channel-card .channel-name:hover {
    color: var(--menu-color);
}

/* 原规则带 !important */
.channel-card .channel-id {
    color: #8A94A6 !important;
}

.channel-card .card-body {
    border-top: 1px solid #2c2f38;
}

.channel-card .channel-icon {
    background: #18191d;
    border-color: #2c2f38;
}

.product-icon-wrapper {
    background: #18191d;
    border-color: #2c2f38;
}

.status-overlay {
    background: #1d2027;
    border-color: #1d2027;
}

.status-indicator,
.status-indicator.status-unknown {
    background: #18191d;
}

/* 传感器读数：浅色主题下是 #0277bd 蓝字压白底，
   深色卡片上换成主题强调色，别再靠继承来的浅灰。 */
.channel-card .text-sensor-value {
    color: #E4E7EB;
}

/* 瀑布流自身的滚动条原本是深色 thumb 压浅底，深色下要反过来 */
.channel-masonry-grid::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.18);
}

.channel-masonry-grid::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* 套餐用量进度条: 原本只有 .progress 的 #3b3b3b 底色, 没有任何轮廓,
   压在同样偏暗的面板上边界不清。补一圈 inset 描边(不用 border:
   容器高度 20px 是行内写死的, 真边框会把内部挤到 18px)。 */
.progressGraph.progress {
    border-radius: 4px;
    box-shadow: inset 0 0 0 1px #5A5F6B;
}


/* ==========================================================================
   深色补漏 · 第二批（收尾）
   --------------------------------------------------------------------------
   第一批补的是我的设备 / 消息中心 / 账户安全 / 费用中心等高频页。
   这一批把剩下的 64 条一次补完：社区页、权限树、规则、批量设置、
   分享、发票、LoRa、C2D 弹窗、骨架屏，以及一批 webkit 滚动条。

   仍然只做两件事：纯白 → 面板底 #1d2027；浅灰 → 抬起面 #22262e。
   只在文字确实会跟着变糊的地方（表头、按钮、表单控件）才额外指定字色，
   其余靠 body 的 --font-color 继承。

   已排除：登录/注册页（不加载皮肤文件，改了也没用）、
   .card-status.card-* （语义状态色，不该跟主题变）。
   ========================================================================== */

/* --- 纯白面板 -------------------------------------------------------------- */

.mycommunity,
.myattention,
.hot-tags,
.community-star,
.community-device,
.social-box,
#progress,
#loading .table-responsive,
#table-rule .auto_tr_1,
.layui-laydate-list,
.screen-demo-tile,
.dlbt2,
.dlbt3,
.attdetail,
.c2dswitchpanel,
.c2dbasedialog,
.queue-header,
.channel-masonry-skeleton,
.loading-content,
.lora-sync-card,
.feeds-stat-panel,
.feeds-stat-retry {
    background-color: #1d2027;
}

/* --- 浅灰抬起面 ------------------------------------------------------------ */

.star-user-device,
.compare-log-meta,
.new-rule-select,
.scheduled-template-create-title,
.scheduled-dotted-button,
.screen-demo-thumb,
.load-more-trigger,
.permission-tree-container,
.permission-group-title,
.selected-devices-container,
.ivh-treeview .ivh-treeview-node.level-1 > .ivh-treeview-node-content,
.process-status-4 ul li .boxStep .icon span {
    background-color: #22262e;
}

/* --- 表头 ------------------------------------------------------------------ */

.ubibot-console-table-based thead,
.sti-tbl-container thead {
    background-color: #22262e;
    color: #8A94A6;
}

/* --- 按钮 ------------------------------------------------------------------ */

#tablist button,
.overview-renew-btn,
.sub-user-btn,
.re-btn-primary {
    background-color: #22262e;
    border-color: #2c2f38;
    color: #CCCCCC;
}

/* --- 表单控件 / 下拉项 ------------------------------------------------------ */

.bill-info input,
.bill-info select,
.command_timeout {
    background-color: #18191d;
    border-color: #2c2f38;
    color: #CCCCCC;
}

.renew-select select option {
    background-color: #1d2027;
    color: #CCCCCC;
}

.disabled-option {
    background-color: #22262e;
    color: #8A94A6;
}

/* --- 悬停高亮 -------------------------------------------------------------- */

.renew-select select option:hover,
.shareChannelList li:hover,
.payment_select:hover,
.selected-device-list .table tr:hover {
    background-color: rgba(255, 255, 255, 0.07);
}

/* --- 自定义复选框的白色方块 --------------------------------------------------
   这两个是靠 label 伪元素画出来的"框"，浅色下是白底 + 浅边，
   深色下白块会直接糊成一片亮点，压暗并把边框提亮才看得出是个可勾选的框。 */

.check_css3 .input_check + label,
.checkbox-green + label:before {
    background-color: #18191d;
    border-color: #4A4F5C;
}

/* --- webkit 滚动条 ---------------------------------------------------------
   这几处把滚动条槽刷成了浅灰，深色下是几条贯穿页面的亮带。 */

::-webkit-scrollbar-track-piece,
.box_list::-webkit-scrollbar,
.box_list::-webkit-scrollbar-track,
.device-container::-webkit-scrollbar,
.device-container::-webkit-scrollbar-track,
.batch-setting-wrapper::-webkit-scrollbar,
.batch-setting-wrapper::-webkit-scrollbar-track,
.modal-scrollbar::-webkit-scrollbar,
.modal-scrollbar::-webkit-scrollbar-track,
.modal-scrollbar::-webkit-scrollbar-corner {
    background-color: #18191d;
}

/* 权限树一级节点的标签底色 —— 上面那条补的是节点容器, 标签本身还有一层 #f5f5f5 */
.ivh-treeview .ivh-treeview-node.level-1 > .ivh-treeview-node-content .ivh-treeview-node-label {
    background-color: #22262e;
}

/* 语义色工具类 —— 深色底下的取值（见 common.css 尾部的 .u-* 定义） */
/* 传感器图标：95%/40% 是按白底定的，换到深底上是一片霓虹色。
   降饱和、提亮度 —— 深色背景下靠亮度拉开对比，而不是靠彩度。 */
/* 升/降标记：深底上把这两个色提亮一档，否则读不出来。 */
:root {
    --trend-up: #45C08A;
    --trend-down: #F0736E;
}

:root {
    --sensor-sat: 55%;
    --sensor-light: 62%;
}

:root {
    --u-danger: #FF6B6B;
    --u-warn: #F0A046;
    --u-success: #4ADE80;
    --u-muted: #9AA5B1;
    --u-strong: #E8EDF3;
    --u-on-dark: #FFFFFF;
}

/* 高度标尺 —— 深色底下阴影要更重才看得出层次 */
:root {
    --sh-1: 0 1px 3px rgba(0, 0, 0, 0.40);
    --sh-2: 0 4px 12px rgba(0, 0, 0, 0.50);
    --sh-3: 0 12px 32px rgba(0, 0, 0, 0.60);
}

/* ==========================================================================
   设备详情页 tab 区域的底色

   AdminLTE 给 .nav-tabs-custom 写死了 background:#fff，深色主题从来没覆盖过。
   以前没露馅是因为每个 tab 自己带底色(black-ground / .switch / .ubibot-inner-box)
   正好盖住了；那些底色统一收掉之后，深色模式下这一整块就是白的。

   底色取最深一档 #101115，比卡片(#18191d)深一级 —— 深色底下阴影压不出层次，
   卡片必须靠色阶本身分出来。
   ========================================================================== */
.nav-tabs-custom,
.nav-tabs-custom > .tab-content {
    /* 必须带上 > .tab-content：AdminLTE 的白底写在
       .nav-tabs-custom > .tab-content 上(特异度 0,2,0)，只覆盖父元素
       .nav-tabs-custom(0,1,0) 是压不住的，子元素的白会直接盖上来。 */
    background-color: #101115;
}

/* .card-body1(LD1 / AQS1 实时页的卡片)在深色下原本只有阴影没有底色。
   深底上阴影压不出层次，卡片会整个化进背景里。补一档比 tab 底色浅的面板色，
   和 .card 同一档。 */
.card-body1 {
    background-color: #18191d;
}

/* 这三个在浅色里是浅灰底，深色主题一直没覆盖。以前被各 tab 自己的底色盖着
   看不出来，底色统一收掉之后就露出来了。 */
.card-left {
    background-color: #18191d;
}

.chart-action-bar {
    background-color: #1d2027;
}

/* .black-ground 现在只剩 switch/switch_pro 的离线遮罩在用（有 .set-grey 时
   会被它的半透明黑盖掉），补一档以防哪天又被当页面底色用。 */
.black-ground {
    background-color: #101115;
}
