/* ============================================================
   整站换肤 - 墨绿主题 (#059669)
   通过全局 CSS 覆盖 Element Plus / Vant 设计变量，零侵入编译产物。
   主色: #059669  (政务/医疗排队场景)
   ============================================================ */

:root {
  /* ---- Element Plus 主色及派生变量 ---- */
  --el-color-primary: #059669 !important;
  --el-color-primary-rgb: 5, 150, 105 !important;
  --el-color-primary-light-3: #4fbba3 !important;
  --el-color-primary-light-5: #82cbb4 !important;
  --el-color-primary-light-7: #b5dbcc !important;
  --el-color-primary-light-8: #d5f0e8 !important;
  --el-color-primary-light-9: #eafaf5 !important;
  --el-color-primary-dark-2: #047854 !important;

  /* Element 文本/边框等引用主色的位置同步 */
  --el-color-success: #059669 !important;
  --el-color-success-light-9: #eafaf5 !important;
  --el-color-success-light-3: #4fbba3 !important;
  --el-color-success-dark-2: #047854 !important;
}

/* ---- Element Plus 组件级兜底覆盖 ---- */
.el-button--primary {
  --el-button-bg-color: var(--el-color-primary) !important;
  --el-button-border-color: var(--el-color-primary) !important;
  --el-button-hover-bg-color: var(--el-color-primary-light-3) !important;
  --el-button-hover-border-color: var(--el-color-primary-light-3) !important;
  --el-button-active-bg-color: var(--el-color-primary-dark-2) !important;
  --el-button-active-border-color: var(--el-color-primary-dark-2) !important;
  background-color: var(--el-color-primary) !important;
  border-color: var(--el-color-primary) !important;
}

.el-button--success {
  --el-button-bg-color: var(--el-color-primary) !important;
  --el-button-border-color: var(--el-color-primary) !important;
  background-color: var(--el-color-primary) !important;
  border-color: var(--el-color-primary) !important;
}

/* 链接 */
.el-link,
.el-link.el-link--primary,
a.el-link {
  --el-link-text-color: var(--el-color-primary) !important;
  color: var(--el-color-primary) !important;
}

/* 标签页 / 菜单 选中态 */
.el-tabs__item.is-active,
.el-menu-item.is-active,
.el-menu-item:hover,
.el-sub-menu__title:hover {
  color: var(--el-color-primary) !important;
}

.el-tabs__active-bar {
  background-color: var(--el-color-primary) !important;
}

.el-menu-item.is-active {
  background-color: var(--el-color-primary-light-9) !important;
}

/* 分页 / 单选 / 开关 等主色组件 */
.el-radio__input.is-checked .el-radio__inner,
.el-checkbox__input.is-checked .el-checkbox__inner,
.el-switch.is-checked .el-switch__core {
  background-color: var(--el-color-primary) !important;
  border-color: var(--el-color-primary) !important;
}

.el-radio__input.is-checked + .el-radio__label,
.el-checkbox__input.is-checked + .el-checkbox__label {
  color: var(--el-color-primary) !important;
}

.el-pagination.is-background .el-pager li.is-active {
  background-color: var(--el-color-primary) !important;
  color: #fff !important;
}

/* 输入框聚焦边框 */
.el-input__wrapper.is-focus,
.el-textarea__inner:focus,
.el-select__wrapper.is-focused {
  box-shadow: 0 0 0 1px var(--el-color-primary) inset !important;
}

/* 进度条 / 时间线 主色 */
.el-progress-bar__inner {
  background-color: var(--el-color-primary) !important;
}

/* 步骤条 */
.el-step__head.is-process,
.el-step__head.is-finish {
  color: var(--el-color-primary) !important;
  border-color: var(--el-color-primary) !important;
}
.el-step__title.is-process,
.el-step__title.is-finish {
  color: var(--el-color-primary) !important;
}

/* ---- Vant (移动端/H5) 主色覆盖 ---- */
:root {
  --van-primary-color: #059669 !important;
  --van-success-color: #059669 !important;
  --van-button-primary-background-color: #059669 !important;
  --van-button-primary-border-color: #059669 !important;
}

.van-button--primary {
  background-color: #059669 !important;
  border-color: #059669 !important;
}

/* ---- 登录页 / 通用主色按钮兜底 ---- */
.login-btn,
.btn-primary,
.primary-btn {
  background-color: #059669 !important;
  border-color: #059669 !important;
}

/* ---- 顶部导航/品牌色 (如有自定义 header) ---- */
.app-header,
.layout-header,
.topbar {
  background-color: #059669 !important;
}

/* 选中文本高亮 */
::selection {
  background: var(--el-color-primary-light-7) !important;
  color: #064e3b !important;
}
