/* ===== Element Plus Global Overrides =====
   Single place for all Element Plus style normalization.
   Eliminates the need for scattered :deep() overrides in components.
*/

/* ---- Buttons ---- */
.el-button {
  border-radius: var(--radius-md);
  font-weight: 500;
}

.el-button--primary {
  --el-button-bg-color: var(--color-primary);
  --el-button-border-color: var(--color-primary);
  --el-button-hover-bg-color: var(--color-primary-dark);
  --el-button-hover-border-color: var(--color-primary-dark);
}

/* ---- Dialogs ---- */
.el-dialog {
  border-radius: var(--radius-xl);
}

.el-message-box {
  border-radius: var(--radius-xl);
}

/* ---- Cards ---- */
.el-card {
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-default);
  background: var(--bg-surface);
  box-shadow: var(--shadow-md);
}

/* ---- Tables ---- */
.el-table {
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.el-table th.el-table__cell {
  background: var(--bg-subtle);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  font-weight: 600;
}

/* ---- Tags ---- */
.el-tag {
  border-radius: var(--radius-full);
  font-weight: 600;
}

/* ---- Menus ---- */
.el-menu {
  border-right: none;
  background: transparent;
}

/* ---- Inputs & Selects ---- */
.el-input .el-input__wrapper,
.el-select .el-select__wrapper,
.el-date-editor.el-input__wrapper {
  border-radius: var(--radius-md);
  box-shadow: none;
  border: 1px solid var(--border-default);
}

.el-date-editor.el-input__wrapper {
  border: 0;
  box-shadow: 0 0 0 1px var(--border-default) inset;
}

.el-input .el-input__wrapper:hover,
.el-select .el-select__wrapper:hover,
.el-date-editor.el-input__wrapper:hover {
  border-color: var(--border-hover);
}

.el-date-editor.el-input__wrapper:hover {
  box-shadow: 0 0 0 1px var(--border-hover) inset;
}

.el-input.is-focus .el-input__wrapper,
.el-select.is-focus .el-select__wrapper,
.el-date-editor.el-input__wrapper.is-active {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 1px var(--color-primary) inset;
}

/* ---- Pagination ---- */
.el-pagination {
  justify-content: center;
  margin-top: var(--space-4);
}

/* ---- Tabs ---- */
.el-tabs__header {
  margin-bottom: var(--space-4);
}

/* ---- Switch ---- */
.el-switch.is-checked .el-switch__core {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

/* ---- Skeleton ---- */
.el-skeleton {
  --el-skeleton-color: var(--bg-subtle);
}

/* ---- Empty ---- */
.el-empty__description {
  color: var(--text-muted);
}

/* ---- 通用工具类 ---- */
.mt-4 { margin-top: var(--space-4); }
.mb-4 { margin-bottom: var(--space-4); }
.w-full { width: 100%; }
.text-muted-xs { font-size: var(--text-xs); color: var(--text-muted); }
.fw-600 { font-weight: 600; }
.text-danger { color: var(--color-danger); }
.ml-2 { margin-left: var(--space-2); }
.pagination-center {
  margin-top: var(--space-4);
  display: flex;
  justify-content: center;
}
.filter-col-160 { width: 160px; }
