/* ============================================================
   华单通 · 设计语言覆盖层（固定专业藏青主色）
   仅做覆盖，不删原有规则，低风险。
   结构性样式（圆角/投影）与 `--hd-*` 令牌覆盖 Element Plus 默认蓝(#409eff) → 中国红。
   默认红主题写在 :root，无需任何脚本即可生效（主题切换功能已移除）。
   ============================================================ */

/* ---------- 结构性样式（所有主题共用，只换颜色不换形态） ---------- */
body{background:var(--hd-bg) !important;color:var(--hd-ink)}
#app{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--hd-scroll) !important;border-radius:6px;border:2px solid var(--hd-bg)}
::-webkit-scrollbar-thumb:hover{background:var(--hd-scroll-h) !important}

.el-card{border-radius:14px !important;border:1px solid var(--hd-border) !important;
  box-shadow:0 1px 3px rgba(20,30,50,.05),0 6px 18px rgba(20,30,50,.05) !important;transition:box-shadow .2s,transform .2s}
.el-card:hover{box-shadow:0 2px 6px rgba(20,30,50,.06),0 12px 28px rgba(20,30,50,.08) !important}
.el-card__header{border-bottom:1px solid var(--hd-border) !important;font-weight:700;letter-spacing:.3px;padding:14px 18px !important}

.el-button--primary{background:linear-gradient(135deg,var(--hd-primary),var(--hd-primary-deep)) !important;
  border:none !important;box-shadow:0 4px 12px var(--hd-primary-shadow);font-weight:600}
.el-button--primary:hover{filter:brightness(1.05);box-shadow:0 6px 16px var(--hd-primary-shadow)}
.el-button--primary:active{transform:translateY(1px)}

/* ---------- ★ 修复：文字型 primary 按钮变成"深底暗字"的空方块 ----------
   现象：顶栏「退出」按钮（class="el-button el-button--primary is-text"）
         渲染成一个**没有任何文字的深藏青实心方块**，按钮等于废了。
   根因：① 上面的 .el-button--primary 用**简写** background:linear-gradient(...)
            同时写了 background-image 和 background-color，且带 !important；
         ② Element Plus 的 .el-button.is-text 只清了 background-color(#0000)
            和 border，**没有清 background-image**；
         ⇒ image 没人对抗，渐变原样保留 → 深底；而 is-text 的文字色是浅色
            → 浅字压在深底上本该可见，但 Element Plus 的 is-text 又把
              color 交给 --el-button-text-color，被 :root 里的
              --el-color-primary:#1f4e79 连带改成深藏青 → **深底深字**。
   修法：对 is-text 组合显式清掉 background-image / box-shadow，
        并把文字色固定为 --hd-primary（浅底深字，清晰可见）。
   ★ 只针对 .is-text 组合，不动真正的实心 primary 按钮（登录/保存等）。 */
.el-button.is-text.el-button--primary{
  background-image:none !important;
  background-color:transparent !important;
  box-shadow:none !important;
  border:0 solid transparent !important;
  color:var(--hd-primary) !important;
}
.el-button.is-text.el-button--primary:hover{
  background-color:var(--hd-row-hover) !important;
  color:var(--hd-primary-deep) !important;
}
.el-button{border-radius:9px !important}
.el-button--default:hover{border-color:var(--hd-primary) !important;color:var(--hd-primary) !important}

.el-table{border-radius:12px;overflow:hidden;border:1px solid var(--hd-border);font-size:13.5px}
.el-table thead th.el-table__cell{background:var(--hd-surface-2) !important;color:var(--hd-ink-soft2) !important;
  font-weight:700;letter-spacing:.3px;border-bottom:1px solid var(--hd-border) !important}
.el-table--striped .el-table__row--striped td.el-table__cell{background:var(--hd-surface-3) !important}
.el-table .el-table__row:hover > td.el-table__cell{background:var(--hd-row-hover) !important;cursor:pointer}
.el-table td.el-table__cell, .el-table th.el-table__cell{padding:11px 0 !important}
.el-table__body-wrapper{padding:0 6px}

.el-input__wrapper,.el-textarea__inner,.el-select__wrapper{border-radius:9px !important;
  box-shadow:0 0 0 1px var(--hd-border) inset !important;transition:box-shadow .15s}
.el-input__wrapper.is-focus,.el-textarea__inner:focus,.el-select__wrapper.is-focused{
  box-shadow:0 0 0 1px var(--hd-primary) inset,0 0 0 3px var(--hd-primary-ring) !important}

.el-menu{background:transparent !important}
.el-menu-item,.el-sub-menu__title{border-radius:9px !important;margin:3px 8px !important}
.el-menu-item:hover{background:var(--hd-row-hover) !important}
.el-menu-item.is-active{background:linear-gradient(90deg,rgba(var(--hd-accent-rgb),.12),rgba(var(--hd-accent-rgb),.03)) !important;
  font-weight:700}

.el-tag--primary,.el-tag--danger{background:var(--hd-primary-light-9);border-color:var(--hd-primary-light-8);color:var(--hd-primary)}

.el-form-item__label{font-weight:600;color:var(--hd-ink-soft2)}
h1,h2,h3,.el-page-header__title{font-weight:700;letter-spacing:.3px}

.login-brand{color:var(--hd-primary) !important}

.el-header,.app-header,.topbar{border-bottom:1px solid var(--hd-border) !important;
  background:var(--hd-header-bg) !important;backdrop-filter:saturate(140%) blur(6px)}
.el-empty__description{color:var(--hd-ink-soft)}
.el-dialog{border-radius:16px !important;overflow:hidden}
.el-dialog__header{font-weight:700;letter-spacing:.3px}
.brand-wordmark,.hd-wordmark{font-weight:800;letter-spacing:.5px;
  background:linear-gradient(135deg,var(--hd-primary),var(--hd-primary-deep));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- 主题令牌：专业藏青主色 ---------- */
:root{
  --el-color-primary:#1f4e79 !important;
  --el-color-primary-light-3:#6283a1 !important;
  --el-color-primary-light-5:#8fa6bc !important;
  --el-color-primary-light-7:#bccad7 !important;
  --el-color-primary-light-8:#d2dbe4 !important;
  --el-color-primary-light-9:#e8edf2 !important;
  --el-color-primary-dark-2:#193e61 !important;
  --hd-primary:#1f4e79; --hd-primary-deep:#14395a; --hd-gold:#c9a24b;
  --hd-accent-rgb:31,78,121;
  --hd-bg:#f4f6f9; --hd-card:#ffffff; --hd-border:#e6eaf0;
  --hd-ink:#1f2733; --hd-ink-soft:#5b6675; --hd-ink-soft2:#3a4250;
  --hd-surface-2:#f8fafc; --hd-surface-3:#fbfcfe; --hd-row-hover:#eef3f9;
  --hd-header-bg:rgba(255,255,255,.9);
  --hd-scroll:#d4dae2; --hd-scroll-h:#b9c2cd;
  --hd-primary-shadow:rgba(20,57,90,.25); --hd-primary-ring:rgba(31,78,121,.12);
  --hd-primary-light-9:#e8edf2; --hd-primary-light-8:#d2dbe4;
}
