/* 门户页：含 _xd_header 的数据站页面，body.xd-portal-page */
:root {
  --cmb-teal-900: #0c3d4a;
  --cmb-teal-800: #0f4f5c;
  --cmb-mint: #5eead4;
  --cmb-paper: #f0f5f7;
  --cmb-card: #ffffff;
  --cmb-border: rgba(12, 61, 74, 0.1);
  --cmb-shadow: 0 8px 28px rgba(6, 42, 50, 0.08);
  --cmb-radius: 12px;
  /* 结果表表头 / 检索面板标题栏：灰蓝 slate（与天蓝区分） */
  --cmb-results-thead-bg-top: #f1f5f9;
  --cmb-results-thead-bg-bottom: #e8eef2;
  --cmb-results-thead-text: var(--cmb-teal-900);
  --cmb-results-thead-border: rgba(12, 61, 74, 0.12);
  /* 同系 hover 略加深 */
  --cmb-panel-btn-primary-hover-top: #e8eef2;
  --cmb-panel-btn-primary-hover-bottom: #dfe6eb;
  /* 顶栏导航 hover / 下拉，与灰蓝统一 */
  --cmb-nav-link-hover-bg: rgba(12, 61, 74, 0.06);
  --cmb-nav-link-hover-bg-strong: rgba(12, 61, 74, 0.1);
}

body.xd-portal-page {
  font-family:
    "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: #334155 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  /* 大屏下放宽主栏，减少两侧大块留白（综合库等门户检索页共用） */
  max-width: min(1700px, calc(100vw - 24px)) !important;
  padding-left: clamp(8px, 1.5vw, 14px) !important;
  padding-right: clamp(8px, 1.5vw, 14px) !important;
  padding-top: 64px !important;
  background: var(--cmb-paper) !important;
  -webkit-font-smoothing: antialiased;
}

/* 顶栏（不用 backdrop-filter，避免部分环境下层叠异常） */
body.xd-portal-page .xd-cmb-navbar.navbar-default {
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: var(--cmb-border) !important;
  box-shadow: 0 1px 0 rgba(12, 61, 74, 0.06);
}

body.xd-portal-page .xd-cmb-navbar .navbar-nav > li > a {
  font-weight: 500;
  color: #334155 !important;
}

body.xd-portal-page .xd-cmb-navbar .navbar-nav > li > a:hover,
body.xd-portal-page .xd-cmb-navbar .navbar-nav > li > a:focus {
  color: var(--cmb-results-thead-text) !important;
  background: var(--cmb-nav-link-hover-bg) !important;
}

/* 下拉展开时顶栏当前项，与 hover 同系 */
body.xd-portal-page .xd-cmb-navbar.navbar-default .navbar-nav > .open > a,
body.xd-portal-page .xd-cmb-navbar.navbar-default .navbar-nav > .open > a:hover,
body.xd-portal-page
  .xd-cmb-navbar.navbar-default
  .navbar-nav
  > .open
  > a:focus {
  color: var(--cmb-results-thead-text) !important;
  background: var(--cmb-nav-link-hover-bg) !important;
}

body.xd-portal-page .xd-cmb-navbar .dropdown-menu > li > a:hover,
body.xd-portal-page .xd-cmb-navbar .dropdown-menu > li > a:focus {
  color: var(--cmb-results-thead-text) !important;
  background: var(--cmb-nav-link-hover-bg-strong) !important;
}

body.xd-portal-page .xd-cmb-brand__img {
  display: block;
  height: 36px;
  width: auto;
  max-width: min(240px, 58vw);
  object-fit: contain;
}

@media (max-width: 767px) {
  body.xd-portal-page .xd-cmb-brand__img {
    height: 32px;
    max-width: min(200px, 65vw);
  }
}

/* 主区域 */
.xd-cmb-main {
  display: block;
  margin-bottom: 1.5rem;
}

.xd-cmb-breadcrumb-wrap {
  margin: 0 0 1rem;
}

.xd-cmb-breadcrumb.breadcrumb {
  margin-bottom: 0;
  padding: 0.65rem 1rem;
  background: var(--cmb-card);
  border: 1px solid var(--cmb-border);
  border-radius: var(--cmb-radius);
  box-shadow: var(--cmb-shadow);
  font-size: 13px;
}

.xd-cmb-breadcrumb.breadcrumb > li + li::before {
  color: #94a3b8;
}

.xd-cmb-breadcrumb.breadcrumb > .active {
  color: var(--cmb-teal-900);
  font-weight: 600;
}

/* 找回密码 / 注册等窄版表单页（reset_pwd.pl、register.pl） */
body.xd-portal-page .xd-reset-pwd-page.xd-cmb-main,
body.xd-portal-page .xd-register-page.xd-cmb-main {
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 2.5rem;
}

body.xd-portal-page .xd-reset-pwd-card {
  background: var(--cmb-card);
  border: 1px solid var(--cmb-border);
  border-radius: var(--cmb-radius);
  box-shadow: var(--cmb-shadow);
  padding: 1.65rem 1.4rem 1.35rem;
  margin-top: 0.25rem;
}

body.xd-portal-page .xd-reset-pwd-card--success {
  text-align: center;
  padding-top: 1.85rem;
}

body.xd-portal-page .xd-reset-pwd-card__title {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 0.4rem;
  color: var(--cmb-teal-900);
  letter-spacing: 0.02em;
}

body.xd-portal-page .xd-reset-pwd-card__lead {
  font-size: 0.9rem;
  color: #64748b;
  margin: 0 0 1.35rem;
  line-height: 1.6;
}

body.xd-portal-page .xd-reset-pwd-page--success .xd-reset-pwd-card__lead {
  margin-bottom: 1rem;
}

body.xd-portal-page .xd-reset-pwd-account {
  color: var(--cmb-teal-800);
  font-weight: 600;
}

body.xd-portal-page .xd-reset-pwd-form .form-group {
  margin-bottom: 1rem;
}

body.xd-portal-page .xd-reset-pwd-input.form-control {
  border-radius: 8px;
  height: 42px;
  border-color: rgba(12, 61, 74, 0.14);
  box-shadow: none;
}

body.xd-portal-page .xd-reset-pwd-input.form-control:focus {
  border-color: rgba(12, 61, 74, 0.35);
  box-shadow: 0 0 0 2px rgba(12, 61, 74, 0.08);
}

body.xd-portal-page label.xd-reset-pwd-error.label_error {
  display: none;
  float: none;
  width: 100%;
  margin: 0 0 0.35rem;
  padding: 0.35rem 0.5rem;
  font-size: 0.8rem;
  font-weight: 500;
  color: #b45309;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 6px;
}

body.xd-portal-page .xd-reset-pwd-captcha {
  min-height: 44px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

/* 旧版登录模板等：仅 id=embed-captcha、无 xd-reset-pwd-captcha 类 */
body.xd-portal-page #loginform #embed-captcha {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  min-height: 44px;
}

body.xd-portal-page .xd-reset-pwd-captcha-hint {
  margin-bottom: 0.5rem;
}

body.xd-portal-page .xd-reset-pwd-wait,
body.xd-portal-page .xd-reset-pwd-notice {
  text-align: center;
  font-size: 0.85rem;
  margin: 0;
}

body.xd-portal-page .xd-reset-pwd-wait {
  color: #64748b;
}

body.xd-portal-page .xd-reset-pwd-notice {
  color: #c2410c;
  font-weight: 500;
}

body.xd-portal-page .xd-reset-pwd-wait.hide,
body.xd-portal-page .xd-reset-pwd-notice.hide {
  display: none !important;
}

body.xd-portal-page .xd-reset-pwd-wait.show,
body.xd-portal-page .xd-reset-pwd-notice.show {
  display: block;
}

body.xd-portal-page .xd-reset-pwd-submit.btn-primary {
  background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%);
  border-color: rgba(12, 61, 74, 0.2);
  color: var(--cmb-teal-900);
  font-weight: 600;
  height: 44px;
  border-radius: 8px;
  margin-top: 0.25rem;
}

body.xd-portal-page .xd-reset-pwd-submit.btn-primary:hover,
body.xd-portal-page .xd-reset-pwd-submit.btn-primary:focus {
  background: linear-gradient(180deg, #e8eef2 0%, #d8e0e6 100%);
  border-color: rgba(12, 61, 74, 0.28);
  color: var(--cmb-teal-900);
}

body.xd-portal-page .xd-reset-pwd-foot {
  text-align: center;
  margin: 1rem 0 0;
  font-size: 0.875rem;
  color: #64748b;
}

body.xd-portal-page .xd-reset-pwd-foot a {
  font-weight: 500;
  color: var(--cmb-teal-800);
}

body.xd-portal-page .xd-reset-pwd-foot a:hover,
body.xd-portal-page .xd-reset-pwd-foot a:focus {
  color: var(--cmb-teal-900);
}

body.xd-portal-page .xd-reset-pwd-success-icon {
  color: #0d9488;
  margin-bottom: 0.5rem;
}

body.xd-portal-page .xd-reset-pwd-success-illu {
  margin: 0.5rem 0 1.25rem;
}

body.xd-portal-page .xd-reset-pwd-success-illu img {
  max-width: 120px;
  height: auto;
  opacity: 0.92;
}

body.xd-portal-page .xd-reset-pwd-email {
  color: #0f766e;
  font-weight: 600;
  word-break: break-all;
}

body.xd-portal-page .xd-reset-pwd-tips {
  text-align: left;
  background: rgba(12, 61, 74, 0.04);
  border: 1px solid var(--cmb-border);
  border-radius: 8px;
  padding: 0.9rem 1rem 0.85rem;
  margin-top: 0.25rem;
}

body.xd-portal-page .xd-reset-pwd-tips__title {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #64748b;
  margin: 0 0 0.5rem;
}

body.xd-portal-page .xd-reset-pwd-tips__list {
  margin: 0;
  padding-left: 1.15rem;
  font-size: 0.875rem;
  line-height: 1.65;
  color: #475569;
}

body.xd-portal-page .xd-reset-pwd-tips__list a {
  font-weight: 500;
  color: var(--cmb-teal-800);
}

body.xd-portal-page .xd-reset-pwd-foot--cta {
  margin-top: 1.25rem;
}

body.xd-portal-page .xd-reset-pwd-back-btn {
  border-radius: 8px;
  font-weight: 500;
  padding: 0.45rem 1.25rem;
}

.xd-cmb-row {
  margin-left: -8px;
  margin-right: -8px;
}

.xd-cmb-row > [class*="col-"] {
  padding-left: 8px;
  padding-right: 8px;
}

/* 门户页：面包屑 / 检索面板 / 底部图例同一左右边线（抵消 xd-cmb-row 负 margin 造成的错位） */
body.xd-portal-page .xd-cmb-main .xd-cmb-row {
  margin-left: 0;
  margin-right: 0;
}

body.xd-portal-page .xd-cmb-main > .xd-cmb-breadcrumb-wrap {
  padding-left: 8px;
  padding-right: 8px;
  box-sizing: border-box;
}

body.xd-portal-page .xd-cmb-legend.well {
  margin-left: 8px;
  margin-right: 8px;
  box-sizing: border-box;
  max-width: none;
}

/* 提示条 */
.xd-cmb-alert.alert-warning {
  border-radius: var(--cmb-radius);
  border: 1px solid #e8b923;
  background: #fffbf0;
  color: #5c4a00;
}

/* 检索面板 */
.xd-cmb-panel.panel {
  border: 1px solid var(--cmb-border) !important;
  border-radius: var(--cmb-radius) !important;
  box-shadow: var(--cmb-shadow);
  overflow: hidden;
  background: var(--cmb-card);
}

/* 门户页：selectpicker 下拉在面板外展开，避免「文号省份」等长列表被 overflow:hidden 裁切 */
body.xd-portal-page .xd-cmb-panel.panel {
  overflow: visible;
}

.xd-cmb-panel__head.panel-heading {
  background: linear-gradient(
    180deg,
    var(--cmb-results-thead-bg-top) 0%,
    var(--cmb-results-thead-bg-bottom) 100%
  ) !important;
  border: none !important;
  border-bottom: 2px solid var(--cmb-results-thead-border) !important;
  color: var(--cmb-results-thead-text) !important;
  padding: 9px 14px !important;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

body.xd-portal-page .xd-cmb-panel__head.panel-heading:hover,
body.xd-portal-page .xd-cmb-panel__head.panel-heading:focus {
  background: linear-gradient(
    180deg,
    var(--cmb-panel-btn-primary-hover-top) 0%,
    var(--cmb-panel-btn-primary-hover-bottom) 100%
  ) !important;
  color: var(--cmb-results-thead-text) !important;
}

.xd-cmb-panel__title.panel-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: inherit !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.75rem;
  width: 100%;
  box-sizing: border-box;
}

.xd-cmb-panel__title .xd-cmb-panel__title-main {
  flex: 1 1 auto;
  min-width: 0;
}

.xd-cmb-panel__meta.label-info {
  float: none !important;
  margin-left: auto;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid var(--cmb-results-thead-border);
  color: var(--cmb-teal-800) !important;
  font-weight: 500;
  font-size: 11px;
  line-height: 1.3;
  padding: 4px 12px;
  border-radius: 999px;
  box-sizing: border-box;
  box-shadow: 0 1px 2px rgba(12, 61, 74, 0.06);
}

.xd-cmb-panel__meta.label-info .xd-cmb-update-icon {
  margin-right: 0;
  flex-shrink: 0;
  font-size: 13px;
  opacity: 1;
}

.xd-cmb-panel .panel-body {
  padding: 18px 16px !important;
  background: #fafcfd;
}

@media (min-width: 768px) {
  .xd-cmb-panel .panel-body {
    padding: 22px 20px !important;
  }
}

/* 检索面板：查询/清空 下方与面板底边之间的留白（panel-body 默认底内边距偏大） */
body.xd-portal-page .xd-cmb-panel--search > .panel-body,
.xd-cmb-panel--search > .panel-body,
body.xd-portal-page .xd-cmb-panel--drug-hosp > .panel-body,
.xd-cmb-panel--drug-hosp > .panel-body {
  padding-bottom: 8px !important;
}

@media (min-width: 768px) {
  body.xd-portal-page .xd-cmb-panel--search > .panel-body,
  .xd-cmb-panel--search > .panel-body,
  body.xd-portal-page .xd-cmb-panel--drug-hosp > .panel-body,
  .xd-cmb-panel--drug-hosp > .panel-body {
    padding-bottom: 10px !important;
  }
}

body.xd-portal-page .xd-cmb-panel--search .xd-cmb-form-toolbar,
.xd-cmb-panel--search .xd-cmb-form-toolbar {
  padding-bottom: 0;
}

/* 综合库 search_cmb.pl：检索表单行距与底栏标签 */
body.xd-portal-page .xd-cmb-panel--search #form_page.form-horizontal > .row {
  margin-bottom: 0.5rem;
}

body.xd-portal-page .xd-cmb-panel--search #form_page #advanced_search > .row {
  margin-bottom: 0.5rem;
}

body.xd-portal-page
  .xd-cmb-panel--search
  #form_page.form-horizontal
  > .row:last-child {
  margin-bottom: 0;
}

/* 设置查询结果显示字段：「字段截断长度」与输入框成组，「设置」靠右（search_cde/sfda/base 等共用） */
/* 上方勾选区为 control-group 内直接放 col-sm-4（无 .row），首列内容 = 表单左缘 + 15px gutter；
   本行若沿用 .row 负边距且 padding 水平为 0，截断栏会贴左错位；取消负边距并恢复与栅格一致的左右 padding */
.form-horizontal .xd-cmb-field-cut-row {
  margin-top: 0.5rem;
  margin-left: 0;
  margin-right: 0;
}

.form-horizontal .xd-cmb-field-cut-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  padding: 0.9rem 15px 0.2rem;
  border-top: 1px solid var(--cmb-border);
  box-sizing: border-box;
}

.xd-cmb-field-cut-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem 0.65rem;
  min-width: 0;
}

.xd-cmb-field-cut-label {
  margin: 0 !important;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--cmb-teal-900);
  line-height: 1.4;
}

.xd-cmb-field-cut-input {
  width: 4.25rem !important;
  max-width: 5.5rem;
  display: inline-block;
  text-align: center;
}

.xd-cmb-field-cut-btn {
  flex-shrink: 0;
}

body.xd-portal-page .xd-cmb-col-settings-btn {
  margin-right: 0.65rem;
  border-radius: 8px;
  font-weight: 500;
  font-size: 11px;
  line-height: 1.35;
  padding: 3px 10px;
}

body.xd-portal-page .xd-cmb-search-condition__label {
  color: var(--cmb-teal-800);
  font-weight: 600;
  font-size: 11px;
  line-height: 1.35;
  margin-right: 0.2rem;
}

body.xd-portal-page .xd-cmb-search-condition__value {
  font-size: 11px;
  line-height: 1.35;
  color: #334155;
  word-break: break-word;
}

/* 表单控件 */
body.xd-portal-page .xd-cmb-panel .input-group-addon {
  background: rgba(12, 61, 74, 0.06) !important;
  border-color: var(--cmb-border) !important;
  color: var(--cmb-teal-800) !important;
  font-weight: 500;
  min-width: 5.5em;
  text-align: center;
}

body.xd-portal-page .xd-cmb-panel .form-control {
  border-color: var(--cmb-border);
  border-radius: 0 6px 6px 0;
  box-shadow: none;
}

body.xd-portal-page .xd-cmb-panel .form-control:focus {
  border-color: rgba(94, 234, 212, 0.7);
  box-shadow: 0 0 0 2px rgba(94, 234, 212, 0.25);
}

/* bootstrap-select 长下拉：抬高层级；覆盖插件按「距视口底部」算出过小的 max-height，保证选项区可完整滚动查看 */
body.xd-portal-page .xd-cmb-panel .bootstrap-select.btn-group .dropdown-menu {
  z-index: 1060;
}

body.xd-portal-page
  .xd-cmb-panel
  .bootstrap-select.btn-group.open
  .dropdown-menu.inner {
  max-height: min(70vh, 560px) !important;
  overflow-y: auto !important;
}

body.xd-portal-page
  .xd-cmb-panel
  .bootstrap-select.btn-group
  .dropdown-menu
  li
  a
  span.text {
  white-space: normal;
  word-break: break-word;
}

body.xd-portal-page .xd-cmb-panel .btn-primary {
  background: linear-gradient(
    180deg,
    var(--cmb-results-thead-bg-top) 0%,
    var(--cmb-results-thead-bg-bottom) 100%
  ) !important;
  color: var(--cmb-results-thead-text) !important;
  border: 1px solid var(--cmb-results-thead-border) !important;
  font-weight: 600;
  padding: 6px 16px;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(12, 61, 74, 0.06);
}

body.xd-portal-page .xd-cmb-panel .btn-primary:hover,
body.xd-portal-page .xd-cmb-panel .btn-primary:focus {
  background: linear-gradient(
    180deg,
    var(--cmb-panel-btn-primary-hover-top) 0%,
    var(--cmb-panel-btn-primary-hover-bottom) 100%
  ) !important;
  color: var(--cmb-results-thead-text) !important;
  border-color: rgba(12, 61, 74, 0.18) !important;
}

body.xd-portal-page .xd-cmb-panel .btn-default {
  border-radius: 8px;
  border-color: var(--cmb-border);
}

/* 检索区底部：左侧检索条件可换行；右侧选项/查询/清空不压缩（min-width: max-content），空间不足时整行换行，避免「清空」被裁切 */
body.xd-portal-page .xd-cmb-form-actions-row,
.xd-cmb-panel .xd-cmb-form-actions-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

body.xd-portal-page .xd-cmb-form-actions-row__left,
.xd-cmb-panel .xd-cmb-form-actions-row__left {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}

body.xd-portal-page .xd-cmb-form-actions-row__right,
.xd-cmb-panel .xd-cmb-form-actions-row__right {
  flex: 0 0 auto;
  min-width: max-content;
  max-width: 100%;
  display: flex;
  justify-content: flex-end;
  margin-left: auto;
}

/* 与左侧同一行时占满剩余宽度便于 space-between；min-width: max-content 防止被压窄导致「清空」被挡 */
body.xd-portal-page .xd-cmb-form-actions-row__right--stretch,
.xd-cmb-panel .xd-cmb-form-actions-row__right--stretch {
  flex: 1 1 auto;
  min-width: max-content;
  max-width: 100%;
  justify-content: stretch;
}

body.xd-portal-page
  .xd-cmb-form-actions-row__right--stretch
  > .xd-cmb-form-toolbar,
.xd-cmb-panel .xd-cmb-form-actions-row__right--stretch > .xd-cmb-form-toolbar {
  flex: 1 1 auto;
  min-width: 0;
}

body.xd-portal-page .xd-cmb-form-toolbar,
.xd-cmb-panel .xd-cmb-form-toolbar {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px 14px;
  white-space: nowrap;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px;
}

body.xd-portal-page .xd-cmb-form-toolbar__item,
.xd-cmb-panel .xd-cmb-form-toolbar__item {
  flex-shrink: 0;
  margin: 0;
  font-weight: normal;
  font-size: 11px;
  line-height: 1.35;
}

/* 复选框行与「字段长度」同一水平中线（flex 十字轴居中，避免 input 高度把行顶歪） */
body.xd-portal-page .xd-cmb-form-toolbar label.xd-cmb-form-toolbar__item,
body.xd-portal-page .xd-cmb-form-toolbar span.xd-cmb-form-toolbar__item,
.xd-cmb-panel .xd-cmb-form-toolbar label.xd-cmb-form-toolbar__item,
.xd-cmb-panel .xd-cmb-form-toolbar span.xd-cmb-form-toolbar__item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 0;
}

body.xd-portal-page .xd-cmb-form-toolbar__item input[type="checkbox"],
.xd-cmb-panel .xd-cmb-form-toolbar__item input[type="checkbox"] {
  margin: 0;
  flex-shrink: 0;
}

body.xd-portal-page .xd-cmb-form-toolbar__cut,
.xd-cmb-panel .xd-cmb-form-toolbar__cut {
  font-size: 11px;
  line-height: 1.35;
}

body.xd-portal-page .xd-cmb-form-toolbar__cut input,
.xd-cmb-panel .xd-cmb-form-toolbar__cut input {
  margin: 0;
  font-size: 11px !important;
  line-height: 1.2;
  height: 22px !important;
  padding: 1px 4px;
  box-sizing: border-box;
  flex-shrink: 0;
}

/* 底栏内按钮保持可读，不继承工具条小字 */
body.xd-portal-page .xd-cmb-form-toolbar .btn,
.xd-cmb-panel .xd-cmb-form-toolbar .btn {
  font-size: 12px;
  line-height: 1.4;
}

/* 审评序列等：选项与「查询/清空」收成一块，整体靠右；选项紧靠查询按钮左侧 */
body.xd-portal-page .xd-cmb-form-toolbar.xd-cmb-form-toolbar--split,
.xd-cmb-panel .xd-cmb-form-toolbar.xd-cmb-form-toolbar--split {
  display: flex;
  width: 100%;
  max-width: 100%;
  justify-content: flex-end;
  align-items: center;
  gap: 6px 8px;
}

body.xd-portal-page .xd-cmb-form-toolbar--split .xd-cmb-form-toolbar__cluster,
.xd-cmb-panel .xd-cmb-form-toolbar--split .xd-cmb-form-toolbar__cluster {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px 14px;
  flex-shrink: 0;
  min-width: 0;
}

body.xd-portal-page .xd-cmb-form-toolbar--split .xd-cmb-form-toolbar__actions,
.xd-cmb-panel .xd-cmb-form-toolbar--split .xd-cmb-form-toolbar__actions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-left: 0;
}

@media (max-width: 767px) {
  body.xd-portal-page .xd-cmb-form-actions-row,
  .xd-cmb-panel .xd-cmb-form-actions-row {
    flex-wrap: wrap;
  }

  body.xd-portal-page .xd-cmb-form-actions-row__right,
  .xd-cmb-panel .xd-cmb-form-actions-row__right {
    flex: 1 1 100%;
    justify-content: flex-start;
    margin-left: 0;
  }

  body.xd-portal-page .xd-cmb-form-actions-row__right--stretch,
  .xd-cmb-panel .xd-cmb-form-actions-row__right--stretch {
    flex: 1 1 100%;
  }

  body.xd-portal-page .xd-cmb-form-toolbar.xd-cmb-form-toolbar--split,
  .xd-cmb-panel .xd-cmb-form-toolbar.xd-cmb-form-toolbar--split {
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  body.xd-portal-page .xd-cmb-form-toolbar--split .xd-cmb-form-toolbar__actions,
  .xd-cmb-panel .xd-cmb-form-toolbar--split .xd-cmb-form-toolbar__actions {
    margin-left: 0;
  }
}

/* 检索面板与一键搜索条之间：去掉 panel 默认 margin-bottom，避免与 quickbar 上边距叠出大块空白 */
body.xd-portal-page .xd-cmb-panel--search.panel:has(+ .xd-cmb-quickbar),
body.xd-portal-page .xd-cmb-panel--drug-hosp.panel:has(+ .xd-cmb-quickbar) {
  margin-bottom: 0 !important;
}

body.xd-portal-page .xd-cmb-panel--search.panel + .xd-cmb-quickbar,
body.xd-portal-page .xd-cmb-panel--drug-hosp.panel + .xd-cmb-quickbar {
  margin-top: 0.35rem;
}

/* 综合库等（检索面板 + 一键搜索）：条背景浅灰，与白色结果区区分 */
body.xd-portal-page .xd-cmb-panel--search.panel + .xd-cmb-quickbar {
  background: #f1f5f9;
  border-color: rgba(51, 65, 85, 0.14);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.75),
    0 1px 2px rgba(15, 23, 42, 0.04);
}

/* 一键搜索条 */
.xd-cmb-quickbar {
  margin: 0.45rem 0 0.4rem;
  padding: 3px 8px;
  background: var(--cmb-card);
  border: 1px solid var(--cmb-border);
  border-radius: 8px;
  box-shadow: var(--cmb-shadow);
}

.xd-cmb-quickbar__table {
  border-collapse: collapse;
}

.xd-cmb-quickbar__links {
  vertical-align: middle;
  line-height: 1.28;
}

.xd-cmb-quickbar__label {
  font-weight: 600;
  color: var(--cmb-teal-900);
  margin-right: 4px;
  font-size: 11px;
  white-space: nowrap;
}

a.xd-cmb-chip {
  display: inline-block;
  margin: 1px 3px 1px 0;
  padding: 1px 7px;
  font-size: 11px;
  font-weight: 500;
  color: var(--cmb-teal-800) !important;
  text-decoration: none !important;
  background: rgba(218, 219, 219, 0.15);
  border: 1px solid rgba(15, 79, 92, 0.12);
  border-radius: 999px;
  transition:
    background 0.15s ease,
    transform 0.15s ease;
}

a.xd-cmb-chip:hover {
  background: rgba(94, 234, 212, 0.35);
  color: var(--cmb-teal-900) !important;
  transform: translateY(-0.5px);
}

.xd-cmb-quickbar__scroll {
  white-space: nowrap;
  vertical-align: middle;
  width: 1%;
}

.xd-cmb-quickbar__scroll img {
  height: 12px !important;
  width: auto;
  vertical-align: middle;
}

@media (max-width: 767px) {
  .xd-cmb-quickbar__table,
  .xd-cmb-quickbar__table tbody,
  .xd-cmb-quickbar__table tr,
  .xd-cmb-quickbar__table td {
    display: block;
    width: 100% !important;
  }

  .xd-cmb-quickbar__scroll {
    text-align: left !important;
    padding-top: 3px;
  }
}

/* 结果表 */
.xd-cmb-results.panel {
  border: 1px solid var(--cmb-border) !important;
  border-radius: var(--cmb-radius) !important;
  box-shadow: var(--cmb-shadow);
  background: var(--cmb-card);
  margin-top: 0.5rem;
}

body.xd-portal-page .xd-cmb-results .table,
body.xd-portal-page table.table.xd-cmb-results {
  margin-bottom: 0;
  font-size: 12px;
}

body.xd-portal-page .xd-cmb-results .table > thead > tr > th,
body.xd-portal-page table.table.xd-cmb-results > thead > tr > th {
  background: linear-gradient(
    180deg,
    var(--cmb-results-thead-bg-top) 0%,
    var(--cmb-results-thead-bg-bottom) 100%
  );
  color: var(--cmb-results-thead-text);
  font-weight: 600;
  font-size: 12px;
  border-bottom: 2px solid var(--cmb-results-thead-border) !important;
  white-space: nowrap;
}

body.xd-portal-page
  .xd-cmb-results
  .table-striped
  > tbody
  > tr:nth-of-type(odd),
body.xd-portal-page
  table.table.xd-cmb-results.table-striped
  > tbody
  > tr:nth-of-type(odd) {
  background-color: rgba(240, 253, 250, 0.35);
}

body.xd-portal-page .xd-cmb-results .table-hover > tbody > tr:hover,
body.xd-portal-page table.table.xd-cmb-results.table-hover > tbody > tr:hover {
  background-color: rgba(94, 234, 212, 0.12) !important;
}

/* 分页 */
body.xd-portal-page div.technorati {
  text-align: center;
  padding: 16px 8px 8px;
}

body.xd-portal-page div.technorati a {
  border-radius: 6px;
  border-color: var(--cmb-border) !important;
  color: var(--cmb-teal-800) !important;
  margin: 2px;
}

body.xd-portal-page div.technorati a:hover {
  background: var(--cmb-teal-800) !important;
  color: #fff !important;
  border-color: var(--cmb-teal-800) !important;
}

/* 图例 */
.xd-cmb-legend.well {
  background: var(--cmb-card) !important;
  border: 1px solid var(--cmb-border) !important;
  border-radius: var(--cmb-radius) !important;
  box-shadow: var(--cmb-shadow);
  padding: 16px 18px !important;
  margin-top: 1.25rem;
  margin-bottom: 1.5rem;
  line-height: 1.75;
  font-size: 13px;
  color: #475569;
}

.xd-cmb-legend.well strong {
  color: var(--cmb-teal-900);
  font-size: 14px;
}

/* 高级条件「更多 / 隐藏」：flex 两侧虚线夹按钮，避免负 margin 在 overflow:hidden 面板内被裁切错位 */
body.xd-portal-page .xd-cmb-expand-more,
body.xd-portal-page .xd-cmb-expand-hide {
  text-align: center;
}

body.xd-portal-page .xd-cmb-expand-more {
  margin-top: 0.45rem;
  margin-bottom: 0.3rem;
}

body.xd-portal-page .xd-cmb-expand-hide {
  margin-top: 0.25rem;
  margin-bottom: 0.4rem;
}

body.xd-portal-page .xd-cmb-expand__track {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0.15rem 0;
  width: 100%;
  box-sizing: border-box;
}

/* 贯穿虚线，文字叠在中间（与面板底色一致，视觉上居中正中） */
body.xd-portal-page .xd-cmb-expand__track::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  border-top: 1px dashed var(--cmb-border);
  z-index: 0;
  pointer-events: none;
}

body.xd-portal-page .xd-cmb-expand__track .span_more {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 1px 10px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--cmb-teal-800);
  background: #fafcfd;
  cursor: pointer;
  border-radius: 999px;
  border: 1px solid var(--cmb-border);
  transition:
    background 0.15s ease,
    color 0.15s ease;
}

body.xd-portal-page .xd-cmb-expand__track .span_more:hover {
  background: rgba(94, 234, 212, 0.18);
  color: var(--cmb-teal-900);
}

/* 列设置区域（覆盖 xd_theme.css 里 .show_columns 的 margin-left:-40px、li 的 float/height:20px/display:none，避免展开后错位、裁切） */
body.xd-portal-page .xd-cmb-seq-settings-wrap {
  margin-top: 0.35rem;
  margin-bottom: 0.65rem;
}

body.xd-portal-page .xd-cmb-seq-settings.show_columns {
  margin-left: 0;
  margin-right: 0;
}

body.xd-portal-page .xd-cmb-seq-settings {
  margin-top: 0;
  padding: 12px 14px 14px;
  background: rgba(12, 61, 74, 0.04);
  border: 1px solid var(--cmb-border);
  border-radius: 8px;
  font-size: 11px;
  line-height: 1.35;
}

body.xd-portal-page .xd-cmb-seq-settings #myList {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 1rem;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}

/* 不设 display，保留 xd_theme 的 display:none 与 jQuery .show() 的可见项 */
body.xd-portal-page .xd-cmb-seq-settings #myList li {
  float: none;
  height: auto;
  min-height: 0;
  margin: 0;
  padding-left: 0;
  max-width: 100%;
}

/* 与后续选项同一行流动，勿 flex:100% 独占一行（否则受理号后强制换行） */
body.xd-portal-page .xd-cmb-seq-settings #myList li.xd-cmb-seq-settings__lead {
  flex: 0 1 auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border-bottom: none;
  font-weight: 600;
  color: var(--cmb-teal-900);
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.35rem;
}

body.xd-portal-page
  .xd-cmb-seq-settings
  #myList
  li.xd-cmb-seq-settings__footer {
  flex: 1 0 100%;
  width: 100%;
  margin-top: 0.35rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(12, 61, 74, 0.1);
  display: flex !important;
  align-items: center;
}

body.xd-portal-page .xd-cmb-seq-settings #myList #li_select_all {
  margin: 0;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.35;
  border-radius: 6px;
  border: 1px solid var(--cmb-border);
  background: #fff;
  color: var(--cmb-teal-900);
  cursor: pointer;
}

body.xd-portal-page .xd-cmb-seq-settings #myList #li_select_all:hover {
  background: rgba(94, 234, 212, 0.12);
  border-color: rgba(94, 234, 212, 0.45);
}

body.xd-portal-page .xd-cmb-quickbar--seq {
  margin-top: 0.5rem;
}

/* 页脚区域 */
body.xd-portal-page hr {
  border: none;
  border-top: 1px solid var(--cmb-border);
  margin: 1.5rem 0;
}

body.xd-portal-page .footer_copyright {
  color: #64748b !important;
  font-size: 13px;
  line-height: 1.7;
  padding: 8px 0 24px;
}

body.xd-portal-page .footer_copyright a {
  color: var(--cmb-teal-800) !important;
}

body.xd-portal-page .footer_copyright a:hover {
  color: #0d9488 !important;
}

/* —— 详细审评进度 jdsearch.pl —— */
.xd-jd-main {
  display: block;
  margin-bottom: 1.5rem;
}

body.xd-portal-page .xd-cmb-alert.alert-warning {
  border-radius: var(--cmb-radius);
  border: 1px solid #e8b923;
  background: #fffbf0;
  color: #5c4a00;
}

body.xd-portal-page .xd-jd-banner.alert-info {
  border-radius: var(--cmb-radius) !important;
  border: 1px solid var(--cmb-results-thead-border) !important;
  background: linear-gradient(
    180deg,
    var(--cmb-results-thead-bg-top) 0%,
    var(--cmb-results-thead-bg-bottom) 100%
  ) !important;
  color: #4d66ff !important;
  font-size: clamp(0.9rem, 2vw, 1rem);
  line-height: 1.65;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.65),
    var(--cmb-shadow);
  padding: 10px 18px !important;
  text-align: center;
}

.xd-jd-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 1rem 0;
  clear: both;
}

.xd-jd-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

body.xd-portal-page .xd-jd-toolbar .btn-primary {
  background: linear-gradient(
    180deg,
    var(--cmb-results-thead-bg-top) 0%,
    var(--cmb-results-thead-bg-bottom) 100%
  ) !important;
  color: var(--cmb-results-thead-text) !important;
  border: 1px solid var(--cmb-results-thead-border) !important;
  border-radius: 8px;
  font-weight: 600;
  font-size: 11px;
  line-height: 1.35;
  padding: 4px 10px;
  box-shadow: 0 1px 2px rgba(12, 61, 74, 0.06);
}

body.xd-portal-page .xd-jd-toolbar .btn-primary:hover,
body.xd-portal-page .xd-jd-toolbar .btn-primary:focus {
  background: linear-gradient(
    180deg,
    var(--cmb-panel-btn-primary-hover-top) 0%,
    var(--cmb-panel-btn-primary-hover-bottom) 100%
  ) !important;
  color: var(--cmb-results-thead-text) !important;
  border-color: rgba(12, 61, 74, 0.18) !important;
}

body.xd-portal-page .xd-jd-toolbar .btn-default {
  border-radius: 8px;
  border-color: var(--cmb-border);
  font-size: 11px;
  line-height: 1.35;
  padding: 4px 10px;
}

body.xd-portal-page .xd-jd-summary-table.table {
  border-radius: var(--cmb-radius) !important;
  overflow: hidden;
  box-shadow: var(--cmb-shadow);
  background: var(--cmb-card);
  border: 1px solid var(--cmb-border) !important;
  font-size: 13px;
}

body.xd-portal-page .xd-jd-summary-table thead th {
  background: linear-gradient(180deg, #f1f5f9 0%, #e8eef2 100%);
  color: var(--cmb-teal-900);
  font-weight: 600;
  border-bottom: 2px solid rgba(12, 61, 74, 0.12) !important;
  white-space: nowrap;
}

body.xd-portal-page .xd-jd-summary-table tbody tr:hover {
  background-color: rgba(94, 234, 212, 0.08);
}

body.xd-portal-page .xd-jd-seq-table.table,
body.xd-portal-page .xd-jd-life-table.table {
  margin-top: 1.25rem;
  border-radius: var(--cmb-radius) !important;
  overflow: hidden;
  box-shadow: var(--cmb-shadow);
  border: 1px solid var(--cmb-border) !important;
  font-size: 13px;
}

body.xd-portal-page .xd-jd-seq-table thead th,
body.xd-portal-page .xd-jd-life-table thead th {
  background: #f1f5f9;
  color: var(--cmb-teal-900);
  font-weight: 600;
}

body.xd-portal-page .xd-jd-timeline-wrap {
  margin: 1.25rem 0;
  padding: 1rem 1rem 1.25rem;
  background: var(--cmb-card);
  border: 1px solid var(--cmb-border);
  border-radius: var(--cmb-radius);
  box-shadow: var(--cmb-shadow);
}

body.xd-portal-page #ts_history {
  min-height: 100px;
}

body.xd-portal-page .xd-jd-eval-frame {
  margin: 0.75rem 0;
  border-radius: var(--cmb-radius);
  overflow: hidden;
  border: 1px solid var(--cmb-border);
  box-shadow: var(--cmb-shadow);
}

.xd-jd-legend.well {
  background: var(--cmb-card) !important;
  border: 1px solid var(--cmb-border) !important;
  border-radius: var(--cmb-radius) !important;
  box-shadow: var(--cmb-shadow);
  padding: 16px 18px !important;
  margin-top: 1.25rem;
  margin-bottom: 1.5rem;
  line-height: 1.75;
  font-size: 13px;
  color: #475569;
}

.xd-jd-legend.well strong {
  color: var(--cmb-teal-900);
}

/* 通用：未单独改版的历史模板（面包屑 / 面板 / 主按钮） */
body.xd-portal-page .container > .row .breadcrumb {
  padding: 0.65rem 1rem;
  background: var(--cmb-card);
  border: 1px solid var(--cmb-border);
  border-radius: var(--cmb-radius);
  box-shadow: var(--cmb-shadow);
}

body.xd-portal-page .panel.panel-default {
  border-color: var(--cmb-border);
  border-radius: var(--cmb-radius);
  box-shadow: var(--cmb-shadow);
}

body.xd-portal-page .panel-default > .panel-heading {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-color: var(--cmb-border);
  font-weight: 600;
  color: var(--cmb-teal-900);
}

body.xd-portal-page .container .btn-primary {
  background: linear-gradient(135deg, #0f766e 0%, var(--cmb-teal-800) 100%);
  border: none;
  border-radius: 8px;
  font-weight: 600;
}

body.xd-portal-page .container .btn-primary:hover,
body.xd-portal-page .container .btn-primary:focus {
  background: linear-gradient(135deg, #115e59 0%, var(--cmb-teal-900) 100%);
}

body.xd-portal-page .table-bordered {
  border-color: var(--cmb-border);
  border-radius: var(--cmb-radius);
  overflow: hidden;
}

/* 文号生命历程入口 search_life_course.pl */
.xd-life-course-main .xd-life-course__panel {
  margin-bottom: 0;
}

.xd-life-course-main .xd-life-course__panel-body {
  padding: 22px 20px 26px !important;
  background: #fafcfd;
}

@media (min-width: 768px) {
  .xd-life-course-main .xd-life-course__panel-body {
    padding: 26px 28px 30px !important;
  }
}

.xd-life-course-main .xd-life-course__panel-body-inner {
  max-width: 32rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.xd-life-course-main .xd-life-course__lead {
  margin: 0 0 1.1rem;
  font-size: 14px;
  line-height: 1.7;
  color: #475569;
  text-align: center;
}

.xd-life-course-main .xd-life-course__lead strong {
  color: var(--cmb-teal-900);
  font-weight: 600;
}

.xd-life-course-main .xd-life-course__hero {
  padding: 0.2rem 0 1.1rem;
}

.xd-life-course-main .xd-life-course__hero-img-wrap {
  margin: 0;
}

.xd-life-course-main .xd-life-course__hero img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  opacity: 0.92;
}

.xd-life-course-main .xd-life-course__form {
  margin-bottom: 0;
}

.xd-life-course-main .xd-life-course__field {
  margin-bottom: 1rem !important;
}

body.xd-portal-page .xd-life-course-main .xd-life-course__input.form-control {
  border-radius: 10px;
  border-color: var(--cmb-border);
  font-size: 15px;
  padding: 12px 16px;
  height: auto;
  box-shadow: none;
}

body.xd-portal-page
  .xd-life-course-main
  .xd-life-course__input.form-control:focus {
  border-color: rgba(94, 234, 212, 0.65);
  box-shadow: 0 0 0 3px rgba(94, 234, 212, 0.22);
}

.xd-life-course-main .xd-life-course__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 0.75rem;
  justify-content: center;
  align-items: center;
}

body.xd-portal-page .xd-life-course-main .xd-life-course__btn-primary {
  min-width: 7.5rem;
  padding: 9px 20px;
  border-radius: 10px;
  font-weight: 600;
}

body.xd-portal-page .xd-life-course-main .xd-life-course__btn-secondary {
  min-width: 7.5rem;
  padding: 9px 18px;
  border-radius: 10px;
  font-weight: 500;
  border-color: var(--cmb-border);
  color: var(--cmb-teal-800);
  background: #fff;
}

body.xd-portal-page .xd-life-course-main .xd-life-course__btn-secondary:hover,
body.xd-portal-page .xd-life-course-main .xd-life-course__btn-secondary:focus {
  background: rgba(94, 234, 212, 0.12);
  border-color: rgba(12, 61, 74, 0.2);
  color: var(--cmb-teal-900);
}

/* jQuery UI 自动补全（本页检索框） */
body.xd-portal-page .xd-life-course-main .ui-autocomplete {
  max-height: 220px;
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 10px;
  border: 1px solid var(--cmb-border) !important;
  box-shadow: var(--cmb-shadow);
  font-size: 13px;
  padding: 4px 0;
  background: var(--cmb-card);
}

body.xd-portal-page .xd-life-course-main .ui-menu .ui-menu-item {
  padding: 0;
}

body.xd-portal-page .xd-life-course-main .ui-menu .ui-menu-item a {
  padding: 8px 14px;
  color: #334155;
}

body.xd-portal-page .xd-life-course-main .ui-menu .ui-state-focus,
body.xd-portal-page .xd-life-course-main .ui-menu .ui-state-active {
  margin: 0;
  border: none;
  background: rgba(94, 234, 212, 0.2) !important;
  color: var(--cmb-teal-900) !important;
}

.xd-life-course-main .xd-life-course__log-section {
  margin-top: 1.75rem;
}

.xd-life-course-main .xd-life-course__section-title {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--cmb-teal-900);
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--cmb-border);
}

.xd-life-course-main .xd-life-course__iframe-wrap {
  margin-top: 0;
}

.xd-life-course-main .xd-life-course__iframe-wrap iframe {
  display: block;
  border-radius: var(--cmb-radius);
  border: 1px solid var(--cmb-border);
  box-shadow: var(--cmb-shadow);
  background: var(--cmb-card);
}

/* 文号详情 life_course_of_auth_num.pl */
.xd-life-course-detail .xd-life-course-detail__panel {
  margin-bottom: 1rem;
}

.xd-life-course-detail .xd-life-course-detail__panel-body {
  padding: 0 !important;
}

.xd-life-course-detail .xd-life-course-detail__summary {
  margin-bottom: 0;
}

.xd-life-course-detail .xd-life-course-detail__summary .table {
  margin-bottom: 0;
  background: var(--cmb-card);
}

body.xd-portal-page .xd-life-summary-table thead th,
.xd-cmb-panel .xd-life-summary-table thead th {
  background: linear-gradient(180deg, #f1f5f9 0%, #e8eef2 100%);
  color: var(--cmb-teal-900);
  font-weight: 600;
  font-size: 13px;
  border-bottom: 2px solid rgba(12, 61, 74, 0.12) !important;
  white-space: nowrap;
}

body.xd-portal-page .xd-life-summary-table tbody td,
.xd-cmb-panel .xd-life-summary-table tbody td {
  font-size: 13px;
  vertical-align: middle;
}

body.xd-portal-page .xd-life-summary-table tbody tr:hover,
.xd-cmb-panel .xd-life-summary-table tbody tr:hover {
  background-color: rgba(94, 234, 212, 0.08);
}

.xd-life-course-detail .xd-life-course-detail__well {
  border-radius: var(--cmb-radius);
  border-color: var(--cmb-border);
  box-shadow: var(--cmb-shadow);
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

.xd-life-course-detail .xd-life-course-detail__well--links .alert-link {
  color: var(--cmb-teal-800);
  font-weight: 600;
}

.xd-life-course-detail .xd-life-course-detail__well--links .alert-link:hover,
.xd-life-course-detail .xd-life-course-detail__well--links .alert-link:focus {
  color: var(--cmb-teal-900);
}

.xd-life-course-detail a.xd-life-course-detail__jd-link {
  color: #c2410c;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px dashed rgba(194, 65, 12, 0.45);
}

.xd-life-course-detail a.xd-life-course-detail__jd-link:hover,
.xd-life-course-detail a.xd-life-course-detail__jd-link:focus {
  color: #9a3412;
  border-bottom-color: rgba(154, 52, 18, 0.6);
}

.xd-life-course-detail .xd-life-course-detail__well-title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--cmb-teal-900);
  line-height: 1.5;
}

.xd-life-course-detail .xd-life-course-detail__section-title {
  margin: 1.35rem 0 0.85rem;
  padding-bottom: 0.4rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--cmb-teal-900);
  border-bottom: 1px solid var(--cmb-border);
}

.xd-life-course-detail .xd-life-course-detail__timeline {
  margin-top: 0.25rem;
}

.xd-life-course-detail .xd-life-course-detail__timeline-card {
  margin-bottom: 2rem;
  padding: 1.25rem 0.35rem 1.75rem;
  background: var(--cmb-card);
  border: 1px solid var(--cmb-border);
  border-radius: var(--cmb-radius);
  box-shadow: var(--cmb-shadow);
}

/* 时间轴：中轴线与节点环改为门户色 */
body.xd-portal-page
  .xd-life-course-detail
  .xd-life-timeline.timeline-centered:before {
  background: linear-gradient(
    180deg,
    rgba(12, 61, 74, 0.08) 0%,
    rgba(45, 212, 191, 0.35) 50%,
    rgba(12, 61, 74, 0.08) 100%
  );
  width: 3px;
  margin-left: -3px;
}

body.xd-portal-page
  .xd-life-course-detail
  .xd-life-timeline
  .timeline-entry-inner
  .timeline-icon {
  box-shadow: 0 0 0 4px rgba(12, 61, 74, 0.08);
  border: 1px solid rgba(12, 61, 74, 0.12);
}

body.xd-portal-page
  .xd-life-course-detail
  .xd-life-timeline
  .timeline-entry-inner
  .timeline-icon.bg-success {
  background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%) !important;
  color: #fff !important;
}

body.xd-portal-page
  .xd-life-course-detail
  .xd-life-timeline
  .timeline-entry-inner
  .timeline-icon.bg-info {
  background: linear-gradient(135deg, #0e7490 0%, #0891b2 100%) !important;
  color: #fff !important;
}

body.xd-portal-page
  .xd-life-course-detail
  .xd-life-timeline
  .timeline-entry-inner
  .timeline-icon.bg-secondary {
  background: linear-gradient(135deg, #be123c 0%, #e11d48 100%) !important;
  color: #fff !important;
}

.xd-life-timeline__icon-begin {
  transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  background: linear-gradient(
    135deg,
    var(--cmb-teal-900) 0%,
    var(--cmb-teal-800) 100%
  ) !important;
  color: #f8fafc !important;
}

body.xd-portal-page .xd-life-course-detail .xd-life-timeline__label {
  background: #fafcfd !important;
  border: 1px solid var(--cmb-border);
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(12, 61, 74, 0.06);
}

body.xd-portal-page
  .xd-life-course-detail
  .timeline-centered
  .timeline-entry
  .timeline-entry-inner
  .xd-life-timeline__label:after {
  border-color: transparent #fafcfd transparent transparent !important;
}

body.xd-portal-page
  .xd-life-course-detail
  .timeline-centered
  .timeline-entry.left-aligned
  .timeline-entry-inner
  .xd-life-timeline__label:after {
  border-color: transparent #fafcfd transparent transparent !important;
}

body.xd-portal-page .xd-life-course-detail .xd-life-timeline__label h2,
body.xd-portal-page .xd-life-course-detail .xd-life-timeline__label p {
  color: #334155 !important;
  font-size: 13px;
}

body.xd-portal-page .xd-life-course-detail .xd-life-timeline__event-title {
  font-size: 15px !important;
  font-weight: 600;
  color: var(--cmb-teal-900) !important;
}

body.xd-portal-page
  .xd-life-course-detail
  .xd-life-timeline
  .timeline-entry-inner
  .timeline-time
  > span:first-child {
  color: var(--cmb-teal-900);
}

body.xd-portal-page
  .xd-life-course-detail
  .xd-life-timeline
  .timeline-entry-inner
  .timeline-time
  > span:last-child {
  color: #64748b;
}

.xd-life-timeline__ok {
  color: #0f766e;
  font-weight: 500;
}

.xd-life-timeline__diff {
  color: #b91c1c;
  font-weight: 600;
}

.xd-life-timeline__muted {
  color: #64748b;
}

@media (max-width: 767px) {
  .xd-life-course-detail .xd-life-course-detail__timeline-card {
    padding-left: 0.15rem;
    padding-right: 0.15rem;
  }
}

/* CDE 收审全搜索侧栏 search_cde.pl — 分组导航 + 当前库高亮 + 大屏 sticky */
.xd-cde-search-layout {
  align-items: flex-start;
}

@media (min-width: 992px) {
  .xd-cde-sidebar-col {
    position: sticky;
    top: 76px;
    z-index: 2;
    max-height: calc(100vh - 5.5rem);
  }

  .xd-cde-search-nav {
    max-height: inherit;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .xd-cde-nav__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.xd-cde-search-nav {
  border-radius: var(--cmb-radius);
  overflow: hidden;
  box-shadow: var(--cmb-shadow);
}

/* 门户全局把检索面板设为 overflow:visible；侧栏需裁切圆角并支持内部滚动 */
body.xd-portal-page .xd-cde-search-nav.xd-cmb-panel.panel {
  overflow: hidden !important;
}

.xd-cde-search-nav .xd-cde-nav__head {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border-bottom: 1px solid var(--cmb-border);
  box-shadow: none;
  padding: 1rem 1.1rem 0.95rem;
  border-left: 4px solid var(--cmb-mint);
}

.xd-cde-search-nav .xd-cde-nav__head .panel-title,
.xd-cde-search-nav .xd-cde-nav__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--cmb-teal-900);
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.xd-cde-nav__intro {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: #64748b;
}

.xd-cde-nav__body {
  padding: 0.65rem 0.85rem 0.9rem !important;
}

.xd-cde-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xd-cde-nav__section {
  list-style: none;
  margin: 0;
  padding: 0 0 0.85rem;
}

.xd-cde-nav__section:last-child {
  padding-bottom: 0;
}

.xd-cde-nav__section-title {
  margin: 0 0 0.4rem;
  padding: 0.35rem 0.35rem 0.25rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
  border-bottom: 1px solid rgba(12, 61, 74, 0.08);
}

.xd-cde-nav__items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xd-cde-nav__item {
  margin: 0;
  padding: 2px 0;
}

.xd-cde-nav__link {
  display: block;
  padding: 0.45rem 0.55rem 0.45rem 0.65rem;
  font-size: 13px;
  line-height: 1.45;
  color: var(--cmb-teal-800);
  text-decoration: none !important;
  border-radius: 8px;
  border-left: 3px solid transparent;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease;
}

.xd-cde-nav__link:hover,
.xd-cde-nav__link:focus {
  background: rgba(94, 234, 212, 0.1);
  color: var(--cmb-teal-900);
}

.xd-cde-nav__item--active .xd-cde-nav__link,
.xd-cde-nav__link--active {
  font-weight: 600;
  color: var(--cmb-teal-900) !important;
  background: rgba(94, 234, 212, 0.16);
  border-left-color: var(--cmb-mint);
}

.xd-cde-nav__link[aria-current="page"] {
  font-weight: 600;
}

@media (max-width: 991px) {
  .xd-cde-sidebar-col {
    margin-bottom: 1rem;
  }

  .xd-cde-search-nav .xd-cde-nav__body {
    max-height: none;
    overflow: visible;
  }
}

/* search_cde.pl action=detail — 记录详情键值表 */
body.xd-portal-page .xd-cde-detail-panel .xd-cde-detail-panel__body {
  padding-top: 1rem;
}

body.xd-portal-page .xd-cde-detail__table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

body.xd-portal-page .xd-cde-detail__table {
  margin-bottom: 0;
  font-size: 13px;
  table-layout: fixed;
  width: 100%;
}

body.xd-portal-page .xd-cde-detail__table thead th {
  background: linear-gradient(180deg, #f1f5f9 0%, #e8eef2 100%);
  color: var(--cmb-teal-900);
  font-weight: 600;
  border-bottom: 2px solid rgba(12, 61, 74, 0.12) !important;
  text-align: center;
  vertical-align: middle;
}

body.xd-portal-page .xd-cde-detail__table tbody tr:nth-child(even) {
  background: rgba(240, 253, 250, 0.22);
}

body.xd-portal-page .xd-cde-detail__table .xd-cde-detail__field,
body.xd-portal-page .xd-cde-detail__table td.xd-cde-detail__field {
  width: 28%;
  max-width: 14rem;
  font-weight: 600;
  color: var(--cmb-teal-800);
  background: rgba(12, 61, 74, 0.05);
  text-align: left;
  vertical-align: top;
  word-break: break-word;
}

body.xd-portal-page .xd-cde-detail__table .xd-cde-detail__value,
body.xd-portal-page .xd-cde-detail__table td.xd-cde-detail__value {
  word-break: break-word;
  overflow-wrap: break-word;
  vertical-align: top;
}

body.xd-portal-page .xd-cde-detail__back {
  margin-top: 1.1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--cmb-border);
}

/* 高级 NMPA 基础库侧栏 search_sfda.pl — 与 CDE 侧栏同系：分组 + sticky + 当前库高亮 */
.xd-sfda-search-layout {
  align-items: flex-start;
}

@media (min-width: 992px) {
  .xd-sfda-sidebar-col {
    position: sticky;
    top: 76px;
    z-index: 2;
    max-height: calc(100vh - 5.5rem);
  }

  .xd-sfda-search-nav {
    max-height: inherit;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .xd-sfda-nav__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.xd-sfda-search-nav {
  border-radius: var(--cmb-radius);
  overflow: hidden;
  box-shadow: var(--cmb-shadow);
}

body.xd-portal-page .xd-sfda-search-nav.xd-cmb-panel.panel {
  overflow: hidden !important;
}

.xd-sfda-search-nav .xd-sfda-nav__head {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border-bottom: 1px solid var(--cmb-border);
  box-shadow: none;
  padding: 1rem 1.1rem 0.95rem;
  border-left: 4px solid #38bdf8;
}

.xd-sfda-search-nav .xd-sfda-nav__head .panel-title,
.xd-sfda-search-nav .xd-sfda-nav__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--cmb-teal-900);
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.xd-sfda-nav__intro {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: #64748b;
}

.xd-sfda-nav__body {
  padding: 0.65rem 0.85rem 0.9rem !important;
}

.xd-sfda-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xd-sfda-nav__section {
  list-style: none;
  margin: 0;
  padding: 0 0 0.85rem;
}

.xd-sfda-nav__section:last-child {
  padding-bottom: 0;
}

.xd-sfda-nav__section-title {
  margin: 0 0 0.4rem;
  padding: 0.35rem 0.35rem 0.25rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #64748b;
  border-bottom: 1px solid rgba(12, 61, 74, 0.08);
}

.xd-sfda-nav__items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xd-sfda-nav__item {
  margin: 0;
  padding: 2px 0;
}

.xd-sfda-nav__link {
  display: block;
  padding: 0.45rem 0.55rem 0.45rem 0.65rem;
  font-size: 13px;
  line-height: 1.45;
  color: var(--cmb-teal-800);
  text-decoration: none !important;
  border-radius: 8px;
  border-left: 3px solid transparent;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease;
}

.xd-sfda-nav__link:hover,
.xd-sfda-nav__link:focus {
  background: rgba(12, 61, 74, 0.06);
  color: var(--cmb-teal-900);
}

.xd-sfda-nav__item--active .xd-sfda-nav__link,
.xd-sfda-nav__link--active {
  font-weight: 600;
  color: var(--cmb-teal-900) !important;
  background: rgba(12, 61, 74, 0.08);
  border-left-color: rgba(12, 61, 74, 0.28);
}

.xd-sfda-nav__link[aria-current="page"] {
  font-weight: 600;
}

.xd-sfda-nav__badge {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.1rem 0.4rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #b91c1c;
  background: rgba(254, 226, 226, 0.95);
  border: 1px solid rgba(248, 113, 113, 0.45);
  border-radius: 4px;
  vertical-align: 0.08em;
}

@media (max-width: 991px) {
  .xd-sfda-sidebar-col {
    margin-bottom: 1rem;
  }

  .xd-sfda-search-nav .xd-sfda-nav__body {
    max-height: none;
    overflow: visible;
  }
}

/* 咸达基础型基础库 search_base.pl — 与 NMPA 检索页同系版心 + 侧栏 sticky + list-group 导航 */
.xd-base-search-layout {
  align-items: flex-start;
}

@media (min-width: 992px) {
  .xd-base-sidebar-col {
    position: sticky;
    top: 76px;
    z-index: 2;
    max-height: calc(100vh - 5.5rem);
  }

  .xd-base-search-nav {
    max-height: inherit;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .xd-base-nav__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.xd-base-search-nav {
  border-radius: var(--cmb-radius);
  overflow: hidden;
  box-shadow: var(--cmb-shadow);
}

body.xd-portal-page .xd-base-search-nav.xd-cmb-panel.panel {
  overflow: hidden !important;
}

.xd-base-nav__head {
  background: linear-gradient(135deg, #f8fafc 0%, #ecfdf5 100%);
  border-bottom: 1px solid var(--cmb-border);
  box-shadow: none;
  padding: 1rem 1.1rem 0.95rem;
  border-left: 4px solid #10b981;
}

.xd-base-nav__head .panel-title,
.xd-base-nav__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--cmb-teal-900);
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.xd-base-nav__intro {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: #64748b;
}

.xd-base-nav__body {
  padding: 0 !important;
  background: #fafcfd;
}

.xd-base-nav-list.list-group {
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  border: none;
  background: transparent;
}

.xd-base-nav-list .list-group-item {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  border: none;
  border-bottom: 1px solid rgba(12, 61, 74, 0.06);
  padding: 0.42rem 0.75rem 0.42rem 0.65rem;
  margin: 0;
  background: transparent;
}

.xd-base-nav-list .list-group-item:last-child {
  border-bottom: none;
}

.xd-base-nav-list .list-group-item .glyphicon {
  flex-shrink: 0;
  margin-top: 0.2rem;
  font-size: 12px;
  color: #64748b;
}

.xd-base-nav-list .list-group-item a {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--cmb-teal-800);
  text-decoration: none !important;
  border-radius: 6px;
  transition:
    color 0.15s ease,
    background 0.15s ease;
}

.xd-base-nav-list .list-group-item a:hover,
.xd-base-nav-list .list-group-item a:focus {
  color: var(--cmb-teal-900);
  text-decoration: underline !important;
}

.xd-base-nav__item--active {
  background: rgba(16, 185, 129, 0.1) !important;
}

.xd-base-nav__item--active .glyphicon {
  color: var(--cmb-teal-800);
}

.xd-base-nav__link--active {
  font-weight: 600 !important;
  color: var(--cmb-teal-900) !important;
}

.xd-base-nav__link--active[aria-current="page"] {
  font-weight: 600;
}

@media (max-width: 991px) {
  .xd-base-sidebar-col {
    margin-bottom: 1rem;
  }

  .xd-base-search-nav .xd-base-nav__body {
    max-height: none;
    overflow: visible;
  }
}

/* search_base.pl 记录详情（action=detail） */
body.xd-portal-page .xd-base-detail-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1.25rem;
  margin-bottom: 1rem;
  padding: 0.65rem 1rem;
  background: var(--cmb-surface-muted, #f8fafc);
  border: 1px solid var(--cmb-border, #e2e8f0);
  border-radius: 4px;
}

.xd-base-detail-toolbar-hint {
  font-size: 13px;
  margin: 0;
}

body.xd-portal-page .xd-base-detail-panel.panel {
  border-color: var(--cmb-border, #e2e8f0);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.xd-base-detail-panel__head {
  border-bottom: 1px solid var(--cmb-border, #e2e8f0);
}

.xd-base-detail-panel__head .xd-cmb-panel__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
}

.xd-base-detail-panel__meta {
  margin-left: 0.25rem;
  font-weight: normal;
  vertical-align: middle;
}

.xd-base-detail-table {
  margin-bottom: 0;
}

.xd-base-detail-table thead th {
  background: var(--cmb-teal-50, #f0fdfa);
  color: var(--cmb-teal-900, #134e4a);
  font-weight: 600;
  font-size: 13px;
  border-bottom-width: 1px;
  white-space: nowrap;
}

.xd-base-detail-table .xd-base-detail__k {
  width: 11rem;
  max-width: 38%;
  background: var(--cmb-surface-muted, #f8fafc);
  font-weight: 600;
  color: var(--cmb-muted-strong, #334155);
  vertical-align: top;
  border-right: 1px solid var(--cmb-border, #e2e8f0);
}

@media (max-width: 767px) {
  .xd-base-detail-table .xd-base-detail__k {
    width: 8.5rem;
    max-width: 44%;
  }
}

.xd-base-detail-table .xd-base-detail__v {
  vertical-align: top;
  word-break: break-word;
  line-height: 1.55;
  background: #fff;
}

.xd-base-detail-table tbody tr:hover .xd-base-detail__v {
  background: var(--cmb-surface-muted, #f8fafc);
}

.xd-base-detail-table tbody tr:hover .xd-base-detail__k {
  background: #eefcf9;
}

/* 独家受理品种 dujia_cde.pl */
.xd-dujia-cde-main .xd-dujia-cde__form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.35rem 0.75rem;
}

.xd-dujia-cde-main .xd-dujia-cde__form .form-group {
  margin-bottom: 0;
}

.xd-dujia-cde-main .xd-dujia-cde__date-spacer {
  margin: 0 0.25em;
  color: var(--cmb-muted, #64748b);
}

.xd-dujia-cde-main .xd-dujia-cde__pager {
  padding: 0.75rem 1rem 1rem;
}

/* 宽表不挤出版心：内层滚动，分页条固定在下（与 admin 库表同理） */
body.xd-portal-page .xd-dujia-cde-main .xd-cmb-row > [class*="col-"] {
  min-width: 0;
}

body.xd-portal-page
  .xd-dujia-cde-main
  .xd-dujia-cde__table-scroll.table-responsive {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

/* subscribe_search.pl — 订阅查询 / 结果 */
body.xd-portal-page .xd-subscribe-search-main .xd-cmb-row > [class*="col-"] {
  min-width: 0;
}

body.xd-portal-page
  .xd-subscribe-search-main
  .xd-subscribe-search__panel
  .panel-body {
  padding-top: 1.1rem;
}

/* 查询区：无 SUB_QY 时不占左侧空列；有快捷入口时并排，表单占满剩余宽度 */
body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__layout {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.1rem 1.75rem;
  margin-bottom: 0.25rem;
}

body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__links {
  flex: 0 1 15.5rem;
  min-width: min(100%, 13.5rem);
  max-width: 100%;
}

body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__form-col {
  flex: 1 1 16rem;
  min-width: 0;
  max-width: 100%;
}

@media (min-width: 768px) {
  body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__links {
    flex-basis: 16.5rem;
    min-width: 15rem;
  }
}

body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__link-stack {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0;
}

body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__link-btn {
  text-align: left;
  font-size: 13px;
  font-weight: 500;
  border-radius: 8px;
  white-space: normal;
  line-height: 1.35;
  padding: 0.55rem 0.75rem;
}

body.xd-portal-page
  .xd-subscribe-search-main
  .xd-subscribe-search__form
  .form-group {
  margin-bottom: 0.85rem;
}

body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 13px;
  font-weight: 600;
  color: var(--cmb-teal-800);
}

body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__hint {
  margin-top: 0.4rem;
  margin-bottom: 0;
  font-size: 12px;
  color: #64748b;
}

body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__submit-row {
  margin-bottom: 0;
  text-align: right;
}

body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__submit {
  min-width: 6rem;
  border-radius: 8px;
  font-weight: 600;
}

body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__notice {
  margin-top: 1.25rem;
  padding: 0.85rem 1rem;
  background: rgba(241, 245, 249, 0.9);
  border: 1px solid rgba(12, 61, 74, 0.1);
  border-radius: var(--cmb-radius);
  clear: both;
}

body.xd-portal-page
  .xd-subscribe-search-main
  .xd-subscribe-search__notice-title {
  color: #b91c1c;
  font-size: 13px;
}

body.xd-portal-page
  .xd-subscribe-search-main
  .xd-subscribe-search__notice-text {
  margin: 0.4rem 0 0;
  font-size: 12px;
  line-height: 1.55;
  color: #334155;
}

body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__back {
  margin-top: 1rem;
}

body.xd-portal-page
  .xd-subscribe-search-main
  .xd-subscribe-search__title-banner {
  margin-bottom: 0.75rem;
  border-radius: var(--cmb-radius);
}

body.xd-portal-page
  .xd-subscribe-search-main
  .xd-subscribe-search__table-scroll.table-responsive {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  margin-bottom: 0.35rem;
}

body.xd-portal-page
  .xd-subscribe-search-main
  .xd-subscribe-search__table-scroll
  .table {
  margin-bottom: 0;
}

body.xd-portal-page .xd-subscribe-search-main .xd-subscribe-search__th-action {
  width: 8rem;
}

/* search_medical_device.pl — 器械注册审评 */
body.xd-portal-page .xd-medical-device-main .xd-cmb-row > [class*="col-"] {
  min-width: 0;
}

body.xd-portal-page
  .xd-medical-device-main
  .xd-medical-device__table-scroll.table-responsive {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

body.xd-portal-page
  .xd-medical-device-main
  .xd-medical-device__table-scroll
  .table {
  margin-bottom: 0;
}

body.xd-portal-page .xd-medical-device-main .xd-medical-device__cut-input {
  display: inline-block;
  width: 3.25rem !important;
  max-width: 4.5rem;
  vertical-align: middle;
  padding: 2px 6px;
  height: auto;
  min-height: 28px;
  text-align: center;
}

body.xd-portal-page
  .xd-medical-device-main
  .xd-medical-device__results-panel
  > .technorati {
  border-top: 1px solid var(--cmb-border);
  margin-top: 0;
}

/* subscribe_company.pl / subscribe_drug.pl / subscribe.pl — 已订阅列表 + 新增订阅表单 */
body.xd-portal-page .xd-subscribe-page-main .xd-cmb-row > [class*="col-"] {
  min-width: 0;
}

body.xd-portal-page
  .xd-subscribe-page-main
  .xd-subscribe-page__panel
  .panel-body {
  padding-top: 1.1rem;
}

body.xd-portal-page
  .xd-subscribe-page-main
  .xd-subscribe-page__panel--new
  .panel-body {
  padding-top: 1rem;
}

body.xd-portal-page .xd-subscribe-page-main .xd-subscribe-page__panel--new {
  margin-bottom: 1rem;
}

body.xd-portal-page
  .xd-subscribe-page-main
  .xd-subscribe-page__new-body
  .form-group {
  margin-bottom: 0.85rem;
}

body.xd-portal-page .xd-subscribe-page-main .xd-subscribe-page__label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 13px;
  font-weight: 600;
  color: var(--cmb-teal-800);
}

body.xd-portal-page .xd-subscribe-page-main .xd-subscribe-page__hint {
  margin-top: 0.4rem;
  margin-bottom: 0;
  font-size: 12px;
  color: #64748b;
}

body.xd-portal-page .xd-subscribe-page-main .xd-subscribe-page__notice {
  margin-top: 0.25rem;
  padding: 0.85rem 1rem;
  background: rgba(241, 245, 249, 0.9);
  border: 1px solid rgba(12, 61, 74, 0.1);
  border-radius: var(--cmb-radius);
}

body.xd-portal-page .xd-subscribe-page-main .xd-subscribe-page__notice-text {
  margin: 0 0 0.75rem;
  font-size: 12px;
  line-height: 1.55;
  color: #334155;
}

body.xd-portal-page .xd-subscribe-page-main .xd-subscribe-page__foot-actions {
  margin: 0;
  text-align: right;
}

body.xd-portal-page .xd-subscribe-page-main .xd-subscribe-page__submit {
  min-width: 6rem;
  border-radius: 8px;
  font-weight: 600;
}

body.xd-portal-page .xd-subscribe-page-main .xd-subscribe-page__title-banner {
  margin-bottom: 0.75rem;
  border-radius: var(--cmb-radius);
}

body.xd-portal-page
  .xd-subscribe-page-main
  .xd-subscribe-page__table-scroll.table-responsive {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  margin-bottom: 0.35rem;
}

body.xd-portal-page
  .xd-subscribe-page-main
  .xd-subscribe-page__table-scroll
  .table {
  margin-bottom: 0;
  font-size: 13px;
}

body.xd-portal-page
  .xd-subscribe-page-main
  .xd-subscribe-page__table-scroll
  .table
  > thead
  > tr
  > th {
  background: linear-gradient(180deg, #f1f5f9 0%, #e8eef2 100%);
  color: var(--cmb-teal-900);
  font-weight: 600;
  border-bottom: 2px solid rgba(12, 61, 74, 0.12) !important;
  white-space: nowrap;
  vertical-align: middle;
}

body.xd-portal-page .xd-subscribe-page-main .xd-subscribe-page__th-action {
  width: 8rem;
}

body.xd-portal-page .xd-subscribe-page-main .xd-subscribe-page__back {
  margin-top: 1rem;
}

/* show_cde_cfda.pl — CDE 承办 + NMPA 注册进度 */
body.xd-portal-page .xd-show-cde-cfda-main .xd-cmb-row > [class*="col-"] {
  min-width: 0;
}

body.xd-portal-page .xd-show-cde-cfda-main .xd-show-cde-cfda__table-scroll {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  margin-bottom: 0.5rem;
}

body.xd-portal-page .xd-show-cde-cfda-main .xd-show-cde-cfda__cde-table {
  margin-bottom: 0;
  font-size: 13px;
}

body.xd-portal-page
  .xd-show-cde-cfda-main
  .xd-show-cde-cfda__cde-table
  thead
  th {
  background: linear-gradient(180deg, #f1f5f9 0%, #e8eef2 100%);
  color: var(--cmb-teal-900);
  font-weight: 600;
  border-bottom: 2px solid rgba(12, 61, 74, 0.12) !important;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
}

body.xd-portal-page
  .xd-show-cde-cfda-main
  .xd-show-cde-cfda__cde-table
  tbody
  td {
  text-align: center;
  vertical-align: middle;
}

body.xd-portal-page .xd-show-cde-cfda-main .xd-show-cde-cfda__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem 0.65rem;
  padding-top: 0.15rem;
  font-size: 13px;
  color: var(--cmb-teal-800);
}

body.xd-portal-page .xd-show-cde-cfda-main .xd-show-cde-cfda__toolbar--footer {
  justify-content: flex-end;
  margin-top: 0.5rem;
  padding-top: 0;
}

body.xd-portal-page .xd-show-cde-cfda-main .xd-show-cde-cfda__toolbar-lead {
  margin-right: auto;
  min-width: 0;
}

body.xd-portal-page .xd-show-cde-cfda-main .xd-show-cde-cfda__detail-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
  margin: 0 0 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--cmb-border);
}

body.xd-portal-page .xd-show-cde-cfda-main .xd-show-cde-cfda__detail-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--cmb-teal-900);
  line-height: 1.45;
  flex: 1 1 12rem;
  min-width: 0;
}

body.xd-portal-page .xd-show-cde-cfda-main .xd-show-cde-cfda__detail-table {
  margin-bottom: 0;
  font-size: 13px;
}

body.xd-portal-page
  .xd-show-cde-cfda-main
  .xd-show-cde-cfda__detail-table
  > tbody
  > tr
  > td:first-child {
  width: 22%;
  max-width: 11rem;
  font-weight: 600;
  color: var(--cmb-teal-800);
  background: rgba(12, 61, 74, 0.04);
  white-space: nowrap;
  vertical-align: top;
}

body.xd-portal-page
  .xd-show-cde-cfda-main
  .xd-show-cde-cfda__detail-table
  > tbody
  > tr
  > td:last-child {
  word-break: break-word;
  overflow-wrap: break-word;
  vertical-align: top;
}

body.xd-portal-page .xd-show-cde-cfda-main .xd-show-cde-cfda__footnote {
  margin: 0.25rem 0 0;
  padding: 0.85rem 1rem;
  font-size: 12px;
  line-height: 1.55;
  color: #64748b;
  background: rgba(100, 116, 139, 0.08);
  border-radius: var(--cmb-radius);
  border: 1px solid rgba(12, 61, 74, 0.08);
}

/* pay.pl?action=huangjin — 企业授权说明（克制、文档化版式） */
.xd-pay-huangjin-main .xd-pay-huangjin-shell {
  border-radius: 8px;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.05),
    0 4px 16px rgba(15, 23, 42, 0.06);
  border: 1px solid #e2e8f0;
  overflow: hidden;
  background: #fff;
  margin-bottom: 1.5rem;
}

.xd-pay-huangjin-main .xd-pay-huangjin-hero {
  padding: 1.35rem 1.35rem 1.25rem;
  text-align: left;
  background: var(--cmb-teal-900);
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

@media (min-width: 768px) {
  .xd-pay-huangjin-main .xd-pay-huangjin-hero {
    padding: 1.5rem 1.75rem 1.35rem;
  }
}

.xd-pay-huangjin-main .xd-pay-huangjin-hero__eyebrow {
  margin: 0 0 0.4rem;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(248, 250, 252, 0.55);
}

.xd-pay-huangjin-main .xd-pay-huangjin-hero__title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.01em;
  color: #f8fafc;
}

.xd-pay-huangjin-main .xd-pay-huangjin-hero__subtitle {
  margin: 0;
  max-width: 46rem;
  font-size: 13px;
  line-height: 1.65;
  font-weight: 400;
  color: rgba(248, 250, 252, 0.82);
}

.xd-pay-huangjin-main .xd-pay-huangjin-body {
  padding: 1.5rem 1.35rem 1.75rem;
  background: #fff;
}

@media (min-width: 768px) {
  .xd-pay-huangjin-main .xd-pay-huangjin-body {
    padding: 1.75rem 1.75rem 2rem;
  }
}

.xd-pay-huangjin-main .xd-pay-huangjin-lead {
  margin: 0 0 1.5rem;
  padding: 0 0 1.25rem;
  border: none;
  border-bottom: 1px solid #e2e8f0;
  border-radius: 0;
  background: transparent;
}

.xd-pay-huangjin-main .xd-pay-huangjin-lead p {
  text-indent: 2em;
  margin: 0;
  line-height: 1.8;
  color: #475569;
  font-size: 14px;
}

.xd-pay-huangjin-main .xd-pay-huangjin-em {
  font-weight: 600;
  color: var(--cmb-teal-800);
}

.xd-pay-huangjin-main .xd-pay-huangjin-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin: 0 0 1.75rem;
  padding: 1.1rem 1.25rem;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
}

.xd-pay-huangjin-main .xd-pay-huangjin-price__main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
}

.xd-pay-huangjin-main .xd-pay-huangjin-price__name {
  font-size: 15px;
  font-weight: 600;
  color: #0f172a;
}

.xd-pay-huangjin-main .xd-pay-huangjin-price__unit {
  font-size: 12px;
  font-weight: 500;
  color: #64748b;
}

.xd-pay-huangjin-main .xd-pay-huangjin-price__amount {
  font-size: clamp(1.5rem, 4vw, 1.85rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1;
  color: var(--cmb-teal-900);
  font-variant-numeric: tabular-nums;
}

.xd-pay-huangjin-main .xd-pay-huangjin-features {
  margin: 0 0 1.75rem;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.xd-pay-huangjin-main .xd-pay-huangjin-features__title {
  margin: 0 0 0.6rem;
  padding-bottom: 0.5rem;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
  border-bottom: 1px solid #e2e8f0;
}

.xd-pay-huangjin-main .xd-pay-huangjin-features__lead {
  margin: 0 0 1rem;
  padding: 0;
  text-align: left;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: #475569;
  background: none;
  border: none;
}

.xd-pay-huangjin-main .xd-pay-huangjin-feature-link {
  font-weight: 600;
  color: var(--cmb-teal-800) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(15, 79, 92, 0.2);
  transition:
    color 0.12s ease,
    border-color 0.12s ease;
}

.xd-pay-huangjin-main .xd-pay-huangjin-feature-link:hover,
.xd-pay-huangjin-main .xd-pay-huangjin-feature-link:focus {
  color: var(--cmb-teal-900) !important;
  border-bottom-color: var(--cmb-teal-800);
}

.xd-pay-huangjin-main .xd-pay-huangjin-inline-link {
  font-weight: 600;
  color: var(--cmb-teal-800) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(15, 79, 92, 0.2);
}

.xd-pay-huangjin-main .xd-pay-huangjin-inline-link:hover,
.xd-pay-huangjin-main .xd-pay-huangjin-inline-link:focus {
  color: var(--cmb-teal-900) !important;
  border-bottom-color: var(--cmb-teal-800);
}

.xd-pay-huangjin-main .xd-pay-huangjin-feature-list {
  margin: 0;
  padding-left: 1.15rem;
  color: #334155;
  font-size: 14px;
  line-height: 1.7;
}

.xd-pay-huangjin-main .xd-pay-huangjin-feature-list > li {
  margin-bottom: 0.7rem;
}

.xd-pay-huangjin-main .xd-pay-huangjin-feature-list ol {
  margin: 0.4rem 0 0;
  padding-left: 1.2rem;
}

.xd-pay-huangjin-main .xd-pay-huangjin-grid {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 992px) {
  .xd-pay-huangjin-main .xd-pay-huangjin-grid {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

.xd-pay-huangjin-main .xd-pay-huangjin-card {
  padding: 1.15rem 1.2rem;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: none;
}

.xd-pay-huangjin-main .xd-pay-huangjin-card--pay,
.xd-pay-huangjin-main .xd-pay-huangjin-card--contact {
  background: #fff;
}

.xd-pay-huangjin-main .xd-pay-huangjin-card__title {
  margin: 0 0 0.65rem;
  padding-bottom: 0.45rem;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #64748b;
  border-bottom: 1px solid #e2e8f0;
}

.xd-pay-huangjin-main .xd-pay-huangjin-card__list {
  margin: 0;
  padding-left: 1.05rem;
  font-size: 13px;
  line-height: 1.7;
  color: #475569;
}

.xd-pay-huangjin-main .xd-pay-huangjin-card__list li + li {
  margin-top: 0.7rem;
}

/* user_center.pl — 个人中心（门户卡片 + 侧栏导航） */
.xd-user-center-main .xd-user-center-layout {
  align-items: flex-start;
}

.xd-user-center-main .xd-user-center-sidebar > .panel + .panel {
  margin-top: 1rem;
}

/* 资料卡 */
.xd-user-center-main .xd-user-center-profile {
  overflow: hidden;
  text-align: center;
}

.xd-user-center-main .xd-user-center-profile__banner {
  height: 72px;
  background: linear-gradient(
    180deg,
    var(--cmb-results-thead-bg-top) 0%,
    var(--cmb-results-thead-bg-bottom) 100%
  );
  border-bottom: 2px solid var(--cmb-results-thead-border);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.xd-user-center-main .xd-user-center-profile__body {
  padding-top: 0 !important;
  position: relative;
}

.xd-user-center-main .xd-user-center-profile__avatar-wrap {
  margin-top: -36px;
  margin-bottom: 0.5rem;
}

.xd-user-center-main .xd-user-center-profile__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--cmb-card);
  border: 3px solid rgba(255, 255, 255, 0.98);
  box-shadow: 0 4px 16px rgba(12, 61, 74, 0.1);
  color: var(--cmb-teal-800);
  font-size: 28px;
}

.xd-user-center-main .xd-user-center-profile__name {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--cmb-teal-900);
  margin: 0.35rem 0 0.15rem;
  line-height: 1.35;
  word-break: break-word;
}

.xd-user-center-main .xd-user-center-profile__id {
  font-size: 12px;
  color: #64748b;
  margin: 0 0 0.5rem;
}

.xd-user-center-main .xd-user-center-profile__id-num {
  font-weight: 600;
  color: #475569;
  letter-spacing: 0.02em;
}

.xd-user-center-main .xd-user-center-profile__badge {
  margin: 0 0 1rem;
}

.xd-user-center-main .xd-user-center-profile__group {
  font-size: 12px;
  font-weight: 600;
  padding: 0.35em 0.75em;
  border-radius: 999px;
  background: rgba(12, 61, 74, 0.08) !important;
  color: var(--cmb-teal-900) !important;
  border: 1px solid var(--cmb-border);
}

.xd-user-center-main .xd-user-center-profile__dl {
  margin: 0;
  text-align: left;
  border-top: 1px solid var(--cmb-border);
  padding-top: 0.75rem;
}

.xd-user-center-main .xd-user-center-profile__row {
  display: flex;
  gap: 10px;
  padding: 0.4rem 0;
  font-size: 12px;
  border-bottom: 1px solid rgba(12, 61, 74, 0.06);
}

.xd-user-center-main .xd-user-center-profile__row:last-child {
  border-bottom: none;
}

.xd-user-center-main .xd-user-center-profile__row dt {
  flex: 0 0 5.5rem;
  margin: 0;
  font-weight: 500;
  color: #64748b;
}

.xd-user-center-main .xd-user-center-profile__row dt .glyphicon {
  margin-right: 4px;
  opacity: 0.85;
}

.xd-user-center-main .xd-user-center-profile__row dd {
  margin: 0;
  flex: 1;
  min-width: 0;
  color: #334155;
  word-break: break-word;
}

/* 侧栏导航 */
.xd-user-center-main .xd-user-center-side-nav {
  overflow: hidden;
}

.xd-user-center-main .xd-user-center-side-nav__head {
  padding: 12px 16px !important;
  background: linear-gradient(
    180deg,
    var(--cmb-results-thead-bg-top) 0%,
    var(--cmb-results-thead-bg-bottom) 100%
  ) !important;
  border-bottom: 1px solid var(--cmb-results-thead-border) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.xd-user-center-main .xd-user-center-side-nav__head-text {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cmb-results-thead-text);
}

.xd-user-center-main .xd-user-center-side-nav__list {
  margin-bottom: 0;
}

.xd-user-center-main .xd-user-center-side-nav__item {
  padding: 0 !important;
  border-left: none !important;
  border-right: none !important;
}

.xd-user-center-main .xd-user-center-side-nav__link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  color: #334155;
  text-decoration: none !important;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}

.xd-user-center-main .xd-user-center-side-nav__link:hover,
.xd-user-center-main .xd-user-center-side-nav__link:focus {
  background: rgba(12, 61, 74, 0.05);
  color: var(--cmb-teal-900);
}

.xd-user-center-main .xd-user-center-side-nav__link--active {
  background: linear-gradient(
    90deg,
    rgba(241, 245, 249, 0.98) 0%,
    rgba(232, 238, 242, 0.45) 100%
  );
  color: var(--cmb-teal-900);
  font-weight: 600;
  border-left: 3px solid rgba(12, 61, 74, 0.22);
  padding-left: 11px;
}

.xd-user-center-main .xd-user-center-side-nav__link--secondary {
  color: #475569;
}

.xd-user-center-main .xd-user-center-side-nav__icon {
  flex-shrink: 0;
  opacity: 0.85;
  color: var(--cmb-teal-800);
}

.xd-user-center-main .xd-user-center-side-nav__text {
  flex: 1;
  min-width: 0;
  text-align: left;
}

.xd-user-center-main .xd-user-center-side-nav__chevron {
  flex-shrink: 0;
  font-size: 10px;
  opacity: 0.35;
}

.xd-user-center-main
  .xd-user-center-side-nav__link--active
  .xd-user-center-side-nav__chevron {
  opacity: 0.55;
}

.xd-user-center-main .xd-user-center-admin-panel__body {
  padding-top: 8px;
  padding-bottom: 8px;
}

/* 主内容区 */
.xd-user-center-main .xd-user-center-content-panel__head {
  cursor: default;
}

.xd-user-center-main .xd-user-center-content-panel__title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.xd-user-center-main .xd-user-center-content-panel__title-icon {
  opacity: 0.95;
}

.xd-user-center-main .xd-user-center-content-panel__title-text {
  font-weight: 600;
}

.xd-user-center-main .xd-user-center-content-panel__body {
  padding-top: 1.25rem;
}

.xd-user-center-main .xd-user-center-lead {
  font-size: 13px;
  color: #64748b;
  margin: 0 0 1.25rem;
  line-height: 1.65;
  max-width: 52em;
}

.xd-user-center-main .xd-user-center-form .control-label {
  font-weight: 500;
  color: #475569;
}

.xd-user-center-main .xd-user-center-form-actions {
  margin-top: 0.5rem;
  margin-bottom: 0;
}

/* 与上方「标签 + 输入」同栅格，按钮右缘与 .form-control 右缘一致 */
.xd-user-center-main
  .xd-user-center-form--profile
  .xd-user-center-form-actions__btn-col,
.xd-user-center-main
  .xd-user-center-form--email-passwd
  .xd-user-center-form-actions__btn-col:not(
    .xd-user-center-form-actions__btn-col--stacked
  ) {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.xd-user-center-main
  .xd-user-center-form--profile
  .xd-user-center-form-actions__spacer,
.xd-user-center-main
  .xd-user-center-form--email-passwd
  .xd-user-center-form-actions__spacer {
  min-height: 1px;
}

/* 密码与邮箱：复选框占满输入列宽，提交按钮单独一行靠右，与输入框右对齐 */
.xd-user-center-main
  .xd-user-center-form--email-passwd
  .xd-user-center-form-actions__btn-col--stacked {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}

.xd-user-center-main
  .xd-user-center-form--email-passwd
  .xd-user-center-form-actions__submit-row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.xd-user-center-main .xd-user-center-checkbox-label {
  display: block;
  font-weight: normal;
  margin-bottom: 12px;
  color: #475569;
}

.xd-user-center-main .xd-user-center-btn-submit {
  min-width: 120px;
  font-weight: 600;
}

.xd-user-center-main .xd-user-center-subhead {
  font-size: 14px;
  font-weight: 600;
  margin: 1.35rem 0 0.65rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid var(--cmb-border);
  color: var(--cmb-teal-900);
}

.xd-user-center-main .xd-user-center-subhead:first-of-type {
  margin-top: 0;
}

.xd-user-center-main .xd-user-center-table-wrap {
  margin-bottom: 0.75rem;
  border-radius: 8px;
  border: 1px solid var(--cmb-border);
  overflow: hidden;
}

.xd-user-center-main .xd-user-center-table-wrap .table {
  margin-bottom: 0;
}

.xd-user-center-main .xd-user-center-security-note {
  margin-top: 1.25rem;
  margin-bottom: 0;
  text-align: left;
  font-size: 13px;
  border-radius: var(--cmb-radius);
}

.xd-user-center-main .xd-user-center-security-note .glyphicon {
  margin-right: 6px;
}

.xd-user-center-main .xd-user-center-back {
  margin-top: 1.25rem;
}

@media (max-width: 991px) {
  .xd-user-center-main .xd-user-center-sidebar {
    margin-bottom: 1.25rem;
  }
}

/* my_tasks.pl */
.xd-my-tasks-main .xd-my-tasks-toolbar {
  margin-bottom: 0.75rem;
}

.xd-my-tasks-main .xd-my-tasks-hiddenids {
  display: none;
}

.xd-my-tasks-main .xd-my-tasks-intro .xd-my-tasks-info {
  margin-bottom: 0;
  padding-left: 1.25rem;
}

.xd-my-tasks-main .xd-my-tasks-starhint {
  color: #b91c1c;
  font-weight: 700;
}

.xd-my-tasks-main .xd-my-tasks-actions {
  padding: 0.75rem 1rem 1rem;
}

.xd-my-tasks-main .xd-my-tasks-help--ok {
  color: #15803d;
}

.xd-my-tasks-main .xd-my-tasks-help--warn {
  color: #b91c1c;
}

.xd-my-tasks-main table .xd-my-tasks-overdue,
.xd-my-tasks-main table .xd-my-tasks-priority {
  color: #b91c1c;
  font-weight: 600;
}

/* 门户页 .xd-cmb-panel 默认 overflow:visible 会抵消 .table-responsive 的横向滚动，导致宽表裁切且无滚动条 */
body.xd-portal-page
  .xd-my-tasks-main
  .xd-my-tasks-table-panel.panel.table-responsive {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

body.xd-portal-page .xd-my-tasks-main .xd-my-tasks-maincol {
  min-width: 0;
}

/* xd_theme 对 .table-responsive 单元格设了 white-space:nowrap，执行人/审核人/任务名称过长时强制单行撑破布局 */
body.xd-portal-page
  .xd-my-tasks-main
  .xd-my-tasks-table-panel.table-responsive
  table.xd-my-tasks-table
  th:nth-child(3),
body.xd-portal-page
  .xd-my-tasks-main
  .xd-my-tasks-table-panel.table-responsive
  table.xd-my-tasks-table
  td:nth-child(3),
body.xd-portal-page
  .xd-my-tasks-main
  .xd-my-tasks-table-panel.table-responsive
  table.xd-my-tasks-table
  th:nth-child(7),
body.xd-portal-page
  .xd-my-tasks-main
  .xd-my-tasks-table-panel.table-responsive
  table.xd-my-tasks-table
  td:nth-child(7),
body.xd-portal-page
  .xd-my-tasks-main
  .xd-my-tasks-table-panel.table-responsive
  table.xd-my-tasks-table
  th:nth-child(8),
body.xd-portal-page
  .xd-my-tasks-main
  .xd-my-tasks-table-panel.table-responsive
  table.xd-my-tasks-table
  td:nth-child(8) {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  vertical-align: top;
  max-width: 20rem;
}

/* admin_xd_database：侧栏相邻 panel 间距（默认 ~20px 偏大，展开导航后与「使用说明」空隙过大） */
body.xd-portal-page .xd-admin-database-page .xd-admin-db-sidebar > .panel.xd-cmb-panel {
  margin-bottom: 0.45rem;
}

body.xd-portal-page .xd-admin-database-page .xd-admin-db-sidebar > .panel.xd-cmb-panel:last-child {
  margin-bottom: 0;
}

/* admin_xd_database.pl — 横向滚动仅包在表格外层，分页条不参与滚动；内层可拖动平移 */
.xd-admin-xd-database-main .xd-admin-db-table-panel.panel {
  overflow: visible;
  clear: both;
}

.xd-admin-xd-database-main .xd-admin-db-table-scroll.table-responsive {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

body.xd-portal-page
  .xd-admin-xd-database-main
  .xd-admin-db-table-scroll.table-responsive {
  cursor: grab;
}

.xd-admin-xd-database-main .xd-admin-db-table-scroll.xd-admin-db-dragging {
  cursor: grabbing !important;
  user-select: none;
}

.xd-admin-xd-database-main .xd-admin-db-scroll-hint__text {
  font-size: 12px;
  color: #64748b;
  margin-right: 10px;
  vertical-align: middle;
}

@media (max-width: 768px) {
  .xd-admin-xd-database-main .xd-admin-db-scroll-hint__text {
    display: block;
    margin: 0 0 6px 0;
  }
}

.xd-admin-xd-database-main .xd-admin-db-toolbar {
  margin-bottom: 0.75rem;
}

.xd-admin-xd-database-main .xd-admin-db-link-my-tasks {
  margin-left: 1rem;
}

.xd-admin-xd-database-main .xd-admin-db-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  text-align: right;
}

.xd-admin-xd-database-main .xd-admin-db-btn-bonus {
  float: none;
}

/* 与 float 布局脱钩，避免复选框/文字与按钮基线不齐 */
.xd-admin-xd-database-main .xd-admin-db-form-actions .span_executor {
  float: none;
  margin: 0;
  margin-right: auto;
}

.xd-admin-xd-database-main .xd-admin-db-exact {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  font-weight: normal;
  margin: 0;
}

.xd-admin-xd-database-main .xd-admin-db-exact input[type="checkbox"] {
  margin: 0;
  flex-shrink: 0;
}

.xd-admin-xd-database-main .xd-admin-db-form-actions .btn + .btn {
  margin-left: 0;
}

.xd-admin-xd-database-main .xd-admin-db-scroll-hint {
  margin-top: -12px;
  margin-bottom: 0.35rem;
  float: right;
}

.xd-admin-xd-database-main .xd-admin-db-scroll-hint img {
  vertical-align: middle;
}

.xd-admin-xd-database-main .xd-admin-db-pager .xd-admin-db-btn-apply,
.xd-admin-xd-database-main .xd-admin-db-pager .xd-admin-db-btn-pass {
  float: left;
  margin-right: 0.35rem;
}

.xd-admin-xd-database-main .xd-admin-db-help--ok {
  color: #15803d;
}

.xd-admin-xd-database-main .xd-admin-db-help--warn {
  color: #b91c1c;
}

.xd-admin-xd-database-main .xd-admin-db-th-apply {
  color: #b91c1c;
  cursor: pointer;
}

.xd-admin-xd-database-main .xd-admin-db-history-panel {
  clear: both;
  margin-top: 1rem;
}

.xd-admin-xd-database-main .xd-admin-db-cut-limit {
  font-weight: normal;
  margin: 0 0.5rem;
}

/* 数据维护主结果表（admin_xd_db.pl / admin_xd_database.pl）：单行单元格 + max-content 宽度，配合 #responsive_table 横向滚动/拖动 */
body.xd-portal-page
  .xd-admin-xd-database-main
  .xd-admin-db-table-scroll
  table.xd-cmb-results.xd-admin-db-table {
  /* width: max-content; */
  max-width: none;
  table-layout: auto;
}

body.xd-portal-page
  .xd-admin-xd-database-main
  .xd-admin-db-table-scroll
  table.xd-cmb-results.xd-admin-db-table
  > thead
  > tr
  > th,
body.xd-portal-page
  .xd-admin-xd-database-main
  .xd-admin-db-table-scroll
  table.xd-cmb-results.xd-admin-db-table
  > tbody
  > tr
  > td {
  white-space: nowrap;
  vertical-align: middle;
}

/* admin_xd_database.pl：主表 tbody 尚无数据行（空、加载中仅有 div、查询 0 条）时表头铺满滚动区宽度 */
body.xd-portal-page
  .xd-admin-database-page
  .xd-admin-db-table-scroll
  table.xd-cmb-results.xd-admin-db-table:has(#tbody_content:not(:has(tr))) {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
}

/* admin_xd_database.pl / admin_xd_db.pl：主结果表与修改历史表略小字号 */
body.xd-portal-page
  .xd-admin-database-page
  .xd-admin-db-table-scroll
  table.xd-cmb-results.xd-admin-db-table,
body.xd-portal-page
  .xd-admin-database-page
  .xd-admin-db-history-panel
  table.xd-cmb-results,
body.xd-portal-page
  .xd-admin-xd-db-main
  .xd-admin-db-table-scroll
  table.xd-cmb-results.xd-admin-db-table,
body.xd-portal-page
  .xd-admin-xd-db-main
  .xd-admin-db-history-panel
  table.xd-cmb-results {
  font-size: 12px;
  line-height: 1.4;
}

body.xd-portal-page
  .xd-admin-database-page
  .xd-admin-db-table-scroll
  table.xd-cmb-results.xd-admin-db-table
  input,
body.xd-portal-page
  .xd-admin-database-page
  .xd-admin-db-table-scroll
  table.xd-cmb-results.xd-admin-db-table
  select,
body.xd-portal-page
  .xd-admin-database-page
  .xd-admin-db-table-scroll
  table.xd-cmb-results.xd-admin-db-table
  textarea,
body.xd-portal-page
  .xd-admin-xd-db-main
  .xd-admin-db-table-scroll
  table.xd-cmb-results.xd-admin-db-table
  input,
body.xd-portal-page
  .xd-admin-xd-db-main
  .xd-admin-db-table-scroll
  table.xd-cmb-results.xd-admin-db-table
  select,
body.xd-portal-page
  .xd-admin-xd-db-main
  .xd-admin-db-table-scroll
  table.xd-cmb-results.xd-admin-db-table
  textarea {
  font-size: inherit;
}

body.xd-portal-page .xd-admin-database-page .xd-admin-db-intro.xd-cmb-alert,
body.xd-portal-page .xd-admin-xd-db-main .xd-admin-db-intro.xd-cmb-alert {
  font-size: 12px;
  line-height: 1.5;
}

body.xd-portal-page .xd-admin-database-page .xd-admin-db-pager.technorati,
body.xd-portal-page .xd-admin-xd-db-main .xd-admin-db-pager.technorati {
  font-size: 12px;
  line-height: 1.45;
}

body.xd-portal-page
  .xd-admin-database-page
  .xd-admin-db-pager.technorati
  select,
body.xd-portal-page
  .xd-admin-database-page
  .xd-admin-db-pager.technorati
  input[type="text"],
body.xd-portal-page
  .xd-admin-database-page
  .xd-admin-db-pager.technorati
  #apply_status,
body.xd-portal-page .xd-admin-xd-db-main .xd-admin-db-pager.technorati select,
body.xd-portal-page
  .xd-admin-xd-db-main
  .xd-admin-db-pager.technorati
  input[type="text"],
body.xd-portal-page
  .xd-admin-xd-db-main
  .xd-admin-db-pager.technorati
  #apply_status {
  font-size: inherit;
}

body.xd-portal-page .xd-admin-database-page .xd-admin-db-pager-pages,
body.xd-portal-page .xd-admin-xd-db-main .xd-admin-db-pager-pages {
  clear: both;
  text-align: right;
}

/* 修改历史表：同样单行 + 可横向滚动查看长内容（admin_xd_db.pl 等） */
body.xd-portal-page
  .xd-admin-xd-database-main
  .xd-admin-db-history-panel
  table.xd-cmb-results {
  /* width: max-content; */
  max-width: none;
  table-layout: auto;
}

body.xd-portal-page
  .xd-admin-xd-database-main
  .xd-admin-db-history-panel
  table.xd-cmb-results
  > thead
  > tr
  > th,
body.xd-portal-page
  .xd-admin-xd-database-main
  .xd-admin-db-history-panel
  table.xd-cmb-results
  > tbody
  > tr
  > td {
  white-space: nowrap;
  vertical-align: middle;
}

/* admin_xd_database.pl：修改历史表始终铺满面板宽度 */
body.xd-portal-page
  .xd-admin-database-page
  .xd-admin-db-history-panel
  table.xd-cmb-results {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
}

body.xd-portal-page
  .xd-admin-database-page
  .xd-admin-db-history-panel
  table.xd-cmb-results
  > tbody
  > tr
  > td {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  vertical-align: top;
}

/* search_base_drug_hosp.pl — 与 search_cmb 检索区视觉一致 */
.xd-cmb-agg-row {
  margin-top: 0.25rem;
}

.xd-cmb-agg-box {
  margin-top: 0.75rem;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.4;
}

body.xd-portal-page .xd-cmb-agg-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
}

body.xd-portal-page .xd-cmb-agg-opt {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  min-height: 0;
}

body.xd-portal-page .xd-cmb-agg-opt input[type="checkbox"] {
  margin: 0;
  flex-shrink: 0;
}

.xd-cmb-agg-label {
  font-weight: 600;
  color: var(--cmb-teal-900);
  margin-right: 0;
  white-space: nowrap;
  flex-shrink: 0;
}

.xd-cmb-hosp-quickbar__hint {
  color: var(--cmb-teal-800);
  font-size: 12px;
  font-weight: 200;
}

/* 医院销售库：检索条件文案缩小，与底栏工具条同档 */
body.xd-portal-page .xd-cmb-hosp-search-condition {
  font-size: 11px;
  line-height: 1.35;
  text-align: left;
}

body.xd-portal-page .xd-cmb-hosp-search-condition__label {
  font-weight: 600;
  color: #2563eb;
  margin-right: 0.2rem;
}

body.xd-portal-page .xd-cmb-hosp-search-condition__value {
  color: #334155;
  word-break: break-word;
}

/* 医院销售库：模糊检索、字段长度等与综合库工具条同档小字 + 水平排布垂直对齐 */
body.xd-portal-page .xd-cmb-hosp-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem 0.75rem;
  font-size: 11px;
  line-height: 1.35;
  text-align: right;
}

body.xd-portal-page .xd-cmb-hosp-inline-opt {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  min-height: 0;
}

body.xd-portal-page .xd-cmb-hosp-inline-opt input[type="checkbox"] {
  margin: 0;
  flex-shrink: 0;
}

body.xd-portal-page .xd-cmb-hosp-form-actions .btn {
  font-size: 12px;
  line-height: 1.4;
}

body.xd-portal-page .xd-cmb-hosp-form-actions input[type="text"],
body.xd-portal-page .xd-cmb-hosp-form-actions input[type="number"],
body.xd-portal-page .xd-cmb-hosp-form-actions input.xd-cmb-hosp-cut-limit {
  font-size: 11px !important;
  line-height: 1.2;
  height: 22px !important;
  padding: 1px 4px;
  box-sizing: border-box;
  flex-shrink: 0;
}

/* 查询 / 清空 始终同一行 */
.xd-cmb-hosp-form-actions .xd-cmb-hosp-btn-pair {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
}

.xd-cmb-hosp-form-actions .xd-cmb-hosp-btn-pair .btn + .btn {
  margin-left: 6px;
}

/* assign_conclusion_v2.pl — 综合库数据修改（管理员） */
body.xd-portal-page .xd-assign-concl__panel .xd-assign-concl__body {
  padding-top: 1.25rem;
  padding-bottom: 1.5rem;
}

body.xd-portal-page .xd-assign-concl__form .form-group {
  margin-bottom: 0.9rem;
}

body.xd-portal-page .xd-assign-concl__form .control-label {
  font-weight: 600;
  color: var(--cmb-teal-900);
}

body.xd-portal-page .xd-assign-concl__form .input-group .form-control {
  min-height: 34px;
}

body.xd-portal-page .xd-assign-concl__note {
  margin: 1.1rem 0 1.35rem;
  border-radius: var(--cmb-radius);
  border: 1px solid #e8b923;
  background: #fffbf0;
  color: #5c4a00;
  text-align: left;
  padding: 12px 14px;
}

body.xd-portal-page .xd-assign-concl__note-list {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
}

body.xd-portal-page .xd-assign-concl__note-list li {
  margin-bottom: 0.4rem;
  line-height: 1.55;
}

body.xd-portal-page .xd-assign-concl__note code {
  background: rgba(12, 61, 74, 0.08);
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 12px;
  color: #0f172a;
}

body.xd-portal-page .xd-assign-concl__actions {
  margin-bottom: 0;
  margin-top: 0.25rem;
}

body.xd-portal-page .xd-assign-concl__actions .btn + .btn {
  margin-left: 10px;
}

body.xd-portal-page .xd-assign-concl__iframe-panel {
  margin-top: 0.75rem;
}

body.xd-portal-page .xd-assign-concl__iframe-head .panel-title {
  font-size: 15px !important;
  font-weight: 600 !important;
}

body.xd-portal-page .xd-assign-concl__iframe-body {
  padding: 0 !important;
  background: #f1f5f9;
}

body.xd-portal-page .xd-assign-concl__iframe {
  display: block;
  width: 100%;
  border: 0;
  vertical-align: bottom;
}

@media (max-width: 767px) {
  body.xd-portal-page .xd-assign-concl__form .control-label {
    text-align: left;
    padding-bottom: 4px;
  }

  body.xd-portal-page .xd-assign-concl__form .col-sm-offset-3 {
    margin-left: 0;
  }
}

/* search_sfda_das.pl — 批件发送信息 */
body.xd-portal-page
  .xd-das-search
  .xd-cmb-panel--search
  #form_page.form-horizontal
  > .row {
  margin-bottom: 0.5rem;
}

body.xd-portal-page .xd-das-columns {
  margin: 0.65rem 0 0.35rem;
  padding: 10px 12px;
  background: rgba(12, 61, 74, 0.04);
  border: 1px solid var(--cmb-border);
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 1rem;
  font-size: 13px;
}

body.xd-portal-page .xd-das-columns__item {
  font-weight: normal;
  margin: 0;
  cursor: pointer;
}

body.xd-portal-page .xd-das-date-sep-inner {
  min-width: 2.25em;
  max-width: 3em;
  text-align: center;
  font-weight: 500;
  color: var(--cmb-teal-800);
}

body.xd-portal-page .xd-das-actions.xd-cmb-form-actions-row__right--stretch {
  flex: 1 1 100%;
  width: 100%;
  margin-left: 0;
  max-width: 100%;
}
