/* ============================================================================
   属地巡查系统 · UI 设计系统（页面骨架 / 布局 / 组件）
   依赖 sdxc-theme.css 提供的色板变量，全站经 topnav.html 注入。
   约定：
     页面骨架   .sdxc-page / .sdxc-page-head / .sdxc-toolbar
     布局容器   .sdxc-layout--rail  .sdxc-layout--split  .sdxc-layout--wide
     数据面板   .sdxc-panel  列表 .sdxc-list/.sdxc-item  指标 .sdxc-kpi
     表单       .sdxc-field-label  .sdxc-chips  .sdxc-chip
   ========================================================================== */

:root {
  --sdxc-radius: 12px;
  --sdxc-radius-sm: 8px;
  --sdxc-shadow-1: 0 1px 2px rgba(15, 23, 42, .05), 0 6px 18px rgba(15, 23, 42, .05);
  --sdxc-shadow-2: 0 10px 30px rgba(15, 23, 42, .10);
  --sdxc-rail-w: 272px;
}

/* ============================== 页面骨架 ================================= */
body {
  background:
    radial-gradient(1200px 420px at 100% -180px, rgba(8, 145, 178, .10), transparent 62%),
    var(--sdxc-bg) !important;
}

/* 弱化文字：Bootstrap 的 .text-muted(#868e96) 在白底仅 3.6:1，
   统一压深到 #5A6B7D（白底 5.48:1、#F1F5F9 上 5.00:1），满足 WCAG AA */
.text-muted,
.text-muted a,
.text-muted i { color: #5A6B7D !important; }

/* ============================== 顶部横向导航 ============================= */
/* 原左侧栏整体重排为顶部横向菜单条，避免固定侧栏压住内容 */
.lyear-layout-container {
  display: flex !important;
  flex-direction: column;
  min-height: 100vh;
}

.lyear-layout-sidebar {
  position: sticky !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  height: 56px !important;
  min-height: 56px;
  display: flex !important;
  align-items: center;
  gap: 4px;
  padding: 0 16px !important;
  z-index: 60 !important;
  transform: none !important;
  overflow: visible !important;
  box-shadow: 0 2px 14px rgba(2, 20, 32, .22) !important;
  background: linear-gradient(90deg, #0B2A38 0%, #0F172A 42%, #155E75 100%) !important;
}

.lyear-layout-sidebar-close .lyear-layout-sidebar {
  transform: none !important;
  box-shadow: 0 2px 14px rgba(2, 20, 32, .22) !important;
}

/* 品牌区 */
.sidebar-header {
  flex: 0 0 auto;
  width: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 14px 0 2px;
  margin-right: 6px;
  border-right: 1px solid rgba(94, 234, 212, .18) !important;
  overflow: visible !important;
}

.sidebar-header a {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  width: auto !important;
  height: 56px !important;
  text-align: left !important;
}

.sidebar-header a svg {
  width: 26px !important;
  height: 26px !important;
  flex: 0 0 auto;
}

.sidebar-header a > span:first-of-type {
  font-size: 14px !important;
  letter-spacing: 1px !important;
  line-height: 1.1 !important;
  white-space: nowrap;
}

.sidebar-header a > span:first-of-type > span {
  display: none !important;
}

/* 滚动容器（原侧栏滚动区）改为横向条 */
.lyear-layout-sidebar-scroll,
.lyear-layout-sidebar-scroll.ps {
  flex: 1 1 auto;
  min-width: 0;
  height: 56px !important;
  display: flex !important;
  align-items: center;
  background: transparent !important;
  overflow: visible !important;
  position: relative;
}

.lyear-layout-sidebar-scroll .ps__rail-x,
.lyear-layout-sidebar-scroll .ps__rail-y {
  display: none !important;
}

.sidebar-main {
  flex: 1 1 auto;
  min-width: 0;
}

/* 一级菜单横向排列 */
.nav-drawer {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  flex-wrap: nowrap;
  gap: 2px;
  margin: 0 !important;
  padding: 0 !important;
}

.nav-drawer > .nav-group-title {
  display: none !important;
}

.nav-drawer > .nav-item {
  position: relative;
  flex: 0 0 auto;
}

/* 一级项向下延伸 10px 热区（视觉不变），保证从一级项移向二级菜单时 hover 连续 */
.nav-drawer > .nav-item-has-subnav {
  padding-bottom: 10px;
  margin-bottom: -10px;
}

.nav-drawer > .nav-item > a {
  position: relative !important;
  display: flex !important;
  align-items: center;
  gap: 6px;
  padding: 7px 13px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #CBE8F4 !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
  white-space: nowrap;
}

.nav-drawer > .nav-item > a > i {
  position: static !important;
  left: auto !important;
  top: auto !important;
  margin: 0 !important;
  font-size: 16px !important;
  color: #7DD3E8 !important;
}

.nav-drawer > .nav-item > a:hover,
.nav-drawer > .nav-item > a:focus,
.nav-drawer > .nav-item.open > a {
  background: rgba(34, 211, 238, .18) !important;
  color: #fff !important;
}

.nav-drawer > .nav-item > a.active {
  background: linear-gradient(135deg, rgba(34, 211, 238, .34), rgba(8, 145, 178, .16)) !important;
  color: #fff !important;
  box-shadow: inset 0 -2px 0 #22D3EE;
}

/* 下拉箭头与二级菜单 */
.nav-item-has-subnav > a:after {
  position: static !important;
  margin-left: 3px;
  font-size: 11px !important;
  line-height: 1 !important;
  opacity: .75;
}

.nav-item-has-subnav.open > a:after {
  transform: rotate(180deg) !important;
}

.nav-drawer > .nav-item > .nav-subnav {
  display: none;
  position: absolute !important;
  top: 100% !important;
  margin-top: 0 !important;
  left: 0 !important;
  right: auto !important;
  width: max-content;
  min-width: 210px;
  max-width: 300px;
  margin: 0 !important;
  padding: 6px !important;
  background: #0B2A38 !important;
  border: 1px solid rgba(94, 234, 212, .16) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 40px rgba(2, 20, 32, .42) !important;
  z-index: 90;
}

.nav-drawer > .nav-item:hover > .nav-subnav,
.nav-drawer > .nav-item.is-hover > .nav-subnav,
.nav-drawer > .nav-item:focus-within > .nav-subnav {
  display: block !important;
}

.nav-drawer > .nav-item:last-child > .nav-subnav {
  left: auto !important;
  right: 0 !important;
}

.nav-drawer > .nav-item > .nav-subnav > li {
  display: block !important;
}

.nav-drawer > .nav-item > .nav-subnav a {
  display: flex !important;
  align-items: center;
  gap: 7px;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  color: #A7D3E4 !important;
  font-size: 13px !important;
  white-space: nowrap;
}

.nav-drawer > .nav-item > .nav-subnav a > i {
  font-size: 15px;
  color: #5EEAD4;
}

.nav-drawer > .nav-item > .nav-subnav a:hover,
.nav-drawer > .nav-item > .nav-subnav a.active {
  background: rgba(34, 211, 238, .18) !important;
  color: #fff !important;
}

.nav-drawer ul li ul {
  padding-left: 0 !important;
}

.nav-drawer li a {
  padding-left: 13px !important;
  padding-right: 13px !important;
  font-weight: 500 !important;
}

/* 侧栏附属元素在横排模式下隐藏 */
.sidebar-footer { display: none !important; }
.lyear-aside-toggler { display: none !important; }
.lyear-mask-modal { display: none !important; }

/* 常驻滚动条槽位：避免页头插入导致出现滚动条时内容宽度跳变 */
html {
  height: auto !important;
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

/* 原模板让 body 成为滚动容器（height:100% + overflow-y:auto），
   内容超屏时 body 会多出一条滚动条，页面宽度随之少 9px，造成各页宽度不一。
   改为由文档滚动，body 高度自适应。 */
body {
  height: auto !important;
  min-height: 100vh;
  /* 用 clip 而非 hidden：hidden 会把 body 变成滚动容器，导致 top 菜单 sticky 失效 */
  overflow-x: clip !important;
  overflow-y: visible !important;
}

.lyear-layout-web,
.lyear-layout-container {
  height: auto !important;
  min-height: 100vh !important;
}

/* 旧模板表格：状态标签不折行，避免列宽被压扁 */
.sdxc-legacy-host .table .label,
.sdxc-legacy-host .table .badge,
.sdxc-legacy-host .table .text-warning,
.sdxc-legacy-host .table .text-danger,
.sdxc-legacy-host .table .text-success,
.sdxc-legacy-host .table .text-info,
.sdxc-legacy-host .table .text-primary,
.sdxc-legacy-host .table .text-muted { white-space: nowrap; }

/* 旧模板表格：中文不按字断行，列宽由内容撑开；必要时容器内横向滚动 */
.sdxc-legacy-host .table td { word-break: keep-all; }
.sdxc-legacy-host .table > thead > tr > th,
.sdxc-legacy-host .table > tbody > tr > td { padding-left: 8px; padding-right: 8px; }
.sdxc-table-wrap > table.sdxc-table-wide { min-width: 100%; }

/* 旧模板：页头直接插入 .container-fluid，保持原有 15px 内边距与 .row 负边距几何不变 */
.sdxc-legacy-host > .sdxc-page-head { margin-top: 0 !important; }
.sdxc-legacy-host > .sdxc-page-head + .row { margin-top: 0; }

/* 旧模板的空壳工具栏直接隐藏 */
.sdxc-blank { display: none !important; }
/* 内含筛选项/按钮的卡片头部不加竖向装饰条：用 :has() 在首帧判定，
   替代原先 DOMContentLoaded 后补 .sdxc-no-bar 的做法 */
.card-header:has(.label, .badge, .btn, form, select, input)::before { display: none !important; }
.card-header:has(.label, .badge, .btn, form, select, input) { padding-top: .55rem !important; padding-bottom: .55rem !important; }
.card-header.sdxc-no-bar::before { display: none !important; }
.card-header.sdxc-no-bar { padding-top: .55rem !important; padding-bottom: .55rem !important; }

/* ===== 帐号入口并入顶部菜单条（不占额外垂直空间） ===== */
/* 原白色次级栏整体塌陷为 0 高，仅把右侧帐号菜单固定到菜单条右端 */
.lyear-layout-header,
header.lyear-layout-header {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
  z-index: 65 !important;
}

.lyear-layout-header .navbar,
.lyear-layout-header .navbar-default,
.lyear-layout-header .topbar {
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  /* backdrop-filter 会为 fixed 子元素创建包含块，必须清掉才能贴到视口顶部 */
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
  transform: none !important;
}

.lyear-layout-header .topbar-left,
.lyear-layout-header .navbar-page-title { display: none !important; }

.lyear-layout-header .topbar-right {
  position: fixed !important;
  top: 0;
  right: 18px;
  height: 56px;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  z-index: 65;
}

.lyear-layout-header .topbar-right > li > a {
  padding: 4px 10px !important;
  color: #CBE8F4 !important;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 999px;
  transition: background .2s, color .2s;
}

.lyear-layout-header .topbar-right > li > a > .img-avatar { margin-right: 0 !important; }

.lyear-layout-header .topbar-right > li > a:hover,
.lyear-layout-header .topbar-right > li.open > a {
  color: #fff !important;
  background: rgba(34, 211, 238, .18);
}

.lyear-layout-header .topbar-right .img-avatar {
  width: 30px;
  height: 30px;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid rgba(94, 234, 212, .55);
  background: #E9F7FB;
  padding: 2px;
}

/* 为右侧帐号入口预留空间，避免菜单项被压到 */
.lyear-layout-sidebar { padding-right: 200px !important; }

/* ===== 全站统一内容槽：页头、工具栏、卡片左右边缘对齐到同一条基线 ===== */
.lyear-layout-content {
  --sdxc-gutter-x: 22px;
  --sdxc-gutter-y: 16px;
  padding: var(--sdxc-gutter-y) var(--sdxc-gutter-x) 32px !important;
  margin-left: 0 !important;
}

/* 外层容器只负责居中与限宽，不再叠加 Bootstrap 的 15px 内边距 */
.lyear-layout-content > .container,
.lyear-layout-content > .container-fluid {
  width: auto !important;
  max-width: 1800px !important;
  padding: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 一级栅格行：负边距归零；首列去左边距、末列去右边距，卡片因此贴齐内容槽 */
.lyear-layout-content > .container-fluid > .row,
.lyear-layout-content > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.lyear-layout-content > .container-fluid > .row > [class*="col-"]:first-child,
.lyear-layout-content > .row > [class*="col-"]:first-child {
  padding-left: 0 !important;
}

.lyear-layout-content > .container-fluid > .row > [class*="col-"]:last-child,
.lyear-layout-content > .row > [class*="col-"]:last-child {
  padding-right: 0 !important;
}

/* 通栏列（12 栅格）在同一行内上下堆叠时，左右内边距一并归零。
   否则首列被上一条规则贴左、后一列仍保留 15px 缩进，
   两张卡片会横向错开 15px（如网站内容巡查的"搜索条件预览"卡片） */
.lyear-layout-content > .container-fluid > .row > :is(.col-12, .col-sm-12, .col-md-12, .col-lg-12, .col-xl-12),
.lyear-layout-content > .row > :is(.col-12, .col-sm-12, .col-md-12, .col-lg-12, .col-xl-12) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 未用 row 包裹、直接挂在容器下的列 */
.lyear-layout-content > .container-fluid > [class*="col-"],
.lyear-layout-content > [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 页头与内容同宽，超宽屏统一居中 */
.sdxc-page {
  max-width: none;
  margin: 0;
}

/* 中等宽度：菜单项紧凑化，保证 9 个一级菜单 + 帐号不溢出 */
@media (max-width: 1500px) {
  .lyear-layout-sidebar { padding-right: 176px !important; }

  .sidebar-header { padding-right: 10px; margin-right: 4px; }
  .sidebar-header a > span:first-of-type { font-size: 13px !important; letter-spacing: .6px !important; }

  .nav-drawer > .nav-item > a {
    padding: 6px 9px !important;
    font-size: 12.5px !important;
    gap: 5px;
  }

  .nav-drawer > .nav-item > a > i { display: none !important; }
}

@media (max-width: 1366px) {
  .lyear-layout-sidebar { padding-right: 164px !important; }
  .nav-drawer > .nav-item > a { padding: 6px 7px !important; font-size: 12px !important; }
}

/* 窄屏：菜单换行，帐号入口回到独立一行 */
@media (max-width: 1199px) {
  .lyear-layout-sidebar {
    height: auto !important;
    min-height: 56px;
    padding: 6px 12px !important;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .sidebar-header a { height: 44px !important; }
  .lyear-layout-sidebar-scroll,
  .lyear-layout-sidebar-scroll.ps { height: auto !important; }

  .nav-drawer {
    flex-wrap: wrap;
    row-gap: 4px;
  }

  .sdxc-rail { position: static !important; }

  .nav-drawer > .nav-item > .nav-subnav {
    left: auto !important;
    right: auto !important;
  }

  /* 帐号入口改为常规行，避免与换行后的菜单重叠 */
  .lyear-layout-header,
  header.lyear-layout-header {
    height: 44px !important;
    min-height: 44px !important;
    background: #fff !important;
    border-bottom: 1px solid var(--sdxc-line) !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, .04) !important;
  }

  .lyear-layout-header .navbar,
  .lyear-layout-header .navbar-default,
  .lyear-layout-header .topbar { height: 44px !important; min-height: 44px !important; }

  .lyear-layout-header .topbar-right {
    position: static !important;
    height: 44px;
    margin-left: auto !important;
  }

  .lyear-layout-header .topbar-right > li > a { color: #33475B !important; }
}

@media (max-width: 767px) {
  .lyear-layout-sidebar { padding: 4px 8px !important; gap: 2px; }
  .nav-drawer > .nav-item > a { padding: 5px 9px !important; font-size: 12.5px !important; }
  .nav-drawer > .nav-item > a > i { font-size: 14px !important; }
  .sidebar-header { padding-right: 8px; margin-right: 2px; }
  .sidebar-header a > span:first-of-type { font-size: 12.5px !important; }
  .sidebar-header a svg { width: 22px !important; height: 22px !important; }
}

/* 页面骨架不做整块入场动画：
   opacity 0→1 + 下移 6px 的淡入会让每次跳转都像"闪一下" */
.sdxc-page {
  max-width: none;
  margin: 0;
}

/* 页头：面包屑 + 标题 + 描述 + 右侧动作槽 */
.sdxc-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  margin: 2px 0 16px;
  padding-bottom: 14px;
  border-bottom: 1px dashed #D7E3EC;
}

.sdxc-page-head .crumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #5A6B7D;
  letter-spacing: .4px;
  margin-bottom: 6px;
}
.sdxc-page-head .crumb i { font-size: 13px; color: var(--sdxc-primary-lt); }
.sdxc-page-head .crumb b { color: var(--sdxc-primary-dk); font-weight: 600; }

.sdxc-page-head h1 {
  margin: 0;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: .5px;
  color: #0B2A38;
  display: flex;
  align-items: center;
  gap: 10px;
}
.sdxc-page-head h1::before {
  content: "";
  width: 5px;
  height: 20px;
  border-radius: 3px;
  background: linear-gradient(180deg, #22D3EE, var(--sdxc-primary));
  display: inline-block;
}
.sdxc-page-head .desc {
  margin: 6px 0 0 15px;
  font-size: 12.5px;
  color: #5A6B7D;
  max-width: 78ch;
}
.sdxc-page-head .head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* ============================== 布局容器 ================================= */
.sdxc-layout { display: block; }

.sdxc-layout--rail {
  display: grid;
  grid-template-columns: minmax(0, var(--sdxc-rail-w)) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
@media (max-width: 1199.98px) {
  .sdxc-layout--rail { grid-template-columns: minmax(0, 1fr); }
  .sdxc-layout--rail .sdxc-rail { position: static !important; }
}

/* 左侧筛选栏 */
.sdxc-rail {
  position: sticky;
  top: 66px;
  max-height: calc(100vh - 82px);
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--sdxc-line);
  border-radius: var(--sdxc-radius);
  box-shadow: var(--sdxc-shadow-1);
  padding: 0;
  overflow: hidden;
}

/* 左栏内部纵向滚动，底部按钮始终可见 */
.sdxc-rail > form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.sdxc-rail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  background: linear-gradient(135deg, #F0FAFD, #FFFFFF 70%);
  border-bottom: 1px solid #E6F4F8;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--sdxc-primary-dk);
  letter-spacing: .6px;
}
.sdxc-rail-head i { font-size: 16px; margin-right: 6px; }
.sdxc-rail-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 10px 14px 12px;
  scrollbar-width: thin;
  scrollbar-color: #CBDDE7 transparent;
}

.sdxc-rail-body::-webkit-scrollbar { width: 6px; }
.sdxc-rail-body::-webkit-scrollbar-thumb { background: #CBDDE7; border-radius: 3px; }
.sdxc-rail-body::-webkit-scrollbar-track { background: transparent; }

/* 每个条件分组：紧凑 + 可单独折叠 */
.sdxc-rail-sec {
  padding: 0;
  border-top: 1px dashed #E6EDF3;
}

.sdxc-rail-sec:first-child { border-top: 0; }
.sdxc-rail-sec[open] { padding-bottom: 8px; }

.sdxc-rail-title,
.sdxc-rail-sec > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11.5px;
  font-weight: 600;
  color: #5A6B7D;
  letter-spacing: 1px;
  margin: 0;
  padding: 7px 0 6px;
}

.sdxc-rail-sec > summary {
  cursor: pointer;
  list-style: none;
  color: #5A6B7D;
}

.sdxc-rail-sec > summary::-webkit-details-marker { display: none; }

.sdxc-rail-sec > summary::after {
  content: "\F0140";
  font-family: "Material Design Icons";
  font-size: 14px;
  color: #5A6B7D;
  transition: transform .2s;
}

.sdxc-rail-sec[open] > summary::after { transform: rotate(180deg); }
.sdxc-rail-sec > summary:hover { color: var(--sdxc-primary-dk); }

.sdxc-rail-sec > .sdxc-rail-title { margin-bottom: 6px; }
.sdxc-rail-sec .sdxc-chips { gap: 5px; }
.sdxc-rail .sdxc-chip {
  padding: 3px 9px;
  font-size: 12px;
  border-radius: 7px;
}
.sdxc-rail .sdxc-field-label {
  font-size: 11.5px;
  margin-bottom: 4px;
}
.sdxc-rail .form-control {
  height: 32px;
  padding: 4px 8px;
  font-size: 12.5px;
}
.sdxc-rail .tab-content { max-height: 190px !important; }
.sdxc-rail .nav-tabs > li > a,
.sdxc-rail .nav-tabs .nav-link { padding: 5px 9px !important; font-size: 12px !important; }

.sdxc-rail-foot {
  flex: 0 0 auto;
  padding: 10px 14px;
  border-top: 1px solid #EEF4F8;
  background: #FAFDFE;
  display: flex;
  gap: 8px;
}
/* 侧边栏分组标题 */
.nav-drawer .nav-group-title {
  list-style: none;
  padding: 16px 22px 6px;
  font-size: 10.5px;
  letter-spacing: 2px;
  color: rgba(165, 243, 252, .38);
  text-transform: uppercase;
}
.nav-drawer .nav-item > a.active {
  background: linear-gradient(90deg, rgba(34, 211, 238, .22), rgba(8, 145, 178, .04)) !important;
  box-shadow: inset 3px 0 0 #22D3EE;
}

/* 左侧栏内的纵向条目列表 */
.sdxc-rail-list { display: flex; flex-direction: column; gap: 5px; }
.sdxc-rail-list .sdxc-chip {
  border-radius: 8px;
  padding: 6px 10px;
  border-color: transparent;
  background: #F7FAFC;
  font-size: 12.5px;
  justify-content: space-between;
  width: 100%;
}
.sdxc-rail-list .sdxc-chip:hover { background: #EDF8FC; }
.sdxc-rail-list .sdxc-chip.is-on { background: linear-gradient(135deg, #0EA5C6, #0E7490); }
.sdxc-rail-foot .btn { flex: 1; }

/* 主内容列 */
.sdxc-main { min-width: 0; }

/* ============================== 面板 / 卡片 ============================= */
.sdxc-panel {
  background: #fff;
  border: 1px solid var(--sdxc-line);
  border-radius: var(--sdxc-radius);
  box-shadow: var(--sdxc-shadow-1);
  overflow: hidden;
}
.sdxc-panel + .sdxc-panel { margin-top: 16px; }
.sdxc-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 16px;
  border-bottom: 1px solid #EEF4F8;
  background: linear-gradient(180deg, #FCFEFF, #F8FBFD);
}
.sdxc-panel-head .ttl {
  font-size: 14px;
  font-weight: 600;
  color: #123B52;
  display: flex;
  align-items: center;
  gap: 8px;
}
.sdxc-panel-head .ttl i { color: var(--sdxc-primary-lt); font-size: 16px; }
.sdxc-panel-head .sub { font-size: 12px; color: #5A6B7D; }
.sdxc-panel-body { padding: 16px; }
.sdxc-panel-body.is-flush { padding: 0; }
.sdxc-panel-foot {
  padding: 12px 16px;
  border-top: 1px solid #EEF4F8;
  background: #FBFDFE;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.sdxc-panel-foot .pagination { margin: 0; }

/* 与旧 card 兼容：使用 sdxc-panel 后去掉旧内边距 */
.card .sdxc-panel, .card .sdxc-rail { box-shadow: none; border-radius: var(--sdxc-radius); }

/* ============================== 工具条 =================================== */
/* 旧模板的按钮组直接按工具条渲染，不再依赖前端补类（首帧即正确） */
.sdxc-toolbar,
.sdxc-legacy-host .toolbar-btn-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid var(--sdxc-line);
  border-radius: var(--sdxc-radius);
  box-shadow: var(--sdxc-shadow-1);
  margin-bottom: 14px;
}
/* 旧模板的按钮组只是按钮集合，左对齐排列，不套用两端对齐 */
.sdxc-legacy-host .toolbar-btn-action { justify-content: flex-start; }
.sdxc-toolbar .grp { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sdxc-toolbar .grp .sep { width: 1px; height: 20px; background: #E2E8F0; margin: 0 2px; }

/* 结果统计条 */
.sdxc-stats-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 13px;
  color: #5A6B7D;
  padding: 10px 16px;
  background: linear-gradient(90deg, #F2FBFE, #FFFFFF 55%);
  border-bottom: 1px solid #E9F4F8;
}
.sdxc-stats-bar b { color: var(--sdxc-primary-dk); font-size: 15px; font-variant-numeric: tabular-nums; }
.sdxc-stats-bar .dot { width: 5px; height: 5px; border-radius: 50%; background: #B7C7D4; }

/* ============================== 指标卡 =================================== */
.sdxc-kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.sdxc-kpi {
  position: relative;
  background: #fff;
  border: 1px solid var(--sdxc-line);
  border-radius: var(--sdxc-radius);
  padding: 15px 16px 14px 18px;
  box-shadow: var(--sdxc-shadow-1);
  transition: transform .2s ease, box-shadow .2s ease;
  overflow: hidden;
}
.sdxc-kpi::before {
  content: "";
  position: absolute;
  left: 0; top: 12px; bottom: 12px;
  width: 3px; border-radius: 0 3px 3px 0;
  background: linear-gradient(180deg, #22D3EE, var(--sdxc-primary));
}
.sdxc-kpi:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(14, 116, 144, .12); }
.sdxc-kpi .k-lbl {
  font-size: 12px;
  color: #5A6B7D;
  letter-spacing: .8px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.sdxc-kpi .k-lbl i { color: #5A6B7D; font-size: 15px; }
.sdxc-kpi .k-val {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.25;
  color: #0B2A38;
  font-variant-numeric: tabular-nums;
}
.sdxc-kpi .k-val small { font-size: 12px; font-weight: 500; color: #5A6B7D; margin-left: 4px; }
.sdxc-kpi .k-sub { font-size: 11.5px; color: #5A6B7D; }
.sdxc-kpi.k-warn::before { background: linear-gradient(180deg, #FBBF24, #D97706); }
.sdxc-kpi.k-ok::before { background: linear-gradient(180deg, #34D399, #16A34A); }
.sdxc-kpi.k-ink::before { background: linear-gradient(180deg, #64748B, #0F172A); }

/* ============================== 标签 / 徽标 ============================== */
.sdxc-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.7;
  font-weight: 500;
  border: 1px solid transparent;
  white-space: nowrap;
  vertical-align: middle;
}
.sdxc-tag--pri { color: #0B5A6E; background: #E4F7FC; border-color: #C7EDF6; }
.sdxc-tag--ok { color: #14633B; background: #E8F9EF; border-color: #C9EFD9; }
.sdxc-tag--warn { color: #8A4B08; background: #FEF6E4; border-color: #FBE3B6; }
.sdxc-tag--danger { color: #9B1C1C; background: #FDEDED; border-color: #F8D0D0; }
.sdxc-tag--grey { color: #55657A; background: #F1F5F9; border-color: #E4EAF1; }
.sdxc-tag--ink { color: #E2F4FB; background: #123B52; border-color: #123B52; }

/* 兼容旧 label（把 Bootstrap label 收敛成更柔和的胶囊） */
.label {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 8px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  border: 1px solid transparent;
  margin-right: 4px;
}
.label-primary { background: #E4F7FC !important; color: #0B5A6E !important; border-color: #C7EDF6 !important; }
.label-success, .label-success-light { background: #E8F9EF !important; color: #14633B !important; border-color: #C9EFD9 !important; }
.label-info { background: #EAF2FE !important; color: #1D4E89 !important; border-color: #D3E4FB !important; }
.label-warning, .label-yellow, .label-warning-light { background: #FEF6E4 !important; color: #8A4B08 !important; border-color: #FBE3B6 !important; }
.label-danger { background: #FDEDED !important; color: #9B1C1C !important; border-color: #F8D0D0 !important; }
.label-default, .label-secondary { background: #F1F5F9 !important; color: #55657A !important; border-color: #E4EAF1 !important; }
.label-purple { background: #F1ECFE !important; color: #5B3FA8 !important; border-color: #E3DAFB !important; }

/* ============================== 数据表 =================================== */
/* 旧模板的表格滚动区由 JS 补类，改为首帧即生效，避免加载后表格突然限高 */
.sdxc-table-wrap,
.sdxc-legacy-host .table-responsive {
  overflow: auto;
  border-radius: 0 0 var(--sdxc-radius) var(--sdxc-radius);
  max-height: calc(100vh - 300px);
}
.sdxc-table-wrap::-webkit-scrollbar { width: 8px; height: 8px; }

.table {
  margin-bottom: 0 !important;
  border-color: #EDF2F6 !important;
}
.table > thead > tr > th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #F4FAFC !important;
  color: #245A6E !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: .5px;
  border-bottom: 1px solid #DDF0F5 !important;
  border-top: 0 !important;
  padding: 11px 12px !important;
}
.table > tbody > tr > td {
  padding: 11px 12px !important;
  font-size: 13px;
  color: #3C4C5E !important;
  border-color: #EEF3F7 !important;
  vertical-align: middle !important;
}
.table-bordered { border: 0 !important; }
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > td { border-left: 0 !important; border-right: 0 !important; }
.table-hover > tbody > tr:hover > td { background: #F5FCFE !important; }
.table-striped > tbody > tr:nth-of-type(odd) > td { background: #FCFEFF; }
.table-sm > tbody > tr > td { padding: 8px 10px !important; }

/* ============================== 表单 ==================================== */
.sdxc-field-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #5A6B7D;
  letter-spacing: .6px;
  margin-bottom: 6px;
}
.form-control, .custom-select, select.form-control {
  border: 1px solid #DCE6EE !important;
  border-radius: var(--sdxc-radius-sm) !important;
  font-size: 13px !important;
  color: #22333F !important;
  background-color: #fff;
  height: auto;
  min-height: 36px;
  padding: .42rem .7rem;
  transition: border-color .18s, box-shadow .18s;
}
.form-control::placeholder { color: #6B7280; }
.form-control:focus, select.form-control:focus {
  border-color: #7DD3E8 !important;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, .12) !important;
}
.input-group-text, .input-group-addon { border-radius: var(--sdxc-radius-sm); }

/* chips 形式的筛选项 */
.sdxc-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.sdxc-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 11px;
  border-radius: 999px;
  border: 1px solid #DCE6EE;
  background: #fff;
  color: #55657A;
  font-size: 12.5px;
  line-height: 1.5;
  cursor: pointer;
  text-decoration: none !important;
  transition: all .16s ease;
  user-select: none;
}
.sdxc-chip:hover { border-color: #9FE3F0; background: #F2FBFE; color: var(--sdxc-primary-dk); }
.sdxc-chip.is-on,
.sdxc-chip.active {
  background: linear-gradient(135deg, #0EA5C6, #0E7490);
  border-color: transparent;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(14, 116, 144, .26);
}
.sdxc-chip .cnt { font-size: 11px; opacity: .7; }

/* 复选行 */
.sdxc-checkline {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 7px;
  font-size: 13px;
  color: #3C4C5E;
  cursor: pointer;
  transition: background .15s;
}
.sdxc-checkline:hover { background: #F4FAFC; }
.sdxc-checkline input { margin: 0; }

/* 折叠筛选面板 */
.sdxc-collapse > summary {
  cursor: pointer;
  list-style: none;
  font-size: 13px;
  font-weight: 600;
  color: #245A6E;
  padding: 9px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sdxc-collapse > summary::-webkit-details-marker { display: none; }
.sdxc-collapse > summary::after {
  content: "\F0140";
  font-family: "Material Design Icons";
  font-size: 15px;
  color: #5A6B7D;
  transition: transform .2s;
}
.sdxc-collapse[open] > summary::after { transform: rotate(180deg); }

/* ============================== 结果列表 ================================= */
.sdxc-list { display: flex; flex-direction: column; }
.sdxc-item {
  position: relative;
  padding: 15px 18px 14px 20px;
  border-bottom: 1px solid #EEF3F7;
  transition: background .18s ease;
}
.sdxc-item:last-child { border-bottom: 0; }
.sdxc-item:hover { background: #FAFDFE; }
.sdxc-item::before {
  content: "";
  position: absolute;
  left: 0; top: 18px;
  width: 3px; height: 16px;
  border-radius: 0 3px 3px 0;
  background: #D9E8EF;
  transition: background .2s, height .2s;
}
.sdxc-item:hover::before { background: linear-gradient(180deg, #22D3EE, var(--sdxc-primary)); height: 26px; }

.sdxc-item-head { display: flex; align-items: flex-start; gap: 10px; }
.sdxc-item-idx {
  flex: 0 0 auto;
  min-width: 26px;
  height: 22px;
  border-radius: 6px;
  background: #F0F7FA;
  color: #5A6B7D;
  font-size: 11.5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-variant-numeric: tabular-nums;
  margin-top: 1px;
}
.sdxc-item-title {
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.55;
  color: #14364A;
  margin: 0;
}
.sdxc-item-title a { color: inherit; text-decoration: none; }
.sdxc-item-title a:hover { color: var(--sdxc-primary); text-decoration: underline; }
.sdxc-item-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  font-size: 12px;
  color: #5A6B7D;
  margin: 7px 0 0;
}
.sdxc-item-meta .mi { display: inline-flex; align-items: center; gap: 4px; }
.sdxc-item-meta .mi i { font-size: 13px; color: #5A6B7D; }
.sdxc-item-meta a { color: #5A6B7D; }
.sdxc-item-body {
  margin-top: 9px;
  font-size: 13px;
  line-height: 1.85;
  color: #52606D;
  background: #FBFDFE;
  border: 1px solid #F0F5F9;
  border-left: 2px solid #E4F0F5;
  border-radius: 0 8px 8px 0;
  padding: 9px 12px;
  word-break: break-word;
}
.sdxc-item-body .nlink { font-size: 12px; color: #5A6B7D; }
.sdxc-item-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px dashed #EFF4F8;
}
.sdxc-item-foot .tags { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.sdxc-item-foot .acts { display: flex; gap: 6px; align-items: center; }

/* 高亮词 */
em.sdxc-hit, .sdxc-hit { background: #FFF1C2; color: #8A4B08; padding: 0 2px; border-radius: 3px; font-style: normal; }

/* 空状态 */
.sdxc-empty {
  padding: 46px 16px;
  text-align: center;
  color: #5A6B7D;
  font-size: 13px;
}
.sdxc-empty img { max-width: 220px; opacity: .55; margin-bottom: 10px; }
.sdxc-empty i { font-size: 40px; color: #C6D6E1; display: block; margin-bottom: 8px; }

/* 时间线（工单流转 / 操作留痕） */
.sdxc-timeline { position: relative; padding-left: 18px; }
.sdxc-timeline::before {
  content: "";
  position: absolute;
  left: 4px; top: 6px; bottom: 6px;
  width: 2px;
  background: linear-gradient(180deg, #CFF0F7, #EAF2F6);
}
.sdxc-timeline-item { position: relative; padding: 0 0 16px 10px; }
.sdxc-timeline-item::before {
  content: "";
  position: absolute;
  left: -18px; top: 5px;
  width: 9px; height: 9px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--sdxc-primary-lt);
}
.sdxc-timeline-item .tm { font-size: 12px; color: #5A6B7D; }
.sdxc-timeline-item .tt { font-size: 13.5px; color: #22333F; font-weight: 600; }

/* ============================== 看板 ==================================== */
.sdxc-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
  align-items: start;
}
.sdxc-board-col {
  background: #F7FAFC;
  border: 1px solid #E9EFF5;
  border-radius: var(--sdxc-radius);
  padding: 10px;
}
.sdxc-board-col > .bh {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12.5px;
  font-weight: 600;
  color: #55657A;
  letter-spacing: .6px;
  padding: 2px 4px 10px;
}
.sdxc-board-col > .bh .n {
  background: #fff;
  border: 1px solid #E4EAF1;
  border-radius: 999px;
  padding: 0 7px;
  font-size: 11px;
  color: #5A6B7D;
}
.sdxc-board-card {
  background: #fff;
  border: 1px solid #E4ECF2;
  border-radius: 10px;
  padding: 11px 12px;
  margin-bottom: 9px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
  transition: box-shadow .18s, transform .18s;
}
.sdxc-board-card:hover { box-shadow: 0 8px 18px rgba(14, 116, 144, .12); transform: translateY(-1px); }
.sdxc-board-card .t { font-size: 13px; font-weight: 600; color: #1B3A4B; line-height: 1.5; }
.sdxc-board-card .m { font-size: 11.5px; color: #5A6B7D; margin-top: 6px; }

/* ============================== 图片墙 ================================== */
.sdxc-shots {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
  gap: 14px;
}
.sdxc-shot {
  background: #fff;
  border: 1px solid var(--sdxc-line);
  border-radius: var(--sdxc-radius);
  overflow: hidden;
  box-shadow: var(--sdxc-shadow-1);
  transition: transform .2s ease, box-shadow .2s ease;
  display: flex;
  flex-direction: column;
}
.sdxc-shot:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(14, 116, 144, .16); }
.sdxc-shot .thumb {
  position: relative;
  background: #F1F5F9;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}
.sdxc-shot .thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.sdxc-shot:hover .thumb img { transform: scale(1.04); }
.sdxc-shot .thumb .ov {
  position: absolute;
  inset: auto 0 0 0;
  padding: 18px 10px 8px;
  background: linear-gradient(180deg, transparent, rgba(6, 26, 38, .72));
  color: #EAF9FE;
  font-size: 11.5px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sdxc-shot .cap { padding: 10px 12px 12px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.sdxc-shot .cap .t { font-size: 12.8px; color: #22333F; font-weight: 600; line-height: 1.5; word-break: break-all; }
.sdxc-shot .cap .m { font-size: 11.5px; color: #5A6B7D; }
.sdxc-shot .cap .tags { display: flex; gap: 5px; flex-wrap: wrap; }

/* ============================== 分页 / 按钮 ============================== */
.pagination { gap: 4px; display: flex; flex-wrap: wrap; }
.pagination > li > a, .pagination > li > span,
.page-item .page-link {
  border: 1px solid #E1EAF1 !important;
  border-radius: 7px !important;
  color: #52606D !important;
  font-size: 12.5px;
  padding: .32rem .62rem;
  margin: 0;
  background: #fff;
}
.pagination > li > a:hover, .page-item .page-link:hover { background: #EFFAFD !important; color: var(--sdxc-primary) !important; border-color: #BFEAF4 !important; }
.pagination > .active > a, .pagination > .active > span, .page-item.active .page-link {
  background: linear-gradient(135deg, #0EA5C6, #0E7490) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(14, 116, 144, .24);
}
.pagination > .disabled > a, .page-item.disabled .page-link { color: #B4C2CE !important; background: #FAFCFD; }

.btn {
  border-radius: var(--sdxc-radius-sm) !important;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .2px;
  padding: .4rem .82rem;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.btn-xs, .btn-group-xs > .btn { border-radius: 6px !important; padding: .18rem .42rem; font-size: 11.5px; }
.btn-sm { padding: .3rem .62rem; font-size: 12.5px; }
.btn-default, .btn-light {
  background: #fff !important;
  border: 1px solid #DCE6EE !important;
  color: #44576B !important;
}
.btn-default:hover, .btn-light:hover { background: #F4FAFC !important; border-color: #BFEAF4 !important; color: var(--sdxc-primary-dk) !important; }
.btn-danger { background: linear-gradient(135deg, #F87171, #DC2626) !important; border: 0 !important; color: #fff !important; }
.btn-warning { background: linear-gradient(135deg, #FBBF24, #D97706) !important; border: 0 !important; color: #fff !important; }
.btn-default.dropdown-toggle:hover { color: var(--sdxc-primary-dk) !important; }

/* ============================== 弹窗 / 抽屉 ============================== */
.modal-content {
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 24px 60px rgba(15, 23, 42, .28) !important;
  overflow: hidden;
}
.modal-header {
  background: linear-gradient(135deg, #F0FAFD, #fff);
  border-bottom: 1px solid #E6F1F6 !important;
  padding: 13px 18px !important;
}
.modal-title { font-size: 15px; font-weight: 600; color: #123B52; }
.modal-body { padding: 16px 18px !important; }
.modal-footer { border-top: 1px solid #EEF4F8 !important; padding: 11px 18px !important; }

.sdxc-drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(420px, 92vw);
  background: #fff;
  box-shadow: -18px 0 48px rgba(15, 23, 42, .18);
  z-index: 1050;
  transform: translateX(104%);
  transition: transform .28s ease;
  display: flex;
  flex-direction: column;
}
.sdxc-drawer.is-open { transform: none; }
.sdxc-drawer .dh {
  padding: 14px 18px;
  border-bottom: 1px solid #EEF4F8;
  display: flex; align-items: center; justify-content: space-between;
  font-weight: 600; color: #123B52;
}
.sdxc-drawer .db { padding: 16px 18px; overflow: auto; flex: 1; }
.sdxc-mask {
  position: fixed; inset: 0;
  background: rgba(11, 31, 44, .38);
  backdrop-filter: blur(2px);
  z-index: 1049;
  opacity: 0; pointer-events: none;
  transition: opacity .25s;
}
.sdxc-mask.is-open { opacity: 1; pointer-events: auto; }

/* ============================== 提示条 ================================== */
.alert { border: 0 !important; border-radius: 10px !important; font-size: 13px; }
.alert-info { background: #EFFAFD !important; color: #1F6274 !important; }
.alert-warning { background: #FEF8EA !important; color: #8A5A08 !important; }
.alert-success { background: #EBFAF1 !important; color: #14633B !important; }
.alert-danger { background: #FDEFEF !important; color: #9B1C1C !important; }

/* 标签页 */
.nav-tabs { border-bottom: 1px solid #E6EDF3 !important; gap: 2px; }
.nav-tabs > li > a, .nav-tabs .nav-link {
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  color: #5A6B7D !important;
  font-size: 13px;
  font-weight: 500;
  padding: 7px 13px !important;
  border-radius: 8px 8px 0 0 !important;
  background: transparent !important;
}
.nav-tabs > li > a:hover { color: var(--sdxc-primary) !important; background: #F5FBFD !important; }
.nav-tabs > li.active > a, .nav-tabs .nav-link.active {
  color: var(--sdxc-primary-dk) !important;
  border-bottom-color: var(--sdxc-primary) !important;
  background: #F7FCFE !important;
  font-weight: 600;
}
.tabbable-line .tab-content {
  border: 1px solid #EDF3F7;
  border-radius: 0 0 10px 10px;
  padding: 10px 12px !important;
  background: #FBFDFE;
}

/* 旧结构收敛 */
.card-toolbar {
  background: linear-gradient(180deg, #FCFEFF, #F9FCFD) !important;
  border-bottom: 1px solid #EEF4F8 !important;
  padding: 11px 14px !important;
}
/* 搜索条件预览卡片：左侧强调条改成不占位的内阴影（原来 border-left 会把文字右推 4px），
   内边距与普通 card-toolbar 一致，文字与上下卡片左对齐；
   内部再套 .card-toolbar 时不再叠加留白/分隔线，避免缩进一层深一层 */
.card-toolbar.search-preview {
  padding: 11px 14px !important;
  border-left: 0 !important;
  box-shadow: inset 4px 0 0 #667eea;
  margin-bottom: 0 !important;
}
.search-preview .card-toolbar {
  padding: 8px 0 0 !important;
  background: none !important;
  border-bottom: 0 !important;
}
.card-body { padding: 16px !important; }
.card-header { background: #FBFDFE !important; }

/* 响应式细节 */
@media (max-width: 767.98px) {
  .lyear-layout-content { padding: 12px 12px 26px !important; }
  .sdxc-page-head h1 { font-size: 18px; }
  .sdxc-page-head .desc { display: none; }
  .sdxc-toolbar { padding: 9px 11px; }
  .table-responsive { border-radius: 10px; }
}

/* ============================== 旧页面结构收敛 =========================== */
/* 图片墙（masonry-grid / panel.show-grid） */
.masonry-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 14px;
}
.masonry-grid > .panel,
.masonry-grid > .show-grid {
  margin: 0;
  border: 1px solid var(--sdxc-line) !important;
  border-radius: var(--sdxc-radius) !important;
  box-shadow: var(--sdxc-shadow-1) !important;
  overflow: hidden;
  background: #fff;
  transition: transform .2s, box-shadow .2s;
}
.masonry-grid > .panel:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(14, 116, 144, .14) !important; }
.masonry-grid .alert { margin: 0 !important; border-radius: 0 !important; font-size: 12px; padding: 8px 10px; }
.masonry-grid > .panel img { width: 100%; height: auto !important; display: block; object-fit: cover; }
.masonry-grid > .panel .alert-info { background: #F7FBFD !important; }

/* 条件筛选行（list-chose / multi-chosen） */
.list-chose { margin: 0; padding: 0; }
.list-chose .multi-chosen {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  padding: 8px 0;
}
.list-chose .multi-chosen .title {
  font-size: 12px;
  color: #5A6B7D;
  letter-spacing: .6px;
  margin-right: 4px;
}
.list-chose .multi-chosen .btn {
  border-radius: 999px !important;
  padding: 3px 12px !important;
  font-size: 12px;
  background: #F7FAFC !important;
  border: 1px solid #E4ECF2 !important;
  color: #55657A !important;
  box-shadow: none !important;
}
.list-chose .multi-chosen .btn.active,
.list-chose .multi-chosen .btn:hover {
  background: linear-gradient(135deg, #0EA5C6, #0E7490) !important;
  border-color: transparent !important;
  color: #fff !important;
}

/* 高级检索结果表 → 近似列表 */
.result-table { border: 0 !important; }
.result-table thead { display: none; }
.result-table tbody > tr {
  display: block;
  position: relative;
  border-bottom: 1px solid #EEF3F7;
  padding: 4px 0;
}
.result-table tbody > tr:hover { background: #FAFDFE; }
.result-table tbody > tr > td { display: block; width: auto !important; border: 0 !important; }
.result-table tbody > tr > td:first-child { float: left; width: 52px !important; padding: 12px 0 0 !important; }
.result-table tbody > tr > td:first-child + td { margin-left: 52px; }
.result-table .result-title { font-size: 14.5px !important; font-weight: 600; color: #14364A; margin: 10px 0 6px; }
.result-table .result-title a { color: inherit; text-decoration: none; }
.result-table .result-title a:hover { color: var(--sdxc-primary); text-decoration: underline; }
.result-table .result-content {
  font-size: 13px; line-height: 1.85; color: #52606D;
  background: #FBFDFE; border-left: 2px solid #E4F0F5;
  border-radius: 0 8px 8px 0; padding: 9px 12px; margin: 8px 0;
}
.result-table .result-url { font-size: 12px; color: #5A6B7D; }
.result-table .result-label { margin-right: 4px; }
.result-table .result-meta { font-size: 12px; color: #5A6B7D; }
.result-table .meta-label { color: #5A6B7D; margin-right: 3px; }
.result-table .meta-grid { display: flex; flex-wrap: wrap; gap: 6px 16px; }

/* 高级检索表单（旧 include）配色归一 */
.advsearch-container {
  box-shadow: none !important;
  border-radius: 12px !important;
  margin-bottom: 0 !important;
}
.advsearch-header {
  background: linear-gradient(135deg, #0891B2, #155E75) !important;
  border-radius: 12px 12px 0 0 !important;
  padding: 13px 18px !important;
}
.advsearch-body { padding: 16px 18px !important; }
.advsearch-footer {
  background: #F7FBFD !important;
  border-top: 1px solid #EAF2F6 !important;
  padding: 14px !important;
  border-radius: 0 0 12px 12px !important;
}
.advsearch-container .search-btn {
  background: linear-gradient(135deg, #0891B2, #0E7490) !important;
  box-shadow: 0 4px 14px rgba(8, 145, 178, .26) !important;
  border-radius: 999px !important;
}
.ai-mode-capsule .capsule-btn.active {
  background: linear-gradient(135deg, #0891B2, #0E7490) !important;
  box-shadow: 0 2px 8px rgba(8, 145, 178, .32) !important;
}
.advsearch-container .section-title { color: var(--sdxc-primary-dk) !important; }
.advsearch-container .form-section { border-bottom: 1px dashed #E6EFF4 !important; }

/* 聚合标签 */
.aggregation-section { border: 0 !important; padding: 0 !important; margin: 0 0 10px; }
.aggregation-title { font-size: 12px; color: #5A6B7D; margin-bottom: 8px; }
.aggregation-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.aggregation-tag {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 10px; border-radius: 999px;
  background: #F5FAFC; border: 1px solid #E4ECF2;
  color: #55657A !important; font-size: 12px; text-decoration: none !important;
}
.aggregation-tag:hover { background: #E9F8FC; border-color: #BFEAF4; color: var(--sdxc-primary-dk) !important; }
.aggregation-tag .tag-count { font-size: 11px; color: #5A6B7D; }

/* 结果统计条 */
.result-stats-bar {
  background: #F2FBFE !important;
  border: 1px solid #DFF2F8 !important;
  border-radius: 8px;
  padding: 8px 12px !important;
  font-size: 12.5px;
  color: #52606D;
  margin-bottom: 10px;
}
.stats-highlight { color: var(--sdxc-primary-dk); font-weight: 700; }

/* 分页区 */
.pagination-section { border-top: 1px solid #EEF3F7; padding-top: 12px; margin-top: 12px !important; }
.pagination-page-info { color: #5A6B7D !important; }
.no-data-section { text-align: center; padding: 40px 0; color: #5A6B7D; }
.no-data-section img { max-width: 200px; opacity: .5; }
.divider {
  text-align: center !important;
  color: #5A6B7D !important;
  font-size: 11px !important;
  letter-spacing: 2px;
  margin: 14px 0 4px !important;
}

/* 内联表单 / 搜索条统一间距 */
.form-inline .form-group { margin-right: 8px; margin-bottom: 8px; }
.form-inline .form-control { min-width: 140px; }
.search-bar .input-group { display: flex !important; align-items: stretch; gap: 0; }
.search-bar .input-group .form-control { border-radius: 8px 0 0 8px !important; }
.search-bar .input-group .input-group-btn .btn,
.search-bar .input-group .btn:last-child { border-radius: 0 8px 8px 0 !important; }

/* 表头问号 / tooltip 图标 */
.mdi.mdi-information-outline { vertical-align: -2px; }

/* 打印 */
@media print {
  .sdxc-toolbar, .sdxc-rail, .lyear-layout-sidebar, .lyear-layout-header { display: none !important; }
}
