/* ========== 1. 针对 Chrome/Edge/360/QQ 等webkit内核浏览器 滚动条样式 ========== */
/* 滚动条整体轨道 */
::-webkit-scrollbar {
  width: 6px;    /* 垂直滚动条宽度（核心：统一谷歌的宽度，推荐6px，和火狐默认粗细一致） */
  height: 6px;   /* 水平滚动条高度，按需设置 */
}
/* 滚动条轨道背景 */
::-webkit-scrollbar-track {
  background: #f5f5f5;  /* 轨道底色，和页面背景适配，浅灰色最佳 */
  border-radius: 3px;   /* 轨道圆角，和宽度对应，更圆润 */
}
/* 滚动条滑块（拖动的那个条） */
::-webkit-scrollbar-thumb {
  background: #cccccc;  /* 滑块默认颜色，浅灰，和火狐默认一致 */
  border-radius: 3px;   /* 滑块圆角 */
  transition: background 0.2s; /* hover过渡动画，丝滑 */
}
/* 滑块hover时高亮颜色 */
::-webkit-scrollbar-thumb:hover {
  background: #999999;
}

/* ========== 2. 针对 Firefox 火狐浏览器 滚动条样式 ========== */
/* 火狐专属属性，统一滚动条宽度+颜色，和谷歌配置保持一致即可 */
* {
  scrollbar-width: thin;  /* 必写：thin=细滚动条(和谷歌6px一致)，auto=默认，none=隐藏 */
  scrollbar-color: #cccccc #f5f5f5; /* 必写：滑块颜色 空格 轨道颜色，顺序不能反 */
}
.searcTime_select {
    position: relative;
    z-index: 999;
    padding: 0 5px
}

.searcTime {
    position: relative;
    z-index: 999;
    margin-top: 5px;
    padding: 0 5px
}

.searcTime_xz {
    position: relative;
    z-index: 999;
    padding: 0 5px
}

.pull-right {
    float: right !important
}

.searcTime .gt {
    padding: 5px 10px;
    border: #ddd 1px solid;
    margin-right: -1px;
    cursor: pointer;
    float: left;
    line-height: 16px
}

.searcTime .gt.on,
.searcTime .gt:hover,
.searcTime .ss .st:hover,
.searcTime .ss .st.on {
    background-color: #2D8CF0 !important;
    color: #fff
}

.searcTime .ss {
    display: inline-block;
    position: relative;
    float: left;
    line-height: 16px
}

.searcTime .ss .st {
    padding: 5px 10px;
    border: #ddd 1px solid;
    margin-right: -1px;
    cursor: pointer;
    float: left
}

.searcTime .ss .time {
    background-color: #fff;
    border: 1px solid #ddd;
    display: none;
    padding: 10px;
    position: absolute;
    right: -1px;
    top: 27px;
    width: 217px;
    z-index: 99
}

.searcTime .ss .time span {
    margin-bottom: 10px;
    display: block
}

.searcTime .ss .time input {
    border: 1px solid #ddd;
    height: 22px;
    padding: 0 5px;
    width: 132px
}

.searcTime .ss .time input:focus {
    border: #66afe9 1px solid;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6)
}

.searcTime .ss .sbtn {
    background-color: #2D8CF0 !important;
    border: 1px solid #66afe9 !important;
    color: #fff;
    line-height: 24px;
    text-align: center;
    cursor: pointer
}

.bgw {
    background-color: white
}

.table-lable-color-green {
    color: #fff;
    background-color: #007bff;
    border-radius: .25rem;
    height: 22px;
    line-height: 22px;
    padding: 2px 5px;
    font-size: 12px;
}

.table-lable-color-yellow {
    color: #fff;
    background-color: #f88306;
    border-radius: .25rem;
    height: 22px;
    line-height: 22px;
    padding: 2px 5px;
    font-size: 12px
}

.table-lable-color-red {
    color: #fff;
    background-color: #fd517d;
    border-radius: .25rem;
    height: 22px;
    line-height: 22px;
    padding: 2px 5px;
    font-size: 12px
}

.table-lable-color-err {
    color: #fff;
    background-color: #f60505;
    border-radius: .25rem;
    height: 22px;
    line-height: 22px;
    padding: 2px 5px;
    font-size: 12px
}

.table-lable-color-on {
    color: #fff;
    background-color: #2ec604;
    border-radius: .25rem;
    height: 22px;
    line-height: 22px;
    padding: 2px 5px;
    font-size: 12px
}

.table-lable-color-port-up {
    color: #fff;
    background-color: #2ec604;
    border-radius: .5rem;
    height: 20px;
    line-height: 20px;
    padding: 0px 5px;
    font-size: 12px
}

.table-lable-color-port-down {
    color: #fff;
    background-color: #f60505;
    border-radius: .5rem;
    height: 20px;
    line-height: 20px;
    padding: 0px 5px;
    font-size: 12px
}

/* 居中 */
.layui_div_center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.lay-table-full {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1111111;
    width: 100%;
    width: 100vw;
    height: 100%;
    height: 100vh;
    overflow: auto;
    background-color: #fff;
}

.iot_svg_hidden {
    display: none;
    width: 100%;
    height: 90vh;

}

.iot_svg {
    width: 100%;
    height: 90vh;
}

.content {
    position: absolute;
    width: 30%;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}

/*区域分组样式*/
.charts-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    padding: 20px;
}

.chart-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
    padding: 20px;
    transition: all 0.3s;
    min-height: 400px;
}

.chart-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.chart-title {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

.chart-box {
    height: 350px;
}

.summary-card {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 20px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 10px;
    margin-bottom: 20px;
}

.summary-item {
    text-align: center;
}

.summary-label {
    font-size: 14px;
    opacity: 0.9;
}

.summary-value {
    font-size: 28px;
    font-weight: bold;
    margin: 8px 0;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
}

.copy-link {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    padding-right: 10px;
    color: green
}

.progress-bar, .ui.progress {
    background-color: #d3d3d3;
    background-size: 40px 40px;
    border-radius: 4px
}

.ui.progress {
    border: 1px solid #bfbfbf;
}

.ui.progress.fine .progress-bar {
    background-color: #53b449
}

.ui.progress.warning .progress-bar {
    background-color: #fbb142
}

.ui.progress.error .progress-bar {
    background-color: #ef4b4c
}

@-webkit-keyframes progress-bar-stripes {
    from {
        background-position: 0 0
    }
    to {
        background-position: 40px 0
    }
}

@keyframes progress-bar-stripes {
    from {
        background-position: 0 0
    }
    to {
        background-position: 40px 0
    }
}

.room-form-layer {
    padding: 16px 20px 0;
}