/* ===== 码泓双域 MVP · 效果图样式（令牌同源 theme.css）===== */
:root{
  --p50:#F0F9FF; --p100:#E0F2FE; --p300:#7DD3FC; --p500:#0EA5E9; --p600:#0284C7; --p700:#0369A1;
  --ink:#0C6BA0;
  --n0:#FFFFFF; --n50:#F8FAFC; --n100:#F1F5F9; --n200:#E2E8F0; --n300:#CBD5E1;
  --n500:#64748B; --n600:#475569; --n700:#334155; --n900:#0F172A;
  --ok:#10B981; --warn:#F59E0B; --err:#EF4444; --info:#3B82F6;
  --brand:#D9481C;
  --r1:4px; --r2:6px; --r3:8px; --r4:12px;
  --s1:2px;--s2:6px;--s3:10px;--s4:16px;--s5:20px;--s6:24px;
  --ff:"Inter","SF Pro Display",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{font-family:var(--ff);color:var(--n700);background:var(--n50);-webkit-font-smoothing:antialiased}
/* FRAME-UNIFY-20261025：篇章原为锁死 1440x900 画布（内容在 .main 内滚、页脚贴画布底
   ⇒ 观感「页脚固定」）。改为与 jd/zx 一致的自然滚动：宽度自适应并限 1440 居中。 */
body{width:100%;max-width:1440px;margin:0 auto;min-height:100%;overflow-x:hidden}
.mobile body,body.mobile{width:390px;height:844px}

/* ---------- 顶栏 ---------- */
.topbar{height:56px;background:var(--n0);border-bottom:1px solid var(--n200);display:flex;align-items:center;padding:0 20px;gap:12px;position:relative;z-index:5}
.logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#E8552A,#D9481C);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;letter-spacing:-.5px}
.brand{font-size:15px;font-weight:600;color:var(--n900);letter-spacing:.2px}
.dot{width:3px;height:3px;border-radius:50%;background:var(--n300)}
.domain{font-size:12px;color:var(--n500);font-family:ui-monospace,Menlo,monospace;background:var(--n100);padding:3px 8px;border-radius:var(--r1)}
.spacer{flex:1}
.global-nav{display:flex;align-items:center;gap:6px}
.gitem{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--n600);padding:7px 11px;border-radius:var(--r2);cursor:default}
.gitem svg{width:16px;height:16px;stroke:var(--n500);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gitem.hot{background:var(--p50);color:var(--p700);font-weight:500}
.gitem.hot svg{stroke:var(--p600)}
.avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#7DD3FC,#0284C7);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;margin-left:6px}

/* ---------- 布局 ---------- */
.shell{display:flex;height:auto;min-height:calc(100vh - 56px)}
.sidebar{width:224px;background:var(--n0);border-right:1px solid var(--n200);padding:16px 12px;display:flex;flex-direction:column}
.sgroup{font-size:12px;line-height:1.6;color:#6B7C93;font-weight:600;letter-spacing:.4px;padding:9px 12px 2px;margin:10px 0 2px}
.sgroup:first-child{margin-top:2px}
.sitem{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;font-size:12.5px;line-height:1.6;color:var(--n700);position:relative;margin-bottom:2px}
.sitem svg{width:16px;height:16px;stroke:var(--n500);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sitem.on{background:var(--p50);color:var(--p700);font-weight:600}
.sitem.on svg{stroke:var(--p600)}
.sitem.on::before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--p500)}
.sitem .tag{margin-left:auto;font-size:12px;color:#94A3B8;border:1px dashed var(--n300);border-radius:3px;padding:1px 4px}
.sitem.ghost{color:#B6C2D2}
.sitem.ghost svg{stroke:#C7D2DE}

.main{flex:1;padding:24px 32px;overflow:visible;background:var(--n50)}
.ptitle{font-size:21px;font-weight:700;color:var(--n900);letter-spacing:-.2px}
.psub{font-size:13px;color:var(--n500);margin-top:6px}
.row{display:flex;gap:16px}
.card{background:var(--n0);border:1px solid var(--n200);border-radius:var(--r4);padding:18px 20px}
.card h3{font-size:14.5px;font-weight:600;color:var(--n900);margin-bottom:4px}
.card p{font-size:12.5px;color:var(--n500);line-height:1.6}

/* 侧栏底部说明 */
.sfoot{margin-top:auto;background:var(--n50);border:1px solid var(--n200);border-radius:var(--r3);padding:10px 12px;font-size:12px;color:var(--n500);line-height:1.6}
.sfoot b{color:var(--n700);font-weight:600}

/* 页面标注条 */
.caption{position:fixed;left:0;right:0;bottom:0;height:34px;background:#0F172A;color:#CBD5E1;font-size:12px;display:flex;align-items:center;padding:0 20px;gap:10px;z-index:9}
.caption b{color:#fff;font-weight:600}
.caption .k{color:#7DD3FC}

/* 表格 */
table{width:100%;border-collapse:collapse;font-size:13px}
thead th{text-align:left;font-weight:600;color:var(--n500);font-size:12px;padding:10px 12px;background:var(--n50);border-bottom:1px solid var(--n200);white-space:nowrap}
tbody td{padding:13px 12px;border-bottom:1px solid var(--n100);color:var(--n700)}
tbody tr:last-child td{border-bottom:0}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--n600)}
.tagmod{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 8px;border-radius:99px;font-weight:500}
.tagmod.pz{background:#EFF6FF;color:#1D4ED8}
.tagmod.jd{background:#F0F9FF;color:#0369A1}
.st-ok{color:var(--ok);font-weight:500}
.st-wait{color:var(--warn);font-weight:500}

/* 筛选 chips */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-size:12.5px;padding:6px 12px;border-radius:99px;border:1px solid var(--n200);background:var(--n0);color:var(--n600)}
.chip.on{background:var(--p500);border-color:var(--p500);color:#fff;font-weight:500}
.check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--n700)}
.box{width:15px;height:15px;border-radius:3px;border:1.5px solid var(--n300);background:#fff;position:relative}
.box.on{background:var(--p500);border-color:var(--p500)}
.box.on::after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

.btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:99px;font-size:13px;font-weight:500;background:var(--p500);color:#fff}
.btn.sm{height:30px;padding:0 12px;font-size:12.5px}
.btn.line{background:#fff;color:var(--p700);border:1px solid var(--p300)}
.btn.ghost{background:var(--n0);color:var(--n600);border:1px solid var(--n200)}

/* 手机 */
.phone{width:390px;height:844px;background:var(--n50);position:relative;overflow:hidden}
.mtop{height:52px;background:#fff;border-bottom:1px solid var(--n200);display:flex;align-items:center;padding:0 14px;gap:10px}
.burger{width:22px;height:22px;position:relative}
.burger i{position:absolute;left:2px;right:2px;height:2px;border-radius:2px;background:var(--n700);display:block}
.burger i:nth-child(1){top:5px}.burger i:nth-child(2){top:10px}.burger i:nth-child(3){top:15px}
.mic{width:16px;height:16px;stroke:var(--n500);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.drawer{position:absolute;left:0;top:0;bottom:0;width:272px;background:#fff;z-index:8;padding:18px 12px;box-shadow:0 8px 32px rgba(15,23,42,.18)}
.mask{position:absolute;inset:0;background:rgba(15,23,42,.34);z-index:7}
.backdrop{position:absolute;inset:0;background:rgba(15,23,42,.35);z-index:6}

/* ---------- MOCK 示例价标注 ---------- */
.mockbar{display:flex;align-items:center;gap:9px;background:#FFFBEB;border:1px solid #FDE68A;border-left:3px solid #F59E0B;border-radius:8px;padding:7px 12px;font-size:12px;color:#92400E;line-height:1.45}
.mockbar b{color:#B45309;font-weight:600}
.mocktag{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.4px;color:#92400E;background:#FEF3C7;border:1px solid #FDE68A;border-radius:3px;padding:0 5px;vertical-align:2px;margin-left:5px}

/* ---------- 全局搜索（顶栏居中） ---------- */
.topbar{position:relative}
.gsearch{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:340px;height:34px;background:var(--n50);border:1px solid var(--n200);border-radius:99px;display:flex;align-items:center;gap:8px;padding:0 13px;font-size:12.5px;color:#94A3B8}
.gsearch svg{width:14px;height:14px;stroke:#94A3B8;fill:none;stroke-width:2;flex:none}
.gsearch .kbd{margin-left:auto;font-size:12px;color:#94A3B8;border:1px solid var(--n200);background:#fff;border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace}

/* ===== 顶部 banner（精简版 · 只讲是什么）===== */
.hero{position:relative;border-radius:13px;padding:16px 22px;display:flex;align-items:center;gap:18px;color:#fff;overflow:hidden;margin-bottom:14px}
.hero .txt{flex:1;min-width:0}
.hero .mod{font-size:12px;letter-spacing:.6px;opacity:.82;font-weight:500}
.hero .nm{font-size:21px;font-weight:700;letter-spacing:-.3px;margin-top:2px}
.hero .sl{font-size:12.5px;margin-top:5px;opacity:.92;line-height:1.45}
.hero .cta{flex:none;font-size:12px;font-weight:600;padding:7px 15px;border-radius:99px;background:#fff;color:var(--n900)}
.hero.jd{background:linear-gradient(115deg,#0EA5E9,#0369A1)}
.hero.pz{background:linear-gradient(115deg,#1D4ED8,#0F172A)}
.hero.zx{background:linear-gradient(115deg,#D9481C,#7C2D12)}
.hero.mini{padding:11px 18px;border-radius:11px;margin-bottom:11px}
.hero.mini .nm{font-size:16.5px;margin-top:1px}
.hero.mini .sl{font-size:12px;margin-top:3px}
.hero.mini .cta{font-size:12px;padding:6px 13px}
.sitem .qe-lg{width:16px;height:16px;border-radius:4px;flex:none;object-fit:cover}

/* BANNER-ALIGN-20261021：brand-banner 规格对齐 zhixuan 域（同宽同高同字号） */
.brand-banner{max-width:1180px;margin:0 auto 16px;padding:22px 26px;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--bb-c1,#1D4ED8),var(--bb-c2,#0F172A));min-height:150px;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
.brand-banner .bb-slogan{margin:0 0 8px;font-size:22px;font-weight:800;line-height:1.35;letter-spacing:.01em}
.brand-banner .bb-name{margin:0 0 10px;font-size:14px;font-weight:600;line-height:1.4;opacity:.96}
.brand-banner .bb-desc{margin:0;font-size:13px;line-height:1.75;opacity:.92;min-height:3.5em;max-width:none}
@media (max-width:640px){.brand-banner{padding:18px;min-height:0}
  .brand-banner .bb-slogan{font-size:19px}}

/* MOBILE-FIT3-20261022：移动端响应式（弃 1440 等比缩放，对齐 jiandan 版式）
   配合 <html data-mhd-nozoom>：共享 mobile-drawer.js 不再缩 main，改走单列 */
@media (max-width:860px){
  /* 只在页面显式声明响应式（<html data-mhd-nozoom>）时生效，未迁移页仍走原等比缩放 */
  html[data-mhd-nozoom] body{width:auto!important;height:auto!important;min-height:0!important;overflow-x:hidden}
  html[data-mhd-nozoom] .main{padding:12px 14px 96px!important;height:auto!important;overflow:visible!important}
  html[data-mhd-nozoom] .brand-banner{max-width:1180px;margin:0 auto 16px;padding:22px 26px;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--bb-c1),var(--bb-c2));min-height:150px;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
  html[data-mhd-nozoom] .brand-banner .bb-slogan{font-size:19px;margin-bottom:6px}
  html[data-mhd-nozoom] .brand-banner .bb-desc{font-size:12.5px;min-height:0;line-height:1.7}
  html[data-mhd-nozoom] .ptitle{font-size:19px}
  html[data-mhd-nozoom] .main>.row{display:block}
  html[data-mhd-nozoom] .main>.row>*{margin-bottom:12px}
  html[data-mhd-nozoom] .grid,html[data-mhd-nozoom] .grid.g2,html[data-mhd-nozoom] .grid.g3,html[data-mhd-nozoom] .grid.g4{grid-template-columns:1fr!important}html[data-mhd-nozoom] body .pkz-row{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important}
  html[data-mhd-nozoom] .tb{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* MOBFIT-20261025：窄屏兜底 —— 子页遗留 body{width:1440px} 会让移动端整页被 fit 缩小，
   这里统一压回百分比宽；已声明 data-mhd-nozoom 的页面不受影响（其规则 specificity 更高）。
   另：#kpiRow 为 flex 不换行，窄屏给两列栅格，避免 6 个指标挤成一行。 */
@media (max-width:640px){
  body{width:100%!important;max-width:100%!important}
  #kpiRow{flex-wrap:wrap!important}
  #kpiRow>.kpi{min-width:calc(50% - 8px);box-sizing:border-box}
}
