/* ============================================================
   智汇加 · 全局统一样式（与 _nav.js 配套）
   - sidebar 宽度 / padding / nav-item 高度统一为 KB 系列样式
   - 页面 header：.h-title 32px 大标题 + .h-tag 小框二级
   - 进入页面淡入 + 跳转淡出
   - 隐藏 02 创建品牌的右下角 dev 状态预览面板 (.switcher)
   - 转场覆盖层 (.zhj-transition) — 用 spinner + 提示文字
   ============================================================ */

/* ===== Sidebar 一致化（统一到 KB 系列：240px / padding 24 16 / nav-item 34px） ===== */
.app{ grid-template-columns:240px 1fr !important; }
.side{ padding:24px 16px !important; }

.side-brand,
.brand-switch{
  font-size:13px !important;
  padding:0 10px 22px !important;
  margin:0 0 18px !important;
  border-bottom:1px solid var(--line) !important;
  display:flex !important;
  align-items:baseline !important;
  gap:8px !important;
  cursor:pointer !important;
  background:transparent !important;
  height:auto !important;
  justify-content:flex-start !important;
  border-radius:0 !important;
  width:100% !important;
}
.side-brand .mark,
.brand-switch .mark{ font-weight:700 !important; letter-spacing:-.005em !important; }
.side-brand .sub,
.brand-switch .lt,
.brand-switch .chev{ color:var(--ink-3) !important; font-size:11px !important; font-family:'SF Mono',Consolas,monospace !important; }

/* 统一品牌块「品牌」前缀 + 折叠箭头（无论容器是 .brand-switch / .side-brand / .brand） */
.side-brand .lt,
.brand .lt,
.brand-switch .lt{
  color:var(--ink-3) !important;
  font-size:11px !important;
  margin-right:6px !important;
  font-family:'SF Mono',Consolas,monospace !important;
}
.side-brand .chev,
.brand .chev,
.brand-switch .chev{
  color:var(--ink-3) !important;
  font-size:10px !important;
  margin-left:auto !important;
  font-family:inherit !important;
}

.nav-item{
  height:34px !important;
  padding:0 10px !important;
  font-size:13px !important;
  margin-bottom:2px !important;
  line-height:34px !important;
}
/* 「内容库」新模块 NEW 角标（全局一致） */
.nav-item .nw{
  margin-left:auto !important;
  font-family:'SF Mono',Consolas,monospace !important;
  font-size:9px !important;
  letter-spacing:.06em !important;
  color:var(--ink-3,#8A8A8A) !important;
  border:1px solid var(--line-2,#D4D4D4) !important;
  border-radius:2px !important;
  padding:0 4px !important;
  line-height:13px !important;
}

/* ===== 顶部 header 一致化 ===== */
.h-title{
  font-size:32px !important;
  line-height:38px !important;
  font-weight:700 !important;
  letter-spacing:-.018em !important;
  margin:0 !important;
  display:flex !important;
  align-items:baseline !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}
/* 初始隐藏直到 _nav.js 改写完成；防止旧标题闪现 */
.h-title:not([data-zhj-ready]){
  visibility:hidden !important;
}
.crumbs:not([data-zhj-ready]){
  visibility:hidden !important;
}
.h-tag{
  display:inline-flex !important;
  align-items:center !important;
  height:22px !important;
  padding:0 9px !important;
  border:1px solid var(--line-2,#E0E0E0) !important;
  background:#fff !important;
  color:var(--ink-2,#555) !important;
  font-size:11.5px !important;
  font-family:'SF Mono',Consolas,monospace !important;
  font-weight:600 !important;
  letter-spacing:.04em !important;
  border-radius:3px !important;
  margin-left:0 !important;
  white-space:nowrap !important;
}
.crumbs{
  font-size:11px !important;
  color:var(--ink-3,#8A8A8A) !important;
  margin-bottom:10px !important;
  letter-spacing:.06em !important;
  font-family:'SF Mono',Consolas,monospace !important;
  text-transform:uppercase !important;
}

/* ===== 二级 tab 一致化（GEO/诊断/战略/知识库/内容引擎共用） ===== */
.tabs{ height:48px !important; border-bottom:1px solid var(--line) !important; display:flex !important; align-items:center !important; gap:24px !important; }
.tab{
  height:48px !important;
  display:flex !important;
  align-items:center !important;
  color:var(--ink-2,#555) !important;
  font-size:14px !important;
  cursor:pointer !important;
  position:relative !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  white-space:nowrap !important;
}
.tab:hover{ color:var(--ink) !important; }
.tab.active{ color:var(--ink) !important; font-weight:500 !important; }
.tab.active::after{
  content:"" !important;
  position:absolute !important; left:0 !important; right:0 !important; bottom:-1px !important;
  height:2px !important; background:var(--ink) !important;
}

/* ===== 关闭默认页面动画（仅特定场景用 spinner 转场） ===== */
/* body 进入不再做整体淡入 / 离开不再淡出（只保留 spinner overlay） */

/* nav-item / tab / btn 顺滑高亮 */
.nav-item, .tab, .btn, button.btn{
  transition: background-color .12s ease, color .12s ease, border-color .12s ease !important;
}

/* ===== 全局 sidebar 搜索栏 ===== */
.side .zhj-search,
.side > .search{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  height:34px !important;
  margin:0 0 14px !important;
  padding:0 10px !important;
  border:1px solid var(--line,#ECECEC) !important;
  border-radius:4px !important;
  background:#fff !important;
  font-size:12.5px !important;
  color:var(--ink-3,#8A8A8A) !important;
  cursor:text !important;
}
.side .zhj-search:focus-within,
.side > .search:focus-within{ border-color:var(--ink-2,#555) !important; }
.side .zhj-search .ico,
.side > .search .ico{ font-size:13px; color:var(--ink-3); }
.side .zhj-search input,
.side > .search input{
  flex:1; border:0; outline:0; background:transparent;
  font-size:12.5px; color:var(--ink);
  font-family:inherit;
}
.side .zhj-search input::placeholder,
.side > .search input::placeholder{ color:var(--ink-3); }
.side .zhj-search .kbd,
.side > .search .kbd,
.side > .search .k{
  font-family:'SF Mono',Consolas,monospace !important;
  font-size:11px !important; color:var(--ink-3,#8A8A8A) !important;
  border:1px solid var(--line,#ECECEC) !important;
  border-radius:3px !important;
  padding:1px 5px !important;
  background:var(--panel,#FAFAFA) !important;
}

/* ===== 08 客户基础资料 · 卡片错峰淡入 ===== */
.cb-card{
  opacity:0;
  transform:translateY(10px);
  animation: zhj-stagger-in .42s ease-out forwards;
}
.cb-card:nth-of-type(1){ animation-delay:.04s }
.cb-card:nth-of-type(2){ animation-delay:.16s }
.cb-card:nth-of-type(3){ animation-delay:.28s }
.cb-card:nth-of-type(4){ animation-delay:.40s }
.cb-card:nth-of-type(5){ animation-delay:.52s }
.cb-card:nth-of-type(6){ animation-delay:.64s }
.cb-card:nth-of-type(7){ animation-delay:.76s }
.cb-card:nth-of-type(8){ animation-delay:.88s }
@keyframes zhj-stagger-in{
  to{ opacity:1; transform:translateY(0); }
}

/* ===== 主内容区左右留白统一（所有一级页面同一个流式 gutter） =====
   覆盖各页内联的 .main-inner / .pad / min-width 差异，确保任何分辨率下
   左右边距完全一致；只改左右，保留各页自己的上下 padding。 */
.main-inner{
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:clamp(48px, 4.5vw, 180px) !important;
  padding-right:clamp(48px, 4.5vw, 180px) !important;
}
/* 分发引擎（30）无 .main-inner，使用 workspace/header 自己的容器，
   单独对齐到同一 gutter */
.de-gutter-h{ padding-left:clamp(48px, 4.5vw, 180px) !important; padding-right:clamp(48px, 4.5vw, 180px) !important; }

/* ===== 隐藏 02 创建品牌的右下角 dev 状态切换面板 ===== */
.switcher{ display:none !important; }

/* ===== 转场覆盖层（spinner 模式专用） ===== */
.zhj-transition{
  position:fixed; inset:0; z-index:9999;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(2px);
  display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:16px;
  opacity:0; pointer-events:none;
  transition:opacity .25s ease;
  font-family:"PingFang SC","Inter",sans-serif;
}
.zhj-transition.on{ opacity:1; pointer-events:auto; }
.zhj-transition .spin{
  width:42px; height:42px;
  border:2.5px solid #ECECEC;
  border-top-color:#111;
  border-radius:50%;
  animation:zhj-spin .8s linear infinite;
}
.zhj-transition .msg{
  font-size:14px; color:#222; font-weight:600;
  letter-spacing:.005em;
}
.zhj-transition .sub{
  font-size:11.5px; color:#8A8A8A;
  font-family:'SF Mono',Consolas,monospace;
  letter-spacing:.06em; text-transform:uppercase;
}
@keyframes zhj-spin{ to{ transform:rotate(360deg); } }

/* ===== 战略设计 · 入场弹窗 ===== */
.zhj-intro{
  position:fixed; inset:0; z-index:5000;
  opacity:0; pointer-events:none;
  transition:opacity .22s ease;
}
.zhj-intro.on{ opacity:1; pointer-events:auto; }
.zhj-intro.gone{ opacity:0; pointer-events:none; }
.zhj-intro-dim{
  position:absolute; inset:0;
  background:rgba(15,15,16,.32);
  backdrop-filter:blur(1px);
}
.zhj-intro-modal{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:520px; max-width:calc(100vw - 64px);
  background:#fff; border:1px solid var(--line,#E5E5E5);
  border-radius:10px;
  box-shadow:0 24px 60px -16px rgba(15,15,16,.28);
  padding:34px 36px 28px;
  font-family:"PingFang SC","Source Han Sans CN","Inter","SF Pro Text","Helvetica Neue",sans-serif;
}
.zhj-intro-eyebrow{
  font-size:11px; color:#8A8A8A;
  font-family:'SF Mono',Consolas,monospace;
  letter-spacing:.12em; text-transform:uppercase;
  margin-bottom:14px;
}
.zhj-intro-ttl{
  font-size:24px; line-height:1.3; font-weight:700;
  letter-spacing:-.014em; color:#111;
  margin:0 0 12px;
}
.zhj-intro-sub{
  font-size:13px; line-height:1.7; color:#555;
  margin:0 0 22px; text-wrap:pretty;
}
.zhj-intro-sub b{ color:#111; font-weight:600; }
.zhj-intro-meta{
  border:1px solid var(--line,#ECECEC);
  border-radius:6px;
  background:#FAFAFA;
  padding:10px 14px;
  display:flex; flex-direction:column; gap:6px;
  margin-bottom:24px;
}
.zhj-intro-meta .row{
  display:flex; justify-content:space-between; align-items:center;
  font-size:12px;
}
.zhj-intro-meta .row .lbl{
  color:#8A8A8A;
  font-family:'SF Mono',Consolas,monospace;
  letter-spacing:.04em; text-transform:uppercase;
  font-size:10.5px;
}
.zhj-intro-meta .row .val{
  color:#222; font-weight:500;
}
.zhj-intro-foot{
  display:flex; justify-content:flex-end; gap:8px;
}
.zhj-intro-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:36px; padding:0 18px;
  font-size:13px; font-weight:500;
  border-radius:4px;
  cursor:pointer;
  font-family:inherit;
  transition:background .12s ease, border-color .12s ease, color .12s ease;
}
.zhj-intro-btn.ghost{
  background:#fff; color:#111;
  border:1px solid #D4D4D4;
}
.zhj-intro-btn.ghost:hover{ border-color:#111; }
.zhj-intro-btn.primary{
  background:#111; color:#fff;
  border:1px solid #111;
}
.zhj-intro-btn.primary:hover{ background:#000; }
.zhj-intro-btn .arr{
  margin-left:6px; font-family:'SF Mono',Consolas,monospace;
}
