/* 欣泰环境 · 系统顶部导航样式（登录页 / 项目页共用，蓝色主题） */
:root{
  --xt-forest:#0B3A6E;
  --xt-forest-2:#072C55;
  --xt-ink:#102E52;
  --xt-ink-2:#1E4670;
  --xt-green:#1E9BF0;
  --xt-deep:#006BD3;
  --xt-dark:#005A9E;
  --xt-lime:#8FD3F8;
  --xt-mint:#E9F4FD;
  --xt-mint-2:#F4FAFF;
  --xt-mint-3:#DCEDFB;
  --xt-sky:#3FA9F5;
  --xt-muted:#59718A;
  --xt-muted-2:#86A0B8;
  --xt-line:#D9E9F6;
  --xt-line-2:#C2DEF3;
  --xt-shadow:0 18px 44px rgba(11,58,110,.12);
}

/* ---------- 业务页基础容器（我的项目 / 服务记录） ---------- */
.xt-page{
  background:
    radial-gradient(900px 500px at 88% -6%,rgba(143,211,248,.22),transparent 60%),
    radial-gradient(700px 460px at -4% 10%,rgba(30,155,240,.08),transparent 60%),
    linear-gradient(180deg,#F4FAFF 0%,#EAF5FE 42%,#F7FBFF 100%);
  min-height:100%;
  color:var(--xt-ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  padding-bottom:26px;
}

/* ---------- 顶部导航 ---------- */
.global-nav{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid var(--xt-line);
  box-shadow:0 2px 14px rgba(9,90,68,.06)!important;
  backdrop-filter:blur(10px);
}
.header-nav{max-width:1240px;height:64px;padding:0 24px;gap:18px;}
.nav-brand{display:flex;align-items:center;gap:10px;cursor:pointer;flex-shrink:0;text-decoration:none;}
.nav-brand-mark{position:relative;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#EAF5FE,#DCEDFB);border:1px solid var(--xt-line-2);display:flex;align-items:center;justify-content:center;}
.nav-brand-mark img{width:26px;height:26px;object-fit:contain;}
.nav-brand-reg{position:absolute;right:2px;top:1px;font-size:9px;color:var(--xt-deep);line-height:1;}
.nav-brand-text{display:flex;flex-direction:column;line-height:1.1;}
.nav-brand-text b{font-size:16px;font-weight:800;color:var(--xt-ink);letter-spacing:2px;}
.nav-brand-text i{font-style:normal;font-size:9px;color:var(--xt-muted-2);letter-spacing:1.3px;margin-top:4px;}
.nav-tabs{justify-content:flex-end;gap:2px;}
.nav-tab{color:#456B5F;font-size:14px;padding:7px 13px;}
.nav-tab:hover{background:var(--xt-mint);color:var(--xt-dark);}
.nav-tab.active{background:var(--xt-green);color:#fff;box-shadow:0 4px 12px rgba(18,184,134,.28);font-weight:600;}
.nav-tab-logout{color:#C0392B!important;}
.nav-tab-logout:hover{background:rgba(192,57,43,.07)!important;color:#A93226!important;}

/* ============================================================
   2026-10 视觉令牌与管理端基础修复
   目标：品牌蓝 + 中性灰 + 语义色，统一圆角/字号/按钮层级
   ============================================================ */
:root{
  --xt-admin-brand:#0B63C5;
  --xt-admin-brand-2:#2E86DE;
  --xt-admin-brand-soft:#EAF4FF;
  --xt-admin-bg:#F5F8FC;
  --xt-admin-card:#FFFFFF;
  --xt-admin-line:#E6EEF7;
  --xt-admin-line-2:#DCE7F3;
  --xt-admin-text:#0F172A;
  --xt-admin-text-2:#475569;
  --xt-admin-text-3:#8AA0B4;
  --xt-admin-success:#16A34A;
  --xt-admin-warning:#D97706;
  --xt-admin-danger:#DC2626;
  --xt-admin-info:#64748B;
  --xt-admin-radius-card:12px;
  --xt-admin-radius-btn:8px;
  --xt-admin-shadow:0 6px 20px rgba(15,42,71,.06);
  --xt-admin-shadow-hover:0 10px 28px rgba(15,42,71,.10);
  --el-color-primary:var(--xt-admin-brand);
  --el-color-primary-light-3:#3D8BDA;
  --el-color-primary-light-5:#77B0E8;
  --el-color-primary-light-7:#A9CBEF;
  --el-color-primary-light-8:#C7DDF5;
  --el-color-primary-light-9:var(--xt-admin-brand-soft);
  --el-color-primary-dark-2:#0A55A8;
  --el-color-success:var(--xt-admin-success);
  --el-color-warning:var(--xt-admin-warning);
  --el-color-danger:var(--xt-admin-danger);
  --el-color-error:var(--xt-admin-danger);
  --el-color-info:var(--xt-admin-info);
  --el-border-radius-base:var(--xt-admin-radius-btn);
  --el-border-radius-small:6px;
  --el-border-color:#DCE7F3;
  --el-border-color-light:#E6EEF7;
  --el-text-color-primary:var(--xt-admin-text);
  --el-text-color-regular:var(--xt-admin-text-2);
  --el-text-color-secondary:var(--xt-admin-text-3);
}

/* 业务页顶部导航的绿色残留统一为品牌蓝 */
.global-nav{box-shadow:0 2px 14px rgba(11,58,110,.06)!important;}
.nav-tab{color:var(--xt-admin-text-2);}
.nav-tab:hover{background:var(--xt-admin-brand-soft);color:var(--xt-admin-brand);}
.nav-tab.active{background:var(--xt-admin-brand);box-shadow:0 4px 12px rgba(11,99,197,.22);}

/* ---------- 管理端骨架 ---------- */
.admin-watermark .el-watermark__inner,
.admin-watermark canvas,
.admin-watermark div[style*="background-image"]{opacity:.38!important;}
.aside-menu{
  background:linear-gradient(180deg,#0B1F3A 0%,#123A63 100%)!important;
  padding:12px 10px!important;
  border-radius:0!important;
  border-right:1px solid rgba(255,255,255,.06);
}
.logo-area{
  height:56px;
  padding:0 12px;
  font-size:15px;
  letter-spacing:.4px;
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:8px;
}
.logo-area .logo{width:22px;margin-right:8px;color:#8FD3F8;}
.vertical-menu .el-menu-item,
.vertical-menu .el-sub-menu__title{
  margin:2px 0;
  padding:10px 14px!important;
  border-radius:8px;
  line-height:20px;
  color:rgba(255,255,255,.78)!important;
  transition:background .18s ease,color .18s ease;
}
.vertical-menu .el-menu-item:hover,
.vertical-menu .el-sub-menu__title:hover{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  transform:none!important;
  box-shadow:none!important;
}
.vertical-menu .el-menu-item.is-active{
  background:rgba(11,99,197,.22)!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 var(--xt-admin-brand);
}
.vertical-menu .el-menu--inline{
  background:rgba(255,255,255,.04)!important;
  border-radius:8px;
  box-shadow:none!important;
}
.vertical-menu .el-menu--inline .el-menu-item{
  padding:8px 14px 8px 36px!important;
  color:rgba(255,255,255,.68)!important;
}
.vertical-menu .el-menu--inline .el-menu-item:hover{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  transform:none!important;
}

/* ---------- 顶栏 ---------- */
.main-header{
  height:60px!important;
  padding:0 16px!important;
  background:#fff!important;
  border-bottom:1px solid var(--xt-admin-line)!important;
  border-radius:0!important;
  box-shadow:0 1px 2px rgba(15,42,71,.04)!important;
}
.main-header .header-left{
  height:60px;
  min-width:0;
  flex:1;
  overflow:hidden;
}
.main-header .tabs-container{
  flex:1;
  min-width:0;
  margin:0!important;
  background:transparent!important;
  overflow:hidden;
}
.main-header .el-tabs__header{margin:0!important;border:0!important;}
.main-header .el-tabs__nav-wrap::after{display:none!important;}
.main-header .el-tabs--card>.el-tabs__header .el-tabs__item{
  height:34px;
  line-height:34px;
  margin-right:4px;
  padding:0 12px!important;
  font-size:13px;
  color:var(--xt-admin-text-2);
  background:#F5F8FC;
  border:1px solid transparent!important;
  border-radius:8px 8px 0 0;
}
.main-header .el-tabs--card>.el-tabs__header .el-tabs__item.is-active{
  background:#fff;
  color:var(--xt-admin-brand);
  font-weight:600;
  border-color:var(--xt-admin-line)!important;
  border-bottom-color:#fff!important;
}
.header-right{gap:12px!important;align-items:center!important;}
.header-right .el-avatar{width:32px!important;height:32px!important;border-radius:50%!important;}
.user-info{gap:8px;min-width:0;}
.user-info>span:last-child{
  max-width:120px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.license-note{display:none!important;}

/* ---------- 内容与组件 ---------- */
.main-content{
  background:var(--xt-admin-bg)!important;
  padding:20px 24px!important;
  border-radius:0!important;
}
.main-content .el-card,
.bgsx-page .el-card,
.bdck-page .el-card{
  border:1px solid var(--xt-admin-line)!important;
  border-radius:var(--xt-admin-radius-card)!important;
  box-shadow:var(--xt-admin-shadow)!important;
}
.main-content .el-table{
  --el-table-border-color:var(--xt-admin-line);
  --el-table-header-bg-color:#F8FAFD;
  --el-table-row-hover-bg-color:#F5F9FF;
  --el-table-current-row-bg-color:#EAF4FF;
  font-size:14px;
}
.main-content .el-table th.el-table__cell{
  background:#F8FAFD!important;
  color:var(--xt-admin-text-2)!important;
  font-weight:600;
  height:44px;
}
.main-content .el-table td.el-table__cell{padding:10px 0;}
.main-content .el-button{border-radius:8px;font-weight:500;}
.main-content .el-button--small{height:28px;padding:0 10px;}
.main-content .el-input__wrapper{border-radius:8px;box-shadow:0 0 0 1px var(--xt-admin-line-2) inset;}
.main-content .el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--xt-admin-brand) inset;}
.main-content .el-pagination{justify-content:flex-end;padding-top:16px;}
.main-content .el-button.is-disabled,
.main-content .el-button.is-disabled:hover,
.main-content .el-button.is-disabled:focus{
  background:#F1F5F9!important;
  border-color:#E2E8F0!important;
  color:#94A3B8!important;
  box-shadow:none!important;
}

/* 页面标题与说明 */
.xt-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;}
.xt-page-title{font-size:24px;line-height:1.2;font-weight:700;color:var(--xt-admin-text);letter-spacing:0;}
.xt-page-sub{font-size:13px;line-height:1.6;color:var(--xt-admin-text-2);margin-top:6px;max-width:760px;}
.xt-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.bgsx-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.bgsx-toolbar .bgsx-search{width:320px;max-width:100%;margin-left:auto;}
.bgsx-page .el-table{width:100%;}
.bgsx-page .el-table__body-wrapper{overflow-x:auto;}
.bgsx-page .el-pagination{justify-content:flex-end;padding-top:16px;}
/* 分页吸底：每页 16 行时不再需要滚到页面最底部才能翻页 */
.bgsx-page .bgsx-pagination{
  position:sticky;bottom:0;z-index:6;
  padding:10px 0 4px;margin-top:6px;
  background:var(--xt-admin-bg);
  box-shadow:0 -8px 14px -12px rgba(15,35,60,.35);
}
.action-buttons .el-button{height:auto!important;padding:0 4px!important;font-size:13px!important;}
/* Element Plus 默认给相邻按钮加 12px 左边距，与 flex gap 叠加会把操作列撑满 */
.action-buttons .el-button+.el-button,
.action-buttons .el-dropdown{margin-left:0!important;}

/* 控制台 */
.cockpit-title-bar{
  align-items:flex-start!important;
  flex-wrap:wrap;
  gap:16px;
  padding:20px 24px!important;
  border:1px solid var(--xt-admin-line)!important;
  border-radius:var(--xt-admin-radius-card)!important;
  box-shadow:var(--xt-admin-shadow)!important;
}
.cockpit-title-bar>div:first-child{min-width:0;flex:1 1 320px;}
.cockpit-title-text{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
  color:var(--xt-admin-text)!important;
  letter-spacing:0!important;
}
.cockpit-title-sub{color:var(--xt-admin-text-3)!important;}
.cockpit-title-right{gap:8px!important;}
.cockpit-title-right .el-button{height:32px;border-radius:8px;}
.cockpit-title-right .el-button--info,
.cockpit-title-right .el-button--success,
.cockpit-title-right .el-button--warning{
  background:#fff!important;
  border-color:var(--xt-admin-line-2)!important;
  color:var(--xt-admin-text-2)!important;
}
.cockpit-title-right .el-button--primary{
  background:var(--xt-admin-brand)!important;
  border-color:var(--xt-admin-brand)!important;
}
.cockpit-title-right .el-radio-button__inner{
  height:32px;
  line-height:30px;
  padding:0 12px;
  border-color:var(--xt-admin-line-2);
  color:var(--xt-admin-text-2);
  background:#fff;
  box-shadow:none;
}
.cockpit-title-right .el-radio-button__original-radio:checked+.el-radio-button__inner{
  background:var(--xt-admin-brand-soft);
  border-color:var(--xt-admin-brand);
  color:var(--xt-admin-brand);
  box-shadow:-1px 0 0 0 var(--xt-admin-brand);
}
.tag-group{
  border:1px solid var(--xt-admin-line);
  border-radius:var(--xt-admin-radius-card)!important;
  box-shadow:var(--xt-admin-shadow)!important;
}
.tag-items{gap:12px!important;}
.tag-item{
  min-height:72px;
  padding:14px 16px!important;
  border:1px solid var(--xt-admin-line)!important;
  border-radius:10px!important;
  background:#F8FAFD!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.tag-item:hover{
  transform:translateY(-2px)!important;
  border-color:#C7DDF5!important;
  box-shadow:var(--xt-admin-shadow-hover)!important;
}
.cockpit-container .tag-item .tag-icon{
  background:var(--xt-admin-brand-soft)!important;
  color:var(--xt-admin-brand)!important;
  border-radius:8px!important;
}
.cockpit-container .tag-item:hover .tag-icon{transform:none!important;}
.tag-item .tag-value{color:var(--xt-admin-text)!important;font-size:24px!important;}
.tag-item .tag-label,.tag-item .tag-unit{color:var(--xt-admin-text-3)!important;}
.cockpit-chart-card,.cockpit-nav{
  border:1px solid var(--xt-admin-line)!important;
  border-radius:var(--xt-admin-radius-card)!important;
  box-shadow:var(--xt-admin-shadow)!important;
}
.cockpit-nav-buttons{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}
.cockpit-nav-btn{
  justify-content:center;
  min-height:40px;
  border-radius:8px!important;
  font-size:13px!important;
}
.cockpit-nav-btn.internal{
  background:#fff!important;
  border:1px solid var(--xt-admin-line-2)!important;
  color:var(--xt-admin-brand)!important;
}
.cockpit-nav-btn.internal:hover{
  background:var(--xt-admin-brand-soft)!important;
  border-color:var(--xt-admin-brand)!important;
  transform:none!important;
}
.cockpit-nav-btn.external{
  background:#fff!important;
  border:1px solid var(--xt-admin-line-2)!important;
  color:var(--xt-admin-text-2)!important;
}
.cockpit-nav-btn.external:hover{
  background:#F8FAFD!important;
  color:var(--xt-admin-text)!important;
  border-color:var(--xt-admin-line-2)!important;
  transform:none!important;
}

/* 报告查看页 */
.bdck-page{display:flex;gap:16px;align-items:flex-start;width:100%;box-sizing:border-box;}
.bdck-page .bdck-side,
.bdck-page .bdck-main{
  background:#fff;
  border:1px solid var(--xt-admin-line);
  border-radius:var(--xt-admin-radius-card);
  box-shadow:var(--xt-admin-shadow);
  padding:16px;
  box-sizing:border-box;
}
.bdck-page .bdck-side{width:300px;flex:0 0 300px;}
.bdck-page .bdck-main{flex:1;min-width:0;}
.bdck-page .bdck-title{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:16px!important;
  color:var(--xt-admin-text)!important;
}
.bdck-page .el-table{width:100%;}
.bdck-page .el-pagination{justify-content:flex-end;padding-top:16px;}
.xt-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:36px 16px;
  color:var(--xt-admin-text-3);
}
.xt-empty-ico{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:var(--xt-admin-brand-soft);
  color:var(--xt-admin-brand);
  font-size:12px;font-weight:700;letter-spacing:.5px;
  margin-bottom:12px;
}
.xt-empty-ico svg{width:22px;height:22px;display:block;}
.xt-empty-title{font-size:14px;font-weight:600;color:var(--xt-admin-text-2);}
.xt-empty-sub{font-size:12px;color:var(--xt-admin-text-3);margin-top:6px;line-height:1.5;}

/* 1440 以下工具栏放不下 9 个按钮 + 搜索框，搜索框单独占一行左对齐，避免掉到右侧 */
@media (max-width:1440px){
  .bgsx-toolbar .bgsx-search{margin-left:0;width:100%;}
}

@media (max-width:1100px){
  .bdck-page{flex-direction:column;}
  .bdck-page .bdck-side{width:100%;flex:1 1 auto;}
  .bdck-page .bdck-main{width:100%;}
  .bgsx-toolbar .bgsx-search{margin-left:0;width:100%;}
}
