/*
* demo.css
* File include item demo only specific css only
******************************************************************************/

.light-style .menu .app-brand.demo {
  height: 64px;
}

.dark-style .menu .app-brand.demo {
  height: 64px;
}

.app-brand-logo.demo {
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  display: -ms-flexbox;
  display: flex;
  width: 34px;
  height: 24px;
}

.app-brand-logo.demo svg {
  width: 35px;
  height: 24px;
}

.app-brand-text.demo {
  font-size: 1.375rem;
}

/* ! For .layout-navbar-fixed added fix padding top tpo .layout-page */
.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 64px !important;
}
.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
  padding-top: 78px !important;
}
/* Navbar page z-index issue solution */
.content-wrapper .navbar {
  z-index: auto;
}

/*
* Content
******************************************************************************/

.demo-blocks > * {
  display: block !important;
}

.demo-inline-spacing > * {
  margin: 1rem 0.375rem 0 0 !important;
}

/* ? .demo-vertical-spacing class is used to have vertical margins between elements. To remove margin-top from the first-child, use .demo-only-element class with .demo-vertical-spacing class. For example, we have used this class in forms-input-groups.html file. */
.demo-vertical-spacing > * {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-lg > * {
  margin-top: 1.875rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-lg.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-xl > * {
  margin-top: 5rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-xl.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.rtl-only {
  display: none !important;
  text-align: left !important;
  direction: ltr !important;
}

[dir='rtl'] .rtl-only {
  display: block !important;
}

/* Dropdown buttons going out of small screens */
@media (max-width: 576px) {
  #dropdown-variation-demo .btn-group .text-truncate {
    width: 254px;
    position: relative;
  }
  #dropdown-variation-demo .btn-group .text-truncate::after {
    position: absolute;
    top: 45%;
    right: 0.65rem;
  }
}

/*
* Layout demo
******************************************************************************/

.layout-demo-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 1rem;
}
.layout-demo-placeholder img {
  width: 900px;
}
.layout-demo-info {
  text-align: center;
  margin-top: 1rem;
}

/*
* 后台全局分页组件统一高精度设计规范 (Admin Unified High-Precision Pagination)
* 契合 Bootstrap 5 + Sneat/Vuexy 设计语言，主色使用 --bs-primary: #7367f0
* 确保全平台按钮尺寸严格统一 (30px/28px)、图标与文本 100% 绝对垂直水平居中
******************************************************************************/
.pagination {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding-left: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

.pagination .page-item,
.pagination > li {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 核心页码项：强制锁定盒模型与尺寸，杜绝被 core.css 或图标撑高 */
.pagination .page-item .page-link,
.pagination > li > a,
.pagination > li > span {
  box-sizing: border-box !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 30px !important;
  height: 30px !important;
  max-height: 30px !important;
  padding: 0 6px !important;
  margin: 0 !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-align: center !important;
  vertical-align: middle !important;
  color: #5d596c !important;
  background-color: rgba(75, 70, 92, 0.08) !important;
  border: 0 solid transparent !important;
  border-radius: 0.375rem !important;
  text-decoration: none !important;
  transition: all 0.15s ease-in-out !important;
  user-select: none !important;
}

/* Tabler Icons 矢量图标绝对居中修正 */
.pagination .page-item .page-link i,
.pagination .page-item .page-link .ti,
.pagination > li > a i,
.pagination > li > a .ti,
.pagination > li > span i,
.pagination > li > span .ti {
  font-size: 0.95rem !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 悬停状态 (Hover) */
.pagination .page-item:not(.active):not(.disabled) .page-link:hover,
.pagination > li:not(.active):not(.disabled) > a:hover {
  color: var(--bs-primary, #7367f0) !important;
  background-color: rgba(115, 103, 240, 0.14) !important;
  transform: translateY(-1px);
}

/* 激活当前页 (Active) */
.pagination .page-item.active .page-link,
.pagination > li.active > span,
.pagination > li.active > a {
  color: #fff !important;
  background-color: var(--bs-primary, #7367f0) !important;
  border-color: var(--bs-primary, #7367f0) !important;
  box-shadow: 0 0.125rem 0.375rem rgba(115, 103, 240, 0.35) !important;
  font-weight: 600 !important;
  pointer-events: none !important;
}

/* 禁用与省略号 (Disabled / Dots) */
.pagination .page-item.disabled .page-link,
.pagination > li.disabled > span,
.pagination > li.disabled > a {
  color: #a5a3ae !important;
  background-color: rgba(75, 70, 92, 0.05) !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
  opacity: 0.75 !important;
}

/* 紧凑小号分页 (pagination-sm)：高度严格限定为 28px，正方形 28px x 28px */
.pagination.pagination-sm .page-item .page-link,
.pagination.pagination-sm > li > a,
.pagination.pagination-sm > li > span {
  min-width: 28px !important;
  height: 28px !important;
  max-height: 28px !important;
  padding: 0 5px !important;
  font-size: 0.75rem !important;
  line-height: 1 !important;
  border-radius: 0.3125rem !important;
}

.pagination.pagination-sm .page-item .page-link i,
.pagination.pagination-sm .page-item .page-link .ti,
.pagination.pagination-sm > li > a i,
.pagination.pagination-sm > li > a .ti,
.pagination.pagination-sm > li > span i,
.pagination.pagination-sm > li > span .ti {
  font-size: 0.875rem !important;
  line-height: 1 !important;
}

/* 底栏容器排版加固：确保左右中轴线绝对水平重合 */
.card-footer {
  min-height: 52px;
}
.card-footer .pagination {
  margin-bottom: 0 !important;
}

/* ==========================================================================
   模态框关闭按钮 (Modal Close Button) 布局与定位治理规范
   根治 core.css 中对 .modal .btn-close 施加的 transform: translate(23px, -25px) 
   悬浮偏移引发的严重错位、脱离标题栏及溢出弹窗边界反模式
   ========================================================================== */
html:not([dir=rtl]) .modal .modal-header .btn-close,
[dir=rtl] .modal .modal-header .btn-close,
.modal .modal-header .btn-close {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0.45rem !important;
  transform: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
  opacity: 0.55 !important;
  border-radius: 6px !important;
  transition: all 0.15s ease-in-out !important;
}

html:not([dir=rtl]) .modal .modal-header .btn-close:hover,
[dir=rtl] .modal .modal-header .btn-close:hover,
.modal .modal-header .btn-close:hover,
.modal .modal-header .btn-close:focus {
  opacity: 1 !important;
  background-color: rgba(0, 0, 0, 0.06) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* ==========================================================================
   Select2 全站统一规范：Ant Design + PatternFly + SAP Fiori
   彻底解决：
   1. 多选容器 32px 紧凑盒模型与高度自适应，消除巨大悬空白色空白；
   2. 业务标签 (Tag) Ant Design 浅紫微底与微徽章盒模型，告别脏灰厚重药丸；
   3. 打叉关闭 (Remove) 图标绝对居中与右置 Flex 排序，消除绝对定位偏移与 19px 粗暴大叉；
   4. 单选清除按钮 16px 徽章化与下拉指示箭头 6px~8px 安全呼吸间距，杜绝 ×∨ 挤压粘连；
   5. 下拉面板圆角阴影与防向上翻转遮挡表单。
   ========================================================================== */

/* 1. 多选外框容器：32px 紧凑保底，Flex 居中流式，无多余外扩 */
.light-style .select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--multiple {
  min-height: 32px !important;
  max-height: none !important;
  height: auto !important;
  padding: 2px 5px !important;
  border: 1px solid #dbdade !important;
  border-radius: 6px !important;
  background-color: #fff !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.light-style .select2-container--default.select2-container--focus .select2-selection--multiple,
.light-style .select2-container--default.select2-container--open .select2-selection--multiple,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--multiple {
  border-color: #7367f0 !important;
  box-shadow: 0 0 0 0.18rem rgba(115, 103, 240, 0.15) !important;
}

/* 2. 多选列表渲染区：消除冗余内边距与下外扩 */
.light-style .select2-container--default .select2-selection--multiple .select2-selection__rendered,
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  gap: 3px !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

/* 3. 多选标签 (Tag Chips)：Ant Design 规范浅紫微底 + 细边框 + 紫字微徽章 */
.light-style .select2-container--default .select2-selection--multiple .select2-selection__choice,
html:not([dir=rtl]) .select2-container--default .select2-selection--multiple .select2-selection__choice,
[dir=rtl] .select2-container--default .select2-selection--multiple .select2-selection__choice,
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  float: none !important;
  margin: 2px 2px !important;
  padding: 1px 7px !important;
  height: 22px !important;
  line-height: 20px !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  color: #7367f0 !important;
  background-color: #f4f3fe !important;
  border: 1px solid #dcd7fb !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  cursor: default !important;
}

/* 4. 标签打叉移除按钮：Flex 右置排序 + 居中微热区 + 悬停珊瑚红 */
.light-style .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
html:not([dir=rtl]) .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
[dir=rtl] .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  order: 2 !important;
  position: static !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 5px !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  width: 14px !important;
  height: 14px !important;
  line-height: 1 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #7367f0 !important;
  opacity: 0.65 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  transition: all 0.15s ease-in-out !important;
}

.light-style .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  opacity: 1 !important;
  color: #fff !important;
  background-color: #ea5455 !important;
  transform: scale(1.1) !important;
}

/* 5. 多选内联搜索与占位符 */
.light-style .select2-container--default .select2-selection--multiple .select2-search--inline,
.select2-container--default .select2-selection--multiple .select2-search--inline {
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 22px !important;
  line-height: 22px !important;
}

.light-style .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field,
.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
  margin: 0 !important;
  padding: 0 4px !important;
  height: 20px !important;
  line-height: 20px !important;
  font-size: 0.8125rem !important;
  color: #475569 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

.light-style .select2-container--default .select2-selection--multiple .select2-selection__placeholder,
.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
  color: #a5a3ae !important;
  font-size: 0.8125rem !important;
  line-height: 24px !important;
  margin: 0 4px !important;
  float: none !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__clear {
  display: none !important;
}

/* 6. 单选容器：32px 紧凑基线，圆角 6px */
.light-style .select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--single {
  height: 32px !important;
  min-height: 32px !important;
  line-height: 30px !important;
  font-size: 0.8125rem !important;
  border: 1px solid #dbdade !important;
  border-radius: 6px !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  background-color: #fff !important;
  box-sizing: border-box !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.light-style .select2-container--default.select2-container--focus .select2-selection--single,
.light-style .select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: #7367f0 !important;
  box-shadow: 0 0 0 0.18rem rgba(115, 103, 240, 0.15) !important;
}

/* 7. 单选文字渲染区：预留 52px 避让区彻底防重叠 */
.light-style .select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 30px !important;
  padding-left: 0.65rem !important;
  padding-right: 52px !important;
  color: #475569 !important;
  font-size: 0.8125rem !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

/* 8. 单选下拉指示箭头 */
.light-style .select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 30px !important;
  width: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
}

.light-style .select2-container--default .select2-selection--single .select2-selection__arrow b,
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  position: static !important;
  margin: 0 !important;
  display: block !important;
}

/* 9. 单选清除按钮 (x)：Ant Design 徽章化，与箭头保持 6px~8px 呼吸间距，垂直居中 */
.light-style .select2-container--default .select2-selection--single .select2-selection__clear,
.select2-container--default .select2-selection--single .select2-selection__clear {
  position: absolute !important;
  right: 32px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 16px !important;
  height: 16px !important;
  line-height: 14px !important;
  text-align: center !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #8592a3 !important;
  background-color: #f0f1f3 !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  opacity: 0.85 !important;
  transition: all 0.15s ease-in-out !important;
  z-index: 2 !important;
}

.light-style .select2-container--default .select2-selection--single .select2-selection__clear:hover,
.select2-container--default .select2-selection--single .select2-selection__clear:hover {
  color: #fff !important;
  background-color: #ea5455 !important;
  opacity: 1 !important;
  transform: translateY(-50%) scale(1.1) !important;
}

/* 10. 下拉浮层面板与选项列表：Ant Design 浮层阴影与防遮挡限高 */
.select2-dropdown {
  border: 1px solid #e7e7e8 !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12) !important;
  overflow: hidden !important;
  z-index: 1060 !important;
  background-color: #fff !important;
}

.select2-results__options {
  max-height: 180px !important;
}

body.adm-modal-body-client .select2-results__options {
  max-height: 140px !important;
}

.select2-results__group {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: #8c8da3 !important;
  padding: 4px 10px !important;
  background-color: #f8f9fa !important;
  border-bottom: 1px solid #f0f0f2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

.select2-results__option {
  font-size: 0.8125rem !important;
  padding: 5px 10px !important;
  color: #475569 !important;
  border-radius: 4px !important;
  margin: 1px 4px !important;
  transition: background-color 0.1s ease !important;
}

.select2-results__option--highlighted[aria-selected] {
  background-color: #f4f3fe !important;
  color: #7367f0 !important;
}

.select2-results__option[aria-selected="true"] {
  background-color: #eeedfd !important;
  color: #7367f0 !important;
  font-weight: 600 !important;
}

.select2-results__option--highlighted[aria-selected="true"] {
  background-color: #e4e2fd !important;
  color: #7367f0 !important;
}
