/* ================= 异常监测数据表 ================= */
.table-wrapper{
  margin-top:20px;
  overflow-x: scroll;
}
.table-wrapper::-webkit-scrollbar{
  height:6px;
}
.table-wrapper::-webkit-scrollbar-thumb{
  background:var(--primary-color);
  border-radius:3px;
}

.neon-table{
  width:100%;
  min-width:950px;
  border-collapse:collapse;
  font-size:14px;
  color:var(--text-color);
}

.neon-table thead{
  background:rgba(0,247,255,.08);
}

.neon-table th,
.neon-table td{
  padding:10px 12px;
  border:1px solid rgba(0,247,255,.25);
  vertical-align:middle;
  transition:background .2s;
}

/* 表头文字发光 */
.neon-table th{
  color:var(--primary-color);
  text-shadow:0 0 4px var(--primary-color);
  font-weight:600;
}

/* 可编辑单元格 */
.neon-table td[contenteditable="true"]{
  background:rgba(0,247,255,.05);
  cursor:text;
}
.neon-table td[contenteditable="true"]:focus{
  background:rgba(0,247,255,.12);
  box-shadow:inset 0 0 6px var(--primary-color);
  outline:none;
}

/* 操作按钮组（行尾） */
.action-btns{
  display:flex;
  gap:6px;
  justify-content:center;
}
.action-btns button{
  width:auto;
  padding:4px 10px;
  font-size:12px;
  border-radius:4px;
  border:none;
  cursor:pointer;
  transition:all .3s ease;
}
.btn-save{
  background:rgba(0,255,136,.15);
  color:#00ff88;
  border:1px solid #00ff88;
}
.btn-save:hover{
  background:#00ff88;
  color:var(--darker-bg);
  box-shadow:0 0 8px #00ff88;
}
.btn-del{
  background:rgba(255,128,0,.15);
  color:#ff8000;
  border:1px solid #ff8000;
  transition:all .3s ease;
}
.btn-del:hover{
  background:#ff8000;
  color:var(--darker-bg);
  box-shadow:0 0 12px #ff8000;
}

/* 顶部工具栏微调（与任务管理保持一致） */
.task-header .feature-btn{
  width:auto;
  padding:8px 16px;
  background:rgba(0,247,255,.1);
  border:1px solid var(--primary-color);
  color:var(--primary-color);
  border-radius:4px;
  cursor:pointer;
  transition:all .3s ease;
}
.task-header .feature-btn:hover{
  background:rgba(0,247,255,.2);
  box-shadow:0 0 15px rgba(0,247,255,.4);
}

/* 让下拉框风格 = 手动输入框 */
.modal .form-group select {
  width: 100%;
  padding: 12px 15px;
  background: rgba(10, 10, 25, 0.7);
  border: 1px solid rgba(0, 247, 255, .3);
  border-radius: 4px;
  font-size: 16px;
  color: var(--text-color);
  transition: all .3s ease;
  cursor: pointer;
}
.modal .form-group select:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 10px rgba(0, 247, 255, .5);
  background: rgba(15, 15, 40, .9);
}

/* 下拉文字垂直居中 */
.modal .form-group select {
  display: flex;
  align-items: center;
  height: 44px;        /* 与 input 同高 */
  line-height: 1.4;
  padding-top: 0;
  padding-bottom: 0;
}

/* ===== 让 textarea 与 input 视觉一致 ===== */
#addTaskModal textarea[name="检测SQL"],
#editTaskModal textarea[name="检测SQL"] {
  /* 尺寸 */
  width: 100%;
  min-height: 120px;
  resize: vertical;

  /* 与 input 完全相同的配色 / 边框 / 圆角 */
  padding: 12px 15px;
  background: rgba(10, 10, 25, 0.7);
  border: 1px solid rgba(0, 247, 255, .3);
  border-radius: 4px;
  font-size: 15px;
  color: var(--text-color);
  font-family: inherit;
  line-height: 1.4;
  transition: all .3s ease;

  /* 去掉默认 textarea 阴影 */
  box-shadow: none;
  outline: none;
}

/* 焦点状态也与 input 同步 */
#addTaskModal textarea[name="检测SQL"]:focus,
#editTaskModal textarea[name="检测SQL"]:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 10px rgba(0, 247, 255, .5);
  background: rgba(15, 15, 40, .9);
}

/* ========= 下钻式数据集搜索 ========= */
.search-cascade{
  position:relative;
  width:380px;               /* 与原来 select 同宽 */
  font-size:14px;
}
.search-cascade input{
  width:100%;
  padding:8px 12px;
  background:rgba(10,10,25,.7);
  border:1px solid rgba(0,247,255,.4);
  border-radius:6px;
  color:var(--text-color);
  caret-color:var(--primary-color);
  transition:all .3s ease;
}
.search-cascade input:focus{
  outline:none;
  border-color:var(--primary-color);
  box-shadow:0 0 12px rgba(0,247,255,.5);
  background:rgba(15,15,40,.9);
}
/* 下拉面板 */
.cascade-dropdown{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  margin-top:6px;
  max-height:300px;
  overflow:auto;
  background:var(--card-bg);
  border:1px solid rgba(0,247,255,.3);
  border-radius:8px;
  backdrop-filter:blur(10px);
  display:none;
  z-index:999;
  box-shadow:0 8px 30px rgba(0,247,255,.25);
}
.cascade-dropdown.open{display:block;}
/* 一级条目 */
.cascade-lv1{
  padding:10px 12px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  transition:background .2s;
  user-select:none;
}
.cascade-lv1:hover{
  background:rgba(0,247,255,.08);
}
.cascade-lv1.active{
  background:rgba(0,247,255,.15);
  text-shadow:0 0 6px var(--primary-color);
}
.cascade-lv1 .arrow{
  font-size:12px;
  transform:rotate(0deg);
  transition:transform .25s;
}
.cascade-lv1.expanded .arrow{transform:rotate(90deg);}
/* 二级容器 */
.cascade-lv2-group{
  max-height:0;
  overflow:hidden;
  transition:max-height .25s ease;
}
.cascade-lv2-group.show{
  max-height:200px;        /* 足够放下常见子项 */
}
.cascade-lv2{
  padding:8px 12px 8px 28px;
  cursor:pointer;
  font-size:13px;
  color:var(--text-color);
  opacity:.9;
  transition:all .2s;
}
.cascade-lv2:hover{
  opacity:1;
  background:rgba(0,247,255,.06);
  padding-left:32px;
}
.cascade-lv2.active{
  opacity:1;
  color:var(--primary-color);
  text-shadow:0 0 6px var(--primary-color);
}
/* 滚动条美化 */
.cascade-dropdown::-webkit-scrollbar{width:6px;}
.cascade-dropdown::-webkit-scrollbar-thumb{
  background:var(--primary-color);
  border-radius:3px;
}
/* 移动端适配 */
@media(max-width:768px){
  .search-cascade{width:100%;}
}

/* ========= 分页控件样式 ========= */
.pagination-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
  padding: 15px;
  background: rgba(10, 10, 25, 0.7);
  border: 1px solid rgba(0, 247, 255, 0.3);
  border-radius: 8px;
  backdrop-filter: blur(10px);
}

.pagination-info {
  color: var(--text-color);
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.page-size-select {
  background: rgba(10, 10, 25, 0.7);
  border: 1px solid rgba(0, 247, 255, 0.3);
  border-radius: 4px;
  color: var(--text-color);
  padding: 4px 8px;
  font-size: 14px;
  transition: all 0.3s ease;
}

.page-size-select:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 8px rgba(0, 247, 255, 0.5);
}

.pagination-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pagination-btn {
  background: rgba(0, 247, 255, 0.1);
  border: 1px solid var(--primary-color);
  color: var(--primary-color);
  border-radius: 4px;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagination-btn:hover:not(:disabled) {
  background: rgba(0, 247, 255, 0.2);
  box-shadow: 0 0 12px rgba(0, 247, 255, 0.4);
}

.pagination-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  background: rgba(0, 247, 255, 0.05);
  border-color: rgba(0, 247, 255, 0.2);
}

.page-numbers {
  color: var(--text-color);
  font-size: 14px;
  padding: 0 12px;
  min-width: 80px;
  text-align: center;
}

.page-numbers span {
  font-weight: 600;
  color: var(--primary-color);
  text-shadow: 0 0 4px var(--primary-color);
}

/* 移动端分页适配 */
@media (max-width: 768px) {
  .pagination-wrapper {
    flex-direction: column;
    gap: 15px;
    align-items: stretch;
  }
  
  .pagination-info {
    justify-content: center;
  }
  
  .pagination-controls {
    justify-content: center;
  }
}

/* ========= 分页控件样式 ========= */
.pagination-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
  padding: 15px;
  background: rgba(10, 10, 25, 0.7);
  border: 1px solid rgba(0, 247, 255, 0.3);
  border-radius: 8px;
  backdrop-filter: blur(10px);
}

.pagination-info {
  color: var(--text-color);
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.page-size-select {
  background: rgba(10, 10, 25, 0.7);
  border: 1px solid rgba(0, 247, 255, 0.3);
  border-radius: 4px;
  color: var(--text-color);
  padding: 4px 8px;
  font-size: 14px;
  transition: all 0.3s ease;
}

.page-size-select:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 8px rgba(0, 247, 255, 0.5);
}

.pagination-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pagination-btn {
  background: rgba(0, 247, 255, 0.1);
  border: 1px solid var(--primary-color);
  color: var(--primary-color);
  border-radius: 4px;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagination-btn:hover:not(:disabled) {
  background: rgba(0, 247, 255, 0.2);
  box-shadow: 0 0 12px rgba(0, 247, 255, 0.4);
}

.pagination-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  background: rgba(0, 247, 255, 0.05);
  border-color: rgba(0, 247, 255, 0.2);
}

.page-numbers {
  color: var(--text-color);
  font-size: 14px;
  padding: 0 12px;
  min-width: 80px;
  text-align: center;
}

.page-numbers span {
  font-weight: 600;
  color: var(--primary-color);
  text-shadow: 0 0 4px var(--primary-color);
}

/* 移动端分页适配 */
@media (max-width: 768px) {
  .pagination-wrapper {
    flex-direction: column;
    gap: 15px;
    align-items: stretch;
  }
  
  .pagination-info {
    justify-content: center;
  }
  
  .pagination-controls {
    justify-content: center;
  }
}

/* ========= 二级树独立滚动 ========= */
.cascade-lv2-group.show{
  max-height:200px;          /* 可视区域高度，按需调 */
  overflow-y:auto;
  padding-right:4px;         /* 留空避免文字被滚动条遮挡 */
}
/* neon 风格滚动条 */
.cascade-lv2-group::-webkit-scrollbar{width:6px;}
.cascade-lv2-group::-webkit-scrollbar-thumb{
  background:var(--primary-color);
  border-radius:3px;
}
.cascade-lv2-group::-webkit-scrollbar-track{
  background:rgba(0,247,255,.08);
  border-radius:3px;
}

/* 一键清空图标 */
.search-cascade{position:relative;}
.search-clear{
  position:absolute;
  right:8px;top:50%;
  transform:translateY(-50%);
  font-size:14px;
  color:var(--primary-color);
  cursor:pointer;
  display:none;          /* 空值时隐藏 */
}
.search-clear.show{display:block;}