/* Vue v-cloak 防止闪烁 */
[v-cloak] {
  display: none !important;
}

/* 字体与全局平滑滚动 */
html, body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background-color: #f8fafc; /* 清爽淡色背景 */
  color: #0f172a;
  scroll-behavior: smooth;
}

/* 自定义滚动条 */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #f8fafc;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Element Plus 淡色系主题定制 */
.el-input__wrapper, .el-textarea__inner {
  background-color: #ffffff !important;
  box-shadow: 0 0 0 1px #cbd5e1 inset !important;
  color: #0f172a !important;
}

.el-input__wrapper:hover, .el-textarea__inner:hover {
  box-shadow: 0 0 0 1px #94a3b8 inset !important;
}

.el-input__wrapper.is-focus, .el-textarea__inner:focus {
  box-shadow: 0 0 0 1px #2563eb inset, 0 0 8px rgba(37, 99, 235, 0.1) !important;
}

.el-input__inner {
  color: #0f172a !important;
}

/* 下拉框与弹出框定制 */
.el-select__wrapper {
  background-color: #ffffff !important;
  box-shadow: 0 0 0 1px #cbd5e1 inset !important;
}
.el-select__placeholder {
  color: #94a3b8 !important;
}
.el-select__selected-item {
  color: #0f172a !important;
}
.el-popper.is-light {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  color: #0f172a !important;
}
.el-select-dropdown__item {
  color: #475569 !important;
}
.el-select-dropdown__item.is-selected {
  color: #2563eb !important;
  background-color: rgba(37, 99, 235, 0.08) !important;
}
.el-select-dropdown__item.is-hovering {
  background-color: #f1f5f9 !important;
  color: #0f172a !important;
}

/* 表格定制 */
.portal-table {
  --el-table-border-color: #e2e8f0 !important;
  --el-table-header-bg-color: #f1f5f9 !important;
  --el-table-tr-bg-color: #ffffff !important;
  --el-table-row-hover-bg-color: #f8fafc !important;
  --el-table-text-color: #1e293b !important;
  --el-table-header-text-color: #475569 !important;
  background-color: #ffffff !important;
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  overflow: hidden !important;
}

.el-table__body tr.hover-row > td {
  background-color: #f8fafc !important;
}

/* 模态弹窗定制 */
.el-dialog {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05), 0 10px 10px -5px rgba(0, 0, 0, 0.02) !important;
}
.el-dialog__title {
  color: #0f172a !important;
  font-weight: 700 !important;
}
.el-dialog__body {
  color: #334155 !important;
}
.el-form-item__label {
  color: #475569 !important;
  font-weight: 500 !important;
}

/* 淡入动画 */
.animate-fade-in {
  animation: fadeIn 0.35s ease-out forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
