/* ============================================================
   BIMSEEK Dark Apple Theme — 深色专业风 / 苹果风格
   全局字体统一 + 深色主题覆盖层
   ============================================================ */

/* ---------- 1. 全局字体统一（排除图标字体） ---------- */
body, div, span, p, a, h1, h2, h3, h4, h5, h6,
button, input, select, textarea, label, li, td, th,
.el-button, .el-input__inner, .el-textarea__inner,
.el-select, .el-tabs__item, .el-dialog, .el-drawer,
.el-table, .el-card, .el-menu, .el-dropdown, .el-form,
*:not(i):not([class*="iconfont"]):not([class*="el-icon"]):not([class*="layui-icon"]):not([class*="adsk"]):not([class*="Artifakt"]):not([class*="zoomwindow"]):not([class*="fa-"]) {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display",
    "PingFang SC", "Helvetica Neue", "Microsoft YaHei", "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ---------- 2. 设计变量 ---------- */
:root {
  --dt-bg: #000000;
  --dt-bg-elevated: #1c1c1e;
  --dt-bg-card: #1c1c1e;
  --dt-bg-hover: #2c2c2e;
  --dt-border: rgba(255, 255, 255, 0.08);
  --dt-text: #f5f5f7;
  --dt-text-2: rgba(235, 235, 245, 0.6);
  --dt-text-3: rgba(235, 235, 245, 0.38);
  --dt-accent: #0a84ff;
  --dt-accent-hover: #409cff;
  --dt-radius: 14px;
  --dt-radius-sm: 10px;
  --dt-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}

/* ---------- 3. 页面基底 ---------- */
html, body, #app {
  background-color: var(--dt-bg) !important;
  color: var(--dt-text) !important;
}
#app > .el-container, #app .view, .userprojectindex {
  background-color: var(--dt-bg) !important;
}

/* ---------- 4. 顶部导航栏：深色毛玻璃 ---------- */
#app .el-header, .el-header {
  background: rgba(28, 28, 30, 0.72) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
  backdrop-filter: saturate(180%) blur(20px) !important;
  border-bottom: 1px solid var(--dt-border) !important;
  color: var(--dt-text) !important;
  box-shadow: none !important;
}
.el-header, .el-header *:not(i):not([class*="icon"]) {
  color: var(--dt-text) !important;
}
.el-header a:hover, .el-header .active {
  color: var(--dt-accent-hover) !important;
}

/* ---------- 5. 卡片：苹果深色卡片 ---------- */
.el-card, .el-card.box-card {
  background: var(--dt-bg-card) !important;
  border: 1px solid var(--dt-border) !important;
  border-radius: var(--dt-radius) !important;
  box-shadow: var(--dt-shadow) !important;
  color: var(--dt-text) !important;
}
.el-card:hover {
  background: #212123 !important;
}
.el-card__header {
  border-bottom: 1px solid var(--dt-border) !important;
  color: var(--dt-text) !important;
}
.el-card span, .el-card p, .el-card div {
  color: var(--dt-text);
}
/* 卡片里的小标题保留蓝色下划线标识，但换苹果蓝 */
.el-card span[style*="border-bottom"] {
  border-bottom-color: var(--dt-accent) !important;
}
/* 次级说明文字 */
.el-card .p1, .el-card .p2, .el-card .p3, .el-card .p4,
.el-card .p5, .el-card .p6, .el-card .p7, .el-card .p8 {
  color: var(--dt-text-2) !important;
}

/* ---------- 6. 输入框 / 下拉 / 文本域 ---------- */
.el-input__inner, .el-textarea__inner {
  background: var(--dt-bg-hover) !important;
  border: 1px solid transparent !important;
  border-radius: var(--dt-radius-sm) !important;
  color: var(--dt-text) !important;
}
.el-input__inner::placeholder, .el-textarea__inner::placeholder {
  color: var(--dt-text-3) !important;
}
.el-input__inner:focus, .el-textarea__inner:focus {
  border-color: var(--dt-accent) !important;
  box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.25) !important;
}
.el-select-dropdown, .el-dropdown-menu, .el-picker-panel {
  background: var(--dt-bg-elevated) !important;
  border: 1px solid var(--dt-border) !important;
  border-radius: var(--dt-radius-sm) !important;
  box-shadow: var(--dt-shadow) !important;
}
.el-select-dropdown__item, .el-dropdown-menu__item {
  color: var(--dt-text) !important;
}
.el-select-dropdown__item.hover, .el-select-dropdown__item:hover,
.el-dropdown-menu__item:hover {
  background: var(--dt-bg-hover) !important;
}
.el-select-dropdown__item.selected {
  color: var(--dt-accent) !important;
}
.el-popper[x-placement^="bottom"] .popper__arrow,
.el-popper[x-placement^="top"] .popper__arrow {
  display: none !important;
}

/* ---------- 7. 按钮 ---------- */
.el-button {
  border-radius: var(--dt-radius-sm) !important;
  border: 1px solid var(--dt-border) !important;
  background: var(--dt-bg-hover) !important;
  color: var(--dt-text) !important;
}
.el-button:hover {
  background: #3a3a3c !important;
  color: var(--dt-text) !important;
}
.el-button--primary {
  background: var(--dt-accent) !important;
  border-color: var(--dt-accent) !important;
  color: #fff !important;
}
.el-button--primary:hover {
  background: var(--dt-accent-hover) !important;
  border-color: var(--dt-accent-hover) !important;
}

/* ---------- 8. Tabs ---------- */
.el-tabs__item {
  color: var(--dt-text-2) !important;
}
.el-tabs__item.is-active {
  color: var(--dt-accent) !important;
}
.el-tabs__active-bar {
  background: var(--dt-accent) !important;
}
.el-tabs__nav-wrap::after {
  background: var(--dt-border) !important;
}

/* ---------- 9. 表格 ---------- */
.el-table, .el-table__expanded-cell {
  background: var(--dt-bg-card) !important;
  color: var(--dt-text) !important;
}
.el-table th.el-table__cell {
  background: var(--dt-bg-hover) !important;
  color: var(--dt-text-2) !important;
  border-bottom: 1px solid var(--dt-border) !important;
}
.el-table td.el-table__cell {
  border-bottom: 1px solid var(--dt-border) !important;
}
.el-table tr, .el-table__body tr.hover-row > td.el-table__cell {
  background: transparent !important;
}
.el-table__body tr:hover > td.el-table__cell {
  background: var(--dt-bg-hover) !important;
}
.el-table--border, .el-table--group {
  border-color: var(--dt-border) !important;
}

/* ---------- 10. 弹窗 / 抽屉 ---------- */
.el-dialog, .el-drawer {
  background: var(--dt-bg-elevated) !important;
  border-radius: var(--dt-radius) !important;
  color: var(--dt-text) !important;
  border: 1px solid var(--dt-border) !important;
}
.el-dialog__title, .el-drawer__header {
  color: var(--dt-text) !important;
}
.el-dialog__header, .el-drawer__header {
  border-bottom: 1px solid var(--dt-border) !important;
}
.el-dialog__body, .el-drawer__body {
  color: var(--dt-text) !important;
}
.el-dialog__footer {
  border-top: 1px solid var(--dt-border) !important;
}

/* ---------- 11. 分页 / 标签 / 其他 Element 件 ---------- */
.el-pagination button, .el-pager li {
  background: var(--dt-bg-hover) !important;
  color: var(--dt-text) !important;
  border-radius: 8px !important;
}
.el-pager li.active {
  background: var(--dt-accent) !important;
  color: #fff !important;
}
.el-tag {
  border-radius: 999px !important;
}
.el-message-box {
  background: var(--dt-bg-elevated) !important;
  border: 1px solid var(--dt-border) !important;
  border-radius: var(--dt-radius) !important;
}
.el-message-box__title, .el-message-box__content {
  color: var(--dt-text) !important;
}
.el-loading-mask {
  background: rgba(0, 0, 0, 0.6) !important;
}
.el-menu {
  background: transparent !important;
  border-right: none !important;
}
.el-menu-item, .el-submenu__title {
  color: var(--dt-text-2) !important;
}
.el-menu-item:hover, .el-submenu__title:hover {
  background: var(--dt-bg-hover) !important;
  color: var(--dt-text) !important;
}
.el-menu-item.is-active {
  color: var(--dt-accent) !important;
}

/* ---------- 12. 主页项目卡片（userProjectIndex / 项目缩略图） ---------- */
/* 蓝色标题条改深色 */
.userprojectindex [class*="title"], .project-title,
.el-card .bottom, .card-bottom {
  background: var(--dt-bg-hover) !important;
  color: var(--dt-text) !important;
}
/* Manage/管理 角标 -> 苹果蓝胶囊 */
[class*="manage"], [class*="Manage"], .manage-tag {
  background: var(--dt-accent) !important;
  color: #fff !important;
  border-radius: 999px !important;
}

/* ---------- 13. 链接与强调色 ---------- */
a { color: var(--dt-accent); }
a:hover { color: var(--dt-accent-hover); }

/* ---------- 14. 滚动条：深色细条 ---------- */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.22);
  border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.35); }

/* ---------- 15. 全局文字兜底 ---------- */
.view, .view span, .view p, .view div, .view li {
  color-scheme: dark;
}

/* ---------- 16. ECharts 图表深色化（反转滤镜，排除 3D 查看器） ---------- */
div[_echarts_instance_] canvas {
  filter: invert(0.92) hue-rotate(180deg) !important;
  border-radius: var(--dt-radius-sm);
}

/* ---------- 17. 空状态插图降低存在感 ---------- */
.el-card img[src*="empty"] {
  opacity: 0.85;
  border-radius: var(--dt-radius-sm);
}

/* ---------- 18. 输入框组合按钮（搜索按钮等） ---------- */
.el-input-group__append, .el-input-group__prepend {
  background: var(--dt-accent) !important;
  border: 1px solid var(--dt-accent) !important;
  border-radius: 0 var(--dt-radius-sm) var(--dt-radius-sm) 0 !important;
  color: #fff !important;
}
.el-input-group__append .el-button, .el-input-group__prepend .el-button {
  background: transparent !important;
  border: none !important;
  color: #fff !important;
}
.el-input-group__append:hover, .el-input-group__append:hover .el-button {
  background: var(--dt-accent-hover) !important;
}
.el-input-group--append .el-input__inner {
  border-radius: var(--dt-radius-sm) 0 0 var(--dt-radius-sm) !important;
}

/* ---------- 18.5 顶部导航：图标与文字等高对齐 + 粗体 ---------- */
.el-header .btns p, .el-header .btnss p {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
.el-header .indexIcon {
  font-size: 17px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}
/* 顶栏所有文字统一字号字族（品牌名除外） */
.el-header span:not(.brand):not([class*="logo"]),
.el-header .el-input__inner,
.el-header .el-tag,
.el-header p,
.el-header a {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text",
    "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif !important;
  font-size: 15px !important;
}
/* 整行垂直居中：导航、图标、文字、下拉、头像全部同一水平线 */
#app .el-header, .el-header {
  display: flex !important;
  align-items: center !important;
  line-height: normal !important;
}
.el-header > .el-row {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
}
.el-header > .el-row > [class*="el-col"] {
  display: flex !important;
  align-items: center !important;
  min-height: 0 !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}
/* 最右侧一列：语言、Logo、登录名保持间距不重合（只动直接子元素，不碰下拉内部） */
.el-header > .el-row > [class*="el-col"]:last-child {
  justify-content: flex-end !important;
  gap: 14px !important;
  padding-right: 72px !important;
  box-sizing: border-box !important;
}
.el-header > .el-row > [class*="el-col"]:last-child > * {
  flex: 0 0 auto !important;
  position: static !important;
  margin: 0 !important;
}
/* 右侧内嵌行（EN按钮/Logo/登录名）：解除浮动栅格，改 flex 均匀排布 */
.el-header > .el-row > [class*="el-col"]:last-child .el-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  width: 100% !important;
}
.el-header > .el-row > [class*="el-col"]:last-child .el-row > [class*="el-col"] {
  float: none !important;
  width: auto !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
}
/* 导航所在内嵌行（我的主页/项目主页/项目设置 或 我的主页/控制台）：列宽自适应文字 */
.el-header > .el-row > [class*="el-col"] > .el-row {
  width: 100% !important;
}
.el-header .el-row:has(> [class*="el-col"] > .btns),
.el-header .el-row:has(> [class*="el-col"] > .btnss) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
}
.el-header [class*="el-col"]:has(> .btns),
.el-header [class*="el-col"]:has(> .btnss) {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}
.el-header .btns, .el-header .btnss {
  width: auto !important;
  overflow: visible !important;
}
.el-header .btns, .el-header .btnss {
  display: flex !important;
  align-items: center !important;
  height: auto !important;
  line-height: normal !important;
}
/* 顶栏下拉控件文字也统一加粗一档，与导航协调 */
.el-header .el-select .el-input__inner {
  font-weight: 600 !important;
}

/* ---------- 18.6 下拉菜单字体协调 ---------- */
.el-select-dropdown__item, .el-dropdown-menu__item {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text",
    "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  line-height: 34px !important;
}

/* ---------- 19.5 登录页豁免：恢复白色卡片上的浅色输入样式 ---------- */
.login-main .el-input__inner {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #cccccc !important;
  border-radius: 0 !important;
  color: #333333 !important;
  box-shadow: none !important;
}
.login-main .el-input__inner::placeholder {
  color: #a8a8a8 !important;
}
.login-main .el-input__inner:focus {
  border: none !important;
  border-bottom: 1px solid var(--dt-accent) !important;
  box-shadow: none !important;
}
.login-main .el-input-group__append, .login-main .el-input-group__prepend {
  background: transparent !important;
  border: none !important;
}

/* ---------- 19.6 项目详情卡片：三列布局 + 标签值同行 ---------- */
/* 四个 el-col-6 改三列，列间留更大间距 */
.userprojectindex .el-card:first-child .el-col-6 {
  width: 33.3333% !important;
  padding-right: 56px !important;
  box-sizing: border-box !important;
}
/* 每个字段：标签和值横向一行，标签值之间靠近 */
.userprojectindex .el-card:first-child .el-col-6 > div,
.userprojectindex .el-card:first-child .el-col-24.MarginB20 {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-bottom: 14px !important;
}
.userprojectindex .el-card:first-child .el-col-6 > div p,
.userprojectindex .el-card:first-child .el-col-24.MarginB20 > p {
  margin: 0 !important;
  line-height: 1.6 !important;
}
/* 标签列自然宽度，值列紧随其后 */
.userprojectindex .el-card:first-child .el-col-6 > div p:first-child,
.userprojectindex .el-card:first-child .el-col-24.MarginB20 > p:first-child {
  flex: 0 0 auto !important;
}
.userprojectindex .el-card:first-child .el-col-6 > div p:last-child,
.userprojectindex .el-card:first-child .el-col-24.MarginB20 > p:last-child {
  flex: 0 1 auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ---------- 19.7 左侧导航栏：固定 + 整列统一底色 ---------- */
.control .el-menu-vertical-demo {
  position: sticky !important;
  top: 0 !important;
  align-self: flex-start !important;
  height: 100vh !important;
  background-color: var(--dt-bg-elevated) !important;
}
.control .el-container {
  align-items: flex-start !important;
}

/* ---------- 20. 我的主页项目卡片：蓝色渐变条改深色玻璃 ---------- */
.enterpriseIndexIcon {
  background: rgba(28, 28, 30, 0.94) !important;
  border-top: 1px solid var(--dt-border) !important;
  color: var(--dt-text) !important;
}
.enterpriseIndexIcon span {
  color: var(--dt-text) !important;
}
.enterpriseIndexIcon p {
  color: var(--dt-text-2) !important;
}
/* 管理/协作 角标 */
.enterpriseIndexIcon .gl {
  background-color: var(--dt-accent) !important;
}
.enterpriseIndexIcon i {
  border-radius: 6px !important;
}
/* 项目卡片图片圆角与卡片一致 */
.pos-rel .el-card .image {
  border-radius: var(--dt-radius) var(--dt-radius) 0 0;
}

/* ---------- 21. 项目详情图片：消除加载时的破图闪烁 ---------- */
/* 数据未返回时 src 为 undefined，浏览器显示破图图标；
   用深色占位盖住，图片就绪前只显示干净的深色块 */
.userprojectindex .el-card .textP > img {
  position: relative !important;
  background-color: #2c2c2e !important;
  min-height: 120px !important;
  color: transparent !important; /* 隐藏 alt 文字 */
}
/* Chrome 仅在图片加载失败时渲染 img 伪元素，正好用来盖住破图图标 */
.userprojectindex .el-card .textP > img::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: #2c2c2e !important;
}
